Top |
Functions
GtkObject * | gtk_adjustment_new () |
gdouble | gtk_adjustment_get_value () |
void | gtk_adjustment_set_value () |
void | gtk_adjustment_clamp_page () |
void | gtk_adjustment_changed () |
void | gtk_adjustment_value_changed () |
void | gtk_adjustment_configure () |
gdouble | gtk_adjustment_get_lower () |
gdouble | gtk_adjustment_get_page_increment () |
gdouble | gtk_adjustment_get_page_size () |
gdouble | gtk_adjustment_get_step_increment () |
gdouble | gtk_adjustment_get_upper () |
void | gtk_adjustment_set_lower () |
void | gtk_adjustment_set_page_increment () |
void | gtk_adjustment_set_page_size () |
void | gtk_adjustment_set_step_increment () |
void | gtk_adjustment_set_upper () |
Description
The GtkAdjustment object represents a value which has an associated lower and upper bound, together with step and page increments, and a page size. It is used within several GTK+ widgets, including GtkSpinButton, GtkViewport, and GtkRange (which is a base class for GtkHScrollbar, GtkVScrollbar, GtkHScale, and GtkVScale).
The GtkAdjustment object does not update the value itself. Instead it is left up to the owner of the GtkAdjustment to control the value.
The owner of the GtkAdjustment typically calls the
gtk_adjustment_value_changed()
and gtk_adjustment_changed()
functions
after changing the value and its bounds. This results in the emission of the
"value_changed" or "changed" signal respectively.
Functions
gtk_adjustment_new ()
GtkObject * gtk_adjustment_new (gdouble value
,gdouble lower
,gdouble upper
,gdouble step_increment
,gdouble page_increment
,gdouble page_size
);
Creates a new GtkAdjustment.
gtk_adjustment_get_value ()
gdouble
gtk_adjustment_get_value (GtkAdjustment *adjustment
);
Gets the current value of the adjustment. See
gtk_adjustment_set_value()
.
gtk_adjustment_set_value ()
void gtk_adjustment_set_value (GtkAdjustment *adjustment
,gdouble value
);
Sets the GtkAdjustment value. The value is clamped to lie between
adjustment->lower
and
adjustment->upper
.
Note that for adjustments which are used in a GtkScrollbar, the effective
range of allowed values goes from adjustment->lower
to
adjustment->upper - adjustment->page_size
.
gtk_adjustment_clamp_page ()
void gtk_adjustment_clamp_page (GtkAdjustment *adjustment
,gdouble lower
,gdouble upper
);
Updates the GtkAdjustment value
to ensure that the range between lower
and upper
is in the current page (i.e. between value
and value
+
page_size
).
If the range is larger than the page size, then only the start of it will
be in the current page.
A "changed" signal will be emitted if the value is changed.
gtk_adjustment_changed ()
void
gtk_adjustment_changed (GtkAdjustment *adjustment
);
Emits a "changed" signal from the GtkAdjustment. This is typically called by the owner of the GtkAdjustment after it has changed any of the GtkAdjustment fields other than the value.
gtk_adjustment_value_changed ()
void
gtk_adjustment_value_changed (GtkAdjustment *adjustment
);
Emits a "value_changed" signal from the GtkAdjustment. This is typically called by the owner of the GtkAdjustment after it has changed the GtkAdjustment value field.
gtk_adjustment_configure ()
void gtk_adjustment_configure (GtkAdjustment *adjustment
,gdouble value
,gdouble lower
,gdouble upper
,gdouble step_increment
,gdouble page_increment
,gdouble page_size
);
Sets all properties of the adjustment at once.
Use this function to avoid multiple emissions of the "changed"
signal. See gtk_adjustment_set_lower()
for an alternative way
of compressing multiple emissions of "changed" into one.
Parameters
adjustment |
||
value |
the new value |
|
lower |
the new minimum value |
|
upper |
the new maximum value |
|
step_increment |
the new step increment |
|
page_increment |
the new page increment |
|
page_size |
the new page size |
Since: 2.14
gtk_adjustment_get_lower ()
gdouble
gtk_adjustment_get_lower (GtkAdjustment *adjustment
);
Retrieves the minimum value of the adjustment.
Since: 2.14
gtk_adjustment_get_page_increment ()
gdouble
gtk_adjustment_get_page_increment (GtkAdjustment *adjustment
);
Retrieves the page increment of the adjustment.
Since: 2.14
gtk_adjustment_get_page_size ()
gdouble
gtk_adjustment_get_page_size (GtkAdjustment *adjustment
);
Retrieves the page size of the adjustment.
Since: 2.14
gtk_adjustment_get_step_increment ()
gdouble
gtk_adjustment_get_step_increment (GtkAdjustment *adjustment
);
Retrieves the step increment of the adjustment.
Since: 2.14
gtk_adjustment_get_upper ()
gdouble
gtk_adjustment_get_upper (GtkAdjustment *adjustment
);
Retrieves the maximum value of the adjustment.
Since: 2.14
gtk_adjustment_set_lower ()
void gtk_adjustment_set_lower (GtkAdjustment *adjustment
,gdouble lower
);
Sets the minimum value of the adjustment.
When setting multiple adjustment properties via their individual
setters, multiple "changed" signals will be emitted. However, since
the emission of the "changed" signal is tied to the emission of the
"GObject::notify" signals of the changed properties, it's possible
to compress the "changed" signals into one by calling
g_object_freeze_notify()
and g_object_thaw_notify()
around the
calls to the individual setters.
Alternatively, using a single g_object_set()
for all the properties
to change, or using gtk_adjustment_configure()
has the same effect
of compressing "changed" emissions.
Since: 2.14
gtk_adjustment_set_page_increment ()
void gtk_adjustment_set_page_increment (GtkAdjustment *adjustment
,gdouble page_increment
);
Sets the page increment of the adjustment.
See gtk_adjustment_set_lower()
about how to compress multiple
emissions of the "changed" signal when setting multiple adjustment
properties.
Since: 2.14
gtk_adjustment_set_page_size ()
void gtk_adjustment_set_page_size (GtkAdjustment *adjustment
,gdouble page_size
);
Sets the page size of the adjustment.
See gtk_adjustment_set_lower()
about how to compress multiple
emissions of the "changed" signal when setting multiple adjustment
properties.
Since: 2.14
gtk_adjustment_set_step_increment ()
void gtk_adjustment_set_step_increment (GtkAdjustment *adjustment
,gdouble step_increment
);
Sets the step increment of the adjustment.
See gtk_adjustment_set_lower()
about how to compress multiple
emissions of the "changed" signal when setting multiple adjustment
properties.
Since: 2.14
gtk_adjustment_set_upper ()
void gtk_adjustment_set_upper (GtkAdjustment *adjustment
,gdouble upper
);
Sets the maximum value of the adjustment.
Note that values will be restricted by
upper - page-size
if the page-size
property is nonzero.
See gtk_adjustment_set_lower()
about how to compress multiple
emissions of the "changed" signal when setting multiple adjustment
properties.
Since: 2.14
Types and Values
struct GtkAdjustment
struct GtkAdjustment;
The GtkAdjustment struct contains the following fields.
gdouble lower; | the minimum value. |
gdouble upper; | the maximum value. |
gdouble value; | the current value. |
gdouble step_increment; | the increment to use to make minor changes to the value. In a GtkScrollbar this increment is used when the mouse is clicked on the arrows at the top and bottom of the scrollbar, to scroll by a small amount. |
gdouble page_increment; | the increment to use to make major changes to the value. In a GtkScrollbar this increment is used when the mouse is clicked in the trough, to scroll by a large amount. |
gdouble page_size; | the page size. In a GtkScrollbar this is the size of the area which is currently visible. |
Property Details
The “lower”
property
“lower” gdouble
The minimum value of the adjustment.
Flags: Read / Write
Default value: 0
Since: 2.4
The “page-increment”
property
“page-increment” gdouble
The page increment of the adjustment.
Flags: Read / Write
Default value: 0
Since: 2.4
The “page-size”
property
“page-size” gdouble
The page size of the adjustment. Note that the page-size is irrelevant and should be set to zero if the adjustment is used for a simple scalar value, e.g. in a GtkSpinButton.
Flags: Read / Write
Default value: 0
Since: 2.4
The “step-increment”
property
“step-increment” gdouble
The step increment of the adjustment.
Flags: Read / Write
Default value: 0
Since: 2.4
The “upper”
property
“upper” gdouble
The maximum value of the adjustment.
Note that values will be restricted by
upper - page-size
if the page-size
property is nonzero.
Flags: Read / Write
Default value: 0
Since: 2.4
Signal Details
The “changed”
signal
void user_function (GtkAdjustment *adjustment, gpointer user_data)
Emitted when one or more of the GtkAdjustment fields have been changed, other than the value field.
Parameters
adjustment |
the object which received the signal. |
|
user_data |
user data set when the signal handler was connected. |
Flags: No Recursion
The “value-changed”
signal
void user_function (GtkAdjustment *adjustment, gpointer user_data)
Emitted when the GtkAdjustment value field has been changed.
Parameters
adjustment |
the object which received the signal. |
|
user_data |
user data set when the signal handler was connected. |
Flags: No Recursion