Module: TkExtensions::MultiBind

Defined in:
lib/tk_extensions.rb

Overview

allow a Tk widget to have multiple bindings for the same event

Instance Method Summary collapse

Instance Method Details

#bind(event, &callback) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/tk_extensions.rb', line 7

def bind(event, &callback)
  @bindings ||= {}

  unless @bindings[event]
    @bindings[event] = []
    super(event) { execute_all_bindings(event) }
  end

  @bindings[event].push(callback)
end

#execute_all_bindings(event) ⇒ Object



18
19
20
# File 'lib/tk_extensions.rb', line 18

def execute_all_bindings(event)
  @bindings[event].each(&:call)
end