Class: Gtk::Switch
Overview
GtkSwitch is a "light switch" that has two states: on or off.

The user can control which state should be active by clicking the empty area, or by dragging the slider.
GtkSwitch can also express situations where the underlying state changes
with a delay. In this case, the slider position indicates the user's recent
change (represented by the [propertyGtk.Switch:active] property), while the
trough color indicates the present underlying state (represented by the
[propertyGtk.Switch:state] property).

See [signalGtk.Switch::state-set] for details.
CSS nodes
switch
├── image
├── image
╰──
GtkSwitch has four css nodes, the main node with the name switch and
subnodes for the slider and the on and off images. Neither of them is
using any style classes.
Accessibility
GtkSwitch uses the %GTK_ACCESSIBLE_ROLE_SWITCH role.
Instance Method Summary collapse
-
#active ⇒ Boolean
Gets whether the
GtkSwitchis in its “on” or “off” state. -
#active=(active) ⇒ Boolean
Whether the
GtkSwitchwidget is in its on or off state. -
#active? ⇒ Boolean
Whether the
GtkSwitchwidget is in its on or off state. -
#initialize ⇒ Gtk::Widget
constructor
Creates a new
GtkSwitchwidget. -
#state ⇒ Boolean
Gets the underlying state of the
GtkSwitch. -
#state=(state) ⇒ Boolean
The backend state that is controlled by the switch.
-
#state? ⇒ Boolean
The backend state that is controlled by the switch.
Methods inherited from Widget
#accessible_role, #accessible_role=, #action_set_enabled, #activate, #activate_action, #activate_action_variant, #activate_default, #activate_signal, #activate_signal=, #activate_signal_from_name=, #add_binding, #add_binding_action, #add_binding_signal, #add_controller, #add_css_class, #add_events, #add_events_raw, #add_mnemonic_label, #add_shortcut, #add_tick_callback, #allocate, #allocated_baseline, #allocated_height, #allocated_width, #baseline, #bind_template_callback_full, #bind_template_child, #bind_template_child_full, #can_focus, #can_focus=, #can_focus?, #can_target, #can_target=, #can_target?, #child_focus, #child_visible, #child_visible=, #clipboard, #compute_bounds, #compute_expand, #compute_point, #compute_transform, #contains, #create_pango_context, #create_pango_layout, #css_classes, #css_classes=, #css_name, #css_name=, #cursor, #cursor=, #cursor_from_name=, default_direction, default_direction=, #direction, #direction=, #display, #dispose_template, #drag_check_threshold, #drag_dest_set, #drag_dest_set_raw, #drag_source_set, #drag_source_set_raw, #error_bell, #events, #events_raw, #first_child, #focus_child, #focus_child=, #focus_on_click, #focus_on_click=, #focus_on_click?, #focusable, #focusable=, #focusable?, #font_map, #font_map=, #font_options, #font_options=, #frame_clock, #get_allocation, #get_ancestor, #get_color, #get_preferred_size, #get_size, #get_size_request, #get_template_child, #grab_focus, #halign, #halign=, #has_css_class, #has_default, #has_default=, #has_default?, #has_focus, #has_focus=, #has_focus?, #has_tooltip, #has_tooltip=, #has_tooltip?, #has_visible_focus, have_template?, #height, #height_request, #height_request=, #hexpand, #hexpand=, #hexpand?, #hexpand_set, #hexpand_set=, #hexpand_set?, #hide, #in_destruction, #init_template, #insert_action_group, #insert_action_group_raw, #insert_after, #insert_before, #install_action, #install_property_action, #is_ancestor, #is_drawable, #is_focus, #is_sensitive, #is_visible, #keynav_failed, #last_child, #layout_manager, #layout_manager=, #layout_manager_type, #layout_manager_type=, #list_mnemonic_labels, #map, #mapped, #margin_bottom, #margin_bottom=, #margin_end, #margin_end=, #margin_start, #margin_start=, #margin_top, #margin_top=, #measure, #mnemonic_activate, #name, #name=, #native, #next_sibling, #observe_children, #observe_controllers, #opacity, #opacity=, #overflow, #overflow=, #pango_context, #parent, #parent=, #pick, #prev_sibling, #primary_clipboard, #query_action, #queue_allocate, #queue_draw, #queue_resize, #realize, #realized, #receives_default, #receives_default=, #receives_default?, #remove_controller, #remove_css_class, #remove_mnemonic_label, #remove_tick_callback, #render_icon_pixbuf, #render_icon_pixbuf_raw, #request_mode, #root, #root=, #scale_factor, #scale_factor=, #sensitive, #sensitive=, #sensitive?, #set_allocation, set_connect_func, set_connect_func_raw, #set_events, #set_events_raw, #set_size_request, #set_size_request_raw, #set_state_flags, #set_template, #set_template_raw, #settings, #should_layout, #show, #size_allocate, #snapshot_child, #state_flags, #style_context, #style_context_raw, #style_get_property, #style_get_property_raw, #template=, template_children, #template_from_resource=, #template_scope=, #tooltip_markup, #tooltip_markup=, #tooltip_text, #tooltip_text=, #translate_coordinates, #translate_coordinates_raw, #trigger_tooltip_query, #unmap, #unparent, #unrealize, #unset_state_flags, #valign, #valign=, #vexpand, #vexpand=, #vexpand?, #vexpand_set, #vexpand_set=, #vexpand_set?, #visible, #visible=, #visible?, #width, #width_request, #width_request=
Constructor Details
#initialize ⇒ Gtk::Widget
Creates a new GtkSwitch widget.
Instance Method Details
#active ⇒ Boolean
Gets whether the GtkSwitch is in its “on” or “off” state.
#active=(active) ⇒ Boolean
Whether the GtkSwitch widget is in its on or off state.
#active? ⇒ Boolean
Whether the GtkSwitch widget is in its on or off state.
#state ⇒ Boolean
Gets the underlying state of the GtkSwitch.
#state=(state) ⇒ Boolean
The backend state that is controlled by the switch.
Applications should usually set the [propertyGtk.Switch:active] property, except when indicating a change to the backend state which occurs separately from the user's interaction.
See [signalGtk.Switch::state-set] for details.
#state? ⇒ Boolean
The backend state that is controlled by the switch.
Applications should usually set the [propertyGtk.Switch:active] property, except when indicating a change to the backend state which occurs separately from the user's interaction.
See [signalGtk.Switch::state-set] for details.