collpane.h

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:

Jerarquía de la clase wxCollapsiblePane

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.