wxruby3 0.9.2 → 0.9.3

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 (347) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +35 -29
  3. data/README.md +24 -15
  4. data/ext/wxruby3/include/wxruby-ClientData.h +48 -0
  5. data/ext/wxruby3/include/wxruby-Validator.h +39 -0
  6. data/ext/wxruby3/include/wxruby-ValidatorBinding.h +64 -0
  7. data/ext/wxruby3/swig/custom/director.swg +8 -0
  8. data/ext/wxruby3/swig/mark_free_impl.i +0 -33
  9. data/lib/wx/core/bitmap_combobox.rb +17 -21
  10. data/lib/wx/core/combobox.rb +13 -3
  11. data/lib/wx/core/controlwithitems.rb +40 -130
  12. data/lib/wx/core/enum.rb +17 -1
  13. data/lib/wx/core/event.rb +6 -1
  14. data/lib/wx/core/evthandler.rb +8 -2
  15. data/lib/wx/core/generic_validator.rb +312 -0
  16. data/lib/wx/core/listbox.rb +2 -2
  17. data/lib/wx/core/log.rb +1 -1
  18. data/lib/wx/core/owner_drawn_combobox.rb +45 -0
  19. data/lib/wx/core/size.rb +4 -0
  20. data/lib/wx/core/sizer.rb +1 -2
  21. data/lib/wx/core/standard_paths.rb +22 -0
  22. data/lib/wx/core/text_entry.rb +4 -1
  23. data/lib/wx/core/validator.rb +70 -5
  24. data/lib/wx/core/window.rb +3 -7
  25. data/lib/wx/doc/art_locator.rb +1 -0
  26. data/lib/wx/doc/comboctrl.rb +18 -0
  27. data/lib/wx/doc/controlwithitems.rb +16 -0
  28. data/lib/wx/doc/date_picker_ctrl.rb +23 -0
  29. data/lib/wx/doc/editable_listbox.rb +44 -0
  30. data/lib/wx/doc/enum.rb +15 -0
  31. data/lib/wx/doc/event.rb +12 -0
  32. data/lib/wx/doc/extra/12_client_data.md +89 -0
  33. data/lib/wx/doc/extra/13_validators.md +139 -0
  34. data/lib/wx/doc/gdi_common.rb +4 -0
  35. data/lib/wx/doc/generic_validator.rb +95 -0
  36. data/lib/wx/doc/html/simple_html_listbox.rb +22 -0
  37. data/lib/wx/doc/num_validator.rb +387 -0
  38. data/lib/wx/doc/owner_drawn_combobox.rb +96 -0
  39. data/lib/wx/doc/pg/numeric_property_validator.rb +33 -0
  40. data/lib/wx/doc/static_bitmap.rb +25 -0
  41. data/lib/wx/doc/text_validator.rb +10 -0
  42. data/lib/wx/doc/validator.rb +113 -0
  43. data/lib/wx/doc/window.rb +30 -0
  44. data/lib/wx/html/simple_html_listbox.rb +24 -91
  45. data/lib/wx/keyword_defs.rb +34 -2
  46. data/lib/wx/rbn/ribbon_gallery.rb +0 -21
  47. data/lib/wx/version.rb +1 -1
  48. data/rakelib/lib/config/mingw.rb +12 -0
  49. data/rakelib/lib/core/include/client_data.inc +65 -0
  50. data/rakelib/lib/core/include/funcall.inc +1 -1
  51. data/rakelib/lib/core/package.rb +17 -2
  52. data/rakelib/lib/core/parameter.rb +1 -1
  53. data/rakelib/lib/core/spec_helper.rb +7 -1
  54. data/rakelib/lib/director/app.rb +18 -0
  55. data/rakelib/lib/director/app_traits.rb +3 -1
  56. data/rakelib/lib/director/bitmap_combobox.rb +2 -2
  57. data/rakelib/lib/director/combobox.rb +22 -0
  58. data/rakelib/lib/director/comboctrl.rb +1 -55
  59. data/rakelib/lib/director/ctrl_with_items.rb +88 -21
  60. data/rakelib/lib/director/date_picker_ctrl.rb +8 -6
  61. data/rakelib/lib/director/editable_listbox.rb +30 -0
  62. data/rakelib/lib/director/event.rb +102 -12
  63. data/rakelib/lib/director/event_handler.rb +3 -2
  64. data/rakelib/lib/director/functions.rb +4 -2
  65. data/rakelib/lib/director/generic_dirctrl.rb +17 -0
  66. data/rakelib/lib/director/grid_cell_attr.rb +0 -2
  67. data/rakelib/lib/director/grid_cell_editor.rb +0 -2
  68. data/rakelib/lib/director/grid_cell_renderer.rb +0 -2
  69. data/rakelib/lib/director/header_ctrl.rb +6 -1
  70. data/rakelib/lib/director/html_listbox.rb +96 -22
  71. data/rakelib/lib/director/num_validator.rb +495 -0
  72. data/rakelib/lib/director/numeric_property_validator.rb +131 -6
  73. data/rakelib/lib/director/owner_drawn_combobox.rb +192 -0
  74. data/rakelib/lib/director/pgproperty.rb +3 -29
  75. data/rakelib/lib/director/ribbon_button_bar.rb +3 -3
  76. data/rakelib/lib/director/ribbon_gallery.rb +3 -5
  77. data/rakelib/lib/director/sizer.rb +15 -4
  78. data/rakelib/lib/director/sizer_item.rb +13 -0
  79. data/rakelib/lib/director/static_bitmap.rb +28 -0
  80. data/rakelib/lib/director/text_entry.rb +4 -0
  81. data/rakelib/lib/director/text_validator.rb +124 -13
  82. data/rakelib/lib/director/toggle_button.rb +1 -0
  83. data/rakelib/lib/director/top_level_window.rb +0 -2
  84. data/rakelib/lib/director/tree_ctrl.rb +35 -0
  85. data/rakelib/lib/director/utils.rb +16 -2
  86. data/rakelib/lib/director/validator.rb +196 -21
  87. data/rakelib/lib/director/window.rb +16 -2
  88. data/rakelib/lib/extractor/function.rb +2 -1
  89. data/rakelib/lib/generate/analyzer.rb +1 -1
  90. data/rakelib/lib/generate/doc.rb +10 -4
  91. data/rakelib/lib/specs/interfaces.rb +2 -0
  92. data/rakelib/lib/swig_runner.rb +55 -9
  93. data/rakelib/lib/typemap/client_data.rb +67 -0
  94. data/rakelib/lib/typemap/common.rb +3 -3
  95. data/rakelib/lib/typemap/datetime.rb +1 -1
  96. data/rakelib/lib/typemap/tree_itemid.rb +2 -2
  97. data/samples/aui/aui.rb +1237 -1233
  98. data/samples/calendar/calendar.rb +293 -289
  99. data/samples/controls/get_item_sample.rb +83 -79
  100. data/samples/controls/htlbox.rb +331 -327
  101. data/samples/dialogs/dialogs.rb +682 -694
  102. data/samples/dialogs/wizard.rb +52 -55
  103. data/samples/dragdrop/dragdrop.rb +146 -142
  104. data/samples/drawing/bitmap.rb +29 -26
  105. data/samples/drawing/bitmap_image.rb +84 -80
  106. data/samples/drawing/graphics_drawing.rb +209 -205
  107. data/samples/drawing/image_prt.rb +344 -340
  108. data/samples/drawing/maths_images.rb +18 -1
  109. data/samples/drawing/rmagic_bitmap_image.rb +88 -84
  110. data/samples/etc/caret.rb +306 -0
  111. data/samples/etc/miniframe.rb +65 -60
  112. data/samples/etc/sash.rb +109 -105
  113. data/samples/etc/scrollwin.rb +86 -80
  114. data/samples/etc/system_settings.rb +216 -209
  115. data/samples/event/activation.rb +72 -67
  116. data/samples/event/event.rb +160 -153
  117. data/samples/event/threaded.rb +8 -1
  118. data/samples/event/update_ui_event.rb +67 -60
  119. data/samples/grid/grid.rb +188 -181
  120. data/samples/grid/gridtablebase.rb +136 -129
  121. data/samples/html/html.rb +208 -204
  122. data/samples/mdi/mdi.rb +59 -54
  123. data/samples/minimal/minimal.rb +54 -51
  124. data/samples/minimal/nothing.rb +1 -0
  125. data/samples/printing/printing.rb +367 -377
  126. data/samples/printing/printing2.rb +203 -198
  127. data/samples/propgrid/propgrid.rb +2312 -2308
  128. data/samples/propgrid/propgrid_minimal.rb +57 -50
  129. data/samples/ribbon/ribbon.rb +780 -774
  130. data/samples/sampler/ext.rb +0 -33
  131. data/samples/sampler/sample.rb +4 -9
  132. data/samples/sampler.rb +1 -1
  133. data/samples/splash/splash.rb +118 -116
  134. data/samples/text/rich_textctrl.rb +207 -201
  135. data/samples/text/richtext.rb +1409 -1405
  136. data/samples/text/scintilla.rb +137 -128
  137. data/samples/text/textctrl.rb +89 -83
  138. data/samples/text/unicode.rb +175 -168
  139. data/samples/treectrl/treectrl.rb +1430 -1426
  140. data/samples/widgets/activityindicator.rb +95 -0
  141. data/samples/widgets/art/widgets/activityindicator.xpm +278 -0
  142. data/samples/widgets/art/widgets/bmpbtn.xpm +37 -0
  143. data/samples/widgets/art/widgets/bmpcombobox.xpm +54 -0
  144. data/samples/widgets/art/widgets/button.xpm +54 -0
  145. data/samples/widgets/art/widgets/checkbox.xpm +54 -0
  146. data/samples/{bigdemo/icons → widgets/art/widgets}/choice.xpm +1 -1
  147. data/samples/widgets/art/widgets/choicebk.xpm +54 -0
  148. data/samples/widgets/art/widgets/clrpicker.xpm +193 -0
  149. data/samples/widgets/art/widgets/combobox.xpm +54 -0
  150. data/samples/widgets/art/widgets/datepick.xpm +200 -0
  151. data/samples/widgets/art/widgets/dirctrl.xpm +54 -0
  152. data/samples/widgets/art/widgets/dirpicker.xpm +213 -0
  153. data/samples/widgets/art/widgets/filepicker.xpm +214 -0
  154. data/samples/widgets/art/widgets/fontpicker.xpm +185 -0
  155. data/samples/widgets/art/widgets/gauge.xpm +54 -0
  156. data/samples/widgets/art/widgets/header.xpm +54 -0
  157. data/samples/widgets/art/widgets/hyperlnk.xpm +54 -0
  158. data/samples/widgets/art/widgets/listbook.xpm +54 -0
  159. data/samples/widgets/art/widgets/listbox.xpm +54 -0
  160. data/samples/widgets/art/widgets/native.xpm +81 -0
  161. data/samples/widgets/art/widgets/notebook.xpm +54 -0
  162. data/samples/widgets/art/widgets/odcombobox.xpm +54 -0
  163. data/samples/widgets/art/widgets/radiobox.xpm +54 -0
  164. data/samples/widgets/art/widgets/scrolbar.xpm +54 -0
  165. data/samples/widgets/art/widgets/slider.xpm +54 -0
  166. data/samples/widgets/art/widgets/spinbtn.xpm +40 -0
  167. data/samples/widgets/art/widgets/statbmp.xpm +40 -0
  168. data/samples/widgets/art/widgets/statbox.xpm +54 -0
  169. data/samples/widgets/art/widgets/stattext.xpm +54 -0
  170. data/samples/widgets/art/widgets/text.xpm +54 -0
  171. data/samples/widgets/art/widgets/timepick.xpm +207 -0
  172. data/samples/widgets/art/widgets/toggle.xpm +54 -0
  173. data/samples/widgets/art/widgets/toucan.png +0 -0
  174. data/samples/widgets/bmpcombobox.rb +651 -0
  175. data/samples/widgets/button.rb +462 -0
  176. data/samples/widgets/checkbox.rb +211 -0
  177. data/samples/widgets/choice.rb +287 -0
  178. data/samples/widgets/clrpicker.rb +156 -0
  179. data/samples/widgets/combobox.rb +516 -0
  180. data/samples/widgets/datepick.rb +215 -0
  181. data/samples/widgets/dirctrl.rb +265 -0
  182. data/samples/widgets/dirpicker.rb +158 -0
  183. data/samples/widgets/editlbox.rb +122 -0
  184. data/samples/widgets/filectrl.rb +216 -0
  185. data/samples/widgets/filepicker.rb +214 -0
  186. data/samples/widgets/fontpicker.rb +135 -0
  187. data/samples/widgets/gauge.rb +311 -0
  188. data/samples/widgets/headerctrl.rb +236 -0
  189. data/samples/widgets/hyperlink.rb +203 -0
  190. data/samples/widgets/itemcontainer.rb +185 -0
  191. data/samples/widgets/listbox.rb +473 -0
  192. data/samples/widgets/notebook.rb +488 -0
  193. data/samples/widgets/odcombobox.rb +608 -0
  194. data/samples/widgets/radiobox.rb +328 -0
  195. data/samples/widgets/searchctrl.rb +159 -0
  196. data/samples/widgets/slider.rb +594 -0
  197. data/samples/widgets/spinbtn.rb +443 -0
  198. data/samples/widgets/statbmp.rb +130 -0
  199. data/samples/widgets/static.rb +436 -0
  200. data/samples/widgets/textctrl.rb +700 -0
  201. data/samples/widgets/timepick.rb +148 -0
  202. data/samples/widgets/tn_widgets.png +0 -0
  203. data/samples/widgets/toggle.rb +385 -0
  204. data/samples/widgets/widgets.rb +1233 -0
  205. data/samples/xrc/custom_xrc_sample.rb +47 -41
  206. data/samples/xrc/xrc_sample.rb +53 -47
  207. data/tests/test_event_handling.rb +52 -34
  208. data/tests/test_events.rb +7 -0
  209. data/tests/test_item_data.rb +24 -0
  210. data/tests/test_sizer.rb +44 -1
  211. data/tests/test_validators.rb +805 -0
  212. metadata +92 -138
  213. data/lib/wx/core/choice.rb +0 -14
  214. data/lib/wx/core/combo_ctrl.rb +0 -110
  215. data/rakelib/lib/typemap/grid_client_data.rb +0 -58
  216. data/samples/bigdemo/About.rbw +0 -39
  217. data/samples/bigdemo/ColorPanel.rbw +0 -23
  218. data/samples/bigdemo/GridSimple.rbw +0 -78
  219. data/samples/bigdemo/MDIDemo.rbw +0 -57
  220. data/samples/bigdemo/PopupMenu.rbw +0 -146
  221. data/samples/bigdemo/ShapedWindow.rbw +0 -128
  222. data/samples/bigdemo/Sizers.rbw +0 -541
  223. data/samples/bigdemo/bigdemo.rb +0 -817
  224. data/samples/bigdemo/demoTemplate.rbw +0 -33
  225. data/samples/bigdemo/helpfile.htb +0 -0
  226. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  227. data/samples/bigdemo/icons/Test 015.png +0 -0
  228. data/samples/bigdemo/icons/choice.bmp +0 -0
  229. data/samples/bigdemo/icons/combo.bmp +0 -0
  230. data/samples/bigdemo/icons/combo.xpm +0 -27
  231. data/samples/bigdemo/icons/copy.xpm +0 -25
  232. data/samples/bigdemo/icons/cut.xpm +0 -24
  233. data/samples/bigdemo/icons/gauge.bmp +0 -0
  234. data/samples/bigdemo/icons/gauge.xpm +0 -27
  235. data/samples/bigdemo/icons/help.xpm +0 -25
  236. data/samples/bigdemo/icons/list.bmp +0 -0
  237. data/samples/bigdemo/icons/list.xpm +0 -27
  238. data/samples/bigdemo/icons/mondrian.ico +0 -0
  239. data/samples/bigdemo/icons/mondrian.xpm +0 -44
  240. data/samples/bigdemo/icons/new.xpm +0 -24
  241. data/samples/bigdemo/icons/ogl.ico +0 -0
  242. data/samples/bigdemo/icons/ogl.xpm +0 -45
  243. data/samples/bigdemo/icons/open.xpm +0 -26
  244. data/samples/bigdemo/icons/paste.bmp +0 -0
  245. data/samples/bigdemo/icons/paste.xpm +0 -38
  246. data/samples/bigdemo/icons/pointy.png +0 -0
  247. data/samples/bigdemo/icons/preview.xpm +0 -26
  248. data/samples/bigdemo/icons/print.xpm +0 -26
  249. data/samples/bigdemo/icons/radio.bmp +0 -0
  250. data/samples/bigdemo/icons/radio.xpm +0 -27
  251. data/samples/bigdemo/icons/robert.xpm +0 -415
  252. data/samples/bigdemo/icons/sashtest.ico +0 -0
  253. data/samples/bigdemo/icons/save.xpm +0 -25
  254. data/samples/bigdemo/icons/smiles.bmp +0 -0
  255. data/samples/bigdemo/icons/smiles.xpm +0 -39
  256. data/samples/bigdemo/icons/smiley.ico +0 -0
  257. data/samples/bigdemo/icons/smiley.xpm +0 -42
  258. data/samples/bigdemo/icons/stattext.xpm +0 -24
  259. data/samples/bigdemo/icons/test2.bmp +0 -0
  260. data/samples/bigdemo/icons/test2.png +0 -0
  261. data/samples/bigdemo/icons/test2.xpm +0 -79
  262. data/samples/bigdemo/icons/text.bmp +0 -0
  263. data/samples/bigdemo/icons/text.xpm +0 -27
  264. data/samples/bigdemo/icons/tog1.bmp +0 -0
  265. data/samples/bigdemo/icons/tog1.xpm +0 -38
  266. data/samples/bigdemo/icons/tog2.bmp +0 -0
  267. data/samples/bigdemo/icons/tog2.xpm +0 -38
  268. data/samples/bigdemo/icons/wxruby-128x128.png +0 -0
  269. data/samples/bigdemo/icons/wxwin.ico +0 -0
  270. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  271. data/samples/bigdemo/icons/wxwin16x16.xpm +0 -25
  272. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  273. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  274. data/samples/bigdemo/run.rb +0 -98
  275. data/samples/bigdemo/tips.txt +0 -7
  276. data/samples/bigdemo/utils.rb +0 -20
  277. data/samples/bigdemo/wxArtProvider.rbw +0 -282
  278. data/samples/bigdemo/wxBitmapButton.rbw +0 -65
  279. data/samples/bigdemo/wxButton.rbw +0 -64
  280. data/samples/bigdemo/wxCalendarCtrl.rbw +0 -59
  281. data/samples/bigdemo/wxCheckBox.rbw +0 -50
  282. data/samples/bigdemo/wxCheckListBox.rbw +0 -65
  283. data/samples/bigdemo/wxChoice.rbw +0 -47
  284. data/samples/bigdemo/wxChoicebook.rbw +0 -78
  285. data/samples/bigdemo/wxColourDialog.rbw +0 -33
  286. data/samples/bigdemo/wxComboBox.rbw +0 -77
  287. data/samples/bigdemo/wxCursor.rbw +0 -136
  288. data/samples/bigdemo/wxDialog.rbw +0 -74
  289. data/samples/bigdemo/wxDirDialog.rbw +0 -29
  290. data/samples/bigdemo/wxDragImage.rbw +0 -70
  291. data/samples/bigdemo/wxFileDialog.rbw +0 -37
  292. data/samples/bigdemo/wxFileDialog_Save.rbw +0 -35
  293. data/samples/bigdemo/wxFindReplaceDialog.rbw +0 -82
  294. data/samples/bigdemo/wxFontDialog.rbw +0 -200
  295. data/samples/bigdemo/wxFrame.rbw +0 -53
  296. data/samples/bigdemo/wxGauge.rbw +0 -65
  297. data/samples/bigdemo/wxGenericDirCtrl.rbw +0 -74
  298. data/samples/bigdemo/wxGrid.rbw +0 -66
  299. data/samples/bigdemo/wxHtmlHelpController.rbw +0 -52
  300. data/samples/bigdemo/wxListBox.rbw +0 -140
  301. data/samples/bigdemo/wxListCtrl_virtual.rbw +0 -112
  302. data/samples/bigdemo/wxMDIWindows.rbw +0 -50
  303. data/samples/bigdemo/wxMenu.rbw +0 -247
  304. data/samples/bigdemo/wxMessageDialog.rbw +0 -27
  305. data/samples/bigdemo/wxMiniFrame.rbw +0 -70
  306. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +0 -29
  307. data/samples/bigdemo/wxNotebook.rbw +0 -136
  308. data/samples/bigdemo/wxProgressDialog.rbw +0 -43
  309. data/samples/bigdemo/wxRadioBox.rbw +0 -72
  310. data/samples/bigdemo/wxRadioButton.rbw +0 -125
  311. data/samples/bigdemo/wxSashWindow.rbw +0 -141
  312. data/samples/bigdemo/wxScrolledMessageDialog.rbw +0 -57
  313. data/samples/bigdemo/wxScrolledWindow.rbw +0 -199
  314. data/samples/bigdemo/wxSingleChoiceDialog.rbw +0 -33
  315. data/samples/bigdemo/wxSlider.rbw +0 -42
  316. data/samples/bigdemo/wxSpinButton.rbw +0 -50
  317. data/samples/bigdemo/wxSpinCtrl.rbw +0 -51
  318. data/samples/bigdemo/wxSplitterWindow.rbw +0 -63
  319. data/samples/bigdemo/wxStaticBitmap.rbw +0 -47
  320. data/samples/bigdemo/wxStaticText.rbw +0 -55
  321. data/samples/bigdemo/wxStatusBar.rbw +0 -126
  322. data/samples/bigdemo/wxTextCtrl.rbw +0 -149
  323. data/samples/bigdemo/wxTextEntryDialog.rbw +0 -31
  324. data/samples/bigdemo/wxToggleButton.rbw +0 -49
  325. data/samples/bigdemo/wxToolBar.rbw +0 -131
  326. data/samples/bigdemo/wxTreeCtrl.rbw +0 -191
  327. data/samples/caret/caret.rb +0 -298
  328. data/samples/caret/mondrian.xpm +0 -44
  329. data/samples/controls/books.rb +0 -189
  330. data/samples/controls/choice.xpm +0 -27
  331. data/samples/controls/combo.xpm +0 -27
  332. data/samples/controls/controls.rb +0 -1099
  333. data/samples/controls/gauge.xpm +0 -27
  334. data/samples/controls/list.xpm +0 -27
  335. data/samples/controls/mondrian.ico +0 -0
  336. data/samples/controls/mondrian.xpm +0 -44
  337. data/samples/controls/radio.xpm +0 -27
  338. data/samples/controls/stattext.xpm +0 -24
  339. data/samples/controls/test2.bmp +0 -0
  340. data/samples/controls/text.xpm +0 -27
  341. data/samples/controls/tn_books.png +0 -0
  342. data/samples/controls/tn_controls.png +0 -0
  343. data/samples/etc/choice.rb +0 -87
  344. data/samples/etc/tn_choice.png +0 -0
  345. data/samples/text/mondrian.ico +0 -0
  346. data/samples/text/mondrian.xpm +0 -44
  347. /data/samples/{caret → etc}/tn_caret.png +0 -0
