glimmer-dsl-swt 4.17.9.0 → 4.17.10.4
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +34 -0
- data/README.md +185 -17
- data/VERSION +1 -1
- data/glimmer-dsl-swt.gemspec +8 -7
- data/lib/glimmer/data_binding/table_items_binding.rb +13 -14
- data/lib/glimmer/data_binding/tree_items_binding.rb +7 -7
- data/lib/glimmer/dsl/swt/table_items_data_binding_expression.rb +3 -3
- data/lib/glimmer/launcher.rb +9 -9
- data/lib/glimmer/swt/shell_proxy.rb +18 -3
- data/lib/glimmer/swt/styled_text_proxy.rb +8 -13
- data/lib/glimmer/swt/tab_item_proxy.rb +6 -1
- data/lib/glimmer/swt/table_column_proxy.rb +7 -1
- data/lib/glimmer/swt/table_proxy.rb +144 -59
- data/lib/glimmer/swt/widget_proxy.rb +49 -15
- data/samples/elaborate/meta_sample.rb +9 -9
- data/samples/hello/hello_checkbox_group.rb +3 -0
- data/samples/hello/hello_combo.rb +5 -5
- data/samples/hello/hello_radio_group.rb +3 -0
- data/samples/hello/hello_sash_form.rb +3 -3
- data/samples/hello/hello_spinner.rb +69 -0
- data/samples/hello/hello_tab.rb +3 -3
- data/samples/hello/hello_table.rb +183 -38
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1fb2ca2da3bc7253db8416bc1395423988fee5296324c89fa06d380cb568f28e
|
4
|
+
data.tar.gz: 3924772c16691aafe3a8cdcdc05ef0e9aa566a6843642a987e7ac0e7348c63ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38e692d156d993f29e9b362e8beb34c03eeb933b0d89a1d29c957e033da6f2356408032c03a2e3cfb69d66c0feb1f5c1b863705c40e2ddf55f2282efdf2d18d0
|
7
|
+
data.tar.gz: f9c23c58000fc174b8e6c83b430f117b4ed08ab305510a1f3ee7e1262af6ddb5105e60208be95a92d2bf5adb38501822fe9a8d1bde8fb25f3ee4b70047643858
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,39 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
### 4.17.10.4
|
4
|
+
|
5
|
+
- Do not select first row in a table by default (keep unselected)
|
6
|
+
- Prevented extra call to model data in table items data-binding
|
7
|
+
- Upgraded to glimmer v1.0.5
|
8
|
+
|
9
|
+
### 4.17.10.3
|
10
|
+
|
11
|
+
- Fixed issue in StyledText data-binding relating to capturing selection changes on mouse click
|
12
|
+
|
13
|
+
### 4.17.10.2
|
14
|
+
|
15
|
+
- Upgraded glimmer gem to version 1.0.4
|
16
|
+
- Fixed issues relating to data-binding `styled_text` widget
|
17
|
+
|
18
|
+
### 4.17.10.1
|
19
|
+
|
20
|
+
- Upgraded glimmer gem to version 1.0.3
|
21
|
+
- Upgraded rouge gem to version 3.25.0
|
22
|
+
|
23
|
+
### 4.17.10.0
|
24
|
+
|
25
|
+
- Support table editing via `date_time` for date/time values
|
26
|
+
- Support table default sort configuration via sort_property
|
27
|
+
- Support table default sort configuration via sort block
|
28
|
+
- Support table default sort configuration via sort_by block
|
29
|
+
- Hello, Table! Sample editor :date_time, property: :date_time in
|
30
|
+
- Hello, Table! Sample label for (Baseball Game Schedule)
|
31
|
+
- Hello, Table! Sample combo for selecting nlds, nlcs, alds, alcs, world series
|
32
|
+
- Hello, Table! Sample promotion field that indicates things like Free Bobblehead, Free Towel, Free Umbrella, etc...
|
33
|
+
- ShellProxy#include_focus_control?
|
34
|
+
- Fix issue with table selection data-binding when in single selection mode vs multi
|
35
|
+
- Hello, Spinner! Sample
|
36
|
+
|
3
37
|
### 4.17.9.0
|
4
38
|
|
5
39
|
- Add table style :editable to hook editing listener on mouse click automatically (instead of manually via on_widget_selected)
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
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.
|
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.4
|
2
2
|
|
3
|
-
## JRuby Desktop Development GUI
|
3
|
+
## JRuby Desktop Development GUI Framework
|
4
4
|
[](http://badge.fury.io/rb/glimmer-dsl-swt)
|
5
5
|
[](https://travis-ci.com/github/AndyObtiva/glimmer-dsl-swt)
|
6
6
|
[](https://coveralls.io/github/AndyObtiva/glimmer-dsl-swt?branch=master)
|
@@ -238,7 +238,7 @@ Glimmer App:
|
|
238
238
|
|
239
239
|
## Table of contents
|
240
240
|
|
241
|
-
- [Glimmer (
|
241
|
+
- [Glimmer (JRuby Desktop Development GUI Framework)](#jruby-desktop-development-gui-framework)
|
242
242
|
- [Examples](#examples)
|
243
243
|
- [Hello, World!](#hello-world)
|
244
244
|
- [Tic Tac Toe](#tic-tac-toe)
|
@@ -353,13 +353,14 @@ Glimmer App:
|
|
353
353
|
- [Hello, Expand Bar!](#hello-expand-bar)
|
354
354
|
- [Hello, Radio!](#hello-radio)
|
355
355
|
- [Hello, Radio Group!](#hello-radio-group)
|
356
|
-
- [Hello, Checkbox!](#hello-checkbox)
|
357
356
|
- [Hello, Group!](#hello-group)
|
358
357
|
- [Hello, Checkbox!](#hello-checkbox)
|
359
358
|
- [Hello, Checkbox Group!](#hello-checkbox-group)
|
360
359
|
- [Hello, Directory Dialog!](#hello-directory-dialog)
|
361
360
|
- [Hello, File Dialog!](#hello-file-dialog)
|
362
361
|
- [Hello, Date Time!](#hello-date-time)
|
362
|
+
- [Hello, Spinner!](#hello-spinner)
|
363
|
+
- [Hello, Table!](#hello-table)
|
363
364
|
- [Elaborate Samples](#elaborate-samples)
|
364
365
|
- [User Profile](#user-profile)
|
365
366
|
- [Login](#login)
|
@@ -453,7 +454,7 @@ jgem install glimmer-dsl-swt
|
|
453
454
|
|
454
455
|
Or this command if you want a specific version:
|
455
456
|
```
|
456
|
-
jgem install glimmer-dsl-swt -v 4.17.
|
457
|
+
jgem install glimmer-dsl-swt -v 4.17.10.4
|
457
458
|
|
458
459
|
```
|
459
460
|
|
@@ -530,7 +531,7 @@ bin/glimmer samples
|
|
530
531
|
Below are the full usage instructions that come up when running `glimmer` without args.
|
531
532
|
|
532
533
|
```
|
533
|
-
Glimmer (
|
534
|
+
Glimmer (JRuby Desktop Development GUI Framework) - JRuby Gem: glimmer-dsl-swt v4.17.10.4
|
534
535
|
|
535
536
|
|
536
537
|
Usage: glimmer [--bundler] [--pd] [--quiet] [--debug] [--log-level=VALUE] [[ENV_VAR=VALUE]...] [[-jruby-option]...] (application.rb or task[task_args]) [[application2.rb]...]
|
@@ -708,7 +709,7 @@ glimmer bin/greeter
|
|
708
709
|
|
709
710
|
#### Desktopify
|
710
711
|
|
711
|
-
This scaffolding mode enables you to desktopify a web app. Glimmer Scaffolding basically
|
712
|
+
This scaffolding mode enables you to desktopify a web app. Glimmer Scaffolding basically turns a website into a desktop application by wrapping the website with a [Browser Widget](#browser-widget).
|
712
713
|
|
713
714
|
The desktopify app is similar to the standard scaffolded app. It can be extended and the [browser may even be instrumented](https://help.eclipse.org/2020-09/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/browser/Browser.html).
|
714
715
|
|
@@ -1008,7 +1009,7 @@ Output:
|
|
1008
1009
|
|
1009
1010
|
Css glimmer-dsl-css 1.1.0 AndyMaleh Glimmer DSL for CSS
|
1010
1011
|
Opal glimmer-dsl-opal 0.4.0 AndyMaleh Glimmer DSL for Opal
|
1011
|
-
Swt glimmer-dsl-swt 4.17.
|
1012
|
+
Swt glimmer-dsl-swt 4.17.10.4
|
1012
1013
|
AndyMaleh Glimmer DSL for SWT
|
1013
1014
|
Tk glimmer-dsl-tk 0.0.6 AndyMaleh Glimmer DSL for Tk
|
1014
1015
|
Xml glimmer-dsl-xml 1.1.0 AndyMaleh Glimmer DSL for XML
|
@@ -2269,6 +2270,117 @@ This automatically leverages the SWT TableEditor custom class behind the scenes,
|
|
2269
2270
|
passed table item text into something else.
|
2270
2271
|
It automatically persists the change to `items` data-bound model on ENTER/FOCUS-OUT or cancels on ESC/NO-CHANGE.
|
2271
2272
|
|
2273
|
+
##### Table Selection
|
2274
|
+
|
2275
|
+
Table Selection data-binding is simply done via the `selection` property.
|
2276
|
+
|
2277
|
+
```ruby
|
2278
|
+
selection bind(group, :selected_person)
|
2279
|
+
```
|
2280
|
+
|
2281
|
+
If it's a multi-selection table (`table(:multi)`), then the data-bound model property oughta be a collection.
|
2282
|
+
|
2283
|
+
```ruby
|
2284
|
+
selection bind(group, :selected_people)
|
2285
|
+
```
|
2286
|
+
|
2287
|
+
##### Table Editing
|
2288
|
+
|
2289
|
+
Glimmer provides a custom SWT style for table editing called `:editable` to obviate the need for an `on_mouse_up` listener.
|
2290
|
+
|
2291
|
+
For example, the code above could be simplified as:
|
2292
|
+
|
2293
|
+
```ruby
|
2294
|
+
shell {
|
2295
|
+
@table = table(:editable) {
|
2296
|
+
table_column {
|
2297
|
+
text "Name"
|
2298
|
+
width 120
|
2299
|
+
}
|
2300
|
+
table_column {
|
2301
|
+
text "Age"
|
2302
|
+
width 120
|
2303
|
+
}
|
2304
|
+
table_column {
|
2305
|
+
text "Adult"
|
2306
|
+
width 120
|
2307
|
+
}
|
2308
|
+
items bind(group, :people), column_properties(:name, :age, :adult)
|
2309
|
+
selection bind(group, :selected_person)
|
2310
|
+
}
|
2311
|
+
}
|
2312
|
+
```
|
2313
|
+
|
2314
|
+
Additionally, Glimmer supports the idea of custom editors or no editor per column.
|
2315
|
+
|
2316
|
+
Example:
|
2317
|
+
|
2318
|
+
```ruby
|
2319
|
+
shell {
|
2320
|
+
@table = table(:editable) {
|
2321
|
+
table_column {
|
2322
|
+
text "Name"
|
2323
|
+
width 120
|
2324
|
+
}
|
2325
|
+
table_column {
|
2326
|
+
text "Age"
|
2327
|
+
width 120
|
2328
|
+
editor :spinner
|
2329
|
+
}
|
2330
|
+
table_column {
|
2331
|
+
text "Adult"
|
2332
|
+
width 120
|
2333
|
+
editor :checkbox
|
2334
|
+
}
|
2335
|
+
items bind(group, :people), column_properties(:name, :age, :adult)
|
2336
|
+
selection bind(group, :selected_person)
|
2337
|
+
}
|
2338
|
+
}
|
2339
|
+
```
|
2340
|
+
|
2341
|
+
The example above uses a `spinner` widget editor for the age column since it's an `Integer` and
|
2342
|
+
a `checkbox` widget (`button(:check)`) editor for the adult column since it's a `Boolean`
|
2343
|
+
|
2344
|
+
Here are all the supported types of table editors:
|
2345
|
+
- `text`: expects a `String` property
|
2346
|
+
- `combo`: expects a `String` property accompanied by a matching `property_options` property by convention to provide items to present in the `combo`
|
2347
|
+
- `checkbox`: expects a `Boolean` property
|
2348
|
+
- `radio`: expects a `Boolean` property
|
2349
|
+
- `spinner`: expects an `Integer` property
|
2350
|
+
- `date`: expects a `DateTime` property
|
2351
|
+
- `date_drop_down`: expects a `DateTime` property
|
2352
|
+
- `time`: expects a `DateTime` property
|
2353
|
+
|
2354
|
+
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
|
2355
|
+
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
|
2356
|
+
the data in the table.
|
2357
|
+
|
2358
|
+
Example:
|
2359
|
+
|
2360
|
+
```ruby
|
2361
|
+
shell {
|
2362
|
+
@table = table(:editable) {
|
2363
|
+
table_column {
|
2364
|
+
text "Date of Birth"
|
2365
|
+
width 120
|
2366
|
+
editor :date_drop_down, property: :date_time
|
2367
|
+
}
|
2368
|
+
table_column {
|
2369
|
+
text "Industry"
|
2370
|
+
width 120
|
2371
|
+
# assume there is a `Person#industry_options` property method on the model to provide items to the `combo`
|
2372
|
+
editor :combo, :read_only # passes :ready_only SWT style to `combo` widget
|
2373
|
+
}
|
2374
|
+
items bind(group, :people), column_properties(:formatted_date, :industry)
|
2375
|
+
selection bind(group, :selected_person)
|
2376
|
+
}
|
2377
|
+
}
|
2378
|
+
```
|
2379
|
+
|
2380
|
+
Check out [Hello, Table!](#hello-table) for an actual example including table editors.
|
2381
|
+
|
2382
|
+
[Are We There Yet?](#are-we-there-yet) is an actual production Glimmer application that takes full advantage of table capabilities.
|
2383
|
+
|
2272
2384
|
##### Table Sorting
|
2273
2385
|
|
2274
2386
|
Glimmer automatically adds sorting support to the SWT `Table` widget.
|
@@ -2285,6 +2397,8 @@ Should you have a special data type that could not be compared automatically, Gl
|
|
2285
2397
|
- `sort_by(&block)`: this works just like Ruby `Enumerable` `sort_by`. The block receives the table column data as argument.
|
2286
2398
|
- `sort(&comparator)`: this works just like Ruby `Enumerable` `sort`. The comparator block receives two objects from the table column data.
|
2287
2399
|
|
2400
|
+
These alternatives could be used inside `table_column` for column-clicked sorting or in the `table` body directly to set the initial default sort.
|
2401
|
+
|
2288
2402
|
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)
|
2289
2403
|
|
2290
2404
|
Example:
|
@@ -2392,6 +2506,8 @@ You can data-bind any of these properties:
|
|
2392
2506
|
|
2393
2507
|
Learn more at the [Hello, Date Time!](#hello-date-time) sample.
|
2394
2508
|
|
2509
|
+
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)
|
2510
|
+
|
2395
2511
|
### Observer
|
2396
2512
|
|
2397
2513
|
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.
|
@@ -3757,14 +3873,6 @@ Hello, Radio Group!
|
|
3757
3873
|
|
3758
3874
|

|
3759
3875
|
|
3760
|
-
#### Hello, Checkbox!
|
3761
|
-
|
3762
|
-
This sample demonstrates the use of a `checkbox` (aka `check` or `button(:check)`) in Glimmer.
|
3763
|
-
|
3764
|
-
Code:
|
3765
|
-
|
3766
|
-
[samples/hello/hello_checkbox.rb](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/samples/hello/hello_checkbox.rb)
|
3767
|
-
|
3768
3876
|
#### Hello, Group!
|
3769
3877
|
|
3770
3878
|
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).
|
@@ -3853,6 +3961,66 @@ Hello, Date Time!
|
|
3853
3961
|
|
3854
3962
|

|
3855
3963
|
|
3964
|
+
#### Hello, Spinner!
|
3965
|
+
|
3966
|
+
This sample demonstrates the use of `spinner` widget in Glimmer
|
3967
|
+
|
3968
|
+
Code:
|
3969
|
+
|
3970
|
+
[samples/hello/hello_spinner.rb](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/samples/hello/hello_spinner.rb)
|
3971
|
+
|
3972
|
+
Hello, Spinner!
|
3973
|
+
|
3974
|
+

|
3975
|
+
|
3976
|
+
#### Hello, Table!
|
3977
|
+
|
3978
|
+
This sample demonstrates the use of [table](#table) widget in Glimmer, including data-binding, multi-type editing, sorting, and filtering.
|
3979
|
+
|
3980
|
+
Code:
|
3981
|
+
|
3982
|
+
[samples/hello/hello_table.rb](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/samples/hello/hello_table.rb)
|
3983
|
+
|
3984
|
+
Hello, Table!
|
3985
|
+
|
3986
|
+

|
3987
|
+
|
3988
|
+
Hello, Table! Editing Game Date
|
3989
|
+
|
3990
|
+

|
3991
|
+
|
3992
|
+
Hello, Table! Editing Game Time
|
3993
|
+
|
3994
|
+

|
3995
|
+
|
3996
|
+
Hello, Table! Editing Home Team
|
3997
|
+
|
3998
|
+

|
3999
|
+
|
4000
|
+
Hello, Table! Sorted Game Date Ascending
|
4001
|
+
|
4002
|
+

|
4003
|
+
|
4004
|
+
Hello, Table! Sorted Game Date Descending
|
4005
|
+
|
4006
|
+

|
4007
|
+
|
4008
|
+
Hello, Table! Playoff Type Combo
|
4009
|
+
|
4010
|
+

|
4011
|
+
|
4012
|
+
Hello, Table! Playoff Type Changed
|
4013
|
+
|
4014
|
+

|
4015
|
+
|
4016
|
+
Hello, Table! Game Booked
|
4017
|
+
|
4018
|
+

|
4019
|
+
|
4020
|
+
Hello, Table! Context Menu
|
4021
|
+
|
4022
|
+

|
4023
|
+
|
3856
4024
|
### Elaborate Samples
|
3857
4025
|
|
3858
4026
|
For more elaborate samples, check the following:
|
@@ -4246,4 +4414,4 @@ Copyright (c) 2007-2020 - Andy Maleh.
|
|
4246
4414
|
|
4247
4415
|
--
|
4248
4416
|
|
4249
|
-
[<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) (
|
4417
|
+
[<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) (DSL Framework).
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.17.
|
1
|
+
4.17.10.4
|
data/glimmer-dsl-swt.gemspec
CHANGED
@@ -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.
|
5
|
+
# stub: glimmer-dsl-swt 4.17.10.4 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "glimmer-dsl-swt".freeze
|
9
|
-
s.version = "4.17.
|
9
|
+
s.version = "4.17.10.4"
|
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-
|
14
|
+
s.date = "2020-12-02"
|
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]
|
@@ -152,6 +152,7 @@ Gem::Specification.new do |s|
|
|
152
152
|
"samples/hello/hello_radio.rb",
|
153
153
|
"samples/hello/hello_radio_group.rb",
|
154
154
|
"samples/hello/hello_sash_form.rb",
|
155
|
+
"samples/hello/hello_spinner.rb",
|
155
156
|
"samples/hello/hello_styled_text.rb",
|
156
157
|
"samples/hello/hello_tab.rb",
|
157
158
|
"samples/hello/hello_table.rb",
|
@@ -171,7 +172,7 @@ Gem::Specification.new do |s|
|
|
171
172
|
end
|
172
173
|
|
173
174
|
if s.respond_to? :add_runtime_dependency then
|
174
|
-
s.add_runtime_dependency(%q<glimmer>.freeze, ["~> 1.0.
|
175
|
+
s.add_runtime_dependency(%q<glimmer>.freeze, ["~> 1.0.5"])
|
175
176
|
s.add_runtime_dependency(%q<super_module>.freeze, ["~> 1.4.1"])
|
176
177
|
s.add_runtime_dependency(%q<nested_inherited_jruby_include_package>.freeze, ["~> 0.3.0"])
|
177
178
|
s.add_runtime_dependency(%q<puts_debuggerer>.freeze, ["~> 0.10.2"])
|
@@ -181,7 +182,7 @@ Gem::Specification.new do |s|
|
|
181
182
|
s.add_runtime_dependency(%q<os>.freeze, [">= 1.0.0", "< 2.0.0"])
|
182
183
|
s.add_runtime_dependency(%q<rake>.freeze, [">= 10.1.0", "< 14.0.0"])
|
183
184
|
s.add_runtime_dependency(%q<text-table>.freeze, [">= 1.2.4", "< 2.0.0"])
|
184
|
-
s.add_runtime_dependency(%q<rouge>.freeze, [">= 3.
|
185
|
+
s.add_runtime_dependency(%q<rouge>.freeze, [">= 3.25.0", "< 4.0.0"])
|
185
186
|
s.add_development_dependency(%q<juwelier>.freeze, [">= 2.4.9", "< 3.0.0"])
|
186
187
|
s.add_development_dependency(%q<warbler>.freeze, [">= 2.0.5", "< 3.0.0"])
|
187
188
|
s.add_development_dependency(%q<rspec-mocks>.freeze, ["~> 3.5.0"])
|
@@ -190,7 +191,7 @@ Gem::Specification.new do |s|
|
|
190
191
|
s.add_development_dependency(%q<simplecov>.freeze, ["~> 0.16.1"])
|
191
192
|
s.add_development_dependency(%q<simplecov-lcov>.freeze, ["~> 0.7.0"])
|
192
193
|
else
|
193
|
-
s.add_dependency(%q<glimmer>.freeze, ["~> 1.0.
|
194
|
+
s.add_dependency(%q<glimmer>.freeze, ["~> 1.0.5"])
|
194
195
|
s.add_dependency(%q<super_module>.freeze, ["~> 1.4.1"])
|
195
196
|
s.add_dependency(%q<nested_inherited_jruby_include_package>.freeze, ["~> 0.3.0"])
|
196
197
|
s.add_dependency(%q<puts_debuggerer>.freeze, ["~> 0.10.2"])
|
@@ -200,7 +201,7 @@ Gem::Specification.new do |s|
|
|
200
201
|
s.add_dependency(%q<os>.freeze, [">= 1.0.0", "< 2.0.0"])
|
201
202
|
s.add_dependency(%q<rake>.freeze, [">= 10.1.0", "< 14.0.0"])
|
202
203
|
s.add_dependency(%q<text-table>.freeze, [">= 1.2.4", "< 2.0.0"])
|
203
|
-
s.add_dependency(%q<rouge>.freeze, [">= 3.
|
204
|
+
s.add_dependency(%q<rouge>.freeze, [">= 3.25.0", "< 4.0.0"])
|
204
205
|
s.add_dependency(%q<juwelier>.freeze, [">= 2.4.9", "< 3.0.0"])
|
205
206
|
s.add_dependency(%q<warbler>.freeze, [">= 2.0.5", "< 3.0.0"])
|
206
207
|
s.add_dependency(%q<rspec-mocks>.freeze, ["~> 3.5.0"])
|
@@ -1,5 +1,5 @@
|
|
1
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
|
5
5
|
# "Software"), to deal in the Software without restriction, including
|
@@ -7,10 +7,10 @@
|
|
7
7
|
# distribute, sublicense, and/or sell copies of the Software, and to
|
8
8
|
# permit persons to whom the Software is furnished to do so, subject to
|
9
9
|
# the following conditions:
|
10
|
-
#
|
10
|
+
#
|
11
11
|
# The above copyright notice and this permission notice shall be
|
12
12
|
# included in all copies or substantial portions of the Software.
|
13
|
-
#
|
13
|
+
#
|
14
14
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
15
|
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
16
|
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
@@ -38,16 +38,16 @@ module Glimmer
|
|
38
38
|
@model_binding = model_binding
|
39
39
|
@table.swt_widget.data = @model_binding
|
40
40
|
@column_properties = column_properties
|
41
|
+
@table.on_widget_disposed do |dispose_event|
|
42
|
+
unregister_all_observables
|
43
|
+
end
|
41
44
|
if @table.respond_to?(:column_properties=)
|
42
45
|
@table.column_properties = @column_properties
|
43
46
|
else # assume custom widget
|
44
47
|
@table.body_root.column_properties = @column_properties
|
45
48
|
end
|
46
|
-
call(@model_binding.evaluate_property)
|
47
49
|
@table_observer_registration = observe(model_binding)
|
48
|
-
|
49
|
-
unregister_all_observables
|
50
|
-
end
|
50
|
+
call
|
51
51
|
end
|
52
52
|
|
53
53
|
def call(new_model_collection=nil)
|
@@ -61,11 +61,11 @@ module Glimmer
|
|
61
61
|
add_dependent(@table_observer_registration => @table_items_observer_registration)
|
62
62
|
@model_collection = new_model_collection
|
63
63
|
end
|
64
|
-
populate_table(@model_collection, @table, @column_properties)
|
64
|
+
populate_table(@model_collection, @table, @column_properties)
|
65
65
|
end
|
66
66
|
|
67
67
|
def populate_table(model_collection, parent, column_properties)
|
68
|
-
selected_table_item_models = parent.swt_widget.getSelection.map(&:
|
68
|
+
selected_table_item_models = parent.swt_widget.getSelection.map(&:get_data)
|
69
69
|
parent.finish_edit!
|
70
70
|
parent.swt_widget.items.each(&:dispose)
|
71
71
|
parent.swt_widget.removeAll
|
@@ -74,12 +74,11 @@ module Glimmer
|
|
74
74
|
for index in 0..(column_properties.size-1)
|
75
75
|
table_item.setText(index, model.send(column_properties[index]).to_s)
|
76
76
|
end
|
77
|
-
table_item.
|
77
|
+
table_item.set_data(model)
|
78
78
|
end
|
79
|
-
selected_table_items = parent.search {|item| selected_table_item_models.include?(item.
|
80
|
-
|
81
|
-
parent.
|
82
|
-
parent.sort
|
79
|
+
selected_table_items = parent.search {|item| selected_table_item_models.include?(item.get_data) }
|
80
|
+
parent.swt_widget.setSelection(selected_table_items)
|
81
|
+
parent.sort!
|
83
82
|
parent.swt_widget.redraw if parent&.swt_widget&.respond_to?(:redraw)
|
84
83
|
end
|
85
84
|
end
|