Index

Package: Adjustment

Description

package Gtk.Adjustment is

This object represents an adjustable bounded value. It is used in many other widgets that have such internal values, like Gtk_Scrollbar, Gtk_Spin_Button, Gtk_Range, ... Modifying the value of these widgets is done through their associated adjustments.

The modification of the value is left to the user, who should call Value_Changed or Changed to emit the relevant signals.

The meaning of the most important fields can be explained on the following figure (imagine this is a scrollbar): [-------|=================|-------------------] lower value value + page_size upper

Classes

Gtk_Adjustment_Record

type Gtk_Adjustment_Record is new GObject_Record with null record;

Ancestors:

Primitive operations:

Get_Page_Increment
Get_Page_Size
Get_Step_Increment
Glib.Object.Deallocate (Inherited)
Glib.Object.Get_Type (Inherited)
Glib.Object.Notify (Inherited)
Glib.Object.Ref (Inherited)
Glib.Object.Ref_Sink (Inherited)
Glib.Object.Unref (Inherited)
Set_Page_Increment
Set_Page_Size
Set_Step_Increment
Value_Changed

Types

Gtk_Adjustment

type Gtk_Adjustment is access all Gtk_Adjustment_Record'Class;

Constants & Global variables

Page_Increment_Property (Glib.Properties.Property_Double)

Page_Increment_Property : constant Glib.Properties.Property_Double;

Step_Increment_Property (Glib.Properties.Property_Double)

Step_Increment_Property : constant Glib.Properties.Property_Double;

Signal_Changed (Glib.Signal_Name)

Signal_Changed : constant Glib.Signal_Name := "changed";

Signal_Value_Changed (Glib.Signal_Name)

Signal_Value_Changed : constant Glib.Signal_Name := "value-changed";

Subprograms & Entries

Gtk_New

procedure Gtk_New 
(Adjustment: out Gtk_Adjustment;
Value: Gdouble;
Lower: Gdouble;
Upper: Gdouble;
Step_Increment: Gdouble;
Page_Increment: Gdouble;
Page_Size: Gdouble := 0.0);

Initialize

procedure Initialize 
(Adjustment: access Gtk_Adjustment_Record'Class;
Value: Gdouble;
Lower: Gdouble;
Upper: Gdouble;
Step_Increment: Gdouble;
Page_Increment: Gdouble;
Page_Size: Gdouble := 0.0);
Create a new adjustment. Value is the initial value of the adjustment. It must be in the range (Lower .. Upper) and the adjustment's value will never be outside this range. Step_Increment is the value used to make minor adjustments, such as when the user clicks on the arrows of a scrollbar. Page_Increment is used to make major adjustments, such as when the user clicks in the through on a scrollbar. Page_Size is deprecated, use the default value.

Get_Type

function Get_Type return Glib.GType;

Changed

procedure Changed 
(Adjustment: access Gtk_Adjustment_Record);

Clamp_Page

procedure Clamp_Page 
(Adjustment: access Gtk_Adjustment_Record;
Lower: Gdouble;
Upper: Gdouble);
Update the Adjustment 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 "value_changed" signal will be emitted if the value is changed.

Configure

procedure Configure 
(Adjustment: access Gtk_Adjustment_Record;
Value: Gdouble;
Lower: Gdouble;
Upper: Gdouble;
Step_Increment: Gdouble;
Page_Increment: Gdouble;
Page_Size: Gdouble);
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. Since: gtk+ 2.14 "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

Get_Lower

function Get_Lower 
(Adjustment: access Gtk_Adjustment_Record) return Gdouble;

Set_Lower

procedure Set_Lower 
(Adjustment: access Gtk_Adjustment_Record;
Lower: Gdouble);
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: gtk+ 2.14 "lower": the new minimum value

Get_Page_Increment

function Get_Page_Increment 
(Adjustment: access Gtk_Adjustment_Record) return Gdouble;

Set_Page_Increment

procedure Set_Page_Increment 
(Adjustment: access Gtk_Adjustment_Record;
Page_Increment: Gdouble);
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: gtk+ 2.14 "page_increment": the new page increment

Get_Page_Size

function Get_Page_Size 
(Adjustment: access Gtk_Adjustment_Record) return Gdouble;

Set_Page_Size

procedure Set_Page_Size 
(Adjustment: access Gtk_Adjustment_Record;
Page_Size: Gdouble);
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: gtk+ 2.14 "page_size": the new page size

Get_Step_Increment

function Get_Step_Increment 
(Adjustment: access Gtk_Adjustment_Record) return Gdouble;

Set_Step_Increment

procedure Set_Step_Increment 
(Adjustment: access Gtk_Adjustment_Record;
Step_Increment: Gdouble);
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: gtk+ 2.14 "step_increment": the new step increment

Get_Upper

function Get_Upper 
(Adjustment: access Gtk_Adjustment_Record) return Gdouble;

Set_Upper

procedure Set_Upper 
(Adjustment: access Gtk_Adjustment_Record;
Upper: Gdouble);
Sets the maximum value of the adjustment. Note that values will be restricted by <literal>upper - page-size</literal> 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: gtk+ 2.14 "upper": the new maximum value

Get_Value

function Get_Value 
(Adjustment: access Gtk_Adjustment_Record) return Gdouble;

Set_Value

procedure Set_Value 
(Adjustment: access Gtk_Adjustment_Record;
Value: Gdouble);

Value_Changed

procedure Value_Changed 
(Adjustment: access Gtk_Adjustment_Record);