sizer.h

Clase wxSizer

wxSizer es la clase base abstracta utilizada para distribuir las subventanas en una ventana.

Jerarquía:

Jerarquía de la clase wxSizer

No puede utilizar wxSizer directamente; en su lugar, se tiene que utilizar una de las clases sizer derivadas de él. Actualmente existen wxBoxSizer, wxStaticBoxSizer, wxGridSizer, wxFlexGridSizer, wxWrapSizer y wxGridBagSizer.

El algoritmo de diseño utilizado por los sizers en wxWidgets está estrechamente relacionado con el diseño en otros kits de herramientas GUI, como AWT de Java, el kit de herramientas GTK o el kit de herramientas Qt. Se basa en la idea de que las subventanas individuales informan de su tamaño mínimo requerido y de su capacidad para estirarse si el tamaño de la ventana principal ha cambiado.

En la mayoría de los casos, esto significa que el programador no establece el tamaño original de un cuadro de diálogo al principio, sino que se le asigna un tamaño y se le pregunta cuál es el tamaño recomendado. El sizer a su vez consultará a sus hijos, que pueden ser ventanas normales, espacios vacíos u otros sizers, de forma que se pueda construir una jerarquía de sizers. Hay que tener en cuenta que wxSizer no deriva de wxWindow, por lo que no interfiere con el orden de las pestañas y requiere muy pocos recursos en comparación con una ventana real en pantalla.

Lo que hace que los sizers sean tan adecuados para su uso en wxWidgets es el hecho de que cada control informa de su propio tamaño mínimo y el algoritmo puede manejar diferencias en tamaños de fuente o diferentes tamaños de ventana (elemento de diálogo) en diferentes plataformas sin problemas. Si, por ejemplo, la fuente estándar así como el diseño general de los widgets Motif requieren más espacio que en Windows, el tamaño inicial del diálogo será automáticamente mayor en Motif que en Windows.

Los Sizers también pueden utilizarse para controlar la disposición de los elementos dibujados en la ventana. Las funciones wxSizer::Add(), wxSizer::Insert(), y wxSizer::Prepend() devuelven un puntero al nuevo wxSizerItem añadido. Basta con añadir un espacio vacío del tamaño y atributos deseados, y luego utilizar el método wxSizerItem::GetRect() para determinar dónde deben tener lugar las operaciones de dibujo.

Hay que tener en cuenta que los sizers, al igual que las ventanas hijas, son propiedad de la biblioteca y serán borrados por ella, lo que implica que deben ser asignados en el heap. Sin embargo, si se crea un sizer y no se añade a otro sizer o ventana, la librería no podrá borrar dicho sizer huérfano y en este, y solo en este caso, deberá ser borrado explícitamente.

Banderas

El argumento "flag" aceptado por los constructores de wxSizerItem y otras funciones, por ejemplo wxSizer::Add(), es una combinación OR de las siguientes banderas. Con estas banderas se definen dos comportamientos principales. Uno es el borde alrededor de una ventana: el parámetro border determina el ancho del borde mientras que las banderas dadas aquí determinan a qué lado(s) del elemento se añadirá el borde. Los otros indicadores determinan cómo se comporta el elemento de tamaño cuando cambia el espacio asignado al tamaño, y depende en cierta medida del tipo específico de tamaño utilizado.

wxTOP
wxBOTTOM
wxLEFT
wxRIGHT
wxALL
Estos indicadores se utilizan para especificar a qué lado(s) del elemento de tamaño se aplicará el ancho del borde.
wxEXPAND El elemento se expandirá para llenar el espacio asignado al elemento. Cuando se utiliza para los elementos de wxBoxSizer, la expansión solo se produce en la dirección transversal del sizer ya que solo la proporción del elemento gobierna su comportamiento en la dirección principal del sizer. Pero cuando se utiliza para los elementos de wxGridSizer, esta bandera puede combinarse con las banderas de alineación que la anulan en la dirección correspondiente si se especifica, por ejemplo wxEXPAND | wxALIGN_CENTRE_VERTICAL expandiría el elemento sólo horizontalmente pero lo centraría verticalmente. Hay que tener en cuenta que esto no funciona para la alineación por defecto izquierda/superior y wxEXPAND todavía se aplica en ambas direcciones si se combina con wxALIGN_LEFT o wxALIGN_TOP.
wxSHAPED El artículo se ampliará al máximo manteniendo su relación de aspecto.
wxFIXED_MINSIZE Normalmente, los sizers utilizan el tamaño "óptimo", es decir, el más adecuado, de la ventana para determinar cuál debe ser el tamaño mínimo de los elementos de la ventana. Esto permite que los diseños se ajusten correctamente cuando el contenido del elemento, y por lo tanto su mejor tamaño, cambia. Si este comportamiento no es deseado, se puede utilizar wxFIXED_MINSIZE para fijar el tamaño mínimo de la ventana a su valor inicial y no cambiarlo más en el futuro. Hay que tener en cuenta que también se puede conseguir lo mismo llamando explícitamente a wxWindow::SetMinSize().
wxRESERVE_SPACE_EVEN_IF_HIDDEN Normalmente los wxSizers no asignan espacio para ventanas ocultas u otros elementos. Esta bandera anula este comportamiento para que se asigne suficiente espacio para la ventana incluso si no es visible. Esto hace posible mostrar y ocultar controles dinámicamente sin redimensionar el diálogo principal, por ejemplo. (Disponible desde 2.8.8.)
wxALIGN_CENTER
wxALIGN_CENTRE
wxALIGN_LEFT
wxALIGN_RIGHT
wxALIGN_TOP
wxALIGN_BOTTOM
wxALIGN_CENTER_VERTICAL
wxALIGN_CENTRE_VERTICAL
wxALIGN_CENTER_HORIZONTAL
wxALIGN_CENTRE_HORIZONTAL
Las banderas wxALIGN_* permiten especificar la alineación del elemento dentro del espacio que le asigna el sizer, ajustado por el borde si lo hubiera.

