~inkscape.dev/inkscape-devlibs/devlibs-gtk3

« back to all changes in this revision

Viewing changes to include/gtk-2.0/gtk/gtksettings.h

  • Committer: JazzyNico
  • Date: 2013-01-21 10:11:05 UTC
  • Revision ID: nicoduf@yahoo.fr-20130121101105-i8d8slkq9ng4olx8
Adding gtk2 libraries.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* GTK - The GIMP Toolkit
 
2
 * Copyright (C) 2000 Red Hat, Inc.
 
3
 *
 
4
 * This library is free software; you can redistribute it and/or
 
5
 * modify it under the terms of the GNU Lesser General Public
 
6
 * License as published by the Free Software Foundation; either
 
7
 * version 2 of the License, or (at your option) any later version.
 
8
 *
 
9
 * This library is distributed in the hope that it will be useful,
 
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
12
 * Lesser General Public License for more details.
 
13
 *
 
14
 * You should have received a copy of the GNU Lesser General Public
 
15
 * License along with this library; if not, write to the Free
 
16
 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
17
 */
 
18
 
 
19
#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
 
20
#error "Only <gtk/gtk.h> can be included directly."
 
21
#endif
 
22
 
 
23
#ifndef __GTK_SETTINGS_H__
 
24
#define __GTK_SETTINGS_H__
 
25
 
 
26
#include <gtk/gtkrc.h>
 
27
 
 
28
G_BEGIN_DECLS
 
29
 
 
30
 
 
31
/* -- type macros --- */
 
32
#define GTK_TYPE_SETTINGS             (gtk_settings_get_type ())
 
33
#define GTK_SETTINGS(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SETTINGS, GtkSettings))
 
34
#define GTK_SETTINGS_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SETTINGS, GtkSettingsClass))
 
35
#define GTK_IS_SETTINGS(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SETTINGS))
 
36
#define GTK_IS_SETTINGS_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SETTINGS))
 
37
#define GTK_SETTINGS_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SETTINGS, GtkSettingsClass))
 
38
 
 
39
 
 
40
/* --- typedefs --- */
 
41
typedef struct    _GtkSettingsClass GtkSettingsClass;
 
42
typedef struct    _GtkSettingsValue GtkSettingsValue;
 
43
typedef struct    _GtkSettingsPropertyValue GtkSettingsPropertyValue; /* Internal */
 
44
 
 
45
 
 
46
/* --- structures --- */
 
47
struct _GtkSettings
 
48
{
 
49
  GObject parent_instance;
 
50
 
 
51
  GData  *GSEAL (queued_settings);      /* of type GtkSettingsValue* */
 
52
  GtkSettingsPropertyValue *GSEAL (property_values);
 
53
 
 
54
  GtkRcContext *GSEAL (rc_context);
 
55
  GdkScreen    *GSEAL (screen);
 
56
};
 
57
 
 
58
struct _GtkSettingsClass
 
59
{
 
60
  GObjectClass parent_class;
 
61
};
 
62
 
 
63
struct _GtkSettingsValue
 
64
{
 
65
  /* origin should be something like "filename:linenumber" for rc files,
 
66
   * or e.g. "XProperty" for other sources
 
67
   */
 
68
  gchar *origin;
 
69
 
 
70
  /* valid types are LONG, DOUBLE and STRING corresponding to the token parsed,
 
71
   * or a GSTRING holding an unparsed statement
 
72
   */
 
73
  GValue value;
 
74
};
 
75
 
 
76
 
 
77
/* --- functions --- */
 
78
GType           gtk_settings_get_type                (void) G_GNUC_CONST;
 
79
#ifndef GDK_MULTIHEAD_SAFE
 
80
GtkSettings*    gtk_settings_get_default             (void);
 
81
#endif
 
82
GtkSettings*    gtk_settings_get_for_screen          (GdkScreen *screen);
 
83
 
 
84
void            gtk_settings_install_property        (GParamSpec         *pspec);
 
85
void            gtk_settings_install_property_parser (GParamSpec         *pspec,
 
86
                                                      GtkRcPropertyParser parser);
 
87
 
 
88
/* --- precoded parsing functions --- */
 
89
gboolean gtk_rc_property_parse_color       (const GParamSpec *pspec,
 
90
                                            const GString    *gstring,
 
91
                                            GValue           *property_value);
 
92
gboolean gtk_rc_property_parse_enum        (const GParamSpec *pspec,
 
93
                                            const GString    *gstring,
 
94
                                            GValue           *property_value);
 
95
gboolean gtk_rc_property_parse_flags       (const GParamSpec *pspec,
 
96
                                            const GString    *gstring,
 
97
                                            GValue           *property_value);
 
98
gboolean gtk_rc_property_parse_requisition (const GParamSpec *pspec,
 
99
                                            const GString    *gstring,
 
100
                                            GValue           *property_value);
 
101
gboolean gtk_rc_property_parse_border      (const GParamSpec *pspec,
 
102
                                            const GString    *gstring,
 
103
                                            GValue           *property_value);
 
104
 
 
105
/*< private >*/
 
106
void            gtk_settings_set_property_value  (GtkSettings   *settings,
 
107
                                                  const gchar   *name,
 
108
                                                  const GtkSettingsValue *svalue);
 
109
void            gtk_settings_set_string_property (GtkSettings   *settings,
 
110
                                                  const gchar   *name,
 
111
                                                  const gchar   *v_string,
 
112
                                                  const gchar   *origin);
 
113
void            gtk_settings_set_long_property   (GtkSettings   *settings,
 
114
                                                  const gchar   *name,
 
115
                                                  glong          v_long,
 
116
                                                  const gchar   *origin);
 
117
void            gtk_settings_set_double_property (GtkSettings   *settings,
 
118
                                                  const gchar   *name,
 
119
                                                  gdouble        v_double,
 
120
                                                  const gchar   *origin);
 
121
 
 
122
 
 
123
/* implementation details */
 
124
void _gtk_settings_set_property_value_from_rc (GtkSettings            *settings,
 
125
                                               const gchar            *name,
 
126
                                               const GtkSettingsValue *svalue);
 
127
void _gtk_settings_reset_rc_values            (GtkSettings            *settings);
 
128
 
 
129
void                _gtk_settings_handle_event        (GdkEventSetting    *event);
 
130
GtkRcPropertyParser _gtk_rc_property_parser_from_type (GType               type);
 
131
gboolean            _gtk_settings_parse_convert       (GtkRcPropertyParser parser,
 
132
                                                       const GValue       *src_value,
 
133
                                                       GParamSpec         *pspec,
 
134
                                                       GValue             *dest_value);
 
135
 
 
136
 
 
137
G_END_DECLS
 
138
 
 
139
#endif /* __GTK_SETTINGS_H__ */