X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtksettings.h;h=9e6434a12e610997869af9be247b928381fa1fbe;hb=7c2a752b3724ad9ac88b7abfecc63e4e0eb7eb54;hp=f058e00a6853ad5f3da13674efe6bcaa5013ab3a;hpb=b69987f217595e1d2a01ef65628c2fff701b91c1;p=~andy%2Fgtk diff --git a/gtk/gtksettings.h b/gtk/gtksettings.h index f058e00a6..9e6434a12 100644 --- a/gtk/gtksettings.h +++ b/gtk/gtksettings.h @@ -12,13 +12,18 @@ * 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 . */ + #ifndef __GTK_SETTINGS_H__ #define __GTK_SETTINGS_H__ -#include +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include G_BEGIN_DECLS @@ -33,9 +38,9 @@ G_BEGIN_DECLS /* --- typedefs --- */ -typedef struct _GtkSettingsClass GtkSettingsClass; -typedef struct _GtkSettingsValue GtkSettingsValue; -typedef struct _GtkSettingsPropertyValue GtkSettingsPropertyValue; /* Internal */ +typedef struct _GtkSettingsPrivate GtkSettingsPrivate; +typedef struct _GtkSettingsClass GtkSettingsClass; +typedef struct _GtkSettingsValue GtkSettingsValue; /* --- structures --- */ @@ -43,17 +48,21 @@ struct _GtkSettings { GObject parent_instance; - GData *queued_settings; /* of type GtkSettingsValue* */ - GtkSettingsPropertyValue *property_values; - - GtkRcContext *rc_context; - GdkScreen *screen; + /*< 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, @@ -69,63 +78,48 @@ struct _GtkSettingsValue /* --- functions --- */ -GType gtk_settings_get_type (void) G_GNUC_CONST; +GType gtk_settings_get_type (void) G_GNUC_CONST; #ifndef GDK_MULTIHEAD_SAFE -GtkSettings* gtk_settings_get_default (void); +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); +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); - - -/* 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, - const GValue *src_value, - GParamSpec *pspec, - GValue *dest_value); + 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