]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtksettings.h
Drop the Motif DND protocol
[~andy/gtk] / gtk / gtksettings.h
index 6a861ad3223abc5863ab2f00bae6144814e449f0..9e6434a12e610997869af9be247b928381fa1fbe 100644 (file)
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
+
 #ifndef __GTK_SETTINGS_H__
 #define __GTK_SETTINGS_H__
 
-#include       <gtk/gtkrc.h>
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
+
+#include <gdk/gdk.h>
+#include <gtk/gtktypes.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 
 /* -- type macros --- */
-#define GTK_TYPE_SETTINGS            (gtk_settings_get_type ())
-#define GTK_SETTINGS(obj)            (GTK_CHECK_CAST ((obj), GTK_TYPE_SETTINGS, GtkSettings))
-#define GTK_SETTINGS_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_SETTINGS, GtkSettingsClass))
-#define GTK_IS_SETTINGS(obj)         (GTK_CHECK_TYPE ((obj), GTK_TYPE_SETTINGS))
-#define GTK_IS_SETTINGS_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SETTINGS))
-#define GTK_SETTINGS_GET_CLASS(obj)  (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_SETTINGS, GtkSettingsClass))
+#define GTK_TYPE_SETTINGS             (gtk_settings_get_type ())
+#define GTK_SETTINGS(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SETTINGS, GtkSettings))
+#define GTK_SETTINGS_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SETTINGS, GtkSettingsClass))
+#define GTK_IS_SETTINGS(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SETTINGS))
+#define GTK_IS_SETTINGS_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SETTINGS))
+#define GTK_SETTINGS_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SETTINGS, GtkSettingsClass))
 
 
 /* --- typedefs --- */
-typedef struct    _GtkSettings      GtkSettings;
-typedef struct    _GtkSettingsClass GtkSettingsClass;
-typedef struct    _GtkSettingsValue GtkSettingsValue;
+typedef struct _GtkSettingsPrivate GtkSettingsPrivate;
+typedef struct _GtkSettingsClass GtkSettingsClass;
+typedef struct _GtkSettingsValue GtkSettingsValue;
 
 
 /* --- structures --- */
@@ -45,14 +48,21 @@ struct _GtkSettings
 {
   GObject parent_instance;
 
-  GData  *queued_settings;     /* of type GtkSettingsValue* */
-  GValue *property_values;
+  /*< private >*/
+  GtkSettingsPrivate *priv;
 };
+
 struct _GtkSettingsClass
 {
   GObjectClass parent_class;
-  
+
+  /* Padding for future expansion */
+  void (*_gtk_reserved1) (void);
+  void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
+  void (*_gtk_reserved4) (void);
 };
+
 struct _GtkSettingsValue
 {
   /* origin should be something like "filename:linenumber" for rc files,
@@ -68,54 +78,50 @@ struct _GtkSettingsValue
 
 
 /* --- functions --- */
-GType          gtk_settings_get_type                (void);
-GtkSettings*   gtk_settings_get_global              (void);    /* singleton */
-void           gtk_settings_install_property        (GtkSettings        *settings,
-                                                     GParamSpec         *pspec);
-void           gtk_settings_install_property_parser (GtkSettings        *settings,
-                                                     GParamSpec         *pspec,
-                                                     GtkRcPropertyParser parser);
+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);
 
 /* --- precoded parsing functions --- */
 gboolean gtk_rc_property_parse_color       (const GParamSpec *pspec,
-                                           const GString    *gstring,
-                                           GValue           *property_value);
+                                            const GString    *gstring,
+                                            GValue           *property_value);
 gboolean gtk_rc_property_parse_enum        (const GParamSpec *pspec,
-                                           const GString    *gstring,
-                                           GValue           *property_value);
+                                            const GString    *gstring,
+                                            GValue           *property_value);
 gboolean gtk_rc_property_parse_flags       (const GParamSpec *pspec,
-                                           const GString    *gstring,
-                                           GValue           *property_value);
+                                            const GString    *gstring,
+                                            GValue           *property_value);
 gboolean gtk_rc_property_parse_requisition (const GParamSpec *pspec,
-                                           const GString    *gstring,
-                                           GValue           *property_value);
+                                            const GString    *gstring,
+                                            GValue           *property_value);
 gboolean gtk_rc_property_parse_border      (const GParamSpec *pspec,
-                                           const GString    *gstring,
-                                           GValue           *property_value);
-
-/*< private >*/
-void           gtk_settings_set_property_value  (GtkSettings   *settings,
-                                                 const gchar   *name,
-                                                 const GtkSettingsValue *svalue);
-void           gtk_settings_set_string_property (GtkSettings   *settings,
-                                                 const gchar   *name,
-                                                 const gchar   *v_string,
-                                                 const gchar   *origin);
-void           gtk_settings_set_long_property   (GtkSettings   *settings,
-                                                 const gchar   *name,
-                                                 glong          v_long,
-                                                 const gchar   *origin);
-void           gtk_settings_set_double_property (GtkSettings   *settings,
-                                                 const gchar   *name,
-                                                 gdouble        v_double,
-                                                 const gchar   *origin);
-
-void            _gtk_settings_handle_event       (GdkEventSetting *event);
-
-GtkRcPropertyParser _gtk_rc_property_parser_for_type (GType type);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+                                            const GString    *gstring,
+                                            GValue           *property_value);
+
+void     gtk_settings_set_property_value   (GtkSettings            *settings,
+                                            const gchar            *name,
+                                            const GtkSettingsValue *svalue);
+void     gtk_settings_set_string_property  (GtkSettings            *settings,
+                                            const gchar            *name,
+                                            const gchar            *v_string,
+                                            const gchar            *origin);
+void     gtk_settings_set_long_property    (GtkSettings            *settings,
+                                            const gchar            *name,
+                                            glong                   v_long,
+                                            const gchar            *origin);
+void     gtk_settings_set_double_property  (GtkSettings            *settings,
+                                            const gchar            *name,
+                                            gdouble                 v_double,
+                                            const gchar            *origin);
+
+
+G_END_DECLS
 
 #endif /* __GTK_SETTINGS_H__ */