Class: Glimmer::LibUI::ControlProxy::RadioButtonsProxy
- Inherits:
-
Glimmer::LibUI::ControlProxy
- Object
- Glimmer::LibUI::ControlProxy
- Glimmer::LibUI::ControlProxy::RadioButtonsProxy
- Defined in:
- lib/glimmer/libui/control_proxy/radio_buttons_proxy.rb
Overview
Proxy for LibUI radio buttons objects
Follows the Proxy Design Pattern
Constant Summary
Constants inherited from Glimmer::LibUI::ControlProxy
BOOLEAN_PROPERTIES, KEYWORD_ALIASES, STRING_PROPERTIES, TransformProxy
Instance Attribute Summary
Attributes inherited from Glimmer::LibUI::ControlProxy
#args, #block, #content_added, #custom_control, #keyword, #libui, #options, #parent_custom_control, #parent_proxy, #slot
Instance Method Summary collapse
- #data_bind_write(property, model_binding) ⇒ Object
- #items(*values) ⇒ Object (also: #set_items, #items=)
- #selected=(value = nil) ⇒ Object
- #selected_item(value = nil) ⇒ Object (also: #set_selected_item, #selected_item=)
Methods inherited from Glimmer::LibUI::ControlProxy
#append_properties, #append_property, #bind_content, #can_handle_listener?, constant_symbol, #content, control_proxies, control_proxy_class, create, #custom_listener_name_aliases, #custom_listener_names, #default_destroy, #deregister_all_custom_listeners, #deregister_custom_listeners, descendant_keyword_constant_map, #destroy, #destroy_child, #enabled, exists?, #handle_custom_listener, #handle_listener, #has_custom_listener?, image_proxies, #initialize, keyword, #libui_api_keyword, #listeners, #listeners_for, main_window_proxy, map_descendant_keyword_constants_for, menu_proxies, #method_missing, new_control, #notify_custom_listeners, #post_add_content, #post_initialize_child, reset_descendant_keyword_constant_map, #respond_to?, #respond_to_libui?, #send_to_libui, #visible, #window_proxy
Methods included from DataBindable
#data_bind, #data_bind_read, #data_binding_model_attribute_observer_registrations
Methods included from Parent
#children, #post_initialize_child
Constructor Details
This class inherits a constructor from Glimmer::LibUI::ControlProxy
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Glimmer::LibUI::ControlProxy
Instance Method Details
#data_bind_write(property, model_binding) ⇒ Object
58 59 60 61 62 63 64 65 |
# File 'lib/glimmer/libui/control_proxy/radio_buttons_proxy.rb', line 58 def data_bind_write(property, model_binding) case property when 'selected' handle_listener('on_selected') { model_binding.call(selected) } when 'selected_item' handle_listener('on_selected') { model_binding.call(selected_item) } end end |
#items(*values) ⇒ Object Also known as: set_items, items=
31 32 33 34 35 36 37 38 39 |
# File 'lib/glimmer/libui/control_proxy/radio_buttons_proxy.rb', line 31 def items(*values) values = values.first if values.first.is_a?(Array) if values.empty? @values else @values = values @values.each { |value| append value } end end |
#selected=(value = nil) ⇒ Object
53 54 55 56 |
# File 'lib/glimmer/libui/control_proxy/radio_buttons_proxy.rb', line 53 def selected=(value = nil) value ||= -1 super(value) end |
#selected_item(value = nil) ⇒ Object Also known as: set_selected_item, selected_item=
43 44 45 46 47 48 49 |
# File 'lib/glimmer/libui/control_proxy/radio_buttons_proxy.rb', line 43 def selected_item(value = nil) if value.nil? items[selected] else self.selected = items.index(value) || -1 end end |