Advertisement
dsreyes1014

gtk menu button menu

Jan 27th, 2017
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. {
  2. GtkBuilder *builder;
  3. GError *err;
  4. GSimpleAction *show_songs;
  5. GSimpleActionGroup *group;
  6. GObject *mb_button;
  7. GtkPopover *popover;
  8. gchar **actions;
  9.  
  10. /* Load .ui file. */
  11. err = NULL;
  12. builder = gtk_builder_new ();
  13. gtk_builder_add_from_file (builder,
  14. "$USER/Projects/gw2c/src/builder.ui",
  15. &err);
  16.  
  17. if (err)
  18. {
  19. g_print ("ERROR: menu_button.c|line 16: GError == %s\n",
  20. err->message);
  21.  
  22. g_error_free (err);
  23. }
  24.  
  25. /* Setup menu for GtkMenuButton. */
  26. mb_button = gtk_builder_get_object (builder, "menu-button");
  27. group = g_simple_action_group_new ();
  28. show_songs = g_simple_action_new_stateful ("show-songs",
  29. NULL,
  30. g_variant_new_boolean (TRUE));
  31.  
  32. g_action_map_add_action (G_ACTION_MAP (group), G_ACTION (show_songs));
  33. gtk_widget_insert_action_group (GTK_WIDGET (mb_button),
  34. "settings",
  35. G_ACTION_GROUP (group));
  36.  
  37. g_signal_connect (show_songs,
  38. "change-state",
  39. G_CALLBACK (show_songs_state_cb),
  40. NULL);
  41.  
  42. actions = g_action_group_list_actions (gtk_widget_get_action_group (GTK_WIDGET (mb_button),
  43. "settings"));
  44. g_print ("%s\n", actions[0]);
  45. g_strfreev (actions);
  46. if (gtk_widget_get_action_group (GTK_WIDGET (mb_button), "settings") == NULL)
  47. {
  48. g_print ("No action group for mb_button\n");
  49. }
  50.  
  51. g_object_unref (builder);
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement