diff options
author | Tim Janik <timj@src.gnome.org> | 2001-02-04 07:26:31 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 2001-02-04 07:26:31 +0000 |
commit | 55fca1cf70690d87f057c335c27e91b3792ccbf9 (patch) | |
tree | 1d08b78c937bf41e6f96a9ceeffd4b0dbd2c46af | |
parent | cfea670dac5b12d836fa4382c37b51089c1dcf4f (diff) | |
download | gdk-pixbuf-55fca1cf70690d87f057c335c27e91b3792ccbf9.tar.gz |
HELL! premature insanity, back out old rc-data changes.
HELL!
premature insanity, back out old rc-data changes.
-rw-r--r-- | gtk/Makefile.am | 2 | ||||
-rw-r--r-- | gtk/gtk.h | 1 | ||||
-rw-r--r-- | gtk/gtkrc.c | 77 | ||||
-rw-r--r-- | gtk/gtkrcdata.c | 325 | ||||
-rw-r--r-- | gtk/gtkrcdata.h | 84 |
5 files changed, 0 insertions, 489 deletions
diff --git a/gtk/Makefile.am b/gtk/Makefile.am index fc0953c45..230f78445 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -140,7 +140,6 @@ gtk_public_h_sources = @STRIP_BEGIN@ \ gtkradiomenuitem.h \ gtkrange.h \ gtkrc.h \ - gtkrcdata.h \ gtkruler.h \ gtkscale.h \ gtkscrollbar.h \ @@ -299,7 +298,6 @@ gtk_c_sources = @STRIP_BEGIN@ \ gtkrange.c \ gtkrbtree.c \ gtkrc.c \ - gtkrcdata.c \ gtkruler.c \ gtkscale.c \ gtkscrollbar.c \ @@ -116,7 +116,6 @@ #include <gtk/gtkradiomenuitem.h> #include <gtk/gtkrange.h> #include <gtk/gtkrc.h> -#include <gtk/gtkrcdata.h> #include <gtk/gtkruler.h> #include <gtk/gtkscale.h> #include <gtk/gtkscrollbar.h> diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c index 91922ebcc..aa6b98313 100644 --- a/gtk/gtkrc.c +++ b/gtk/gtkrc.c @@ -57,7 +57,6 @@ #include "gtkthemes.h" #include "gtkintl.h" #include "gtkiconfactory.h" -#include "gtkrcdata.h" #ifdef G_OS_WIN32 #include <io.h> @@ -102,8 +101,6 @@ static void gtk_rc_parse_any (const gchar *input_nam const gchar *input_string); static guint gtk_rc_parse_statement (GScanner *scanner); static guint gtk_rc_parse_style (GScanner *scanner); -static guint gtk_rc_parse_assignment (GScanner *scanner, - const gchar *var_name); static guint gtk_rc_parse_bg (GScanner *scanner, GtkRcStyle *style); static guint gtk_rc_parse_fg (GScanner *scanner, @@ -630,14 +627,8 @@ gtk_rc_init (void) g_free (normalized_locale); } - - /* setup global rc-file variables */ - gtk_rc_data_install_property (g_param_spec_int ("mouse-timeout", NULL, NULL, - 0, 1000, 0, - G_PARAM_READABLE | G_PARAM_WRITABLE)); } - g_object_freeze_notify (G_OBJECT (gtk_rc_data_get_global ())); i = 0; while (gtk_rc_default_files[i] != NULL) { @@ -657,11 +648,6 @@ gtk_rc_init (void) gtk_rc_parse (gtk_rc_default_files[i]); i++; } - /* setup global rc-file variables after the fact */ - gtk_rc_data_install_property (g_param_spec_float ("foo-number", NULL, NULL, - -10000, 10000, 0, - G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_thaw_notify (G_OBJECT (gtk_rc_data_get_global ())); } void @@ -1592,23 +1578,6 @@ gtk_rc_parse_statement (GScanner *scanner) case GTK_RC_TOKEN_IM_MODULE_FILE: return gtk_rc_parse_im_module_file (scanner); - case G_TOKEN_IDENTIFIER: - is_varname = strchr (G_CSET_a_2_z "_", scanner->next_value.v_identifier[0]) != NULL; - for (p = scanner->next_value.v_identifier + 1; *p && is_varname; p++) - is_varname &= strchr (G_CSET_a_2_z G_CSET_DIGITS "_-", *p) != NULL; - if (is_varname) - { - gchar *name; - - g_scanner_get_next_token (scanner); /* eat identifier */ - name = g_strdup (scanner->value.v_identifier); - - token = gtk_rc_parse_assignment (scanner, name); - g_free (name); - - return token; - } - /* fall through */ default: g_scanner_get_next_token (scanner); return /* G_TOKEN_SYMBOL */ GTK_RC_TOKEN_STYLE; @@ -1616,52 +1585,6 @@ gtk_rc_parse_statement (GScanner *scanner) } static guint -gtk_rc_parse_assignment (GScanner *scanner, - const gchar *var_name) -{ - guint token; - gboolean negate = FALSE; - gchar *location; - - if (g_scanner_get_next_token (scanner) != '=') - return '='; - - token = g_scanner_get_next_token (scanner); - if (token == '-') - { - negate = TRUE; - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_FLOAT && - token != G_TOKEN_INT) - return G_TOKEN_INT; - } - location = g_strdup_printf ("%s:%u", scanner->input_name, scanner->line); - switch (token) - { - case G_TOKEN_INT: - gtk_rc_data_set_long_property (var_name, - negate ? -scanner->value.v_int : scanner->value.v_int, - location); - break; - case G_TOKEN_FLOAT: - gtk_rc_data_set_double_property (var_name, - negate ? -scanner->value.v_float : scanner->value.v_float, - location); - break; - case G_TOKEN_STRING: - gtk_rc_data_set_string_property (var_name, - scanner->value.v_string, - location); - break; - default: - return G_TOKEN_INT; - } - g_free (location); - - return G_TOKEN_NONE; -} - -static guint gtk_rc_parse_style (GScanner *scanner) { GtkRcStyle *rc_style; diff --git a/gtk/gtkrcdata.c b/gtk/gtkrcdata.c deleted file mode 100644 index 43a2df403..000000000 --- a/gtk/gtkrcdata.c +++ /dev/null @@ -1,325 +0,0 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) 2000 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * 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. - */ -#include "gtkrcdata.h" - - - -/* --- prototypes --- */ -static void gtk_rc_data_init (GtkRCData *data); -static void gtk_rc_data_class_init (GtkRCDataClass *class); -static GObject* gtk_rc_data_constructor (GType type, - guint n_construct_properties, - GObjectConstructParam *construct_properties); -static void gtk_rc_data_get_property (GObject *object, - guint property_id, - GValue *value, - GParamSpec *pspec, - const gchar *trailer); -static void gtk_rc_data_set_property (GObject *object, - guint property_id, - const GValue *value, - GParamSpec *pspec, - const gchar *trailer); -static void gtk_rc_data_notify (GObject *object, - GParamSpec *pspec); - - -/* --- variables --- */ -static gpointer parent_class = NULL; -static GtkRCData *the_singleton = NULL; - - -/* --- functions --- */ -GType -gtk_rc_data_get_type (void) -{ - static GType rc_data_type = 0; - - if (!rc_data_type) - { - static const GTypeInfo rc_data_info = - { - sizeof (GtkRCDataClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) gtk_rc_data_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GtkRCData), - 0, /* n_preallocs */ - (GInstanceInitFunc) gtk_rc_data_init, - }; - - rc_data_type = g_type_register_static (G_TYPE_OBJECT, "GtkRCData", &rc_data_info, 0); - } - - return rc_data_type; -} - -static void -gtk_rc_data_init (GtkRCData *data) -{ - g_datalist_init (&data->qvalues); - data->pvalues = NULL; -} - -static void -gtk_rc_data_class_init (GtkRCDataClass *class) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (class); - - parent_class = g_type_class_peek_parent (class); - - gobject_class->constructor = gtk_rc_data_constructor; - gobject_class->get_property = gtk_rc_data_get_property; - gobject_class->set_property = gtk_rc_data_set_property; - gobject_class->notify = gtk_rc_data_notify; -} - -static GObject* -gtk_rc_data_constructor (GType type, - guint n_construct_properties, - GObjectConstructParam *construct_properties) -{ - GObject *object; - - if (!the_singleton) - { - object = G_OBJECT_CLASS (parent_class)->constructor (type, - n_construct_properties, - construct_properties); - the_singleton = GTK_RC_DATA (g_object_ref (object)); - } - else - object = g_object_ref (G_OBJECT (the_singleton)); - - return object; -} - -GtkRCData* -gtk_rc_data_get_global (void) -{ - if (!the_singleton) - g_object_new (GTK_TYPE_RC_DATA, NULL); - - return the_singleton; /* we don't add a reference count here, we'd be rc_data_ref_global() if we did */ -} - -static void -set_property (GtkRCData *data, - GParamSpec *pspec, - GtkRCDataValue *dvalue) -{ - if (g_value_types_exchangable (G_VALUE_TYPE (&dvalue->rc_value), G_PARAM_SPEC_VALUE_TYPE (pspec))) - { - GValue tmp_value = { 0, }; - - g_value_init (&tmp_value, G_PARAM_SPEC_VALUE_TYPE (pspec)); - g_value_convert (&dvalue->rc_value, &tmp_value); - g_param_value_validate (pspec, &tmp_value); - g_object_set_property (G_OBJECT (data), pspec->name, &tmp_value); - g_value_unset (&tmp_value); - } - else - g_message ("%s: unable to convert rc-value of type `%s' for rc-property \"%s\" of type `%s'", - dvalue->location, - G_VALUE_TYPE_NAME (&dvalue->rc_value), - pspec->name, - g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec))); -} - -static void -gtk_rc_data_set_property (GObject *object, - guint property_id, - const GValue *value, - GParamSpec *pspec, - const gchar *trailer) -{ - GtkRCData *data = GTK_RC_DATA (object); - - g_value_copy (value, data->pvalues + property_id - 1); -} - -static void -gtk_rc_data_get_property (GObject *object, - guint property_id, - GValue *value, - GParamSpec *pspec, - const gchar *trailer) -{ - GtkRCData *data = GTK_RC_DATA (object); - - g_value_copy (data->pvalues + property_id - 1, value); -} - -static void -gtk_rc_data_notify (GObject *object, - GParamSpec *pspec) -{ - GValue tmp_value = { 0, }; - - g_value_init (&tmp_value, G_PARAM_SPEC_VALUE_TYPE (pspec)); - g_object_get_property (object, pspec->name, &tmp_value); - g_print ("rc-file property \"%s\" set to %p\n", - pspec->name, - tmp_value.data[0].v_pointer); - g_value_unset (&tmp_value); -} - -void -gtk_rc_data_install_property (GParamSpec *pspec) -{ - GtkRCData *data = gtk_rc_data_get_global (); - - g_return_if_fail (G_IS_PARAM_SPEC (pspec)); - - switch (G_TYPE_FUNDAMENTAL (G_PARAM_SPEC_VALUE_TYPE (pspec))) - { - case G_TYPE_BOOLEAN: - case G_TYPE_UCHAR: - case G_TYPE_CHAR: - case G_TYPE_UINT: - case G_TYPE_INT: - case G_TYPE_ULONG: - case G_TYPE_LONG: - case G_TYPE_FLOAT: - case G_TYPE_DOUBLE: - case G_TYPE_STRING: - break; - default: - g_warning (G_STRLOC ": property type `%s' is not supported for rc-data property \"%s\"", - g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec)), pspec->name); - return; - } - g_object_freeze_notify (G_OBJECT (data)); - if (!g_object_class_find_property (G_OBJECT_GET_CLASS (data), pspec->name)) - { - static guint n_properties = 0; - GtkRCDataValue *dvalue; - - g_object_class_install_property (G_OBJECT_GET_CLASS (data), ++n_properties, pspec); - data->pvalues = g_renew (GValue, data->pvalues, n_properties); - data->pvalues[n_properties - 1].g_type = 0; - g_value_init (data->pvalues + n_properties - 1, G_PARAM_SPEC_VALUE_TYPE (pspec)); - g_param_value_set_default (pspec, data->pvalues + n_properties - 1); - g_object_notify (G_OBJECT (data), pspec->name); - - dvalue = g_datalist_get_data (&data->qvalues, pspec->name); - if (dvalue) - set_property (data, pspec, dvalue); - } - else - g_warning (G_STRLOC ": an rc-data property \"%s\" already exists", - pspec->name); - g_object_thaw_notify (G_OBJECT (data)); -} - -static void -free_value (gpointer data) -{ - GtkRCDataValue *dvalue = data; - - g_value_unset (&dvalue->rc_value); - g_free (dvalue->location); - g_free (dvalue); -} - -static void -set_value (GtkRCData *data, - const gchar *vname, - GValue *value, - const gchar *location) -{ - GtkRCDataValue *dvalue; - GParamSpec *pspec; - gchar *name = g_strdup (vname); - - g_strcanon (name, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-", '-'); - - dvalue = g_datalist_get_data (&data->qvalues, name); - if (!dvalue) - { - dvalue = g_new0 (GtkRCDataValue, 1); - g_datalist_set_data_full (&data->qvalues, name, dvalue, free_value); - } - else - g_value_unset (&dvalue->rc_value); - g_free (dvalue->location); - dvalue->location = g_strdup (location); - g_value_init (&dvalue->rc_value, G_VALUE_TYPE (value)); - g_value_copy (value, &dvalue->rc_value); - pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (data), name); - if (pspec) - set_property (data, pspec, dvalue); - g_free (name); -} - -void -gtk_rc_data_set_string_property (const gchar *name, - const gchar *v_string, - const gchar *location) -{ - GtkRCData *data = gtk_rc_data_get_global (); - GValue value = { 0, }; - - g_return_if_fail (name != NULL); - g_return_if_fail (v_string != NULL); - - g_object_freeze_notify (G_OBJECT (data)); - g_value_init (&value, G_TYPE_STRING); - g_value_set_static_string (&value, v_string); - set_value (data, name, &value, location); - g_value_unset (&value); - g_object_thaw_notify (G_OBJECT (data)); -} - -void -gtk_rc_data_set_long_property (const gchar *name, - glong v_long, - const gchar *location) -{ - GtkRCData *data = gtk_rc_data_get_global (); - GValue value = { 0, }; - - g_return_if_fail (name != NULL); - - g_object_freeze_notify (G_OBJECT (data)); - g_value_init (&value, G_TYPE_LONG); - g_value_set_long (&value, v_long); - set_value (data, name, &value, location); - g_value_unset (&value); - g_object_thaw_notify (G_OBJECT (data)); -} - -void -gtk_rc_data_set_double_property (const gchar *name, - gdouble v_double, - const gchar *location) -{ - GtkRCData *data = gtk_rc_data_get_global (); - GValue value = { 0, }; - - g_return_if_fail (name != NULL); - - g_object_freeze_notify (G_OBJECT (data)); - g_value_init (&value, G_TYPE_DOUBLE); - g_value_set_double (&value, v_double); - set_value (data, name, &value, location); - g_value_unset (&value); - g_object_thaw_notify (G_OBJECT (data)); -} diff --git a/gtk/gtkrcdata.h b/gtk/gtkrcdata.h deleted file mode 100644 index ddf83ab7d..000000000 --- a/gtk/gtkrcdata.h +++ /dev/null @@ -1,84 +0,0 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) 2000 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * 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. - */ -#ifndef __GTK_RC_DATA_H__ -#define __GTK_RC_DATA_H__ - -#include <gtk/gtkrc.h> - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/* -- type macros --- */ -#define GTK_TYPE_RC_DATA (gtk_rc_data_get_type ()) -#define GTK_RC_DATA(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_RC_DATA, GtkRCData)) -#define GTK_RC_DATA_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_RC_DATA, GtkRCDataClass)) -#define GTK_IS_RC_DATA(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_RC_DATA)) -#define GTK_IS_RC_DATA_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RC_DATA)) -#define GTK_RC_DATA_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_RC_DATA, GtkRCDataClass)) - - -/* --- typedefs --- */ -typedef struct _GtkRCData GtkRCData; -typedef struct _GtkRCDataClass GtkRCDataClass; -typedef struct _GtkRCDataValue GtkRCDataValue; - - -/* --- structures --- */ -struct _GtkRCData -{ - GObject parent_instance; - - GData *qvalues; - GValue *pvalues; -}; -struct _GtkRCDataClass -{ - GObjectClass parent_class; - -}; -struct _GtkRCDataValue -{ - gchar *location; /* rc-file location */ - GValue rc_value; /* rc-file value */ -}; - - -/* --- functions --- */ -GType gtk_rc_data_get_type (void); -GtkRCData* gtk_rc_data_get_global (void); /* singleton */ -void gtk_rc_data_install_property (GParamSpec *pspec); - -/*< private >*/ -void gtk_rc_data_set_string_property (const gchar *name, - const gchar *v_string, - const gchar *location); -void gtk_rc_data_set_long_property (const gchar *name, - glong v_long, - const gchar *location); -void gtk_rc_data_set_double_property (const gchar *name, - gdouble v_double, - const gchar *location); - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* __GTK_RC_DATA_H__ */ |