add new signal 'adjust_bounds' to potentialy change the bounds before
2002-02-14 Jody Goldberg <jody@gnome.org> * gtk/gtkrange.c (gtk_range_class_init) : add new signal 'adjust_bounds' to potentialy change the bounds before assigning the new value and camping it to the existing bounds. (gtk_range_internal_set_value) : used here. #68800. * gtk/gtkmarshalers.list : add VOID:DOUBLE
This commit is contained in:

committed by
Jody Goldberg

parent
27455dcd90
commit
f0ed36b324
@ -46,6 +46,7 @@ enum {
|
||||
|
||||
enum {
|
||||
VALUE_CHANGED,
|
||||
ADJUST_BOUNDS,
|
||||
MOVE_SLIDER,
|
||||
LAST_SIGNAL
|
||||
};
|
||||
@ -244,6 +245,16 @@ gtk_range_class_init (GtkRangeClass *class)
|
||||
_gtk_marshal_NONE__NONE,
|
||||
G_TYPE_NONE, 0);
|
||||
|
||||
signals[ADJUST_BOUNDS] =
|
||||
g_signal_new ("adjust_bounds",
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkRangeClass, adjust_bounds),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__DOUBLE,
|
||||
G_TYPE_NONE, 1,
|
||||
G_TYPE_DOUBLE);
|
||||
|
||||
signals[MOVE_SLIDER] =
|
||||
g_signal_new ("move_slider",
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
@ -254,7 +265,6 @@ gtk_range_class_init (GtkRangeClass *class)
|
||||
G_TYPE_NONE, 1,
|
||||
GTK_TYPE_SCROLL_TYPE);
|
||||
|
||||
|
||||
g_object_class_install_property (gobject_class,
|
||||
PROP_UPDATE_POLICY,
|
||||
g_param_spec_enum ("update_policy",
|
||||
@ -2149,6 +2159,9 @@ static void
|
||||
gtk_range_internal_set_value (GtkRange *range,
|
||||
gdouble value)
|
||||
{
|
||||
/* potentially adjust the bounds _before we clamp */
|
||||
g_signal_emit (G_OBJECT (range), signals[ADJUST_BOUNDS], 0, value);
|
||||
|
||||
value = CLAMP (value, range->adjustment->lower,
|
||||
(range->adjustment->upper - range->adjustment->page_size));
|
||||
|
||||
|
Reference in New Issue
Block a user