Funciones miembro

wxSizer()

wxSizer::wxSizer()

El constructor.

Hay que tener en cuenta que wxSizer es una clase base abstracta y no puede ser instanciada.

~wxSizer()

virtual wxSizer::~wxSizer()

El destructor.

Add()

wxSizerItem* wxSizer::Add( int width, int height, const wxSizerFlags & flags )

Añade un hijo espaciador al sizer.

Parámetros
width
Anchura del espaciador.
height
Altura del espaciador.
flags
Un objeto wxSizerFlags que le permite especificar la mayoría de los otros parámetros más convenientemente.
Add()

wxSizerItem* wxSizer::Add( int width, int height, int proportion = 0, int flag = 0, int border = 0, wxObject * userData = NULL )

Añade un hijo espaciador al sizer.

wxSizer en sí es una clase abstracta, pero los parámetros son equivalentes en las clases derivadas que se instanciarán para utilizarlo, por lo que se describen aquí.

width y height especifican la dimensión de un espaciador que se añadirá al sizer. Añadir espaciadores a los sizers da más flexibilidad en el diseño de diálogos; imaginemos por ejemplo una caja horizontal con dos botones en la parte inferior de un diálogo: puede que se quiera insertar un espacio entre los dos botones y hacer que ese espacio se estire usando la bandera de proporción y el resultado será que el botón izquierdo se alineará con el lado izquierdo del diálogo y el botón derecho con el lado derecho - el espacio entre ellos se encogerá y crecerá con el diálogo.

Parámetros
width
Anchura del espaciador.
height
Altura del espaciador.
proportion
Aunque el significado de este parámetro no está definido en wxSizer, se utiliza en wxBoxSizer para indicar si un hijo de un sizer puede cambiar su tamaño en la orientación principal del wxBoxSizer - donde 0 significa no cambiable y un valor superior a cero se interpreta en relación con el valor de otros hijos del mismo wxBoxSizer. Por ejemplo, se podría tener un wxBoxSizer horizontal con tres hijos, dos de los cuales se supone que cambian su tamaño con el sizer. Entonces las dos ventanas estirables obtendrían un valor de 1 cada una para hacerlas crecer y encogerse por igual con la dimensión horizontal del sizer.
flag
Combinación OR de banderas que afectan al comportamiento del sizer. Ver la lista de banderas de wxSizer para más detalles.
border
Determina el ancho del borde, si el parámetro flag está configurado para incluir alguna bandera de borde.
userData
Permite adjuntar un objeto extra al elemento sizer, para su uso en clases derivadas cuando la información de tamaño es más compleja de lo que permiten la proporción y la bandera.
Add()

wxSizerItem* wxSizer::Add( wxSizer * sizer, const wxSizerFlags & flags )

Añade un hijo al sizer.

wxSizer en sí misma es una clase abstracta, pero los parámetros son equivalentes en las clases derivadas que instanciará para utilizarla, por lo que se describen aquí:

Parámetros
sizer
El sizer (hijo) a añadir al sizer. Esto permite colocar un sizer hijo en un sizer y así crear jerarquías de sizers (típicamente una caja vertical como sizer superior y varias cajas horizontales en el nivel inferior).
flags
Un objeto wxSizerFlags que permite especificar la mayoría de los parámetros anteriores de forma más conveniente.
Add()

wxSizerItem* wxSizer::Add( wxSizer * sizer, int proportion = 0, int flag = 0, int border = 0, wxObject* userData = NULL )

Añade un hijo al sizer.

wxSizer en sí misma es una clase abstracta, pero los parámetros son equivalentes en las clases derivadas que instanciará para utilizarla, por lo que se describen aquí:

