-
- 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;
- GtkWidget *m_treeview;
- wxDataViewListModelNotifier *m_notifier;
-
+ virtual bool InsertColumn( unsigned int pos, wxDataViewColumn *col );
+
+ virtual unsigned int GetColumnCount() const;
+ virtual wxDataViewColumn* GetColumn( unsigned int pos ) const;
+ virtual bool DeleteColumn( wxDataViewColumn *column );
+ virtual bool ClearColumns();
+ virtual int GetColumnPosition( const wxDataViewColumn *column ) const;
+
+ virtual wxDataViewColumn *GetSortingColumn() const;
+
+ virtual wxDataViewItem GetSelection() const;
+ 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,
+ const wxDataViewColumn *column = NULL );
+ virtual void HitTest( const wxPoint &point,
+ wxDataViewItem &item,
+ wxDataViewColumn *&column ) const;
+ virtual wxRect GetItemRect( const wxDataViewItem &item,
+ const wxDataViewColumn *column = NULL ) const;
+
+ virtual void Expand( const wxDataViewItem & item );
+ virtual void Collapse( const wxDataViewItem & item );
+ virtual bool IsExpanded( const wxDataViewItem & item ) const;
+
+ virtual bool EnableDragSource( const wxDataFormat &format );
+ virtual bool EnableDropTarget( const wxDataFormat &format );
+
+ static wxVisualAttributes
+ GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+
+ wxWindow *GetMainWindow() { return (wxWindow*) this; }
+
+ GtkWidget *GtkGetTreeView() { return m_treeview; }
+ wxDataViewCtrlInternal* GtkGetInternal() { return m_internal; }
+
+ // Convert GTK path to our item. Returned item may be invalid if get_iter()
+ // failed.
+ wxDataViewItem GTKPathToItem(struct _GtkTreePath *path) const;
+
+ virtual void OnInternalIdle();
+
+protected:
+ virtual void DoSetExpanderColumn();
+ virtual void DoSetIndent();
+
+ virtual void DoApplyWidgetStyle(GtkRcStyle *style);
+