glimmer 0.10.4 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4fbfd6caf79d10dbaeb2d737d68a8f028819d6172f45a8b494d1a88c34e3e04b
4
- data.tar.gz: 9fcbc6d1948ced1b67192aeb22a25420b9a165930bc084e30534141c2f65a1fb
3
+ metadata.gz: 6a96adb1115f9dc1c50eba4fcfcc83e154de790c72945dca8038d42263093043
4
+ data.tar.gz: d874c3dd3f138b0a726110a8ea5d1099d2aae952b786e2f4efb28c8c7c7fef99
5
5
  SHA512:
6
- metadata.gz: b5809d0f9a9ae9536dfaf0ff74612c44a74df732d3ea7db7a8102aec6e434373104f9fba13a1aa3c1109faad754cfa390c3ac57bbd5de379f31441d9d61357d0
7
- data.tar.gz: 4d5d53bd6881b462b2aa2ca36ddcd2e41ab61862f5162e0a888288596609271fb5e8e3130a9c99647d7226ed1373ee1b2a6477d8e5660ec13bbb615f5a853b72
6
+ metadata.gz: ceda055a6ba36a0690eb473863eccb4e118178a800c06751fe32cdad534a51e4449b1bb42dcc354aa191208d634b08d220bf3e62c58ee67db69769487cdf2833
7
+ data.tar.gz: 4ae5d45861735a8a0e4276150aeb3945c9a9f516a5e5938b5fa08465d643f5214ab667f596590c70ec40fa8fff12bdf03faf347ce22771fcba38d4774e62f0e7
@@ -0,0 +1,379 @@
1
+ # Change Log
2
+
3
+ Related Change Logs:
4
+ - [glimmer-dsl-swt/CHANGELOG.md](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/CHANGELOG.md)
5
+
6
+ ## 1.0.4
7
+
8
+ - Ensure that `ObservableModel#remove_observer` clears observer registrations from `Observer` (just like `Observer#unobserve`)
9
+ - `ObservableModel#remove_observers` and `ObservableModel#remove_all_observers` methods
10
+
11
+ ## 1.0.3
12
+
13
+ - Upgraded array_include_methods gem to v1.0.4
14
+
15
+ ## 1.0.2
16
+
17
+ - Support ObservableArray notifications on `unshift`, `prepend`, and `append`
18
+
19
+ ## 1.0.1
20
+
21
+ - Fixed issue with excluded keywords getting caught up by the infinite-loop-detection check
22
+ - Upgraded to array_include_method v1.0.3
23
+
24
+ ## 1.0.0
25
+
26
+ - Code/Documentation preparation for version 1.0.0
27
+
28
+ ## 0.10.4
29
+
30
+ - Support Glimmer::Config.log_excluded_keywords option for whether or not to log keywords that are excluded by Glimmer::Config.excluded_keyword_checkers
31
+
32
+ ## 0.10.3
33
+
34
+ - Made Glimmer::Config module more resilient to invalid logger level values set via GLIMMER_LOGGER_LEVEL env var
35
+
36
+ ## 0.10.2
37
+
38
+ - Added observer notification support for all Array mutation methods in ObservableArray (e.g. `delete_if`, `select!`, `uniq!`, `collect!`, etc...)
39
+
40
+ ## 0.10.1
41
+
42
+ - excluded_keyword_checkers option for filtering certain keywords from Glimmer DSL processing
43
+ - Updates to logging levels to be more appropriate
44
+ - Fixed an issue to avoid crashing when calling observer.unregister/unobserve on a non-observable
45
+
46
+ ## 0.10.0
47
+
48
+ - Remove Glimmer::Config.enable_logging method
49
+ - Refactor Glimmer config logger and reset level to error
50
+ - Update all logger calls to lazy blocks
51
+
52
+ ## 0.9.5
53
+
54
+ - Removed resetting of DSL Engine upon encountering an exception as it is not needed and sometimes causes the wrong behavior
55
+
56
+ ## 0.9.4
57
+
58
+ - Fix issue with observing attributes on classes directly instead of their objects
59
+
60
+ ## 0.9.3
61
+
62
+ - Add infinite loop detection support to avoid infinite loops (breaks after 100 repetitions)
63
+ - Add Glimmer::Config option to specify loop max limit or disable completely
64
+ - ExcludedKeywordError with no logging for excluded keywords such as `to_a` and `to_h`
65
+
66
+ ## 0.9.2
67
+
68
+ - Extracted common model data-binding classes from glimmer-dsl-swt
69
+
70
+ ## 0.9.1
71
+
72
+ - Display error message if Glimmer DSL was invoked without any configured DSLs
73
+
74
+ ## 0.9.0
75
+
76
+ - Extracted Glimmer DSL for SWT into glimmer-dsl-swt gem
77
+ - Extracted Glimmer DSL for XML into glimmer-dsl-xml gem
78
+ - Extracted Glimmer DSL for CSS into glimmer-dsl-css gem
79
+ - Introduced Glimmer DSL for Opal in glimmer-dsl-swt gem
80
+
81
+ ## 0.8.2
82
+
83
+ - `message_box` DSL keyword
84
+ - Table single/multi selection databinding
85
+ - Table cell editing databinding
86
+ - Enhance table listener events with table_item and column_index methods
87
+ - Fix `Glimmer::SWT::ShellProxy#pack_same_size` for Linux
88
+
89
+ ## 0.8.1
90
+
91
+ - Fix Glimmer::SWT::ShellProxy#pack_same_size for Windows
92
+
93
+ ## 0.8.0
94
+
95
+ - Delegate listeners for menu items (:cascade) encapsulated by menus (dropdown menus)
96
+ - Make custom widget option method receive "default: hash key" instead of 2nd argument (adjusting scaffolding accordingly)
97
+ - Move about/preferences menu listeners from ShellProxy to DisplayProxy where they truly belong (adjusting scaffolding accordingly)
98
+
99
+ ## 0.7.8
100
+
101
+ - Fix verbiage for summary/description in scaffolding custom shell gems (change custom widget reference to custom shell)
102
+ - Scaffolding builds a proper binary for custom shell gems and includes it in executables in Rakefile
103
+ - Scaffolding adds about/preferences menu actions to apps/custom-shell-gems
104
+ - Make custom widget/shell options writable
105
+ - Support "dialog" Glimmer DSL keyword
106
+
107
+ ## 0.7.7
108
+
109
+ - Fix issue with scaffolding apps with dash in their name
110
+ - Make scaffolded custom shells launchable as standalone apps (native executables) too
111
+
112
+ ## 0.7.6
113
+
114
+ - Support text widget selection data-binding explicitly
115
+ - Make specs pass on Linux
116
+ - Maintain tree item expansion on data-binding related changes
117
+ - Make scaffolded apps launch from bin file not app file
118
+
119
+ ## 0.7.5
120
+
121
+ - Make :virtual a default tree SWT style
122
+ - Support Tree selection databinding (just like List)
123
+ - Support built-in Tree editing (i.e. editing tree item text)
124
+ - Support unregistering widget listeners
125
+ - Added tab item proxy dispose method that automatically unsets/disposes tab item inner control before disposing tab item itself
126
+
127
+ ## 0.7.4
128
+
129
+ - Have tree data-binding auto-embed models as tree item data
130
+ - TreeProxy#depth_first_search implementation
131
+ - Support read-only data-binding
132
+
133
+ ## 0.7.3
134
+
135
+ - Fix issue with rake tasks getting included twice
136
+ - Fix pack_same_size for shell_proxy
137
+ - Add pack_same_size to widget_proxy similar to that of shell_proxy
138
+
139
+ ## 0.7.2
140
+
141
+ - Fix issue with data binding a nested value with an on_read converter block not getting triggered if model value was nil
142
+ - Fix issue with glimmer command triggered rake tasks not honoring glimmer application local Rakefile settings
143
+
144
+ ## 0.7.1
145
+
146
+ - Fix crash issue with data-binding widget properties that are not supported in both directions
147
+ - Fix issue with scaffolding gems not having the right name
148
+ - Fix display of rdoc gem message on every glimmer app run
149
+ - Fix issues in closing a shell in girb
150
+ - Fix issue with Glimmer not clearing DSL Engine parent stacks when DSL interpretation raises exception
151
+ - Fix freezing issue upon logging observables and raising observable errors by overriding inspect on Observable to avoid printing nested tree of observers
152
+ - Added validation for shell widget parentage (accepting a shell or nil) in shell expression
153
+ - Support bidirectional data-binding of menu item selection (e.g. radio menu item)
154
+ - Make shell auto-activate on show with 0.25 delay
155
+
156
+ ## 0.7.0
157
+
158
+ - Expose `rake glimmer:package` rake task via `glimmer package` command
159
+ - Scaffold a Glimmer app: provide a standard structure for building a Glimmer app (models, views, and assets [images, videos, sounds])
160
+ - Scaffold a Glimmer custom shell
161
+ - Scaffold a Glimmer custom widget
162
+ - Scaffold a Glimmer custom widget gem
163
+ - Scaffold a Glimmer custom shell gem
164
+ - Extract Video widget into its own custom widget glimmer-video gem
165
+ - Extract Gladiator into its own custom shell glimmer-gladiator gem
166
+ - Support disable_dsl/enable_dsl/enabled_dsls=
167
+ - Minify CSS produced by CSS DSL
168
+ - Avoid using p in CSS DSL as it clashes with HTML p. Use pv instead (property value).
169
+ - Configure scaffold rspec_helper with glimmer-appropriate after block
170
+ - Move logger/import_swt_packages methods on Glimmer to Glimmer::Config
171
+ - Reorganize samples as hello and elaborate inside samples directory
172
+
173
+ ## 0.6.0
174
+
175
+ - Added multi-DSL support back to Glimmer
176
+ - Glimmer XML (HTML) DSL
177
+ - Glimmer CSS DSL
178
+ - Support mixing DSLs (e.g. SWT browser widget that has an XML text)
179
+ - Fixed Gladiator issue with not saving on quit
180
+ - Made color, rgb, and rgba SWT DSL static expressions instead of dynamic
181
+
182
+ ## 0.5.11
183
+
184
+ - Added file and url attribute writers to `video` widget
185
+ - Fix Gladiator issue with empty replace text field
186
+ - Fix Gladiator issue with opening empty file
187
+ - Support picking up VERSION and LICENSE.txt files in glimmer:package rake task
188
+ - Update packaging to build app DMG file with humanized name (having spaces for multiple words) and to autoset a default mac bundle ID
189
+
190
+ ## 0.5.10
191
+
192
+ - Fix video widget scrolling bar appearing issue
193
+ - Ensure on_about/on_preferences menu items are ignored on Windows
194
+ - Support SWT negative symbols postfixed by exclamation mark (e.g. :max! for no :max)
195
+ - Fix a bug in girb that made it not start anymore
196
+ - Fix a bug in Gladiator when jumping to line before a caret has been set
197
+
198
+ ## 0.5.9
199
+
200
+ - Allow discovery of custom widgets without namespace if there are no existing classes with same name
201
+ - Add filters (global listeners) to SWT Display
202
+ - ShellProxy #pack and #pack_same_size methods
203
+ - Added Gladiator (Glimmer Editor) sample and command
204
+
205
+ ## 0.5.8
206
+
207
+ - Support hooking into About and Preferences application menu items
208
+ - Support passing multiple SWT styles to a shell
209
+
210
+ ## 0.5.7
211
+
212
+ - Make mixing Glimmer into a class enable Glimmer DSL in both class instance scope and singleton class scope
213
+ - Remove app_name and app_version since they show up from plist file upon Mac packaging
214
+ - Change default packaged app name (shows up in top menu bar on Mac) to humanized form (e.g. MathBowling becomes Math Bowling)
215
+ - Provide README instructions and easy packaging options for signing apps (Glimmer::Package.javapackager_extra_args)
216
+
217
+ ## 0.5.6
218
+
219
+ - Add `rake glimmer:package:config` command to generate JAR config file
220
+ - Enabling passing extra args to javapackager via `JAVAPACKAGER_EXTRA_ARGS="..." rake glimmer:package`
221
+
222
+ ## 0.5.5
223
+
224
+ - shell widget args for SWT Display app name and app version
225
+ - Glimmer DSL colors lazy initialize and don't have an SWT Display object dependency anymore
226
+ - Glimmer DSL Menu/MenuItem support
227
+
228
+ ## 0.5.4
229
+
230
+ - Support custom data-binding property converters for nested/index data-binding
231
+ - Add glimmer command --log-level option
232
+ - Add glimmer command env var support
233
+ - Improvements to video widget (new methods and events to listen to)
234
+
235
+ ## 0.5.3
236
+
237
+ - Upgraded rake dependency to 10.1.0 to avoid conflicting dependencies
238
+ - Stopped disposing display upon closing a shell to allow reuse
239
+ - Support custom data-binding property converters
240
+ - Automatic re-packing of shell when layout or layout data is updated with data-binding
241
+
242
+ ## 0.5.2
243
+
244
+ - Support publishing a Glimmer app for the Mac (package as dmg file)
245
+ - Fix background_image widget property support to accept files in a JAR file
246
+ - Fix video widget support to accept files in a JAR file
247
+
248
+ ## 0.5.0
249
+
250
+ - Upgraded SWT to version 4.15
251
+ - Upgraded to JRuby 9.2.11.1
252
+ - Refurbished/refactored Glimmer code design and APIs getting a performance boost
253
+ - Scraped XML and multi-DSL support
254
+ - Renamed `#add_contents` to `#content`
255
+ - made it configurable to include SWT Packages or not
256
+ - Supported color keyword for standard colors
257
+ - Supported swt keyword for style
258
+ - Supported async_exec/sync_exec keywords in Glimmer DSL directly
259
+ - Changed "def body" to body { } in custom widget/shell
260
+ - Renamed commands to keywords in Glimmer
261
+ - Made Glimmer::Launcher automatically figure out dev mode when run as bin/glimmer locally
262
+ - Added LOAD_PATH explicitly
263
+
264
+ ## 0.4.9
265
+ - Added `org.eclipse.swt.custom` to default list of Glimmer SWT packages
266
+ - Added Custom Shell
267
+ - Made shell `#open` method remember if it was already opened before yet hidden, and just show the shell
268
+ - Implement shell `#hide` method
269
+ - Alias shell `#open` as `#show`
270
+ - Support CustomWidget/CustomShell Custom Property Observers
271
+ - Support on_*** observers on WidgetProxy's directly
272
+ - Support on_event_*** observers for SWT.constant event listeners (like show and hide)
273
+ - Added widget focus listener and data-binding support
274
+ - Support Glimmer DSL observe keyword and make it return observer registration object to unregister later on (unobserve)
275
+ - Support CustomWidget before_body and after_body hooks
276
+ - Make Glimmer DSL block provide parent Glimmer object (not SWT widget) as block argument
277
+ - Give widgets/custom-widgets ability to add content (properties/nested widgets) after construction via `#content` method
278
+ - Update setBackgroundImage to take an image path string for convenience (instead of an SWT image)
279
+
280
+ ## 0.4.8
281
+ - Video widget
282
+ - Girb fix to auto-include Glimmer
283
+
284
+ ## 0.4.7
285
+ - Fixed issues with custom widget support working for custom table, custom combo, custom list, parent of layout/layout-data, and on_*** observers
286
+ - Support for custom attributes/observers on a custom widget
287
+ - Display error message when using tab item widget NOT under a tab folder
288
+
289
+ ## 0.4.6
290
+ - Added SWT 4.14 library jars directly in project
291
+
292
+ ## 0.4.5
293
+ - SWT Browser widget support
294
+
295
+ ## 0.4.4
296
+ - Glimmer Custom Widget support
297
+ - Support --debug flag
298
+
299
+ ## 0.4.3
300
+ - Provide an easy way to make windows non-resizable
301
+ - Shorten needed :color_xyz symbols for known widget color properties like background and foreground to :xyz
302
+ - Friendly error message for passing a bad widget property font style (not normal, bold, italic)
303
+ - Friendly error message for passing a bad SWT style in general
304
+ - Support a single computed data binding as a string (not array)
305
+
306
+ ## 0.4.2
307
+ - Center window upon opening
308
+ - Set window minimum width (130) upon opening
309
+ - Accept SWT Shell constructor arguments
310
+
311
+ ## 0.4.1
312
+ - SWT Layout DSL support
313
+ - SWT Layout Data DSL support
314
+
315
+ ## 0.4.0
316
+ - Changed `BlockObserver` into `Observer.proc`
317
+ - Added `Observer#proc` to create simple block-based observers.
318
+ - Updated Observer API renaming `#update` to `#call`
319
+ - Renamed `R` prefixed classes (i.e. Ruby) to `G` prefixed classes (i.e. Glimmer) (e.g. `RWidget` becomes `WidgetProxy`)
320
+ - Namespaced all of Glimmer's classes and modules under `Glimmer`
321
+ - Added `display` Glimmer DSL keyword to instantiate an SWT Display
322
+ - Removed `String` and `Symbol` monkey-patching
323
+ - Accept standard color value passed to widget color properties as `String` or `Symbol`
324
+
325
+ ## 0.3.5
326
+ - Added font support to Glimmer DSL via name/height/style hash
327
+ - Added SWTProxy to easily build SWT constants (e.g. SWTProxy[:border] is SWT::BORDER )
328
+
329
+ ## 0.3.4
330
+ - Fixed color support/property converter support to work both in data-binding and in static property setting
331
+
332
+ ## 0.3.3
333
+ - Added color support to Glimmer DSL (rgb, rgba, and :color_*)
334
+
335
+ ## 0.3.2
336
+ - Automatically import SWT packages when including/extending Glimmer
337
+ - Automatically enhance objects as ObservableArray or ObservableModel when observing them
338
+
339
+ ## 0.3.1
340
+ - Fixed issue related to unnecessary tracking of parents in Observer
341
+
342
+ ## 0.3.0
343
+ - Automatic cleanup of observers upon updating values in data-binding (nested/indexed) or disposing a widget
344
+ - Change of APIs whereby Observer class is responsible for registering observers with observables on properties
345
+
346
+ ## 0.2.5
347
+ - Register a property type converter for `visible` property in widget binding, to ensure converting to boolean before setting in SWT widget.
348
+
349
+ ## 0.2.4
350
+ - Added nested indexed computed property data binding support (e.g. bind(person, 'addresses[0].street_count', computed_by: ['addresses[0].streets']))
351
+
352
+ ## 0.2.3
353
+ - Fixed nested indexed property data binding support for indexed leaf property (e.g. bind(person, 'names[1]'))
354
+
355
+ ## 0.2.2
356
+ - Added nested indexed property data binding support (e.g. bind(person, 'addresses[1].street'))
357
+
358
+ ## 0.2.0
359
+ - Upgraded to JRuby 9.2.10.0
360
+ - Fixed support for Windows & Linux
361
+ - Removed need to download SWT by including directly in gem for all platforms
362
+ - Simplified usage of glimmer command by preloading glimmer and not requiring setup
363
+
364
+ ## 0.1.11.SWT4.14
365
+ - Upgraded SWT to version 4.14
366
+
367
+ ## 0.1.11.470
368
+ - Nested property data binding support
369
+
370
+ ## 0.1.10.470
371
+ - Support Tree data-binding (one-way from model to tree)
372
+
373
+ ## 0.1.8.470
374
+ - girb support
375
+
376
+ ## 0.1.5.470
377
+ - Glimmer now uses a Ruby Logger in debug mode to provide helpful debugging information
378
+ - Glimmer has a smart new Ruby shell script for executing applications
379
+ - Glimmer now downloads swt.jar automatically when missing (e.g. 1st run) on Mac, Windows, and Linux, and for x86 and x86-64 CPU architectures.
@@ -0,0 +1,62 @@
1
+ # Contributing
2
+
3
+ Please follow [glimmer-dsl-swt/CONTRIBUTING.md](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/CONTRIBUTING.md) too.
4
+
5
+ ## Pre-requisites
6
+
7
+ - MacOS
8
+ - Other pre-requisites mentioned in [README.md](https://github.com/AndyObtiva/glimmer/tree/master#pre-requisites)
9
+
10
+ ## Machine Setup
11
+
12
+ Follow these steps, running mentioned commands in the terminal:
13
+ - Fork project repo
14
+ - Ensure pre-requisites installed (installing JRuby via RVM on the Mac)
15
+ - cd into project again to activate RVM glimmer gemset
16
+ - gem install bundler
17
+ - bundle
18
+ - rake # runs specs (ensure they finish successfully)
19
+ - Once done, open a pull request with master branch.
20
+
21
+ ### rspec
22
+
23
+ `rake` or `rake spec` runs all specs.
24
+
25
+ To run a specific spec file, run:
26
+ ```
27
+ rake SPEC=spec_file_path
28
+ ```
29
+
30
+ To run a specific spec, run:
31
+ ```
32
+ rake SPEC=spec_file_path:line_number
33
+ ```
34
+
35
+ To display Glimmer debug information, add `GLIMMER_DEBUG=true`:
36
+ ```
37
+ rake SPEC=spec_file_path:line_number GLIMMER_DEBUG=true
38
+ ```
39
+
40
+ Note: make sure not to use the keyboard or mouse while tests are running since they bring up UI elements behind the scenes (invisible). This avoids fudging them and causing false test failures. If you get obscure failures related to focus of widgets, they are most likely false negatives. Just rerun the specs without touching the keyboard or mouse and they would pass if they are not really broken.
41
+
42
+ ### build
43
+
44
+ `rake build` builds the Glimmer gem under the `pkg` directory.
45
+
46
+ ### glimmer command
47
+
48
+ To run a glimmer sample, run local `bin/glimmer` command:
49
+ ```
50
+ bin/glimmer samples/hello_world.rb
51
+ ```
52
+
53
+ It will notify you that you are in development mode.
54
+
55
+ ### girb command
56
+
57
+ To experiment with glimmer syntax using `girb`, run local `bin/girb`:
58
+ ```
59
+ bin/girb
60
+ ```
61
+
62
+ It will notify you that you are in development mode.