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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 56654c61fc60401e8b1924bb81f474e5694ab7fc5c2c4a3b592932ccd348e0cb
4
- data.tar.gz: daa2b79e4a10af9b093f21c6358eaaba1bb93e4dc7fbc8520c7c658ccc2b20f2
3
+ metadata.gz: 3c37ec4445272c326501c750fcbb49f51476bb3a65caca31c5d41d23e5c8ed7b
4
+ data.tar.gz: 78f436deedcd9bc89ff9123cc475510cb8276f26d1ff4f4baa835ea94c6a4d8c
5
5
  SHA512:
6
- metadata.gz: a02f5c3157fdd1805902042d154f7f452258f56129905b7641ed7ea88a7178c6de64e36e07c8a99608a2db8f26094e90775ecc1ce1d1ed55062b573704a3f46e
7
- data.tar.gz: 568739a4d7954ef9d12515dbe9e4a0b1ae60bb06887067a7636247e173da6dbe9ee0c9765c1e63a3d7be261ef552ad3cff7eae90be8317cac7a9f70634e98e39
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 Hello, Meta Sample! to show Youtube Video Tutorial
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.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.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.0 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.
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.0
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.0'
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.0
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.0
1
+ 4.23.1.1
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 bind(self,
150
- :styled_text_proxy_text,
151
- read_only: true,
152
- on_read: lambda { |text_value|
153
- line_numbers_text_from(text_value)
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 bind(self, :styled_text_proxy_text) if lines
194
- top_pixel bind(self, :styled_text_proxy_top_pixel) if lines
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 { |event|
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 { |line_style_event|
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
- TEACHABLE[name]
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.0
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-01 00:00:00.000000000 Z
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