glimmer-dsl-swt 4.17.8.0 → 4.17.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -1
  3. data/README.md +289 -5
  4. data/VERSION +1 -1
  5. data/glimmer-dsl-swt.gemspec +8 -3
  6. data/lib/glimmer-dsl-swt.rb +4 -3
  7. data/lib/glimmer/data_binding/table_items_binding.rb +5 -5
  8. data/lib/glimmer/dsl/swt/checkbox_group_selection_data_binding_expression.rb +3 -3
  9. data/lib/glimmer/dsl/swt/directory_dialog_expression.rb +1 -1
  10. data/lib/glimmer/dsl/swt/file_dialog_expression.rb +1 -1
  11. data/lib/glimmer/dsl/swt/radio_group_selection_data_binding_expression.rb +3 -3
  12. data/lib/glimmer/dsl/swt/shell_expression.rb +1 -1
  13. data/lib/glimmer/dsl/swt/table_items_data_binding_expression.rb +3 -3
  14. data/lib/glimmer/dsl/swt/widget_expression.rb +2 -1
  15. data/lib/glimmer/swt/custom/checkbox_group.rb +29 -8
  16. data/lib/glimmer/swt/custom/code_text.rb +47 -44
  17. data/lib/glimmer/swt/custom/radio_group.rb +27 -6
  18. data/lib/glimmer/swt/date_time_proxy.rb +87 -0
  19. data/lib/glimmer/swt/directory_dialog_proxy.rb +1 -1
  20. data/lib/glimmer/swt/display_proxy.rb +6 -6
  21. data/lib/glimmer/swt/dnd_proxy.rb +6 -10
  22. data/lib/glimmer/swt/file_dialog_proxy.rb +1 -1
  23. data/lib/glimmer/swt/menu_proxy.rb +1 -1
  24. data/lib/glimmer/swt/message_box_proxy.rb +7 -7
  25. data/lib/glimmer/swt/sash_form_proxy.rb +3 -3
  26. data/lib/glimmer/swt/shell_proxy.rb +19 -4
  27. data/lib/glimmer/swt/style_constantizable.rb +5 -5
  28. data/lib/glimmer/swt/swt_proxy.rb +7 -8
  29. data/lib/glimmer/swt/tab_item_proxy.rb +9 -4
  30. data/lib/glimmer/swt/table_column_proxy.rb +13 -5
  31. data/lib/glimmer/swt/table_proxy.rb +187 -66
  32. data/lib/glimmer/swt/widget_listener_proxy.rb +4 -4
  33. data/lib/glimmer/swt/widget_proxy.rb +48 -4
  34. data/lib/glimmer/ui/custom_shell.rb +1 -1
  35. data/samples/elaborate/contact_manager.rb +3 -3
  36. data/samples/elaborate/meta_sample.rb +9 -9
  37. data/samples/hello/hello_browser.rb +3 -3
  38. data/samples/hello/hello_checkbox.rb +4 -4
  39. data/samples/hello/hello_checkbox_group.rb +6 -3
  40. data/samples/hello/hello_combo.rb +5 -5
  41. data/samples/hello/hello_date_time.rb +63 -0
  42. data/samples/hello/hello_directory_dialog.rb +1 -1
  43. data/samples/hello/hello_file_dialog.rb +1 -1
  44. data/samples/hello/hello_group.rb +104 -0
  45. data/samples/hello/hello_menu_bar.rb +3 -3
  46. data/samples/hello/hello_pop_up_context_menu.rb +3 -3
  47. data/samples/hello/hello_radio.rb +6 -6
  48. data/samples/hello/hello_radio_group.rb +9 -6
  49. data/samples/hello/hello_sash_form.rb +3 -3
  50. data/samples/hello/hello_spinner.rb +69 -0
  51. data/samples/hello/hello_tab.rb +3 -3
  52. data/samples/hello/hello_table.rb +287 -0
  53. data/samples/hello/hello_world.rb +1 -1
  54. metadata +7 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 355a2721d685e2440ad536721df4f543e292e0cf76c2b0740bbe3413eced552c
