class Glimmer::SWT::RowLayoutProxy

Constants

STYLE

Attributes

center[R]
justify[R]
margin_bottom[R]
margin_height[R]
margin_left[R]
margin_right[R]
margin_top[R]
margin_width[R]
pack[R]
spacing[R]
type[R]
wrap[R]

Public Class Methods

new(parent, args) click to toggle source
Calls superclass method Glimmer::SWT::LayoutProxy::new
# File lib/glimmer/swt/row_layout_proxy.rb, line 55
def initialize(parent, args)
  super(parent, args)
  @parent.dom_element.add_class('row-layout')
  self.type = args.first || :horizontal
  self.pack = true
  self.wrap = true
end

Public Instance Methods

center=(center_value) click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 100
def center=(center_value)
  @center = center_value
  # Using padding for width since margin-right isn't getting respected with width 100%
  if @center
    parent.dom_element.add_class("row-layout-center")
  else
    parent.dom_element.remove_class("row-layout-center")
  end
end
dom(widget_dom) click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 76
def dom(widget_dom)
  dom_result = widget_dom
  dom_result += '<br />' if vertical? && @pack
  dom_result
end
fill() click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 91
def fill
  !pack
end
fill=(value) click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 95
def fill=(value)
  # TODO verify this is a correct implementation and interpretation of RowLayout in SWT
  self.pack = !value
end
horizontal?() click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 68
def horizontal?
  @type == :horizontal
end
justify=(justify_value) click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 119
def justify=(justify_value)
  @justify = justify_value
  if @justify
    parent.dom_element.add_class("row-layout-justify")
  else
    parent.dom_element.remove_class("row-layout-justify")
  end
end
margin_bottom=(pixels) click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 152
def margin_bottom=(pixels)
  @margin_bottom = pixels
  # Using padding for width since margin-right isn't getting respected with width 100%
  @parent.dom_element.css('padding-bottom', @margin_bottom)
end
margin_height=(pixels) click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 135
def margin_height=(pixels)
  @margin_height = pixels
  @parent.dom_element.css('padding-top', @margin_height)
  @parent.dom_element.css('padding-bottom', @margin_height)
end
margin_left=(pixels) click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 158
def margin_left=(pixels)
  @margin_left = pixels
  @parent.dom_element.css('padding-left', @margin_left)
end
margin_right=(pixels) click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 147
def margin_right=(pixels)
  @margin_right = pixels
  @parent.dom_element.css('padding-right', @margin_right)
end
margin_top=(pixels) click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 141
def margin_top=(pixels)
  @margin_top = pixels
  # Using padding for width since margin-right isn't getting respected with width 100%
  @parent.dom_element.css('padding-top', @margin_top)
end
margin_width=(pixels) click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 128
def margin_width=(pixels)
  @margin_width = pixels
  # Using padding for width since margin-right isn't getting respected with width 100%
  @parent.dom_element.css('padding-left', @margin_width)
  @parent.dom_element.css('padding-right', @margin_width)
end
pack=(value) click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 82
def pack=(value)
  @pack = value
  if @pack
    @parent.dom_element.remove_class('row-layout-pack-false')
  else
    @parent.dom_element.add_class('row-layout-pack-false')
  end
end
spacing=(spacing) click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 163
def spacing=(spacing)
  @spacing = spacing.to_i
  # TODO implement changes to accomodate layout_data in the future
  @parent.style_element.html css {
    s("##{@parent.id} > *") {
      if horizontal?
        margin_right "#{@spacing}px"
      elsif vertical?
        margin_bottom "#{@spacing}px"
      end
    }
    s("##{@parent.id} > :last-child") {
      if horizontal?
        margin_right 0
      elsif vertical?
        margin_bottom 0
      end
    }
  }.to_s
end
type=(value) click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 63
def type=(value)
  @type = value
  @parent.dom_element.add_class(horizontal? ? 'row-layout-horizontal' : 'row-layout-vertical')
end
vertical?() click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 72
def vertical?
  @type == :vertical
end
wrap=(wrap_value) click to toggle source
# File lib/glimmer/swt/row_layout_proxy.rb, line 110
def wrap=(wrap_value)
  @wrap = wrap_value
  if @wrap
    parent.dom_element.add_class("row-layout-wrap")
  else
    parent.dom_element.remove_class("row-layout-wrap")
  end
end