propgrid/manager.h

Clase wxPropertyGridManager

wxPropertyGridManager es una versión multipágina eficiente de wxPropertyGrid, que puede tener opcionalmente una barra de herramientas para la selección de modo y página, un cuadro de texto de ayuda y un encabezado.

Jerarquía:

Jerarquía de wxPropertyGridManager

wxPropertyGridManager hereda de wxPropertyGridInterface y, como tal, tiene la mayoría de las funciones de manipulación de propiedades. Sin embargo, sólo algunas de ellas afectan a las propiedades de todas las páginas (por ejemplo, GetPropertyByName() y ExpandAll()), mientras que otras (por ejemplo, Append()) sólo se aplican a la página seleccionada actualmente.

Para operar explícitamente sobre las propiedades de una página específica, utilizar wxPropertyGridManager::GetPage() para obtener el puntero al objeto wxPropertyGridPage de la página.

Los métodos visuales, como SetCellBackgroundColour(), sólo están disponibles en wxPropertyGrid. Utilizar wxPropertyGridManager::GetGrid() para obtener el puntero al mismo.

Los iteradores no virtuales no funcionarán en wxPropertyGridManager. En su lugar, se debe adquirir la cuadrícula interna (wxPropertyGridManager::GetGrid()) o el objeto wxPropertyGridPage (GetPage()).

El constructor wxPropertyGridManager tiene exactamente el mismo formato que el constructor wxPropertyGrid y, básicamente, acepta los mismos indicadores de estilo de ventana adicionales (aunque también tiene algunos adicionales).

A continuación se muestra un código de ejemplo para crear y rellenar un wxPropertyGridManager:

wxPropertyGridManager* pgMan = new wxPropertyGridManager(this, PGID,
    wxDefaultPosition, wxDefaultSize,
    // Estos y otros estilos similares se pasan 
    // automáticamente al wxPropertyGrid integrado.
    wxPG_BOLD_MODIFIED|wxPG_SPLITTER_AUTO_CENTER|
    // Incluir barra de herramientas.
    wxPG_TOOLBAR |
    // Incluir cuadro de descripción.
    wxPG_DESCRIPTION |
    // Incluir compactador.
    wxPG_COMPACTOR |
    // Más valores predeterminados.
    wxPGMAN_DEFAULT_STYLE
   );
 
wxPropertyGridPage* page;
 
page = pgMan->AddPage("First Page");
 
page->Append( new wxPropertyCategory("Category A1") );
 
page->Append( new wxIntProperty("Number",wxPG_LABEL,1) );
 
page->Append( new wxColourProperty("Colour",wxPG_LABEL,*wxWHITE) );
 
page = pgMan->AddPage("Second Page");
 
page->Append( "Text",wxPG_LABEL,"(no text)" );
 
page->Append( new wxFontProperty("Font",wxPG_LABEL) );
 
// Mostrar un encabezado encima de la cuadrícula
pgMan->ShowHeader();

Estilos de ventana

Consultar Estilos de ventana de wxPropertyGrid.

Gestión de eventos

Consultar Gestión de eventos de wxPropertyGrid para obtener más información.

Funciones miembro

wxPropertyGridManager()

wxPropertyGridManager::wxPropertyGridManager()

Constructor de dos pasos.

Llamar a Create cuando se llame a este constructor para crear el wxPropertyGridManager.

wxPropertyGridManager()

wxPropertyGridManager::wxPropertyGridManager( wxWindow * parent, wxWindowID id = wxID_ANY, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxPGMAN_DEFAULT_STYLE, const wxString & name = wxPropertyGridManagerNameStr )

El constructor predeterminado.

Los estilos que se utilizarán son estilos válidos para wxWindow.

~wxPropertyGridManager()

virtual wxPropertyGridManager::~wxPropertyGridManager()

Destructor.

AddPage()