4
- data.tar.gz: 4829dc246b8af10a25cd93050d8866b7bb9be01adab985af3553327216dc98c2
3
+ metadata.gz: e98b64d0a38325d6474b61a1a411d910418fcf47448fe9d6a2c88742bc2109ed
4
+ data.tar.gz: dff1f5b21cc4b594be8f5b6eac5337e4ee4d072b1fb2bf87c3eb0e6728e1eb41
5
5
  SHA512:
6
- metadata.gz: f4d965caa8a53d051328d04dd65261d4cd80a37b64ddd8d8bf30ddeb569673f4ad0bf4be78e2fb8dd3a09776d780862c5d6561cadcb80a601b2900674e54a36e
7
- data.tar.gz: '06994b5fbc21286770e6cf422d208a2ecfa929b485ffce27c80789250a58452ca98e9bcef825aefe748de15f57da7833c98e0848580f4be26297cd811037bfd8'
6
+ metadata.gz: 62c570e832502b5dcde331cc9ef6774d1a15353d7f33066641ce7b07fa3f5a278cb4b1031a1266996fc9d09e37aa1884523ffb57100e47605cc4c54225b1b0b0
7
+ data.tar.gz: acf8dd65d70769f0f7c27873715f1360f6847ad0ffe3f1eed4c5af0c58768ec2c8ca6d4d1e337c88bca2ecb771025ded162130ed48aa0eec57c04c32590eda91
@@ -1,5 +1,45 @@
1
1
  # Change Log
2
2
 
3
+ ### 4.17.10.0
4
+
5
+ - Support table editing via `date_time` for date/time values
6
+ - Support table default sort configuration via sort_property
7
+ - Support table default sort configuration via sort block
8
+ - Support table default sort configuration via sort_by block
9
+ - Hello, Table! Sample editor :date_time, property: :date_time in
10
+ - Hello, Table! Sample label for (Baseball Game Schedule)
11
+ - Hello, Table! Sample combo for selecting nlds, nlcs, alds, alcs, world series
12
+ - Hello, Table! Sample promotion field that indicates things like Free Bobblehead, Free Towel, Free Umbrella, etc...
13
+ - ShellProxy#include_focus_control?
14
+ - Fix issue with table selection data-binding when in single selection mode vs multi
15
+ - Hello, Spinner! Sample
16
+
17
+ ### 4.17.9.0
18
+
19
+ - Add table style :editable to hook editing listener on mouse click automatically (instead of manually via on_widget_selected)
20
+ - Support table editing via `spinner` for integer values
21
+ - date_time widget official data-binding support of date_time, date, time, year, month, day, hours, minutes, and seconds
22
+ - date widget alias for date_time(:date)
23
+ - time widget alias for date_time(:time)
24
+ - calendar widget alias for date_time(:calendar)
25
+ - date_drop_down widget alias for date_time(:date, :drop_down)
26
+ - Hello, Date Time! Sample
27
+
28
+ ### 4.17.8.3
29
+
30
+ - Hello, Table! Sample
31
+ - Disable editing on a column with `editor :none`
32
+ - Improve `code_text` performance immensely by only styling the lines being shown upon editing
33
+ - Fix dead spots with syntax highlighting in some files in Gladiator like file.rb
34
+
35
+ ### 4.17.8.2
36
+
37
+ - Hello, Group! Sample
38
+
39
+ ### 4.17.8.1
40
+
41
+ - Fixed an issue in Windows with code_text
42
+
3
43
  ### 4.17.8.0
4
44
 
5
45
  - Officially Support SWT FileDialog with the `file_dialog` keyword (was unofficially supported before via standard SWT)
@@ -366,4 +406,4 @@
366
406
 
367
407
  ## 0.1.0
368
408
 
369
- - Extracted Glimmer DSL for SWT (glimmer-dsl-swt gem) from Glimmer
409
+ - Extracted Glimmer DSL for SWT (glimmer-dsl-swt gem) from Glimmer
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
- # [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for SWT 4.17.8.0
1
+ # [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for SWT 4.17.10.0
2
+
2
3
  ## JRuby Desktop Development GUI Library
