Added event skeletons, defines, event ids..

Implemented wxEVT_DATAVIEW_ROW_SELECTED.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2006-10-03 13:23:31 +00:00
parent 6ff7eee7ea
commit eb7f97f8d6
4 changed files with 156 additions and 4 deletions

View File

@@ -1477,6 +1477,41 @@ int wxDataViewColumn::GetFixedWidth()
return gtk_tree_view_column_get_fixed_width( (GtkTreeViewColumn *)m_column );
}
//-----------------------------------------------------------------------------
// wxDataViewCtrl signal callbacks
//-----------------------------------------------------------------------------
static void
wxdataview_selection_changed_callback( GtkTreeSelection* selection, wxDataViewCtrl *dv )
{
wxDataViewEvent event( wxEVT_COMMAND_DATAVIEW_ROW_SELECTED, dv->GetId() );
if (dv->HasFlag(wxDV_MULTIPLE))
{
GtkTreeModel *model;
GList *list = gtk_tree_selection_get_selected_rows( selection, &model );
// do something
// ...
// delete list
g_list_foreach( list, (GFunc) gtk_tree_path_free, NULL );
g_list_free( list );
}
else
{
GtkTreeModel *model;
GtkTreeIter iter;
gboolean has_selection = gtk_tree_selection_get_selected( selection, &model, &iter );
if (has_selection)
{
unsigned int row = (wxUIntPtr) iter.user_data;
event.SetRow( row );
}
}
event.SetModel( dv->GetModel() );
dv->GetEventHandler()->ProcessEvent( event );
}
//-----------------------------------------------------------------------------
// wxDataViewCtrl
//-----------------------------------------------------------------------------
@@ -1529,6 +1564,10 @@ bool wxDataViewCtrl::Create(wxWindow *parent, wxWindowID id,
m_parent->DoAddChild( this );
GtkTreeSelection *selection = gtk_tree_view_get_selection( GTK_TREE_VIEW(m_treeview) );
g_signal_connect_after (selection, "changed",
G_CALLBACK (wxdataview_selection_changed_callback), this);
PostCreation(size);
return true;