wxPropertyGridPage* wxPropertyGridManager::AddPage( const wxString & label = wxString(), const wxBitmapBundle & bmp = wxBitmapBundle(), wxPropertyGridPage * pageObj = nullptr )

Crea una nueva página de propiedades.

Hay que tener en cuenta que la primera página no se crea automáticamente.

Parámetros
label
Una etiqueta para la página. Puede mostrarse como una información sobre herramientas de la barra de herramientas, etc.
bmp
Paquete de mapas de bits para la imagen de la barra de herramientas. Si el paquete está vacío, se utiliza un paquete de mapas de bits predeterminado integrado.
pageObj
Instancia de wxPropertyGridPage. El administrador se hará cargo de este objeto. nullptr indica que se debe crear una instancia de página predeterminada.
Valor de retorno

Devuelve el puntero a la página de cuadrícula de propiedades creada.

Observaciones

Si se utiliza la barra de herramientas, se recomienda encarecidamente añadir las páginas cuando la barra de herramientas no esté desactivada mediante el cambio de indicador de estilo de ventana. De lo contrario, es posible que los botones de la barra de herramientas no se añadan correctamente.

Clear()

virtual void wxPropertyGridManager::Clear()

Elimina todas las propiedades y todas las páginas.

Implementa wxPropertyGridInterface.

ClearPage()

void wxPropertyGridManager::ClearPage(int page)

Elimina todas las propiedades de la página indicada.

CommitChangesFromEditor()

bool wxPropertyGridManager::CommitChangesFromEditor(wxPGSelectPropertyFlags flags = wxPGSelectPropertyFlags::Null)

Fuerza la actualización del valor de la propiedad desde el control del editor.

Valor de retorno

Devuelve true si el valor se ha actualizado realmente.

Create()

bool wxPropertyGridManager::Create( wxWindow * parent, wxWindowID id = wxID_ANY, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxPGMAN_DEFAULT_STYLE, const wxString & name = wxPropertyGridManagerNameStr )

Creación en dos pasos.

Siempre que se cree el control sin ningún parámetro, utilizar Create para crearlo realmente. No acceder a los métodos públicos del control antes de llamar a esta función.

CreatePropertyGrid()

virtual wxPropertyGrid* wxPropertyGridManager::CreatePropertyGrid() const

Crea una cuadrícula de propiedades para el administrador.

Reimplemente en la clase derivada para utilizar la subclase wxPropertyGrid. Sin embargo, si se hace, también se deberá utilizar la construcción en dos pasos (es decir, el constructor predeterminado y Create() en lugar del constructor con argumentos) al crear el administrador.

EnableCategories()

bool wxPropertyGridManager::EnableCategories(bool enable)

Activa o desactiva (muestra/oculta) las categorías según el parámetro enable.

Observaciones

Es posible que al llamar a esta función no se actualicen correctamente los botones de la barra de herramientas.

EnsureVisible()

bool wxPropertyGridManager::EnsureVisible(wxPGPropArg id)

Selecciona la página, se desplaza y/o expande los elementos para garantizar que el elemento dado sea visible.

Valor de retorno

Devuelve verdadero si realmente se ha realizado alguna acción.

GetColumnCount()

int wxPropertyGridManager::GetColumnCount(int page = -1) const

Devuelve el número de columnas de la página indicada.

Por defecto, devuelve el número de columnas de la página actual.

GetCurrentPage()

wxPropertyGridPage* wxPropertyGridManager::GetCurrentPage() const

Devuelve la página seleccionada actualmente.

GetDescBoxHeight()

int wxPropertyGridManager::GetDescBoxHeight() const

Devuelve la altura del cuadro de texto de descripción.

GetGrid()

wxPropertyGrid* wxPropertyGridManager::GetGrid()

Devuelve el puntero al wxPropertyGrid contenido.

Esto no cambia después de que se haya creado wxPropertyGridManager, por lo que se puede obtener el puntero de forma segura una vez y utilizarlo durante toda la vida útil de la instancia del administrador.

GetPage()

