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,434 @@
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
+ template <class T, class Base = T>
8
+ class WxRubySharedPtr;
9
+ #endif
10
+
11
+ %header %{
12
+ #include <wxruby-SharedPtr.h>
13
+ %}
14
+
15
+ // Main user macro for defining shared_ptr typemaps for both const and non-const pointer types
16
+ %define %wx_ruby_shared_ptr(TYPE, BASE)
17
+ %feature("smartptr", noblock=1) TYPE { WxRubySharedPtr< TYPE, BASE > }
18
+ SWIG_WXRUBY_SHARED_PTR_TYPEMAPS(, TYPE, BASE)
19
+ SWIG_WXRUBY_SHARED_PTR_TYPEMAPS(const, TYPE, BASE)
20
+ %enddef
21
+
22
+ %{
23
+ #ifdef __cplusplus
24
+ #ifndef SWIG_STD_MOVE
25
+ #if __cplusplus >=201103L
26
+ # define SWIG_STD_MOVE(OBJ) std::move(OBJ)
27
+ #else
28
+ # define SWIG_STD_MOVE(OBJ) OBJ
29
+ #endif
30
+ #endif
31
+ #endif
32
+ %}
33
+
34
+ %{
35
+ // Set WXSHARED_PTR_DISOWN to $disown if required, for example
36
+ // #define WXSHARED_PTR_DISOWN $disown
37
+ #if !defined(WXSHARED_PTR_DISOWN)
38
+ #define WXSHARED_PTR_DISOWN 0
39
+ #endif
40
+ %}
41
+
42
+ // Macro implementing all the customisations for handling the smart pointer
43
+ %define SWIG_WXRUBY_SHARED_PTR_TYPEMAPS(CONST, TYPE, BASE)
44
+
45
+ // %naturalvar is as documented for member variables
46
+ %naturalvar TYPE;
47
+ %naturalvar WxRubySharedPtr< CONST TYPE, CONST BASE >;
48
+
49
+ // destructor wrapper customisation
50
+ %feature("unref") TYPE
51
+ %{(void)arg1;
52
+ delete reinterpret_cast< WxRubySharedPtr< TYPE, BASE > * >(self);%}
53
+
54
+ // Typemap customisations...
55
+
56
+ // plain value
57
+ %typemap(in) CONST TYPE (void *argp, int res = 0) {
58
+ swig_ruby_owntype newmem = {0, 0};
59
+ res = SWIG_ConvertPtrAndOwn($input, &argp, $descriptor(WxRubySharedPtr< TYPE, BASE > *), %convertptr_flags, &newmem);
60
+ if (!SWIG_IsOK(res)) {
61
+ %argument_fail(res, "$type", $symname, $argnum);
62
+ }
63
+ if (!argp) {
64
+ %argument_nullref("$type", $symname, $argnum);
65
+ } else {
66
+ $1 = *(%reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *)->get());
67
+ if (newmem.own & SWIG_CAST_NEW_MEMORY) delete %reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
68
+ }
69
+ }
70
+ %typemap(out) CONST TYPE {
71
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *smartresult = new WxRubySharedPtr< CONST TYPE, CONST BASE >(new $1_ltype($1));
72
+ %set_output(SWIG_NewPointerObj(%as_voidptr(smartresult), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN));
73
+ }
74
+
75
+ %typemap(varin) CONST TYPE {
76
+ void *argp = 0;
77
+ swig_ruby_owntype newmem = {0, 0};
78
+ int res = SWIG_ConvertPtrAndOwn($input, &argp, $descriptor(WxRubySharedPtr< TYPE, BASE > *), %convertptr_flags, &newmem);
79
+ if (!SWIG_IsOK(res)) {
80
+ %variable_fail(res, "$type", "$name");
81
+ }
82
+ if (!argp) {
83
+ %variable_nullref("$type", "$name");
84
+ } else {
85
+ $1 = *(%reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *)->get());
86
+ if (newmem.own & SWIG_CAST_NEW_MEMORY) delete %reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
87
+ }
88
+ }
89
+ %typemap(varout) CONST TYPE {
90
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *smartresult = new WxRubySharedPtr< CONST TYPE, CONST BASE >(new $1_ltype($1));
91
+ %set_varoutput(SWIG_NewPointerObj(%as_voidptr(smartresult), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN));
92
+ }
93
+
94
+ %typemap(directorin,noblock=1) CONST TYPE (WxRubySharedPtr< CONST TYPE, CONST BASE > *smartarg = 0) %{
95
+ smartarg = new WxRubySharedPtr< CONST TYPE, CONST BASE >(new $1_ltype(SWIG_STD_MOVE($1)));
96
+ $input = SWIG_NewPointerObj(%as_voidptr(smartarg), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN | %newpointer_flags);
97
+ %}
98
+ %typemap(directorout,noblock=1) CONST TYPE (void *swig_argp, int swig_res = 0) {
99
+ swig_ruby_owntype newmem = {0, 0};
100
+ swig_res = SWIG_ConvertPtrAndOwn($input, &swig_argp, $descriptor(WxRubySharedPtr< TYPE, BASE > *), %convertptr_flags, &newmem);
101
+ if (!SWIG_IsOK(swig_res)) {
102
+ %dirout_fail(swig_res, "$type");
103
+ }
104
+ if (!swig_argp) {
105
+ %dirout_nullref("$type");
106
+ } else {
107
+ $result = *(%reinterpret_cast(swig_argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *)->get());
108
+ if (newmem.own & SWIG_CAST_NEW_MEMORY) delete %reinterpret_cast(swig_argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
109
+ }
110
+ }
111
+
112
+ // plain pointer
113
+ // Note: $disown not implemented by default as it will lead to a memory leak of the shared_ptr instance
114
+ %typemap(in) CONST TYPE * (void *argp = 0, int res = 0, WxRubySharedPtr< CONST TYPE, CONST BASE > tempshared, WxRubySharedPtr< CONST TYPE, CONST BASE > *smartarg = 0) {
115
+ swig_ruby_owntype newmem = {0, 0};
116
+ res = SWIG_ConvertPtrAndOwn($input, &argp, $descriptor(WxRubySharedPtr< TYPE, BASE > *), WXSHARED_PTR_DISOWN | %convertptr_flags, &newmem);
117
+ if (!SWIG_IsOK(res)) {
118
+ %argument_fail(res, "$type", $symname, $argnum);
119
+ }
120
+ if (newmem.own & SWIG_CAST_NEW_MEMORY) {
121
+ tempshared = *%reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
122
+ delete %reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
123
+ $1 = %const_cast(tempshared.get(), $1_ltype);
124
+ } else {
125
+ smartarg = %reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
126
+ $1 = %const_cast((smartarg ? smartarg->get() : 0), $1_ltype);
127
+ }
128
+ }
129
+
130
+ %typemap(out, fragment="SWIG_null_deleter") CONST TYPE * {
131
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *smartresult = $1 ? new WxRubySharedPtr< CONST TYPE, CONST BASE >($1 SWIG_NO_NULL_DELETER_$owner) : 0;
132
+ %set_output(SWIG_NewPointerObj(%as_voidptr(smartresult), $descriptor(WxRubySharedPtr< TYPE, BASE > *), $owner | SWIG_POINTER_OWN));
133
+ }
134
+
135
+ %typemap(varin) CONST TYPE * {
136
+ void *argp = 0;
137
+ swig_ruby_owntype newmem = {0, 0};
138
+ int res = SWIG_ConvertPtrAndOwn($input, &argp, $descriptor(WxRubySharedPtr< TYPE, BASE > *), %convertptr_flags, &newmem);
139
+ if (!SWIG_IsOK(res)) {
140
+ %variable_fail(res, "$type", "$name");
141
+ }
142
+ WxRubySharedPtr< CONST TYPE, CONST BASE > tempshared;
143
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *smartarg = 0;
144
+ if (newmem.own & SWIG_CAST_NEW_MEMORY) {
145
+ tempshared = *%reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
146
+ delete %reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
147
+ $1 = %const_cast(tempshared.get(), $1_ltype);
148
+ } else {
149
+ smartarg = %reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
150
+ $1 = %const_cast((smartarg ? smartarg->get() : 0), $1_ltype);
151
+ }
152
+ }
153
+ %typemap(varout, fragment="SWIG_null_deleter") CONST TYPE * {
154
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *smartresult = $1 ? new WxRubySharedPtr< CONST TYPE, CONST BASE >($1 SWIG_NO_NULL_DELETER_0) : 0;
155
+ %set_varoutput(SWIG_NewPointerObj(%as_voidptr(smartresult), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN));
156
+ }
157
+
158
+ %typemap(directorin,noblock=1, fragment="SWIG_null_deleter") CONST TYPE * (WxRubySharedPtr< CONST TYPE, CONST BASE > *smartarg = 0) %{
159
+ smartarg = $1 ? new WxRubySharedPtr< CONST TYPE, CONST BASE >($1 SWIG_NO_NULL_DELETER_0) : 0;
160
+ $input = SWIG_NewPointerObj(%as_voidptr(smartarg), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN | %newpointer_flags);
161
+ %}
162
+ %typemap(directorout,noblock=1) CONST TYPE * %{
163
+ #error "directorout typemap for plain pointer not implemented"
164
+ %}
165
+
166
+ // plain reference
167
+ %typemap(in) CONST TYPE & (void *argp = 0, int res = 0, WxRubySharedPtr< CONST TYPE, CONST BASE > tempshared) {
168
+ swig_ruby_owntype newmem = {0, 0};
169
+ res = SWIG_ConvertPtrAndOwn($input, &argp, $descriptor(WxRubySharedPtr< TYPE, BASE > *), %convertptr_flags, &newmem);
170
+ if (!SWIG_IsOK(res)) {
171
+ %argument_fail(res, "$type", $symname, $argnum);
172
+ }
173
+ if (!argp) { %argument_nullref("$type", $symname, $argnum); }
174
+ if (newmem.own & SWIG_CAST_NEW_MEMORY) {
175
+ tempshared = *%reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
176
+ delete %reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
177
+ $1 = %const_cast(tempshared.get(), $1_ltype);
178
+ } else {
179
+ $1 = %const_cast(%reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *)->get(), $1_ltype);
180
+ }
181
+ }
182
+ %typemap(out, fragment="SWIG_null_deleter") CONST TYPE & {
183
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *smartresult = new WxRubySharedPtr< CONST TYPE, CONST BASE >($1 SWIG_NO_NULL_DELETER_$owner);
184
+ %set_output(SWIG_NewPointerObj(%as_voidptr(smartresult), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN));
185
+ }
186
+
187
+ %typemap(varin) CONST TYPE & {
188
+ void *argp = 0;
189
+ swig_ruby_owntype newmem = {0, 0};
190
+ int res = SWIG_ConvertPtrAndOwn($input, &argp, $descriptor(WxRubySharedPtr< TYPE, BASE > *), %convertptr_flags, &newmem);
191
+ if (!SWIG_IsOK(res)) {
192
+ %variable_fail(res, "$type", "$name");
193
+ }
194
+ WxRubySharedPtr< CONST TYPE, CONST BASE > tempshared;
195
+ if (!argp) {
196
+ %variable_nullref("$type", "$name");
197
+ }
198
+ if (newmem.own & SWIG_CAST_NEW_MEMORY) {
199
+ tempshared = *%reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
200
+ delete %reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
201
+ $1 = *%const_cast(tempshared.get(), $1_ltype);
202
+ } else {
203
+ $1 = *%const_cast(%reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *)->get(), $1_ltype);
204
+ }
205
+ }
206
+ %typemap(varout, fragment="SWIG_null_deleter") CONST TYPE & {
207
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *smartresult = new WxRubySharedPtr< CONST TYPE, CONST BASE >(&$1 SWIG_NO_NULL_DELETER_0);
208
+ %set_varoutput(SWIG_NewPointerObj(%as_voidptr(smartresult), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN));
209
+ }
210
+
211
+ %typemap(directorin,noblock=1, fragment="SWIG_null_deleter") CONST TYPE & (WxRubySharedPtr< CONST TYPE, CONST BASE > *smartarg = 0) %{
212
+ smartarg = new WxRubySharedPtr< CONST TYPE, CONST BASE >(&$1 SWIG_NO_NULL_DELETER_0);
213
+ $input = SWIG_NewPointerObj(%as_voidptr(smartarg), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN | %newpointer_flags);
214
+ %}
215
+ %typemap(directorout,noblock=1) CONST TYPE & %{
216
+ #error "directorout typemap for plain reference not implemented"
217
+ %}
218
+
219
+ // plain pointer by reference
220
+ // Note: $disown not implemented by default as it will lead to a memory leak of the shared_ptr instance
221
+ %typemap(in) TYPE *CONST& (void *argp = 0, int res = 0, $*1_ltype temp = 0, WxRubySharedPtr< CONST TYPE, CONST BASE > tempshared) {
222
+ swig_ruby_owntype newmem = {0, 0};
223
+ res = SWIG_ConvertPtrAndOwn($input, &argp, $descriptor(WxRubySharedPtr< TYPE, BASE > *), WXSHARED_PTR_DISOWN | %convertptr_flags, &newmem);
224
+ if (!SWIG_IsOK(res)) {
225
+ %argument_fail(res, "$type", $symname, $argnum);
226
+ }
227
+ if (newmem.own & SWIG_CAST_NEW_MEMORY) {
228
+ tempshared = *%reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
229
+ delete %reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *);
230
+ temp = %const_cast(tempshared.get(), $*1_ltype);
231
+ } else {
232
+ temp = %const_cast(%reinterpret_cast(argp, WxRubySharedPtr< CONST TYPE, CONST BASE > *)->get(), $*1_ltype);
233
+ }
234
+ $1 = &temp;
235
+ }
236
+ %typemap(out, fragment="SWIG_null_deleter") TYPE *CONST& {
237
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *smartresult = *$1 ? new WxRubySharedPtr< CONST TYPE, CONST BASE >(*$1 SWIG_NO_NULL_DELETER_$owner) : 0;
238
+ %set_output(SWIG_NewPointerObj(%as_voidptr(smartresult), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN));
239
+ }
240
+
241
+ %typemap(varin) TYPE *CONST& %{
242
+ #error "varin typemap not implemented"
243
+ %}
244
+ %typemap(varout) TYPE *CONST& %{
245
+ #error "varout typemap not implemented"
246
+ %}
247
+
248
+ %typemap(directorin,noblock=1, fragment="SWIG_null_deleter") TYPE *CONST& (WxRubySharedPtr< CONST TYPE, CONST BASE > *smartarg = 0) %{
249
+ smartarg = $1 ? new WxRubySharedPtr< CONST TYPE, CONST BASE >($1 SWIG_NO_NULL_DELETER_0) : 0;
250
+ $input = SWIG_NewPointerObj(%as_voidptr(smartarg), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN | %newpointer_flags);
251
+ %}
252
+ %typemap(directorout,noblock=1) TYPE *CONST& %{
253
+ #error "directorout typemap for plain pointer by reference not implemented"
254
+ %}
255
+
256
+ // shared_ptr by value
257
+ %typemap(in) WxRubySharedPtr< CONST TYPE, CONST BASE > (void *argp, int res = 0) {
258
+ swig_ruby_owntype newmem = {0, 0};
259
+ res = SWIG_ConvertPtrAndOwn($input, &argp, $descriptor(WxRubySharedPtr< TYPE, BASE > *), %convertptr_flags, &newmem);
260
+ if (!SWIG_IsOK(res)) {
261
+ %argument_fail(res, "$type", $symname, $argnum);
262
+ }
263
+ if (argp) $1 = *(%reinterpret_cast(argp, $&ltype));
264
+ if (newmem.own & SWIG_CAST_NEW_MEMORY) delete %reinterpret_cast(argp, $&ltype);
265
+ }
266
+ %typemap(out) WxRubySharedPtr< CONST TYPE, CONST BASE > {
267
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *smartresult = $1 ? new WxRubySharedPtr< CONST TYPE, CONST BASE >($1) : 0;
268
+ %set_output(SWIG_NewPointerObj(%as_voidptr(smartresult), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN));
269
+ }
270
+
271
+ %typemap(varin) WxRubySharedPtr< CONST TYPE, CONST BASE > {
272
+ swig_ruby_owntype newmem = {0, 0};
273
+ void *argp = 0;
274
+ int res = SWIG_ConvertPtrAndOwn($input, &argp, $descriptor(WxRubySharedPtr< TYPE, BASE > *), %convertptr_flags, &newmem);
275
+ if (!SWIG_IsOK(res)) {
276
+ %variable_fail(res, "$type", "$name");
277
+ }
278
+ $1 = argp ? *(%reinterpret_cast(argp, $&ltype)) : WxRubySharedPtr< TYPE, BASE >();
279
+ if (newmem.own & SWIG_CAST_NEW_MEMORY) delete %reinterpret_cast(argp, $&ltype);
280
+ }
281
+ %typemap(varout) WxRubySharedPtr< CONST TYPE, CONST BASE > {
282
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *smartresult = $1 ? new WxRubySharedPtr< CONST TYPE, CONST BASE >($1) : 0;
283
+ %set_varoutput(SWIG_NewPointerObj(%as_voidptr(smartresult), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN));
284
+ }
285
+
286
+ %typemap(directorin,noblock=1) WxRubySharedPtr< CONST TYPE, CONST BASE > (WxRubySharedPtr< CONST TYPE, CONST BASE > *smartarg = 0) %{
287
+ smartarg = $1 ? new WxRubySharedPtr< CONST TYPE, CONST BASE >($1) : 0;
288
+ $input = SWIG_NewPointerObj(%as_voidptr(smartarg), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN | %newpointer_flags);
289
+ %}
290
+ %typemap(directorout,noblock=1) WxRubySharedPtr< CONST TYPE, CONST BASE > (void *swig_argp, int swig_res = 0) {
291
+ swig_ruby_owntype newmem = {0, 0};
292
+ swig_res = SWIG_ConvertPtrAndOwn($input, &swig_argp, $descriptor(WxRubySharedPtr< TYPE, BASE > *), %convertptr_flags, &newmem);
293
+ if (!SWIG_IsOK(swig_res)) {
294
+ %dirout_fail(swig_res, "$type");
295
+ }
296
+ if (swig_argp) {
297
+ $result = *(%reinterpret_cast(swig_argp, $&ltype));
298
+ if (newmem.own & SWIG_CAST_NEW_MEMORY) delete %reinterpret_cast(swig_argp, $&ltype);
299
+ }
300
+ }
301
+
302
+ // shared_ptr by reference
303
+ %typemap(in) WxRubySharedPtr< CONST TYPE, CONST BASE > & (void *argp, int res = 0, $*1_ltype tempshared) {
304
+ swig_ruby_owntype newmem = {0, 0};
305
+ res = SWIG_ConvertPtrAndOwn($input, &argp, $descriptor(WxRubySharedPtr< TYPE, BASE > *), %convertptr_flags, &newmem);
306
+ if (!SWIG_IsOK(res)) {
307
+ %argument_fail(res, "$type", $symname, $argnum);
308
+ }
309
+ if (newmem.own & SWIG_CAST_NEW_MEMORY) {
310
+ if (argp) tempshared = *%reinterpret_cast(argp, $ltype);
311
+ delete %reinterpret_cast(argp, $ltype);
312
+ $1 = &tempshared;
313
+ } else {
314
+ $1 = (argp) ? %reinterpret_cast(argp, $ltype) : &tempshared;
315
+ }
316
+ }
317
+ %typemap(out) WxRubySharedPtr< CONST TYPE, CONST BASE > & {
318
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *smartresult = *$1 ? new WxRubySharedPtr< CONST TYPE, CONST BASE >(*$1) : 0;
319
+ %set_output(SWIG_NewPointerObj(%as_voidptr(smartresult), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN));
320
+ }
321
+
322
+ %typemap(varin) WxRubySharedPtr< CONST TYPE, CONST BASE > & %{
323
+ #error "varin typemap not implemented"
324
+ %}
325
+ %typemap(varout) WxRubySharedPtr< CONST TYPE, CONST BASE > & %{
326
+ #error "varout typemap not implemented"
327
+ %}
328
+
329
+ %typemap(directorin,noblock=1) WxRubySharedPtr< CONST TYPE, CONST BASE > & (WxRubySharedPtr< CONST TYPE, CONST BASE > *smartarg = 0) %{
330
+ smartarg = $1 ? new WxRubySharedPtr< CONST TYPE, CONST BASE >($1) : 0;
331
+ $input = SWIG_NewPointerObj(%as_voidptr(smartarg), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN | %newpointer_flags);
332
+ %}
333
+ %typemap(directorout,noblock=1) WxRubySharedPtr< CONST TYPE, CONST BASE > & %{
334
+ #error "directorout typemap for shared_ptr ref not implemented"
335
+ %}
336
+
337
+ // shared_ptr by pointer
338
+ %typemap(in) WxRubySharedPtr< CONST TYPE, CONST BASE > * (void *argp, int res = 0, $*1_ltype tempshared) {
339
+ swig_ruby_owntype newmem = {0, 0};
340
+ res = SWIG_ConvertPtrAndOwn($input, &argp, $descriptor(WxRubySharedPtr< TYPE, BASE > *), %convertptr_flags, &newmem);
341
+ if (!SWIG_IsOK(res)) {
342
+ %argument_fail(res, "$type", $symname, $argnum);
343
+ }
344
+ if (newmem.own & SWIG_CAST_NEW_MEMORY) {
345
+ if (argp) tempshared = *%reinterpret_cast(argp, $ltype);
346
+ delete %reinterpret_cast(argp, $ltype);
347
+ $1 = &tempshared;
348
+ } else {
349
+ $1 = (argp) ? %reinterpret_cast(argp, $ltype) : &tempshared;
350
+ }
351
+ }
352
+ %typemap(out) WxRubySharedPtr< CONST TYPE, CONST BASE > * {
353
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *smartresult = ($1 && *$1) ? new WxRubySharedPtr< CONST TYPE, CONST BASE >(*$1) : 0;
354
+ %set_output(SWIG_NewPointerObj(%as_voidptr(smartresult), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN));
355
+ if ($owner) delete $1;
356
+ }
357
+
358
+ %typemap(varin) WxRubySharedPtr< CONST TYPE, CONST BASE > * %{
359
+ #error "varin typemap not implemented"
360
+ %}
361
+ %typemap(varout) WxRubySharedPtr< CONST TYPE, CONST BASE > * %{
362
+ #error "varout typemap not implemented"
363
+ %}
364
+
365
+ %typemap(directorin,noblock=1) WxRubySharedPtr< CONST TYPE, CONST BASE > * (WxRubySharedPtr< CONST TYPE, CONST BASE > *smartarg = 0) %{
366
+ smartarg = ($1 && *$1) ? new WxRubySharedPtr< CONST TYPE, CONST BASE >(*$1) : 0;
367
+ $input = SWIG_NewPointerObj(%as_voidptr(smartarg), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN | %newpointer_flags);
368
+ %}
369
+ %typemap(directorout,noblock=1) WxRubySharedPtr< CONST TYPE, CONST BASE > * %{
370
+ #error "directorout typemap for pointer to shared_ptr not implemented"
371
+ %}
372
+
373
+ // shared_ptr by pointer reference
374
+ %typemap(in) WxRubySharedPtr< CONST TYPE, CONST BASE > *& (void *argp, int res = 0, WxRubySharedPtr< CONST TYPE, CONST BASE > tempshared, $*1_ltype temp = 0) {
375
+ swig_ruby_owntype newmem = {0, 0};
376
+ res = SWIG_ConvertPtrAndOwn($input, &argp, $descriptor(WxRubySharedPtr< TYPE, BASE > *), %convertptr_flags, &newmem);
377
+ if (!SWIG_IsOK(res)) {
378
+ %argument_fail(res, "$type", $symname, $argnum);
379
+ }
380
+ if (argp) tempshared = *%reinterpret_cast(argp, $*ltype);
381
+ if (newmem.own & SWIG_CAST_NEW_MEMORY) delete %reinterpret_cast(argp, $*ltype);
382
+ temp = &tempshared;
383
+ $1 = &temp;
384
+ }
385
+ %typemap(out) WxRubySharedPtr< CONST TYPE, CONST BASE > *& {
386
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *smartresult = (*$1 && **$1) ? new WxRubySharedPtr< CONST TYPE, CONST BASE >(**$1) : 0;
387
+ %set_output(SWIG_NewPointerObj(%as_voidptr(smartresult), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN));
388
+ }
389
+
390
+ %typemap(varin) WxRubySharedPtr< CONST TYPE, CONST BASE > *& %{
391
+ #error "varin typemap not implemented"
392
+ %}
393
+ %typemap(varout) WxRubySharedPtr< CONST TYPE, CONST BASE > *& %{
394
+ #error "varout typemap not implemented"
395
+ %}
396
+
397
+ %typemap(directorin,noblock=1) WxRubySharedPtr< CONST TYPE, CONST BASE > *& (WxRubySharedPtr< CONST TYPE, CONST BASE > *smartarg = 0) %{
398
+ smartarg = ($1 && *$1) ? new WxRubySharedPtr< CONST TYPE, CONST BASE >(*$1) : 0;
399
+ $input = SWIG_NewPointerObj(%as_voidptr(smartarg), $descriptor(WxRubySharedPtr< TYPE, BASE > *), SWIG_POINTER_OWN | %newpointer_flags);
400
+ %}
401
+ %typemap(directorout,noblock=1) WxRubySharedPtr< CONST TYPE, CONST BASE > *& %{
402
+ #error "directorout typemap for pointer ref to shared_ptr not implemented"
403
+ %}
404
+
405
+ // Typecheck typemaps
406
+ // Note: SWIG_ConvertPtr with void ** parameter set to 0 instead of using SWIG_ConvertPtrAndOwn, so that the casting
407
+ // function is not called thereby avoiding a possible smart pointer copy constructor call when casting up the inheritance chain.
408
+ %typemap(typecheck, precedence=SWIG_TYPECHECK_POINTER, equivalent="TYPE *", noblock=1)
409
+ TYPE CONST,
410
+ TYPE CONST &,
411
+ TYPE CONST *,
412
+ TYPE *CONST&,
413
+ WxRubySharedPtr< CONST TYPE, CONST BASE >,
414
+ WxRubySharedPtr< CONST TYPE, CONST BASE > &,
415
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *,
416
+ WxRubySharedPtr< CONST TYPE, CONST BASE > *& {
417
+ int res = SWIG_ConvertPtr($input, 0, $descriptor(WxRubySharedPtr< TYPE, BASE > *), 0);
418
+ $1 = SWIG_CheckState(res);
419
+ }
420
+
421
+
422
+ // various missing typemaps - If ever used (unlikely) ensure compilation error rather than runtime bug
423
+ %typemap(in) CONST TYPE[], CONST TYPE[ANY], CONST TYPE (CLASS::*) %{
424
+ #error "typemaps for $1_type not available"
425
+ %}
426
+ %typemap(out) CONST TYPE[], CONST TYPE[ANY], CONST TYPE (CLASS::*) %{
427
+ #error "typemaps for $1_type not available"
428
+ %}
429
+
430
+
431
+ %template() WxRubySharedPtr< CONST TYPE, CONST BASE >;
432
+
433
+
434
+ %enddef