wxruby3 0.9.2 → 0.9.4

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 (379) 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-Config.h +23 -5
  6. data/ext/wxruby3/include/wxruby-Persistence.h +79 -0
  7. data/ext/wxruby3/include/wxruby-Validator.h +39 -0
  8. data/ext/wxruby3/include/wxruby-ValidatorBinding.h +64 -0
  9. data/ext/wxruby3/swig/custom/director.swg +8 -0
  10. data/ext/wxruby3/swig/mark_free_impl.i +0 -33
  11. data/ext/wxruby3/swig/memory_management.i +6 -0
  12. data/lib/wx/core/bitmap_combobox.rb +17 -21
  13. data/lib/wx/core/book_ctrl_base.rb +16 -0
  14. data/lib/wx/core/combobox.rb +13 -3
  15. data/lib/wx/core/config.rb +454 -83
  16. data/lib/wx/core/controlwithitems.rb +40 -130
  17. data/lib/wx/core/enum.rb +17 -1
  18. data/lib/wx/core/event.rb +6 -1
  19. data/lib/wx/core/evthandler.rb +8 -2
  20. data/lib/wx/core/generic_validator.rb +312 -0
  21. data/lib/wx/core/listbox.rb +2 -2
  22. data/lib/wx/core/log.rb +1 -1
  23. data/lib/wx/core/notebook.rb +10 -8
  24. data/lib/wx/core/owner_drawn_combobox.rb +45 -0
  25. data/lib/wx/core/peristent_object.rb +15 -0
  26. data/lib/wx/core/persistence_manager.rb +39 -0
  27. data/lib/wx/core/persistent_window.rb +16 -0
  28. data/lib/wx/core/size.rb +4 -0
  29. data/lib/wx/core/sizer.rb +1 -2
  30. data/lib/wx/core/standard_paths.rb +22 -0
  31. data/lib/wx/core/text_entry.rb +4 -1
  32. data/lib/wx/core/top_level_window.rb +16 -0
  33. data/lib/wx/core/treebook.rb +18 -0
  34. data/lib/wx/core/validator.rb +70 -5
  35. data/lib/wx/core/window.rb +3 -7
  36. data/lib/wx/core.rb +4 -0
  37. data/lib/wx/doc/art_locator.rb +1 -0
  38. data/lib/wx/doc/book_ctrl_base.rb +19 -0
  39. data/lib/wx/doc/comboctrl.rb +18 -0
  40. data/lib/wx/doc/config.rb +101 -41
  41. data/lib/wx/doc/controlwithitems.rb +16 -0
  42. data/lib/wx/doc/date_picker_ctrl.rb +23 -0
  43. data/lib/wx/doc/editable_listbox.rb +44 -0
  44. data/lib/wx/doc/enum.rb +15 -0
  45. data/lib/wx/doc/event.rb +12 -0
  46. data/lib/wx/doc/extra/12_client_data.md +89 -0
  47. data/lib/wx/doc/extra/13_validators.md +139 -0
  48. data/lib/wx/doc/extra/14_config.md +101 -0
  49. data/lib/wx/doc/extra/15_persistence.md +148 -0
  50. data/lib/wx/doc/gdi_common.rb +4 -0
  51. data/lib/wx/doc/generic_validator.rb +95 -0
  52. data/lib/wx/doc/html/simple_html_listbox.rb +22 -0
  53. data/lib/wx/doc/num_validator.rb +387 -0
  54. data/lib/wx/doc/owner_drawn_combobox.rb +96 -0
  55. data/lib/wx/doc/persistence_manager.rb +36 -0
  56. data/lib/wx/doc/persistent_object.rb +27 -0
  57. data/lib/wx/doc/pg/numeric_property_validator.rb +33 -0
  58. data/lib/wx/doc/static_bitmap.rb +25 -0
  59. data/lib/wx/doc/text_validator.rb +10 -0
  60. data/lib/wx/doc/top_level_window.rb +19 -0
  61. data/lib/wx/doc/treebook.rb +6 -1
  62. data/lib/wx/doc/validator.rb +113 -0
  63. data/lib/wx/doc/window.rb +30 -0
  64. data/lib/wx/html/simple_html_listbox.rb +24 -91
  65. data/lib/wx/keyword_defs.rb +34 -2
  66. data/lib/wx/rbn/ribbon_gallery.rb +0 -21
  67. data/lib/wx/version.rb +1 -1
  68. data/rakelib/build.rb +1 -1
  69. data/rakelib/lib/config/mingw.rb +12 -0
  70. data/rakelib/lib/core/include/client_data.inc +65 -0
  71. data/rakelib/lib/core/include/funcall.inc +1 -1
  72. data/rakelib/lib/core/package.rb +39 -3
  73. data/rakelib/lib/core/parameter.rb +1 -1
  74. data/rakelib/lib/core/spec.rb +10 -0
  75. data/rakelib/lib/core/spec_helper.rb +8 -2
  76. data/rakelib/lib/director/app.rb +18 -0
  77. data/rakelib/lib/director/app_traits.rb +3 -1
  78. data/rakelib/lib/director/bitmap_combobox.rb +2 -2
  79. data/rakelib/lib/director/combobox.rb +22 -0
  80. data/rakelib/lib/director/comboctrl.rb +1 -55
  81. data/rakelib/lib/director/config_base.rb +490 -19
  82. data/rakelib/lib/director/ctrl_with_items.rb +88 -21
  83. data/rakelib/lib/director/date_picker_ctrl.rb +8 -6
  84. data/rakelib/lib/director/editable_listbox.rb +30 -0
  85. data/rakelib/lib/director/event.rb +102 -12
  86. data/rakelib/lib/director/event_filter.rb +1 -1
  87. data/rakelib/lib/director/event_handler.rb +3 -2
  88. data/rakelib/lib/director/event_loop.rb +1 -1
  89. data/rakelib/lib/director/file_dialog_customize_hook.rb +2 -2
  90. data/rakelib/lib/director/functions.rb +4 -2
  91. data/rakelib/lib/director/generic_dirctrl.rb +17 -0
  92. data/rakelib/lib/director/grid_cell_attr.rb +1 -3
  93. data/rakelib/lib/director/grid_cell_editor.rb +1 -3
  94. data/rakelib/lib/director/grid_cell_renderer.rb +1 -3
  95. data/rakelib/lib/director/header_ctrl.rb +9 -1
  96. data/rakelib/lib/director/html_listbox.rb +97 -22
  97. data/rakelib/lib/director/num_validator.rb +495 -0
  98. data/rakelib/lib/director/numeric_property_validator.rb +131 -6
  99. data/rakelib/lib/director/owner_drawn_combobox.rb +192 -0
  100. data/rakelib/lib/director/persistence_manager.rb +410 -0
  101. data/rakelib/lib/director/persistent_object.rb +70 -0
  102. data/rakelib/lib/director/persistent_window.rb +73 -0
  103. data/rakelib/lib/director/pgproperty.rb +3 -29
  104. data/rakelib/lib/director/ribbon_button_bar.rb +3 -3
  105. data/rakelib/lib/director/ribbon_gallery.rb +3 -5
  106. data/rakelib/lib/director/sizer.rb +15 -4
  107. data/rakelib/lib/director/sizer_item.rb +13 -0
  108. data/rakelib/lib/director/static_bitmap.rb +32 -0
  109. data/rakelib/lib/director/text_entry.rb +5 -1
  110. data/rakelib/lib/director/text_validator.rb +124 -13
  111. data/rakelib/lib/director/toggle_button.rb +1 -0
  112. data/rakelib/lib/director/top_level_window.rb +0 -2
  113. data/rakelib/lib/director/tree_ctrl.rb +35 -0
  114. data/rakelib/lib/director/utils.rb +16 -2
  115. data/rakelib/lib/director/validator.rb +196 -21
  116. data/rakelib/lib/director/window.rb +16 -2
  117. data/rakelib/lib/extractor/function.rb +2 -1
  118. data/rakelib/lib/generate/analyzer.rb +44 -44
  119. data/rakelib/lib/generate/doc.rb +11 -5
  120. data/rakelib/lib/specs/interfaces.rb +5 -0
  121. data/rakelib/lib/swig_runner.rb +55 -9
  122. data/rakelib/lib/typemap/client_data.rb +67 -0
  123. data/rakelib/lib/typemap/common.rb +3 -3
  124. data/rakelib/lib/typemap/config.rb +8 -0
  125. data/rakelib/lib/typemap/datetime.rb +1 -1
  126. data/rakelib/lib/typemap/tree_itemid.rb +2 -2
  127. data/samples/aui/aui.rb +1237 -1233
  128. data/samples/calendar/calendar.rb +293 -289
  129. data/samples/controls/get_item_sample.rb +83 -79
  130. data/samples/controls/htlbox.rb +331 -327
  131. data/samples/dialogs/dialogs.rb +682 -694
  132. data/samples/dialogs/wizard.rb +52 -55
  133. data/samples/dragdrop/dragdrop.rb +146 -142
  134. data/samples/drawing/bitmap.rb +29 -26
  135. data/samples/drawing/bitmap_image.rb +84 -80
  136. data/samples/drawing/graphics_drawing.rb +209 -205
  137. data/samples/drawing/image_prt.rb +344 -340
  138. data/samples/drawing/maths_images.rb +18 -1
  139. data/samples/drawing/rmagic_bitmap_image.rb +88 -84
  140. data/samples/etc/caret.rb +306 -0
  141. data/samples/etc/miniframe.rb +65 -60
  142. data/samples/etc/sash.rb +109 -105
  143. data/samples/etc/scrollwin.rb +86 -80
  144. data/samples/etc/system_settings.rb +216 -209
  145. data/samples/event/activation.rb +72 -67
  146. data/samples/event/event.rb +160 -153
  147. data/samples/event/threaded.rb +8 -1
  148. data/samples/event/update_ui_event.rb +67 -60
  149. data/samples/grid/grid.rb +188 -181
  150. data/samples/grid/gridtablebase.rb +136 -129
  151. data/samples/html/html.rb +208 -204
  152. data/samples/mdi/mdi.rb +59 -54
  153. data/samples/minimal/minimal.rb +54 -51
  154. data/samples/minimal/nothing.rb +1 -0
  155. data/samples/printing/printing.rb +367 -377
  156. data/samples/printing/printing2.rb +203 -198
  157. data/samples/propgrid/propgrid.rb +2312 -2308
  158. data/samples/propgrid/propgrid_minimal.rb +57 -50
  159. data/samples/ribbon/ribbon.rb +780 -774
  160. data/samples/sampler/ext.rb +0 -33
  161. data/samples/sampler/sample.rb +4 -9
  162. data/samples/sampler.rb +1 -1
  163. data/samples/splash/splash.rb +118 -116
  164. data/samples/text/rich_textctrl.rb +207 -201
  165. data/samples/text/richtext.rb +1409 -1405
  166. data/samples/text/scintilla.rb +137 -128
  167. data/samples/text/textctrl.rb +89 -83
  168. data/samples/text/unicode.rb +175 -168
  169. data/samples/treectrl/treectrl.rb +1430 -1426
  170. data/samples/widgets/activityindicator.rb +95 -0
  171. data/samples/widgets/art/widgets/activityindicator.xpm +278 -0
  172. data/samples/widgets/art/widgets/bmpbtn.xpm +37 -0
  173. data/samples/widgets/art/widgets/bmpcombobox.xpm +54 -0
  174. data/samples/widgets/art/widgets/button.xpm +54 -0
  175. data/samples/widgets/art/widgets/checkbox.xpm +54 -0
  176. data/samples/{bigdemo/icons → widgets/art/widgets}/choice.xpm +1 -1
  177. data/samples/widgets/art/widgets/choicebk.xpm +54 -0
  178. data/samples/widgets/art/widgets/clrpicker.xpm +193 -0
  179. data/samples/widgets/art/widgets/combobox.xpm +54 -0
  180. data/samples/widgets/art/widgets/datepick.xpm +200 -0
  181. data/samples/widgets/art/widgets/dirctrl.xpm +54 -0
  182. data/samples/widgets/art/widgets/dirpicker.xpm +213 -0
  183. data/samples/widgets/art/widgets/filepicker.xpm +214 -0
  184. data/samples/widgets/art/widgets/fontpicker.xpm +185 -0
  185. data/samples/widgets/art/widgets/gauge.xpm +54 -0
  186. data/samples/widgets/art/widgets/header.xpm +54 -0
  187. data/samples/widgets/art/widgets/hyperlnk.xpm +54 -0
  188. data/samples/widgets/art/widgets/listbook.xpm +54 -0
  189. data/samples/widgets/art/widgets/listbox.xpm +54 -0
  190. data/samples/widgets/art/widgets/native.xpm +81 -0
  191. data/samples/widgets/art/widgets/notebook.xpm +54 -0
  192. data/samples/widgets/art/widgets/odcombobox.xpm +54 -0
  193. data/samples/widgets/art/widgets/radiobox.xpm +54 -0
  194. data/samples/widgets/art/widgets/scrolbar.xpm +54 -0
  195. data/samples/widgets/art/widgets/slider.xpm +54 -0
  196. data/samples/widgets/art/widgets/spinbtn.xpm +40 -0
  197. data/samples/widgets/art/widgets/statbmp.xpm +40 -0
  198. data/samples/widgets/art/widgets/statbox.xpm +54 -0
  199. data/samples/widgets/art/widgets/stattext.xpm +54 -0
  200. data/samples/widgets/art/widgets/text.xpm +54 -0
  201. data/samples/widgets/art/widgets/timepick.xpm +207 -0
  202. data/samples/widgets/art/widgets/toggle.xpm +54 -0
  203. data/samples/widgets/art/widgets/toucan.png +0 -0
  204. data/samples/widgets/bmpcombobox.rb +651 -0
  205. data/samples/widgets/button.rb +462 -0
  206. data/samples/widgets/checkbox.rb +211 -0
  207. data/samples/widgets/choice.rb +287 -0
  208. data/samples/widgets/clrpicker.rb +156 -0
  209. data/samples/widgets/combobox.rb +516 -0
  210. data/samples/widgets/datepick.rb +215 -0
  211. data/samples/widgets/dirctrl.rb +265 -0
  212. data/samples/widgets/dirpicker.rb +158 -0
  213. data/samples/widgets/editlbox.rb +122 -0
  214. data/samples/widgets/filectrl.rb +216 -0
  215. data/samples/widgets/filepicker.rb +214 -0
  216. data/samples/widgets/fontpicker.rb +135 -0
  217. data/samples/widgets/gauge.rb +311 -0
  218. data/samples/widgets/headerctrl.rb +236 -0
  219. data/samples/widgets/hyperlink.rb +203 -0
  220. data/samples/widgets/itemcontainer.rb +185 -0
  221. data/samples/widgets/listbox.rb +473 -0
  222. data/samples/widgets/notebook.rb +488 -0
  223. data/samples/widgets/odcombobox.rb +608 -0
  224. data/samples/widgets/radiobox.rb +328 -0
  225. data/samples/widgets/searchctrl.rb +159 -0
  226. data/samples/widgets/slider.rb +594 -0
  227. data/samples/widgets/spinbtn.rb +443 -0
  228. data/samples/widgets/statbmp.rb +130 -0
  229. data/samples/widgets/static.rb +436 -0
  230. data/samples/widgets/textctrl.rb +700 -0
  231. data/samples/widgets/timepick.rb +148 -0
  232. data/samples/widgets/tn_widgets.png +0 -0
  233. data/samples/widgets/toggle.rb +385 -0
  234. data/samples/widgets/widgets.rb +1229 -0
  235. data/samples/xrc/custom_xrc_sample.rb +47 -41
  236. data/samples/xrc/xrc_sample.rb +53 -47
  237. data/tests/test_config.rb +207 -42
  238. data/tests/test_event_handling.rb +52 -34
  239. data/tests/test_events.rb +7 -0
  240. data/tests/test_item_data.rb +24 -0
  241. data/tests/test_persistence.rb +142 -0
  242. data/tests/test_sizer.rb +44 -1
  243. data/tests/test_validators.rb +805 -0
  244. metadata +109 -138
  245. data/lib/wx/core/choice.rb +0 -14
  246. data/lib/wx/core/combo_ctrl.rb +0 -110
  247. data/rakelib/lib/typemap/grid_client_data.rb +0 -58
  248. data/samples/bigdemo/About.rbw +0 -39
  249. data/samples/bigdemo/ColorPanel.rbw +0 -23
  250. data/samples/bigdemo/GridSimple.rbw +0 -78
  251. data/samples/bigdemo/MDIDemo.rbw +0 -57
  252. data/samples/bigdemo/PopupMenu.rbw +0 -146
  253. data/samples/bigdemo/ShapedWindow.rbw +0 -128
  254. data/samples/bigdemo/Sizers.rbw +0 -541
  255. data/samples/bigdemo/bigdemo.rb +0 -817
  256. data/samples/bigdemo/demoTemplate.rbw +0 -33
  257. data/samples/bigdemo/helpfile.htb +0 -0
  258. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  259. data/samples/bigdemo/icons/Test 015.png +0 -0
  260. data/samples/bigdemo/icons/choice.bmp +0 -0
  261. data/samples/bigdemo/icons/combo.bmp +0 -0
  262. data/samples/bigdemo/icons/combo.xpm +0 -27
  263. data/samples/bigdemo/icons/copy.xpm +0 -25
  264. data/samples/bigdemo/icons/cut.xpm +0 -24
  265. data/samples/bigdemo/icons/gauge.bmp +0 -0
  266. data/samples/bigdemo/icons/gauge.xpm +0 -27
  267. data/samples/bigdemo/icons/help.xpm +0 -25
  268. data/samples/bigdemo/icons/list.bmp +0 -0
  269. data/samples/bigdemo/icons/list.xpm +0 -27
  270. data/samples/bigdemo/icons/mondrian.ico +0 -0
  271. data/samples/bigdemo/icons/mondrian.xpm +0 -44
  272. data/samples/bigdemo/icons/new.xpm +0 -24
  273. data/samples/bigdemo/icons/ogl.ico +0 -0
  274. data/samples/bigdemo/icons/ogl.xpm +0 -45
  275. data/samples/bigdemo/icons/open.xpm +0 -26
  276. data/samples/bigdemo/icons/paste.bmp +0 -0
  277. data/samples/bigdemo/icons/paste.xpm +0 -38
  278. data/samples/bigdemo/icons/pointy.png +0 -0
  279. data/samples/bigdemo/icons/preview.xpm +0 -26
  280. data/samples/bigdemo/icons/print.xpm +0 -26
  281. data/samples/bigdemo/icons/radio.bmp +0 -0
  282. data/samples/bigdemo/icons/radio.xpm +0 -27
  283. data/samples/bigdemo/icons/robert.xpm +0 -415
  284. data/samples/bigdemo/icons/sashtest.ico +0 -0
  285. data/samples/bigdemo/icons/save.xpm +0 -25
  286. data/samples/bigdemo/icons/smiles.bmp +0 -0
  287. data/samples/bigdemo/icons/smiles.xpm +0 -39
  288. data/samples/bigdemo/icons/smiley.ico +0 -0
  289. data/samples/bigdemo/icons/smiley.xpm +0 -42
  290. data/samples/bigdemo/icons/stattext.xpm +0 -24
  291. data/samples/bigdemo/icons/test2.bmp +0 -0
  292. data/samples/bigdemo/icons/test2.png +0 -0
  293. data/samples/bigdemo/icons/test2.xpm +0 -79
  294. data/samples/bigdemo/icons/text.bmp +0 -0
  295. data/samples/bigdemo/icons/text.xpm +0 -27
  296. data/samples/bigdemo/icons/tog1.bmp +0 -0
  297. data/samples/bigdemo/icons/tog1.xpm +0 -38
  298. data/samples/bigdemo/icons/tog2.bmp +0 -0
  299. data/samples/bigdemo/icons/tog2.xpm +0 -38
  300. data/samples/bigdemo/icons/wxruby-128x128.png +0 -0
  301. data/samples/bigdemo/icons/wxwin.ico +0 -0
  302. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  303. data/samples/bigdemo/icons/wxwin16x16.xpm +0 -25
  304. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  305. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  306. data/samples/bigdemo/run.rb +0 -98
  307. data/samples/bigdemo/tips.txt +0 -7
  308. data/samples/bigdemo/utils.rb +0 -20
  309. data/samples/bigdemo/wxArtProvider.rbw +0 -282
  310. data/samples/bigdemo/wxBitmapButton.rbw +0 -65
  311. data/samples/bigdemo/wxButton.rbw +0 -64
  312. data/samples/bigdemo/wxCalendarCtrl.rbw +0 -59
  313. data/samples/bigdemo/wxCheckBox.rbw +0 -50
  314. data/samples/bigdemo/wxCheckListBox.rbw +0 -65
  315. data/samples/bigdemo/wxChoice.rbw +0 -47
  316. data/samples/bigdemo/wxChoicebook.rbw +0 -78
  317. data/samples/bigdemo/wxColourDialog.rbw +0 -33
  318. data/samples/bigdemo/wxComboBox.rbw +0 -77
  319. data/samples/bigdemo/wxCursor.rbw +0 -136
  320. data/samples/bigdemo/wxDialog.rbw +0 -74
  321. data/samples/bigdemo/wxDirDialog.rbw +0 -29
  322. data/samples/bigdemo/wxDragImage.rbw +0 -70
  323. data/samples/bigdemo/wxFileDialog.rbw +0 -37
  324. data/samples/bigdemo/wxFileDialog_Save.rbw +0 -35
  325. data/samples/bigdemo/wxFindReplaceDialog.rbw +0 -82
  326. data/samples/bigdemo/wxFontDialog.rbw +0 -200
  327. data/samples/bigdemo/wxFrame.rbw +0 -53
  328. data/samples/bigdemo/wxGauge.rbw +0 -65
  329. data/samples/bigdemo/wxGenericDirCtrl.rbw +0 -74
  330. data/samples/bigdemo/wxGrid.rbw +0 -66
  331. data/samples/bigdemo/wxHtmlHelpController.rbw +0 -52
  332. data/samples/bigdemo/wxListBox.rbw +0 -140
  333. data/samples/bigdemo/wxListCtrl_virtual.rbw +0 -112
  334. data/samples/bigdemo/wxMDIWindows.rbw +0 -50
  335. data/samples/bigdemo/wxMenu.rbw +0 -247
  336. data/samples/bigdemo/wxMessageDialog.rbw +0 -27
  337. data/samples/bigdemo/wxMiniFrame.rbw +0 -70
  338. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +0 -29
  339. data/samples/bigdemo/wxNotebook.rbw +0 -136
  340. data/samples/bigdemo/wxProgressDialog.rbw +0 -43
  341. data/samples/bigdemo/wxRadioBox.rbw +0 -72
  342. data/samples/bigdemo/wxRadioButton.rbw +0 -125
  343. data/samples/bigdemo/wxSashWindow.rbw +0 -141
  344. data/samples/bigdemo/wxScrolledMessageDialog.rbw +0 -57
  345. data/samples/bigdemo/wxScrolledWindow.rbw +0 -199
  346. data/samples/bigdemo/wxSingleChoiceDialog.rbw +0 -33
  347. data/samples/bigdemo/wxSlider.rbw +0 -42
  348. data/samples/bigdemo/wxSpinButton.rbw +0 -50
  349. data/samples/bigdemo/wxSpinCtrl.rbw +0 -51
  350. data/samples/bigdemo/wxSplitterWindow.rbw +0 -63
  351. data/samples/bigdemo/wxStaticBitmap.rbw +0 -47
  352. data/samples/bigdemo/wxStaticText.rbw +0 -55
  353. data/samples/bigdemo/wxStatusBar.rbw +0 -126
  354. data/samples/bigdemo/wxTextCtrl.rbw +0 -149
  355. data/samples/bigdemo/wxTextEntryDialog.rbw +0 -31
  356. data/samples/bigdemo/wxToggleButton.rbw +0 -49
  357. data/samples/bigdemo/wxToolBar.rbw +0 -131
  358. data/samples/bigdemo/wxTreeCtrl.rbw +0 -191
  359. data/samples/caret/caret.rb +0 -298
  360. data/samples/caret/mondrian.xpm +0 -44
  361. data/samples/controls/books.rb +0 -189
  362. data/samples/controls/choice.xpm +0 -27
  363. data/samples/controls/combo.xpm +0 -27
  364. data/samples/controls/controls.rb +0 -1099
  365. data/samples/controls/gauge.xpm +0 -27
  366. data/samples/controls/list.xpm +0 -27
  367. data/samples/controls/mondrian.ico +0 -0
  368. data/samples/controls/mondrian.xpm +0 -44
  369. data/samples/controls/radio.xpm +0 -27
  370. data/samples/controls/stattext.xpm +0 -24
  371. data/samples/controls/test2.bmp +0 -0
  372. data/samples/controls/text.xpm +0 -27
  373. data/samples/controls/tn_books.png +0 -0
  374. data/samples/controls/tn_controls.png +0 -0
  375. data/samples/etc/choice.rb +0 -87
  376. data/samples/etc/tn_choice.png +0 -0
  377. data/samples/text/mondrian.ico +0 -0
  378. data/samples/text/mondrian.xpm +0 -44
  379. /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