wxPropertyGridPage* wxPropertyGridManager::GetPage(const wxString & name) const

Devuelve el objeto de página para el nombre de página dado.

GetPage()

wxPropertyGridPage* wxPropertyGridManager::GetPage(unsigned int ind) const

Devuelve el objeto de página para el índice de página dado.

GetPageByName()

int wxPropertyGridManager::GetPageByName(const wxString & name) const

Devuelve el índice de un nombre de página.

Si no se encuentra ninguna coincidencia, se devuelve wxNOT_FOUND.

GetPageByState()

int wxPropertyGridManager::GetPageByState(const wxPropertyGridPageState * pstate) const

Devuelve el índice para un estado relevante de la cuadrícula de propiedades.

Si no se encuentra ninguna coincidencia, se devuelve wxNOT_FOUND.

GetPageCount()

size_t wxPropertyGridManager::GetPageCount() const

Devuelve el número de páginas gestionadas.

GetPageName()

const wxString& wxPropertyGridManager::GetPageName(int index) const

Devuelve el nombre de la página dada.

GetPageRoot()

wxPGProperty* wxPropertyGridManager::GetPageRoot(int index) const

Devuelve la "propiedad raíz" de la página dada.

No tiene nombre, etc., y no es visible. Sólo es útil para acceder a sus elementos secundarios.

GetSelectedPage()

int wxPropertyGridManager::GetSelectedPage() const

Devuelve el índice a la página seleccionada actualmente.

GetSelectedProperty()

wxPGProperty* wxPropertyGridManager::GetSelectedProperty() const

Alias para GetSelection().

GetSelection()

wxPGProperty* wxPropertyGridManager::GetSelection() const

GetToolBar()

wxToolBar* wxPropertyGridManager::GetToolBar() const

Devuelve un puntero a la barra de herramientas asociada actualmente con wxPropertyGridManager (si existe).

GetVIterator()

virtual wxPGVIterator wxPropertyGridManager::GetVIterator(int flags) const

Similar a GetIterator(), pero en su lugar devuelve una instancia wxPGVIterator, que puede ser útil para iterar hacia adelante a través de contenedores de propiedades arbitrarios.

Reimplementado desde wxPropertyGridInterface.

InsertPage()

virtual wxPropertyGridPage* wxPropertyGridManager::InsertPage( int index, const wxString & label, const wxBitmapBundle & bmp = wxBitmapBundle(), wxPropertyGridPage * pageObj = nullptr )

Crea una nueva página de propiedades.

Hay que tener en cuenta que la primera página no se crea automáticamente.

Parámetros
index
Añadir a esta posición. si es -1 añadirá como último elemento.
label
Una etiqueta para la página. Puede mostrarse como una información sobre herramientas de la barra de herramientas, etc.
bmp
Paquete de mapas de bits para la imagen de la barra de herramientas. Si el paquete está vacío, se utiliza un paquete de mapas de bits predeterminado integrado.
pageObj
Instancia de wxPropertyGridPage. El administrador se hará cargo de este objeto. Si es nullptr, se construirá el objeto de página predeterminado.
Valor de retorno

Devuelve el puntero a la página creada.

IsAnyModified()

bool wxPropertyGridManager::IsAnyModified() const

Devuelve verdadero si el usuario ha modificado alguna propiedad de alguna página.

IsPageModified()

bool wxPropertyGridManager::IsPageModified(size_t index) const

Devuelve verdadero si el usuario ha modificado alguna propiedad de la página dada.

IsPropertySelected()

virtual bool wxPropertyGridManager::IsPropertySelected(wxPGPropArg id) const

Devuelve verdadero si la propiedad está seleccionada.

Dado que la selección se basa en páginas, esta función comprueba todas las páginas del administrador.

RemovePage()

virtual bool wxPropertyGridManager::RemovePage(int page)

Elimina una página.

Valor de retorno

Devuelve false si no fue posible eliminar la página en cuestión.

SelectPage()

