diff --git a/include/wx/dataview.h b/include/wx/dataview.h index 6fe87b4033..6d54285c5f 100644 --- a/include/wx/dataview.h +++ b/include/wx/dataview.h @@ -24,7 +24,7 @@ #if defined(__WXGTK20__) // for testing - #define wxUSE_GENERICDATAVIEWCTRL 1 + // #define wxUSE_GENERICDATAVIEWCTRL 1 #elif defined(__WXMAC__) #define wxUSE_GENERICDATAVIEWCTRL 1 #else @@ -102,7 +102,7 @@ public: } wxDataViewColumn *m_viewColumn; - unsigned int m_modelColumn; + unsigned int m_modelColumn; }; class WXDLLIMPEXP_ADV wxDataViewListModel: public wxDataViewModel @@ -310,6 +310,15 @@ public: virtual bool ClearColumns(); virtual wxDataViewColumn* GetColumn( unsigned int pos ); + virtual void SetSelection( int row ) = 0; // -1 for unselect + inline void ClearSelection() { SetSelection( -1 ); } + virtual void SetSelectionRange( unsigned int from, unsigned int to ) = 0; + virtual void SetSelections( const wxArrayInt& aSelections) = 0; + + virtual bool IsSelected( unsigned int row ) const = 0; + virtual int GetSelection() const = 0; + virtual int GetSelections(wxArrayInt& aSelections) const = 0; + private: wxDataViewListModel *m_model; wxList m_cols; diff --git a/include/wx/generic/dataview.h b/include/wx/generic/dataview.h index 7263c8d5fa..d300b95f1d 100644 --- a/include/wx/generic/dataview.h +++ b/include/wx/generic/dataview.h @@ -264,6 +264,14 @@ public: virtual bool AssociateModel( wxDataViewListModel *model ); virtual bool AppendColumn( wxDataViewColumn *col ); + virtual void SetSelection( int row ); // -1 for unselect + virtual void SetSelectionRange( unsigned int from, unsigned int to ); + virtual void SetSelections( const wxArrayInt& aSelections); + + virtual bool IsSelected( unsigned int row ) const; + virtual int GetSelection() const; + virtual int GetSelections(wxArrayInt& aSelections) const; + private: friend class wxDataViewMainWindow; friend class wxDataViewHeaderWindow; diff --git a/include/wx/gtk/dataview.h b/include/wx/gtk/dataview.h index f945e88012..6e5eaf29fa 100644 --- a/include/wx/gtk/dataview.h +++ b/include/wx/gtk/dataview.h @@ -242,6 +242,15 @@ public: virtual bool AssociateModel( wxDataViewListModel *model ); virtual bool AppendColumn( wxDataViewColumn *col ); + virtual void SetSelection( int row ); // -1 for unselect + virtual void SetSelectionRange( unsigned int from, unsigned int to ); + virtual void SetSelections( const wxArrayInt& aSelections); + + virtual bool IsSelected( unsigned int row ) const; + virtual int GetSelection() const; + virtual int GetSelections(wxArrayInt& aSelections) const; + + private: friend class wxDataViewCtrlDC; friend class wxGtkDataViewListModelNotifier; diff --git a/src/generic/datavgen.cpp b/src/generic/datavgen.cpp index 8075b8b5cc..d7a1dde330 100644 --- a/src/generic/datavgen.cpp +++ b/src/generic/datavgen.cpp @@ -1797,6 +1797,33 @@ bool wxDataViewCtrl::AppendColumn( wxDataViewColumn *col ) return true; } +void wxDataViewCtrl::SetSelection( int row ) +{ +} + +void wxDataViewCtrl::SetSelectionRange( unsigned int from, unsigned int to ) +{ +} + +void wxDataViewCtrl::SetSelections( const wxArrayInt& aSelections) +{ +} + +bool wxDataViewCtrl::IsSelected( unsigned int row ) const +{ + return false; +} + +int wxDataViewCtrl::GetSelection() const +{ + return -1; +} + +int wxDataViewCtrl::GetSelections(wxArrayInt& aSelections) const +{ + return 0; +} + #endif // !wxUSE_GENERICDATAVIEWCTRL diff --git a/src/gtk/dataview.cpp b/src/gtk/dataview.cpp index f04b10d0dc..d20293d738 100644 --- a/src/gtk/dataview.cpp +++ b/src/gtk/dataview.cpp @@ -1564,6 +1564,34 @@ bool wxDataViewCtrl::AppendColumn( wxDataViewColumn *col ) return true; } +void wxDataViewCtrl::SetSelection( int row ) +{ +} + +void wxDataViewCtrl::SetSelectionRange( unsigned int from, unsigned int to ) +{ +} + +void wxDataViewCtrl::SetSelections( const wxArrayInt& aSelections) +{ +} + +bool wxDataViewCtrl::IsSelected( unsigned int row ) const +{ + return false; +} + +int wxDataViewCtrl::GetSelection() const +{ + return -1; +} + +int wxDataViewCtrl::GetSelections(wxArrayInt& aSelections) const +{ + return 0; +} + + #endif // !wxUSE_GENERICDATAVIEWCTRL