glimmer-dsl-swt 4.20.15.2 → 4.21.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -33,12 +33,12 @@ class HelloCanvas
33
33
  end
34
34
 
35
35
  after_body do
36
- Thread.new {
36
+ Thread.new do
37
37
  'Picasso'.chars.each do |character|
38
38
  sleep(1)
39
39
  self.artist += character
40
40
  end
41
- }
41
+ end
42
42
  end
43
43
 
44
44
  body {
@@ -48,6 +48,7 @@ class HelloCanvas
48
48
 
49
49
  @canvas = canvas {
50
50
  background :yellow
51
+
51
52
  rectangle(0, 0, 220, 400) {
52
53
  background rgb(255, 0, 0)
53
54
  }
@@ -59,7 +60,7 @@ class HelloCanvas
59
60
  rectangle([:default, -70], :default, :default, [:default, 1]) {
60
61
  foreground :cyan
61
62
  text {
62
- string <=> [self, :artist]
63
+ string <= [self, :artist]
63
64
  x :default, 1 # add 1 pixel to default x (shape centered within parent horizontally)
64
65
  y :default, 1 # add 1 pixel to default y (shape centered within parent vertically)
65
66
  background :yellow
@@ -69,16 +70,16 @@ class HelloCanvas
69
70
  }
70
71
  rectangle(155, 30) { # width and height are assumed to be the default (calculated from children)
71
72
  foreground :yellow
72
- 3.times { |n|
73
+ 3.times do |n|
73
74
  line(45, 70 + n*10, 65 + n*10, 30 + n*10) {
74
75
  foreground :yellow
75
76
  }
76
- }
77
- 10.times {|n|
77
+ end
78
+ 10.times do |n|
78
79
  point(15 + n*5, 50 + n*5) {
79
80
  foreground :yellow
80
81
  }
81
- }
82
+ end
82
83
  polyline(45, 60, 55, 20, 65, 60, 85, 80, 45, 60)
83
84
  image(@image_object, 0, 5)
84
85
  }
@@ -106,71 +107,71 @@ class HelloCanvas
106
107
  menu_item {
107
108
  text 'Change Background Color...'
108
109
  enabled <=> [self, :selected_shape, on_read: ->(shape) { shape.respond_to?(:background) && shape.background }]
109
- on_widget_selected {
110
+ on_widget_selected do
110
111
  @selected_shape&.background = color_dialog.open
111
112
  self.selected_shape = nil
112
- }
113
+ end
113
114
  }
114
115
  menu_item {
115
116
  text 'Change Background Pattern Color 1...'
116
117
  enabled <=> [self, :selected_shape, on_read: ->(shape) { shape.respond_to?(:background_pattern) && shape.background_pattern }]
117
- on_widget_selected {
118
+ on_widget_selected do
118
119
  if @selected_shape
119
120
  background_pattern_args = @selected_shape.background_pattern_args
120
121
  background_pattern_args[5] = color_dialog.open
121
122
  @selected_shape.background_pattern = background_pattern_args
122
123
  self.selected_shape = nil
123
124
  end
124
- }
125
+ end
125
126
  }
126
127
  menu_item {
127
128
  text 'Change Background Pattern Color 2...'
128
129
  enabled <=> [self, :selected_shape, on_read: ->(shape) { shape.respond_to?(:background_pattern) && shape.background_pattern }]
129
- on_widget_selected {
130
+ on_widget_selected do
130
131
  if @selected_shape
131
132
  background_pattern_args = @selected_shape.background_pattern_args
132
133
  background_pattern_args[6] = color_dialog.open
133
134
  @selected_shape.background_pattern = background_pattern_args
134
135
  self.selected_shape = nil
135
136
  end
136
- }
137
+ end
137
138
  }
138
139
  menu_item(:separator)
139
140
  menu_item {
140
141
  text 'Change Foreground Color...'
141
142
  enabled <=> [self, :selected_shape, on_read: ->(shape) { shape.respond_to?(:foreground) && shape.foreground }]
142
- on_widget_selected {
143
+ on_widget_selected do
143
144
  @selected_shape&.foreground = color_dialog.open
144
145
  self.selected_shape = nil
145
- }
146
+ end
146
147
  }
147
148
  }
148
149
 
149
- on_mouse_down { |mouse_event|
150
+ on_mouse_down do |mouse_event|
150
151
  @drag_detected = false
151
152
  @canvas.cursor = :hand
152
153
  self.selected_shape = @canvas.shape_at_location(mouse_event.x, mouse_event.y)
153
- }
154
+ end
154
155
 
155
- on_drag_detected { |drag_detect_event|
156
+ on_drag_detected do |drag_detect_event|
156
157
  @drag_detected = true
157
158
  @drag_current_x = drag_detect_event.x
158
159
  @drag_current_y = drag_detect_event.y
159
- }
160
+ end
160
161
 
161
- on_mouse_move { |mouse_event|
162
+ on_mouse_move do |mouse_event|
162
163
  if @drag_detected
163
164
  @selected_shape&.move_by(mouse_event.x - @drag_current_x, mouse_event.y - @drag_current_y)
164
165
  @drag_current_x = mouse_event.x
165
166
  @drag_current_y = mouse_event.y
166
167
  end
167
- }
168
+ end
168
169
 
169
- on_menu_detected { |menu_detect_event|
170
+ on_menu_detected do |menu_detect_event|
170
171
  @menu_detected = true
171
- }
172
+ end
172
173
 
173
- on_mouse_up { |mouse_event|
174
+ on_mouse_up do |mouse_event|
174
175
  @canvas.cursor = :arrow
175
176
  @drag_detected = false
176
177
  if @menu_detected
@@ -178,7 +179,7 @@ class HelloCanvas
178
179
  else
179
180
  self.selected_shape = nil
180
181
  end
181
- }
182
+ end
182
183
  }
183
184
  }
