wxruby3 0.9.0.pre.rc.3 → 0.9.1

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 (683) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/ext/mkrf_conf_srcgem.rb +4 -1
  4. data/ext/wxruby3/include/wxruby-Config.h +953 -0
  5. data/ext/wxruby3/include/wxruby-ScaledDC.h +4 -1
  6. data/ext/wxruby3/include/wxruby-runtime.h +13 -1
  7. data/ext/wxruby3/swig/RubyStockObjects.i +5 -3
  8. data/ext/wxruby3/swig/common.i +30 -3
  9. data/ext/wxruby3/swig/custom/director.swg +296 -0
  10. data/ext/wxruby3/swig/custom/rubyapi.swg +19 -0
  11. data/ext/wxruby3/swig/custom/rubyerrors.swg +45 -0
  12. data/ext/wxruby3/swig/custom/rubyhead.swg +192 -0
  13. data/ext/wxruby3/swig/custom/rubyrun.swg +187 -0
  14. data/ext/wxruby3/swig/custom/swigrun.swg +363 -0
  15. data/ext/wxruby3/swig/custom/typemaps/swigtypemaps.swg +173 -0
  16. data/ext/wxruby3/swig/mark_free_impl.i +6 -4
  17. data/ext/wxruby3/swig/memory_management.i +5 -3
  18. data/ext/wxruby3/swig/typedefs.i +5 -3
  19. data/ext/wxruby3/swig/wx.i +55 -30
  20. data/ext/wxruby3/swig/wx.rc +4 -2
  21. data/lib/wx/accessors.rb +10 -2
  22. data/lib/wx/aui/auifloatframe.rb +20 -0
  23. data/lib/wx/aui/auimanager.rb +3 -0
  24. data/lib/wx/aui/auinotebook.rb +17 -0
  25. data/lib/wx/aui/require.rb +5 -1
  26. data/lib/wx/aui.rb +4 -1
  27. data/lib/wx/core/acceleratortable.rb +8 -0
  28. data/lib/wx/core/animation.rb +8 -0
  29. data/lib/wx/core/app.rb +8 -0
  30. data/lib/wx/core/array_ext.rb +7 -0
  31. data/lib/wx/core/art_locator.rb +7 -0
  32. data/lib/wx/core/artprovider.rb +9 -0
  33. data/lib/wx/core/bitmap.rb +16 -4
  34. data/lib/wx/core/bitmap_combobox.rb +7 -0
  35. data/lib/wx/core/brush.rb +7 -0
  36. data/lib/wx/core/busycursor.rb +9 -0
  37. data/lib/wx/core/choice.rb +7 -0
  38. data/lib/wx/core/choicedlg.rb +7 -0
  39. data/lib/wx/core/clientdc.rb +9 -0
  40. data/lib/wx/core/clipboard.rb +8 -0
  41. data/lib/wx/core/collapsible_pane.rb +8 -1
  42. data/lib/wx/core/colour.rb +8 -0
  43. data/lib/wx/core/combo_ctrl.rb +110 -0
  44. data/lib/wx/core/combobox.rb +7 -0
  45. data/lib/wx/core/config.rb +303 -0
  46. data/lib/wx/core/const.rb +83 -0
  47. data/lib/wx/core/controlwithitems.rb +12 -1
  48. data/lib/wx/core/cursor.rb +14 -4
  49. data/lib/wx/core/data_object.rb +7 -0
  50. data/lib/wx/core/dataformat.rb +9 -0
  51. data/lib/wx/core/datetime.rb +14 -0
  52. data/lib/wx/core/dc.rb +7 -0
  53. data/lib/wx/core/dialog.rb +18 -1
  54. data/lib/wx/core/enum.rb +7 -0
  55. data/lib/wx/core/event.rb +7 -0
  56. data/lib/wx/core/event_blocker.rb +7 -0
  57. data/lib/wx/core/event_loop.rb +7 -0
  58. data/lib/wx/core/evthandler.rb +8 -0
  59. data/lib/wx/core/ext.rb +7 -0
  60. data/lib/wx/core/file_dialog.rb +23 -0
  61. data/lib/wx/core/find_replace_dialog.rb +7 -0
  62. data/lib/wx/core/functions.rb +8 -0
  63. data/lib/wx/core/gauge.rb +10 -1
  64. data/lib/wx/core/genericdirctrl.rb +9 -0
  65. data/lib/wx/core/hboxsizer.rb +16 -0
  66. data/lib/wx/core/helpcontroller.rb +8 -0
  67. data/lib/wx/core/helpcontrollerhelpprovider.rb +9 -0
  68. data/lib/wx/core/helpprovider.rb +10 -1
  69. data/lib/wx/core/icon.rb +17 -6
  70. data/lib/wx/core/id_helper.rb +7 -0
  71. data/lib/wx/core/image.rb +16 -4
  72. data/lib/wx/core/imagelist.rb +8 -1
  73. data/lib/wx/core/listbox.rb +7 -0
  74. data/lib/wx/core/listctrl.rb +9 -0
  75. data/lib/wx/core/locale.rb +8 -0
  76. data/lib/wx/core/log.rb +24 -0
  77. data/lib/wx/core/menu.rb +9 -0
  78. data/lib/wx/core/menu_bar.rb +7 -0
  79. data/lib/wx/core/menuitem.rb +9 -0
  80. data/lib/wx/core/notebook.rb +9 -0
  81. data/lib/wx/core/object.rb +9 -0
  82. data/lib/wx/core/paintdc.rb +7 -0
  83. data/lib/wx/core/pen.rb +7 -0
  84. data/lib/wx/core/pen_info.rb +7 -0
  85. data/lib/wx/core/platform_info.rb +7 -0
  86. data/lib/wx/core/point.rb +8 -0
  87. data/lib/wx/core/real_point.rb +8 -0
  88. data/lib/wx/core/rect.rb +9 -0
  89. data/lib/wx/core/region_iterator.rb +7 -0
  90. data/lib/wx/core/simplehelpprovider.rb +9 -0
  91. data/lib/wx/core/size.rb +8 -0
  92. data/lib/wx/core/sizer.rb +9 -0
  93. data/lib/wx/core/splash_screen.rb +22 -2
  94. data/lib/wx/core/text_entry.rb +7 -0
  95. data/lib/wx/core/textctrl.rb +86 -5
  96. data/lib/wx/core/timer.rb +9 -0
  97. data/lib/wx/core/toolbar.rb +9 -0
  98. data/lib/wx/core/toolbartool.rb +8 -0
  99. data/lib/wx/core/treectrl.rb +9 -0
  100. data/lib/wx/core/v_list_box.rb +7 -0
  101. data/lib/wx/core/validator.rb +7 -0
  102. data/lib/wx/core/variant.rb +7 -0
  103. data/lib/wx/core/vboxsizer.rb +16 -0
  104. data/lib/wx/core/window.rb +8 -0
  105. data/lib/wx/core/window_update_locker.rb +9 -0
  106. data/lib/wx/core/xmlresource.rb +8 -0
  107. data/lib/wx/core.rb +4 -1
  108. data/lib/wx/doc/app.rb +7 -1
  109. data/lib/wx/doc/array_ext.rb +6 -0
  110. data/lib/wx/doc/art_locator.rb +7 -0
  111. data/lib/wx/doc/aui/auimanager.rb +6 -0
  112. data/lib/wx/doc/aui/auinotebook.rb +6 -0
  113. data/lib/wx/doc/bitmap.rb +12 -4
  114. data/lib/wx/doc/brush.rb +6 -0
  115. data/lib/wx/doc/busy_info.rb +6 -0
  116. data/lib/wx/doc/client_dc.rb +6 -0
  117. data/lib/wx/doc/clipboard.rb +6 -0
  118. data/lib/wx/doc/colour_dialog.rb +6 -0
  119. data/lib/wx/doc/config.rb +190 -0
  120. data/lib/wx/doc/const.rb +73 -66
  121. data/lib/wx/doc/controlwithitems.rb +6 -0
  122. data/lib/wx/doc/core.rb +6 -0
  123. data/lib/wx/doc/cursor.rb +13 -5
  124. data/lib/wx/doc/data_object.rb +6 -0
  125. data/lib/wx/doc/datetime.rb +16 -0
  126. data/lib/wx/doc/dc.rb +6 -0
  127. data/lib/wx/doc/enum.rb +8 -1
  128. data/lib/wx/doc/event.rb +6 -0
  129. data/lib/wx/doc/event_blocker.rb +6 -0
  130. data/lib/wx/doc/event_loop.rb +6 -0
  131. data/lib/wx/doc/events.rb +6 -0
  132. data/lib/wx/doc/evthandler.rb +8 -0
  133. data/lib/wx/doc/extra/01_packages.md +52 -51
  134. data/lib/wx/doc/extra/05_event-handling.md +37 -12
  135. data/lib/wx/doc/extra/06_geometry.md +5 -5
  136. data/lib/wx/doc/extra/07_colour_and_font.md +2 -2
  137. data/lib/wx/doc/extra/09_exceptions.md +1 -1
  138. data/lib/wx/doc/extra/10_art.md +18 -12
  139. data/lib/wx/doc/extra/11_drawing_and_dc.md +4 -4
  140. data/lib/wx/doc/font.rb +6 -0
  141. data/lib/wx/doc/font_data.rb +16 -0
  142. data/lib/wx/doc/functions.rb +18 -10
  143. data/lib/wx/doc/gc_dc.rb +6 -0
  144. data/lib/wx/doc/gdi_common.rb +8 -1
  145. data/lib/wx/doc/graphics_context.rb +59 -39
  146. data/lib/wx/doc/grid/grid.rb +16 -1
  147. data/lib/wx/doc/hboxsizer.rb +33 -0
  148. data/lib/wx/doc/help_controller.rb +6 -0
  149. data/lib/wx/doc/html/html_help_controller.rb +6 -0
  150. data/lib/wx/doc/icon.rb +13 -5
  151. data/lib/wx/doc/id_helper.rb +6 -0
  152. data/lib/wx/doc/image.rb +12 -4
  153. data/lib/wx/doc/list_ctrl.rb +6 -0
  154. data/lib/wx/doc/log.rb +17 -0
  155. data/lib/wx/doc/memory_dc.rb +6 -0
  156. data/lib/wx/doc/mirror_dc.rb +6 -0
  157. data/lib/wx/doc/pen.rb +6 -0
  158. data/lib/wx/doc/pg/events.rb +6 -0
  159. data/lib/wx/doc/pg/pg_property.rb +17 -0
  160. data/lib/wx/doc/pg/pgeditor.rb +6 -0
  161. data/lib/wx/doc/pg/property_grid.rb +6 -0
  162. data/lib/wx/doc/pg/property_grid_interface.rb +6 -0
  163. data/lib/wx/doc/progress_dialog.rb +6 -0
  164. data/lib/wx/doc/prt/page_setup_dialog.rb +6 -0
  165. data/lib/wx/doc/prt/print_data.rb +6 -0
  166. data/lib/wx/doc/prt/print_dialog.rb +6 -0
  167. data/lib/wx/doc/prt/printer.rb +6 -0
  168. data/lib/wx/doc/prt/printer_dc.rb +6 -0
  169. data/lib/wx/doc/radio_box.rb +6 -0
  170. data/lib/wx/doc/rbn/ribbon_bar.rb +6 -0
  171. data/lib/wx/doc/rbn/ribbon_button_bar.rb +6 -0
  172. data/lib/wx/doc/rbn/ribbon_gallery.rb +6 -0
  173. data/lib/wx/doc/rbn/ribbon_tool_bar.rb +6 -0
  174. data/lib/wx/doc/region_iterator.rb +6 -0
  175. data/lib/wx/doc/rtc/richtext_buffer.rb +28 -0
  176. data/lib/wx/doc/rtc/richtext_formatting_dialog.rb +68 -0
  177. data/lib/wx/doc/rtc/richtext_printing.rb +6 -0
  178. data/lib/wx/doc/rtc/richtext_style_sheet.rb +20 -0
  179. data/lib/wx/doc/scaled_dc.rb +6 -0
  180. data/lib/wx/doc/screen_dc.rb +6 -0
  181. data/lib/wx/doc/stock_objects.rb +6 -0
  182. data/lib/wx/doc/stream.rb +6 -0
  183. data/lib/wx/doc/svg_file_dc.rb +6 -0
  184. data/lib/wx/doc/system_settings.rb +6 -0
  185. data/lib/wx/doc/text_validator.rb +6 -0
  186. data/lib/wx/doc/textctrl.rb +89 -0
  187. data/lib/wx/doc/tree_event.rb +20 -0
  188. data/lib/wx/doc/treebook.rb +6 -0
  189. data/lib/wx/doc/v_list_box.rb +6 -0
  190. data/lib/wx/doc/variant.rb +6 -0
  191. data/lib/wx/doc/vboxsizer.rb +33 -0
  192. data/lib/wx/doc/window.rb +11 -0
  193. data/lib/wx/doc/window_disabler.rb +6 -0
  194. data/lib/wx/doc/xml_resource.rb +8 -0
  195. data/lib/wx/global_const.rb +4 -1
  196. data/lib/wx/grid/grid.rb +23 -3
  197. data/lib/wx/grid/keyword_defs.rb +8 -1
  198. data/lib/wx/grid/require.rb +4 -1
  199. data/lib/wx/grid.rb +4 -1
  200. data/lib/wx/helpers.rb +8 -1
  201. data/lib/wx/html/htmlhelpcontroller.rb +29 -3
  202. data/lib/wx/html/htmlwindow.rb +23 -12
  203. data/lib/wx/html/keyword_defs.rb +8 -1
  204. data/lib/wx/html/require.rb +4 -1
  205. data/lib/wx/html/simple_html_listbox.rb +3 -0
  206. data/lib/wx/html.rb +4 -1
  207. data/lib/wx/keyword_ctors.rb +22 -3
  208. data/lib/wx/keyword_defs.rb +96 -7
  209. data/lib/wx/pg/events.rb +4 -1
  210. data/lib/wx/pg/keyword_defs.rb +8 -1
  211. data/lib/wx/pg/pg_editor.rb +3 -0
  212. data/lib/wx/pg/pg_properties.rb +4 -1
  213. data/lib/wx/pg/pg_property.rb +18 -5
  214. data/lib/wx/pg/property_grid.rb +4 -1
  215. data/lib/wx/pg/property_grid_interface.rb +3 -0
  216. data/lib/wx/pg/require.rb +4 -1
  217. data/lib/wx/pg.rb +4 -1
  218. data/lib/wx/prt/keyword_defs.rb +8 -1
  219. data/lib/wx/prt/page_setup_dialog.rb +3 -0
  220. data/lib/wx/prt/previewframe.rb +5 -0
  221. data/lib/wx/prt/require.rb +4 -1
  222. data/lib/wx/prt.rb +4 -1
  223. data/lib/wx/rbn/events.rb +4 -1
  224. data/lib/wx/rbn/keyword_defs.rb +8 -1
  225. data/lib/wx/rbn/require.rb +5 -1
  226. data/lib/wx/rbn/ribbon_art_provider.rb +3 -1
  227. data/lib/wx/rbn/ribbon_bar.rb +3 -0
  228. data/lib/wx/rbn/ribbon_button_bar.rb +3 -0
  229. data/lib/wx/rbn/ribbon_control.rb +3 -0
  230. data/lib/wx/rbn/ribbon_gallery.rb +10 -0
  231. data/lib/wx/rbn/ribbon_page.rb +3 -0
  232. data/lib/wx/rbn/ribbon_panel.rb +3 -0
  233. data/lib/wx/rbn/ribbon_tool_bar.rb +3 -0
  234. data/lib/wx/rbn.rb +4 -1
  235. data/lib/wx/rtc/ext.rb +4 -1
  236. data/lib/wx/rtc/keyword_defs.rb +18 -7
  237. data/lib/wx/rtc/require.rb +8 -1
  238. data/lib/wx/rtc/richtext_buffer.rb +36 -0
  239. data/lib/wx/rtc/richtext_formatting_dialog.rb +88 -0
  240. data/lib/wx/rtc/richtext_style_organiser_dialog.rb +46 -0
  241. data/lib/wx/rtc/symbol_picker_dialog.rb +47 -0
  242. data/lib/wx/rtc.rb +5 -1
  243. data/lib/wx/stc/keyword_defs.rb +8 -1
  244. data/lib/wx/stc/require.rb +4 -1
  245. data/lib/wx/stc.rb +4 -1
  246. data/lib/wx/version.rb +5 -1
  247. data/lib/wx/wxruby/base.rb +4 -1
  248. data/lib/wx/wxruby/cmd/sampler.rb +4 -1
  249. data/lib/wx/wxruby/cmd/test.rb +4 -1
  250. data/lib/wx.rb +4 -1
  251. data/rakelib/build.rake +4 -1
  252. data/rakelib/build.rb +4 -1
  253. data/rakelib/config.rake +4 -1
  254. data/rakelib/configure.rb +4 -1
  255. data/rakelib/doc.rake +4 -1
  256. data/rakelib/doc.rb +5 -1
  257. data/rakelib/install.rake +4 -1
  258. data/rakelib/install.rb +4 -1
  259. data/rakelib/lib/config/cygwin.rb +4 -1
  260. data/rakelib/lib/config/linux.rb +4 -1
  261. data/rakelib/lib/config/macosx.rb +6 -3
  262. data/rakelib/lib/config/mingw.rb +4 -1
  263. data/rakelib/lib/config/netbsd.rb +4 -1
  264. data/rakelib/lib/config/unixish.rb +10 -7
  265. data/rakelib/lib/config.rb +7 -2
  266. data/rakelib/lib/core/include/enum.inc +4 -1
  267. data/rakelib/lib/core/include/funcall.inc +22 -57
  268. data/rakelib/lib/core/include/init.inc +3 -0
  269. data/rakelib/lib/core/include/swigdirector.inc +384 -0
  270. data/rakelib/lib/core/include/swigrubyerrors.inc +161 -0
  271. data/{ext/wxruby3/swig/custom/swig4/rubyrun.swg → rakelib/lib/core/include/swigrubyrun.inc} +245 -120
  272. data/rakelib/lib/core/include/swigrun.inc +700 -0
  273. data/rakelib/lib/core/mapping.rb +26 -46
  274. data/rakelib/lib/core/package.rb +22 -5
  275. data/rakelib/lib/core/parameter.rb +7 -1
  276. data/rakelib/lib/core/spec.rb +14 -8
  277. data/rakelib/lib/core/spec_helper.rb +32 -9
  278. data/rakelib/lib/director/about_dialog_info.rb +4 -1
  279. data/rakelib/lib/director/accelerator.rb +8 -3
  280. data/rakelib/lib/director/animation.rb +5 -2
  281. data/rakelib/lib/director/animation_ctrl.rb +24 -1
  282. data/rakelib/lib/director/any_button.rb +5 -2
  283. data/rakelib/lib/director/app.rb +39 -7
  284. data/rakelib/lib/director/app_traits.rb +71 -0
  285. data/rakelib/lib/director/art_provider.rb +5 -2
  286. data/rakelib/lib/director/aui_dock_art.rb +4 -1
  287. data/rakelib/lib/director/aui_floating_frame.rb +4 -1
  288. data/rakelib/lib/director/aui_manager.rb +12 -5
  289. data/rakelib/lib/director/aui_manager_event.rb +4 -1
  290. data/rakelib/lib/director/aui_mdi_child_frame.rb +25 -1
  291. data/rakelib/lib/director/aui_mdi_client_window.rb +4 -1
  292. data/rakelib/lib/director/aui_mdi_parent_frame.rb +4 -1
  293. data/rakelib/lib/director/aui_notebook.rb +12 -1
  294. data/rakelib/lib/director/aui_notebook_event.rb +4 -1
  295. data/rakelib/lib/director/aui_pane_info.rb +4 -1
  296. data/rakelib/lib/director/aui_tab_art.rb +52 -1
  297. data/rakelib/lib/director/aui_tab_ctrl.rb +14 -1
  298. data/rakelib/lib/director/aui_toolbar.rb +6 -3
  299. data/rakelib/lib/director/aui_toolbar_art.rb +52 -1
  300. data/rakelib/lib/director/aui_toolbar_event.rb +4 -1
  301. data/rakelib/lib/director/aui_toolbar_item.rb +4 -1
  302. data/rakelib/lib/director/banner_window.rb +26 -0
  303. data/rakelib/lib/director/bitmap.rb +11 -2
  304. data/rakelib/lib/director/bitmap_combobox.rb +5 -1
  305. data/rakelib/lib/director/book_ctrls.rb +13 -3
  306. data/rakelib/lib/director/brush.rb +4 -1
  307. data/rakelib/lib/director/busy_info.rb +4 -1
  308. data/rakelib/lib/director/button.rb +4 -1
  309. data/rakelib/lib/director/calendar_ctrl.rb +4 -1
  310. data/rakelib/lib/director/calendar_date_attr.rb +4 -1
  311. data/rakelib/lib/director/caret.rb +4 -1
  312. data/rakelib/lib/director/check_listbox.rb +4 -1
  313. data/rakelib/lib/director/choice.rb +4 -1
  314. data/rakelib/lib/director/clipboard.rb +4 -1
  315. data/rakelib/lib/director/collapsible_pane.rb +4 -1
  316. data/rakelib/lib/director/collapsible_pane_event.rb +4 -1
  317. data/rakelib/lib/director/colour.rb +9 -1
  318. data/rakelib/lib/director/colour_picker_ctrl.rb +4 -1
  319. data/rakelib/lib/director/combobox.rb +4 -1
  320. data/rakelib/lib/director/comboctrl.rb +94 -0
  321. data/rakelib/lib/director/config_base.rb +135 -0
  322. data/rakelib/lib/director/context_help_button.rb +4 -1
  323. data/rakelib/lib/director/control.rb +4 -1
  324. data/rakelib/lib/director/ctrl_with_items.rb +5 -1
  325. data/rakelib/lib/director/cursor.rb +6 -2
  326. data/rakelib/lib/director/data_format.rb +4 -1
  327. data/rakelib/lib/director/data_object.rb +4 -1
  328. data/rakelib/lib/director/data_object_simple_base.rb +5 -3
  329. data/rakelib/lib/director/date_event.rb +9 -2
  330. data/rakelib/lib/director/date_picker_ctrl.rb +4 -1
  331. data/rakelib/lib/director/dc.rb +19 -1
  332. data/rakelib/lib/director/defs.rb +4 -1
  333. data/rakelib/lib/director/derived_dc.rb +27 -20
  334. data/rakelib/lib/director/dialog.rb +29 -3
  335. data/rakelib/lib/director/dialup_event.rb +44 -0
  336. data/rakelib/lib/director/dialup_manager.rb +45 -0
  337. data/rakelib/lib/director/dir_filterlist_ctrl.rb +4 -1
  338. data/rakelib/lib/director/dir_picker_ctrl.rb +4 -1
  339. data/rakelib/lib/director/drag_image.rb +9 -2
  340. data/rakelib/lib/director/dragdrop.rb +4 -1
  341. data/rakelib/lib/director/editable_listbox.rb +4 -1
  342. data/rakelib/lib/director/event.rb +29 -3
  343. data/rakelib/lib/director/event_blocker.rb +4 -1
  344. data/rakelib/lib/director/event_filter.rb +4 -1
  345. data/rakelib/lib/director/event_handler.rb +28 -11
  346. data/rakelib/lib/director/event_loop.rb +4 -1
  347. data/rakelib/lib/director/events.rb +5 -2
  348. data/rakelib/lib/director/file_ctrl.rb +35 -0
  349. data/rakelib/lib/director/file_ctrl_event.rb +26 -0
  350. data/rakelib/lib/director/file_dialog_custom_control.rb +28 -0
  351. data/rakelib/lib/director/file_dialog_customize_hook.rb +28 -0
  352. data/rakelib/lib/director/file_picker_ctrl.rb +4 -1
  353. data/rakelib/lib/director/file_system.rb +45 -0
  354. data/rakelib/lib/director/find_dialog_event.rb +4 -1
  355. data/rakelib/lib/director/find_replace_data.rb +4 -1
  356. data/rakelib/lib/director/font.rb +7 -3
  357. data/rakelib/lib/director/font_data.rb +9 -1
  358. data/rakelib/lib/director/font_picker_ctrl.rb +4 -1
  359. data/rakelib/lib/director/frame.rb +45 -33
  360. data/rakelib/lib/director/fs_file.rb +52 -1
  361. data/rakelib/lib/director/functions.rb +11 -5
  362. data/rakelib/lib/director/gdi_object.rb +4 -1
  363. data/rakelib/lib/director/gdicommon.rb +33 -10
  364. data/rakelib/lib/director/generic_dirctrl.rb +4 -1
  365. data/rakelib/lib/director/graphics_context.rb +113 -18
  366. data/rakelib/lib/director/graphics_object.rb +13 -2
  367. data/rakelib/lib/director/grid_cell_attr.rb +28 -4
  368. data/rakelib/lib/director/grid_cell_editor.rb +28 -11
  369. data/rakelib/lib/director/grid_cell_renderer.rb +16 -3
  370. data/rakelib/lib/director/grid_ctrl.rb +146 -5
  371. data/rakelib/lib/director/grid_range_select_event.rb +4 -1
  372. data/rakelib/lib/director/grid_table_base.rb +6 -1
  373. data/rakelib/lib/director/grid_table_message.rb +4 -1
  374. data/rakelib/lib/director/header_ctrl.rb +37 -0
  375. data/rakelib/lib/director/help_controller.rb +14 -7
  376. data/rakelib/lib/director/help_provider.rb +4 -1
  377. data/rakelib/lib/director/html_cell.rb +10 -3
  378. data/rakelib/lib/director/html_data_object.rb +4 -1
  379. data/rakelib/lib/director/html_easy_printing.rb +4 -1
  380. data/rakelib/lib/director/html_event.rb +4 -1
  381. data/rakelib/lib/director/html_help_data.rb +4 -1
  382. data/rakelib/lib/director/html_help_window.rb +30 -0
  383. data/rakelib/lib/director/html_listbox.rb +4 -1
  384. data/rakelib/lib/director/html_printout.rb +6 -1
  385. data/rakelib/lib/director/html_window.rb +10 -8
  386. data/rakelib/lib/director/hyperlink_ctrl.rb +32 -0
  387. data/rakelib/lib/director/hyperlink_event.rb +4 -1
  388. data/rakelib/lib/director/icon.rb +4 -1
  389. data/rakelib/lib/director/image.rb +26 -3
  390. data/rakelib/lib/director/image_list.rb +5 -1
  391. data/rakelib/lib/director/info_bar.rb +26 -0
  392. data/rakelib/lib/director/list_ctrl.rb +39 -7
  393. data/rakelib/lib/director/listbox.rb +4 -1
  394. data/rakelib/lib/director/locale.rb +7 -4
  395. data/rakelib/lib/director/log.rb +51 -6
  396. data/rakelib/lib/director/mdi_frame.rb +4 -1
  397. data/rakelib/lib/director/media_ctrl.rb +4 -1
  398. data/rakelib/lib/director/menu.rb +16 -3
  399. data/rakelib/lib/director/menu_bar.rb +13 -2
  400. data/rakelib/lib/director/menu_item.rb +6 -6
  401. data/rakelib/lib/director/mouse_state.rb +5 -2
  402. data/rakelib/lib/director/numeric_property_validator.rb +4 -1
  403. data/rakelib/lib/director/object.rb +5 -2
  404. data/rakelib/lib/director/page_setup_dialog.rb +4 -1
  405. data/rakelib/lib/director/palette.rb +54 -2
  406. data/rakelib/lib/director/panel.rb +4 -1
  407. data/rakelib/lib/director/pen.rb +5 -2
  408. data/rakelib/lib/director/pgarray_editor_dialog.rb +4 -7
  409. data/rakelib/lib/director/pgcell.rb +4 -1
  410. data/rakelib/lib/director/pgeditor.rb +6 -3
  411. data/rakelib/lib/director/pgmulti_button.rb +4 -1
  412. data/rakelib/lib/director/pgproperties.rb +6 -3
  413. data/rakelib/lib/director/pgproperty.rb +42 -3
  414. data/rakelib/lib/director/pgvalidation_info.rb +9 -1
  415. data/rakelib/lib/director/pickerbase.rb +4 -1
  416. data/rakelib/lib/director/platform_info.rb +9 -1
  417. data/rakelib/lib/director/popup_window.rb +14 -1
  418. data/rakelib/lib/director/preview_frame.rb +5 -2
  419. data/rakelib/lib/director/print_data.rb +4 -1
  420. data/rakelib/lib/director/print_dialog.rb +4 -1
  421. data/rakelib/lib/director/printer.rb +14 -6
  422. data/rakelib/lib/director/property_grid.rb +30 -1
  423. data/rakelib/lib/director/property_grid_event.rb +11 -1
  424. data/rakelib/lib/director/property_grid_interface.rb +20 -6
  425. data/rakelib/lib/director/property_grid_manager.rb +4 -1
  426. data/rakelib/lib/director/property_grid_page.rb +4 -1
  427. data/rakelib/lib/director/property_grid_page_state.rb +4 -1
  428. data/rakelib/lib/director/radio_box.rb +4 -1
  429. data/rakelib/lib/director/rearrange_list.rb +36 -0
  430. data/rakelib/lib/director/region.rb +5 -1
  431. data/rakelib/lib/director/region_iterator.rb +4 -1
  432. data/rakelib/lib/director/ribbon_art_provider.rb +9 -1
  433. data/rakelib/lib/director/ribbon_bar.rb +4 -1
  434. data/rakelib/lib/director/ribbon_bar_event.rb +4 -1
  435. data/rakelib/lib/director/ribbon_button_bar.rb +4 -1
  436. data/rakelib/lib/director/ribbon_button_bar_event.rb +4 -1
  437. data/rakelib/lib/director/ribbon_ctrl.rb +4 -1
  438. data/rakelib/lib/director/ribbon_gallery.rb +8 -3
  439. data/rakelib/lib/director/ribbon_gallery_event.rb +4 -1
  440. data/rakelib/lib/director/ribbon_page.rb +4 -1
  441. data/rakelib/lib/director/ribbon_panel.rb +4 -1
  442. data/rakelib/lib/director/ribbon_panel_event.rb +4 -1
  443. data/rakelib/lib/director/ribbon_tool_bar.rb +4 -1
  444. data/rakelib/lib/director/ribbon_tool_bar_event.rb +4 -1
  445. data/rakelib/lib/director/richtext_box.rb +61 -0
  446. data/rakelib/lib/director/richtext_buffer.rb +219 -22
  447. data/rakelib/lib/director/richtext_buffer_data_object.rb +4 -1
  448. data/rakelib/lib/director/richtext_composite_object.rb +174 -0
  449. data/rakelib/lib/director/richtext_ctrl.rb +157 -4
  450. data/rakelib/lib/director/richtext_event.rb +4 -1
  451. data/rakelib/lib/director/richtext_file_handler.rb +13 -1
  452. data/rakelib/lib/director/richtext_formatting_dialog.rb +44 -0
  453. data/rakelib/lib/director/richtext_header_footer_data.rb +4 -1
  454. data/rakelib/lib/director/richtext_image.rb +56 -0
  455. data/rakelib/lib/director/richtext_object.rb +272 -0
  456. data/rakelib/lib/director/richtext_paragraph_layout_box.rb +178 -0
  457. data/rakelib/lib/director/richtext_printing.rb +4 -1
  458. data/rakelib/lib/director/richtext_style_listbox.rb +37 -0
  459. data/rakelib/lib/director/richtext_style_organiser_dialog.rb +28 -0
  460. data/rakelib/lib/director/sash_event.rb +42 -0
  461. data/rakelib/lib/director/sash_layout_event.rb +4 -1
  462. data/rakelib/lib/director/sash_layout_window.rb +4 -1
  463. data/rakelib/lib/director/sash_window.rb +4 -1
  464. data/rakelib/lib/director/scroll_bar.rb +4 -1
  465. data/rakelib/lib/director/scrolled_t.rb +7 -4
  466. data/rakelib/lib/director/searchctrl.rb +4 -1
  467. data/rakelib/lib/director/sizer.rb +68 -2
  468. data/rakelib/lib/director/sizer_item.rb +31 -3
  469. data/rakelib/lib/director/slider.rb +4 -1
  470. data/rakelib/lib/director/splash_screen.rb +4 -1
  471. data/rakelib/lib/director/splitter_event.rb +4 -1
  472. data/rakelib/lib/director/splitter_window.rb +4 -1
  473. data/rakelib/lib/director/static_bitmap.rb +4 -1
  474. data/rakelib/lib/director/static_box.rb +5 -2
  475. data/rakelib/lib/director/status_bar.rb +5 -1
  476. data/rakelib/lib/director/styled_text_ctrl.rb +14 -2
  477. data/rakelib/lib/director/styled_text_event.rb +4 -1
  478. data/rakelib/lib/director/system_options.rb +4 -1
  479. data/rakelib/lib/director/system_settings.rb +4 -1
  480. data/rakelib/lib/director/task_bar_icon.rb +5 -2
  481. data/rakelib/lib/director/text_attr.rb +5 -2
  482. data/rakelib/lib/director/text_entry.rb +4 -1
  483. data/rakelib/lib/director/text_validator.rb +6 -1
  484. data/rakelib/lib/director/textctrl.rb +32 -3
  485. data/rakelib/lib/director/time_picker_ctrl.rb +4 -1
  486. data/rakelib/lib/director/timer.rb +4 -1
  487. data/rakelib/lib/director/tip_provider.rb +4 -1
  488. data/rakelib/lib/director/toggle_button.rb +4 -1
  489. data/rakelib/lib/director/tool_bar.rb +20 -1
  490. data/rakelib/lib/director/tool_tip.rb +5 -2
  491. data/rakelib/lib/director/top_level_window.rb +58 -51
  492. data/rakelib/lib/director/tree_ctrl.rb +24 -46
  493. data/rakelib/lib/director/tree_event.rb +28 -10
  494. data/rakelib/lib/director/uiaction_simulator.rb +4 -1
  495. data/rakelib/lib/director/utils.rb +9 -1
  496. data/rakelib/lib/director/validator.rb +4 -1
  497. data/rakelib/lib/director/variant.rb +5 -2
  498. data/rakelib/lib/director/vlistbox.rb +4 -1
  499. data/rakelib/lib/director/vscrolled_window.rb +4 -1
  500. data/rakelib/lib/director/window.rb +81 -82
  501. data/rakelib/lib/director/window_disabler.rb +4 -1
  502. data/rakelib/lib/director/with_images.rb +5 -2
  503. data/rakelib/lib/director/wizard_page.rb +4 -1
  504. data/rakelib/lib/director/xml_node.rb +4 -1
  505. data/rakelib/lib/director/xml_resource.rb +4 -1
  506. data/rakelib/lib/director.rb +27 -28
  507. data/rakelib/lib/ext/enum_chain.rb +4 -1
  508. data/rakelib/lib/extractor/class.rb +8 -6
  509. data/rakelib/lib/extractor/enum.rb +15 -2
  510. data/rakelib/lib/extractor/function.rb +12 -4
  511. data/rakelib/lib/extractor/module.rb +4 -1
  512. data/rakelib/lib/extractor/variable.rb +4 -1
  513. data/rakelib/lib/extractor.rb +7 -2
  514. data/rakelib/lib/generate/analyzer.rb +31 -21
  515. data/rakelib/lib/generate/base.rb +4 -1
  516. data/rakelib/lib/generate/doc/animation_ctrl.yaml +15 -0
  517. data/rakelib/lib/generate/doc/events.yaml +10 -4
  518. data/rakelib/lib/generate/doc/grid_cell_attr.yaml +21 -0
  519. data/rakelib/lib/generate/doc/grid_ctrl.yaml +25 -0
  520. data/rakelib/lib/generate/doc/html_cell.yaml +11 -0
  521. data/rakelib/lib/generate/doc/html_help_controller.yaml +23 -0
  522. data/rakelib/lib/generate/doc/html_help_window.yaml +21 -0
  523. data/rakelib/lib/generate/doc/html_window.yaml +47 -0
  524. data/rakelib/lib/generate/doc/pg_editor.yaml +11 -0
  525. data/rakelib/lib/generate/doc/pg_multi_button.yaml +78 -0
  526. data/rakelib/lib/generate/doc/pg_properties.yaml +244 -0
  527. data/rakelib/lib/generate/doc/pg_property.yaml +188 -0
  528. data/rakelib/lib/generate/doc/property_grid.yaml +23 -0
  529. data/rakelib/lib/generate/doc/property_grid_interface.yaml +30 -0
  530. data/rakelib/lib/generate/doc/property_grid_manager.yaml +40 -0
  531. data/rakelib/lib/generate/doc/rich_text_html_handler.yaml +11 -0
  532. data/rakelib/lib/generate/doc/static_box.yaml +8 -0
  533. data/rakelib/lib/generate/doc/styled_text_ctrl.yaml +18 -0
  534. data/rakelib/lib/generate/doc/symbol_picker_dialog.yaml +40 -0
  535. data/rakelib/lib/generate/doc/xml_resource.yaml +3 -0
  536. data/rakelib/lib/generate/doc.rb +33 -6
  537. data/rakelib/lib/generate/interface.rb +80 -110
  538. data/rakelib/lib/generate/rakedep.rb +4 -1
  539. data/rakelib/lib/specs/interfaces.rb +50 -21
  540. data/rakelib/lib/streams.rb +5 -1
  541. data/rakelib/lib/swig_runner.rb +38 -72
  542. data/rakelib/lib/typemap/array_int_selections.rb +4 -1
  543. data/rakelib/lib/typemap/common.rb +81 -11
  544. data/rakelib/lib/typemap/config.rb +55 -0
  545. data/rakelib/lib/typemap/data_format.rb +5 -2
  546. data/rakelib/lib/typemap/data_object_data.rb +6 -3
  547. data/rakelib/lib/typemap/datetime.rb +8 -1
  548. data/rakelib/lib/typemap/grid_client_data.rb +4 -1
  549. data/rakelib/lib/typemap/grid_coords.rb +37 -7
  550. data/rakelib/lib/typemap/html_cell.rb +4 -1
  551. data/rakelib/lib/typemap/io_streams.rb +4 -1
  552. data/rakelib/lib/typemap/pgcell.rb +4 -1
  553. data/rakelib/lib/typemap/pgeditor.rb +4 -1
  554. data/rakelib/lib/typemap/pgprop_arg.rb +11 -3
  555. data/rakelib/lib/typemap/pgproperty.rb +4 -1
  556. data/rakelib/lib/typemap/points_list.rb +9 -8
  557. data/rakelib/lib/typemap/richtext.rb +185 -11
  558. data/rakelib/lib/typemap/tree_itemid.rb +26 -1
  559. data/rakelib/lib/util/string.rb +14 -9
  560. data/rakelib/prepost.rake +4 -1
  561. data/rakelib/prepost.rb +4 -1
  562. data/rakelib/run.rake +4 -1
  563. data/samples/aui/aui.rb +8 -3
  564. data/samples/bigdemo/bigdemo.rb +9 -2
  565. data/samples/bigdemo/run.rb +9 -2
  566. data/samples/bigdemo/utils.rb +9 -1
  567. data/samples/calendar/calendar.rb +9 -4
  568. data/samples/caret/caret.rb +8 -3
  569. data/samples/controls/books.rb +8 -2
  570. data/samples/controls/controls.rb +33 -77
  571. data/samples/controls/get_item_sample.rb +8 -2
  572. data/samples/controls/htlbox.rb +10 -3
  573. data/samples/dialogs/dialogs.rb +9 -4
  574. data/samples/dialogs/wizard.rb +8 -3
  575. data/samples/dragdrop/dragdrop.rb +8 -3
  576. data/samples/drawing/bitmap.rb +8 -3
  577. data/samples/drawing/bitmap_image.rb +8 -3
  578. data/samples/drawing/graphics_drawing.rb +44 -33
  579. data/samples/drawing/image_prt.rb +8 -2
  580. data/samples/drawing/maths_images.rb +8 -3
  581. data/samples/drawing/rmagic_bitmap_image.rb +8 -3
  582. data/samples/etc/choice.rb +8 -3
  583. data/samples/etc/miniframe.rb +8 -3
  584. data/samples/etc/sash.rb +8 -3
  585. data/samples/etc/scrollwin.rb +8 -3
  586. data/samples/etc/system_settings.rb +8 -3
  587. data/samples/event/activation.rb +8 -3
  588. data/samples/event/event.rb +8 -3
  589. data/samples/event/threaded.rb +8 -3
  590. data/samples/event/update_ui_event.rb +8 -3
  591. data/samples/grid/grid.rb +9 -3
  592. data/samples/grid/gridtablebase.rb +8 -3
  593. data/samples/html/html.rb +8 -3
  594. data/samples/mdi/mdi.rb +8 -3
  595. data/samples/minimal/minimal.rb +8 -3
  596. data/samples/minimal/nothing.rb +8 -3
  597. data/samples/printing/printing.rb +8 -3
  598. data/samples/printing/printing2.rb +8 -2
  599. data/samples/propgrid/propgrid.rb +4 -1
  600. data/samples/propgrid/propgrid_minimal.rb +4 -2
  601. data/samples/propgrid/sample_props.rb +4 -1
  602. data/samples/ribbon/ribbon.rb +4 -1
  603. data/samples/sampler/editor.rb +4 -1
  604. data/samples/sampler/ext.rb +4 -1
  605. data/samples/sampler/sample.rb +13 -4
  606. data/samples/sampler/stc_editor.rb +4 -1
  607. data/samples/sampler/txt_editor.rb +4 -1
  608. data/samples/sampler.rb +11 -3
  609. data/samples/splash/splash.rb +4 -2
  610. data/samples/text/art/richtext/alignleft.xpm +24 -0
  611. data/samples/text/art/richtext/alignright.xpm +24 -0
  612. data/samples/text/art/richtext/bold.xpm +24 -0
  613. data/samples/text/art/richtext/centre.xpm +24 -0
  614. data/samples/text/art/richtext/copy.xpm +45 -0
  615. data/samples/text/art/richtext/cut.xpm +47 -0
  616. data/samples/text/art/richtext/font.xpm +25 -0
  617. data/samples/text/art/richtext/idea.xpm +47 -0
  618. data/samples/text/art/richtext/indentless.xpm +25 -0
  619. data/samples/text/art/richtext/indentmore.xpm +25 -0
  620. data/samples/text/art/richtext/italic.xpm +25 -0
  621. data/samples/text/art/richtext/open.xpm +58 -0
  622. data/samples/text/art/richtext/paste.xpm +47 -0
  623. data/samples/text/art/richtext/redo.xpm +59 -0
  624. data/samples/text/art/richtext/save.xpm +43 -0
  625. data/samples/text/art/richtext/smiley.xpm +42 -0
  626. data/samples/text/art/richtext/underline.xpm +25 -0
  627. data/samples/text/art/richtext/undo.xpm +59 -0
  628. data/samples/text/art/richtext/zebra.xpm +409 -0
  629. data/samples/text/rich_textctrl.rb +8 -3
  630. data/samples/text/richtext.rb +1794 -0
  631. data/samples/text/scintilla.rb +8 -3
  632. data/samples/text/textctrl.rb +21 -4
  633. data/samples/text/tn_richtext.png +0 -0
  634. data/samples/text/unicode.rb +9 -4
  635. data/samples/treectrl/treectrl.rb +10 -5
  636. data/samples/xrc/custom_xrc_sample.rb +8 -3
  637. data/samples/xrc/xrc_sample.rb +8 -3
  638. data/tests/art/test_art/bitmap/wxruby-128x128.png +0 -0
  639. data/tests/art/test_art/bitmap/wxruby-256x256.png +0 -0
  640. data/tests/art/test_art/bitmap/wxruby-64x64.png +0 -0
  641. data/tests/lib/item_container_tests.rb +3 -0
  642. data/tests/lib/text_entry_tests.rb +3 -0
  643. data/tests/lib/wxapp_runner.rb +3 -0
  644. data/tests/lib/wxframe_runner.rb +81 -3
  645. data/tests/test_app_event_filter.rb +3 -0
  646. data/tests/test_app_exit_exception.rb +36 -0
  647. data/tests/test_app_init_exception.rb +20 -0
  648. data/tests/test_app_traits.rb +33 -0
  649. data/tests/test_art.rb +22 -0
  650. data/tests/test_art_provider.rb +3 -0
  651. data/tests/test_aui.rb +65 -0
  652. data/tests/test_basic.rb +5 -1
  653. data/tests/test_book_controls.rb +29 -0
  654. data/tests/test_box_sizer.rb +5 -2
  655. data/tests/test_clipboard.rb +3 -0
  656. data/tests/test_config.rb +150 -0
  657. data/tests/test_dc.rb +3 -0
  658. data/tests/test_dialog.rb +3 -0
  659. data/tests/test_event_handling.rb +3 -0
  660. data/tests/test_events.rb +3 -0
  661. data/tests/test_exceptions.rb +41 -0
  662. data/tests/test_ext_controls.rb +286 -3
  663. data/tests/test_file_dialog.rb +55 -0
  664. data/tests/test_font.rb +8 -5
  665. data/tests/test_gdi_object.rb +3 -0
  666. data/tests/test_geometry.rb +4 -0
  667. data/tests/test_grid_sizer.rb +7 -4
  668. data/tests/test_intl.rb +3 -0
  669. data/tests/test_item_data.rb +3 -0
  670. data/tests/test_list_ctrl.rb +4 -1
  671. data/tests/test_log.rb +63 -0
  672. data/tests/test_proof_check.rb +52 -0
  673. data/tests/test_richtext.rb +204 -0
  674. data/tests/test_sizer.rb +43 -0
  675. data/tests/test_std_controls.rb +81 -35
  676. data/tests/test_timer.rb +3 -0
  677. data/tests/test_variant.rb +3 -0
  678. data/tests/test_window.rb +10 -8
  679. data/tests/testapp.rb +4 -0
  680. data/tests/testapp_noframe.rb +4 -0
  681. metadata +112 -5
  682. data/ext/wxruby3/swig/custom/swig3/rubyrun.swg +0 -456
  683. data/rakelib/lib/director/html_help_frame.rb +0 -25
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 SWIG code generation runner
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require 'fileutils'
@@ -221,6 +224,10 @@ module WXRuby3
221
224
  name = $1
