- 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;
+ virtual void DoSetExpanderColumn();
+ virtual void DoSetIndent();
+
+ 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 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 SelectAll();
+ virtual void UnselectAll();
+
+ virtual void EnsureVisible( int row );
+ virtual void EnsureVisible( const wxDataViewItem & item, wxDataViewColumn *column = NULL );
+
+ virtual wxDataViewItem GetItemByRow( unsigned int row ) const;
+ virtual int GetRowByItem( const wxDataViewItem & item ) const;
+
+
+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; }