184
185
  }
@@ -37,10 +37,10 @@ shell {
37
37
  text 'Regenerate'
38
38
  enabled false
39
39
 
40
- on_widget_selected {
40
+ on_widget_selected do
41
41
  @regenerate = true
42
42
  @button.enabled = false
43
- }
43
+ end
44
44
  }
45
45
  canvas {
46
46
  layout_data :fill, :fill, true, true
@@ -71,10 +71,10 @@ shell {
71
71
  }
72
72
  }
73
73
 
74
- on_swt_show {
74
+ on_swt_show do
75
75
  @regenerate = true
76
- @thread = Thread.new {
77
- loop {
76
+ @thread = Thread.new do
77
+ loop do
78
78
  if @regenerate
79
79
  @regenerate = false
80
80
  @path1.clear
@@ -107,14 +107,14 @@ shell {
107
107
  @button.enabled = true
108
108
  end
109
109
  sleep(0.1)
110
- }
110
+ end
111
111
 
112
- }
112
+ end
113
113
 
114
- }
114
+ end
115
115
 
116
- on_widget_disposed {
116
+ on_widget_disposed do
117
117
  @thread.kill # safe to kill since data is in memory only
118
- }
118
+ end
119
119
 
120
120
  }.open
@@ -107,18 +107,18 @@ class HelloProgressBar
107
107
  }
108
108
  text "Start"
109
109
 
110
- on_widget_selected {
110
+ on_widget_selected do
111
111
  # if a previous thread is running, then kill first
112
112
  # (killing is not dangerous since it is only a thread about updating progress)
113
113
  @current_thread&.kill
114
- @current_thread = Thread.new {
114
+ @current_thread = Thread.new do
115
115
  @progress_model.selection = @progress_model.minimum
116
116
  (@progress_model.minimum..@progress_model.maximum).to_a.each do |n|
117
117
  @progress_model.selection = n
118
118
  sleep(@progress_model.delay)
119
119
  end
120
- }
121
- }
120
+ end
121
+ end
122
122
  }
123
123
  }
124
124
  }
@@ -109,9 +109,9 @@ shell {
109
109
  foreground :dark_green
110
110
  font height: 16
111
111
 
112
- on_widget_selected {
112
+ on_widget_selected do
113
113
  @sash_form.maximized_control = @green_label.swt_widget
114
- }
114
+ end
115
115
  }
116
116
  button {
117
117
  layout_data(:fill, :center, true, false)
@@ -119,9 +119,9 @@ shell {
119
119
  foreground :red
120
120
  font height: 16
121
121
 
122
- on_widget_selected {
122
+ on_widget_selected do
123
123
  @sash_form.maximized_control = @red_label.swt_widget
124
- }
124
+ end
125
125
  }
126
126
 
127
127
  button {
@@ -131,9 +131,9 @@ shell {
131
131
  text 'Maximize None'
132
132
  font height: 16
133
133
 
134
- on_widget_selected {
134
+ on_widget_selected do
135
135
  @sash_form.maximized_control = nil
136
- }
136
+ end
137
137
  }
138
138
  }
139
139
  }.open
@@ -1,12 +1,34 @@
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
+
1
22
  require 'glimmer-dsl-swt'
2
23
 
3
24
  class HelloText
4
25
  include Glimmer::UI::CustomShell
5
26
 
6
- attr_accessor :default, :center, :left, :right, :password, :telephone, :read_only, :wrap, :multi
27
+ attr_accessor :default, :no_border, :center, :left, :right, :password, :telephone, :read_only, :wrap, :multi
7
28
 
