class Glimmer::SWT::ButtonProxy

Attributes

text[R]

Public Class Methods

create(keyword, parent, args, block) click to toggle source
# File lib/glimmer/swt/button_proxy.rb, line 30
def create(keyword, parent, args, block)
  if args.to_a.include?(:radio)
    RadioProxy.new(parent, args, block)
  elsif args.to_a.include?(:check)
    CheckboxProxy.new(parent, args, block)
  elsif args.to_a.include?(:arrow)
    ArrowProxy.new(parent, args, block)
  else
    new(parent, args, block)
  end
end

Public Instance Methods

dom() click to toggle source
# File lib/glimmer/swt/button_proxy.rb, line 79
def dom
  input_text = @text
  input_id = id
  input_style = css
  input_args = {}
  input_disabled = @enabled ? {} : {'disabled': 'disabled'}
  input_args = input_args.merge(type: 'password') if has_style?(:password)
  @dom ||= html {
    button(input_args.merge(id: input_id, class: name, style: input_style, style: 'min-width: 32px; min-height: 32px;').merge(input_disabled)) {
      input_text.to_s == '' ? ' ' : input_text
    }
  }.to_s
end
element() click to toggle source
# File lib/glimmer/swt/button_proxy.rb, line 55
def element
  'button'
end
font=(value) click to toggle source
Calls superclass method
# File lib/glimmer/swt/button_proxy.rb, line 50
def font=(value)
  super(value)
  dom_element.css('height', @font.height + 10) if @font&.height
end
observation_request_to_event_mapping() click to toggle source
# File lib/glimmer/swt/button_proxy.rb, line 59
def observation_request_to_event_mapping
  myself = self
  {
    'on_widget_selected' => {
      event: 'click',
      event_handler: -> (event_listener) {
        -> (event) {
          event.define_singleton_method(:widget) {myself}
          doit = true
          event.define_singleton_method(:doit=) do |value|
            doit = value
          end
          event.define_singleton_method(:doit) { doit }
          event_listener.call(event)
        }
      }
    },
  }
end
text=(value) click to toggle source
# File lib/glimmer/swt/button_proxy.rb, line 45
def text=(value)
  @text = value
  dom_element.html(@text)
end