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
@@ -17,6 +17,15 @@
17
17
 
18
18
  #include <wx/filesys.h>
19
19
  #include <wx/fs_zip.h>
20
+ #include <wx/utils.h>
21
+
22
+ #include <unordered_map>
23
+
24
+ WXRUBY_TRACE_GUARD(WxRubyTraceGCWrapEvents, "GC_WRAP_EVENTS")
25
+ WXRUBY_TRACE_GUARD(WxRubyTraceGCWrapObject, "GC_WRAP_OBJECT")
26
+
27
+ // SWIG and wxRuby3 custom tracking support
28
+ #include "wxruby-GCTracking.h"
20
29
  %}
21
30
 
22
31
  // Some common functions
@@ -75,63 +84,6 @@ WXRUBY_EXPORT swig_type_info* wxRuby_GetSwigTypeForClassName(const char* clsname
75
84
  return wxRuby_GetSwigTypeForClass(rb_const_get(wxRuby_Core(), rb_intern(clsname)));
76
85
  }
77
86
 
78
- // Overriding standard SWIG tracking - SWIG's implementation is not
79
- // compatible with ruby 1.8.7 / 1.9.x as it can allocate BigNum objects
80
- // during GC , which is an error. So instead we provide a C++ ptr->Ruby
81
- // object map using Wx's hashmap class.
82
- WX_DECLARE_VOIDPTR_HASH_MAP(VALUE,
83
- PtrToRbObjHash);
84
- PtrToRbObjHash Global_Ptr_Map;
85
-
86
- // Add a tracking from ptr -> object
87
- WXRUBY_EXPORT void wxRuby_AddTracking(void* ptr, VALUE object)
88
- {
89
- #ifdef __WXRB_DEBUG__
90
- if (wxRuby_TraceLevel()>1)
91
- {
92
- std::wcout << "> wxRuby_AddTracking" << std::flush;
93
- VALUE clsname = rb_mod_name(CLASS_OF(object));
94
- std::wcout << "("
95
- << ptr << ":{"
96
- << (clsname != Qnil ? StringValueCStr(clsname) : "<noname>")
97
- << "})" << std::endl;
98
- }
99
- #endif
100
- Global_Ptr_Map[ptr] = object;
101
- }
102
-
103
- // Return the ruby object for ptr
104
- WXRUBY_EXPORT VALUE wxRuby_FindTracking(void* ptr)
105
- {
106
- if ( Global_Ptr_Map.count(ptr) == 0 )
107
- return Qnil;
108
- else
109
- return Global_Ptr_Map[ptr];
110
- }
111
-
112
- // Remove the tracking for ptr
113
- WXRUBY_EXPORT void wxRuby_RemoveTracking(void* ptr)
114
- {
115
- #ifdef __WXRB_DEBUG__
116
- if (wxRuby_TraceLevel()>1)
117
- std::wcout << "< wxRuby_RemoveTracking(" << ptr << ")" << std::endl;
118
- #endif
119
- Global_Ptr_Map.erase(ptr);
120
- }
121
-
122
- // Iterate over all the trackings, calling the passed-in method on each
123
- WXRUBY_EXPORT void wxRuby_IterateTracking( void(*meth)(void* ptr, VALUE obj) )
124
- {
125
- PtrToRbObjHash::iterator it;
126
- for( it = Global_Ptr_Map.begin(); it != Global_Ptr_Map.end(); ++it )
127
- {
128
- void* ptr = it->first;
129
- VALUE obj = it->second;
130
- (*meth)(ptr, obj);
131
- }
132
- }
133
-
134
-
135
87
  // Returns a ruby object wrapped around a wxObject. This is used for
136
88
  // methods whose return type is a generic C++ class (eg wxWindow), but
137
89
  // whose return values are actually instances of specific C++ classes
@@ -152,12 +104,22 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxObjectInRuby(wxObject *wx_obj)
152
104
  {
153
105
  static WxRuby_ID window_id("Window");
154
106
 
107
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapObject, 2)
108
+ WXRUBY_TRACE("> wxRuby_WrapWxObjectInRuby(" << wx_obj << ")")
109
+ WXRUBY_TRACE_END
110
+
155
111
  // If no object was passed to be wrapped; this could be a normal state
