class Gtk::SpinButton

Overview

Allows to enter or change numeric values.

An example Gtk::SpinButton

Rather than having to directly type a number into a Gtk::Entry, Gtk::SpinButton allows the user to click on one of two arrows to increment or decrement the displayed value. A value can still be typed in, with the bonus that it can be checked to ensure it is in a given range.

The main properties of a Gtk::SpinButton are through an adjustment. See the Gtk::Adjustment documentation for more details about an adjustment's properties.

Note that Gtk::SpinButton will by default make its entry large enough to accommodate the lower and upper bounds of the adjustment. If this is not desired, the automatic sizing can be turned off by explicitly setting [property@Gtk.Editable:width-chars] to a value != -1.

Using a Gtk::SpinButton to get an integer

WARNING ⚠️ The following code is in c ⚠️

// Provides a function to retrieve an integer value from a Gtk::SpinButton
// and creates a spin button to model percentage values.

int
grab_int_value (Gtk::SpinButton *button,
                gpointer       user_data)
{
  return gtk_spin_button_get_value_as_int (button);
}

void
create_integer_spin_button (void)
{

  Gtk::Widget *window, *button;
  Gtk::Adjustment *adjustment;

  adjustment = gtk_adjustment_new (50.0, 0.0, 100.0, 1.0, 5.0, 0.0);

  window = gtk_window_new ();

  // creates the spinbutton, with no decimal places
  button = gtk_spin_button_new (adjustment, 1.0, 0);
  gtk_window_set_child (GTK_WINDOW (window), button);

  gtk_window_present (GTK_WINDOW (window));
}

Using a Gtk::SpinButton to get a floating point value

WARNING ⚠️ The following code is in c ⚠️

// Provides a function to retrieve a floating point value from a
// Gtk::SpinButton, and creates a high precision spin button.

float
grab_float_value (Gtk::SpinButton *button,
                  gpointer       user_data)
{
  return gtk_spin_button_get_value (button);
}

void
create_floating_spin_button (void)
{
  Gtk::Widget *window, *button;
  Gtk::Adjustment *adjustment;

  adjustment = gtk_adjustment_new (2.500, 0.0, 5.0, 0.001, 0.1, 0.0);

  window = gtk_window_new ();

  // creates the spinbutton, with three decimal places
  button = gtk_spin_button_new (adjustment, 0.001, 3);
  gtk_window_set_child (GTK_WINDOW (window), button);

  gtk_window_present (GTK_WINDOW (window));
}

Shortcuts and Gestures

The following signals have default keybindings:

CSS nodes

spinbutton.horizontal
├── text
│ ├── undershoot.left
│ ╰── undershoot.right
├── button.down
╰── button.up
spinbutton.vertical
├── button.up
├── text
│ ├── undershoot.left
│ ╰── undershoot.right
╰── button.down

Gtk::SpinButtons main CSS node has the name spinbutton. It creates subnodes for the entry and the two buttons, with these names. The button nodes have the style classes .up and .down. The Gtk::Text subnodes (if present) are put below the text node. The orientation of the spin button is reflected in the .vertical or .horizontal style class on the main node.

Accessibility

Gtk::SpinButton uses the Gtk::AccessibleRole#spin_button role.

Included Modules

Defined in:

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

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from module Gtk::Orientable

orientation : Gtk::Orientation orientation, orientation=(orientation : Gtk::Orientation) : Nil orientation=, to_unsafe to_unsafe

Constructor methods inherited from module Gtk::Orientable

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::Orientable

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::Editable

