glimmer 0.8.2 → 0.9.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +1 -1
  3. data/README.md +823 -297
  4. data/VERSION +1 -1
  5. data/lib/glimmer.rb +35 -21
  6. data/lib/glimmer/config.rb +7 -12
  7. data/lib/glimmer/data_binding/observable_array.rb +32 -53
  8. data/lib/glimmer/data_binding/observable_model.rb +12 -16
  9. data/lib/glimmer/data_binding/observer.rb +3 -0
  10. data/lib/glimmer/dsl/engine.rb +58 -27
  11. data/lib/glimmer/dsl/expression.rb +0 -7
  12. data/lib/glimmer/dsl/static_expression.rb +2 -2
  13. data/lib/glimmer/excluded_keyword_error.rb +5 -0
  14. metadata +60 -142
  15. data/RUBY_VERSION +0 -1
  16. data/bin/girb +0 -10
  17. data/bin/girb_runner.rb +0 -13
  18. data/bin/glimmer +0 -5
  19. data/icons/scaffold_app.icns +0 -0
  20. data/lib/glimmer/css/rule.rb +0 -25
  21. data/lib/glimmer/css/style_sheet.rb +0 -19
  22. data/lib/glimmer/data_binding/list_selection_binding.rb +0 -52
  23. data/lib/glimmer/data_binding/observable_widget.rb +0 -17
  24. data/lib/glimmer/data_binding/shine.rb +0 -23
  25. data/lib/glimmer/data_binding/table_items_binding.rb +0 -56
  26. data/lib/glimmer/data_binding/tree_items_binding.rb +0 -71
  27. data/lib/glimmer/data_binding/widget_binding.rb +0 -33
  28. data/lib/glimmer/dsl/css/css_expression.rb +0 -21
  29. data/lib/glimmer/dsl/css/dsl.rb +0 -10
  30. data/lib/glimmer/dsl/css/dynamic_property_expression.rb +0 -12
  31. data/lib/glimmer/dsl/css/property_expression.rb +0 -22
  32. data/lib/glimmer/dsl/css/pv_expression.rb +0 -17
  33. data/lib/glimmer/dsl/css/rule_expression.rb +0 -25
  34. data/lib/glimmer/dsl/css/s_expression.rb +0 -26
  35. data/lib/glimmer/dsl/swt/async_exec_expression.rb +0 -14
  36. data/lib/glimmer/dsl/swt/bind_expression.rb +0 -37
  37. data/lib/glimmer/dsl/swt/color_expression.rb +0 -19
  38. data/lib/glimmer/dsl/swt/column_properties_expression.rb +0 -24
  39. data/lib/glimmer/dsl/swt/combo_selection_data_binding_expression.rb +0 -42
  40. data/lib/glimmer/dsl/swt/custom_widget_expression.rb +0 -36
  41. data/lib/glimmer/dsl/swt/data_binding_expression.rb +0 -34
  42. data/lib/glimmer/dsl/swt/dialog_expression.rb +0 -26
  43. data/lib/glimmer/dsl/swt/display_expression.rb +0 -19
  44. data/lib/glimmer/dsl/swt/dsl.rb +0 -28
  45. data/lib/glimmer/dsl/swt/exec_expression.rb +0 -28
  46. data/lib/glimmer/dsl/swt/layout_data_expression.rb +0 -25
  47. data/lib/glimmer/dsl/swt/layout_expression.rb +0 -27
  48. data/lib/glimmer/dsl/swt/list_selection_data_binding_expression.rb +0 -44
  49. data/lib/glimmer/dsl/swt/menu_bar_expression.rb +0 -33
  50. data/lib/glimmer/dsl/swt/menu_expression.rb +0 -32
  51. data/lib/glimmer/dsl/swt/message_box_expression.rb +0 -29
  52. data/lib/glimmer/dsl/swt/observe_expression.rb +0 -32
  53. data/lib/glimmer/dsl/swt/property_expression.rb +0 -22
  54. data/lib/glimmer/dsl/swt/rgb_expression.rb +0 -12
  55. data/lib/glimmer/dsl/swt/rgba_expression.rb +0 -12
  56. data/lib/glimmer/dsl/swt/shell_expression.rb +0 -25
  57. data/lib/glimmer/dsl/swt/swt_expression.rb +0 -25
  58. data/lib/glimmer/dsl/swt/sync_exec_expression.rb +0 -15
  59. data/lib/glimmer/dsl/swt/tab_item_expression.rb +0 -33
  60. data/lib/glimmer/dsl/swt/table_items_data_binding_expression.rb +0 -31
  61. data/lib/glimmer/dsl/swt/tree_items_data_binding_expression.rb +0 -31
  62. data/lib/glimmer/dsl/swt/tree_properties_expression.rb +0 -26
  63. data/lib/glimmer/dsl/swt/widget_expression.rb +0 -35
  64. data/lib/glimmer/dsl/swt/widget_listener_expression.rb +0 -32
  65. data/lib/glimmer/dsl/xml/dsl.rb +0 -11
  66. data/lib/glimmer/dsl/xml/html_expression.rb +0 -25
  67. data/lib/glimmer/dsl/xml/meta_expression.rb +0 -23
  68. data/lib/glimmer/dsl/xml/name_space_expression.rb +0 -37
  69. data/lib/glimmer/dsl/xml/node_parent_expression.rb +0 -33
  70. data/lib/glimmer/dsl/xml/tag_expression.rb +0 -29
  71. data/lib/glimmer/dsl/xml/text_expression.rb +0 -22
  72. data/lib/glimmer/dsl/xml/xml_expression.rb +0 -21
  73. data/lib/glimmer/launcher.rb +0 -199
  74. data/lib/glimmer/package.rb +0 -55
  75. data/lib/glimmer/rake_task.rb +0 -58
  76. data/lib/glimmer/scaffold.rb +0 -582
  77. data/lib/glimmer/swt/color_proxy.rb +0 -53
  78. data/lib/glimmer/swt/display_proxy.rb +0 -88
  79. data/lib/glimmer/swt/font_proxy.rb +0 -72
  80. data/lib/glimmer/swt/layout_data_proxy.rb +0 -84
  81. data/lib/glimmer/swt/layout_proxy.rb +0 -82
  82. data/lib/glimmer/swt/menu_proxy.rb +0 -101
  83. data/lib/glimmer/swt/message_box_proxy.rb +0 -48
  84. data/lib/glimmer/swt/packages.rb +0 -13
  85. data/lib/glimmer/swt/shell_proxy.rb +0 -152
  86. data/lib/glimmer/swt/swt_proxy.rb +0 -106
  87. data/lib/glimmer/swt/tab_item_proxy.rb +0 -65
  88. data/lib/glimmer/swt/table_proxy.rb +0 -150
  89. data/lib/glimmer/swt/tree_proxy.rb +0 -120
  90. data/lib/glimmer/swt/widget_listener_proxy.rb +0 -34
  91. data/lib/glimmer/swt/widget_proxy.rb +0 -489
  92. data/lib/glimmer/ui/custom_shell.rb +0 -45
  93. data/lib/glimmer/ui/custom_widget.rb +0 -244
  94. data/lib/glimmer/util/proc_tracker.rb +0 -16
  95. data/lib/glimmer/xml/depth_first_search_iterator.rb +0 -22
  96. data/lib/glimmer/xml/name_space_visitor.rb +0 -21
  97. data/lib/glimmer/xml/node.rb +0 -75
  98. data/lib/glimmer/xml/node_visitor.rb +0 -13
  99. data/lib/glimmer/xml/xml_visitor.rb +0 -65
  100. data/vendor/swt/linux/swt.jar +0 -0
  101. data/vendor/swt/mac/swt.jar +0 -0
  102. data/vendor/swt/windows/swt.jar +0 -0