156
112
  // (eg if get_sizer was called on a Window with no sizer set), or
157
113
  // could be an error, eg if calling get_window_by_id and no window
158
114
  // matched the id, or an error arose from incorrect XML syntax
159
115
  if ( ! wx_obj )
116
+ {
117
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapObject, 2)
118
+ WXRUBY_TRACE("< wxRuby_WrapWxObjectInRuby - returning nil")
119
+ WXRUBY_TRACE_END
120
+
160
121
  return Qnil;
122
+ }
161
123
 
162
124
  // Get the wx class and the ruby class we are converting into
163
125
  wxString class_name( wx_obj->GetClassInfo()->GetClassName() );
@@ -199,12 +161,20 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxObjectInRuby(wxObject *wx_obj)
199
161
  }
200
162
  else
201
163
  {
164
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapObject, 2)
165
+ WXRUBY_TRACE("< wxRuby_WrapWxObjectInRuby - returning nil for unsupported object " << wx_obj << "{" << (const char *)class_name.mb_str() << "}")
166
+ WXRUBY_TRACE_END
167
+
202
168
  rb_warn("Error wrapping object; class '%s' is not (yet) supported in wxRuby",
203
169
  (const char *)class_name.mb_str());
204
170
  return Qnil;
205
171
  }
206
172
  }
207
173
 
174
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapObject, 2)
175
+ WXRUBY_TRACE("< wxRuby_WrapWxObjectInRuby - returning wrapped object " << wx_obj << "{" << rb_class2name(r_class) << "}")
176
+ WXRUBY_TRACE_END
177
+
208
178
  // Otherwise, retrieve the swig type info for this class and wrap it
209
179
  // in Ruby. wxRuby_GetSwigTypeForClass is defined in wx.i
210
180
  swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(r_class);
@@ -224,6 +194,18 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxObjectInRuby(wxObject *wx_obj)
224
194
  static VALUE Evt_Type_Map = NULL;
225
195
  static VALUE WxRuby_cAsyncProcCallEvent = Qnil;
226
196
 
197
+ inline VALUE _get_ThreadEventClass()
198
+ {
199
+ static VALUE __cThreadEvent = Qnil;
200
+
201
+ if (RB_NIL_P(__cThreadEvent))
202
+ {
203
+ VALUE module = rb_const_get(wxRuby_Core(), rb_intern("RT"));
204
+ if (!RB_NIL_P(module)) __cThreadEvent = rb_const_get(module, rb_intern("ThreadEvent"));
205
+ }
206
+ return __cThreadEvent;
207
+ }
208
+
227
209
  #ifdef __WXRB_DEBUG__
228
210
  WXRUBY_EXPORT VALUE wxRuby_WrapWxEventInRuby(void* rcvr, wxEvent *wx_event)
229
211
  #else
@@ -236,10 +218,9 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxEventInRuby(wxEvent *wx_event)
236
218
  Evt_Type_Map = wxRuby_GetEventTypeClassMap ();
237
219
  }
238
220
 
239
- #if __WXRB_DEBUG__
240
- if (wxRuby_TraceLevel()>1)
241
- std::wcout << "* wxRuby_WrapWxEventInRuby(rcvr=" << rcvr << ", " << wx_event << ":{" << wx_event->GetEventType() << "@" << wx_event->GetEventObject() << "})" << std::endl;
242
- #endif
221
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapEvents, 2)
222
+ WXRUBY_TRACE("> wxRuby_WrapWxEventInRuby(rcvr=" << rcvr << ", " << wx_event << ":{" << wx_event->GetEventType() << "@" << wx_event->GetEventObject() << "})")
223
+ WXRUBY_TRACE_END
243
224
 
244
225
  VALUE rb_event_type_id = INT2NUM(wx_event->GetEventType());
245
226
  VALUE rb_event_class = Qnil;
@@ -280,9 +261,22 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxEventInRuby(wxEvent *wx_event)
280
261
  if ( rb_event != Qnil )
