glimmer-dsl-swt 4.18.3.4 → 4.18.4.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +55 -0
  3. data/README.md +600 -331
  4. data/VERSION +1 -1
  5. data/glimmer-dsl-swt.gemspec +8 -3
  6. data/lib/ext/rouge/themes/glimmer.rb +29 -0
  7. data/lib/glimmer-dsl-swt.rb +0 -1
  8. data/lib/glimmer/data_binding/widget_binding.rb +1 -1
  9. data/lib/glimmer/swt/custom/code_text.rb +200 -51
  10. data/lib/glimmer/swt/custom/drawable.rb +1 -4
  11. data/lib/glimmer/swt/custom/shape.rb +50 -6
  12. data/lib/glimmer/swt/date_time_proxy.rb +1 -3
  13. data/lib/glimmer/swt/display_proxy.rb +11 -0
  14. data/lib/glimmer/swt/font_proxy.rb +1 -0
  15. data/lib/glimmer/swt/image_proxy.rb +11 -0
  16. data/lib/glimmer/swt/layout_proxy.rb +4 -1
  17. data/lib/glimmer/swt/shell_proxy.rb +4 -1
  18. data/lib/glimmer/swt/table_proxy.rb +17 -13
  19. data/lib/glimmer/swt/widget_proxy.rb +11 -3
  20. data/samples/elaborate/meta_sample.rb +15 -4
  21. data/samples/elaborate/meta_sample/meta_sample_logo.png +0 -0
  22. data/samples/elaborate/tetris.rb +16 -6
  23. data/samples/elaborate/tetris/model/game.rb +3 -3
  24. data/samples/elaborate/tetris/model/past_game.rb +14 -1
  25. data/samples/elaborate/tetris/view/block.rb +1 -1
  26. data/samples/elaborate/tetris/view/high_score_dialog.rb +1 -10
  27. data/samples/elaborate/tetris/view/playfield.rb +1 -1
  28. data/samples/elaborate/tetris/view/tetris_menu_bar.rb +13 -11
  29. data/samples/hello/hello_canvas.rb +7 -6
  30. data/samples/hello/hello_canvas_animation.rb +3 -3
  31. data/samples/hello/hello_canvas_transform.rb +1 -1
  32. data/samples/hello/hello_canvas_transform/hello_canvas_transform_image.png +0 -0
  33. data/samples/hello/hello_code_text.rb +104 -0
  34. data/samples/hello/hello_table.rb +7 -4
  35. data/samples/hello/hello_table/baseball_park.png +0 -0
  36. metadata +7 -2
@@ -22,22 +22,22 @@
22
22
  include Glimmer
23
23
 