8
29
  before_body do
9
30
  self.default = 'default is :border style'
31
+ self.no_border = 'no border'
10
32
  self.center = 'centered'
11
33
  self.left = 'left-aligned'
12
34
  self.right = 'right-aligned'
@@ -32,6 +54,14 @@ class HelloText
32
54
  text <=> [self, :default]
33
55
  }
34
56
 
57
+ label {
58
+ text 'text(:none)'
59
+ }
60
+ text(:none) { # no border
61
+ layout_data :fill, :center, true, false
62
+ text <=> [self, :no_border]
63
+ }
64
+
35
65
  label {
36
66
  text 'text(:center, :border)'
37
67
  }
@@ -69,7 +99,7 @@ class HelloText
69
99
  }
70
100
  text(:read_only, :border) {
71
101
  layout_data :fill, :center, true, false
72
- text <=> [self, :read_only]
102
+ text <= [self, :read_only]
73
103
  }
74
104
 
75
105
  label {
@@ -105,17 +105,17 @@ class HelloTrayItem
105
105
  }
106
106
 
107
107
  # supported tray item listeners (you can try to add actions to them when needed)
108
- # on_swt_Show {
109
- # }
108
+ # on_swt_Show do
109
+ # end
110
110
  #
111
- # on_swt_Hide {
112
- # }
111
+ # on_swt_Hide do
112
+ # end
113
113
  #
114
- # on_widget_selected {
115
- # }
114
+ # on_widget_selected do
115
+ # end
116
116
  #
117
- # on_menu_detected {
118
- # }
117
+ # on_menu_detected do
118
+ # end
119
119
  }
120
120
 
121
121
  label(:center) {
Binary file
Binary file
Binary file
Binary file
Binary file
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.20.15.2
4
+ version: 4.21.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Maleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-18 00:00:00.000000000 Z
11
+ date: 2021-09-27 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: 2.1.1
18
+ version: 2.1.5
19
19
  name: glimmer
20
20
  prerelease: false
21
21
  type: :runtime
@@ -23,7 +23,7 @@ dependencies:
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.1.1
26
+ version: 2.1.5
27
27
  - !ruby/object:Gem::Dependency
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
@@ -238,6 +238,20 @@ dependencies:
238
238
  - - "<"
239
239
  - !ruby/object:Gem::Version
240
240
  version: 4.0.0
241
+ - !ruby/object:Gem::Dependency
242
+ requirement: !ruby/object:Gem::Requirement
243
+ requirements:
244
+ - - '='
245
+ - !ruby/object:Gem::Version
246
+ version: 3.3.2
247
+ name: psych
248
+ prerelease: false
249
+ type: :runtime
250
+ version_requirements: !ruby/object:Gem::Requirement
251
+ requirements:
252
+ - - '='
253
+ - !ruby/object:Gem::Version
254
+ version: 3.3.2
241
255
  - !ruby/object:Gem::Dependency
242
256
  requirement: !ruby/object:Gem::Requirement
243
257
  requirements:
@@ -362,10 +376,10 @@ description: Glimmer DSL for SWT (JRuby Desktop Development GUI Framework) is a
362
376
  started quickly, Glimmer offers scaffolding options for Apps, Gems, and Custom Widgets.
363
377
  Glimmer also includes native-executable packaging support, sorely lacking in other
364
378
  libraries, thus enabling the delivery of desktop apps written in Ruby as truly native
365
- DMG/PKG/APP files on the Mac + App Store, MSI/EXE files on Windows, and Gem Packaged
366
- Shell Scripts on Linux. Glimmer was the first Ruby gem to bring SWT (Standard Widget
367
- Toolkit) to Ruby, thanks to creator Andy Maleh, EclipseCon/EclipseWorld/RubyConf
368
- speaker and expert.
379
+ DMG/PKG/APP files on the Mac, MSI/EXE files on Windows, and Gem Packaged Shell Scripts
380
+ on Linux. Glimmer was the first Ruby gem to bring SWT (Standard Widget Toolkit)
381
+ to Ruby, thanks to creator Andy Maleh, EclipseCon/EclipseWorld/RubyConf speaker
382
+ and expert.
369
383
  email: andy.am@gmail.com
370
384
  executables:
371
385
  - glimmer
@@ -712,7 +726,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
712
726
  - !ruby/object:Gem::Version
713
727
  version: '0'
714
728
  requirements: []
715
- rubygems_version: 3.1.6
729
+ rubygems_version: 3.2.14
716
730
  signing_key:
717
731
  specification_version: 4
718
732
  summary: Glimmer DSL for SWT (JRuby Desktop Development GUI Framework)