glimmer-dsl-swt 4.22.0.0 → 4.22.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +207 -169
  3. data/README.md +10 -10
  4. data/RUBY_VERSION +1 -1
  5. data/VERSION +1 -1
  6. data/docs/reference/GLIMMER_COMMAND.md +21 -7
  7. data/docs/reference/GLIMMER_CONFIGURATION.md +14 -3
  8. data/docs/reference/GLIMMER_GIRB.md +1 -1
  9. data/docs/reference/GLIMMER_GUI_DSL_SYNTAX.md +743 -113
  10. data/docs/reference/GLIMMER_SAMPLES.md +22 -8
  11. data/glimmer-dsl-swt.gemspec +0 -0
  12. data/lib/ext/glimmer/config.rb +41 -24
  13. data/lib/glimmer/data_binding/observable_widget.rb +6 -6
  14. data/lib/glimmer/data_binding/widget_binding.rb +2 -1
  15. data/lib/glimmer/dsl/swt/dsl.rb +1 -1
  16. data/lib/glimmer/dsl/swt/observe_expression.rb +2 -1
  17. data/lib/glimmer/dsl/swt/shape_expression.rb +1 -0
  18. data/lib/glimmer/dsl/swt/shine_data_binding_expression.rb +3 -8
  19. data/lib/glimmer/dsl/swt/transform_expression.rb +1 -1
  20. data/lib/glimmer/launcher.rb +16 -15
  21. data/lib/glimmer/rake_task/scaffold.rb +5 -16
  22. data/lib/glimmer/swt/color_proxy.rb +5 -5
  23. data/lib/glimmer/swt/custom/drawable.rb +4 -0
  24. data/lib/glimmer/swt/custom/shape/line.rb +0 -1
  25. data/lib/glimmer/swt/custom/shape/path.rb +2 -2
  26. data/lib/glimmer/swt/custom/shape/path_segment.rb +2 -2
  27. data/lib/glimmer/swt/custom/shape/point.rb +8 -1
  28. data/lib/glimmer/swt/custom/shape.rb +171 -69
  29. data/lib/glimmer/swt/display_proxy.rb +15 -10
  30. data/lib/glimmer/swt/image_proxy.rb +5 -5
  31. data/lib/glimmer/swt/message_box_proxy.rb +5 -5
  32. data/lib/glimmer/swt/shape_listener_proxy.rb +55 -0
  33. data/lib/glimmer/swt/shell_proxy.rb +1 -0
  34. data/lib/glimmer/swt/transform_proxy.rb +3 -3
  35. data/lib/glimmer/swt/tray_proxy.rb +4 -4
  36. data/lib/glimmer/swt/widget_proxy.rb +5 -7
  37. data/lib/glimmer/ui/custom_shape.rb +34 -10
  38. data/lib/glimmer/ui/custom_widget.rb +3 -8
  39. data/lib/glimmer-dsl-swt.rb +6 -2
  40. data/samples/elaborate/klondike_solitaire/model/column_pile.rb +0 -1
  41. data/samples/elaborate/klondike_solitaire/view/column_pile.rb +3 -16
  42. data/samples/elaborate/klondike_solitaire/view/dealing_pile.rb +1 -1
  43. data/samples/elaborate/klondike_solitaire/view/dealt_pile.rb +12 -5
  44. data/samples/elaborate/klondike_solitaire/view/empty_playing_card.rb +2 -1
  45. data/samples/elaborate/klondike_solitaire/view/foundation_pile.rb +2 -2
  46. data/samples/elaborate/klondike_solitaire/view/hidden_playing_card.rb +2 -2
  47. data/samples/elaborate/klondike_solitaire/view/klondike_solitaire_menu_bar.rb +60 -0
  48. data/samples/elaborate/klondike_solitaire/view/playing_card.rb +3 -2
  49. data/samples/elaborate/klondike_solitaire.rb +13 -55
  50. data/samples/elaborate/mandelbrot_fractal.rb +3 -1
  51. data/samples/elaborate/quarto/model/game.rb +124 -0
  52. data/samples/elaborate/quarto/model/piece/cube.rb +31 -0
  53. data/samples/elaborate/quarto/model/piece/cylinder.rb +31 -0
  54. data/samples/elaborate/quarto/model/piece.rb +70 -0
  55. data/samples/elaborate/quarto/view/available_pieces_area.rb +72 -0
  56. data/samples/elaborate/quarto/view/board.rb +65 -0
  57. data/samples/elaborate/quarto/view/cell.rb +85 -0
  58. data/samples/elaborate/quarto/view/cube.rb +73 -0
  59. data/samples/elaborate/quarto/view/cylinder.rb +72 -0
  60. data/samples/elaborate/quarto/view/message_box_panel.rb +114 -0
  61. data/samples/elaborate/quarto/view/piece.rb +56 -0
  62. data/samples/elaborate/quarto/view/selected_piece_area.rb +69 -0
  63. data/samples/elaborate/quarto.rb +188 -0
  64. data/samples/hello/hello_canvas_data_binding.rb +7 -7
  65. data/samples/hello/hello_custom_widget.rb +23 -5
  66. metadata +35 -40
  67. data/bin/glimmer_runner.rb +0 -4
data/CHANGELOG.md CHANGED
@@ -1,6 +1,44 @@
1
1
  # Change Log
2
2
 
3
- ### 4.22.0.0
3
+ ## 4.22.2.0
4
+
5
+ - Upgrade to JRuby 9.3.3.0 (supporting ARM64/AARCH64)
6
+
7
+ ## 4.22.1.2
8
+
9
+ - Fix support for ARM64 on Mac
10
+ - Upgrade to glimmer v2.5.5, reusing newly added Glimmer::DSL::ShineDataBindingExpression
11
+ - Include .gladiator-scratchpad in scaffolded app/gem .gitignore
12
+ - `ShellProxy#center_in_display` as alias to `#center_within_display`
13
+
14
+ ## 4.22.1.1
15
+
16
+ - Fix minor issue with Shape listener disposal
17
+ - Fix minor issue with Quarto not displaying help message box after game over
18
+
19
+ ## 4.22.1.0
20
+
21
+ - New Quarto game sample: https://en.gigamic.com/game/quarto-classic
22
+ - Make Klondike Solitaire (sample) playing cards bigger to be more readable and make tableau slightly taller
23
+ - Update Hello, Custom Widget! sample with a custom listener example
24
+ - Optimize performance of `glimmer` command to be exactly as fast as using `jruby` directly by avoiding calling `jgem` or loading `rake`/`Rakefile` when not needed
25
+ - Remove `logging` gem dependency, improving startup time (still available as an option as per [docs/reference/GLIMMER_CONFIGURATION.md](/docs/reference/GLIMMER_CONFIGURATION.md)).
26
+ - Ensure that setting both `Shape` `drag_source true` and `drag_and_move true` results in the last one winning (they are mutually exclusive)
27
+ - Default `text` shape to flags: `[:draw_transparent, :draw_delimiter]` to handle newline delimiter correctly when sizing text extent automatically (e.g. when passing width/height 2nd/3rd args as `:default` or not passing at all)
28
+ - Remove `" - App View"` from shell title in `desktopify` scaffolding mode
29
+ - Remove SWT Chromium browser option since it is no longer supported by SWT.
30
+ - Support being able to hook listeners on a shape directly via Shape#on_event calls
31
+ - Support Shape#on_shape_disposed listener
32
+ - Automatic display listener disposal upon disposing a custom shape (for listeners defined in before_body/after_body of custom shape)
33
+ - Ensure deregistering drag & drop listeners from shapes with `drag_source=true`/`drag_and_move=true` when they are disposed
34
+ - Support `Shape#transform_point(x, y)` by applying current `transform` to point (similar to existing opposite: `inverse_transform_point`)
35
+ - Look into forwarding options for `CustomShape#dispose(...)` to `body_root` `Shape#dispose(...)` (e.g. `.dispose(dispose_images: true, dispose_patterns: true, redraw: true)`)
36
+ - Fix Linux-only issue with JRuby 9.3.1.0 where GC#drawPolyline requires passing array of values calling array.to_java(:int) manually (it automatically converts array on other platforms and other versions of JRuby)
37
+ - Fix canvas drag and drop issue (edge case) with having multiple on drop handlers and one of them before the last one setting doit=false while a subsequent on_drop handler being able to handle the drop request but not getting a chance to
38
+ - Fix canvas drag and drop issue (edge case) with failing when dragging a custom shape by one of its deep children
39
+ - Fix slowdown issue that occurs with drag and drop in Klondike Solitaire after finishing a full game or multiple games (it seems something is accumulating in memory and slowing things down after a while.. ensure there is no caching residue relating to drag and drop)
40
+
41
+ ## 4.22.0.0
4
42
 