Parámetros
sizer
El sizer (hijo) a añadir al sizer. Esto permite colocar un sizer hijo en un sizer y así crear jerarquías de sizers (típicamente una caja vertical como sizer superior y varias cajas horizontales en el nivel inferior).
proporción
Aunque el significado de este parámetro no está definido en wxSizer, se utiliza en wxBoxSizer para indicar si un hijo de un sizer puede cambiar su tamaño en la orientación principal del wxBoxSizer - donde 0 significa no cambiable y un valor superior a cero se interpreta en relación con el valor de otros hijos del mismo wxBoxSizer. Por ejemplo, se podría tener un wxBoxSizer horizontal con tres hijos, dos de los cuales se supone que cambian su tamaño con el sizer. Entonces las dos ventanas estirables obtendrían un valor de 1 cada una para hacerlas crecer y encogerse por igual con la dimensión horizontal del sizer.
flag
Combinación OR de banderas que afectan al comportamiento del sizer. Ver la lista de banderas de wxSizer para más detalles.
border
Determina el ancho del borde, si el parámetro flag está configurado para incluir alguna bandera de borde.
userData
Permite adjuntar un objeto extra al elemento sizer, para su uso en clases derivadas cuando la información de tamaño es más compleja de lo que permiten la proporción y la bandera.
Add()

wxSizerItem* wxSizer::Add(wxSizerItem * item)

Añade un hijo al sizer.

Add()

wxSizerItem* wxSizer::Add( wxWindow * window, const wxSizerFlags & flags )

Añade un hijo al sizer.

wxSizer en sí misma es una clase abstracta, pero los parámetros son equivalentes en las clases derivadas que instanciará para utilizarla, por lo que se describen aquí:

Parámetros
window
La ventana a añadir al sizer. Su tamaño inicial (establecido explícitamente por el usuario o calculado internamente cuando se utiliza wxDefaultSize) se interpreta como el tamaño mínimo y en muchos casos también el inicial.
flags
Un objeto wxSizerFlags que permite especificar más convenientemente la mayoría de los parámetros anteriores.
Add()

wxSizerItem* wxSizer::Add( wxWindow * window, int proportion = 0, int flag = 0, int border = 0, wxObject * userData = NULL )

Añade un hijo al sizer.

wxSizer en sí misma es una clase abstracta, pero los parámetros son equivalentes en las clases derivadas que instanciará para utilizarla, por lo que se describen aquí:

Parámetros
window
La ventana que se añadirá al sizer. Su tamaño inicial (establecido explícitamente por el usuario o calculado internamente cuando se utiliza wxDefaultSize) se interpreta como el tamaño mínimo y en muchos casos también el inicial.
proporción
Aunque el significado de este parámetro no está definido en wxSizer, se utiliza en wxBoxSizer para indicar si un hijo de un sizer puede cambiar su tamaño en la orientación principal del wxBoxSizer - donde 0 significa no cambiable y un valor superior a cero se interpreta en relación con el valor de otros hijos del mismo wxBoxSizer. Por ejemplo, se podría tener un wxBoxSizer horizontal con tres hijos, dos de los cuales se supone que cambian su tamaño con el sizer. Entonces las dos ventanas estirables obtendrían un valor de 1 cada una para hacerlas crecer y encogerse por igual con la dimensión horizontal del sizer.
flag
Combinación OR de banderas que afectan al comportamiento del sizer. Ver la lista de banderas de wxSizer para más detalles.
border
Determina el ancho del borde, si el parámetro flag está configurado para incluir alguna bandera de borde.
userData
Permite adjuntar un objeto extra al elemento sizer, para su uso en clases derivadas cuando la información de tamaño es más compleja de lo que permiten la proporción y la bandera.
AddSpacer()

irtual wxSizerItem* wxSizer::AddSpacer(int size)

Esta función base añade espacio no extensible a la orientación horizontal y vertical del sizer.

Una forma más legible de llamar a:

wxSizer::Add(size, size, 0).
AddStretchSpacer()

wxSizerItem* wxSizer::AddStretchSpacer(int prop = 1)

Añade espacio extensible al sizer.

Una forma más legible de llamar a:

wxSizer::Add(0, 0, prop).
CalcMin()

virtual wxSize wxSizer::CalcMin()

Este método es abstracto y debe ser sobrescrito por cualquier clase derivada.

Aquí, el sizer hará el cálculo real de los tamaños mínimos de sus hijos.

Clear()

virtual void wxSizer::Clear(bool delete_windows = false)

Elimina todos los hijos del clasificador.

Si delete_windows es verdadero, las ventanas hijas también se eliminarán.

Hay que tener en cuenta que los sizers hijos siempre se eliminan, como consecuencia general del principio de que los sizers son propietarios de sus sizer hijos, pero no son propietarios de sus ventanas hijas (porque ya son propiedad de sus ventanas padre).

ComputeFittingClientSize()

wxSize wxSizer::ComputeFittingClientSize(wxSize * window)

Calcula el tamaño del área cliente de la ventana para que coincida con el tamaño mínimo del medidor.

