Class: Glimmer::DSL::Wx::ControlExpression
- Inherits:
-
Expression
- Object
- Expression
- Glimmer::DSL::Wx::ControlExpression
- Includes:
- ParentExpression
- Defined in:
- lib/glimmer/dsl/wx/control_expression.rb
Instance Method Summary collapse
- #add_content(parent, keyword, *args, &block) ⇒ Object
- #around(parent, keyword, args, block, &interpret_and_add_content) ⇒ Object
- #can_interpret?(parent, keyword, *args, &block) ⇒ Boolean
- #interpret(parent, keyword, *args, &block) ⇒ Object
Instance Method Details
#add_content(parent, keyword, *args, &block) ⇒ Object
52 53 54 55 56 57 |
# File 'lib/glimmer/dsl/wx/control_expression.rb', line 52 def add_content(parent, keyword, *args, &block) = args.last.is_a?(Hash) ? args.last : {post_add_content: true} [:post_add_content] = true if [:post_add_content].nil? super parent&.post_add_content if [:post_add_content] end |
#around(parent, keyword, args, block, &interpret_and_add_content) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/glimmer/dsl/wx/control_expression.rb', line 39 def around(parent, keyword, args, block, &interpret_and_add_content) # TODO refactor/extract this logic to a FrameExpression if keyword == 'frame' ::Wx::App.run do frame_proxy = interpret_and_add_content.call app_name = frame_proxy.app_name || frame_proxy.title self.app_name = app_name unless app_name.nil? end else interpret_and_add_content.call end end |
#can_interpret?(parent, keyword, *args, &block) ⇒ Boolean
31 32 33 |
# File 'lib/glimmer/dsl/wx/control_expression.rb', line 31 def can_interpret?(parent, keyword, *args, &block) Glimmer::Wx::ControlProxy.exists?(keyword) end |
#interpret(parent, keyword, *args, &block) ⇒ Object
35 36 37 |
# File 'lib/glimmer/dsl/wx/control_expression.rb', line 35 def interpret(parent, keyword, *args, &block) Glimmer::Wx::ControlProxy.create(keyword, parent, args, &block) end |