281
262
  {
282
263
  if (rb_obj_is_kind_of(rb_event, rb_event_class))
264
+ {
265
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapEvents, 2)
266
+ WXRUBY_TRACE_WITH(swig_type_info* type = wx_event->GetEventType() == wxEVT_ASYNC_METHOD_CALL ?
267
+ wxRuby_GetSwigTypeForClass(wxRuby_GetDefaultEventClass()) :
268
+ wxRuby_GetSwigTypeForClass(rb_event_class))
269
+ WXRUBY_TRACE("< wxRuby_WrapWxEventInRuby - returning tracked event " << wx_event << "{" << (type ? type->name : rb_class2name(rb_event_class)) << "} -> " << rb_event)
270
+ WXRUBY_TRACE_END
283
271
  return rb_event; // OK
272
+ }
284
273
  else
274
+ {
275
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapEvents, 2)
276
+ WXRUBY_TRACE("| wxRuby_WrapWxEventInRuby - removing tracking of stale object " << wx_event << " -> " << rb_event)
277
+ WXRUBY_TRACE_END
285
278
  SWIG_RubyRemoveTracking((void *)wx_event); // Remove stale ref
279
+ }
286
280
  }
287
281
 
288
282
  // No existing Ruby instance found, so a transitory event object; wrap
@@ -291,39 +285,45 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxEventInRuby(wxEvent *wx_event)
291
285
  DATA_PTR(rb_event) = wx_event;
292
286
  // do not forget to mark the instance with the mangled swig type name
293
287
  // (as there is no swig_type for the Wx::AsyncProcCallEvent class use it's base Wx::Event)
294
- swig_type_info* type = wx_event->GetEventType() == wxEVT_ASYNC_METHOD_CALL ?
295
- wxRuby_GetSwigTypeForClass(wxRuby_GetDefaultEventClass()) :
296
- wxRuby_GetSwigTypeForClass(rb_event_class);
297
- rb_iv_set(rb_event, "@__swigtype__", rb_str_new2(type->name));
298
-
299
- #if __WXRB_DEBUG__
300
- if (wxRuby_TraceLevel()>1)
301
- std::wcout << "* wxRuby_WrapWxEventInRuby - wrapped transitory event " << wx_event << "{" << type->name << "}" << std::endl;
302
- #endif
288
+ swig_type_info* type;
289
+ if (wx_event->GetEventType() == wxEVT_ASYNC_METHOD_CALL)
290
+ {
291
+ type = wxRuby_GetSwigTypeForClass(wxRuby_GetDefaultEventClass());
292
+ }
293
+ else
294
+ {
295
+ type = wxRuby_GetSwigTypeForClass(rb_event_class);
296
+ if (!type)
297
+ {
298
+ // could be derived ThreadEvent
299
+ VALUE klass = _get_ThreadEventClass();
300
+ if (!RB_NIL_P(klass) && rb_class_inherited_p(rb_event_class, klass))
301
+ {
302
+ type = wxRuby_GetSwigTypeForClass(klass);
303
+ }
304
+ }
305
+ }
306
+ // type should never be null but let's be paranoid
307
+ if (type) rb_iv_set(rb_event, "@__swigtype__", rb_str_new2(type->name));
308
+
309
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapEvents, 2)
310
+ WXRUBY_TRACE("< wxRuby_WrapWxEventInRuby - wrapped transitory event " << wx_event << "{" << (type ? type->name : rb_class2name(rb_event_class)) << "}")
311
+ WXRUBY_TRACE_END
303
312
 
304
313
  return rb_event;
305
314
  }
306
- %}
307
315
 
308
- %inline %{
309
- #ifdef __WXRB_DEBUG__
310
- int wxrb_trace_level = 0;
311
- #else
312
- const int wxrb_trace_level = 0;
313
- #endif
314
- %}
315
-
316
- %constant int wxWXWIDGETS_DEBUG_LEVEL = wxDEBUG_LEVEL;
317
-
318
- %{
319
- #ifdef __WXRB_DEBUG__
320
- WXRUBY_EXPORT int wxRuby_TraceLevel()
316
+ static VALUE wxruby_get_wx_prefix(int argc, VALUE *argv, VALUE self)
321
317
  {
322
- return wxrb_trace_level;
318
+ if ((argc < 0) || (argc > 0)) {
319
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); return Qnil;
320
+ }
321
+ return WXSTR_TO_RSTR(wxGetInstallPrefix());
323
322
  }
