Class: Gtk::Button

Inherits:
Widget
  • Object
show all
Extended by:
GLib::Deprecatable
Defined in:
lib/gtk3/button.rb,
lib/gtk3/deprecated.rb

Direct Known Subclasses

LinkButton, LockButton, ToggleButton

Instance Method Summary collapse

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(options = {}) ⇒ Gtk::Widget

Creates a new GtkButton containing a label.

If characters in label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use “__” (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button.

Parameters:

  • label (String)

    The text of the button, with an underscore in front of the mnemonic character



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/gtk3/button.rb', line 20

def initialize(options={})
  label = options[:label]
  use_underline = options[:use_underline]
  if use_underline.nil?
    mnemonic = options[:mnemonic]
    if mnemonic
      label = mnemonic
      use_underline = true
    end
  end
  stock = options[:stock_id]
  icon_name = options[:icon_name]
  icon_size = options[:icon_size] || :button

  if label
    if use_underline
      initialize_new_with_mnemonic(label)
    else
      initialize_new_with_label(label)
    end
  elsif stock
    initialize_new_from_stock(stock)
  elsif icon_name
    case icon_size
    when Symbol, String
      icon_size = IconSize.new(icon_size.to_s)
    end
    initialize_new_from_icon_name(icon_name, icon_size)
  else
    initialize_raw
  end
end

Instance Method Details

#can_shrinkBoolean

Retrieves whether the button can be smaller than the natural size of its contents.

Returns:

  • (Boolean)

    true if the button can shrink, and false otherwise

#can_shrink=(can_shrink) ⇒ Boolean

Whether the size of the button can be made smaller than the natural size of its contents.

For text buttons, setting this property will allow ellipsizing the label.

If the contents of a button are an icon or a custom widget, setting this property has no effect.

Parameters:

  • can_shrink (Boolean)

Returns:

  • (Boolean)

    can-shrink

  • (Boolean)

    can-shrink

#can_shrink?Boolean

Whether the size of the button can be made smaller than the natural size of its contents.

For text buttons, setting this property will allow ellipsizing the label.

If the contents of a button are an icon or a custom widget, setting this property has no effect.

Returns:

  • (Boolean)

    can-shrink

#childGtk::Widget

The child widget.

Returns:

#child=(child) ⇒ Gtk::Widget

The child widget.

Parameters:

Returns:

#has_frameBoolean

Returns whether the button has a frame.

Returns:

  • (Boolean)

    true if the button has a frame

#has_frame=(has_frame) ⇒ Boolean

Whether the button has a frame.

Parameters:

  • has_frame (Boolean)

Returns:

  • (Boolean)

    has-frame

  • (Boolean)

    has-frame

#has_frame?Boolean

Whether the button has a frame.

Returns:

  • (Boolean)

    has-frame

#icon_nameString

The name of the icon used to automatically populate the button.

Returns:

  • (String)

    icon-name

#icon_name=(icon_name) ⇒ String

The name of the icon used to automatically populate the button.

Parameters:

  • icon_name (String)

Returns:

  • (String)

    icon-name

  • (String)

    icon-name

#initialize_rawGtk::Widget

Creates a new GtkButton containing a label.

If characters in label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use “__” (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button.

Parameters:

  • label (String)

    The text of the button, with an underscore in front of the mnemonic character

Returns:



# File 'lib/gtk3/button.rb', line 19

#labelString

Text of the label inside the button, if the button contains a label widget.

Returns:

  • (String)

    label

#label=(label) ⇒ String

Text of the label inside the button, if the button contains a label widget.

Parameters:

  • label (String)

Returns:

  • (String)

    label

  • (String)

    label

#use_underlineBoolean

gets whether underlines are interpreted as mnemonics.

See [methodGtk.Button.set_use_underline].

Returns:

  • (Boolean)

    true if an embedded underline in the button label indicates the mnemonic accelerator keys.

#use_underline=(use_underline) ⇒ Boolean

If set, an underline in the text indicates that the following character is to be used as mnemonic.

Parameters:

  • use_underline (Boolean)

Returns:

  • (Boolean)

    use-underline

  • (Boolean)

    use-underline

#use_underline?Boolean

If set, an underline in the text indicates that the following character is to be used as mnemonic.

Returns:

  • (Boolean)

    use-underline