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.
Files changed (149) hide show
  1. data/LICENSE +53 -53
  2. data/README +299 -299
  3. data/lib/wx/classes/app.rb +6 -0
  4. data/lib/wx/classes/checklistbox.rb +45 -30
  5. data/lib/wx/classes/clipboard.rb +16 -0
  6. data/lib/wx/classes/event.rb +5 -0
  7. data/lib/wx/classes/evthandler.rb +20 -10
  8. data/lib/wx/classes/grid.rb +38 -39
  9. data/lib/wx/classes/listctrl.rb +12 -0
  10. data/lib/wx/classes/mediactrl.rb +22 -0
  11. data/lib/wx/classes/menu.rb +6 -6
  12. data/lib/wx/classes/sound.rb +23 -0
  13. data/lib/wx/classes/styledtextctrl.rb +2 -2
  14. data/lib/wx/classes/treectrl.rb +26 -0
  15. data/lib/wx/keyword_ctors.rb +19 -5
  16. data/lib/wx/keyword_defs.rb +20 -0
  17. data/lib/wx/version.rb +1 -1
  18. data/lib/wx.rb +42 -42
  19. data/lib/wxruby2.exp +0 -0
  20. data/lib/wxruby2.lib +0 -0
  21. data/lib/wxruby2.so +0 -0
  22. data/samples/SAMPLES-LICENSE.TXT +17 -17
  23. data/samples/aui/aui.rb +8 -1
  24. data/samples/bigdemo/About.rbw +39 -39
  25. data/samples/bigdemo/ColorPanel.rbw +25 -25
  26. data/samples/bigdemo/GridSimple.rbw +80 -80
  27. data/samples/bigdemo/MDIDemo.rbw +59 -59
  28. data/samples/bigdemo/PopupMenu.rbw +151 -151
  29. data/samples/bigdemo/Sizers.rbw +545 -545
  30. data/samples/bigdemo/bigdemo.rb +826 -826
  31. data/samples/bigdemo/demoTemplate.rbw +37 -37
  32. data/samples/bigdemo/icons/choice.xpm +27 -27
  33. data/samples/bigdemo/icons/combo.xpm +27 -27
  34. data/samples/bigdemo/icons/copy.xpm +25 -25
  35. data/samples/bigdemo/icons/cut.xpm +24 -24
  36. data/samples/bigdemo/icons/gauge.xpm +27 -27
  37. data/samples/bigdemo/icons/help.xpm +25 -25
  38. data/samples/bigdemo/icons/list.xpm +27 -27
  39. data/samples/bigdemo/icons/mondrian.xpm +44 -44
  40. data/samples/bigdemo/icons/new.xpm +24 -24
  41. data/samples/bigdemo/icons/ogl.ico +0 -0
  42. data/samples/bigdemo/icons/ogl.xpm +45 -45
  43. data/samples/bigdemo/icons/open.xpm +26 -26
  44. data/samples/bigdemo/icons/paste.xpm +38 -38
  45. data/samples/bigdemo/icons/preview.xpm +26 -26
  46. data/samples/bigdemo/icons/print.xpm +26 -26
  47. data/samples/bigdemo/icons/radio.xpm +27 -27
  48. data/samples/bigdemo/icons/robert.xpm +415 -415
  49. data/samples/bigdemo/icons/save.xpm +25 -25
  50. data/samples/bigdemo/icons/smiles.xpm +39 -39
  51. data/samples/bigdemo/icons/smiley.xpm +42 -42
  52. data/samples/bigdemo/icons/stattext.xpm +24 -24
  53. data/samples/bigdemo/icons/test2.bmp +0 -0
  54. data/samples/bigdemo/icons/test2.xpm +79 -79
  55. data/samples/bigdemo/icons/text.xpm +27 -27
  56. data/samples/bigdemo/icons/tog1.xpm +38 -38
  57. data/samples/bigdemo/icons/tog2.xpm +38 -38
  58. data/samples/bigdemo/icons/wxwin16x16.xpm +25 -25
  59. data/samples/bigdemo/tips.txt +7 -7
  60. data/samples/bigdemo/utils.rb +11 -11
  61. data/samples/bigdemo/wxButton.rbw +66 -66
  62. data/samples/bigdemo/wxCalendarCtrl.rbw +72 -72
  63. data/samples/bigdemo/wxCheckBox.rbw +52 -52
  64. data/samples/bigdemo/wxCheckListBox.rbw +77 -77
  65. data/samples/bigdemo/wxChoice.rbw +49 -49
  66. data/samples/bigdemo/wxColourDialog.rbw +34 -34
  67. data/samples/bigdemo/wxComboBox.rbw +79 -79
  68. data/samples/bigdemo/wxDialog.rbw +92 -92
  69. data/samples/bigdemo/wxDirDialog.rbw +32 -32
  70. data/samples/bigdemo/wxFileDialog.rbw +39 -39
  71. data/samples/bigdemo/wxFileDialog_Save.rbw +38 -38
  72. data/samples/bigdemo/wxFindReplaceDialog.rbw +85 -85
  73. data/samples/bigdemo/wxFontDialog.rbw +176 -176
  74. data/samples/bigdemo/wxFrame.rbw +55 -55
  75. data/samples/bigdemo/wxGauge.rbw +73 -73
  76. data/samples/bigdemo/wxGrid.rbw +68 -68
  77. data/samples/bigdemo/wxListBox.rbw +142 -142
  78. data/samples/bigdemo/wxListCtrl_virtual.rbw +109 -109
  79. data/samples/bigdemo/wxMDIWindows.rbw +52 -52
  80. data/samples/bigdemo/wxMenu.rbw +238 -238
  81. data/samples/bigdemo/wxMessageDialog.rbw +30 -30
  82. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +34 -34
  83. data/samples/bigdemo/wxNotebook.rbw +138 -138
  84. data/samples/bigdemo/wxProgressDialog.rbw +45 -45
  85. data/samples/bigdemo/wxRadioBox.rbw +74 -74
  86. data/samples/bigdemo/wxRadioButton.rbw +127 -127
  87. data/samples/bigdemo/wxSashWindow.rbw +94 -104
  88. data/samples/bigdemo/wxScrolledMessageDialog.rbw +59 -59
  89. data/samples/bigdemo/wxScrolledWindow.rbw +201 -201
  90. data/samples/bigdemo/wxSingleChoiceDialog.rbw +35 -35
  91. data/samples/bigdemo/wxSlider.rbw +44 -44
  92. data/samples/bigdemo/wxSpinButton.rbw +52 -52
  93. data/samples/bigdemo/wxSpinCtrl.rbw +53 -53
  94. data/samples/bigdemo/wxSplitterWindow.rbw +65 -65
  95. data/samples/bigdemo/wxStaticBitmap.rbw +53 -53
  96. data/samples/bigdemo/wxStaticText.rbw +57 -57
  97. data/samples/bigdemo/wxStatusBar.rbw +128 -128
  98. data/samples/bigdemo/wxTextCtrl.rbw +151 -151
  99. data/samples/bigdemo/wxTextEntryDialog.rbw +34 -34
  100. data/samples/bigdemo/wxToggleButton.rbw +51 -51
  101. data/samples/bigdemo/wxToolBar.rbw +133 -133
  102. data/samples/bigdemo/wxTreeCtrl.rbw +192 -192
  103. data/samples/calendar/calendar.rb +275 -275
  104. data/samples/caret/caret.rb +286 -286
  105. data/samples/caret/mondrian.xpm +44 -44
  106. data/samples/controls/controls.rb +1140 -1140
  107. data/samples/controls/get_item_sample.rb +87 -87
  108. data/samples/controls/icons/choice.xpm +27 -27
  109. data/samples/controls/icons/combo.xpm +27 -27
  110. data/samples/controls/icons/gauge.xpm +27 -27
  111. data/samples/controls/icons/list.xpm +27 -27
  112. data/samples/controls/icons/radio.xpm +27 -27
  113. data/samples/controls/icons/stattext.xpm +24 -24
  114. data/samples/controls/icons/text.xpm +27 -27
  115. data/samples/controls/mondrian.xpm +44 -44
  116. data/samples/dialogs/dialogs.rb +724 -724
  117. data/samples/dialogs/tips.txt +18 -18
  118. data/samples/drawing/graphics_drawing.rb +232 -0
  119. data/samples/{images → drawing}/images.rb +48 -48
  120. data/samples/{images → drawing}/paperclip.png +0 -0
  121. data/samples/etc/activation.rb +108 -108
  122. data/samples/etc/choice.rb +72 -72
  123. data/samples/etc/miniframe.rb +84 -84
  124. data/samples/etc/sash.rb +135 -135
  125. data/samples/etc/scrollwin.rb +116 -116
  126. data/samples/etc/system_settings.rb +258 -258
  127. data/samples/etc/wizard.rb +79 -79
  128. data/samples/grid/grid.rb +1 -0
  129. data/samples/listbook/listbook.rb +181 -181
  130. data/samples/listbook/listbook.xrc +370 -370
  131. data/samples/mdi/mdi.rb +87 -87
  132. data/samples/media/mediactrl.rb +173 -0
  133. data/samples/minimal/minimal.rb +85 -85
  134. data/samples/minimal/nothing.rb +21 -21
  135. data/samples/opengl/cube.rb +123 -0
  136. data/samples/sockets/SocketPackets.rb +27 -0
  137. data/samples/sockets/res/message-new.png +0 -0
  138. data/samples/sockets/res/user.png +0 -0
  139. data/samples/sockets/wxClient.rb +395 -0
  140. data/samples/sockets/wxServer.rb +422 -0
  141. data/samples/sockets/wxSocketGUI.rb +97 -0
  142. data/samples/text/textctrl.rb +124 -124
  143. data/samples/text/unicode.rb +238 -238
  144. data/samples/text/utf8.txt +14 -14
  145. data/samples/treectrl/treectrl.rb +1180 -1181
  146. data/samples/xrc/samples.xrc +46 -46
  147. data/samples/xrc/xrc_sample.rb +107 -107
  148. metadata +26 -9
  149. 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