glimmer-dsl-opal 0.6.0 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
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