+ virtual bool AssociateModel( wxDataViewModel *model );
+
+ virtual bool AppendColumn( 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 );
+
+ static wxVisualAttributes
+ GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+
+ wxWindow *GetMainWindow() { return (wxWindow*) this; }
+
+ GtkWidget *GtkGetTreeView() { return m_treeview; }
+ wxDataViewCtrlInternal* GtkGetInternal() { return m_internal; }
+
+protected:
+ virtual void DoSetExpanderColumn();
+ virtual void DoSetIndent();
+
+private:
+ friend class wxDataViewCtrlDC;
+ friend class wxDataViewColumn;
+ friend class wxGtkDataViewModelNotifier;
+ GtkWidget *m_treeview;
+ wxDataViewModelNotifier *m_notifier;
+ wxDataViewCtrlInternal *m_internal;
+ wxDataViewColumnList m_cols;
+
+
+ virtual void OnInternalIdle();
+
+ void GtkEnableSelectionEvents();
+ void GtkDisableSelectionEvents();