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,87 @@
1
+ # wxruby command handler base
2
+ # Copyright (c) M.J.N. Corino, The Netherlands
3
+
4
+ require 'optparse'
5
+ require "rbconfig"
6
+
7
+ module WxRuby
8
+
9
+ RUBY = ENV["RUBY"] || File.join(
10
+ RbConfig::CONFIG["bindir"],
11
+ RbConfig::CONFIG["ruby_install_name"] + RbConfig::CONFIG["EXEEXT"]).sub(/.*\s.*/m, '"\&"')
12
+
13
+ module Commands
14
+
15
+ class << self
16
+
17
+ def commands
18
+ @commands ||= ::Hash.new do |hash, key|
19
+ STDERR.puts "Unknown command #{key} specified."
20
+ exit(1)
21
+ end
22
+ end
23
+ private :commands
24
+
25
+ def options
26
+ @options ||= {
27
+ :verbose => false
28
+ }
29
+ end
30
+ private :options
31
+
32
+ def register(cmdid, cmdhandler)
33
+ commands[cmdid.to_s] = case
34
+ when Proc === cmdhandler || Method === cmdhandler
35
+ cmdhandler
36
+ when cmdhandler.respond_to?(:run)
37
+ Proc.new { |args| cmdhandler.run(args) }
38
+ else
39
+ raise RuntimeError, "Invalid wxruby command handler : #{cmdhandler}"
40
+ end
41
+ end
42
+
43
+ def describe_all
44
+ puts " wxruby commands:"
45
+ commands.each do |id, cmd|
46
+ puts
47
+ puts cmd.call(:describe)
48
+ end
49
+ puts
50
+ end
51
+
52
+ def run(cmdid, args)
53
+ commands[cmdid.to_s].call(args)
54
+ end
55
+
56
+ def parse_args(args)
57
+ opts = OptionParser.new
58
+ opts.banner = "Usage: wxruby [global options] COMMAND [arguments]\n\n" +
59
+ " COMMAND\t\t\tSpecifies wxruby command to execute."
60
+ opts.separator ''
61
+ opts.on('-v', '--verbose',
62
+ 'Show verbose output') { |v| ::WxRuby::Commands.options[:verbose] = true }
63
+ opts.on('-h', '--help',
64
+ 'Show this message.') do |v|
65
+ puts opts
66
+ puts
67
+ describe_all
68
+ exit(0)
69
+ end
70
+ opts.raise_unknown = false
71
+ opts.parse!(args)
72
+ end
73
+ end
74
+ end
75
+
76
+ def self.run(argv = ARGV)
77
+ # parse global options (upto first command)
78
+ argv = WxRuby::Commands.parse_args(argv)
79
+ while !argv.empty?
80
+ WxRuby::Commands.run(argv.shift, argv)
81
+ end
82
+ end
83
+ end
84
+
85
+ Dir[File.join(__dir__, 'cmd', '*.rb')].each do |file|
86
+ require file
87
+ end
@@ -0,0 +1,68 @@
1
+ # wxruby sampler command handler
2
+ # Copyright (c) M.J.N. Corino, The Netherlands
3
+ #--------------------------------------------------------------------
4
+
5
+ require 'fileutils'
6
+
7
+ module WxRuby
8
+ module Commands
9
+ class Sampler
10
+ OPTIONS = {
11
+ save_path: nil
12
+ }
13
+
14
+ def self.description
15
+ " sampler [help]|[copy DEST]\tRun wxRuby3 Sampler application (or copy samples)."
16
+ end
17
+
18
+ def self.parse_args(args)
19
+ opts = OptionParser.new
20
+ opts.banner = "Usage: wxruby [global options] sampler [-h]|[-s PATH]\n"
21
+ opts.separator ''
22
+ opts.on('-s PATH', '--save=PATH',
23
+ 'Save wxRuby samples under PATH.') do |v|
24
+ OPTIONS[:save_path] = v.to_s
25
+ end
26
+ opts.on('-h', '--help',
27
+ 'Show this message.') do |v|
28
+ puts opts
29
+ puts
30
+ exit(0)
31
+ end
32
+ opts.raise_unknown = false
33
+ opts.parse!(args)
34
+ end
35
+
36
+ def self.run(argv)
37
+ if argv == :describe
38
+ description
39
+ else
40
+ if argv.empty?
41
+ exec(RUBY, File.join(WxRuby::ROOT, 'samples', 'sampler.rb'))
42
+ else
43
+ arg = argv.shift
44
+ if arg == 'help'
45
+ puts 'Usage: wxruby [global options] sampler [help]|[copy DEST]'
46
+ puts
47
+ puts ' Starts the sampler application if called without arguments.'
48
+ puts ' Otherwise shows this help for argument "help" or copies the included wxRuby'
49
+ puts ' sample folders under the directory indicated by DEST for argument "copy DEST".'
50
+ puts ' The directory indicated by DEST *must* already exist.'
51
+ puts
52
+ elsif arg == 'copy'
53
+ unless File.directory?(dest = argv.shift)
54
+ STDERR.puts "ERROR: Invalid destination folder #{DEST}"
55
+ exit(1)
56
+ end
57
+ Dir[File.join(WxRuby::ROOT, 'samples', '*')].each do |fp|
58
+ FileUtils.cp_r(fp, dest, verbose: true, noop: true)
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+
66
+ self.register('sampler', Sampler)
67
+ end
68
+ end
@@ -0,0 +1,27 @@
1
+ # wxruby unit test command handler
2
+ # Copyright (c) M.J.N. Corino, The Netherlands
3
+ #--------------------------------------------------------------------
4
+
5
+ require 'fileutils'
6
+
7
+ module WxRuby
8
+ module Commands
9
+ class Test
10
+ def self.description
11
+ " test\t\t\tRun wxRuby3 regression tests."
12
+ end
13
+
14
+ def self.run(argv)
15
+ if argv == :describe
16
+ description
17
+ else
18
+ Dir[File.join(WxRuby::ROOT, 'tests', '*.rb')].each do |test|
19
+ system(RUBY, test)
20
+ end
21
+ end
22
+ end
23
+ end
24
+
25
+ self.register('test', Test)
26
+ end
27
+ end
data/lib/wx.rb ADDED
@@ -0,0 +1,14 @@
1
+ # Wx all-in-one loader for wxRuby3
2
+ # Copyright (c) M.J.N. Corino, The Netherlands
3
+
4
+ WX_GLOBAL_CONSTANTS=true unless defined? WX_GLOBAL_CONSTANTS
5
+
6
+ require 'wx/core'
7
+ require 'wx/prt' if Wx.has_feature?(:USE_PRINTING_ARCHITECTURE)
8
+ require 'wx/rtc' if Wx.has_feature?(:USE_RICHTEXT)
9
+ require 'wx/stc' if Wx.has_feature?(:USE_STC)
10
+ require 'wx/grid' if Wx.has_feature?(:USE_GRID)
11
+ require 'wx/html' if Wx.has_feature?(:USE_HTML)
12
+ require 'wx/aui' if Wx.has_feature?(:USE_AUI)
13
+ require 'wx/pg' if Wx.has_feature?(:USE_PROPGRID)
14
+ require 'wx/rbn' if Wx.has_feature?(:USE_RIBBON)
@@ -0,0 +1,62 @@
1
+ ###
2
+ # wxRuby3 rake file
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require 'rake/clean'
7
+
8
+ namespace :wxruby do
9
+
10
+ require_relative './build'
11
+
12
+ #############################
13
+ # public tasks
14
+
15
+ task :build => ['config:bootstrap', :enum_list, *all_build_targets]
16
+
17
+ task :compile => ['config:bootstrap', *all_compile_targets]
18
+
19
+ task :recompile => ['config:bootstrap', :clean, :compile]
20
+
21
+ task :swig => ['config:bootstrap', WXRuby3.config.classes_path, :enum_list, *all_swig_targets]
22
+
23
+ task :clean => [:clean_bin, :clean_src, *all_clean_targets] do
24
+ rm_if(Dir[File.join(WXRuby3.config.interface_dir, '*')])
25
+ rmdir_if(WXRuby3.config.interface_dir)
26
+ rm_if(Dir[File.join(WXRuby3.config.common_dir, '*')])
27
+ rmdir_if(WXRuby3.config.common_dir)
28
+ rm_if(Dir[File.join(WXRuby3.config.classes_dir, '*')])
29
+ rmdir_if(WXRuby3.config.classes_dir)
30
+ rm_if(Dir[File.join(WXRuby3.config.rake_deps_dir, '.*.rake')])
31
+ rmdir_if(WXRuby3.config.rake_deps_dir)
32
+ rm_if(Dir[File.join(WXRuby3.config.src_gen_dir, '*')])
33
+ rmdir_if(WXRuby3.config.src_gen_dir)
34
+ rmdir_if(WXRuby3.config.src_dir)
35
+ end
36
+
37
+ task :clean_src do
38
+ rm_if(Dir[File.join(WXRuby3.config.src_dir, '*.{cpp,h}')])
39
+ end
40
+
41
+ task :reswig => ['config:bootstrap', :clean_src, :swig]
42
+
43
+ task :clean_bin do
44
+ rm_if(Dir[File.join(WXRuby3::Config.wxruby_root, 'bin', '*')])
45
+ rmdir_if(File.join(WXRuby3::Config.wxruby_root, 'bin'))
46
+ rm_if(Dir[File.join(WXRuby3.config.dest_dir, "*.#{WXRuby3.config.dll_mask}")])
47
+ rm_if(Dir[File.join(WXRuby3.config.obj_dir, '*')])
48
+ rmdir_if(WXRuby3.config.obj_dir)
49
+ end
50
+
51
+ Rake::Task[:clobber].enhance(['wxruby:clean'])
52
+ Rake::Task[:clobber].enhance do
53
+ rm_rf(File.join(WXRuby3.config.ext_path, 'wxWidgets'))
54
+ end if WXRuby3.config.with_wxwin?
55
+
56
+ end
57
+
58
+ desc "Create the binary Ruby library file"
59
+ task :build => 'wxruby:build'
60
+
61
+ desc "Delete SWIG interfaces, C++ sources, library and object files"
62
+ task :clean => 'wxruby:clean'
data/rakelib/build.rb ADDED
@@ -0,0 +1,141 @@
1
+ ###
2
+ # wxRuby3 rake build support
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require 'pathname'
7
+ require_relative './lib/config'
8
+
9
+ if WXRuby3.is_bootstrapped?
10
+
11
+ Rake.application.options.always_multitask =
12
+ Rake.application.top_level_tasks.size == 1 && Rake.application.top_level_tasks.first == 'build'
13
+
14
+ require_relative './lib/director'
15
+
16
+ def enum_list_cache
17
+ unless WXRuby3::Director.validate_enum_cache
18
+ rm_if(WXRuby3::Director.enum_cache_path, verbose: false)
19
+ rm_if(WXRuby3::Director.enum_cache_control_path, verbose: false)
20
+ end
21
+ WXRuby3::Director.enum_cache_control_path
22
+ end
23
+
24
+ WXRuby3::Director.each_package do |pkg|
25
+
26
+ namespace pkg.name.downcase do
27
+
28
+ pkg.included_directors.each do |dir|
29
+ # file tasks for each module's rake file
30
+ file dir.rake_file => [WXRuby3.build_cfg, *WXRuby3.config.build_paths, enum_list_cache, *dir.source_files] do |_|
31
+ dir.create_rakefile
32
+ end
33
+
34
+ # imports of each module's dependency file
35
+ import dir.rake_file
36
+ end
37
+
38
+ # file tasks to generate cpp wrapper sources for any extra package modules (core only)
39
+ pkg.all_extra_modules.each do |mod|
40
+ _deps = [File.join(WXRuby3.config.swig_dir, "#{mod}.i")]
41
+ _deps.concat(WXRuby3::Director.common_dependencies[_deps.first])
42
+ file File.join(WXRuby3.config.src_dir, "#{mod}.cpp") => _deps do |_|
43
+ pkg.generate_code(mod)
44
+ end
45
+ end
46
+
47
+ # The main source module - which needs to initialize all the other modules in the package
48
+ file pkg.initializer_src => pkg.all_swig_files do |t|
49
+ pkg.generate_initializer
50
+ end
51
+
52
+ # Target to run the linker to create a final .so/.dll wxruby3 package library
53
+ file pkg.lib_target => [*pkg.all_obj_files, *pkg.dep_libs] do | t |
54
+ WXRuby3.config.do_link(pkg)
55
+ end
56
+
57
+ task :swig => ['config:bootstrap', :build_report, :enum_list, WXRuby3.config.classes_path, *pkg.all_cpp_files]
58
+
59
+ task :compile => ['config:bootstrap', :build_report, *pkg.all_obj_files]
60
+
61
+ task :build => ['config:bootstrap', :build_report, :enum_list, pkg.lib_target, *pkg.dep_libs]
62
+
63
+ task :clean => pkg.subpackages.values.collect {|sp| "wxruby:#{sp.name.downcase}:clean" } do
64
+ rm_if(Dir[File.join(pkg.ruby_classes_path, 'events', '*')])
65
+ rmdir_if(File.join(pkg.ruby_classes_path, 'events'))
66
+ rm_if(Dir[File.join(pkg.ruby_classes_path, 'ext', '*')])
67
+ rmdir_if(File.join(pkg.ruby_classes_path, 'ext'))
68
+ rm_if(Dir[File.join(pkg.ruby_doc_path, '*')])
69
+ rmdir_if(pkg.ruby_doc_path)
70
+ end
71
+
72
+ end # namespace
73
+
74
+ end
75
+
76
+ task :build_report do
77
+ WXRuby3::Config.instance.report
78
+ end
79
+
80
+ task :enum_list => 'config:bootstrap' do
81
+ Rake::Task[enum_list_cache].invoke
82
+ end
83
+
84
+ def all_swig_targets
85
+ WXRuby3::Director.all_packages.collect {|p| "wxruby:#{p.name.downcase}:swig".to_sym }
86
+ end
87
+
88
+ def all_compile_targets
89
+ WXRuby3::Director.all_packages.collect {|p| "wxruby:#{p.name.downcase}:compile".to_sym }
90
+ end
91
+
92
+ def all_build_targets
93
+ WXRuby3::Director.all_packages.collect {|p| "wxruby:#{p.name.downcase}:build" }
94
+ end
95
+
96
+ def all_clean_targets
97
+ WXRuby3::Director.all_packages.collect {|p| "wxruby:#{p.name.downcase}:clean".to_sym }
98
+ end
99
+
100
+ file WXRuby3::Director.enum_cache_control_path do |t_|
101
+ WXRuby3::Director.all_packages.each { |p| p.extract(genint: false) }
102
+ touch(WXRuby3::Director.enum_cache_control_path)
103
+ end
104
+
105
+ # Compile an object file from a generated c++ source
106
+ rule ".#{WXRuby3.config.obj_ext}" => [
107
+ proc { |tn| "#{WXRuby3.config.src_dir}/#{File.basename(tn, ".*")}.cpp" }
108
+ ] do | t |
109
+ sh "#{WXRuby3.config.cpp} -c #{WXRuby3.config.verbose_flag} " +
110
+ "#{WXRuby3.config.cxxflags} #{WXRuby3::Director.cpp_flags(t.source)} " +
111
+ "#{WXRuby3.config.cpp_out_flag}#{t.name} #{t.source}"
112
+ end
113
+
114
+ if WXRuby3.config.windows?
115
+ # compile an object file from the standard wxRuby resource file
116
+ file File.join(WXRuby3.config.obj_dir, 'wx_rc.o') => File.join(WXRuby3.config.swig_dir, 'wx.rc') do |t|
117
+ sh "#{WXRuby3.config.rescomp} -i#{t.source} -o#{t.name}"
118
+ end
119
+ end
120
+
121
+ else
122
+
123
+ task :enum_list
124
+
125
+ def all_swig_targets
126
+ []
127
+ end
128
+
129
+ def all_compile_targets
130
+ []
131
+ end
132
+
133
+ def all_build_targets
134
+ []
135
+ end
136
+
137
+ def all_clean_targets
138
+ []
139
+ end
140
+
141
+ end
@@ -0,0 +1,48 @@
1
+ ###
2
+ # wxRuby3 rake file
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require_relative './configure'
7
+
8
+ namespace :wxruby do
9
+
10
+ namespace :config do
11
+
12
+ task :configure do |task, args|
13
+ WXRuby3::Config.define(task, args)
14
+ WXRuby3::Config.check
15
+ WXRuby3::Config.save
16
+ exit(0) # do not allow other tasks to be run after wxruby:configure
17
+ end
18
+
19
+ task :show do
20
+ WXRuby3::CFG_KEYS.each do |ck|
21
+ puts "%20s => %s" % [ck, WXRuby3.config.get_config(ck)]
22
+ end
23
+ end
24
+
25
+ # Bootstrap the wxRuby3 build environment
26
+ task :bootstrap => [WXRuby3.build_cfg, WXRuby3.config.wx_xml_path]
27
+
28
+ directory WXRuby3.config.wx_xml_path do
29
+ WXRuby3.config.do_bootstrap
30
+ end
31
+
32
+ WXRuby3.config.build_paths.each do |p|
33
+ directory p
34
+ end
35
+ end
36
+
37
+ end
38
+
39
+ desc 'Configure wxRuby build settings (calling with "-- --help" provides usage information).'
40
+ task :configure => 'wxruby:config:configure'
41
+
42
+ desc 'Show current wxRuby build settings'
43
+ task :show => 'wxruby:config:show'
44
+
45
+ file WXRuby3.build_cfg do
46
+ STDERR.puts "ERROR: Build configuration missing! First run 'rake wxruby::configure'."
47
+ exit(1)
48
+ end
@@ -0,0 +1,131 @@
1
+ ###
2
+ # wxRuby3 rake file
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require 'yaml'
7
+ require_relative './lib/config'
8
+
9
+ CLOBBER.include WXRuby3.build_cfg
10
+
11
+ module WXRuby3
12
+
13
+ module Config
14
+
15
+ def self.define(task, args)
16
+ OptionParser.new do |opts|
17
+ opts.banner = <<~__USAGE
18
+ Usage: rake RAKE_OPTIONS -- #{task.name}[TASK_OPTIONS]
19
+
20
+ TASK_OPTIONS need to be specified as '<taskname>[<opt>,<opt>,...]' without whitespaces.
21
+ In case whitespaces are needed enclose the entire string in "" like "<taskname>[<opt>,<opt>,...]".
22
+ __USAGE
23
+
24
+ opts.separator ""
25
+
26
+ opts.on('--prefix=path',
27
+ "path prefix of target environment [#{get_config('prefix')}]") {|v| set_config('prefix', File.expand_path(v))}
28
+ opts.on('--bindir=path',
29
+ "the directory for commands [#{RB_CONFIG['bindir']}]") {|v| CONFIG['bindir'] = v}
30
+ opts.on('--libdir=path',
31
+ "the directory for libraries [#{RB_CONFIG['libdir']}]") {|v| CONFIG['libdir'] = v}
32
+ opts.on('--datadir=path',
33
+ "the directory for shared data [#{RB_CONFIG['datadir']}]") {|v| CONFIG['datadir'] = v}
34
+ opts.on('--mandir=path',
35
+ "the directory for man pages [#{RB_CONFIG['mandir']}]") {|v| CONFIG['mandir'] = v}
36
+ opts.on('--sysconfdir=path',
37
+ "the directory for system configuration files [#{RB_CONFIG['sysconfdir']}]") {|v| CONFIG['sysconfdir'] = v}
38
+ opts.on('--localstatedir=path',
39
+ "the directory for local state data [#{RB_CONFIG['localstatedir']}]") {|v| CONFIG['localstatedir'] = v}
40
+ opts.on('--libruby=path',
41
+ "the directory for ruby libraries [#{get_config('libruby')}]") {|v| CONFIG['libruby'] = v}
42
+ opts.on('--librubyver=path',
43
+ "the directory for standard ruby libraries [#{get_config('librubyver')}]") {|v| CONFIG['librubyver'] = v}
44
+ opts.on('--librubyverarch=path',
45
+ "the directory for standard ruby extensions [#{get_config('librubyverarch')}]") {|v| CONFIG['librubyverarch'] = v}
46
+ opts.on('--siteruby=path',
47
+ "the directory for version-independent aux ruby libraries [#{get_config('siteruby')}]") {|v| CONFIG['siteruby'] = v}
48
+ opts.on('--siterubyver=path',
49
+ "the directory for aux ruby libraries [#{get_config('siterubyver')}]") {|v| CONFIG['siterubyver'] = v}
50
+ opts.on('--siterubyverarch=path',
51
+ "the directory for aux ruby binaries [#{get_config('siterubyverarch')}]") {|v| CONFIG['siterubyverarch'] = v}
52
+ opts.on('--rbdir=path',
53
+ "the directory for ruby scripts [#{get_config('rbdir')}]") {|v| CONFIG['rbdir'] = v}
54
+ opts.on('--sodir=path',
55
+ "the directory for ruby extensions [#{get_config('sodir')}]") {|v| CONFIG['sodir'] = v}
56
+ opts.on('--wxwin=path',
57
+ "the installation root for the wxWidgets libraries and headers if not using the system default") {|v| CONFIG['wxwin'] = File.expand_path(v)}
58
+ opts.on('--wxxml=path',
59
+ "the path to the doxygen generated wxWidgets XML interface specs if not using bootstrap") {|v| CONFIG['wxxml'] = File.expand_path(v)}
60
+ opts.on('--wxwininstdir=path',
61
+ "the directory where the wxWidgets dlls are to be installed for wxRuby [#{instance.get_config('wxwininstdir')}]") {|v| CONFIG['wxwininstdir'] = v}
62
+ opts.on('--with-wxwin',
63
+ "build a local copy of wxWidgets for use with wxRuby [false]") {|v| CONFIG['with-wxwin'] = true}
64
+ opts.on('--with-debug',
65
+ "build with debugger support [#{instance.get_config('with-debug')}]") {|v| CONFIG['with-debug'] = true}
66
+ opts.on('--swig=path',
67
+ "the path to swig executable [#{get_config('swig')}]") {|v| CONFIG['swig'] = v}
68
+ opts.on('--doxygen=path',
69
+ "the path to doxygen executable [#{get_config('doxygen')}]") {|v| CONFIG['doxygen'] = v}
70
+
71
+ opts.separator ""
72
+
73
+ opts.on('--help', 'Show this help message') { puts opts; puts; exit }
74
+ end.parse!(args.extras.dup)
75
+ end
76
+
77
+ def self.check
78
+ instance.init # re-initialize
79
+
80
+ if Dir[File.join('ext', 'wxruby_*.so')].empty? # Don't check for wxWidgets installation when executed for binary gem install
81
+
82
+ if !get_config('with-wxwin')
83
+ # check if a user defined wxWidgets location is specified or we're using a system standard install
84
+ if get_cfg_string('wxwin').empty?
85
+ # assume system standard install; will be checked below
86
+ set_config('wxwininstdir', get_cfg_string('libdir')) if get_cfg_string('wxwininstdir').empty?
87
+ elsif get_cfg_string('wxwininstdir').empty?
88
+ if instance.windows?
89
+ set_config('wxwininstdir', File.join(get_cfg_string('wxwin'), 'bin'))
90
+ else
91
+ set_config('wxwininstdir', File.join(get_cfg_string('wxwin'), 'lib'))
92
+ end
93
+ end
94
+ elsif !get_cfg_string('wxwin').empty?
95
+ if get_cfg_string('wxwininstdir').empty?
96
+ if instance.windows?
97
+ set_config('wxwininstdir', File.join(get_cfg_string('wxwin'), 'bin'))
98
+ else
99
+ set_config('wxwininstdir', File.join(get_cfg_string('wxwin'), 'lib'))
100
+ end
101
+ end
102
+ else
103
+ set_config('wxwininstdir', get_cfg_string('sodir')) if get_cfg_string('wxwininstdir').empty?
104
+ end
105
+
106
+ if !get_cfg_string('wxwin').empty? || !get_config('with-wxwin')
107
+ # check wxWidgets availability through 'wx-config' command
108
+ if instance.check_wx_config
109
+ if instance.wx_config("--version") < '3.2.0'
110
+ STDERR.puts "ERROR: Incompatible wxWidgets version. wxRuby requires a wxWidgets >= 3.2.0 release."
111
+ exit(1)
112
+ end
113
+ else
114
+ STDERR.puts "ERROR: Cannot find wxWidgets. wxRuby requires a wxWidgets >= 3.2.0 release."
115
+ exit(1)
116
+ end
117
+ # else we're are assumed to build wxWidgets ourselves so cannot test anything yet
118
+ end
119
+
120
+ if get_cfg_string('wxxml').empty?
121
+ # no pre-generated XML specified so we are going to need Git and Doxygen
122
+ instance.check_git
123
+ instance.check_doxygen
124
+ end
125
+
126
+ end
127
+ end
128
+
129
+ end
130
+
131
+ end
data/rakelib/doc.rake ADDED
@@ -0,0 +1,21 @@
1
+ ###
2
+ # wxRuby3 rake file
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ require_relative './configure'
7
+
8
+ namespace :wxruby do
9
+
10
+ require_relative './doc'
11
+
12
+ task :doc => ['config:bootstrap', File.join(WXRuby3.config.rb_docgen_path, 'window.rb')]
13
+
14
+ end
15
+
16
+ directory WXRuby3.config.rb_docgen_path
17
+
18
+ file File.join(WXRuby3.config.rb_docgen_path, 'window.rb') => [WXRuby3.config.rb_docgen_path, *all_doc_targets]
19
+
20
+ desc 'Generate documentation stubs for wxRuby'
21
+ task :doc => 'wxruby:doc'
data/rakelib/doc.rb ADDED
@@ -0,0 +1,35 @@
1
+ ###
2
+ # wxRuby3 rake doc generation support
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+ require_relative './lib/config'
6
+
7
+ if WXRuby3.is_bootstrapped?
8
+
9
+ WXRuby3::Director.each_package do |pkg|
10
+
11
+ namespace pkg.name.downcase do
12
+
13
+ if WXRuby3.is_configured?
14
+
15
+ task :doc => ['config:bootstrap', *pkg.all_swig_files] do
16
+ pkg.generate_docs
17
+ end
18
+
19
+ end
20
+
21
+ end
22
+
23
+ end
24
+
25
+ def all_doc_targets
26
+ WXRuby3::Director.all_packages.collect {|p| "wxruby:#{p.name.downcase}:doc".to_sym }
27
+ end
28
+
29
+ else
30
+
31
+ def all_doc_targets
32
+ []
33
+ end
34
+
35
+ end
@@ -0,0 +1,30 @@
1
+ ###
2
+ # wxRuby3 rake file
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ namespace :wxruby do
7
+
8
+ if WXRuby3.is_configured?
9
+
10
+ require_relative './install'
11
+
12
+ task :install => [ 'wxruby:build', *WXRuby3::ALL_RUBY_LIB_FILES, 'bin:build' ] do | t, args |
13
+ WXRuby3::Install.define(t, args)
14
+ WXRuby3::Install.nowrite(ENV['NO_HARM'] ? true : false) do
15
+ WXRuby3::Install.install
16
+ Rake::Task['wxruby:post:install'].invoke
17
+ end
18
+ end
19
+
20
+ task :uninstall => WXRuby3::BUILD_CFG do | t, args |
21
+ WXRuby3::Install.define(t, args)
22
+ WXRuby3::Install.nowrite(ENV['NO_HARM'] ? true : false) do
23
+ Rake::Task['wxruby:pre:uninstall'].invoke
24
+ WXRuby3::Install.uninstall
25
+ end
26
+ end
27
+
28
+ end
29
+
30
+ end