geany/doc/stash-gui-example.c
Nick Treleaven 6bb2011f14 Improve Stash GUI example.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5252 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-09-22 16:33:38 +00:00

37 lines
1.3 KiB
C

gboolean want_handle;
StashGroup *group = ...;
/* Add the stash setting first so we can load it from disk if we want.
* Effectively, stash_group_add_boolean() is called for you.
* We need to use either a widget pointer or a widget name, and as we
* haven't created the widget yet we'll use a name - check_handle. */
stash_group_add_toggle_button(group, &want_handle, "handle", TRUE, "check_handle");
/* here we could load the setting from disk */
...
/* Later we create a dialog holding the toggle button widget.
* (Note: a check button is a subclass of a toggle button). */
GtkWidget *dialog = ...;
GtkWidget *check_button = gtk_check_button_new_with_label(_("Handle"));
/* pack the widget into the dialog */
gtk_container_add(GTK_CONTAINER(dialog->vbox), check_button);
/* Now we set a name to lookup the widget from the dialog.
* We must remember to pass 'dialog' as an argument to Stash later. */
ui_hookup_widget(dialog, check_button, "check_handle");
...
/* At some point we want to display the dialog.
* First we apply the want_handle boolean variable to the widget */
stash_group_display(group, dialog);
/* now display the dialog */
gtk_widget_show_all(dialog);
/* let the user manipulate widgets */
...
/* Now synchronize the want_handle variable */
stash_group_update(group, dialog);