class Glimmer::SWT::MessageBoxProxy
Constants
- STYLE
Attributes
message[R]
color: #aaaaaa; float: right; font-weight: bold; margin: 5px;
} .close:hover, .close:focus {
color: #000; text-decoration: none; cursor: pointer;
}
text[R]
color: #aaaaaa; float: right; font-weight: bold; margin: 5px;
} .close:hover, .close:focus {
color: #000; text-decoration: none; cursor: pointer;
}
Public Class Methods
new(parent, args, block)
click to toggle source
# File lib/glimmer/swt/message_box_proxy.rb, line 73 def initialize(parent, args, block) i = 0 @parent = parent @parent = nil if parent.is_a?(LatestShellProxy) @parent ||= DisplayProxy.instance.shells.detect(&:open?) || ShellProxy.new([]) @args = args @block = block @children = Set.new @enabled = true on_widget_selected { hide } DisplayProxy.instance.message_boxes << self end
Public Instance Methods
content(&block)
click to toggle source
# File lib/glimmer/swt/message_box_proxy.rb, line 120 def content(&block) Glimmer::DSL::Engine.add_content(self, Glimmer::DSL::Opal::MessageBoxExpression.new, 'message_box', *@args, &block) end
dom()
click to toggle source
# File lib/glimmer/swt/message_box_proxy.rb, line 140 def dom @dom ||= html { div(id: id, class: "modal #{name}") { div(class: 'message-box-content') { header(class: 'text') { "#{text} " # ensure title area occuppied when there is no text by adding non-breaking space ( ) } tag(_name: 'p', id: 'message', class: 'message') { html_message } input(type: 'button', class: 'close', autofocus: 'autofocus', value: 'OK') } } }.to_s end
hide()
click to toggle source
# File lib/glimmer/swt/message_box_proxy.rb, line 115 def hide dom_element.remove @open = false end
html_message()
click to toggle source
# File lib/glimmer/swt/message_box_proxy.rb, line 93 def html_message message&.gsub("\n", '<br />') end
listener_path()
click to toggle source
# File lib/glimmer/swt/message_box_proxy.rb, line 128 def listener_path path + ' .close' end
message=(msg)
click to toggle source
# File lib/glimmer/swt/message_box_proxy.rb, line 97 def message=(msg) @message = msg dom_element.find('.message-box-content .message').html(html_message) end
observation_request_to_event_mapping()
click to toggle source
# File lib/glimmer/swt/message_box_proxy.rb, line 132 def observation_request_to_event_mapping { 'on_widget_selected' => { event: 'click' }, } end
open()
click to toggle source
# File lib/glimmer/swt/message_box_proxy.rb, line 106 def open shell.open(async: false) unless shell.open? owned_proc = Glimmer::Util::ProcTracker.new(owner: self, invoked_from: :open) { parent.post_initialize_child(self) @open = true } DisplayProxy.instance.async_exec(owned_proc) end
open?()
click to toggle source
# File lib/glimmer/swt/message_box_proxy.rb, line 102 def open? @open end
selector()
click to toggle source
Calls superclass method
# File lib/glimmer/swt/message_box_proxy.rb, line 124 def selector super + ' .close' end
text=(txt)
click to toggle source
# File lib/glimmer/swt/message_box_proxy.rb, line 88 def text=(txt) @text = txt dom_element.find('.message-box-content .text').html(@text) end