Send EVT_DATAVIEW_ITEM_CONTEXT_MENU events even when not clicking on an item.

Always send this event, even if the user right clicked outside of the client
area. This is useful for showing item-independent commands in the context
menu.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2011-09-21 15:07:56 +00:00
parent da2e758f83
commit 7ed24cb652
4 changed files with 49 additions and 32 deletions

View File

@@ -4536,22 +4536,21 @@ gtk_dataview_button_press_callback( GtkWidget *WXUNUSED(widget),
GtkTreeViewColumn *column = NULL;
gint cell_x = 0;
gint cell_y = 0;
if (gtk_tree_view_get_path_at_pos(
gtk_tree_view_get_path_at_pos
(
GTK_TREE_VIEW(dv->GtkGetTreeView()),
(int) gdk_event->x, (int) gdk_event->y,
path.ByRef(),
&column,
&cell_x,
&cell_y))
{
if (path)
{
wxDataViewEvent event( wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, dv->GetId() );
event.SetItem(dv->GTKPathToItem(path));
event.SetModel( dv->GetModel() );
return dv->HandleWindowEvent( event );
}
}
&cell_y
);
wxDataViewEvent event( wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, dv->GetId() );
if (path)
event.SetItem(dv->GTKPathToItem(path));
event.SetModel( dv->GetModel() );
return dv->HandleWindowEvent( event );
}
return FALSE;