glimmer-dsl-opal 0.6.0 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +51 -0
  3. data/README.md +428 -18
  4. data/VERSION +1 -1
  5. data/app/assets/stylesheets/{glimmer.css → glimmer/glimmer.css} +1 -1
  6. data/lib/display.rb +31 -0
  7. data/lib/file.rb +29 -0
  8. data/lib/glimmer-dsl-opal.rb +33 -5
  9. data/lib/glimmer-dsl-opal/ext/date.rb +11 -0
  10. data/lib/glimmer-dsl-opal/ext/struct.rb +37 -0
  11. data/lib/glimmer-dsl-opal/samples/elaborate/tic_tac_toe.rb +23 -0
  12. data/lib/glimmer-dsl-opal/samples/hello/hello_table.rb +283 -0
  13. data/lib/glimmer-dsl-swt.rb +20 -35
  14. data/lib/glimmer/data_binding/table_items_binding.rb +32 -19
  15. data/lib/glimmer/dsl/opal/block_property_expression.rb +41 -0
  16. data/lib/glimmer/dsl/opal/custom_widget_expression.rb +1 -1
  17. data/lib/glimmer/dsl/opal/dsl.rb +2 -0
  18. data/lib/glimmer/dsl/opal/widget_expression.rb +7 -3
  19. data/lib/glimmer/engine.rb +1 -1
  20. data/lib/glimmer/swt/button_proxy.rb +5 -5
  21. data/lib/glimmer/swt/color_proxy.rb +45 -45
  22. data/lib/glimmer/swt/combo_proxy.rb +42 -3
  23. data/lib/glimmer/swt/composite_proxy.rb +7 -3
  24. data/lib/glimmer/swt/control_editor.rb +54 -0
  25. data/lib/glimmer/swt/date_time_proxy.rb +71 -5
  26. data/lib/glimmer/swt/display_proxy.rb +6 -2
  27. data/lib/glimmer/swt/fill_layout_proxy.rb +1 -1
  28. data/lib/glimmer/swt/font_proxy.rb +4 -4
  29. data/lib/glimmer/swt/label_proxy.rb +2 -2
  30. data/lib/glimmer/swt/layout_data_proxy.rb +13 -10
  31. data/lib/glimmer/swt/layout_proxy.rb +5 -5
  32. data/lib/glimmer/swt/list_proxy.rb +2 -2
  33. data/lib/glimmer/swt/message_box_proxy.rb +4 -2
  34. data/lib/glimmer/swt/property_owner.rb +2 -2
  35. data/lib/glimmer/swt/shell_proxy.rb +8 -0
  36. data/lib/glimmer/swt/tab_folder_proxy.rb +2 -2
  37. data/lib/glimmer/swt/tab_item_proxy.rb +7 -7
  38. data/lib/glimmer/swt/table_column_proxy.rb +71 -12
  39. data/lib/glimmer/swt/table_editor.rb +65 -0
  40. data/lib/glimmer/swt/table_item_proxy.rb +50 -7
  41. data/lib/glimmer/swt/table_proxy.rb +581 -14
  42. data/lib/glimmer/swt/text_proxy.rb +49 -1
  43. data/lib/glimmer/swt/widget_proxy.rb +120 -22
  44. data/lib/glimmer/ui/custom_widget.rb +8 -8
  45. data/lib/net/http.rb +1 -5
  46. data/lib/os.rb +36 -0
  47. data/lib/uri.rb +3 -3
  48. metadata +31 -10
  49. data/lib/glimmer/data_binding/ext/observable_model.rb +0 -40
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.6.0
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - AndyMaleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-13 00:00:00.000000000 Z
11
+ date: 2020-12-09 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.1
19
+ version: 1.0.5
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.1
26
+ version: 1.0.5
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: glimmer-dsl-xml
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -67,19 +67,33 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: 1.2.0
69
69
  - !ruby/object:Gem::Dependency
70
- name: puts_debuggerer
70
+ name: to_collection
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.8.1
76
- type: :development
75
+ version: 2.0.1
76
+ type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.8.1
82
+ version: 2.0.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: puts_debuggerer
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: rake
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -217,14 +231,17 @@ files:
217
231
  - app/assets/images/glimmer/images/ui-icons_777777_256x240.png
218
232
  - app/assets/images/glimmer/images/ui-icons_cc0000_256x240.png
219
233
  - app/assets/images/glimmer/images/ui-icons_ffffff_256x240.png
220
- - app/assets/stylesheets/glimmer.css
234
+ - app/assets/stylesheets/glimmer/glimmer.css
221
235
  - app/assets/stylesheets/glimmer/jquery-ui.css
222
236
  - app/assets/stylesheets/glimmer/jquery-ui.structure.css
223
237
  - app/assets/stylesheets/glimmer/jquery-ui.theme.css
224
238
  - app/assets/stylesheets/glimmer/jquery.ui.timepicker.css
239
+ - lib/display.rb
240
+ - lib/file.rb
225
241
  - lib/glimmer-dsl-opal.rb
226
242
  - lib/glimmer-dsl-opal/ext/date.rb
227
243
  - lib/glimmer-dsl-opal/ext/exception.rb
