glimmer-dsl-swt 4.21.2.4 → 4.22.1.1

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