class Glimmer::SWT::TabItemProxy

Attributes

content_visible[R]
image[R]
text[R]
tool_tip_text[R]

Public Class Methods

new(parent, args, block) click to toggle source
Calls superclass method Glimmer::SWT::CompositeProxy::new
# File lib/glimmer/swt/tab_item_proxy.rb, line 30
def initialize(parent, args, block)
  super(parent, args, block)
  content {
    on_widget_selected {
      @parent.hide_all_tab_content
      show
    }
  }
end

Public Instance Methods

dispose() click to toggle source
Calls superclass method
# File lib/glimmer/swt/tab_item_proxy.rb, line 70
def dispose
  tab_index = parent.children.to_a.index(self)
  tab_dom_element.remove
  super
  if @content_visible
    @content_visible = false
    parent.hide_all_tab_content
    tab_to_show = parent.children.to_a[tab_index]
    tab_to_show ||= parent.children.to_a[tab_index - 1]
    tab_to_show&.show
  end
end
dom() click to toggle source

This contains the tab content

# File lib/glimmer/swt/tab_item_proxy.rb, line 122
def dom
  tab_item_id = id
  tab_item_class_string = [name, 'hide'].join(' ')
  @dom ||= html {
    div(id: tab_item_id, class: tab_item_class_string) {
    }
  }.to_s
end
hide() click to toggle source
# File lib/glimmer/swt/tab_item_proxy.rb, line 46
def hide
  @content_visible = false
  dom_element.add_class('hide')
  tab_dom_element.remove_class('selected')
end
image=(value) click to toggle source
# File lib/glimmer/swt/tab_item_proxy.rb, line 57
def image=(value)
  @image = value
  if @image.is_a?(String)
    tab_dom_element.find('img').attr('src', @image)
    tab_dom_element.find('img').css('padding-right', '5px')
  end
end
listener_path() click to toggle source
# File lib/glimmer/swt/tab_item_proxy.rb, line 95
def listener_path
  tab_path
end
observation_request_to_event_mapping() click to toggle source
# File lib/glimmer/swt/tab_item_proxy.rb, line 87
def observation_request_to_event_mapping
  {
    'on_widget_selected' => {
      event: 'click'
    },
  }
end
selector() click to toggle source
Calls superclass method
# File lib/glimmer/swt/tab_item_proxy.rb, line 83
def selector
  super + '-tab'
end
show() click to toggle source
# File lib/glimmer/swt/tab_item_proxy.rb, line 40
def show
  @content_visible = true
  dom_element.remove_class('hide')
  tab_dom_element.add_class('selected')
end
tab_dom() click to toggle source

This contains the clickable tab area with tab names

# File lib/glimmer/swt/tab_item_proxy.rb, line 112
def tab_dom
  @tab_dom ||= html {
    a(href: '#', id: tab_id, class: "tab") {
      img {}
      span { @text }
    }
  }.to_s
end
tab_dom_element() click to toggle source
# File lib/glimmer/swt/tab_item_proxy.rb, line 103
def tab_dom_element
  Document.find(tab_path)
end
tab_id() click to toggle source
# File lib/glimmer/swt/tab_item_proxy.rb, line 107
def tab_id
  id + '-tab'
end
tab_path() click to toggle source
# File lib/glimmer/swt/tab_item_proxy.rb, line 99
def tab_path
  "#{parent.tabs_path} > ##{tab_id}"
end
text=(value) click to toggle source
# File lib/glimmer/swt/tab_item_proxy.rb, line 52
def text=(value)
  @text = value
  tab_dom_element.find('span').html(@text)
end
tool_tip_text=(value) click to toggle source
# File lib/glimmer/swt/tab_item_proxy.rb, line 65
def tool_tip_text=(value)
  @tool_tip_text = value
  tab_dom_element.attr('title', @tool_tip_text) if !@tool_tip_text.to_s.empty?
end