5
43
  - Upgrade to SWT 4.22
6
44
  - Upgrade to JDK17
@@ -10,44 +48,44 @@
10
48
  - Fix issue in Battleship sample caused by data-binding nil model, which is forbidden in glimmer 2.5.x
11
49
  - Fix issue with closing Stock Ticker sample taking too long
12
50
 
13
- ### 4.21.2.5
51
+ ## 4.21.2.5
14
52
 
15
53
  - Hello, Scrolled Composite! sample
16
54
 
17
- ### 4.21.2.4
55
+ ## 4.21.2.4
18
56
 
19
57
  - Update gem `post_install_message` to clearly indicate that `-J-XstartOnFirstThread` jruby option is needed on the Mac and is handled automatically with global configuration after running `glimmer-setup`.
20
58
 
21
- ### 4.21.2.3
59
+ ## 4.21.2.3
22
60
 
23
61
  - Upgrade to glimmer 2.5.1 to fix an issue with mistakenly referencing `OpenStruct` without `'ostruct'` being loaded
24
62
 
25
- ### 4.21.2.2
63
+ ## 4.21.2.2
26
64
 
27
65
  - Demo file drag and drop in Hello, Drag and Drop!
28
66
  - Make shapes added inside a widget with `:default` or `:max` dimensions auto-resize as the widget resizes
29
67
  - Upgrade to glimmer 2.5.0
30
68
 
31
- ### 4.21.2.1
69
+ ## 4.21.2.1
32
70
 
33
71
  - Update Hello, Drag and Drop! to include `list`, `label`, `text`, and `spinner` examples
34
72
  - Add manual and fully customizable drag and drop syntax alternatives to Hello, Drag and Drop!
35
73
  - Support simpler drag and drop syntax (`drag_source true`/`drop_target true`) for simple cases concerning `list`, `label`, `text`, and `spinner`
36
74
 
37
- ### 4.21.2.0
75
+ ## 4.21.2.0
38
76
 
39
77
  - Support Linux packaging of deb/rpm native executable installers (not just gems) through standard `glimmer package` call (e.g. `glimmer package[deb]` or `glimmer package[rpm]`)
40
78
  - Update `Glimmer::SWT::ImageProxy` implementation of image loading from JAR to use `JRuby.runtime.jruby_class_loader.get_resource_as_stream(file_path).to_io.to_input_stream`
41
79
  - Remove scaffolding/packaging building/using of a generated Java `Resource` class
42
80
  - Force installing `gem 'psych', '3.3.2'` in scaffolded app as a temporary workaround to `psych` issues with the latest jruby (jruby-9.3.1.0)
43
81
 
44
- ### 4.21.1.1
82
+ ## 4.21.1.1
45
83
 
46
84
  - Fix samples for Windows, espcially Hello, Cool Bar!, Hello, Tool Bar!, and Weather
47
85
  - Fix down button for Tetris on Windows/Linux
48
86
  - Fix pause menu item for Tetris
49
87
 
50
- ### 4.21.1.0
88
+ ## 4.21.1.0
51
89
 
52
90
  - Upgrade to jruby 9.3.1.0
53
91
  - Upgrade to glimmer 2.4.0 (with better observing of array of arrays nested changes)
@@ -55,11 +93,11 @@
55
93
  - Adjusted minimum size of Meta-Sample to allow more shrinking (`minimum_size 640, 384`)
56
94
  - Do not clean observers when disposing of a widget while closing the last shell (e.g. when closing an app, it is not needed to clean observers, so it is better to exit faster)
57
95
 
58
- ### 4.21.0.1
96
+ ## 4.21.0.1
59
97
 
60
98
  - Updated default width for `shell` to `190` (was `130` before)
61
99
 
62
- ### 4.21.0.0
100
+ ## 4.21.0.0
63
101
 
64
102
  - Upgrade to SWT 4.21
65
103
  - Upgrade to JDK 16.0.2
@@ -68,173 +106,173 @@
68
106
  - Renamed `Glimmer::RakeTask::Package.javapackager_extra_args` to `Glimmer::RakeTask::Package.jpackage_extra_args` to match the name of `jpackage` in JDK 16
69
107
  - Change `package/[os]` scaffolding placement for packaging icons into `icons/[os]` to accomodate Java 9 Module security for icon retrieval from within a JAR
70
108
 
71
- ### 4.20.15.5
109
+ ## 4.20.15.5
72
110
 
73
111
  - Upgrade to glimmer 2.1.5
74
112
 
75
- ### 4.20.15.4
113
+ ## 4.20.15.4
76
114
 
77
115
  - Fix issue with not tying observer registrations to custom widgets correctly automatically
78
116
 
79
- ### 4.20.15.3
117
+ ## 4.20.15.3
80
118
 
81
119
  - Updated Hello, Text! sample to have a no-border `text` widget
82
120
 
83
- ### 4.20.15.2
121
+ ## 4.20.15.2
84
122
 
85
123
  - Fixed `widget#print` support and Hello, Print Dialog! handling of cancellation of printing
86
124
 
87
- ### 4.20.15.1
125
+ ## 4.20.15.1
88
126
 
89
127
  - Glimmer Clock elaborate sample
90
128
 
91
- ### 4.20.15.0
129
+ ## 4.20.15.0
92
130
 
93
131
  - Hello, Print Dialog!
94
132
  - Hello, Print!
95
133
  - `widget#print` method that automates work in Hello, Print Dialog! and is used in Hello, Print!
96
134
 
97
- ### 4.20.14.2
135
+ ## 4.20.14.2
98
136
 
99
137
  - Hello, Toggle!
100
138
 
101
- ### 4.20.14.1
139
+ ## 4.20.14.1
102
140
 
103
141
  - Upgrade to Glimmer 2.1.1
104
142
  - Correct Hello, Slider! sample class name
105
143
 
106
- ### 4.20.14.0
144
+ ## 4.20.14.0
107
145
 
108
146
  - Extract ObserveExpression into Glimmer
109
147
  - Upgrade to Glimmer 2.1.0
110
148
 
111
- ### 4.20.13.18
149
+ ## 4.20.13.18
112
150
 
113
151
  - Change `arrow` widget default SWT style to include `:down`
114
152
  - Hello, Arrow! sample
115
153
 
116
- ### 4.20.13.17
154
+ ## 4.20.13.17
117
155
 
118
156
  - Hello, Slider! sample
119
157
 
120
- ### 4.20.13.16
158
+ ## 4.20.13.16
121
159
 
122
160
  - Fix issue with setting app name (via `Display.app_name=`) when app is not packaged (always gets set to Glimmer)
123
161
  - Fix Hello, Custom Shell! sample
124
162
 
125
- ### 4.20.13.15
163
+ ## 4.20.13.15
126
164
 
127
165
  - Battleship elaborate sample
128
166
 
129
- ### 4.20.13.14
167
+ ## 4.20.13.14
130
168
 
131
169
  - Connect 4 elaborate sample
132
170
 
133
- ### 4.20.13.13
171
+ ## 4.20.13.13
134
172
 
135
173
  - Parking elaborate sample
136
174
  - Support shape contain?/include? when a transform (e.g. rotation) is applied
137
175
 
138
- ### 4.20.13.12
176
+ ## 4.20.13.12
139
177
 
140
178
  - Fixed issue with dragged shapes having `drag_source true` not going back to original position when not dropped in a target if they were part of a composite shape
141
179
 
142
- ### 4.20.13.11
180
+ ## 4.20.13.11
143
181
 
144
182
  - Conway's Game of Life elaborate sample
145
183
 
146
- ### 4.20.13.10
184
+ ## 4.20.13.10
147
185
 
148
186
  - Update Glimmer Style Guide, scaffolding, and samples to have `before_body` and `after_body` in custom widgets/shells/shapes always take a `do; end` block since they contain logic not visuals
149
187
 
150
- ### 4.20.13.9
188
+ ## 4.20.13.9
151
189
 
152
190
  - Update Klondike Solitaire to have playing card suit symbols and avoid clipping of cards on the boundaries
153
191
 
154
- ### 4.20.13.8
192
+ ## 4.20.13.8
155
193
 
156
194
  - Glimmer Klondike Solitaire elaborate sample
157
195
 
158
- ### 4.20.13.7
196
+ ## 4.20.13.7
159
197
 
