SDK Multiplataforma en C logo

SDK Multiplataforma en C

SplitView

❮ Anterior
Siguiente ❯

Cabecera

#include <gui/splitview.h>


Funciones

SplitView*splitview_horizontal (void)
SplitView*splitview_vertical (void)
voidsplitview_view (...)
voidsplitview_textview (...)
voidsplitview_webview (...)
voidsplitview_tableview (...)
voidsplitview_splitview (...)
voidsplitview_panel (...)
voidsplitview_pos (...)
real32_tsplitview_get_pos (...)
voidsplitview_visible0 (...)
voidsplitview_visible1 (...)
voidsplitview_minsize0 (...)
voidsplitview_minsize1 (...)

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 ambos descendientes. En ¡Hola SplitView! tienes un ejemplo de uso (Listado 1), (Figura 1).


1. Añadir controles

Tenemos varias funciones para añadir contenido al SplitView. La primera llamada 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, ya que cada vista soporta un máximo de dos descendientes.


2. Posicionando el divisor

La posición inicial del divisor, así como el tamaño del SplitView se calculará en función del Dimensionado natural de los controles hijo (Figura 3).

Imagen que representa la posición por defecto de un SplitView.
Figura 3: Posición por defecto del divisor en (Listado 1).

El divisor tendrá diferentes comportamientos cuando el SplitView cambie de tamaño, en función del parámetro split_mode_t de splitview_pos:

  • ekSPLIT_NORMAL: La posición del divisor 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.
  • ekSPLIT_FIXED0: Los cambios de tamaño del SplitView siempre dejarán al hijo izquierdo/superior con un tamaño constante.
  • ekSPLIT_FIXED1: El hijo derecho/inferior mantendrá su tamaño.
La proporción o el valor fijo del divisor cambiarán si el usuario lo arrastra con el ratón, pero no lo hará el modo de funcionamiento.

3. Tamaño mínimo del divisor

Es posible que los controles hijos impongan restricciones de tamaño mínimo que impidan desplazar el divisor más allá de estos límites. No obstante, es posible establecer mínimos desde el propio SplitView. También es posible ocultar completamente uno de los descendientes. En este caso la barra divisora desaparecerá, utilizando todo el espacio del SplitView para el descendiente visible.

❮ Anterior
Siguiente ❯

splitview_horizontal ()

Crea un SplitView con división horizontal.

SplitView*
splitview_horizontal(void);

Retorna

La nueva vista.


splitview_vertical ()

Crea un SplitView con división vertical.

SplitView*
splitview_vertical(void);

Retorna

La nueva vista.


splitview_view ()

Añade una vista al SplitView.

void
splitview_view(SplitView *split,
               View *view,
               const bool_t tabstop);
split

El SplitView.

view

La vista.

tabstop

TRUE si queremos que la vista forme parte de la tablist. Ver Tabstops.

Observaciones

Ver Añadir controles.


splitview_textview ()

Añade una vista de texto al SplitView.

void
splitview_textview(SplitView *split,
                   TextView *view,
                   const bool_t tabstop);
split

El SplitView.

view

La vista de texto.

tabstop

TRUE si queremos que la vista forme parte de la tablist. Ver Tabstops.

Observaciones

Ver Añadir controles.


splitview_webview ()

Añade una vista web al SplitView.

void
splitview_webview(SplitView *split,
                  WebView *view,
                  const bool_t tabstop);
split

El SplitView.

view

La vista Web.

tabstop

TRUE si queremos que la vista forme parte de la tablist. Ver Tabstops.

Observaciones

Ver Añadir controles.


splitview_tableview ()

Añade una vista de tabla al SplitView.

void
splitview_tableview(SplitView *split,
                    TableView *view,
                    const bool_t tabstop);
split

El SplitView.

view

La vista tabla.

tabstop

TRUE si queremos que la vista forme parte de la tablist. Ver Tabstops.

Observaciones

Ver Añadir controles.


splitview_splitview ()

Añade un SplitView (hijo) al SplitView.

void
splitview_splitview(SplitView *split,
                    SplitView *view);
split

El SplitView.

view

El SplitView descendiente.

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 y modo del divisor.

void
splitview_pos(SplitView *split,
              const split_mode_t mode,
              const real32_t pos);
split

El SplitView.

mode

El modo de comportamiento.

pos

La nueva posición del divisor.

Observaciones

Ver Posicionando el divisor.


splitview_get_pos ()

Obtiene la posición actual del divisor.

real32_t
splitview_get_pos(const SplitView *split,
                  const split_mode_t mode);
split

El SplitView.

mode

La unidad en la que queremos el resultado.

Retorna

La posición del divisor.

Observaciones

Ver Posicionando el divisor.


splitview_visible0 ()

Muestra/oculta el descendiente izquierdo/superior.

void
splitview_visible0(SplitView *split,
                   const bool_t visible);
split

El SplitView.

visible

Mostrar u ocultar.

Observaciones

Ver Tamaño mínimo del divisor.


splitview_visible1 ()

Muestra/oculta el descendiente derecho/inferior.

void
splitview_visible1(SplitView *split,
                   const bool_t visible);
split

El SplitView.

visible

Mostrar u ocultar.

Observaciones

Ver Tamaño mínimo del divisor.


splitview_minsize0 ()

Establece el tamaño mínimo del descendiente izquierdo/superior.

void
splitview_minsize0(SplitView *split,
                   const real32_t size);
split

El SplitView.

size

El tamaño mínimo.

Observaciones

Ver Tamaño mínimo del divisor.


splitview_minsize1 ()

Establece el tamaño mínimo del descendiente derecho/inferior.

void
splitview_minsize1(SplitView *split,
                   const real32_t size);
split

El SplitView.

size

El tamaño mínimo.

Observaciones

Ver Tamaño mínimo del divisor.

❮ Anterior
Siguiente ❯