fidgit 0.2.4 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
@@ -1,27 +1,27 @@
|
|
1
|
-
require_relative 'helpers/example_window'
|
2
|
-
|
3
|
-
# Labels can have text and/or icons.
|
4
|
-
class ExampleState < Fidgit::GuiState
|
5
|
-
def initialize
|
6
|
-
super
|
7
|
-
|
8
|
-
vertical do
|
9
|
-
my_label = label "Right click to open context menu"
|
10
|
-
|
11
|
-
my_label.subscribe :released_right_mouse_button do
|
12
|
-
menu do
|
13
|
-
item "Chunky bacon", :CHUNKY_BACON, shortcut_text: "Ctrl-^-*"
|
14
|
-
separator
|
15
|
-
item "Lentils", :LENTILS, shortcut_text: "Alt-F15"
|
16
|
-
item "Tepid gruel", :GRUEL, shortcut_text: "CenterMeta"
|
17
|
-
|
18
|
-
subscribe :selected do |sender, value|
|
19
|
-
my_label.text = "I like #{value} more than anything. Mmmm!"
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
1
|
+
require_relative 'helpers/example_window'
|
2
|
+
|
3
|
+
# Labels can have text and/or icons.
|
4
|
+
class ExampleState < Fidgit::GuiState
|
5
|
+
def initialize
|
6
|
+
super
|
7
|
+
|
8
|
+
vertical do
|
9
|
+
my_label = label "Right click to open context menu"
|
10
|
+
|
11
|
+
my_label.subscribe :released_right_mouse_button do
|
12
|
+
menu do
|
13
|
+
item "Chunky bacon", :CHUNKY_BACON, shortcut_text: "Ctrl-^-*"
|
14
|
+
separator
|
15
|
+
item "Lentils", :LENTILS, shortcut_text: "Alt-F15"
|
16
|
+
item "Tepid gruel", :GRUEL, shortcut_text: "CenterMeta"
|
17
|
+
|
18
|
+
subscribe :selected do |sender, value|
|
19
|
+
my_label.text = "I like #{value} more than anything. Mmmm!"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
27
|
ExampleWindow.new.show
|
@@ -1,65 +1,65 @@
|
|
1
|
-
require_relative 'helpers/example_window'
|
2
|
-
|
3
|
-
# Example for Button and ToggleButton
|
4
|
-
class ExampleState < Fidgit::GuiState
|
5
|
-
def initialize
|
6
|
-
super
|
7
|
-
|
8
|
-
vertical do
|
9
|
-
my_label = label "Why not open a dialog? You know you want to!", tip: "I'm a label"
|
10
|
-
|
11
|
-
button("Open an ok message dialog") do
|
12
|
-
message "System shutdown immanent"
|
13
|
-
end
|
14
|
-
|
15
|
-
button("Open an ok/cancel message dialog") do
|
16
|
-
message("Really 'rm -rf .'?", type: :ok_cancel) do |result|
|
17
|
-
my_label.text = case result
|
18
|
-
when :ok then "All your base are belong to us!"
|
19
|
-
when :cancel then "Cancelled"
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
button("Open a yes/no message dialog") do
|
25
|
-
message("Do you like any sorts of cheese? Even Government cheese counts, you know!", type: :yes_no, yes_text: "Yay!", no_text: "Nay!") do |result|
|
26
|
-
my_label.text = case result
|
27
|
-
when :yes then "You like cheese"
|
28
|
-
when :no then "You don't like cheese"
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
button("Open a yes/no/cancel message dialog") do
|
34
|
-
message("Do you know what you are doing?", type: :yes_no_cancel) do |result|
|
35
|
-
my_label.text = case result
|
36
|
-
when :yes then "I'm not convinced you know what you are doing"
|
37
|
-
when :no then "At least you are aware of your own shortcomings"
|
38
|
-
when :cancel then "Don't avoid the question!"
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
button("Open quit/cancel message dialog") do
|
44
|
-
message("Really leave us?", type: :quit_cancel) do |result|
|
45
|
-
my_label.text = case result
|
46
|
-
when :quit then "Quit! Bye!"
|
47
|
-
when :cancel then "Oh, you are staying? Yay!"
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
button("Open quit/save/cancel message dialog") do
|
53
|
-
message("You have unsaved data.\nSave before quitting?", type: :quit_save_cancel) do |result|
|
54
|
-
my_label.text = case result
|
55
|
-
when :quit then "File discarded and quit"
|
56
|
-
when :save then "File saved and quit"
|
57
|
-
when :cancel then "Nothing happened. You should be more committed"
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
1
|
+
require_relative 'helpers/example_window'
|
2
|
+
|
3
|
+
# Example for Button and ToggleButton
|
4
|
+
class ExampleState < Fidgit::GuiState
|
5
|
+
def initialize
|
6
|
+
super
|
7
|
+
|
8
|
+
vertical do
|
9
|
+
my_label = label "Why not open a dialog? You know you want to!", tip: "I'm a label"
|
10
|
+
|
11
|
+
button("Open an ok message dialog") do
|
12
|
+
message "System shutdown immanent"
|
13
|
+
end
|
14
|
+
|
15
|
+
button("Open an ok/cancel message dialog") do
|
16
|
+
message("Really 'rm -rf .'?", type: :ok_cancel) do |result|
|
17
|
+
my_label.text = case result
|
18
|
+
when :ok then "All your base are belong to us!"
|
19
|
+
when :cancel then "Cancelled"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
button("Open a yes/no message dialog") do
|
25
|
+
message("Do you like any sorts of cheese? Even Government cheese counts, you know!", type: :yes_no, yes_text: "Yay!", no_text: "Nay!") do |result|
|
26
|
+
my_label.text = case result
|
27
|
+
when :yes then "You like cheese"
|
28
|
+
when :no then "You don't like cheese"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
button("Open a yes/no/cancel message dialog") do
|
34
|
+
message("Do you know what you are doing?", type: :yes_no_cancel) do |result|
|
35
|
+
my_label.text = case result
|
36
|
+
when :yes then "I'm not convinced you know what you are doing"
|
37
|
+
when :no then "At least you are aware of your own shortcomings"
|
38
|
+
when :cancel then "Don't avoid the question!"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
button("Open quit/cancel message dialog") do
|
44
|
+
message("Really leave us?", type: :quit_cancel) do |result|
|
45
|
+
my_label.text = case result
|
46
|
+
when :quit then "Quit! Bye!"
|
47
|
+
when :cancel then "Oh, you are staying? Yay!"
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
button("Open quit/save/cancel message dialog") do
|
53
|
+
message("You have unsaved data.\nSave before quitting?", type: :quit_save_cancel) do |result|
|
54
|
+
my_label.text = case result
|
55
|
+
when :quit then "File discarded and quit"
|
56
|
+
when :save then "File saved and quit"
|
57
|
+
when :cancel then "Nothing happened. You should be more committed"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
65
|
ExampleWindow.new.show
|
@@ -1,37 +1,37 @@
|
|
1
|
-
require_relative 'helpers/example_window'
|
2
|
-
|
3
|
-
class ExampleState < Fidgit::GuiState
|
4
|
-
def initialize
|
5
|
-
super
|
6
|
-
|
7
|
-
vertical do
|
8
|
-
my_label = label "No button selected"
|
9
|
-
|
10
|
-
button("Deselect") do
|
11
|
-
@group.value = nil
|
12
|
-
end
|
13
|
-
|
14
|
-
button("Select #7") do
|
15
|
-
@group.value = 7
|
16
|
-
end
|
17
|
-
|
18
|
-
@group = group do
|
19
|
-
grid num_columns: 5, padding: 0 do
|
20
|
-
15.times do |i|
|
21
|
-
radio_button "##{i}", i, width: 60
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
subscribe :changed do |sender, value|
|
26
|
-
my_label.text = if value
|
27
|
-
"Button #{value.to_s} selected"
|
28
|
-
else
|
29
|
-
"No button selected"
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
1
|
+
require_relative 'helpers/example_window'
|
2
|
+
|
3
|
+
class ExampleState < Fidgit::GuiState
|
4
|
+
def initialize
|
5
|
+
super
|
6
|
+
|
7
|
+
vertical do
|
8
|
+
my_label = label "No button selected"
|
9
|
+
|
10
|
+
button("Deselect") do
|
11
|
+
@group.value = nil
|
12
|
+
end
|
13
|
+
|
14
|
+
button("Select #7") do
|
15
|
+
@group.value = 7
|
16
|
+
end
|
17
|
+
|
18
|
+
@group = group do
|
19
|
+
grid num_columns: 5, padding: 0 do
|
20
|
+
15.times do |i|
|
21
|
+
radio_button "##{i}", i, width: 60
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
subscribe :changed do |sender, value|
|
26
|
+
my_label.text = if value
|
27
|
+
"Button #{value.to_s} selected"
|
28
|
+
else
|
29
|
+
"No button selected"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
37
|
ExampleWindow.new.show
|
data/examples/readme_example.rb
CHANGED
@@ -1,32 +1,32 @@
|
|
1
|
-
require_relative "../lib/fidgit"
|
2
|
-
|
3
|
-
# Normally, you'd load this from the gem using:
|
4
|
-
# require 'fidgit'
|
5
|
-
|
6
|
-
class MyGame < Chingu::Window
|
7
|
-
def initialize
|
8
|
-
super(640, 480, false)
|
9
|
-
|
10
|
-
# To use the Fidgit features, a Fidgit::GuiState must be active.
|
11
|
-
push_game_state MyGuiState
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
class MyGuiState < Fidgit::GuiState
|
16
|
-
def initialize
|
17
|
-
super
|
18
|
-
|
19
|
-
# Create a vertically packed section, centred on the window.
|
20
|
-
vertical align: :center do
|
21
|
-
# Create a label with a dark green background.
|
22
|
-
my_label = label "Hello world!", background_color: Gosu::Color.rgb(0, 100, 0)
|
23
|
-
|
24
|
-
# Create a button that, when clicked, changes the label text.
|
25
|
-
button("Goodbye", align_h: :center, tip: "Press me and be done with it!") do
|
26
|
-
my_label.text = "Goodbye cruel world!"
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
1
|
+
require_relative "../lib/fidgit"
|
2
|
+
|
3
|
+
# Normally, you'd load this from the gem using:
|
4
|
+
# require 'fidgit'
|
5
|
+
|
6
|
+
class MyGame < Chingu::Window
|
7
|
+
def initialize
|
8
|
+
super(640, 480, false)
|
9
|
+
|
10
|
+
# To use the Fidgit features, a Fidgit::GuiState must be active.
|
11
|
+
push_game_state MyGuiState
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class MyGuiState < Fidgit::GuiState
|
16
|
+
def initialize
|
17
|
+
super
|
18
|
+
|
19
|
+
# Create a vertically packed section, centred on the window.
|
20
|
+
vertical align: :center do
|
21
|
+
# Create a label with a dark green background.
|
22
|
+
my_label = label "Hello world!", background_color: Gosu::Color.rgb(0, 100, 0)
|
23
|
+
|
24
|
+
# Create a button that, when clicked, changes the label text.
|
25
|
+
button("Goodbye", align_h: :center, tip: "Press me and be done with it!") do
|
26
|
+
my_label.text = "Goodbye cruel world!"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
32
|
MyGame.new.show
|
@@ -1,49 +1,49 @@
|
|
1
|
-
require_relative 'helpers/example_window'
|
2
|
-
|
3
|
-
# Example for Button and ToggleButton
|
4
|
-
class ExampleState < Fidgit::GuiState
|
5
|
-
HEIGHT = 225
|
6
|
-
WIDTH = 140
|
7
|
-
def initialize
|
8
|
-
super
|
9
|
-
|
10
|
-
vertical do
|
11
|
-
horizontal do
|
12
|
-
[
|
13
|
-
[20, "All cheer the ascendancy of number "], # Should have both scrollers
|
14
|
-
[20, "#"], # Only has v-scroller.
|
15
|
-
[4, "#"], # No scrollers.
|
16
|
-
[4, "All cheer the ascendancy of number "], # Only has h-scroller
|
17
|
-
].each do |num_labels, text|
|
18
|
-
vertical do
|
19
|
-
scroll_window(width: WIDTH, height: HEIGHT, background_color: Gosu::Color.rgb(0, 100, 0)) do
|
20
|
-
vertical do
|
21
|
-
(1..num_labels).each do |i|
|
22
|
-
label "#{text}#{i}!"
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
horizontal padding: 0 do
|
31
|
-
vertical do
|
32
|
-
scroll_window(width: 300, height: 150) do
|
33
|
-
text_area(text: "Hello world! " * 19, width: 284)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
vertical do
|
38
|
-
scroll_window(width: 300, height: 150) do
|
39
|
-
%w[One Two Three Four Five Six].each do |name|
|
40
|
-
toggle_button(name)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
1
|
+
require_relative 'helpers/example_window'
|
2
|
+
|
3
|
+
# Example for Button and ToggleButton
|
4
|
+
class ExampleState < Fidgit::GuiState
|
5
|
+
HEIGHT = 225
|
6
|
+
WIDTH = 140
|
7
|
+
def initialize
|
8
|
+
super
|
9
|
+
|
10
|
+
vertical do
|
11
|
+
horizontal do
|
12
|
+
[
|
13
|
+
[20, "All cheer the ascendancy of number "], # Should have both scrollers
|
14
|
+
[20, "#"], # Only has v-scroller.
|
15
|
+
[4, "#"], # No scrollers.
|
16
|
+
[4, "All cheer the ascendancy of number "], # Only has h-scroller
|
17
|
+
].each do |num_labels, text|
|
18
|
+
vertical do
|
19
|
+
scroll_window(width: WIDTH, height: HEIGHT, background_color: Gosu::Color.rgb(0, 100, 0)) do
|
20
|
+
vertical do
|
21
|
+
(1..num_labels).each do |i|
|
22
|
+
label "#{text}#{i}!"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
horizontal padding: 0 do
|
31
|
+
vertical do
|
32
|
+
scroll_window(width: 300, height: 150) do
|
33
|
+
text_area(text: "Hello world! " * 19, width: 284)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
vertical do
|
38
|
+
scroll_window(width: 300, height: 150) do
|
39
|
+
%w[One Two Three Four Five Six].each do |name|
|
40
|
+
toggle_button(name)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
49
|
ExampleWindow.new.show
|
data/examples/slider_example.rb
CHANGED
@@ -1,34 +1,34 @@
|
|
1
|
-
require_relative 'helpers/example_window'
|
2
|
-
|
3
|
-
class ExampleState < Fidgit::GuiState
|
4
|
-
def initialize
|
5
|
-
super
|
6
|
-
|
7
|
-
vertical do
|
8
|
-
horizontal do
|
9
|
-
# Discrete values (0..100)
|
10
|
-
slider = slider(width: 100, range: 0..5, value: 3, tip: "Discrete value is") do |sender, value|
|
11
|
-
@discrete_label.text = "Discrete slider is at #{value}"
|
12
|
-
end
|
13
|
-
|
14
|
-
@discrete_label = label "Discrete slider is at #{slider.value}"
|
15
|
-
end
|
16
|
-
|
17
|
-
horizontal do
|
18
|
-
# Continuous values (0.0..1.0)
|
19
|
-
|
20
|
-
slider = slider(width: 100, range: 0.0..100.0, value: 77.2, tip: "Continuous value is") do |sender, value|
|
21
|
-
@continuous_label.text = "Continuous slider is at #{"%.03f" % value}%"
|
22
|
-
end
|
23
|
-
|
24
|
-
@continuous_label = label "Continuous slider is at #{"%.03f" % slider.value}%"
|
25
|
-
end
|
26
|
-
|
27
|
-
horizontal do
|
28
|
-
slider(width: 100, range: 0.0..100.0, value: 77.2, tip: "Disabled slider value is", enabled: false)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
1
|
+
require_relative 'helpers/example_window'
|
2
|
+
|
3
|
+
class ExampleState < Fidgit::GuiState
|
4
|
+
def initialize
|
5
|
+
super
|
6
|
+
|
7
|
+
vertical do
|
8
|
+
horizontal do
|
9
|
+
# Discrete values (0..100)
|
10
|
+
slider = slider(width: 100, range: 0..5, value: 3, tip: "Discrete value is") do |sender, value|
|
11
|
+
@discrete_label.text = "Discrete slider is at #{value}"
|
12
|
+
end
|
13
|
+
|
14
|
+
@discrete_label = label "Discrete slider is at #{slider.value}"
|
15
|
+
end
|
16
|
+
|
17
|
+
horizontal do
|
18
|
+
# Continuous values (0.0..1.0)
|
19
|
+
|
20
|
+
slider = slider(width: 100, range: 0.0..100.0, value: 77.2, tip: "Continuous value is") do |sender, value|
|
21
|
+
@continuous_label.text = "Continuous slider is at #{"%.03f" % value}%"
|
22
|
+
end
|
23
|
+
|
24
|
+
@continuous_label = label "Continuous slider is at #{"%.03f" % slider.value}%"
|
25
|
+
end
|
26
|
+
|
27
|
+
horizontal do
|
28
|
+
slider(width: 100, range: 0.0..100.0, value: 77.2, tip: "Disabled slider value is", enabled: false)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
34
|
ExampleWindow.new.show
|