wxruby3 1.6.1 → 1.8.0

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 (642) hide show
  1. checksums.yaml +4 -4
  2. data/CREDITS.md +32 -25
  3. data/INSTALL.md +46 -6
  4. data/README.md +17 -17
  5. data/assets/repo-social-preview.odg +0 -0
  6. data/assets/repo-social-preview.xcf +0 -0
  7. data/ext/wxruby3/include/wxRubyApp.h +203 -91
  8. data/ext/wxruby3/include/wxruby-ComboPopup.h +25 -8
  9. data/ext/wxruby3/include/wxruby-GCTracking.h +262 -0
  10. data/ext/wxruby3/include/wxruby-MBConv.h +190 -0
  11. data/ext/wxruby3/include/wxruby-SharedEventHandler.h +183 -0
  12. data/ext/wxruby3/include/wxruby-SharedPtr.h +104 -0
  13. data/ext/wxruby3/include/wxruby-runtime.h +107 -1
  14. data/ext/wxruby3/swig/common.i +2 -2
  15. data/ext/wxruby3/swig/custom/director.swg +2 -2
  16. data/ext/wxruby3/swig/custom/rubyprimtypes.swg +59 -15
  17. data/ext/wxruby3/swig/custom/rubyrun.swg +4 -0
  18. data/ext/wxruby3/swig/custom/rubytracking.swg +9 -19
  19. data/ext/wxruby3/swig/custom/swiglabels.swg +129 -0
  20. data/ext/wxruby3/swig/custom/swigrun.swg +15 -0
  21. data/ext/wxruby3/swig/custom/typemaps/swigtypemaps.swg +20 -0
  22. data/ext/wxruby3/swig/custom/wx_ruby_shared_ptr.i +434 -0
  23. data/ext/wxruby3/swig/custom/wx_shared_ptr.i +431 -0
  24. data/ext/wxruby3/swig/mark_free_impl.i +83 -144
  25. data/ext/wxruby3/swig/memory_management.i +8 -43
  26. data/ext/wxruby3/swig/wx.i +88 -86
  27. data/lib/wx/aui/events/evt_list.rb +148 -0
  28. data/lib/wx/aui/require.rb +0 -1
  29. data/lib/wx/core/calendar_ctrl.rb +15 -0
  30. data/lib/wx/core/clipboard.rb +9 -13
  31. data/lib/wx/core/config.rb +1 -1
  32. data/lib/wx/core/const.rb +0 -1
  33. data/lib/wx/core/context_help.rb +17 -0
  34. data/lib/wx/core/cursor.rb +1 -0
  35. data/lib/wx/core/events/evt_list.rb +1458 -0
  36. data/lib/wx/core/font/encoding.rb +113 -0
  37. data/lib/wx/core/generic_validator.rb +83 -31
  38. data/lib/wx/core/helpcontrollerhelpprovider.rb +10 -2
  39. data/lib/wx/core/mbconv.rb +11 -0
  40. data/lib/wx/core/media_ctrl.rb +31 -0
  41. data/lib/wx/core/tipwindow.rb +16 -0
  42. data/lib/wx/core/top_level_window.rb +7 -0
  43. data/lib/wx/core.rb +6 -0
  44. data/lib/wx/doc/art_provider.rb +17 -0
  45. data/lib/wx/doc/aui/auitabctrl.rb +35 -0
  46. data/lib/wx/doc/config.rb +2 -2
  47. data/lib/wx/doc/context_help.rb +42 -0
  48. data/lib/wx/doc/core.rb +0 -5
  49. data/lib/wx/doc/functions.rb +11 -1
  50. data/lib/wx/doc/gen/about_dialog_info.rb +330 -0
  51. data/lib/wx/doc/gen/accelerator.rb +178 -0
  52. data/lib/wx/doc/gen/activity_indicator.rb +83 -0
  53. data/lib/wx/doc/gen/affine_matrix2d.rb +286 -0
  54. data/lib/wx/doc/gen/animation.rb +275 -0
  55. data/lib/wx/doc/gen/animation_ctrl.rb +300 -0
  56. data/lib/wx/doc/gen/any_button.rb +191 -0
  57. data/lib/wx/doc/gen/app.rb +463 -0
  58. data/lib/wx/doc/gen/app_traits.rb +396 -0
  59. data/lib/wx/doc/gen/art_provider.rb +617 -0
  60. data/lib/wx/doc/gen/aui/aui_dock_art.rb +455 -0
  61. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +54 -0
  62. data/lib/wx/doc/gen/aui/aui_manager.rb +847 -0
  63. data/lib/wx/doc/gen/aui/aui_manager_event.rb +131 -0
  64. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +180 -0
  65. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +59 -0
  66. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +130 -0
  67. data/lib/wx/doc/gen/aui/aui_notebook.rb +631 -0
  68. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +233 -0
  69. data/lib/wx/doc/gen/aui/aui_pane_info.rb +769 -0
  70. data/lib/wx/doc/gen/aui/aui_tab_art.rb +352 -0
  71. data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +14 -0
  72. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +510 -0
  73. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +340 -0
  74. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +244 -0
  75. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +257 -0
  76. data/lib/wx/doc/gen/aui/event_list.rb +179 -0
  77. data/lib/wx/doc/gen/banner_window.rb +124 -0
  78. data/lib/wx/doc/gen/bitmap.rb +731 -0
  79. data/lib/wx/doc/gen/bitmap_button.rb +123 -0
  80. data/lib/wx/doc/gen/bitmap_combo_box.rb +221 -0
  81. data/lib/wx/doc/gen/book_ctrl_base.rb +274 -0
  82. data/lib/wx/doc/gen/book_ctrl_event.rb +66 -0
  83. data/lib/wx/doc/gen/box_sizer.rb +85 -0
  84. data/lib/wx/doc/gen/brush.rb +251 -0
  85. data/lib/wx/doc/gen/busy_info.rb +157 -0
  86. data/lib/wx/doc/gen/button.rb +182 -0
  87. data/lib/wx/doc/gen/calculate_layout_event.rb +62 -0
  88. data/lib/wx/doc/gen/calendar_ctrl.rb +505 -0
  89. data/lib/wx/doc/gen/calendar_date_attr.rb +138 -0
  90. data/lib/wx/doc/gen/calendar_event.rb +147 -0
  91. data/lib/wx/doc/gen/caret.rb +97 -0
  92. data/lib/wx/doc/gen/check_box.rb +175 -0
  93. data/lib/wx/doc/gen/check_list_box.rb +121 -0
  94. data/lib/wx/doc/gen/choice.rb +175 -0
  95. data/lib/wx/doc/gen/choicebook.rb +116 -0
  96. data/lib/wx/doc/gen/client_dc.rb +43 -0
  97. data/lib/wx/doc/gen/clipboard.rb +144 -0
  98. data/lib/wx/doc/gen/collapsible_pane.rb +138 -0
  99. data/lib/wx/doc/gen/collapsible_pane_event.rb +46 -0
  100. data/lib/wx/doc/gen/colour.rb +333 -0
  101. data/lib/wx/doc/gen/colour_dialog.rb +190 -0
  102. data/lib/wx/doc/gen/colour_picker_ctrl.rb +110 -0
  103. data/lib/wx/doc/gen/colour_picker_event.rb +77 -0
  104. data/lib/wx/doc/gen/combo_box.rb +292 -0
  105. data/lib/wx/doc/gen/combo_ctrl.rb +662 -0
  106. data/lib/wx/doc/gen/command_link_button.rb +134 -0
  107. data/lib/wx/doc/gen/config_base.rb +10 -0
  108. data/lib/wx/doc/gen/context_help_button.rb +56 -0
  109. data/lib/wx/doc/gen/control.rb +277 -0
  110. data/lib/wx/doc/gen/control_with_items.rb +253 -0
  111. data/lib/wx/doc/gen/core.rb +45 -0
  112. data/lib/wx/doc/gen/credential_entry_dialog.rb +137 -0
  113. data/lib/wx/doc/gen/cursor.rb +193 -0
  114. data/lib/wx/doc/gen/data_format.rb +85 -0
  115. data/lib/wx/doc/gen/data_object.rb +436 -0
  116. data/lib/wx/doc/gen/data_object_simple_base.rb +10 -0
  117. data/lib/wx/doc/gen/date_event.rb +49 -0
  118. data/lib/wx/doc/gen/date_picker_ctrl.rb +161 -0
  119. data/lib/wx/doc/gen/dc.rb +1631 -0
  120. data/lib/wx/doc/gen/dc_overlay.rb +102 -0
  121. data/lib/wx/doc/gen/defs.rb +2802 -0
  122. data/lib/wx/doc/gen/dial_up_event.rb +45 -0
  123. data/lib/wx/doc/gen/dial_up_manager.rb +149 -0
  124. data/lib/wx/doc/gen/dialog.rb +541 -0
  125. data/lib/wx/doc/gen/dir_dialog.rb +164 -0
  126. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +90 -0
  127. data/lib/wx/doc/gen/dir_picker_ctrl.rb +125 -0
  128. data/lib/wx/doc/gen/display.rb +238 -0
  129. data/lib/wx/doc/gen/drag_drop.rb +299 -0
  130. data/lib/wx/doc/gen/drag_image.rb +116 -0
  131. data/lib/wx/doc/gen/editable_list_box.rb +109 -0
  132. data/lib/wx/doc/gen/event.rb +990 -0
  133. data/lib/wx/doc/gen/event_blocker.rb +50 -0
  134. data/lib/wx/doc/gen/event_filter.rb +92 -0
  135. data/lib/wx/doc/gen/event_list.rb +1644 -0
  136. data/lib/wx/doc/gen/events.rb +2809 -0
  137. data/lib/wx/doc/gen/evt_handler.rb +229 -0
  138. data/lib/wx/doc/gen/ext_help_controller.rb +155 -0
  139. data/lib/wx/doc/gen/file_ctrl.rb +231 -0
  140. data/lib/wx/doc/gen/file_ctrl_event.rb +83 -0
  141. data/lib/wx/doc/gen/file_dialog.rb +353 -0
  142. data/lib/wx/doc/gen/file_dialog_custom_control.rb +165 -0
  143. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +158 -0
  144. data/lib/wx/doc/gen/file_dir_picker_event.rb +100 -0
  145. data/lib/wx/doc/gen/file_picker_ctrl.rb +132 -0
  146. data/lib/wx/doc/gen/file_system.rb +232 -0
  147. data/lib/wx/doc/gen/find_dialog_event.rb +126 -0
  148. data/lib/wx/doc/gen/find_replace_data.rb +60 -0
  149. data/lib/wx/doc/gen/find_replace_dialog.rb +58 -0
  150. data/lib/wx/doc/gen/flex_grid_sizer.rb +199 -0
  151. data/lib/wx/doc/gen/font.rb +1379 -0
  152. data/lib/wx/doc/gen/font_data.rb +151 -0
  153. data/lib/wx/doc/gen/font_dialog.rb +88 -0
  154. data/lib/wx/doc/gen/font_picker_ctrl.rb +143 -0
  155. data/lib/wx/doc/gen/font_picker_event.rb +65 -0
  156. data/lib/wx/doc/gen/frame.rb +352 -0
  157. data/lib/wx/doc/gen/fs_file.rb +337 -0
  158. data/lib/wx/doc/gen/functions.rb +10 -0
  159. data/lib/wx/doc/gen/gauge.rb +157 -0
  160. data/lib/wx/doc/gen/gb_sizer_item.rb +68 -0
  161. data/lib/wx/doc/gen/gcdc.rb +46 -0
  162. data/lib/wx/doc/gen/gdi_common.rb +1271 -0
  163. data/lib/wx/doc/gen/gdi_object.rb +31 -0
  164. data/lib/wx/doc/gen/generic_about_dialog.rb +140 -0
  165. data/lib/wx/doc/gen/generic_dir_ctrl.rb +223 -0
  166. data/lib/wx/doc/gen/geometry.rb +661 -0
  167. data/lib/wx/doc/gen/graphics_context.rb +1184 -0
  168. data/lib/wx/doc/gen/graphics_object.rb +750 -0
  169. data/lib/wx/doc/gen/grid/event_list.rb +191 -0
  170. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +40 -0
  171. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +280 -0
  172. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +35 -0
  173. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +37 -0
  174. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +49 -0
  175. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +35 -0
  176. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +46 -0
  177. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +38 -0
  178. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +45 -0
  179. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +40 -0
  180. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +197 -0
  181. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +39 -0
  182. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +44 -0
  183. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +45 -0
  184. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +79 -0
  185. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +46 -0
  186. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +35 -0
  187. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +108 -0
  188. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +35 -0
  189. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +49 -0
  190. data/lib/wx/doc/gen/grid/grid_ctrl.rb +3037 -0
  191. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +95 -0
  192. data/lib/wx/doc/gen/grid/grid_event.rb +129 -0
  193. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +104 -0
  194. data/lib/wx/doc/gen/grid/grid_size_event.rb +85 -0
  195. data/lib/wx/doc/gen/grid/grid_string_table.rb +142 -0
  196. data/lib/wx/doc/gen/grid/grid_table_base.rb +317 -0
  197. data/lib/wx/doc/gen/grid/grid_table_message.rb +81 -0
  198. data/lib/wx/doc/gen/grid_bag_sizer.rb +323 -0
  199. data/lib/wx/doc/gen/grid_sizer.rb +195 -0
  200. data/lib/wx/doc/gen/gui_event_loop.rb +159 -0
  201. data/lib/wx/doc/gen/h_scrolled_window.rb +562 -0
  202. data/lib/wx/doc/gen/header_ctrl.rb +880 -0
  203. data/lib/wx/doc/gen/header_ctrl_event.rb +133 -0
  204. data/lib/wx/doc/gen/help_controller.rb +238 -0
  205. data/lib/wx/doc/gen/help_provider.rb +98 -0
  206. data/lib/wx/doc/gen/html/event_list.rb +38 -0
  207. data/lib/wx/doc/gen/html/html_cell.rb +536 -0
  208. data/lib/wx/doc/gen/html/html_cell_event.rb +69 -0
  209. data/lib/wx/doc/gen/html/html_data_object.rb +42 -0
  210. data/lib/wx/doc/gen/html/html_easy_printing.rb +203 -0
  211. data/lib/wx/doc/gen/html/html_help_controller.rb +382 -0
  212. data/lib/wx/doc/gen/html/html_help_data.rb +159 -0
  213. data/lib/wx/doc/gen/html/html_help_window.rb +258 -0
  214. data/lib/wx/doc/gen/html/html_link_event.rb +41 -0
  215. data/lib/wx/doc/gen/html/html_list_box.rb +346 -0
  216. data/lib/wx/doc/gen/html/html_printout.rb +109 -0
  217. data/lib/wx/doc/gen/html/html_window.rb +461 -0
  218. data/lib/wx/doc/gen/hyperlink_ctrl.rb +311 -0
  219. data/lib/wx/doc/gen/hyperlink_event.rb +44 -0
  220. data/lib/wx/doc/gen/icon.rb +267 -0
  221. data/lib/wx/doc/gen/icon_location.rb +40 -0
  222. data/lib/wx/doc/gen/image.rb +1371 -0
  223. data/lib/wx/doc/gen/image_list.rb +168 -0
  224. data/lib/wx/doc/gen/info_bar.rb +195 -0
  225. data/lib/wx/doc/gen/keyboard_state.rb +140 -0
  226. data/lib/wx/doc/gen/list_box.rb +304 -0
  227. data/lib/wx/doc/gen/list_ctrl.rb +1774 -0
  228. data/lib/wx/doc/gen/list_event.rb +208 -0
  229. data/lib/wx/doc/gen/listbook.rb +116 -0
  230. data/lib/wx/doc/gen/locale.rb +4293 -0
  231. data/lib/wx/doc/gen/log.rb +603 -0
  232. data/lib/wx/doc/gen/mb_conv.rb +10 -0
  233. data/lib/wx/doc/gen/mdi_client_window.rb +47 -0
  234. data/lib/wx/doc/gen/mdi_frame.rb +324 -0
  235. data/lib/wx/doc/gen/media_ctrl.rb +269 -0
  236. data/lib/wx/doc/gen/media_event.rb +117 -0
  237. data/lib/wx/doc/gen/memory_dc.rb +174 -0
  238. data/lib/wx/doc/gen/menu.rb +509 -0
  239. data/lib/wx/doc/gen/menu_bar.rb +287 -0
  240. data/lib/wx/doc/gen/menu_item.rb +362 -0
  241. data/lib/wx/doc/gen/message_dialog.rb +238 -0
  242. data/lib/wx/doc/gen/mini_frame.rb +108 -0
  243. data/lib/wx/doc/gen/mirror_dc.rb +22 -0
  244. data/lib/wx/doc/gen/mouse_state.rb +150 -0
  245. data/lib/wx/doc/gen/multi_choice_dialog.rb +80 -0
  246. data/lib/wx/doc/gen/non_owned_window.rb +49 -0
  247. data/lib/wx/doc/gen/notebook.rb +278 -0
  248. data/lib/wx/doc/gen/num_validator.rb +37 -0
  249. data/lib/wx/doc/gen/number_entry_dialog.rb +93 -0
  250. data/lib/wx/doc/gen/object.rb +59 -0
  251. data/lib/wx/doc/gen/owner_drawn_combo_box.rb +395 -0
  252. data/lib/wx/doc/gen/paint_dc.rb +27 -0
  253. data/lib/wx/doc/gen/palette.rb +92 -0
  254. data/lib/wx/doc/gen/panel.rb +127 -0
  255. data/lib/wx/doc/gen/pen.rb +511 -0
  256. data/lib/wx/doc/gen/persistence_manager.rb +135 -0
  257. data/lib/wx/doc/gen/persistent_object.rb +52 -0
  258. data/lib/wx/doc/gen/persistent_window.rb +241 -0
  259. data/lib/wx/doc/gen/pg/event_list.rb +106 -0
  260. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +54 -0
  261. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +292 -0
  262. data/lib/wx/doc/gen/pg/pg_cell.rb +177 -0
  263. data/lib/wx/doc/gen/pg/pg_editor.rb +721 -0
  264. data/lib/wx/doc/gen/pg/pg_multi_button.rb +152 -0
  265. data/lib/wx/doc/gen/pg/pg_properties.rb +2829 -0
  266. data/lib/wx/doc/gen/pg/pg_property.rb +2078 -0
  267. data/lib/wx/doc/gen/pg/pg_validation_info.rb +344 -0
  268. data/lib/wx/doc/gen/pg/property_grid.rb +740 -0
  269. data/lib/wx/doc/gen/pg/property_grid_event.rb +184 -0
  270. data/lib/wx/doc/gen/pg/property_grid_interface.rb +1098 -0
  271. data/lib/wx/doc/gen/pg/property_grid_manager.rb +415 -0
  272. data/lib/wx/doc/gen/pg/property_grid_page.rb +354 -0
  273. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +165 -0
  274. data/lib/wx/doc/gen/picker_base.rb +152 -0
  275. data/lib/wx/doc/gen/platform_info.rb +622 -0
  276. data/lib/wx/doc/gen/popup_window.rb +107 -0
  277. data/lib/wx/doc/gen/progress_dialog.rb +100 -0
  278. data/lib/wx/doc/gen/property_sheet_dialog.rb +216 -0
  279. data/lib/wx/doc/gen/prt/event_list.rb +17 -0
  280. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +44 -0
  281. data/lib/wx/doc/gen/prt/post_script_dc.rb +30 -0
  282. data/lib/wx/doc/gen/prt/preview_frame.rb +78 -0
  283. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +151 -0
  284. data/lib/wx/doc/gen/prt/print_data.rb +804 -0
  285. data/lib/wx/doc/gen/prt/print_dialog.rb +55 -0
  286. data/lib/wx/doc/gen/prt/printer.rb +518 -0
  287. data/lib/wx/doc/gen/prt/printer_dc.rb +37 -0
  288. data/lib/wx/doc/gen/query_layout_info_event.rb +106 -0
  289. data/lib/wx/doc/gen/radio_box.rb +306 -0
  290. data/lib/wx/doc/gen/radio_button.rb +159 -0
  291. data/lib/wx/doc/gen/rbn/event_list.rb +136 -0
  292. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +1142 -0
  293. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +308 -0
  294. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +45 -0
  295. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +458 -0
  296. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +63 -0
  297. data/lib/wx/doc/gen/rbn/ribbon_control.rb +143 -0
  298. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +229 -0
  299. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +55 -0
  300. data/lib/wx/doc/gen/rbn/ribbon_page.rb +174 -0
  301. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +270 -0
  302. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +45 -0
  303. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +360 -0
  304. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +42 -0
  305. data/lib/wx/doc/gen/rearrange_ctrl.rb +78 -0
  306. data/lib/wx/doc/gen/rearrange_list.rb +123 -0
  307. data/lib/wx/doc/gen/region.rb +380 -0
  308. data/lib/wx/doc/gen/region_iterator.rb +76 -0
  309. data/lib/wx/doc/gen/rich_tool_tip.rb +154 -0
  310. data/lib/wx/doc/gen/rt/event_list.rb +17 -0
  311. data/lib/wx/doc/gen/rt/shared_evt_handler.rb +14 -0
  312. data/lib/wx/doc/gen/rt/thread_event.rb +71 -0
  313. data/lib/wx/doc/gen/rtc/event_list.rb +125 -0
  314. data/lib/wx/doc/gen/rtc/rich_text_box.rb +445 -0
  315. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +1188 -0
  316. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +41 -0
  317. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +538 -0
  318. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +2103 -0
  319. data/lib/wx/doc/gen/rtc/rich_text_event.rb +173 -0
  320. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +181 -0
  321. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +319 -0
  322. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +193 -0
  323. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +102 -0
  324. data/lib/wx/doc/gen/rtc/rich_text_image.rb +337 -0
  325. data/lib/wx/doc/gen/rtc/rich_text_object.rb +2922 -0
  326. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +1240 -0
  327. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +258 -0
  328. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +344 -0
  329. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +227 -0
  330. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +59 -0
  331. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +169 -0
  332. data/lib/wx/doc/gen/sash_event.rb +147 -0
  333. data/lib/wx/doc/gen/sash_layout_window.rb +232 -0
  334. data/lib/wx/doc/gen/sash_window.rb +171 -0
  335. data/lib/wx/doc/gen/scaled_dc.rb +10 -0
  336. data/lib/wx/doc/gen/screen_dc.rb +30 -0
  337. data/lib/wx/doc/gen/scroll_bar.rb +204 -0
  338. data/lib/wx/doc/gen/scrolled_canvas.rb +410 -0
  339. data/lib/wx/doc/gen/scrolled_control.rb +410 -0
  340. data/lib/wx/doc/gen/scrolled_window.rb +430 -0
  341. data/lib/wx/doc/gen/search_ctrl.rb +159 -0
  342. data/lib/wx/doc/gen/secret_store.rb +116 -0
  343. data/lib/wx/doc/gen/simplebook.rb +110 -0
  344. data/lib/wx/doc/gen/single_choice_dialog.rb +89 -0
  345. data/lib/wx/doc/gen/sizer.rb +945 -0
  346. data/lib/wx/doc/gen/sizer_item.rb +244 -0
  347. data/lib/wx/doc/gen/slider.rb +342 -0
  348. data/lib/wx/doc/gen/spin_button.rb +157 -0
  349. data/lib/wx/doc/gen/spin_ctrl.rb +231 -0
  350. data/lib/wx/doc/gen/spin_ctrl_double.rb +192 -0
  351. data/lib/wx/doc/gen/spin_double_event.rb +55 -0
  352. data/lib/wx/doc/gen/spin_event.rb +51 -0
  353. data/lib/wx/doc/gen/splash_screen.rb +113 -0
  354. data/lib/wx/doc/gen/splitter_event.rb +99 -0
  355. data/lib/wx/doc/gen/splitter_window.rb +498 -0
  356. data/lib/wx/doc/gen/static_bitmap.rb +256 -0
  357. data/lib/wx/doc/gen/static_box.rb +180 -0
  358. data/lib/wx/doc/gen/static_box_sizer.rb +85 -0
  359. data/lib/wx/doc/gen/static_line.rb +83 -0
  360. data/lib/wx/doc/gen/static_text.rb +127 -0
  361. data/lib/wx/doc/gen/status_bar.rb +290 -0
  362. data/lib/wx/doc/gen/stc/event_list.rb +221 -0
  363. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +4474 -0
  364. data/lib/wx/doc/gen/stc/styled_text_event.rb +8762 -0
  365. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +129 -0
  366. data/lib/wx/doc/gen/svg_file_dc.rb +164 -0
  367. data/lib/wx/doc/gen/system_options.rb +129 -0
  368. data/lib/wx/doc/gen/system_settings.rb +507 -0
  369. data/lib/wx/doc/gen/task_bar_icon.rb +127 -0
  370. data/lib/wx/doc/gen/task_bar_icon_event.rb +88 -0
  371. data/lib/wx/doc/gen/text_attr.rb +756 -0
  372. data/lib/wx/doc/gen/text_ctrl.rb +1033 -0
  373. data/lib/wx/doc/gen/text_entry.rb +441 -0
  374. data/lib/wx/doc/gen/text_entry_dialog.rb +220 -0
  375. data/lib/wx/doc/gen/text_validator.rb +245 -0
  376. data/lib/wx/doc/gen/time_picker_ctrl.rb +128 -0
  377. data/lib/wx/doc/gen/timer.rb +119 -0
  378. data/lib/wx/doc/gen/timer_event.rb +68 -0
  379. data/lib/wx/doc/gen/tip_provider.rb +63 -0
  380. data/lib/wx/doc/gen/tip_window.rb +51 -0
  381. data/lib/wx/doc/gen/toggle_button.rb +182 -0
  382. data/lib/wx/doc/gen/tool_bar.rb +890 -0
  383. data/lib/wx/doc/gen/tool_tip.rb +86 -0
  384. data/lib/wx/doc/gen/toolbook.rb +118 -0
  385. data/lib/wx/doc/gen/top_level_window.rb +516 -0
  386. data/lib/wx/doc/gen/tree_ctrl.rb +1052 -0
  387. data/lib/wx/doc/gen/tree_event.rb +127 -0
  388. data/lib/wx/doc/gen/treebook.rb +180 -0
  389. data/lib/wx/doc/gen/ui_action_simulator.rb +109 -0
  390. data/lib/wx/doc/gen/utils.rb +273 -0
  391. data/lib/wx/doc/gen/v_list_box.rb +272 -0
  392. data/lib/wx/doc/gen/v_scrolled_canvas.rb +195 -0
  393. data/lib/wx/doc/gen/v_scrolled_window.rb +191 -0
  394. data/lib/wx/doc/gen/validator.rb +68 -0
  395. data/lib/wx/doc/gen/variant.rb +294 -0
  396. data/lib/wx/doc/gen/web/event_list.rb +95 -0
  397. data/lib/wx/doc/gen/web/web_view.rb +1136 -0
  398. data/lib/wx/doc/gen/web/web_view_event.rb +210 -0
  399. data/lib/wx/doc/gen/web/web_view_handler.rb +318 -0
  400. data/lib/wx/doc/gen/window.rb +2917 -0
  401. data/lib/wx/doc/gen/window_dc.rb +38 -0
  402. data/lib/wx/doc/gen/window_disabler.rb +30 -0
  403. data/lib/wx/doc/gen/with_images.rb +84 -0
  404. data/lib/wx/doc/gen/wizard.rb +257 -0
  405. data/lib/wx/doc/gen/wizard_event.rb +113 -0
  406. data/lib/wx/doc/gen/wizard_page.rb +65 -0
  407. data/lib/wx/doc/gen/wizard_page_simple.rb +88 -0
  408. data/lib/wx/doc/gen/wrap_sizer.rb +79 -0
  409. data/lib/wx/doc/gen/xml_node.rb +316 -0
  410. data/lib/wx/doc/gen/xml_resource.rb +320 -0
  411. data/lib/wx/doc/generic_validator.rb +5 -0
  412. data/lib/wx/doc/html/html_help_controller.rb +23 -1
  413. data/lib/wx/doc/mbconv.rb +108 -0
  414. data/lib/wx/doc/rt/shared_event_handler.rb +49 -0
  415. data/lib/wx/doc/rt/thread_event.rb +28 -0
  416. data/lib/wx/doc/tip_window.rb +18 -6
  417. data/lib/wx/doc/webview.rb +40 -0
  418. data/lib/wx/grid/events/evt_list.rb +166 -0
  419. data/lib/wx/helpers.rb +1 -1
  420. data/lib/wx/html/events/evt_list.rb +27 -0
  421. data/lib/wx/html/htmlhelpcontroller.rb +10 -0
  422. data/lib/wx/html/simple_html_listbox.rb +46 -33
  423. data/lib/wx/keyword_defs.rb +20 -0
  424. data/lib/wx/pg/events/evt_list.rb +73 -0
  425. data/lib/wx/pg/pg_property.rb +26 -0
  426. data/lib/wx/pg/property_grid_interface.rb +2 -2
  427. data/lib/wx/rbn/events/evt_list.rb +102 -0
  428. data/lib/wx/rt/events/evt_list.rb +8 -0
  429. data/lib/wx/rt/require.rb +8 -0
  430. data/lib/wx/rt/thread_event.rb +14 -0
  431. data/lib/wx/rt.rb +16 -0
  432. data/lib/wx/rtc/events/evt_list.rb +98 -0
  433. data/lib/wx/rtc/ext/rich_text_ctrl.rb +24 -0
  434. data/lib/wx/stc/events/evt_list.rb +178 -0
  435. data/lib/wx/version.rb +1 -1
  436. data/lib/wx/web/events/evt_list.rb +74 -0
  437. data/lib/wx/web/require.rb +8 -0
  438. data/lib/wx/web/webview.rb +106 -0
  439. data/lib/wx/web.rb +17 -0
  440. data/lib/wx/wxruby/cmd/setup.rb +21 -0
  441. data/lib/wx.rb +2 -0
  442. data/rakelib/configure.rb +33 -0
  443. data/rakelib/gem.rake +3 -2
  444. data/rakelib/gem.rb +3 -2
  445. data/rakelib/install.rb +54 -27
  446. data/rakelib/lib/config/linux.rb +1 -1
  447. data/rakelib/lib/config/macosx.rb +22 -6
  448. data/rakelib/lib/config/mingw.rb +66 -5
  449. data/rakelib/lib/config/pkgman/linux.rb +7 -2
  450. data/rakelib/lib/config/pkgman/mingw.rb +1 -1
  451. data/rakelib/lib/config/unixish.rb +7 -5
  452. data/rakelib/lib/config.rb +52 -7
  453. data/rakelib/lib/core/include/client_data.inc +38 -17
  454. data/rakelib/lib/core/include/funcall.inc +1 -1
  455. data/rakelib/lib/core/include/swigdirector.inc +6 -6
  456. data/rakelib/lib/core/include/swigrubyerrors.inc +4 -8
  457. data/rakelib/lib/core/include/swigrubyrun.inc +34 -30
  458. data/rakelib/lib/core/include/swigrun.inc +189 -0
  459. data/rakelib/lib/core/package.rb +3 -3
  460. data/rakelib/lib/director/accelerator.rb +1 -1
  461. data/rakelib/lib/director/animation.rb +1 -0
  462. data/rakelib/lib/director/app.rb +1 -8
  463. data/rakelib/lib/director/app_traits.rb +1 -1
  464. data/rakelib/lib/director/art_provider.rb +7 -3
  465. data/rakelib/lib/director/aui_manager.rb +21 -14
  466. data/rakelib/lib/director/aui_mdi_child_frame.rb +2 -0
  467. data/rakelib/lib/director/aui_mdi_parent_frame.rb +4 -0
  468. data/rakelib/lib/director/aui_notebook.rb +20 -3
  469. data/rakelib/lib/director/aui_tab_ctrl.rb +64 -106
  470. data/rakelib/lib/director/calendar_ctrl.rb +72 -14
  471. data/rakelib/lib/director/clipboard.rb +2 -0
  472. data/rakelib/lib/director/comboctrl.rb +0 -7
  473. data/rakelib/lib/director/context_help_button.rb +35 -2
  474. data/rakelib/lib/director/data_object.rb +15 -7
  475. data/rakelib/lib/director/date_picker_ctrl.rb +4 -1
  476. data/rakelib/lib/director/display.rb +81 -0
  477. data/rakelib/lib/director/event.rb +33 -16
  478. data/rakelib/lib/director/event_handler.rb +59 -30
  479. data/rakelib/lib/director/fs_file.rb +15 -10
  480. data/rakelib/lib/director/functions.rb +17 -0
  481. data/rakelib/lib/director/geometry.rb +5 -0
  482. data/rakelib/lib/director/grid_cell_attr.rb +1 -3
  483. data/rakelib/lib/director/grid_cell_editor.rb +14 -12
  484. data/rakelib/lib/director/grid_cell_renderer.rb +11 -8
  485. data/rakelib/lib/director/grid_ctrl.rb +231 -117
  486. data/rakelib/lib/director/help_controller.rb +70 -2
  487. data/rakelib/lib/director/help_provider.rb +1 -1
  488. data/rakelib/lib/director/html_listbox.rb +16 -3
  489. data/rakelib/lib/director/hvscrolled.rb +7 -106
  490. data/rakelib/lib/director/image_list.rb +1 -0
  491. data/rakelib/lib/director/mb_conv.rb +30 -0
  492. data/rakelib/lib/director/mdi_frame.rb +4 -0
  493. data/rakelib/lib/director/menu.rb +113 -22
  494. data/rakelib/lib/director/menu_bar.rb +103 -2
  495. data/rakelib/lib/director/menu_item.rb +7 -1
  496. data/rakelib/lib/director/num_validator.rb +27 -0
  497. data/rakelib/lib/director/numeric_property_validator.rb +9 -0
  498. data/rakelib/lib/director/persistence_manager.rb +3 -2
  499. data/rakelib/lib/director/popup_window.rb +2 -0
  500. data/rakelib/lib/director/preview_frame.rb +28 -5
  501. data/rakelib/lib/director/printer.rb +59 -5
  502. data/rakelib/lib/director/property_grid.rb +37 -18
  503. data/rakelib/lib/director/property_grid_interface.rb +10 -8
  504. data/rakelib/lib/director/property_grid_manager.rb +99 -39
  505. data/rakelib/lib/director/property_grid_page.rb +60 -0
  506. data/rakelib/lib/director/rich_tooltip.rb +22 -0
  507. data/rakelib/lib/director/richtext_buffer.rb +5 -2
  508. data/rakelib/lib/director/richtext_ctrl.rb +5 -0
  509. data/rakelib/lib/director/richtext_object.rb +13 -4
  510. data/rakelib/lib/director/richtext_style_listbox.rb +4 -1
  511. data/rakelib/lib/director/scrolled_t.rb +3 -0
  512. data/rakelib/lib/director/searchctrl.rb +1 -0
  513. data/rakelib/lib/director/shared_evt_handler.rb +30 -0
  514. data/rakelib/lib/director/sizer.rb +8 -17
  515. data/rakelib/lib/director/sizer_item.rb +3 -4
  516. data/rakelib/lib/director/task_bar_icon.rb +18 -12
  517. data/rakelib/lib/director/text_validator.rb +9 -0
  518. data/rakelib/lib/director/thread_event.rb +33 -0
  519. data/rakelib/lib/director/tip_window.rb +117 -6
  520. data/rakelib/lib/director/tool_bar.rb +6 -0
  521. data/rakelib/lib/director/validator.rb +15 -1
  522. data/rakelib/lib/director/variant.rb +48 -28
  523. data/rakelib/lib/director/vlistbox.rb +25 -22
  524. data/rakelib/lib/director/webview.rb +166 -0
  525. data/rakelib/lib/director/webview_event.rb +37 -0
  526. data/rakelib/lib/director/webview_handler.rb +63 -0
  527. data/rakelib/lib/director/window.rb +10 -1
  528. data/rakelib/lib/director/xml_resource.rb +6 -0
  529. data/rakelib/lib/generate/doc/aui_manager.yaml +1 -1
  530. data/rakelib/lib/generate/doc/rich_tool_tip.yaml +26 -0
  531. data/rakelib/lib/generate/doc/thread_event.yaml +20 -0
  532. data/rakelib/lib/generate/doc/web_view.yaml +135 -0
  533. data/rakelib/lib/generate/doc/web_view_event.yaml +38 -0
  534. data/rakelib/lib/generate/doc/web_view_handler.yaml +58 -0
  535. data/rakelib/lib/generate/doc.rb +12 -7
  536. data/rakelib/lib/generate/interface.rb +16 -1
  537. data/rakelib/lib/specs/interfaces.rb +15 -1
  538. data/rakelib/lib/swig_runner.rb +10 -10
  539. data/rakelib/lib/typemap/aui_tabctrl.rb +46 -0
  540. data/rakelib/lib/typemap/common.rb +37 -4
  541. data/rakelib/lib/typemap/mb_conv.rb +58 -0
  542. data/rakelib/lib/typemap/print_page_range.rb +32 -8
  543. data/rakelib/prepost.rake +23 -31
  544. data/rakelib/prepost.rb +20 -0
  545. data/samples/art/wxruby-512x512.png +0 -0
  546. data/samples/calendar/calendar.rb +64 -1
  547. data/samples/dialogs/dialogs.rb +172 -0
  548. data/samples/dialogs/tip.xpm +157 -0
  549. data/samples/drawing/maths_images.rb +1 -1
  550. data/samples/event/event.rb +1 -1
  551. data/samples/event/threaded.rb +295 -42
  552. data/samples/event/tn_threaded.png +0 -0
  553. data/samples/help/doc/back.gif +0 -0
  554. data/samples/help/doc/contents.gif +0 -0
  555. data/samples/help/doc/cshelp.txt +9 -0
  556. data/samples/help/doc/doc.chm +0 -0
  557. data/samples/help/doc/doc.cnt +8 -0
  558. data/samples/help/doc/doc.h +7 -0
  559. data/samples/help/doc/doc.hhc +40 -0
  560. data/samples/help/doc/doc.hhk +31 -0
  561. data/samples/help/doc/doc.hhp +33 -0
  562. data/samples/help/doc/doc.hpj +21 -0
  563. data/samples/help/doc/doc.htm +27 -0
  564. data/samples/help/doc/doc1.htm +24 -0
  565. data/samples/help/doc/doc2.htm +12 -0
  566. data/samples/help/doc/doc3.htm +12 -0
  567. data/samples/help/doc/doc4.htm +12 -0
  568. data/samples/help/doc/doc5.htm +14 -0
  569. data/samples/help/doc/forward.gif +0 -0
  570. data/samples/help/doc/up.gif +0 -0
  571. data/samples/help/doc.chm +0 -0
  572. data/samples/help/doc.chw +0 -0
  573. data/samples/help/doc.zip +0 -0
  574. data/samples/help/help.rb +352 -0
  575. data/samples/help/tn_help.png +0 -0
  576. data/samples/printing/printing2.rb +1 -1
  577. data/samples/sampler.rb +26 -8
  578. data/samples/text/textctrl.rb +2 -2
  579. data/samples/treectrl/treectrl.rb +2 -2
  580. data/samples/webview/handler_advanced.html +55 -0
  581. data/samples/webview/tn_webview.png +0 -0
  582. data/samples/webview/webview.rb +1264 -0
  583. data/tests/assets/handler_advanced.html +55 -0
  584. data/tests/assets/test.css +1 -0
  585. data/tests/assets/test.html +9 -0
  586. data/tests/assets/test.zip +0 -0
  587. data/tests/lib/leaked_process_event_exception_test.rb +1 -1
  588. data/tests/lib/leaked_queued_event_exception_test.rb +1 -1
  589. data/tests/lib/text_entry_tests.rb +2 -2
  590. data/tests/lib/wxapp_runner.rb +65 -35
  591. data/tests/lib/wxframe_runner.rb +40 -13
  592. data/tests/lib/wxrb_test.rb +58 -0
  593. data/tests/test_app_event_filter.rb +1 -1
  594. data/tests/test_app_exit_exception.rb +3 -3
  595. data/tests/test_app_init_exception.rb +3 -3
  596. data/tests/test_app_traits.rb +24 -21
  597. data/tests/test_art.rb +14 -14
  598. data/tests/test_art_provider.rb +1 -1
  599. data/tests/test_basic.rb +2 -2
  600. data/tests/test_book_controls.rb +1 -1
  601. data/tests/test_box_sizer.rb +1 -1
  602. data/tests/test_clipboard.rb +9 -9
  603. data/tests/test_combo_ctrl.rb +2 -2
  604. data/tests/test_config.rb +17 -7
  605. data/tests/test_dc.rb +1 -1
  606. data/tests/test_dialog.rb +1 -1
  607. data/tests/test_event_handling.rb +1 -1
  608. data/tests/test_events.rb +1 -1
  609. data/tests/test_exceptions.rb +10 -8
  610. data/tests/test_ext_controls.rb +13 -13
  611. data/tests/test_file_dialog.rb +6 -6
  612. data/tests/test_font.rb +8 -8
  613. data/tests/test_gdi_object.rb +1 -1
  614. data/tests/test_geometry.rb +2 -2
  615. data/tests/test_grid_ctrl.rb +133 -0
  616. data/tests/test_grid_sizer.rb +2 -2
  617. data/tests/test_help.rb +88 -0
  618. data/tests/test_intl.rb +2 -2
  619. data/tests/test_item_data.rb +12 -12
  620. data/tests/test_list_ctrl.rb +1 -1
  621. data/tests/test_log.rb +2 -2
  622. data/tests/test_media_ctrl.rb +15 -7
  623. data/tests/test_menu.rb +81 -2
  624. data/tests/test_persistence.rb +1 -1
  625. data/tests/test_proof_check.rb +6 -6
  626. data/tests/test_propgrid.rb +32 -32
  627. data/tests/test_richtext.rb +10 -24
  628. data/tests/test_secret_store.rb +1 -1
  629. data/tests/test_shared_event_handler.rb +141 -0
  630. data/tests/test_sizer.rb +1 -1
  631. data/tests/test_std_controls.rb +13 -13
  632. data/tests/test_styled_text_ctrl.rb +1 -1
  633. data/tests/test_timer.rb +1 -1
  634. data/tests/test_tree_ctrl.rb +1 -1
  635. data/tests/test_validators.rb +79 -36
  636. data/tests/test_variant.rb +1 -1
  637. data/tests/test_webview.rb +492 -0
  638. data/tests/test_window.rb +14 -14
  639. data/tests/testapp.rb +2 -2
  640. data/tests/testapp_noframe.rb +2 -2
  641. metadata +476 -11
  642. data/lib/wx/aui/aui_tab_ctrl.rb +0 -18
