Clase wxCollapsiblePane
Un panel colapsable es un contenedor con un control tipo botón incrustado que puede ser utilizado por el usuario para colapsar o expandir el contenido del panel.
Jerarquía:

Una vez construido, se debe utilizar la función GetPane() para acceder al panel y añadir sus controles dentro de él (es decir, utilizar el puntero devuelto por GetPane() como padre para los controles que deben ir en el panel, no el propio wxCollapsiblePane).
Hay que tener en cuenta que cuando se utilice este control dentro de un sizer, normalmente se querrá llamar a wxWindow::Layout() cada vez que su tamaño cambie debido a que el panel se abra o se cierre, para ajustar las posiciones de los controles vecinos, por ejemplo:
wxCollapsiblePane *collpane = new wxCollapsiblePane(this, wxID_ANY, "Details:"); // añadir el panel con un valor de proporción cero al sizer 'sz' que lo contiene sz->Add(collpane, wxSizerFlags().Expand().Border(); // pero que también nos aseguramos de retransmitir toda la ventana // cuando cambia su estado para darle suficiente espacio cuando se // expande o reducir el espacio que ocupa cuando se colapsa. collpane->Bind(wxEVT_COLLAPSIBLEPANE_CHANGED, [this](wxCollapsiblePaneEvent &) { Layout(); }); // ahora añadir una etiqueta de prueba en el panel plegable utilizando un sizer para maquetarla: wxWindow *win = collpane->GetPane(); wxSizer *paneSz = new wxBoxSizer(wxVERTICAL); paneSz->Add(new wxStaticText(win, wxID_ANY, "test!"), wxSizerFlags().Proportion(1).Expand().DoubleBorder()); win->SetSizer(paneSz); paneSz->SetSizeHints(win);
Sólo está disponible si wxUSE_COLLPANE tiene el valor 1 (por defecto).
Estilos
Esta clase soporta los siguientes estilos:
- wxCP_DEFAULT_STYLE
- El estilo por defecto. Incluye wxTAB_TRAVERSAL y wxBORDER_NONE.
- wxCP_NO_TLW_RESIZE
- Por defecto wxCollapsiblePane redimensiona la ventana de nivel superior que lo contiene cuando cambia su propio tamaño. Esto permite implementar fácilmente diálogos que contienen una parte que se muestra opcionalmente, por ejemplo, y por lo tanto es el comportamiento por defecto, pero puede ser inconveniente en algunos casos específicos - utilizar esta bandera para desactivar este cambio de tamaño automático del padre.
Eventos emitidos por esta clase
Las siguientes macros de manejadores de eventos redirigen los eventos a manejadores de funciones miembro 'func' con prototipos como:
void handlerFuncName(wxCollapsiblePaneEvent& event) o void handlerFuncName(wxNavigationKeyEvent& event)
Macros de eventos para eventos emitidos por esta clase:
- EVT_COLLAPSIBLEPANE_CHANGED(id, func)
- El usuario expandió o colapsó el panel plegable.
- EVT_NAVIGATION_KEY(func)
- Procesa un evento de tecla de navegación.
Funciones miembro
wxCollapsiblePane()
wxCollapsiblePane::wxCollapsiblePane()
Constructor por defecto.
wxCollapsiblePane()
wxCollapsiblePane::wxCollapsiblePane( wxWindow * parent, wxWindowID id, const wxString & label, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxCP_DEFAULT_STYLE, const wxValidator & validator = wxDefaultValidator, const wxString & name = wxCollapsiblePaneNameStr )
Inicializa el objeto y llama a Create() con todos los parámetros.
Collapse()
virtual void wxCollapsiblePane::Collapse(bool collapse = true)
Contrae o expande la ventana del panel.
Create()
bool wxCollapsiblePane::Create( wxWindow * parent, wxWindowID id, const wxString & label, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxCP_DEFAULT_STYLE, const wxValidator & validator = wxDefaultValidator, const wxString & name = wxCollapsiblePaneNameStr )
Parámetros
- parent
- Ventana padre, debe ser no nula.
- id
- El identificador del control.
- label
- Etiqueta inicial mostrada en el botón que permite al usuario expandir o contraer la ventana del panel.
- pos
- Posición inicial.
- size
- Tamaño inicial.
- style
- El estilo de la ventana, ver banderas wxCP_*.
- validator
- Validador que puede utilizarse para comprobaciones de datos adicionales.
- name
- Nombre del control.
Valor de retorno
true si el control fue creado con éxito o false si la creación falló.
Expand()
void wxCollapsiblePane::Expand()
Igual que llamar a Collapse(false).
GetPane()
virtual wxWindow* wxCollapsiblePane::GetPane() const
Devuelve un puntero a la ventana del panel.
Añadir controles a la wxWindow devuelta para hacerlos plegables.
IsCollapsed()
virtual bool wxCollapsiblePane::IsCollapsed() const
Devuelve true si la ventana del panel está actualmente oculta.
IsExpanded()
bool wxCollapsiblePane::IsExpanded() const
Devuelve true si la ventana del panel se muestra actualmente.
Métodos y datos heredados
Esta clase hereda los métodos y datos miembro públicos y protegidos de wxObject, wxEvtHandler, wxWindow y wxControl.