244
+ - lib/glimmer-dsl-opal/ext/struct.rb
228
245
  - lib/glimmer-dsl-opal/samples/elaborate/contact_manager.rb
229
246
  - lib/glimmer-dsl-opal/samples/elaborate/contact_manager/contact.rb
230
247
  - lib/glimmer-dsl-opal/samples/elaborate/contact_manager/contact_manager_presenter.rb
@@ -248,6 +265,7 @@ files:
248
265
  - lib/glimmer-dsl-opal/samples/hello/hello_radio.rb
249
266
  - lib/glimmer-dsl-opal/samples/hello/hello_radio_group.rb
250
267
  - lib/glimmer-dsl-opal/samples/hello/hello_tab.rb
268
+ - lib/glimmer-dsl-opal/samples/hello/hello_table.rb
251
269
  - lib/glimmer-dsl-opal/samples/hello/hello_world.rb
252
270
  - lib/glimmer-dsl-opal/vendor/jquery-ui-timepicker/GPL-LICENSE.txt
253
271
  - lib/glimmer-dsl-opal/vendor/jquery-ui-timepicker/MIT-LICENSE.txt
@@ -269,12 +287,12 @@ files:
269
287
  - lib/glimmer-dsl-opal/vendor/jquery.js
270
288
  - lib/glimmer-dsl-swt.rb
271
289
  - lib/glimmer/data_binding/element_binding.rb
272
- - lib/glimmer/data_binding/ext/observable_model.rb
273
290
  - lib/glimmer/data_binding/list_selection_binding.rb
274
291
  - lib/glimmer/data_binding/observable_element.rb
275
292
  - lib/glimmer/data_binding/table_items_binding.rb
276
293
  - lib/glimmer/dsl/opal/async_exec_expression.rb
277
294
  - lib/glimmer/dsl/opal/bind_expression.rb
295
+ - lib/glimmer/dsl/opal/block_property_expression.rb
278
296
  - lib/glimmer/dsl/opal/checkbox_group_selection_data_binding_expression.rb
279
297
  - lib/glimmer/dsl/opal/color_expression.rb
280
298
  - lib/glimmer/dsl/opal/column_properties_expression.rb
@@ -310,6 +328,7 @@ files:
310
328
  - lib/glimmer/swt/color_proxy.rb
311
329
  - lib/glimmer/swt/combo_proxy.rb
312
330
  - lib/glimmer/swt/composite_proxy.rb
331
+ - lib/glimmer/swt/control_editor.rb
313
332
  - lib/glimmer/swt/custom/checkbox_group.rb
314
333
  - lib/glimmer/swt/custom/radio_group.rb
315
334
  - lib/glimmer/swt/date_time_proxy.rb
@@ -337,6 +356,7 @@ files:
337
356
  - lib/glimmer/swt/tab_folder_proxy.rb
338
357
  - lib/glimmer/swt/tab_item_proxy.rb
339
358
  - lib/glimmer/swt/table_column_proxy.rb
359
+ - lib/glimmer/swt/table_editor.rb
340
360
  - lib/glimmer/swt/table_item_proxy.rb
341
361
  - lib/glimmer/swt/table_proxy.rb
342
362
  - lib/glimmer/swt/text_proxy.rb
@@ -345,6 +365,7 @@ files:
345
365
  - lib/glimmer/ui/custom_widget.rb
346
366
  - lib/glimmer/util/proc_tracker.rb
347
367
  - lib/net/http.rb
368
+ - lib/os.rb
348
369
  - lib/uri.rb
349
370
  homepage: http://github.com/AndyObtiva/glimmer-dsl-opal
350
371
  licenses:
@@ -1,40 +0,0 @@
1
- require 'glimmer/data_binding/observable'
2
- require 'glimmer/data_binding/observer'
3
- require 'glimmer/swt/display_proxy'
4
-
5
- # This ensures all data-binding events happen async and block on modal display
6
-
7
- module Glimmer
8
- module DataBinding
9
- # TODO prefix utility methods with double-underscore
10
- module ObservableModel
11
- include Observable
12
- # include Glimmer
13
-
14
- def add_property_writer_observers(property_name)
15
- property_writer_name = "#{property_name}="
16
- method(property_writer_name)
17
- ensure_array_object_observer(property_name, send(property_name))
18
- begin
19
- method("__original_#{property_writer_name}")
20
- rescue
21
- old_method = self.class.instance_method(property_writer_name)
22
- define_singleton_method("__original_#{property_writer_name}", old_method)
23
- define_singleton_method(property_writer_name) do |value|
24
- old_value = self.send(property_name)
25
- unregister_dependent_observers(property_name, old_value)
26
- self.send("__original_#{property_writer_name}", value)
27
- # Glimmer::Opal::DisplayProxy.instance.async_exec do
28
- notify_observers(property_name)
29
- ensure_array_object_observer(property_name, value, old_value)
30
- # end
31
- end
32
- end
33
- rescue => e
34
- # ignore writing if no property writer exists
35
- Glimmer::Config.logger&.debug "No need to observe property writer: #{property_writer_name}\n#{e.message}\n#{e.backtrace.join("\n")}"
36
- end
37
-
38
- end
39
- end
40
- end