SDK Multiplataforma en C logo

SDK Multiplataforma en C

SplitView

❮ Anterior
Siguiente ❯

Funciones

SplitView*splitview_horizontal (void)
SplitView*splitview_vertical (void)
voidsplitview_size (...)
voidsplitview_view (...)
voidsplitview_text (...)
voidsplitview_split (...)
voidsplitview_panel (...)
voidsplitview_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.
  • Captura de una ventana con vistas divididas en sistema Windows.
    Figura 1: SplitView en Windows.
    Captura de una ventana con vistas divididas en sistema macOS.
    Figura 2: SplitView en macOS.
    Captura de una ventana con vistas divididas en sistema Linux.
    Figura 3: SplitView en Linux.

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.


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, si pos < 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.

❮ Anterior
Siguiente ❯