Harmonize wxDataViewCtrl::GetSelection() behaviour in all ports.
wxDataViewCtrl::GetSelection() now always returns invalid item if more than a single item is selected in a multi-selection control. Also add HasSelection() and GetSelectedItemsCount() to allow checking if any items are selected. Updated the documentation, all ports and added a test for all these functions. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -663,7 +663,15 @@ public:
|
||||
wxDataViewItem GetCurrentItem() const;
|
||||
void SetCurrentItem(const wxDataViewItem& item);
|
||||
|
||||
virtual wxDataViewItem GetSelection() const = 0;
|
||||
// Selection: both GetSelection() and GetSelections() can be used for the
|
||||
// controls both with and without wxDV_MULTIPLE style. For single selection
|
||||
// controls GetSelections() is not very useful however. And for multi
|
||||
// selection controls GetSelection() returns an invalid item if more than
|
||||
// one item is selected. Use GetSelectedItemsCount() or HasSelection() to
|
||||
// check if any items are selected at all.
|
||||
virtual int GetSelectedItemsCount() const = 0;
|
||||
bool HasSelection() const { return GetSelectedItemsCount() != 0; }
|
||||
wxDataViewItem GetSelection() const;
|
||||
virtual int GetSelections( wxDataViewItemArray & sel ) const = 0;
|
||||
virtual void SetSelections( const wxDataViewItemArray & sel ) = 0;
|
||||
virtual void Select( const wxDataViewItem & item ) = 0;
|
||||
|
@@ -155,7 +155,7 @@ public:
|
||||
|
||||
virtual wxDataViewColumn *GetSortingColumn() const;
|
||||
|
||||
virtual wxDataViewItem GetSelection() const;
|
||||
virtual int GetSelectedItemsCount() const;
|
||||
virtual int GetSelections( wxDataViewItemArray & sel ) const;
|
||||
virtual void SetSelections( const wxDataViewItemArray & sel );
|
||||
virtual void Select( const wxDataViewItem & item );
|
||||
|
@@ -142,7 +142,7 @@ public:
|
||||
|
||||
virtual wxDataViewColumn *GetSortingColumn() const;
|
||||
|
||||
virtual wxDataViewItem GetSelection() const;
|
||||
virtual int GetSelectedItemsCount() const;
|
||||
virtual int GetSelections( wxDataViewItemArray & sel ) const;
|
||||
virtual void SetSelections( const wxDataViewItemArray & sel );
|
||||
virtual void Select( const wxDataViewItem & item );
|
||||
|
@@ -406,6 +406,7 @@ public:
|
||||
//
|
||||
virtual wxDataViewItem GetCurrentItem() const;
|
||||
virtual void SetCurrentItem(const wxDataViewItem& item);
|
||||
virtual int GetSelectedItemsCount() const;
|
||||
virtual int GetSelections(wxDataViewItemArray& sel) const;
|
||||
virtual bool IsSelected (wxDataViewItem const& item) const;
|
||||
virtual void Select (wxDataViewItem const& item);
|
||||
|
@@ -474,6 +474,7 @@ public:
|
||||
//
|
||||
virtual wxDataViewItem GetCurrentItem() const;
|
||||
virtual void SetCurrentItem(const wxDataViewItem& item);
|
||||
virtual int GetSelectedItemsCount() const;
|
||||
virtual int GetSelections(wxDataViewItemArray& sel) const;
|
||||
virtual bool IsSelected(const wxDataViewItem& item) const;
|
||||
virtual void Select(const wxDataViewItem& item);
|
||||
|
@@ -89,6 +89,7 @@ public:
|
||||
virtual wxDataViewItem GetCurrentItem() const = 0;
|
||||
virtual void SetCurrentItem(const wxDataViewItem& item) = 0;
|
||||
|
||||
virtual int GetSelectedItemsCount() const = 0;
|
||||
virtual int GetSelections(wxDataViewItemArray& sel) const = 0; // returns all selected items in the native control
|
||||
virtual bool IsSelected (wxDataViewItem const& item) const = 0; // checks if the passed item is selected in the native control
|
||||
virtual void Select (wxDataViewItem const& item) = 0; // selects the passed item in the native control
|
||||
|
@@ -176,7 +176,7 @@ public:
|
||||
|
||||
virtual unsigned int GetCount() const;
|
||||
virtual wxRect GetItemRect(const wxDataViewItem& item, const wxDataViewColumn* columnPtr) const;
|
||||
virtual wxDataViewItem GetSelection() const;
|
||||
virtual int GetSelectedItemsCount() const;
|
||||
virtual int GetSelections(wxDataViewItemArray& sel) const;
|
||||
|
||||
virtual void HitTest(const wxPoint& point, wxDataViewItem& item, wxDataViewColumn*& columnPtr) const;
|
||||
|
Reference in New Issue
Block a user