Sha256: dcfc80f269104dfaf0a3ab340987738ac7d8291122fb6cb538f2aa97a197717c

Contents?: true

Size: 816 Bytes

Versions: 6

Compression:

Stored size: 816 Bytes

Contents

require File.dirname(__FILE__) + "/../command_handler"
require File.dirname(__FILE__) + "/models/r_widget"
require File.dirname(__FILE__) + "/models/model_observer"

class BindCommandHandler
  include CommandHandler
  
  include_package 'org.eclipse.swt.widgets'

  def can_handle?(parent, command_symbol, *args, &block)
    parent.is_a?(RWidget) and
    command_symbol.to_s == "bind" and
    (((args.size == 2) and
    (args[1].is_a?(Symbol) or args[1].is_a?(String))) or
    ((args.size == 3) and
    (args[1].is_a?(Symbol) or args[1].is_a?(String)) and
    (args[2].is_a?(Symbol) or args[2].is_a?(String)))) and
    block == nil
  end
  
  def do_handle(parent, command_symbol, *args, &block)
    property_type = args[2] if (args.size == 3)
    ModelObserver.new(args[0], args[1].to_s, property_type)
  end
  
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
glimmer-0.1.8.470 lib/command_handlers/bind_command_handler.rb
glimmer-0.1.5.470 lib/command_handlers/bind_command_handler.rb
glimmer-0.1.4.470 lib/command_handlers/bind_command_handler.rb
glimmer-0.1.4.swt.pre.4.7.0 lib/command_handlers/bind_command_handler.rb
glimmer-0.1.3 lib/command_handlers/bind_command_handler.rb
glimmer-0.1.2 lib/command_handlers/bind_command_handler.rb