24
24
  shell {
25
- text 'Hello, Canvas!'
25
+ text 'Hello, Canvas Image Icon!'
26
26
  minimum_size 320, 400
27
27
 
28
28
  canvas {
29
29
  background :yellow
30
- rectangle(0, 0, 220, 400, fill: true) {
30
+ rectangle(0, 0, 220, 400) {
31
31
  background :red
32
32
  }
33
- rectangle(50, 20, 300, 150, 30, 50, round: true) {
33
+ rectangle(50, 20, 300, 150, 30, 50) {
34
34
  background :magenta
35
35
  }
36
- rectangle(150, 200, 100, 70, true, gradient: true) {
36
+ rectangle(150, 200, 100, 70, true) {
37
37
  background :dark_magenta
38
38
  foreground :yellow
39
39
  }
40
- rectangle(50, 200, 30, 70, false, gradient: true) {
40
+ rectangle(50, 200, 30, 70, false) {
41
41
  background :magenta
42
42
  foreground :dark_blue
43
43
  }
@@ -50,7 +50,8 @@ shell {
50
50
  font name: 'Courier', height: 30
51
51
  }
52
52
  oval(110, 310, 100, 100) {
53
- background rgb(128, 138, 248)
53
+ # patterns provide a differnet way to make gradients
54
+ background_pattern 0, 0, 105, 0, :yellow, rgb(128, 138, 248)
54
55
  }
55
56
  arc(210, 210, 100, 100, 30, -77) {
56
57
  background :red
@@ -25,7 +25,7 @@ shell {
25
25
  text 'Hello, Canvas Animation!'
26
26
  minimum_size 800, 420
27
27
 
28
- canvas {
28
+ canvas(:double_buffered) {
29
29
  animation {
30
30
  every 0.01 # in seconds (one hundredth)
31
31
 
@@ -51,9 +51,9 @@ shell {
51
51
  frame { |index, color| # frame block loops indefinitely (unless frame_count or cycle_count is set to an integer)
52
52
  outside_color = colors[index % 2]
53
53
  inside_color = colors[(index + 1) % 2]
54
-
54
+
55
55
  background outside_color # sets canvas background color
56
-
56
+
57
57
  rectangle(0, 0, 200, 200) {
58
58
  background inside_color # sets rectangle background color
59
59
  }
@@ -1,6 +1,6 @@
1
1
  include Glimmer
2
2
 
3
- glimmer_logo = File.expand_path('../../images/glimmer-logo-hi-res.png', __dir__)
3
+ glimmer_logo = File.expand_path('./hello_canvas_transform/hello_canvas_transform_image.png', __dir__)
4
4
 
5
5
  shell {
6
6
  text 'Hello, Canvas Transform!'
@@ -0,0 +1,104 @@
1
+ # Copyright (c) 2007-2021 Andy Maleh
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining
4
+ # a copy of this software and associated documentation files (the
5
+ # "Software"), to deal in the Software without restriction, including
6
+ # without limitation the rights to use, copy, modify, merge, publish,
7
+ # distribute, sublicense, and/or sell copies of the Software, and to
8
+ # permit persons to whom the Software is furnished to do so, subject to
9
+ # the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be
12
+ # included in all copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ include Glimmer
23
+
24
+ shell {
25
+ minimum_size 640, 480
26
+ text 'Hello, Code Text!'
27
+
28
+ tab_folder {
29
+ tab_item {
30
+ fill_layout
31
+ text 'Ruby (glimmer theme)'
32
+ code_text(language: 'ruby', theme: 'glimmer', lines: true) {
33
+ text <<~CODE
34
+ greeting = 'Hello, World!'
35
+
36
+ include Glimmer
37
+
38
+ shell {
39
+ text 'Glimmer'
40
+
41
+ label {
42
+ text greeting
43
+ font height: 30, style: :bold
44
+ }
45
+ }.open
46
+ CODE
47
+ }
48
+ }
49
+ tab_item {
50
+ fill_layout
51
+ text 'JavaScript (pastie theme)'
52
+ # No border (SWT styles are passed explicitly)
53
+ code_text(:multi, :h_scroll, :v_scroll, language: 'javascript', theme: 'pastie', lines: {width: 2}) {
54
+ # With lines, the custom widget has a root composite, which can be configured separately
55
+ root {
56
+ grid_layout(2, false) {
57
+ margin_width 2
58
+ }
59
+ background :white
60
+ }
61
+ # With lines, the line numbers widget can be configured separately
62
+ line_numbers {
63
+ background :white
64
+ }
65
+ text <<~CODE
66
+ function greet(greeting) {
67
+ alert(greeting);
68
+ }
69
+
70
+ var greetingString = 'Hello, World!';
71
+
72
+ greet(greetingString);
73
+
74
+ var moreGreetings = ['Howdy!', 'Aloha!', 'Hey!']
75
+
76
+ for(var greeting of moreGreetings) {
77
+ greet(greeting)
78
+ }
79
+ CODE
80
+ }
81
+ }
82
+ tab_item {
83
+ fill_layout
84
+ text 'HTML (github theme)'
85
+ code_text(language: 'html', theme: 'github') {
86
+ text <<~CODE
87
+ <html>
88
+ <body>
89
+ <section class="accordion">
90
+ <form method="post" id="name">
91
+ <label for="name">
92
+ Name
93
+ </label>
94
+ <input name="name" type="text" />
95
+ <input type="submit" />
96
+ </form>
97
+ </section>
98
+ </body>
99
+ </html>
100
+ CODE
101
+ }
102
+ }
103
+ }
104
+ }.open
@@ -186,18 +186,21 @@ class HelloTable
186
186
  grid_layout
187
187
 
188
188
  text 'Hello, Table!'
189
+ background_image File.expand_path('hello_table/baseball_park.png', __dir__)
189
190
 
190
191
  label {
191
192
  layout_data :center, :center, true, false
192
193
 
193
- text 'Baseball Playoff Schedule'
194
- font height: 30, style: :bold
194
+ text 'BASEBALL PLAYOFF SCHEDULE'
195
+ background :transparent
196
+ foreground rgb(94, 107, 103)
197
+ font name: 'Optima', height: 38, style: :bold
195
198
  }
196
199
 
197
200
  combo(:read_only) {
198
201
  layout_data :center, :center, true, false
199
202
  selection bind(BaseballGame, :playoff_type)
200
- font height: 16
203
+ font height: 14
201
204
  }
202
205
 
203
206
  table(:editable) { |table_proxy|
@@ -262,7 +265,7 @@ class HelloTable
262
265
  button {
263
266
  text 'Book Selected Game'
264
267
  layout_data :center, :center, true, false
265
- font height: 16
268
+ font height: 14
266
269
  enabled bind(BaseballGame, :selected_game)
267
270
 
268
271
  on_widget_selected {
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.18.3.4
4
+ version: 4.18.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - AndyMaleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-30 00:00:00.000000000 Z
11
+ date: 2021-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -367,6 +367,7 @@ files:
367
367
  - icons/scaffold_app.png
368
368
  - lib/ext/glimmer.rb
369
369
  - lib/ext/glimmer/config.rb
370
+ - lib/ext/rouge/themes/glimmer.rb
370
371
  - lib/glimmer-dsl-swt.rb
371
372
  - lib/glimmer/Rakefile
372
373
  - lib/glimmer/data_binding/list_selection_binding.rb
@@ -468,6 +469,7 @@ files:
468
469
  - samples/elaborate/contact_manager/contact_repository.rb
469
470
  - samples/elaborate/login.rb
470
471
  - samples/elaborate/meta_sample.rb
472
+ - samples/elaborate/meta_sample/meta_sample_logo.png
471
473
  - samples/elaborate/tetris.rb
472
474
  - samples/elaborate/tetris/model/block.rb
473
475
  - samples/elaborate/tetris/model/game.rb
@@ -487,8 +489,10 @@ files:
487
489
  - samples/hello/hello_canvas.rb
488
490
  - samples/hello/hello_canvas_animation.rb
489
491
  - samples/hello/hello_canvas_transform.rb
492
+ - samples/hello/hello_canvas_transform/hello_canvas_transform_image.png
490
493
  - samples/hello/hello_checkbox.rb
491
494
  - samples/hello/hello_checkbox_group.rb
495
+ - samples/hello/hello_code_text.rb
492
496
  - samples/hello/hello_combo.rb
493
497
  - samples/hello/hello_computed.rb
494
498
  - samples/hello/hello_computed/contact.rb
@@ -514,6 +518,7 @@ files:
514
518
  - samples/hello/hello_styled_text.rb
515
519
  - samples/hello/hello_tab.rb
516
520
  - samples/hello/hello_table.rb
521
+ - samples/hello/hello_table/baseball_park.png
517
522
  - samples/hello/hello_world.rb
518
523
  - vendor/swt/linux/swt.jar
519
524
  - vendor/swt/mac/swt.jar