wxruby 1.9.2-i386-mswin32 → 1.9.3-i386-mswin32
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/LICENSE +53 -53
- data/README +299 -299
- data/lib/wx/classes/app.rb +6 -0
- data/lib/wx/classes/checklistbox.rb +45 -30
- data/lib/wx/classes/clipboard.rb +16 -0
- data/lib/wx/classes/event.rb +5 -0
- data/lib/wx/classes/evthandler.rb +20 -10
- data/lib/wx/classes/grid.rb +38 -39
- data/lib/wx/classes/listctrl.rb +12 -0
- data/lib/wx/classes/mediactrl.rb +22 -0
- data/lib/wx/classes/menu.rb +6 -6
- data/lib/wx/classes/sound.rb +23 -0
- data/lib/wx/classes/styledtextctrl.rb +2 -2
- data/lib/wx/classes/treectrl.rb +26 -0
- data/lib/wx/keyword_ctors.rb +19 -5
- data/lib/wx/keyword_defs.rb +20 -0
- data/lib/wx/version.rb +1 -1
- data/lib/wx.rb +42 -42
- data/lib/wxruby2.exp +0 -0
- data/lib/wxruby2.lib +0 -0
- data/lib/wxruby2.so +0 -0
- data/samples/SAMPLES-LICENSE.TXT +17 -17
- data/samples/aui/aui.rb +8 -1
- data/samples/bigdemo/About.rbw +39 -39
- data/samples/bigdemo/ColorPanel.rbw +25 -25
- data/samples/bigdemo/GridSimple.rbw +80 -80
- data/samples/bigdemo/MDIDemo.rbw +59 -59
- data/samples/bigdemo/PopupMenu.rbw +151 -151
- data/samples/bigdemo/Sizers.rbw +545 -545
- data/samples/bigdemo/bigdemo.rb +826 -826
- data/samples/bigdemo/demoTemplate.rbw +37 -37
- data/samples/bigdemo/icons/choice.xpm +27 -27
- data/samples/bigdemo/icons/combo.xpm +27 -27
- data/samples/bigdemo/icons/copy.xpm +25 -25
- data/samples/bigdemo/icons/cut.xpm +24 -24
- data/samples/bigdemo/icons/gauge.xpm +27 -27
- data/samples/bigdemo/icons/help.xpm +25 -25
- data/samples/bigdemo/icons/list.xpm +27 -27
- data/samples/bigdemo/icons/mondrian.xpm +44 -44
- data/samples/bigdemo/icons/new.xpm +24 -24
- data/samples/bigdemo/icons/ogl.ico +0 -0
- data/samples/bigdemo/icons/ogl.xpm +45 -45
- data/samples/bigdemo/icons/open.xpm +26 -26
- data/samples/bigdemo/icons/paste.xpm +38 -38
- data/samples/bigdemo/icons/preview.xpm +26 -26
- data/samples/bigdemo/icons/print.xpm +26 -26
- data/samples/bigdemo/icons/radio.xpm +27 -27
- data/samples/bigdemo/icons/robert.xpm +415 -415
- data/samples/bigdemo/icons/save.xpm +25 -25
- data/samples/bigdemo/icons/smiles.xpm +39 -39
- data/samples/bigdemo/icons/smiley.xpm +42 -42
- data/samples/bigdemo/icons/stattext.xpm +24 -24
- data/samples/bigdemo/icons/test2.bmp +0 -0
- data/samples/bigdemo/icons/test2.xpm +79 -79
- data/samples/bigdemo/icons/text.xpm +27 -27
- data/samples/bigdemo/icons/tog1.xpm +38 -38
- data/samples/bigdemo/icons/tog2.xpm +38 -38
- data/samples/bigdemo/icons/wxwin16x16.xpm +25 -25
- data/samples/bigdemo/tips.txt +7 -7
- data/samples/bigdemo/utils.rb +11 -11
- data/samples/bigdemo/wxButton.rbw +66 -66
- data/samples/bigdemo/wxCalendarCtrl.rbw +72 -72
- data/samples/bigdemo/wxCheckBox.rbw +52 -52
- data/samples/bigdemo/wxCheckListBox.rbw +77 -77
- data/samples/bigdemo/wxChoice.rbw +49 -49
- data/samples/bigdemo/wxColourDialog.rbw +34 -34
- data/samples/bigdemo/wxComboBox.rbw +79 -79
- data/samples/bigdemo/wxDialog.rbw +92 -92
- data/samples/bigdemo/wxDirDialog.rbw +32 -32
- data/samples/bigdemo/wxFileDialog.rbw +39 -39
- data/samples/bigdemo/wxFileDialog_Save.rbw +38 -38
- data/samples/bigdemo/wxFindReplaceDialog.rbw +85 -85
- data/samples/bigdemo/wxFontDialog.rbw +176 -176
- data/samples/bigdemo/wxFrame.rbw +55 -55
- data/samples/bigdemo/wxGauge.rbw +73 -73
- data/samples/bigdemo/wxGrid.rbw +68 -68
- data/samples/bigdemo/wxListBox.rbw +142 -142
- data/samples/bigdemo/wxListCtrl_virtual.rbw +109 -109
- data/samples/bigdemo/wxMDIWindows.rbw +52 -52
- data/samples/bigdemo/wxMenu.rbw +238 -238
- data/samples/bigdemo/wxMessageDialog.rbw +30 -30
- data/samples/bigdemo/wxMultipleChoiceDialog.rbw +34 -34
- data/samples/bigdemo/wxNotebook.rbw +138 -138
- data/samples/bigdemo/wxProgressDialog.rbw +45 -45
- data/samples/bigdemo/wxRadioBox.rbw +74 -74
- data/samples/bigdemo/wxRadioButton.rbw +127 -127
- data/samples/bigdemo/wxSashWindow.rbw +94 -104
- data/samples/bigdemo/wxScrolledMessageDialog.rbw +59 -59
- data/samples/bigdemo/wxScrolledWindow.rbw +201 -201
- data/samples/bigdemo/wxSingleChoiceDialog.rbw +35 -35
- data/samples/bigdemo/wxSlider.rbw +44 -44
- data/samples/bigdemo/wxSpinButton.rbw +52 -52
- data/samples/bigdemo/wxSpinCtrl.rbw +53 -53
- data/samples/bigdemo/wxSplitterWindow.rbw +65 -65
- data/samples/bigdemo/wxStaticBitmap.rbw +53 -53
- data/samples/bigdemo/wxStaticText.rbw +57 -57
- data/samples/bigdemo/wxStatusBar.rbw +128 -128
- data/samples/bigdemo/wxTextCtrl.rbw +151 -151
- data/samples/bigdemo/wxTextEntryDialog.rbw +34 -34
- data/samples/bigdemo/wxToggleButton.rbw +51 -51
- data/samples/bigdemo/wxToolBar.rbw +133 -133
- data/samples/bigdemo/wxTreeCtrl.rbw +192 -192
- data/samples/calendar/calendar.rb +275 -275
- data/samples/caret/caret.rb +286 -286
- data/samples/caret/mondrian.xpm +44 -44
- data/samples/controls/controls.rb +1140 -1140
- data/samples/controls/get_item_sample.rb +87 -87
- data/samples/controls/icons/choice.xpm +27 -27
- data/samples/controls/icons/combo.xpm +27 -27
- data/samples/controls/icons/gauge.xpm +27 -27
- data/samples/controls/icons/list.xpm +27 -27
- data/samples/controls/icons/radio.xpm +27 -27
- data/samples/controls/icons/stattext.xpm +24 -24
- data/samples/controls/icons/text.xpm +27 -27
- data/samples/controls/mondrian.xpm +44 -44
- data/samples/dialogs/dialogs.rb +724 -724
- data/samples/dialogs/tips.txt +18 -18
- data/samples/drawing/graphics_drawing.rb +232 -0
- data/samples/{images → drawing}/images.rb +48 -48
- data/samples/{images → drawing}/paperclip.png +0 -0
- data/samples/etc/activation.rb +108 -108
- data/samples/etc/choice.rb +72 -72
- data/samples/etc/miniframe.rb +84 -84
- data/samples/etc/sash.rb +135 -135
- data/samples/etc/scrollwin.rb +116 -116
- data/samples/etc/system_settings.rb +258 -258
- data/samples/etc/wizard.rb +79 -79
- data/samples/grid/grid.rb +1 -0
- data/samples/listbook/listbook.rb +181 -181
- data/samples/listbook/listbook.xrc +370 -370
- data/samples/mdi/mdi.rb +87 -87
- data/samples/media/mediactrl.rb +173 -0
- data/samples/minimal/minimal.rb +85 -85
- data/samples/minimal/nothing.rb +21 -21
- data/samples/opengl/cube.rb +123 -0
- data/samples/sockets/SocketPackets.rb +27 -0
- data/samples/sockets/res/message-new.png +0 -0
- data/samples/sockets/res/user.png +0 -0
- data/samples/sockets/wxClient.rb +395 -0
- data/samples/sockets/wxServer.rb +422 -0
- data/samples/sockets/wxSocketGUI.rb +97 -0
- data/samples/text/textctrl.rb +124 -124
- data/samples/text/unicode.rb +238 -238
- data/samples/text/utf8.txt +14 -14
- data/samples/treectrl/treectrl.rb +1180 -1181
- data/samples/xrc/samples.xrc +46 -46
- data/samples/xrc/xrc_sample.rb +107 -107
- metadata +26 -9
- data/samples/images/Thumbs.db +0 -0
@@ -1,138 +1,138 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'wx'
|
5
|
-
rescue LoadError => no_wx_err
|
6
|
-
begin
|
7
|
-
require 'rubygems'
|
8
|
-
require 'wx'
|
9
|
-
rescue LoadError
|
10
|
-
raise no_wx_err
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
# added this class so that the panel in each NB tab can respond to size events and properly size each nb page - otherwise
|
15
|
-
# NB pages that contain the colored windows won't properly size themseleves
|
16
|
-
|
17
|
-
class NBPanel < Wx::Panel
|
18
|
-
attr_accessor :win
|
19
|
-
def initialize(parent)
|
20
|
-
super(parent, -1)
|
21
|
-
evt_size {|event| on_size(event)}
|
22
|
-
@win
|
23
|
-
end
|
24
|
-
|
25
|
-
def on_size(event)
|
26
|
-
win.set_size(event.get_size())
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
class TestNB < Wx::Notebook
|
31
|
-
def demo_file(base_name)
|
32
|
-
File.join( File.dirname(__FILE__), base_name )
|
33
|
-
end
|
34
|
-
|
35
|
-
def initialize(parent, id, log)
|
36
|
-
super(parent, id, Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::NB_BOTTOM)
|
37
|
-
@log = log
|
38
|
-
File
|
39
|
-
load demo_file("ColorPanel.rbw")
|
40
|
-
load demo_file("wxScrolledWindow.rbw")
|
41
|
-
load demo_file("GridSimple.rbw")
|
42
|
-
#load "wxListCtrl.rbw"
|
43
|
-
|
44
|
-
# Show how to put an image on one of the notebook tabs,
|
45
|
-
# first make the image list:
|
46
|
-
il = Wx::ImageList.new(16,16)
|
47
|
-
ic_file = File.join(File.dirname(__FILE__),'icons','wxwin16x16.xpm')
|
48
|
-
il.add_icon( Wx::Icon.new(ic_file) )
|
49
|
-
|
50
|
-
set_image_list(il)
|
51
|
-
|
52
|
-
win = make_color_panel(Wx::BLUE)
|
53
|
-
add_page(win, "Blue", true, 0)
|
54
|
-
st = Wx::StaticText.new(win, -1, "You can put nearly any type of window here,\n" +
|
55
|
-
"and if the platform supports it then the\n" +
|
56
|
-
"tabs can be on any side of the notebook.", Wx::Point.new(10,10))
|
57
|
-
st.set_foreground_colour(Wx::WHITE)
|
58
|
-
st.set_background_colour(Wx::BLUE)
|
59
|
-
|
60
|
-
win = make_color_panel(Wx::RED)
|
61
|
-
add_page(win, "Red")
|
62
|
-
|
63
|
-
win = MyCanvas.new(self)
|
64
|
-
add_page(win, "ScrolledWindow")
|
65
|
-
|
66
|
-
win = make_color_panel(Wx::GREEN)
|
67
|
-
add_page(win, "Green")
|
68
|
-
|
69
|
-
win = SimpleGrid.new(self, log)
|
70
|
-
add_page(win, "Grid")
|
71
|
-
|
72
|
-
#win = TestListCtrlPanel(self, log)
|
73
|
-
#add_page(win, "List")
|
74
|
-
|
75
|
-
win = make_color_panel(Wx::CYAN)
|
76
|
-
add_page(win, "Cyan")
|
77
|
-
|
78
|
-
win = make_color_panel(Wx::LIGHT_GREY)
|
79
|
-
add_page(win, "Light Grey")
|
80
|
-
|
81
|
-
win = make_color_panel(Wx::BLACK)
|
82
|
-
add_page(win, "Black")
|
83
|
-
|
84
|
-
win = make_color_panel(Wx::Colour.new("MEDIUM ORCHID"))
|
85
|
-
add_page(win, "MEDIUM ORCHID")
|
86
|
-
|
87
|
-
win = make_color_panel(Wx::Colour.new("MIDNIGHT BLUE"))
|
88
|
-
add_page(win, "MIDNIGHT BLUE")
|
89
|
-
|
90
|
-
win = make_color_panel(Wx::Colour.new("INDIAN RED"))
|
91
|
-
add_page(win, "INDIAN RED")
|
92
|
-
|
93
|
-
|
94
|
-
evt_notebook_page_changed(self.get_id()) {|event| on_page_changed(event)}
|
95
|
-
evt_notebook_page_changing(self.get_id()) {|event| on_page_changing(event)}
|
96
|
-
end
|
97
|
-
|
98
|
-
def make_color_panel(color)
|
99
|
-
p = NBPanel.new(self)
|
100
|
-
win = ColoredPanel.new(p, color)
|
101
|
-
p.win = win
|
102
|
-
return p
|
103
|
-
end
|
104
|
-
|
105
|
-
def on_page_changed(event)
|
106
|
-
old = event.get_old_selection()
|
107
|
-
new = event.get_selection()
|
108
|
-
sel = get_selection()
|
109
|
-
@log.write_text("on_page_changed, old:" + old.to_s() + ", new:" + new.to_s() + ", sel:" + sel.to_s())
|
110
|
-
event.skip()
|
111
|
-
end
|
112
|
-
|
113
|
-
def on_page_changing(event)
|
114
|
-
old = event.get_old_selection()
|
115
|
-
new = event.get_selection()
|
116
|
-
sel = get_selection()
|
117
|
-
@log.write_text("on_page_changing, old:" + old.to_s() + ", new:" + new.to_s() + ", sel:" + sel.to_s())
|
118
|
-
event.skip()
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
module Demo
|
123
|
-
def Demo.run(frame, nb, log)
|
124
|
-
win = TestNB.new(nb, -1, log)
|
125
|
-
return win
|
126
|
-
end
|
127
|
-
|
128
|
-
def Demo.overview
|
129
|
-
return "This class represents a notebook control, which manages multiple windows with associated tabs. To use the class, create a wxNotebook object and call AddPage or InsertPage, passing a window to be used as the page. Do not explicitly delete the window for a page that is currently managed by wxNotebook."
|
130
|
-
end
|
131
|
-
end
|
132
|
-
|
133
|
-
|
134
|
-
if __FILE__ == $0
|
135
|
-
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
136
|
-
load run_solo_lib
|
137
|
-
run File.basename($0)
|
138
|
-
end
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'wx'
|
5
|
+
rescue LoadError => no_wx_err
|
6
|
+
begin
|
7
|
+
require 'rubygems'
|
8
|
+
require 'wx'
|
9
|
+
rescue LoadError
|
10
|
+
raise no_wx_err
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
# added this class so that the panel in each NB tab can respond to size events and properly size each nb page - otherwise
|
15
|
+
# NB pages that contain the colored windows won't properly size themseleves
|
16
|
+
|
17
|
+
class NBPanel < Wx::Panel
|
18
|
+
attr_accessor :win
|
19
|
+
def initialize(parent)
|
20
|
+
super(parent, -1)
|
21
|
+
evt_size {|event| on_size(event)}
|
22
|
+
@win
|
23
|
+
end
|
24
|
+
|
25
|
+
def on_size(event)
|
26
|
+
win.set_size(event.get_size())
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class TestNB < Wx::Notebook
|
31
|
+
def demo_file(base_name)
|
32
|
+
File.join( File.dirname(__FILE__), base_name )
|
33
|
+
end
|
34
|
+
|
35
|
+
def initialize(parent, id, log)
|
36
|
+
super(parent, id, Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::NB_BOTTOM)
|
37
|
+
@log = log
|
38
|
+
File
|
39
|
+
load demo_file("ColorPanel.rbw")
|
40
|
+
load demo_file("wxScrolledWindow.rbw")
|
41
|
+
load demo_file("GridSimple.rbw")
|
42
|
+
#load "wxListCtrl.rbw"
|
43
|
+
|
44
|
+
# Show how to put an image on one of the notebook tabs,
|
45
|
+
# first make the image list:
|
46
|
+
il = Wx::ImageList.new(16,16)
|
47
|
+
ic_file = File.join(File.dirname(__FILE__),'icons','wxwin16x16.xpm')
|
48
|
+
il.add_icon( Wx::Icon.new(ic_file) )
|
49
|
+
|
50
|
+
set_image_list(il)
|
51
|
+
|
52
|
+
win = make_color_panel(Wx::BLUE)
|
53
|
+
add_page(win, "Blue", true, 0)
|
54
|
+
st = Wx::StaticText.new(win, -1, "You can put nearly any type of window here,\n" +
|
55
|
+
"and if the platform supports it then the\n" +
|
56
|
+
"tabs can be on any side of the notebook.", Wx::Point.new(10,10))
|
57
|
+
st.set_foreground_colour(Wx::WHITE)
|
58
|
+
st.set_background_colour(Wx::BLUE)
|
59
|
+
|
60
|
+
win = make_color_panel(Wx::RED)
|
61
|
+
add_page(win, "Red")
|
62
|
+
|
63
|
+
win = MyCanvas.new(self)
|
64
|
+
add_page(win, "ScrolledWindow")
|
65
|
+
|
66
|
+
win = make_color_panel(Wx::GREEN)
|
67
|
+
add_page(win, "Green")
|
68
|
+
|
69
|
+
win = SimpleGrid.new(self, log)
|
70
|
+
add_page(win, "Grid")
|
71
|
+
|
72
|
+
#win = TestListCtrlPanel(self, log)
|
73
|
+
#add_page(win, "List")
|
74
|
+
|
75
|
+
win = make_color_panel(Wx::CYAN)
|
76
|
+
add_page(win, "Cyan")
|
77
|
+
|
78
|
+
win = make_color_panel(Wx::LIGHT_GREY)
|
79
|
+
add_page(win, "Light Grey")
|
80
|
+
|
81
|
+
win = make_color_panel(Wx::BLACK)
|
82
|
+
add_page(win, "Black")
|
83
|
+
|
84
|
+
win = make_color_panel(Wx::Colour.new("MEDIUM ORCHID"))
|
85
|
+
add_page(win, "MEDIUM ORCHID")
|
86
|
+
|
87
|
+
win = make_color_panel(Wx::Colour.new("MIDNIGHT BLUE"))
|
88
|
+
add_page(win, "MIDNIGHT BLUE")
|
89
|
+
|
90
|
+
win = make_color_panel(Wx::Colour.new("INDIAN RED"))
|
91
|
+
add_page(win, "INDIAN RED")
|
92
|
+
|
93
|
+
|
94
|
+
evt_notebook_page_changed(self.get_id()) {|event| on_page_changed(event)}
|
95
|
+
evt_notebook_page_changing(self.get_id()) {|event| on_page_changing(event)}
|
96
|
+
end
|
97
|
+
|
98
|
+
def make_color_panel(color)
|
99
|
+
p = NBPanel.new(self)
|
100
|
+
win = ColoredPanel.new(p, color)
|
101
|
+
p.win = win
|
102
|
+
return p
|
103
|
+
end
|
104
|
+
|
105
|
+
def on_page_changed(event)
|
106
|
+
old = event.get_old_selection()
|
107
|
+
new = event.get_selection()
|
108
|
+
sel = get_selection()
|
109
|
+
@log.write_text("on_page_changed, old:" + old.to_s() + ", new:" + new.to_s() + ", sel:" + sel.to_s())
|
110
|
+
event.skip()
|
111
|
+
end
|
112
|
+
|
113
|
+
def on_page_changing(event)
|
114
|
+
old = event.get_old_selection()
|
115
|
+
new = event.get_selection()
|
116
|
+
sel = get_selection()
|
117
|
+
@log.write_text("on_page_changing, old:" + old.to_s() + ", new:" + new.to_s() + ", sel:" + sel.to_s())
|
118
|
+
event.skip()
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
module Demo
|
123
|
+
def Demo.run(frame, nb, log)
|
124
|
+
win = TestNB.new(nb, -1, log)
|
125
|
+
return win
|
126
|
+
end
|
127
|
+
|
128
|
+
def Demo.overview
|
129
|
+
return "This class represents a notebook control, which manages multiple windows with associated tabs. To use the class, create a wxNotebook object and call AddPage or InsertPage, passing a window to be used as the page. Do not explicitly delete the window for a page that is currently managed by wxNotebook."
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
|
134
|
+
if __FILE__ == $0
|
135
|
+
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
136
|
+
load run_solo_lib
|
137
|
+
run File.basename($0)
|
138
|
+
end
|
@@ -1,45 +1,45 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'wx'
|
5
|
-
rescue LoadError => no_wx_err
|
6
|
-
begin
|
7
|
-
require 'rubygems'
|
8
|
-
require 'wx'
|
9
|
-
rescue LoadError
|
10
|
-
raise no_wx_err
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
module Demo
|
15
|
-
def Demo.run(frame, nb, log)
|
16
|
-
max = 20
|
17
|
-
dlg = Wx::ProgressDialog.new("Progress dialog example", "An informative message", max, frame,
|
18
|
-
Wx::PD_CAN_ABORT | Wx::PD_APP_MODAL)
|
19
|
-
|
20
|
-
keepGoing = true
|
21
|
-
count = 0
|
22
|
-
while keepGoing and count < max
|
23
|
-
count += 1
|
24
|
-
sleep(1)
|
25
|
-
|
26
|
-
if count == max / 2
|
27
|
-
keepGoing = dlg.update(count, "Half-time!")
|
28
|
-
else
|
29
|
-
keepGoing = dlg.update(count)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
dlg.destroy()
|
33
|
-
return nil
|
34
|
-
end
|
35
|
-
|
36
|
-
def Demo.overview
|
37
|
-
return "A dialog that shows the progress of an operation"
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
if __FILE__ == $0
|
42
|
-
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
43
|
-
load run_solo_lib
|
44
|
-
run File.basename($0)
|
45
|
-
end
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'wx'
|
5
|
+
rescue LoadError => no_wx_err
|
6
|
+
begin
|
7
|
+
require 'rubygems'
|
8
|
+
require 'wx'
|
9
|
+
rescue LoadError
|
10
|
+
raise no_wx_err
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
module Demo
|
15
|
+
def Demo.run(frame, nb, log)
|
16
|
+
max = 20
|
17
|
+
dlg = Wx::ProgressDialog.new("Progress dialog example", "An informative message", max, frame,
|
18
|
+
Wx::PD_CAN_ABORT | Wx::PD_APP_MODAL)
|
19
|
+
|
20
|
+
keepGoing = true
|
21
|
+
count = 0
|
22
|
+
while keepGoing and count < max
|
23
|
+
count += 1
|
24
|
+
sleep(1)
|
25
|
+
|
26
|
+
if count == max / 2
|
27
|
+
keepGoing = dlg.update(count, "Half-time!")
|
28
|
+
else
|
29
|
+
keepGoing = dlg.update(count)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
dlg.destroy()
|
33
|
+
return nil
|
34
|
+
end
|
35
|
+
|
36
|
+
def Demo.overview
|
37
|
+
return "A dialog that shows the progress of an operation"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
if __FILE__ == $0
|
42
|
+
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
43
|
+
load run_solo_lib
|
44
|
+
run File.basename($0)
|
45
|
+
end
|
@@ -1,74 +1,74 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'wx'
|
5
|
-
rescue LoadError => no_wx_err
|
6
|
-
begin
|
7
|
-
require 'rubygems'
|
8
|
-
require 'wx'
|
9
|
-
rescue LoadError
|
10
|
-
raise no_wx_err
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
$RBUT1 = 5000
|
15
|
-
$RBUT2 = 5001
|
16
|
-
$RBUT3 = 5002
|
17
|
-
$RBUT4 = 5003
|
18
|
-
|
19
|
-
$RBOX1 = 5004
|
20
|
-
$RBOX2 = 5005
|
21
|
-
|
22
|
-
class TestRadioButtons < Wx::Panel
|
23
|
-
def initialize(parent, log)
|
24
|
-
@log = log
|
25
|
-
super(parent, -1)
|
26
|
-
|
27
|
-
sampleList = %w(zero one two three four five six seven eight)
|
28
|
-
|
29
|
-
sizer = Wx::BoxSizer.new(Wx::VERTICAL)
|
30
|
-
# Here is a strange thing - when I originally created this demo, I used the WxRuby constant Wx::DEFAULT_SIZE in the two
|
31
|
-
# radiobox constructors (on Windows XP Prof). When I did this, the "box" around the radio buttons would resize in a
|
32
|
-
# groesque fashion (either when I clicked on another demo first, or on the second time that I ran the demo. But when I
|
33
|
-
# used Wx::Size.new(-1,-1), this behavior disappeared. If anyone figures this out, please post it to the list :)
|
34
|
-
rb = Wx::RadioBox.new(self, $RBOX1, "Wx::RadioBox", Wx::DEFAULT_POSITION, Wx::Size.new(-1,-1), sampleList, 2, Wx::RA_SPECIFY_COLS)
|
35
|
-
evt_radiobox($RBOX1) {|event| on_evt_radiobox(event)}
|
36
|
-
rb.set_tool_tip(Wx::ToolTip.new("This is a tooltip!"))
|
37
|
-
sizer.add(rb, 0, Wx::ALL, 20)
|
38
|
-
|
39
|
-
rb = Wx::RadioBox.new(self, $RBOX2, "", Wx::DEFAULT_POSITION, Wx::Size.new(-1,-1), sampleList, 3, Wx::RA_SPECIFY_COLS | Wx::NO_BORDER)
|
40
|
-
evt_radiobox($RBOX2) {|event| on_evt_radiobox(event)}
|
41
|
-
rb.set_tool_tip(Wx::ToolTip.new("This box has no label"))
|
42
|
-
sizer.add(rb, 0, Wx::ALL, 20)
|
43
|
-
|
44
|
-
set_sizer(sizer)
|
45
|
-
sizer.fit(self)
|
46
|
-
sizer.layout()
|
47
|
-
end
|
48
|
-
|
49
|
-
def on_evt_radiobox(event)
|
50
|
-
@log.write_text("evt_radiobox: " + event.get_int().to_s())
|
51
|
-
end
|
52
|
-
|
53
|
-
def on_evt_radio_button(event)
|
54
|
-
@log.write_text("evt_radiobutton: " + event.get_id().to_s())
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
module Demo
|
59
|
-
def Demo.run(frame,nb,log)
|
60
|
-
win = TestRadioButtons.new(nb, log)
|
61
|
-
return win
|
62
|
-
end
|
63
|
-
|
64
|
-
def Demo.overview
|
65
|
-
"A radio box item is used to select one of number of mutually exclusive choices. It is displayed as a vertical column or horizontal row of labelled buttons."
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
|
70
|
-
if __FILE__ == $0
|
71
|
-
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
72
|
-
load run_solo_lib
|
73
|
-
run File.basename($0)
|
74
|
-
end
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'wx'
|
5
|
+
rescue LoadError => no_wx_err
|
6
|
+
begin
|
7
|
+
require 'rubygems'
|
8
|
+
require 'wx'
|
9
|
+
rescue LoadError
|
10
|
+
raise no_wx_err
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
$RBUT1 = 5000
|
15
|
+
$RBUT2 = 5001
|
16
|
+
$RBUT3 = 5002
|
17
|
+
$RBUT4 = 5003
|
18
|
+
|
19
|
+
$RBOX1 = 5004
|
20
|
+
$RBOX2 = 5005
|
21
|
+
|
22
|
+
class TestRadioButtons < Wx::Panel
|
23
|
+
def initialize(parent, log)
|
24
|
+
@log = log
|
25
|
+
super(parent, -1)
|
26
|
+
|
27
|
+
sampleList = %w(zero one two three four five six seven eight)
|
28
|
+
|
29
|
+
sizer = Wx::BoxSizer.new(Wx::VERTICAL)
|
30
|
+
# Here is a strange thing - when I originally created this demo, I used the WxRuby constant Wx::DEFAULT_SIZE in the two
|
31
|
+
# radiobox constructors (on Windows XP Prof). When I did this, the "box" around the radio buttons would resize in a
|
32
|
+
# groesque fashion (either when I clicked on another demo first, or on the second time that I ran the demo. But when I
|
33
|
+
# used Wx::Size.new(-1,-1), this behavior disappeared. If anyone figures this out, please post it to the list :)
|
34
|
+
rb = Wx::RadioBox.new(self, $RBOX1, "Wx::RadioBox", Wx::DEFAULT_POSITION, Wx::Size.new(-1,-1), sampleList, 2, Wx::RA_SPECIFY_COLS)
|
35
|
+
evt_radiobox($RBOX1) {|event| on_evt_radiobox(event)}
|
36
|
+
rb.set_tool_tip(Wx::ToolTip.new("This is a tooltip!"))
|
37
|
+
sizer.add(rb, 0, Wx::ALL, 20)
|
38
|
+
|
39
|
+
rb = Wx::RadioBox.new(self, $RBOX2, "", Wx::DEFAULT_POSITION, Wx::Size.new(-1,-1), sampleList, 3, Wx::RA_SPECIFY_COLS | Wx::NO_BORDER)
|
40
|
+
evt_radiobox($RBOX2) {|event| on_evt_radiobox(event)}
|
41
|
+
rb.set_tool_tip(Wx::ToolTip.new("This box has no label"))
|
42
|
+
sizer.add(rb, 0, Wx::ALL, 20)
|
43
|
+
|
44
|
+
set_sizer(sizer)
|
45
|
+
sizer.fit(self)
|
46
|
+
sizer.layout()
|
47
|
+
end
|
48
|
+
|
49
|
+
def on_evt_radiobox(event)
|
50
|
+
@log.write_text("evt_radiobox: " + event.get_int().to_s())
|
51
|
+
end
|
52
|
+
|
53
|
+
def on_evt_radio_button(event)
|
54
|
+
@log.write_text("evt_radiobutton: " + event.get_id().to_s())
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
module Demo
|
59
|
+
def Demo.run(frame,nb,log)
|
60
|
+
win = TestRadioButtons.new(nb, log)
|
61
|
+
return win
|
62
|
+
end
|
63
|
+
|
64
|
+
def Demo.overview
|
65
|
+
"A radio box item is used to select one of number of mutually exclusive choices. It is displayed as a vertical column or horizontal row of labelled buttons."
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
|
70
|
+
if __FILE__ == $0
|
71
|
+
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
72
|
+
load run_solo_lib
|
73
|
+
run File.basename($0)
|
74
|
+
end
|