A diferencia de GetMinSize(), este método tiene en cuenta otras restricciones impuestas a la ventana, como el tamaño de la pantalla (el tamaño devuelto nunca será demasiado grande para la pantalla) y el tamaño máximo de la ventana si se ha establecido previamente mediante wxWindow::SetMaxSize().

El valor devuelto es adecuado para pasarlo a wxWindow::SetClientSize() o wxWindow::SetMinClientSize().

ComputeFittingWindowSize()

wxSize wxSizer::ComputeFittingWindowSize(wxSize * window)

Como ComputeFittingClientSize(), pero convierte el resultado en tamaño de ventana.

El valor devuelto es adecuado para pasarlo a wxWindow::SetSize() o wxWindow::SetMinSize().

Detach()

virtual bool wxSizer::Detach(int index)

Desprende un elemento en la posición índice del clasificador sin destruirlo.

Este método no provoca ningún diseño o cambio de tamaño, llamar a Layout() para actualizar el diseño "en pantalla" después de eliminar un elemento hijo del clasificador. Devuelve true si el elemento hijo fue encontrado y separado, false en caso contrario.

Detach()

virtual bool wxSizer::Detach(wxSizer * sizer)

Desprende el sizer hijo del sizer sin destruirlo.

Este método no provoca ningún diseño o cambio de tamaño, llame a Layout() para actualizar el diseño "en pantalla" después de separar un elemento hijo del clasificador.

Devuelve true si el elemento hijo fue encontrado y separado, false en caso contrario.

Detach()

virtual bool wxSizer::Detach(wxWindow * window)

Desprende el sizer hijo del sizer sin destruirlo.

Este método no provoca ningún diseño o cambio de tamaño, llame a Layout() para actualizar el diseño "en pantalla" después de separar un elemento hijo del clasificador.

Devuelve true si el elemento hijo fue encontrado y separado, false en caso contrario.

Fit()

wxSize wxSizer::Fit(wxWindow * window)

Indica al sizer que redimensione la ventana para que su área de cliente coincida con el tamaño mínimo del sizer (ComputeFittingClientSize() se llama para determinarlo).

Esto se hace normalmente en el constructor de la propia ventana, ver ejemplo en la descripción de wxBoxSizer.

Valor de retorno

El nuevo tamaño de la ventana.

FitInside()

void wxSizer::FitInside(wxWindow * window)

Indica al sizer que redimensione el tamaño virtual de la ventana para que coincida con el tamaño mínimo del sizer.

Esto no alterará el tamaño en pantalla de la ventana, pero puede provocar la adición/eliminación/alteración de las barras de desplazamiento necesarias para ver el área virtual en las ventanas que la gestionan.

GetChildren()

wxSizerItemList& wxSizer::GetChildren()

Devuelve la lista de los elementos de este sizer.

Los elementos de wxList wxSizerItemList de tipo seguro son punteros a objetos de tipo wxSizerItem.

GetChildren()

const wxSizerItemList& wxSizer::GetChildren() const

Devuelve la lista de los elementos de este sizer.

Los elementos de wxList wxSizerItemList de tipo seguro son punteros a objetos de tipo wxSizerItem.

GetContainingWindow()

wxWindow* wxSizer::GetContainingWindow() const

Devuelve la ventana en la que se utiliza este sizer o NULL si no hay ninguna.

GetItem()

wxSizerItem* wxSizer::GetItem(size_t index)

Encuentra el wxSizerItem que se encuentra en el sizer en la posición index.

Valor de retorno

Puntero al ítem o NULL si no hay ningún ítem en ese índice.

GetItem()

wxSizerItem* wxSizer::GetItem( wxSizer * sizer, bool recursive = false )

Encuentra el wxSizerItem que contiene el sizer dado.

Utiliza el parámetro recursive para buscar también en subsizers.

Valor de retorno

Puntero al ítem o NULL si el sizer dado no está en el sizer.

GetItem()

wxSizerItem* wxSizer::GetItem( wxWindow * window, bool recursive = false )

Encuentra el wxSizerItem que contiene la ventana dada.

Utiliza el parámetro recursive para buscar también en subsizers.

Valor de retorno

Puntero al ítem o NULL si no hay ningún ítem con la ventana.

GetItemById()

wxSizerItem* wxSizer::GetItemById( int id, bool recursive = false )

Encuentra el elemento en el sizer que tiene el id dado.

Este id no es el id de la ventana sino el id del propio wxSizerItem. Esto es útil principalmente para recuperar los sizers creados a partir de recursos XRC. Utilizar el parámetro recursive para buscar también en subsizers.

Valor de retorno

Puntero al ítem o NULL si ningún ítem tiene ese id.

GetItemCount()

size_t wxSizer::GetItemCount() const

Devuelve el número de ítems en el sizer.

Si solo necesita comprobar si el medidor está vacío o no, también se puede utilizar la función IsEmpty().

GetMinSize()

wxSize wxSizer::GetMinSize()

Devuelve el tamaño mínimo del sizer.