alignment : Float32 alignment, alignment=(xalign : Float32) : Nil alignment=, changed_signal changed_signal, chars(start_pos : Int32, end_pos : Int32) : String chars, cursor_position : Int32 cursor_position, delegate : Gtk::Editable | Nil delegate, delegate_get_accessible_platform_state(state : Gtk::AccessiblePlatformState) : Bool delegate_get_accessible_platform_state, delete_selection : Nil delete_selection, delete_text(start_pos : Int32, end_pos : Int32) : Nil delete_text, delete_text_signal delete_text_signal, editable : Bool editable, editable=(is_editable : Bool) : Nil editable=, editable? : Bool editable?, enable_undo : Bool enable_undo, enable_undo=(enable_undo : Bool) : Nil enable_undo=, enable_undo? : Bool enable_undo?, finish_delegate : Nil finish_delegate, init_delegate : Nil init_delegate, insert_text(text : String, length : Int32, position : Int32) : Nil insert_text, insert_text_signal insert_text_signal, max_width_chars : Int32 max_width_chars, max_width_chars=(n_chars : Int32) : Nil max_width_chars=, position : Int32 position, position=(position : Int32) : Nil position=, select_region(start_pos : Int32, end_pos : Int32) : Nil select_region, selection_bound : Int32 selection_bound, selection_bounds : Bool selection_bounds, text : String text, text=(text : String) : Nil
text=(value : Nil) : Nil
text=
, text? : String | Nil text?, to_unsafe to_unsafe, width_chars : Int32 width_chars, width_chars=(n_chars : Int32) : Nil width_chars=, xalign : Float32 xalign, xalign=(value : Float32) : Float32 xalign=

Constructor methods inherited from module Gtk::Editable

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::Editable

cast?(obj : GObject::Object) : self | Nil cast?, delegate_get_property(object : GObject::Object, prop_id : UInt32, value : _, pspec : GObject::ParamSpec) : Bool delegate_get_property, delegate_set_property(object : GObject::Object, prop_id : UInt32, value : _, pspec : GObject::ParamSpec) : Bool delegate_set_property, g_type : UInt64 g_type, install_properties(object_class : GObject::ObjectClass, first_prop : UInt32) : UInt32 install_properties

Instance methods inherited from module Gtk::CellEditable

editing_canceled=(value : Bool) : Bool editing_canceled=, editing_canceled? : Bool editing_canceled?, editing_done : Nil editing_done, editing_done_signal editing_done_signal, remove_widget : Nil remove_widget, remove_widget_signal remove_widget_signal, start_editing(event : Gdk::Event | Nil) : Nil start_editing, to_unsafe to_unsafe

Constructor methods inherited from module Gtk::CellEditable

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::CellEditable

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::AccessibleRange

to_unsafe to_unsafe

Constructor methods inherited from module Gtk::AccessibleRange

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::AccessibleRange

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::ConstraintTarget

to_unsafe to_unsafe

Constructor methods inherited from module Gtk::ConstraintTarget

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::ConstraintTarget

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::Buildable

buildable_id : String | Nil buildable_id, to_unsafe to_unsafe

Constructor methods inherited from module Gtk::Buildable

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::Buildable

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::Accessible

accessible_parent : Gtk::Accessible | Nil accessible_parent, accessible_role : Gtk::AccessibleRole accessible_role, accessible_role=(value : Gtk::AccessibleRole) : Gtk::AccessibleRole accessible_role=, announce(message : String, priority : Gtk::AccessibleAnnouncementPriority) : Nil announce, at_context : Gtk::ATContext at_context, bounds(x : Int32, y : Int32, width : Int32, height : Int32) : Bool bounds, first_accessible_child : Gtk::Accessible | Nil first_accessible_child, next_accessible_sibling : Gtk::Accessible | Nil next_accessible_sibling, platform_state(state : Gtk::AccessiblePlatformState) : Bool platform_state, reset_property(property : Gtk::AccessibleProperty) : Nil reset_property, reset_relation(relation : Gtk::AccessibleRelation) : Nil reset_relation, reset_state(state : Gtk::AccessibleState) : Nil reset_state, set_accessible_parent(parent : Gtk::Accessible | Nil, next_sibling : Gtk::Accessible | Nil) : Nil set_accessible_parent, to_unsafe to_unsafe, update_next_accessible_sibling(new_sibling : Gtk::Accessible | Nil) : Nil update_next_accessible_sibling, update_platform_state(state : Gtk::AccessiblePlatformState) : Nil update_platform_state, update_property(properties : Enumerable(Gtk::AccessibleProperty), values : Enumerable(_)) : Nil update_property, update_relation(relations : Enumerable(Gtk::AccessibleRelation), values : Enumerable(_)) : Nil update_relation, update_state(states : Enumerable(Gtk::AccessibleState), values : Enumerable(_)) : Nil update_state

Constructor methods inherited from module Gtk::Accessible

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::Accessible

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from class Gtk::Widget

