Module: Java::javafx::beans::value::ObservableValue
- Defined in:
- lib/jrubyfx/core_ext/observable_value.rb
Overview
JRubyFX DSL extensions for JavaFX ObservableValues
Instance Method Summary collapse
-
#add_change_listener(type = nil, &block) ⇒ Object
call-seq: add_change_listener { |observable, old_value, new_value| block } add_change_listener { |new_value| block }.
-
#add_invalidation_listener(&block) ⇒ Object
call-seq: add_invalidation_listener { |observable| block }.
Instance Method Details
#add_change_listener(type = nil, &block) ⇒ Object
call-seq:
add_change_listener { |observable, old_value, new_value| block }
add_change_listener { |new_value| block }
Add a ruby block to call when the property changes changes
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/jrubyfx/core_ext/observable_value.rb', line 30 def add_change_listener(type=nil, &block) unless type type = :list if self.is_a? Java::javafx::collections::ObservableList type = :map if self.is_a? Java::javafx::collections::ObservableMap end if type == :list || type == :map super(&block) else old_verbose = $VERBOSE begin $VERBOSE = nil addListener(ChangeListener.impl {|name, x, y, z| if block.arity == 1 block.call(z) # just call with new else block.call(x, y, z) end }) ensure # always re-set to old value, even if block raises an exception $VERBOSE = old_verbose end end end |
#add_invalidation_listener(&block) ⇒ Object
call-seq:
add_invalidation_listener { |observable| block }
Add a ruby block to call when the property invalidates itself (bad property!)
61 62 63 64 65 66 67 68 69 70 |
# File 'lib/jrubyfx/core_ext/observable_value.rb', line 61 def add_invalidation_listener(&block) old_verbose = $VERBOSE begin $VERBOSE = nil addListener(InvalidationListener.impl {|name, change| block.call(change) }) ensure # always re-set to old value, even if block raises an exception $VERBOSE = old_verbose end end |