Sha256: da7fb8579b55c12c51b13c09adf958eb25ff9ebc46da6a862144329ec9f932d0

Contents?: true

Size: 835 Bytes

Versions: 1

Compression:

Stored size: 835 Bytes

Contents

require File.dirname(__FILE__) + "/../../command_handler"
require File.dirname(__FILE__) + "/../custom_widget"
require File.dirname(__FILE__) + "/../g_widget"

module Glimmer
  module SWT
    module CommandHandlers
      class CustomWidgetCommandHandler
        include CommandHandler

        def can_handle?(parent, command_symbol, *args, &block)
          (parent.is_a?(GWidget) || parent.is_a?(CustomWidget)) and
          CustomWidget.for(command_symbol)
        end

        def do_handle(parent, command_symbol, *args, &block)
          options = args.pop if args.last.is_a?(Hash)
          Glimmer.logger.debug "Custom widget #{command_symbol} styles are: [" + args.inspect + "] and options are: #{options}"
          CustomWidget.for(command_symbol).new(parent, *args, options, &block)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
glimmer-0.4.7 lib/glimmer/swt/command_handlers/custom_widget_command_handler.rb