==(other : self) ==, action_set_enabled(action_name : String, enabled : Bool) : Nil action_set_enabled, activate : Bool activate, activate_action(name : String, args : _ | Nil) : Bool activate_action, activate_default : Nil activate_default, add_controller(controller : Gtk::EventController) : Nil add_controller, add_css_class(css_class : String) : Nil add_css_class, add_mnemonic_label(label : Gtk::Widget) : Nil add_mnemonic_label, add_tick_callback(callback : Gtk::TickCallback) : UInt32 add_tick_callback, allocate(width : Int32, height : Int32, baseline : Int32, transform : Gsk::Transform | Nil) : Nil allocate, allocated_baseline : Int32 allocated_baseline, allocated_height : Int32 allocated_height, allocated_width : Int32 allocated_width, allocation : Gdk::Rectangle allocation, ancestor(widget_type : UInt64) : Gtk::Widget | Nil ancestor, baseline : Int32 baseline, can_focus : Bool can_focus, can_focus=(can_focus : Bool) : Nil can_focus=, can_focus? : Bool can_focus?, can_target : Bool can_target, can_target=(can_target : Bool) : Nil can_target=, can_target? : Bool can_target?, child_focus(direction : Gtk::DirectionType) : Bool child_focus, child_visible : Bool child_visible, child_visible=(child_visible : Bool) : Nil child_visible=, clipboard : Gdk::Clipboard clipboard, color : Gdk::RGBA color, compute_bounds(target : Gtk::Widget) : Graphene::Rect compute_bounds, compute_expand(orientation : Gtk::Orientation) : Bool compute_expand, compute_point(target : Gtk::Widget, point : Graphene::Point) : Graphene::Point compute_point, compute_transform(target : Gtk::Widget) : Graphene::Matrix compute_transform, contains(x : Float64, y : Float64) : Bool contains, create_pango_context : Pango::Context create_pango_context, create_pango_layout(text : String | Nil) : Pango::Layout create_pango_layout, css_classes : Enumerable(String) css_classes, css_classes=(classes : Enumerable(String)) : Nil css_classes=, css_name : String css_name, css_name=(value : String) : String
css_name=(value : Nil) : Nil
css_name=
, css_name? : String | Nil css_name?, cursor : Gdk::Cursor | Nil cursor, cursor=(cursor : Gdk::Cursor | Nil) : Nil cursor=, cursor_from_name=(name : String | Nil) : Nil cursor_from_name=, destroy_signal destroy_signal, direction : Gtk::TextDirection direction, direction=(dir : Gtk::TextDirection) : Nil direction=, direction_changed_signal direction_changed_signal, display : Gdk::Display display, dispose_template(widget_type : UInt64) : Nil dispose_template, drag_check_threshold(start_x : Int32, start_y : Int32, current_x : Int32, current_y : Int32) : Bool drag_check_threshold, error_bell : Nil error_bell, first_child : Gtk::Widget | Nil first_child, focus_child : Gtk::Widget | Nil focus_child, focus_child=(child : Gtk::Widget | Nil) : Nil focus_child=, focus_on_click : Bool focus_on_click, focus_on_click=(focus_on_click : Bool) : Nil focus_on_click=, focus_on_click? : Bool focus_on_click?, focusable : Bool focusable, focusable=(focusable : Bool) : Nil focusable=, focusable? : Bool focusable?, font_map : Pango::FontMap | Nil font_map, font_map=(font_map : Pango::FontMap | Nil) : Nil font_map=, font_options : Cairo::FontOptions | Nil font_options, font_options=(options : Cairo::FontOptions | Nil) : Nil font_options=, frame_clock : Gdk::FrameClock | Nil frame_clock, grab_focus : Bool grab_focus, halign : Gtk::Align halign, halign=(align : Gtk::Align) : Nil halign=, has_css_class(css_class : String) : Bool has_css_class, has_default : Bool has_default, has_default? : Bool has_default?, has_focus : Bool has_focus, has_focus? : Bool has_focus?, has_tooltip : Bool has_tooltip, has_tooltip=(has_tooltip : Bool) : Nil has_tooltip=, has_tooltip? : Bool has_tooltip?, has_visible_focus : Bool has_visible_focus, hash(hasher) hash, height : Int32 height, height_request : Int32 height_request, height_request=(value : Int32) : Int32 height_request=, hexpand : Bool hexpand, hexpand=(expand : Bool) : Nil hexpand=, hexpand? : Bool hexpand?, hexpand_set : Bool hexpand_set, hexpand_set=(set : Bool) : Nil hexpand_set=, hexpand_set? : Bool hexpand_set?, hide : Nil hide, hide_signal hide_signal, in_destruction : Bool in_destruction, init_template : Nil init_template, insert_action_group(name : String, group : Gio::ActionGroup | Nil) : Nil insert_action_group, insert_after(parent : Gtk::Widget, previous_sibling : Gtk::Widget | Nil) : Nil insert_after, insert_before(parent : Gtk::Widget, next_sibling : Gtk::Widget | Nil) : Nil insert_before, is_ancestor(ancestor : Gtk::Widget) : Bool is_ancestor, is_drawable : Bool is_drawable, is_focus : Bool is_focus, is_sensitive? : Bool is_sensitive?, is_visible? : Bool is_visible?, keynav_failed(direction : Gtk::DirectionType) : Bool keynav_failed, keynav_failed_signal keynav_failed_signal, last_child : Gtk::Widget | Nil last_child, layout_manager : Gtk::LayoutManager | Nil layout_manager, layout_manager=(layout_manager : Gtk::LayoutManager | Nil) : Nil layout_manager=, limit_events : Bool limit_events, limit_events=(limit_events : Bool) : Nil limit_events=, limit_events? : Bool limit_events?, list_mnemonic_labels : GLib::List list_mnemonic_labels, map : Nil map, map_signal map_signal, mapped : Bool mapped, margin_bottom : Int32 margin_bottom, margin_bottom=(margin : Int32) : Nil margin_bottom=, margin_end : Int32 margin_end, margin_end=(margin : Int32) : Nil margin_end=, margin_start : Int32 margin_start, margin_start=(margin : Int32) : Nil margin_start=, margin_top : Int32 margin_top, margin_top=(margin : Int32) : Nil margin_top=, measure(orientation : Gtk::Orientation, for_size : Int32) : Nil measure, mnemonic_activate(group_cycling : Bool) : Bool mnemonic_activate, mnemonic_activate_signal mnemonic_activate_signal, move_focus_signal move_focus_signal, name : String name, name=(name : String) : Nil
name=(value : Nil) : Nil
name=
, name? : String | Nil name?, native : Gtk::Native | Nil native, next_sibling : Gtk::Widget | Nil next_sibling, observe_children : Gio::ListModel observe_children, observe_controllers : Gio::ListModel observe_controllers, opacity : Float64 opacity, opacity=(opacity : Float64) : Nil opacity=, overflow : Gtk::Overflow overflow, overflow=(overflow : Gtk::Overflow) : Nil overflow=, pango_context : Pango::Context pango_context, parent : Gtk::Widget | Nil parent, parent=(parent : Gtk::Widget) : Nil parent=, pick(x : Float64, y : Float64, flags : Gtk::PickFlags) : Gtk::Widget | Nil pick, preferred_size : Gtk::Requisition preferred_size, prev_sibling : Gtk::Widget | Nil prev_sibling, primary_clipboard : Gdk::Clipboard primary_clipboard, query_tooltip_signal query_tooltip_signal, queue_allocate : Nil queue_allocate, queue_draw : Nil queue_draw, queue_resize : Nil queue_resize, realize : Nil realize, realize_signal realize_signal, realized : Bool realized, receives_default : Bool receives_default, receives_default=(receives_default : Bool) : Nil receives_default=, receives_default? : Bool receives_default?, remove_controller(controller : Gtk::EventController) : Nil remove_controller, remove_css_class(css_class : String) : Nil remove_css_class, remove_mnemonic_label(label : Gtk::Widget) : Nil remove_mnemonic_label, remove_tick_callback(id : UInt32) : Nil remove_tick_callback, request_mode : Gtk::SizeRequestMode request_mode, root : Gtk::Root | Nil root, scale_factor : Int32 scale_factor, sensitive : Bool sensitive, sensitive=(sensitive : Bool) : Nil sensitive=, sensitive? : Bool sensitive?, set_size_request(width : Int32, height : Int32) : Nil set_size_request, set_state_flags(flags : Gtk::StateFlags, clear : Bool) : Nil set_state_flags, settings : Gtk::Settings settings, should_layout : Bool should_layout, show : Nil show, show_signal show_signal, size(orientation : Gtk::Orientation) : Int32 size, size_allocate(allocation : Gdk::Rectangle, baseline : Int32) : Nil size_allocate, size_request : Nil size_request, snapshot_child(child : Gtk::Widget, snapshot : Gtk::Snapshot) : Nil snapshot_child, state_flags : Gtk::StateFlags state_flags, state_flags_changed_signal state_flags_changed_signal, style_context : Gtk::StyleContext style_context, tooltip_markup : String | Nil tooltip_markup, tooltip_markup=(value : String) : String
tooltip_markup=(value : Nil) : Nil
tooltip_markup=(markup : String | Nil) : Nil
tooltip_markup=
, tooltip_markup? : String | Nil tooltip_markup?, tooltip_text : String | Nil tooltip_text, tooltip_text=(value : String) : String
tooltip_text=(value : Nil) : Nil
tooltip_text=(text : String | Nil) : Nil
tooltip_text=
, tooltip_text? : String | Nil tooltip_text?, translate_coordinates(dest_widget : Gtk::Widget, src_x : Float64, src_y : Float64) : Bool translate_coordinates, trigger_tooltip_query : Nil trigger_tooltip_query, unmap : Nil unmap, unmap_signal unmap_signal, unparent : Nil unparent, unrealize : Nil unrealize, unrealize_signal unrealize_signal, unset_state_flags(flags : Gtk::StateFlags) : Nil unset_state_flags, valign : Gtk::Align valign, valign=(align : Gtk::Align) : Nil valign=, vexpand : Bool vexpand, vexpand=(expand : Bool) : Nil vexpand=, vexpand? : Bool vexpand?, vexpand_set : Bool vexpand_set, vexpand_set=(set : Bool) : Nil vexpand_set=, vexpand_set? : Bool vexpand_set?, visible : Bool visible, visible=(visible : Bool) : Nil visible=, visible? : Bool visible?, width : Int32 width, width_request : Int32 width_request, width_request=(value : Int32) : Int32 width_request=

