* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
+
#ifndef __GTK_SETTINGS_H__
#define __GTK_SETTINGS_H__
-#include <gtk/gtkrc.h>
+#include <gtk/gtkrc.h>
G_BEGIN_DECLS
/* --- typedefs --- */
typedef struct _GtkSettingsClass GtkSettingsClass;
typedef struct _GtkSettingsValue GtkSettingsValue;
+typedef struct _GtkSettingsPropertyValue GtkSettingsPropertyValue; /* Internal */
/* --- structures --- */
GObject parent_instance;
GData *queued_settings; /* of type GtkSettingsValue* */
- GValue *property_values;
+ GtkSettingsPropertyValue *property_values;
GtkRcContext *rc_context;
GdkScreen *screen;
};
+
struct _GtkSettingsClass
{
GObjectClass parent_class;
-
};
+
struct _GtkSettingsValue
{
/* origin should be something like "filename:linenumber" for rc files,
/* --- functions --- */
-GType gtk_settings_get_type (void);
+GType gtk_settings_get_type (void) G_GNUC_CONST;
#ifndef GDK_MULTIHEAD_SAFE
GtkSettings* gtk_settings_get_default (void);
#endif
GtkSettings* gtk_settings_get_for_screen (GdkScreen *screen);
-
+
void gtk_settings_install_property (GParamSpec *pspec);
void gtk_settings_install_property_parser (GParamSpec *pspec,
GtkRcPropertyParser parser);
/* implementation details */
+void _gtk_settings_set_property_value_from_rc (GtkSettings *settings,
+ const gchar *name,
+ const GtkSettingsValue *svalue);
+void _gtk_settings_reset_rc_values (GtkSettings *settings);
+
void _gtk_settings_handle_event (GdkEventSetting *event);
GtkRcPropertyParser _gtk_rc_property_parser_from_type (GType type);
gboolean _gtk_settings_parse_convert (GtkRcPropertyParser parser,