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
+ ###
2
+ # wxRuby3 wxWidgets interface extractor
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ module WXRuby3
7
+
8
+ module Extractor
9
+
10
+ # Information about a standalone function.
11
+ class FunctionDef < BaseDef
12
+
13
+ include Util::StringUtil
14
+
15
+ def initialize(element = nil, **kwargs)
16
+ super()
17
+ @type = nil
18
+ @definition = ''
19
+ @template_params = [] # function is a template
20
+ @args_string = ''
21
+ @is_overloaded = false
22
+ @overloads = []
23
+
24
+ update_attributes(**kwargs)
25
+ extract(element) if element
26
+ end
27
+
28
+ attr_accessor :type, :definition, :template_params, :args_string, :is_overloaded, :overloads
29
+
30
+ def is_template?
31
+ !template_params.empty?
32
+ end
33
+
34
+ def extract(element)
35
+ super
36
+ @type = BaseDef.flatten_node(element.at_xpath('type'))
37
+ @definition = element.at_xpath('definition').text
38
+ element.xpath('templateparamlist/param').each do |node|
39
+ if node.at_xpath('declname')
40
+ txt = node.at_xpath('declname').text
41
+ else
42
+ txt = node.at_xpath('type').text
43
+ txt.sub!('class ', '')
44
+ txt.sub!('typename ', '')
45
+ end
46
+ @template_params << txt
47
+ end
48
+ @args_string = element.at_xpath('argsstring').text
49
+ check_deprecated
50
+ element.xpath('param').each do |node|
51
+ p = ParamDef.new(node)
52
+ items << p
53
+ # TODO: Look at @detailedDoc and pull out any matching
54
+ # parameter description items and assign that value as the
55
+ # briefDoc for this ParamDef object.
56
+ end
57
+ end
58
+
59
+ def parameters
60
+ items.select {|i| ParamDef === i }
61
+ end
62
+
63
+ def parameter_count
64
+ parameters.size
65
+ end
66
+
67
+ def required_param_count
68
+ items.inject(0) { |c, i| c += 1 if ParamDef === i && !i.default; c }
69
+ end
70
+
71
+ def rb_decl_name
72
+ "self.#{rb_method_name(rb_name || name)}"
73
+ end
74
+
75
+ def rb_doc(xml_trans, type_maps)
76
+ ovls = all.select {|m| !m.docs_ignored && !m.deprecated }
77
+ ovl_docs = ovls.collect { |mo| mo.rb_doc_decl(xml_trans, type_maps) }
78
+ ovl_docs.inject({}) do |docs, (name, params, doc)|
79
+ if docs.has_key?(name)
80
+ docs[name] << [params, doc]
81
+ else
82
+ docs[name] = [[params, doc]]
83
+ end
84
+ docs
85
+ end
86
+ end
87
+
88
+ def rb_doc_decl(xml_trans, type_maps)
89
+ # get parameterlist docs (if any)
90
+ params_doc = @detailed_doc.at_xpath('para/parameterlist[@kind="param"]')
91
+ # unlink params_doc if any
92
+ params_doc.unlink if params_doc
93
+ # get brief doc
94
+ doc = xml_trans.to_doc(@brief_doc)
95
+ # add detailed doc text without params doc
96
+ doc << xml_trans.to_doc(@detailed_doc)
97
+ # get mapped ruby parameter list
98
+ params = []
99
+ mapped_ret_args = nil
100
+ param_defs = self.parameters
101
+ unless param_defs.empty?
102
+ # map parameters
103
+ mapped_args, mapped_ret_args = type_maps.map_input(param_defs.dup)
104
+ # collect full param specs
105
+ mapped_args.each do |arg|
106
+ paramdef = param_defs[arg.index]
107
+ pnm = if paramdef.name.empty?
108
+ "arg#{params.size > 0 ? params.size.to_s : ''}"
109
+ else
110
+ rb_param_name(paramdef.name)
111
+ end
112
+ params << { name: pnm, type: arg.type }
113
+ if paramdef.default
114
+ defexp = rb_constant_expression(paramdef.default)
115
+ # in case the default expression dereferences a pointer or passes an address clean it up
116
+ defexp.sub!(/\A\s*[\*\&]/, '')
117
+ # in case the default expression contains anything else but simple numbers or identifiers, wrap in ()
118
+ params.last[:default] = if /\A([\d\-\+\.]+|[\w:]+)\Z/ =~ defexp
119
+ defexp
120
+ else
121
+ "(#{defexp})"
122
+ end
123
+ end
124
+ end
125
+ end
126
+ # find and add any parameter specific doc
127
+ params_doc.xpath('parameteritem').each do |pi|
128
+ if (pinm = pi.at_xpath('parameternamelist/parametername'))
129
+ pinm = pinm.text
130
+ # look up matching mapped param entry
131
+ if (param = params.detect { |p| p[:name] == pinm })
132
+ # add doc
133
+ param[:doc] = xml_trans.to_doc(pi.xpath('parameterdescription')).lstrip
134
+ end
135
+ end
136
+ end if params_doc
137
+ # collect full function docs
138
+ paramlist = params.collect {|p| p[:default] ? "#{p[:name]}=#{p[:default]}" : p[:name]}.join(', ').strip
139
+ doclns = doc.split("\n")
140
+ params.each do |p|
141
+ doclns << ('@param ' << p[:name] << ' [' << p[:type] << '] ' << (p[:doc] ? ' '+(p[:doc].split("\n").join("\n ")) : ''))
142
+ end
143
+ result = [rb_return_type(type_maps)]
144
+ result.concat(mapped_ret_args.collect { |mra| mra.type }) if mapped_ret_args
145
+ result.compact! # remove nil values (possible ignored output)
146
+ case result.size
147
+ when 0
148
+ doclns << "@return [void]"
149
+ when 1
150
+ doclns << "@return [#{result.first}]"
151
+ else
152
+ doclns << "@return [Array(#{result.join(',')})]"
153
+ end
154
+ [rb_decl_name, paramlist, doclns]
155
+ end
156
+
157
+ def rb_return_type(type_maps)
158
+ mapped_type = type_maps.map_output(type)
159
+ (mapped_type.empty? || mapped_type == 'void') ? nil : mapped_type
160
+ end
161
+
162
+ def argument_list
163
+ parameters.collect {|p| "#{p.type}#{p.array ? '[]' : ''}" }.join(',')
164
+ end
165
+
166
+ def signature
167
+ sig = "#{@type} #{name}"
168
+ if parameters.empty?
169
+ sig << '()'
170
+ else
171
+ sig << '(' << argument_list << ')'
172
+ end
173
+ sig
174
+ end
175
+
176
+ def check_for_overload(methods)
177
+ methods.each do |m|
178
+ if m.is_a?(FunctionDef) && m.name == @name
179
+ m.overloads << self
180
+ m.is_overloaded = @is_overloaded = true
181
+ return true
182
+ end
183
+ end
184
+ false
185
+ end
186
+
187
+ def all
188
+ [self] + overloads
189
+ end
190
+
191
+ def find_overload(matchText, isConst = nil, printSig = false)
192
+ # Search for an overloaded method that has matchText in its C++ argsString.
193
+ all.each do |o|
194
+ sig = o.signature
195
+ puts(sig) if printSig
196
+ sig.tr!(' ', '')
197
+ if sig.index(matchText)
198
+ unless isConst
199
+ return o
200
+ else
201
+ return o if o.is_const == isConst
202
+ end
203
+ end
204
+ end
205
+ nil
206
+ end
207
+
208
+ def has_overloads
209
+ # Returns True if there are any overloads that are not ignored.
210
+ overloads.any? { |o| !o.ignored }
211
+ end
212
+
213
+ def ignore(val = true, ignore_doc: nil)
214
+ # In addition to ignoring this item, reorder any overloads to ensure
215
+ # the primary overload is not ignored, if possible.
216
+ super
217
+ if @ignored and @overloads
218
+ reorder_overloads
219
+ end
220
+ self
221
+ end
222
+
223
+ def reorder_overloads
224
+ # Reorder a set of overloaded functions such that the primary
225
+ # FunctionDef is one that is not ignored.
226
+ if @overloads && ignored
227
+ all_overloads = [self] + @overloads
228
+ all_overloads.sort { |i1, i2| i1.ignored ? (i2.ignored ? 0 : 1) : (i2.ignored ? -1 : 0) }
229
+ first = all_overloads.shift
230
+ unless first.ignored
231
+ if self.respond_to?(:module)
232
+ parent = @module
233
+ else
234
+ parent = @klass
235
+ end
236
+ @overloads = []
237
+ first.overloads = all_overloads
238
+ idx = parent.items.index(self)
239
+ parent.items[idx] = first
240
+ end
241
+ end
242
+ end
243
+
244
+ def _find_items
245
+ _items = @items.dup
246
+ @overloads.each do |o|
247
+ _items.concat(o.items)
248
+ end
249
+ _items
250
+ end
251
+
252
+ end # class FunctionDef
253
+
254
+ # Represents a class method, ctor or dtor declaration.
255
+ class MethodDef < FunctionDef
256
+ def initialize(element = nil, className = nil, **kwargs)
257
+ super()
258
+ @class_name = className
259
+ @is_virtual = false
260
+ @is_pure_virtual = false
261
+ @is_override = false
262
+ @is_static = false
263
+ @is_const = false
264
+ @is_ctor = false
265
+ @is_dtor = false
266
+ @is_operator = false
267
+ @protection = 'public'
268
+ update_attributes(**kwargs)
269
+ extract(element) if element
270
+ # elif not hasattr(self, 'isCore'):
271
+ # @isCore = _globalIsCore
272
+ end
273
+
274
+ attr_accessor :class_name, :is_virtual, :is_pure_virtual, :is_override, :is_static, :is_const, :is_ctor, :is_dtor,
275
+ :is_operator, :protection
276
+
277
+ VALID_UNARY_OPERATORS = %w{~ + -}
278
+ VALID_BINARY_OPERATORS =%w{[] + - * / % << >> & | ^ <= < > >= ==}
279
+
280
+ def extract(element)
281
+ super
282
+ @is_static = element['static'] == 'yes'
283
+ @is_virtual = %w[virtual pure-virtual].include?(element['virt'])
284
+ @is_pure_virtual = (element['virt'] == 'pure-virtual')
285
+ @args_string.sub!(/\s*=0/, '') if @is_pure_virtual
286
+ @is_override = !!element.at_xpath('reimplements')
287
+ @is_const = (element['const'] == 'yes')
288
+ @is_ctor = (@name == @class_name)
289
+ @is_dtor = (@name == "~#{@class_name}")
290
+ if (@is_operator = (@name.index('operator') == 0))
291
+ if items.empty? # no params : unary?
292
+ self.ignore unless VALID_UNARY_OPERATORS.include?(@name.sub('operator', '').strip)
293
+ elsif items.size == 1 # 1 param : binary?
294
+ self.ignore unless VALID_BINARY_OPERATORS.include?(@name.sub('operator', '').strip)
295
+ else # must be operator function outside class
296
+ self.ignore
297
+ end
298
+ end
299
+ @protection = element['prot']
300
+ unless %w[public protected].include?(@protection)
301
+ raise ExtractorError.new("Invalid protection [#{@protection}")
302
+ end
303
+ end
304
+
305
+ def rb_return_type(type_maps)
306
+ if is_ctor
307
+ rb_wx_name(class_name)
308
+ else
309
+ super
310
+ end
311
+ end
312
+
313
+ def rb_decl_name
314
+ if is_ctor
315
+ 'initialize'
316
+ else
317
+ "#{is_static ? 'self.' : ''}#{rb_method_name(rb_name || name)}"
318
+ end
319
+ end
320
+
321
+ def signature
322
+ sig = super
323
+ sig << ' const' if is_const
324
+ sig
325
+ end
326
+
327
+ end # class MethodDef
328
+
329
+ # A parameter of a function or method.
330
+ class ParamDef < BaseDef
331
+
332
+ def initialize(element = nil, **kwargs)
333
+ super()
334
+ @type = '' # data type
335
+ @array = false
336
+ @default = nil # default value
337
+ # @out = false # is it an output arg?
338
+ # @in_out = false # is it both input and output?
339
+ update_attributes(**kwargs)
340
+ extract(element) if element
341
+ end
342
+
343
+ attr_accessor :type, :array, :default
344
+
345
+ def extract(element)
346
+ begin
347
+ @type = BaseDef.flatten_node(element.at_xpath('type'))
348
+ # we've got varags
349
+ if @type == '...'
350
+ @name = '*args'
351
+ else
352
+ if element.at_xpath('declname')
353
+ @name = element.at_xpath('declname').text
354
+ elsif element.at_xpath('defname')
355
+ @name = element.at_xpath('defname').text
356
+ end
357
+ if element.at_xpath('array') && element.at_xpath('array').text.index('[')
358
+ @array = true
359
+ end
360
+ if element.at_xpath('defval')
361
+ @default = BaseDef.flatten_node(element.at_xpath('defval'))
362
+ end
363
+ end
364
+ rescue Exception
365
+ puts("error when parsing element: #{element.to_s}")
366
+ raise
367
+ end
368
+ end
369
+
370
+ def to_s
371
+ "#{@type} #{@name}#{@array ? ' []' : ''}"
372
+ end
373
+ end # class ParamDef
374
+
375
+ end # module Extractor
376
+
377
+ end # module WXRuby3
@@ -0,0 +1,140 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface extractor
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ module WXRuby3
7
+
8
+ module Extractor
9
+
10
+ # This class holds all the items that will be in the generated module
11
+ class ModuleDef < BaseDef
12
+ def initialize(package, modname, name, gendoc: false)
13
+ super()
14
+ @package = package
15
+ @module_name = modname
16
+ @name = name
17
+ @header_code = []
18
+ @cpp_code = []
19
+ @initializer_code = []
20
+ @pre_initializer_code = []
21
+ @post_initializer_code = []
22
+ @is_a_real_module = (module_name == name)
23
+ @gendoc = gendoc
24
+ end
25
+
26
+ attr_accessor :package, :module_name, :header_code, :cpp_code, :initializer_code,
27
+ :pre_initializer_code, :post_initializer_code, :is_a_real_module, :gendoc
28
+
29
+ # Called after the loading of items from the XML has completed, just
30
+ # before the tweaking stage is done.
31
+ def parse_completed
32
+ # Reorder the items in the module to be a little more sane, such as
33
+ # enums and other constants first, then the classes and functions (since
34
+ # they may use those constants) and then the global variables, but perhaps
35
+ # only those that have classes in this module as their type.
36
+ one = []
37
+ two = []
38
+ three = []
39
+ self.items.each do |item|
40
+ case item
41
+ when ClassDef, FunctionDef
42
+ two << item
43
+ when GlobalVarDef
44
+ if BaseDef.guess_type_int(item) ||
45
+ BaseDef.guess_type_float(item) ||
46
+ BaseDef.guess_type_str(item)
47
+ one << item
48
+ else
49
+ three << item
50
+ end
51
+ # template instantiations go at the end
52
+
53
+ when TypedefDef
54
+ if item.type.index('<')
55
+ three << item
56
+ else
57
+ one << item
58
+ end
59
+ else
60
+ one << item
61
+ end
62
+ end
63
+ self.items = one + two + three
64
+ end
65
+
66
+ def add_element(element)
67
+ item = nil
68
+ kind = element['kind']
69
+ case kind
70
+ when 'class'
71
+ Extractor.extracting_msg(kind, element, ClassDef::NAME_TAG)
72
+ item = ClassDef.new(element, gendoc: @gendoc)
73
+ self.items << item
74
+
75
+ when 'struct'
76
+ Extractor.extracting_msg(kind, element, ClassDef::NAME_TAG)
77
+ item = ClassDef.new(element, kind: 'struct', gendoc: @gendoc)
78
+ self.items << item
79
+
80
+ when 'function'
81
+ Extractor.extracting_msg(kind, element)
82
+ item = FunctionDef.new(element, gendoc: @gendoc)
83
+ self.items << item unless item.check_for_overload(self.items)
84
+
85
+ when 'enum'
86
+ Extractor.extracting_msg(kind, element)
87
+ item = EnumDef.new(element, gendoc: @gendoc)
88
+ self.items << item
89
+
90
+ when 'variable'
91
+ Extractor.extracting_msg(kind, element)
92
+ item = GlobalVarDef.new(element, gendoc: @gendoc)
93
+ self.items << item
94
+
95
+ when 'typedef'
96
+ Extractor.extracting_msg(kind, element)
97
+ item = TypedefDef.new(element, gendoc: @gendoc)
98
+ self.items << item
99
+
100
+ when 'define'
101
+ # if it doesn't have a value, it must be a macro.
102
+ value = BaseDef.flatten_node(element.at_xpath("initializer"))
103
+ unless value
104
+ Extractor.skipping_msg(kind, element)
105
+ else
106
+ # NOTE: This assumes that the #defines are numeric values.
107
+ # There will have to be some tweaking done for items that are
108
+ # not numeric...
109
+ Extractor.extracting_msg(kind, element)
110
+ item = DefineDef.new(element, gendoc: @gendoc)
111
+ self.items << item
112
+ end
113
+
114
+ when 'file', 'namespace'
115
+ Extractor.extracting_msg(kind, element, 'compoundname')
116
+ element.xpath('sectiondef/memberdef').each { |node| self.add_element(node) }
117
+
118
+ else
119
+ raise ExtractorError.new('Unknown module item kind: %s' % kind)
120
+ end
121
+ item
122
+ end
123
+
124
+ # Add a new C++ function into the module that is written by hand, not
125
+ # wrapped.
126
+ def add_cpp_function(type, name, argsString, body, doc = nil, **kwargs)
127
+ md = CppMethodDef.new(type, name, argsString, body, doc, **kwargs)
128
+ self.items << md
129
+ md
130
+ end
131
+
132
+ def classes
133
+ ::Enumerator.new { |y| items.each {|i| y << i if ClassDef === i}}
134
+ end
135
+
136
+ end # class ModuleDef
137
+
138
+ end # module Extractor
139
+
140
+ end # module WXRuby3
@@ -0,0 +1,145 @@
1
+ ###
2
+ # wxRuby3 wxWidgets interface extractor
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ module WXRuby3
7
+
8
+ module Extractor
9
+
10
+ # Represents a basic variable declaration.
11
+ class VariableDef < BaseDef
12
+ def initialize(element = nil, **kwargs)
13
+ super()
14
+ @type = nil
15
+ @definition = ''
16
+ @args_string = ''
17
+ @no_setter = false
18
+ @value = nil;
19
+ update_attributes(**kwargs)
20
+ extract(element) if element
21
+ end
22
+
23
+ attr_accessor :type, :definition, :args_string, :no_setter, :value
24
+
25
+ def extract(element)
26
+ super
27
+ @type = BaseDef.flatten_node(element.at_xpath('type'))
28
+ @definition = element.at_xpath('definition').text
29
+ @args_string = element.at_xpath('argsstring').text
30
+ @value = BaseDef.flatten_node(element.at_xpath('initializer'))
31
+ end
32
+ end # class VariableDef
33
+
34
+ #---------------------------------------------------------------------------
35
+ # These need the same attributes as VariableDef, but we use separate classes
36
+ # so we can identify what kind of element it came from originally.
37
+
38
+ class GlobalVarDef < VariableDef; end
39
+
40
+ class TypedefDef < VariableDef
41
+ def initialize(element = nil, **kwargs)
42
+ super()
43
+ @no_type_name = false
44
+ @doc_as_class = false
45
+ @bases = []
46
+ @protection = 'public'
47
+ update_attributes(**kwargs)
48
+ extract(element) if element
49
+ end
50
+
51
+ attr_accessor :no_type_name, :doc_as_class, :bases, :protection
52
+ end # class TypedefDef
53
+
54
+ #---------------------------------------------------------------------------
55
+
56
+ class MemberVarDef < VariableDef
57
+
58
+ include Util::StringUtil
59
+
60
+ # Represents a variable declaration in a class.
61
+ def initialize(element = nil, **kwargs)
62
+ super()
63
+ @is_static = false
64
+ @protection = 'public'
65
+ @get_code = ''
66
+ @set_code = ''
67
+ update_attributes(**kwargs)
68
+ extract(element) if element
69
+ end
70
+
71
+ attr_accessor :is_static, :protection, :get_code, :set_code
72
+
73
+ def extract(element)
74
+ super
75
+ @is_static = (element['static'] == 'yes')
76
+ @protection = element['prot']
77
+ unless %w[public protected].include?(@protection)
78
+ raise ExtractorError.new("Invalid protection [#{@protection}")
79
+ end
80
+ ignore # ignore all member variables by default (trust on availability of accessor methods)
81
+ end
82
+
83
+ def rb_return_type(type_maps)
84
+ mapped_type = type_maps.map_output(type)
85
+ (mapped_type.empty? || mapped_type == 'void') ? nil : mapped_type
86
+ end
87
+ private :rb_return_type
88
+
89
+ # collect Ruby doc for member var
90
+ # SWIG generates an attribute reader and writer for these
91
+ def rb_doc(xml_trans, type_maps)
92
+ var_doc = ''
93
+ # get brief doc
94
+ var_doc = xml_trans.to_doc(@brief_doc) if @brief_doc
95
+ # add detailed doc text without params doc
96
+ var_doc << xml_trans.to_doc(@detailed_doc) if @detailed_doc
97
+ doc = []
98
+ # first document the reader
99
+ doc << [var_doc.dup]
100
+ doc.last << "@return [#{rb_return_type(type_maps)}]"
101
+ doc << "def #{is_static ? 'self.' : ''}#{rb_method_name(rb_name || name)}; end"
102
+ # next document the writer (if any)
103
+ unless no_setter
104
+ doc << [var_doc.dup]
105
+ parms = [ParamDef.new(nil,
106
+ name: 'val',
107
+ type: type.dup,
108
+ array: false)]
109
+ mapped_args, _ = type_maps.map_input(parms)
110
+ if mapped_args.empty? # something went wrong!
111
+ doc.last << "@param val [#{Typemap.wx_type_to_rb(type)}]"
112
+ else
113
+ doc.last << "@param val [#{mapped_args.first.type}]"
114
+ end
115
+ doc.last << "@return [void]"
116
+ doc << "def #{is_static ? 'self.' : ''}#{rb_method_name(rb_name || name)}=(val); end"
117
+ end
118
+ doc
119
+ end
120
+ end # class MemberVarDef
121
+
122
+ #---------------------------------------------------------------------------
123
+
124
+ # Represents a #define with a name and a value.
125
+ class DefineDef < BaseDef
126
+ def initialize(element = nil, **kwargs)
127
+ super()
128
+ if element
129
+ @name = element.at_xpath('name').text
130
+ @value = BaseDef.flatten_node(element.at_xpath('initializer'))
131
+ @macro = !element.xpath('param').empty?
132
+ end
133
+ update_attributes(**kwargs)
134
+ end
135
+
136
+ attr_reader :value
137
+
138
+ def is_macro?
139
+ @macro
140
+ end
141
+ end # class DefineDef
142
+
143
+ end # module Extractor
144
+
145
+ end # module WXRuby3