Constructor methods inherited from class Gtk::Widget

new
new(*, accessible_role : Gtk::AccessibleRole | Nil = nil, can_focus : Bool | Nil = nil, can_target : Bool | Nil = nil, css_classes : Enumerable(String) | Nil = nil, css_name : String | Nil = nil, cursor : Gdk::Cursor | Nil = nil, focus_on_click : Bool | Nil = nil, focusable : Bool | Nil = nil, halign : Gtk::Align | Nil = nil, has_default : Bool | Nil = nil, has_focus : Bool | Nil = nil, has_tooltip : Bool | Nil = nil, height_request : Int32 | Nil = nil, hexpand : Bool | Nil = nil, hexpand_set : Bool | Nil = nil, layout_manager : Gtk::LayoutManager | Nil = nil, limit_events : Bool | Nil = nil, margin_bottom : Int32 | Nil = nil, margin_end : Int32 | Nil = nil, margin_start : Int32 | Nil = nil, margin_top : Int32 | Nil = nil, name : String | Nil = nil, opacity : Float64 | Nil = nil, overflow : Gtk::Overflow | Nil = nil, parent : Gtk::Widget | Nil = nil, receives_default : Bool | Nil = nil, root : Gtk::Root | Nil = nil, scale_factor : Int32 | Nil = nil, sensitive : Bool | Nil = nil, tooltip_markup : String | Nil = nil, tooltip_text : String | Nil = nil, valign : Gtk::Align | Nil = nil, vexpand : Bool | Nil = nil, vexpand_set : Bool | Nil = nil, visible : Bool | Nil = nil, width_request : Int32 | Nil = nil)
new

