to the data in the list model.
Currently wxWidgets provides the following models apart from the base model:
- wxDataViewIndexListModel, wxDataViewVirtualListModel, wxDataViewTreeStore.
+ wxDataViewIndexListModel, wxDataViewVirtualListModel, wxDataViewTreeStore,
+ wxDataViewListStore.
Note that wxDataViewModel is reference counted, derives from wxObjectRefData
and cannot be deleted directly as it can be shared by several wxDataViewCtrls.
associating the model with a control like this:
@code
- wxDataViewCtrl *musicCtrl = new wxDataViewCtrl( this, ID_MUSIC_CTRL );
+ wxDataViewCtrl *musicCtrl = new wxDataViewCtrl( this, wxID_ANY );
wxDataViewModel *musicModel = new MyMusicModel;
- m_musicCtrl-AssociateModel( musicModel );
- musicModel-DecRef(); // avoid memory leak !!
+ m_musicCtrl->AssociateModel( musicModel );
+ musicModel->DecRef(); // avoid memory leak !!
+
// add columns now
@endcode
-
@library{wxadv}
@category{dvc}
*/
virtual int Compare(const wxDataViewItem& item1,
const wxDataViewItem& item2,
unsigned int column,
- bool ascending);
+ bool ascending) const;
/**
Override this to indicate that the item has special font attributes.
@see wxDataViewItemAttr.
*/
- virtual bool GetAttr(unsigned int row, unsigned int col,
+ virtual bool GetAttrByRow(unsigned int row, unsigned int col,
wxDataViewItemAttr& attr);
/**
/**
Override this to allow getting values from the model.
*/
- virtual void GetValue(wxVariant& variant, unsigned int row,
+ virtual void GetValueByRow(wxVariant& variant, unsigned int row,
unsigned int col) const = 0;
/**
/**
Called in order to set a value in the model.
*/
- virtual bool SetValue(const wxVariant& variant, unsigned int row,
+ virtual bool SetValueByRow(const wxVariant& variant, unsigned int row,
unsigned int col) = 0;
};
wxDataViewCtrl is a control to display data either in a tree like fashion or
in a tabular form or both.
+
If you only need to display a simple tree structure with an API more like the
older wxTreeCtrl class, then the specialized wxDataViewTreeCtrl can be used.
+ Likewise, if you only want to display simple table structure you can use
+ the specialized wxDataViewListCtrl class. Both wxDataViewTreeCtrl and
+ wxDataViewListCtrl can be used without defining your own wxDataViewModel.
A wxDataViewItem is used to represent a (visible) item in the control.
Display fine rules between columns is supported.
@style{wxDV_VARIABLE_LINE_HEIGHT}
Allow variable line heights.
- This can be inefficient when displaying large number of items.
+ This can be inefficient when displaying large number of items.
@endStyleTable
- @beginEventTable{wxDataViewEvent}
+ @beginEventEmissionTable{wxDataViewEvent}
@event{EVT_DATAVIEW_SELECTION_CHANGED(id, func)}
- Process a wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED event.
+ Process a @c wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED event.
@event{EVT_DATAVIEW_ITEM_ACTIVATED(id, func)}
- Process a wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED event.
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED event.
+ @event{EVT_DATAVIEW_ITEM_START_EDITING(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_STARTED event. This
+ event can be vetoed in order to prevent editing on an item by item
+ basis. Still experimental.
@event{EVT_DATAVIEW_ITEM_EDITING_STARTED(id, func)}
- Process a wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_STARTED event.
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_STARTED event.
@event{EVT_DATAVIEW_ITEM_EDITING_DONE(id, func)}
- Process a wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE event.
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE event.
@event{EVT_DATAVIEW_ITEM_COLLAPSING(id, func)}
- Process a wxEVT_COMMAND_DATAVIEW_ITEM_COLLAPSING event.
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_COLLAPSING event.
@event{EVT_DATAVIEW_ITEM_COLLAPSED(id, func)}
- Process a wxEVT_COMMAND_DATAVIEW_ITEM_COLLAPSED event.
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_COLLAPSED event.
@event{EVT_DATAVIEW_ITEM_EXPANDING(id, func)}
- Process a wxEVT_COMMAND_DATAVIEW_ITEM_EXPANDING event.
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_EXPANDING event.
@event{EVT_DATAVIEW_ITEM_EXPANDED(id, func)}
- Process a wxEVT_COMMAND_DATAVIEW_ITEM_EXPANDED event.
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_EXPANDED event.
@event{EVT_DATAVIEW_ITEM_VALUE_CHANGED(id, func)}
- Process a wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED event.
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED event.
@event{EVT_DATAVIEW_ITEM_CONTEXT_MENU(id, func)}
- Process a wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU event.
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU event.
@event{EVT_DATAVIEW_COLUMN_HEADER_CLICK(id, func)}
- Process a wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_CLICKED event.
+ Process a @c wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_CLICKED event.
@event{EVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK(id, func)}
- Process a wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICKED event.
+ Process a @c wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICKED event.
@event{EVT_DATAVIEW_COLUMN_SORTED(id, func)}
- Process a wxEVT_COMMAND_DATAVIEW_COLUMN_SORTED event.
+ Process a @c wxEVT_COMMAND_DATAVIEW_COLUMN_SORTED event.
@event{EVT_DATAVIEW_COLUMN_REORDERED(id, func)}
- Process a wxEVT_COMMAND_DATAVIEW_COLUMN_REORDERED event.
+ Process a @c wxEVT_COMMAND_DATAVIEW_COLUMN_REORDERED event.
+ @event{EVT_DATAVIEW_ITEM_BEGIN_DRAG(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_BEGIN_DRAG event.
+ @event{EVT_DATAVIEW_ITEM_DROP_POSSIBLE(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_DROP_POSSIBLE event.
+ @event{EVT_DATAVIEW_ITEM_DROP(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_DROP event.
@endEventTable
@library{wxadv}
*/
virtual bool DeleteColumn(wxDataViewColumn* column);
+ /**
+ Enable drag operations using the given @a format.
+ */
+ virtual bool EnableDragSource( const wxDataFormat &format );
+
+ /**
+ Enable drop operations using the given @a format.
+ */
+ virtual bool EnableDropTarget( const wxDataFormat &format );
+
/**
Call this to ensure that the given item is visible.
*/
Override this and make it return @true in order to
indicate that this renderer supports in-place editing.
*/
- virtual bool HasEditorCtrl();
+ virtual bool HasEditorCtrl() const;
/**
Overrride this to react to a left click.
/**
The flags used by wxDataViewColumn.
+ Can be combined together.
*/
enum wxDataViewColumnFlags
{
@library{wxadv}
@category{dvc}
*/
-class wxDataViewColumn : public wxHeaderColumn
+class wxDataViewColumn : public wxSettableHeaderColumn
{
public:
- //@{
/**
- Constructors.
+ Constructs a text column.
+
+ @param title
+ The title of the column.
+ @param renderer
+ The class which will render the contents of this column.
+ @param model_column
+ The index of the model's column which is associated with this object.
+ @param width
+ The width of the column.
+ The @c wxDVC_DEFAULT_WIDTH value is the fixed default value.
+ @param align
+ The alignment of the column title.
+ @param flags
+ One or more flags of the ::wxDataViewColumnFlags enumeration.
*/
wxDataViewColumn(const wxString& title,
wxDataViewRenderer* renderer,
int width = wxDVC_DEFAULT_WIDTH,
wxAlignment align = wxALIGN_CENTER,
int flags = wxDATAVIEW_COL_RESIZABLE);
+
+ /**
+ Constructs a bitmap column.
+
+ @param bitmap
+ The bitmap of the column.
+ @param renderer
+ The class which will render the contents of this column.
+ @param model_column
+ The index of the model's column which is associated with this object.
+ @param width
+ The width of the column.
+ The @c wxDVC_DEFAULT_WIDTH value is the fixed default value.
+ @param align
+ The alignment of the column title.
+ @param flags
+ One or more flags of the ::wxDataViewColumnFlags enumeration.
+ */
wxDataViewColumn(const wxBitmap& bitmap,
wxDataViewRenderer* renderer,
unsigned int model_column,
int width = wxDVC_DEFAULT_WIDTH,
wxAlignment align = wxALIGN_CENTER,
int flags = wxDATAVIEW_COL_RESIZABLE);
- //@}
/**
Returns the index of the column of the model, which this
+/**
+ @class wxDataViewListCtrl
+
+ This class is a wxDataViewCtrl which internally uses a wxDataViewListStore
+ and forwards most of its API to that class.
+
+ The purpose of this class is to offer a simple way to display and
+ edit a small table of data without having to write your own wxDataViewModel.
+
+ @code
+ wxDataViewListCtrl *listctrl = new wxDataViewListCtrl( parent, wxID_ANY );
+
+ listctrl->AppendToggleColumn( "Toggle" );
+ listctrl->AppendTextColumn( "Text" );
+
+ wxVector<wxVariant> data;
+ data.push_back( wxVariant(true) );
+ data.push_back( wxVariant("row 1") );
+ listctrl->AppendItem( data );
+
+ data.clear();
+ data.push_back( wxVariant(false) );
+ data.push_back( wxVariant("row 3") );
+ listctrl->AppendItem( data );
+ @endcode
+
+ @beginStyleTable
+ See wxDataViewCtrl for the list of supported styles.
+ @endStyleTable
+
+ @beginEventEmissionTable
+ See wxDataViewCtrl for the list of events emitted by this class.
+ @endEventTable
+
+ @library{wxadv}
+ @category{ctrl,dvc}
+*/
+class wxDataViewListCtrl: public wxDataViewCtrl
+{
+public:
+ /**
+ Default ctor.
+ */
+ wxDataViewListCtrl();
+
+ /**
+ Constructor. Calls Create().
+ */
+ wxDataViewListCtrl( wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = wxDV_ROW_LINES,
+ const wxValidator& validator = wxDefaultValidator );
+
+ /**
+ Destructor. Deletes the image list if any.
+ */
+ ~wxDataViewListCtrl();
+
+ /**
+ Creates the control and a wxDataViewListStore as its internal model.
+ */
+ bool Create( wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = wxDV_ROW_LINES,
+ const wxValidator& validator = wxDefaultValidator );
+
+ //@{
+ /**
+ Returns the store.
+ */
+ wxDataViewListStore *GetStore();
+ const wxDataViewListStore *GetStore() const;
+ //@}
+
+ /**
+ @name Column management functions
+ */
+ //@{
+
+ /**
+ Appends a column to the control and additionally appends a
+ column to the store with the type string.
+ */
+ virtual void AppendColumn( wxDataViewColumn *column );
+
+ /**
+ Appends a column to the control and additionally appends a
+ column to the list store with the type @a varianttype.
+ */
+ void AppendColumn( wxDataViewColumn *column, const wxString &varianttype );
+
+ /**
+ Appends a text column to the control and the store.
+
+ See wxDataViewColumn::wxDataViewColumn for more info about
+ the parameters.
+ */
+ wxDataViewColumn *AppendTextColumn( const wxString &label,
+ wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
+ int width = -1, wxAlignment align = wxALIGN_LEFT,
+ int flags = wxDATAVIEW_COL_RESIZABLE );
+
+ /**
+ Appends a toggle column to the control and the store.
+
+ See wxDataViewColumn::wxDataViewColumn for more info about
+ the parameters.
+ */
+ wxDataViewColumn *AppendToggleColumn( const wxString &label,
+ wxDataViewCellMode mode = wxDATAVIEW_CELL_ACTIVATABLE,
+ int width = -1, wxAlignment align = wxALIGN_LEFT,
+ int flags = wxDATAVIEW_COL_RESIZABLE );
+
+ /**
+ Appends a progress column to the control and the store.
+
+ See wxDataViewColumn::wxDataViewColumn for more info about
+ the parameters.
+ */
+ wxDataViewColumn *AppendProgressColumn( const wxString &label,
+ wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
+ int width = -1, wxAlignment align = wxALIGN_LEFT,
+ int flags = wxDATAVIEW_COL_RESIZABLE );
+
+ /**
+ Appends an icon-and-text column to the control and the store.
+
+ See wxDataViewColumn::wxDataViewColumn for more info about
+ the parameters.
+ */
+ wxDataViewColumn *AppendIconTextColumn( const wxString &label,
+ wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
+ int width = -1, wxAlignment align = wxALIGN_LEFT,
+ int flags = wxDATAVIEW_COL_RESIZABLE );
+
+ /**
+ Inserts a column to the control and additionally inserts a
+ column to the store with the type string.
+ */
+ virtual void InsertColumn( unsigned int pos, wxDataViewColumn *column );
+
+ /**
+ Inserts a column to the control and additionally inserts a
+ column to the list store with the type @a varianttype.
+ */
+ void InsertColumn( unsigned int pos, wxDataViewColumn *column,
+ const wxString &varianttype );
+
+ /**
+ Prepends a column to the control and additionally prepends a
+ column to the store with the type string.
+ */
+ virtual void PrependColumn( wxDataViewColumn *column );
+
+ /**
+ Prepends a column to the control and additionally prepends a
+ column to the list store with the type @a varianttype.
+ */
+ void PrependColumn( wxDataViewColumn *column, const wxString &varianttype );
+
+ //@}
+
+
+ /**
+ @name Item management functions
+ */
+ //@{
+
+ /**
+ Appends an item (=row) to the control and store.
+ */
+ void AppendItem( const wxVector<wxVariant> &values, wxClientData *data = NULL );
+
+ /**
+ Prepends an item (=row) to the control and store.
+ */
+ void PrependItem( const wxVector<wxVariant> &values, wxClientData *data = NULL );
+
+ /**
+ Inserts an item (=row) to the control and store.
+ */
+ void InsertItem( unsigned int row, const wxVector<wxVariant> &values, wxClientData *data = NULL );
+
+ /**
+ Delete the row at position @a row.
+ */
+ void DeleteItem( unsigned row );
+
+ /**
+ Delete all items (= all rows).
+ */
+ void DeleteAllItems();
+
+ /**
+ Sets the value in the store and update the control.
+ */
+ void SetValue( const wxVariant &value, unsigned int row, unsigned int col );
+
+ /**
+ Returns the value from the store.
+ */
+ void GetValue( wxVariant &value, unsigned int row, unsigned int col );
+
+ /**
+ Sets the value in the store and update the control.
+
+ This method assumes that the a string is stored in respective
+ column.
+ */
+ void SetTextValue( const wxString &value, unsigned int row, unsigned int col );
+
+ /**
+ Returns the value from the store.
+
+ This method assumes that the a string is stored in respective
+ column.
+ */
+ wxString GetTextValue( unsigned int row, unsigned int col ) const;
+
+ /**
+ Sets the value in the store and update the control.
+
+ This method assumes that the a boolean value is stored in
+ respective column.
+ */
+ void SetToggleValue( bool value, unsigned int row, unsigned int col );
+
+ /**
+ Returns the value from the store.
+
+ This method assumes that the a boolean value is stored in
+ respective column.
+ */
+ bool GetToggleValue( unsigned int row, unsigned int col ) const;
+
+ //@}
+};
+
+
/**
@class wxDataViewTreeCtrl
and forwards most of its API to that class.
Additionally, it uses a wxImageList to store a list of icons.
- The main purpose of this class is to look like a wxTreeCtrl to make a transition
- from it to the wxDataViewCtrl class simpler.
+ The main purpose of this class is to represent a possible replacement for
+ wxTreeCtrl.
+
+ @beginStyleTable
+ See wxDataViewCtrl for the list of supported styles.
+ @endStyleTable
+
+ @beginEventEmissionTable
+ See wxDataViewCtrl for the list of events emitted by this class.
+ @endEventTable
@library{wxadv}
@category{ctrl,dvc}
virtual ~wxDataViewTreeCtrl();
/**
- @todo docme
+ Appends a container to the given @a parent.
*/
wxDataViewItem AppendContainer(const wxDataViewItem& parent,
const wxString& text,
wxClientData* data = NULL);
/**
- @todo docme
+ Appends an item to the given @a parent.
*/
wxDataViewItem AppendItem(const wxDataViewItem& parent,
const wxString& text,
};
+/**
+ @class wxDataViewListStore
+
+ wxDataViewListStore is a specialised wxDataViewModel for storing
+ a simple table of data. Since it derives from wxDataViewIndexListModel
+ its data is be accessed by row (i.e. by index) instead of only
+ by wxDataViewItem.
+
+ This class actually stores the values (therefore its name)
+ and implements all virtual methods from the base classes so it can be
+ used directly without having to derive any class from it, but it is
+ mostly used from within wxDataViewListCtrl.
+
+ @library{wxadv}
+ @category{dvc}
+*/
+
+class wxDataViewListStore: public wxDataViewIndexListModel
+{
+public:
+ /**
+ Constructor
+ */
+ wxDataViewListStore();
+
+ /**
+ Destructor
+ */
+ ~wxDataViewListStore();
+
+ /**
+ Prepends a data column.
+
+ @a variantype indicates the type of values store in the column.
+
+ This does not automatically fill in any (default) values in
+ rows which exist in the store already.
+ */
+ void PrependColumn( const wxString &varianttype );
+
+ /**
+ Inserts a data column before @a pos.
+
+ @a variantype indicates the type of values store in the column.
+
+ This does not automatically fill in any (default) values in
+ rows which exist in the store already.
+ */
+ void InsertColumn( unsigned int pos, const wxString &varianttype );
+
+ /**
+ Appends a data column.
+
+ @a variantype indicates the type of values store in the column.
+
+ This does not automatically fill in any (default) values in
+ rows which exist in the store already.
+ */
+ void AppendColumn( const wxString &varianttype );
+
+ /**
+ Appends an item (=row) and fills it with @a values.
+
+ The values must match the values specifies in the column
+ in number and type. No (default) values are filled in
+ automatically.
+ */
+ void AppendItem( const wxVector<wxVariant> &values, wxClientData *data = NULL );
+
+ /**
+ Prepends an item (=row) and fills it with @a values.
+
+ The values must match the values specifies in the column
+ in number and type. No (default) values are filled in
+ automatically.
+ */
+ void PrependItem( const wxVector<wxVariant> &values, wxClientData *data = NULL );
+
+ /**
+ Inserts an item (=row) and fills it with @a values.
+
+ The values must match the values specifies in the column
+ in number and type. No (default) values are filled in
+ automatically.
+ */
+ void InsertItem( unsigned int row, const wxVector<wxVariant> &values, wxClientData *data = NULL );
+
+ /**
+ Delete the item (=row) at position @a pos.
+ */
+ void DeleteItem( unsigned pos );
+
+ /**
+ Delete all item (=all rows) in the store.
+ */
+ void DeleteAllItems();
+
+ /**
+ Overriden from wxDataViewModel
+ */
+ virtual unsigned int GetColumnCount() const;
+
+ /**
+ Overriden from wxDataViewModel
+ */
+ virtual wxString GetColumnType( unsigned int col ) const;
+
+ /**
+ Overriden from wxDataViewIndexListModel
+ */
+ virtual void GetValueByRow( wxVariant &value,
+ unsigned int row, unsigned int col ) const;
+
+ /**
+ Overriden from wxDataViewIndexListModel
+ */
+ virtual bool SetValueByRow( const wxVariant &value,
+ unsigned int row, unsigned int col );
+};
+
/**
@class wxDataViewTreeStore
- wxDataViewTreeStore is a specialised wxDataViewModel for displaying simple
+ wxDataViewTreeStore is a specialised wxDataViewModel for stroing simple
trees very much like wxTreeCtrl does and it offers a similar API.
- This class actually stores the entire tree (therefore its name) and implements
- all virtual methods from the base class so it can be used directly without
- having to derive any class from it.
- This comes at the price of much reduced flexibility.
+ This class actually stores the entire tree and the values (therefore its name)
+ and implements all virtual methods from the base class so it can be used directly
+ without having to derive any class from it, but it is mostly used from within
+ wxDataViewTreeCtrl.
@library{wxadv}
@category{dvc}
This is the event class for the wxDataViewCtrl notifications.
+ @beginEventTable{wxDataViewEvent}
+ @event{EVT_DATAVIEW_SELECTION_CHANGED(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED event.
+ @event{EVT_DATAVIEW_ITEM_ACTIVATED(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED event.
+ @event{EVT_DATAVIEW_ITEM_EDITING_STARTED(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_STARTED event.
+ @event{EVT_DATAVIEW_ITEM_EDITING_DONE(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE event.
+ @event{EVT_DATAVIEW_ITEM_COLLAPSING(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_COLLAPSING event.
+ @event{EVT_DATAVIEW_ITEM_COLLAPSED(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_COLLAPSED event.
+ @event{EVT_DATAVIEW_ITEM_EXPANDING(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_EXPANDING event.
+ @event{EVT_DATAVIEW_ITEM_EXPANDED(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_EXPANDED event.
+ @event{EVT_DATAVIEW_ITEM_VALUE_CHANGED(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED event.
+ @event{EVT_DATAVIEW_ITEM_CONTEXT_MENU(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU event.
+ @event{EVT_DATAVIEW_COLUMN_HEADER_CLICK(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_CLICKED event.
+ @event{EVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICKED event.
+ @event{EVT_DATAVIEW_COLUMN_SORTED(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_COLUMN_SORTED event.
+ @event{EVT_DATAVIEW_COLUMN_REORDERED(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_COLUMN_REORDERED event.
+ @event{EVT_DATAVIEW_ITEM_BEGIN_DRAG(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_BEGIN_DRAG event.
+ @event{EVT_DATAVIEW_ITEM_DROP_POSSIBLE(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_DROP_POSSIBLE event.
+ @event{EVT_DATAVIEW_ITEM_DROP(id, func)}
+ Process a @c wxEVT_COMMAND_DATAVIEW_ITEM_DROP event.
+ @endEventTable
+
@library{wxadv}
@category{events,dvc}
*/
class wxDataViewEvent : public wxNotifyEvent
{
public:
- //@{
/**
Constructor. Typically used by wxWidgets internals only.
*/
wxDataViewEvent(wxEventType commandType = wxEVT_NULL,
int winid = 0);
- wxDataViewEvent(const wxDataViewEvent& event);
- //@}
/**
Returns the position of the column in the control or -1
Sets the value associated with this event.
*/
void SetValue(const wxVariant& value);
+
+ /**
+ Set wxDataObject for data transfer within a drag operation.
+ */
+ void SetDataObject( wxDataObject *obj );
+
+ /**
+ Used internally. Gets associated wxDataObject for data transfer
+ within a drag operation.
+ */
+ wxDataObject *GetDataObject() const;
+
+ /**
+ Used internally. Sets the wxDataFormat during a drop operation.
+ */
+ void SetDataFormat( const wxDataFormat &format );
+
+ /**
+ Gets the wxDataFormat during a drop operation.
+ */
+ wxDataFormat GetDataFormat() const;
+
+ /**
+ Used internally. Sets the data size for a drop data transfer.
+ */
+ void SetDataSize( size_t size );
+
+ /**
+ Gets the data size for a drop data transfer.
+ */
+ size_t GetDataSize() const;
+
+ /**
+ Used internally. Sets the data buffer for a drop data transfer.
+ */
+ void SetDataBuffer( void* buf );
+
+ /**
+ Gets the data buffer for a drop data transfer.
+ */
+ void *GetDataBuffer() const;
};