wxruby3 0.9.0.pre.beta.8

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 (754) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +13 -0
  3. data/CREDITS.md +52 -0
  4. data/LICENSE +21 -0
  5. data/README.md +139 -0
  6. data/bin/wxruby +9 -0
  7. data/ext/mkrf_conf_srcgem.rb +64 -0
  8. data/ext/wxruby3/include/wxruby-runtime.h +104 -0
  9. data/ext/wxruby3/swig/RubyStockObjects.i +62 -0
  10. data/ext/wxruby3/swig/common.i +110 -0
  11. data/ext/wxruby3/swig/custom/rubyprimtypes.swg +225 -0
  12. data/ext/wxruby3/swig/custom/rubytracking.swg +60 -0
  13. data/ext/wxruby3/swig/custom/swig3/rubyrun.swg +456 -0
  14. data/ext/wxruby3/swig/custom/swig4/rubyrun.swg +459 -0
  15. data/ext/wxruby3/swig/mark_free_impl.i +377 -0
  16. data/ext/wxruby3/swig/memory_management.i +142 -0
  17. data/ext/wxruby3/swig/typedefs.i +27 -0
  18. data/ext/wxruby3/swig/wx.i +282 -0
  19. data/ext/wxruby3/swig/wx.rc +19 -0
  20. data/ext/wxruby3/wxruby.ico +0 -0
  21. data/lib/wx/accessors.rb +63 -0
  22. data/lib/wx/aui/auimanager.rb +17 -0
  23. data/lib/wx/aui/auinotebook.rb +9 -0
  24. data/lib/wx/aui/require.rb +9 -0
  25. data/lib/wx/aui.rb +14 -0
  26. data/lib/wx/core/acceleratortable.rb +28 -0
  27. data/lib/wx/core/animation.rb +18 -0
  28. data/lib/wx/core/app.rb +89 -0
  29. data/lib/wx/core/artprovider.rb +31 -0
  30. data/lib/wx/core/bitmap.rb +59 -0
  31. data/lib/wx/core/busycursor.rb +12 -0
  32. data/lib/wx/core/choice.rb +4 -0
  33. data/lib/wx/core/choicedlg.rb +54 -0
  34. data/lib/wx/core/clientdc.rb +13 -0
  35. data/lib/wx/core/clipboard.rb +56 -0
  36. data/lib/wx/core/collapsible_pane.rb +12 -0
  37. data/lib/wx/core/colour.rb +34 -0
  38. data/lib/wx/core/combobox.rb +4 -0
  39. data/lib/wx/core/controlwithitems.rb +10 -0
  40. data/lib/wx/core/data_object.rb +10 -0
  41. data/lib/wx/core/dataformat.rb +26 -0
  42. data/lib/wx/core/dc.rb +68 -0
  43. data/lib/wx/core/dialog.rb +50 -0
  44. data/lib/wx/core/enum.rb +28 -0
  45. data/lib/wx/core/event.rb +16 -0
  46. data/lib/wx/core/evthandler.rb +253 -0
  47. data/lib/wx/core/ext.rb +58 -0
  48. data/lib/wx/core/font.rb +22 -0
  49. data/lib/wx/core/functions.rb +44 -0
  50. data/lib/wx/core/gauge.rb +12 -0
  51. data/lib/wx/core/genericdirctrl.rb +36 -0
  52. data/lib/wx/core/hboxsizer.rb +6 -0
  53. data/lib/wx/core/helpcontroller.rb +5 -0
  54. data/lib/wx/core/helpcontrollerhelpprovider.rb +24 -0
  55. data/lib/wx/core/helpprovider.rb +15 -0
  56. data/lib/wx/core/icon.rb +40 -0
  57. data/lib/wx/core/image.rb +68 -0
  58. data/lib/wx/core/imagelist.rb +3 -0
  59. data/lib/wx/core/listbox.rb +4 -0
  60. data/lib/wx/core/listctrl.rb +33 -0
  61. data/lib/wx/core/locale.rb +73 -0
  62. data/lib/wx/core/log.rb +20 -0
  63. data/lib/wx/core/menu.rb +78 -0
  64. data/lib/wx/core/menu_bar.rb +20 -0
  65. data/lib/wx/core/menuitem.rb +7 -0
  66. data/lib/wx/core/notebook.rb +9 -0
  67. data/lib/wx/core/object.rb +14 -0
  68. data/lib/wx/core/pen_info.rb +11 -0
  69. data/lib/wx/core/platform_info.rb +13 -0
  70. data/lib/wx/core/point.rb +92 -0
  71. data/lib/wx/core/real_point.rb +92 -0
  72. data/lib/wx/core/rect.rb +57 -0
  73. data/lib/wx/core/simplehelpprovider.rb +38 -0
  74. data/lib/wx/core/size.rb +86 -0
  75. data/lib/wx/core/sizer.rb +43 -0
  76. data/lib/wx/core/splash_screen.rb +44 -0
  77. data/lib/wx/core/textctrl.rb +8 -0
  78. data/lib/wx/core/timer.rb +104 -0
  79. data/lib/wx/core/toolbar.rb +37 -0
  80. data/lib/wx/core/toolbartool.rb +4 -0
  81. data/lib/wx/core/treectrl.rb +46 -0
  82. data/lib/wx/core/validator.rb +8 -0
  83. data/lib/wx/core/variant.rb +62 -0
  84. data/lib/wx/core/vboxsizer.rb +6 -0
  85. data/lib/wx/core/window.rb +95 -0
  86. data/lib/wx/core/window_update_locker.rb +12 -0
  87. data/lib/wx/core/xmlresource.rb +56 -0
  88. data/lib/wx/core.rb +61 -0
  89. data/lib/wx/doc/aui/auimanager.rb +12 -0
  90. data/lib/wx/doc/aui/auinotebook.rb +9 -0
  91. data/lib/wx/doc/colour_dialog.rb +15 -0
  92. data/lib/wx/doc/core.rb +11 -0
  93. data/lib/wx/doc/dc.rb +49 -0
  94. data/lib/wx/doc/enum.rb +88 -0
  95. data/lib/wx/doc/evthandler.rb +87 -0
  96. data/lib/wx/doc/extra/00_starting.md +154 -0
  97. data/lib/wx/doc/extra/01_packages.md +179 -0
  98. data/lib/wx/doc/extra/02_lifecycles.md +116 -0
  99. data/lib/wx/doc/extra/03_dialogs.md +57 -0
  100. data/lib/wx/doc/extra/04_enums.md +143 -0
  101. data/lib/wx/doc/extra/05_event-handling.md +166 -0
  102. data/lib/wx/doc/extra/06_geometry.md +56 -0
  103. data/lib/wx/doc/extra/07_colour_and_font.md +52 -0
  104. data/lib/wx/doc/extra/08_extensions.md +144 -0
  105. data/lib/wx/doc/extra/09_exceptions.md +54 -0
  106. data/lib/wx/doc/functions.rb +221 -0
  107. data/lib/wx/doc/gdi_common.rb +181 -0
  108. data/lib/wx/doc/grid/grid.rb +20 -0
  109. data/lib/wx/doc/help_controller.rb +14 -0
  110. data/lib/wx/doc/html/html_help_controller.rb +8 -0
  111. data/lib/wx/doc/pg/events.rb +15 -0
  112. data/lib/wx/doc/pg/pg_property.rb +8 -0
  113. data/lib/wx/doc/pg/pgeditor.rb +21 -0
  114. data/lib/wx/doc/pg/property_grid.rb +48 -0
  115. data/lib/wx/doc/pg/property_grid_interface.rb +64 -0
  116. data/lib/wx/doc/prt/page_setup_dialog.rb +15 -0
  117. data/lib/wx/doc/prt/print_data.rb +9 -0
  118. data/lib/wx/doc/prt/print_dialog.rb +26 -0
  119. data/lib/wx/doc/prt/printer.rb +15 -0
  120. data/lib/wx/doc/rbn/ribbon_bar.rb +9 -0
  121. data/lib/wx/doc/rbn/ribbon_button_bar.rb +9 -0
  122. data/lib/wx/doc/rbn/ribbon_gallery.rb +9 -0
  123. data/lib/wx/doc/rbn/ribbon_tool_bar.rb +9 -0
  124. data/lib/wx/doc/rtc/richtext_printing.rb +14 -0
  125. data/lib/wx/doc/screen_dc.rb +10 -0
  126. data/lib/wx/doc/stock_objects.rb +98 -0
  127. data/lib/wx/doc/stream.rb +38 -0
  128. data/lib/wx/doc/system_settings.rb +29 -0
  129. data/lib/wx/doc/treebook.rb +9 -0
  130. data/lib/wx/doc/variant.rb +163 -0
  131. data/lib/wx/doc/xml_resource.rb +19 -0
  132. data/lib/wx/global_const.rb +84 -0
  133. data/lib/wx/grid/grid.rb +7 -0
  134. data/lib/wx/grid/keyword_defs.rb +10 -0
  135. data/lib/wx/grid/require.rb +9 -0
  136. data/lib/wx/grid.rb +14 -0
  137. data/lib/wx/helpers.rb +65 -0
  138. data/lib/wx/html/htmlhelpcontroller.rb +6 -0
  139. data/lib/wx/html/htmlwindow.rb +19 -0
  140. data/lib/wx/html/keyword_defs.rb +22 -0
  141. data/lib/wx/html/require.rb +10 -0
  142. data/lib/wx/html.rb +15 -0
  143. data/lib/wx/keyword_ctors.rb +226 -0
  144. data/lib/wx/keyword_defs.rb +487 -0
  145. data/lib/wx/pg/events.rb +14 -0
  146. data/lib/wx/pg/keyword_defs.rb +15 -0
  147. data/lib/wx/pg/pg_editor.rb +13 -0
  148. data/lib/wx/pg/pg_properties.rb +24 -0
  149. data/lib/wx/pg/pg_property.rb +27 -0
  150. data/lib/wx/pg/property_grid.rb +71 -0
  151. data/lib/wx/pg/property_grid_interface.rb +46 -0
  152. data/lib/wx/pg/require.rb +12 -0
  153. data/lib/wx/pg.rb +14 -0
  154. data/lib/wx/prt/keyword_defs.rb +8 -0
  155. data/lib/wx/prt/page_setup_dialog.rb +15 -0
  156. data/lib/wx/prt/previewframe.rb +13 -0
  157. data/lib/wx/prt/require.rb +8 -0
  158. data/lib/wx/prt.rb +14 -0
  159. data/lib/wx/rbn/events.rb +4 -0
  160. data/lib/wx/rbn/keyword_defs.rb +43 -0
  161. data/lib/wx/rbn/require.rb +12 -0
  162. data/lib/wx/rbn/ribbon_art_provider.rb +10 -0
  163. data/lib/wx/rbn/ribbon_bar.rb +12 -0
  164. data/lib/wx/rbn/ribbon_button_bar.rb +26 -0
  165. data/lib/wx/rbn/ribbon_control.rb +25 -0
  166. data/lib/wx/rbn/ribbon_gallery.rb +26 -0
  167. data/lib/wx/rbn/ribbon_page.rb +15 -0
  168. data/lib/wx/rbn/ribbon_panel.rb +15 -0
  169. data/lib/wx/rbn/ribbon_tool_bar.rb +26 -0
  170. data/lib/wx/rbn.rb +14 -0
  171. data/lib/wx/rtc/ext.rb +15 -0
  172. data/lib/wx/rtc/keyword_defs.rb +17 -0
  173. data/lib/wx/rtc/require.rb +8 -0
  174. data/lib/wx/rtc.rb +15 -0
  175. data/lib/wx/stc/keyword_defs.rb +8 -0
  176. data/lib/wx/stc/require.rb +7 -0
  177. data/lib/wx/stc.rb +14 -0
  178. data/lib/wx/version.rb +3 -0
  179. data/lib/wx/wxruby/base.rb +87 -0
  180. data/lib/wx/wxruby/cmd/sampler.rb +68 -0
  181. data/lib/wx/wxruby/cmd/test.rb +27 -0
  182. data/lib/wx.rb +14 -0
  183. data/rakelib/build.rake +62 -0
  184. data/rakelib/build.rb +141 -0
  185. data/rakelib/config.rake +48 -0
  186. data/rakelib/configure.rb +131 -0
  187. data/rakelib/doc.rake +21 -0
  188. data/rakelib/doc.rb +35 -0
  189. data/rakelib/install.rake +30 -0
  190. data/rakelib/install.rb +220 -0
  191. data/rakelib/lib/config/cygwin.rb +6 -0
  192. data/rakelib/lib/config/linux.rb +78 -0
  193. data/rakelib/lib/config/macosx.rb +6 -0
  194. data/rakelib/lib/config/mingw.rb +133 -0
  195. data/rakelib/lib/config/netbsd.rb +6 -0
  196. data/rakelib/lib/config/unixish.rb +187 -0
  197. data/rakelib/lib/config.rb +673 -0
  198. data/rakelib/lib/core/include/enum.inc +306 -0
  199. data/rakelib/lib/core/include/funcall.inc +277 -0
  200. data/rakelib/lib/core/include/init.inc +95 -0
  201. data/rakelib/lib/core/mapping.rb +1116 -0
  202. data/rakelib/lib/core/package.rb +634 -0
  203. data/rakelib/lib/core/parameter.rb +222 -0
  204. data/rakelib/lib/core/spec.rb +468 -0
  205. data/rakelib/lib/core/spec_helper.rb +405 -0
  206. data/rakelib/lib/director/about_dialog_info.rb +24 -0
  207. data/rakelib/lib/director/accelerator.rb +88 -0
  208. data/rakelib/lib/director/animation.rb +84 -0
  209. data/rakelib/lib/director/animation_ctrl.rb +24 -0
  210. data/rakelib/lib/director/any_button.rb +34 -0
  211. data/rakelib/lib/director/app.rb +420 -0
  212. data/rakelib/lib/director/art_provider.rb +124 -0
  213. data/rakelib/lib/director/aui_dock_art.rb +23 -0
  214. data/rakelib/lib/director/aui_floating_frame.rb +26 -0
  215. data/rakelib/lib/director/aui_manager.rb +114 -0
  216. data/rakelib/lib/director/aui_manager_event.rb +22 -0
  217. data/rakelib/lib/director/aui_mdi_child_frame.rb +50 -0
  218. data/rakelib/lib/director/aui_mdi_client_window.rb +23 -0
  219. data/rakelib/lib/director/aui_mdi_parent_frame.rb +26 -0
  220. data/rakelib/lib/director/aui_notebook.rb +77 -0
  221. data/rakelib/lib/director/aui_notebook_event.rb +23 -0
  222. data/rakelib/lib/director/aui_pane_info.rb +102 -0
  223. data/rakelib/lib/director/aui_tab_art.rb +47 -0
  224. data/rakelib/lib/director/aui_tab_ctrl.rb +121 -0
  225. data/rakelib/lib/director/aui_toolbar.rb +22 -0
  226. data/rakelib/lib/director/aui_toolbar_art.rb +24 -0
  227. data/rakelib/lib/director/aui_toolbar_event.rb +23 -0
  228. data/rakelib/lib/director/aui_toolbar_item.rb +21 -0
  229. data/rakelib/lib/director/bitmap.rb +87 -0
  230. data/rakelib/lib/director/book_ctrls.rb +104 -0
  231. data/rakelib/lib/director/brush.rb +28 -0
  232. data/rakelib/lib/director/busy_info.rb +71 -0
  233. data/rakelib/lib/director/button.rb +22 -0
  234. data/rakelib/lib/director/calendar_ctrl.rb +98 -0
  235. data/rakelib/lib/director/calendar_date_attr.rb +22 -0
  236. data/rakelib/lib/director/caret.rb +31 -0
  237. data/rakelib/lib/director/check_listbox.rb +33 -0
  238. data/rakelib/lib/director/choice.rb +32 -0
  239. data/rakelib/lib/director/clipboard.rb +37 -0
  240. data/rakelib/lib/director/collapsible_pane.rb +22 -0
  241. data/rakelib/lib/director/collapsible_pane_event.rb +22 -0
  242. data/rakelib/lib/director/colour.rb +64 -0
  243. data/rakelib/lib/director/colour_picker_ctrl.rb +22 -0
  244. data/rakelib/lib/director/combobox.rb +37 -0
  245. data/rakelib/lib/director/control.rb +22 -0
  246. data/rakelib/lib/director/ctrl_with_items.rb +68 -0
  247. data/rakelib/lib/director/cursor.rb +28 -0
  248. data/rakelib/lib/director/data_format.rb +31 -0
  249. data/rakelib/lib/director/data_object.rb +64 -0
  250. data/rakelib/lib/director/date_event.rb +141 -0
  251. data/rakelib/lib/director/date_picker_ctrl.rb +39 -0
  252. data/rakelib/lib/director/dc.rb +52 -0
  253. data/rakelib/lib/director/defs.rb +139 -0
  254. data/rakelib/lib/director/derived_dc.rb +64 -0
  255. data/rakelib/lib/director/dialog.rb +214 -0
  256. data/rakelib/lib/director/dir_filterlist_ctrl.rb +29 -0
  257. data/rakelib/lib/director/dir_picker_ctrl.rb +22 -0
  258. data/rakelib/lib/director/drag_image.rb +20 -0
  259. data/rakelib/lib/director/dragdrop.rb +61 -0
  260. data/rakelib/lib/director/editable_listbox.rb +21 -0
  261. data/rakelib/lib/director/event.rb +171 -0
  262. data/rakelib/lib/director/event_handler.rb +410 -0
  263. data/rakelib/lib/director/events.rb +39 -0
  264. data/rakelib/lib/director/file_picker_ctrl.rb +22 -0
  265. data/rakelib/lib/director/find_dialog_event.rb +22 -0
  266. data/rakelib/lib/director/find_replace_data.rb +20 -0
  267. data/rakelib/lib/director/font.rb +138 -0
  268. data/rakelib/lib/director/font_data.rb +22 -0
  269. data/rakelib/lib/director/font_picker_ctrl.rb +22 -0
  270. data/rakelib/lib/director/frame.rb +74 -0
  271. data/rakelib/lib/director/fs_file.rb +353 -0
  272. data/rakelib/lib/director/functions.rb +284 -0
  273. data/rakelib/lib/director/gdi_object.rb +21 -0
  274. data/rakelib/lib/director/gdicommon.rb +94 -0
  275. data/rakelib/lib/director/generic_dirctrl.rb +24 -0
  276. data/rakelib/lib/director/graphics_context.rb +143 -0
  277. data/rakelib/lib/director/graphics_object.rb +69 -0
  278. data/rakelib/lib/director/grid_cell_attr.rb +53 -0
  279. data/rakelib/lib/director/grid_cell_editor.rb +434 -0
  280. data/rakelib/lib/director/grid_cell_renderer.rb +132 -0
  281. data/rakelib/lib/director/grid_ctrl.rb +390 -0
  282. data/rakelib/lib/director/grid_range_select_event.rb +23 -0
  283. data/rakelib/lib/director/grid_table_base.rb +63 -0
  284. data/rakelib/lib/director/grid_table_message.rb +20 -0
  285. data/rakelib/lib/director/help_controller.rb +75 -0
  286. data/rakelib/lib/director/help_provider.rb +103 -0
  287. data/rakelib/lib/director/html_cell.rb +36 -0
  288. data/rakelib/lib/director/html_easy_printing.rb +45 -0
  289. data/rakelib/lib/director/html_event.rb +24 -0
  290. data/rakelib/lib/director/html_help_data.rb +43 -0
  291. data/rakelib/lib/director/html_help_frame.rb +25 -0
  292. data/rakelib/lib/director/html_listbox.rb +54 -0
  293. data/rakelib/lib/director/html_printout.rb +47 -0
  294. data/rakelib/lib/director/html_window.rb +114 -0
  295. data/rakelib/lib/director/icon.rb +33 -0
  296. data/rakelib/lib/director/image.rb +111 -0
  297. data/rakelib/lib/director/image_list.rb +21 -0
  298. data/rakelib/lib/director/list_ctrl.rb +197 -0
  299. data/rakelib/lib/director/listbox.rb +32 -0
  300. data/rakelib/lib/director/locale.rb +35 -0
  301. data/rakelib/lib/director/log.rb +32 -0
  302. data/rakelib/lib/director/mdi_frame.rb +36 -0
  303. data/rakelib/lib/director/media_ctrl.rb +22 -0
  304. data/rakelib/lib/director/menu.rb +92 -0
  305. data/rakelib/lib/director/menu_bar.rb +28 -0
  306. data/rakelib/lib/director/menu_item.rb +36 -0
  307. data/rakelib/lib/director/mouse_state.rb +21 -0
  308. data/rakelib/lib/director/numeric_property_validator.rb +38 -0
  309. data/rakelib/lib/director/object.rb +32 -0
  310. data/rakelib/lib/director/page_setup_dialog.rb +30 -0
  311. data/rakelib/lib/director/palette.rb +25 -0
  312. data/rakelib/lib/director/panel.rb +22 -0
  313. data/rakelib/lib/director/pen.rb +174 -0
  314. data/rakelib/lib/director/pgarray_editor_dialog.rb +64 -0
  315. data/rakelib/lib/director/pgcell.rb +68 -0
  316. data/rakelib/lib/director/pgeditor.rb +154 -0
  317. data/rakelib/lib/director/pgmulti_button.rb +22 -0
  318. data/rakelib/lib/director/pgproperties.rb +216 -0
  319. data/rakelib/lib/director/pgproperty.rb +207 -0
  320. data/rakelib/lib/director/pgvalidation_info.rb +24 -0
  321. data/rakelib/lib/director/pickerbase.rb +22 -0
  322. data/rakelib/lib/director/platform_info.rb +49 -0
  323. data/rakelib/lib/director/popup_window.rb +23 -0
  324. data/rakelib/lib/director/preview_frame.rb +39 -0
  325. data/rakelib/lib/director/print_data.rb +33 -0
  326. data/rakelib/lib/director/print_dialog.rb +36 -0
  327. data/rakelib/lib/director/printer.rb +61 -0
  328. data/rakelib/lib/director/property_grid.rb +174 -0
  329. data/rakelib/lib/director/property_grid_event.rb +23 -0
  330. data/rakelib/lib/director/property_grid_interface.rb +227 -0
  331. data/rakelib/lib/director/property_grid_manager.rb +90 -0
  332. data/rakelib/lib/director/property_grid_page.rb +76 -0
  333. data/rakelib/lib/director/property_grid_page_state.rb +32 -0
  334. data/rakelib/lib/director/radio_box.rb +39 -0
  335. data/rakelib/lib/director/region.rb +25 -0
  336. data/rakelib/lib/director/ribbon_art_provider.rb +154 -0
  337. data/rakelib/lib/director/ribbon_bar.rb +24 -0
  338. data/rakelib/lib/director/ribbon_bar_event.rb +22 -0
  339. data/rakelib/lib/director/ribbon_button_bar.rb +37 -0
  340. data/rakelib/lib/director/ribbon_button_bar_event.rb +40 -0
  341. data/rakelib/lib/director/ribbon_ctrl.rb +28 -0
  342. data/rakelib/lib/director/ribbon_gallery.rb +33 -0
  343. data/rakelib/lib/director/ribbon_gallery_event.rb +27 -0
  344. data/rakelib/lib/director/ribbon_page.rb +21 -0
  345. data/rakelib/lib/director/ribbon_panel.rb +22 -0
  346. data/rakelib/lib/director/ribbon_panel_event.rb +22 -0
  347. data/rakelib/lib/director/ribbon_tool_bar.rb +146 -0
  348. data/rakelib/lib/director/ribbon_tool_bar_event.rb +22 -0
  349. data/rakelib/lib/director/richtext_buffer.rb +46 -0
  350. data/rakelib/lib/director/richtext_ctrl.rb +63 -0
  351. data/rakelib/lib/director/richtext_event.rb +25 -0
  352. data/rakelib/lib/director/richtext_file_handler.rb +42 -0
  353. data/rakelib/lib/director/richtext_header_footer_data.rb +21 -0
  354. data/rakelib/lib/director/richtext_printing.rb +44 -0
  355. data/rakelib/lib/director/sash_layout_event.rb +22 -0
  356. data/rakelib/lib/director/sash_layout_window.rb +23 -0
  357. data/rakelib/lib/director/sash_window.rb +23 -0
  358. data/rakelib/lib/director/scrolled_t.rb +67 -0
  359. data/rakelib/lib/director/sizer.rb +67 -0
  360. data/rakelib/lib/director/sizer_item.rb +35 -0
  361. data/rakelib/lib/director/splash_screen.rb +24 -0
  362. data/rakelib/lib/director/splitter_event.rb +28 -0
  363. data/rakelib/lib/director/splitter_window.rb +25 -0
  364. data/rakelib/lib/director/static_bitmap.rb +24 -0
  365. data/rakelib/lib/director/static_box.rb +26 -0
  366. data/rakelib/lib/director/status_bar.rb +86 -0
  367. data/rakelib/lib/director/styled_text_ctrl.rb +82 -0
  368. data/rakelib/lib/director/styled_text_event.rb +25 -0
  369. data/rakelib/lib/director/system_options.rb +22 -0
  370. data/rakelib/lib/director/system_settings.rb +47 -0
  371. data/rakelib/lib/director/task_bar_icon.rb +77 -0
  372. data/rakelib/lib/director/text_attr.rb +22 -0
  373. data/rakelib/lib/director/text_entry.rb +26 -0
  374. data/rakelib/lib/director/text_validator.rb +47 -0
  375. data/rakelib/lib/director/textctrl.rb +80 -0
  376. data/rakelib/lib/director/time_picker_ctrl.rb +24 -0
  377. data/rakelib/lib/director/timer.rb +37 -0
  378. data/rakelib/lib/director/tip_provider.rb +44 -0
  379. data/rakelib/lib/director/toggle_button.rb +22 -0
  380. data/rakelib/lib/director/tool_bar.rb +62 -0
  381. data/rakelib/lib/director/tool_tip.rb +20 -0
  382. data/rakelib/lib/director/top_level_window.rb +105 -0
  383. data/rakelib/lib/director/tree_ctrl.rb +411 -0
  384. data/rakelib/lib/director/tree_event.rb +78 -0
  385. data/rakelib/lib/director/utils.rb +55 -0
  386. data/rakelib/lib/director/validator.rb +44 -0
  387. data/rakelib/lib/director/variant.rb +549 -0
  388. data/rakelib/lib/director/vlistbox.rb +46 -0
  389. data/rakelib/lib/director/vscrolled_window.rb +59 -0
  390. data/rakelib/lib/director/window.rb +296 -0
  391. data/rakelib/lib/director/window_disabler.rb +44 -0
  392. data/rakelib/lib/director/with_images.rb +65 -0
  393. data/rakelib/lib/director/wizard_page.rb +35 -0
  394. data/rakelib/lib/director/xml_node.rb +48 -0
  395. data/rakelib/lib/director/xml_resource.rb +141 -0
  396. data/rakelib/lib/director.rb +487 -0
  397. data/rakelib/lib/ext/enum_chain.rb +22 -0
  398. data/rakelib/lib/extractor/class.rb +384 -0
  399. data/rakelib/lib/extractor/enum.rb +94 -0
  400. data/rakelib/lib/extractor/function.rb +377 -0
  401. data/rakelib/lib/extractor/module.rb +140 -0
  402. data/rakelib/lib/extractor/variable.rb +145 -0
  403. data/rakelib/lib/extractor.rb +438 -0
  404. data/rakelib/lib/generate/analyzer.rb +593 -0
  405. data/rakelib/lib/generate/base.rb +37 -0
  406. data/rakelib/lib/generate/doc.rb +833 -0
  407. data/rakelib/lib/generate/interface.rb +742 -0
  408. data/rakelib/lib/generate/rakedep.rb +130 -0
  409. data/rakelib/lib/specs/interfaces.rb +324 -0
  410. data/rakelib/lib/streams.rb +206 -0
  411. data/rakelib/lib/swig_runner.rb +682 -0
  412. data/rakelib/lib/typemap/array_int_selections.rb +57 -0
  413. data/rakelib/lib/typemap/common.rb +613 -0
  414. data/rakelib/lib/typemap/data_format.rb +76 -0
  415. data/rakelib/lib/typemap/data_object_data.rb +99 -0
  416. data/rakelib/lib/typemap/datetime.rb +64 -0
  417. data/rakelib/lib/typemap/grid_client_data.rb +55 -0
  418. data/rakelib/lib/typemap/grid_coords.rb +65 -0
  419. data/rakelib/lib/typemap/html_cell.rb +57 -0
  420. data/rakelib/lib/typemap/io_streams.rb +162 -0
  421. data/rakelib/lib/typemap/pgcell.rb +35 -0
  422. data/rakelib/lib/typemap/pgeditor.rb +35 -0
  423. data/rakelib/lib/typemap/pgprop_arg.rb +74 -0
  424. data/rakelib/lib/typemap/pgproperty.rb +35 -0
  425. data/rakelib/lib/typemap/points_list.rb +124 -0
  426. data/rakelib/lib/typemap/richtext.rb +67 -0
  427. data/rakelib/lib/typemap/tree_itemid.rb +49 -0
  428. data/rakelib/lib/util/string.rb +141 -0
  429. data/rakelib/prepost.rake +91 -0
  430. data/rakelib/prepost.rb +26 -0
  431. data/rakelib/run.rake +49 -0
  432. data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +7 -0
  433. data/rakelib/yard/templates/default/layout/html/setup.rb +5 -0
  434. data/rakelib/yard/yard/relative_markdown_links/version.rb +8 -0
  435. data/rakelib/yard/yard/relative_markdown_links.rb +39 -0
  436. data/rakelib/yard/yard-custom-templates.rb +2 -0
  437. data/rakelib/yard/yard-relative_markdown_links.rb +4 -0
  438. data/samples/art/wxruby-128x128.png +0 -0
  439. data/samples/art/wxruby-256x256.png +0 -0
  440. data/samples/art/wxruby-64x64.png +0 -0
  441. data/samples/art/wxruby.ico +0 -0
  442. data/samples/art/wxruby.png +0 -0
  443. data/samples/aui/aui.rb +1321 -0
  444. data/samples/aui/tn_aui.png +0 -0
  445. data/samples/bigdemo/About.rbw +39 -0
  446. data/samples/bigdemo/ColorPanel.rbw +23 -0
  447. data/samples/bigdemo/GridSimple.rbw +78 -0
  448. data/samples/bigdemo/MDIDemo.rbw +57 -0
  449. data/samples/bigdemo/PopupMenu.rbw +146 -0
  450. data/samples/bigdemo/ShapedWindow.rbw +128 -0
  451. data/samples/bigdemo/Sizers.rbw +541 -0
  452. data/samples/bigdemo/bigdemo.rb +810 -0
  453. data/samples/bigdemo/demoTemplate.rbw +33 -0
  454. data/samples/bigdemo/helpfile.htb +0 -0
  455. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  456. data/samples/bigdemo/icons/Test 015.png +0 -0
  457. data/samples/bigdemo/icons/choice.bmp +0 -0
  458. data/samples/bigdemo/icons/choice.xpm +27 -0
  459. data/samples/bigdemo/icons/combo.bmp +0 -0
  460. data/samples/bigdemo/icons/combo.xpm +27 -0
  461. data/samples/bigdemo/icons/copy.xpm +25 -0
  462. data/samples/bigdemo/icons/cut.xpm +24 -0
  463. data/samples/bigdemo/icons/gauge.bmp +0 -0
  464. data/samples/bigdemo/icons/gauge.xpm +27 -0
  465. data/samples/bigdemo/icons/help.xpm +25 -0
  466. data/samples/bigdemo/icons/list.bmp +0 -0
  467. data/samples/bigdemo/icons/list.xpm +27 -0
  468. data/samples/bigdemo/icons/mondrian.ico +0 -0
  469. data/samples/bigdemo/icons/mondrian.xpm +44 -0
  470. data/samples/bigdemo/icons/new.xpm +24 -0
  471. data/samples/bigdemo/icons/ogl.ico +0 -0
  472. data/samples/bigdemo/icons/ogl.xpm +45 -0
  473. data/samples/bigdemo/icons/open.xpm +26 -0
  474. data/samples/bigdemo/icons/paste.bmp +0 -0
  475. data/samples/bigdemo/icons/paste.xpm +38 -0
  476. data/samples/bigdemo/icons/pointy.png +0 -0
  477. data/samples/bigdemo/icons/preview.xpm +26 -0
  478. data/samples/bigdemo/icons/print.xpm +26 -0
  479. data/samples/bigdemo/icons/radio.bmp +0 -0
  480. data/samples/bigdemo/icons/radio.xpm +27 -0
  481. data/samples/bigdemo/icons/robert.xpm +415 -0
  482. data/samples/bigdemo/icons/sashtest.ico +0 -0
  483. data/samples/bigdemo/icons/save.xpm +25 -0
  484. data/samples/bigdemo/icons/smiles.bmp +0 -0
  485. data/samples/bigdemo/icons/smiles.xpm +39 -0
  486. data/samples/bigdemo/icons/smiley.ico +0 -0
  487. data/samples/bigdemo/icons/smiley.xpm +42 -0
  488. data/samples/bigdemo/icons/stattext.xpm +24 -0
  489. data/samples/bigdemo/icons/test2.bmp +0 -0
  490. data/samples/bigdemo/icons/test2.png +0 -0
  491. data/samples/bigdemo/icons/test2.xpm +79 -0
  492. data/samples/bigdemo/icons/text.bmp +0 -0
  493. data/samples/bigdemo/icons/text.xpm +27 -0
  494. data/samples/bigdemo/icons/tog1.bmp +0 -0
  495. data/samples/bigdemo/icons/tog1.xpm +38 -0
  496. data/samples/bigdemo/icons/tog2.bmp +0 -0
  497. data/samples/bigdemo/icons/tog2.xpm +38 -0
  498. data/samples/bigdemo/icons/wxruby-128x128.png +0 -0
  499. data/samples/bigdemo/icons/wxwin.ico +0 -0
  500. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  501. data/samples/bigdemo/icons/wxwin16x16.xpm +25 -0
  502. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  503. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  504. data/samples/bigdemo/run.rb +91 -0
  505. data/samples/bigdemo/tips.txt +7 -0
  506. data/samples/bigdemo/utils.rb +12 -0
  507. data/samples/bigdemo/wxArtProvider.rbw +281 -0
  508. data/samples/bigdemo/wxBitmapButton.rbw +65 -0
  509. data/samples/bigdemo/wxButton.rbw +64 -0
  510. data/samples/bigdemo/wxCalendarCtrl.rbw +59 -0
  511. data/samples/bigdemo/wxCheckBox.rbw +50 -0
  512. data/samples/bigdemo/wxCheckListBox.rbw +65 -0
  513. data/samples/bigdemo/wxChoice.rbw +47 -0
  514. data/samples/bigdemo/wxChoicebook.rbw +78 -0
  515. data/samples/bigdemo/wxColourDialog.rbw +33 -0
  516. data/samples/bigdemo/wxComboBox.rbw +77 -0
  517. data/samples/bigdemo/wxCursor.rbw +136 -0
  518. data/samples/bigdemo/wxDialog.rbw +74 -0
  519. data/samples/bigdemo/wxDirDialog.rbw +29 -0
  520. data/samples/bigdemo/wxDragImage.rbw +70 -0
  521. data/samples/bigdemo/wxFileDialog.rbw +37 -0
  522. data/samples/bigdemo/wxFileDialog_Save.rbw +35 -0
  523. data/samples/bigdemo/wxFindReplaceDialog.rbw +82 -0
  524. data/samples/bigdemo/wxFontDialog.rbw +200 -0
  525. data/samples/bigdemo/wxFrame.rbw +53 -0
  526. data/samples/bigdemo/wxGauge.rbw +65 -0
  527. data/samples/bigdemo/wxGenericDirCtrl.rbw +74 -0
  528. data/samples/bigdemo/wxGrid.rbw +66 -0
  529. data/samples/bigdemo/wxHtmlHelpController.rbw +52 -0
  530. data/samples/bigdemo/wxListBox.rbw +140 -0
  531. data/samples/bigdemo/wxListCtrl_virtual.rbw +112 -0
  532. data/samples/bigdemo/wxMDIWindows.rbw +50 -0
  533. data/samples/bigdemo/wxMenu.rbw +247 -0
  534. data/samples/bigdemo/wxMessageDialog.rbw +27 -0
  535. data/samples/bigdemo/wxMiniFrame.rbw +70 -0
  536. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +29 -0
  537. data/samples/bigdemo/wxNotebook.rbw +136 -0
  538. data/samples/bigdemo/wxProgressDialog.rbw +43 -0
  539. data/samples/bigdemo/wxRadioBox.rbw +72 -0
  540. data/samples/bigdemo/wxRadioButton.rbw +125 -0
  541. data/samples/bigdemo/wxSashWindow.rbw +141 -0
  542. data/samples/bigdemo/wxScrolledMessageDialog.rbw +57 -0
  543. data/samples/bigdemo/wxScrolledWindow.rbw +199 -0
  544. data/samples/bigdemo/wxSingleChoiceDialog.rbw +33 -0
  545. data/samples/bigdemo/wxSlider.rbw +42 -0
  546. data/samples/bigdemo/wxSpinButton.rbw +50 -0
  547. data/samples/bigdemo/wxSpinCtrl.rbw +51 -0
  548. data/samples/bigdemo/wxSplitterWindow.rbw +63 -0
  549. data/samples/bigdemo/wxStaticBitmap.rbw +47 -0
  550. data/samples/bigdemo/wxStaticText.rbw +55 -0
  551. data/samples/bigdemo/wxStatusBar.rbw +126 -0
  552. data/samples/bigdemo/wxTextCtrl.rbw +149 -0
  553. data/samples/bigdemo/wxTextEntryDialog.rbw +31 -0
  554. data/samples/bigdemo/wxToggleButton.rbw +49 -0
  555. data/samples/bigdemo/wxToolBar.rbw +131 -0
  556. data/samples/bigdemo/wxTreeCtrl.rbw +191 -0
  557. data/samples/calendar/calendar.rb +363 -0
  558. data/samples/calendar/tn_calendar.png +0 -0
  559. data/samples/caret/caret.rb +293 -0
  560. data/samples/caret/mondrian.xpm +44 -0
  561. data/samples/caret/tn_caret.png +0 -0
  562. data/samples/controls/books.rb +183 -0
  563. data/samples/controls/choice.xpm +27 -0
  564. data/samples/controls/combo.xpm +27 -0
  565. data/samples/controls/controls.rb +1143 -0
  566. data/samples/controls/gauge.xpm +27 -0
  567. data/samples/controls/get_item_sample.rb +117 -0
  568. data/samples/controls/list.xpm +27 -0
  569. data/samples/controls/mondrian.ico +0 -0
  570. data/samples/controls/mondrian.xpm +44 -0
  571. data/samples/controls/radio.xpm +27 -0
  572. data/samples/controls/stattext.xpm +24 -0
  573. data/samples/controls/test2.bmp +0 -0
  574. data/samples/controls/text.xpm +27 -0
  575. data/samples/controls/tn_books.png +0 -0
  576. data/samples/controls/tn_controls.png +0 -0
  577. data/samples/controls/tn_get_item_sample.png +0 -0
  578. data/samples/dialogs/dialogs.rb +879 -0
  579. data/samples/dialogs/tips.txt +18 -0
  580. data/samples/dialogs/tn_dialogs.png +0 -0
  581. data/samples/dialogs/tn_wizard.png +0 -0
  582. data/samples/dialogs/wizard.rb +89 -0
  583. data/samples/dragdrop/dragdrop.rb +200 -0
  584. data/samples/dragdrop/tn_dragdrop.png +0 -0
  585. data/samples/drawing/SVGlogo24.xpm +310 -0
  586. data/samples/drawing/bitmap.rb +76 -0
  587. data/samples/drawing/bitmap_image.rb +131 -0
  588. data/samples/drawing/graphics_drawing.rb +257 -0
  589. data/samples/drawing/maths_images.rb +327 -0
  590. data/samples/drawing/rmagic_bitmap_image.rb +139 -0
  591. data/samples/drawing/ruby-logo.jpg +0 -0
  592. data/samples/drawing/svgtest.rb +373 -0
  593. data/samples/drawing/tn_bitmap.png +0 -0
  594. data/samples/drawing/tn_bitmap_image.png +0 -0
  595. data/samples/drawing/tn_graphics_drawing.png +0 -0
  596. data/samples/drawing/tn_maths_images.png +0 -0
  597. data/samples/drawing/tn_rmagic_bitmap_image.png +0 -0
  598. data/samples/drawing/tn_svgtest.png +0 -0
  599. data/samples/etc/choice.rb +82 -0
  600. data/samples/etc/miniframe.rb +92 -0
  601. data/samples/etc/sash.rb +140 -0
  602. data/samples/etc/scrollwin.rb +120 -0
  603. data/samples/etc/system_settings.rb +263 -0
  604. data/samples/etc/tn_choice.png +0 -0
  605. data/samples/etc/tn_miniframe.png +0 -0
  606. data/samples/etc/tn_sash.png +0 -0
  607. data/samples/etc/tn_scrollwin.png +0 -0
  608. data/samples/etc/tn_system_settings.png +0 -0
  609. data/samples/event/activation.rb +129 -0
  610. data/samples/event/event.rb +220 -0
  611. data/samples/event/threaded.rb +141 -0
  612. data/samples/event/tn_activation.png +0 -0
  613. data/samples/event/tn_event.png +0 -0
  614. data/samples/event/tn_threaded.png +0 -0
  615. data/samples/event/tn_update_ui_event.png +0 -0
  616. data/samples/event/update_ui_event.rb +91 -0
  617. data/samples/grid/grid.rb +224 -0
  618. data/samples/grid/gridtablebase.rb +178 -0
  619. data/samples/grid/tn_grid.png +0 -0
  620. data/samples/grid/tn_gridtablebase.png +0 -0
  621. data/samples/html/8859_2.htm +14 -0
  622. data/samples/html/cp1250.htm +19 -0
  623. data/samples/html/foo.png +0 -0
  624. data/samples/html/html.rb +278 -0
  625. data/samples/html/i18n.gif +0 -0
  626. data/samples/html/imagemap.htm +20 -0
  627. data/samples/html/imagemap.png +0 -0
  628. data/samples/html/listtest.htm +28 -0
  629. data/samples/html/pic.png +0 -0
  630. data/samples/html/pic2.bmp +0 -0
  631. data/samples/html/regres.htm +20 -0
  632. data/samples/html/subsup.html +42 -0
  633. data/samples/html/tables.htm +255 -0
  634. data/samples/html/test.htm +375 -0
  635. data/samples/html/tn_html.png +0 -0
  636. data/samples/mdi/mdi.rb +118 -0
  637. data/samples/mdi/tn_mdi.png +0 -0
  638. data/samples/minimal/minimal.rb +95 -0
  639. data/samples/minimal/mondrian.ico +0 -0
  640. data/samples/minimal/mondrian.png +0 -0
  641. data/samples/minimal/nothing.rb +38 -0
  642. data/samples/minimal/tn_minimal.png +0 -0
  643. data/samples/minimal/tn_nothing.png +0 -0
  644. data/samples/printing/mondrian.ico +0 -0
  645. data/samples/printing/mondrian.xpm +44 -0
  646. data/samples/printing/printing.rb +499 -0
  647. data/samples/printing/printing2.rb +251 -0
  648. data/samples/printing/sample-text.txt +213 -0
  649. data/samples/printing/tn_printing.png +0 -0
  650. data/samples/printing/tn_printing2.png +0 -0
  651. data/samples/propgrid/propgrid.rb +2711 -0
  652. data/samples/propgrid/propgrid_minimal.rb +107 -0
  653. data/samples/propgrid/sample_props.rb +434 -0
  654. data/samples/propgrid/tn_propgrid.png +0 -0
  655. data/samples/propgrid/tn_propgrid_minimal.png +0 -0
  656. data/samples/ribbon/align_center.xpm +21 -0
  657. data/samples/ribbon/align_left.xpm +21 -0
  658. data/samples/ribbon/align_right.xpm +21 -0
  659. data/samples/ribbon/aui_style.xpm +53 -0
  660. data/samples/ribbon/auto_crop_selection.xpm +55 -0
  661. data/samples/ribbon/auto_crop_selection_small.xpm +33 -0
  662. data/samples/ribbon/circle.xpm +38 -0
  663. data/samples/ribbon/circle_small.xpm +22 -0
  664. data/samples/ribbon/colours.xpm +25 -0
  665. data/samples/ribbon/cross.xpm +38 -0
  666. data/samples/ribbon/empty.xpm +23 -0
  667. data/samples/ribbon/expand_selection_h.xpm +46 -0
  668. data/samples/ribbon/expand_selection_v.xpm +46 -0
  669. data/samples/ribbon/eye.xpm +26 -0
  670. data/samples/ribbon/hexagon.xpm +38 -0
  671. data/samples/ribbon/msw_style.xpm +65 -0
  672. data/samples/ribbon/position_left.xpm +22 -0
  673. data/samples/ribbon/position_top.xpm +22 -0
  674. data/samples/ribbon/ribbon.rb +900 -0
  675. data/samples/ribbon/ribbon.xpm +54 -0
  676. data/samples/ribbon/selection_panel.xpm +23 -0
  677. data/samples/ribbon/square.xpm +38 -0
  678. data/samples/ribbon/tn_ribbon.png +0 -0
  679. data/samples/ribbon/triangle.xpm +38 -0
  680. data/samples/sample.xpm +475 -0
  681. data/samples/sampler/back.xpm +21 -0
  682. data/samples/sampler/copy.xpm +44 -0
  683. data/samples/sampler/cut.xpm +46 -0
  684. data/samples/sampler/editor.rb +560 -0
  685. data/samples/sampler/ext.rb +51 -0
  686. data/samples/sampler/filesave.xpm +42 -0
  687. data/samples/sampler/find.xpm +62 -0
  688. data/samples/sampler/findrepl.xpm +63 -0
  689. data/samples/sampler/forward.xpm +21 -0
  690. data/samples/sampler/paste.xpm +46 -0
  691. data/samples/sampler/play.xpm +24 -0
  692. data/samples/sampler/redo.xpm +58 -0
  693. data/samples/sampler/sample.rb +347 -0
  694. data/samples/sampler/stc_editor.rb +321 -0
  695. data/samples/sampler/txt_editor.rb +130 -0
  696. data/samples/sampler/undo.xpm +58 -0
  697. data/samples/sampler.rb +394 -0
  698. data/samples/splash/mobile.xpm +1835 -0
  699. data/samples/splash/splash.png +0 -0
  700. data/samples/splash/splash.rb +164 -0
  701. data/samples/splash/tn_splash.png +0 -0
  702. data/samples/text/document-open.png +0 -0
  703. data/samples/text/document-save.png +0 -0
  704. data/samples/text/edit-copy.png +0 -0
  705. data/samples/text/edit-cut.png +0 -0
  706. data/samples/text/edit-paste.png +0 -0
  707. data/samples/text/edit-redo.png +0 -0
  708. data/samples/text/edit-undo.png +0 -0
  709. data/samples/text/format-text-bold.png +0 -0
  710. data/samples/text/format-text-italic.png +0 -0
  711. data/samples/text/format-text-underline.png +0 -0
  712. data/samples/text/mondrian.ico +0 -0
  713. data/samples/text/mondrian.xpm +44 -0
  714. data/samples/text/preferences-desktop-font.png +0 -0
  715. data/samples/text/rich_textctrl.rb +326 -0
  716. data/samples/text/scintilla.rb +179 -0
  717. data/samples/text/textctrl.rb +124 -0
  718. data/samples/text/tn_rich_textctrl.png +0 -0
  719. data/samples/text/tn_scintilla.png +0 -0
  720. data/samples/text/tn_textctrl.png +0 -0
  721. data/samples/text/tn_unicode.png +0 -0
  722. data/samples/text/unicode.rb +238 -0
  723. data/samples/text/utf8.txt +15 -0
  724. data/samples/treectrl/checked.xpm +54 -0
  725. data/samples/treectrl/icon1.xpm +79 -0
  726. data/samples/treectrl/icon2.xpm +53 -0
  727. data/samples/treectrl/icon3.xpm +79 -0
  728. data/samples/treectrl/icon4.xpm +43 -0
  729. data/samples/treectrl/icon5.xpm +79 -0
  730. data/samples/treectrl/state1.xpm +145 -0
  731. data/samples/treectrl/state2.xpm +144 -0
  732. data/samples/treectrl/state3.xpm +142 -0
  733. data/samples/treectrl/state4.xpm +145 -0
  734. data/samples/treectrl/state5.xpm +85 -0
  735. data/samples/treectrl/tn_treectrl.png +0 -0
  736. data/samples/treectrl/treectrl.rb +1720 -0
  737. data/samples/treectrl/unchecked.xpm +30 -0
  738. data/samples/xrc/custom_dialog.xrc +46 -0
  739. data/samples/xrc/custom_xrc_sample.rb +84 -0
  740. data/samples/xrc/samples.xrc +46 -0
  741. data/samples/xrc/tn_xrc_sample.png +0 -0
  742. data/samples/xrc/xrc_sample.rb +86 -0
  743. data/tests/test_basic.rb +20 -0
  744. data/tests/test_clipboard.rb +241 -0
  745. data/tests/test_dialog.rb +28 -0
  746. data/tests/test_event_handling.rb +103 -0
  747. data/tests/test_events.rb +45 -0
  748. data/tests/test_geometry.rb +141 -0
  749. data/tests/test_intl.rb +107 -0
  750. data/tests/test_item_data.rb +120 -0
  751. data/tests/test_variant.rb +151 -0
  752. data/tests/testapp.rb +40 -0
  753. data/tests/testapp_noframe.rb +28 -0
  754. metadata +874 -0