Class methods inherited from class Gtk::Widget

default_direction : Gtk::TextDirection default_direction, default_direction=(dir : Gtk::TextDirection) : Nil default_direction=, g_type : UInt64 g_type

Instance methods inherited from module Gtk::ConstraintTarget

to_unsafe to_unsafe

Constructor methods inherited from module Gtk::ConstraintTarget

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::ConstraintTarget

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::Buildable

buildable_id : String | Nil buildable_id, to_unsafe to_unsafe

Constructor methods inherited from module Gtk::Buildable

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::Buildable

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::Accessible

accessible_parent : Gtk::Accessible | Nil accessible_parent, accessible_role : Gtk::AccessibleRole accessible_role, accessible_role=(value : Gtk::AccessibleRole) : Gtk::AccessibleRole accessible_role=, announce(message : String, priority : Gtk::AccessibleAnnouncementPriority) : Nil announce, at_context : Gtk::ATContext at_context, bounds(x : Int32, y : Int32, width : Int32, height : Int32) : Bool bounds, first_accessible_child : Gtk::Accessible | Nil first_accessible_child, next_accessible_sibling : Gtk::Accessible | Nil next_accessible_sibling, platform_state(state : Gtk::AccessiblePlatformState) : Bool platform_state, reset_property(property : Gtk::AccessibleProperty) : Nil reset_property, reset_relation(relation : Gtk::AccessibleRelation) : Nil reset_relation, reset_state(state : Gtk::AccessibleState) : Nil reset_state, set_accessible_parent(parent : Gtk::Accessible | Nil, next_sibling : Gtk::Accessible | Nil) : Nil set_accessible_parent, to_unsafe to_unsafe, update_next_accessible_sibling(new_sibling : Gtk::Accessible | Nil) : Nil update_next_accessible_sibling, update_platform_state(state : Gtk::AccessiblePlatformState) : Nil update_platform_state, update_property(properties : Enumerable(Gtk::AccessibleProperty), values : Enumerable(_)) : Nil update_property, update_relation(relations : Enumerable(Gtk::AccessibleRelation), values : Enumerable(_)) : Nil update_relation, update_state(states : Enumerable(Gtk::AccessibleState), values : Enumerable(_)) : Nil update_state