metadata CHANGED
@@ -1,177 +1,182 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.9.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - AndyMaleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-11 00:00:00.000000000 Z
11
+ date: 2020-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - "~>"
16
+ - - ">="
17
17
  - !ruby/object:Gem::Version
18
18
  version: 3.1.0
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: 4.0.0
19
22
  name: facets
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: 3.1.0
27
- - !ruby/object:Gem::Dependency
28
- requirement: !ruby/object:Gem::Requirement
29
- requirements:
30
- - - "~>"
31
- - !ruby/object:Gem::Version
32
- version: 1.0.0
33
- name: os
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
30
+ - - "<"
39
31
  - !ruby/object:Gem::Version
40
- version: 1.0.0
32
+ version: 4.0.0
41
33
  - !ruby/object:Gem::Dependency
42
34
  requirement: !ruby/object:Gem::Requirement
43
35
  requirements:
44
36
  - - "~>"
45
37
  - !ruby/object:Gem::Version
46
- version: 1.4.1
47
- name: super_module
48
- type: :runtime
38
+ version: 3.5.0
39
+ name: rspec-mocks
40
+ type: :development
49
41
  prerelease: false
50
42
  version_requirements: !ruby/object:Gem::Requirement
51
43
  requirements:
52
44
  - - "~>"
53
45
  - !ruby/object:Gem::Version
