glimmer-dsl-opal 0.9.1 → 0.10.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.txt +1 -1
- data/README.md +213 -104
- data/VERSION +1 -1
- data/lib/display.rb +1 -1
- data/lib/glimmer-dsl-opal.rb +4 -3
- data/lib/glimmer-dsl-opal/ext/file.rb +1 -1
- data/lib/glimmer-dsl-opal/ext/glimmer/dsl/engine.rb +27 -2
- data/lib/glimmer-dsl-opal/samples/elaborate/contact_manager/contact_repository.rb +4 -4
- data/lib/glimmer-dsl-opal/samples/elaborate/tic_tac_toe.rb +2 -2
- data/lib/glimmer-dsl-opal/samples/hello/hello_browser.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_button.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_checkbox.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_checkbox_group.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_combo.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_computed.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_computed/contact.rb +21 -0
- data/lib/glimmer-dsl-opal/samples/hello/hello_custom_shell.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_custom_widget.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_date_time.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_dialog.rb +78 -0
- data/lib/glimmer-dsl-opal/samples/hello/hello_group.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_list_multi_selection.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_list_single_selection.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_menu_bar.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_message_box.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_pop_up_context_menu.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_radio.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_radio_group.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_tab.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_table.rb +1 -1
- data/lib/glimmer-dsl-opal/samples/hello/hello_world.rb +1 -1
- data/lib/glimmer-dsl-swt.rb +1 -1
- data/lib/glimmer/dsl/opal/async_exec_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/block_property_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/checkbox_group_selection_data_binding_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/color_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/custom_widget_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/dialog_expression.rb +20 -0
- data/lib/glimmer/dsl/opal/display_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/dsl.rb +1 -1
- data/lib/glimmer/dsl/opal/exec_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/font_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/menu_bar_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/menu_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/message_box_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/radio_group_selection_data_binding_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/rgb_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/rgba_expression.rb +1 -1
- data/lib/glimmer/dsl/opal/swt_expression.rb +4 -4
- data/lib/glimmer/dsl/opal/sync_exec_expression.rb +1 -1
- data/lib/glimmer/swt.rb +1 -1
- data/lib/glimmer/swt/color_proxy.rb +1 -1
- data/lib/glimmer/swt/composite_proxy.rb +16 -2
- data/lib/glimmer/swt/control_editor.rb +1 -1
- data/lib/glimmer/swt/custom/checkbox_group.rb +1 -1
- data/lib/glimmer/swt/custom/radio_group.rb +1 -1
- data/lib/glimmer/swt/dialog_proxy.rb +188 -0
- data/lib/glimmer/swt/display_proxy.rb +70 -10
- data/lib/glimmer/swt/font_proxy.rb +1 -1
- data/lib/glimmer/swt/grid_layout_proxy.rb +11 -16
- data/lib/glimmer/swt/label_proxy.rb +22 -1
- data/lib/{glimmer-dsl-opal/ext/struct.rb → glimmer/swt/latest_dialog_proxy.rb} +19 -12
- data/lib/glimmer/swt/latest_message_box_proxy.rb +25 -1
- data/lib/glimmer/swt/latest_shell_proxy.rb +43 -4
- data/lib/glimmer/swt/layout_data_proxy.rb +4 -0
- data/lib/glimmer/swt/layout_proxy.rb +9 -6
- data/lib/glimmer/swt/make_shift_shell_proxy.rb +1 -1
- data/lib/glimmer/swt/menu_item_proxy.rb +1 -1
- data/lib/glimmer/swt/menu_proxy.rb +3 -3
- data/lib/glimmer/swt/message_box_proxy.rb +45 -16
- data/lib/glimmer/swt/row_layout_proxy.rb +24 -6
- data/lib/glimmer/swt/shell_proxy.rb +43 -9
- data/lib/glimmer/swt/style_constantizable.rb +1 -1
- data/lib/glimmer/swt/swt_proxy.rb +1 -1
- data/lib/glimmer/swt/tab_folder_proxy.rb +1 -1
- data/lib/glimmer/swt/table_editor.rb +1 -1
- data/lib/glimmer/swt/table_item_proxy.rb +1 -1
- data/lib/glimmer/swt/table_proxy.rb +1 -1
- data/lib/glimmer/swt/widget_proxy.rb +50 -17
- data/lib/glimmer/ui/custom_shell.rb +1 -1
- data/lib/glimmer/ui/custom_widget.rb +1 -1
- data/lib/glimmer/util/proc_tracker.rb +17 -6
- data/lib/net/http.rb +30 -2
- data/lib/os.rb +1 -1
- metadata +28 -7
- data/CHANGELOG.md +0 -194
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2020 Andy Maleh
|
1
|
+
# Copyright (c) 2020-2021 Andy Maleh
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining
|
4
4
|
# a copy of this software and associated documentation files (the
|
@@ -77,15 +77,20 @@ module Glimmer
|
|
77
77
|
def underscored_widget_name(widget_proxy)
|
78
78
|
widget_proxy.class.name.split(/::|\./).last.sub(/Proxy$/, '').underscore
|
79
79
|
end
|
80
|
+
|
81
|
+
def widget_handling_listener
|
82
|
+
@@widget_handling_listener
|
83
|
+
end
|
80
84
|
end
|
81
85
|
|
82
86
|
DEFAULT_INITIALIZERS = {
|
87
|
+
# TODO remove if built in class initializer is taking care of this
|
83
88
|
composite: lambda do |composite_proxy|
|
84
|
-
if composite_proxy.
|
85
|
-
|
86
|
-
composite_proxy.layout =
|
87
|
-
|
88
|
-
|
89
|
+
if composite_proxy.get_layout.nil?
|
90
|
+
the_layout = GridLayoutProxy.new(composite_proxy, [])
|
91
|
+
composite_proxy.layout = the_layout
|
92
|
+
the_layout.margin_width = 15
|
93
|
+
the_layout.margin_height = 15
|
89
94
|
end
|
90
95
|
end,
|
91
96
|
# scrolled_composite: lambda do |scrolled_composite|
|
@@ -100,7 +105,7 @@ module Glimmer
|
|
100
105
|
table_column_proxy.width = 80
|
101
106
|
end,
|
102
107
|
# group: lambda do |group_proxy|
|
103
|
-
# group_proxy.layout = GridLayoutProxy.new(group_proxy, []) if group.
|
108
|
+
# group_proxy.layout = GridLayoutProxy.new(group_proxy, []) if group.get_layout.nil?
|
104
109
|
# end,
|
105
110
|
}
|
106
111
|
|
@@ -135,8 +140,8 @@ module Glimmer
|
|
135
140
|
dom_element.css('position', 'relative')
|
136
141
|
menu&.render
|
137
142
|
menu.dom_element.css('position', 'absolute')
|
138
|
-
menu.dom_element.css('left', mouse_event.x - parent.
|
139
|
-
menu.dom_element.css('top', mouse_event.y - parent.
|
143
|
+
menu.dom_element.css('left', mouse_event.x - parent.get_layout&.margin_width.to_i) # TODO - parent.get_layout&.margin_left.to_i)
|
144
|
+
menu.dom_element.css('top', mouse_event.y - parent.get_layout&.margin_height.to_i - 5) # TODO - parent.get_layout&.margin_top.to_i)
|
140
145
|
@menu_requested = false
|
141
146
|
end
|
142
147
|
}
|
@@ -186,18 +191,31 @@ module Glimmer
|
|
186
191
|
def path
|
187
192
|
"#{parent_path} #{element}##{id}.#{name}"
|
188
193
|
end
|
194
|
+
alias widget_path path # pure path without subchildren modifications
|
189
195
|
|
190
196
|
# Root element representing widget. Must be overridden by subclasses if different from div
|
191
197
|
def element
|
192
198
|
'div'
|
193
199
|
end
|
194
200
|
|
195
|
-
def
|
196
|
-
|
201
|
+
def shell
|
202
|
+
current_widget = self
|
203
|
+
current_widget = current_widget.parent until current_widget.parent.nil?
|
204
|
+
current_widget
|
197
205
|
end
|
198
206
|
|
199
|
-
def
|
200
|
-
|
207
|
+
def parents
|
208
|
+
parents_array = []
|
209
|
+
current_widget = self
|
210
|
+
until current_widget.parent.nil?
|
211
|
+
current_widget = current_widget.parent
|
212
|
+
parents_array << current_widget
|
213
|
+
end
|
214
|
+
parents_array
|
215
|
+
end
|
216
|
+
|
217
|
+
def dialog_ancestor
|
218
|
+
parents.detect {|p| p.is_a?(DialogProxy)}
|
201
219
|
end
|
202
220
|
|
203
221
|
def enabled=(value)
|
@@ -236,7 +254,7 @@ module Glimmer
|
|
236
254
|
alias setFocus set_focus
|
237
255
|
|
238
256
|
def parent_path
|
239
|
-
@parent
|
257
|
+
@parent&.path
|
240
258
|
end
|
241
259
|
|
242
260
|
def parent_dom_element
|
@@ -252,7 +270,6 @@ module Glimmer
|
|
252
270
|
the_parent_dom_element.append(@dom) # TODO make a method attach to allow subclasses to override if needed
|
253
271
|
else
|
254
272
|
old_element.replace_with(@dom)
|
255
|
-
old_element.replace_with(@dom)
|
256
273
|
end
|
257
274
|
observation_requests&.each do |keyword, event_listener_set|
|
258
275
|
event_listener_set.each do |event_listener|
|
@@ -287,7 +304,7 @@ module Glimmer
|
|
287
304
|
# TODO consider passing parent element instead and having table item include a table cell widget only for opal
|
288
305
|
@dom = nil
|
289
306
|
@dom = dom
|
290
|
-
@dom = @parent.
|
307
|
+
@dom = @parent.get_layout.dom(@dom) if @parent.respond_to?(:layout) && @parent.get_layout
|
291
308
|
@dom
|
292
309
|
end
|
293
310
|
|
@@ -633,6 +650,18 @@ module Glimmer
|
|
633
650
|
@event_listener_proxies ||= []
|
634
651
|
end
|
635
652
|
|
653
|
+
def suspend_event_handling
|
654
|
+
@event_handling_suspended = true
|
655
|
+
end
|
656
|
+
|
657
|
+
def resume_event_handling
|
658
|
+
@event_handling_suspended = false
|
659
|
+
end
|
660
|
+
|
661
|
+
def event_handling_suspended?
|
662
|
+
@event_handling_suspended
|
663
|
+
end
|
664
|
+
|
636
665
|
def can_handle_observation_request?(observation_request)
|
637
666
|
# TODO sort this out for Opal
|
638
667
|
observation_request = observation_request.to_s
|
@@ -662,7 +691,10 @@ module Glimmer
|
|
662
691
|
# TODO look into the issue with using async::task.new here. maybe put it in event listener (like not being able to call preventDefault or return false successfully )
|
663
692
|
# maybe consider pushing inside the widget classes instead where needed only or implement universal doit support correctly to bypass this issue
|
664
693
|
# Async::Task.new do
|
665
|
-
|
694
|
+
@@widget_handling_listener = self
|
695
|
+
# TODO also make sure to disable all widgets for suspension
|
696
|
+
event_listener.call(event) unless dialog_ancestor&.event_handling_suspended?
|
697
|
+
@widget_handling_listener = nil
|
666
698
|
# end
|
667
699
|
end
|
668
700
|
the_listener_dom_element = event_element_css_selector ? Element[event_element_css_selector] : listener_dom_element
|
@@ -896,6 +928,7 @@ require 'glimmer/swt/button_proxy'
|
|
896
928
|
require 'glimmer/swt/combo_proxy'
|
897
929
|
require 'glimmer/swt/checkbox_proxy'
|
898
930
|
require 'glimmer/swt/composite_proxy'
|
931
|
+
require 'glimmer/swt/dialog_proxy'
|
899
932
|
require 'glimmer/swt/date_time_proxy'
|
900
933
|
require 'glimmer/swt/group_proxy'
|
901
934
|
require 'glimmer/swt/label_proxy'
|
@@ -1,5 +1,5 @@
|
|
1
|
-
# Copyright (c) 2020 Andy Maleh
|
2
|
-
#
|
1
|
+
# Copyright (c) 2020-2021 Andy Maleh
|
2
|
+
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining
|
4
4
|
# a copy of this software and associated documentation files (the
|
5
5
|
# "Software"), to deal in the Software without restriction, including
|
@@ -7,10 +7,10 @@
|
|
7
7
|
# distribute, sublicense, and/or sell copies of the Software, and to
|
8
8
|
# permit persons to whom the Software is furnished to do so, subject to
|
9
9
|
# the following conditions:
|
10
|
-
#
|
10
|
+
#
|
11
11
|
# The above copyright notice and this permission notice shall be
|
12
12
|
# included in all copies or substantial portions of the Software.
|
13
|
-
#
|
13
|
+
#
|
14
14
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
15
|
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
16
|
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
@@ -23,17 +23,28 @@ require 'delegate'
|
|
23
23
|
|
24
24
|
module Glimmer
|
25
25
|
module Util
|
26
|
+
# Decorator that provides tracking facilities for Ruby procs, tracking owner (string), invoked_form method name (symbol/string), and called? (boolean)
|
26
27
|
class ProcTracker < DelegateClass(Proc)
|
27
|
-
|
28
|
-
|
28
|
+
attr_reader :owner, :invoked_from
|
29
|
+
|
30
|
+
def initialize(proc = nil, owner: nil, invoked_from: nil, &block)
|
31
|
+
super(proc || block)
|
32
|
+
@owner = owner
|
33
|
+
@invoked_from = invoked_from
|
29
34
|
end
|
35
|
+
|
30
36
|
def call(*args)
|
31
37
|
__getobj__.call(*args)
|
32
38
|
@called = true
|
33
39
|
end
|
40
|
+
|
34
41
|
def called?
|
35
42
|
!!@called
|
36
43
|
end
|
44
|
+
|
45
|
+
def respond_to?(method, *args, &block)
|
46
|
+
%w[owner invoked_from called?].include?(method.to_s) || super(method, *args, &block)
|
47
|
+
end
|
37
48
|
end
|
38
49
|
end
|
39
50
|
end
|
data/lib/net/http.rb
CHANGED
@@ -1,13 +1,41 @@
|
|
1
|
+
# Copyright (c) 2020-2021 Andy Maleh
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
# a copy of this software and associated documentation files (the
|
5
|
+
# "Software"), to deal in the Software without restriction, including
|
6
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
# the following conditions:
|
10
|
+
#
|
11
|
+
# The above copyright notice and this permission notice shall be
|
12
|
+
# included in all copies or substantial portions of the Software.
|
13
|
+
#
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
1
22
|
# Missing Net module class methods TODO implement
|
2
23
|
|
3
24
|
require_relative '../uri'
|
4
25
|
|
5
26
|
module Net
|
6
27
|
# TODO Implement HTTP with jQuery for use in Glimmer DSL for Opal
|
28
|
+
# TODO Re-Implement in Fetch in the future
|
7
29
|
# Note: ignore Protocol superclass for now
|
8
30
|
class HTTP
|
9
|
-
|
10
|
-
|
31
|
+
class << self
|
32
|
+
def post_form(uri, params)
|
33
|
+
response_body = nil
|
34
|
+
result = ::HTTP.post(uri, payload: params) do |response|
|
35
|
+
response_body = response.body
|
36
|
+
end
|
37
|
+
response_body
|
38
|
+
end
|
11
39
|
end
|
12
40
|
end
|
13
41
|
end
|
data/lib/os.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glimmer-dsl-opal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AndyMaleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: glimmer
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.0.
|
19
|
+
version: 1.0.7
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.0.
|
26
|
+
version: 1.0.7
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: glimmer-dsl-xml
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,6 +86,26 @@ dependencies:
|
|
86
86
|
- - "<"
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: 3.0.0
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: pure-struct
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 1.0.2
|
96
|
+
- - "<"
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 2.0.0
|
99
|
+
type: :runtime
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: 1.0.2
|
106
|
+
- - "<"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 2.0.0
|
89
109
|
- !ruby/object:Gem::Dependency
|
90
110
|
name: puts_debuggerer
|
91
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -222,11 +242,9 @@ email: andy.am@gmail.com
|
|
222
242
|
executables: []
|
223
243
|
extensions: []
|
224
244
|
extra_rdoc_files:
|
225
|
-
- CHANGELOG.md
|
226
245
|
- LICENSE.txt
|
227
246
|
- README.md
|
228
247
|
files:
|
229
|
-
- CHANGELOG.md
|
230
248
|
- LICENSE.txt
|
231
249
|
- README.md
|
232
250
|
- VERSION
|
@@ -250,7 +268,6 @@ files:
|
|
250
268
|
- lib/glimmer-dsl-opal/ext/exception.rb
|
251
269
|
- lib/glimmer-dsl-opal/ext/file.rb
|
252
270
|
- lib/glimmer-dsl-opal/ext/glimmer/dsl/engine.rb
|
253
|
-
- lib/glimmer-dsl-opal/ext/struct.rb
|
254
271
|
- lib/glimmer-dsl-opal/samples/elaborate/contact_manager.rb
|
255
272
|
- lib/glimmer-dsl-opal/samples/elaborate/contact_manager/contact.rb
|
256
273
|
- lib/glimmer-dsl-opal/samples/elaborate/contact_manager/contact_manager_presenter.rb
|
@@ -269,6 +286,7 @@ files:
|
|
269
286
|
- lib/glimmer-dsl-opal/samples/hello/hello_custom_shell.rb
|
270
287
|
- lib/glimmer-dsl-opal/samples/hello/hello_custom_widget.rb
|
271
288
|
- lib/glimmer-dsl-opal/samples/hello/hello_date_time.rb
|
289
|
+
- lib/glimmer-dsl-opal/samples/hello/hello_dialog.rb
|
272
290
|
- lib/glimmer-dsl-opal/samples/hello/hello_group.rb
|
273
291
|
- lib/glimmer-dsl-opal/samples/hello/hello_list_multi_selection.rb
|
274
292
|
- lib/glimmer-dsl-opal/samples/hello/hello_list_single_selection.rb
|
@@ -313,6 +331,7 @@ files:
|
|
313
331
|
- lib/glimmer/dsl/opal/combo_selection_data_binding_expression.rb
|
314
332
|
- lib/glimmer/dsl/opal/custom_widget_expression.rb
|
315
333
|
- lib/glimmer/dsl/opal/data_binding_expression.rb
|
334
|
+
- lib/glimmer/dsl/opal/dialog_expression.rb
|
316
335
|
- lib/glimmer/dsl/opal/display_expression.rb
|
317
336
|
- lib/glimmer/dsl/opal/dsl.rb
|
318
337
|
- lib/glimmer/dsl/opal/exec_expression.rb
|
@@ -348,6 +367,7 @@ files:
|
|
348
367
|
- lib/glimmer/swt/custom/checkbox_group.rb
|
349
368
|
- lib/glimmer/swt/custom/radio_group.rb
|
350
369
|
- lib/glimmer/swt/date_time_proxy.rb
|
370
|
+
- lib/glimmer/swt/dialog_proxy.rb
|
351
371
|
- lib/glimmer/swt/display_proxy.rb
|
352
372
|
- lib/glimmer/swt/event_listener_proxy.rb
|
353
373
|
- lib/glimmer/swt/fill_layout_proxy.rb
|
@@ -355,6 +375,7 @@ files:
|
|
355
375
|
- lib/glimmer/swt/grid_layout_proxy.rb
|
356
376
|
- lib/glimmer/swt/group_proxy.rb
|
357
377
|
- lib/glimmer/swt/label_proxy.rb
|
378
|
+
- lib/glimmer/swt/latest_dialog_proxy.rb
|
358
379
|
- lib/glimmer/swt/latest_message_box_proxy.rb
|
359
380
|
- lib/glimmer/swt/latest_shell_proxy.rb
|
360
381
|
- lib/glimmer/swt/layout_data_proxy.rb
|
data/CHANGELOG.md
DELETED
@@ -1,194 +0,0 @@
|
|
1
|
-
# Change Log
|
2
|
-
|
3
|
-
## 0.9.1
|
4
|
-
|
5
|
-
- Log errors to error stream ($stderr) instead of standard out (STDOUT)
|
6
|
-
- Fixed issue with opening shell caused by internalizing the Document.ready? block
|
7
|
-
|
8
|
-
## 0.9.0
|
9
|
-
|
10
|
-
- Support `menu_bar`
|
11
|
-
- Hello, Menu Bar! Sample
|
12
|
-
- Remove the need to call Document.ready? before opening a Glimmer shell
|
13
|
-
- Support opening a message_box before creating a shell
|
14
|
-
|
15
|
-
## 0.8.0
|
16
|
-
|
17
|
-
- Hello, Pop Up Context Menu! Sample
|
18
|
-
- Hello Message Box!
|
19
|
-
- Update hello list samples
|
20
|
-
- Support context menus `menu`/`menu_item` directly under a widget (using jQuery UI)
|
21
|
-
- Support generating new lines when entering `label` `text` with \n (auto-converting to <br />)
|
22
|
-
- Support generating new lines when entering `message_box` `message` with \n (auto-converting to <br />)
|
23
|
-
- Support having any widget contribute static CSS to ShellProxy
|
24
|
-
- Add Kernel#include_package shim to allow running JRuby include_package from Glimmer DSL for SWT without failing
|
25
|
-
- Add WidgetProxy#swt_widget to allow running include_package from Glimmer DSL for SWT without failing
|
26
|
-
|
27
|
-
## 0.7.5
|
28
|
-
|
29
|
-
- Update login sample from Glimmer DSL for SWT's latest changes
|
30
|
-
- Update contact_manager sample from Glimmer DSL for SWT's latest changes
|
31
|
-
- Fixed issue regarding unavailable localStorage data when accessed by custom_widget_expression in hello_checkbox_group, hello_radio_group, and hello_custom_widget
|
32
|
-
|
33
|
-
## 0.7.4
|
34
|
-
|
35
|
-
- Hello, Button! Sample
|
36
|
-
- Fix issue with aligning label as :left, :center, or :right via style style when fill_layout is used
|
37
|
-
- Fix Hello, Browser sample by accessing https ssl website
|
38
|
-
- Fix issue with filling space horizontally when using grid layout
|
39
|
-
- Fix broken embedded `calendar` widget data-binding for hello_date_time.rb sample
|
40
|
-
- Fix broken message_box after opening multiple shells
|
41
|
-
- Fix issue with opening custom shells in new tabs/windows when CustomShell subclass is required conditionally
|
42
|
-
|
43
|
-
## 0.7.3
|
44
|
-
|
45
|
-
- Refactor to use to_collection gem
|
46
|
-
- Fix issue with breaking `date`/`date_drop_down` data-binding as table editor on focus lost
|
47
|
-
- Fix issue with requiring OS, File, and Display class after they've been extracted out
|
48
|
-
|
49
|
-
## 0.7.2
|
50
|
-
|
51
|
-
- `date_drop_down` `table_column` `editor`
|
52
|
-
- `date` `table_column` `editor`
|
53
|
-
- `time` `table_column` `editor`
|
54
|
-
- Implement `on_focus_gained`, `on_focus_lost` universally on all widgets
|
55
|
-
- Add support for Struct keyword_init to Opal
|
56
|
-
- Fix issue with hello_table button/combo not being centered (yet stretched)
|
57
|
-
- Fix issue with table item selection for booking not working after editing has been added
|
58
|
-
- Fix escape keyboard event handling for combo table editor
|
59
|
-
|
60
|
-
## 0.7.1
|
61
|
-
|
62
|
-
- Combo table editor (enabled in Hello, Table! sample)
|
63
|
-
- Fix issue with table cell selection for editing not working
|
64
|
-
- Remove widget from parent upon dispose
|
65
|
-
- Remove listeners upon widget dispose
|
66
|
-
|
67
|
-
## 0.7.0
|
68
|
-
|
69
|
-
- Hello, Table! Sample
|
70
|
-
- `table` :editable style to enable auto-editing
|
71
|
-
- `table` `header_visible` property to hide header when false
|
72
|
-
- `table` `item_count` property to set minimum item count (fill empty rows when below in table items)
|
73
|
-
- `table` selection data-binding
|
74
|
-
- `table` built-in sorting support
|
75
|
-
- `table_column` left text alignment and padding of 5px by default
|
76
|
-
- `table` sort property and direction in GUI
|
77
|
-
- `table_column` sort_property
|
78
|
-
- `table_column` sort_by block
|
79
|
-
- `table_column` sort block
|
80
|
-
- `table` default sort via property, compare block, and property block
|
81
|
-
- `table` additional sort properties
|
82
|
-
- Prevent `table` unnecessary updates by comparing data to previous data and not updating when it's the same
|
83
|
-
- Contact Manager sample support for on_key_pressed in text widgets upon hitting ENTER
|
84
|
-
- Fix issue with edit table item error on sorting table
|
85
|
-
|
86
|
-
## 0.6.1
|
87
|
-
|
88
|
-
- Fix issue with rendering date_time without a block
|
89
|
-
- Made listener event handling async to improve performance when triggering multiple events
|
90
|
-
- Brought Tic Tac Toe sample up-to-date with changes in Glimmer DSL for SWT
|
91
|
-
- Fixed silent error encountered in rendering custom widgets
|
92
|
-
|
93
|
-
## 0.6.0
|
94
|
-
|
95
|
-
- Hello, Date Time! Sample
|
96
|
-
- Support `date_time`, `date`, `date_drop_down`, `time`, `calendar` keywords
|
97
|
-
- Format Date/Time correctly as per SWT implementation by default
|
98
|
-
- Make glimmer-dsl-opal gem into a Rails engine to support importing default static assets like CSS styles and images
|
99
|
-
- Show drop down icon next to `date_drop_down` and `time`
|
100
|
-
|
101
|
-
## 0.5.1
|
102
|
-
|
103
|
-
- Fixed issue with Hello, Combo!, Hello, List...! samples
|
104
|
-
|
105
|
-
## 0.5.0
|
106
|
-
|
107
|
-
- Add `margin_top`, `margin_right`, `margin_bottom`, and `margin_left` to RowLayoutProxy
|
108
|
-
- `radio`
|
109
|
-
- Hello, Radio! Sample
|
110
|
-
- `radio_group`
|
111
|
-
- Hello, Radio Group! Sample
|
112
|
-
- `checkbox`
|
113
|
-
- Hello, Checkbox! Sample
|
114
|
-
- `checkbox_group`
|
115
|
-
- Fix issue with `label` `alignment` property
|
116
|
-
- Fix issues with default `composite` `grid_layout` not getting its styles removed when setting `row_layout`
|
117
|
-
- `button(:radio)` alias for `radio`
|
118
|
-
- `check` alias for `checkbox`
|
119
|
-
- `button(:check)` alias for `checkbox`
|
120
|
-
- Hello, Group! Sample
|
121
|
-
- Group widget
|
122
|
-
|
123
|
-
## 0.4.0
|
124
|
-
|
125
|
-
- Support `display` keyword representing an SWT Display
|
126
|
-
- Support display `on_swt_keydown` event listener (display-wide widget observer)
|
127
|
-
- Support `DisplayProxy#shells` method keeping track of open shell
|
128
|
-
- Make a custom shell open in the same window if there is no shell open already
|
129
|
-
- Support `sync_exec` keyword as just an alias to `async_exec`
|
130
|
-
- Provide a makeshift require for 'glimmer-dsl-swt' that requires 'glimmer-dsl-opal' instead
|
131
|
-
- Fake APIs on the web for OS.os?, File.read, Display.setAppName, Display.setAppVersion
|
132
|
-
- Provide a minimal URI class that supports URI::encode_www_form_component and URI::decode_www_form_component from Ruby
|
133
|
-
|
134
|
-
## 0.3.0
|
135
|
-
|
136
|
-
- Support opening a custom shell in a browser tab/window by passing in query parameters to URL (e.g. ?custom_shell=keyword+option1=value1 etc...)
|
137
|
-
- Make custom shells automatically open in a new tab/window (while standard shells continue to open in the same window by replacing its content)
|
138
|
-
- Hello, Custom Shell! Sample
|
139
|
-
|
140
|
-
## 0.2.0
|
141
|
-
|
142
|
-
- Color support
|
143
|
-
- Font support
|
144
|
-
- Custom Widget Support
|
145
|
-
- Hello, Custom Widget! sample
|
146
|
-
- Updated Hello, Combo! sample to match the latest changes in Glimmer DSL for SWT
|
147
|
-
- `SWT` full re-implementation in Opal as `Glimmer::SWT` with all the `SWT` style constants
|
148
|
-
|
149
|
-
## 0.1.0
|
150
|
-
|
151
|
-
- Code redesign to better match the glimmer-dsl-swt APIs
|
152
|
-
- opal-jquery refactoring
|
153
|
-
- opal-rspec test coverage
|
154
|
-
|
155
|
-
## 0.0.9
|
156
|
-
|
157
|
-
- Upgraded to glimmer gem v0.9.3
|
158
|
-
- Fixed issue with missing Glimmer::Opal::ElementProxy#id=(value) method breaking Contact Manager sample Find feature
|
159
|
-
|
160
|
-
## 0.0.8
|
161
|
-
|
162
|
-
- Contact Manager sample support
|
163
|
-
|
164
|
-
## 0.0.7
|
165
|
-
|
166
|
-
- Tic Tac Toe sample support
|
167
|
-
- Login sample support
|
168
|
-
|
169
|
-
## 0.0.6
|
170
|
-
|
171
|
-
- Hello, Tab! sample support
|
172
|
-
|
173
|
-
## 0.0.5
|
174
|
-
|
175
|
-
- Hello, Browser! sample support
|
176
|
-
|
177
|
-
## 0.0.4
|
178
|
-
|
179
|
-
- Hello, List Single Selection! sample support
|
180
|
-
- Hello, List Multi Selection! sample support
|
181
|
-
|
182
|
-
## 0.0.3
|
183
|
-
|
184
|
-
- Hello, Computed! sample support
|
185
|
-
|
186
|
-
## 0.0.2
|
187
|
-
|
188
|
-
- Hello, Combo! sample support
|
189
|
-
|
190
|
-
## 0.0.1
|
191
|
-
|
192
|
-
- Initial support for webifying Glimmer SWT apps
|
193
|
-
- Support for Shell and Label widgets (text property only).
|
194
|
-
- Hello, World! sample support
|