Constructor methods inherited from module Gtk::Accessible

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::Accessible

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

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(adjustment : Gtk::Adjustment | Nil, climb_rate : Float64, digits : UInt32) : self #

Creates a new Gtk::SpinButton.


def self.new #

Initialize a new SpinButton.


def self.new(*, accessible_role : Gtk::AccessibleRole | Nil = nil, activates_default : Bool | Nil = nil, adjustment : Gtk::Adjustment | Nil = nil, can_focus : Bool | Nil = nil, can_target : Bool | Nil = nil, climb_rate : Float64 | Nil = nil, css_classes : Enumerable(String) | Nil = nil, css_name : String | Nil = nil, cursor : Gdk::Cursor | Nil = nil, cursor_position : Int32 | Nil = nil, digits : UInt32 | Nil = nil, editable : Bool | Nil = nil, editing_canceled : Bool | Nil = nil, enable_undo : Bool | Nil = nil, focus_on_click : Bool | Nil = nil, focusable : Bool | Nil = nil, halign : Gtk::Align | Nil = nil, has_default : Bool | Nil = nil, has_focus : Bool | Nil = nil, has_tooltip : Bool | Nil = nil, height_request : Int32 | Nil = nil, hexpand : Bool | Nil = nil, hexpand_set : Bool | Nil = nil, layout_manager : Gtk::LayoutManager | Nil = nil, limit_events : Bool | Nil = nil, margin_bottom : Int32 | Nil = nil, margin_end : Int32 | Nil = nil, margin_start : Int32 | Nil = nil, margin_top : Int32 | Nil = nil, max_width_chars : Int32 | Nil = nil, name : String | Nil = nil, numeric : Bool | Nil = nil, opacity : Float64 | Nil = nil, orientation : Gtk::Orientation | Nil = nil, overflow : Gtk::Overflow | Nil = nil, parent : Gtk::Widget | Nil = nil, receives_default : Bool | Nil = nil, root : Gtk::Root | Nil = nil, scale_factor : Int32 | Nil = nil, selection_bound : Int32 | Nil = nil, sensitive : Bool | Nil = nil, snap_to_ticks : Bool | Nil = nil, text : String | Nil = nil, tooltip_markup : String | Nil = nil, tooltip_text : String | Nil = nil, update_policy : Gtk::SpinButtonUpdatePolicy | Nil = nil, valign : Gtk::Align | Nil = nil, value : Float64 | Nil = nil, vexpand : Bool | Nil = nil, vexpand_set : Bool | Nil = nil, visible : Bool | Nil = nil, width_chars : Int32 | Nil = nil, width_request : Int32 | Nil = nil, wrap : Bool | Nil = nil, xalign : Float32 | Nil = nil) #

