glimmer-dsl-swt 4.18.4.1 → 4.18.4.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +44 -0
  3. data/README.md +84 -5072
  4. data/VERSION +1 -1
  5. data/docs/reference/GLIMMER_COMMAND.md +591 -0
  6. data/docs/reference/GLIMMER_CONFIGURATION.md +183 -0
  7. data/docs/reference/GLIMMER_GIRB.md +30 -0
  8. data/docs/reference/GLIMMER_GUI_DSL_SYNTAX.md +3251 -0
  9. data/docs/reference/GLIMMER_PACKAGING_AND_DISTRIBUTION.md +202 -0
  10. data/docs/reference/GLIMMER_SAMPLES.md +676 -0
  11. data/docs/reference/GLIMMER_STYLE_GUIDE.md +14 -0
  12. data/glimmer-dsl-swt.gemspec +16 -7
  13. data/lib/glimmer/dsl/swt/custom_widget_expression.rb +3 -3
  14. data/lib/glimmer/dsl/swt/exec_expression.rb +1 -1
  15. data/lib/glimmer/dsl/swt/observe_expression.rb +8 -5
  16. data/lib/glimmer/dsl/swt/pixel_expression.rb +38 -0
  17. data/lib/glimmer/dsl/swt/timer_exec_expression.rb +35 -0
  18. data/lib/glimmer/dsl/swt/widget_expression.rb +1 -0
  19. data/lib/glimmer/swt/custom/animation.rb +9 -8
  20. data/lib/glimmer/swt/custom/code_text.rb +26 -18
  21. data/lib/glimmer/swt/custom/drawable.rb +21 -5
  22. data/lib/glimmer/swt/custom/shape.rb +42 -37
  23. data/lib/glimmer/swt/display_proxy.rb +11 -10
  24. data/lib/glimmer/swt/properties.rb +35 -10
  25. data/lib/glimmer/swt/shell_proxy.rb +1 -1
  26. data/lib/glimmer/swt/table_proxy.rb +2 -2
  27. data/lib/glimmer/swt/widget_proxy.rb +21 -6
  28. data/lib/glimmer/ui/custom_widget.rb +17 -0
  29. data/samples/elaborate/mandelbrot_fractal.rb +103 -0
  30. data/samples/elaborate/meta_sample.rb +14 -6
  31. data/samples/elaborate/tetris.rb +14 -17
  32. data/samples/elaborate/tetris/model/game.rb +1 -2
  33. data/samples/elaborate/tetris/view/high_score_dialog.rb +0 -7
  34. data/samples/elaborate/tetris/view/playfield.rb +1 -1
  35. data/samples/elaborate/tetris/view/tetris_menu_bar.rb +13 -11
  36. data/samples/hello/hello_canvas_transform.rb +1 -1
  37. data/samples/hello/hello_table.rb +1 -0
  38. metadata +14 -5
  39. data/samples/elaborate/meta_sample/meta_sample_logo.png +0 -0
@@ -20,7 +20,6 @@
20
20
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
21
 
22
22
  require 'fileutils'
23
- require 'etc'
24
23
  require 'json'
25
24
  require 'glimmer/data_binding/observer'
26
25
  require 'glimmer/config'
@@ -112,7 +111,7 @@ class Tetris
112
111
  end
113
112
 
114
113
  def tetris_dir
115
- @tetris_dir ||= File.join(Etc.getpwuid.dir, '.glimmer-tetris')
114
+ @tetris_dir ||= File.join(File.expand_path('~'), '.glimmer-tetris')
116
115
  end
117
116
 
118
117
  def tetris_high_score_file