Este es el tamaño mínimo combinado de todos los hijos y sus bordes o el tamaño mínimo establecido por SetMinSize(), dependiendo de cuál sea mayor. Hay que tener en cuenta que el valor devuelto es el tamaño del cliente, no el tamaño de la ventana. En particular, si se utiliza el valor para establecer el tamaño mínimo o real de la ventana de nivel superior, utilizar wxWindow::SetMinClientSize() o wxWindow::SetClientSize(), no wxWindow::SetMinSize() o wxWindow::SetSize().

GetPosition()

wxPoint wxSizer::GetPosition() const

Devuelve la posición actual del sizer.

GetSize()

wxSize wxSizer::GetSize() const

Devuelve el tamaño actual del sizer.

Hide()

bool wxSizer::Hide(size_t index)

Oculta el elemento en la posición índice.

Para hacer desaparecer un elemento del sizer, utilizar Hide() seguido de Layout().

Utilizar el parámetro recursive para ocultar elementos encontrados en subsizers.

Devuelve true si se ha encontrado el elemento hijo, false en caso contrario.

Hide()

bool wxSizer::Hide( wxSizer * sizer, bool recursive = false )

Oculta el sizer hijo.

Para hacer desaparecer un elemento del sizer, utilizar Hide() seguido de Layout().

Utilizar el parámetro recursive para ocultar elementos encontrados en subsizers.

Devuelve true si se ha encontrado el elemento hijo, false en caso contrario.

Hide()

bool wxSizer::Hide( wxWindow * window, bool recursive = false )

Oculta la ventana hija.

Para hacer desaparecer un elemento del sizer, utilizar Hide() seguido de Layout().

Utilizar el parámetro recursive para ocultar elementos encontrados en subsizers.

Devuelve true si se ha encontrado el elemento hijo, false en caso contrario.

InformFirstDirection()

virtual bool wxSizer::InformFirstDirection( int direction, int size, int availableOtherDir )

Informa al sizer sobre la primera dirección que ha sido decidida (por el elemento padre).

Devuelve true si hizo uso de la información (y recalculó el tamaño mínimo).

Reimplementado en wxWrapSizer.

Insert()

wxSizerItem* wxSizer::Insert( size_t index, int width, int height, const wxSizerFlags & flags )

Inserta un elemento hijo en el clasificador antes de cualquier elemento existente en el índice.

Ver Add() para conocer el significado de los demás parámetros.

Insert()

wxSizerItem* wxSizer::Insert( size_t index, int width, int height, int proportion = 0, int flag = 0, int border = 0, wxObject * userData = NULL )

Inserta un elemento hijo en el clasificador antes de cualquier elemento existente en el índice.

Ver Add() para conocer el significado de los demás parámetros.

Insert()

wxSizerItem* wxSizer::Insert( size_t index, wxSizer * sizer, const wxSizerFlags & flags )

Inserta un elemento hijo en el clasificador antes de cualquier elemento existente en el índice.

Ver Add() para conocer el significado de los demás parámetros.

Insert()

wxSizerItem* wxSizer::Insert( size_t index, wxSizer * sizer, int proportion = 0, int flag = 0, int border = 0, wxObject * userData = NULL )

Inserta un elemento hijo en el clasificador antes de cualquier elemento existente en el índice.

Ver Add() para conocer el significado de los demás parámetros.

Insert()

wxSizerItem* wxSizer::Insert( size_t index, wxSizerItem* item )

Inserta un elemento hijo en el clasificador antes de cualquier elemento existente en el índice.

Ver Add() para conocer el significado de los demás parámetros.

Insert()

wxSizerItem* wxSizer::Insert( size_t index, wxWindow * window, const wxSizerFlags & flags )

Inserta un elemento hijo en el clasificador antes de cualquier elemento existente en el índice.

Ver Add() para conocer el significado de los demás parámetros.

Insert()

wxSizerItem* wxSizer::Insert( size_t index, wxWindow * window, int proportion = 0, int flag = 0, int border = 0, wxObject * userData = NULL )

Inserta un elemento hijo en el clasificador antes de cualquier elemento existente en el índice.

Ver Add() para conocer el significado de los demás parámetros.

InsertSpacer()

wxSizerItem* wxSizer::InsertSpacer( size_t index, int size )

Inserta espacio no extensible en el sizer.

Una forma más legible de llamar a wxSizer::Insert(index, size, size).

InsertStretchSpacer()

wxSizerItem* wxSizer::InsertStretchSpacer( size_t index, int prop = 1 )

Inserta espacio estirable en el sizer.

Una forma más legible de llamar a wxSizer::Insert(0, 0, prop).

IsEmpty()

bool wxSizer::IsEmpty() const

Devuelve true si el sizer no tiene elementos.

IsShown()

bool wxSizer::IsShown(size_t index) const

Devuelve true si se muestra el elemento index.

IsShown()

bool wxSizer::IsShown(wxSizer * sizer) const

Devuelve true si se muestra el sizer.

IsShown()

bool wxSizer::IsShown(wxWindow * window) const

