r2525: Use stock icons in pinboard and panel menus.
[rox-filer.git] / ROX-Filer / src / options.h
blob5128b6809d22a9e83670515b8d91b1e8ab7f7c34
1 /*
2 * ROX-Filer, filer for the ROX desktop project
3 * By Thomas Leonard, <tal197@users.sourceforge.net>.
4 */
6 #ifndef _OPTIONS_H
7 #define _OPTIONS_H
9 #include <gtk/gtk.h>
11 typedef void OptionNotify(void);
12 typedef GList * (*OptionBuildFn)(Option *option, xmlNode *node, guchar *label);
14 struct _Option {
15 guchar *value;
16 long int_value;
17 gboolean has_changed;
19 guchar *backup; /* Copy of value to Revert to */
21 GtkWidget *widget; /* NULL => No UI yet */
22 void (*update_widget)(Option *option);
23 guchar * (*read_widget)(Option *option);
26 /* Prototypes */
28 void options_init(void);
30 void option_register_widget(char *name, OptionBuildFn builder);
31 void option_check_widget(Option *option);
33 void option_add_int(Option *option, const gchar *key, int value);
34 void option_add_string(Option *option, const gchar *key, const gchar *value);
36 void options_notify(void);
37 void option_add_notify(OptionNotify *callback);
38 void option_add_saver(OptionNotify *callback);
40 GtkWidget *options_show(void);
42 #endif /* _OPTIONS_H */