222
225
  line['rb_funcall'] = 'wxRuby_Funcall'
223
226
  line[name] = '"%s"' % rb_method_name(name[1..-2])
227
+ # director output exceptions
228
+ when /Swig::DirectorTypeMismatchException::raise\(swig_get_self\(\),\s+\"(\w+)\"/
229
+ name = $1
230
+ line[%Q{"#{name}"}] = %Q{"#{rb_method_name(name)}"}
224
231
  # defined alias methods (original method name)
225
232
  when /rb_define_alias\s*\(.*"[_a-zA-Z0-9]+[=\?]?".*("[_a-zA-Z0-9]*[=\?\!]?")/
226
233
  name = $1
@@ -255,10 +262,10 @@ module WXRuby3
255
262
  def_items.each do |item|
256
263
  case item
257
264
  when Extractor::EnumDef
258
- item.items.each { |e| enumerators[rb_wx_name(e.name)] = rb_wx_name(item.name) } if item.is_type
265
+ item.items.each { |e| enumerators[rb_wx_name(e.name)] = item } if item.is_type
259
266
  when Extractor::ClassDef
260
267
  item.items.select { |itm| Extractor::EnumDef === itm }.each do |enum|
261
- enum.items.each { |e| enumerators[rb_wx_name(e.name)] = rb_wx_name(enum.name) } if enum.is_type
268
+ enum.items.each { |e| enumerators[rb_wx_name(e.name)] = enum } if enum.is_type
262
269
  end
263
270
  end
264
271
  end
@@ -272,11 +279,8 @@ module WXRuby3
272
279
  core_name = name
273
280
  core_name = 'ruby3' if /\Awx\Z/i =~ core_name
274
281
 
275
- skip_entire_method = false
276
- brace_level = 0
277
-
278
282
  fix_enum = false
279
- enum_name = nil
283
+ enum_item = nil
280
284
 
281
285
  found_init = false
282
286
 
@@ -285,51 +289,18 @@ module WXRuby3
285
289
  # all following fixes are applicable only before we reached the
286
290
  # Init_ function
287
291
 
288
- # comment out swig_up because it is defined global in every module
289
- if (line.index("bool Swig::Director::swig_up"))
290
- line = "//" + line
291
- end
292
-
293
- if line =~ /char\* type_name = (RSTRING\(value\)->ptr|RSTRING_PTR\(value\));/
294
- line = ""
295
- end
296
- # Patch submitted for SWIG 1.3.30
297
- if (line.index("if (strcmp(type->name, type_name) == 0) {"))
298
- line = " if ( value != Qnil && rb_obj_is_kind_of(obj, sklass->klass) ) {"
299
- end
300
- #TODO 1.3.30
301
- # end
302
-
303
292
  # Fix the class names used to determine derived/non-derived in 'initialize' ('new')
304
293
  # wrappers
305
294
  if line =~ /const\s+char\s+\*classname\s+SWIGUNUSED\s+=\s+"Wx#{core_name}::wx(\w+)";/
306
295
  line.sub!(/\"Wx#{core_name}::wx#{$1}/, "\"#{package.fullname}::#{$1}")
307
296
  end
308
297
 
309
- # remove the UnknownExceptionHandler::handler method
310
- if line.index('void UnknownExceptionHandler::handler()')
311
- skip_entire_method = true
312
- end
313
-
314
- if (skip_entire_method)
315
- line = "//#{line}"
316
- if (line.index('{'))
317
- brace_level += 1
318
- end
319
- if (line.index('}'))
320
- brace_level -= 1
321
- end
322
- if (brace_level == 0)
323
- skip_entire_method = false
324
- end
325
- end
326
-
327
298
  # at the top of our Init_ function, make sure we only initialize
328
299
  # ourselves once
329
300
  if /void\s+Init_(wx|Wx)#{core_name}\(/ =~ line
330
- line += "static bool initialized;\n"
331
- line += "if(initialized) return;\n"
332
- line += "initialized = true;\n"
301
+ line += "\n static bool initialized;\n"
302
+ line += " if(initialized) return;\n"
303
+ line += " initialized = true;\n"
333
304
  found_init = true # switch to init fixes
334
305
  end
335
306
 
@@ -355,58 +326,53 @@ module WXRuby3
355
326
  line << "\n wxRuby_SetSwigTypeForClass(#{$2}.klass, #{$1});"
356
327
  end
357
328
 
358
- # TODO : can we improve this?
359
- # Fix for Event.i - because it is implemented with a custom Ruby
360
- # subclass, need to make this subclass SWIG info available under
361
- # the normal name "SWIGTYPE_p_wxEvent" as it's referenced by many
362
- # other classes.
363
- if core_name == 'Event' or core_name == 'CommandEvent'
364
- if line[/SWIG_TypeClientData\(SWIGTYPE_p_wxRuby(Command)?Event/]
365
- line = line +
366
- " // Inserted by fixmodule.rb\n" +
367
- line.sub(/SWIGTYPE_p_wxRuby(Command)?Event/,
368
- "SWIGTYPE_p_wx\\1Event")
369
- end
370
- end
371
-
372
329
  # check for known enumerator constants
373
330
  if (md = /rb_define_const\s*\(([^,]+),\s*"([_a-zA-Z0-9]*)"(.*)/.match(line)) # constant definition?
374
331
  if !fix_enum # not fixing one yet
375
332
  # have we reached the first of a known enum?
376
333
  if enum_table.has_key?(md[2])
377
334
  fix_enum = true
378
- enum_name = enum_table[md[2]]
335
+ enum_item = enum_table[md[2]]
336
+ enum_name = rb_wx_name(enum_item.name)
337
+ enum_id = enum_item.scope.empty? ? enum_name : "#{rb_wx_name(enum_item.scope)}::#{enum_name}"
338
+ enum_var = enum_id.gsub('::', '_')
379
339
  line = [
380
340
  '',
381
- # create new enum class
382
- " VALUE cWx#{enum_name} = wxRuby_CreateEnumClass(\"#{enum_name}\"); // Inserted by fixmodule.rb",
383
- # add enum class constant to current module
384
- " rb_define_const(#{md[1]}, \"#{enum_name}\", cWx#{enum_name}); // Inserted by fixmodule.rb",
341
+ # create new enum class (use scoped id)
342
+ " VALUE cWx#{enum_var} = wxRuby_CreateEnumClass(\"#{enum_id}\"); // Inserted by fixmodule.rb",
343
+ # add enum class constant to current module (use unscoped name)
344
+ " rb_define_const(#{md[1]}, \"#{enum_name}\", cWx#{enum_var}); // Inserted by fixmodule.rb",
385
345
  # create enumerator value const under new enum class
386
- " wxRuby_AddEnumValue(cWx#{enum_name}, \"#{md[2]}\"#{md[3]} // Updated by fixmodule.rb"
346
+ " wxRuby_AddEnumValue(cWx#{enum_var}, \"#{md[2]}\"#{md[3]} // Updated by fixmodule.rb"
387
347
  ].join("\n")
388
348
  end
389
349
  else
390
350
  # still an enumerator?
391
351
  if enum_table.has_key?(md[2])
392
352
  # of the same enum?
393
- if enum_table[md[2]] == enum_name
353
+ if enum_item && enum_table[md[2]] == enum_item
354
+ enum_name = rb_wx_name(enum_item.name)
355
+ enum_id = enum_item.scope.empty? ? enum_name : "#{rb_wx_name(enum_item.scope)}::#{enum_name}"
356
+ enum_var = enum_id.gsub('::', '_')
394
357
  # create enumerator value const under new enum class
395
- line = " wxRuby_AddEnumValue(cWx#{enum_name}, \"#{md[2]}\"#{md[3]} // Updated by fixmodule.rb"
358
+ line = " wxRuby_AddEnumValue(cWx#{enum_var}, \"#{md[2]}\"#{md[3]} // Updated by fixmodule.rb"
396
359
  else # we found the start of another enum
397
- enum_name = enum_table[md[2]]
360
+ enum_item = enum_table[md[2]]
361
+ enum_name = rb_wx_name(enum_item.name)
362
+ enum_id = enum_item.scope.empty? ? enum_name : "#{rb_wx_name(enum_item.scope)}::#{enum_name}"
363
+ enum_var = enum_id.gsub('::', '_')
398
364
  line = [
399
365
  '',
400
- # create new enum class
401
- " VALUE cWx#{enum_name} = wxRuby_CreateEnumClass(\"#{enum_name}\"); // Inserted by fixmodule.rb",
402
- # add enum class constant to current module
403
- " rb_define_const(#{md[1]}, \"#{enum_name}\", cWx#{enum_name}); // Inserted by fixmodule.rb",
366
+ # create new enum class (use scoped id)
367
+ " VALUE cWx#{enum_var} = wxRuby_CreateEnumClass(\"#{enum_id}\"); // Inserted by fixmodule.rb",
368
+ # add enum class constant to current module (use unscoped name)
369
+ " rb_define_const(#{md[1]}, \"#{enum_name}\", cWx#{enum_var}); // Inserted by fixmodule.rb",
404
370
  # create enumerator value const under new enum class
405
- " wxRuby_AddEnumValue(cWx#{enum_name}, \"#{md[2]}\"#{md[3]} // Updated by fixmodule.rb"
371
+ " wxRuby_AddEnumValue(cWx#{enum_var}, \"#{md[2]}\"#{md[3]} // Updated by fixmodule.rb"
406
372
  ].join("\n")
407
373
  end
408
374
  else # end of enum def
409
- enum_name = nil
375
+ enum_item = nil
410
376
  fix_enum = false
411
377
  end
412
378
  end
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 Common typemap definitions
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative '../core/mapping'
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 Common typemap definitions
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative '../core/mapping'
@@ -97,6 +100,7 @@ module WXRuby3
97
100
  map 'wxString' => 'String' do
98
101
  map_in code: '$1 = RSTR_TO_WXSTR($input);'
99
102
  map_out code: '$result = WXSTR_TO_RSTR($1);'
103
+ map_directorin code: '$input = WXSTR_TO_RSTR($1);'
100
104
  map_directorout code: '$result = RSTR_TO_WXSTR($input);'
101
105
  map_typecheck precedence: 'STRING', code: '$1 = (TYPE($input) == T_STRING);'
102
106
  map_varout code: '$result = WXSTR_TO_RSTR($1);'
@@ -211,7 +215,7 @@ module WXRuby3
211
215
  if ( TYPE($input) == T_DATA )
212
216
  {
213
217
  void* argp$argnum;
214
- SWIG_ConvertPtr($input, &argp$argnum, $1_descriptor, 1 );
218
+ SWIG_ConvertPtr($input, &argp$argnum, $1_descriptor, 0);
215
219
  $1 = reinterpret_cast< $1_basetype * >(argp$argnum);
216
220
  }
217
221
  else if ( TYPE($input) == T_ARRAY )
@@ -236,6 +240,28 @@ module WXRuby3
236
240
  __CODE
237
241
  end
238
242
 
243
+ map 'wxSize' => 'Array(Integer, Integer), Wx::Size',
244
+ 'wxPoint' => 'Array(Integer, Integer), Wx::Point' do
245
+
246
+ map_directorout code: <<~__CODE
247
+ if (TYPE($input) == T_ARRAY && RARRAY_LEN($input) == 2)
248
+ {
249
+ $result = $1_basetype(NUM2INT( rb_ary_entry($input, 0)),
250
+ NUM2INT( rb_ary_entry($input, 1)));
251
+ }
252
+ else
253
+ {
254
+ void *ptr;
255
+ int res = SWIG_ConvertPtr($input, &ptr, $&1_descriptor, SWIG_POINTER_NO_NULL);
256
+ if (!SWIG_IsOK(res)) {
257
+ Swig::DirectorTypeMismatchException::raise(swig_get_self(), "$symname", SWIG_ErrorType(SWIG_ArgError(res)), "in output value of type '""$1_type""'");
258
+ }
259
+ $result = *(reinterpret_cast< $1_type * >(ptr));
260
+ }
261
+ __CODE
262
+
263
+ end
264
+
239
265
  # Integer <> wxItemKind type mappings
240
266
 
241
267
  map 'wxItemKind' => 'Integer' do
@@ -374,7 +400,7 @@ module WXRuby3
374
400
  map_typecheck precedence: 'INT32_ARRAY', code: '$1 = (TYPE($input) == T_ARRAY);'
375
401
  end
376
402
 
377
- # input reference
403
+ # input reference (out by value)
378
404
  map 'wxArrayInt&' => 'Array<Integer>' do
379
405
  map_in temp: 'wxArrayInt tmp', code: <<~__CODE
380
406
  if (($input == Qnil) || (TYPE($input) != T_ARRAY))
@@ -391,6 +417,13 @@ module WXRuby3
391
417
  $1 = &tmp;
392
418
  }
393
419
  __CODE
420
+ map_out code: <<~__CODE
421
+ $result = rb_ary_new();
422
+ for (size_t i = 0; i < $1->GetCount(); i++)
423
+ {
424
+ rb_ary_push($result,INT2NUM( $1->Item(i) ) );
425
+ }
426
+ __CODE
394
427
  map_directorin code: <<~__CODE
395
428
  $input = rb_ary_new();
396
429
  for (size_t i = 0; i < $1.GetCount(); i++)
@@ -399,6 +432,8 @@ module WXRuby3
399
432
  }
400
433
  __CODE
401
434
  map_typecheck precedence: 'INT32_ARRAY', code: '$1 = (TYPE($input) == T_ARRAY);'
435
+ # no directorout mapping as returning a reference would cause trouble; luckily there
436
+ # do not seem to be virtual methods returning that
402
437
  end
403
438
 
404
439
  # various enumerator type mappings
@@ -443,12 +478,10 @@ module WXRuby3
443
478
  end
444
479
 
445
480
 
446
- # Validators must be cast to correct subclass, but internal validator
447
- # is a clone, and should not be freed, so disown after wrapping.
481
+ # Validators must be cast to correct subclass, but not owned
448
482
  map 'wxValidator*' => 'Wx::Validator' do
449
483
  map_out code: <<~__CODE
450
484
  $result = wxRuby_WrapWxObjectInRuby($1);
451
- if (!NIL_P($result)) RDATA($result)->dfree = SWIG_RubyRemoveTracking;
452
485
  __CODE
453
486
  end
454
487
 
@@ -492,6 +525,27 @@ module WXRuby3
492
525
  __CODE
493
526
  end
494
527
 
528
+ # For various editor controls
529
+
530
+ map 'const wxKeyEvent &' => 'Wx::KeyEvent' do
531
+ map_directorin code: <<~__CODE
532
+ #ifdef __WXRB_DEBUG__
533
+ $input = wxRuby_WrapWxEventInRuby(const_cast<void*> ((const void*)this), const_cast<wxKeyEvent*> (&$1));
534
+ #else
535
+ $input = wxRuby_WrapWxEventInRuby(const_cast<wxKeyEvent*> (&$1));
536
+ #endif
537
+ __CODE
538
+ end
539
+ map 'wxKeyEvent &' => 'Wx::KeyEvent' do
540
+ map_directorin code: <<~__CODE
541
+ #ifdef __WXRB_DEBUG__
542
+ $input = wxRuby_WrapWxEventInRuby(this, static_cast<wxEvent*> (&$1));
543
+ #else
544
+ $input = wxRuby_WrapWxEventInRuby(static_cast<wxEvent*> (&$1));
545
+ #endif
546
+ __CODE
547
+ end
548
+
495
549
  # typemap to allow String or Symbol for wxColour in args
496
550
  map 'const wxColour&', 'const wxColour*', as: 'Wx::Colour,String,Symbol' do
497
551
  map_in temp: 'wxColour tmpcol', code: <<~__CODE
@@ -599,11 +653,6 @@ module WXRuby3
599
653
  end
600
654
  end
601
655
 
602
- # special case bc SWIG causes trouble in Window.cpp
603
- map 'const wxRegion&', 'const wxRegion*', as: 'Wx::Region' do
604
- map_out code: '$result = wxRuby_WrapWxObjectInRuby(new wxRegion(*static_cast<const wxRegion*> ($1)));'
605
- end
606
-
607
656
  # add type mapping for wxVariant input args
608
657
  intypes = 'nil,String,Integer,Float,Time,Wx::Font,Wx::Colour,Wx::Variant,Array<WxVariant>,Array<String>,Object'
609
658
  if Config.instance.features_set?('wxUSE_PROPGRID')
@@ -616,6 +665,27 @@ module WXRuby3
616
665
  map_in code: '$1 = wxRuby_ConvertRbValue2Variant($input);'
617
666
  end
618
667
 
668
+ # add type mapping for wxFileName input args
669
+ map 'const wxFileName&' => 'String' do
670
+ # Deal with wxFileName
671
+ map_in temp: 'wxFileName tmp', code: <<~__CODE
672
+ tmp = wxFileName(RSTR_TO_WXSTR($input));
673
+ $1 = &tmp;
674
+ __CODE
675
+ map_typecheck precedence: 'POINTER', code: <<~__CODE
676
+ $1 = TYPE($input) == T_STRING;
677
+ __CODE
678
+ map_directorin code: <<~__CODE
679
+ $input = WXSTR_TO_RSTR($1.GetFullPath());
680
+ __CODE
681
+ end
682
+
683
+ # add type mapping for wxFileName output
684
+ map 'wxFileName' => 'String' do
685
+ map_out code: '$result = WXSTR_TO_RSTR($1.GetFullPath());'
686
+ map_directorout code: '$result = RSTR_TO_WXSTR($input);'
687
+ end
688
+
619
689
  end # define
620
690
 
621
691
  end # Common
@@ -0,0 +1,55 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+ ###
6
+ # wxRuby3 Common typemap definitions
7
+ ###
8
+
9
+ require_relative '../core/mapping'
10
+
11
+ module WXRuby3
12
+
13
+ module Typemap
14
+
15
+ # Deals with GetAllFormats
16
+ module ConfigBase
17
+
18
+ include Typemap::Module
19
+
20
+ define do
21
+
22
+ map 'wxConfigBase*' => 'Wx::ConfigBase' do
23
+
24
+ map_in code: <<~__CODE
25
+ $1 = nullptr;
26
+ if (!NIL_P($input))
27
+ {
28
+ $1 = wxRuby_Ruby2ConfigBase($input);
29
+ if ($1 == nullptr)
30
+ {
31
+ VALUE msg = rb_inspect($input);
32
+ rb_raise(rb_eArgError, "Expected Wx::ConfigBase or Hash for %d but got %s",
33
+ $argnum-1, StringValuePtr(msg));
34
+ }
35
+ }
36
+ __CODE
37
+
38
+ map_typecheck precedence: 'POINTER', code: <<~__CODE
39
+ $1 = wxRuby_IsRubyConfig($input);
40
+ __CODE
41
+
42
+
43
+ map_directorin code: <<~__CODE
44
+ $input = wxRuby_ConfigBase2Ruby($1);
45
+ __CODE
46
+
47
+ end
48
+
49
+ end
50
+
51
+ end
52
+
53
+ end
54
+
55
+ end
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 Common typemap definitions
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative '../core/mapping'
@@ -60,7 +63,7 @@ module WXRuby3
60
63
  void* tmp;
61
64
  SWIG_ConvertPtr(rb_ary_entry(result, i),
62
65
  &tmp,
63
- SWIGTYPE_p_wxDataFormat, 0);
66
+ SWIGTYPE_p_wxDataFormat, 0);
64
67
  wxDataFormat* fmt = reinterpret_cast< wxDataFormat* >(tmp);
65
68
  $1[i] = *fmt;
66
69
  }
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 Common typemap definitions
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative '../core/mapping'
@@ -27,7 +30,7 @@ module WXRuby3
27
30
  void* argp$argnum = NULL;
