virtual void SelectAll() = 0;
virtual void UnselectAll() = 0;
+ virtual void Expand( const wxDataViewItem & item ) = 0;
+ virtual void Collapse( const wxDataViewItem & item ) = 0;
+
virtual void EnsureVisible( const wxDataViewItem & item,
const wxDataViewColumn *column = NULL ) = 0;
virtual void HitTest( const wxPoint & point, wxDataViewItem &item, wxDataViewColumn* &column ) const = 0;
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
int align = wxDVR_DEFAULT_ALIGNMENT );
- // implementation
- GtkCellRenderer* GetGtkHandle() { return m_renderer; }
-
virtual void SetMode( wxDataViewCellMode mode );
virtual wxDataViewCellMode GetMode() const;
virtual void SetAlignment( int align );
virtual int GetAlignment() const;
+ // implementation
+ GtkCellRenderer* GetGtkHandle() { return m_renderer; }
+ void GtkInitHandlers();
+
protected:
GtkCellRenderer *m_renderer;
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);
return true;
}
+void wxDataViewCtrl::Expand( const wxDataViewItem & item )
+{
+ GtkTreeIter iter;
+ iter.user_data = item.GetID();
+ GtkTreePath *path = m_internal->get_path( &iter );
+ gtk_tree_view_expand_row( GTK_TREE_VIEW(m_treeview), path, false );
+ gtk_tree_path_free( path );
+}
+
+void wxDataViewCtrl::Collapse( const wxDataViewItem & item )
+{
+ GtkTreeIter iter;
+ iter.user_data = item.GetID();
+ GtkTreePath *path = m_internal->get_path( &iter );
+ gtk_tree_view_collapse_row( GTK_TREE_VIEW(m_treeview), path );
+ gtk_tree_path_free( path );
+}
+
wxDataViewItem wxDataViewCtrl::GetSelection() const
{
GtkTreeSelection *selection = gtk_tree_view_get_selection( GTK_TREE_VIEW(m_treeview) );