160
198
  - Support accepting ImageProxy objects in Canvas Shape DSL (not just image paths)
161
199
  - Fix issue in ImageProxy not flattening args before selecting file path
162
200
 
163
- ### 4.20.13.6
201
+ ## 4.20.13.6
164
202
 
165
203
  - Ensure a dragged shape can be dropped back into a parent it originally belonged to without it counting as a drop into itself.
166
204
  - Add set_data and get_data to Glimmer::UI::CustomShape, which proxies calls to body_root
167
205
 
168
- ### 4.20.13.5
206
+ ## 4.20.13.5
169
207
 
170
208
  - Fix issue occurring with shape drag & drop when the dragged shape is a drop target too, thus getting dropped back to itself.
171
209
 
172
- ### 4.20.13.4
210
+ ## 4.20.13.4
173
211
 
174
212
  - Improved shape drag and drop checking for inclusion in drop target when there are multiple drop targets
175
213
 
176
- ### 4.20.13.3
214
+ ## 4.20.13.3
177
215
 
178
216
  - Fix issue regarding `nil` calculated_width/calculated_height encountered in Shape#contain?
179
217
 
180
- ### 4.20.13.2
218
+ ## 4.20.13.2
181
219
 
182
220
  - Support `drop_event.doit = false` to deny dropping and move dragged shape back to where it was
183
221
 
184
- ### 4.20.13.1
222
+ ## 4.20.13.1
185
223
 
186
224
  - Supporting having a `drag_source` that is dragged and not dropped at a target go back to its original position
187
225
  - Fix issue of dragged shape getting obscured by ensuring that it is rendered on top of all other shapes
188
226
  - Fix issue with shapes obscured by shapes on top of them getting preference when dragged (surprising behavior). Now, the top-most shapes get dragged first if they overlap with others.
189
227
 
190
- ### 4.20.13.0
228
+ ## 4.20.13.0
191
229
 
192
230
  - Shape `drag_and_move true` property to make shapes movable via dragging
193
231
  - Shape `drag_source true` and `on_drop {|event| }` built-in support for drag and drop
194
232
  - Refactor Hello, Canvas Drag and Drop! to use new Shape built-in support for drag and drop
195
233
 
196
- ### 4.20.12.4
234
+ ## 4.20.12.4
197
235
 
198
236
  - Update Hello, Shape! to take advantage of shape listeners (on mouse click, change color)
199
237
 
200
- ### 4.20.12.3
238
+ ## 4.20.12.3
201
239
 
202
240
  - Make Custom Shapes support on_event listeners just like Shapes
203
241
  - Update Hello, Custom Shape! to take advantage of custom shape listeners (on mouse click, change color)
204
242
 
205
- ### 4.20.12.2
243
+ ## 4.20.12.2
206
244
 
207
245
  - Make Shape listeners check inclusion against all sub-shapes
208
246
  - Refactor Hello, Canvas Drag & Drop! sample to use composite shapes (e.g. ball containing a ball border)
209
247
 
210
- ### 4.20.12.1
248
+ ## 4.20.12.1
211
249
 
212
250
  - Hello, Canvas Drag & Drop! sample
213
251
 
214
- ### 4.20.12.0
252
+ ## 4.20.12.0
215
253
 
216
254
  - Canvas Shape Listeners: on_mouse_up, on_mouse_down, on_mouse_move, on_drag_detected
217
255
  - Make scaffolding not generate an empty () after shell
218
256
  - Hello, Canvas Shape Listeners! Sample
219
257
 
220
- ### 4.20.11.1
258
+ ## 4.20.11.1
221
259
 
222
260
  - Make scaffolded app project use bundler optionally only and still load glimmer-dsl-swt otherwise, like in gem-packaged mode (`glimmer package:gem`) to avoid erroring out about bundler.
223
261
 
224
- ### 4.20.11.0
262
+ ## 4.20.11.0
225
263
 
226
264
  - Shape `#center_x`/`#center_y` methods to identify a shape's center point
227
265
  - Shape `#rotate` method to rotate around center point
228
266
 
229
- ### 4.20.10.2
267
+ ## 4.20.10.2
230
268
 
231
269
  - Fix issue "Resolve 'NameError: uninitialized constant Glimmer::DataBinding' on Windows" https://github.com/AndyObtiva/glimmer-dsl-swt/issues/9 (originally in https://github.com/AMaleh/glimmer-dsl-swt/pull/1)
232
270
 
233
- ### 4.20.10.1
271
+ ## 4.20.10.1
234
272
 
235
273
  - Hello, Scale! sample.
236
274
 
237
- ### 4.20.10.0
275
+ ## 4.20.10.0
238
276
 
239
277
  - Support noun alternatives for `Canvas Transform DSL` operations:
240
278
  - `multiply(&block)` => `multiplication(&block)`
@@ -242,127 +280,127 @@
242
280
  - `rotate(angle)` => `rotation(angle)`
243
281
  - `translate(x, y)` => `translation(x, y)`
244
282
 
245
- ### 4.20.9.1
283
+ ## 4.20.9.1
246
284
 
247
285
  - Fix issue with not being able to use :default x/y location with composite/custom shapes containing lines
248
286
 
249
- ### 4.20.9.0
287
+ ## 4.20.9.0
250
288
 
251
289
  - Canvas animation fps/frame_rate property to set frames-per-second rate of rendering (alternative to every)
252
290
 
253
- ### 4.20.8.0
291
+ ## 4.20.8.0
254
292
 
255
293
  - Support data-binding Animation `duration_limit` property
256
294
  - Improve support of Animation `duration_limit` property in recognizing when an animation is finished
257
295
  - Added duration limit to Hello, Canvas Animation! sample
258
296
 
259
- ### 4.20.7.0
297
+ ## 4.20.7.0
260
298
 
261
299
  - Add Canvas Animation DSL #finished, #finished?, #finished= properties
262
300
  - Update Hello, Canvas Animation! (formerly had Data Binding suffix)
263
301
  - Update Hello, Canvas Animation Multi! (formerly did not have Multi suffix)
264
302
 
265
- ### 4.20.6.0
303
+ ## 4.20.6.0
266
304
 
267
305
  - Canvas Animation DSL: support parallel animations per canvas (running along canvas static shapes too)
268
306
 
269
- ### 4.20.5.2
307
+ ## 4.20.5.2
270
308
 
271
309
  - Identify trimmed Canvas Shape DSL attribute `fill_rule` styles without `fill_` prefix
272
310
  - Identify trimmed Canvas Shape DSL attribute `line_cap` styles without `cap_` prefix
273
311
  - Identify trimmed Canvas Shape DSL attribute `line_join` styles without `join_` prefix
274
312
 
275
- ### 4.20.5.1
313
+ ## 4.20.5.1
276
314
 
277
315
  - Fix issue with Namespace is required always showing up when buildling a custom widget gem or custom shape gem
278
316
 
279
- ### 4.20.5.0
317
+ ## 4.20.5.0
280
318
 
281
319
  - Relax glimmer-dsl-swt version number when scaffolding custom shape/widget/shell gems. Keep it strict for app development.
282
320
  - Explicit support for `tray_item` keyword as nested under `shell`, having `menu` nested under `tray_item`, automating everything relating to using SWT TrayItem (no need to work with the Display System Tray or Menu objects manually).
283
321
  - Hello, Tray Item! Sample
284
322
 
285
- ### 4.20.4.2
323
+ ## 4.20.4.2
286
324
 
287
325
  - Hello, Label!
288
326
 
289
- ### 4.20.4.1
327
+ ## 4.20.4.1
290
328
 
291
329
  - Ensure a `table` with `:editable` style loses it if `items <= ...` one-way data-binding (having read_only: true option) was setup.
292
330
  - Tweak/refactor/improve samples
293
331
 
294
- ### 4.20.4.0
332
+ ## 4.20.4.0
295
333
 
296
334
  - Extracted Shine data-binding syntax and `BindExpression` to Glimmer 2
297
335
 
298
- ### 4.20.3.0
336
+ ## 4.20.3.0
299
337
 
300
338
  - Shine data-binding support for `custom widgets`, `custom shells`, and `custom shapes`
301
339
  - Update remaining samples with `bind` keyword to switch to Shine data-binding syntax
302
340
  - Switch scaffolded classes' data-binding to Shine
303
341
  - Fix `table` Shine syntax support for unidirectional (one-way) data-binding
304
342
 
305
- ### 4.20.2.1
343
+ ## 4.20.2.1
306
344
 
307
345
  - Shine data-binding support for `animation` (also supporting `#content {}` method in `Animation`)