54
- version: 1.4.1
46
+ version: 3.5.0
55
47
  - !ruby/object:Gem::Dependency
56
48
  requirement: !ruby/object:Gem::Requirement
57
49
  requirements:
58
50
  - - "~>"
59
51
  - !ruby/object:Gem::Version
60
- version: 0.3.0
61
- name: nested_inherited_jruby_include_package
62
- type: :runtime
52
+ version: 3.5.0
53
+ name: rspec
54
+ type: :development
63
55
  prerelease: false
64
56
  version_requirements: !ruby/object:Gem::Requirement
65
57
  requirements:
66
58
  - - "~>"
67
59
  - !ruby/object:Gem::Version
68
- version: 0.3.0
60
+ version: 3.5.0
69
61
  - !ruby/object:Gem::Dependency
70
62
  requirement: !ruby/object:Gem::Requirement
71
63
  requirements:
72
64
  - - "~>"
73
65
  - !ruby/object:Gem::Version
74
- version: 2.0.5
75
- name: warbler
76
- type: :runtime
66
+ version: 0.8.1
67
+ name: puts_debuggerer
68
+ type: :development
77
69
  prerelease: false
78
70
  version_requirements: !ruby/object:Gem::Requirement
79
71
  requirements:
80
72
  - - "~>"
81
73
  - !ruby/object:Gem::Version
82
- version: 2.0.5
74
+ version: 0.8.1
83
75
  - !ruby/object:Gem::Dependency
84
76
  requirement: !ruby/object:Gem::Requirement
85
77
  requirements:
86
78
  - - ">="
87
79
  - !ruby/object:Gem::Version
88
80
  version: 10.1.0
81
+ - - "<"
82
+ - !ruby/object:Gem::Version
83
+ version: 14.0.0
89
84
  name: rake
90
- type: :runtime
85
+ type: :development
91
86
  prerelease: false
92
87
  version_requirements: !ruby/object:Gem::Requirement
93
88
  requirements:
94
89
  - - ">="
95
90
  - !ruby/object:Gem::Version
96
91
  version: 10.1.0
92
+ - - "<"
93
+ - !ruby/object:Gem::Version
94
+ version: 14.0.0
97
95
  - !ruby/object:Gem::Dependency
98
96
  requirement: !ruby/object:Gem::Requirement
99
97
  requirements:
100
- - - '='
98
+ - - ">="
101
99
  - !ruby/object:Gem::Version
102
100
  version: 2.3.9
101
+ - - "<"
102
+ - !ruby/object:Gem::Version
103
+ version: 3.0.0
103
104
  name: jeweler
104
- type: :runtime
105
+ type: :development
105
106
  prerelease: false
106
107
  version_requirements: !ruby/object:Gem::Requirement
107
108
  requirements:
108
- - - '='
109
+ - - ">="
109
110
  - !ruby/object:Gem::Version
110
111
  version: 2.3.9
112
+ - - "<"
113
+ - !ruby/object:Gem::Version
114
+ version: 3.0.0
111
115
  - !ruby/object:Gem::Dependency
112
116
  requirement: !ruby/object:Gem::Requirement
113
117
  requirements:
114
- - - '='
118
+ - - ">="
115
119
  - !ruby/object:Gem::Version
116
120
  version: 6.2.1
121
+ - - "<"
122
+ - !ruby/object:Gem::Version
123
+ version: 7.0.0
117
124
  name: rdoc
118
- type: :runtime
125
+ type: :development
119
126
  prerelease: false
120
127
  version_requirements: !ruby/object:Gem::Requirement
121
128
  requirements:
122
- - - '='
129
+ - - ">="
123
130
  - !ruby/object:Gem::Version
124
131
  version: 6.2.1
132
+ - - "<"
133
+ - !ruby/object:Gem::Version
134
+ version: 7.0.0
125
135
  - !ruby/object:Gem::Dependency
126
136
  requirement: !ruby/object:Gem::Requirement
127
137
  requirements:
128
- - - "~>"
138
+ - - '='
129
139
  - !ruby/object:Gem::Version
130
- version: 3.5.0
131
- name: rspec-mocks
140
+ version: 0.8.23
141
+ name: coveralls
132
142
  type: :development
133
143
  prerelease: false