324
- #endif
325
323
  %}
326
324
 
325
+ %constant int wxWXWIDGETS_DEBUG_LEVEL = wxDEBUG_LEVEL;
326
+
327
327
  %include "mark_free_impl.i"
328
328
 
329
329
  %init %{
@@ -335,4 +335,6 @@ WXRUBY_EXPORT int wxRuby_TraceLevel()
335
335
 
336
336
  // This is needed so HtmlHelp can load docs from a zip file
337
337
  wxFileSystem::AddHandler(new wxArchiveFSHandler);
338
+
339
+ rb_define_module_function(mWxruby3, "get_wx_prefix", VALUEFUNC(wxruby_get_wx_prefix), -1);
338
340
  %}
@@ -0,0 +1,148 @@
1
+ #-------------------------------------------------------------------------
2
+ # This file is automatically generated by the WXRuby3 interface generator.
3
+ # Do not alter this file.
4
+ #-------------------------------------------------------------------------
5
+
6
+ class Wx::EvtHandler
7
+ # from wxAuiManagerEvent
8
+ self.register_event_type EventType[
9
+ 'evt_aui_pane_button', 0,
10
+ Wx::AUI::EVT_AUI_PANE_BUTTON,
11
+ Wx::AUI::AuiManagerEvent
12
+ ]
13
+ self.register_event_type EventType[
14
+ 'evt_aui_pane_close', 0,
15
+ Wx::AUI::EVT_AUI_PANE_CLOSE,
16
+ Wx::AUI::AuiManagerEvent
17
+ ]
18
+ self.register_event_type EventType[
19
+ 'evt_aui_pane_minimize', 0,
20
+ Wx::AUI::EVT_AUI_PANE_MINIMIZE,
21
+ Wx::AUI::AuiManagerEvent
22
+ ]
23
+ self.register_event_type EventType[
24
+ 'evt_aui_pane_maximize', 0,
25
+ Wx::AUI::EVT_AUI_PANE_MAXIMIZE,
26
+ Wx::AUI::AuiManagerEvent
27
+ ]
28
+ self.register_event_type EventType[
29
+ 'evt_aui_pane_restore', 0,
30
+ Wx::AUI::EVT_AUI_PANE_RESTORE,
31
+ Wx::AUI::AuiManagerEvent
32
+ ]
33
+ self.register_event_type EventType[
34
+ 'evt_aui_pane_activated', 0,
35
+ Wx::AUI::EVT_AUI_PANE_ACTIVATED,
36
+ Wx::AUI::AuiManagerEvent
37
+ ]
38
+ self.register_event_type EventType[
39
+ 'evt_aui_render', 0,
40
+ Wx::AUI::EVT_AUI_RENDER,
41
+ Wx::AUI::AuiManagerEvent
42
+ ]
43
+ # from wxAuiNotebookEvent
44
+ self.register_event_type EventType[
45
+ 'evt_auinotebook_page_close', 1,
46
+ Wx::AUI::EVT_AUINOTEBOOK_PAGE_CLOSE,
47
+ Wx::AUI::AuiNotebookEvent
48
+ ]
49
+ self.register_event_type EventType[
50
+ 'evt_auinotebook_page_closed', 1,
51
+ Wx::AUI::EVT_AUINOTEBOOK_PAGE_CLOSED,
52
+ Wx::AUI::AuiNotebookEvent
53
+ ]
54
+ self.register_event_type EventType[
55
+ 'evt_auinotebook_page_changed', 1,
56
+ Wx::AUI::EVT_AUINOTEBOOK_PAGE_CHANGED,
57
+ Wx::AUI::AuiNotebookEvent
58
+ ]
59
+ self.register_event_type EventType[
60
+ 'evt_auinotebook_page_changing', 1,
61
+ Wx::AUI::EVT_AUINOTEBOOK_PAGE_CHANGING,
62
+ Wx::AUI::AuiNotebookEvent
63
+ ]
64
+ self.register_event_type EventType[
65
+ 'evt_auinotebook_button', 1,
66
+ Wx::AUI::EVT_AUINOTEBOOK_BUTTON,
67
+ Wx::AUI::AuiNotebookEvent
68
+ ]
69
+ self.register_event_type EventType[
70
+ 'evt_auinotebook_begin_drag', 1,
71
+ Wx::AUI::EVT_AUINOTEBOOK_BEGIN_DRAG,
72
+ Wx::AUI::AuiNotebookEvent
73
+ ]
74
+ self.register_event_type EventType[
75
+ 'evt_auinotebook_end_drag', 1,
76
+ Wx::AUI::EVT_AUINOTEBOOK_END_DRAG,
77
+ Wx::AUI::AuiNotebookEvent
78
+ ]
79
+ self.register_event_type EventType[
80
+ 'evt_auinotebook_drag_motion', 1,
81
+ Wx::AUI::EVT_AUINOTEBOOK_DRAG_MOTION,
82
+ Wx::AUI::AuiNotebookEvent
83
+ ]
84
+ self.register_event_type EventType[
85
+ 'evt_auinotebook_allow_dnd', 1,
86
+ Wx::AUI::EVT_AUINOTEBOOK_ALLOW_DND,
87
+ Wx::AUI::AuiNotebookEvent
88
+ ]
89
+ self.register_event_type EventType[
90
+ 'evt_auinotebook_drag_done', 1,
91
+ Wx::AUI::EVT_AUINOTEBOOK_DRAG_DONE,
92
+ Wx::AUI::AuiNotebookEvent
93
+ ]
94
+ self.register_event_type EventType[
95
+ 'evt_auinotebook_tab_middle_down', 1,
96
+ Wx::AUI::EVT_AUINOTEBOOK_TAB_MIDDLE_DOWN,
97
+ Wx::AUI::AuiNotebookEvent
98
+ ]
99
+ self.register_event_type EventType[
100
+ 'evt_auinotebook_tab_middle_up', 1,
101
+ Wx::AUI::EVT_AUINOTEBOOK_TAB_MIDDLE_UP,
102
+ Wx::AUI::AuiNotebookEvent
103
+ ]
104
+ self.register_event_type EventType[
105
+ 'evt_auinotebook_tab_right_down', 1,
106
+ Wx::AUI::EVT_AUINOTEBOOK_TAB_RIGHT_DOWN,
107
+ Wx::AUI::AuiNotebookEvent
108
+ ]
109
+ self.register_event_type EventType[
110
+ 'evt_auinotebook_tab_right_up', 1,
111
+ Wx::AUI::EVT_AUINOTEBOOK_TAB_RIGHT_UP,
112
+ Wx::AUI::AuiNotebookEvent
113
+ ]
114
+ self.register_event_type EventType[
115
+ 'evt_auinotebook_bg_dclick', 1,
116
+ Wx::AUI::EVT_AUINOTEBOOK_BG_DCLICK,
117
+ Wx::AUI::AuiNotebookEvent
118
+ ]
119
+ # from wxAuiToolBarEvent
120
+ # from wxAuiManager
121
+ # from wxAuiNotebook
122
+ # from wxAuiToolBar
123
+ self.register_event_type EventType[
124
+ 'evt_auitoolbar_tool_dropdown', 1,
125
+ Wx::AUI::EVT_AUITOOLBAR_TOOL_DROPDOWN,
126
+ Wx::AUI::AuiToolBarEvent
127
+ ]
128
+ self.register_event_type EventType[
129
+ 'evt_auitoolbar_overflow_click', 1,
130
+ Wx::AUI::EVT_AUITOOLBAR_OVERFLOW_CLICK,
131
+ Wx::AUI::AuiToolBarEvent
132
+ ]
133
+ self.register_event_type EventType[
134
+ 'evt_auitoolbar_right_click', 1,
135
+ Wx::AUI::EVT_AUITOOLBAR_RIGHT_CLICK,
136
+ Wx::AUI::AuiToolBarEvent
137
+ ]
138
+ self.register_event_type EventType[
139
+ 'evt_auitoolbar_middle_click', 1,
140
+ Wx::AUI::EVT_AUITOOLBAR_MIDDLE_CLICK,
141
+ Wx::AUI::AuiToolBarEvent
142
+ ]
143
+ self.register_event_type EventType[
144
+ 'evt_auitoolbar_begin_drag', 1,
145
+ Wx::AUI::EVT_AUITOOLBAR_BEGIN_DRAG,
146
+ Wx::AUI::AuiToolBarEvent
147
+ ]
148
+ end
@@ -9,4 +9,3 @@ require_relative './events/evt_list'
9
9
  require_relative './auimanager'