28
31
  if ( TYPE($input) == T_DATA )
29
32
  {
30
- if (SWIG_IsOK(SWIG_ConvertPtr($input, &argp$argnum, $1_descriptor, $argnum-1)) && argp$argnum)
33
+ if (SWIG_IsOK(SWIG_ConvertPtr($input, &argp$argnum, $1_descriptor, 0)) && argp$argnum)
31
34
  {
32
35
  $1 = reinterpret_cast< $1_basetype * >(argp$argnum);
33
36
  }
@@ -66,7 +69,7 @@ module WXRuby3
66
69
  }
67
70
  else
68
71
  {
69
- Swig::DirectorTypeMismatchException::raise(rb_eTypeError,
72
+ Swig::DirectorTypeMismatchException::raise(swig_get_self(), "$symname", rb_eTypeError,
70
73
  "get_data_here should return a string, or nil on failure");
71
74
  }
72
75
  }
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 Common typemap definitions
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative '../core/mapping'
@@ -45,6 +48,10 @@ module WXRuby3
45
48
 
46
49
  map 'wxDateTime' => 'Time,Date,DateTime' do
47
50
 
51
+ # Accepts any Time-like object from Ruby and creates a wxDateTime
52
+ map_in temp: 'std::unique_ptr<wxDateTime> tmp_dt',
53
+ code: 'tmp_dt.reset(wxRuby_wxDateTimeFromRuby($input)); $1 = *tmp_dt.get();'
54
+
48
55
  # Converts a return value of wxDateTime to a Ruby Time object
