glimmer-dsl-swt 4.20.13.6 → 4.20.13.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/README.md +5 -5
- data/VERSION +1 -1
- data/docs/reference/GLIMMER_SAMPLES.md +13 -0
- data/docs/reference/GLIMMER_STYLE_GUIDE.md +2 -1
- data/glimmer-dsl-swt.gemspec +0 -0
- data/lib/glimmer/rake_task/scaffold.rb +14 -14
- data/lib/glimmer/swt/custom/code_text.rb +4 -4
- data/lib/glimmer/swt/custom/shape.rb +1 -1
- data/lib/glimmer/swt/image_proxy.rb +1 -1
- data/samples/elaborate/calculator.rb +2 -2
- data/samples/elaborate/contact_manager.rb +2 -2
- data/samples/elaborate/klondike_solitaire.rb +93 -0
- data/samples/elaborate/klondike_solitaire/model/column_pile.rb +60 -0
- data/samples/elaborate/klondike_solitaire/model/dealing_pile.rb +33 -0
- data/samples/elaborate/klondike_solitaire/model/dealt_pile.rb +25 -0
- data/samples/elaborate/klondike_solitaire/model/foundation_pile.rb +40 -0
- data/samples/elaborate/klondike_solitaire/model/game.rb +37 -0
- data/samples/elaborate/klondike_solitaire/model/playing_card.rb +86 -0
- data/samples/elaborate/klondike_solitaire/view/action_panel.rb +30 -0
- data/samples/elaborate/klondike_solitaire/view/column_pile.rb +66 -0
- data/samples/elaborate/klondike_solitaire/view/dealing_pile.rb +36 -0
- data/samples/elaborate/klondike_solitaire/view/dealt_pile.rb +38 -0
- data/samples/elaborate/klondike_solitaire/view/empty_playing_card.rb +33 -0
- data/samples/elaborate/klondike_solitaire/view/foundation_pile.rb +59 -0
- data/samples/elaborate/klondike_solitaire/view/hidden_playing_card.rb +26 -0
- data/samples/elaborate/klondike_solitaire/view/playing_card.rb +35 -0
- data/samples/elaborate/klondike_solitaire/view/tableau.rb +41 -0
- data/samples/elaborate/login.rb +2 -2
- data/samples/elaborate/mandelbrot_fractal.rb +12 -12
- data/samples/elaborate/meta_sample.rb +2 -2
- data/samples/elaborate/metronome.rb +2 -2
- data/samples/elaborate/stock_ticker.rb +8 -8
- data/samples/elaborate/tetris.rb +4 -4
- data/samples/elaborate/tetris/view/bevel.rb +2 -2
- data/samples/elaborate/tetris/view/score_lane.rb +2 -2
- data/samples/elaborate/tic_tac_toe.rb +6 -6
- data/samples/elaborate/timer.rb +4 -4
- data/samples/elaborate/weather.rb +4 -4
- data/samples/hello/hello_button.rb +2 -2
- data/samples/hello/hello_c_combo.rb +2 -2
- data/samples/hello/hello_canvas.rb +4 -4
- data/samples/hello/hello_canvas_animation.rb +2 -2
- data/samples/hello/hello_canvas_data_binding.rb +2 -2
- data/samples/hello/hello_checkbox.rb +2 -2
- data/samples/hello/hello_checkbox_group.rb +2 -2
- data/samples/hello/hello_code_text.rb +2 -2
- data/samples/hello/hello_color_dialog.rb +2 -2
- data/samples/hello/hello_combo.rb +2 -2
- data/samples/hello/hello_computed.rb +14 -22
- data/samples/hello/hello_cool_bar.rb +2 -2
- data/samples/hello/hello_cursor.rb +2 -2
- data/samples/hello/hello_custom_shape.rb +2 -2
- data/samples/hello/hello_custom_shell.rb +2 -2
- data/samples/hello/hello_custom_widget.rb +4 -4
- data/samples/hello/hello_date_time.rb +2 -2
- data/samples/hello/hello_directory_dialog.rb +2 -2
- data/samples/hello/hello_file_dialog.rb +2 -2
- data/samples/hello/hello_font_dialog.rb +2 -2
- data/samples/hello/hello_group.rb +2 -2
- data/samples/hello/hello_list_multi_selection.rb +2 -2
- data/samples/hello/hello_list_single_selection.rb +2 -2
- data/samples/hello/hello_progress_bar.rb +2 -2
- data/samples/hello/hello_radio.rb +2 -2
- data/samples/hello/hello_radio_group.rb +2 -2
- data/samples/hello/hello_scale.rb +2 -2
- data/samples/hello/hello_spinner.rb +2 -2
- data/samples/hello/hello_table.rb +2 -2
- data/samples/hello/hello_text.rb +2 -2
- data/samples/hello/hello_tool_bar.rb +2 -2
- data/samples/hello/hello_tray_item.rb +2 -2
- data/samples/hello/hello_tree.rb +4 -4
- metadata +18 -2
@@ -26,7 +26,7 @@ class HelloCodeText
|
|
26
26
|
|
27
27
|
attr_accessor :ruby_code, :js_code, :html_code
|
28
28
|
|
29
|
-
before_body
|
29
|
+
before_body do
|
30
30
|
self.ruby_code = <<~RUBY
|
31
31
|
greeting = 'Hello, World!'
|
32
32
|
|
@@ -73,7 +73,7 @@ class HelloCodeText
|
|
73
73
|
</body>
|
74
74
|
</html>
|
75
75
|
HTML
|
76
|
-
|
76
|
+
end
|
77
77
|
|
78
78
|
body {
|
79
79
|
shell {
|
@@ -44,13 +44,13 @@ class HelloComputed
|
|
44
44
|
|
45
45
|
include Glimmer::UI::CustomShell
|
46
46
|
|
47
|
-
before_body
|
47
|
+
before_body do
|
48
48
|
@contact = Contact.new(
|
49
49
|
first_name: 'Barry',
|
50
50
|
last_name: 'McKibbin',
|
51
51
|
year_of_birth: 1985
|
52
52
|
)
|
53
|
-
|
53
|
+
end
|
54
54
|
|
55
55
|
body {
|
56
56
|
shell {
|
@@ -66,51 +66,43 @@ class HelloComputed
|
|
66
66
|
|
67
67
|
label {text 'First &Name: '}
|
68
68
|
text {
|
69
|
+
fill_horizontally_layout_data
|
69
70
|
text <=> [@contact, :first_name]
|
70
|
-
layout_data {
|
71
|
-
horizontal_alignment :fill
|
72
|
-
grab_excess_horizontal_space true
|
73
|
-
}
|
74
71
|
}
|
75
72
|
|
76
73
|
label {text '&Last Name: '}
|
77
74
|
text {
|
75
|
+
fill_horizontally_layout_data
|
78
76
|
text <=> [@contact, :last_name]
|
79
|
-
layout_data {
|
80
|
-
horizontal_alignment :fill
|
81
|
-
grab_excess_horizontal_space true
|
82
|
-
}
|
83
77
|
}
|
84
78
|
|
85
79
|
label {text '&Year of Birth: '}
|
86
80
|
text {
|
81
|
+
fill_horizontally_layout_data
|
87
82
|
text <=> [@contact, :year_of_birth]
|
88
|
-
layout_data {
|
89
|
-
horizontal_alignment :fill
|
90
|
-
grab_excess_horizontal_space true
|
91
|
-
}
|
92
83
|
}
|
93
84
|
|
94
85
|
label {text 'Name: '}
|
95
86
|
label {
|
87
|
+
fill_horizontally_layout_data
|
96
88
|
text <= [@contact, :name, computed_by: [:first_name, :last_name]]
|
97
|
-
layout_data {
|
98
|
-
horizontal_alignment :fill
|
99
|
-
grab_excess_horizontal_space true
|
100
|
-
}
|
101
89
|
}
|
102
90
|
|
103
91
|
label {text 'Age: '}
|
104
92
|
label {
|
93
|
+
fill_horizontally_layout_data
|
105
94
|
text <= [@contact, :age, on_write: :to_i, computed_by: [:year_of_birth]]
|
106
|
-
layout_data {
|
107
|
-
horizontal_alignment :fill
|
108
|
-
grab_excess_horizontal_space true
|
109
|
-
}
|
110
95
|
}
|
111
96
|
}
|
112
97
|
}
|
113
98
|
}
|
99
|
+
|
100
|
+
def fill_horizontally_layout_data
|
101
|
+
layout_data {
|
102
|
+
horizontal_alignment :fill
|
103
|
+
grab_excess_horizontal_space true
|
104
|
+
}
|
105
|
+
end
|
114
106
|
end
|
115
107
|
|
116
108
|
HelloComputed.launch
|
@@ -27,12 +27,12 @@ class StickFigure
|
|
27
27
|
|
28
28
|
options :x, :y, :width, :height
|
29
29
|
|
30
|
-
before_body
|
30
|
+
before_body do
|
31
31
|
@head_width = width*0.2
|
32
32
|
@head_height = height*0.2
|
33
33
|
@trunk_height = height*0.4
|
34
34
|
@extremity_length = height*0.4
|
35
|
-
|
35
|
+
end
|
36
36
|
|
37
37
|
body {
|
38
38
|
shape(x + @head_width/2.0 + @extremity_length, y) {
|
@@ -34,9 +34,9 @@ class EmailShell
|
|
34
34
|
# single option with default value
|
35
35
|
option :to, default: '"John Irwin" <john.irwin@example.com>'
|
36
36
|
|
37
|
-
before_body
|
37
|
+
before_body do
|
38
38
|
@swt_style |= swt(:shell_trim, :modeless)
|
39
|
-
|
39
|
+
end
|
40
40
|
|
41
41
|
body {
|
42
42
|
# pass received swt_style through to shell to customize it (e.g. :dialog_trim for a blocking shell)
|
@@ -34,12 +34,12 @@ class GreetingLabel
|
|
34
34
|
# internal attribute (not a custom widget option)
|
35
35
|
attr_accessor :color
|
36
36
|
|
37
|
-
before_body
|
37
|
+
before_body do
|
38
38
|
@font = {height: 24, style: :bold}
|
39
39
|
@color = :black
|
40
|
-
|
40
|
+
end
|
41
41
|
|
42
|
-
after_body
|
42
|
+
after_body do
|
43
43
|
return if colors.nil?
|
44
44
|
|
45
45
|
Thread.new {
|
@@ -48,7 +48,7 @@ class GreetingLabel
|
|
48
48
|
sleep(1)
|
49
49
|
}
|
50
50
|
}
|
51
|
-
|
51
|
+
end
|
52
52
|
|
53
53
|
body {
|
54
54
|
# pass received swt_style through to label to customize (e.g. :center to center text)
|
@@ -28,13 +28,13 @@ class HelloProgressBar
|
|
28
28
|
attr_accessor :minimum, :maximum, :selection, :delay
|
29
29
|
end
|
30
30
|
|
31
|
-
before_body
|
31
|
+
before_body do
|
32
32
|
@progress_model = ProgressModel.new
|
33
33
|
@progress_model.minimum = 0
|
34
34
|
@progress_model.maximum = 100
|
35
35
|
@progress_model.selection = 0
|
36
36
|
@progress_model.delay = 0.01
|
37
|
-
|
37
|
+
end
|
38
38
|
|
39
39
|
body {
|
40
40
|
shell {
|
data/samples/hello/hello_text.rb
CHANGED
@@ -5,7 +5,7 @@ class HelloText
|
|
5
5
|
|
6
6
|
attr_accessor :default, :center, :left, :right, :password, :telephone, :read_only, :wrap, :multi
|
7
7
|
|
8
|
-
before_body
|
8
|
+
before_body do
|
9
9
|
self.default = 'default is :border style'
|
10
10
|
self.center = 'centered'
|
11
11
|
self.left = 'left-aligned'
|
@@ -15,7 +15,7 @@ class HelloText
|
|
15
15
|
self.read_only = 'Telephone area code is 555'
|
16
16
|
self.wrap = 'wraps if text content is too long like this example'
|
17
17
|
self.multi = "multi-line enables hitting enter,\nbut does not wrap by default"
|
18
|
-
|
18
|
+
end
|
19
19
|
|
20
20
|
body {
|
21
21
|
shell {
|
@@ -27,7 +27,7 @@ class HelloTrayItem
|
|
27
27
|
# boolean that indicates if application is visible
|
28
28
|
attr_accessor :show_application
|
29
29
|
|
30
|
-
before_body
|
30
|
+
before_body do
|
31
31
|
# application starts visible
|
32
32
|
@show_application = true
|
33
33
|
# pre-render an icon image using the Canvas Shape DSL
|
@@ -48,7 +48,7 @@ class HelloTrayItem
|
|
48
48
|
foreground :white
|
49
49
|
}
|
50
50
|
}
|
51
|
-
|
51
|
+
end
|
52
52
|
|
53
53
|
body {
|
54
54
|
shell(:shell_trim, :on_top) { # make it always appear on top of everything
|