summaryrefslogtreecommitdiff
path: root/gtk/gtkrange.c
diff options
context:
space:
mode:
authorAlexander Larsson <alla@lysator.liu.se>2001-05-17 16:22:06 +0000
committerAlexander Larsson <alexl@src.gnome.org>2001-05-17 16:22:06 +0000
commit6ee1ae13adafbb6a0ac5a75a948f0a9bc8f0e751 (patch)
treebd9689851eabea933a0ef00c0ad9c97c376b62cd /gtk/gtkrange.c
parentbe277ae41303b9d5ba92a911360e66f197c82eba (diff)
downloadgtk+-6ee1ae13adafbb6a0ac5a75a948f0a9bc8f0e751.tar.gz
Add properties, based on patch by Lee Mallabone.GTK_MULTIHEAD_MERGE1
2001-05-17 Alexander Larsson <alla@lysator.liu.se> * gtk/gtkbbox.c: Add properties, based on patch by Lee Mallabone. * gtk/gtknotebook.c: * gtk/gtktoolbar.c: Convert from GtkArg to GParam, based on patch by John Margaglione. * gtk/gtkhscale.c: * gtk/gtkvscale.c: * gtk/gtkhscrollbar.c: * gtk/gtkvscrollbar.c: * gtk/gtkrange.c: Move adjustment property to GtkRange. * gtk/gtklabel.c: Setup mnemonics on property changes * gtk/gtkwidget.c (gtk_widget_get_property): GdkExtensionMode is an enum, not a flag. Set it with g_value_set_enum (). * tests/prop-editor.c: Better propery editor. * tests/testgtk.c: Add new property test. Pass zero to the property editor to get properties from all derived types.
Diffstat (limited to 'gtk/gtkrange.c')
-rw-r--r--gtk/gtkrange.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index a0d75f384e..f73244133e 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -40,7 +40,8 @@
enum {
PROP_0,
- PROP_UPDATE_POLICY
+ PROP_UPDATE_POLICY,
+ PROP_ADJUSTMENT
};
enum {
@@ -197,6 +198,14 @@ gtk_range_class_init (GtkRangeClass *class)
GTK_UPDATE_CONTINUOUS,
G_PARAM_READWRITE));
+ g_object_class_install_property (gobject_class,
+ PROP_ADJUSTMENT,
+ g_param_spec_object ("adjustment",
+ _("Adjustment"),
+ _("The GtkAdjustment that contains the current value of this range object"),
+ GTK_TYPE_ADJUSTMENT,
+ G_PARAM_READWRITE));
+
gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("slider_width",
_("Slider Width"),
@@ -246,6 +255,9 @@ gtk_range_set_property (GObject *object,
case PROP_UPDATE_POLICY:
gtk_range_set_update_policy (range, g_value_get_enum (value));
break;
+ case PROP_ADJUSTMENT:
+ gtk_range_set_adjustment (range, g_value_get_object (value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -267,6 +279,9 @@ gtk_range_get_property (GObject *object,
case PROP_UPDATE_POLICY:
g_value_set_enum (value, range->policy);
break;
+ case PROP_ADJUSTMENT:
+ g_value_set_object (value, G_OBJECT (range->adjustment));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -363,6 +378,7 @@ gtk_range_set_adjustment (GtkRange *range,
range->old_page_size = adjustment->page_size;
gtk_range_adjustment_changed (adjustment, (gpointer) range);
+ g_object_notify (G_OBJECT (range), "adjustment");
}
}