3
4
  [![Gem Version](https://badge.fury.io/rb/glimmer-dsl-swt.svg)](http://badge.fury.io/rb/glimmer-dsl-swt)
4
5
  [![Travis CI](https://travis-ci.com/AndyObtiva/glimmer-dsl-swt.svg?branch=master)](https://travis-ci.com/github/AndyObtiva/glimmer-dsl-swt)
@@ -296,6 +297,7 @@ Glimmer App:
296
297
  - [List](#list)
297
298
  - [Table](#table)
298
299
  - [Tree](#tree)
300
+ - [DateTime](#datetime)
299
301
  - [Observer](#observer)
300
302
  - [Observing Widgets](#observing-widgets)
301
303
  - [Observing Models](#observing-models)
@@ -313,6 +315,8 @@ Glimmer App:
313
315
  - [Multi-DSL Support](#multi-dsl-support)
314
316
  - [Application Menu Items (About/Preferences)](#application-menu-items-aboutpreferences)
315
317
  - [App Name and Version](#app-name-and-version)
318
+ - [Checkbox Group Widget](#checkbox-group-widget)
319
+ - [Radio Group Widget](#radio-group-widget)
316
320
  - [Code Text Widget](#code-text-widget)
317
321
  - [Video Widget](#video-widget)
318
322
  - [Sash Form Widget](#sash-form-widget)
@@ -350,7 +354,14 @@ Glimmer App:
350
354
  - [Hello, Radio!](#hello-radio)
351
355
  - [Hello, Radio Group!](#hello-radio-group)
352
356
  - [Hello, Checkbox!](#hello-checkbox)
357
+ - [Hello, Group!](#hello-group)
358
+ - [Hello, Checkbox!](#hello-checkbox)
353
359
  - [Hello, Checkbox Group!](#hello-checkbox-group)
360
+ - [Hello, Directory Dialog!](#hello-directory-dialog)
361
+ - [Hello, File Dialog!](#hello-file-dialog)
362
+ - [Hello, Date Time!](#hello-date-time)
363
+ - [Hello, Spinner!](#hello-spinner)
364
+ - [Hello, Table!](#hello-table)
354
365
  - [Elaborate Samples](#elaborate-samples)
355
366
  - [User Profile](#user-profile)
356
367
  - [Login](#login)
@@ -444,7 +455,8 @@ jgem install glimmer-dsl-swt
444
455
 
445
456
  Or this command if you want a specific version:
446
457
  ```
447
- jgem install glimmer-dsl-swt -v 4.17.8.0
458
+ jgem install glimmer-dsl-swt -v 4.17.10.0
459
+
448
460
  ```
449
461
 
450
462
  `jgem` is JRuby's version of `gem` command.
@@ -520,7 +532,8 @@ bin/glimmer samples
520
532
  Below are the full usage instructions that come up when running `glimmer` without args.
521
533
 
522
534
  ```
523
- Glimmer (Ruby Desktop Development GUI Library) - JRuby Gem: glimmer-dsl-swt v4.17.8.0
535
+ Glimmer (Ruby Desktop Development GUI Library) - JRuby Gem: glimmer-dsl-swt v4.17.10.0
536
+
524
537
 
525
538
  Usage: glimmer [--bundler] [--pd] [--quiet] [--debug] [--log-level=VALUE] [[ENV_VAR=VALUE]...] [[-jruby-option]...] (application.rb or task[task_args]) [[application2.rb]...]
526
539
 
@@ -997,7 +1010,8 @@ Output:
997
1010
 
998
1011
  Css glimmer-dsl-css 1.1.0 AndyMaleh Glimmer DSL for CSS
999
1012
  Opal glimmer-dsl-opal 0.4.0 AndyMaleh Glimmer DSL for Opal
1000
- Swt glimmer-dsl-swt 4.17.8.0 AndyMaleh Glimmer DSL for SWT
1013
+ Swt glimmer-dsl-swt 4.17.10.0
1014
+ AndyMaleh Glimmer DSL for SWT
1001
1015
  Tk glimmer-dsl-tk 0.0.6 AndyMaleh Glimmer DSL for Tk
1002
1016
  Xml glimmer-dsl-xml 1.1.0 AndyMaleh Glimmer DSL for XML
1003
1017
  ```
@@ -2257,6 +2271,117 @@ This automatically leverages the SWT TableEditor custom class behind the scenes,
2257
2271
  passed table item text into something else.
2258
2272
  It automatically persists the change to `items` data-bound model on ENTER/FOCUS-OUT or cancels on ESC/NO-CHANGE.
2259
2273
 
2274
+ ##### Table Selection
2275
+
2276
+ Table Selection data-binding is simply done via the `selection` property.
2277
+
2278
+ ```ruby
2279
+ selection bind(group, :selected_person)
2280
+ ```
2281
+
2282
+ If it's a multi-selection table (`table(:multi)`), then the data-bound model property oughta be a collection.
2283
+
2284
+ ```ruby
2285
+ selection bind(group, :selected_people)
2286
+ ```
2287
+
2288
+ ##### Table Editing
2289
+
2290
+ Glimmer provides a custom SWT style for table editing called `:editable` to obviate the need for an `on_mouse_up` listener.
2291
+
2292
+ For example, the code above could be simplified as:
2293
+
2294
+ ```ruby
2295
+ shell {
2296
+ @table = table(:editable) {
2297
+ table_column {
2298
+ text "Name"
2299
+ width 120
2300
+ }
2301
+ table_column {
2302
+ text "Age"
2303
+ width 120
2304
+ }
2305
+ table_column {
2306
+ text "Adult"
2307
+ width 120
2308
+ }
2309
+ items bind(group, :people), column_properties(:name, :age, :adult)
2310
+ selection bind(group, :selected_person)
2311
+ }
2312
+ }
2313
+ ```
2314
+
2315
+ Additionally, Glimmer supports the idea of custom editors or no editor per column.
2316
+
2317
+ Example:
2318
+
2319
+ ```ruby
2320
+ shell {
2321
+ @table = table(:editable) {
2322
+ table_column {
2323
+ text "Name"
2324
+ width 120
2325
+ }
2326
+ table_column {
2327
+ text "Age"
2328
+ width 120
2329
+ editor :spinner
2330
+ }
2331
+ table_column {
2332
+ text "Adult"
2333
+ width 120
2334
+ editor :checkbox
2335
+ }
2336
+ items bind(group, :people), column_properties(:name, :age, :adult)
2337
+ selection bind(group, :selected_person)
2338
+ }
2339
+ }
2340
+ ```
2341
+
2342
+ The example above uses a `spinner` widget editor for the age column since it's an `Integer` and
2343
+ a `checkbox` widget (`button(:check)`) editor for the adult column since it's a `Boolean`
2344
+
2345
+ Here are all the supported types of table editors:
2346
+ - `text`: expects a `String` property
2347
+ - `combo`: expects a `String` property accompanied by a matching `property_options` property by convention to provide items to present in the `combo`
2348
+ - `checkbox`: expects a `Boolean` property
2349
+ - `radio`: expects a `Boolean` property
2350
+ - `spinner`: expects an `Integer` property
2351
+ - `date`: expects a `DateTime` property
2352
+ - `date_drop_down`: expects a `DateTime` property
2353
+ - `time`: expects a `DateTime` property
2354
+
2355
+ An editor may also take additional arguments (SWT styles such as :long for the date field) that are passed to the editor widget, as well as hash options to
2356
+ customize the property being used for editing (e.g. property: :raw_name for a :formatted_name field) in case it differs from the property used to display
2357
+ the data in the table.
2358
+
2359
+ Example:
2360
+
2361
+ ```ruby
2362
+ shell {
2363
+ @table = table(:editable) {
2364
+ table_column {
2365
+ text "Date of Birth"
2366
+ width 120
2367
+ editor :date_drop_down, property: :date_time
2368
+ }
2369
+ table_column {
2370
+ text "Industry"
2371
+ width 120
2372
+ # assume there is a `Person#industry_options` property method on the model to provide items to the `combo`
2373
+ editor :combo, :read_only # passes :ready_only SWT style to `combo` widget
2374
+ }
2375
+ items bind(group, :people), column_properties(:formatted_date, :industry)
2376
+ selection bind(group, :selected_person)
2377
+ }
2378
+ }
2379
+ ```
2380
+
2381
+ Check out [Hello, Table!](#hello-table) for an actual example including table editors.
2382
+
2383
+ [Are We There Yet?](#are-we-there-yet) is an actual production Glimmer application that takes full advantage of table capabilities.
2384
+
2260
2385
  ##### Table Sorting
2261
2386
 
2262
2387
  Glimmer automatically adds sorting support to the SWT `Table` widget.
@@ -2273,6 +2398,8 @@ Should you have a special data type that could not be compared automatically, Gl
2273
2398
  - `sort_by(&block)`: this works just like Ruby `Enumerable` `sort_by`. The block receives the table column data as argument.
2274
2399
  - `sort(&comparator)`: this works just like Ruby `Enumerable` `sort`. The comparator block receives two objects from the table column data.
2275
2400
 
2401
+ These alternatives could be used inside `table_column` for column-clicked sorting or in the `table` body directly to set the initial default sort.
2402
+
2276
2403
  You may also set `additional_sort_properties` on the parent `table` widget to have secondary sorting applied. For example, if you set `additional_sort_properties :name, :project_name`, then whenever you sort by `:name`, it additionally sorts by `:project_name` afterwards, and vice versa. This only works for columns that either have no custom sort set or have a `sort_property` with one property only (but no sort or sort_by block)
2277
2404
 
2278
2405
  Example:
@@ -2357,6 +2484,31 @@ This finds the root node. The array is a Java array. This enables easy passing o
2357
2484
  To edit a tree, you must invoke `TreeProxy#edit_selected_tree_item` or `TreeProxy#edit_tree_item`. This automatically leverages the SWT TreeEditor custom class behind the scenes, displaying
2358
2485
  a text widget to the user to change the selected or passed tree item text into something else. It automatically persists the change to `items` data-bound model on ENTER/FOCUS-OUT or cancels on ESC/NO-CHANGE.
2359
2486
 
2487
+ #### DateTime
2488
+
2489
+ `date_time` represents the SWT DateTime widget.
2490
+
2491
+ Glimmer offers the following alias keywords for it for convenience:
2492
+ - `date`: `date_time(:date)`
2493
+ - `date_drop_down`: `date_time(:date, :drop_down)`
2494
+ - `time`: `date_time(:time)`
2495
+ - `calendar`: `date_time(:calendar)`
2496
+
2497
+ You can data-bind any of these properties:
2498
+ - `date_time bind(model, :property)`: produces a Ruby DateTime object
2499
+ - `date bind(model, :property)`: produces a Ruby Date object
2500
+ - `time bind(model, :property)`: produces a Ruby Time object
2501
+ - `year bind(model, :property)`: produces an integer
2502
+ - `month bind(model, :property)`: produces an integer
2503
+ - `day bind(model, :property)`: produces an integer
2504
+ - `hours bind(model, :property)`: produces an integer
2505
+ - `minutes bind(model, :property)`: produces an integer
2506
+ - `seconds bind(model, :property)`: produces an integer
2507
+
2508
+ Learn more at the [Hello, Date Time!](#hello-date-time) sample.
2509
+
2510
+ If you need a better widget with the ability to customize the date format pattern, check out the [Nebula CDateTime Glimmer Custom Widget](https://github.com/AndyObtiva/glimmer-cw-cdatetime-nebula)
2511
+
2360
2512
  ### Observer
2361
2513
 
2362
2514
  Glimmer comes with `Observer` module, which is used internally for data-binding, but can also be used externally for custom use of the Observer Pattern. It is hidden when observing widgets, and used explicitly when observing models.
@@ -3730,6 +3882,26 @@ Code:
3730
3882
 
3731
3883
  [samples/hello/hello_checkbox.rb](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/samples/hello/hello_checkbox.rb)
3732
3884
 
3885
+ #### Hello, Group!
3886
+
3887
+ This sample demonstrates the use of a `group` in Glimmer (not to be confused with the logical radio group custom widget, this is just an alternative to `composite` that provides a border around content).
3888
+
3889
+ Code:
3890
+
3891
+ [samples/hello/hello_group.rb](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/samples/hello/hello_group.rb)
3892
+
3893
+ Hello, Group!
3894
+
3895
+ ![Hello Group](images/glimmer-hello-group.png)
3896
+
3897
+ #### Hello, Checkbox!
3898
+
3899
+ This sample demonstrates the use of a `checkbox` (aka `check` or `button(:check)`) in Glimmer.
3900
+
3901
+ Code:
3902
+
3903
+ [samples/hello/hello_checkbox.rb](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/samples/hello/hello_checkbox.rb)
3904
+
3733
3905
  Hello, Checkbox!
3734
3906
 
3735
3907
  ![Hello Checkbox](images/glimmer-hello-checkbox.png)
@@ -3746,6 +3918,118 @@ Hello, Checkbox Group!
3746
3918
 
3747
3919
  ![Hello Checkbox Group](images/glimmer-hello-checkbox-group.png)
3748
3920
 
3921
+ #### Hello, Directory Dialog!
3922
+
3923
+ This sample demonstrates the use of a `directory_dialog` in Glimmer.
3924
+
3925
+ Code:
3926
+
3927
+ [samples/hello/hello_directory_dialog.rb](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/samples/hello/hello_directory_dialog.rb)
3928
+
3929
+ Hello, Directory Dialog!
3930
+
3931
+ ![Hello Directory Dialog](images/glimmer-hello-directory-dialog.png)
3932
+
3933
+ Hello, Directory Dialog! Browse...
3934
+
3935
+ ![Hello Directory Dialog](images/glimmer-hello-directory-dialog-browse.png)
3936
+
3937
+ Hello, Directory Dialog! Selected Directory
3938
+
3939
+ ![Hello Directory Dialog](images/glimmer-hello-directory-dialog-selected-directory.png)
3940
+
3941
+ #### Hello, File Dialog!
3942
+
3943
+ This sample demonstrates the use of a `file_dialog` in Glimmer.
3944
+
3945
+ Code:
3946
+
3947
+ [samples/hello/hello_file_dialog.rb](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/samples/hello/hello_file_dialog.rb)
3948
+
3949
+ Hello, File Dialog!
3950
+
3951
+ ![Hello File Dialog](images/glimmer-hello-file-dialog.png)
3952
+
3953
+ Hello, File Dialog! Browse...
3954
+
3955
+ ![Hello File Dialog](images/glimmer-hello-file-dialog-browse.png)
3956
+
3957
+ Hello, File Dialog! Selected File
3958
+
3959
+ ![Hello File Dialog](images/glimmer-hello-file-dialog-selected-file.png)
3960
+
3961
+ #### Hello, Date Time!
3962
+
3963
+ This sample demonstrates the use of [date_time](#datetime) widget keywords in Glimmer: `date`, `date_drop_down`, `time`, and `calendar`
3964
+
3965
+ Code:
3966
+
3967
+ [samples/hello/hello_date_time.rb](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/samples/hello/hello_date_time.rb)
3968
+
3969
+ Hello, Date Time!
3970
+
3971
+ ![Hello Date Time](images/glimmer-hello-date-time.png)
3972
+
3973
+ #### Hello, Spinner!
3974
+
3975
+ This sample demonstrates the use of `spinner` widget in Glimmer
3976
+
3977
+ Code:
3978
+
3979
+ [samples/hello/hello_spinner.rb](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/samples/hello/hello_spinner.rb)
3980
+
3981
+ Hello, Spinner!
3982
+
3983
+ ![Hello Spinner](images/glimmer-hello-spinner.png)
3984
+
3985
+ #### Hello, Table!
3986
+
3987
+ This sample demonstrates the use of [table](#table) widget in Glimmer, including data-binding, multi-type editing, sorting, and filtering.
3988
+
3989
+ Code:
3990
+
3991
+ [samples/hello/hello_table.rb](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/samples/hello/hello_table.rb)
3992
+
3993
+ Hello, Table!
3994
+
3995
+ ![Hello Table](images/glimmer-hello-table.png)
3996
+
3997
+ Hello, Table! Editing Game Date
3998
+
3999
+ ![Hello Table](images/glimmer-hello-table-editing-game-date.png)
4000
+
4001
+ Hello, Table! Editing Game Time
4002
+
4003
+ ![Hello Table](images/glimmer-hello-table-editing-game-time.png)
4004
+
4005
+ Hello, Table! Editing Home Team
4006
+
4007
+ ![Hello Table](images/glimmer-hello-table-editing-home-team.png)
4008
+
4009
+ Hello, Table! Sorted Game Date Ascending
4010
+
4011
+ ![Hello Table](images/glimmer-hello-table-sorted-game-date-ascending.png)
4012
+
4013
+ Hello, Table! Sorted Game Date Descending
4014
+
4015
+ ![Hello Table](images/glimmer-hello-table-sorted-game-date-descending.png)
4016
+
4017
+ Hello, Table! Playoff Type Combo
4018
+
4019
+ ![Hello Table](images/glimmer-hello-table-playoff-type-combo.png)
4020
+
4021
+ Hello, Table! Playoff Type Changed
4022
+
4023
+ ![Hello Table](images/glimmer-hello-table-playoff-type-changed.png)
4024
+
4025
+ Hello, Table! Game Booked
4026
+
4027
+ ![Hello Table](images/glimmer-hello-table-game-booked.png)
4028
+
4029
+ Hello, Table! Context Menu
4030
+
4031
+ ![Hello Table](images/glimmer-hello-table-context-menu.png)
4032
+
3749
4033
  ### Elaborate Samples
3750
4034
 
3751
4035
  For more elaborate samples, check the following:
@@ -4139,4 +4423,4 @@ Copyright (c) 2007-2020 - Andy Maleh.
4139
4423
 
4140
4424
  --
4141
4425
 
4142
- [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=40 />](https://github.com/AndyObtiva/glimmer) Built for [Glimmer](https://github.com/AndyObtiva/glimmer) (Ruby Desktop Development GUI Library).
4426
+ [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=40 />](https://github.com/AndyObtiva/glimmer) Built for [Glimmer](https://github.com/AndyObtiva/glimmer) (Ruby Desktop Development GUI Library).
data/VERSION CHANGED
@@ -1 +1 @@
1
- 4.17.8.0
1
+ 4.17.10.0
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: glimmer-dsl-swt 4.17.8.0 ruby lib
5
+ # stub: glimmer-dsl-swt 4.17.10.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "glimmer-dsl-swt".freeze
9
- s.version = "4.17.8.0"
9
+ s.version = "4.17.10.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["AndyMaleh".freeze]
14
- s.date = "2020-11-01"
14
+ s.date = "2020-11-10"
15
15
  s.description = "Glimmer DSL for SWT (JRuby Desktop Development GUI Library)".freeze
16
16
  s.email = "andy.am@gmail.com".freeze
17
17
  s.executables = ["glimmer".freeze, "girb".freeze]
@@ -92,6 +92,7 @@ Gem::Specification.new do |s|
92
92
  "lib/glimmer/swt/custom/checkbox_group.rb",
93
93
  "lib/glimmer/swt/custom/code_text.rb",
94
94
  "lib/glimmer/swt/custom/radio_group.rb",
95
+ "lib/glimmer/swt/date_time_proxy.rb",
95
96
  "lib/glimmer/swt/directory_dialog_proxy.rb",
96
97
  "lib/glimmer/swt/display_proxy.rb",
97
98
  "lib/glimmer/swt/dnd_proxy.rb",
@@ -137,10 +138,12 @@ Gem::Specification.new do |s|
137
138
  "samples/hello/hello_computed/contact.rb",
138
139
  "samples/hello/hello_custom_shell.rb",
139
140
  "samples/hello/hello_custom_widget.rb",
141
+ "samples/hello/hello_date_time.rb",
140
142
  "samples/hello/hello_directory_dialog.rb",
141
143
  "samples/hello/hello_drag_and_drop.rb",
142
144
  "samples/hello/hello_expand_bar.rb",
143
145
  "samples/hello/hello_file_dialog.rb",
146
+ "samples/hello/hello_group.rb",
144
147
  "samples/hello/hello_list_multi_selection.rb",
145
148
  "samples/hello/hello_list_single_selection.rb",
146
149
  "samples/hello/hello_menu_bar.rb",
@@ -149,8 +152,10 @@ Gem::Specification.new do |s|
149
152
  "samples/hello/hello_radio.rb",
150
153
  "samples/hello/hello_radio_group.rb",
151
154
  "samples/hello/hello_sash_form.rb",
155
+ "samples/hello/hello_spinner.rb",
152
156
  "samples/hello/hello_styled_text.rb",
153
157
  "samples/hello/hello_tab.rb",
158
+ "samples/hello/hello_table.rb",
154
159
  "samples/hello/hello_world.rb",
155
160
  "vendor/swt/linux/swt.jar",
156
161
  "vendor/swt/mac/swt.jar",