Re: obtain parent from menu callback
- From: jcupitt gmail com
- To: "Steve ." <iteration69 gmail com>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: obtain parent from menu callback
- Date: Mon, 28 Nov 2011 12:08:37 +0000
Hi Steve,
On 26 November 2011 08:27, Steve . <iteration69 gmail com> wrote:
I've got a GtkItemFactoryEntry popup menu, the menu pops up from a button
press event using gtk_menu_popup.
I found the best solution was to make my own menus and use quarks set
on them to link them to their context. I build the menus in my
class_init like this:
pane = rowview_popup_menu = popup_build( _( "Row menu" ) );
popup_add_but( pane, _( "_Edit" ), POPUP_FUNC( rowview_edit_cb ) );
menu_add_sep( pane );
popup_add_but( pane, GTK_STOCK_DELETE, POPUP_FUNC( rowview_remove_cb ) );
When you build a widget that needs one of these right-click menus you
link the widget to the menu with (rview is any client data, but in
this case is the underlying model):
popup_attach( widget, rowview_popup_menu, rview );
and callbacks look like this:
static void
rowview_edit_cb( GtkWidget *menu, GtkWidget *button, Rowview *rview )
{
do_stuff( rview );
}
Source here, along with some other stuff. It's only 100 lines or so.
https://github.com/jcupitt/nip2/blob/master/src/gtkutil.c
John
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]