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
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: d5dbc9b814f9b51ac36a537fad27a58595d41536f68eafb17b7250b70b510d2f
4
+ data.tar.gz: bd80ce942bd3e37ee334d5562a7fcc4462e640ced3b49449e68e7c9e12f7c784
5
+ SHA512:
6
+ metadata.gz: 640e90f61107db26bf3f73e76fd5cc05843cc714621773bb807c6f14a4e93b911bb3a92e54f430644843d9c0d986cf8041d9b9ab7750f09f69dbb4517ea8a982
7
+ data.tar.gz: 5ce36f28a19449a0fd3f20ed5a8133b490335e359f13bb118c325c5592a65f75881f02970a2270699af7d64338d0f06d409d01bd26d4a67c61ed3685d9b71f92
data/.yardopts ADDED
@@ -0,0 +1,13 @@
1
+ --load rakelib/yard/yard-relative_markdown_links.rb
2
+ --load rakelib/yard/yard-custom-templates.rb
3
+ --charset UTF-8
4
+ --readme README.md
5
+ --title "wxRuby3 API Documentation"
6
+ --output-dir rdoc
7
+ --protected
8
+ lib/wx/doc/**/*.rb
9
+ -
10
+ CREDITS.md
11
+ INSTALL.md
12
+ LICENSE
13
+ lib/wx/doc/**/*.md
data/CREDITS.md ADDED
@@ -0,0 +1,52 @@
1
+
2
+ # Credits
3
+
4
+ ## wxRuby 3
5
+
6
+ Martin Corino established the wxRuby3 project in 2022.
7
+
8
+ ### Lead Maintainer
9
+
10
+ Martin Corino: mcorino at m2c-software dot nl
11
+
12
+ ## wxRuby 2
13
+
14
+ In 2005 Kevin Smith established the wxRuby 2.0 project of which parts are still
15
+ integrated in wxRuby3. This project benefited from the input of dozens of
16
+ volunteers, who have contributed code, documentation, testing, bug reports and
17
+ feature requests.
18
+
19
+ The alphabetic list shows (some of) those who've contributed code to
20
+ wxRuby 2.0.
21
+
22
+ Albin Holmgren
23
+ Alex Fenton
24
+ Artur Kuptel
25
+ Cezar Espinola
26
+ Chauk-Mean Proum
27
+ Christophe Bludau
28
+ Curt Hibbs
29
+ Dale Edmons
30
+ Daniel Savarese
31
+ David Whetstone
32
+ Dirk Traulsen
33
+ Hawley Waldman
34
+ Jani Monoses
35
+ Joe Seeley
36
+ Jonathan Maasland
37
+ Kevin Smith
38
+ Mario Steele
39
+ Nic
40
+ Pascal Hurni
41
+ Robert Carlin
42
+ Roy Sutton
43
+ Ryuichi Sakamoto
44
+ Sean Lindsay
45
+ Sean Long
46
+ Tobias Gruetzmacher
47
+ Zach Dennis
48
+
49
+ ## wxWidgets
50
+
51
+ wxWidgets was started in 1992 by Julian Smart at the University of Edinburgh.
52
+ Many thanks go to him and the [wxWidgets development team](https://wxwidgets.org/about/team) for this marvellous GUI library.
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Martin Corino
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,139 @@
1
+ [![Linux wxGTK](https://github.com/mcorino/wxRuby3/actions/workflows/linux.yml/badge.svg)](https://github.com/mcorino/wxRuby3/actions/workflows/linux.yml)
2
+ [![Windows wxMSW](https://github.com/mcorino/wxRuby3/actions/workflows/msw.yml/badge.svg)](https://github.com/mcorino/wxRuby3/actions/workflows/msw.yml)
3
+ [![License](https://img.shields.io/badge/license-MIT-yellowgreen.svg)](LICENSE)
4
+ [![Gem Version](https://badge.fury.io/rb/wxruby3.svg)](https://badge.fury.io/rb/wxruby3)
5
+
6
+ [![Documentation](https://img.shields.io/badge/docs-pages-blue.svg)](https://mcorino.github.io/wxRuby3)
7
+
8
+ # README for wxRuby3
9
+
10
+ Reviving wxRuby
11
+
12
+ ## Introduction
13
+
14
+ wxRuby3 is a cross-platform GUI library for Ruby, based on the [wxWidgets](https://wxwidgets.org)
15
+ GUI toolkit for C++. It uses native widgets wherever possible, providing
16
+ the correct look, feel and behaviour to GUI applications on Windows, OS
17
+ X and Linux/GTK. wxRuby aims to provide a comprehensive solution to
18
+ developing professional-standard desktop applications in Ruby.
19
+
20
+ ## wxRuby3 licence
21
+
22
+ wxRuby3 is free and open-source. It is distributed under the liberal
23
+ MIT licence which is compatible with both free and commercial development.
24
+ See [LICENSE](LICENSE) for more details.
25
+
26
+ ### wxRuby3 and wxWidgets
27
+
28
+ If you distribute (your) wxRuby3 (application) with a binary copy of wxWidgets,
29
+ you are bound to the requirements of the copy of wxWidgets within. Fortunately,
30
+ those requirements do not impose any serious restrictions.
31
+
32
+ ### wxWidgets License Summary (from wxWidgets)
33
+
34
+ In summary, the licence is LGPL plus a clause allowing unrestricted
35
+ distribution of application binaries. To answer a FAQ, you don't have to
36
+ distribute any source if you wish to write commercial applications using
37
+ wxWidgets.
38
+
39
+ ### Required Credits and Attribution
40
+
41
+ Generally, neither wxWidgets nor wxRuby3 require attribution, beyond
42
+ retaining existing copyright notices. However, if you build your own
43
+ custom wxWidgets library, there may be portions that require specific
44
+ attributions or credits, such as TIFF or JPEG support. See the wxWidgets
45
+ README and license files for details.
46
+ See [here](CREDITS.md) for more details on and acknowledgement of the developers
47
+ of these products.
48
+
49
+ ## FAQ
50
+
51
+ ### What platforms and operating systems are supported in wxRuby3?
52
+
53
+ Currently the following are fully supported:
54
+
55
+ * Windows 10 (RubyInstaller MSYS2-DevKit) / Ruby >= 2.5 / wxWidgets >= 3.2
56
+ * Linux (i686 + AMD-64) / Ruby >= 2.5 / wxWidgets >= 3.2
57
+
58
+ Support for other platforms is not being actively developed at present,
59
+ but patches are welcome. It is likely to be much simpler to get wxRuby
60
+ working on similar modern systems (eg FreeBSD or Solaris with GTK) than
61
+ on legacy systems (eg Windows 98, Mac OS 9).
62
+
63
+ ### Where can I ask a question, or report a bug?
64
+
65
+ Use GitHUb Issues.
66
+
67
+ When asking a question, if something is not working as you expect,
68
+ please provide a *minimal*, *runnable* sample of code that demonstrates
69
+ the problem, and say what you expected to happen, and what actually
70
+ happened. Please also provide basic details of your platform, Ruby,
71
+ wxRuby and wxWidgets version, and make a reasonable effort to find answers
72
+ in the archive and documentation before posting. People are mostly happy
73
+ to help, but it's too much to expect them to guess what you're trying to
74
+ do, or try and debug 1,000 lines of your application.
75
+ Very important also; do not use offensive language and be **polite**.
76
+
77
+ ### How can I learn to use wxRuby?
78
+
79
+ wxRuby3 is a large API and takes some time to learn. The wxRuby3
80
+ distribution comes with numerous samples which illustrate how to use
81
+ many specific parts of the API. A good one to start with is the
82
+ 'minimal' sample, which provides an application skeleton. All the
83
+ bundled samples are expected to work with current wxRuby3, although
84
+ some use a more modern coding style than others.
85
+
86
+ Complete (more or less) wxRuby API documentation should be part of any
87
+ complete wxRuby3 build. This tends to focus on providing a reference
88
+ of all available modules, classes ad methods and how to use specific
89
+ classes and methods, rather than on how to construct an application
90
+ overall.
91
+ This documentation (for the latest release) is also available online
92
+ [here](https://mcorino.github.io/wxRuby3/file.00_starting.html).
93
+
94
+ One of the advantages of wxRuby3 is the much larger ecosystem of
95
+ wxWidgets and wxPython resources out there. There is a book for
96
+ wxWidgets, "Cross-Platform Programming in wxWidgets", which can be freely
97
+ downloaded as a PDF. This provides very comprehensive coverage of the
98
+ wxWidgets API in C++. The code may not be directly useful but the
99
+ descriptions of how widgets and events and so forth work are almost
100
+ always relevant to wxRuby3 (and should be fairly easily relatable).
101
+
102
+ When using a search engine to find answers about a wxRuby3 class, it can
103
+ be worth searching for the same term but with 'wx' prepended. For
104
+ example, if you wanted answers about the "Grid" class, try searching for
105
+ "wxGrid" as this will turn up results relating to wxWidgets and wxPython
106
+ which may be relevant.
107
+
108
+ ### What wxWidgets features are supported by wxRuby3?
109
+
110
+ wxRuby supports almost all of the wxWidgets 3.x GUI API, providing over
111
+ 600 classes in total. wxWidgets classes that provide general and/or non-GUI
112
+ programming support features, such as strings, networking, threading, database
113
+ access and such are not and will never be ported, as it's assumed that
114
+ in all these cases it's preferable to use pure Ruby features.
115
+
116
+ If you know of a feature in wxWidgets that you would like to see
117
+ supported in wxRuby3 you are free to ask but do not **EXPECT** unconditional
118
+ agreement or immediate response.
119
+
120
+ ### How does wxRuby3 relate to the wxRuby 2.0 (and even older 0.6.0 release)?
121
+
122
+ wxRuby 0.6.0 was the last in a series of releases developed using a
123
+ different approach in the early days of wxRuby. Work on this series
124
+ stopped in early 2005, in favour of what became wxRuby 2.0. This project
125
+ in turn stopped being supported in 2013.
126
+ Several years of development have passed for wxWidgets and Ruby respectively,
127
+ improving code quality, adding new classes and new language features.
128
+ In 2022 I finally found the time and the inspiration to pick up this project
129
+ with the idea of reviving it to build some applications I had in mind.
130
+ wxRuby 3 intents to provide Ruby interfaces for all relevant (!) wxWidget
131
+ classes of the latest version 3.2 and beyond.
132
+ Building on the experiences of the previous wxRuby (2) developments as well
133
+ as the wxPython Phoenix project it is expected to provide a better and more
134
+ maintainable solution.
135
+
136
+ ### I am getting an error trying to install or compile wxRuby3
137
+
138
+ Please double-check the [INSTALL](INSTALL.md) documents, and search issue archives. If
139
+ this doesn't help, please post your question using GitHub Issues.
data/bin/wxruby ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+ #---------------------------------
3
+ # This file is generated
4
+ #---------------------------------
5
+ module WxRuby
6
+ ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
7
+ end
8
+ require 'wx/wxruby/base'
9
+ WxRuby.run
@@ -0,0 +1,64 @@
1
+ ###
2
+ # wxRuby3 extension configuration file for source gem
3
+ # Copyright (c) M.J.N. Corino, The Netherlands
4
+ ###
5
+
6
+ # generate Rakefile with appropriate default task (all actual task in rakelib)
7
+ File.open('../Rakefile', 'w') do |f|
8
+ f.puts <<EOF__
9
+ ###
10
+ # wxRuby3 rake file
11
+ # Copyright (c) M.J.N. Corino, The Netherlands
12
+ ###
13
+
14
+ task :default => 'wxruby:build' do
15
+ Rake::Task['wxruby:post:srcgem'].invoke
16
+ end
17
+ EOF__
18
+ end
19
+
20
+ require 'rbconfig'
21
+ if defined? ::RbConfig
22
+ RB_CONFIG = ::RbConfig
23
+ else
24
+ RB_CONFIG = ::Config
25
+ end unless defined? RB_CONFIG
26
+ RB_CONFIG::MAKEFILE_CONFIG['TRY_LINK'] = "$(CXX) #{RB_CONFIG::MAKEFILE_CONFIG['OUTFLAG']}conftest#{$EXEEXT} $(INCFLAGS) $(CPPFLAGS) " \
27
+ "$(CFLAGS) $(src) $(LIBPATH) $(LDFLAGS) $(ARCH_FLAG) $(LOCAL_LIBS) $(LIBS)"
28
+ require 'mkmf'
29
+ if defined?(MakeMakefile)
30
+ MakeMakefile::COMMON_HEADERS.clear
31
+ elsif defined?(COMMON_HEADERS)
32
+ COMMON_HEADERS.slice!(/./)
33
+ end
34
+
35
+ usage_txt =<<-__EOT
36
+ Please make sure you have a valid build environment either by having a system provided wxWidgets
37
+ development package installed (>= 3.2.0) or provide the paths to a locally built and installed
38
+ wxWidgets release (>= 3.2.0) by setting the WXWIN environment variable (and optionally WXXML)
39
+ for the 'gem install' command.
40
+ Installed versions of SWIG (>= 3.0.12) and (if no WXXML path is provided) doxygen and git are
41
+ also required.
42
+ Checkout the documentation at https://github.com/mcorino/wxRuby3 for more information.
43
+ __EOT
44
+
45
+ wxwin = ENV['WXWIN']
46
+ wxxml = ENV['WXXML']
47
+ with_wxwin = !!ENV['WITH_WXWIN']
48
+
49
+ # run configure with appropriate settings
50
+ cfgargs = ''
51
+ if wxwin || with_wxwin
52
+ cfgargs = ["--wxwin=#{wxwin}"]
53
+ cfgargs << "--wxxml=#{wxxml}" if wxxml
54
+ cfgargs << '--with-wxwin' if with_wxwin
55
+ cfgargs = "[#{cfgargs.join(',')}]"
56
+ end
57
+ Dir.chdir('..') do
58
+ puts "Running 'rake #{ARGV.join(' ')} configure#{cfgargs}'"
59
+ unless system("rake #{ARGV.join(' ')} configure#{cfgargs}")
60
+ puts 'Failed to configure wxRuby3'
61
+ puts usage_txt
62
+ exit(1)
63
+ end
64
+ end
@@ -0,0 +1,104 @@
1
+ /*
2
+ * WxRuby3 runtime support
3
+ * Copyright (c) M.J.N. Corino, The Netherlands
4
+ */
5
+
6
+ #include <memory>
7
+
8
+ // Class for static ID initializers
9
+ class WxRuby_ID
10
+ {
11
+ public:
12
+ WxRuby_ID(const char* nm) : name_ (nm) {}
13
+ WxRuby_ID(const WxRuby_ID& other) : name_(other.name_), id_(other.id_) {}
14
+ WxRuby_ID(WxRuby_ID&&) = delete;
15
+
16
+ ID get_id ()
17
+ {
18
+ if (this->id_ == ID())
19
+ {
20
+ this->id_ = rb_intern(this->name_);
21
+ }
22
+ return this->id_;
23
+ }
24
+
25
+ ID operator ()() { return this->get_id(); }
26
+
27
+ VALUE get_sym ()
28
+ {
29
+ return ID2SYM(this->get_id());
30
+ }
31
+
32
+ private:
33
+ const char* name_;
34
+ ID id_ {};
35
+ };
36
+
37
+ // Exported runtime helper methods
38
+
39
+ #ifdef __WXRB_DEBUG__
40
+ WXRUBY_EXPORT int wxRuby_TraceLevel();
41
+ #endif
42
+
43
+ WXRUBY_EXPORT VALUE wxRuby_Funcall(VALUE rcvr, ID func, int argc, ...);
44
+ WXRUBY_EXPORT VALUE wxRuby_Funcall(bool& ex_caught, VALUE rcvr, ID func, int argc, ...);
45
+ WXRUBY_EXPORT VALUE wxRuby_Funcall(VALUE rcvr, ID func, VALUE args);
46
+ WXRUBY_EXPORT VALUE wxRuby_Funcall(bool& ex_caught, VALUE rcvr, ID func, VALUE args);
47
+
48
+ WXRUBY_EXPORT bool wxRuby_IsAppRunning();
49
+ WXRUBY_EXPORT void wxRuby_ExitMainLoop(VALUE exception = Qnil);
50
+ WXRUBY_EXPORT void wxRuby_PrintException(VALUE err);
51
+ typedef void (*WXRBMarkFunction)();
52
+ WXRUBY_EXPORT void wxRuby_AppendMarker(WXRBMarkFunction marker);
53
+
54
+ WXRUBY_EXPORT VALUE wxRuby_GetTopLevelWindowClass(); // used for wxWindow typemap in typemap.i
55
+ WXRUBY_EXPORT bool GC_IsWindowDeleted(void *ptr);
56
+
57
+ // Defined in wx.i; getting, setting and using swig_type <-> ruby class
58
+ // mappings
59
+ WXRUBY_EXPORT swig_type_info* wxRuby_GetSwigTypeForClass(VALUE cls);
60
+ WXRUBY_EXPORT void wxRuby_SetSwigTypeForClass(VALUE cls, swig_type_info* ty);
61
+
62
+ // Common wrapping functions
63
+ WXRUBY_EXPORT VALUE wxRuby_WrapWxObjectInRuby(wxObject* obj);
64
+ #ifdef __WXRB_DEBUG__
65
+ WXRUBY_EXPORT VALUE wxRuby_WrapWxEventInRuby(void* rcvr, wxEvent* event);
66
+ #else
67
+ WXRUBY_EXPORT VALUE wxRuby_WrapWxEventInRuby(wxEvent* event);
68
+ #endif
69
+
70
+ // event handling helpers
71
+ WXRUBY_EXPORT VALUE wxRuby_GetEventTypeClassMap();
72
+ WXRUBY_EXPORT VALUE wxRuby_GetDefaultEventClass ();
73
+ WXRUBY_EXPORT void wxRuby_ReleaseEvtHandlerProcs(void* evt_handler);
74
+
75
+ WXRUBY_EXPORT bool wxRuby_IsNativeMethod(VALUE object, ID method_id);
76
+
77
+ WXRUBY_EXPORT VALUE wxRuby_GetWindowClass();
78
+ WXRUBY_EXPORT VALUE wxRuby_GetDialogClass();
79
+
80
+ // Enum helpers
81
+ WXRUBY_EXPORT VALUE wxRuby_GetEnumClass(const char* enum_class_name_cstr);
82
+ WXRUBY_EXPORT VALUE wxRuby_CreateEnumClass(const char* enum_class_name_cstr);
83
+ WXRUBY_EXPORT VALUE wxRuby_AddEnumValue(VALUE enum_klass, const char* enum_value_name_cstr, VALUE enum_value_num);
84
+ WXRUBY_EXPORT VALUE wxRuby_GetEnumValueObject(const char* enum_wx_class_name_cstr, int enum_val);
85
+ WXRUBY_EXPORT bool wxRuby_GetEnumValue(const char* enum_class_name_cstr, VALUE rb_enum_val, int &c_eval);
86
+ WXRUBY_EXPORT bool wxRuby_IsAnEnum(VALUE rb_val);
87
+ WXRUBY_EXPORT bool wxRuby_IsEnumValue(const char* enum_wx_class_name_cstr, VALUE rb_enum_val);
88
+
89
+ // Colour type mapping helpers
90
+ WXRUBY_EXPORT bool wxRuby_IsRubyColour(VALUE rbcol);
91
+ WXRUBY_EXPORT wxColour wxRuby_ColourFromRuby(VALUE rbcol);
92
+ WXRUBY_EXPORT VALUE wxRuby_ColourToRuby(const wxColour& col);
93
+
94
+ // Font type mapping helpers
95
+ WXRUBY_EXPORT bool wxRuby_IsRubyFont(VALUE rbfont);
96
+ WXRUBY_EXPORT wxFont wxRuby_FontFromRuby(VALUE rbfont);
97
+ WXRUBY_EXPORT VALUE wxRuby_FontToRuby(const wxFont& font);
98
+
99
+ #if wxUSE_VARIANT
100
+ // Variant support
101
+ WXRUBY_EXPORT VALUE& operator << (VALUE &value, const wxVariant &variant);
102
+ WXRUBY_EXPORT wxVariant& operator << (wxVariant &variant, const VALUE &value);
103
+ WXRUBY_EXPORT wxVariant wxRuby_ConvertRbValue2Variant(VALUE rbval);
104
+ #endif
@@ -0,0 +1,62 @@
1
+ /* wxRuby3
2
+ * Copyright (c) Martin J.N. Corino
3
+ */
4
+ // Copyright 2004-2007, wxRuby development team
5
+ // released under the MIT-like wxRuby2 license
6
+
7
+ // These are standard Wx graphic/drawing objects. Unlike RubyConstants,
8
+ // objects in this file aren't loaded into ruby until AFTER app.on_init
9
+
10
+ // Trying to create these kind of objects before a wxApp has started causes
11
+ // errors on GTK.
12
+ %module(directors="1") wxRubyStockObjects
13
+
14
+
15
+ %include "common.i"
16
+
17
+ %{
18
+ extern VALUE mWxCore;
19
+ %}
20
+
21
+ %constant wxFont* const wxNORMAL_FONT;
22
+ %constant wxFont* const wxSMALL_FONT;
23
+ %constant wxFont* const wxITALIC_FONT;
24
+ %constant wxFont* const wxSWISS_FONT;
25
+
26
+ %constant wxPen* const wxRED_PEN;
27
+ %constant wxPen* const wxCYAN_PEN;
28
+ %constant wxPen* const wxGREEN_PEN;
29
+ %constant wxPen* const wxBLACK_PEN;
30
+ %constant wxPen* const wxWHITE_PEN;
31
+ %constant wxPen* const wxTRANSPARENT_PEN;
32
+ %constant wxPen* const wxBLACK_DASHED_PEN;
33
+ %constant wxPen* const wxGREY_PEN;
34
+ %constant wxPen* const wxMEDIUM_GREY_PEN;
35
+ %constant wxPen* const wxLIGHT_GREY_PEN;
36
+ %constant wxPen* const wxYELLOW_PEN;
37
+
38
+ %constant wxBrush* const wxBLUE_BRUSH;
39
+ %constant wxBrush* const wxGREEN_BRUSH;
40
+ %constant wxBrush* const wxWHITE_BRUSH;
41
+ %constant wxBrush* const wxBLACK_BRUSH;
42
+ %constant wxBrush* const wxGREY_BRUSH;
43
+ %constant wxBrush* const wxMEDIUM_GREY_BRUSH;
44
+ %constant wxBrush* const wxLIGHT_GREY_BRUSH;
45
+ %constant wxBrush* const wxTRANSPARENT_BRUSH;
46
+ %constant wxBrush* const wxCYAN_BRUSH;
47
+ %constant wxBrush* const wxRED_BRUSH;
48
+ %constant wxBrush* const wxYELLOW_BRUSH;
49
+
50
+ %constant wxCursor const* wxSTANDARD_CURSOR;
51
+ %constant wxCursor const* wxHOURGLASS_CURSOR;
52
+ %constant wxCursor const* wxCROSS_CURSOR;
53
+
54
+ %constant wxColour* wxBLACK;
55
+ %constant wxColour* wxBLUE;
56
+ %constant wxColour* wxCYAN;
57
+ %constant wxColour* wxGREEN;
58
+ %constant wxColour* wxYELLOW;
59
+ %constant wxColour* wxLIGHT_GREY;
60
+ %constant wxColour* wxRED;
61
+ %constant wxColour* wxWHITE;
62
+ %constant wxColour* wxYELLOW;
@@ -0,0 +1,110 @@
1
+ /* wxRuby3
2
+ * Copyright (c) Martin J.N. Corino
3
+ */
4
+ // Copyright 2004-2007, wxRuby development team
5
+ // released under the MIT-like wxRuby2 license
6
+
7
+ %feature("director");
8
+ %feature("compactdefaultargs");
9
+ %feature("flatnested");
10
+
11
+ %begin %{
12
+ /*
13
+ * Since SWIG does not provide readily usable export macros
14
+ * and we need them here already before we can rely on the ones from
15
+ * wxWidgets we define our own.
16
+ */
17
+
18
+ #ifndef WXRB_EXPORT_FLAG
19
+ # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
20
+ # if defined(WXRUBY_STATIC_BUILD)
21
+ # define WXRB_EXPORT_FLAG
22
+ # else
23
+ # define WXRB_EXPORT_FLAG __declspec(dllexport)
24
+ # endif
25
+ # else
26
+ # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
27
+ # define WXRB_EXPORT_FLAG __attribute__ ((visibility("default")))
28
+ # else
29
+ # define WXRB_EXPORT_FLAG
30
+ # endif
31
+ # endif
32
+ #endif
33
+
34
+ #ifndef WXRB_IMPORT_FLAG
35
+ # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
36
+ # if defined(WXRUBY_STATIC_BUILD)
37
+ # define WXRB_IMPORT_FLAG
38
+ # else
39
+ # define WXRB_IMPORT_FLAG __declspec(dllimport)
40
+ # endif
41
+ # else
42
+ # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
43
+ # define WXRB_IMPORT_FLAG __attribute__ ((visibility("default")))
44
+ # else
45
+ # define WXRB_IMPORT_FLAG
46
+ # endif
47
+ # endif
48
+ #endif
49
+
50
+ #ifdef BUILD_WXRUBY_CORE
51
+ #define WXRUBY_EXPORT WXRB_EXPORT_FLAG
52
+ #else
53
+ #define WXRUBY_EXPORT WXRB_IMPORT_FLAG
54
+ #endif
55
+
56
+ %}
57
+
58
+ %runtime %{
59
+ // # SWIG 1.3.29 added this new feature which we can't use (yet)
60
+ #define SWIG_DIRECTOR_NOUEH TRUE
61
+
62
+ // Customize SWIG contract assertion
63
+ #if defined(SWIG_contract_assert)
64
+ #undef SWIG_contract_assert
65
+ #endif
66
+ #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; }
67
+
68
+ # undef GetClassName
69
+ # undef GetClassInfo
70
+ # undef Yield
71
+ # undef GetMessage
72
+ # undef FindWindow
73
+ # undef GetCharWidth
74
+ # undef DrawText
75
+ # undef StartDoc
76
+ # undef CreateDialog
77
+ # undef Sleep
78
+ # undef Connect
79
+ # undef connect
80
+
81
+ // string conversions
82
+ #define WXSTR_TO_RSTR(wx_str) rb_utf8_str_new_cstr((const char *)wx_str.utf8_str())
83
+ #define WXSTR_PTR_TO_RSTR(wx_str) (wx_str ? rb_utf8_str_new_cstr((const char *)wx_str->utf8_str()) : Qnil)
84
+
85
+ #define RSTR_TO_WXSTR(rstr) (rstr == Qnil ? wxString() : wxString(StringValuePtr(rstr), wxConvUTF8))
86
+ #define RSTR_TO_WXSTR_PTR(rstr) (rstr == Qnil ? 0 : new wxString(StringValuePtr(rstr), wxConvUTF8))
87
+
88
+ // problematic Wx definition of _ macro conflicts with SWIG
89
+ #define WXINTL_NO_GETTEXT_MACRO 1
90
+
91
+ // appears in both ruby headers and wx headers, avoid warning on MSW
92
+ #ifdef __WXMSW__
93
+ #undef HAVE_FSYNC
94
+ #endif
95
+
96
+ #include <wx/wx.h>
97
+ #include <wx/dcbuffer.h>
98
+ #if wxUSE_VARIANT
99
+ #include <wx/variant.h>
100
+ #endif
101
+
102
+ #if ! wxCHECK_VERSION(3,1,5)
103
+ #error "This version of wxRuby requires WxWidgets 3.1.5 or greater"
104
+ #endif
105
+
106
+ #include "wxruby-runtime.h"
107
+ %}
108
+
109
+ %include "typedefs.i"
110
+ %include "memory_management.i"