void wxPropertyGridManager::SelectPage(const wxString & label)

Selecciona y muestra una página determinada (por etiqueta).

SelectPage()

void wxPropertyGridManager::SelectPage(int index)

Selecciona y muestra una página determinada.

Parámetros
index
Índice de la página seleccionada. Puede ser -1 para no seleccionar nada.
SelectPage()

void wxPropertyGridManager::SelectPage(wxPropertyGridPage * page)

Selecciona y muestra una página determinada.

SelectProperty()

bool wxPropertyGridManager::SelectProperty( wxPGPropArg id, bool focus = false )

Selecciona una propiedad.

SetColumnCount()

void wxPropertyGridManager::SetColumnCount( int colCount, int page = -1 )

Establece el número de columnas en una página determinada (el valor predeterminado es la página actual).

Observaciones

Si se utiliza un encabezado, siempre se debe utilizar esta función miembro para establecer el número de columnas, en lugar de las presentes en wxPropertyGrid o wxPropertyGridPage.

SetColumnTitle()

void wxPropertyGridManager::SetColumnTitle( int idx, const wxString & title )

Establece un título de columna.

El título predeterminado para la columna 0 es "Propiedad" y para la columna 1 es "Valor".

Observaciones

Si el encabezado aún no se muestra, al llamar a esta función miembro se hará visible.

SetDescBoxHeight()

void wxPropertyGridManager::SetDescBoxHeight( int ht, bool refresh = true )

Establece la coordenada y del divisor del cuadro de descripción.

SetDescription()

void wxPropertyGridManager::SetDescription( const wxString & label, const wxString & content )

Establece la etiqueta y el texto en el cuadro de descripción.

SetPageSplitterLeft()

void wxPropertyGridManager::SetPageSplitterLeft( int page, bool subProps = false )

Mueve el divisor lo más a la izquierda posible en una página individual, sin impedir que se muestren todas las etiquetas por completo.

SetPageSplitterPosition()

void wxPropertyGridManager::SetPageSplitterPosition( int page, int pos, int column = 0 )

Establece la posición del divisor en una página individual.

Observaciones

Si se utiliza el encabezado, siempre se debe utilizar esta función miembro para establecer la posición del divisor, en lugar de las presentes en wxPropertyGrid o wxPropertyGridPage.

SetSplitterLeft()

void wxPropertyGridManager::SetSplitterLeft( bool subProps = false, bool allPages = true )

Mueve el divisor lo más a la izquierda posible, sin impedir que se muestren todas las etiquetas por completo.

Parámetros
subProps
Si es falso, permitirá que se recorten las subpropiedades (es decir, las propiedades cuyo padre no es raíz ni categoría).
allPages
Si es verdadero, tiene en cuenta las etiquetas de todas las páginas.
SetSplitterPosition()

oid wxPropertyGridManager::SetSplitterPosition( int pos, int column = 0 )

Establece la posición del divisor para todas las páginas.

Observaciones

La posición del divisor no puede exceder el tamaño de la cuadrícula, por lo que establecerla durante la creación del formulario puede fallar, ya que el tamaño inicial de la cuadrícula suele ser menor que la posición deseada del divisor, especialmente cuando se utilizan sizers.

Si se utiliza un encabezado, siempre se debe utilizar esta función miembro para establecer la posición del divisor, en lugar de las presentes en wxPropertyGrid o wxPropertyGridPage.

ShowHeader()

void wxPropertyGridManager::ShowHeader(bool show = true)

Mostrar u ocultar el control de encabezado de la cuadrícula de propiedades.

Está oculto por defecto.

Observaciones

La cuadrícula puede verse mejor si se utiliza el estilo de ventana wxPG_NO_INTERNAL_BORDER al mostrar un encabezado.

Métodos y datos heredados

Esta clase hereda los métodos y datos miembro públicos y protegidos de wxPanel, wxWindow, wxEvtHandler, wxObject, wxPropertyGridInterface.