class Gtk::Adjustment

Overview

Gtk::Adjustment is a model for a numeric value.

The `Gtk::Adjustment has an associated lower and upper bound. It also contains step and page increments, and a page size.

Adjustments are used within several GTK widgets, including Gtk::SpinButton, Gtk::Viewport, Gtk::Scrollbar and Gtk::Scale.

The Gtk::Adjustment object does not update the value itself. Instead it is left up to the owner of the Gtk::Adjustment to control the value.

Defined in:

lib/gi-crystal/src/auto/gtk-4.0/adjustment.cr

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from class GObject::InitiallyUnowned

==(other : self) ==, hash(hasher) hash

Constructor methods inherited from class GObject::InitiallyUnowned

new new

Class methods inherited from class GObject::InitiallyUnowned

g_type : UInt64 g_type

Instance methods inherited from class GObject::Object

==(other : self) ==, bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding bind_property, bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding bind_property_full, data(key : String) : Pointer(Void) | Nil data, finalize finalize, freeze_notify : Nil freeze_notify, getv(names : Enumerable(String), values : Enumerable(_)) : Nil getv, hash(hasher) hash, notify(property_name : String) : Nil notify, notify_by_pspec(pspec : GObject::ParamSpec) : Nil notify_by_pspec, notify_signal notify_signal, property(property_name : String, value : _) : Nil property, qdata(quark : UInt32) : Pointer(Void) | Nil qdata, ref_count : UInt32 ref_count, run_dispose : Nil run_dispose, set_data(key : String, data : Pointer(Void) | Nil) : Nil set_data, set_property(property_name : String, value : _) : Nil set_property, steal_data(key : String) : Pointer(Void) | Nil steal_data, steal_qdata(quark : UInt32) : Pointer(Void) | Nil steal_qdata, thaw_notify : Nil thaw_notify, to_unsafe : Pointer(Void) to_unsafe, watch_closure(closure : GObject::Closure) : Nil watch_closure

Constructor methods inherited from class GObject::Object

cast(obj : GObject::Object) : self cast, new(pointer : Pointer(Void), transfer : GICrystal::Transfer)
new
new
, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv

Class methods inherited from class GObject::Object

cast?(obj : GObject::Object) : self | Nil cast?, compat_control(what : UInt64, data : Pointer(Void) | Nil) : UInt64 compat_control, g_type : UInt64 g_type, interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec interface_find_property, interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec) interface_list_properties

Macros inherited from class GObject::Object

previous_vfunc(*args) previous_vfunc, previous_vfunc!(*args) previous_vfunc!, signal(signature) signal

Constructor Detail

def self.new(value : Float64, lower : Float64, upper : Float64, step_increment : Float64, page_increment : Float64, page_size : Float64) : self #

Creates a new Gtk::Adjustment.


[View source]
def self.new #

Initialize a new Adjustment.


[View source]
def self.new(*, lower : Float64 | Nil = nil, page_increment : Float64 | Nil = nil, page_size : Float64 | Nil = nil, step_increment : Float64 | Nil = nil, upper : Float64 | Nil = nil, value : Float64 | Nil = nil) #

[View source]

Class Method Detail

def self.g_type : UInt64 #

Returns the type id (GType) registered in GLib type system.


[View source]

Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def changed_signal #

[View source]
def clamp_page(lower : Float64, upper : Float64) : Nil #

Updates the value property to ensure that the range between lower and upper is in the current page.

The current page goes from #value to #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 [signal@Gtk.Adjustment::value-changed] signal will be emitted if the value is changed.


[View source]
def configure(value : Float64, lower : Float64, upper : Float64, step_increment : Float64, page_increment : Float64, page_size : Float64) : Nil #

Sets all properties of the adjustment at once.

Use this function to avoid multiple emissions of the Gtk::Adjustment::#changed signal. See Gtk::Adjustment#lower= for an alternative way of compressing multiple emissions of Gtk::Adjustment::#changed into one.


[View source]
def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def lower : Float64 #

Retrieves the minimum value of the adjustment.


[View source]
def lower=(lower : Float64) : Nil #

Sets the minimum value of the adjustment.

When setting multiple adjustment properties via their individual setters, multiple Gtk::Adjustment::#changed signals will be emitted. However, since the emission of the Gtk::Adjustment::#changed signal is tied to the emission of the ::notify signals of the changed properties, it’s possible to compress the Gtk::Adjustment::#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.


[View source]
def minimum_increment : Float64 #

Gets the smaller of step increment and page increment.


[View source]
def page_increment : Float64 #

Retrieves the page increment of the adjustment.


[View source]
def page_increment=(page_increment : Float64) : Nil #

Sets the page increment of the adjustment.

See Gtk::Adjustment#lower= about how to compress multiple emissions of the Gtk::Adjustment::#changed signal when setting multiple adjustment properties.


[View source]
def page_size : Float64 #

Retrieves the page size of the adjustment.


[View source]
def page_size=(page_size : Float64) : Nil #

Sets the page size of the adjustment.

See Gtk::Adjustment#lower= about how to compress multiple emissions of the Gtk::Adjustment::#changed signal when setting multiple adjustment properties.


[View source]
def step_increment : Float64 #

Retrieves the step increment of the adjustment.


[View source]
def step_increment=(step_increment : Float64) : Nil #

Sets the step increment of the adjustment.

See Gtk::Adjustment#lower= about how to compress multiple emissions of the Gtk::Adjustment::#changed signal when setting multiple adjustment properties.


[View source]
def upper : Float64 #

Retrieves the maximum value of the adjustment.


[View source]
def upper=(upper : Float64) : Nil #

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#lower= about how to compress multiple emissions of the Gtk::Adjustment::#changed signal when setting multiple adjustment properties.


[View source]
def value : Float64 #

Gets the current value of the adjustment.


[View source]
def value=(value : Float64) : Nil #

Sets the Gtk::Adjustment value.

The value is clamped to lie between Gtk::Adjustment#lower and Gtk::Adjustment#upper.

Note that for adjustments which are used in a Gtk::Scrollbar, the effective range of allowed values goes from Gtk::Adjustment#lower to Gtk::Adjustment#upper - [property@Gtk.Adjustment:page-size].


[View source]
def value_changed_signal #

[View source]