Devuelve true si se muestra la window.

Layout()

virtual void wxSizer::Layout()

Llamar a esta opción para forzar la disposición de los hijos de nuevo, por ejemplo, después de haber añadido o eliminado un hijo (ventana, otro dimensionador o espacio) del dimensionador, manteniendo la dimensión actual.

Prepend()

wxSizerItem* wxSizer::Prepend( int width, int height, const wxSizerFlags & flags )

Igual que Add(), pero antepone los elementos al principio de la lista de elementos (ventanas, subsizers o espacios) que posee este sizer.

Prepend()

wxSizerItem* wxSizer::Prepend( int width, int height, int proportion = 0, int flag = 0, int border = 0, wxObject * userData = NULL )

Igual que Add(), pero antepone los elementos al principio de la lista de elementos (ventanas, subsizers o espacios) que posee este sizer.

Prepend()

wxSizerItem* wxSizer::Prepend( wxSizer * sizer, const wxSizerFlags & flags )

Igual que Add(), pero antepone los elementos al principio de la lista de elementos (ventanas, subsizers o espacios) que posee este sizer.

Prepend()

wxSizerItem* wxSizer::Prepend( wxSizer * sizer, int proportion = 0, int flag = 0, int border = 0, wxObject * userData = NULL )

Igual que Add(), pero antepone los elementos al principio de la lista de elementos (ventanas, subsizers o espacios) que posee este sizer.

Prepend()

wxSizerItem* wxSizer::Prepend(wxSizerItem * item)

Igual que Add(), pero antepone los elementos al principio de la lista de elementos (ventanas, subsizers o espacios) que posee este sizer.

Prepend()

wxSizerItem* wxSizer::Prepend( wxWindow * window, const wxSizerFlags & flags )

Igual que Add(), pero antepone los elementos al principio de la lista de elementos (ventanas, subsizers o espacios) que posee este sizer.

Prepend()

wxSizerItem* wxSizer::Prepend( wxWindow * window, int proportion = 0, int flag = 0, int border = 0, wxObject * userData = NULL )

Igual que Add(), pero antepone los elementos al principio de la lista de elementos (ventanas, subsizers o espacios) que posee este sizer.

PrependSpacer()

wxSizerItem* wxSizer::PrependSpacer(int size)

Preinserta espacio no extensible de tamaño size.

Una forma más legible de llamar a wxSizer::Prepend(size, size, 0).

PrependStretchSpacer()

wxSizerItem* wxSizer::PrependStretchSpacer(int prop = 1)

Preinserta espacio estirable al sizer.

Una forma más legible de llamar a wxSizer::Prepend(0, 0, prop).

Remove()

virtual bool wxSizer::Remove(int index)

Elimina un hijo del sizer y lo destruye si es un sizer o un espaciador, pero no si es una ventana (porque las ventanas son propiedad de su ventana padre, no del sizer).

Nota: Este método no provoca ningún cambio de diseño o de tamaño, llamar a Layout() para actualizar el diseño "en pantalla" después de eliminar un hijo del sizer.

Parámetros
index
Posición del hijo en el clasificador, por ejemplo, 0 para el primer elemento.
Valor de retorno

true si se ha encontrado y eliminado el elemento hijo, false en caso contrario.

Remove()

virtual bool wxSizer::Remove(wxSizer * sizer)

Elimina un sizer hijo del sizer y lo destruye.

Nota: Este método no provoca ningún cambio de diseño o de tamaño, llame a Layout() para actualizar el diseño "en pantalla" después de eliminar un hijo del sizer.

Parámetros
sizer
El wxSizer a eliminar.
Valor de retorno

true si se ha encontrado y eliminado el elemento hijo, false en caso contrario.

Remove()

virtual bool wxSizer::Remove(wxWindow * window)

Elimina una ventana hija del visualizador, pero no la destruye (porque las ventanas pertenecen a su ventana padre, no al visualizador).

Obsoleto

La sobrecarga de este método tomando un parámetro wxWindow* está obsoleta ya que no destruye la ventana como se esperaría normalmente de Remove(). Se debe utilizar Detach() en el nuevo código en su lugar. Actualmente no existe ningún método wxSizer que pueda tanto separar como destruir un elemento wxWindow.

Nota: Este método no provoca ningún cambio de diseño o de tamaño, llame a Layout() para actualizar el diseño "en pantalla" después de eliminar un hijo del sizer.

Valor de retorno

true si se ha encontrado y eliminado el elemento hijo, false en caso contrario.

Replace()

virtual bool wxSizer::Replace( size_t index, wxSizerItem * newitem )

Elimina el elemento dado en la posición index del sizer y lo sustituye por el wxSizerItem newitem dado.

El elemento hijo separado solo se elimina si es un sizer o un espaciador (pero no si es una wxWindow porque las ventanas son propiedad de su ventana padre, no del sizer).

