class Glimmer::SWT::SliderProxy

Attributes

maximum[R]
minimum[R]
page_increment[R]
selection[R]

Public Class Methods

new(parent, args, block) click to toggle source
Calls superclass method
# File lib/glimmer/swt/slider_proxy.rb, line 29
def initialize(parent, args, block)
  super(parent, args, block)
  dom_element.slider
  self.page_increment = 10 # default page increment
end

Public Instance Methods

dom() click to toggle source
# File lib/glimmer/swt/slider_proxy.rb, line 87
def dom
  slider_selection = @selection
  slider_id = id
  slider_style = css
  slider_class = name
  options = {type: 'text', id: slider_id, style: slider_style, class: slider_class, value: slider_selection}
  options = options.merge('disabled': 'disabled') unless @enabled
  @dom ||= html {
    div(options)
  }.to_s
end
element() click to toggle source
# File lib/glimmer/swt/slider_proxy.rb, line 58
def element
  'div'
end
maximum=(value) click to toggle source
# File lib/glimmer/swt/slider_proxy.rb, line 47
def maximum=(value)
  # being compatible with slider quirk in Glimmer DSL for SWT (does not reach max yet max - 10)
  @maximum = value.to_f - 10
  dom_element.slider('option', 'max', @maximum)
end
minimum=(value) click to toggle source
# File lib/glimmer/swt/slider_proxy.rb, line 42
def minimum=(value)
  @minimum = value.to_f
  dom_element.slider('option', 'min', @minimum)
end
observation_request_to_event_mapping() click to toggle source
# File lib/glimmer/swt/slider_proxy.rb, line 62
def observation_request_to_event_mapping
  {
    'on_widget_selected' => [
      {
        event: 'change',
        event_handler: -> (event_listener) {
          -> (event) {
            self.selection = dom_element.slider('option', 'value')
            event_listener.call(event)
          }
        }
      },
      {
        event: 'slidestop',
        event_handler: -> (event_listener) {
          -> (event) {
            self.selection = dom_element.slider('option', 'value')
            event_listener.call(event)
          }
        }
      },
    ],
  }
end
page_increment=(value) click to toggle source
# File lib/glimmer/swt/slider_proxy.rb, line 53
def page_increment=(value)
  @page_increment = value.to_f
  dom_element.slider('option', 'step', @page_increment)
end
selection=(value) click to toggle source
# File lib/glimmer/swt/slider_proxy.rb, line 35
def selection=(value)
  old_value = @selection.to_f
  @selection = value.to_f
  dom_element.slider('option', 'value', @selection)
end
Also aliased as: set_selection
set_selection(value)
Alias for: selection=