SplitView
Funciones
SplitView* | splitview_horizontal (void) |
SplitView* | splitview_vertical (void) |
void | splitview_size (...) |
void | splitview_view (...) |
void | splitview_text (...) |
void | splitview_split (...) |
void | splitview_panel (...) |
void | splitview_pos (...) |
Las SplitView son vistas divididas en dos partes, donde en cada una de ellas emplazamos otra vista o un panel. La línea divisoria es desplazable, lo que permite redimensionar ambas mitades, repartiendo el tamaño total del control entre los hijos (Figura 1), (Figura 2), (Figura 3). En ¡Hola SplitView! tienes un ejemplo de uso.
- Utiliza splitview_horizontal para crear una vista partida.
- Utiliza splitview_size para establecer el tamaño inicial.
1. Añadir controles
Existen varias funciones para añadir controles "hijo" al splitview. La primera llamada a cualquiera de ellas emplazará la vista o panel en la lado izquierdo o superior. La segunda llamada lo hará en el lado derecho o inferior. Sucesivas llamadas generarán un error.
- Utiliza splitview_view para añadir una vista personalizada.
- Utiliza splitview_panel para añadir un panel.
2. Modos de división
Tenemos dos modos de comportamiento de la barra divisoria y ambos se activan desde esta función:
- Utiliza splitview_pos para establecer la modalidad del separador.
- Modo proporcional: La posición de la divisoria siempre se mantendrá constante con respecto al tamaño del splitview. Es decir, un valor 0.3 significa que la vista izquierda siempre ocupará 1/3 del tamaño total y la derecha 2/3. Para ello indicar un valor entre 0 y 1 en el parámetro
pos
. - Modo fijo: Los cambios de tamaño del splitview siempre dejarán una de las partes con un tamaño constante. Si
pos > 1
la vista izquierda/superior mantendrá el número de píxeles indicados. Por el contrario, sipos < 0
ocurrirá lo mismo con la vista derecha/inferior.
La proporción o valor cambiarán si el usuario arrastra la línea divisoria, pero no lo hará el modo de funcionamiento.
splitview_horizontal ()
Crea un splitview con división horizontal.
SplitView* splitview_horizontal(void);
Retorna
La vista dividida recién creada.
splitview_vertical ()
Crea un splitview con división vertical.
SplitView* splitview_vertical(void);
Retorna
La vista dividida recién creada.
splitview_size ()
Establece el tamaño por defecto de la vista.
void splitview_size(SplitView *split, const S2Df size);
split | La vista. |
size | El tamaño. |
Observaciones
Corresponde al Dimensionado natural del control. Por defecto 128x128.
splitview_view ()
Añade una vista personalizada al splitview.
void splitview_view(SplitView *split, View *view);
split | El splitview. |
view | La vista personalizada. |
Observaciones
Ver Añadir controles.
splitview_text ()
Añade una vista de texto al splitview.
void splitview_text(SplitView *split, TextView *view);
split | El splitview. |
view | La vista de texto. |
Observaciones
Ver Añadir controles.
splitview_split ()
Añade un splitview (hijo) al splitview.
void splitview_split(SplitView *split, SplitView *child);
split | El splitview. |
child | El splitview a añadir. |
Observaciones
Ver Añadir controles.
splitview_panel ()
Añade un panel al splitview.
void splitview_panel(SplitView *split, Panel *panel);
split | El splitview. |
panel | El panel. |
Observaciones
Ver Añadir controles.
splitview_pos ()
Establece la posición del separador de vistas.
void splitview_pos(SplitView *split, const real32_t pos);
split | El splitview. |
pos | La nueva posición del separador. |
Observaciones
Ver Modos de división.