Sha256: db7ae0df2a8d2ac71490263937098d6f9cd72f2116020061f9d39a320a3dd6a3

Contents?: true

Size: 949 Bytes

Versions: 1

Compression:

Stored size: 949 Bytes

Contents

# Copyright (C) 2007-2008 Annas Al Maleh
# Licensed under the LGPL. See /COPYING.LGPL for more details.

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

1 entries across 1 versions & 1 rubygems

Version Path
glimmer-0.1.0.0 src/command_handlers/bind_command_handler.rb