module BubbleWrap::UIControlWrapper

Public Instance Methods

when(events, options = {}, &block) click to toggle source
# File motion/ui/ui_control_wrapper.rb, line 3
def when(events, options = {}, &block)
  events = BW::Constants.get("UIControlEvent", events)

  @callback ||= {}
  @callback[events] ||= []

  unless options[:append]
    @callback[events] = []
    removeTarget(nil, action: nil, forControlEvents: events)
  end

  @callback[events] << block
  block.weak! if BubbleWrap.use_weak_callbacks?
  addTarget(@callback[events].last, action:'call', forControlEvents: events)
end