X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/64c70359a7ca399f47a07369f42818fc7949fac4..2bad2b6d608e1b4dfb16fd97aa1bfaa855aa81d2:/interface/wx/dataview.h diff --git a/interface/wx/dataview.h b/interface/wx/dataview.h index aebeef76e3..0c06dae862 100644 --- a/interface/wx/dataview.h +++ b/interface/wx/dataview.h @@ -421,7 +421,7 @@ public: 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; @@ -614,8 +614,9 @@ public: /** Constructor. */ - wxDataViewItem(void* id = NULL); + wxDataViewItem(); wxDataViewItem(const wxDataViewItem& item); + explicit wxDataViewItem(void* id); //@} /** @@ -1015,13 +1016,35 @@ public: */ 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; @@ -1031,6 +1054,20 @@ public: */ 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. */ @@ -1095,6 +1132,14 @@ public: */ virtual void SetSelections(const wxDataViewItemArray& sel); + /** + Programmatically starts editing the given item on the given column. + Currently not implemented on wxOSX Carbon. + @since 2.9.2 + */ + + virtual void StartEditor(const wxDataViewItem & item, unsigned int column); + /** Unselect the given item. */ @@ -1105,6 +1150,26 @@ public: This method only has effect if multiple selections are allowed. */ virtual void UnselectAll(); + + /** + Sets the row height. + + This function can only be used when all rows have the same height, i.e. + when wxDV_VARIABLE_LINE_HEIGHT flag is not used. + + Currently this is implemented in the generic and native GTK versions + only and nothing is done (and @false returned) when using OS X port. + + Also notice that this method can only be used to increase the row + height compared with the default one (as determined by the return value + of wxDataViewRenderer::GetSize()), if it is set to a too small value + then the minimum required by the renderers will be used. + + @return @true if the line height was changed or @false otherwise. + + @since 2.9.2 + */ + virtual bool SetRowHeight(int rowHeight); }; @@ -2687,6 +2752,26 @@ public: */ 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. */