Class: Glimmer::SWT::CommandHandlers::WidgetListenerCommandHandler

Inherits:
Object
  • Object
show all
Includes:
CommandHandler
Defined in:
lib/glimmer/swt/command_handlers/widget_listener_command_handler.rb

Defined Under Namespace

Classes: ListenerParent

Instance Method Summary collapse

Instance Method Details

#can_handle?(parent, command_symbol, *args, &block) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/glimmer/swt/command_handlers/widget_listener_command_handler.rb', line 12

def can_handle?(parent, command_symbol, *args, &block)
  Glimmer.logger.debug "parent is a widget: " + (parent.is_a?(GWidget)).to_s
  return unless parent.is_a?(GWidget)
  Glimmer.logger.debug "on listener?: " + (command_symbol.to_s[0,3] == "on_").to_s
  return unless command_symbol.to_s[0,3] == "on_"
  Glimmer.logger.debug "command symbol is longer than 3: " + (command_symbol.to_s.length > 3).to_s
  return unless command_symbol.to_s.length > 3
  Glimmer.logger.debug "args are 0?: " + (args.size == 0).to_s
  return unless args.size == 0
  Glimmer.logger.debug "can add listener? " + (parent.can_add_listener?(command_symbol.to_s[3, command_symbol.to_s.length])).to_s
  parent.can_add_listener?(command_symbol.to_s[3, command_symbol.to_s.length])
end

#do_handle(parent, command_symbol, *args, &block) ⇒ Object



25
26
27
28
# File 'lib/glimmer/swt/command_handlers/widget_listener_command_handler.rb', line 25

def do_handle(parent, command_symbol, *args, &block)
  parent.add_listener(command_symbol.to_s[3, command_symbol.to_s.length], &block)
  ListenerParent.new #TODO refactor and move to models
end