49
56
  map_out code: '$result = wxRuby_wxDateTimeToRuby($1);'
50
57
 
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 Grid client data typemap definition
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative '../core/mapping'
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 Common typemap definitions
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative '../core/mapping'
@@ -17,18 +20,43 @@ module WXRuby3
17
20
 
18
21
  define do
19
22
 
23
+ map 'const wxGridCellCoords&' => 'Array(Integer, Integer)' do
24
+
25
+ map_in temp: 'int a, int b, wxGridCellCoords gcc', code: <<~__CODE
26
+ if (TYPE($input) != T_ARRAY || RARRAY_LEN($input) != 2)
27
+ {
28
+ rb_raise(rb_eTypeError,
29
+ "Grid cell co-ordinates should be passed as [row, col] array");
30
+ }
31
+
32
+ a = NUM2INT( rb_ary_entry($input, 0) );
33
+ b = NUM2INT( rb_ary_entry($input, 1) );
34
+ gcc = wxGridCellCoords(a,b);
35
+ $1 = &gcc;
36
+ __CODE
37
+
38
+ map_out code: <<~__CODE
39
+ $result = rb_ary_new();
40
+ rb_ary_push($result, INT2NUM($1->GetRow() ));
41
+ rb_ary_push($result, INT2NUM($1->GetCol() ));
42
+ __CODE
43
+
44
+ map_typecheck precedence: 'POINTER', code: '$1 = (TYPE($input) == T_ARRAY && RARRAY_LEN($input) == 2);'
45
+
46
+ end
47
+
20
48
  map 'wxGridCellCoords' => 'Array(Integer, Integer)' do
