Class: ComboSelectionDataBindingCommandHandler
- Inherits:
-
Object
- Object
- ComboSelectionDataBindingCommandHandler
- Includes:
- CommandHandler, Glimmer
- Defined in:
- lib/command_handlers/combo_selection_data_binding_command_handler.rb
Instance Method Summary collapse
- #can_handle?(parent, command_symbol, *args, &block) ⇒ Boolean
- #do_handle(parent, command_symbol, *args, &block) ⇒ Object
Methods included from Glimmer
#add_contents, add_contents, dsl, #dsl, extended, included, logger, #method_missing, method_missing
Methods included from SwtPackages
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Glimmer
Instance Method Details
#can_handle?(parent, command_symbol, *args, &block) ⇒ Boolean
10 11 12 13 14 15 16 17 18 |
# File 'lib/command_handlers/combo_selection_data_binding_command_handler.rb', line 10 def can_handle?(parent, command_symbol, *args, &block) parent.is_a?(RWidget) and parent..is_a?(Combo) and command_symbol.to_s == "selection" and args.size == 1 and args[0].is_a?(ModelBinding) and args[0]..is_a?(Array) and block == nil end |
#do_handle(parent, command_symbol, *args, &block) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/command_handlers/combo_selection_data_binding_command_handler.rb', line 20 def do_handle(parent, command_symbol, *args, &block) model_binding = args[0] = WidgetBinding.new(parent, "items") .update(model_binding.) model = model_binding.base_model .observe(model, model_binding.) = WidgetBinding.new(parent, "text") .update(model_binding.evaluate_property) .observe(model, model_binding.property_name_expression) add_contents(parent) { { model_binding.update(.evaluate_property) } } end |