308
346
  - Update Hello, Custom Shell! to use Shine data-binding syntax
309
347
  - Fix `table` automatic sorting support when using one-way Shine data-binding syntax (which was disabling reads)
310
348
 
311
- ### 4.20.2.0
349
+ ## 4.20.2.0
312
350
 
313
351
  - Shine data-binding syntax support for `tree` widget
314
352
  - Use Shine syntax in Hello, Tree! sample
315
353
 
316
- ### 4.20.1.0
354
+ ## 4.20.1.0
317
355
 
318
356
  - Shine data-binding syntax support for `table` widget
319
357
  - Use Shine syntax in Hello, Table! and Contact Manager samples
320
358
 
321
- ### 4.20.0.5
359
+ ## 4.20.0.5
322
360
 
323
361
  - Hello, Text! sample
324
362
  - Timer elaborate sample (copied and simplified from external sample)
325
363
  - Calculator elaborate sample (copied and simplified from external sample)
326
364
  - Fixed issue relating to cleaning up display listeners
327
365
 
328
- ### 4.20.0.4
366
+ ## 4.20.0.4
329
367
 
330
368
  - Weather elaborate sample
331
369
 
332
- ### 4.20.0.3
370
+ ## 4.20.0.3
333
371
 
334
372
  - Hello, Shell! sample
335
373
 
336
- ### 4.20.0.2
374
+ ## 4.20.0.2
337
375
 
338
376
  - Hello, Tool Bar! sample
339
377
  - Hello, Cool Bar! sample
340
378
 
341
- ### 4.20.0.1
379
+ ## 4.20.0.1
342
380
 
343
381
  - Hello, Composite! sample
344
382
  - Hello, Layout! sample
345
383
  - Removed inclusion of Glimmer module in scaffolded App class since it is no longer needed with relying on SomeCustomShell.launch method
346
384
 
347
- ### 4.20.0.0
385
+ ## 4.20.0.0
348
386
 
349
387
  - Upgrade to SWT 4.20, supporting AARCH64 experimentally
350
388
  - Upgrade to JRuby 9.2.19.0
351
389
  - Shine syntax for data-binding
352
390
  - Tweak/Fix Samples
353
391
 
354
- ### 4.19.0.2
392
+ ## 4.19.0.2
355
393
 
356
394
  - Fixed issue with Meta-Sample code editing not showing changes properly (although recording them)
357
395
  - Stop Mandelbrot Fractal sample background calculation when its custom shell is closed
358
396
 
359
- ### 4.19.0.1
397
+ ## 4.19.0.1
360
398
 
361
399
  - Upgrade to JRuby 9.2.17.0
362
400
  - Fix Hello, C Tab! sample not showing flags on Windows
363
401
  - Fix Stock Ticker elaborate sample non-scrolling and clipped stock names on Windows
364
402
 
365
- ### 4.19.0.0
403
+ ## 4.19.0.0
366
404
 
367
405
  - Upgrade to SWT 4.19
368
406
  - Upgrade to JRuby 9.2.16.0
@@ -381,23 +419,23 @@
381
419
  - Fix mandelbrot fractal sample on Windows (added missing `jruby-win32ole` gem for use with `concurrent-ruby` gem)
382
420
  - Fix this `glimmer package` message, which comes out even with the right Java version: `WARNING! Glimmer Packaging Pre-Requisite Java Version 1.8.0_241 Is Not Found!`
383
421
 
384
- ### 4.18.7.7
422
+ ## 4.18.7.7
385
423
 
386
424
  - Upgrade to glimmer v1.3.0
387
425
  - Handle `code_text` encountering errors in adding observation request
388
426
  - Always notify widget binding observer on `async_exec: true` data-bindings
389
427
 
390
- ### 4.18.7.6
428
+ ## 4.18.7.6
391
429
 
392
430
  - Update the Hello, Code Text! sample to use data-binding
393
431
  - Upgrade `puts_debuggerer` gem dependency to version 0.12.0
394
432
  - Fix issue with `code_text` data-binding
395
433
 
396
- ### 4.18.7.5
434
+ ## 4.18.7.5
397
435
 
398
436
  - Update `ImageProxy` with missing methods `#size`, `#parent_proxy`, and `#parent`, needed for a better "Shapes in an Image" support.
399
437
 
400
- ### 4.18.7.4
438
+ ## 4.18.7.4
401
439
 
402
440
  - Add `glimmer scaffold:customshape[name,namespace]` command
403
441
  - Add `glimmer scaffold:gem:customshape[name,namespace]` command
@@ -406,24 +444,24 @@
406
444
  - Support `filled: true` alternative for `fill: true` Canvas Shape DSL option
407
445
  - Fix issue with having to pass base_color to `bevel` custom shape in Tetris before data-binding instead of data-binding being sufficient
408
446
 
409
- ### 4.18.7.3
447
+ ## 4.18.7.3
410
448
 
411
449
  - Support the ability for nested shapes to override their parent `shape` common shared properties
412
450
  - Refactor Tetris to use a custom shape (`bevel`) for its blocks given they are used in both the game and the icon, thus achieving code reuse
413
451
  - Fix issue with moving filled polygon (moving drawn polygon works)
414
452
 
415
- ### 4.18.7.2
453
+ ## 4.18.7.2
416
454
 
417
455
  - Enable defining custom shapes with direct args just like basic shapes (alternative to using keyword arg options)
418
456
  - Fix interpretation of `:max`/`:default` `width`/`height` values in Canvas Shape DSL
419
457
 
420
- ### 4.18.7.1
458
+ ## 4.18.7.1
421
459
 
422
460
  - Hello, Canvas Animation Data Binding! Sample
423
461
  - Metronome Elaborate Sample
424
462
  - Update Hello, Spinner! Sample to data bind a Thank you message to selected value
425
463
 
426
- ### 4.18.7.0
464
+ ## 4.18.7.0
427
465
 
428
466
  - Support direct use of the `shape` keyword as a shape composite that could contain other shapes and shares common attributes (e.g. background color) with all of them
429
467
  - Hello, Shape! Sample (implements a method-based custom shape containing other nested shapes)
@@ -432,7 +470,7 @@
432
470
  - Support :max value for Canvas Shape DSL width and height, meaning fill up parent (useful for using rectangles as borders)
433
471
  - Upgrade to glimmer v1.2.0
434
472
 
435
- ### 4.18.6.3
473
+ ## 4.18.6.3
436
474
 
437
475
  - Support `Glimmer::SWT::Custom::Shape::PathSegment#dispose` method
438
476
  - Amend Hello, Canvas Path! sample with ability to regenerate paths
@@ -440,7 +478,7 @@
440
478
  - Support trimming line style symbols (no need to say line_ before each style. e.g. `:line_solid` becomes `:solid`) in Canvas Shape DSL line_style property
441
479
  - Support `antialias true` as an alternative to `antialias :on`, `antialias false` as an alternative to `antialias :off`, and `antialias nil` as an alternative to `antialias :default`
442
480
 
443
- ### 4.18.6.2
481
+ ## 4.18.6.2
444
482
 
445
483
  - Hello, Canvas Data Binding! Sample
446
484
  - Update Stock Ticker sample to keep stock names visible when scrolling graphs off the screen
@@ -449,14 +487,14 @@
449
487
  - Added `Glimmer::SWT::Custom::Shape::PathSegment` `#path` and `#root_path` API methods to enable determining what path/root-path the path segment is part of.
450
488
  - Fixed issues with geometry calculation of path segments (especially line)
451
489
 
452
- ### 4.18.6.1
490
+ ## 4.18.6.1
453
491
 
454
492
  - Fixed issues with Canvas Path DSL handling of connected vs non-connected path segments (including in geometry calculations)
455
493
  - Optimized Canvas Path DSL redraw performance by removing extra redraws
456
494
  - Fixed issues in the Hello, Canvas Path! sample and renamed to Stock Ticker
457
495
  - Added a new simpler Hello, Canvas Path! sample
458
496
 
459
- ### 4.18.6.0
497
+ ## 4.18.6.0
460
498
 
461
499
  - Canvas Path DSL support (Alpha) for `path` as drawn or filled (`fill: true`) to the Canvas Shape DSL, supporting `point`, `line` (first point is auto-derived from previous point if not specified)
462
500
  - Hello, Canvas Path! sample showing a Stock Ticker with line curves for multiple company stocks, animated with randomly generated data, moving to the left out of screen second by second. Has multiple tabs demonstrating different types of paths for graphing/charting of different real world business applications: point, line, quad, cubic.
