+
+ virtual void DoSetExpanderColumn();
+ virtual void DoSetIndent();
+
+ virtual wxDataViewItem GetSelection();
+ virtual int GetSelections( wxDataViewItemArray & sel ) const;
+ virtual void SetSelections( const wxDataViewItemArray & sel );
+ virtual void Select( const wxDataViewItem & item );
+ virtual void Unselect( const wxDataViewItem & item );
+ virtual bool IsSelected( const wxDataViewItem & item ) const;
+
+ virtual void SelectAll();
+ virtual void UnselectAll();
+
+ virtual void EnsureVisible( const wxDataViewItem & item,
+ wxDataViewColumn *column = NULL );
+ virtual void HitTest( const wxPoint & point, wxDataViewItem & item, unsigned int & column ) const;
+ virtual wxRect GetItemRect( const wxDataViewItem & item, unsigned int column ) const;
+
+protected:
+ virtual int GetSelections( wxArrayInt & sel ) const;
+ virtual void SetSelections( const wxArrayInt & sel );
+ virtual void Select( int row );
+ virtual void Unselect( int row );
+ virtual bool IsSelected( int row ) const;
+ virtual void SelectRange( int from, int to );
+ virtual void UnselectRange( int from, int to );
+
+ virtual void EnsureVisible( int row );
+
+ virtual wxDataViewItem GetItemByRow( unsigned int row ) const;
+ virtual int GetRowByItem( const wxDataViewItem & item ) const;
+
+ unsigned int GetSortingColumn() { return m_sortingColumn; }
+ void SetSortingColumn( unsigned int column ) { m_sortingColumn = column; }
+
+public: // utility functions not part of the API
+
+ // returns the "best" width for the idx-th column
+ unsigned int GetBestColumnWidth(int WXUNUSED(idx)) const
+ {
+ return GetClientSize().GetWidth() / GetColumnCount();
+ }
+
+ // updates the header window after a change in a column setting
+ void OnColumnChange();
+
+ wxWindow *GetMainWindow() { return (wxWindow*) m_clientArea; }
+