glimmer 0.10.3 → 1.0.3

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