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,377 @@
1
+ /* wxRuby3
2
+ * Copyright (c) Martin J.N. Corino
3
+ */
4
+ // Copyright 2004-2008, wxRuby development team
5
+ // released under the MIT-like wxRuby2 license
6
+
7
+ // mark_free_impl.i - this contains the C++ implementation of various
8
+ // common GC-related functions, such as shared %mark functions and
9
+ // methods for checking and setting whether a wxWidgets window has been
10
+ // destroyed. It is compiled into wx.cpp.
11
+
12
+ %header %{
13
+ #include <wx/cshelp.h>
14
+ %}
15
+
16
+ %{
17
+ // Code to be run when the ruby object is swept by GC - this only
18
+ // unlinks the C++ object from the ruby VALUE but doesn't delete
19
+ // it because it is still needed and will be managed by WxWidgets.
20
+ WXRUBY_EXPORT void GcNullFreeFunc(void *ptr)
21
+ {
22
+ SWIG_RubyRemoveTracking(ptr);
23
+ }
24
+
25
+ // Tests if the window has been signalled as destroyed by a
26
+ // WindowDestroyEvent handled by wxRubyApp
27
+ WXRUBY_EXPORT bool GC_IsWindowDeleted(void *ptr)
28
+ {
29
+ // If objects have been 'unlinked' then DATA_PTR = 0
30
+ if ( ! ptr )
31
+ return true;
32
+ if ( wxRuby_IsAppRunning () )
33
+ return false;
34
+ else
35
+ return true;
36
+ }
37
+
38
+ // Records when a wxWindow has been signalled as destroyed by a
39
+ // WindowDestroyEvent, handled by wxRubyApp (see swig/classes/App.i).
40
+ WXRUBY_EXPORT void GC_SetWindowDeleted(void *ptr)
41
+ {
42
+ // All Windows are EvtHandlers, so prevent any pending events being
43
+ // sent after destruction (otherwise ObjectPreviouslyDeleted errors result)
44
+ wxEvtHandler* evt_handler = (wxEvtHandler*)ptr;
45
+ evt_handler->SetEvtHandlerEnabled(false);
46
+
47
+ // Allow the Ruby procs that are event handlers on this window to be
48
+ // garbage collected at next phase
49
+ wxRuby_ReleaseEvtHandlerProcs(ptr);
50
+
51
+ // Wx calls this by standard after the window destroy event is
52
+ // handled, but we need to call it before while the object link is
53
+ // still around
54
+ wxHelpProvider *helpProvider = wxHelpProvider::Get();
55
+ if ( helpProvider )
56
+ helpProvider->RemoveHelp((wxWindowBase*)ptr);
57
+
58
+ // Disassociate the C++ and Ruby objects
59
+ SWIG_RubyUnlinkObjects(ptr);
60
+ SWIG_RubyRemoveTracking(ptr);
61
+ }
62
+
63
+ // Code to be run when the ruby object is swept by GC - this only
64
+ // unlinks the C++ object from the ruby VALUE and decrements the
65
+ // reference counter.
66
+ WXRUBY_EXPORT void GcRefCountedFreeFunc(void *ptr)
67
+ {
68
+ SWIG_RubyRemoveTracking(ptr);
69
+ if (ptr)
70
+ ((wxRefCounter*)ptr)->DecRef();
71
+ }
72
+
73
+ // Code to be run when the ruby object is swept by GC - this checks
74
+ // for unattached sizers and deletes those, only unlinking others
75
+ // as these will be managed by WxWidgets.
76
+ WXRUBY_EXPORT void GcSizerFreeFunc(void *ptr)
77
+ {
78
+ wxSizer* wx_szr = (wxSizer*)ptr;
79
+ // unlink in all cases
80
+ SWIG_RubyRemoveTracking(ptr);
81
+ delete wx_szr; // delete unattached sizers
82
+ }
83
+
84
+ void GC_mark_SizerBelongingToWindow(wxSizer *wx_sizer, VALUE rb_sizer);
85
+
86
+ WXRUBY_EXPORT void GC_mark_wxSizer(void* ptr)
87
+ {
88
+ VALUE rb_szr = SWIG_RubyInstanceFor(ptr);
89
+ if (rb_szr && rb_szr != Qnil)
90
+ {
91
+ wxSizer* wx_szr = (wxSizer*)ptr;
92
+
93
+ // as long as the dfree function is still the GCSizeFreeFunc the sizer has not been attached to a window
94
+ // or added to a parent sizer (as that would 'disown' and replace the free function by the tracking removal function)
95
+ // but it may hay have already had child sizers added which need to be marked
96
+ if (RDATA(rb_szr)->dfree == (void (*)(void *))GcSizerFreeFunc)
97
+ {
98
+ // Then loop over the sizer's content and mark each sub-sizer
99
+ wxSizerItemList& children = wx_szr->GetChildren();
100
+ for ( wxSizerItemList::compatibility_iterator node = children.GetFirst();
101
+ node;
102
+ node = node->GetNext() )
103
+ {
104
+ wxSizerItem* item = node->GetData();
105
+ wxSizer* child_sizer = item->GetSizer();
106
+ if ( child_sizer )
107
+ {
108
+ VALUE rb_child_sizer = SWIG_RubyInstanceFor(child_sizer);
109
+ if ( rb_child_sizer != Qnil )
110
+ {
111
+ // just reuse this function here (will do exactly what we want)
112
+ GC_mark_SizerBelongingToWindow(child_sizer, rb_child_sizer);
113
+ }
114
+ }
115
+ }
116
+ }
117
+ }
118
+ }
119
+
120
+ // Carries out marking of Sizer objects belonging to a Wx::Window. Note
121
+ // that this isn't done as a standard mark routine because ONLY sizers
122
+ // that are known to belong to a still-alive window should be marked,
123
+ // not those picked up as marked by in-scope variables by
124
+ // Ruby. Otherwise, segfaults may result. Because Sizers are SWIG
125
+ // directors, they must be preserved from GC.
126
+ void GC_mark_SizerBelongingToWindow(wxSizer *wx_sizer, VALUE rb_sizer)
127
+ {
128
+ #ifdef __WXRB_DEBUG__
129
+ if (wxRuby_TraceLevel()>1)
130
+ std::wcout << "> GC_mark_SizerBelongingToWindow : " << wx_sizer << std::endl;
131
+ #endif
132
+
133
+ // First, mark this sizer
134
+ rb_gc_mark( rb_sizer );
135
+
136
+ // Then loop over hte sizer's content and mark each sub-sizer in turn
137
+ wxSizerItemList& children = wx_sizer->GetChildren();
138
+ for ( wxSizerItemList::compatibility_iterator node = children.GetFirst();
139
+ node;
140
+ node = node->GetNext() )
141
+ {
142
+ wxSizerItem* item = node->GetData();
143
+ wxSizer* child_sizer = item->GetSizer();
144
+ if ( child_sizer )
145
+ {
146
+ VALUE rb_child_sizer = SWIG_RubyInstanceFor(child_sizer);
147
+ if ( rb_child_sizer != Qnil )
148
+ {
149
+ GC_mark_SizerBelongingToWindow(child_sizer, rb_child_sizer);
150
+ }
151
+ }
152
+ }
153
+
154
+ #ifdef __WXRB_DEBUG__
155
+ if (wxRuby_TraceLevel()>1)
156
+ std::wcout << "< GC_mark_SizerBelongingToWindow : " << wx_sizer << std::endl;
157
+ #endif
158
+ }
159
+
160
+ // Similar to Sizers, MenuBar requires a special mark routine. This is
161
+ // because Wx::Menu is not a subclass of Window so isn't automatically
162
+ // protected in the mark phase by Wx::App. However, the ruby object
163
+ // still must not be destroyed while it is still accessible on screen,
164
+ // because it may still handle events. Rather than a SWIG %markfunc,
165
+ // which can catch destroyed MenuBars linked to an in-scope ruby
166
+ // variable and cause segfaults, MenuBars are always marked via the
167
+ // containing Frame.
168
+ void GC_mark_MenuBarBelongingToFrame(wxMenuBar *menu_bar)
169
+ {
170
+ #ifdef __WXRB_DEBUG__
171
+ if (wxRuby_TraceLevel()>1)
172
+ std::wcout << "> GC_mark_MenuBarBelongingToFrame : " << menu_bar << std::endl;
173
+ #endif
174
+
175
+ rb_gc_mark( SWIG_RubyInstanceFor(menu_bar) );
176
+ // Mark each menu in the menubar in turn
177
+ for ( size_t i = 0; i < menu_bar->GetMenuCount(); i++ )
178
+ {
179
+ wxMenu* menu = menu_bar->GetMenu(i);
180
+ rb_gc_mark( SWIG_RubyInstanceFor(menu) );
181
+ }
182
+
183
+ #ifdef __WXRB_DEBUG__
184
+ if (wxRuby_TraceLevel()>1)
185
+ std::wcout << "< GC_mark_MenuBarBelongingToFrame : " << menu_bar << std::endl;
186
+ #endif
187
+ }
188
+
189
+ // Default mark routine for Windows - preserve the main sizer and caret
190
+ // belong to this window
191
+ WXRUBY_EXPORT void GC_mark_wxWindow(void *ptr)
192
+ {
193
+ #ifdef __WXRB_DEBUG__
194
+ if (wxRuby_TraceLevel()>1)
195
+ std::wcout << "> GC_mark_wxWindow : " << ptr << std::endl;
196
+ #endif
197
+
198
+ if ( GC_IsWindowDeleted(ptr) )
199
+ {
200
+ #ifdef __WXRB_DEBUG__
201
+ if (wxRuby_TraceLevel()>1)
202
+ std::wcout << "< GC_mark_wxWindow : deleted" << std::endl;
203
+ #endif
204
+ return;
205
+ }
206
+
207
+ wxWindow* wx_win = (wxWindow*)ptr;
208
+ #ifdef __WXRB_DEBUG__
209
+ if (wxRuby_TraceLevel()>2)
210
+ std::wcout << "* GC_mark_wxWindow - getting sizer" << std::endl;
211
+ #endif
212
+ wxSizer* wx_sizer = wx_win->GetSizer();
213
+ if ( wx_sizer )
214
+ {
215
+ #ifdef __WXRB_DEBUG__
216
+ if (wxRuby_TraceLevel()>2)
217
+ std::wcout << "* GC_mark_wxWindow - found sizer" << std::endl;
218
+ #endif
219
+ VALUE rb_sizer = SWIG_RubyInstanceFor(wx_sizer);
220
+ if ( rb_sizer != Qnil )
221
+ GC_mark_SizerBelongingToWindow(wx_sizer, rb_sizer);
222
+ }
223
+
224
+ #ifdef __WXRB_DEBUG__
225
+ if (wxRuby_TraceLevel()>2)
226
+ std::wcout << "* GC_mark_wxWindow - getting caret" << std::endl;
227
+ #endif
228
+ wxCaret* wx_caret = wx_win->GetCaret();
229
+ if ( wx_caret )
230
+ {
231
+ #ifdef __WXRB_DEBUG__
232
+ if (wxRuby_TraceLevel()>2)
233
+ std::wcout << "* GC_mark_wxWindow - found caret" << std::endl;
234
+ #endif
235
+ VALUE rb_caret = SWIG_RubyInstanceFor(wx_caret);
236
+ rb_gc_mark(rb_caret);
237
+ }
238
+
239
+ #ifdef __WXRB_DEBUG__
240
+ if (wxRuby_TraceLevel()>2)
241
+ std::wcout << "* GC_mark_wxWindow - getting droptarget" << std::endl;
242
+ #endif
243
+ wxDropTarget* wx_droptarget = wx_win->GetDropTarget();
244
+ if ( wx_droptarget )
245
+ {
246
+ #ifdef __WXRB_DEBUG__
247
+ if (wxRuby_TraceLevel()>2)
248
+ std::wcout << "* GC_mark_wxWindow - found droptarget" << std::endl;
249
+ #endif
250
+ VALUE rb_droptarget = SWIG_RubyInstanceFor(wx_droptarget);
251
+ rb_gc_mark(rb_droptarget);
252
+ }
253
+
254
+ #ifdef __WXRB_DEBUG__
255
+ if (wxRuby_TraceLevel()>2)
256
+ std::wcout << "* GC_mark_wxWindow - getting validator" << std::endl;
257
+ #endif
258
+ wxValidator* wx_validator = wx_win->GetValidator();
259
+ if ( wx_validator )
260
+ {
261
+ #ifdef __WXRB_DEBUG__
262
+ if (wxRuby_TraceLevel()>2)
263
+ std::wcout << "* GC_mark_wxWindow - found validator" << std::endl;
264
+ #endif
265
+ VALUE rb_validator = SWIG_RubyInstanceFor(wx_validator);
266
+ rb_gc_mark(rb_validator);
267
+ }
268
+
269
+ #ifdef __WXRB_DEBUG__
270
+ if (wxRuby_TraceLevel()>1)
271
+ std::wcout << "< GC_mark_wxWindow : " << ptr << std::endl;
272
+ #endif
273
+ }
274
+
275
+
276
+ WXRUBY_EXPORT void GC_mark_wxFrame(void *ptr)
277
+ {
278
+ #ifdef __WXRB_DEBUG__
279
+ if (wxRuby_TraceLevel()>1)
280
+ std::wcout << "> GC_mark_wxFrame : " << ptr << std::endl;
281
+ #endif
282
+
283
+ if ( GC_IsWindowDeleted(ptr) )
284
+ {
285
+ #ifdef __WXRB_DEBUG__
286
+ if (wxRuby_TraceLevel()>1)
287
+ std::wcout << "> GC_mark_wxFrame : deleted" << std::endl;
288
+ #endif
289
+ return;
290
+ }
291
+
292
+ // Frames are also a subclass of wxWindow, so must do all the marking
293
+ // of sizers and carets associated with that class
294
+ GC_mark_wxWindow(ptr);
295
+
296
+ wxFrame* wx_frame = (wxFrame*)ptr;
297
+ // Then mark the MenuBar, if one is associated with this Frame
298
+
299
+ wxMenuBar* menu_bar = wx_frame->GetMenuBar();
300
+ if ( menu_bar )
301
+ {
302
+ GC_mark_MenuBarBelongingToFrame(menu_bar);
303
+ }
304
+
305
+ #ifdef __WXRB_DEBUG__
306
+ if (wxRuby_TraceLevel()>1)
307
+ std::wcout << "> GC_mark_wxFrame : " << ptr << std::endl;
308
+ #endif
309
+ }
310
+
311
+ // wxRuby must preserve ruby objects attached as the ClientData of
312
+ // command events that have been user-defined in ruby. Some of the
313
+ // standard wxWidgets CommandEvent classes (which have a constant event
314
+ // id less than wxEVT_USER_FIRST, from wx/event.h) also use ClientData
315
+ // for their own purposes, and this must not be marked as the data is
316
+ // not a ruby object, and will thus crash.
317
+ WXRUBY_EXPORT void GC_mark_wxEvent(void *ptr)
318
+ {
319
+ #ifdef __WXRB_DEBUG__
320
+ if (wxRuby_TraceLevel()>1)
321
+ std::wcout << "> GC_mark_wxEvent : " << ptr << std::endl;
322
+ #endif
323
+
324
+ if ( ! ptr ) return;
325
+ wxEvent* wx_event = (wxEvent*)ptr;
326
+ #ifdef __WXRB_DEBUG__
327
+ if (wxRuby_TraceLevel()>2)
328
+ std::wcout << "* GC_mark_wxEvent(" << ptr << ":{" << wx_event->GetEventType() << "})" << std::endl;
329
+ #endif
330
+ if ( wx_event->GetEventType() > wxEVT_USER_FIRST &&
331
+ wx_event->IsCommandEvent() )
332
+ {
333
+ wxCommandEvent* wx_cm_event = (wxCommandEvent*)ptr;
334
+ VALUE rb_client_data = (VALUE)wx_cm_event->GetClientData();
335
+ rb_gc_mark(rb_client_data);
336
+ }
337
+
338
+ #ifdef __WXRB_DEBUG__
339
+ if (wxRuby_TraceLevel()>1)
340
+ std::wcout << "< GC_mark_wxEvent : " << ptr << std::endl;
341
+ #endif
342
+ }
343
+
344
+ // Prevents Ruby's GC sweeping up items that are stored as client data
345
+ // Checks whether the C++ object is still around first...
346
+ WXRUBY_EXPORT void GC_mark_wxControlWithItems(void* ptr)
347
+ {
348
+ #ifdef __WXRB_DEBUG__
349
+ if (wxRuby_TraceLevel()>1)
350
+ std::wcout << "> GC_mark_wxControlWithItems : " << ptr << std::endl;
351
+ #endif
352
+
353
+ if ( GC_IsWindowDeleted(ptr) )
354
+ return;
355
+
356
+ GC_mark_wxWindow(ptr);
357
+
358
+ wxControlWithItems* wx_cwi = (wxControlWithItems*) ptr;
359
+ int count = wx_cwi->GetCount();
360
+ if ( count == 0 )
361
+ return; // Empty control
362
+ if ( ! wx_cwi->HasClientObjectData() && ! wx_cwi->HasClientUntypedData() )
363
+ return; // Control containing only strings
364
+
365
+ for (int i = 0; i < count; ++i)
366
+ {
367
+ VALUE object = (VALUE) wx_cwi->GetClientData(i);
368
+ if ( object && object != Qnil )
369
+ rb_gc_mark(object);
370
+ }
371
+
372
+ #ifdef __WXRB_DEBUG__
373
+ if (wxRuby_TraceLevel()>1)
374
+ std::wcout << "< GC_mark_wxControlWithItems : " << ptr << std::endl;
375
+ #endif
376
+ }
377
+ %}
@@ -0,0 +1,142 @@
1
+ /* wxRuby3
2
+ * Copyright (c) Martin J.N. Corino
3
+ */
4
+ // Copyright 2004-2007, wxRuby development team
5
+ // released under the MIT-like wxRuby2 license
6
+
7
+ // This file, required by common.i defines a set of macros which are used
8
+ // to specify memory management strategies for individual Wx classes.
9
+
10
+ // Broadly speaking there are two different strategies:
11
+ //
12
+ // 1) For all classes which inherit from Wx::Window, including all Frames,
13
+ // Dialogs and Controls: the C++ objects are managed by WxWidgets; when=
14
+ // Frame is closed, it and all its contents are deleted. Therefore wxRuby
15
+ // doesn't try to delete these objects as part of GC until they are known
16
+ // to have been deleted. The instance of Wx::App watches for window
17
+ // destruction, and in the GC-mark phase marks all Windows that are still
18
+ // alive. [see App.i]
19
+ //
20
+ // 2) Almost all other classes are memory managed by wxRuby - that is, when
21
+ // they have fallen out of scope and GC is run, the underlying C++ object
22
+ // will be deleted too by the standard %freefunc.
23
+
24
+
25
+ // These are implemented in swig/wx.i, so they are shared among all classes
26
+ %{
27
+ WXRUBY_EXPORT void GcNullFreeFunc(void *);
28
+ WXRUBY_EXPORT void GcSizerFreeFunc(void *);
29
+ WXRUBY_EXPORT void GcDialogFreeFunc(void *);
30
+ WXRUBY_EXPORT void GcRefCountedFreeFunc(void *);
31
+ WXRUBY_EXPORT void GC_mark_wxSizer(void *);
32
+ WXRUBY_EXPORT void GC_mark_wxWindow(void *);
33
+ WXRUBY_EXPORT void GC_mark_wxFrame(void *);
34
+ WXRUBY_EXPORT void GC_mark_wxEvent(void *);
35
+ %}
36
+
37
+ // Macro definitions.
38
+
39
+ // Objects that are tracked but managed by WxWidgets - this is currently
40
+ // all Windows, including Frames and Dialogs
41
+ %define GC_NEVER(kls)
42
+ %trackobjects kls;
43
+ %feature("freefunc") kls "GcNullFreeFunc";
44
+ %enddef
45
+
46
+ // Strategy for windows that aren't top-level windows. Here, the C++
47
+ // objects are destroyed automatically by WxWidgets when the frame that
48
+ // contains them is closed and destroyed.
49
+ %define GC_MANAGE_AS_WINDOW(kls)
50
+ GC_NEVER(kls);
51
+
52
+ // Any sizer associated with the frame will be preserved by the default
53
+ // function. If subclasse of Wx::Window need to implement their own
54
+ // markfuncs (eg controls with ItemData), they probably need to call
55
+ // this function in their own mark routine if they may have a sizer
56
+ // associated with them.
57
+ %feature("markfunc") kls "GC_mark_wxWindow";
58
+ %enddef
59
+
60
+ // Strategy for top-level frames - these are destroyed
61
+ // automatically. Marking is the same as for Windows, plus preservation
62
+ // of the associated MenuBar, if reuqired.
63
+ %define GC_MANAGE_AS_FRAME(kls)
64
+ GC_NEVER(kls);
65
+ // Mark any associated sizer
66
+ %feature("markfunc") kls "GC_mark_wxFrame";
67
+ %enddef
68
+
69
+ // Strategy for dialogs - these are NOT destroyed automatically
70
+ %define GC_MANAGE_AS_DIALOG(kls)
71
+ GC_NEVER(kls);
72
+ // Mark any associated sizer
73
+ %feature("markfunc") kls "GC_mark_wxWindow";
74
+ %enddef
75
+
76
+ // Events - most are created within wxWidgets C++ on the stack and thus
77
+ // do not need deletion. These are passed into ruby via EvtHandler or
78
+ // App methods, and are wrapped using wxRuby_WrapWxEventInRuby (see
79
+ // wx.i). This gives them a void freefunc and markfunc and are NOT
80
+ // tracked - they are treated as one-shot short-lived objects.
81
+ //
82
+ // However, custom events created on the ruby side need to be deleted to
83
+ // avoid leakage as SWIG wrappers call C++ "new" to allocate the
84
+ // underlying wxEvent object. In the allocate function SWIG will assign
85
+ // the tracking and mark/free functions for these objects. The default
86
+ // free func will delete the C++ Event.
87
+ %define GC_MANAGE_AS_EVENT(kls)
88
+ %feature("markfunc") kls "GC_mark_wxEvent";
89
+ %feature("nodirector") kls;
90
+ %trackobjects kls;
91
+ %enddef
92
+
93
+ // Other descendants of Wx::Object - eg Colour, Pen, Bitmap - that Wx
94
+ // manages by reference counting
95
+ %define GC_MANAGE_AS_OBJECT(kls)
96
+ %trackobjects kls;
97
+ %enddef
98
+
99
+ // Strategy for objects whose pointer / id identity does not matter,
100
+ // only their attributes: Size, Point and Rect. They are commonly
101
+ // created as temporary objects on the stack in C++ and then passed into
102
+ // director methods. Once the director method has run they should no
103
+ // longer be referenced in ruby.
104
+ %define GC_MANAGE_AS_FUNGIBLE_OBJECT(kls)
105
+ %enddef
106
+
107
+ %define GC_MANAGE_AS_TEMP(kls)
108
+ %enddef
109
+
110
+ // Sizers attached to windows are automatically destroyed by wxWidgets,
111
+ // so they should not be deleted.
112
+ //
113
+ // TODO - orphaned/unattached sizers are not automatically destroyed -
114
+ // so the freefunc should check for this condition and do the delete if
115
+ // required to prevent a memory leak.
116
+ %define GC_MANAGE_AS_SIZER(kls)
117
+ %trackobjects kls;
118
+ %feature("freefunc") kls "GcSizerFreeFunc";
119
+ %feature("markfunc") kls "GC_mark_wxSizer";
120
+ %enddef
121
+
122
+ // wxRefCounter derived objects need to dereferenced when GC-ed but
123
+ // *not* deleted. Destruction will be automatic if the reference count
124
+ // reaches zero. Need to be disowned though in certain circumstances.
125
+ %define GC_MANAGE_AS_REFCOUNTED(kls)
126
+ %trackobjects kls;
127
+ %feature("freefunc") kls "GcRefCountedFreeFunc";
128
+ %enddef
129
+
130
+ // special refcounted for grid cell renderers/editors and attrs
131
+ %define GC_MANAGE_AS_UNTRACKED_REFCOUNTED(kls)
132
+ %feature("freefunc") kls "GcRefCountedFreeFunc";
133
+ %enddef
134
+
135
+
136
+ // All other classes - mainly helper classes (eg Sizer, GridCellxxx) and
137
+ // informational classes eg Point, Size, Rect. These are tracked but
138
+ // sometimes later disowned once passed into a widget, and thenceforth
139
+ // managed by WxWidgets
140
+ %define GC_MANAGE(kls)
141
+ GC_MANAGE_AS_OBJECT(kls)
142
+ %enddef
@@ -0,0 +1,27 @@
1
+ /* wxRuby3
2
+ * Copyright (c) Martin J.N. Corino
3
+ */
4
+ // Copyright 2004-2007, wxRuby development team
5
+ // released under the MIT-like wxRuby2 license
6
+
7
+ // needed for typedefs generated from defs.h
8
+ typedef long long wxLongLong_t;
9
+ typedef unsigned long long wxULongLong_t;
10
+
11
+ // include common typedefs extracted from defs.h
12
+ %include "classes/common/typedefs.i"
13
+
14
+ typedef wchar_t wxChar;
15
+ typedef wchar_t wxSChar;
16
+ typedef wchar_t wxUChar;
17
+ typedef wchar_t wxStringCharType;
18
+
19
+ // additional common typedefs
20
+ typedef int wxWindowID;
21
+
22
+ enum wxBitmapType;
23
+ enum wxStockCursor;
24
+ enum wxLayoutDirection;
25
+
26
+ // make sure wxEventType is known as 'int'
27
+ typedef int wxEventType;