@@ -71,13 +71,6 @@ class Tetris
71
71
  composite {
72
72
  row_layout :horizontal
73
73
 
74
- button {
75
- text 'Clear'
76
-
77
- on_widget_selected {
78
- game.clear_high_scores!
79
- }
80
- }
81
74
  @play_close_button = button {
82
75
  text bind(game, :game_over) {|game_over| game_over ? 'Play Again?' : 'Close'}
83
76
  focus true # initial focus
@@ -29,7 +29,7 @@ class Tetris
29
29
  options :game_playfield, :playfield_width, :playfield_height, :block_size
30
30
 
31
31
  body {
32
- composite {
32
+ composite((:double_buffered unless OS.mac?)) {
33
33
  grid_layout {
34
34
  num_columns playfield_width
35
35
  make_columns_equal_width true
@@ -23,6 +23,8 @@ class Tetris
23
23
  module View
24
24
  class TetrisMenuBar
25
25
  include Glimmer::UI::CustomWidget
26
+
27
+ COMMAND_KEY = OS.mac? ? :command : :ctrl
26
28
 
27
29
  options :game
28
30
 
@@ -34,7 +36,7 @@ class Tetris
34
36
  menu_item {
35
37
  text '&Start'
36
38
  enabled bind(game, :game_over)
37
- accelerator :command, :s
39
+ accelerator COMMAND_KEY, :s
38
40
 
39
41
  on_widget_selected {
40
42
  game.start!
@@ -42,14 +44,14 @@ class Tetris
42
44
  }
43
45
  menu_item(:check) {
44
46
  text '&Pause'
45
- accelerator :command, :p
47
+ accelerator COMMAND_KEY, :p
46
48
  enabled bind(game, :game_over, on_read: :!) {|value| value && !game.show_high_scores}
47
49
  enabled bind(game, :show_high_scores, on_read: :!) {|value| value && !game.game_over}
48
50
  selection bind(game, :paused)
49
51
  }
50
52
  menu_item {
51
53
  text '&Restart'
52
- accelerator :command, :r
54
+ accelerator COMMAND_KEY, :r
53
55
 
54
56
  on_widget_selected {
55
57
  game.restart!
@@ -58,7 +60,7 @@ class Tetris
58
60
  menu_item(:separator)
59
61
  menu_item {
60
62
  text '&Exit'
61
- accelerator :command, :x
63
+ accelerator COMMAND_KEY, :x
62
64
 
63
65
  on_widget_selected {
64
66
  parent_proxy.close
@@ -73,12 +75,12 @@ class Tetris
73
75
  text '&High Scores'
74
76
  menu_item(:check) {
75
77
  text '&Show'
76
- accelerator :command, :shift, :h
78
+ accelerator COMMAND_KEY, :shift, :h
77
79
  selection bind(game, :show_high_scores)
78
80
  }
79
81
  menu_item {
80
82
  text '&Clear'
81
- accelerator :command, :shift, :c
83
+ accelerator COMMAND_KEY, :shift, :c
82
84
 
83
85
  on_widget_selected {
84
86
  game.clear_high_scores!
@@ -91,24 +93,24 @@ class Tetris
91
93
  text '&Options'
92
94
  menu_item(:check) {
93
95
  text '&Beeping'
94
- accelerator :command, :b
96
+ accelerator COMMAND_KEY, :b
95
97
  selection bind(game, :beeping)
96
98
  }
97
99
  menu {
98
100
  text 'Up Arrow'
99
101
  menu_item(:radio) {
100
102
  text '&Instant Down'
101
- accelerator :command, :shift, :i
103
+ accelerator COMMAND_KEY, :shift, :i
102
104
  selection bind(game, :instant_down_on_up, computed_by: :up_arrow_action)
103
105
  }
104
106
  menu_item(:radio) {
105
107
  text 'Rotate &Right'
106
- accelerator :command, :shift, :r
108
+ accelerator COMMAND_KEY, :shift, :r
107
109
  selection bind(game, :rotate_right_on_up, computed_by: :up_arrow_action)
108
110
  }
109
111
  menu_item(:radio) {
110
112
  text 'Rotate &Left'
111
- accelerator :command, :shift, :l
113
+ accelerator COMMAND_KEY, :shift, :l
112
114
  selection bind(game, :rotate_left_on_up, computed_by: :up_arrow_action)
113
115
  }
114
116
  }
@@ -119,7 +121,7 @@ class Tetris
119
121
 
120
122
  menu_item {
121
123
  text '&About'
122
- accelerator :command, :shift, :a
124
+ accelerator COMMAND_KEY, :shift, :a
123
125
 
124
126
  on_widget_selected {
125
127
  parent_custom_shell&.show_about_dialog
@@ -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('../../icons/scaffold_app.png', __dir__)
4
4
 
5
5
  shell {
6
6
  text 'Hello, Canvas Transform!'
@@ -192,6 +192,7 @@ class HelloTable
192
192
  layout_data :center, :center, true, false
193
193
 
194
194
  text 'BASEBALL PLAYOFF SCHEDULE'
195
+ background :transparent
195
196
  foreground rgb(94, 107, 103)
196
197
  font name: 'Optima', height: 38, style: :bold
197
198
  }
metadata CHANGED
@@ -1,21 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer-dsl-swt
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.18.4.1
4
+ version: 4.18.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - AndyMaleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-03 00:00:00.000000000 Z
11
+ date: 2021-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 1.0.11
18
+ version: 1.1.1
19
19
  name: glimmer
20
20
  type: :runtime
21
21
  prerelease: false
@@ -23,7 +23,7 @@ dependencies:
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.0.11
26
+ version: 1.1.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
@@ -361,6 +361,13 @@ files:
361
361
  - bin/girb
362
362
  - bin/girb_runner.rb
363
363
  - bin/glimmer
364
+ - docs/reference/GLIMMER_COMMAND.md
365
+ - docs/reference/GLIMMER_CONFIGURATION.md
366
+ - docs/reference/GLIMMER_GIRB.md
367
+ - docs/reference/GLIMMER_GUI_DSL_SYNTAX.md
368
+ - docs/reference/GLIMMER_PACKAGING_AND_DISTRIBUTION.md
369
+ - docs/reference/GLIMMER_SAMPLES.md
370
+ - docs/reference/GLIMMER_STYLE_GUIDE.md
364
371
  - glimmer-dsl-swt.gemspec
365
372
  - icons/scaffold_app.icns
366
373
  - icons/scaffold_app.ico
@@ -405,6 +412,7 @@ files:
405
412
  - lib/glimmer/dsl/swt/message_box_expression.rb
406
413
  - lib/glimmer/dsl/swt/multiply_expression.rb
407
414
  - lib/glimmer/dsl/swt/observe_expression.rb
415
+ - lib/glimmer/dsl/swt/pixel_expression.rb
408
416
  - lib/glimmer/dsl/swt/property_expression.rb
409
417
  - lib/glimmer/dsl/swt/radio_group_selection_data_binding_expression.rb
410
418
  - lib/glimmer/dsl/swt/rgb_expression.rb
@@ -415,6 +423,7 @@ files:
415
423
  - lib/glimmer/dsl/swt/sync_exec_expression.rb
416
424
  - lib/glimmer/dsl/swt/tab_item_expression.rb
417
425
  - lib/glimmer/dsl/swt/table_items_data_binding_expression.rb
426
+ - lib/glimmer/dsl/swt/timer_exec_expression.rb
418
427
  - lib/glimmer/dsl/swt/transform_expression.rb
419
428
  - lib/glimmer/dsl/swt/tree_items_data_binding_expression.rb
420
429
  - lib/glimmer/dsl/swt/tree_properties_expression.rb
@@ -468,8 +477,8 @@ files:
468
477
  - samples/elaborate/contact_manager/contact_manager_presenter.rb
469
478
  - samples/elaborate/contact_manager/contact_repository.rb
470
479
  - samples/elaborate/login.rb
480
+ - samples/elaborate/mandelbrot_fractal.rb
471
481
  - samples/elaborate/meta_sample.rb
472
- - samples/elaborate/meta_sample/meta_sample_logo.png
473
482
  - samples/elaborate/tetris.rb
474
483
  - samples/elaborate/tetris/model/block.rb
475
484
  - samples/elaborate/tetris/model/game.rb