@@ -465,7 +503,7 @@
465
503
  - Support a path containing a `quad` bezier curve with `point_array` property
466
504
  - Support a path containing a `cubic` bezier curve with `point_array` property
467
505
 
468
- ### 4.18.5.5
506
+ ## 4.18.5.5
469
507
 
470
508
  - Automatically recalculate default size (width/height) to accomodate nested shapes when changing x/y/width/height sticking out of parent from right or bottom.
471
509
  - Support special case of centering a nested shape with default x/y within a parent with default width/height calculated from nested shape
@@ -474,20 +512,20 @@
474
512
  - Ensure all Canvas Shape DSL properties are restored upon painting a shape to what they were prior to painting that shape
475
513
  - Fix issue with bringing high score dialog up in Tetris caused by latest dialog changes for supporting the new `color_dialog` and `font_dialog`
476
514
 
477
- ### 4.18.5.4
515
+ ## 4.18.5.4
478
516
 
479
517
  - Support passing width, height as :default (or nil or not passed in if they are the last args) in all shapes that include other shapes to indicate they are calculated automatically from nested shapes, text/string extent, or otherwise defaulting to 0, 0
480
518
  - Support [:default, width_delta], [:default, height_delta] attributes for width and height, which add/subtract from defaults used for shape
481
519
  - Switch from use of `:default` with x_delta/y_delta to passing `[:default, x_delta]` or `[:default, y_delta]` (e.g. `image(file, [:default, -30], :default)` for x = default - 30 and y = default + 0)
482
520
  - Support a bounding box for all shapes, implementing `#bounds` (x, y, width, and height) and `#size` (width, height) for the ones that don't receive as parameters (like polygon)
483
521
 
484
- ### 4.18.5.3
522
+ ## 4.18.5.3
485
523
 
