glimmer-dsl-swt 4.21.2.3 → 4.22.1.0

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