unsigned int col) const;
/**
- Returns the number of items (i.e. rows) in the list.
+ Returns the number of items (or rows) in the list.
*/
unsigned int GetCount() const;
/**
Constructor.
*/
- wxDataViewItem(void* id = NULL);
+ wxDataViewItem();
wxDataViewItem(const wxDataViewItem& item);
+ explicit wxDataViewItem(void* id);
//@}
/**
*/
wxDataViewModel* GetModel();
+ /**
+ Returns the number of currently selected items.
+
+ This method may be called for both the controls with single and
+ multiple selections and returns the number of selected item, possibly
+ 0, in any case.
+
+ @since 2.9.3
+ */
+ virtual int GetSelectedItemsCount() const;
+
/**
Returns first selected item or an invalid item if none is selected.
+
+ This method may be called for both the controls with single and
+ multiple selections but returns an invalid item if more than one item
+ is selected in the latter case, use HasSelection() to determine if
+ there are any selected items when using multiple selection.
*/
virtual wxDataViewItem GetSelection() const;
/**
Fills @a sel with currently selected items and returns their number.
+
+ This method may be called for both the controls with single and
+ multiple selections. In the single selection case it returns the array
+ with at most one element in it.
+
+ @see GetSelectedItemsCount()
*/
virtual int GetSelections(wxDataViewItemArray& sel) const;
*/
virtual wxDataViewColumn* GetSortingColumn() const;
+ /**
+ Returns true if any items are currently selected.
+
+ This method may be called for both the controls with single and
+ multiple selections.
+
+ Calling this method is equivalent to calling GetSelectedItemsCount()
+ and comparing its result with 0 but is more clear and might also be
+ implemented more efficiently in the future.
+
+ @since 2.9.3
+ */
+ bool HasSelection() const;
+
/**
Hittest.
*/
*/
const wxVariant& GetValue() const;
+ /**
+ Can be used to determine whether the new value is going to be accepted
+ in wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE handler.
+
+ Returns @true if editing the item was cancelled or if the user tried to
+ enter an invalid value (refused by wxDataViewRenderer::Validate()). If
+ this method returns @false, it means that the value in the model is
+ about to be changed to the new one.
+
+ Notice that wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE event handler can
+ call wxNotifyEvent::Veto() to prevent this from happening.
+
+ Currently support for setting this field and for vetoing the change is
+ only available in the generic version of wxDataViewCtrl, i.e. under MSW
+ but not GTK nor OS X.
+
+ @since 2.9.3
+ */
+ bool IsEditCancelled() const;
+
/**
Sets the column index associated with this event.
*/