Este método no provoca ningún cambio de diseño o de tamaño, llamar a Layout() para actualizar el diseño "en pantalla" después de reemplazar un elemento hijo del clasificador.

Devuelve true si el elemento hijo fue encontrado y eliminado, false en caso contrario.

Replace()

virtual bool wxSizer::Replace( wxSizer * oldsz, wxSizer * newsz, bool recursive = false )

Elimina el oldsz dado del sizer y lo sustituye por el newsz dado.

El sizer hijo separado se elimina.

Utilizar el parámetro recursive para buscar recursivamente el elemento dado en los subsizers.

Este método no provoca ningún cambio de diseño o de tamaño, llamar a Layout() para actualizar el diseño "en pantalla" después de reemplazar un elemento hijo del clasificador.

Devuelve true si el elemento hijo fue encontrado y eliminado, false en caso contrario.

Replace()

virtual bool wxSizer::Replace( wxWindow * oldwin, wxWindow * newwin, bool recursive = false )

Desvincula la oldwin dada del sizer y la sustituye por la newwin dada.

La ventana hija separada no se elimina (porque las ventanas son propiedad de su ventana padre, no del clasificador).

Utilizar el parámetro recursive para buscar recursivamente el elemento dado en los subsizers.

Este método no provoca ningún cambio de diseño o de tamaño, llamar a Layout() para actualizar el diseño "en pantalla" después de reemplazar un elemento hijo del clasificador.

Devuelve true si el elemento hijo fue encontrado y eliminado, false en caso contrario.

RepositionChildren()

virtual void wxSizer::RepositionChildren(const wxSize & minSize)

Método que debe ser sobrescrito en las clases sizer derivadas.

La implementación debe reposicionar los hijos usando el tamaño total actual disponible para el sizer (m_size) y el tamaño calculado por la última llamada a CalcMin().

Hay que tener en cuenta que nunca se debe llamar a este método directamente, llamar a Layout() en su lugar si se necesita actualizar manualmente las posiciones de los elementos del sizer. Este método solo es llamado por el propio wxWidgets.

Desde

3.1.3, antes de esta versión el método RecalcSizes() que no tomaba argumentos tenía que ser sobreescrito en las clases derivadas.

SetContainingWindow()

void wxSizer::SetContainingWindow(wxWindow * window)

Establece la ventana en la que se utiliza este sizer.

SetDimension()

void wxSizer::SetDimension( const wxPoint & pos, const wxSize & size )

Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la siguiente función en los argumentos que acepta.

SetDimension()

void wxSizer::SetDimension( int x, int y, int width, int height )

Llamar a este método para forzar al sizer a tomar la dimensión dada y así forzar a los elementos propiedad del sizer a redimensionarse a sí mismos de acuerdo a las reglas definidas por el parámetro en los métodos Add() y Prepend().

SetItemMinSize()

bool wxSizer::SetItemMinSize( size_t index, const wxSize & size )

Establece el tamaño mínimo de un elemento por ventana, tamaño o posición.

Esta función permite a una aplicación establecer el tamaño de un elemento tras su creación inicial.

La ventana o el tamaño se encontrarán recursivamente en los descendientes del tamaño.

Ver también

wxSizerItem::SetMinSize().

Valor de retorno

true si el tamaño mínimo se ha establecido correctamente o false si no se ha encontrado el elemento.

SetItemMinSize()

bool wxSizer::SetItemMinSize( size_t index, int width, int height )

Establece el tamaño mínimo de un elemento por ventana, tamaño o posición.

Esta función permite a una aplicación establecer el tamaño de un elemento tras su creación inicial.

La ventana o el tamaño se encontrarán recursivamente en los descendientes del tamaño.

Ver también

wxSizerItem::SetMinSize().

Valor de retorno

true si el tamaño mínimo se ha establecido correctamente o false si no se ha encontrado el elemento.

SetItemMinSize()

bool wxSizer::SetItemMinSize( wxSizer * sizer, const wxSize & size )

Establece el tamaño mínimo de un elemento por ventana, tamaño o posición.

Esta función permite a una aplicación establecer el tamaño de un elemento tras su creación inicial.

La ventana o el tamaño se encontrarán recursivamente en los descendientes del tamaño.

Ver también

wxSizerItem::SetMinSize().

Valor de retorno

true si el tamaño mínimo se ha establecido correctamente o false si no se ha encontrado el elemento.

SetItemMinSize()

bool wxSizer::SetItemMinSize( wxSizer * sizer, int width, int height )

Establece el tamaño mínimo de un elemento por ventana, tamaño o posición.

Esta función permite a una aplicación establecer el tamaño de un elemento tras su creación inicial.

La ventana o el tamaño se encontrarán recursivamente en los descendientes del tamaño.

Ver también

wxSizerItem::SetMinSize().

Valor de retorno

true si el tamaño mínimo se ha establecido correctamente o false si no se ha encontrado el elemento.

SetItemMinSize()

bool wxSizer::SetItemMinSize( wxWindow * window, const wxSize & size )

