fidgit 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +7 -7
- data/.rspec +2 -2
- data/CHANGELOG.md +30 -30
- data/Gemfile +3 -3
- data/LICENSE.txt +19 -19
- data/README.textile +139 -139
- data/Rakefile +37 -37
- data/config/default_schema.yml +216 -216
- data/examples/_all_examples.rb +9 -9
- data/examples/align_example.rb +55 -55
- data/examples/button_and_toggle_button_example.rb +37 -37
- data/examples/color_picker_example.rb +16 -16
- data/examples/color_well_example.rb +24 -24
- data/examples/combo_box_example.rb +23 -23
- data/examples/file_dialog_example.rb +41 -41
- data/examples/grid_packer_example.rb +28 -28
- data/examples/helpers/example_window.rb +16 -16
- data/examples/label_example.rb +22 -22
- data/examples/list_example.rb +22 -22
- data/examples/menu_pane_example.rb +26 -26
- data/examples/message_dialog_example.rb +64 -64
- data/examples/radio_button_example.rb +36 -36
- data/examples/readme_example.rb +31 -31
- data/examples/scroll_window_example.rb +48 -48
- data/examples/slider_example.rb +33 -33
- data/examples/splash_example.rb +41 -41
- data/examples/text_area_example.rb +32 -32
- data/fidgit.gemspec +35 -35
- data/lib/fidgit.rb +50 -50
- data/lib/fidgit/chingu_ext/window.rb +5 -5
- data/lib/fidgit/cursor.rb +37 -37
- data/lib/fidgit/elements/button.rb +112 -112
- data/lib/fidgit/elements/color_picker.rb +62 -62
- data/lib/fidgit/elements/color_well.rb +38 -38
- data/lib/fidgit/elements/combo_box.rb +113 -113
- data/lib/fidgit/elements/composite.rb +16 -16
- data/lib/fidgit/elements/container.rb +208 -208
- data/lib/fidgit/elements/element.rb +297 -297
- data/lib/fidgit/elements/file_browser.rb +151 -151
- data/lib/fidgit/elements/grid.rb +226 -226
- data/lib/fidgit/elements/group.rb +64 -64
- data/lib/fidgit/elements/horizontal.rb +11 -11
- data/lib/fidgit/elements/image_frame.rb +64 -64
- data/lib/fidgit/elements/label.rb +84 -84
- data/lib/fidgit/elements/list.rb +46 -46
- data/lib/fidgit/elements/main_packer.rb +24 -24
- data/lib/fidgit/elements/menu_pane.rb +160 -160
- data/lib/fidgit/elements/packer.rb +41 -41
- data/lib/fidgit/elements/radio_button.rb +85 -85
- data/lib/fidgit/elements/scroll_area.rb +67 -67
- data/lib/fidgit/elements/scroll_bar.rb +127 -127
- data/lib/fidgit/elements/scroll_window.rb +82 -82
- data/lib/fidgit/elements/slider.rb +124 -124
- data/lib/fidgit/elements/text_area.rb +493 -493
- data/lib/fidgit/elements/text_line.rb +91 -91
- data/lib/fidgit/elements/toggle_button.rb +66 -66
- data/lib/fidgit/elements/tool_tip.rb +34 -34
- data/lib/fidgit/elements/vertical.rb +11 -11
- data/lib/fidgit/event.rb +158 -158
- data/lib/fidgit/gosu_ext/color.rb +135 -135
- data/lib/fidgit/gosu_ext/gosu_module.rb +24 -24
- data/lib/fidgit/history.rb +90 -90
- data/lib/fidgit/redirector.rb +82 -82
- data/lib/fidgit/schema.rb +123 -123
- data/lib/fidgit/selection.rb +105 -105
- data/lib/fidgit/standard_ext/hash.rb +20 -20
- data/lib/fidgit/states/dialog_state.rb +51 -51
- data/lib/fidgit/states/file_dialog.rb +24 -24
- data/lib/fidgit/states/gui_state.rb +329 -329
- data/lib/fidgit/states/message_dialog.rb +60 -60
- data/lib/fidgit/version.rb +4 -4
- data/lib/fidgit/window.rb +19 -19
- data/spec/fidgit/elements/helpers/helper.rb +2 -2
- data/spec/fidgit/elements/helpers/tex_play_helper.rb +8 -8
- data/spec/fidgit/elements/image_frame_spec.rb +68 -68
- data/spec/fidgit/elements/label_spec.rb +36 -36
- data/spec/fidgit/event_spec.rb +209 -209
- data/spec/fidgit/gosu_ext/color_spec.rb +129 -129
- data/spec/fidgit/gosu_ext/helpers/helper.rb +2 -2
- data/spec/fidgit/helpers/helper.rb +3 -3
- data/spec/fidgit/history_spec.rb +153 -153
- data/spec/fidgit/redirector_spec.rb +77 -77
- data/spec/fidgit/schema_spec.rb +66 -66
- data/spec/fidgit/schema_test.yml +32 -32
- metadata +67 -22
data/config/default_schema.yml
CHANGED
@@ -1,216 +1,216 @@
|
|
1
|
-
# Default schema for Fidgit
|
2
|
-
---
|
3
|
-
|
4
|
-
# Define all constant values here. For colours, use [R, G, B] or [R, G, B, A].
|
5
|
-
# Reference constants with ?constant_name
|
6
|
-
:constants:
|
7
|
-
# General constants (strings and numbers).
|
8
|
-
:scroll_bar_thickness: 12
|
9
|
-
|
10
|
-
# Gosu::Color constants
|
11
|
-
:none: [0, 0, 0, 0]
|
12
|
-
|
13
|
-
:black: [0, 0, 0]
|
14
|
-
:white: [255, 255, 255]
|
15
|
-
|
16
|
-
:very_dark_gray: [50, 50, 50]
|
17
|
-
:dark_gray: [100, 100, 100]
|
18
|
-
:gray: [150, 150, 150]
|
19
|
-
:light_gray: [200, 200, 200]
|
20
|
-
|
21
|
-
:red: [255, 0, 0]
|
22
|
-
:green: [0, 0, 255]
|
23
|
-
:blue: [0, 0, 255]
|
24
|
-
|
25
|
-
:dark_red: [100, 0, 0]
|
26
|
-
:dark_green: [0, 100, 0]
|
27
|
-
:dark_blue: [0, 0, 100]
|
28
|
-
|
29
|
-
# Default element attributes.
|
30
|
-
:elements:
|
31
|
-
:Button: # < Label
|
32
|
-
:background_color: ?dark_gray
|
33
|
-
:border_color: ?light_gray
|
34
|
-
:border_thickness: 2
|
35
|
-
:shortcut_color: ?red
|
36
|
-
:padding_top: 2
|
37
|
-
:padding_right: 4
|
38
|
-
:padding_bottom: 2
|
39
|
-
:padding_left: 4
|
40
|
-
|
41
|
-
:disabled:
|
42
|
-
:background_color: ?very_dark_gray
|
43
|
-
:border_color: ?gray
|
44
|
-
|
45
|
-
:hover:
|
46
|
-
:background_color: ?gray
|
47
|
-
|
48
|
-
:ColorPicker:
|
49
|
-
:indicator_height: 30
|
50
|
-
|
51
|
-
:ColorWell: # < RadioButton
|
52
|
-
:height: 32
|
53
|
-
:outline_color: ?gray
|
54
|
-
:width: 32
|
55
|
-
|
56
|
-
:checked:
|
57
|
-
:border_color: ?very_dark_gray
|
58
|
-
|
59
|
-
:ComboBox: # < Button
|
60
|
-
:background_color: ?dark_gray
|
61
|
-
:border_color: ?white
|
62
|
-
|
63
|
-
:Composite: # < Container
|
64
|
-
:padding_top: 0
|
65
|
-
:padding_right: 0
|
66
|
-
:padding_bottom: 0
|
67
|
-
:padding_left: 0
|
68
|
-
|
69
|
-
:Container: # < Element
|
70
|
-
{}
|
71
|
-
|
72
|
-
:Element:
|
73
|
-
:align_h: :left
|
74
|
-
:align_v: :top
|
75
|
-
:background_color: ?none
|
76
|
-
:background_image: nil
|
77
|
-
:border_color: ?none
|
78
|
-
:border_thickness: 0
|
79
|
-
:color: ?white
|
80
|
-
:font_height: 30
|
81
|
-
:font_name: :default
|
82
|
-
:padding_top: 2
|
83
|
-
:padding_right: 4
|
84
|
-
:padding_bottom: 2
|
85
|
-
:padding_left: 4
|
86
|
-
|
87
|
-
|
88
|
-
:FileBrowser: # < Composite
|
89
|
-
:pattern: "*.*"
|
90
|
-
:show_extension: true
|
91
|
-
|
92
|
-
:Grid: # < Packer
|
93
|
-
:cell_background_color: ?none
|
94
|
-
:cell_border_color: ?none
|
95
|
-
:cell_border_thickness: 0
|
96
|
-
|
97
|
-
:Group: # < Packer
|
98
|
-
:padding_top: 0
|
99
|
-
:padding_right: 0
|
100
|
-
:padding_bottom: 0
|
101
|
-
:padding_left: 0
|
102
|
-
|
103
|
-
:Horizontal: # < Grid
|
104
|
-
{}
|
105
|
-
|
106
|
-
:HorizontalScrollBar: # < ScrollBar
|
107
|
-
:height: ?scroll_bar_thickness
|
108
|
-
|
109
|
-
:ImageFrame: # <Element
|
110
|
-
:padding_top: 0
|
111
|
-
:padding_right: 0
|
112
|
-
:padding_bottom: 0
|
113
|
-
:padding_left: 0
|
114
|
-
|
115
|
-
:Label: # < Element
|
116
|
-
:justify: :left
|
117
|
-
:icon_position: :left
|
118
|
-
|
119
|
-
:disabled:
|
120
|
-
:color: ?gray
|
121
|
-
|
122
|
-
:List:
|
123
|
-
:background_color: ?light_gray
|
124
|
-
:border_color: ?white
|
125
|
-
|
126
|
-
:List::Item:
|
127
|
-
:border_thickness: 0
|
128
|
-
|
129
|
-
:MainPacker: # < Packer
|
130
|
-
:border_thickness: 0
|
131
|
-
:padding_top: 0
|
132
|
-
:padding_right: 0
|
133
|
-
:padding_bottom: 0
|
134
|
-
:padding_left: 0
|
135
|
-
:spacing_h: 0
|
136
|
-
:spacing_v: 0
|
137
|
-
|
138
|
-
:MenuPane:
|
139
|
-
:background_color: ?very_dark_gray
|
140
|
-
|
141
|
-
:MenuPane::Item: # < Button
|
142
|
-
:border_color: ?none
|
143
|
-
:border_thickness: 0
|
144
|
-
|
145
|
-
:MenuPane::Separator: # < Label
|
146
|
-
:line_height: 2
|
147
|
-
:background_color: ?black
|
148
|
-
|
149
|
-
:Packer: # < Container
|
150
|
-
:spacing_h: 4
|
151
|
-
:spacing_v: 4
|
152
|
-
|
153
|
-
:RadioButton: # < Button
|
154
|
-
:checked:
|
155
|
-
:border_color: ?blue
|
156
|
-
|
157
|
-
:ScrollArea: # < Composite
|
158
|
-
{}
|
159
|
-
|
160
|
-
:ScrollBar: # < Composite
|
161
|
-
:background_color: ?none
|
162
|
-
:border_color: ?none
|
163
|
-
:handle_color: ?dark_red
|
164
|
-
:rail_color: ?very_dark_gray
|
165
|
-
:rail_width: ?scroll_bar_thickness
|
166
|
-
|
167
|
-
:ScrollWindow: # < Composite
|
168
|
-
:scroll_bar_thickness: ?scroll_bar_thickness
|
169
|
-
:border_color: ?light_gray
|
170
|
-
:border_thickness: 1
|
171
|
-
|
172
|
-
:Slider: # < Element
|
173
|
-
:background_color: ?none
|
174
|
-
:border_color: ?dark_gray
|
175
|
-
:groove_color: ?light_gray
|
176
|
-
:handle_color: ?dark_green
|
177
|
-
|
178
|
-
:Slider::Handle: # < Element
|
179
|
-
:background_color: ?dark_blue
|
180
|
-
|
181
|
-
:TextArea: # < Composite
|
182
|
-
:background_color: ?very_dark_gray
|
183
|
-
:border_color: ?light_gray
|
184
|
-
:caret_color: ?red
|
185
|
-
:caret_period: 500 # In milliseconds
|
186
|
-
:line_spacing: 0
|
187
|
-
:selection_color: ?dark_gray
|
188
|
-
|
189
|
-
:focused:
|
190
|
-
:border_color: ?green
|
191
|
-
|
192
|
-
:TextLine: # < Element
|
193
|
-
:justify: :left
|
194
|
-
:padding_top: 0
|
195
|
-
:padding_right: 0
|
196
|
-
:padding_bottom: 0
|
197
|
-
:padding_left: 0
|
198
|
-
|
199
|
-
:ToggleButton: # < Button
|
200
|
-
:toggled:
|
201
|
-
:border_color: ?red
|
202
|
-
|
203
|
-
:ToolTip: # < Label
|
204
|
-
:background_color: ?very_dark_gray
|
205
|
-
:font_height: 20
|
206
|
-
:border_color: ?white
|
207
|
-
:padding_top: 2
|
208
|
-
:padding_right: 4
|
209
|
-
:padding_bottom: 2
|
210
|
-
:padding_left: 4
|
211
|
-
|
212
|
-
:Vertical: # < Grid
|
213
|
-
{}
|
214
|
-
|
215
|
-
:VerticalScrollBar: # < ScrollBar
|
216
|
-
:width: ?scroll_bar_thickness
|
1
|
+
# Default schema for Fidgit
|
2
|
+
---
|
3
|
+
|
4
|
+
# Define all constant values here. For colours, use [R, G, B] or [R, G, B, A].
|
5
|
+
# Reference constants with ?constant_name
|
6
|
+
:constants:
|
7
|
+
# General constants (strings and numbers).
|
8
|
+
:scroll_bar_thickness: 12
|
9
|
+
|
10
|
+
# Gosu::Color constants
|
11
|
+
:none: [0, 0, 0, 0]
|
12
|
+
|
13
|
+
:black: [0, 0, 0]
|
14
|
+
:white: [255, 255, 255]
|
15
|
+
|
16
|
+
:very_dark_gray: [50, 50, 50]
|
17
|
+
:dark_gray: [100, 100, 100]
|
18
|
+
:gray: [150, 150, 150]
|
19
|
+
:light_gray: [200, 200, 200]
|
20
|
+
|
21
|
+
:red: [255, 0, 0]
|
22
|
+
:green: [0, 0, 255]
|
23
|
+
:blue: [0, 0, 255]
|
24
|
+
|
25
|
+
:dark_red: [100, 0, 0]
|
26
|
+
:dark_green: [0, 100, 0]
|
27
|
+
:dark_blue: [0, 0, 100]
|
28
|
+
|
29
|
+
# Default element attributes.
|
30
|
+
:elements:
|
31
|
+
:Button: # < Label
|
32
|
+
:background_color: ?dark_gray
|
33
|
+
:border_color: ?light_gray
|
34
|
+
:border_thickness: 2
|
35
|
+
:shortcut_color: ?red
|
36
|
+
:padding_top: 2
|
37
|
+
:padding_right: 4
|
38
|
+
:padding_bottom: 2
|
39
|
+
:padding_left: 4
|
40
|
+
|
41
|
+
:disabled:
|
42
|
+
:background_color: ?very_dark_gray
|
43
|
+
:border_color: ?gray
|
44
|
+
|
45
|
+
:hover:
|
46
|
+
:background_color: ?gray
|
47
|
+
|
48
|
+
:ColorPicker:
|
49
|
+
:indicator_height: 30
|
50
|
+
|
51
|
+
:ColorWell: # < RadioButton
|
52
|
+
:height: 32
|
53
|
+
:outline_color: ?gray
|
54
|
+
:width: 32
|
55
|
+
|
56
|
+
:checked:
|
57
|
+
:border_color: ?very_dark_gray
|
58
|
+
|
59
|
+
:ComboBox: # < Button
|
60
|
+
:background_color: ?dark_gray
|
61
|
+
:border_color: ?white
|
62
|
+
|
63
|
+
:Composite: # < Container
|
64
|
+
:padding_top: 0
|
65
|
+
:padding_right: 0
|
66
|
+
:padding_bottom: 0
|
67
|
+
:padding_left: 0
|
68
|
+
|
69
|
+
:Container: # < Element
|
70
|
+
{}
|
71
|
+
|
72
|
+
:Element:
|
73
|
+
:align_h: :left
|
74
|
+
:align_v: :top
|
75
|
+
:background_color: ?none
|
76
|
+
:background_image: nil
|
77
|
+
:border_color: ?none
|
78
|
+
:border_thickness: 0
|
79
|
+
:color: ?white
|
80
|
+
:font_height: 30
|
81
|
+
:font_name: :default
|
82
|
+
:padding_top: 2
|
83
|
+
:padding_right: 4
|
84
|
+
:padding_bottom: 2
|
85
|
+
:padding_left: 4
|
86
|
+
|
87
|
+
|
88
|
+
:FileBrowser: # < Composite
|
89
|
+
:pattern: "*.*"
|
90
|
+
:show_extension: true
|
91
|
+
|
92
|
+
:Grid: # < Packer
|
93
|
+
:cell_background_color: ?none
|
94
|
+
:cell_border_color: ?none
|
95
|
+
:cell_border_thickness: 0
|
96
|
+
|
97
|
+
:Group: # < Packer
|
98
|
+
:padding_top: 0
|
99
|
+
:padding_right: 0
|
100
|
+
:padding_bottom: 0
|
101
|
+
:padding_left: 0
|
102
|
+
|
103
|
+
:Horizontal: # < Grid
|
104
|
+
{}
|
105
|
+
|
106
|
+
:HorizontalScrollBar: # < ScrollBar
|
107
|
+
:height: ?scroll_bar_thickness
|
108
|
+
|
109
|
+
:ImageFrame: # <Element
|
110
|
+
:padding_top: 0
|
111
|
+
:padding_right: 0
|
112
|
+
:padding_bottom: 0
|
113
|
+
:padding_left: 0
|
114
|
+
|
115
|
+
:Label: # < Element
|
116
|
+
:justify: :left
|
117
|
+
:icon_position: :left
|
118
|
+
|
119
|
+
:disabled:
|
120
|
+
:color: ?gray
|
121
|
+
|
122
|
+
:List:
|
123
|
+
:background_color: ?light_gray
|
124
|
+
:border_color: ?white
|
125
|
+
|
126
|
+
:List::Item:
|
127
|
+
:border_thickness: 0
|
128
|
+
|
129
|
+
:MainPacker: # < Packer
|
130
|
+
:border_thickness: 0
|
131
|
+
:padding_top: 0
|
132
|
+
:padding_right: 0
|
133
|
+
:padding_bottom: 0
|
134
|
+
:padding_left: 0
|
135
|
+
:spacing_h: 0
|
136
|
+
:spacing_v: 0
|
137
|
+
|
138
|
+
:MenuPane:
|
139
|
+
:background_color: ?very_dark_gray
|
140
|
+
|
141
|
+
:MenuPane::Item: # < Button
|
142
|
+
:border_color: ?none
|
143
|
+
:border_thickness: 0
|
144
|
+
|
145
|
+
:MenuPane::Separator: # < Label
|
146
|
+
:line_height: 2
|
147
|
+
:background_color: ?black
|
148
|
+
|
149
|
+
:Packer: # < Container
|
150
|
+
:spacing_h: 4
|
151
|
+
:spacing_v: 4
|
152
|
+
|
153
|
+
:RadioButton: # < Button
|
154
|
+
:checked:
|
155
|
+
:border_color: ?blue
|
156
|
+
|
157
|
+
:ScrollArea: # < Composite
|
158
|
+
{}
|
159
|
+
|
160
|
+
:ScrollBar: # < Composite
|
161
|
+
:background_color: ?none
|
162
|
+
:border_color: ?none
|
163
|
+
:handle_color: ?dark_red
|
164
|
+
:rail_color: ?very_dark_gray
|
165
|
+
:rail_width: ?scroll_bar_thickness
|
166
|
+
|
167
|
+
:ScrollWindow: # < Composite
|
168
|
+
:scroll_bar_thickness: ?scroll_bar_thickness
|
169
|
+
:border_color: ?light_gray
|
170
|
+
:border_thickness: 1
|
171
|
+
|
172
|
+
:Slider: # < Element
|
173
|
+
:background_color: ?none
|
174
|
+
:border_color: ?dark_gray
|
175
|
+
:groove_color: ?light_gray
|
176
|
+
:handle_color: ?dark_green
|
177
|
+
|
178
|
+
:Slider::Handle: # < Element
|
179
|
+
:background_color: ?dark_blue
|
180
|
+
|
181
|
+
:TextArea: # < Composite
|
182
|
+
:background_color: ?very_dark_gray
|
183
|
+
:border_color: ?light_gray
|
184
|
+
:caret_color: ?red
|
185
|
+
:caret_period: 500 # In milliseconds
|
186
|
+
:line_spacing: 0
|
187
|
+
:selection_color: ?dark_gray
|
188
|
+
|
189
|
+
:focused:
|
190
|
+
:border_color: ?green
|
191
|
+
|
192
|
+
:TextLine: # < Element
|
193
|
+
:justify: :left
|
194
|
+
:padding_top: 0
|
195
|
+
:padding_right: 0
|
196
|
+
:padding_bottom: 0
|
197
|
+
:padding_left: 0
|
198
|
+
|
199
|
+
:ToggleButton: # < Button
|
200
|
+
:toggled:
|
201
|
+
:border_color: ?red
|
202
|
+
|
203
|
+
:ToolTip: # < Label
|
204
|
+
:background_color: ?very_dark_gray
|
205
|
+
:font_height: 20
|
206
|
+
:border_color: ?white
|
207
|
+
:padding_top: 2
|
208
|
+
:padding_right: 4
|
209
|
+
:padding_bottom: 2
|
210
|
+
:padding_left: 4
|
211
|
+
|
212
|
+
:Vertical: # < Grid
|
213
|
+
{}
|
214
|
+
|
215
|
+
:VerticalScrollBar: # < ScrollBar
|
216
|
+
:width: ?scroll_bar_thickness
|
data/examples/_all_examples.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
# Run all examples, one after the other
|
2
|
-
require_relative 'helpers/example_window'
|
3
|
-
|
4
|
-
|
5
|
-
examples = Dir.glob(File.join(File.dirname(__FILE__), "*.rb")) - [__FILE__]
|
6
|
-
examples.each_with_index do |file_name, index|
|
7
|
-
ENV['FIDGIT_EXAMPLES_TEXT'] = "[#{index + 1} of #{examples.size + 1}]"
|
8
|
-
`ruby #{file_name}`
|
9
|
-
end
|
1
|
+
# Run all examples, one after the other
|
2
|
+
require_relative 'helpers/example_window'
|
3
|
+
|
4
|
+
|
5
|
+
examples = Dir.glob(File.join(File.dirname(__FILE__), "*.rb")) - [__FILE__]
|
6
|
+
examples.each_with_index do |file_name, index|
|
7
|
+
ENV['FIDGIT_EXAMPLES_TEXT'] = "[#{index + 1} of #{examples.size + 1}]"
|
8
|
+
`ruby #{file_name}`
|
9
|
+
end
|
data/examples/align_example.rb
CHANGED
@@ -1,56 +1,56 @@
|
|
1
|
-
require_relative 'helpers/example_window'
|
2
|
-
|
3
|
-
# Change font and labels in the schema.
|
4
|
-
Fidgit::Element.schema.merge_elements!(Element: { font_height: 24 }, Label: { background_color: "?dark_blue" })
|
5
|
-
|
6
|
-
class ExampleState < Fidgit::GuiState
|
7
|
-
ROW_BACKGROUND = Gosu::Color.rgb(0, 100, 0)
|
8
|
-
CELL_BACKGROUND = Gosu::Color.rgb(100, 0, 0)
|
9
|
-
OUTER_BACKGROUND = Gosu::Color.rgb(100, 0, 100)
|
10
|
-
|
11
|
-
def initialize
|
12
|
-
super
|
13
|
-
|
14
|
-
vertical align: :center, background_color: OUTER_BACKGROUND do
|
15
|
-
label "h => align_h, v => align_v", align_h: :center
|
16
|
-
|
17
|
-
grid num_columns: 4, align: :center, cell_background_color: CELL_BACKGROUND, background_color: ROW_BACKGROUND do
|
18
|
-
label "xxx"
|
19
|
-
label "h fill", align_h: :fill
|
20
|
-
label "h right", align_h: :right
|
21
|
-
label "h center", align_h: :center
|
22
|
-
|
23
|
-
|
24
|
-
vertical do
|
25
|
-
label "xxx"
|
26
|
-
label "xxx"
|
27
|
-
end
|
28
|
-
label "v fill", align_v: :fill
|
29
|
-
label "v center", align_v: :center
|
30
|
-
label "v bottom", align_v: :bottom
|
31
|
-
|
32
|
-
vertical align_h: :center do
|
33
|
-
label "h center"
|
34
|
-
label "h center"
|
35
|
-
end
|
36
|
-
label "top right", align: [:top, :left]
|
37
|
-
label "bottom left", align_h: :left, align_v: :bottom
|
38
|
-
label "h/v fill", align: :fill
|
39
|
-
|
40
|
-
label ""
|
41
|
-
label "bottom right", align_h: :right, align_v: :bottom
|
42
|
-
label "bottom center", align_h: :center, align_v: :bottom
|
43
|
-
vertical align_h: :right do
|
44
|
-
label "h right"
|
45
|
-
label "h right"
|
46
|
-
end
|
47
|
-
|
48
|
-
label "Blah, bleh!"
|
49
|
-
label "Yada, yada, yada"
|
50
|
-
label "Bazingo by jingo!"
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
1
|
+
require_relative 'helpers/example_window'
|
2
|
+
|
3
|
+
# Change font and labels in the schema.
|
4
|
+
Fidgit::Element.schema.merge_elements!(Element: { font_height: 24 }, Label: { background_color: "?dark_blue" })
|
5
|
+
|
6
|
+
class ExampleState < Fidgit::GuiState
|
7
|
+
ROW_BACKGROUND = Gosu::Color.rgb(0, 100, 0)
|
8
|
+
CELL_BACKGROUND = Gosu::Color.rgb(100, 0, 0)
|
9
|
+
OUTER_BACKGROUND = Gosu::Color.rgb(100, 0, 100)
|
10
|
+
|
11
|
+
def initialize
|
12
|
+
super
|
13
|
+
|
14
|
+
vertical align: :center, background_color: OUTER_BACKGROUND do
|
15
|
+
label "h => align_h, v => align_v", align_h: :center
|
16
|
+
|
17
|
+
grid num_columns: 4, align: :center, cell_background_color: CELL_BACKGROUND, background_color: ROW_BACKGROUND do
|
18
|
+
label "xxx"
|
19
|
+
label "h fill", align_h: :fill
|
20
|
+
label "h right", align_h: :right
|
21
|
+
label "h center", align_h: :center
|
22
|
+
|
23
|
+
|
24
|
+
vertical do
|
25
|
+
label "xxx"
|
26
|
+
label "xxx"
|
27
|
+
end
|
28
|
+
label "v fill", align_v: :fill
|
29
|
+
label "v center", align_v: :center
|
30
|
+
label "v bottom", align_v: :bottom
|
31
|
+
|
32
|
+
vertical align_h: :center do
|
33
|
+
label "h center"
|
34
|
+
label "h center"
|
35
|
+
end
|
36
|
+
label "top right", align: [:top, :left]
|
37
|
+
label "bottom left", align_h: :left, align_v: :bottom
|
38
|
+
label "h/v fill", align: :fill
|
39
|
+
|
40
|
+
label ""
|
41
|
+
label "bottom right", align_h: :right, align_v: :bottom
|
42
|
+
label "bottom center", align_h: :center, align_v: :bottom
|
43
|
+
vertical align_h: :right do
|
44
|
+
label "h right"
|
45
|
+
label "h right"
|
46
|
+
end
|
47
|
+
|
48
|
+
label "Blah, bleh!"
|
49
|
+
label "Yada, yada, yada"
|
50
|
+
label "Bazingo by jingo!"
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
56
|
ExampleWindow.new.show
|