134
144
  version_requirements: !ruby/object:Gem::Requirement
135
145
  requirements:
136
- - - "~>"
146
+ - - '='
137
147
  - !ruby/object:Gem::Version
138
- version: 3.5.0
148
+ version: 0.8.23
139
149
  - !ruby/object:Gem::Dependency
140
150
  requirement: !ruby/object:Gem::Requirement
141
151
  requirements:
142
152
  - - "~>"
143
153
  - !ruby/object:Gem::Version
144
- version: 3.5.0
145
- name: rspec
154
+ version: 0.16.1
155
+ name: simplecov
146
156
  type: :development
147
157
  prerelease: false
148
158
  version_requirements: !ruby/object:Gem::Requirement
149
159
  requirements:
150
160
  - - "~>"
151
161
  - !ruby/object:Gem::Version
152
- version: 3.5.0
162
+ version: 0.16.1
153
163
  - !ruby/object:Gem::Dependency
154
164
  requirement: !ruby/object:Gem::Requirement
155
165
  requirements:
156
166
  - - "~>"
157
167
  - !ruby/object:Gem::Version
158
- version: 0.8.1
159
- name: puts_debuggerer
168
+ version: 0.7.0
169
+ name: simplecov-lcov
160
170
  type: :development
161
171
  prerelease: false
162
172
  version_requirements: !ruby/object:Gem::Requirement
163
173
  requirements:
164
174
  - - "~>"
165
175
  - !ruby/object:Gem::Version
166
- version: 0.8.1
167
- description: "Ruby Desktop Development GUI Library (JRuby on SWT). \n\nChanges: \n\
168
- - `message_box` DSL keyword\n- Table single/multi selection databinding\n- Table\
169
- \ cell editing databinding\n- Enhance table listener events with table_item and\
170
- \ column_index methods\n- Fix `Glimmer::SWT::ShellProxy#pack_same_size` for Linux\n"
176
+ version: 0.7.0
177
+ description: Ruby Desktop Development GUI Library (JRuby on SWT)
171
178
  email: andy.am@gmail.com
172
- executables:
173
- - glimmer
174
- - girb
179
+ executables: []
175
180
  extensions: []
176
181
  extra_rdoc_files:
177
182
  - LICENSE.txt
@@ -179,110 +184,23 @@ extra_rdoc_files:
179
184
  files:
180
185
  - LICENSE.txt
181
186
  - README.md
182
- - RUBY_VERSION
183
187
  - VERSION
184
- - bin/girb
185
- - bin/girb_runner.rb
186
- - bin/glimmer
187
- - icons/scaffold_app.icns
188
188
  - lib/glimmer.rb
189
189
  - lib/glimmer/config.rb
190
- - lib/glimmer/css/rule.rb
191
- - lib/glimmer/css/style_sheet.rb
192
- - lib/glimmer/data_binding/list_selection_binding.rb
193
190
  - lib/glimmer/data_binding/model_binding.rb
194
191
  - lib/glimmer/data_binding/observable.rb
195
192
  - lib/glimmer/data_binding/observable_array.rb
196
193
  - lib/glimmer/data_binding/observable_model.rb
197
- - lib/glimmer/data_binding/observable_widget.rb
198
194
  - lib/glimmer/data_binding/observer.rb
199
- - lib/glimmer/data_binding/shine.rb
200
- - lib/glimmer/data_binding/table_items_binding.rb
201
- - lib/glimmer/data_binding/tree_items_binding.rb
202
- - lib/glimmer/data_binding/widget_binding.rb
203
- - lib/glimmer/dsl/css/css_expression.rb
204
- - lib/glimmer/dsl/css/dsl.rb
205
- - lib/glimmer/dsl/css/dynamic_property_expression.rb
206
- - lib/glimmer/dsl/css/property_expression.rb
207
- - lib/glimmer/dsl/css/pv_expression.rb
208
- - lib/glimmer/dsl/css/rule_expression.rb
209
- - lib/glimmer/dsl/css/s_expression.rb
210
195
  - lib/glimmer/dsl/engine.rb
211
196
  - lib/glimmer/dsl/expression.rb
212
197
  - lib/glimmer/dsl/expression_handler.rb
213
198
  - lib/glimmer/dsl/parent_expression.rb
214
199
  - lib/glimmer/dsl/static_expression.rb
