Clase wxDataViewCtrl
wxDataViewCtrl es un control para mostrar datos, ya sea en forma de árbol, tabular o ambos.
Jerarquía:

Si sólo se necesita mostrar una estructura de árbol simple con una API más parecida a la antigua clase wxTreeCtrl, se puede utilizar la clase especializada wxDataViewTreeCtrl. Del mismo modo, si sólo se desea mostrar una estructura de tabla simple se puede utilizar la clase especializada wxDataViewListCtrl. Tanto wxDataViewTreeCtrl como wxDataViewListCtrl pueden utilizarse sin necesidad de definir un wxDataViewModel propio.
Un wxDataViewItem se utiliza para representar un elemento (visible) en el control.
A diferencia de wxListCtrl, wxDataViewCtrl no obtiene sus datos del usuario a través de funciones virtuales o estableciéndolos directamente. En su lugar, se necesita escribir wxDataViewModel propio y asociarlo con este control. A continuación, es necesario añadir un número de wxDataViewColumn a este control para definir lo que cada columna debe mostrar. Cada wxDataViewColumn posee a su vez 1 instancia de un wxDataViewRenderer para renderizar sus celdas.
Se proporcionan una serie de renderizadores estándar para la representación de texto, fechas, imágenes, alternar, una barra de progreso, etc. Además, el usuario puede escribir renderizadores personalizados derivados de wxDataViewCustomRenderer para mostrar cualquier cosa.
Toda la transferencia de datos desde el control al modelo y al código de usuario se realiza a través de wxVariant, que puede ampliarse para soportar más formatos de datos según sea necesario. En consecuencia, toda la información de tipo utiliza las cadenas devueltas por wxVariant::GetType.
Este control permite ordenar una sola columna. En las plataformas que utilizan la implementación genérica, también está disponible la ordenación de varias columnas a la vez. (Esto excluye actualmente wxGTK y wxOSX, que utilizan implementaciones nativas.) La ordenación multicolumna debe habilitarse explícitamente utilizando AllowMultiColumnSort(). Esta llamada también indicará si esta característica está soportada, ya que cambia el comportamiento por defecto de hacer clic con el botón derecho del ratón en la cabecera de la columna para añadirla o eliminarla del conjunto de columnas utilizadas para la ordenación. Si este comportamiento no es apropiado, se puede manejar el evento wxEVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK para evitar que ocurra. En este caso presumiblemente llamaría a ToggleSortByColumn() desde algún otro manejador de eventos para seguir permitiendo al usuario configurar el orden de ordenación de alguna manera.
Estilos
Esta clase soporta los siguientes estilos:
- wxDV_SINGLE
- Modo de selección simple. Este es el predeterminado.
- wxDV_MULTIPLE
- Modo de selección múltiple.
- wxDV_ROW_LINES
- Utiliza colores alternos para las filas pares e impares.
- wxDV_HORIZ_RULES
- Mostrar las líneas separadoras entre filas.
- wxDV_VERT_RULES
- Muestra las líneas de separación entre columnas.
- wxDV_VARIABLE_ALTURA_LINEA
- Permite alturas de línea variables. Esto puede ser ineficiente cuando se muestra un gran número de elementos.
- wxDV_NO_HEADER
- No mostrar las cabeceras de las columnas (que se muestran por defecto).
Eventos emitidos por esta clase
Las siguientes macros manejadoras de eventos redirigen los eventos a manejadores de funciones miembro 'func' con prototipos como:
void handlerFuncName(wxDataViewEvent& event)
Macros de eventos para eventos emitidos por esta clase:
- EVT_DATAVIEW_SELECTION_CHANGED(id, func)
- Procesa un evento wxEVT_DATAVIEW_SELECTION_CHANGED.
- EVT_DATAVIEW_ITEM_ACTIVATED(id, func)
- Procesa un evento wxEVT_DATAVIEW_ITEM_ACTIVATED. Este evento se activa haciendo doble clic sobre un elemento o pulsando alguna tecla especial (normalmente "Enter") cuando está enfocado.
- EVT_DATAVIEW_ITEM_START_EDITING(id, func)
- Procesa un evento wxEVT_DATAVIEW_ITEM_START_EDITING. Este evento se puede vetar para evitar la edición elemento por elemento.
- EVT_DATAVIEW_ITEM_EDITING_STARTED(id, func)
- Procesa un evento wxEVT_DATAVIEW_ITEM_EDITING_STARTED.
- EVT_DATAVIEW_ITEM_EDITING_DONE(id, func)
- Procesa un evento wxEVT_DATAVIEW_ITEM_EDITING_DONE.
- EVT_DATAVIEW_ITEM_COLLAPSING(id, func)
- Procesa un evento wxEVT_DATAVIEW_ITEM_COLLAPSING.
- EVT_DATAVIEW_ITEM_COLLAPSED(id, func)
- Procesa un evento wxEVT_DATAVIEW_ITEM_COLLAPSED.
- EVT_DATAVIEW_ITEM_EXPANDING(id, func)
- Procesa un evento wxEVT_DATAVIEW_ITEM_EXPANDING.
- EVT_DATAVIEW_ITEM_EXPANDED(id, func)
- Procesa un evento wxEVT_DATAVIEW_ITEM_EXPANDED.
- EVT_DATAVIEW_ITEM_VALUE_CHANGED(id, func)
- Procesa un evento wxEVT_DATAVIEW_ITEM_VALUE_CHANGED.
- EVT_DATAVIEW_ITEM_CONTEXT_MENU(id, func)
- Procesa un evento wxEVT_DATAVIEW_ITEM_CONTEXT_MENU generado cuando el usuario hace click derecho dentro del control. Nótese que este menú se genera incluso si el click no se produjo sobre ningún ítem válido, en este caso wxDataViewEvent::GetItem() simplemente devuelve un ítem inválido.
- EVT_DATAVIEW_COLUMN_HEADER_CLICK(id, func)
- Procesa un evento wxEVT_DATAVIEW_COLUMN_HEADER_CLICK.
- EVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK(id, func)
- Procesa un evento wxEVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK.
- EVT_DATAVIEW_COLUMN_SORTED(id, func)
- Procesa un evento wxEVT_DATAVIEW_COLUMN_SORTED.
- EVT_DATAVIEW_COLUMN_REORDERED(id, func)
- Procesa un evento wxEVT_DATAVIEW_COLUMN_REORDERED.
- EVT_DATAVIEW_ITEM_BEGIN_DRAG(id, func)
- Procesa un evento wxEVT_DATAVIEW_ITEM_BEGIN_DRAG que se genera cuando el usuario comienza a arrastrar un elemento válido. Este evento debe ser procesado y wxDataViewEvent::SetDataObject() debe ser llamado para comenzar a arrastrar el elemento.
- EVT_DATAVIEW_ITEM_DROP_POSSIBLE(id, func)
- Procesa un evento wxEVT_DATAVIEW_ITEM_DROP_POSSIBLE.
- EVT_DATAVIEW_ITEM_DROP(id, func)
- Procesa un evento wxEVT_DATAVIEW_ITEM_DROP.
Hay que tener en cuenta que este control no permite procesar eventos genéricos de ratón como wxEVT_LEFT_DOWN en todos los ports (notablemente no funciona en wxGTK). Si se necesita manejar algún evento de ratón no cubierto por los anteriores, considérese usar un renderizador personalizado para las celdas que deban manejarlos.
Nota: Bajo wxMSW este control utiliza wxSystemThemedControl para una apariencia de estilo explorador por defecto desde wxWidgets 3.1.0. Si no se desea esto, se puede llamar a wxSystemThemedControl::EnableSystemTheme con argumento false para desactivarlo.
Funciones miembro
wxDataViewCtrl()
wxDataViewCtrl::wxDataViewCtrl()
Constructor por defecto.
wxDataViewCtrl()
wxDataViewCtrl::wxDataViewCtrl( wxWindow * parent, wxWindowID id, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = 0, const wxValidator & validator = wxDefaultValidator, const wxString & name = wxDataViewCtrlNameStr )
Constructor. Llama a Create().
~wxDataViewCtrl()
virtual wxDataViewCtrl::~wxDataViewCtrl()
Destructor.
AllowMultiColumnSort()
bool wxDataViewCtrl::AllowMultiColumnSort(bool allow)
Llamada para permitir el uso de múltiples columnas para ordenar.
Cuando se utilizan múltiples columnas para ordenar, el método GetSortingColumns() debe ser utilizado para recuperar todas las columnas que deben ser utilizadas para ordenar efectivamente los datos al procesar el evento ordenado.
Actualmente, la ordenación de múltiples columnas sólo está implementada en la versión genérica; esta funcionalidad no está disponible cuando se utiliza la implementación nativa de wxDataViewCtrl en wxGTK ni en wxOSX.
Valor de retorno
true si se puede habilitar la ordenación por múltiples columnas, false en caso contrario, típicamente porque esta característica no está soportada.
AppendBitmapColumn()
wxDataViewColumn* wxDataViewCtrl::AppendBitmapColumn( const wxBitmap & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_CENTER, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para renderizar un mapa de bits.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
AppendBitmapColumn()
wxDataViewColumn* wxDataViewCtrl::AppendBitmapColumn( const wxString & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_CENTER, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para renderizar un mapa de bits.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
AppendColumn()
virtual bool wxDataViewCtrl::AppendColumn(wxDataViewColumn * col)
Añade una wxDataViewColumn al control.
Devuelve true en caso de éxito.
Hay que tener en cuenta que hay una serie de métodos abreviados que crean implícitamente una wxDataViewColumn y un wxDataViewRenderer para ella (ver más abajo).
Reimplementado en wxDataViewListCtrl.
AppendDateColumn()
wxDataViewColumn* wxDataViewCtrl::AppendDateColumn( const wxBitmap & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_ACTIVATABLE, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_NOT, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para representar una fecha.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera de la columna como al renderizador de la columna.
AppendDateColumn()
wxDataViewColumn* wxDataViewCtrl::AppendDateColumn( const wxString & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_ACTIVATABLE, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_NOT, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para representar una fecha.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera de la columna como al renderizador de la columna.
AppendIconTextColumn()
wxDataViewColumn* wxDataViewCtrl::AppendIconTextColumn( const wxBitmap & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_NOT, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para representar texto con un icono.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo. Este método utiliza la clase wxDataViewIconTextRenderer.
Nota: El parámetro align se aplica tanto a la cabecera de la columna como al renderizador de la columna.
AppendIconTextColumn ()
wxDataViewColumn* wxDataViewCtrl::AppendIconTextColumn ( const wxString & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_NOT, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para representar texto con un icono.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo. Este método utiliza la clase wxDataViewIconTextRenderer.
Nota: El parámetro align se aplica tanto a la cabecera de la columna como al renderizador de la columna.
AppendProgressColumn()
wxDataViewColumn* wxDataViewCtrl::AppendProgressColumn( const wxBitmap & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = 80, wxAlignment align = wxALIGN_CENTER, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para mostrar un indicador de progreso.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera de la columna como al renderizador de la columna.
AppendProgressColumn()
wxDataViewColumn* wxDataViewCtrl::AppendProgressColumn( const wxString & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = 80, wxAlignment align = wxALIGN_CENTER, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para mostrar un indicador de progreso.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera de la columna como al renderizador de la columna.
AppendTextColumn()
wxDataViewColumn* wxDataViewCtrl::AppendTextColumn( const wxBitmap & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_NOT, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para mostrar texto.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera de la columna como al renderizador de la columna.
AppendTextColumn()
wxDataViewColumn* wxDataViewCtrl::AppendTextColumn( const wxString & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_NOT, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para mostrar texto.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera de la columna como al renderizador de la columna.
AppendToggleColumn()
wxDataViewColumn* wxDataViewCtrl::AppendToggleColumn( const wxBitmap & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = 30, wxAlignment align = wxALIGN_CENTER, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para mostrar un conmutador.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera de la columna como al renderizador de la columna.
AppendToggleColumn()
wxDataViewColumn* wxDataViewCtrl::AppendToggleColumn( const wxString & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = 30, wxAlignment align = wxALIGN_CENTER, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para mostrar un conmutador.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera de la columna como al renderizador de la columna.
AssociateModel()
virtual bool wxDataViewCtrl::AssociateModel(wxDataViewModel * model)
Asocia un wxDataViewModel con el control.
Esto aumenta el recuento de referencias del modelo en 1.
ClearColumns()
virtual bool wxDataViewCtrl::ClearColumns()
Elimina todas las columnas.
Collapse()
virtual void wxDataViewCtrl::Collapse(const wxDataViewItem & item)
Colapsa el elemento.
Create()
bool wxDataViewCtrl::Create( wxWindow * parent, wxWindowID id, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = 0, const wxValidator & validator = wxDefaultValidator, const wxString & name = wxDataViewCtrlNameStr )
Crea el control.
Útil para la creación en dos pasos.
DeleteColumn()
virtual bool wxDataViewCtrl::DeleteColumn(wxDataViewColumn * column)
Borra la columna dada.
EditItem()
virtual void wxDataViewCtrl::EditItem( const wxDataViewItem & item, const wxDataViewColumn * column )
Inicia la edición de una celda dada del elemento.
No hace nada si el elemento o esta columna no son editables.
EnableDragSource()
virtual bool wxDataViewCtrl::EnableDragSource(const wxDataFormat & format)
Habilita las operaciones de arrastre utilizando el formato dado.
EnableDropTarget()
bool wxDataViewCtrl::EnableDropTarget(const wxDataFormat & format)
Habilita las operaciones de drop utilizando el formato dado.
Ver EnableDropTargets() para proporcionar más de un formato admitido.
Nota: Desde la versión 3.1.6 se puede pasar wxDF_INVALID para deshabilitar el soporte de arrastrar y soltar.
EnableDropTargets()
bool wxDataViewCtrl::EnableDropTargets(const wxVector < wxDataFormat > & formats)
Habilita las operaciones de drop utilizando cualquiera de los formatos especificados.
Actualmente esto está completamente implementado en las versiones genérica y nativa de macOS. En wxGTK sólo se utiliza el primer elemento del array.
Nota: Pasar un array vacío deshabilita completamente las operaciones de arrastrar y soltar.
EnsureVisible()
virtual void wxDataViewCtrl::EnsureVisible( const wxDataViewItem & item, const wxDataViewColumn * column = nullptr )
Llamar a esto para asegurarse de que el elemento dado es visible.
Expand()
virtual void wxDataViewCtrl::Expand(const wxDataViewItem & item)
Expande el elemento.
ExpandAncestors()
void wxDataViewCtrl::ExpandAncestors(const wxDataViewItem & item)
Expande todos los ancestros del elemento.
Este método también garantiza que el propio elemento, así como todos los elementos ancestros, han sido leídos del modelo por el control.
ExpandChildren()
void wxDataViewCtrl::ExpandChildren(const wxDataViewItem & item)
Expande todos los hijos del elemento dado recursivamente.
Esto es lo mismo que llamar a Expand() en el propio elemento y luego llamarlo para todos sus hijos, nietos, etc. recursivamente.
GetColumn()
virtual wxDataViewColumn* wxDataViewCtrl::GetColumn(unsigned int pos) const
Devuelve el puntero a la columna.
pos se refiere a la posición en el control, que puede cambiar después de que el usuario reordene las columnas.
GetColumnCount()
virtual unsigned int wxDataViewCtrl::GetColumnCount() const
Devuelve el número de columnas.
GetColumnPosition()
virtual int wxDataViewCtrl::GetColumnPosition(const wxDataViewColumn * column) const
Devuelve la posición de la columna o -1 si no se encuentra en el control.
GetCountPerPage()
int wxDataViewCtrl::GetCountPerPage() const
Devuelve el número de elementos que pueden caber verticalmente en el área visible del control.
Devuelve -1 si no se ha podido determinar el número de elementos por página. En wxGTK este método sólo puede determinar el número de elementos por página si hay al menos un elemento en el control.
GetCurrentColumn()
wxDataViewColumn* wxDataViewCtrl::GetCurrentColumn() const
Devuelve la columna que actualmente tiene el foco.
Si el foco se establece en una celda individual dentro del elemento actualmente enfocado (en lugar de estar en el elemento como un todo), entonces esta es la columna en la que está el foco.
Devuelve nullptr si no hay ninguna columna enfocada.
GetCurrentItem()
wxDataViewItem wxDataViewCtrl::GetCurrentItem() const
Devuelve el elemento actualmente enfocado.
Este es el elemento al que se aplican los comandos de teclado. Puede ser inválido si no hay foco actualmente.
Este método es útil sobre todo para los controles con estilo wxDV_MULTIPLE ya que en el caso de selección simple devuelve lo mismo que GetSelection().
Hay que tener en cuenta que en todas las plataformas excepto macOS el elemento actualmente enfocado puede estar seleccionado o no, pero en macOS el elemento actual siempre está seleccionado.
GetExpanderColumn()
wxDataViewColumn* wxDataViewCtrl::GetExpanderColumn() const
Devuelve la columna que contiene los expansores.
GetIndent()
int wxDataViewCtrl::GetIndent() const
Devuelve la sangría.
GetItemRect()
virtual wxRect wxDataViewCtrl::GetItemRect( const wxDataViewItem & item, const wxDataViewColumn * col = nullptr ) const
Devuelve el rectángulo del elemento.
Si el ítem no es visible actualmente, ya sea porque su padre está colapsado o porque está fuera de la parte visible del control debido a la posición actual de la barra de desplazamiento vertical, devuelve un rectángulo vacío.
Las coordenadas del rectángulo se especifican en coordenadas del área cliente de wxDataViewCtrl.
Parámetros
- item
- Un item válido.
- col
- Si no es nulo, el rectángulo devuelto corresponde a la intersección del ítem con la columna especificada. Si es nullptr, el rectángulo abarca todas las columnas.
GetMainWindow()
wxWindow* wxDataViewCtrl::GetMainWindow()
Devuelve la ventana correspondiente al área principal del control.
Esta es la ventana que realmente muestra los elementos del control y puede ser diferente de la propia ventana wxDataViewCtrl en algunos ports (actualmente este es sólo el caso de la implementación genérica utilizada por defecto bajo MSW).
GetModel()
wxDataViewModel* wxDataViewCtrl::GetModel()
Devuelve el puntero al modelo de datos asociado al control (si existe).
GetSelectedItemsCount()
virtual int wxDataViewCtrl::GetSelectedItemsCount() const
Devuelve el número de elementos seleccionados actualmente.
Este método puede invocarse tanto para los controles con selecciones simples como múltiples y devuelve el número de elementos seleccionados, posiblemente 0, en cualquier caso.
GetSelection()
virtual wxDataViewItem wxDataViewCtrl::GetSelection() const
Devuelve el primer elemento seleccionado o un elemento inválido si no hay ninguno seleccionado.
Este método puede invocarse tanto para los controles con selecciones simples como múltiples, pero devuelve un elemento no válido si se selecciona más de un elemento en este último caso, utilizar HasSelection() para determinar si hay algún elemento seleccionado cuando se utiliza la selección múltiple.
GetSelections()
virtual int wxDataViewCtrl::GetSelections(wxDataViewItemArray & sel) const
Rellena el sel con los elementos actualmente seleccionados y devuelve su número.
Este método puede invocarse tanto para los controles con selección única como para los controles con selección múltiple. En el caso de una sola selección, devuelve el array con un elemento como máximo.
GetSortingColumn()
virtual wxDataViewColumn* wxDataViewCtrl::GetSortingColumn() const
Devuelve la wxDataViewColumn actualmente responsable de la ordenación o nullptr si no se ha seleccionado ninguna.
GetSortingColumns()
virtual wxVector<wxDataViewColumn *> wxDataViewCtrl::GetSortingColumns() const
Devuelve las columnas que deben utilizarse para ordenar los datos en este control.
Este método sólo es útil cuando la ordenación por múltiples columnas ha sido habilitada previamente usando AllowMultiColumnSort(), de lo contrario GetSortingColumn() es más conveniente.
Valor de retorno
Un vector posiblemente vacío que contiene todas las columnas utilizadas seleccionadas por el usuario para la ordenación. El orden de ordenación puede recuperarse de cada objeto columna por separado.
GetTopItem()
wxDataViewItem wxDataViewCtrl::GetTopItem() const
Devuelve el elemento visible situado más arriba.
Devuelve un elemento no válido si no hay un elemento visible superior o si el método no está implementado para la plataforma actual.
HasSelection()
bool wxDataViewCtrl::HasSelection() const
Devuelve true si hay algún elemento seleccionado.
Este método puede invocarse tanto para los controles con selecciones únicas como para los controles con selecciones múltiples.
Llamar a este método es equivalente a llamar a GetSelectedItemsCount() y comparar su resultado con 0, pero es más claro y también podría implementarse de forma más eficiente en el futuro.
HitTest()
virtual void wxDataViewCtrl::HitTest( const wxPoint & point, wxDataViewItem & item, wxDataViewColumn *& col ) const
Recupera el elemento y la columna en el punto dado.
Las coordenadas del punto se especifican en coordenadas de área de cliente wxDataViewCtrl.
InsertColumn()
virtual bool wxDataViewCtrl::InsertColumn( unsigned int pos, wxDataViewColumn * col )
Inserta una wxDataViewColumn en el control.
Devuelve true en caso de éxito.
Reimplementado en wxDataViewListCtrl.
IsExpanded()
virtual bool wxDataViewCtrl::IsExpanded(const wxDataViewItem & item) const
Devuelve true si el elemento está expandido.
Nota: Cuando se utiliza la versión nativa de macOS este método tiene un error que puede hacer que devuelva true incluso para elementos sin hijos.
IsMultiColumnSortAllowed()
bool wxDataViewCtrl::IsMultiColumnSortAllowed() const
Devuelve true si se permite utilizar más de una columna para ordenar.
IsSelected()
virtual bool wxDataViewCtrl::IsSelected(const wxDataViewItem & item) const
Devuelve true si el elemento está seleccionado.
PrependBitmapColumn()
wxDataViewColumn* wxDataViewCtrl::PrependBitmapColumn( const wxBitmap & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_CENTER, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para renderizar un mapa de bits.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
PrependBitmapColumn()
wxDataViewColumn* wxDataViewCtrl::PrependBitmapColumn( const wxString & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_CENTER, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para renderizar un mapa de bits.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
PrependColumn()
virtual bool wxDataViewCtrl::PrependColumn(wxDataViewColumn * col)
Añade una wxDataViewColumn al control.
Devuelve true en caso de éxito.
Hay que tener en cuenta que hay una serie de métodos abreviados que crean implícitamente una wxDataViewColumn y un wxDataViewRenderer para ella.
Reimplementado en wxDataViewListCtrl.
PrependDateColumn()
wxDataViewColumn* wxDataViewCtrl::PrependDateColumn( const wxBitmap & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_ACTIVATABLE, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_NOT, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para representar una fecha.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera como al renderizador de la columna.
PrependDateColumn()
wxDataViewColumn* wxDataViewCtrl::PrependDateColumn( const wxString & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_ACTIVATABLE, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_NOT, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para representar una fecha.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera como al renderizador de la columna.
PrependIconTextColumn()
wxDataViewColumn* wxDataViewCtrl::PrependIconTextColumn( const wxBitmap & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_NOT, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade un icono a una columna para representar texto.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo. Este método utiliza la clase wxDataViewIconTextRenderer.
Nota: El parámetro align se aplica tanto a la cabecera como al renderizador de la columna.
PrependIconTextColumn()
wxDataViewColumn* wxDataViewCtrl::PrependIconTextColumn( const wxString & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_NOT, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade un icono a una columna para representar texto.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo. Este método utiliza la clase wxDataViewIconTextRenderer.
Nota: El parámetro align se aplica tanto a la cabecera como al renderizador de la columna.
PrependProgressColumn()
wxDataViewColumn* wxDataViewCtrl::PrependProgressColumn( const wxBitmap & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = 80, wxAlignment align = wxALIGN_CENTER, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para mostrar un indicador de progreso.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera como al renderizador de la columna.
PrependProgressColumn()
wxDataViewColumn* wxDataViewCtrl::PrependProgressColumn( const wxString & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = 80, wxAlignment align = wxALIGN_CENTER, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para mostrar un indicador de progreso.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera como al renderizador de la columna.
PrependTextColumn()
wxDataViewColumn* wxDataViewCtrl::PrependTextColumn( const wxBitmap & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_NOT, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para mostrar el texto.
Añade una columna para mostrar un indicador de progreso.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera como al renderizador de la columna.
PrependTextColumn()
wxDataViewColumn* wxDataViewCtrl::PrependTextColumn( const wxString & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = wxCOL_WIDTH_DEFAULT, wxAlignment align = wxALIGN_NOT, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para mostrar el texto.
Añade una columna para mostrar un indicador de progreso.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera como al renderizador de la columna.
PrependToggleColumn()
wxDataViewColumn* wxDataViewCtrl::PrependToggleColumn( const wxBitmap & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = 30, wxAlignment align = wxALIGN_CENTER, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para mostrar un conmutador.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera como al renderizador de la columna.
PrependToggleColumn()
wxDataViewColumn* wxDataViewCtrl::PrependToggleColumn( const wxString & label, unsigned int model_column, wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT, int width = 30, wxAlignment align = wxALIGN_CENTER, int flags = wxDATAVIEW_COL_RESIZABLE )
Añade una columna para mostrar un conmutador.
Devuelve la wxDataViewColumn creada en la función o nullptr en caso de fallo.
Nota: El parámetro align se aplica tanto a la cabecera como al renderizador de la columna.
Select()
virtual void wxDataViewCtrl::Select(const wxDataViewItem & item)
Selecciona el elemento dado.
En el modo de selección única, cambia el elemento (único) seleccionado actualmente. En el modo de selección múltiple, el elemento se selecciona y los elementos seleccionados anteriormente permanecen seleccionados.
SelectAll()
virtual void wxDataViewCtrl::SelectAll()
Seleccione todos los elementos.
SetAlternateRowColour()
bool wxDataViewCtrl::SetAlternateRowColour(const wxColour & colour)
Establece el color personalizado para las filas alternativas utilizadas con el estilo wxDV_ROW_LINES.
Hay que tener en cuenta que llamar a este método no tiene ningún efecto si wxDV_ROW_LINES está desactivado.
Parámetros
- color
- El color a utilizar para las filas alternativas.
Valor de retorno
true si la personalización de este color está soportada (actualmente sólo en la versión genérica), false si este método no está implementado en esta plataforma.
SetCurrentItem()
void wxDataViewCtrl::SetCurrentItem(const wxDataViewItem & item)
Cambia el elemento actualmente enfocado.
El parámetro item debe ser válido, no hay forma de eliminar el item actual del control.
En modo de selección simple, llamar a este método es lo mismo que llamar a Select() y por lo tanto no es muy útil. En modo de selección múltiple, este método sólo mueve el ítem actual sin cambiar la selección, excepto en macOS donde el ítem actual siempre está seleccionado, por lo que llamar a SetCurrentItem() selecciona el ítem si no había sido seleccionado antes.
SetExpanderColumn()
void wxDataViewCtrl::SetExpanderColumn(wxDataViewColumn * col)
Establece qué columna contendrá los expansores en forma de árbol.
SetHeaderAttr()
bool wxDataViewCtrl::SetHeaderAttr(const wxItemAttr & attr)
Establece los colores personalizados y/o la fuente a utilizar para la cabecera.
Este método permite personalizar la visualización de la cabecera del control (no hace nada si se utiliza el estilo wxDV_NO_HEADER).
Actualmente sólo está implementado en la versión genérica y devuelve false sin hacer nada más.
Parámetros
- attr
- El atributo que define el color(es) y la fuente a utilizar. Puede ser default, en cuyo caso los atributos se restablecen a sus valores por defecto.
Valor de retorno
true si los atributos fueron actualizados, false si el método no está implementado o falló.
SetIndent()
void wxDataViewCtrl::SetIndent(int indent)
Establece la sangría.
SetRowHeight()
virtual bool wxDataViewCtrl::SetRowHeight(int rowHeight)
Establece la altura de la fila.
Esta función sólo se puede utilizar cuando todas las filas tienen la misma altura, es decir, cuando no se utiliza la bandera wxDV_VARIABLE_LINE_HEIGHT.
Actualmente está implementado en las versiones genérica y nativa de GTK y macOS (desde 3.1.1).
También hay que tener en cuenta que este método sólo se puede utilizar para aumentar la altura de la fila en comparación con la predeterminada (determinada por el valor de retorno de wxDataViewRenderer::GetSize()), si se establece en un valor demasiado pequeño entonces se utilizará el mínimo requerido por los renderizadores.
Valor de retorno
true si se ha cambiado la altura de la línea o false en caso contrario.
SetSelections()
virtual void wxDataViewCtrl::SetSelections(const wxDataViewItemArray & sel)
Establece la selección en el array de wxDataViewItems.
Hay que tener en cuenta que si sel contiene elementos no válidos, simplemente se ignoran.
ToggleSortByColumn()
virtual void wxDataViewCtrl::ToggleSortByColumn(int column)
Alterna la ordenación por la columna dada.
Este método sólo debe utilizarse cuando se permite la ordenación por varias columnas, véase AllowMultiColumnSort(), y no hace nada en caso contrario.
Unselect()
virtual void wxDataViewCtrl::Unselect(const wxDataViewItem & item)
Deselecciona el elemento dado.
UnselectAll()
virtual void wxDataViewCtrl::UnselectAll()
Deselecciona todos los elementos.
Este método sólo tiene efecto si se permiten selecciones múltiples.
Métodos y datos heredados
Esta clase hereda los métodos y datos miembro públicos y protegidos de wxObject, wxEvtHandler, wxWIndow y wxControl.