Clase wxFlexGridSizer
Un flex grid sizer es un sizer que dispone a sus hijos en una tabla bidimensional con todos los campos de la tabla en una fila con la misma altura y todos los campos en una columna con la misma anchura, pero todas las filas o todas las columnas no son necesariamente de la misma altura o anchura como en el wxGridSizer.
Jerarquía:

Desde wxWidgets 2.5.0, wxFlexGridSizer también puede dimensionar los elementos de forma equitativa en una dirección pero de forma desigual ("flexible") en la otra. Si el sizer solo es flexible en una dirección (esto puede cambiarse usando wxFlexGridSizer::SetFlexibleDirection), es necesario decidir cómo debe crecer el sizer en la otra dirección ("no flexible") para llenar el espacio disponible. El método wxFlexGridSizer::SetNonFlexibleGrowMode() sirve para este propósito.
Funciones miembro
wxFlexGridSizer()
wxFlexGridSizer::wxFlexGridSizer( int cols, int vgap, int hgap )
Constructories de wxFlexGridSizer.
Consultar la documentación de wxGridSizer::wxGridSizer.
wxFlexGridSizer()
Constructories de wxFlexGridSizer.
Consultar la documentación de wxGridSizer::wxGridSizer.
wxFlexGridSizer()
wxFlexGridSizer::wxFlexGridSizer( int rows, int cols, int vgap, int hgap )
Constructories de wxFlexGridSizer.
Consultar la documentación de wxGridSizer::wxGridSizer.
wxFlexGridSizer()
wxFlexGridSizer::wxFlexGridSizer( int rows, int cols, const wxSize & gap )
Constructories de wxFlexGridSizer.
Consultar la documentación de wxGridSizer::wxGridSizer.
AddGrowableCol()
void wxFlexGridSizer::AddGrowableCol( size_t idx, int proportion = 0 )
Especifica que la columna idx (empezando por cero) debe crecer si hay espacio extra disponible para el sizer.
El parámetro proportion tiene el mismo significado que el factor de estiramiento para los sizers (ver wxBoxSizer) excepto que si todas las proporciones son 0, entonces todas las columnas son redimensionadas por igual (en lugar de no ser redimensionadas en absoluto).
Hay que tener en cuenta que la columna no debe ser ya ampliable, si se necesita cambiar la proporción se debe llamar primero a RemoveGrowableCol() y luego hacerla ampliable (con una proporción diferente) de nuevo. Se puede utilizar IsColGrowable() para comprobar si una columna ya es ampliable.
AddGrowableRow()
void wxFlexGridSizer::AddGrowableRow( size_t idx, int proportion = 0 )
Especifica que el idx de fila (empezando por cero) debe crecer si hay espacio extra disponible para el sizer.
Esto es idéntico a AddGrowableCol() excepto que funciona con filas y no con columnas.
CalcMin()
virtual wxSize wxFlexGridSizer::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.
Reimplementado desde wxGridSizer.
Reimplementado en wxGridBagSizer.
GetColWidths()
const wxArrayInt& wxFlexGridSizer::GetColWidths() const
Devuelve un array de solo lectura que contiene las anchuras de las columnas del sizer.
GetFlexibleDirection()
int wxFlexGridSizer::GetFlexibleDirection() const
Devuelve un valor wxOrientation que especifica si el sizer redimensiona de forma flexible sus columnas, filas o ambas (por defecto).
Valor de retorno
Uno de los siguientes valores:
- wxVERTICAL: El tamaño de las filas es flexible.
- wxHORIZONTAL: El tamaño de las columnas es flexible.
- wxBOTH: Tanto las filas como las columnas tienen un tamaño flexible (este es el valor por defecto).
GetNonFlexibleGrowMode()
wxFlexSizerGrowMode wxFlexGridSizer::GetNonFlexibleGrowMode() const
Devuelve el valor que especifica cómo crece el sizer en la dirección "no flexible" si existe.
El comportamiento de los elementos en la dirección flexible (es decir, tanto filas como columnas por defecto, o filas solo si GetFlexibleDirection() es wxVERTICAL o columnas solo si es wxHORIZONTAL) se rige siempre por su proporción especificada en la llamada a AddGrowableRow() o AddGrowableCol(). Lo que ocurre en la otra dirección depende del valor de devuelto por esta función como se describe a continuación.
Valor de retorno
Uno de los siguientes valores:
- wxFLEX_GROWMODE_NONE: El Sizer no crece sus elementos en absoluto en la dirección no flexible.
- wxFLEX_GROWMODE_SPECIFIED: El Sizer respeta las columnas/filas crecientes establecidas con AddGrowableCol() y AddGrowableRow() en la dirección no flexible también. En este caso la igualdad de tamaño se aplica a los tamaños mínimos de columnas o filas (este es el valor por defecto).
- wxFLEX_GROWMODE_ALL: El sizer estira por igual todas las columnas o filas en la dirección no flexible, independientemente de las proporciones aplicadas en la dirección flexible.
GetRowHeights()
const wxArrayInt& wxFlexGridSizer::GetRowHeights() const
Devuelve un array de solo lectura que contiene las alturas de las filas del sizer.
IsColGrowable()
bool wxFlexGridSizer::IsColGrowable(size_t idx)
Devuelve true si la columna idx es ampliable.
IsRowGrowable()
bool wxFlexGridSizer::IsRowGrowable(size_t idx)
Devuelve true si la fila idx es ampliable.
RemoveGrowableCol()
void wxFlexGridSizer::RemoveGrowableCol(size_t idx)
Especifica que el índice de la columna idx ya no es ampliable.
RemoveGrowableRow()
void wxFlexGridSizer::RemoveGrowableRow(size_t idx)
Especifica que el índice de la fila idx ya no es ampliable.
RepositionChildren()
virtual void wxFlexGridSizer::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 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 sobrescrito en las clases derivadas.
Reimplementado en wxGridSizer.
Reimplementado en wxGridBagSizer.
SetFlexibleDirection()
void wxFlexGridSizer::SetFlexibleDirection(int direction)
Especifica si el sizer debe redimensionar de forma flexible sus columnas, filas o ambas.
La dirección del argumento puede ser wxVERTICAL, wxHORIZONTAL o wxBOTH (que es el valor por defecto). Cualquier otro valor se ignora.
Ver GetFlexibleDirection() para la explicación de estos valores. Hay que tener en cuenta que este método no activa la retransmisión.
SetNonFlexibleGrowMode()
void wxFlexGridSizer::SetNonFlexibleGrowMode(wxFlexSizerGrowMode mode)
Especifica cómo debe crecer el sizer en la dirección no flexible si existe (por lo que SetFlexibleDirection() debe haber sido llamada previamente).
El modo del argumento puede ser uno de los documentados en GetNonFlexibleGrowMode(), por favor ver allí su explicación. Hay que tener en cuenta que este método no activa la retransmisión.
Métodos y datos heredados
Esta clase hereda los métodos y datos miembro públicos y protegidos de wxGridSizer, wxSizer y wxObject.