10
10
  require_relative './auinotebook'
11
11
  require_relative './auifloatframe'
12
- require_relative './aui_tab_ctrl'
@@ -0,0 +1,15 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+ #
5
+ # Some parts are
6
+ # Copyright 2004-2007, wxRuby development team
7
+ # released under the MIT-like wxRuby2 license
8
+
9
+ module Wx
10
+
11
+ if PLATFORM == 'WXOSX'
12
+ GenericCalendarCtrl = CalendarCtrl
13
+ end
14
+
15
+ end
@@ -32,32 +32,28 @@ class Wx::Clipboard
32
32
  ensure
33
33
  clip.close if clip
34
34
  end
35
- end
36
-
37
- # Need to do some internal record-keeping to protect data objects on
38
- # the clipboard from garbage collection
39
- @@__clip_data = []
40
35
 
41
- # These methods affect the clipboard contents; each time, update the
42
- # record with the changed data contents
43
- wx_add_data = instance_method(:add_data)
44
- wx_redefine_method(:add_data) do | the_data |
45
- @@__clip_data << the_data
46
- wx_add_data.bind(self).call(the_data)
36
+ # Need to do some internal record-keeping to protect data objects on
37
+ # the clipboard from garbage collection
38
+ def cache_data(data)
39
+ @data_cache = data
40
+ end
47
41
  end