21
49
 
22
- map_in temp: 'int a, b', code: <<~__CODE
23
- if ( ! TYPE($input) == T_ARRAY )
50
+ map_in temp: 'int a, int b', code: <<~__CODE
51
+ if (TYPE($input) != T_ARRAY || RARRAY_LEN($input) != 2)
24
52
  {
25
53
  rb_raise(rb_eTypeError,
26
54
  "Grid cell co-ordinates should be passed as [row, col] array");
27
55
  }
28
56
 
29
- a = NUM2INT( rb_ary_entry($1, 0) );
30
- b = NUM2INT( rb_ary_entry($1, 1) );
31
- $input = wxGridCellCoords(a,b);
57
+ a = NUM2INT( rb_ary_entry($input, 0) );
58
+ b = NUM2INT( rb_ary_entry($input, 1) );
59
+ $1 = wxGridCellCoords(a,b);
32
60
  __CODE
33
61
 
34
62
  map_out code: <<~__CODE
@@ -37,6 +65,8 @@ module WXRuby3
37
65
  rb_ary_push($result, INT2NUM($1.GetCol() ));
38
66
  __CODE
39
67
 
68
+ map_typecheck precedence: 'POINTER', code: '$1 = (TYPE($input) == T_ARRAY && RARRAY_LEN($input) == 2);'
69
+
40
70
  end
