glimmer-dsl-swt 4.21.2.5 → 4.22.1.2

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