| 488 */ |
488 */ |
| 489 |
489 |
| 490 UIMENU ui_contextmenu_create(UiMenuBuilder *builder, UiObject *obj, UIWIDGET widget) { |
490 UIMENU ui_contextmenu_create(UiMenuBuilder *builder, UiObject *obj, UIWIDGET widget) { |
| 491 GtkWidget *menu_widget = gtk_menu_new(); |
491 GtkWidget *menu_widget = gtk_menu_new(); |
| 492 ui_add_menu_items(menu_widget, 0, builder->menus_begin, obj); |
492 ui_add_menu_items(menu_widget, 0, builder->menus_begin, obj); |
| |
493 g_object_ref_sink(menu_widget); |
| |
494 g_object_set_data_full( |
| |
495 G_OBJECT(widget), |
| |
496 "ui_context_menu", |
| |
497 menu_widget, |
| |
498 (GDestroyNotify)g_object_unref); |
| 493 return GTK_MENU(menu_widget); |
499 return GTK_MENU(menu_widget); |
| 494 } |
500 } |
| 495 |
501 |
| 496 static gboolean ui_button_press_event(GtkWidget *widget, GdkEvent *event, GtkMenu *menu) { |
502 static gboolean ui_button_press_event(GtkWidget *widget, GdkEvent *event, GtkMenu *menu) { |
| 497 if(event->type == GDK_BUTTON_PRESS) { |
503 if(event->type == GDK_BUTTON_PRESS) { |