Class: Nuklear::UI::OptionGroup

Inherits:
Base
  • Object
show all
Includes:
Container
Defined in:
lib/nuklear/ui/option_group.rb

Instance Method Summary collapse

Methods included from Container

#commands, #find, #layout_row_dynamic, #method_missing, #run_command, #run_commands, #traverse, #ui_checkbox, #ui_color_picker, #ui_combo, #ui_edit_focus, #ui_edit_string, #ui_layout_row_begin, #ui_layout_row_dynamic, #ui_layout_row_push, #ui_layout_row_static, #ui_layout_row_template_begin, #ui_layout_row_template_dynamic, #ui_layout_row_template_end, #ui_layout_row_template_static, #ui_layout_row_template_variable, #ui_layout_space_begin, #ui_layout_space_end, #ui_layout_space_push, #ui_layout_widget_bounds, #ui_menu_item, #ui_option, #ui_selectable, #ui_window_close

Methods inherited from Base

descendants, #dsl, inherited

Methods included from Enableable

#disable, #disabled=, #disabled?, #enable, #enabled=, #enabled?

Methods included from Events

#event_listeners_for, #on, #trigger

Constructor Details

#initialize(**options) ⇒ OptionGroup

Returns a new instance of OptionGroup.



6
7
8
9
# File 'lib/nuklear/ui/option_group.rb', line 6

def initialize(**options)
  super(**options)
  @options = []
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Nuklear::UI::Container

Instance Method Details

#<<(other) ⇒ Object



15
16
17
18
19
# File 'lib/nuklear/ui/option_group.rb', line 15

def <<(other)
  super other
  @options << other
  other.on(true) { self.selection = other }
end

#selection=(selected) ⇒ Object



11
12
13
# File 'lib/nuklear/ui/option_group.rb', line 11

def selection=(selected)
  @options.each { |option| option.selected = (option == selected) }
end