@@ -0,0 +1,104 @@
1
+ // Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ //
3
+ // This software is released under the MIT license.
4
+
5
+ #ifndef _WXRUBY_SHAREDPTR_H_
6
+ #define _WXRUBY_SHAREDPTR_H_
7
+
8
+ /*
9
+ A shared pointer class to wrap wxSharedPtr for derived classes and allowing implicit
10
+ conversion to wxSharedPtr without loosing reference counting and implicit down casting.
11
+ */
12
+ #include <wx/sharedptr.h>
13
+
14
+ template <class T, class Base = T>
15
+ class WxRubySharedPtr
16
+ {
17
+ public:
18
+ typedef T* ptr_t;
19
+ typedef wxSharedPtr<Base> shared_ptr_t;
20
+
21
+ explicit WxRubySharedPtr( T* ptr = nullptr )
22
+ : shared_ptr_(ptr)
23
+ {
24
+ }
25
+
26
+ WxRubySharedPtr(const WxRubySharedPtr& other)
27
+ : shared_ptr_(other.get_shared())
28
+ {}
29
+
30
+ WxRubySharedPtr(WxRubySharedPtr&& other)
31
+ : shared_ptr_(std::move (other.get_shared()))
32
+ {}
33
+
34
+ #if !defined(SWIG)
35
+ template<typename _Tp1, typename = typename
36
+ std::enable_if<std::is_convertible<typename _Tp1::ptr_t, T*>::value>::type>
37
+ WxRubySharedPtr(const _Tp1& other)
38
+ : shared_ptr_(other.get_shared())
39
+ {}
40
+
41
+ template<typename _Tp1, typename = typename
42
+ std::enable_if<std::is_convertible<typename _Tp1::ptr_t, T*>::value>::type>
43
+ WxRubySharedPtr(_Tp1&& other)
44
+ : shared_ptr_(std::move(other.get_shared()))
45
+ {}
46
+ #endif
47
+
48
+ WxRubySharedPtr& operator=(const WxRubySharedPtr& other)
49
+ {
50
+ this->shared_ptr_ = other.get_shared();
51
+ return *this;
52
+ }
53
+
54
+ WxRubySharedPtr& operator=( T* ptr )
55
+ {
56
+ this->shared_ptr_ = ptr;
57
+ return *this;
58
+ }
59
+
60
+ #if !defined(SWIG)
61
+ template<typename _Tp1, typename = typename
62
+ std::enable_if<std::is_convertible<typename _Tp1::ptr_t, T*>::value>::type>
63
+ WxRubySharedPtr& operator=(const _Tp1& other)
64
+ {
65
+ this->shared_ptr_ = other.get_shared();
66
+ return *this;
67
+ }
68
+ #endif
69
+
70
+ T* operator->()
71
+ {
72
+ return const_cast<T*> (this->_get());
73
+ }
74
+
75
+ const T* operator->() const
76
+ {
77
+ return this->_get();
78
+ }
79
+
80
+ const T* get() const
81
+ {
82
+ return this->_get();
83
+ }
84
+
85
+ void reset( T* ptr = nullptr )
86
+ {
87
+ this->shared_ptr_.reset(ptr);
88
+ }
89
+
90
+ shared_ptr_t get_shared() const { return this->shared_ptr_; }
91
+
92
+ operator shared_ptr_t() const { return this->get_shared(); }
93
+
94
+ private:
95
+
96
+ const T* _get() const
97
+ {
98
+ return dynamic_cast<const T*> (this->shared_ptr_.get());
99
+ }
100
+
101
+ shared_ptr_t shared_ptr_;
102
+ };
103
+
104
+ #endif
@@ -39,8 +39,85 @@ private:
39
39
 