215
- - lib/glimmer/dsl/swt/async_exec_expression.rb
216
- - lib/glimmer/dsl/swt/bind_expression.rb
217
- - lib/glimmer/dsl/swt/color_expression.rb
218
- - lib/glimmer/dsl/swt/column_properties_expression.rb
219
- - lib/glimmer/dsl/swt/combo_selection_data_binding_expression.rb
220
- - lib/glimmer/dsl/swt/custom_widget_expression.rb
221
- - lib/glimmer/dsl/swt/data_binding_expression.rb
222
- - lib/glimmer/dsl/swt/dialog_expression.rb
223
- - lib/glimmer/dsl/swt/display_expression.rb
224
- - lib/glimmer/dsl/swt/dsl.rb
225
- - lib/glimmer/dsl/swt/exec_expression.rb
226
- - lib/glimmer/dsl/swt/layout_data_expression.rb
227
- - lib/glimmer/dsl/swt/layout_expression.rb
228
- - lib/glimmer/dsl/swt/list_selection_data_binding_expression.rb
229
- - lib/glimmer/dsl/swt/menu_bar_expression.rb
230
- - lib/glimmer/dsl/swt/menu_expression.rb
231
- - lib/glimmer/dsl/swt/message_box_expression.rb
232
- - lib/glimmer/dsl/swt/observe_expression.rb
233
- - lib/glimmer/dsl/swt/property_expression.rb
234
- - lib/glimmer/dsl/swt/rgb_expression.rb
235
- - lib/glimmer/dsl/swt/rgba_expression.rb
236
- - lib/glimmer/dsl/swt/shell_expression.rb
237
- - lib/glimmer/dsl/swt/swt_expression.rb
238
- - lib/glimmer/dsl/swt/sync_exec_expression.rb
239
- - lib/glimmer/dsl/swt/tab_item_expression.rb
240
- - lib/glimmer/dsl/swt/table_items_data_binding_expression.rb
241
- - lib/glimmer/dsl/swt/tree_items_data_binding_expression.rb
242
- - lib/glimmer/dsl/swt/tree_properties_expression.rb
243
- - lib/glimmer/dsl/swt/widget_expression.rb
244
- - lib/glimmer/dsl/swt/widget_listener_expression.rb
245
200
  - lib/glimmer/dsl/top_level_expression.rb
246
- - lib/glimmer/dsl/xml/dsl.rb
247
- - lib/glimmer/dsl/xml/html_expression.rb
248
- - lib/glimmer/dsl/xml/meta_expression.rb
249
- - lib/glimmer/dsl/xml/name_space_expression.rb
250
- - lib/glimmer/dsl/xml/node_parent_expression.rb
251
- - lib/glimmer/dsl/xml/tag_expression.rb
252
- - lib/glimmer/dsl/xml/text_expression.rb
253
- - lib/glimmer/dsl/xml/xml_expression.rb
254
201
  - lib/glimmer/error.rb
202
+ - lib/glimmer/excluded_keyword_error.rb
255
203
  - lib/glimmer/invalid_keyword_error.rb
256
- - lib/glimmer/launcher.rb
257
- - lib/glimmer/package.rb
258
- - lib/glimmer/rake_task.rb
259
- - lib/glimmer/scaffold.rb
260
- - lib/glimmer/swt/color_proxy.rb
261
- - lib/glimmer/swt/display_proxy.rb
262
- - lib/glimmer/swt/font_proxy.rb
263
- - lib/glimmer/swt/layout_data_proxy.rb
264
- - lib/glimmer/swt/layout_proxy.rb
265
- - lib/glimmer/swt/menu_proxy.rb
266
- - lib/glimmer/swt/message_box_proxy.rb
267
- - lib/glimmer/swt/packages.rb
268
- - lib/glimmer/swt/shell_proxy.rb
269
- - lib/glimmer/swt/swt_proxy.rb
270
- - lib/glimmer/swt/tab_item_proxy.rb
271
- - lib/glimmer/swt/table_proxy.rb
272
- - lib/glimmer/swt/tree_proxy.rb
273
- - lib/glimmer/swt/widget_listener_proxy.rb
274
- - lib/glimmer/swt/widget_proxy.rb
275
- - lib/glimmer/ui/custom_shell.rb
276
- - lib/glimmer/ui/custom_widget.rb
277
- - lib/glimmer/util/proc_tracker.rb
278
- - lib/glimmer/xml/depth_first_search_iterator.rb
279
- - lib/glimmer/xml/name_space_visitor.rb
280
- - lib/glimmer/xml/node.rb
281
- - lib/glimmer/xml/node_visitor.rb
282
- - lib/glimmer/xml/xml_visitor.rb
283
- - vendor/swt/linux/swt.jar
284
- - vendor/swt/mac/swt.jar
285
- - vendor/swt/windows/swt.jar
286
204
  homepage: http://github.com/AndyObtiva/glimmer
