class Glimmer::SWT::LabelProxy

Attributes

background_image[R]
image[R]
separator[R]
separator?[R]
text[R]
vertical[R]
vertical?[R]

Public Class Methods

new(parent, args, block) click to toggle source
Calls superclass method
# File lib/glimmer/swt/label_proxy.rb, line 32
def initialize(parent, args, block)
  @separator = args.detect { |arg| SWTProxy[arg] == SWTProxy[:separator] }
  @vertical = args.detect { |arg| SWTProxy[arg] == SWTProxy[:vertical] }
  super(parent, args, block)
end

Public Instance Methods

alignment() click to toggle source
# File lib/glimmer/swt/label_proxy.rb, line 69
def alignment
  if @alignment.nil?
    found_arg = nil
    @alignment = [:left, :center, :right].detect {|align| found_arg = args.detect { |arg| SWTProxy[align] == SWTProxy[arg] } }
    args.delete(found_arg)
  end
  @alignment
end
alignment=(value) click to toggle source
# File lib/glimmer/swt/label_proxy.rb, line 78
def alignment=(value)
  # TODO consider storing swt value in the future instead
  @alignment = value
  dom_element.css('text-align', @alignment.to_s)
end
background_image=(value) click to toggle source

background image is stretched by default

# File lib/glimmer/swt/label_proxy.rb, line 58
def background_image=(value)
  @background_image = value
  dom_element.css('background-image', "url(#{@background_image})")
  dom_element.css('background-repeat', 'no-repeat')
  dom_element.css('background-size', 'cover')
end
dom() click to toggle source
# File lib/glimmer/swt/label_proxy.rb, line 84
def dom
  label_id = id
  label_class = name
  label_style = "text-align: #{alignment}; "
  label_style += "border-top: 1px solid rgb(207, 207, 207); " if separator? && horizontal?
  label_style += "border-right: 1px solid rgb(207, 207, 207); height: 100%; " if separator? && vertical?
  @dom ||= html {
    label(id: label_id, class: label_class, style: label_style) {
      html_text
    }
  }.to_s
end
element() click to toggle source
# File lib/glimmer/swt/label_proxy.rb, line 65
def element
  'label'
end
horizontal() click to toggle source
# File lib/glimmer/swt/label_proxy.rb, line 38
def horizontal
  !vertical
end
Also aliased as: horizontal?
horizontal?()
Alias for: horizontal
html_text() click to toggle source
# File lib/glimmer/swt/label_proxy.rb, line 48
def html_text
  text && CGI.escape_html(text).gsub("\n", '<br />')
end
image=(value) click to toggle source
# File lib/glimmer/swt/label_proxy.rb, line 52
def image=(value)
  @image = value
  dom_element.html("<img src='#{@image}' />")
end
text=(value) click to toggle source
# File lib/glimmer/swt/label_proxy.rb, line 43
def text=(value)
  @text = value
  dom_element.html(html_text) unless @image
end