Sha256: ed5584c792f524f8f66b039116740760fffbb825f76a2c5fccc47f540faf270c
Contents?: true
Size: 1.78 KB
Versions: 4
Compression:
Stored size: 1.78 KB
Contents
require File.dirname(__FILE__) + "/../command_handler" require File.dirname(__FILE__) + "/models/g_widget" require File.dirname(__FILE__) + "/models/model_binding" module Glimmer # Responsible for setting up the return value of the bind keyword (command symbol) # as a ModelBinding. It is then used by another command handler like # DataBindingCommandHandler for text and selection properties on Text and Spinner # or TableItemsDataBindingCommandHandler for items in a Table class BindCommandHandler include CommandHandler include_package 'org.eclipse.swt.widgets' def can_handle?(parent, command_symbol, *args, &block) ( parent.is_a?(GWidget) 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) or args[2].is_a?(Hash)) ) or ( (args.size == 4) 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 (args[3].is_a?(Hash)) ) ) and block == nil ) end def do_handle(parent, command_symbol, *args, &block) property_type = args[2] if (args.size == 3) && !args[2].is_a?(Hash) binding_options = args[2] if args[2].is_a?(Hash) binding_options = args[3] if args[3].is_a?(Hash) ModelBinding.new(args[0], args[1].to_s, property_type, binding_options) end end end
Version data entries
4 entries across 4 versions & 1 rubygems