40
40
  // Exported runtime helper methods
41
41
 
42
+ // Debug tracing support
42
43
  #ifdef __WXRB_DEBUG__
43
- WXRUBY_EXPORT int wxRuby_TraceLevel();
44
+ #include <cstdlib>
45
+ #include <string>
46
+ #include <algorithm>
47
+ #include <ctype.h>
48
+
49
+ class WxRubyTraceGuard
50
+ {
51
+ public:
52
+ WxRubyTraceGuard(const std::string& trace_id)
53
+ {
54
+ std::string trace_env_id = to_uppercase(trace_id);
55
+ while (!trace_env_id.empty())
56
+ {
57
+ // see if we can find a trace setting which starts with 'WXRUBY_TRACE_'
58
+ // followed by the trace id
59
+ std::string trace_env_var = std::string("WXRUBY_TRACE_") + trace_env_id;
60
+ char* env_val = std::getenv(trace_env_var.c_str());
61
+ if (env_val)
62
+ {
63
+ // trace setting found
64
+ this->_trace_lvl = std::atoi(env_val);
65
+ break; // done
66
+ }
67
+ // see if there is a parent trace category we can check
68
+ std::string::size_type offs = trace_env_id.find_last_of('_');
69
+ if (offs != std::string::npos )
70
+ {
71
+ // reduce the id to possible parent category
72
+ trace_env_id = trace_env_id.substr(0, offs);
73
+ }
74
+
75
+ if (offs == std::string::npos || trace_env_id.empty())
76
+ {
77
+ // check for global tracing
78
+ env_val = std::getenv("WXRUBY_TRACE");
79
+ if (env_val)
80
+ {
81
+ // trace setting found
82
+ this->_trace_lvl = std::atoi(env_val);
83
+ }
84
+ break; // done
85
+ }
86
+ }
87
+ }
88
+
89
+ int trace_level() { return this->_trace_lvl; }
90
+
91
+ private:
92
+ std::string to_uppercase(std::string s)
93
+ {
94
+ std::transform(s.begin(), s.end(), s.begin(), [](unsigned char c){ return std::toupper(c); });
95
+ return s;
96
+ }
97
+
98
+ int _trace_lvl {};
99
+ };
100
+
101
+ #define WXRUBY_TRACE_GUARD(name, trace_id) static WxRubyTraceGuard name (trace_id);
102
+
103
+ #define WXRUBY_TRACE_IF(__trace_guard__, __level__) \
104
+ if (__trace_guard__.trace_level() >= __level__) {
105
+
106
+ #define WXRUBY_TRACE_WITH(__stmt__) __stmt__ ;
107
+
108
+ #define WXRUBY_TRACE(__stmt__) \
109
+ std::wcout << __stmt__ << std::endl;
110
+
111
+ #define WXRUBY_TRACE_END }
112
+
113
+ #else
114
+
115
+ #define WXRUBY_TRACE_GUARD(name, trace_id)
116
+ #define WXRUBY_TRACE_IF(__trace_guard__, __level__)
117
+ #define WXRUBY_TRACE_WITH(__stmt__)
118
+ #define WXRUBY_TRACE(__stmt__)
119
+ #define WXRUBY_TRACE_END
120
+
44
121
  #endif
45
122
 
46
123
  WXRUBY_EXPORT VALUE wxRuby_Funcall(VALUE rcvr, ID func, int argc, ...);
@@ -57,6 +134,35 @@ WXRUBY_EXPORT void wxRuby_AppendMarker(WXRBMarkFunction marker);
57
134
  WXRUBY_EXPORT VALUE wxRuby_GetTopLevelWindowClass(); // used for wxWindow typemap in typemap.i
58
135
  WXRUBY_EXPORT bool GC_IsWindowDeleted(void *ptr);
59
136
 
137
+ WXRUBY_EXPORT bool GC_IsObjectOwned(VALUE object);
138
+
139
+ #ifdef __cplusplus
140
+ extern "C" {
141
+ #endif
142
+
143
+ WXRUBY_EXPORT void wxRuby_InitializeTracking();
144
+ WXRUBY_EXPORT void wxRuby_AddTracking(void* ptr, VALUE object);
145
+ WXRUBY_EXPORT VALUE wxRuby_FindTracking(void* ptr);
146
+ WXRUBY_EXPORT void wxRuby_RemoveTracking(void* ptr);
147
+ WXRUBY_EXPORT void wxRuby_UnlinkObject(void* ptr);
148
+
149
+ #ifdef __cplusplus
150
+ }
151
+ #endif
152
+
153
+ #include <unordered_map>
154
+
155
+ typedef std::unordered_map<void*, VALUE> TGCTrackingValueMap;
156
+ typedef void (* TGCMarkerFunction)(const TGCTrackingValueMap&);
157
+
158
+ WXRUBY_EXPORT void wxRuby_RegisterTrackingCategory(std::string category, TGCMarkerFunction marker, bool has_data = false);
159
+ WXRUBY_EXPORT void wxRuby_RegisterCategoryValue(const std::string &category, void *ptr, VALUE object);
160
+ WXRUBY_EXPORT void wxRuby_UnregisterCategoryValue(const std::string &category, void *ptr);
161
+ WXRUBY_EXPORT VALUE wxRuby_FindCategoryValue(const std::string &category, void *ptr);
162
+ WXRUBY_EXPORT void wxRuby_UnlinkCategoryValue(const std::string &category, void* ptr);
163
+
164
+ WXRUBY_EXPORT void wxRuby_MarkTracked();
165
+
60
166
  // Defined in wx.i; getting, setting and using swig_type <-> ruby class
61
167
  // mappings
62
168
  WXRUBY_EXPORT swig_type_info* wxRuby_GetSwigTypeForClass(VALUE cls);
@@ -134,8 +134,8 @@
134
134
  #include <wx/variant.h>
135
135
  #endif
136
136
 
137
- #if ! wxCHECK_VERSION(3,1,5)
138
- #error "This version of wxRuby requires WxWidgets 3.1.5 or greater"
137
+ #if ! wxCHECK_VERSION(3,2,0)
138
+ #error "This version of wxRuby requires WxWidgets 3.2.0 or greater"
139
139
  #endif
140
140
 
141
141
  #include "wxruby-runtime.h"
@@ -109,7 +109,7 @@ namespace Swig {
109
109
  void setup_error(VALUE error);
110
110
 
111
111
  public:
112
- virtual ~DirectorException() throw();
112
+ virtual ~DirectorException() SWIG_NOEXCEPT;
113
113
 
114
114
  VALUE getType() const
115
115
  {
@@ -127,7 +127,7 @@ namespace Swig {
127
127
  return swig_msg;
128
128
  }
129
129
 
130
- const char *what() const throw()
130
+ const char *what() const SWIG_NOEXCEPT
131
131
  {
132
132
  return swig_msg.c_str();
133
133
  }
@@ -7,6 +7,8 @@
7
7
 
8
8
  /* auxiliary ruby fail method */
9
9
 
10
+ // SWIG < 4.4.0
11
+ #if SWIG_VERSION < 0x040400
10
12
  %fragment("SWIG_ruby_failed","header")
11
13
  {
12
14
  SWIGINTERN VALUE
@@ -15,18 +17,16 @@ SWIG_ruby_failed(void)
15
17
  return Qnil;
16
18
  }
17
19
  }
18
-
19
- %define %ruby_aux_method(Type, Method, Action)
20
- SWIGINTERN VALUE SWIG_AUX_##Method##(VALUE *args)
20
+ #else
21
+ %fragment("SWIG_ruby_failed","header")
21
22
  {
22
- VALUE obj = args[0];
23
- VALUE type = TYPE(obj);
24
- Type *res = (Type *)(args[1]);
25
- *res = Action;
26
- return obj;
23
+ SWIGINTERN VALUE
24
+ SWIG_ruby_failed(VALUE SWIGUNUSEDPARM(arg1), VALUE SWIGUNUSEDPARM(arg2))
25
+ {
26
+ return Qnil;
27
27
  }
28
- %enddef
29
-
28
+ }
29
+ #endif
30
30
 
31
31
  /* boolean */
32
32
 
@@ -68,7 +68,14 @@ SWIG_AsVal_dec(bool)(VALUE obj, bool *val)
68
68
  }
69
69
 
70
70
  %fragment(SWIG_AsVal_frag(long),"header",fragment="SWIG_ruby_failed") {
71
- %ruby_aux_method(long, NUM2LONG, (type != T_BIGNUM) ? NUM2LONG(obj) : rb_big2long(obj))
71
+ SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE* args)
72
+ {
73
+ VALUE obj = args[0];
74
+ VALUE type = TYPE(obj);
75
+ long *res = (long *)(args[1]);
76
+ *res = (type != T_BIGNUM) ? NUM2LONG(obj) : rb_big2long(obj);
77
+ return obj;
78
+ }
72
79
 
73
80
  SWIGINTERN int
74
81
  SWIG_AsVal_dec(long)(VALUE obj, long* val)
@@ -100,7 +107,14 @@ SWIG_From_dec(unsigned long)(unsigned long value)
100
107
  }