Establece el tamaño mínimo de un elemento por ventana, tamaño o posición.

Esta función permite a una aplicación establecer el tamaño de un elemento tras su creación inicial.

La ventana o el tamaño se encontrarán recursivamente en los descendientes del tamaño.

Ver también

wxSizerItem::SetMinSize().

Valor de retorno

true si el tamaño mínimo se ha establecido correctamente o false si no se ha encontrado el elemento.

SetItemMinSize()

bool wxSizer::SetItemMinSize( wxWindow * window, int width, int height )

Establece el tamaño mínimo de un elemento por ventana, tamaño o posición.

Esta función permite a una aplicación establecer el tamaño de un elemento tras su creación inicial.

La ventana o el tamaño se encontrarán recursivamente en los descendientes del tamaño.

Ver también

wxSizerItem::SetMinSize().

Valor de retorno

true si el tamaño mínimo se ha establecido correctamente o false si no se ha encontrado el elemento.

SetMinSize()

void wxSizer::SetMinSize(const wxSize & size)

Llama a esta opción para dar un tamaño mínimo al sizer.

Normalmente, el sizer calculará su tamaño mínimo basándose puramente en cuánto espacio necesitan sus hijos. Después de llamar a este método GetMinSize() devolverá el tamaño mínimo solicitado por sus hijos o el tamaño mínimo establecido aquí, dependiendo de cuál sea mayor.

SetItemMinSize()

bool wxSizer::SetItemMinSize( wxWindow * window, int width, int height )

Esta es una función miembro sobrecargada, proporcionada por conveniencia. Sólo difiere de la función anterior en los argumentos que acepta.

SetSizeHints()

void wxSizer::SetSizeHints(wxWindow * wxWindow)

Este método primero llama a Fit() y luego a wxTopLevelWindow::SetSizeHints() en la ventana que se le pasa.

Esto funciona solo cuando la ventana es realmente un wxTopLevelWindow como un wxFrame o un wxDialog, ya que SetSizeHints solo tiene efecto en estas clases. No hace nada en ventanas o controles normales.

Hay que tener en cuenta que la ventana no tiene por qué ser la ventana que utiliza este dimensionador y que, de hecho, es común llamar a esta función en el dimensionador asociado con el panel que cubre el área del cliente de un marco pasándole el puntero del marco, ya que esto tiene el efecto deseado de ajustar el tamaño del marco al tamaño que se ajusta al panel, por ejemplo:

MyFrame::MyFrame(...) : wxFrame(...)
{
    wxPanel* panel = new wxPanel(this);
    wxSizer* sizer = new wxBoxSizer(wxVERTICAL);
    sizer->Add(...);
    sizer->Add(...);
    panel->SetSizer(sizer);
 
    // Use the panel sizer to set the initial and minimal size of the
    // frame to fit its contents.
    sizer->SetSizeHints(this);
}

Esta función también es utilizada por wxWindow::SetSizerAndFit() que es comúnmente invocada en el constructor de las clases derivadas de wxDialog, que no necesitan utilizar un panel intermedio, ver el ejemplo en wxBoxSizer

SetVirtualSizeHints()

void wxSizer::SetVirtualSizeHints(wxWindow * window)

Indica al sizer que establezca el tamaño mínimo del área virtual de la ventana para que coincida con el tamaño mínimo del sizer.

Para ventanas con barras de desplazamiento gestionadas, esto las ajustará apropiadamente.

Obsoleto

Esto es exactamente lo mismo que FitInside() en wxWidgets 2.9 y posteriores, por favor reemplazar las llamadas a esto con FitInside().

Show()

bool wxSizer::Show( size_t index, bool show = true )

Muestra el elemento en el índice index.

Para hacer desaparecer o reaparecer un elemento del visualizador, utilizar Show() seguido de Layout().

Devuelve true si se ha encontrado el elemento hijo, false en caso contrario.

Show()

bool wxSizer::Show( wxSizer * sizer, bool show = true, bool recursive = false )

Muestra u oculta el sizer..

Para hacer desaparecer o reaparecer un elemento del visualizador, utilizar Show() seguido de Layout().

Utilizar el parámetro recursive para mostrar u ocultar los elementos que se encuentran en los subsizers.

Devuelve true si se ha encontrado el elemento hijo, false en caso contrario.

Show()

bool wxSizer::Show( wxWindow * window, bool show = true, bool recursive = false )

Muestra u oculta la ventana window.

Para hacer desaparecer o reaparecer un elemento del visualizador, utilizar Show() seguido de Layout().

Utilizar el parámetro recursive para mostrar u ocultar los elementos que se encuentran en los subsizers.

Devuelve true si se ha encontrado el elemento hijo, false en caso contrario.

ShowItems()

virtual void wxSizer::ShowItems(bool show)

Mostrar u ocultar todos los elementos gestionados por el sizer.

Métodos y datos heredados

Esta clase hereda los métodos y datos miembro públicos y protegidos de wxObject.