Class: Glimmer::SWT::WidgetBinding
- Inherits:
-
Object
- Object
- Glimmer::SWT::WidgetBinding
- Includes:
- Glimmer, Observable, Observer
- Defined in:
- lib/glimmer/swt/widget_binding.rb
Instance Attribute Summary collapse
-
#property ⇒ Object
readonly
Returns the value of attribute property.
-
#widget ⇒ Object
readonly
Returns the value of attribute widget.
Instance Method Summary collapse
- #call(value) ⇒ Object
- #evaluate_property ⇒ Object
-
#initialize(model, property, translator = nil) ⇒ WidgetBinding
constructor
A new instance of WidgetBinding.
Methods included from Observer
#add_dependent, #dependents, #dependents_for, proc, #register, #registrations, #registrations_for, #remove_dependent, #unregister, #unregister_all_observables, #unregister_dependents_with_observable
Methods included from Observable
#add_observer, #remove_observer
Methods included from Glimmer
#add_contents, add_contents, dsl, #dsl, extended, included, logger, #method_missing, method_missing
Methods included from Glimmer::SwtPackages
Constructor Details
#initialize(model, property, translator = nil) ⇒ WidgetBinding
Returns a new instance of WidgetBinding.
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/glimmer/swt/widget_binding.rb', line 12 def initialize(model, property, translator = nil) @widget = model @property = property @translator = translator || proc {|value| value} add_contents(@widget) { { |dispose_event| unregister_all_observables } } end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Glimmer
Instance Attribute Details
#property ⇒ Object (readonly)
Returns the value of attribute property.
11 12 13 |
# File 'lib/glimmer/swt/widget_binding.rb', line 11 def property @property end |
#widget ⇒ Object (readonly)
Returns the value of attribute widget.
11 12 13 |
# File 'lib/glimmer/swt/widget_binding.rb', line 11 def @widget end |
Instance Method Details
#call(value) ⇒ Object
22 23 24 25 |
# File 'lib/glimmer/swt/widget_binding.rb', line 22 def call(value) converted_value = translated_value = @translator.call(value) @widget.set_attribute(@property, converted_value) unless evaluate_property == converted_value end |
#evaluate_property ⇒ Object
26 27 28 |
# File 'lib/glimmer/swt/widget_binding.rb', line 26 def evaluate_property @widget..send(@property) end |