48
42
 
49
43
  wx_clear = instance_method(:clear)
50
44
  wx_redefine_method(:clear) do
51
45
  wx_clear.bind(self).call
52
- @@__clip_data.clear
46
+ self.class.cache_data(nil)
53
47
  end
54
48
 
55
49
  wx_set_data = instance_method(:set_data)
56
50
  wx_redefine_method(:set_data) do | the_data |
57
- @@__clip_data = [ the_data ]
51
+ self.class.cache_data(the_data)
58
52
  wx_set_data.bind(self).call(the_data)
59
53
  end
60
54
 
55
+ alias :add_data :set_data
56
+
61
57
  # Aliases, more clearly expressive?
62
58
  alias :place :set_data
63
59
  alias :fetch :get_data
@@ -638,7 +638,7 @@ module Wx
638
638
  def set_expand_env_vars(flag)
639
639
  @expand_env_vars = !!flag
640
640
  end
641
- alias :expand_env_vars :set_expand_env_vars
641
+ alias :expand_env_vars= :set_expand_env_vars
642
642
 
643
643
  def get_group_at(segments, create_missing_groups: false, is_pruned: false)
644
644
  unless is_pruned
data/lib/wx/core/const.rb CHANGED
@@ -23,7 +23,6 @@ module Wx
23
23
  FRAME_NAME_STR = 'frame'
24
24
  STATUS_LINE_NAME_STR = 'status_line'
25
25
  STATIC_BITMAP_NAME_STR = 'staticBitmap'
26
- WEB_VIEW_NAME_STR = 'wxWebView'
27
26
  ANIMATION_CTRL_NAME_STR = 'animationctrl'
28
27
  TOOL_BAR_NAME_STR = 'toolbar'
29
28
  TEXT_CTRL_NAME_STR = 'text'
@@ -0,0 +1,17 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+ module Wx
6
+
7
+ class << self
8
+
9
+ define_method :ContextHelp do |window = nil|
10
+
11
+ context_help(window)
12
+
13
+ end
14
+
15
+ end
16
+
17
+ end
@@ -24,6 +24,7 @@ module Wx
24
24
 
25
25
  wx_set_cursor = instance_method :set_cursor
26
26
  wx_redefine_method :set_cursor do |cursor|
27
+ cursor = Wx::Cursor.new(cursor) if cursor.is_a?(Wx::StockCursor)
27
28
  wx_set_cursor.bind(self).call(cursor.is_a?(Wx::Cursor) ? Wx::CursorBundle.new(cursor) : cursor)
28
29
  end
29
30
  end