glimmer-dsl-swt 4.23.1.0 → 4.23.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/README.md +5 -5
- data/VERSION +1 -1
- data/glimmer-dsl-swt.gemspec +0 -0
- data/lib/glimmer/swt/custom/code_text.rb +13 -19
- data/samples/elaborate/meta_sample/tutorials.yml +14 -0
- data/samples/elaborate/meta_sample.rb +48 -34
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c37ec4445272c326501c750fcbb49f51476bb3a65caca31c5d41d23e5c8ed7b
|
4
|
+
data.tar.gz: 78f436deedcd9bc89ff9123cc475510cb8276f26d1ff4f4baa835ea94c6a4d8c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16ca52eb3ce54d6483060ceb5c4ec9aa1d7faeb4cececd379fcef8d305e15dc12732a93ef06b6b373710f16155d9fff4cedd08c1bef49bdcf0c9573c60e56ebf
|
7
|
+
data.tar.gz: b656ab11c677463ecffe51591fb1eb06028f58d93c0037ee881d00f7c49815ad0f666e6cd91a02b7c373d9d2b30a58bd6501f7f93780a238b3654aedaf53bc3d
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,15 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## 4.23.1.1
|
4
|
+
|
5
|
+
- Switch order of buttons in Glimmer Meta-Sample to put Tutorial first
|
6
|
+
- Make Glimmer Meta-Sample pull list of tutorials from GitHub to avoid needing to update gem when adding new tutorials
|
7
|
+
|
3
8
|
## 4.23.1.0
|
4
9
|
|
5
10
|
- Upgrade to JRuby 9.3.4.0
|
6
11
|
- Upgrade to glimmer 2.7.3
|
7
|
-
- Add "Tutorial" button to
|
12
|
+
- Add "Tutorial" button to Glimmer Meta-Sample to show Youtube Video Tutorial
|
8
13
|
|
9
14
|
## 4.23.0.1
|
10
15
|
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
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.23.1.
|
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.23.1.1
|
2
2
|
## JRuby Desktop Development GUI Framework
|
3
3
|
[![Gem Version](https://badge.fury.io/rb/glimmer-dsl-swt.svg)](http://badge.fury.io/rb/glimmer-dsl-swt)
|
4
4
|
[![Travis CI](https://travis-ci.com/AndyObtiva/glimmer-dsl-swt.svg?branch=master)](https://travis-ci.com/github/AndyObtiva/glimmer-dsl-swt)
|
@@ -19,7 +19,7 @@ Featured in JRuby Cookbook](http://shop.oreilly.com/product/9780596519650.do) an
|
|
19
19
|
|
20
20
|
![Eclipse SWT RCP NASA Mars Rover](/images/glimmer-eclipse-swt-rcp-nasa-mars-rover.png)
|
21
21
|
|
22
|
-
[Glimmer DSL for SWT](https://rubygems.org/gems/glimmer-dsl-swt) 4.23.1.
|
22
|
+
[Glimmer DSL for SWT](https://rubygems.org/gems/glimmer-dsl-swt) 4.23.1.1 includes [SWT 4.23](https://download.eclipse.org/eclipse/downloads/drops4/R-4.23-202203080310/), which was released on March 8, 2022. Gem version numbers are in sync with the SWT library versions. The first two digits represent the SWT version number. The last two digits represent the minor and patch versions of Glimmer DSL for SWT.
|
23
23
|
|
24
24
|
**Starting in version 4.20.0.0, [Glimmer DSL for SWT](https://rubygems.org/gems/glimmer-dsl-swt) comes with the new [***Shine***](/docs/reference/GLIMMER_GUI_DSL_SYNTAX.md#shine) syntax** for highly intuitive and visually expressive View/Model Attribute Mapping, relying on `<=>` for bidirectional (two-way) data-binding and `<=` for unidirectional (one-way) data-binding, providing an alternative to the `bind` keyword.
|
25
25
|
|
@@ -333,7 +333,7 @@ jgem install glimmer-dsl-swt
|
|
333
333
|
|
334
334
|
Or this command if you want a specific version:
|
335
335
|
```
|
336
|
-
jgem install glimmer-dsl-swt -v 4.23.1.
|
336
|
+
jgem install glimmer-dsl-swt -v 4.23.1.1
|
337
337
|
```
|
338
338
|
|
339
339
|
`jgem` is JRuby's version of `gem` command.
|
@@ -361,7 +361,7 @@ Note: if you're using activerecord or activesupport, keep in mind that Glimmer u
|
|
361
361
|
|
362
362
|
Add the following to `Gemfile`:
|
363
363
|
```
|
364
|
-
gem 'glimmer-dsl-swt', '~> 4.23.1.
|
364
|
+
gem 'glimmer-dsl-swt', '~> 4.23.1.1'
|
365
365
|
```
|
366
366
|
|
367
367
|
And, then run:
|
@@ -384,7 +384,7 @@ glimmer
|
|
384
384
|
```
|
385
385
|
|
386
386
|
```
|
387
|
-
Glimmer (JRuby Desktop Development GUI Framework) - JRuby Gem: glimmer-dsl-swt v4.23.1.
|
387
|
+
Glimmer (JRuby Desktop Development GUI Framework) - JRuby Gem: glimmer-dsl-swt v4.23.1.1
|
388
388
|
|
389
389
|
Usage: glimmer [--bundler] [--pd] [--quiet] [--debug] [--log-level=VALUE] [[ENV_VAR=VALUE]...] [[-jruby-option]...] (application.rb or task[task_args]) [[application2.rb]...]
|
390
390
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.23.1.
|
1
|
+
4.23.1.1
|
data/glimmer-dsl-swt.gemspec
CHANGED
Binary file
|
@@ -146,17 +146,11 @@ module Glimmer
|
|
146
146
|
@line_numbers_styled_text_proxy = styled_text(swt(swt(swt_style), :h_scroll!, :v_scroll!)) {
|
147
147
|
layout_data(:right, :fill, false, true)
|
148
148
|
|
149
|
-
text
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
},
|
155
|
-
after_read: lambda {
|
156
|
-
@line_numbers_styled_text_proxy&.top_pixel = styled_text_proxy_top_pixel unless styled_text_proxy_top_pixel.nil?
|
157
|
-
}
|
158
|
-
)
|
159
|
-
top_pixel bind(self, :styled_text_proxy_top_pixel, read_only: true)
|
149
|
+
text <= [self, :styled_text_proxy_text,
|
150
|
+
on_read: lambda { |text_value| line_numbers_text_from(text_value) },
|
151
|
+
after_read: lambda { @line_numbers_styled_text_proxy&.top_pixel = styled_text_proxy_top_pixel unless styled_text_proxy_top_pixel.nil? }
|
152
|
+
]
|
153
|
+
top_pixel <= [self, :styled_text_proxy_top_pixel]
|
160
154
|
font name: @font_name, height: OS.mac? ? 15 : 12
|
161
155
|
background color(:widget_background)
|
162
156
|
foreground :dark_blue
|
@@ -190,8 +184,8 @@ module Glimmer
|
|
190
184
|
# custom_widget_property_owner # TODO implement to route properties here without declaring method_missing
|
191
185
|
layout_data :fill, :fill, true, true if lines
|
192
186
|
|
193
|
-
text
|
194
|
-
top_pixel
|
187
|
+
text <=> [self, :styled_text_proxy_text] if lines
|
188
|
+
top_pixel <=> [self, :styled_text_proxy_top_pixel] if lines
|
195
189
|
font name: @font_name, height: OS.mac? ? 15 : 12
|
196
190
|
foreground rgb(75, 75, 75)
|
197
191
|
left_margin 5
|
@@ -223,10 +217,10 @@ module Glimmer
|
|
223
217
|
}
|
224
218
|
end
|
225
219
|
|
226
|
-
on_modify_text
|
220
|
+
on_modify_text do |event|
|
227
221
|
# clear unnecessary syntax highlighting cache on text updates, and do it async to avoid affecting performance
|
228
222
|
new_text = event.data
|
229
|
-
async_exec
|
223
|
+
async_exec do
|
230
224
|
unless @syntax_highlighting.nil?
|
231
225
|
lines = new_text.to_s.split("\n")
|
232
226
|
line_diff = @syntax_highlighting.keys - lines
|
@@ -234,10 +228,10 @@ module Glimmer
|
|
234
228
|
@syntax_highlighting.delete(line)
|
235
229
|
end
|
236
230
|
end
|
237
|
-
|
238
|
-
|
231
|
+
end
|
232
|
+
end
|
239
233
|
|
240
|
-
on_line_get_style
|
234
|
+
on_line_get_style do |line_style_event|
|
241
235
|
begin
|
242
236
|
styles = []
|
243
237
|
style_data = nil
|
@@ -259,7 +253,7 @@ module Glimmer
|
|
259
253
|
Glimmer::Config.logger.error {e.message}
|
260
254
|
Glimmer::Config.logger.error {e.full_message}
|
261
255
|
end
|
262
|
-
|
256
|
+
end
|
263
257
|
}
|
264
258
|
end
|
265
259
|
|
@@ -0,0 +1,14 @@
|
|
1
|
+
---
|
2
|
+
Hello, World!: Mi5phsSdNAA
|
3
|
+
Hello, Message Box!: N0sDcr0xp40
|
4
|
+
Hello, Tab!: cMwlYZ78uaQ
|
5
|
+
Hello, Layout!: dAVFR9Y_thY
|
6
|
+
Hello, File Dialog!: HwZRgdvKIDo
|
7
|
+
Hello, Label!: i1PFHr-F8fQ
|
8
|
+
Hello, Text!: pOaYB43G2pg
|
9
|
+
Login: C_vSvXH9ISw
|
10
|
+
Hello, Canvas Shape Listeners!: PV13YE-43M4
|
11
|
+
Hello, Styled Text!: ahs54DPmmso
|
12
|
+
Hello, Code Text!: y0rNzMURnHY
|
13
|
+
Hello, Tree!: M-ZOFyzbEKo
|
14
|
+
Hello, Table!: 3zyyXq7WJwc
|
@@ -21,8 +21,15 @@
|
|
21
21
|
|
22
22
|
require 'glimmer-dsl-swt'
|
23
23
|
require 'fileutils'
|
24
|
+
require 'yaml'
|
25
|
+
require 'net/http'
|
24
26
|
|
25
27
|
class Sample
|
28
|
+
UNEDITABLE = ['meta_sample.rb'] + (OS.windows? ? ['calculator.rb', 'weather.rb'] : []) # Windows StyledText does not support unicode characters found in certain samples
|
29
|
+
URL_TUTORIALS = 'https://raw.githubusercontent.com/AndyObtiva/glimmer-dsl-swt/master/samples/elaborate/meta_sample/tutorials.yml'
|
30
|
+
FILE_TUTORIALS = File.expand_path(File.join('meta_sample', 'tutorials.yml'), __dir__)
|
31
|
+
TUTORIALS = YAML.load_file(FILE_TUTORIALS)
|
32
|
+
|
26
33
|
class << self
|
27
34
|
def glimmer_directory
|
28
35
|
File.expand_path('../../..', __FILE__)
|
@@ -39,28 +46,35 @@ class Sample
|
|
39
46
|
@ensured_glimmer_directory = true
|
40
47
|
end
|
41
48
|
end
|
49
|
+
|
50
|
+
def tutorials
|
51
|
+
if remote_tutorials && !remote_tutorials.empty? && remote_tutorials != local_tutorials
|
52
|
+
remote_tutorials
|
53
|
+
else
|
54
|
+
local_tutorials
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def remote_tutorials
|
59
|
+
if @remote_tutorials.nil?
|
60
|
+
remote_tutorials_response = Net::HTTP.get_response(URI(URL_TUTORIALS))
|
61
|
+
raise "Error downloading remote tutorial list from #{URL_TUTORIALS} (defaulting to local list): HTTP status #{remote_tutorials_response.code} #{remote_tutorials_response.message}!" unless remote_tutorials_response.code.to_i.between?(200, 299)
|
62
|
+
remote_tutorials_yaml = remote_tutorials_response.body
|
63
|
+
@remote_tutorials = YAML.load(remote_tutorials_yaml)
|
64
|
+
end
|
65
|
+
@remote_tutorials
|
66
|
+
rescue => e
|
67
|
+
Glimmer::Config.logger.error e.full_message
|
68
|
+
nil
|
69
|
+
end
|
70
|
+
|
71
|
+
def local_tutorials
|
72
|
+
TUTORIALS
|
73
|
+
end
|
42
74
|
end
|
43
75
|
|
44
76
|
include Glimmer::DataBinding::ObservableModel
|
45
|
-
|
46
|
-
UNEDITABLE = ['meta_sample.rb'] + (OS.windows? ? ['calculator.rb', 'weather.rb'] : []) # Windows StyledText does not support unicode characters found in certain samples
|
47
|
-
|
48
|
-
TEACHABLE = {
|
49
|
-
'Hello, World!' => 'Mi5phsSdNAA',
|
50
|
-
'Hello, Message Box!' => 'N0sDcr0xp40',
|
51
|
-
'Hello, Tab!' => 'cMwlYZ78uaQ',
|
52
|
-
'Hello, Layout!' => 'dAVFR9Y_thY',
|
53
|
-
'Hello, File Dialog!' => 'HwZRgdvKIDo',
|
54
|
-
'Hello, Label!' => 'i1PFHr-F8fQ',
|
55
|
-
'Hello, Text!' => 'pOaYB43G2pg',
|
56
|
-
'Login' => 'C_vSvXH9ISw',
|
57
|
-
'Hello, Canvas Shape Listeners!' => 'PV13YE-43M4',
|
58
|
-
'Hello, Styled Text!' => 'ahs54DPmmso',
|
59
|
-
'Hello, Code Text!' => 'y0rNzMURnHY',
|
60
|
-
'Hello, Tree!' => 'M-ZOFyzbEKo',
|
61
|
-
'Hello, Table!' => '3zyyXq7WJwc',
|
62
|
-
}
|
63
|
-
|
77
|
+
|
64
78
|
attr_accessor :sample_directory, :file, :selected
|
65
79
|
|
66
80
|
def initialize(file, sample_directory: )
|
@@ -105,7 +119,7 @@ class Sample
|
|
105
119
|
end
|
106
120
|
|
107
121
|
def tutorial
|
108
|
-
|
122
|
+
Sample.tutorials[name]
|
109
123
|
end
|
110
124
|
|
111
125
|
def file_relative_path
|
@@ -273,20 +287,6 @@ class MetaSampleApplication
|
|
273
287
|
height_hint 96
|
274
288
|
}
|
275
289
|
|
276
|
-
button {
|
277
|
-
text 'Launch'
|
278
|
-
font height: 25
|
279
|
-
enabled <= [SampleDirectory, 'selected_sample.launchable']
|
280
|
-
|
281
|
-
on_widget_selected do
|
282
|
-
begin
|
283
|
-
SampleDirectory.selected_sample.launch(@code_text.text)
|
284
|
-
rescue LoadError, StandardError, SyntaxError => launch_error
|
285
|
-
error_dialog(message: launch_error.full_message).open
|
286
|
-
end
|
287
|
-
end
|
288
|
-
}
|
289
|
-
|
290
290
|
button {
|
291
291
|
text 'Tutorial'
|
292
292
|
font height: 25
|
@@ -303,6 +303,20 @@ class MetaSampleApplication
|
|
303
303
|
end
|
304
304
|
}
|
305
305
|
|
306
|
+
button {
|
307
|
+
text 'Launch'
|
308
|
+
font height: 25
|
309
|
+
enabled <= [SampleDirectory, 'selected_sample.launchable']
|
310
|
+
|
311
|
+
on_widget_selected do
|
312
|
+
begin
|
313
|
+
SampleDirectory.selected_sample.launch(@code_text.text)
|
314
|
+
rescue LoadError, StandardError, SyntaxError => launch_error
|
315
|
+
error_dialog(message: launch_error.full_message).open
|
316
|
+
end
|
317
|
+
end
|
318
|
+
}
|
319
|
+
|
306
320
|
button {
|
307
321
|
text 'Reset'
|
308
322
|
font height: 25
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glimmer-dsl-swt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.23.1.
|
4
|
+
version: 4.23.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Maleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-05-
|
11
|
+
date: 2022-05-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -564,6 +564,7 @@ files:
|
|
564
564
|
- samples/elaborate/login.rb
|
565
565
|
- samples/elaborate/mandelbrot_fractal.rb
|
566
566
|
- samples/elaborate/meta_sample.rb
|
567
|
+
- samples/elaborate/meta_sample/tutorials.yml
|
567
568
|
- samples/elaborate/metronome.rb
|
568
569
|
- samples/elaborate/parking.rb
|
569
570
|
- samples/elaborate/parking/model/parking_floor.rb
|