@@ -0,0 +1,92 @@
1
+ class Wx::Point
2
+ # More informative output when converted to string
3
+ def to_s
4
+ "#<Wx::Point: (#{x}, #{y})>"
5
+ end
6
+
7
+ def inspect
8
+ to_s
9
+ end
10
+
11
+ # make Point usable for parallel assignments like `x, y = pt`
12
+ def to_ary
13
+ [x, y]
14
+ end
15
+
16
+ alias :get_x :x
17
+ alias :get_y :y
18
+
19
+ # Compare point values
20
+ def ==(other)
21
+ if Wx::Point === other
22
+ x == other.x and y == other.y
23
+ elsif Array === other && other.size == 2
24
+ to_ary == other
25
+ else
26
+ Kernel.raise TypeError, "Cannot compare Point to #{other}"
27
+ end
28
+ end
29
+
30
+ # Correct comparison for Points - same if same x and y
31
+ def eql?(other)
32
+ if Wx::Point === other
33
+ x == other.x and y == other.y
34
+ else
35
+ false
36
+ end
37
+ end
38
+
39
+ # Return a new Wx::Point with the x and y parameters both divided by
40
+ # parameter +num+, which should be a Numeric
41
+ def /(num)
42
+ self.class.new((get_x / num).to_i, (get_y / num).to_i)
43
+ end
44
+
45
+ # Return a new Wx::Point with the x and y values both multiplied by
46
+ # parameter +num+, which should be a Numeric
47
+ def *(num)
48
+ self.class.new((get_x * num).to_i, (get_y * num).to_i)
49
+ end
50
+
51
+ # Return a new Wx::Point with the x and y values both reduced by
52
+ # parameter +arg+. If +arg+ is another Wx::Point (or Wx::Size or 2-element array), reduce x by the
53
+ # other's x (or width) and y by the other's y (or height); if +arg+ is a numeric value,
54
+ # reduce x and y both by that value.
55
+ def -(arg)
56
+ case arg
57
+ when self.class
58
+ self.class.new(get_x - arg.x, get_y - arg.y)
59
+ when Wx::Size
60
+ self.class.new(get_x - arg.width,get_y - arg.height)
61
+ when Numeric
62
+ self.class.new((get_x - arg).to_i, (get_y - arg).to_i)
63
+ else
64
+ if Array === arg && arg.size == 2
65
+ self.class.new(get_x - arg[0].to_i, get_y - arg[1].to_i)
66
+ else
67
+ Kernel.raise TypeError, "Cannot subtract #{arg} from #{self.inspect}"
68
+ end
69
+ end
70
+ end
71
+
72
+ # Return a new Wx::Point with the x and y values both increased by
73
+ # parameter +arg+. If +arg+ is another Wx::Point (or Wx::Size or 2-element array), increase x by the
74
+ # other's x (or width) and y by the other's y (or height); if +arg+ is a numeric value,
75
+ # increase both x and y by that value.
76
+ def +(arg)
77
+ case arg
78
+ when self.class
79
+ self.class.new(get_x + arg.x, get_y + arg.y)
80
+ when Wx::Size
81
+ self.class.new(get_x + arg.width,get_y + arg.height)
82
+ when Numeric
83
+ self.class.new((get_x + arg).to_i, (get_y + arg).to_i)
84
+ else
85
+ if Array === arg && arg.size == 2
86
+ self.class.new(get_x + arg[0].to_i, get_y + arg[1].to_i)
87
+ else
88
+ Kernel.raise TypeError, "Cannot add #{arg} to #{self.inspect}"
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,92 @@
1
+ class Wx::RealPoint
2
+ # More informative output when converted to string
3
+ def to_s
4
+ "#<Wx::RealPoint: (#{x}, #{y})>"
5
+ end
6
+
7
+ def inspect
8
+ to_s
9
+ end
10
+
11
+ # make RealPoint usable for parallel assignments like `x, y = pt`
12
+ def to_ary
13
+ [x, y]
14
+ end
15
+
16
+ alias :get_x :x
17
+ alias :get_y :y
18
+
19
+ # Compare point values
20
+ def ==(other)
21
+ if Wx::RealPoint === other
22
+ x == other.x and y == other.y
23
+ elsif Array === other && other.size == 2
24
+ to_ary == other
25
+ else
26
+ Kernel.raise TypeError, "Cannot compare RealPoint to #{other}"
27
+ end
28
+ end
29
+
30
+ # Correct comparison for RealPoints - same if same x and y
31
+ def eql?(other)
32
+ if Wx::RealPoint === other
33
+ x == other.x and y == other.y
34
+ else
35
+ false
36
+ end
37
+ end
38
+
39
+ # Return a new Wx::RealPoint with the x and y parameters both divided by
40
+ # parameter +num+, which should be a Numeric
41
+ def /(num)
42
+ self.class.new( get_x / num, get_y / num )
43
+ end
44
+
45
+ # Return a new Wx::RealPoint with the x and y values both multiplied by
46
+ # parameter +num+, which should be a Numeric
47
+ def *(num)
48
+ self.class.new( get_x * num, get_y * num )
49
+ end
50
+
51
+ # Return a new Wx::RealPoint with the x and y values both reduced by
52
+ # parameter +arg+. If +arg+ is another Wx::(Real)Point (or Wx::Size or 2-element array), reduce x by the
53
+ # other's x (or width) and y by the other's y (or height); if +arg+ is a numeric value,
54
+ # reduce x and y both by that value.
55
+ def -(arg)
56
+ case arg
57
+ when Wx::Size
58
+ self.class.new(get_x - arg.width, get_y - arg.height)
59
+ when self.class, Wx::Point
60
+ self.class.new(get_x - arg.x, get_y - arg.y)
61
+ when Numeric
62
+ self.class.new(get_x - arg, get_y - arg)
63
+ else
64
+ if Array === arg && arg.size == 2
65
+ self.class.new(get_x - arg[0].to_f, get_y - arg[1].to_f)
66
+ else
67
+ Kernel.raise TypeError, "Cannot subtract #{arg} from #{self.inspect}"
68
+ end
69
+ end
70
+ end
71
+
72
+ # Return a new Wx::RealPoint with the x and y values both increased by
73
+ # parameter +arg+. If +arg+ is another Wx::(Real)Point (or Wx::Size or 2-element array), increase x by the
74
+ # other's x (or width) and y by the other's y (or height); if +arg+ is a numeric value,
75
+ # increase both x and y by that value.
76
+ def +(arg)
77
+ case arg
78
+ when Wx::Size
79
+ self.class.new(get_x + arg.width, get_y + arg.height)
80
+ when self.class, Wx::Point
81
+ self.class.new(get_x + arg.x, get_y + arg.y)
82
+ when Numeric
83
+ self.class.new(get_x + arg, get_y + arg)
84
+ else
85
+ if Array === arg && arg.size == 2
86
+ self.class.new(get_x + arg[0].to_f, get_y + arg[1].to_f)
87
+ else
88
+ Kernel.raise TypeError, "Cannot add #{arg} to #{self.inspect}"
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,57 @@
1
+ # Class representing a rectangular shape
2
+ class Wx::Rect
3
+ # Nicely readable inspect output for Rect
4
+ def to_s
5
+ "#<Wx::Rect: (#{left}, #{top}) #{width}x#{height}>"
6
+ end
7
+
8
+ def inspect
9
+ to_s
10
+ end
11
+
12
+ # make Rect usable for parallel assignments like `left, top, width, height = rect`
13
+ def to_ary
14
+ [left, top, width, height]
15
+ end
16
+
17
+ # Correct comparison for Wx::Rect, are the same if have the same
18
+ # position and the same size
19
+ def ==(other)
20
+ if Wx::Rect === other
21
+ left == other.left and top == other.top and
22
+ width == other.width and height == other.height
23
+ elsif Array === other && other.size == 4
24
+ to_ary == other
25
+ else
26
+ Kernel.raise TypeError, "Cannot compare Rect to #{other}"
27
+ end
28
+ end
29
+
30
+ def eql?(other)
31
+ if Wx::Rect === other
32
+ left == other.left and top == other.top and
33
+ width == other.width and height == other.height
34
+ else
35
+ false
36
+ end
37
+ end
38
+
39
+ # make sure union and intersect are constant operations, i.e. not changing self
40
+ wx_union = instance_method :union
41
+ define_method :union do |rect|
42
+ wx_union.bind(Wx::Rect.new(*self.to_ary)).call(rect)
43
+ end
44
+
45
+ wx_intersect = instance_method :intersect
46
+ define_method :intersect do |rect|
47
+ wx_intersect.bind(Wx::Rect.new(*self.to_ary)).call(rect)
48
+ end
49
+
50
+ alias :+ :add
51
+ alias :* :mul
52
+ alias :& :intersect
53
+ alias :| :union
54
+
55
+ # More ruby-ish names
56
+ alias :contains? :contains
57
+ end
@@ -0,0 +1,38 @@
1
+ # Pure-ruby implementation of the corresponding Wx class. Simply shows
2
+ # the Window's help text in a tooltip.
3
+ class Wx::SimpleHelpProvider < Wx::HelpProvider
4
+ def initialize
5
+ super
6
+ # Store for mapping windows -> help strings
7
+ @help_wins = {}
8
+ # Store for mapping ids -> help strings
9
+ @help_ids = {}
10
+ end
11
+
12
+ # This is what is called by Wx::Window#set_help_text
13
+ def add_help(identifier, text)
14
+ if identifier.kind_of? Wx::Window
15
+ @help_wins[identifier.object_id] = text
16
+ else
17
+ @help_ids[identifier] = text
18
+ end
19
+ end
20
+
21
+ # Retrieve help text for the given window +win+
22
+ def get_help(win)
23
+ @help_wins[win.object_id] || @help_ids[win.wx_id] || ""
24
+ end
25
+
26
+ # Remove the help text for +win+
27
+ def remove_help(win)
28
+ @help_wins.delete(win.object_id)
29
+ end
30
+
31
+ # Show help for +win+
32
+ def show_help(win)
33
+ help_text = get_help(win)
34
+ return false if help_text.empty?
35
+ tip = Wx::TipWindow.new(win, help_text, 100)
36
+ true
37
+ end
38
+ end
@@ -0,0 +1,86 @@
1
+ class Wx::Size
2
+ # More informative output for inspect etc
3
+ def to_s
4
+ "#<Wx::Size: #{width}x#{height}>"
5
+ end
6
+
7
+ def inspect
8
+ to_s
9
+ end
10
+
11
+ # make Size usable for parallel assignments like `w, h = sz`
12
+ def to_ary
13
+ [width, height]
14
+ end
15
+
16
+ # Compare with another size value
17
+ def ==(other)
18
+ if Wx::Size === other
19
+ width == other.width and height == other.height
20
+ elsif Array === other and other.size == 2
21
+ to_ary == other
22
+ else
23
+ Kernel.raise TypeError, "Cannot compare Size to #{other}"
24
+ end
25
+ end
26
+
27
+ def eql?(other)
28
+ if Wx::Size === other
29
+ width == other.width and height == other.height
30
+ else
31
+ false
32
+ end
33
+ end
34
+
35
+ # Return a new Wx::Size with the width and height values both divided
36
+ # by parameter +num+, which should be a Numeric
37
+ def /(num)
38
+ self.class.new((width / num).to_i, (height / num).to_i)
39
+ end
40
+
41
+ # Return a new Wx::Size with the width and height values both
42
+ # multiplied by parameter +num+, which should be a Numeric
43
+ def *(num)
44
+ self.class.new((width * num).to_i, (height * num).to_i)
45
+ end
46
+
47
+ # Return a new Wx::Size with the width and height parameters both
48
+ # reduced by parameter +arg+. If +arg+ is another Wx::Size (or 2-element array), reduce
49
+ # width by the other's width and height by the other's height; if
50
+ # +arg+ is a numeric value, reduce both width and height by that
51
+ # value.
52
+ def -(arg)
53
+ case arg
54
+ when self.class
55
+ self.class.new(width - arg.width, height - arg.height)
56
+ when Numeric
57
+ self.class.new((width - arg).to_i, (height - arg).to_i)
58
+ else
59
+ if Array === arg && arg.size == 2
60
+ self.class.new(width - arg[0].to_i, height - arg[1].to_i)
61
+ else
62
+ Kernel.raise TypeError, "Cannot add #{arg} to #{self.inspect}"
63
+ end
64
+ end
65
+ end
66
+
67
+ # Return a new Wx::Size with the width and height parameters both
68
+ # increased by parameter +arg+. If +arg+ is another Wx::Size (or 2-element array), increase
69
+ # width by the other's width and height by the other's height; if
70
+ # +arg+ is a numeric value, increase both width and height by that
71
+ # value.
72
+ def +(arg)
73
+ case arg
74
+ when self.class
75
+ self.class.new( width + arg.width, height + arg.height )
76
+ when Numeric
77
+ self.class.new( (width + arg).to_i, (height + arg).to_i )
78
+ else
79
+ if Array === arg && arg.size == 2
80
+ self.class.new(width + arg[0].to_i, height + arg[1].to_i)
81
+ else
82
+ Kernel.raise TypeError, "Cannot add #{arg} to #{self.inspect}"
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,43 @@
1
+ # Class for automatically managing layouts
2
+ class Wx::Sizer
3
+ # Generic method to add items, supporting positional and named
4
+ # arguments
5
+ ADD_ITEM_PARAMS = [ Wx::Parameter[ :index, -1 ],
6
+ Wx::Parameter[ :proportion, 0 ],
7
+ Wx::Parameter[ :flag, 0 ],
8
+ Wx::Parameter[ :border, 0 ],
9
+ Wx::Parameter[ :user_data, nil ] ]
10
+
11
+ def add_item(item, *mixed_args)
12
+
13
+ begin
14
+ args = Wx::args_as_list(ADD_ITEM_PARAMS, *mixed_args)
15
+ rescue => err
16
+ err.set_backtrace(caller)
17
+ Kernel.raise err
18
+ end
19
+
20
+ full_args = []
21
+
22
+ # extract the width and the height in the case of a spacer
23
+ # defined as an array
24
+ if item.kind_of?(Array)
25
+ Kernel.raise ArgumentError,
26
+ "Invalid Sizer specification : [width, height] expected" if item.size != 2
27
+ full_args << item[0] << item[1]
28
+ else
29
+ full_args << item
30
+ end
31
+
32
+ # update the full arguments list with the optional arguments (except index)
33
+ idx = args.shift
34
+ full_args.concat(args)
35
+
36
+ # Call add to append if default position
37
+ if idx == -1
38
+ add(*full_args)
39
+ else
40
+ insert(idx, *full_args)
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,44 @@
1
+
2
+ class Wx::SplashScreen
3
+
4
+ # special handling for keyword ctor extension here
5
+ # as this class deviates from 'normal' window ctors
6
+ Wx::define_keyword_ctors(Wx::SplashScreen) do
7
+ wx_ctor_params :id, :pos, :size, :style => Wx::SIMPLE_BORDER|Wx::FRAME_NO_TASKBAR|Wx::STAY_ON_TOP
8
+ end
9
+
10
+ # now redefine the overridden ctor to account for deviating arglist
11
+ def initialize(bitmap, splashstyle, milliseconds, parent = nil, *mixed_args, &block)
12
+ # no zero-args ctor for use with XRC!
13
+
14
+ begin
15
+ real_args = [ bitmap, splashstyle, milliseconds, parent ] + self.class.args_as_list(*mixed_args)
16
+ pre_wx_kwctor_init(*real_args)
17
+ rescue => err
18
+ msg = "Error initializing #{self.inspect}\n"+
19
+ " : #{err.message} \n" +
20
+ "Provided are #{real_args} \n" +
21
+ "Correct parameters for #{self.class.name}.new are:\n" +
22
+ self.class.describe_constructor(
23
+ ":bitmap => Wx::Bitmap\n:splashstyle => Integer\n:milliseconds => Integer\n:parent => Wx::Window\n")
24
+
25
+ new_err = err.class.new(msg)
26
+ new_err.set_backtrace(caller)
27
+ Kernel.raise new_err
28
+ end
29
+
30
+ # If a block was given, pass the newly created Window instance
31
+ # into it; use block
32
+ if block
33
+ if block.arity == -1 or block.arity == 0
34
+ self.instance_eval(&block)
35
+ elsif block.arity == 1
36
+ block.call(self)
37
+ else
38
+ Kernel.raise ArgumentError,
39
+ "Block to initialize accepts zero or one arg"
40
+ end
41
+ end
42
+ end
43
+
44
+ end
@@ -0,0 +1,8 @@
1
+
2
+ class Wx::TextCtrl
3
+ wx_op_append = instance_method :<<
4
+ define_method :<< do |o|
5
+ wx_op_append.bind(self).call(o)
6
+ self
7
+ end
8
+ end
@@ -0,0 +1,104 @@
1
+ # Class allowing periodic or timed events to be fired
2
+ class Wx::Timer
3
+ # Convenience method to trigger a one-off action after +interval+
4
+ # milliseconds have passed. The action is specified by the passed
5
+ # block. The Timer is owned by the global App object, and is returned
6
+ # by the method.
7
+ def self.after(interval, &block)
8
+ timer = new(Wx::THE_APP, Wx::ID_ANY)
9
+ Wx::THE_APP.evt_timer(timer.get_id, block)
10
+ timer.start(interval, true)
11
+ timer
12
+ end
13
+
14
+ # Convenience method to trigger a repeating action every +interval+
15
+ # milliseconds. The action is specified by the passed block. The Timer
16
+ # is owned by the global App object, and is returned by the method.
17
+ def self.every(interval, &block)
18
+ timer = new(Wx::THE_APP, Wx::ID_ANY)
19
+ Wx::THE_APP.evt_timer(timer.get_id, block)
20
+ timer.start(interval)
21
+ timer
22
+ end
23
+
24
+ # In common with other classes, make the id method refer to the
25
+ # wxWidgets id, not ruby's deprecated name for object_id
26
+ alias :id :get_id
27
+ # In case a more explicit option is preferred.
28
+ alias :wx_id :get_id
29
+
30
+ # This class can be linked to an owner - an instance of a class
31
+ # derived from EvtHandler which will receive Timer events. However,
32
+ # event if a Wx::Timer is attached to a Wx::Window, it is (unlike most
33
+ # classes) NOT automatically deleted when the window is destroyed. If
34
+ # the Timer continues ticking, it will send events to the
35
+ # now-destroyed window, causing segfaults. So the little acrobatics
36
+ # below set up a hook when a Timer's owner is set, and then ensure the
37
+ # timer is stopped when the window is destroyed.
38
+
39
+ # Redefine initialize
40
+ wx_init = self.instance_method(:initialize)
41
+ define_method(:initialize) do | *args |
42
+ setup_owner_destruction_hook(args[0])
43
+ wx_init.bind(self).call(*args)
44
+ end
45
+
46
+ # Redefine set_owner
47
+ wx_set_owner = self.instance_method(:set_owner)
48
+ define_method(:set_owner) do | *args |
49
+ setup_owner_destruction_hook(args[0])
50
+ wx_set_owner.bind(self).call(*args)
51
+ end
52
+
53
+ private
54
+ # This method notes in Ruby the ownership of the timer, from both
55
+ # sides, and sets up an event hook if needed for the window's
56
+ # destruction.
57
+ def setup_owner_destruction_hook(new_owner)
58
+ this_timer = self
59
+
60
+ # Class-wide list of global (unowned) timers
61
+ @@__unowned_timers__ ||= []
62
+
63
+ # remove from list of previous owner
64
+ if defined?(@__owner__) and @__owner__
65
+ @__owner__.instance_eval { @__owned_timers__.delete(this_timer) }
66
+ end
67
+
68
+ # If becoming global unowned timer, add to list of those timers
69
+ if not new_owner
70
+ @__owner__ = nil
71
+ @@__unowned_timers__ << self
72
+ return
73
+ end
74
+
75
+ # Otherwise, if previously unowned, remove from global owned
76
+ @@__unowned_timers__.delete(self)
77
+ @__owner__ = new_owner
78
+
79
+ # Then add to list of new owner, setting destructor hook if required
80
+ new_owner.instance_eval do
81
+ if not defined?(@__owned_timers__)
82
+ @__owned_timers__ = []
83
+ unless self.kind_of?(Wx::App) # Don't set up hook on App
84
+ evt_window_destroy do | evt |
85
+ # If it's the owning window being destroyed...
86
+ if evt.get_event_object == self
87
+ @__owned_timers__.each { | timer | timer.stop }
88
+ end
89
+ end
90
+ end
91
+ end
92
+ @__owned_timers__ << this_timer
93
+ end
94
+ end
95
+ end
96
+
97
+ class Wx::EvtHandler
98
+ # missing from XML docs so we add this here manually
99
+ self.register_event_type EventType[
100
+ 'evt_timer', 1,
101
+ Wx::EVT_TIMER,
102
+ Wx::TimerEvent
103
+ ] if Wx.const_defined?(:EVT_TIMER)
104
+ end
@@ -0,0 +1,37 @@
1
+ # A set of buttons and controls attached to one edge of a Wx::Frame
2
+ class Wx::ToolBar
3
+ # Generic method to add items, supporting positional and named
4
+ # arguments
5
+ ADD_ITEM_PARAMS = [
6
+ Wx::Parameter[ :bitmap2, Wx::NULL_BITMAP ],
7
+ Wx::Parameter[ :position, -1 ],
8
+ Wx::Parameter[ :id, -1 ],
9
+ Wx::Parameter[ :label, "" ],
10
+ Wx::Parameter[ :kind, Wx::ItemKind::ITEM_NORMAL ],
11
+ Wx::Parameter[ :short_help, "" ],
12
+ Wx::Parameter[ :long_help, "" ],
13
+ Wx::Parameter[ :client_data, nil ] ]
14
+
15
+ def add_item(bitmap1, *mixed_args)
16
+
17
+ begin
18
+ args = Wx::args_as_list(ADD_ITEM_PARAMS, *mixed_args)
19
+ rescue => err
20
+ err.set_backtrace(caller)
21
+ Kernel.raise err
22
+ end
23
+
24
+ bitmap2 = args.shift
25
+
26
+ pos = args.shift
27
+ args.insert(2, bitmap1)
28
+ args.insert(3, bitmap2)
29
+
30
+ # Call add_tool to append if default position
31
+ if pos == -1
32
+ add_tool(*args)
33
+ else
34
+ insert_tool(pos, *args)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,4 @@
1
+ class Wx::ToolBarTool
2
+ alias :id :get_id
3
+ alias :wx_id :get_id
4
+ end
@@ -0,0 +1,46 @@
1
+ # Hierarchical control with items
2
+ class Wx::TreeCtrl
3
+ # Make these ruby enumerables so find, find_all, map etc are available
4
+ include Enumerable
5
+ # Iterate over all items
6
+ alias :each :traverse
7
+
8
+ # Return the children of +parent+ as an array of TreeItemIDs.
9
+ def get_children(parent)
10
+ kids = []
11
+ kid, _ = get_first_child(parent)
12
+ return [] unless kid.ok?
13
+ kids << kid
14
+
15
+ while kid = get_next_sibling(kids.last) and kid.ok?
16
+ kids << kid
17
+ end
18
+ kids
19
+ end
20
+
21
+ # Returns a Wx::Rect corresponding to the edges of an individual tree
22
+ # item, including the button, identified by id. The standard wxWidgets
23
+ # API for getting the pixel location of an item is unrubyish, using an
24
+ # input/output parameter. But since the underlying get_bounding_rect
25
+ # method works, it's easier to fix the API in Ruby than adding more to
26
+ # the already-toxic swig interface TreeCtrl.i file.
27
+ def get_item_rect(tree_item_id)
28
+ rect = Wx::Rect.new
29
+ if get_bounding_rect(tree_item_id, rect, false)
30
+ return rect
31
+ else
32
+ return nil
33
+ end
34
+ end
35
+
36
+ # Returns a Wx::Rect corresponding to the edges of an individual tree
37
+ # item's text label. See above.
38
+ def get_label_rect(tree_item_id)
39
+ rect = Wx::Rect.new
40
+ if get_bounding_rect(tree_item_id, rect, true)
41
+ return rect
42
+ else
43
+ nil
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,8 @@
1
+
2
+ class Wx::Validator
3
+ # Default implementation of clone, may need to be over-ridden if
4
+ # custom subclasses should state variables that need to be copied
5
+ def clone
6
+ self.class.new
7
+ end
8
+ end