287
205
  licenses:
288
206
  - MIT
@@ -1 +0,0 @@
1
- jruby-9.2.11.1
data/bin/girb DELETED
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- trap "SIGINT" do
4
- # No Op for irb
5
- end
6
-
7
- require_relative '../lib/glimmer/launcher'
8
-
9
- girb_runner = File.expand_path('../girb_runner.rb', __FILE__)
10
- Glimmer::Launcher.new(["irb -r #{girb_runner}"] + ARGV).launch
@@ -1,13 +0,0 @@
1
- require 'puts_debuggerer'
2
-
3
- include Glimmer
4
-
5
- # Hijack Shell#start_event_loop default behavior to ensure disposing a display upon closing a shell inside girb
6
-
7
- Glimmer::SWT::ShellProxy.class_eval do
8
- alias start_event_loop_original start_event_loop
9
- def start_event_loop
10
- start_event_loop_original
11
- Glimmer::SWT::DisplayProxy.instance.dispose
12
- end
13
- end
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require_relative '../lib/glimmer/launcher'
4
-
5
- Glimmer::Launcher.new(ARGV).launch
Binary file
@@ -1,25 +0,0 @@
1
- module Glimmer
2
- module CSS
3
- class Rule
4
- attr_reader :selector, :properties
5
-
6
- def initialize(selector)
7
- @selector = selector
8
- @properties = {}
9
- end
10
-
11
- def add_property(keyword, *args)
12
- keyword = keyword.to_s.downcase.gsub('_', '-')
13
- @properties[keyword] = args.first
14
- end
15
-
16
- def to_css
17
- css = "#{@selector}{"
18
- css << @properties.map { |name, value| "#{name}:#{value}" }.join(';')
19
- css << "}"
20
- end
21
-
22
- alias to_s to_css
23
- end
24
- end
25
- end
@@ -1,19 +0,0 @@
1
- require 'glimmer/css/rule'
2
-
3
- module Glimmer
4
- module CSS
5
- class StyleSheet
6
- attr_reader :rules
7
-
8
- def initialize
9
- @rules = []
10
- end
11
-
12
- def to_css
13
- rules.map(&:to_css).join
14
- end
15
-
16
- alias to_s to_css
17
- end
18
- end
19
- end
@@ -1,52 +0,0 @@
1
- require 'glimmer'
2
- require 'glimmer/data_binding/observable'
3
- require 'glimmer/data_binding/observer'
4
-
5
- module Glimmer
6
- module DataBinding
7
- # SWT List widget selection binding
8
- class ListSelectionBinding
9
- include Glimmer
10
- include Observable
11
- include Observer
12
-
13
- attr_reader :widget_proxy
14
-
15
- PROPERTY_TYPE_UPDATERS = {
16
- :string => lambda { |widget_proxy, value| widget_proxy.swt_widget.select(widget_proxy.swt_widget.index_of(value.to_s)) },
17
- :array => lambda { |widget_proxy, value| widget_proxy.swt_widget.selection=(value || []).to_java(:string) }
18
- }
19
-
20
- PROPERTY_EVALUATORS = {
21
- :string => lambda do |selection_array|
22
- return nil if selection_array.empty?
23
- selection_array[0]
24
- end,
25
- :array => lambda do |selection_array|
26
- selection_array
27
- end
28
- }
29
-
30
- # Initialize with list widget and property_type
31
- # property_type :string represents default list single selection
32
- # property_type :array represents list multi selection
33
- def initialize(widget_proxy, property_type)
34
- property_type = :string if property_type.nil? or property_type == :undefined
35
- @widget_proxy = widget_proxy
36
- @property_type = property_type
37
- @widget_proxy.on_widget_disposed do |dispose_event|
38
- unregister_all_observables
39
- end
40
- end
41
-
42
- def call(value)
43
- PROPERTY_TYPE_UPDATERS[@property_type].call(@widget_proxy, value) unless evaluate_property == value
44
- end
45
-
46
- def evaluate_property
47
- selection_array = @widget_proxy.swt_widget.send('selection').to_a #TODO refactor send('selection') into proper method invocation
48
- PROPERTY_EVALUATORS[@property_type].call(selection_array)
49
- end
50
- end
51
- end
52
- end