486
524
  - Support nesting shapes within shapes, with relative positioning (meaning x, y coordinates are assumed relative to parent's x, y in nested shapes)
487
525
  - Support passing x, y coordinates as :default (or nil or not passed in if they are the last args) in all shapes, meaning they are centered within parent taking their width and height into account
488
526
  - Support default_x_delta, y_delta attributes, which add/subtract from defaults used for shape
489
527
 
490
- ### 4.18.5.2
528
+ ## 4.18.5.2
491
529
 
492
530
  - Support checking if an `arc` shape accurately includes a point x,y coordinates within pie region only
493
531
  - Support checking if an `oval` shape includes a point x,y coordinates in oval region only (not its rectangular region)
@@ -500,7 +538,7 @@
500
538
  - Fix issue with `polygon` check if it includes a point x,y coordinates (replace with available `java.awt` robust geometry algorithms)
501
539
  - Fix issue with transforms not working after the latest changes
502
540
 
503
- ### 4.18.5.1
541
+ ## 4.18.5.1
504
542
 
505
543
  - Hello, Color Dialog! Sample
506
544
  - Hello, Font Dialog! Sample
@@ -508,7 +546,7 @@
508
546
  - Enhance Hello, Canvas! with Color selector via right-click menu
509
547
  - Fixed issue with tree multi selection throwing an exception
510
548
 
511
- ### 4.18.5.0
549
+ ## 4.18.5.0
512
550
 
513
551
  - Automatic `sync_exec` usage from threads other than the GUI thread, thus absolving software engineers from the need to use `sync_exec` explicitly anymore.
514
552
  - `auto_exec` keyword to automatically use `sync_exec` with SWT code when needed (running from a thread other than GUI thread)
@@ -541,7 +579,7 @@
541
579
  - Fix issue with logging remaining async in debug mode
542
580
  - Fix issue with combo, list, radio group, and checkbox group not supporting nested data-binding
543
581
 
544
- ### 4.18.4.11
582
+ ## 4.18.4.11
545
583
 
546
584
  - Support creating images pixel by pixel with `image(width, height) {|x,y| [r, g, b]}` keyword, which takes a block with x, y coordinates based on the image width and height and returns a pixel foreground color per point
547
585
  - Add proper indentation in code_text upon hitting ENTER
@@ -552,7 +590,7 @@
552
590
  - Fix issue with Mandelbrot sample off by one error on Cores selected via Menu
553
591
  - Fix use of on_events in code_text widget with lines mode true
554
592
 
555
- ### 4.18.4.10
593
+ ## 4.18.4.10
556
594
 
557
595
  - Hello, Progress Bar!
558
596
  - Alias shell as window, Glimmer::UI::CustomShell as Glimmer::UI::CustomWindow, on_shell_xyz events as on_window_xyz events, and :shell_trim SWT style as :window_trim SWT Glimmer custom style
@@ -560,7 +598,7 @@
560
598
  - Show progress bar for Mandelbrot calculation
561
599
  - Mandelbrot Cores menu options to switch the number of CPU cores being used for calculation on the next zoom calculation cycle
562
600
 
563
- ### 4.18.4.9
601
+ ## 4.18.4.9
564
602
 
565
603
  - Hello, Cursor! Sample
566
604
  - Log errors that occur in widget event listener blocks to help with troubleshooting
@@ -570,7 +608,7 @@
570
608
  - Mandelbrot menu bar menu items
571
609
  - Mandelbrot panning via scrollbars or dragging
572
610
 
573
- ### 4.18.4.8
611
+ ## 4.18.4.8
574
612
 
575
613
  - Make `image` a top-level expression keyword
576
614
  - Default placing image on Canvas at coordinates 0, 0 if they are not specified (e.g. canvas {image some_image})
@@ -580,18 +618,18 @@
580
618
  - Fix issue with closing a canvas shell with pixel graphics freezing temporarily for a long time while disposing shapes
581
619
  - Fix issue with disposing `image` having shapes
582
620
 
583
- ### 4.18.4.7
621
+ ## 4.18.4.7
584
622
 
585
623
  - Fixed issue with Tetris breaking with the latest Canvas Shape/Animation DSL performance optimizations
586
624
 
587
- ### 4.18.4.6
625
+ ## 4.18.4.6
588
626
 
589
627
  - Mandlebrot Fractal Elaborate Sample
590
628
  - Optimize Canvas Shape/Animation DSL performance by combining multiple shapes in a single paint listener
591
629
  - Memoized attribute-to-SWT-property-method-name translation
592
630
  - Support a `pixel` static expression that is an optimized `point`, which takes a foreground hash property to bypass the dynamic DSL chain of responsibility
593
631
 
594
- ### 4.18.4.5
632
+ ## 4.18.4.5
595
633
 
596
634
  - Added double_buffered SWT style as default for `canvas` widget to ensure smooth animations
597
635
  - Officially support `timer_exec` keyword to execute code asynchronously after time has elapsed
@@ -599,13 +637,13 @@
599
637
  - Auto-Dispose observers declared inside custom widgets and custom shells (during their construction with before_body or after_body) with the observe keyword.
600
638
  - Refactor Tetris sample to remove observer deregister calls now that they happen automatically
601
639
 
602
- ### 4.18.4.4
640
+ ## 4.18.4.4
603
641
 
604
642
  - Ensure code_text line numbers text font matches that of the actual styled_text widget
605
643
  - Use after_read data binding option to update top pixel in code text line numbers after updating text (ensuring top_pixel remains in sync after text changes)
606
644
  - Remove unnecessary image copies in hello canvas transform and meta-sample samples
607
645
 
608
- ### 4.18.4.3
646
+ ## 4.18.4.3
609
647
 
610
648
  - Fix flashing issue when using ShellProxy#pack_same_size on Windows
611
649
  - Double buffer Hello, Canvas Animation! Sample to remove flickering
@@ -613,7 +651,7 @@
613
651
  - Tetris - Substituted command key with control on Windows/Linux to make Tetris menu shortcuts work (e.g. CTRL+P pauses)
614
652
  - Tetris - Workaround for Windows issue with tetromino down invisibility upon holding down arrow key (now holding down does only one down)
615
653
 
616
- ### 4.18.4.2
654
+ ## 4.18.4.2
617
655
 
618
656
  - Remove Tetris Clear button from High Score dialog (since it is available via menu and is rarely used)
619
657
  - Make right control button rotate right with Tetris
@@ -628,7 +666,7 @@
628
666
  - Fix issue with adding content to the end of a styled text widget breaking line number scrolling
629
667
  - Fix issue with code_text not showing line numbers for extra new lines at the end
630
668
 
631
- ### 4.18.4.1
669
+ ## 4.18.4.1
632
670
 
633
671
  - Support data-binding of `code_text` with lines enabled.
634
672
  - Upgrade the Glimmer Meta-Sample with code_text lines: {width: 2}
@@ -637,7 +675,7 @@
637
675
  - Update the Hello, Code Text! sample to remove borders and line numbers background in the JavaScript example
638
676
  - Fix issue with updating layout upon later reopening layout/layout data via `proxy.content {}` method
639
677
 
640
- ### 4.18.4.0
678
+ ## 4.18.4.0
641
679
 
642
680
  - Extract line numbers part of text_editor widget from Gladiator into Glimmer code_text and make it an option (e.g. lines: true or lines: {width: 4})
643
681
  - code_text support select all via CMD+A
@@ -651,7 +689,7 @@
651
689
  - Change Glimmer Tetris Sample up arrow default to rotate left
652
690
  - Fix issue with "undefined method lex for nil:NilClass" in `code_text`
653
691
 
654
- ### 4.18.3.5
692
+ ## 4.18.3.5
655
693
 
656
694
  - Add `write_on_cancel: true` option for TableProxy#edit_table_item to make cancel behave just like save for special cases where you cannot cancel except the edit mode itself
657
695
  - Make code_text custom widget support multiple code languages via `language: 'java'` option
@@ -660,14 +698,14 @@
660
698
  - Fix issue with High Score Dialog in Tetris Sample not sorting by scores correctly (string compare instead of numeric compare) until first game is completed
661
699
  - Fix issue with setting date geting rejected in `date_time` for month or day being incompatible with the year/month/day combo
662
700
 
663
- ### 4.18.3.4
701
+ ## 4.18.3.4
664
702
 
665
703
  - Support building Image objects with the Glimmer Canvas Shape DSL
666
704
  - Tetris build icon image in-game by nesting Glimmer Shape DSL syntax
667
705
  - Canvas Make shapes auto-fill if you specify a background only (no need to say fill: true) or not fill if you specify a foreground only
668
706
  - Tetris option to switch Up Arrow between Instant Down, Rotate Right, and Rotate Left
669
707
 
670
- ### 4.18.3.3
708
+ ## 4.18.3.3
671
709
 
672
710
  - Support Table data binding read_only_sort: true option to allow visual sorting without affecting model data
673
711
  - on_quit to
@@ -680,7 +718,7 @@
680
718
  - Tetris Fix escape button upon entering high score name
681
719
  - If WidgetBinding encounters a disposed widget, it deregisters all observables that it is observing
682
720
 
683
- ### 4.18.3.2
721
+ ## 4.18.3.2
684
722
 
685
723
  - Tetris High Scores
686
724
  - Tetris Modify High Score Player Name
@@ -691,7 +729,7 @@
691
729
  - Fix issues relating to setting parenthood with custom widgets before building their body (instead of after)
692
730
  - Fix issues relating to not respecting arity of passed in table editing callbacks: before_write, after_write, and after_cancel
693
731
 
694
- ### 4.18.3.1
732
+ ## 4.18.3.1
695
733
 
696
734
  - Provide an auto_sync_exec all data-binding config option to automatically sync_exec GUI calls from other threads instead of requiring users to use sync_exec on model attribute-change logic. Default value to false.
697
735
  - Have CustomShell::launch method take options to pass to custom shell keyword invocation
@@ -710,13 +748,13 @@
710
748
  - Turn Tetris::Model::Game class from a singleton class to a standard class supporting instances
711
749
  - Fix issue of `tetris` keyword not found when run from meta-sample app
712
750
 
713
- ### 4.18.3.0
751
+ ## 4.18.3.0
714
752
 
715
753
  - Canvas Transform DSL (DSL declared Transform objects are auto-disposed after getting used by their parent shape)
716
754
  - Canvas support a top-level Transform DSL fluent interface for methods that use Transform arguments manually (e.g. tr1 = transform.rotate(90).translate(0, -100))
717
755
  - Hello, Canvas Transformation!
718
756
 
719
- ### 4.18.2.5
757
+ ## 4.18.2.5
720
758
 
721
759
  - ColorProxy args now are automatically fit into 0..255 bounds upon use of the `color`/`rgb`/`rgba` keywords
722
760
  - Canvas Shape DSL (Property) Data-Binding support (No Argument Data-Binding support yet)
@@ -728,7 +766,7 @@
728
766
  - Optimized performance of Tetris game
729
767
  - Fixed issue with top-level sync_exec/async_exec use randomly bombing
730
768
 
731
- ### 4.18.2.4
769
+ ## 4.18.2.4
732
770
 
733
771
  - Tetris scoring
734
772
  - Tetris eliminated Line tracking
@@ -739,21 +777,21 @@
739
777
  - Fixed issue with shell/dialog/custom-shell not maintaining parent when not passed
740
778
  - Fix Tetris sideways edge detection
741
779
 
742
- ### 4.18.2.3
780
+ ## 4.18.2.3
743
781
 
744
782
  - Added Tetris Elaborate Sample
745
783
  - Added support for CustomShell `::launch` and `::shutdown` class methods to treat a top-level custom shell as a self contained launchable app (saving you from writing boilerplate code for launching Glimmer applications)
746
784
 
747
- ### 4.18.2.2
785
+ ## 4.18.2.2
748
786
 
749
787
  - Fixed issue with processing shape color due to missing Color class package name
750
788
 
751
- ### 4.18.2.1
789
+ ## 4.18.2.1
752
790
 
753
791
  - Ensure drawing image works in Shape DSL
754
792
  - Support passing image as simply an image path or image proxy to Shape DSL image method
755
793
 
756
- ### 4.18.2.0
794
+ ## 4.18.2.0
757
795
 
758
796
  - Canvas animation start method (useful if animation had a frame count limit or cycle count limit and needed to be started again after it stopped)
759
797
  - Canvas animation stop method
@@ -767,7 +805,7 @@
767
805
  - Canvas Shape DSL smart defaults for fill option depending on shape being drawn
768
806
  - Added fallback font "Courier" for `code_text` widget when "Consolas" is not available.
769
807
 
770
- ### 4.18.1.1
808
+ ## 4.18.1.1
771
809
 
772
810
  - Add smart defaults for round rectangle angles (defaults to 60 degrees angles)
773
811
  - Add smart default for gradient rectangle vertical option
@@ -784,7 +822,7 @@
784
822
  - Fix issue with `glimmer list:gems:dsl` command
785
823
  - Fix issue with scaffolding still depending on git-glimmer despite being merged back to git gem
786
824
 
787
- ### 4.18.1.0
825
+ ## 4.18.1.0
788
826
 
789
827
  - Canvas Shape DSL
790
828
  - Hello, Canvas! Sample
@@ -792,12 +830,12 @@
792
830
  - Hello, Canvas Animation! Sample
793
831
  - Fixed issue with async_exec not working in ShellProxy when delegate widget is nil
794
832
 
795
- ### 4.18.0.2
833
+ ## 4.18.0.2
796
834
 
797
835
  - Minor update on Hello, Dialog! Sample
798
836
  - Upgrade to glimmer v1.0.7
799
837
 
800
- ### 4.18.0.1
838
+ ## 4.18.0.1
801
839
 
802
840
  - Hello, Dialog! Sample
803
841
  - Added Glimmer icon to Glimmer Meta-Sample (Sample of Samples)
@@ -805,7 +843,7 @@
805
843
  - Switch back to official git gem v1.8.1 now that glimmer-git gem branch is merged into it
806
844
  - Fix issue with not reporting exception encountered in editing a tree item if consumer code had a bug
807
845
 
808
- ### 4.18.0.0
846
+ ## 4.18.0.0
809
847
 
810
848
  - Upgrade to SWT v4.18
811
849
  - Upgrade to JRuby v9.2.14.0
@@ -819,48 +857,48 @@
819
857
  - Fix enablement on `menu` (as opposed to menu_item, where it works)
820
858
  - Fix issue relating to background image scaling on resize of widget
821
859
 
822
- ### 4.17.10.8
860
+ ## 4.17.10.8
823
861
 
824
862
  - Support editing sample code in the Glimmer Meta-Sample to enable experimentation and learning
825
863
  - Add a "Reset" button to the Glimmer Meta-Sample to allow resetting sample code changes
826
864
  - Refactor/revise hello_message_box.rb and hello_pop_up_context_menu.rb samples
827
865
  - Upgrade to glimmer 1.0.6
828
866
 
829
- ### 4.17.10.7
867
+ ## 4.17.10.7
830
868
 
831
869
  - Loosened dependencies on most Glimmer author-owned gems
832
870
  - Refactored/Simplified/Fixed Hello, Link! Sample
833
871
 
834
- ### 4.17.10.6
872
+ ## 4.17.10.6
835
873
 
836
874
  - Hello, Link! Sample
837
875
  - Refactor hello list samples
838
876
 
839
- ### 4.17.10.5
877
+ ## 4.17.10.5
840
878
 
841
879
  - Hello, Button! Sample
842
880
 
843
- ### 4.17.10.4
881
+ ## 4.17.10.4
844
882
 
845
883
  - Do not select first row in a table by default (keep unselected)
846
884
  - Prevented extra call to model data in table items data-binding
847
885
  - Upgraded to glimmer v1.0.5
848
886
 
849
- ### 4.17.10.3
887
+ ## 4.17.10.3
850
888
 
851
889
  - Fixed issue in StyledText data-binding relating to capturing selection changes on mouse click
852
890
 
853
- ### 4.17.10.2
891
+ ## 4.17.10.2
854
892
 
855
893
  - Upgraded glimmer gem to version 1.0.4
856
894
  - Fixed issues relating to data-binding `styled_text` widget
857
895
 
858
- ### 4.17.10.1
896
+ ## 4.17.10.1
859
897
 
860
898
  - Upgraded glimmer gem to version 1.0.3
861
899
  - Upgraded rouge gem to version 3.25.0
862
900
 
863
- ### 4.17.10.0
901
+ ## 4.17.10.0
864
902
 
865
903
  - Support table editing via `date_time` for date/time values
866
904
  - Support table default sort configuration via sort_property
@@ -874,7 +912,7 @@
874
912
  - Fix issue with table selection data-binding when in single selection mode vs multi
875
913
  - Hello, Spinner! Sample
876
914
 
877
- ### 4.17.9.0
915
+ ## 4.17.9.0
878
916
 
879
917
  - Add table style :editable to hook editing listener on mouse click automatically (instead of manually via on_widget_selected)
880
918
  - Support table editing via `spinner` for integer values
@@ -885,22 +923,22 @@
885
923
  - date_drop_down widget alias for date_time(:date, :drop_down)
886
924
  - Hello, Date Time! Sample
887
925
 
888
- ### 4.17.8.3
926
+ ## 4.17.8.3
889
927
 
890
928
  - Hello, Table! Sample
891
929
  - Disable editing on a column with `editor :none`
892
930
  - Improve `code_text` performance immensely by only styling the lines being shown upon editing
893
931
  - Fix dead spots with syntax highlighting in some files in Gladiator like file.rb
894
932
 
895
- ### 4.17.8.2
933
+ ## 4.17.8.2
896
934
 
897
935
  - Hello, Group! Sample
898
936
 
899
- ### 4.17.8.1
937
+ ## 4.17.8.1
900
938
 
901
939
  - Fixed an issue in Windows with code_text
902
940
 
903
- ### 4.17.8.0
941
+ ## 4.17.8.0
904
942
 
905
943
  - Officially Support SWT FileDialog with the `file_dialog` keyword (was unofficially supported before via standard SWT)
906
944
  - Officially Support SWT DirectoryDialog with the `directory_dialog` keyword (was unofficially supported before via standard SWT)
@@ -909,7 +947,7 @@
909
947
  - Prevent tree items data-binding from updating if no tree data change occurred
910
948
  - Performance optimization for `code_text` syntax highlighting through caching
911
949
 
912
- ### 4.17.7.0
950
+ ## 4.17.7.0
913
951
 
914
952
  - `checkbox_group` built-in custom widget
915
953
  - Hello, Checkbox Group! Sample
@@ -917,14 +955,14 @@
917
955
  - Refactor Glimmer Meta-Sample to use `radio_group` instead of `radio`
918
956
  - Fix issue with ExpandBar fill_layout with the extra element at the end (remove it)
919
957
 
920
- ### 4.17.6.0
958
+ ## 4.17.6.0
921
959
 
922
960
  - New `radio_group` built-in Glimmer custom widget
923
961
  - Hello, Radio! Sample
924
962
  - Hello, Radio Group! Sample
925
963
  - Hello, Checkbox! Sample
926
964
 
927
- ### 4.17.5.0
965
+ ## 4.17.5.0
928
966
 
929
967
  - Support auto-scaling by aspect ratio of width and height (write specs)
930
968
  - Support SWT ExpandBar via expand_bar keyword
@@ -932,18 +970,18 @@
932
970
  - Hello, Styled Text! Sample
933
971
  - Use expand_bar in Glimmer Meta-Sample
934
972
 
935
- ### 4.17.4.2
973
+ ## 4.17.4.2
936
974
 
937
975
  - Support StyledText data-binding of caret_offset, selection_count, selection, top_index, and top_pixel, useful for code_text
938
976
  - Support `width, height` hash options for ImageProxy and image properties on widgets
939
977
  - Default SWT styles for tool_bar (:border) and tool_item (:push)
940
978
 
941
- ### 4.17.4.1
979
+ ## 4.17.4.1
942
980
 
943
981
  - Optimize code_text line style listener algorithm or avoid setting code_text style via listener for performance reasons
944
982
  - Optimize code_text syntax highlighting by not lexing except when content changes (e.g. during scrolling, do not lex)
945
983
 
946
- ### 4.17.4.0
984
+ ## 4.17.4.0
947
985
 
948
986
  - Glimmer sample app to launch samples (sample of samples meta-sample)
949
987
  - Syntax Color Highlighting in meta-sample
@@ -954,7 +992,7 @@
954
992
  - Add rake task `samples` to point to the new Glimmer Meta-Sample
955
993
  - Have meta-sample load samples from gems
956
994
 
957
- ### 4.17.3.0
995
+ ## 4.17.3.0
958
996
 
959
997
  - `glimmer scaffold:desktopify[appname,website]` Mac
960
998
  - `glimmer scaffold:desktopify[appname,website]` Windows
@@ -968,7 +1006,7 @@
968
1006
  - Have glimmer packaging check the Java version and give a warning if an unsupported version is used.
969
1007
 
970
1008
 
971
- ### 4.17.2.4
1009
+ ## 4.17.2.4
972
1010
 
973
1011
  - New `glimmer run` glimmer command task.
974
1012
  - Add built in support for handling jar file paths like that in ImageProxy code processing "uri:classloader" path
@@ -979,7 +1017,7 @@
979
1017
  - Fix SWTProxy.deconstruct method
980
1018
 
981
1019
 
982
- ### 4.17.2.3
1020
+ ## 4.17.2.3
983
1021
 
984
1022
  - Maintain image file path upon scaling an ImageProxy
985
1023
  - Add a glimmer rake task that wraps the juwelier rake gemspec:generate task
@@ -988,19 +1026,19 @@
988
1026
  - Fix issue with table redraw after data-binding changes leaving old removed table items visible (even if user cannot interact with anymore)
989
1027
  - Fix issue with running package rake task from `glimmer` command TUI
990
1028
 
991
- ### 4.17.2.2
1029
+ ## 4.17.2.2
992
1030
 
993
1031
  - Small updates/refactorings in samples
994
1032
  - Fix issue with displaying `glimmer` command tasks on Windows
995
1033
 
996
- ### 4.17.2.1
1034
+ ## 4.17.2.1
997
1035
 
998
1036
  - Add `--bundler=group` option to `glimmer` command
999
1037
  - Add `--pd` option to `glimmer` command
1000
1038
  - Hello, Custom Widget! sample
1001
1039
  - Hello, Custom Shell! sample
1002
1040
 
1003
- ### 4.17.2.0
1041
+ ## 4.17.2.0
1004
1042
 
1005
1043
  - `glimmer` command --bundler option to run with bundler/setup (instead of picking gems directly)
1006
1044
  - Remove Gemfile dependency on Juwelier since it does not relate to GUI (delaying install of it till scaffolding)
@@ -1008,11 +1046,11 @@
1008
1046
  - Move Package and Scaffold classes under Glimmer::RakeTask (Glimmer::Package.javapackager_extra_args is now Glimmer::RakeTask::Package.javapackager_extra_args)
1009
1047
  - Fixed issue with scaffolding spec/spec_helper.rb with Juwelier (since it changed from Jeweler)
1010
1048
 
1011
- ### 4.17.1.1
1049
+ ## 4.17.1.1
1012
1050
 
1013
1051
  - Fixed issue with showing glimmer command tasks twice
1014
1052
 
1015
- ### 4.17.1.0
1053
+ ## 4.17.1.0
1016
1054
 
1017
1055
  - Switch to Juwelier gem (from Jeweler)
1018
1056
  - Load samples from Glimmer gems automatically (no need for configuration)
@@ -1020,30 +1058,30 @@
1020
1058
  - require 'bundler/setup' in `glimmer` command if a `Gemfile` is present (disabled with GLIMMER_BUNDLER_SETUP=false env var)
1021
1059
  - Upgrade to rvm-tui version 0.2.2
1022
1060
 
1023
- ### 4.17.0.0
1061
+ ## 4.17.0.0
1024
1062
 
1025
1063
  - Upgrade to SWT (Standard Widget Toolkit) 4.17 and sync version with SWT going forward
1026
1064
  - Upgrade to Glimmer (DSL Engine) 1.0.0
1027
1065
  - Sync version number with the SWT version number (first two numbers, leaving the last two as minor and patch)
1028
1066
 
1029
- ### 0.6.9
1067
+ ## 0.6.9
1030
1068
 
1031
1069
  - Log error messages when running inside sync_exec or async_exec (since you cannot rescue their errors from outside them)
1032
1070
  - Exclude gladiator from required libraries during sample listing/running/code-display
1033
1071
  - Ensured creating a widget with swt_widget keyword arg doesn't retrigger initializers on its parents if already initialized
1034
1072
  - Extract `WidgetProxy#interpret_style` to make it possible to extend with further styles with less code (e.g. CDateTimeProxy adds CDT styles by overriding method)
1035
1073
 
1036
- ### 0.6.8
1074
+ ## 0.6.8
1037
1075
 
1038
1076
  - Support external configuration of `WidgetProxy::KEYWORD_ALIASES` (e.g. `radio` is an alias for `button(:radio)`)
1039
1077
  - Support external configuration of `Glimmer::Config::SAMPLE_DIRECTORIES` for the `glimmer sample` commands from Glimmer gems
1040
1078
 
1041
- ### 0.6.7
1079
+ ## 0.6.7
1042
1080
 
1043
1081
  - Fix issue with re-initializing layout for already initialized swt_widget being wrapped by WidgetProxy via swt_widget keyword args
1044
1082
  - Change naming of scaffolded app bundle for mac to start with a capital letter (e.g. com.evernote.Evernote not com.evernote.evernote)
1045
1083
 
1046
- ### 0.6.6
1084
+ ## 0.6.6
1047
1085
 
1048
1086
  - Add User Profile sample from DZone article
1049
1087
  - Colored Ruby syntax highlighting for sample:code and sample:run tasks courtesy of tty-markdown
@@ -1052,19 +1090,19 @@
1052
1090
  - GLIMMER_LOGGER_ASYNC env var for disabling async logging when needed for immediate troubleshooting purposes
1053
1091
  - Fix issue with table equivalent sort edge case (that is two sorts that are equivalent causing an infinite loop of resorting since the table is not correctly identified as sorted already)
1054
1092
 
1055
- ### 0.6.5
1093
+ ## 0.6.5
1056
1094
 
1057
1095
  - Added the [rake-tui](https://github.com/AndyObtiva/rake-tui) gem as a productivity tool for arrow key navigation/text-filtering/quick-triggering of rake tasks
1058
1096
  - Use rake-tui gem in `glimmer` command by default on Mac and Linux
1059
1097
 
1060
- ### 0.6.4
1098
+ ## 0.6.4
1061
1099
 
1062
1100
  - Display glimmer-dsl-swt gem version in glimmer command usage
1063
1101
  - Include Glimmer Samples in Gem and provide access via `glimmer samples:list`, `glimmer samples:run`, and `glimmer samples:code` commands
1064
1102
  - Fix issue with glimmer not listing commands in usage without having a Rakefile
1065
1103
  - Fix issue with passing --log-level or --debug to the `girb` command
1066
1104
 
1067
- ### 0.6.3
1105
+ ## 0.6.3
1068
1106
 
1069
1107
  **Scaffolding:**
1070
1108
 
@@ -1100,7 +1138,7 @@
1100
1138
  - Fix transient issue with git bash not interpretting glimmer package[msi] as a rake task (yet as packages instead as it resolves [msi] by picking s to match packages local directory)
1101
1139
  - Fix issue with getting "Namespace is required!" when running `glimmer scaffold[app_name]` or `glimmer scaffold:gem:customshell[name,namespace]` (https://github.com/AndyObtiva/glimmer/issues/5)
1102
1140
 
1103
- ### 0.6.2
1141
+ ## 0.6.2
1104
1142
 
1105
1143
  - Set default margins on layouts (FilLayout, RowLayout, GridLayout, and any layout that responds to marginWidth and marginHeight)
1106
1144
  - Have scrolled_composite autoset min width and min height based on parent size
@@ -1110,7 +1148,7 @@
1110
1148
  - Add `image` keyword to create an ImageProxy and be able to scale it
1111
1149
  - Fix issue with ImageProxy not being scalable before swt_image is called
1112
1150
 
1113
- ### 0.6.1
1151
+ ## 0.6.1
1114
1152
 
1115
1153
  - Lock JARs task for jar-dependencies as part of packaging
1116
1154
  - Add 'vendor' to require_paths for custom shell gem
@@ -1121,7 +1159,7 @@
1121
1159
  - Fix app scaffold on Windows by having it generate jeweler gem first (to have gemspec for jar-dependencies)
1122
1160
  - Fix girb for Windows
1123
1161
 
1124
- ### 0.6.0
1162
+ ## 0.6.0
1125
1163
 
1126
1164
  - Upgrade to JRuby 9.2.13.0
1127
1165
  - Upgrade to SWT 4.16
@@ -1129,33 +1167,33 @@
1129
1167
  - Support cursor setting via SWT style symbols directly
1130
1168
  - Support `cursor` keyword
1131
1169
 
1132
- ### 0.5.6
1170
+ ## 0.5.6
1133
1171
 
1134
1172
  - Fixed issue with excluding on_swt_* listeners from Glimmer DSL engine processing in CustomWidget
1135
1173
  - Add shell minimum_size to Tic Tac Toe sample for Linux
1136
1174
 
1137
- ### 0.5.5
1175
+ ## 0.5.5
1138
1176
 
1139
1177
  - Add 'package' directory to 'config/warble.rb' for packaging in JAR file
1140
1178
  - Fix issue with image path conversion to imagedata on Mac vs Windows
1141
1179
 
1142
- ### 0.5.4
1180
+ ## 0.5.4
1143
1181
 
1144
1182
  - Fix issue with uri:classloader paths generated by JRuby when using File.expand_path inside packaged JAR files
1145
1183
 
1146
- ### 0.5.3
1184
+ ## 0.5.3
1147
1185
 
1148
1186
  - Set widget `image`/`images` property via string file path(s) just like `background_image`
1149
1187
 
1150
- ### 0.5.2
1188
+ ## 0.5.2
1151
1189
 
1152
1190
  - Added :full_selection to table widget default SWT styles
1153
1191
 
1154
- ### 0.5.1
1192
+ ## 0.5.1
1155
1193
 
1156
1194
  - Made packaging -BsystemWide option true on the Mac only
1157
1195
 
1158
- ### 0.5.0
1196
+ ## 0.5.0
1159
1197
 
1160
1198
  - Upgrade to glimmer 0.10.1 to take advantage of the new logging library
1161
1199
  - Make Glimmer commands support acronym, dash and no separator (default) alternatives
@@ -1178,11 +1216,11 @@
1178
1216
  - Eliminate unimportant (false negative) log messages getting reported as ERROR when running test suite
1179
1217
  - Sort table on every change to maintain its sort according to its sorted column
1180
1218
 
1181
- ### 0.4.1
1219
+ ## 0.4.1
1182
1220
 
1183
1221
  - Fixed an issue with async_exec and sync_exec keywords not working when used from a module that mixes Glimmer
1184
1222
 
1185
- ### 0.4.0
1223
+ ## 0.4.0
1186
1224
 
1187
1225
  - Support SWT listener events that take multiple-args (as in custom libraries like Nebula GanttChart)
1188
1226
  - Drop on_event_* keywords in favor of on_swt_* for SWT constant events
@@ -1192,7 +1230,7 @@
1192
1230
  - Set CustomShell data('custom_shell') objects
1193
1231
  - Delegate all WidgetProxy/ShellProxy/DisplayProxy/CustomWidget/CustomShell methods to wrapped SWT object on method_missing
1194
1232
 
1195
- ### 0.3.1
1233
+ ## 0.3.1
1196
1234
 
1197
1235
  - Support multiple widgets for editing table items
1198
1236