Class: Glimmer::DSL::SWT::DialogExpression

Inherits:
Expression
  • Object
show all
Includes:
ParentExpression, TopLevelExpression
Defined in:
lib/glimmer/dsl/swt/dialog_expression.rb

Instance Method Summary collapse

Instance Method Details

#can_interpret?(parent, keyword, *args, &block) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
38
39
40
41
# File 'lib/glimmer/dsl/swt/dialog_expression.rb', line 35

def can_interpret?(parent, keyword, *args, &block)
  (
    (keyword == 'dialog') or
    (keyword.to_s.end_with?('dialog') and Glimmer::SWT::DialogProxy.dialog_class(keyword))
  ) and
    (parent.nil? or parent.is_a?(org.eclipse.swt.widgets.Shell) or parent.is_a?(Glimmer::SWT::ShellProxy))
end

#interpret(parent, keyword, *args, &block) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
# File 'lib/glimmer/dsl/swt/dialog_expression.rb', line 43

def interpret(parent, keyword, *args, &block)
  # TODO reconcile this with the actual org.eclipse.swt.widgets.Dialog widget (maybe rename this as dialog_shell)
  if keyword == 'dialog'
    args = [parent] + args unless parent.nil?
    args += [:dialog_trim, :application_modal]
    Glimmer::SWT::ShellProxy.new(*args)
  else
    args = [parent] + args unless parent.nil?
    Glimmer::SWT::DialogProxy.new(keyword, *args)
  end
end