// delegated notifiers
virtual bool ItemAdded( const wxDataViewItem &parent, const wxDataViewItem &item );
- virtual bool ItemDeleted( const wxDataViewItem &item );
+ virtual bool ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item );
virtual bool ItemChanged( const wxDataViewItem &item );
virtual bool ValueChanged( const wxDataViewItem &item, unsigned int col );
virtual bool Cleared();
virtual ~wxDataViewModelNotifier() { m_owner = NULL; }
virtual bool ItemAdded( const wxDataViewItem &parent, const wxDataViewItem &item ) = 0;
- virtual bool ItemDeleted( const wxDataViewItem &item ) = 0;
+ virtual bool ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item ) = 0;
virtual bool ItemChanged( const wxDataViewItem &item ) = 0;
virtual bool ValueChanged( const wxDataViewItem &item, unsigned int col ) = 0;
virtual bool Cleared() = 0;
{
wxDataViewItem item = m_musicCtrl->GetSelection();
if (item.IsOk())
- m_music_model->Delete( item );
+ m_music_model->Delete( m_music_model->GetParent(item), item );
}
void MyFrame::OnPrependList( wxCommandEvent& WXUNUSED(event) )
{
wxDataViewItem item = m_listCtrl->GetSelection();
if (item.IsOk())
- m_list_model->DeleteItem( item );
+ m_list_model->DeleteItem( m_list_model->GetParent(item), item );
}
void MyFrame::OnItemAdded( wxDataViewEvent &event )
return ret;
}
-bool wxDataViewModel::ItemDeleted( const wxDataViewItem &item )
+bool wxDataViewModel::ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item )
{
bool ret = true;
while (node)
{
wxDataViewModelNotifier* notifier = (wxDataViewModelNotifier*) node->GetData();
- if (!notifier->ItemDeleted( item ))
+ if (!notifier->ItemDeleted( parent, item ))
ret = false;
node = node->GetNext();
}
{
wxDataViewItem item( m_hash[row] );
m_hash.RemoveAt( row );
- wxDataViewModel::ItemDeleted( item );
+ wxDataViewModel::ItemDeleted( wxDataViewItem(0), item );
}
void wxDataViewIndexListModel::RowChanged( unsigned int row )
GtkWxTreeModel* GetGtkModel() { return m_gtk_model; }
bool ItemAdded( const wxDataViewItem &parent, const wxDataViewItem &item );
- bool ItemDeleted( const wxDataViewItem &item );
+ bool ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item );
bool ItemChanged( const wxDataViewItem &item );
bool ValueChanged( const wxDataViewItem &item, unsigned int col );
bool Cleared();
~wxGtkDataViewModelNotifier();
virtual bool ItemAdded( const wxDataViewItem &parent, const wxDataViewItem &item );
- virtual bool ItemDeleted( const wxDataViewItem &item );
+ virtual bool ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item );
virtual bool ItemChanged( const wxDataViewItem &item );
virtual bool ValueChanged( const wxDataViewItem &item, unsigned int col );
virtual bool Cleared();
return true;
}
-bool wxGtkDataViewModelNotifier::ItemDeleted( const wxDataViewItem &item )
+bool wxGtkDataViewModelNotifier::ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item )
{
GtkTreeIter iter;
iter.stamp = m_wxgtk_model->stamp;
GTK_TREE_MODEL(m_wxgtk_model), path );
gtk_tree_path_free (path);
- m_owner->GtkGetInternal()->ItemDeleted( item );
+ m_owner->GtkGetInternal()->ItemDeleted( parent, item );
return true;
}
return true;
}
-bool wxDataViewCtrlInternal::ItemDeleted( const wxDataViewItem &item )
+bool wxDataViewCtrlInternal::ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item )
{
- wxGtkTreeModelNode *parent = FindParentNode( item );
+ wxGtkTreeModelNode *parent = FindNode( parent );
parent->DeleteChild( item.GetID() );
wxDataViewEvent event( wxEVT_COMMAND_DATAVIEW_MODEL_ITEM_DELETED, m_owner->GetId() );
GtkAllocation *alloc,
wxDataViewCtrl *win )
{
-
wxWindowList::compatibility_iterator node = win->GetChildren().GetFirst();
while (node)
{