glimmer-dsl-swt 4.22.0.0 → 4.22.1.0

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