]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtksettings.h
Seal priv pointer in GtkPrinter.
[~andy/gtk] / gtk / gtksettings.h
index 98f83cdb2592423de0001253246811e13cc0ac9d..fa0387e8391fe042a932c47cd51d3667335e6c97 100644 (file)
  * 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
 
@@ -35,6 +40,7 @@ G_BEGIN_DECLS
 /* --- typedefs --- */
 typedef struct    _GtkSettingsClass GtkSettingsClass;
 typedef struct    _GtkSettingsValue GtkSettingsValue;
+typedef struct    _GtkSettingsPropertyValue GtkSettingsPropertyValue; /* Internal */
 
 
 /* --- structures --- */
@@ -43,16 +49,17 @@ struct _GtkSettings
   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,
@@ -68,12 +75,12 @@ struct _GtkSettingsValue
 
 
 /* --- 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);
@@ -114,6 +121,11 @@ void               gtk_settings_set_double_property (GtkSettings   *settings,
 
 
 /* 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,