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,114 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface director
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require_relative './event_handler'
7
+
8
+ module WXRuby3
9
+
10
+ class Director
11
+
12
+ class AuiManager < EvtHandler
13
+
14
+ def setup
15
+ super
16
+ spec.gc_as_object
17
+ # need a custom implementation to handle (event handler proc) cleanup
18
+ spec.add_header_code <<~__HEREDOC
19
+ #include "wx/aui/aui.h"
20
+
21
+ WXRUBY_EXPORT void GC_SetWindowDeleted(void *ptr);
22
+
23
+ class WXRubyAuiManager : public wxAuiManager
24
+ {
25
+ public:
26
+ WXRubyAuiManager(wxWindow *managed_wnd=NULL, unsigned int flags=wxAUI_MGR_DEFAULT)
27
+ : wxAuiManager(managed_wnd, flags) {}
28
+ virtual ~WXRubyAuiManager()
29
+ {
30
+ wxRuby_ReleaseEvtHandlerProcs(this);
31
+ }
32
+
33
+ void OnManagedWindowClose(wxCloseEvent& event)
34
+ {
35
+ UnInit();
36
+ for ( size_t i = 0; i < m_panes.size(); i++ )
37
+ {
38
+ wxAuiPaneInfo& pinfo = m_panes[i];
39
+ if (pinfo.window)
40
+ {
41
+ GC_SetWindowDeleted(pinfo.window);
42
+ delete pinfo.window;
43
+ }
44
+ }
45
+ m_panes.Clear();
46
+ m_docks.Clear();
47
+ m_uiParts.Clear();
48
+ delete m_art;
49
+ m_action = actionNone;
50
+ m_actionWindow = NULL;
51
+ m_hoverButton = NULL;
52
+ m_art = new wxAuiDefaultDockArt;
53
+ m_hintWnd = NULL;
54
+ m_flags = wxAUI_MGR_DEFAULT;
55
+ m_hasMaximized = false;
56
+ m_dockConstraintX = 0.3;
57
+ m_dockConstraintY = 0.3;
58
+ m_reserved = NULL;
59
+ m_currentDragItem = -1;
60
+ event.Skip();
61
+ }
62
+ };
63
+ __HEREDOC
64
+ spec.use_class_implementation 'wxAuiManager', 'WXRubyAuiManager'
65
+ spec.map_apply('SWIGTYPE *DISOWN' => 'wxAuiDockArt* art_provider')
66
+ # Any set AuiDockArt ruby object must be protected from GC once set,
67
+ # even if it is no longer referenced anywhere else.
68
+ spec.add_header_code <<~__HEREDOC
69
+ static void GC_mark_wxAuiManager(void *ptr)
70
+ {
71
+ wxAuiManager* mgr = (wxAuiManager*)ptr;
72
+ wxAuiDockArt* art_prov = mgr->GetArtProvider();
73
+ VALUE rb_art_prov = SWIG_RubyInstanceFor( (void *)art_prov );
74
+ rb_gc_mark( rb_art_prov );
75
+ }
76
+ __HEREDOC
77
+ spec.add_swig_code '%markfunc wxAuiManager "GC_mark_wxAuiManager";'
78
+ # provide pure Ruby implementation based on use custom alternative provided below
79
+ spec.ignore('wxAuiManager::GetAllPanes')
80
+ spec.ignore('wxAuiManager::SetManagedWindow', ignore_doc: false)
81
+ spec.add_extend_code 'wxAuiManager', <<~__HEREDOC
82
+ VALUE each_pane()
83
+ {
84
+ wxAuiPaneInfoArray panes = self->GetAllPanes();
85
+ VALUE rc = Qnil;
86
+ for (size_t i = 0; i < panes.GetCount(); i++)
87
+ {
88
+ wxAuiPaneInfo &pi_ref = self->GetPane( panes.Item(i).name );
89
+ wxAuiPaneInfo *pi = (wxAuiPaneInfo*)&pi_ref;
90
+ VALUE r_pi = SWIG_NewPointerObj(pi, SWIGTYPE_p_wxAuiPaneInfo, 0);
91
+ rc = rb_yield(r_pi);
92
+ }
93
+ return rc;
94
+ }
95
+
96
+ // in wxRuby AuiManager-s do not get automatically destructed when the managed window does
97
+ // (like in C++ when declared as a window class member) which poses problems in
98
+ // cleanup of the panes and such so bind an event handler to the close event of the
99
+ // managed window which cleans up the AuiManager
100
+ void SetManagedWindow(wxWindow* managedWnd)
101
+ {
102
+ self->SetManagedWindow(managedWnd);
103
+ WXRubyAuiManager* aui_mng = dynamic_cast<WXRubyAuiManager*> (self);
104
+ managedWnd->Bind(wxEVT_CLOSE_WINDOW, &WXRubyAuiManager::OnManagedWindowClose, aui_mng);
105
+ }
106
+ __HEREDOC
107
+ spec.suppress_warning(473, 'wxAuiManager::CreateFloatingFrame')
108
+ spec.do_not_generate(:variables, :defines, :enums, :functions) # with AuiPaneInfo
109
+ end
110
+ end # class AuiManager
111
+
112
+ end # class Director
113
+
114
+ end # module WXRuby3
@@ -0,0 +1,22 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface director
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require_relative './event'
7
+
8
+ module WXRuby3
9
+
10
+ class Director
11
+
12
+ class AuiManagerEvent < Event
13
+
14
+ def setup
15
+ super
16
+ spec.do_not_generate(:variables, :defines, :enums, :functions) # in AuiPaneInfo
17
+ end
18
+ end # class AuiManagerEvent
19
+
20
+ end # class Director
21
+
22
+ end # module WXRuby3
@@ -0,0 +1,50 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface director
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require_relative './window'
7
+
8
+ module WXRuby3
9
+
10
+ class Director
11
+
12
+ class AuiMDIChildFrame < Window
13
+
14
+ def setup
15
+ super
16
+ spec.no_proxy 'wxAuiMDIChildFrame::Layout'
17
+ # incorrectly documented non-existent virtual method
18
+ # (does exist as non-virtual method in TopLevelWindow with return by value)
19
+ spec.ignore 'wxAuiMDIChildFrame::GetIcon'
20
+ # prevent a lot of unnecessary proxies
21
+ spec.no_proxy %w[
22
+ wxAuiMDIChildFrame::Activate
23
+ wxAuiMDIChildFrame::SetTitle
24
+ wxAuiMDIChildFrame::GetTitle
25
+ wxAuiMDIChildFrame::SetIcons
26
+ wxAuiMDIChildFrame::GetIcons
27
+ wxAuiMDIChildFrame::SetIcon
28
+ wxAuiMDIChildFrame::SetMenuBar
29
+ wxAuiMDIChildFrame::GetMenuBar
30
+ wxAuiMDIChildFrame::GetStatusBar
31
+ wxAuiMDIChildFrame::GetToolBar
32
+ wxAuiMDIChildFrame::Maximize
33
+ wxAuiMDIChildFrame::Restore
34
+ wxAuiMDIChildFrame::Iconize
35
+ wxAuiMDIChildFrame::IsMaximized
36
+ wxAuiMDIChildFrame::IsIconized
37
+ wxAuiMDIChildFrame::ShowFullScreen
38
+ wxAuiMDIChildFrame::IsFullScreen
39
+ ]
40
+ # just rely on the Window implementation
41
+ spec.ignore 'wxAuiMDIChildFrame::IsTopLevel'
42
+ spec.suppress_warning(473,
43
+ 'wxAuiMDIChildFrame::CreateStatusBar',
44
+ 'wxAuiMDIChildFrame::CreateToolBar')
45
+ end
46
+ end # class AuiMDIChildFrame
47
+
48
+ end # class Director
49
+
50
+ end # module WXRuby3
@@ -0,0 +1,23 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface director
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require_relative './aui_notebook'
7
+
8
+ module WXRuby3
9
+
10
+ class Director
11
+
12
+ class AuiMDIClientWindow < AuiNotebook
13
+
14
+ def setup
15
+ super
16
+ spec.suppress_warning(473, 'wxAuiMDIClientWindow::GetActiveChild')
17
+ spec.do_not_generate(:variables, :defines, :enums, :functions)
18
+ end
19
+ end # class AuiMDIClientWindow
20
+
21
+ end # class Director
22
+
23
+ end # module WXRuby3
@@ -0,0 +1,26 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface director
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require_relative './frame'
7
+
8
+ module WXRuby3
9
+
10
+ class Director
11
+
12
+ class AuiMDIParentFrame < Frame
13
+
14
+ def setup
15
+ super
16
+ spec.no_proxy %w[
17
+ wxAuiMDIParentFrame::Tile
18
+ wxAuiMDIParentFrame::Cascade
19
+ wxAuiMDIParentFrame::ArrangeIcons]
20
+ spec.suppress_warning(473, 'wxAuiMDIParentFrame::OnCreateClient')
21
+ end
22
+ end # class AuiParentMDIFrame
23
+
24
+ end # class Director
25
+
26
+ end # module WXRuby3
@@ -0,0 +1,77 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface director
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require_relative './book_ctrls'
7
+
8
+ module WXRuby3
9
+
10
+ class Director
11
+
12
+ class AuiNotebook < BookCtrls
13
+
14
+ def setup
15
+ super
16
+ spec.override_inheritance_chain(spec.module_name, %w[wxBookCtrlBase wxControl wxWindow wxEvtHandler wxObject])
17
+ if spec.module_name == 'wxAuiNotebook'
18
+ # reset type mapping done in BookCtrls as the non-const arg is used for query-ing here (FindTab)
19
+ # (wxWidgets should have made this a const arg)
20
+ spec.map_apply 'SWIGTYPE *' => 'wxWindow* page'
21
+ spec.do_not_generate(:variables, :defines, :enums, :functions) # with AuiNotebookEvent
22
+ # Any set AuiTabArt ruby object must be protected from GC once set,
23
+ # even if it is no longer referenced anywhere else.
24
+ spec.add_header_code <<~__HEREDOC
25
+ extern void GC_mark_wxAuiNotebook(void *ptr)
26
+ {
27
+ if ( GC_IsWindowDeleted(ptr) )
28
+ {
29
+ return;
30
+ }
31
+ // Do standard marking routines as for all wxWindows
32
+ GC_mark_wxWindow(ptr);
33
+
34
+ wxAuiNotebook* nbk = (wxAuiNotebook*)ptr;
35
+ wxAuiTabArt* art_prov = nbk->GetArtProvider();
36
+ VALUE rb_art_prov = SWIG_RubyInstanceFor( (void *)art_prov );
37
+ rb_gc_mark( rb_art_prov );
38
+ }
39
+ __HEREDOC
40
+ # add some convenience methods
41
+ spec.add_extend_code 'wxAuiNotebook', <<~__HEREDOC
42
+ void use_default_art()
43
+ { $self->SetArtProvider(new wxAuiDefaultTabArt); }
44
+
45
+ void use_simple_art()
46
+ { $self->SetArtProvider(new wxAuiSimpleTabArt); }
47
+ __HEREDOC
48
+ # replace FindTab (easier than type mapping)
49
+ spec.ignore('wxAuiNotebook::FindTab')
50
+ spec.add_extend_code 'wxAuiNotebook', <<~__HEREDOC
51
+ VALUE FindTab(wxWindow *page)
52
+ {
53
+ wxAuiTabCtrl *ctrl = 0;
54
+ int idx = -1;
55
+ VALUE rc = Qnil;
56
+ if ($self->FindTab(page, &ctrl, &idx))
57
+ {
58
+ rc = rb_ary_new();
59
+ rb_ary_push(rc, SWIG_NewPointerObj(SWIG_as_voidptr(ctrl), SWIGTYPE_p_wxAuiTabCtrl, 0));
60
+ rb_ary_push(rc, INT2NUM(idx));
61
+ }
62
+ return rc;
63
+ }
64
+ __HEREDOC
65
+ else
66
+ spec.add_header_code <<~__HEREDOC
67
+ // implemented in AuiNotebook.cpp
68
+ extern void GC_mark_wxAuiNotebook(void *ptr);
69
+ __HEREDOC
70
+ end
71
+ spec.add_swig_code '%markfunc wxAuiNotebook "GC_mark_wxAuiNotebook";'
72
+ end
73
+ end # class AuiNotebook
74
+
75
+ end # class Director
76
+
77
+ end # module WXRuby3
@@ -0,0 +1,23 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface director
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require_relative './event'
7
+
8
+ module WXRuby3
9
+
10
+ class Director
11
+
12
+ class AuiNotebookEvent < Event
13
+
14
+ def setup
15
+ super
16
+ spec.override_inheritance_chain('wxAuiNotebookEvent',
17
+ 'wxBookCtrlEvent', {'wxNotifyEvent' => 'wxEvents'}, {'wxCommandEvent' => 'wxEvent'}, 'wxEvent', 'wxObject')
18
+ end
19
+ end # class AuiNotebookEvent
20
+
21
+ end # class Director
22
+
23
+ end # module WXRuby3
@@ -0,0 +1,102 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface director
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ module WXRuby3
7
+
8
+ class Director
9
+
10
+ class AuiPaneInfo < Director
11
+
12
+ def setup
13
+ spec.disable_proxies
14
+ spec.gc_as_temporary
15
+ spec.regard %w[
16
+ wxAuiPaneInfo::name
17
+ wxAuiPaneInfo::caption
18
+ wxAuiPaneInfo::icon
19
+ wxAuiPaneInfo::window
20
+ wxAuiPaneInfo::frame
21
+ wxAuiPaneInfo::state
22
+ wxAuiPaneInfo::dock_direction
23
+ wxAuiPaneInfo::dock_layer
24
+ wxAuiPaneInfo::dock_row
25
+ wxAuiPaneInfo::dock_pos
26
+ wxAuiPaneInfo::best_size
27
+ wxAuiPaneInfo::min_size
28
+ wxAuiPaneInfo::max_size
29
+ wxAuiPaneInfo::floating_pos
30
+ wxAuiPaneInfo::floating_size
31
+ wxAuiPaneInfo::dock_proportion
32
+ wxAuiPaneInfo::rect
33
+ ]
34
+ spec.make_readonly %w[
35
+ wxAuiPaneInfo::name
36
+ wxAuiPaneInfo::caption
37
+ wxAuiPaneInfo::rect
38
+ wxAuiPaneInfo::icon
39
+ wxAuiPaneInfo::window
40
+ wxAuiPaneInfo::frame
41
+ wxAuiPaneInfo::state
42
+ wxAuiPaneInfo::dock_direction
43
+ wxAuiPaneInfo::dock_layer
44
+ wxAuiPaneInfo::dock_row
45
+ wxAuiPaneInfo::dock_pos
46
+ wxAuiPaneInfo::best_size
47
+ wxAuiPaneInfo::min_size
48
+ wxAuiPaneInfo::max_size
49
+ wxAuiPaneInfo::floating_pos
50
+ wxAuiPaneInfo::floating_size
51
+ ]
52
+ spec.ignore 'wxAuiPaneInfo::BestSize(int,int)',
53
+ 'wxAuiPaneInfo::MinSize(int,int)',
54
+ 'wxAuiPaneInfo::MaxSize(int,int)',
55
+ 'wxAuiPaneInfo::FloatingPosition(int,int)',
56
+ 'wxAuiPaneInfo::FloatingSize(int,int)'
57
+ spec.rename_for_ruby(
58
+ 'direction' => 'wxAuiPaneInfo::dock_direction',
59
+ 'set_direction' => 'wxAuiPaneInfo::Direction',
60
+ 'layer' => 'wxAuiPaneInfo::dock_layer',
61
+ 'set_layer' => 'wxAuiPaneInfo::Layer',
62
+ 'row' => 'wxAuiPaneInfo::dock_row',
63
+ 'set_row' => 'wxAuiPaneInfo::Row',
64
+ 'position' => 'wxAuiPaneInfo::dock_pos',
65
+ 'set_position' => 'wxAuiPaneInfo::Position',
66
+ 'floating_position' => 'wxAuiPaneInfo::floating_pos',
67
+ 'proportion' => 'wxAuiPaneInfo::dock_proportion',
68
+ 'set_name' => 'wxAuiPaneInfo::Name',
69
+ 'set_caption' => 'wxAuiPaneInfo::Caption',
70
+ 'set_floatable' => 'wxAuiPaneInfo::Floatable',
71
+ 'set_bottom_dockable' => 'wxAuiPaneInfo::BottomDockable',
72
+ 'set_caption_visible' => 'wxAuiPaneInfo::CaptionVisible',
73
+ 'set_close_button' => 'wxAuiPaneInfo::CloseButton',
74
+ 'set_destroy_on_close' => 'wxAuiPaneInfo::DestroyOnClose',
75
+ 'set_dock_fixed' => 'wxAuiPaneInfo::DockFixed',
76
+ 'set_minimize_button' => 'wxAuiPaneInfo::MinimizeButton',
77
+ 'set_maximize_button' => 'wxAuiPaneInfo::MaximizeButton',
78
+ 'set_dockable' => 'wxAuiPaneInfo::Dockable',
79
+ 'set_left_dockable' => 'wxAuiPaneInfo::LeftDockable',
80
+ 'set_gripper_top' => 'wxAuiPaneInfo::GripperTop',
81
+ 'set_gripper' => 'wxAuiPaneInfo::Gripper',
82
+ 'set_movable' => 'wxAuiPaneInfo::Movable',
83
+ 'set_pane_border' => 'wxAuiPaneInfo::PaneBorder',
84
+ 'set_pin_button' => 'wxAuiPaneInfo::PinButton',
85
+ 'set_resizable' => 'wxAuiPaneInfo::Resizable',
86
+ 'set_right_dockable' => 'wxAuiPaneInfo::RightDockable',
87
+ 'set_top_dockable' => 'wxAuiPaneInfo::TopDockable',
88
+ 'set_window'=> 'wxAuiPaneInfo::Window',
89
+ 'set_icon' => 'wxAuiPaneInfo::Icon',
90
+ 'set_best_size' => 'wxAuiPaneInfo::BestSize',
91
+ 'set_min_size' => 'wxAuiPaneInfo::MinSize',
92
+ 'set_max_size' => 'wxAuiPaneInfo::MaxSize',
93
+ 'set_floating_position' => 'wxAuiPaneInfo::FloatingPosition',
94
+ 'set_floating_size' => 'wxAuiPaneInfo::FloatingSize'
95
+ )
96
+ super
97
+ end
98
+ end # class AuiPaneInfo
99
+
100
+ end # class Director
101
+
102
+ end # module WXRuby3
@@ -0,0 +1,47 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface director
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ module WXRuby3
7
+
8
+ class Director
9
+
10
+ class AuiTabArt < Director
11
+
12
+ def setup
13
+ super
14
+ spec.items << 'wxAuiDefaultTabArt' << 'wxAuiSimpleTabArt'
15
+ spec.gc_as_object
16
+ # missing from interface documentation
17
+ spec.extend_interface('wxAuiTabArt',
18
+ 'virtual ~wxAuiTabArt ()',
19
+ 'virtual void DrawBorder(wxDC& dc,wxWindow* wnd,const wxRect& rect) = 0',
20
+ 'virtual int ShowDropDown(wxWindow* wnd,const wxAuiNotebookPageArray& items,int activeIdx) = 0',
21
+ 'virtual int GetBorderWidth(wxWindow* wnd) = 0',
22
+ 'virtual int GetAdditionalBorderSpace(wxWindow* wnd) = 0')
23
+ # ignore documented method (not it's docs)
24
+ spec.ignore 'wxAuiTabArt::DrawTab', ignore_doc: false
25
+ # and re-add with consistently named argument
26
+ spec.extend_interface 'wxAuiTabArt',
27
+ 'virtual void DrawTab(wxDC &dc, wxWindow *wnd, wxAuiNotebookPage const &page, wxRect const &rect, int close_button_state, wxRect *out_tab_rect, wxRect *out_button_rect, int *xExtent) = 0'
28
+ # for DrawTab (cannot simply apply 'int *OUTPUT' as that does not work well with a void method)
29
+ spec.map 'int *xExtent' => 'Integer' do
30
+ map_in ignore: true, temp: 'int tmp', code: '$1 = &tmp;'
31
+ map_argout code: '$result = INT2NUM(tmp$argnum);'
32
+ map_directorargout code: 'if (!NIL_P(result)) *xExtent = NUM2INT(result);'
33
+ end
34
+ # for GetTabSize
35
+ spec.map_apply('int * OUTPUT' => 'int *x_extent')
36
+
37
+ spec.suppress_warning(473,
38
+ 'wxAuiTabArt::Clone',
39
+ 'wxAuiDefaultTabArt::Clone',
40
+ 'wxAuiSimpleTabArt::Clone')
41
+ spec.do_not_generate(:variables, :defines, :enums, :functions)
42
+ end
43
+ end # class AuiTabArt
44
+
45
+ end # class Director
46
+
47
+ end # module WXRuby3
@@ -0,0 +1,121 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface director
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require_relative './window'
7
+
8
+ module WXRuby3
9
+
10
+ class Director
11
+
12
+ class AuiTabCtrl < Window
13
+
14
+ def setup
15
+ # first let Director::Window do it's stuff
16
+ super
17
+ # now replace items because wxAuiTabCtrl is actually not documented (!!!)
18
+ spec.items.replace %w[wxAuiTabContainerButton]
19
+ spec.gc_as_temporary 'wxAuiTabContainerButton'
20
+ spec.no_proxy %w[wxAuiTabCtrl wxAuiTabContainerButton]
21
+ spec.swig_import %w[swig/classes/include/wxObject.h swig/classes/include/wxEvtHandler.h swig/classes/include/wxWindow.h swig/classes/include/wxControl.h]
22
+ # cannot use #add_extend_code because we do not have an actual parsed XML item
23
+ spec.add_swig_code <<~__CODE
24
+ GC_MANAGE_AS_WINDOW(wxAuiTabCtrl);
25
+
26
+ %extend wxAuiTabCtrl {
27
+ VALUE TabHitTest(int x, int y)
28
+ {
29
+ wxWindow* hit = 0;
30
+ if (self->TabHitTest(x, y, &hit))
31
+ {
32
+ return wxRuby_WrapWxObjectInRuby(hit);
33
+ }
34
+ else
35
+ {
36
+ return Qnil;
37
+ }
38
+ }
39
+ VALUE ButtonHitTest(int x, int y)
40
+ {
41
+ wxAuiTabContainerButton* hit = 0;
42
+ if (self->ButtonHitTest(x, y, &hit))
43
+ {
44
+ wxAuiTabContainerButton* rc_hit = new wxAuiTabContainerButton(*hit);
45
+ // return owned copy
46
+ return SWIG_NewPointerObj(SWIG_as_voidptr(rc_hit), SWIGTYPE_p_wxAuiTabContainerButton, 1);
47
+ }
48
+ else
49
+ {
50
+ return Qnil;
51
+ }
52
+ }
53
+ };
54
+ __CODE
55
+ # add the missing interface spec (with the wxAuiTabContainer interface folded in minus replaced/shadowed methods)
56
+ # also add wxAuiTabContainerButton manually here
57
+ spec.add_interface_code <<~__HEREDOC
58
+ class wxAuiTabContainerButton
59
+ {
60
+ public:
61
+ int id;
62
+ int curState;
63
+ int location;
64
+ wxBitmapBundle bitmap;
65
+ wxBitmapBundle disBitmap;
66
+ wxRect rect;
67
+ };
68
+
69
+ class wxAuiTabCtrl : public wxControl
70
+ {
71
+ public:
72
+ wxAuiTabCtrl(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0);
73
+ ~wxAuiTabCtrl();
74
+
75
+ bool IsDragging() const;
76
+ void SetRect(const wxRect& rect);
77
+
78
+ void SetArtProvider(wxAuiTabArt* art);
79
+ wxAuiTabArt* GetArtProvider() const;
80
+
81
+ void SetFlags(unsigned int flags);
82
+ unsigned int GetFlags() const;
83
+
84
+ bool AddPage(wxWindow* page, const wxAuiNotebookPage& info);
85
+ bool InsertPage(wxWindow* page, const wxAuiNotebookPage& info, size_t idx);
86
+ bool MovePage(wxWindow* page, size_t newIdx);
87
+ bool RemovePage(wxWindow* page);
88
+ bool SetActivePage(wxWindow* page);
89
+ bool SetActivePage(size_t page);
90
+ void SetNoneActive();
91
+ int GetActivePage() const;
92
+ wxWindow* GetWindowFromIdx(size_t idx) const;
93
+ int GetIdxFromWindow(const wxWindow* page) const;
94
+ size_t GetPageCount() const;
95
+ wxAuiNotebookPage& GetPage(size_t idx);
96
+ const wxAuiNotebookPage& GetPage(size_t idx) const;
97
+ wxAuiNotebookPageArray& GetPages();
98
+ void SetNormalFont(const wxFont& normalFont);
99
+ void SetSelectedFont(const wxFont& selectedFont);
100
+ void SetMeasuringFont(const wxFont& measuringFont);
101
+ void SetColour(const wxColour& colour);
102
+ void SetActiveColour(const wxColour& colour);
103
+ void DoShowHide();
104
+
105
+ void RemoveButton(int id);
106
+ void AddButton(int id, int location, const wxBitmapBundle& normalBitmap = wxBitmapBundle(), const wxBitmapBundle& disabledBitmap = wxBitmapBundle());
107
+
108
+ size_t GetTabOffset() const;
109
+ void SetTabOffset(size_t offset);
110
+
111
+ bool IsTabVisible(int tabPage, int tabOffset, wxDC* dc, wxWindow* wnd);
112
+
113
+ void MakeTabVisible(int tabPage, wxWindow* win);
114
+ };
115
+ __HEREDOC
116
+ end
117
+ end # class AuiTabCtrl
118
+
119
+ end # class Director
120
+
121
+ end # module WXRuby3
@@ -0,0 +1,22 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface director
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require_relative './window'
7
+
8
+ module WXRuby3
9
+
10
+ class Director
11
+
12
+ class AuiToolBar < Window
13
+
14
+ def setup
15
+ super
16
+ spec.do_not_generate(:variables, :defines, :enums, :functions) # with AuiToolBarEvent
17
+ end
18
+ end # class AuiToolBar
19
+
20
+ end # class Director
21
+
22
+ end # module WXRuby3
@@ -0,0 +1,24 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface director
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ module WXRuby3
7
+
8
+ class Director
9
+
10
+ class AuiToolBarArt < Director
11
+
12
+ def setup
13
+ super
14
+ spec.items << 'wxAuiDefaultToolBarArt'
15
+ spec.gc_as_object
16
+ spec.extend_interface('wxAuiToolBarArt', 'virtual ~wxAuiToolBarArt ()')
17
+ spec.suppress_warning(473, 'wxAuiToolBarArt::Clone', 'wxAuiDefaultToolBarArt::Clone')
18
+ spec.do_not_generate(:variables, :defines, :enums, :functions)
19
+ end
20
+ end # class AuiToolBarArt
21
+
22
+ end # class Director
23
+
24
+ end # module WXRuby3
@@ -0,0 +1,23 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface director
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require_relative './event'
7
+
8
+ module WXRuby3
9
+
10
+ class Director
11
+
12
+ class AuiToolBarEvent < Event
13
+
14
+ def setup
15
+ super
16
+ spec.override_inheritance_chain('wxAuiToolBarEvent',
17
+ {'wxNotifyEvent' => 'wxEvents'}, {'wxCommandEvent' => 'wxEvent'}, 'wxEvent', 'wxObject')
18
+ end
19
+ end # class AuiToolBarEvent
20
+
21
+ end # class Director
22
+
23
+ end # module WXRuby3