101
108
 
102
109
  %fragment(SWIG_AsVal_frag(unsigned long),"header",fragment="SWIG_ruby_failed") {
103
- %ruby_aux_method(unsigned long, NUM2ULONG, (type != T_BIGNUM) ? NUM2ULONG(obj) : rb_big2ulong(obj))
110
+ SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE* args)
111
+ {
112
+ VALUE obj = args[0];
113
+ VALUE type = TYPE(obj);
114
+ unsigned long *res = (unsigned long *)(args[1]);
115
+ *res = (type != T_BIGNUM) ? NUM2ULONG(obj) : rb_big2ulong(obj);
116
+ return obj;
117
+ }
104
118
 
105
119
  SWIGINTERN int
106
120
  SWIG_AsVal_dec(unsigned long)(VALUE obj, unsigned long *val)
@@ -112,6 +126,10 @@ SWIG_AsVal_dec(unsigned long)(VALUE obj, unsigned long *val)
112
126
  a[0] = obj;
113
127
  a[1] = (VALUE)(&v);
114
128
  if (rb_rescue(RUBY_METHOD_FUNC(SWIG_AUX_NUM2ULONG), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) {
129
+ #if SWIG_VERSION >= 0x040400
130
+ if (rb_funcall(obj, swig_lowerthan_id, 1, INT2FIX(0)) != Qfalse)
131
+ return SWIG_OverflowError;
132
+ #endif
115
133
  if (val) *val = v;
116
134
  return SWIG_OK;
117
135
  }
@@ -138,7 +156,14 @@ SWIG_From_dec(long long)(long long value)
138
156
  fragment="SWIG_ruby_failed",
139
157
  fragment="SWIG_LongLongAvailable") {
140
158
  %#ifdef SWIG_LONG_LONG_AVAILABLE
141
- %ruby_aux_method(long long, NUM2LL, (type != T_BIGNUM) ? NUM2LL(obj) : rb_big2ll(obj))
159
+ SWIGINTERN VALUE SWIG_AUX_NUM2LL(VALUE* args)
160
+ {
161
+ VALUE obj = args[0];
162
+ VALUE type = TYPE(obj);
163
+ long long *res = (long long *)(args[1]);
164
+ *res = (type != T_BIGNUM) ? NUM2LL(obj) : rb_big2ll(obj);
165
+ return obj;
166
+ }
142
167
 
143
168
  SWIGINTERN int
144
169
  SWIG_AsVal_dec(long long)(VALUE obj, long long *val)
@@ -176,7 +201,14 @@ SWIG_From_dec(unsigned long long)(unsigned long long value)
176
201
  fragment="SWIG_ruby_failed",
177
202
  fragment="SWIG_LongLongAvailable") {
178
203
  %#ifdef SWIG_LONG_LONG_AVAILABLE
179
- %ruby_aux_method(long long, NUM2ULL, (type != T_BIGNUM) ? NUM2ULL(obj) : rb_big2ull(obj))
204
+ SWIGINTERN VALUE SWIG_AUX_NUM2ULL(VALUE* args)
205
+ {
206
+ VALUE obj = args[0];
207
+ VALUE type = TYPE(obj);
208
+ long long *res = (long long *)(args[1]);
209
+ *res = (type != T_BIGNUM) ? NUM2ULL(obj) : rb_big2ull(obj);
210
+ return obj;
211
+ }
180
212
 
181
213
  SWIGINTERN int
182
214
  SWIG_AsVal_dec(unsigned long long)(VALUE obj, unsigned long long *val)
@@ -188,6 +220,10 @@ SWIG_AsVal_dec(unsigned long long)(VALUE obj, unsigned long long *val)
188
220
  a[0] = obj;
189
221
  a[1] = (VALUE)(&v);
190
222
  if (rb_rescue(RUBY_METHOD_FUNC(SWIG_AUX_NUM2ULL), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) {
223
+ #if SWIG_VERSION >= 0x040400
224
+ if (rb_funcall(obj, swig_lowerthan_id, 1, INT2FIX(0)) != Qfalse)
225
+ return SWIG_OverflowError;
226
+ #endif
191
227
  if (val) *val = v;
192
228
  return SWIG_OK;
193
229
  }
@@ -204,7 +240,15 @@ SWIG_AsVal_dec(unsigned long long)(VALUE obj, unsigned long long *val)
204
240
  }
205
241
 
206
242
  %fragment(SWIG_AsVal_frag(double),"header",fragment="SWIG_ruby_failed") {
207
- %ruby_aux_method(double, NUM2DBL, NUM2DBL(obj); (void)type)
243
+ SWIGINTERN VALUE SWIG_AUX_NUM2DBL(VALUE* args)
244
+ {
245
+ //VALUE *args = (VALUE *)arg;
246
+ VALUE obj = args[0];
247
+ VALUE type = TYPE(obj);
248
+ double *res = (double *)(args[1]);
249
+ *res = NUM2DBL(obj); (void)type;
250
+ return obj;
251
+ }
208
252
 
209
253
  SWIGINTERN int
210
254
  SWIG_AsVal_dec(double)(VALUE obj, double *val)
@@ -77,6 +77,10 @@ typedef struct WXRUBY_EXPORT swig_class {
77
77
  int trackObjects;
78
78
  } swig_class;
79
79
 
80
+ #if SWIG_VERSION >= 0x040400
81
+ extern ID swig_lowerthan_id;
82
+ #endif
83
+
80
84
  /*
81
85
  If your swig extension is to be run within an embedded ruby and has
82
86
  director callbacks, you should set -DRUBY_EMBEDDED during compilation.
@@ -15,43 +15,33 @@ extern "C" {
15
15
  #endif
16
16
 
17
17
  // Shared custom swig tracking functions
18
+ WXRUBY_EXPORT void wxRuby_InitializeTracking();
18
19
  WXRUBY_EXPORT void wxRuby_AddTracking(void* ptr, VALUE object);
19
20
  WXRUBY_EXPORT VALUE wxRuby_FindTracking(void* ptr);
20
21
  WXRUBY_EXPORT void wxRuby_RemoveTracking(void* ptr);
21
- WXRUBY_EXPORT void wxRuby_IterateTracking( void(*meth)(void* ptr, VALUE obj) );
22
22
 
23
- /* Setup a Ruby hash table to store Trackings - mostly done in wx.i */
24
- SWIGRUNTIMEINLINE void SWIG_RubyInitializeTrackings(void) {
25
- // no-op
26
- }
23
+ /* Setup a Ruby hash table to store Trackings */
24
+ #define SWIG_RubyInitializeTrackings()
27
25
 
28
26
  /* Add a Tracking from a C/C++ struct to a Ruby object */
29
- SWIGRUNTIMEINLINE void SWIG_RubyAddTracking(void* ptr, VALUE object) {
30
- wxRuby_AddTracking(ptr, object);
31
- }
27
+ #define SWIG_RubyAddTracking wxRuby_AddTracking
32
28
 
33
29
  /* Get the Ruby object that owns the specified C/C++ struct */
34
- SWIGRUNTIMEINLINE VALUE SWIG_RubyInstanceFor(void* ptr) {
35
- return wxRuby_FindTracking(ptr);
36
- }
30
+ #define SWIG_RubyInstanceFor wxRuby_FindTracking
37
31
 
38
32
  /* Remove a Tracking from a C/C++ struct to a Ruby object. It
39
33
  is very important to remove objects once they are destroyed
40
34
  since the same memory address may be reused later to create
41
35
  a new object. */
42
- SWIGRUNTIMEINLINE void SWIG_RubyRemoveTracking(void* ptr) {
43
- wxRuby_RemoveTracking(ptr);
44
- }
36
+ #define SWIG_RubyRemoveTracking wxRuby_RemoveTracking
45
37
 
46
38
  /* This is a helper method that unlinks a Ruby object from its
47
39
  underlying C++ object. This is needed if the lifetime of the
48
40
  Ruby object is longer than the C++ object */
49
- SWIGRUNTIMEINLINE void SWIG_RubyUnlinkObjects(void* ptr) {
50
- VALUE object = SWIG_RubyInstanceFor(ptr);
41
+ #define SWIG_RubyUnlinkObjects wxRuby_UnlinkObject
51
42
 
52
- if (object != Qnil) {
53
- DATA_PTR(object) = 0;
54
- }
43
+ SWIGRUNTIMEINLINE void SWIG_RubyIterateTrackings( void(*meth)(void* ptr, VALUE obj) ) {
44
+ // noop
55
45
  }
56
46
 
57
47
 
@@ -0,0 +1,129 @@
1
+ /* -----------------------------------------------------------------------------
2
+ * This section contains generic SWIG labels for method/variable
3
+ * declarations/attributes, and other compiler dependent labels.
4
+ * ----------------------------------------------------------------------------- */
5
+
6
+ /* template workaround for compilers that cannot correctly implement the C++ standard */
7
+ #ifndef SWIGTEMPLATEDISAMBIGUATOR
8
+ # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
9
+ # define SWIGTEMPLATEDISAMBIGUATOR template
10
+ # elif defined(__HP_aCC)
11
+ /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
12
+ /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
13
+ # define SWIGTEMPLATEDISAMBIGUATOR template
14
+ # else
15
+ # define SWIGTEMPLATEDISAMBIGUATOR
16
+ # endif
17
+ #endif
18
+
19
+ /* inline attribute */
20
+ #ifndef SWIGINLINE
21
+ # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
22
+ # define SWIGINLINE inline
23
+ # else
24
+ # define SWIGINLINE
25
+ # endif
26
+ #endif
27
+
28
+ /* attribute recognised by some compilers to avoid 'unused' warnings */
29
+ #ifndef SWIGUNUSED
30
+ # if defined(__GNUC__)
31
+ # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
32
+ # define SWIGUNUSED __attribute__ ((__unused__))
33
+ # else
34
+ # define SWIGUNUSED
35
+ # endif
36
+ # elif defined(__ICC)
37
+ # define SWIGUNUSED __attribute__ ((__unused__))
38
+ # else
39
+ # define SWIGUNUSED
40
+ # endif
41
+ #endif
42
+
43
+ #ifndef SWIG_MSC_UNSUPPRESS_4505
44
+ # if defined(_MSC_VER)
45
+ # pragma warning(disable : 4505) /* unreferenced local function has been removed */
46
+ # endif
47
+ #endif
48
+
49
+ #ifndef SWIGUNUSEDPARM
50
+ # ifdef __cplusplus
51
+ # define SWIGUNUSEDPARM(p)
52
+ # else
53
+ # define SWIGUNUSEDPARM(p) p SWIGUNUSED
54
+ # endif
55
+ #endif
56
+
57
+ /* internal SWIG method */
58
+ #ifndef SWIGINTERN
59
+ # define SWIGINTERN static SWIGUNUSED
60
+ #endif
61
+
62
+ /* internal inline SWIG method */
63
+ #ifndef SWIGINTERNINLINE
64
+ # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
65
+ #endif
66
+
67
+ /* exporting methods */
68
+ #if defined(__GNUC__)
69
+ # if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
70
+ # ifndef GCC_HASCLASSVISIBILITY
71
+ # define GCC_HASCLASSVISIBILITY
72
+ # endif
73
+ # endif
74
+ #endif
75
+
76
+ #ifndef SWIGEXPORT
77
+ # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
78
+ # if defined(STATIC_LINKED)
79
+ # define SWIGEXPORT
80
+ # else
81
+ # define SWIGEXPORT __declspec(dllexport)
82
+ # endif
83
+ # else
84
+ # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
85
+ # define SWIGEXPORT __attribute__ ((visibility("default")))
86
+ # else
87
+ # define SWIGEXPORT
88
+ # endif
89
+ # endif
90
+ #endif
91
+
92
+ /* calling conventions for Windows */
93
+ #ifndef SWIGSTDCALL
94
+ # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
95
+ # define SWIGSTDCALL __stdcall
96
+ # else
97
+ # define SWIGSTDCALL
98
+ # endif
99
+ #endif
100
+
101
+ /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
102
+ #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
103
+ # define _CRT_SECURE_NO_DEPRECATE
104
+ #endif
105
+
106
+ /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
107
+ #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
108
+ # define _SCL_SECURE_NO_DEPRECATE
109
+ #endif
110
+
111
+ /* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
112
+ #if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
113
+ # define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
114
+ #endif
115
+
116
+ /* Intel's compiler complains if a variable which was never initialised is
117
+ * cast to void, which is a common idiom which we use to indicate that we
118
+ * are aware a variable isn't used. So we just silence that warning.
119
+ * See: https://github.com/swig/swig/issues/192 for more discussion.
120
+ */
121
+ #ifdef __INTEL_COMPILER
122
+ # pragma warning disable 592
123
+ #endif
124
+
125
+ #if defined(__cplusplus) && __cplusplus >=201103L
126
+ # define SWIG_NOEXCEPT noexcept
127
+ #else
128
+ # define SWIG_NOEXCEPT throw()
129
+ #endif
@@ -12,7 +12,11 @@
12
12
 
13
13
  /* This should only be incremented when either the layout of swig_type_info changes,
14
14
  or for whatever reason, the runtime changes incompatibly */
15
+ #if SWIG_VERSION < 0x040400
15
16
  #define SWIG_RUNTIME_VERSION "4"
17
+ #else
18
+ #define SWIG_RUNTIME_VERSION "5"
19
+ #endif
16
20
 
17
21
  /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
18
22
  #ifdef SWIG_TYPE_TABLE
@@ -213,7 +217,11 @@ typedef struct WXRUBY_EXPORT swig_cast_info
213
217
  swig_type_info *type; /* pointer to type that is equivalent to this type */
214
218
  swig_converter_func converter; /* function to cast the void pointers */
215
219
  struct swig_cast_info *next; /* pointer to next cast in linked list */
220
+ #if SWIG_VERSION < 0x040400
216
221
  struct swig_cast_info *prev; /* pointer to the previous cast */
222
+ #else
223
+ unsigned int value; /* index of the last valid element in the array | typename hash value */
224
+ #endif
217
225
  } swig_cast_info;
218
226
 
219
227
  /* Structure used to store module information
@@ -256,6 +264,13 @@ SWIG_TypeEquiv(const char *nb, const char *tb) {
256
264
  return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
257
265
  }
258
266
 
267
+ #if SWIG_VERSION >= 0x040400
268
+ /*
269
+ * Hash function for type name strings, based on maRushPrime1Hash (http://amsoftware.narod.ru/algo2.html)
270
+ */
271
+ WXRUBY_EXPORT unsigned int SWIG_Hash(const char *str, unsigned int len);
272
+ #endif
273
+
259
274
  /*
260
275
  Check the typename
261
276
  */
@@ -126,6 +126,14 @@
126
126
  #endif
127
127
  #endif
128
128
 
129
+ #if SWIG_VERSION >= 0x040400
130
+ /*==== clear errors ====*/
131
+
132
+ #ifndef %error_clear
133
+ #define %error_clear
134
+ #endif
135
+ #endif
136
+
129
137
  /*==== director output exception ====*/
130
138
 
131
139
  /* wxRuby : make sure to pass the object and method that caused the failure */
@@ -143,15 +151,27 @@
143
151
  #define %error_block(Block...) %block(Block)
144
152
  #define %default_code(code) SWIG_ArgError(code)
145
153
  #define %argument_fail(code, type, name, argn) SWIG_exception_fail(%default_code(code), %argfail_fmt(type, name, argn))
154
+ #if SWIG_VERSION < 0x040400
146
155
  #define %argument_nullref(type, name, argn) SWIG_exception_fail(SWIG_ValueError, %argnullref_fmt(type, name, argn))
156
+ #else
157
+ #define %argument_nullref(type, name, argn) SWIG_exception_fail(SWIG_NullReferenceError, %argnullref_fmt(type, name, argn))
158
+ #endif
147
159
  #define %variable_fail(code, type, name) SWIG_exception_fail(%default_code(code), %varfail_fmt(type, name))
160
+ #if SWIG_VERSION < 0x040400
148
161
  #define %variable_nullref(type, name) SWIG_exception_fail(SWIG_ValueError, %varnullref_fmt(type, name))
162
+ #else
163
+ #define %variable_nullref(type, name) SWIG_exception_fail(SWIG_NullReferenceError, %varnullref_fmt(type, name))
164
+ #endif
149
165
  #define %releasenotowned_fail(code, type, name, argn) SWIG_exception_fail(%default_code(code), %releasenotownedfail_fmt(type, name, argn))
150
166
 
151
167
  /* wxRuby : make sure to pass the object and method that caused the failure */
152
168
  #if defined(SWIG_DIRECTOR_TYPEMAPS)
153
169
  #define %dirout_fail(code, type) SWIG_DirOutFail(swig_get_self(), "$symname", %default_code(code), %outfail_fmt(type))
170
+ #if SWIG_VERSION < 0x040400
154
171
  #define %dirout_nullref(type) SWIG_DirOutFail(swig_get_self(), "$symname", SWIG_ValueError, %outnullref_fmt(type))
172
+ #else
173
+ #define %dirout_nullref(type) SWIG_DirOutFail(swig_get_self(), "$symname", SWIG_NullReferenceError, %outnullref_fmt(type))
174
+ #endif
155
175
  #endif
156
176
 
157
177
  /* -----------------------------------------------------------------------------