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.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +1 -1
  3. data/README.md +213 -104
  4. data/VERSION +1 -1
  5. data/lib/display.rb +1 -1
  6. data/lib/glimmer-dsl-opal.rb +4 -3
  7. data/lib/glimmer-dsl-opal/ext/file.rb +1 -1
  8. data/lib/glimmer-dsl-opal/ext/glimmer/dsl/engine.rb +27 -2
  9. data/lib/glimmer-dsl-opal/samples/elaborate/contact_manager/contact_repository.rb +4 -4
  10. data/lib/glimmer-dsl-opal/samples/elaborate/tic_tac_toe.rb +2 -2
  11. data/lib/glimmer-dsl-opal/samples/hello/hello_browser.rb +1 -1
  12. data/lib/glimmer-dsl-opal/samples/hello/hello_button.rb +1 -1
  13. data/lib/glimmer-dsl-opal/samples/hello/hello_checkbox.rb +1 -1
  14. data/lib/glimmer-dsl-opal/samples/hello/hello_checkbox_group.rb +1 -1
  15. data/lib/glimmer-dsl-opal/samples/hello/hello_combo.rb +1 -1
  16. data/lib/glimmer-dsl-opal/samples/hello/hello_computed.rb +1 -1
  17. data/lib/glimmer-dsl-opal/samples/hello/hello_computed/contact.rb +21 -0
  18. data/lib/glimmer-dsl-opal/samples/hello/hello_custom_shell.rb +1 -1
  19. data/lib/glimmer-dsl-opal/samples/hello/hello_custom_widget.rb +1 -1
  20. data/lib/glimmer-dsl-opal/samples/hello/hello_date_time.rb +1 -1
  21. data/lib/glimmer-dsl-opal/samples/hello/hello_dialog.rb +78 -0
  22. data/lib/glimmer-dsl-opal/samples/hello/hello_group.rb +1 -1
  23. data/lib/glimmer-dsl-opal/samples/hello/hello_list_multi_selection.rb +1 -1
  24. data/lib/glimmer-dsl-opal/samples/hello/hello_list_single_selection.rb +1 -1
  25. data/lib/glimmer-dsl-opal/samples/hello/hello_menu_bar.rb +1 -1
  26. data/lib/glimmer-dsl-opal/samples/hello/hello_message_box.rb +1 -1
  27. data/lib/glimmer-dsl-opal/samples/hello/hello_pop_up_context_menu.rb +1 -1
  28. data/lib/glimmer-dsl-opal/samples/hello/hello_radio.rb +1 -1
  29. data/lib/glimmer-dsl-opal/samples/hello/hello_radio_group.rb +1 -1
  30. data/lib/glimmer-dsl-opal/samples/hello/hello_tab.rb +1 -1
  31. data/lib/glimmer-dsl-opal/samples/hello/hello_table.rb +1 -1
  32. data/lib/glimmer-dsl-opal/samples/hello/hello_world.rb +1 -1
  33. data/lib/glimmer-dsl-swt.rb +1 -1
  34. data/lib/glimmer/dsl/opal/async_exec_expression.rb +1 -1
  35. data/lib/glimmer/dsl/opal/block_property_expression.rb +1 -1
  36. data/lib/glimmer/dsl/opal/checkbox_group_selection_data_binding_expression.rb +1 -1
  37. data/lib/glimmer/dsl/opal/color_expression.rb +1 -1
  38. data/lib/glimmer/dsl/opal/custom_widget_expression.rb +1 -1
  39. data/lib/glimmer/dsl/opal/dialog_expression.rb +20 -0
  40. data/lib/glimmer/dsl/opal/display_expression.rb +1 -1
  41. data/lib/glimmer/dsl/opal/dsl.rb +1 -1
  42. data/lib/glimmer/dsl/opal/exec_expression.rb +1 -1
  43. data/lib/glimmer/dsl/opal/font_expression.rb +1 -1
  44. data/lib/glimmer/dsl/opal/menu_bar_expression.rb +1 -1
  45. data/lib/glimmer/dsl/opal/menu_expression.rb +1 -1
  46. data/lib/glimmer/dsl/opal/message_box_expression.rb +1 -1
  47. data/lib/glimmer/dsl/opal/radio_group_selection_data_binding_expression.rb +1 -1
  48. data/lib/glimmer/dsl/opal/rgb_expression.rb +1 -1
  49. data/lib/glimmer/dsl/opal/rgba_expression.rb +1 -1
  50. data/lib/glimmer/dsl/opal/swt_expression.rb +4 -4
  51. data/lib/glimmer/dsl/opal/sync_exec_expression.rb +1 -1
  52. data/lib/glimmer/swt.rb +1 -1
  53. data/lib/glimmer/swt/color_proxy.rb +1 -1
  54. data/lib/glimmer/swt/composite_proxy.rb +16 -2
  55. data/lib/glimmer/swt/control_editor.rb +1 -1
  56. data/lib/glimmer/swt/custom/checkbox_group.rb +1 -1
  57. data/lib/glimmer/swt/custom/radio_group.rb +1 -1
  58. data/lib/glimmer/swt/dialog_proxy.rb +188 -0
  59. data/lib/glimmer/swt/display_proxy.rb +70 -10
  60. data/lib/glimmer/swt/font_proxy.rb +1 -1
  61. data/lib/glimmer/swt/grid_layout_proxy.rb +11 -16
  62. data/lib/glimmer/swt/label_proxy.rb +22 -1
  63. data/lib/{glimmer-dsl-opal/ext/struct.rb → glimmer/swt/latest_dialog_proxy.rb} +19 -12
  64. data/lib/glimmer/swt/latest_message_box_proxy.rb +25 -1
  65. data/lib/glimmer/swt/latest_shell_proxy.rb +43 -4
  66. data/lib/glimmer/swt/layout_data_proxy.rb +4 -0
  67. data/lib/glimmer/swt/layout_proxy.rb +9 -6
  68. data/lib/glimmer/swt/make_shift_shell_proxy.rb +1 -1
  69. data/lib/glimmer/swt/menu_item_proxy.rb +1 -1
  70. data/lib/glimmer/swt/menu_proxy.rb +3 -3
  71. data/lib/glimmer/swt/message_box_proxy.rb +45 -16
  72. data/lib/glimmer/swt/row_layout_proxy.rb +24 -6
  73. data/lib/glimmer/swt/shell_proxy.rb +43 -9
  74. data/lib/glimmer/swt/style_constantizable.rb +1 -1
  75. data/lib/glimmer/swt/swt_proxy.rb +1 -1
  76. data/lib/glimmer/swt/tab_folder_proxy.rb +1 -1
  77. data/lib/glimmer/swt/table_editor.rb +1 -1
  78. data/lib/glimmer/swt/table_item_proxy.rb +1 -1
  79. data/lib/glimmer/swt/table_proxy.rb +1 -1
  80. data/lib/glimmer/swt/widget_proxy.rb +50 -17
  81. data/lib/glimmer/ui/custom_shell.rb +1 -1
  82. data/lib/glimmer/ui/custom_widget.rb +1 -1
  83. data/lib/glimmer/util/proc_tracker.rb +17 -6
  84. data/lib/net/http.rb +30 -2
  85. data/lib/os.rb +1 -1
  86. metadata +28 -7
  87. 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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.layout.nil?
85
- layout = GridLayoutProxy.new(composite_proxy, [])
86
- composite_proxy.layout = layout
87
- layout.margin_width = 15
88
- layout.margin_height = 15
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.layout.nil?
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.layout&.margin_width.to_i) # TODO - parent.layout&.margin_left.to_i)
139
- menu.dom_element.css('top', mouse_event.y - parent.layout&.margin_height.to_i - 5) # TODO - parent.layout&.margin_top.to_i)
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 pack(*args)
196
- # No Op (just a shim) TODO consider if it should be implemented
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 layout(*args)
200
- # No Op (just a shim) TODO consider if it should be implemented
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.path
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.layout.dom(@dom) if @parent.respond_to?(:layout) && @parent.layout
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
- event_listener.call(event)
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,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
@@ -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
@@ -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
- def initialize(proc)
28
- super(proc)
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
@@ -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
- def post_form(uri, params)
10
- # TODO
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
@@ -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
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.9.1
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: 2020-12-22 00:00:00.000000000 Z
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.5
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.5
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
@@ -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