def self.new_with_range(min : Float64, max : Float64, step : Float64) : self #

Creates a new Gtk::SpinButton with the given properties.

This is a convenience constructor that allows creation of a numeric Gtk::SpinButton without manually creating an adjustment. The value is initially set to the minimum value and a page increment of 10 * step is the default. The precision of the spin button is equivalent to the precision of step.

Note that the way in which the precision is derived works best if step is a power of ten. If the resulting precision is not suitable for your needs, use Gtk::SpinButton#digits= to correct it.


Class Method Detail

def self.g_type : UInt64 #

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


Instance Method Detail

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

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


def activate_signal #

def activates_default : Bool #

Retrieves the value set by Gtk::SpinButton#activates_default=.


def activates_default=(activates_default : Bool) : Nil #

Sets whether activating the spin button will activate the default widget for the window containing the spin button.

See Gtk::SpinButton::#activate for what counts as activation.


def activates_default? : Bool #

def adjustment : Gtk::Adjustment #

Get the adjustment associated with a Gtk::SpinButton.


def adjustment=(adjustment : Gtk::Adjustment) : Nil #

Replaces the Gtk::Adjustment associated with spin_button.


def adjustment=(value : Gtk::Adjustment | Nil) : Gtk::Adjustment | Nil #

def change_value_signal #

def climb_rate : Float64 #

Returns the acceleration rate for repeated changes.


def climb_rate=(climb_rate : Float64) : Nil #

Sets the acceleration rate for repeated changes when you hold down a button or key.


def configure(adjustment : Gtk::Adjustment | Nil, climb_rate : Float64, digits : UInt32) : Nil #

Changes the properties of an existing spin button.

The adjustment, climb rate, and number of decimal places are updated accordingly.


def digits : UInt32 #

Fetches the precision of spin_button.


def digits=(digits : UInt32) : Nil #

Set the precision to be displayed by spin_button.

Up to 20 digit precision is allowed.


def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def increments : Nil #

Gets the current step and page the increments used by spin_button.

See Gtk::SpinButton#increments=.


def input_signal #

def numeric : Bool #

Returns whether non-numeric text can be typed into the spin button.


def numeric=(numeric : Bool) : Nil #

Sets the flag that determines if non-numeric text can be typed into the spin button.


def numeric? : Bool #

def output_signal #

def range : Nil #

Gets the range allowed for spin_button.

See Gtk::SpinButton#range=.


def set_increments(step : Float64, page : Float64) : Nil #

Sets the step and page increments for spin_button.

This affects how quickly the value changes when the spin button’s arrows are activated.


def set_range(min : Float64, max : Float64) : Nil #

Sets the minimum and maximum allowable values for spin_button.

If the current value is outside this range, it will be adjusted to fit within the range, otherwise it will remain unchanged.


def snap_to_ticks : Bool #

Returns whether the values are corrected to the nearest step.


def snap_to_ticks=(snap_to_ticks : Bool) : Nil #

Sets the policy as to whether values are corrected to the nearest step increment when a spin button is activated after providing an invalid value.


def snap_to_ticks? : Bool #

def spin(direction : Gtk::SpinType, increment : Float64) : Nil #

Increment or decrement a spin button’s value in a specified direction by a specified amount.


def update : Nil #

Manually force an update of the spin button.


def update_policy : Gtk::SpinButtonUpdatePolicy #

Gets the update behavior of a spin button.

See Gtk::SpinButton#update_policy=.


def update_policy=(policy : Gtk::SpinButtonUpdatePolicy) : Nil #

Sets the update behavior of a spin button.

This determines whether the spin button is always updated or only when a valid value is set.


def value : Float64 #

Get the value in the spin_button.


def value=(value : Float64) : Nil #

Sets the value of spin_button.


def value_as_int : Int32 #

Get the value spin_button represented as an integer.


def value_changed_signal #

def wrap : Bool #

Returns whether the spin button’s value wraps around to the opposite limit when the upper or lower limit of the range is exceeded.


def wrap=(wrap : Bool) : Nil #

Sets the flag that determines if a spin button value wraps around to the opposite limit when the upper or lower limit of the range is exceeded.


def wrap? : Bool #

def wrapped_signal #