HOME | Jerarquía de las clases

Widget

Elemento básico del interface de usuario.

Base : Objekt

Subclases directas : | AnimatorWidget | ButtonWidget | CloneWidget | EditWidget | ImageWidget | LabelWidget | NumberWidget | PadWidget | ProgressBarWidget | RadioButtonsWidget | RichTextWidget | ScrollWidget | StackWidget | TextWidget | WidgetArrayWidget | WidgetGroupWidget | WorldWidget |

Descripción

La clase Widget es la base de todos los widgets. Es una zona rectangular de la pantalla que puede tener una apariencia visual proporcionada por uno o más objetos de la clase Style. Algunas clases de widgets tienen capacidad de respuesta a las acciones del usuario, como los botones, listas desplegables, barras de scroll, etc.

Unas clases interesantes de widget son WidgetGroupWidget que implementa una lista variable de widgets con su propio contenido, WidgetArrayWidget que reproduce un número variable de widgets idénticos y el CloneWidget. Estas clases usan una composición de widgets de referencia, el atributo model, que se usa como prototipo o plantilla.

Otro tipo esencial de widget es el StageWidget, que representa un escenario (Stage).

Algunos widgets tienen la capacidad de representar valores en forma escrita o mediante una barra o pictograma, por ejemplo: LabelWidget, NumberWidget, ProgressBarWidget. Estos widgets admiten la conexión de entrada desde un atributo de otro objeto.

Para las conexiones por contexto, todo widget puede tener la referencia a un objeto cualquiera que se considera su contexto. Es el especificado en el atributo display_object. Si no se especifica se usa el contexto del padre.

Puede asociarse una máquina de estado a un widget con el atribute machine. Esto puede usarse para generar animaciones, interacciones con el usuario o controles generales del estado del juego.

Posibles hijos : | AnimatorWidget | ButtonWidget | CloneWidget | EditWidget | ImageWidget | KeyPadWidget | LabelWidget | LinkButtonWidget | NumberWidget | PadWidget | PopUpButtonWidget | ProgressBarWidget | PushButtonWidget | RadioButtonsWidget | RichTextWidget | ScrollWidget | ServerButtonWidget | StackWidget | TextWidget | Widget | WidgetArrayWidget | WidgetGroupWidget | WorldWidget |

Atributos heredados

De Objekt:
_comment_, parent,

Atributos

pos

Posición (en pixels virtuales) del widget relativo al padre. No se utiliza si el padre tiene un flow distinto de none.


size

Dimensiones (en pixels virtuales). La interpretación depende del valor del atributo expand.


focus_frame

En los widgets que tienen capacidad interactiva ésta propiedad representa un FrameStyle que indica el widget que está en foco. Si no se especifica se hereda del padre.


style

El estilo o skin del widget, La clase del estilo depende de la clase del widget.


style_steps

Para cuando se cambia de estilo, bien por cambio de estado natural del widget o por otra razón, se puede especificar aquí un número de pasos de la transición. Generalmente se produce un fundido progresivo, pero podría implementarse, en el futuro, otros tipos de transformación.


align

En caso de que flow sea horizontal o vertical indica el ajuste de la posición en la dirección perpendicular a la dirección de flow. Si el flow es stack entonces se aplica a ambas direcciones. Valores posibles:


expand

En caso de que flow sea horizontal, vertical o stack, indica la expansión del widget. Cuando un widget se expande, utiliza todo el espacio del widget padre que no está usado por otros widgets. Si hay más de un widget que se expande, se reparten el espacio disponible. Valores posibles:


border

Es la distancia entre el contenido y los límites del widget.


flow

Modo de distribución automática de los hijos:

none
Sin automatismo. La posición y las dimensiones de los hijos es fijada por sus parámetros pos y size.
horizontal
Los widgets se distribuyen en hilera.
vertical
Los widgets se distribuyen en columna.
stack
Todos los widgets se colocan superpuestos.
grid
Los widgets se distribuyen en rejilla. El número de columnas lo determina la propiedad grid_columns.


gravity

En caso de que flow sea horizontal o vertical, indica el ajuste de la posición en la dirección de flow. Valores posibles:

center.
Los hijos se reparten de forma que la separación entre ellos sea uniforme.
start.
Los hijos se acumulan arriba, si flow es vertical o a la izquierda si es horizontal.
end.
Los hijos se acumulan abajo, si flow es vertical o a la derecha si es horizontal.
float.
Cuando el contenido es más grande que el continente la posición es flotante, se puede posicionar el contenido interactivamente con el ratón o el dedo efectuándose un scroll con inercia.


spacing

En caso de que flow sea horizontal o vertical, es la distancia mínima entre los hijos del widget medidos en la dirección de flow.


grid_columns

Número de columnas en caso de que el flow sea grid.


clip

Recorta el contenido del widget a sus dimensiones exactas. Si no, sobresale lo sobrante.


reset_float

Cuando el flow es float, si está activado este conmutador, la ventana se inicia siempre en la posición de scroll inicial.


auto_scroll

Define la velocidad del scroll automático cuando el contenido es mayor que el continente. El efecto es similar al paso de los créditos en una película.


auto_pause

Pausa en milisegundos del inicio del scroll automático cuando auto_scroll es distinto de 0.


scroll_end


visibility

Conmutador que indica si el widget es visible o no. Si está oculto, tampoco se muestran sus hijos y todos los demás widgets se recolocan como si éste no existiera.


ini_focus


on_focus


capture_touch


machine

Máquina de estados asociada a este widget. Es la refwerencia a un objeto de clase WidgetMachine.


display_objekt

Objeto de contexto para este widget. Si no se especifica el contexto se hereda del padre.


displayed


local_code


inherited_code

Número entero que se envía como argumento se las señales generadas por este widget. Si su valor es 0 se usará el valor del padre.



(C) Mandanga Games. 2016.
Xitai Engine Wiki