glimmer 0.10.2 → 1.0.2

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