Class: Glimmer::SWT::MessageBoxProxy
Constant Summary
Constants inherited
from WidgetProxy
WidgetProxy::DEFAULT_INITIALIZERS
Instance Attribute Summary collapse
Attributes inherited from WidgetProxy
#args, #background, #children, #enabled, #font, #foreground, #parent, #path
Instance Method Summary
collapse
Methods inherited from WidgetProxy
#add_child, #add_css_class, #add_css_classes, #add_observer, #apply_property_type_converters, #build_dom, #can_handle_observation_request?, #clear_css_classes, #css_classes, #dispose, #dom_element, #element, for, #handle_observation_request, #has_style?, #id, #id=, #listener_dom_element, max_id_number_for, max_id_numbers, next_id_number_for, #parent_dom_element, #parent_path, #property_type_converters, #remove_css_class, #remove_css_classes, #render, reset_max_id_numbers!, #set_attribute, #style_element, underscored_widget_name, widget_class, widget_exists?, #widget_property_listener_installers
#attribute_getter, #attribute_setter, #get_attribute, #set_attribute
Constructor Details
Returns a new instance of MessageBoxProxy.
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/glimmer/swt/message_box_proxy.rb', line 8
def initialize(parent, args)
i = 0
@parent = parent
@args = args
@children = Set.new
@enabled = true
content do
on_widget_selected {
hide
}
end
end
|
Instance Attribute Details
#message ⇒ Object
Returns the value of attribute message.
6
7
8
|
# File 'lib/glimmer/swt/message_box_proxy.rb', line 6
def message
@message
end
|
#text ⇒ Object
Returns the value of attribute text.
6
7
8
|
# File 'lib/glimmer/swt/message_box_proxy.rb', line 6
def text
@text
end
|
Instance Method Details
#content(&block) ⇒ Object
#document ⇒ Object
31
32
33
34
35
36
37
|
# File 'lib/glimmer/swt/message_box_proxy.rb', line 31
def document
element = self
begin
element = element.parent
end while(element.parent)
element
end
|
#dom ⇒ Object
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
# File 'lib/glimmer/swt/message_box_proxy.rb', line 116
def dom
modal_id = id
modal_style = css
modal_text = text
modal_message = message
modal_class = ['modal', name].join(' ')
@dom ||= html {
div(id: modal_id, style: modal_style, class: modal_class) {
style(class: 'modal-style') {
style_dom_modal_css }
div(class: 'modal-content') {
(class: 'text') {
modal_text
}
tag(_name: 'p', id: 'message', class: 'message') {
modal_message
}
input(type: 'button', class: 'close', autofocus: 'autofocus', value: 'OK')
}
}
}.to_s
end
|
#hide ⇒ Object
43
44
45
|
# File 'lib/glimmer/swt/message_box_proxy.rb', line 43
def hide
dom_element.remove
end
|
#listener_path ⇒ Object
59
60
61
|
# File 'lib/glimmer/swt/message_box_proxy.rb', line 59
def listener_path
path + ' .close'
end
|
#name ⇒ Object
51
52
53
|
# File 'lib/glimmer/swt/message_box_proxy.rb', line 51
def name
'div'
end
|
#observation_request_to_event_mapping ⇒ Object
63
64
65
66
67
68
69
|
# File 'lib/glimmer/swt/message_box_proxy.rb', line 63
def observation_request_to_event_mapping
{
'on_widget_selected' => {
event: 'click'
},
}
end
|
#open ⇒ Object
39
40
41
|
# File 'lib/glimmer/swt/message_box_proxy.rb', line 39
def open
document.add_child(self)
end
|
#selector ⇒ Object
55
56
57
|
# File 'lib/glimmer/swt/message_box_proxy.rb', line 55
def selector
super + ' .close'
end
|
#style_dom_modal_css ⇒ Object
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
# File 'lib/glimmer/swt/message_box_proxy.rb', line 71
def style_dom_modal_css
<<~CSS
.modal {
position: fixed;
z-index: 1;
padding-top: 100px;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgb(0,0,0);
background-color: rgba(0,0,0,0.4);
text-align: center;
}
.modal-content .text {
background: rgb(80, 116, 211);
color: white;
padding: 5px;
}
.modal-content .message {
padding: 20px;
}
.modal-content {
background-color: #fefefe;
padding-bottom: 15px;
border: 1px solid #888;
display: inline-block;
min-width: 200px;
}
CSS
end
|