@@ -1,541 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
- # Freely reusable code: see SAMPLES-LICENSE.TXT for details
4
- begin
5
- require 'rubygems'
6
- rescue LoadError
7
- end
8
- require 'wx'
9
-
10
-
11
-
12
- def make_simple_box1(win)
13
- box = Wx::BoxSizer.new(Wx::HORIZONTAL)
14
- box.add(Wx::Button.new(win, 1010, "one"), 0, Wx::EXPAND)
15
- box.add(Wx::Button.new(win, 1010, "two"), 0, Wx::EXPAND)
16
- box.add(Wx::Button.new(win, 1010, "three"), 0, Wx::EXPAND)
17
- box.add(Wx::Button.new(win, 1010, "four"), 0, Wx::EXPAND)
18
-
19
- return box
20
- end
21
-
22
- #----------------------------------------------------------------------
23
-
24
- def make_simple_box2(win)
25
- box = Wx::BoxSizer.new(Wx::VERTICAL)
26
- box.add(Wx::Button.new(win, 1010, "one"), 0, Wx::EXPAND)
27
- box.add(Wx::Button.new(win, 1010, "two"), 0, Wx::EXPAND)
28
- box.add(Wx::Button.new(win, 1010, "three"), 0, Wx::EXPAND)
29
- box.add(Wx::Button.new(win, 1010, "four"), 0, Wx::EXPAND)
30
-
31
- return box
32
- end
33
-
34
- #----------------------------------------------------------------------
35
-
36
- def make_simple_box3(win)
37
- box = Wx::BoxSizer.new(Wx::HORIZONTAL)
38
- box.add(Wx::Button.new(win, 1010, "one"), 0, Wx::EXPAND)
39
- box.add(Wx::Button.new(win, 1010, "two"), 0, Wx::EXPAND)
40
- box.add(Wx::Button.new(win, 1010, "three"), 0, Wx::EXPAND)
41
- box.add(Wx::Button.new(win, 1010, "four"), 0, Wx::EXPAND)
42
- box.add(Wx::Button.new(win, 1010, "five"), 1, Wx::EXPAND)
43
-
44
- return box
45
- end
46
-
47
- #----------------------------------------------------------------------
48
-
49
- def make_simple_box4(win)
50
- box = Wx::BoxSizer.new(Wx::HORIZONTAL)
51
- box.add(Wx::Button.new(win, 1010, "one"), 0, Wx::EXPAND)
52
- box.add(Wx::Button.new(win, 1010, "two"), 0, Wx::EXPAND)
53
- box.add(Wx::Button.new(win, 1010, "three"), 1, Wx::EXPAND)
54
- box.add(Wx::Button.new(win, 1010, "four"), 1, Wx::EXPAND)
55
- box.add(Wx::Button.new(win, 1010, "five"), 1, Wx::EXPAND)
56
-
57
- return box
58
- end
59
-
60
- #----------------------------------------------------------------------
61
-
62
- def make_simple_box5(win)
63
- box = Wx::BoxSizer.new(Wx::HORIZONTAL)
64
- box.add(Wx::Button.new(win, 1010, "one"), 0, Wx::EXPAND)
65
- box.add(Wx::Button.new(win, 1010, "two"), 0, Wx::EXPAND)
66
- box.add(Wx::Button.new(win, 1010, "three"), 3, Wx::EXPAND)
67
- box.add(Wx::Button.new(win, 1010, "four"), 1, Wx::EXPAND)
68
- box.add(Wx::Button.new(win, 1010, "five"), 1, Wx::EXPAND)
69
-
70
- return box
71
- end
72
-
73
- #----------------------------------------------------------------------
74
-
75
- def make_simple_box6(win)
76
- box = Wx::BoxSizer.new(Wx::HORIZONTAL)
77
- box.add(Wx::Button.new(win, 1010, "one"), 1, Wx::ALIGN_TOP)
78
- box.add(Wx::Button.new(win, 1010, "two"), 1, Wx::EXPAND)
79
- box.add(Wx::Button.new(win, 1010, "three"), 1, Wx::ALIGN_CENTER)
80
- box.add(Wx::Button.new(win, 1010, "four"), 1, Wx::EXPAND)
81
- box.add(Wx::Button.new(win, 1010, "five"), 1, Wx::ALIGN_BOTTOM)
82
-
83
- return box
84
- end
85
-
86
- #----------------------------------------------------------------------
87
-
88
- def make_simple_box7(win)
89
- box = Wx::BoxSizer.new(Wx::HORIZONTAL)
90
- box.add(Wx::Button.new(win, 1010, "one"), 0, Wx::EXPAND)
91
- box.add(Wx::Button.new(win, 1010, "two"), 0, Wx::EXPAND)
92
- box.add(Wx::Button.new(win, 1010, "three"), 0, Wx::EXPAND)
93
- box.add(60, 20, 0, Wx::EXPAND)
94
- box.add(Wx::Button.new(win, 1010, "five"), 1, Wx::EXPAND)
95
-
96
- return box
97
- end
98
-
99
- #----------------------------------------------------------------------
100
-
101
- def make_simple_box8(win)
102
- box = Wx::BoxSizer.new(Wx::VERTICAL)
103
- box.add(Wx::Button.new(win, 1010, "one"), 0, Wx::EXPAND)
104
- box.add(0,0,1)
105
- box.add(Wx::Button.new(win, 1010, "two"), 0, Wx::ALIGN_CENTER)
106
- box.add(0,0,1)
107
- box.add(Wx::Button.new(win, 1010, "three"), 0, Wx::EXPAND)
108
- box.add(Wx::Button.new(win, 1010, "four"), 0, Wx::EXPAND)
109
- #box.add(Wx::Button.new(win, 1010, "five"), 1, Wx::EXPAND)
110
-
111
- return box
112
- end
113
-
114
- #----------------------------------------------------------------------
115
-
116
- def make_simple_border1(win)
117
- bdr = Wx::BoxSizer.new(Wx::HORIZONTAL)
118
- btn = Wx::Button.new(win, 1010, "border")
119
- btn.set_size(Wx::Size.new(80,80))
120
- bdr.add(btn, 1, Wx::EXPAND | Wx::ALL, 15)
121
-
122
- return bdr
123
- end
124
-
125
- #----------------------------------------------------------------------
126
-
127
- def make_simple_border2(win)
128
- bdr = Wx::BoxSizer.new(Wx::HORIZONTAL)
129
- btn = Wx::Button.new(win, 1010, "border")
130
- btn.set_size(Wx::Size.new(80,80))
131
- bdr.add(btn, 1, Wx::EXPAND | Wx::EAST | Wx::WEST, 15)
132
-
133
- return bdr
134
- end
135
-
136
- #----------------------------------------------------------------------
137
-
138
- def make_simple_border3(win)
139
- bdr = Wx::BoxSizer.new(Wx::HORIZONTAL)
140
- btn = Wx::Button.new(win, 1010, "border")
141
- btn.set_size(Wx::Size.new(80,80))
142
- bdr.add(btn, 1, Wx::EXPAND | Wx::NORTH | Wx::WEST, 15)
143
-
144
- return bdr
145
- end
146
-
147
- #----------------------------------------------------------------------
148
-
149
- def make_box_in_box(win)
150
- box = Wx::BoxSizer.new(Wx::VERTICAL)
151
-
152
- box.add(Wx::Button.new(win, 1010, "one"), 0, Wx::EXPAND)
153
-
154
- box2 = Wx::BoxSizer.new(Wx::HORIZONTAL)
155
- box2.add(Wx::Button.new(win, 1010, "two"), 0, Wx::EXPAND)
156
- btn3 = Wx::Button.new(win, 1010, "three")
157
- box2.add(btn3, 0, Wx::EXPAND)
158
- box2.add(Wx::Button.new(win, 1010, "four"), 0, Wx::EXPAND)
159
- box2.add(Wx::Button.new(win, 1010, "five"), 0, Wx::EXPAND)
160
-
161
- box3 = Wx::BoxSizer.new(Wx::VERTICAL)
162
- box3.add(Wx::Button.new(win, 1010, "six"), 0, Wx::EXPAND)
163
- box3.add(Wx::Button.new(win, 1010, "seven"), 2, Wx::EXPAND)
164
- box3.add(Wx::Button.new(win, 1010, "eight"), 1, Wx::EXPAND)
165
- box3.add(Wx::Button.new(win, 1010, "nine"), 1, Wx::EXPAND)
166
-
167
- box2.add(box3, 1, Wx::EXPAND)
168
- box.add(box2, 1, Wx::EXPAND)
169
-
170
- box.add(Wx::Button.new(win, 1010, "ten"), 0, Wx::EXPAND)
171
-
172
- return box
173
- end
174
-
175
- #----------------------------------------------------------------------
176
-
177
- def make_box_in_border(win)
178
- bdr = Wx::BoxSizer.new(Wx::HORIZONTAL)
179
- box = make_simple_box3(win)
180
- bdr.add(box, 1, Wx::EXPAND | Wx::ALL, 15)
181
-
182
- return bdr
183
- end
184
-
185
- #----------------------------------------------------------------------
186
-
187
- def make_border_in_box(win)
188
- insideBox = Wx::BoxSizer.new(Wx::HORIZONTAL)
189
-
190
- box2 = Wx::BoxSizer.new(Wx::HORIZONTAL)
191
- box2.add(Wx::Button.new(win, 1010, "one"), 0, Wx::EXPAND)
192
- box2.add(Wx::Button.new(win, 1010, "two"), 0, Wx::EXPAND)
193
- box2.add(Wx::Button.new(win, 1010, "three"), 0, Wx::EXPAND)
194
- box2.add(Wx::Button.new(win, 1010, "four"), 0, Wx::EXPAND)
195
- box2.add(Wx::Button.new(win, 1010, "five"), 0, Wx::EXPAND)
196
-
197
- insideBox.add(box2, 0, Wx::EXPAND)
198
-
199
- bdr = Wx::BoxSizer.new(Wx::HORIZONTAL)
200
- bdr.add(Wx::Button.new(win, 1010, "border"), 1, Wx::EXPAND | Wx::ALL)
201
- insideBox.add(bdr, 1, Wx::EXPAND | Wx::ALL, 20)
202
-
203
- box3 = Wx::BoxSizer.new(Wx::VERTICAL)
204
- box3.add(Wx::Button.new(win, 1010, "six"), 0, Wx::EXPAND)
205
- box3.add(Wx::Button.new(win, 1010, "seven"), 2, Wx::EXPAND)
206
- box3.add(Wx::Button.new(win, 1010, "eight"), 1, Wx::EXPAND)
207
- box3.add(Wx::Button.new(win, 1010, "nine"), 1, Wx::EXPAND)
208
- insideBox.add(box3, 1, Wx::EXPAND)
209
-
210
- outsideBox = Wx::BoxSizer.new(Wx::VERTICAL)
211
- outsideBox.add(Wx::Button.new(win, 1010, "top"), 0, Wx::EXPAND)
212
- outsideBox.add(insideBox, 1, Wx::EXPAND)
213
- outsideBox.add(Wx::Button.new(win, 1010, "bottom"), 0, Wx::EXPAND)
214
-
215
- return outsideBox
216
-
217
- end
218
-
219
- #----------------------------------------------------------------------
220
-
221
- def make_grid1(win)
222
- gs = Wx::GridSizer.new(3,3,2,2) # rows, cols, hgap, vgap
223
-
224
- gs.add(Wx::Button.new(win, 1010, "one"), 0, Wx::EXPAND)
225
- gs.add(Wx::Button.new(win, 1010, "two"), 0, Wx::EXPAND)
226
- gs.add(Wx::Button.new(win, 1010, "three"), 0, Wx::EXPAND)
227
- gs.add(Wx::Button.new(win, 1010, "four"), 0, Wx::EXPAND)
228
- gs.add(Wx::Button.new(win, 1010, "five"), 0, Wx::EXPAND)
229
- gs.add(Wx::Button.new(win, 1010, "six"), 0, Wx::EXPAND)
230
- gs.add(Wx::Button.new(win, 1010, "seven"), 0, Wx::EXPAND)
231
- gs.add(Wx::Button.new(win, 1010, "eight"), 0, Wx::EXPAND)
232
- gs.add(Wx::Button.new(win, 1010, "nine"), 0, Wx::EXPAND)
233
-
234
- return gs
235
- end
236
-
237
- #----------------------------------------------------------------------
238
-
239
- def make_grid2(win)
240
- gs = Wx::GridSizer.new(3,3) # rows, cols, hgap, vgap
241
-
242
- box = Wx::BoxSizer.new(Wx::VERTICAL)
243
- box.add(Wx::Button.new(win, 1010, "A"), 0, Wx::EXPAND)
244
- box.add(Wx::Button.new(win, 1010, "B"), 1, Wx::EXPAND)
245
-
246
- gs2 = Wx::GridSizer.new(2,2,4,4) # rows, cols, hgap, vgap
247
- gs2.add(Wx::Button.new(win, 1010, "C"), 0, Wx::EXPAND)
248
- gs2.add(Wx::Button.new(win, 1010, "E"), 0, Wx::EXPAND)
249
- gs2.add(Wx::Button.new(win, 1010, "F"), 0, Wx::EXPAND)
250
- gs2.add(Wx::Button.new(win, 1010, "G"), 0, Wx::EXPAND)
251
-
252
- gs.add(Wx::Button.new(win, 1010, "one"), 0, Wx::ALIGN_RIGHT | Wx::ALIGN_BOTTOM)
253
- gs.add(Wx::Button.new(win, 1010, "two"), 0, Wx::EXPAND)
254
- gs.add(Wx::Button.new(win, 1010, "three"), 0, Wx::ALIGN_LEFT | Wx::ALIGN_BOTTOM)
255
- gs.add(Wx::Button.new(win, 1010, "four"), 0, Wx::EXPAND)
256
- gs.add(Wx::Button.new(win, 1010, "five"), 0, Wx::ALIGN_CENTER)
257
- gs.add(Wx::Button.new(win, 1010, "six"), 0, Wx::EXPAND)
258
- gs.add(box, 0, Wx::EXPAND | Wx::ALL, 10)
259
- gs.add(Wx::Button.new(win, 1010, "eight"), 0, Wx::EXPAND)
260
- gs.add(gs2, 0, Wx::EXPAND | Wx::ALL, 4)
261
-
262
- return gs
263
- end
264
-
265
- #----------------------------------------------------------------------
266
-
267
- def make_grid3(win)
268
- gs = Wx::FlexGridSizer.new(3,3,2,2) # rows, cols, hgap, vgap
269
-
270
- gs.add(Wx::Button.new(win, 1010, "one"), 0, Wx::EXPAND)
271
- gs.add(Wx::Button.new(win, 1010, "two"), 0, Wx::EXPAND)
272
- gs.add(Wx::Button.new(win, 1010, "three"), 0, Wx::EXPAND)
273
- gs.add(Wx::Button.new(win, 1010, "four"), 0, Wx::EXPAND)
274
- #gs.add(Wx::Button.new(win, 1010, "five"), 0, Wx::EXPAND)
275
- gs.add(175, 50)
276
- gs.add(Wx::Button.new(win, 1010, "six"), 0, Wx::EXPAND)
277
- gs.add(Wx::Button.new(win, 1010, "seven"), 0, Wx::EXPAND)
278
- gs.add(Wx::Button.new(win, 1010, "eight"), 0, Wx::EXPAND)
279
- gs.add(Wx::Button.new(win, 1010, "nine"), 0, Wx::EXPAND)
280
-
281
- gs.add_growable_row(0)
282
- gs.add_growable_row(2)
283
- gs.add_growable_col(1)
284
- return gs
285
- end
286
-
287
- #----------------------------------------------------------------------
288
-
289
- def make_grid4(win)
290
- bpos = Wx::DEFAULT_POSITION
291
- bsize = Wx::Size.new(100,50)
292
- gs = Wx::GridSizer.new(3,3,2,2) #rows, cols, hgap, vgap
293
-
294
- gs.add(Wx::Button.new(win, 1010, "one", bpos, bsize), 0, Wx::ALIGN_TOP | Wx::ALIGN_LEFT)
295
- gs.add(Wx::Button.new(win, 1010, "two", bpos, bsize), 0, Wx::ALIGN_TOP | Wx::ALIGN_CENTER_HORIZONTAL)
296
- gs.add(Wx::Button.new(win, 1010, "three", bpos, bsize), 0, Wx::ALIGN_TOP | Wx::ALIGN_RIGHT)
297
- gs.add(Wx::Button.new(win, 1010, "four", bpos, bsize), 0, Wx::ALIGN_CENTER_VERTICAL | Wx::ALIGN_LEFT)
298
- gs.add(Wx::Button.new(win, 1010, "five", bpos, bsize), 0, Wx::ALIGN_CENTER)
299
- gs.add(Wx::Button.new(win, 1010, "six", bpos, bsize), 0, Wx::ALIGN_CENTER_VERTICAL | Wx::ALIGN_RIGHT)
300
- gs.add(Wx::Button.new(win, 1010, "seven", bpos, bsize), 0, Wx::ALIGN_BOTTOM | Wx::ALIGN_LEFT)
301
- gs.add(Wx::Button.new(win, 1010, "eight", bpos, bsize), 0, Wx::ALIGN_BOTTOM | Wx::ALIGN_CENTER_HORIZONTAL)
302
- gs.add(Wx::Button.new(win, 1010, "nine", bpos, bsize), 0, Wx::ALIGN_BOTTOM | Wx::ALIGN_RIGHT)
303
-
304
- return gs
305
-
306
- end
307
-
308
- #----------------------------------------------------------------------
309
-
310
- def make_shapes(win)
311
- bpos = Wx::DEFAULT_POSITION
312
- bsize = Wx::Size.new(100,50)
313
- gs = Wx::GridSizer.new(3,3,2,2) #rows, cols, hgap, vgap
314
-
315
- gs.add(Wx::Button.new(win, 1010, "one", bpos, bsize), 0, Wx::SHAPED | Wx::ALIGN_TOP | Wx::ALIGN_LEFT)
316
- gs.add(Wx::Button.new(win, 1010, "two", bpos, bsize), 0, Wx::SHAPED | Wx::ALIGN_TOP | Wx::ALIGN_CENTER_HORIZONTAL)
317
- gs.add(Wx::Button.new(win, 1010, "three", bpos, bsize), 0, Wx::SHAPED | Wx::ALIGN_TOP | Wx::ALIGN_RIGHT)
318
- gs.add(Wx::Button.new(win, 1010, "four", bpos, bsize), 0, Wx::SHAPED | Wx::ALIGN_CENTER_VERTICAL | Wx::ALIGN_LEFT)
319
- gs.add(Wx::Button.new(win, 1010, "five", bpos, bsize), 0, Wx::SHAPED | Wx::ALIGN_CENTER)
320
- gs.add(Wx::Button.new(win, 1010, "six", bpos, bsize), 0, Wx::SHAPED | Wx::ALIGN_CENTER_VERTICAL | Wx::ALIGN_RIGHT)
321
- gs.add(Wx::Button.new(win, 1010, "seven", bpos, bsize), 0, Wx::SHAPED | Wx::ALIGN_BOTTOM | Wx::ALIGN_LEFT)
322
- gs.add(Wx::Button.new(win, 1010, "eight", bpos, bsize), 0, Wx::SHAPED | Wx::ALIGN_BOTTOM | Wx::ALIGN_CENTER_HORIZONTAL)
323
- gs.add(Wx::Button.new(win, 1010, "nine", bpos, bsize), 0, Wx::SHAPED | Wx::ALIGN_BOTTOM | Wx::ALIGN_RIGHT)
324
-
325
- return gs
326
- end
327
-
328
- #----------------------------------------------------------------------
329
-
330
- def make_simple_box_shaped(win)
331
- box = Wx::BoxSizer.new(Wx::HORIZONTAL)
332
- box.add(Wx::Button.new(win, 1010, "one"), 0, Wx::EXPAND)
333
- box.add(Wx::Button.new(win, 1010, "two"), 0, Wx::EXPAND)
334
- box.add(Wx::Button.new(win, 1010, "three"), 0, Wx::EXPAND)
335
- box.add(Wx::Button.new(win, 1010, "four"), 0, Wx::EXPAND)
336
- box.add(Wx::Button.new(win, 1010, "five"), 1, Wx::SHAPED)
337
-
338
- return box
339
- end
340
-
341
- #----------------------------------------------------------------------
342
-
343
- $theTests = [
344
- ["Simple horizontal boxes", "make_simple_box1",
345
- "This is a HORIZONTAL box sizer with four non-stretchable buttons held " +
346
- "within it. Notice that the buttons are added and aligned in the horizontal " +
347
- "dimension. Also notice that they are fixed size in the horizontal dimension, " +
348
- "but will stretch vertically."
349
- ],
350
-
351
- ["Simple vertical boxes", "make_simple_box2",
352
- "Exactly the same as the previous sample but using a VERTICAL box sizer " +
353
- "instead of a HORIZONTAL one."
354
- ],
355
-
356
- ["Add a stretchable", "make_simple_box3",
357
- "We've added one more button with the stretchable flag turned on. Notice " +
358
- "how it grows to fill the extra space in the otherwise fixed dimension."
359
- ],
360
-
361
- ["More than one stretchable", "make_simple_box4",
362
- "Here there are several items that are stretchable, they all divide up the " +
363
- "extra space evenly."
364
- ],
365
-
366
- ["Weighting factor", "make_simple_box5",
367
- "This one shows more than one stretchable, but one of them has a weighting " +
368
- "factor so it gets more of the free space."
369
- ],
370
-
371
- ["Edge Affinity", "make_simple_box6",
372
- "For items that don't completly fill their allotted space, and don't " +
373
- "stretch, you can specify which side [or the center] they should stay " +
374
- "attached to."
375
- ],
376
-
377
- ["Spacer", "make_simple_box7",
378
- "You can add empty space to be managed by a Sizer just as if it were a " +
379
- "window or another Sizer."
380
- ],
381
-
382
- ["Centering in available space", "make_simple_box8",
383
- "This one shows an item that does not expand to fill it's space, but rather " +
384
- "stays centered within it."
385
- ],
386
-
387
- # ["Percent Sizer", "make_simple_box6",
388
- # "You can use the wxBoxSizer like a Percent Sizer. Just make sure that all "
389
- # "the weighting factors add up to 100!"
390
- # ],
391
-
392
- ["", nil, ""],
393
-
394
- ["Simple border sizer", "make_simple_border1",
395
- "The wxBoxSizer can leave empty space around its contents. This one " +
396
- "gives a border all the way around."
397
- ],
398
-
399
- ["East and West border", "make_simple_border2",
400
- "You can pick and choose which sides have borders."
401
- ],
402
-
403
- ["North and West border", "make_simple_border3",
404
- "You can pick and choose which sides have borders."
405
- ],
406
-
407
- ["", nil, ""],
408
-
409
- ["Boxes inside of boxes", "make_box_in_box",
410
- "This one shows nesting of boxes within boxes within boxes, using both " +
411
- "orientations. Notice also that button seven has a greater weighting " +
412
- "factor than its siblings."
413
- ],
414
-
415
- ["Boxes inside a Border", "make_box_in_border",
416
- "Sizers of different types can be nested within each other as well. " +
417
- "Here is a box sizer with several buttons embedded within a border sizer."
418
- ],
419
-
420
- ["Border in a Box", "make_border_in_box",
421
- "Another nesting example. This one has Boxes and a Border inside another Box."
422
- ],
423
-
424
- ["", nil, ""],
425
-
426
- ["Simple Grid", "make_grid1",
427
- "This is an example of the wxGridSizer. In this case all row heights " +
428
- "and column widths are kept the same as all the others and all items " +
429
- "fill their available space. The horizontal and vertical gaps are set to " +
430
- "2 pixels each."
431
- ],
432
-
433
- ["More Grid Features", "make_grid2",
434
- "This is another example of the wxGridSizer. This one has no gaps in the grid, " +
435
- "but various cells are given different alignment options and some of them " +
436
- "hold nested sizers."
437
- ],
438
-
439
- ["Flexible Grid", "make_grid3",
440
- "This grid allows the rows to have different heights and the columns to have " +
441
- "different widths. You can also specify rows and columns that are growable, " +
442
- "which we have done for the first and last row and the middle column for " +
443
- "this example.\n" +
444
- "\nThere is also a spacer in the middle cell instead of an actual window."
445
- ],
446
-
447
- ["Grid with Alignment", "make_grid4",
448
- "New alignment flags allow for the positioning of items in any corner or centered " +
449
- "position."
450
- ],
451
-
452
- ["", nil, ""],
453
-
454
- ["Proportional resize", "make_simple_box_shaped",
455
- "Managed items can preserve their original aspect ratio. The last item has the " +
456
- "wxSHAPED flag set and will resize proportional to its original size."
457
- ],
458
-
459
- ["Proportional resize with Alignments", "make_shapes",
460
- "This one shows various alignments as well as proportional resizing for all items."
461
- ],
462
-
463
- ]
464
- #----------------------------------------------------------------------
465
-
466
- class TestFrame < Wx::Frame
467
- def initialize(parent, title, sizerFunc)
468
- super(parent, -1, title)
469
- evt_button(1010) {|event| on_button(event)}
470
-
471
- method = Object.method(sizerFunc)
472
- @sizer = method.call(self)
473
- create_status_bar
474
- set_status_text("Resize this frame to see how the sizers respond...")
475
- @sizer.fit(self)
476
-
477
- set_sizer(@sizer)
478
- evt_close {|event| on_close_window(event)}
479
- end
480
-
481
- def on_close_window(event)
482
- destroy
483
- end
484
-
485
- def on_button(event)
486
- close(true)
487
- end
488
- end
489
-
490
- class TestSelectionPanel < Wx::Panel
491
- def initialize(parent, frame)
492
- super(parent, -1)
493
- @frame = frame
494
-
495
- @list = Wx::ListBox.new(self, 401, Wx::Point.new(10,10), Wx::Size.new(175,150))
496
- evt_listbox(401) {|event| on_select(event)}
497
- evt_listbox_dclick(401) {|event| on_d_click(event)}
498
-
499
- @btn = Wx::Button.new(self, 402, "Try it!", Wx::Point.new(200, 10))
500
- evt_button(402) {|event| on_d_click(event)}
501
-
502
- @text = Wx::TextCtrl.new(self, -1, "", Wx::Point.new(10, 175), Wx::Size.new(350,75), Wx::TE_MULTILINE | Wx::TE_READONLY)
503
-
504
- $theTests.each {|item| @list.append(item[0])}
505
- @list.select(0)
506
- end
507
-
508
- def on_select(event)
509
- pos = @list.get_selection
510
- @text.set_value($theTests[pos][2])
511
- end
512
-
513
- def on_d_click(event)
514
- pos = @list.get_selection
515
- title = $theTests[pos][0]
516
- func = $theTests[pos][1]
517
-
518
- if func
519
- win = TestFrame.new(self, title, func)
520
- win.centre_on_parent(Wx::BOTH)
521
- win.show
522
- end
523
- end
524
- end
525
-
526
- module Demo
527
- def Demo.run(frame,nb,log)
528
- win = TestSelectionPanel.new(nb, frame)
529
- return win
530
- end
531
-
532
- def Demo.overview
533
- ""
534
- end
535
- end
536
-
537
- if __FILE__ == $0
538
- run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
539
- load run_solo_lib
540
- run File.basename($0)
541
- end