wxDataViewItem GetNthChild( const wxDataViewItem& parent, unsigned int pos ) const;
int GetChildCount( const wxDataViewItem& parent ) const;
-
+
void SetItemText( const wxDataViewItem& item, const wxString &text );
wxString GetItemText( const wxDataViewItem& item ) const;
void SetItemIcon( const wxDataViewItem& item, const wxIcon &icon );
const wxDataViewTreeStore *GetStore() const
{ return (const wxDataViewTreeStore*) GetModel(); }
+ bool IsContainer( const wxDataViewItem& item ) const
+ { return GetStore()->IsContainer(item); }
+
void SetImageList( wxImageList *imagelist );
wxImageList* GetImageList() { return m_imageList; }
int icon = -1,
wxClientData* data = NULL);
+ /**
+ Returns true if item is a container.
+ */
+ bool IsContainer( const wxDataViewItem& item );
+
/**
Calls the same method from wxDataViewTreeStore but uses
an index position in the image list instead of a wxIcon.
{
wxDataViewTreeCtrl* ctrl = (wxDataViewTreeCtrl*) m_ctrl[3];
wxDataViewItem selected = ctrl->GetSelection();
- ctrl->AppendItem( selected, "Item", 0 );
+ if (ctrl->IsContainer(selected))
+ ctrl->AppendItem( selected, "Item", 0 );
}
void MyFrame::OnAddTreeContainerItem(wxCommandEvent& WXUNUSED(event))
{
wxDataViewTreeCtrl* ctrl = (wxDataViewTreeCtrl*) m_ctrl[3];
wxDataViewItem selected = ctrl->GetSelection();
- ctrl->AppendContainer(selected, "Container", 0 );
+ if (ctrl->IsContainer(selected))
+ ctrl->AppendContainer(selected, "Container", 0 );
}
return node->GetItem();
}
+bool wxDataViewTreeStore::IsContainer( const wxDataViewItem& item ) const
+{
+ wxDataViewTreeStoreNode *node = FindNode( item );
+ if (!node) return false;
+
+ return node->IsContainer();
+}
+
wxDataViewItem wxDataViewTreeStore::GetNthChild( const wxDataViewItem& parent, unsigned int pos ) const
{
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
return parent->GetItem();
}
-bool wxDataViewTreeStore::IsContainer( const wxDataViewItem &item ) const
-{
- wxDataViewTreeStoreNode *node = FindNode( item );
- if (!node) return false;
-
- return node->IsContainer();
-}
-
unsigned int wxDataViewTreeStore::GetChildren( const wxDataViewItem &item, wxDataViewItemArray &children ) const
{
wxDataViewTreeStoreContainerNode *node = FindContainerNode( item );