41
71
 
42
72
  # Needed for get_selected_cells, get_selection_block_top_left etc
@@ -44,7 +74,7 @@ module WXRuby3
44
74
 
45
75
  map_out code: <<~__CODE
46
76
  $result = rb_ary_new();
47
- for (size_t i = 0; i < $1.GetCount(); i++)
77
+ for (size_t i = 0; i < $1.size(); i++)
48
78
  {
49
79
  wxGridCellCoords coord = $1.Item(i);
50
80
  VALUE rb_coord = rb_ary_new();
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 HtmlCell typemap definition
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative '../core/mapping'
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 Common typemap definitions
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative '../core/mapping'
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 PGProperty typemap definition
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative '../core/mapping'
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 PGProperty typemap definition
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative '../core/mapping'
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 PGPropArg typemap definitions
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative '../core/mapping'
@@ -17,6 +20,11 @@ module WXRuby3
17
20
  define do
18
21
 
19
22
  map 'const wxPGPropArgCls&' => 'String,Wx::PG::PGProperty' do
23
+
24
+ add_header_code <<~__CODE
25
+ static WxRuby_ID s_pg_property_id("PGProperty");
26
+ __CODE
27
+
20
28
  map_in temp: 'wxPGPropArgCls temp = (wxPGProperty *)0', code: <<~__CODE
21
29
  if (!NIL_P($input))
22
30
  {
@@ -26,12 +34,12 @@ module WXRuby3
26
34
  }
27
35
  else if (TYPE($input) == T_DATA)
28
36
  {
29
- VALUE rb_klass = rb_const_get(mWxPG, rb_intern("PGProperty"));
37
+ VALUE rb_klass = rb_const_get(mWxPG, s_pg_property_id());
30
38
  if (rb_obj_is_kind_of($input, rb_klass))
31
39
  {
32
40
  swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(rb_klass);
33
41
  wxPGProperty *pgprop = (wxPGProperty *)0;
34
- SWIG_ConvertPtr($input, SWIG_as_voidptrptr(&pgprop), swig_type, SWIG_POINTER_DISOWN);
42
+ SWIG_ConvertPtr($input, SWIG_as_voidptrptr(&pgprop), swig_type, 0);
35
43
  temp = wxPGPropArgCls(pgprop);
36
44
  }
37
45
  else
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 PGProperty typemap definition
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative '../core/mapping'