GtkAdjustment

Name

GtkAdjustment -- a GtkObject representing an adjustable bounded value.

Synopsis


#include <gtk/gtk.h>


struct      GtkAdjustment;
GtkObject*  gtk_adjustment_new              (gfloat value,
                                             gfloat lower,
                                             gfloat upper,
                                             gfloat step_increment,
                                             gfloat page_increment,
                                             gfloat page_size);
void        gtk_adjustment_set_value        (GtkAdjustment *adjustment,
                                             gfloat value);
void        gtk_adjustment_clamp_page       (GtkAdjustment *adjustment,
                                             gfloat lower,
                                             gfloat upper);
void        gtk_adjustment_changed          (GtkAdjustment *adjustment);
void        gtk_adjustment_value_changed    (GtkAdjustment *adjustment);

Object Hierarchy


  GtkObject
   +----GtkData
         +----GtkAdjustment

Signal Prototypes


"changed"   void        user_function      (GtkAdjustment *adjustment,
                                            gpointer user_data);
"value-changed"
            void        user_function      (GtkAdjustment *adjustment,
                                            gpointer user_data);

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.

Details

struct GtkAdjustment

struct GtkAdjustment;

The GtkAdjustment struct contains the following fields.

gfloat lower;the minimum value.
gfloat upper;the maximum value.
gfloat value;the current value.
gfloat 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.
gfloat 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.
gfloat page_size;the page size. In a GtkScrollbar this is the size of the area which is currently visible.


gtk_adjustment_new ()

GtkObject*  gtk_adjustment_new              (gfloat value,
                                             gfloat lower,
                                             gfloat upper,
                                             gfloat step_increment,
                                             gfloat page_increment,
                                             gfloat page_size);

Creates a new GtkAdjustment.

value :the initial value.
lower :the minimum value.
upper :the maximum value.
step_increment :the step increment.
page_increment :the page increment.
page_size :the page size.
Returns :a new GtkAdjustment.


gtk_adjustment_set_value ()

void        gtk_adjustment_set_value        (GtkAdjustment *adjustment,
                                             gfloat value);

Sets the GtkAdjustment value.

adjustment :a GtkAdjustment.
value :the new value.


gtk_adjustment_clamp_page ()

void        gtk_adjustment_clamp_page       (GtkAdjustment *adjustment,
                                             gfloat lower,
                                             gfloat 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.

adjustment :a GtkAdjustment.
lower :the lower value.
upper :the upper value.


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.

adjustment : 


gtk_adjustment_value_changed ()

void        gtk_adjustment_value_changed    (GtkAdjustment *adjustment);

Emits a "value_changed" signal from the GtkAdjusmtent. This is typically called by the owner of the GtkAdjustment after it has changed the GtkAdjustment value field.

adjustment : 

Signals

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.

adjustment :the object which received the signal.
user_data :user data set when the signal handler was connected.


The "value-changed" signal

void        user_function                  (GtkAdjustment *adjustment,
                                            gpointer user_data);

Emitted when the GtkAdjustment value field has been changed.

adjustment :the object which received the signal.
user_data :user data set when the signal handler was connected.