glimmer-dsl-swt 4.17.10.8 → 4.18.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -0
- data/README.md +10 -10
- data/VERSION +1 -1
- data/glimmer-dsl-swt.gemspec +43 -24
- data/lib/glimmer-dsl-swt.rb +1 -0
- data/lib/glimmer/swt/image_proxy.rb +11 -10
- data/lib/glimmer/swt/layout_proxy.rb +7 -3
- data/lib/glimmer/swt/menu_proxy.rb +9 -4
- data/lib/glimmer/swt/sash_form_proxy.rb +1 -1
- data/lib/glimmer/swt/style_constantizable.rb +8 -4
- data/lib/glimmer/swt/widget_proxy.rb +62 -18
- data/samples/elaborate/meta_sample.rb +37 -15
- data/samples/hello/hello_menu_bar.rb +184 -28
- data/vendor/swt/linux/swt.jar +0 -0
- data/vendor/swt/mac/swt.jar +0 -0
- data/vendor/swt/windows/swt.jar +0 -0
- metadata +21 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50e5a8d642ce0d66a1451ab28c2029388aa1b38f2e930b01259ac5a09fa528a6
|
4
|
+
data.tar.gz: 280f7949f24aa626a97658fd0eaff2715bdc5538d4ab2220b08375050653adf3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 95a750f50e8564ba0adbfe955234323b329f3760c72c8853dadb9b160444428794e91d78484c182efd4615fe806e2de711d21fbf81824c72cc1a9625d93a5bbe
|
7
|
+
data.tar.gz: '069fda16d1b6d399b35f11c7d32e68f3b3749e3cab7d79aef9a52b4583e885ebf55a53beeb68c66bcc47b27ce31f7d325189f8b24c8189d1da0e5fc2a2321903'
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
### 4.18.0.0
|
4
|
+
|
5
|
+
- Upgrade to SWT v4.18
|
6
|
+
- Upgrade to JRuby v9.2.14.0
|
7
|
+
- Apply all WidgetProxy property converters upon normal setting of properties too (not just in DSL) (like `some_widget.background = color_symbol`)
|
8
|
+
- Update Hello, Menu Bar! sample to show accelerators on menu items
|
9
|
+
- Have the `swt` keyword (SWTProxy) support accepting a string character (to build an accelerator style)
|
10
|
+
- Make accelerator property accept symbols and character directly (without swt)
|
11
|
+
- Write meta-sample changes to user directory to avoid permission issues
|
12
|
+
- Zero margin_left, margin_right, margin_top, margin_bottom in layouts given that margin_width and margin_height are set by default
|
13
|
+
- Prevent editing/launching meta-sample from Glimmer Meta-Sample
|
14
|
+
- Fix enablement on `menu` (as opposed to menu_item, where it works)
|
15
|
+
- Fix issue relating to background image scaling on resize of widget
|
16
|
+
|
3
17
|
### 4.17.10.8
|
4
18
|
|
5
19
|
- Support editing sample code in the Glimmer Meta-Sample to enable experimentation and learning
|
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.
|
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.18.0.0
|
2
2
|
|
3
3
|
## JRuby Desktop Development GUI Framework
|
4
4
|
[![Gem Version](https://badge.fury.io/rb/glimmer-dsl-swt.svg)](http://badge.fury.io/rb/glimmer-dsl-swt)
|
@@ -17,7 +17,7 @@
|
|
17
17
|
|
18
18
|
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.
|
19
19
|
|
20
|
-
[Glimmer DSL for SWT](https://rubygems.org/gems/glimmer-dsl-swt) versions 4.
|
20
|
+
[Glimmer DSL for SWT](https://rubygems.org/gems/glimmer-dsl-swt) versions 4.18.x.y come with [SWT 4.18](https://download.eclipse.org/eclipse/downloads/drops4/R-4.18-202012021800/), which was released on December 2, 2020.
|
21
21
|
|
22
22
|
[<img src="https://covers.oreillystatic.com/images/9780596519650/lrg.jpg" width=105 /><br />
|
23
23
|
Featured in<br />JRuby Cookbook](http://shop.oreilly.com/product/9780596519650.do)
|
@@ -416,13 +416,13 @@ https://www.eclipse.org/swt/faq.php
|
|
416
416
|
## Pre-requisites
|
417
417
|
|
418
418
|
- JDK 8u241 (1.8.0_241) (find at https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html)
|
419
|
-
- JRuby 9.2.
|
420
|
-
- SWT 4.
|
419
|
+
- JRuby 9.2.14.0 (supporting Ruby 2.5.x syntax) (get via [RVM](http://rvm.io) on Mac and Linux or find at [https://www.jruby.org/download](https://www.jruby.org/download) for Windows)
|
420
|
+
- SWT 4.18 (already included in the [glimmer-dsl-swt](https://rubygems.org/gems/glimmer-dsl-swt) gem)
|
421
421
|
|
422
422
|
To obtain JRuby through [RVM](http://rvm.io), you may run:
|
423
423
|
|
424
424
|
```bash
|
425
|
-
rvm install jruby-9.2.
|
425
|
+
rvm install jruby-9.2.14.0
|
426
426
|
```
|
427
427
|
|
428
428
|
Glimmer might still work on other versions of Java, JRuby and SWT, but there are no guarantees, so it is best to stick to the pre-requisites outlined above.
|
@@ -449,7 +449,7 @@ jgem install glimmer-dsl-swt
|
|
449
449
|
|
450
450
|
Or this command if you want a specific version:
|
451
451
|
```
|
452
|
-
jgem install glimmer-dsl-swt -v 4.
|
452
|
+
jgem install glimmer-dsl-swt -v 4.18.0.0
|
453
453
|
|
454
454
|
```
|
455
455
|
|
@@ -468,7 +468,7 @@ Note: if you're using activerecord or activesupport, keep in mind that Glimmer u
|
|
468
468
|
|
469
469
|
Add the following to `Gemfile`:
|
470
470
|
```
|
471
|
-
gem 'glimmer-dsl-swt', '~> 4.
|
471
|
+
gem 'glimmer-dsl-swt', '~> 4.18.0.0'
|
472
472
|
```
|
473
473
|
|
474
474
|
And, then run:
|
@@ -526,7 +526,7 @@ bin/glimmer samples
|
|
526
526
|
Below are the full usage instructions that come up when running `glimmer` without args.
|
527
527
|
|
528
528
|
```
|
529
|
-
Glimmer (JRuby Desktop Development GUI Framework) - JRuby Gem: glimmer-dsl-swt v4.
|
529
|
+
Glimmer (JRuby Desktop Development GUI Framework) - JRuby Gem: glimmer-dsl-swt v4.18.0.0
|
530
530
|
|
531
531
|
|
532
532
|
Usage: glimmer [--bundler] [--pd] [--quiet] [--debug] [--log-level=VALUE] [[ENV_VAR=VALUE]...] [[-jruby-option]...] (application.rb or task[task_args]) [[application2.rb]...]
|
@@ -1004,7 +1004,7 @@ Output:
|
|
1004
1004
|
|
1005
1005
|
Css glimmer-dsl-css 1.1.0 AndyMaleh Glimmer DSL for CSS
|
1006
1006
|
Opal glimmer-dsl-opal 0.8.0 AndyMaleh Glimmer DSL for Opal
|
1007
|
-
Swt glimmer-dsl-swt 4.
|
1007
|
+
Swt glimmer-dsl-swt 4.18.0.0
|
1008
1008
|
AndyMaleh Glimmer DSL for SWT
|
1009
1009
|
Tk glimmer-dsl-tk 0.0.6 AndyMaleh Glimmer DSL for Tk
|
1010
1010
|
Xml glimmer-dsl-xml 1.1.0 AndyMaleh Glimmer DSL for XML
|
@@ -3635,7 +3635,7 @@ This brings up the [Glimmer Meta-Sample (The Sample of Samples)](samples/elabora
|
|
3635
3635
|
|
3636
3636
|
![Glimmer Meta-Sample](images/glimmer-meta-sample.png)
|
3637
3637
|
|
3638
|
-
You may edit the code of any sample before launching it
|
3638
|
+
You may edit the code of any sample before launching it by clicking on the "Launch" button. This helps you learn by experimenting with Glimmer GUI DSL syntax. To go back to original code, simply hit the "Reset" button.
|
3639
3639
|
|
3640
3640
|
### Hello Samples
|
3641
3641
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.
|
1
|
+
4.18.0.0
|
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.
|
5
|
+
# stub: glimmer-dsl-swt 4.18.0.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "glimmer-dsl-swt".freeze
|
9
|
-
s.version = "4.
|
9
|
+
s.version = "4.18.0.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-12-
|
14
|
+
s.date = "2020-12-19"
|
15
15
|
s.description = "Glimmer DSL for SWT (JRuby Desktop Development GUI Framework)".freeze
|
16
16
|
s.email = "andy.am@gmail.com".freeze
|
17
17
|
s.executables = ["glimmer".freeze, "girb".freeze]
|
@@ -166,32 +166,51 @@ Gem::Specification.new do |s|
|
|
166
166
|
s.homepage = "http://github.com/AndyObtiva/glimmer-dsl-swt".freeze
|
167
167
|
s.licenses = ["MIT".freeze]
|
168
168
|
s.required_ruby_version = Gem::Requirement.new(">= 2.5.3".freeze)
|
169
|
-
s.rubygems_version = "3.
|
169
|
+
s.rubygems_version = "3.0.6".freeze
|
170
170
|
s.summary = "Glimmer DSL for SWT".freeze
|
171
171
|
|
172
172
|
if s.respond_to? :specification_version then
|
173
173
|
s.specification_version = 4
|
174
|
-
end
|
175
174
|
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
175
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
176
|
+
s.add_runtime_dependency(%q<glimmer>.freeze, ["~> 1.0.6"])
|
177
|
+
s.add_runtime_dependency(%q<super_module>.freeze, [">= 1.4.1", "< 2.0.0"])
|
178
|
+
s.add_runtime_dependency(%q<nested_inherited_jruby_include_package>.freeze, [">= 0.3.0", "< 2.0.0"])
|
179
|
+
s.add_runtime_dependency(%q<puts_debuggerer>.freeze, [">= 0.11.0", "< 2.0.0"])
|
180
|
+
s.add_runtime_dependency(%q<rake-tui>.freeze, [">= 0.2.3", "< 2.0.0"])
|
181
|
+
s.add_runtime_dependency(%q<git-glimmer>.freeze, ["= 1.7.0"])
|
182
|
+
s.add_runtime_dependency(%q<logging>.freeze, [">= 2.3.0", "< 3.0.0"])
|
183
|
+
s.add_runtime_dependency(%q<os>.freeze, [">= 1.0.0", "< 2.0.0"])
|
184
|
+
s.add_runtime_dependency(%q<rake>.freeze, [">= 10.1.0", "< 14.0.0"])
|
185
|
+
s.add_runtime_dependency(%q<text-table>.freeze, [">= 1.2.4", "< 2.0.0"])
|
186
|
+
s.add_runtime_dependency(%q<rouge>.freeze, [">= 3.26.0", "< 4.0.0"])
|
187
|
+
s.add_development_dependency(%q<juwelier>.freeze, [">= 2.4.9", "< 3.0.0"])
|
188
|
+
s.add_development_dependency(%q<warbler>.freeze, [">= 2.0.5", "< 3.0.0"])
|
189
|
+
s.add_development_dependency(%q<rspec-mocks>.freeze, ["~> 3.5.0"])
|
190
|
+
s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5.0"])
|
191
|
+
s.add_development_dependency(%q<coveralls>.freeze, ["= 0.8.23"])
|
192
|
+
s.add_development_dependency(%q<simplecov>.freeze, ["~> 0.16.1"])
|
193
|
+
s.add_development_dependency(%q<simplecov-lcov>.freeze, ["~> 0.7.0"])
|
194
|
+
else
|
195
|
+
s.add_dependency(%q<glimmer>.freeze, ["~> 1.0.6"])
|
196
|
+
s.add_dependency(%q<super_module>.freeze, [">= 1.4.1", "< 2.0.0"])
|
197
|
+
s.add_dependency(%q<nested_inherited_jruby_include_package>.freeze, [">= 0.3.0", "< 2.0.0"])
|
198
|
+
s.add_dependency(%q<puts_debuggerer>.freeze, [">= 0.11.0", "< 2.0.0"])
|
199
|
+
s.add_dependency(%q<rake-tui>.freeze, [">= 0.2.3", "< 2.0.0"])
|
200
|
+
s.add_dependency(%q<git-glimmer>.freeze, ["= 1.7.0"])
|
201
|
+
s.add_dependency(%q<logging>.freeze, [">= 2.3.0", "< 3.0.0"])
|
202
|
+
s.add_dependency(%q<os>.freeze, [">= 1.0.0", "< 2.0.0"])
|
203
|
+
s.add_dependency(%q<rake>.freeze, [">= 10.1.0", "< 14.0.0"])
|
204
|
+
s.add_dependency(%q<text-table>.freeze, [">= 1.2.4", "< 2.0.0"])
|
205
|
+
s.add_dependency(%q<rouge>.freeze, [">= 3.26.0", "< 4.0.0"])
|
206
|
+
s.add_dependency(%q<juwelier>.freeze, [">= 2.4.9", "< 3.0.0"])
|
207
|
+
s.add_dependency(%q<warbler>.freeze, [">= 2.0.5", "< 3.0.0"])
|
208
|
+
s.add_dependency(%q<rspec-mocks>.freeze, ["~> 3.5.0"])
|
209
|
+
s.add_dependency(%q<rspec>.freeze, ["~> 3.5.0"])
|
210
|
+
s.add_dependency(%q<coveralls>.freeze, ["= 0.8.23"])
|
211
|
+
s.add_dependency(%q<simplecov>.freeze, ["~> 0.16.1"])
|
212
|
+
s.add_dependency(%q<simplecov-lcov>.freeze, ["~> 0.7.0"])
|
213
|
+
end
|
195
214
|
else
|
196
215
|
s.add_dependency(%q<glimmer>.freeze, ["~> 1.0.6"])
|
197
216
|
s.add_dependency(%q<super_module>.freeze, [">= 1.4.1", "< 2.0.0"])
|
data/lib/glimmer-dsl-swt.rb
CHANGED
@@ -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
|
@@ -54,9 +54,9 @@ module Glimmer
|
|
54
54
|
@args = @args.first if @args.size == 1 && @args.first.is_a?(Array)
|
55
55
|
if options&.keys&.include?(:swt_image)
|
56
56
|
@swt_image = options[:swt_image]
|
57
|
-
@image_data = @swt_image.image_data
|
57
|
+
@original_image_data = @image_data = @swt_image.image_data
|
58
58
|
elsif @file_path
|
59
|
-
@image_data = ImageData.new(input_stream || @file_path)
|
59
|
+
@original_image_data = @image_data = ImageData.new(input_stream || @file_path)
|
60
60
|
@swt_image = Image.new(DisplayProxy.instance.swt_display, @image_data)
|
61
61
|
width = options[:width]
|
62
62
|
height = options[:height]
|
@@ -65,8 +65,8 @@ module Glimmer
|
|
65
65
|
scale_to(width, height) unless width.nil? || height.nil?
|
66
66
|
else
|
67
67
|
@swt_image = Image.new(*@args)
|
68
|
-
@image_data = @swt_image.image_data
|
69
|
-
end
|
68
|
+
@original_image_data = @image_data = @swt_image.image_data
|
69
|
+
end
|
70
70
|
end
|
71
71
|
|
72
72
|
def input_stream
|
@@ -77,12 +77,13 @@ module Glimmer
|
|
77
77
|
file_input_stream = object.java_class.resource_as_stream(file_path)
|
78
78
|
else
|
79
79
|
file_input_stream = java.io.FileInputStream.new(@file_path)
|
80
|
-
end
|
80
|
+
end
|
81
81
|
java.io.BufferedInputStream.new(file_input_stream) if file_input_stream
|
82
82
|
end
|
83
83
|
|
84
84
|
def scale_to(width, height)
|
85
|
-
|
85
|
+
return if @image_data.width == width && @image_data.height == height
|
86
|
+
scaled_image_data = @original_image_data.scaledTo(width, height)
|
86
87
|
device = swt_image.device
|
87
88
|
swt_image.dispose
|
88
89
|
@swt_image = Image.new(device, scaled_image_data)
|
@@ -99,7 +100,7 @@ module Glimmer
|
|
99
100
|
|
100
101
|
def respond_to?(method, *args, &block)
|
101
102
|
super || swt_image.respond_to?(method, *args, &block)
|
102
|
-
end
|
103
|
+
end
|
103
104
|
end
|
104
105
|
end
|
105
106
|
end
|
@@ -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
|
@@ -68,6 +68,10 @@ module Glimmer
|
|
68
68
|
@swt_layout = self.class.swt_layout_class_for(underscored_layout_name).new(*args)
|
69
69
|
@swt_layout.marginWidth = 15 if @swt_layout.respond_to?(:marginWidth)
|
70
70
|
@swt_layout.marginHeight = 15 if @swt_layout.respond_to?(:marginHeight)
|
71
|
+
@swt_layout.marginTop = 0 if @swt_layout.respond_to?(:marginTop)
|
72
|
+
@swt_layout.marginRight = 0 if @swt_layout.respond_to?(:marginRight)
|
73
|
+
@swt_layout.marginBottom = 0 if @swt_layout.respond_to?(:marginBottom)
|
74
|
+
@swt_layout.marginLeft = 0 if @swt_layout.respond_to?(:marginLeft)
|
71
75
|
@widget_proxy.swt_widget.setLayout(@swt_layout)
|
72
76
|
end
|
73
77
|
|
@@ -75,7 +75,7 @@ module Glimmer
|
|
75
75
|
end
|
76
76
|
|
77
77
|
def has_attribute?(attribute_name, *args)
|
78
|
-
if attribute_name.to_s
|
78
|
+
if ['text', 'enabled'].include?(attribute_name.to_s)
|
79
79
|
true
|
80
80
|
else
|
81
81
|
super(attribute_name, *args)
|
@@ -83,24 +83,29 @@ module Glimmer
|
|
83
83
|
end
|
84
84
|
|
85
85
|
def set_attribute(attribute_name, *args)
|
86
|
-
attribute_name
|
87
|
-
if attribute_name.to_s == "text"
|
86
|
+
if normalized_attribute(attribute_name) == 'text'
|
88
87
|
text_value = args[0]
|
89
88
|
@swt_menu_item.setText text_value
|
89
|
+
elsif normalized_attribute(attribute_name) == 'enabled'
|
90
|
+
value = args[0]
|
91
|
+
@swt_menu_item.setEnabled value
|
90
92
|
else
|
91
93
|
super(attribute_name, *args)
|
92
94
|
end
|
93
95
|
end
|
94
96
|
|
95
97
|
def get_attribute(attribute_name)
|
96
|
-
if attribute_name
|
98
|
+
if normalized_attribute(attribute_name) == 'text'
|
97
99
|
@swt_menu_item.getText
|
100
|
+
elsif normalized_attribute(attribute_name) == 'enabled'
|
101
|
+
@swt_menu_item.getEnabled
|
98
102
|
else
|
99
103
|
super(attribute_name)
|
100
104
|
end
|
101
105
|
end
|
102
106
|
|
103
107
|
def can_handle_observation_request?(observation_request, super_only: false)
|
108
|
+
observation_request = observation_request.to_s
|
104
109
|
super_result = super(observation_request)
|
105
110
|
if observation_request.start_with?('on_') && !super_result && !super_only
|
106
111
|
return menu_item_proxy.can_handle_observation_request?(observation_request)
|
@@ -28,7 +28,7 @@ module Glimmer
|
|
28
28
|
# Follows the Proxy Design Pattern
|
29
29
|
class SashFormProxy < WidgetProxy
|
30
30
|
def post_add_content
|
31
|
-
|
31
|
+
self.weights = @weights unless @weights.nil?
|
32
32
|
end
|
33
33
|
|
34
34
|
def set_attribute(attribute_name, *args)
|
@@ -89,11 +89,15 @@ module Glimmer
|
|
89
89
|
negative ? ~bit_value : bit_value
|
90
90
|
rescue => e
|
91
91
|
# Glimmer::Config.logger.debug {e.full_message}
|
92
|
-
|
93
|
-
|
94
|
-
negative ? ~bit_value : bit_value
|
92
|
+
if symbol.to_s.size == 1 # accelerator key
|
93
|
+
symbol.to_s.bytes.first
|
95
94
|
else
|
96
|
-
|
95
|
+
bit_value = extra_styles[swt_constant_symbol]
|
96
|
+
if bit_value
|
97
|
+
negative ? ~bit_value : bit_value
|
98
|
+
else
|
99
|
+
symbol
|
100
|
+
end
|
97
101
|
end
|
98
102
|
end
|
99
103
|
end
|
@@ -202,7 +202,22 @@ module Glimmer
|
|
202
202
|
end
|
203
203
|
end
|
204
204
|
|
205
|
+
def has_attribute_getter?(attribute_getter_name, *args)
|
206
|
+
attribute_getter_name = attribute_getter_name.to_s.underscore
|
207
|
+
return false unless !attribute_getter_name.end_with?('=') && !attribute_getter_name.start_with?('set_')
|
208
|
+
args.empty? && swt_widget.respond_to?(attribute_getter_name)
|
209
|
+
end
|
210
|
+
|
211
|
+
def has_attribute_setter?(attribute_setter_name, *args)
|
212
|
+
attribute_setter_name = attribute_setter_name.to_s
|
213
|
+
underscored_attribute_setter_name = attribute_setter_name.underscore
|
214
|
+
return false unless attribute_setter_name.end_with?('=') || (attribute_setter_name.start_with?('set_') && !args.empty?)
|
215
|
+
attribute_name = underscored_attribute_setter_name.sub(/^set_/, '').sub(/=$/, '')
|
216
|
+
has_attribute?(attribute_name, *args)
|
217
|
+
end
|
218
|
+
|
205
219
|
def has_attribute?(attribute_name, *args)
|
220
|
+
# TODO test that attribute getter responds too
|
206
221
|
widget_custom_attribute = widget_custom_attribute_mapping[attribute_name.to_s]
|
207
222
|
if widget_custom_attribute
|
208
223
|
@swt_widget.respond_to?(widget_custom_attribute[:setter][:name])
|
@@ -214,11 +229,13 @@ module Glimmer
|
|
214
229
|
def set_attribute(attribute_name, *args)
|
215
230
|
# TODO Think about widget subclasses overriding set_attribute to add more attributes vs adding as Ruby attributes directly
|
216
231
|
widget_custom_attribute = widget_custom_attribute_mapping[attribute_name.to_s]
|
232
|
+
apply_property_type_converters(normalized_attribute(attribute_name), args)
|
217
233
|
if widget_custom_attribute
|
218
234
|
widget_custom_attribute[:setter][:invoker].call(@swt_widget, args)
|
219
235
|
elsif @swt_widget.respond_to?(attribute_setter(attribute_name))
|
220
|
-
apply_property_type_converters(attribute_name, args)
|
221
236
|
@swt_widget.send(attribute_setter(attribute_name), *args) unless @swt_widget.send(attribute_getter(attribute_name)) == args.first
|
237
|
+
elsif @swt_widget.respond_to?(ruby_attribute_setter(attribute_name))
|
238
|
+
@swt_widget.send(ruby_attribute_setter(attribute_name), args)
|
222
239
|
else
|
223
240
|
send(ruby_attribute_setter(attribute_name), args)
|
224
241
|
end
|
@@ -234,6 +251,12 @@ module Glimmer
|
|
234
251
|
end
|
235
252
|
elsif @swt_widget.respond_to?(attribute_getter(attribute_name))
|
236
253
|
@swt_widget.send(attribute_getter(attribute_name))
|
254
|
+
elsif @swt_widget.respond_to?(ruby_attribute_getter(attribute_name))
|
255
|
+
@swt_widget.send(ruby_attribute_getter(attribute_name))
|
256
|
+
elsif @swt_widget.respond_to?(attribute_name)
|
257
|
+
@swt_widget.send(attribute_name)
|
258
|
+
elsif respond_to?(ruby_attribute_getter(attribute_name))
|
259
|
+
send(ruby_attribute_getter(attribute_name))
|
237
260
|
else
|
238
261
|
send(attribute_name)
|
239
262
|
end
|
@@ -608,11 +631,16 @@ module Glimmer
|
|
608
631
|
def method_missing(method, *args, &block)
|
609
632
|
if can_handle_observation_request?(method)
|
610
633
|
handle_observation_request(method, &block)
|
634
|
+
elsif has_attribute_setter?(method, *args)
|
635
|
+
set_attribute(method, *args)
|
636
|
+
elsif has_attribute_getter?(method, *args)
|
637
|
+
get_attribute(method, *args)
|
611
638
|
else
|
612
639
|
swt_widget.send(method, *args, &block)
|
613
640
|
end
|
614
641
|
rescue => e
|
615
|
-
Glimmer::Config.logger.debug {"Neither WidgetProxy nor #{swt_widget.class.name} can handle the method ##{method}"}
|
642
|
+
Glimmer::Config.logger.debug { "Neither WidgetProxy nor #{swt_widget.class.name} can handle the method ##{method}" }
|
643
|
+
Glimmer::Config.logger.debug { e.full_message }
|
616
644
|
super
|
617
645
|
# TODO consider get_attribute too
|
618
646
|
end
|
@@ -640,16 +668,26 @@ module Glimmer
|
|
640
668
|
end
|
641
669
|
|
642
670
|
def ruby_attribute_setter(attribute_name)
|
643
|
-
"#{attribute_name}="
|
671
|
+
"#{normalized_attribute(attribute_name)}="
|
644
672
|
end
|
645
673
|
|
646
674
|
def attribute_setter(attribute_name)
|
647
|
-
"set#{attribute_name.
|
675
|
+
"set#{normalized_attribute(attribute_name).camelcase(:upper)}"
|
648
676
|
end
|
649
677
|
|
650
678
|
def attribute_getter(attribute_name)
|
651
|
-
"get#{attribute_name.
|
679
|
+
"get#{normalized_attribute(attribute_name).camelcase(:upper)}"
|
652
680
|
end
|
681
|
+
|
682
|
+
def normalized_attribute(attribute_name)
|
683
|
+
attribute_name = attribute_name.to_s if attribute_name.is_a?(Symbol)
|
684
|
+
attribute_name = attribute_name.underscore unless attribute_name.downcase?
|
685
|
+
attribute_name = attribute_name.sub(/^get_/, '') if attribute_name.start_with?('get_')
|
686
|
+
attribute_name = attribute_name.sub(/^set_/, '') if attribute_name.start_with?('set_')
|
687
|
+
attribute_name = attribute_name.sub(/=$/, '') if attribute_name.end_with?('=')
|
688
|
+
attribute_name
|
689
|
+
end
|
690
|
+
alias ruby_attribute_getter normalized_attribute
|
653
691
|
|
654
692
|
# TODO refactor following methods to eliminate duplication
|
655
693
|
# perhaps consider relying on raising an exception to avoid checking first
|
@@ -800,11 +838,14 @@ module Glimmer
|
|
800
838
|
end
|
801
839
|
# TODO consider detecting type on widget method and automatically invoking right converter (e.g. :to_s for String, :to_i for Integer)
|
802
840
|
@property_type_converters ||= {
|
803
|
-
|
841
|
+
accelerator: lambda { |*value|
|
842
|
+
SWTProxy[*value]
|
843
|
+
},
|
844
|
+
alignment: lambda { |*value|
|
804
845
|
SWTProxy[*value]
|
805
846
|
},
|
806
|
-
:
|
807
|
-
:
|
847
|
+
background: color_converter,
|
848
|
+
background_image: lambda do |*value|
|
808
849
|
image_proxy = ImageProxy.create(*value)
|
809
850
|
|
810
851
|
if image_proxy&.file_path&.end_with?('.gif')
|
@@ -845,7 +886,7 @@ module Glimmer
|
|
845
886
|
|
846
887
|
image_proxy&.swt_image
|
847
888
|
end,
|
848
|
-
:
|
889
|
+
cursor: lambda do |value|
|
849
890
|
cursor_proxy = nil
|
850
891
|
if value.is_a?(CursorProxy)
|
851
892
|
cursor_proxy = value
|
@@ -857,9 +898,9 @@ module Glimmer
|
|
857
898
|
:enabled => lambda do |value|
|
858
899
|
!!value
|
859
900
|
end,
|
860
|
-
:
|
861
|
-
:
|
862
|
-
:
|
901
|
+
foreground: color_converter,
|
902
|
+
link_foreground: color_converter,
|
903
|
+
font: lambda do |value|
|
863
904
|
if value.is_a?(Hash)
|
864
905
|
font_properties = value
|
865
906
|
FontProxy.new(self, font_properties).swt_font
|
@@ -867,21 +908,21 @@ module Glimmer
|
|
867
908
|
value
|
868
909
|
end
|
869
910
|
end,
|
870
|
-
:
|
911
|
+
image: lambda do |*value|
|
871
912
|
ImageProxy.create(*value).swt_image
|
872
913
|
end,
|
873
|
-
:
|
914
|
+
images: lambda do |array|
|
874
915
|
array.to_a.map do |value|
|
875
916
|
ImageProxy.create(value).swt_image
|
876
917
|
end.to_java(Image)
|
877
918
|
end,
|
878
|
-
:
|
919
|
+
items: lambda do |value|
|
879
920
|
value.to_java :string
|
880
921
|
end,
|
881
|
-
:
|
922
|
+
text: lambda do |value|
|
882
923
|
value.to_s
|
883
924
|
end,
|
884
|
-
:
|
925
|
+
transfer: lambda do |value|
|
885
926
|
value = value.first if value.is_a?(Array) && value.size == 1 && value.first.is_a?(Array)
|
886
927
|
transfer_object_extrapolator = lambda do |transfer_name|
|
887
928
|
transfer_type = "#{transfer_name.to_s.camelcase(:upper)}Transfer".to_sym
|
@@ -900,9 +941,12 @@ module Glimmer
|
|
900
941
|
result = result.to_java(Transfer) unless result.is_a?(ArrayJavaProxy)
|
901
942
|
result
|
902
943
|
end,
|
903
|
-
:
|
944
|
+
visible: lambda do |value|
|
904
945
|
!!value
|
905
946
|
end,
|
947
|
+
weights: lambda do |value|
|
948
|
+
value.to_java(:int)
|
949
|
+
end,
|
906
950
|
}
|
907
951
|
end
|
908
952
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'fileutils'
|
2
|
+
require 'etc'
|
2
3
|
|
3
4
|
class Sample
|
4
5
|
include Glimmer::DataBinding::ObservableModel
|
@@ -33,23 +34,29 @@ class Sample
|
|
33
34
|
notify_observers('code')
|
34
35
|
end
|
35
36
|
|
37
|
+
def editable
|
38
|
+
File.basename(file) != 'meta_sample.rb'
|
39
|
+
end
|
40
|
+
alias launchable editable
|
41
|
+
|
36
42
|
def launch(modified_code)
|
37
|
-
|
43
|
+
parent_directory = File.basename(File.dirname(file))
|
44
|
+
modified_file_parent_directory = File.join(Etc.getpwuid.dir, '.glimmer', 'samples', parent_directory)
|
45
|
+
launch_file = modified_file = File.join(modified_file_parent_directory, File.basename(file))
|
38
46
|
begin
|
47
|
+
FileUtils.mkdir_p(modified_file_parent_directory)
|
48
|
+
FileUtils.cp_r(file, modified_file_parent_directory)
|
49
|
+
FileUtils.cp_r(file.sub(/\.rb/, ''), modified_file_parent_directory) if File.exist?(file.sub(/\.rb/, ''))
|
39
50
|
File.write(modified_file, modified_code)
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
text 'Error Launching'
|
45
|
-
message launch_error.full_message
|
46
|
-
}.open
|
47
|
-
end
|
48
|
-
rescue
|
49
|
-
load(file) # load original file if failed to write changes
|
50
|
-
ensure
|
51
|
-
FileUtils.rm_rf(modified_file)
|
51
|
+
rescue => e
|
52
|
+
puts 'Error writing sample modifications. Launching original sample.'
|
53
|
+
puts e.full_message
|
54
|
+
launch_file = file # load original file if failed to write changes
|
52
55
|
end
|
56
|
+
load(launch_file)
|
57
|
+
ensure
|
58
|
+
FileUtils.rm_rf(modified_file)
|
59
|
+
FileUtils.rm_rf(modified_file.sub(/\.rb/, ''))
|
53
60
|
end
|
54
61
|
end
|
55
62
|
|
@@ -149,7 +156,10 @@ class MetaSampleApplication
|
|
149
156
|
|
150
157
|
sash_form {
|
151
158
|
composite {
|
152
|
-
grid_layout
|
159
|
+
grid_layout(1, false) {
|
160
|
+
margin_width 0
|
161
|
+
margin_height 0
|
162
|
+
}
|
153
163
|
|
154
164
|
expand_bar {
|
155
165
|
layout_data(:fill, :fill, true, true)
|
@@ -180,13 +190,24 @@ class MetaSampleApplication
|
|
180
190
|
button {
|
181
191
|
text 'Launch'
|
182
192
|
font height: 30
|
193
|
+
enabled bind(SampleDirectory, 'selected_sample.launchable')
|
194
|
+
|
183
195
|
on_widget_selected {
|
184
|
-
|
196
|
+
begin
|
197
|
+
SampleDirectory.selected_sample.launch(@code_text.text)
|
198
|
+
rescue StandardError, SyntaxError => launch_error
|
199
|
+
message_box {
|
200
|
+
text 'Error Launching'
|
201
|
+
message launch_error.full_message
|
202
|
+
}.open
|
203
|
+
end
|
185
204
|
}
|
186
205
|
}
|
187
206
|
button {
|
188
207
|
text 'Reset'
|
189
208
|
font height: 30
|
209
|
+
enabled bind(SampleDirectory, 'selected_sample.editable')
|
210
|
+
|
190
211
|
on_widget_selected {
|
191
212
|
SampleDirectory.selected_sample.reset_code!
|
192
213
|
}
|
@@ -196,6 +217,7 @@ class MetaSampleApplication
|
|
196
217
|
|
197
218
|
@code_text = code_text {
|
198
219
|
text bind(SampleDirectory, 'selected_sample.code', read_only: true)
|
220
|
+
editable bind(SampleDirectory, 'selected_sample.editable')
|
199
221
|
}
|
200
222
|
|
201
223
|
weights 4, 9
|
@@ -21,50 +21,52 @@
|
|
21
21
|
|
22
22
|
include Glimmer
|
23
23
|
|
24
|
-
|
24
|
+
COLORS = [:white, :red, :yellow, :green, :blue, :magenta, :gray, :black]
|
25
|
+
|
26
|
+
shell {
|
27
|
+
grid_layout {
|
28
|
+
margin_width 0
|
29
|
+
margin_height 0
|
30
|
+
}
|
31
|
+
|
25
32
|
text 'Hello, Menu Bar!'
|
26
|
-
|
27
|
-
label(:center) {
|
28
|
-
font height:
|
29
|
-
text 'Check Out The
|
33
|
+
|
34
|
+
@label = label(:center) {
|
35
|
+
font height: 50
|
36
|
+
text 'Check Out The Menu Bar Above!'
|
30
37
|
}
|
38
|
+
|
31
39
|
menu_bar {
|
32
40
|
menu {
|
33
41
|
text '&File'
|
34
42
|
menu_item {
|
35
|
-
text 'E&xit'
|
36
|
-
on_widget_selected {
|
37
|
-
exit(0)
|
38
|
-
}
|
39
|
-
}
|
40
|
-
menu_item(0) {
|
41
43
|
text '&New'
|
44
|
+
accelerator :command, :N
|
45
|
+
|
42
46
|
on_widget_selected {
|
43
|
-
message_box
|
44
|
-
text 'New
|
45
|
-
message 'New
|
47
|
+
message_box {
|
48
|
+
text 'New'
|
49
|
+
message 'New file created.'
|
46
50
|
}.open
|
47
51
|
}
|
48
52
|
}
|
49
|
-
|
50
|
-
text '&
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
53
|
+
menu_item {
|
54
|
+
text '&Open...'
|
55
|
+
accelerator :command, :O
|
56
|
+
|
57
|
+
on_widget_selected {
|
58
|
+
message_box {
|
59
|
+
text 'Open'
|
60
|
+
message 'Opening File...'
|
61
|
+
}.open
|
57
62
|
}
|
58
63
|
}
|
59
|
-
}
|
60
|
-
menu {
|
61
|
-
text '&History'
|
62
64
|
menu {
|
63
|
-
text '&Recent'
|
65
|
+
text 'Open &Recent'
|
64
66
|
menu_item {
|
65
67
|
text 'File 1'
|
66
68
|
on_widget_selected {
|
67
|
-
message_box
|
69
|
+
message_box {
|
68
70
|
text 'File 1'
|
69
71
|
message 'File 1 Contents'
|
70
72
|
}.open
|
@@ -73,13 +75,167 @@ shell { |shell_proxy|
|
|
73
75
|
menu_item {
|
74
76
|
text 'File 2'
|
75
77
|
on_widget_selected {
|
76
|
-
message_box
|
78
|
+
message_box {
|
77
79
|
text 'File 2'
|
78
80
|
message 'File 2 Contents'
|
79
81
|
}.open
|
80
82
|
}
|
81
83
|
}
|
82
84
|
}
|
85
|
+
menu_item(:separator)
|
86
|
+
menu_item {
|
87
|
+
text 'E&xit'
|
88
|
+
|
89
|
+
on_widget_selected {
|
90
|
+
exit(0)
|
91
|
+
}
|
92
|
+
}
|
93
|
+
}
|
94
|
+
menu {
|
95
|
+
text '&Edit'
|
96
|
+
menu_item {
|
97
|
+
text 'Cut'
|
98
|
+
accelerator :command, :X
|
99
|
+
}
|
100
|
+
menu_item {
|
101
|
+
text 'Copy'
|
102
|
+
accelerator :command, :C
|
103
|
+
}
|
104
|
+
menu_item {
|
105
|
+
text 'Paste'
|
106
|
+
accelerator :command, :V
|
107
|
+
}
|
108
|
+
}
|
109
|
+
menu {
|
110
|
+
text '&Options'
|
111
|
+
|
112
|
+
menu_item(:radio) {
|
113
|
+
text '&Enabled'
|
114
|
+
|
115
|
+
on_widget_selected {
|
116
|
+
@select_one_menu.enabled = true
|
117
|
+
@select_multiple_menu.enabled = true
|
118
|
+
}
|
119
|
+
}
|
120
|
+
@select_one_menu = menu {
|
121
|
+
text '&Select One'
|
122
|
+
enabled false
|
123
|
+
|
124
|
+
menu_item(:radio) {
|
125
|
+
text 'Option 1'
|
126
|
+
}
|
127
|
+
menu_item(:radio) {
|
128
|
+
text 'Option 2'
|
129
|
+
}
|
130
|
+
menu_item(:radio) {
|
131
|
+
text 'Option 3'
|
132
|
+
}
|
133
|
+
}
|
134
|
+
@select_multiple_menu = menu {
|
135
|
+
text '&Select Multiple'
|
136
|
+
enabled false
|
137
|
+
|
138
|
+
menu_item(:check) {
|
139
|
+
text 'Option 4'
|
140
|
+
}
|
141
|
+
menu_item(:check) {
|
142
|
+
text 'Option 5'
|
143
|
+
}
|
144
|
+
menu_item(:check) {
|
145
|
+
text 'Option 6'
|
146
|
+
}
|
147
|
+
}
|
148
|
+
}
|
149
|
+
menu {
|
150
|
+
text '&Format'
|
151
|
+
menu {
|
152
|
+
text '&Background Color'
|
153
|
+
COLORS.each { |color_style|
|
154
|
+
menu_item(:radio) {
|
155
|
+
text color_style.to_s.split('_').map(&:capitalize).join(' ')
|
156
|
+
|
157
|
+
on_widget_selected {
|
158
|
+
@label.background = color_style
|
159
|
+
}
|
160
|
+
}
|
161
|
+
}
|
162
|
+
}
|
163
|
+
menu {
|
164
|
+
text 'Foreground &Color'
|
165
|
+
COLORS.each { |color_style|
|
166
|
+
menu_item(:radio) {
|
167
|
+
text color_style.to_s.split('_').map(&:capitalize).join(' ')
|
168
|
+
|
169
|
+
on_widget_selected {
|
170
|
+
@label.foreground = color_style
|
171
|
+
}
|
172
|
+
}
|
173
|
+
}
|
174
|
+
}
|
175
|
+
}
|
176
|
+
menu {
|
177
|
+
text '&View'
|
178
|
+
menu_item(:radio) {
|
179
|
+
text 'Small'
|
180
|
+
|
181
|
+
on_widget_selected {
|
182
|
+
@label.font = {height: 25}
|
183
|
+
@label.parent.pack
|
184
|
+
}
|
185
|
+
}
|
186
|
+
menu_item(:radio) {
|
187
|
+
text 'Medium'
|
188
|
+
selection true
|
189
|
+
|
190
|
+
on_widget_selected {
|
191
|
+
@label.font = {height: 50}
|
192
|
+
@label.parent.pack
|
193
|
+
}
|
194
|
+
}
|
195
|
+
menu_item(:radio) {
|
196
|
+
text 'Large'
|
197
|
+
|
198
|
+
on_widget_selected {
|
199
|
+
@label.font = {height: 75}
|
200
|
+
@label.parent.pack
|
201
|
+
}
|
202
|
+
}
|
203
|
+
}
|
204
|
+
menu {
|
205
|
+
text '&Help'
|
206
|
+
menu_item {
|
207
|
+
text '&Manual'
|
208
|
+
accelerator :command, :shift, :M
|
209
|
+
|
210
|
+
on_widget_selected {
|
211
|
+
message_box {
|
212
|
+
text 'Manual'
|
213
|
+
message 'Manual Contents'
|
214
|
+
}.open
|
215
|
+
}
|
216
|
+
}
|
217
|
+
menu_item {
|
218
|
+
text '&Tutorial'
|
219
|
+
accelerator :command, :shift, :T
|
220
|
+
|
221
|
+
on_widget_selected {
|
222
|
+
message_box {
|
223
|
+
text 'Tutorial'
|
224
|
+
message 'Tutorial Contents'
|
225
|
+
}.open
|
226
|
+
}
|
227
|
+
}
|
228
|
+
menu_item(:separator)
|
229
|
+
menu_item {
|
230
|
+
text '&Report an Issue...'
|
231
|
+
|
232
|
+
on_widget_selected {
|
233
|
+
message_box {
|
234
|
+
text 'Report an Issue'
|
235
|
+
message 'Reporting an issue...'
|
236
|
+
}.open
|
237
|
+
}
|
238
|
+
}
|
83
239
|
}
|
84
240
|
}
|
85
241
|
}.open
|
data/vendor/swt/linux/swt.jar
CHANGED
Binary file
|
data/vendor/swt/mac/swt.jar
CHANGED
Binary file
|
data/vendor/swt/windows/swt.jar
CHANGED
Binary file
|
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.
|
4
|
+
version: 4.18.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AndyMaleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-12-
|
11
|
+
date: 2020-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -17,8 +17,8 @@ dependencies:
|
|
17
17
|
- !ruby/object:Gem::Version
|
18
18
|
version: 1.0.6
|
19
19
|
name: glimmer
|
20
|
-
prerelease: false
|
21
20
|
type: :runtime
|
21
|
+
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
@@ -34,8 +34,8 @@ dependencies:
|
|
34
34
|
- !ruby/object:Gem::Version
|
35
35
|
version: 2.0.0
|
36
36
|
name: super_module
|
37
|
-
prerelease: false
|
38
37
|
type: :runtime
|
38
|
+
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
@@ -54,8 +54,8 @@ dependencies:
|
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: 2.0.0
|
56
56
|
name: nested_inherited_jruby_include_package
|
57
|
-
prerelease: false
|
58
57
|
type: :runtime
|
58
|
+
prerelease: false
|
59
59
|
version_requirements: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
61
|
- - ">="
|
@@ -74,8 +74,8 @@ dependencies:
|
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 2.0.0
|
76
76
|
name: puts_debuggerer
|
77
|
-
prerelease: false
|
78
77
|
type: :runtime
|
78
|
+
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - ">="
|
@@ -94,8 +94,8 @@ dependencies:
|
|
94
94
|
- !ruby/object:Gem::Version
|
95
95
|
version: 2.0.0
|
96
96
|
name: rake-tui
|
97
|
-
prerelease: false
|
98
97
|
type: :runtime
|
98
|
+
prerelease: false
|
99
99
|
version_requirements: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -111,8 +111,8 @@ dependencies:
|
|
111
111
|
- !ruby/object:Gem::Version
|
112
112
|
version: 1.7.0
|
113
113
|
name: git-glimmer
|
114
|
-
prerelease: false
|
115
114
|
type: :runtime
|
115
|
+
prerelease: false
|
116
116
|
version_requirements: !ruby/object:Gem::Requirement
|
117
117
|
requirements:
|
118
118
|
- - '='
|
@@ -128,8 +128,8 @@ dependencies:
|
|
128
128
|
- !ruby/object:Gem::Version
|
129
129
|
version: 3.0.0
|
130
130
|
name: logging
|
131
|
-
prerelease: false
|
132
131
|
type: :runtime
|
132
|
+
prerelease: false
|
133
133
|
version_requirements: !ruby/object:Gem::Requirement
|
134
134
|
requirements:
|
135
135
|
- - ">="
|
@@ -148,8 +148,8 @@ dependencies:
|
|
148
148
|
- !ruby/object:Gem::Version
|
149
149
|
version: 2.0.0
|
150
150
|
name: os
|
151
|
-
prerelease: false
|
152
151
|
type: :runtime
|
152
|
+
prerelease: false
|
153
153
|
version_requirements: !ruby/object:Gem::Requirement
|
154
154
|
requirements:
|
155
155
|
- - ">="
|
@@ -168,8 +168,8 @@ dependencies:
|
|
168
168
|
- !ruby/object:Gem::Version
|
169
169
|
version: 14.0.0
|
170
170
|
name: rake
|
171
|
-
prerelease: false
|
172
171
|
type: :runtime
|
172
|
+
prerelease: false
|
173
173
|
version_requirements: !ruby/object:Gem::Requirement
|
174
174
|
requirements:
|
175
175
|
- - ">="
|
@@ -188,8 +188,8 @@ dependencies:
|
|
188
188
|
- !ruby/object:Gem::Version
|
189
189
|
version: 2.0.0
|
190
190
|
name: text-table
|
191
|
-
prerelease: false
|
192
191
|
type: :runtime
|
192
|
+
prerelease: false
|
193
193
|
version_requirements: !ruby/object:Gem::Requirement
|
194
194
|
requirements:
|
195
195
|
- - ">="
|
@@ -208,8 +208,8 @@ dependencies:
|
|
208
208
|
- !ruby/object:Gem::Version
|
209
209
|
version: 4.0.0
|
210
210
|
name: rouge
|
211
|
-
prerelease: false
|
212
211
|
type: :runtime
|
212
|
+
prerelease: false
|
213
213
|
version_requirements: !ruby/object:Gem::Requirement
|
214
214
|
requirements:
|
215
215
|
- - ">="
|
@@ -228,8 +228,8 @@ dependencies:
|
|
228
228
|
- !ruby/object:Gem::Version
|
229
229
|
version: 3.0.0
|
230
230
|
name: juwelier
|
231
|
-
prerelease: false
|
232
231
|
type: :development
|
232
|
+
prerelease: false
|
233
233
|
version_requirements: !ruby/object:Gem::Requirement
|
234
234
|
requirements:
|
235
235
|
- - ">="
|
@@ -248,8 +248,8 @@ dependencies:
|
|
248
248
|
- !ruby/object:Gem::Version
|
249
249
|
version: 3.0.0
|
250
250
|
name: warbler
|
251
|
-
prerelease: false
|
252
251
|
type: :development
|
252
|
+
prerelease: false
|
253
253
|
version_requirements: !ruby/object:Gem::Requirement
|
254
254
|
requirements:
|
255
255
|
- - ">="
|
@@ -265,8 +265,8 @@ dependencies:
|
|
265
265
|
- !ruby/object:Gem::Version
|
266
266
|
version: 3.5.0
|
267
267
|
name: rspec-mocks
|
268
|
-
prerelease: false
|
269
268
|
type: :development
|
269
|
+
prerelease: false
|
270
270
|
version_requirements: !ruby/object:Gem::Requirement
|
271
271
|
requirements:
|
272
272
|
- - "~>"
|
@@ -279,8 +279,8 @@ dependencies:
|
|
279
279
|
- !ruby/object:Gem::Version
|
280
280
|
version: 3.5.0
|
281
281
|
name: rspec
|
282
|
-
prerelease: false
|
283
282
|
type: :development
|
283
|
+
prerelease: false
|
284
284
|
version_requirements: !ruby/object:Gem::Requirement
|
285
285
|
requirements:
|
286
286
|
- - "~>"
|
@@ -293,8 +293,8 @@ dependencies:
|
|
293
293
|
- !ruby/object:Gem::Version
|
294
294
|
version: 0.8.23
|
295
295
|
name: coveralls
|
296
|
-
prerelease: false
|
297
296
|
type: :development
|
297
|
+
prerelease: false
|
298
298
|
version_requirements: !ruby/object:Gem::Requirement
|
299
299
|
requirements:
|
300
300
|
- - '='
|
@@ -307,8 +307,8 @@ dependencies:
|
|
307
307
|
- !ruby/object:Gem::Version
|
308
308
|
version: 0.16.1
|
309
309
|
name: simplecov
|
310
|
-
prerelease: false
|
311
310
|
type: :development
|
311
|
+
prerelease: false
|
312
312
|
version_requirements: !ruby/object:Gem::Requirement
|
313
313
|
requirements:
|
314
314
|
- - "~>"
|
@@ -321,8 +321,8 @@ dependencies:
|
|
321
321
|
- !ruby/object:Gem::Version
|
322
322
|
version: 0.7.0
|
323
323
|
name: simplecov-lcov
|
324
|
-
prerelease: false
|
325
324
|
type: :development
|
325
|
+
prerelease: false
|
326
326
|
version_requirements: !ruby/object:Gem::Requirement
|
327
327
|
requirements:
|
328
328
|
- - "~>"
|
@@ -499,7 +499,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
499
499
|
- !ruby/object:Gem::Version
|
500
500
|
version: '0'
|
501
501
|
requirements: []
|
502
|
-
rubygems_version: 3.
|
502
|
+
rubygems_version: 3.0.6
|
503
503
|
signing_key:
|
504
504
|
specification_version: 4
|
505
505
|
summary: Glimmer DSL for SWT
|