class Glimmer::SWT::LayoutProxy

Attributes

args[R]
parent[R]

Public Class Methods

for(keyword, parent, args) click to toggle source

Factory Method that translates a Glimmer DSL keyword into a WidgetProxy object

# File lib/glimmer/swt/layout_proxy.rb, line 31
def for(keyword, parent, args)
  the_layout_class = layout_class(keyword) || Glimmer::SWT::GridLayoutProxy
  the_layout_class.new(parent, args)
end
layout_class(keyword) click to toggle source
# File lib/glimmer/swt/layout_proxy.rb, line 36
def layout_class(keyword)
  class_name_main = "#{keyword.camelcase(:upper)}Proxy"
  a_layout_class = Glimmer::SWT.const_get(class_name_main.to_sym)
  a_layout_class if a_layout_class.ancestors.include?(Glimmer::SWT::LayoutProxy)
rescue => e
  Glimmer::Config.logger.debug "Layout #{keyword} was not found!"
  nil
end
layout_exists?(keyword) click to toggle source
# File lib/glimmer/swt/layout_proxy.rb, line 45
def layout_exists?(keyword)
  !!layout_class(keyword)
end
new(parent, args) click to toggle source
# File lib/glimmer/swt/layout_proxy.rb, line 52
def initialize(parent, args)
  @parent = parent
  @args = args
  @parent = parent.body_root if @parent.is_a?(Glimmer::UI::CustomWidget)
  @parent.css_classes.each do |css_class|
    @parent.remove_css_class(css_class) if css_class.include?('layout')
  end
  @parent.add_css_class(css_class)
  @parent.layout = self
  self.margin_width = 15 if respond_to?(:margin_width=)
  self.margin_height = 15 if respond_to?(:margin_height=)
end

Public Instance Methods

css_class() click to toggle source
# File lib/glimmer/swt/layout_proxy.rb, line 71
def css_class
  self.class.name.split('::').last.underscore.sub(/_proxy$/, '').gsub('_', '-')
end
dom(widget_dom) click to toggle source

Decorates widget dom. Subclasses may override. Returns widget dom by default.

# File lib/glimmer/swt/layout_proxy.rb, line 76
def dom(widget_dom)
  widget_dom
end
layout​(composite = nil, flush_cache = false) click to toggle source
# File lib/glimmer/swt/layout_proxy.rb, line 65
def layout​(composite = nil, flush_cache = false)
  # TODO implement def layout​(composite = nil, flush_cache = false) as per SWT API
  composite ||= @parent
  initialize(composite, @args)
end