class Glimmer::SWT::ProgressBarProxy

Constants

STYLE

Attributes

indeterminate[R]
indeterminate?[R]
maximum[R]
minimum[RW]
selection[R]
state[RW]
vertical[R]
vertical?[R]

Public Class Methods

new(parent, args, block) click to toggle source
Calls superclass method
# File lib/glimmer/swt/progress_bar_proxy.rb, line 42
def initialize(parent, args, block)
  @vertical = args.detect { |arg| SWTProxy[arg] == SWTProxy[:vertical] }
  @indeterminate = args.detect { |arg| SWTProxy[arg] == SWTProxy[:indeterminate] }
  super(parent, args, block)
  # initialize manually if vertical
  dom_element.progressbar if horizontal?
  self.minimum = 0
  self.selection = false if indeterminate?
end

Public Instance Methods

dom() click to toggle source
# File lib/glimmer/swt/progress_bar_proxy.rb, line 90
def dom
  progress_bar_id = id
  progress_bar_class = name
  progress_bar_class += ' vertical ui-progressbar ui-corner-all ui-widget ui-widget-content' if vertical?
  progress_bar_class += ' indeterminate' if indeterminate?
  @dom ||= html {
    div(id: progress_bar_id, class: progress_bar_class) {
      if vertical?
        div(class: 'ui-progressbar-value ui-corner-left ui-widget-header', style: 'height: 0%;')
      end
    }
  }.to_s
end
element() click to toggle source
# File lib/glimmer/swt/progress_bar_proxy.rb, line 82
def element
  'div'
end
horizontal() click to toggle source
# File lib/glimmer/swt/progress_bar_proxy.rb, line 52
def horizontal
  !vertical
end
Also aliased as: horizontal?
horizontal?()
Alias for: horizontal
maximum=(value) click to toggle source
# File lib/glimmer/swt/progress_bar_proxy.rb, line 64
def maximum=(value)
  @maximum = value
  if horizontal?
    dom_element.progressbar('option', 'max', @maximum - @minimum)
  end
end
minimum=(value) click to toggle source
# File lib/glimmer/swt/progress_bar_proxy.rb, line 57
def minimum=(value)
  @minimum = value
  # re-update maximum and selection since they depend on minimum
  self.maximum = @maximum if @maximum
  self.selection = @selection if @selection
end
selection=(selection_value) click to toggle source
# File lib/glimmer/swt/progress_bar_proxy.rb, line 71
def selection=(selection_value)
  @selection = selection_value
  if horizontal?
    value = @selection ? (@selection - @minimum) : @selection
    dom_element.progressbar('option', 'value', value)
  else
    value = ((@selection - @minimum) / (@maximum - @minimum)) * 100
    selection_dom_element.css('height', "#{value}%")
  end
end
selection_dom_element() click to toggle source
# File lib/glimmer/swt/progress_bar_proxy.rb, line 86
def selection_dom_element
  dom_element.find('.ui-progressbar-value')
end