Converted README to markdown
[rox-filer.git] / ROX-Filer / src / options.h
blobf149cf232b61beb12589c661ebdd6e8bd1b28bcf
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);
39 GList *build_numentry_base(Option *option, xmlNode *node,
40 guchar *label, GtkAdjustment *adj);
42 GtkWidget *options_show(void);
44 #endif /* _OPTIONS_H */