wxruby3 1.6.1 → 1.7.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 (530) hide show
  1. checksums.yaml +4 -4
  2. data/CREDITS.md +32 -25
  3. data/INSTALL.md +19 -4
  4. data/README.md +5 -5
  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 +58 -45
  8. data/ext/wxruby3/include/wxruby-runtime.h +78 -1
  9. data/ext/wxruby3/swig/common.i +2 -2
  10. data/ext/wxruby3/swig/custom/director.swg +2 -2
  11. data/ext/wxruby3/swig/custom/rubyprimtypes.swg +59 -15
  12. data/ext/wxruby3/swig/custom/rubyrun.swg +4 -0
  13. data/ext/wxruby3/swig/custom/rubytracking.swg +4 -0
  14. data/ext/wxruby3/swig/custom/swiglabels.swg +129 -0
  15. data/ext/wxruby3/swig/custom/swigrun.swg +15 -0
  16. data/ext/wxruby3/swig/custom/typemaps/swigtypemaps.swg +20 -0
  17. data/ext/wxruby3/swig/mark_free_impl.i +152 -88
  18. data/ext/wxruby3/swig/memory_management.i +1 -0
  19. data/ext/wxruby3/swig/wx.i +73 -44
  20. data/lib/wx/aui/events/evt_list.rb +148 -0
  21. data/lib/wx/aui/require.rb +0 -1
  22. data/lib/wx/core/calendar_ctrl.rb +15 -0
  23. data/lib/wx/core/clipboard.rb +9 -13
  24. data/lib/wx/core/config.rb +1 -1
  25. data/lib/wx/core/events/evt_list.rb +1458 -0
  26. data/lib/wx/core/font/encoding.rb +113 -0
  27. data/lib/wx/core/generic_validator.rb +83 -31
  28. data/lib/wx/core/tipwindow.rb +16 -0
  29. data/lib/wx/doc/aui/auitabctrl.rb +35 -0
  30. data/lib/wx/doc/config.rb +2 -2
  31. data/lib/wx/doc/functions.rb +1 -1
  32. data/lib/wx/doc/gen/about_dialog_info.rb +330 -0
  33. data/lib/wx/doc/gen/accelerator.rb +178 -0
  34. data/lib/wx/doc/gen/activity_indicator.rb +83 -0
  35. data/lib/wx/doc/gen/affine_matrix2d.rb +284 -0
  36. data/lib/wx/doc/gen/animation.rb +275 -0
  37. data/lib/wx/doc/gen/animation_ctrl.rb +300 -0
  38. data/lib/wx/doc/gen/any_button.rb +191 -0
  39. data/lib/wx/doc/gen/app.rb +463 -0
  40. data/lib/wx/doc/gen/app_traits.rb +396 -0
  41. data/lib/wx/doc/gen/art_provider.rb +605 -0
  42. data/lib/wx/doc/gen/aui/aui_dock_art.rb +455 -0
  43. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +54 -0
  44. data/lib/wx/doc/gen/aui/aui_manager.rb +847 -0
  45. data/lib/wx/doc/gen/aui/aui_manager_event.rb +131 -0
  46. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +180 -0
  47. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +59 -0
  48. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +130 -0
  49. data/lib/wx/doc/gen/aui/aui_notebook.rb +631 -0
  50. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +233 -0
  51. data/lib/wx/doc/gen/aui/aui_pane_info.rb +769 -0
  52. data/lib/wx/doc/gen/aui/aui_tab_art.rb +352 -0
  53. data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +14 -0
  54. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +510 -0
  55. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +340 -0
  56. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +244 -0
  57. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +257 -0
  58. data/lib/wx/doc/gen/aui/event_list.rb +179 -0
  59. data/lib/wx/doc/gen/banner_window.rb +124 -0
  60. data/lib/wx/doc/gen/bitmap.rb +731 -0
  61. data/lib/wx/doc/gen/bitmap_button.rb +123 -0
  62. data/lib/wx/doc/gen/bitmap_combo_box.rb +221 -0
  63. data/lib/wx/doc/gen/book_ctrl_base.rb +273 -0
  64. data/lib/wx/doc/gen/book_ctrl_event.rb +66 -0
  65. data/lib/wx/doc/gen/box_sizer.rb +85 -0
  66. data/lib/wx/doc/gen/brush.rb +251 -0
  67. data/lib/wx/doc/gen/busy_info.rb +157 -0
  68. data/lib/wx/doc/gen/button.rb +182 -0
  69. data/lib/wx/doc/gen/calculate_layout_event.rb +62 -0
  70. data/lib/wx/doc/gen/calendar_ctrl.rb +505 -0
  71. data/lib/wx/doc/gen/calendar_date_attr.rb +138 -0
  72. data/lib/wx/doc/gen/calendar_event.rb +147 -0
  73. data/lib/wx/doc/gen/caret.rb +97 -0
  74. data/lib/wx/doc/gen/check_box.rb +175 -0
  75. data/lib/wx/doc/gen/check_list_box.rb +121 -0
  76. data/lib/wx/doc/gen/choice.rb +175 -0
  77. data/lib/wx/doc/gen/choicebook.rb +116 -0
  78. data/lib/wx/doc/gen/client_dc.rb +43 -0
  79. data/lib/wx/doc/gen/clipboard.rb +144 -0
  80. data/lib/wx/doc/gen/collapsible_pane.rb +138 -0
  81. data/lib/wx/doc/gen/collapsible_pane_event.rb +46 -0
  82. data/lib/wx/doc/gen/colour.rb +333 -0
  83. data/lib/wx/doc/gen/colour_dialog.rb +190 -0
  84. data/lib/wx/doc/gen/colour_picker_ctrl.rb +110 -0
  85. data/lib/wx/doc/gen/colour_picker_event.rb +77 -0
  86. data/lib/wx/doc/gen/combo_box.rb +292 -0
  87. data/lib/wx/doc/gen/combo_ctrl.rb +662 -0
  88. data/lib/wx/doc/gen/command_link_button.rb +134 -0
  89. data/lib/wx/doc/gen/config_base.rb +10 -0
  90. data/lib/wx/doc/gen/context_help_button.rb +109 -0
  91. data/lib/wx/doc/gen/control.rb +277 -0
  92. data/lib/wx/doc/gen/control_with_items.rb +253 -0
  93. data/lib/wx/doc/gen/core.rb +45 -0
  94. data/lib/wx/doc/gen/credential_entry_dialog.rb +137 -0
  95. data/lib/wx/doc/gen/cursor.rb +193 -0
  96. data/lib/wx/doc/gen/data_format.rb +85 -0
  97. data/lib/wx/doc/gen/data_object.rb +436 -0
  98. data/lib/wx/doc/gen/data_object_simple_base.rb +10 -0
  99. data/lib/wx/doc/gen/date_event.rb +49 -0
  100. data/lib/wx/doc/gen/date_picker_ctrl.rb +161 -0
  101. data/lib/wx/doc/gen/dc.rb +1631 -0
  102. data/lib/wx/doc/gen/dc_overlay.rb +102 -0
  103. data/lib/wx/doc/gen/defs.rb +2802 -0
  104. data/lib/wx/doc/gen/dial_up_event.rb +45 -0
  105. data/lib/wx/doc/gen/dial_up_manager.rb +149 -0
  106. data/lib/wx/doc/gen/dialog.rb +541 -0
  107. data/lib/wx/doc/gen/dir_dialog.rb +164 -0
  108. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +90 -0
  109. data/lib/wx/doc/gen/dir_picker_ctrl.rb +125 -0
  110. data/lib/wx/doc/gen/display.rb +238 -0
  111. data/lib/wx/doc/gen/drag_drop.rb +299 -0
  112. data/lib/wx/doc/gen/drag_image.rb +116 -0
  113. data/lib/wx/doc/gen/editable_list_box.rb +109 -0
  114. data/lib/wx/doc/gen/event.rb +990 -0
  115. data/lib/wx/doc/gen/event_blocker.rb +50 -0
  116. data/lib/wx/doc/gen/event_filter.rb +92 -0
  117. data/lib/wx/doc/gen/event_list.rb +1644 -0
  118. data/lib/wx/doc/gen/events.rb +2809 -0
  119. data/lib/wx/doc/gen/evt_handler.rb +229 -0
  120. data/lib/wx/doc/gen/ext_help_controller.rb +109 -0
  121. data/lib/wx/doc/gen/file_ctrl.rb +231 -0
  122. data/lib/wx/doc/gen/file_ctrl_event.rb +83 -0
  123. data/lib/wx/doc/gen/file_dialog.rb +353 -0
  124. data/lib/wx/doc/gen/file_dialog_custom_control.rb +165 -0
  125. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +158 -0
  126. data/lib/wx/doc/gen/file_dir_picker_event.rb +100 -0
  127. data/lib/wx/doc/gen/file_picker_ctrl.rb +132 -0
  128. data/lib/wx/doc/gen/file_system.rb +232 -0
  129. data/lib/wx/doc/gen/find_dialog_event.rb +126 -0
  130. data/lib/wx/doc/gen/find_replace_data.rb +60 -0
  131. data/lib/wx/doc/gen/find_replace_dialog.rb +58 -0
  132. data/lib/wx/doc/gen/flex_grid_sizer.rb +199 -0
  133. data/lib/wx/doc/gen/font.rb +1379 -0
  134. data/lib/wx/doc/gen/font_data.rb +151 -0
  135. data/lib/wx/doc/gen/font_dialog.rb +88 -0
  136. data/lib/wx/doc/gen/font_picker_ctrl.rb +143 -0
  137. data/lib/wx/doc/gen/font_picker_event.rb +65 -0
  138. data/lib/wx/doc/gen/frame.rb +352 -0
  139. data/lib/wx/doc/gen/fs_file.rb +337 -0
  140. data/lib/wx/doc/gen/functions.rb +10 -0
  141. data/lib/wx/doc/gen/gauge.rb +157 -0
  142. data/lib/wx/doc/gen/gb_sizer_item.rb +68 -0
  143. data/lib/wx/doc/gen/gcdc.rb +46 -0
  144. data/lib/wx/doc/gen/gdi_common.rb +1271 -0
  145. data/lib/wx/doc/gen/gdi_object.rb +31 -0
  146. data/lib/wx/doc/gen/generic_about_dialog.rb +140 -0
  147. data/lib/wx/doc/gen/generic_dir_ctrl.rb +223 -0
  148. data/lib/wx/doc/gen/geometry.rb +661 -0
  149. data/lib/wx/doc/gen/graphics_context.rb +1184 -0
  150. data/lib/wx/doc/gen/graphics_object.rb +750 -0
  151. data/lib/wx/doc/gen/grid/event_list.rb +191 -0
  152. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +40 -0
  153. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +280 -0
  154. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +35 -0
  155. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +37 -0
  156. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +49 -0
  157. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +35 -0
  158. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +46 -0
  159. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +38 -0
  160. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +45 -0
  161. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +40 -0
  162. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +197 -0
  163. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +39 -0
  164. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +44 -0
  165. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +45 -0
  166. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +79 -0
  167. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +46 -0
  168. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +35 -0
  169. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +108 -0
  170. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +35 -0
  171. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +49 -0
  172. data/lib/wx/doc/gen/grid/grid_ctrl.rb +3002 -0
  173. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +95 -0
  174. data/lib/wx/doc/gen/grid/grid_event.rb +129 -0
  175. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +104 -0
  176. data/lib/wx/doc/gen/grid/grid_size_event.rb +85 -0
  177. data/lib/wx/doc/gen/grid/grid_string_table.rb +142 -0
  178. data/lib/wx/doc/gen/grid/grid_table_base.rb +317 -0
  179. data/lib/wx/doc/gen/grid/grid_table_message.rb +81 -0
  180. data/lib/wx/doc/gen/grid_bag_sizer.rb +323 -0
  181. data/lib/wx/doc/gen/grid_sizer.rb +195 -0
  182. data/lib/wx/doc/gen/gui_event_loop.rb +159 -0
  183. data/lib/wx/doc/gen/h_scrolled_window.rb +562 -0
  184. data/lib/wx/doc/gen/header_ctrl.rb +880 -0
  185. data/lib/wx/doc/gen/header_ctrl_event.rb +133 -0
  186. data/lib/wx/doc/gen/help_controller.rb +195 -0
  187. data/lib/wx/doc/gen/help_provider.rb +98 -0
  188. data/lib/wx/doc/gen/html/event_list.rb +38 -0
  189. data/lib/wx/doc/gen/html/html_cell.rb +536 -0
  190. data/lib/wx/doc/gen/html/html_cell_event.rb +69 -0
  191. data/lib/wx/doc/gen/html/html_data_object.rb +42 -0
  192. data/lib/wx/doc/gen/html/html_easy_printing.rb +203 -0
  193. data/lib/wx/doc/gen/html/html_help_controller.rb +340 -0
  194. data/lib/wx/doc/gen/html/html_help_data.rb +159 -0
  195. data/lib/wx/doc/gen/html/html_help_window.rb +258 -0
  196. data/lib/wx/doc/gen/html/html_link_event.rb +41 -0
  197. data/lib/wx/doc/gen/html/html_list_box.rb +346 -0
  198. data/lib/wx/doc/gen/html/html_printout.rb +109 -0
  199. data/lib/wx/doc/gen/html/html_window.rb +461 -0
  200. data/lib/wx/doc/gen/hyperlink_ctrl.rb +311 -0
  201. data/lib/wx/doc/gen/hyperlink_event.rb +44 -0
  202. data/lib/wx/doc/gen/icon.rb +267 -0
  203. data/lib/wx/doc/gen/icon_location.rb +40 -0
  204. data/lib/wx/doc/gen/image.rb +1371 -0
  205. data/lib/wx/doc/gen/image_list.rb +168 -0
  206. data/lib/wx/doc/gen/info_bar.rb +195 -0
  207. data/lib/wx/doc/gen/keyboard_state.rb +140 -0
  208. data/lib/wx/doc/gen/list_box.rb +304 -0
  209. data/lib/wx/doc/gen/list_ctrl.rb +1774 -0
  210. data/lib/wx/doc/gen/list_event.rb +208 -0
  211. data/lib/wx/doc/gen/listbook.rb +116 -0
  212. data/lib/wx/doc/gen/locale.rb +4293 -0
  213. data/lib/wx/doc/gen/log.rb +603 -0
  214. data/lib/wx/doc/gen/mdi_client_window.rb +47 -0
  215. data/lib/wx/doc/gen/mdi_frame.rb +324 -0
  216. data/lib/wx/doc/gen/media_ctrl.rb +269 -0
  217. data/lib/wx/doc/gen/media_event.rb +117 -0
  218. data/lib/wx/doc/gen/memory_dc.rb +174 -0
  219. data/lib/wx/doc/gen/menu.rb +509 -0
  220. data/lib/wx/doc/gen/menu_bar.rb +287 -0
  221. data/lib/wx/doc/gen/menu_item.rb +362 -0
  222. data/lib/wx/doc/gen/message_dialog.rb +238 -0
  223. data/lib/wx/doc/gen/mini_frame.rb +108 -0
  224. data/lib/wx/doc/gen/mirror_dc.rb +22 -0
  225. data/lib/wx/doc/gen/mouse_state.rb +150 -0
  226. data/lib/wx/doc/gen/multi_choice_dialog.rb +80 -0
  227. data/lib/wx/doc/gen/non_owned_window.rb +49 -0
  228. data/lib/wx/doc/gen/notebook.rb +278 -0
  229. data/lib/wx/doc/gen/num_validator.rb +37 -0
  230. data/lib/wx/doc/gen/number_entry_dialog.rb +93 -0
  231. data/lib/wx/doc/gen/object.rb +59 -0
  232. data/lib/wx/doc/gen/owner_drawn_combo_box.rb +395 -0
  233. data/lib/wx/doc/gen/paint_dc.rb +27 -0
  234. data/lib/wx/doc/gen/palette.rb +92 -0
  235. data/lib/wx/doc/gen/panel.rb +127 -0
  236. data/lib/wx/doc/gen/pen.rb +511 -0
  237. data/lib/wx/doc/gen/persistence_manager.rb +135 -0
  238. data/lib/wx/doc/gen/persistent_object.rb +52 -0
  239. data/lib/wx/doc/gen/persistent_window.rb +241 -0
  240. data/lib/wx/doc/gen/pg/event_list.rb +106 -0
  241. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +54 -0
  242. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +292 -0
  243. data/lib/wx/doc/gen/pg/pg_cell.rb +177 -0
  244. data/lib/wx/doc/gen/pg/pg_editor.rb +721 -0
  245. data/lib/wx/doc/gen/pg/pg_multi_button.rb +152 -0
  246. data/lib/wx/doc/gen/pg/pg_properties.rb +2829 -0
  247. data/lib/wx/doc/gen/pg/pg_property.rb +2078 -0
  248. data/lib/wx/doc/gen/pg/pg_validation_info.rb +344 -0
  249. data/lib/wx/doc/gen/pg/property_grid.rb +740 -0
  250. data/lib/wx/doc/gen/pg/property_grid_event.rb +184 -0
  251. data/lib/wx/doc/gen/pg/property_grid_interface.rb +1098 -0
  252. data/lib/wx/doc/gen/pg/property_grid_manager.rb +415 -0
  253. data/lib/wx/doc/gen/pg/property_grid_page.rb +354 -0
  254. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +165 -0
  255. data/lib/wx/doc/gen/picker_base.rb +152 -0
  256. data/lib/wx/doc/gen/platform_info.rb +622 -0
  257. data/lib/wx/doc/gen/popup_window.rb +107 -0
  258. data/lib/wx/doc/gen/progress_dialog.rb +100 -0
  259. data/lib/wx/doc/gen/property_sheet_dialog.rb +216 -0
  260. data/lib/wx/doc/gen/prt/event_list.rb +17 -0
  261. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +44 -0
  262. data/lib/wx/doc/gen/prt/post_script_dc.rb +30 -0
  263. data/lib/wx/doc/gen/prt/preview_frame.rb +78 -0
  264. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +151 -0
  265. data/lib/wx/doc/gen/prt/print_data.rb +804 -0
  266. data/lib/wx/doc/gen/prt/print_dialog.rb +55 -0
  267. data/lib/wx/doc/gen/prt/printer.rb +518 -0
  268. data/lib/wx/doc/gen/prt/printer_dc.rb +37 -0
  269. data/lib/wx/doc/gen/query_layout_info_event.rb +106 -0
  270. data/lib/wx/doc/gen/radio_box.rb +306 -0
  271. data/lib/wx/doc/gen/radio_button.rb +159 -0
  272. data/lib/wx/doc/gen/rbn/event_list.rb +136 -0
  273. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +1132 -0
  274. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +308 -0
  275. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +45 -0
  276. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +458 -0
  277. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +63 -0
  278. data/lib/wx/doc/gen/rbn/ribbon_control.rb +143 -0
  279. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +229 -0
  280. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +55 -0
  281. data/lib/wx/doc/gen/rbn/ribbon_page.rb +174 -0
  282. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +270 -0
  283. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +45 -0
  284. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +360 -0
  285. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +42 -0
  286. data/lib/wx/doc/gen/rearrange_ctrl.rb +78 -0
  287. data/lib/wx/doc/gen/rearrange_list.rb +123 -0
  288. data/lib/wx/doc/gen/region.rb +380 -0
  289. data/lib/wx/doc/gen/region_iterator.rb +76 -0
  290. data/lib/wx/doc/gen/rich_tool_tip.rb +154 -0
  291. data/lib/wx/doc/gen/rtc/event_list.rb +125 -0
  292. data/lib/wx/doc/gen/rtc/rich_text_box.rb +445 -0
  293. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +1188 -0
  294. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +41 -0
  295. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +538 -0
  296. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +2103 -0
  297. data/lib/wx/doc/gen/rtc/rich_text_event.rb +173 -0
  298. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +181 -0
  299. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +319 -0
  300. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +193 -0
  301. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +102 -0
  302. data/lib/wx/doc/gen/rtc/rich_text_image.rb +337 -0
  303. data/lib/wx/doc/gen/rtc/rich_text_object.rb +2922 -0
  304. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +1240 -0
  305. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +258 -0
  306. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +344 -0
  307. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +227 -0
  308. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +59 -0
  309. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +169 -0
  310. data/lib/wx/doc/gen/sash_event.rb +147 -0
  311. data/lib/wx/doc/gen/sash_layout_window.rb +232 -0
  312. data/lib/wx/doc/gen/sash_window.rb +171 -0
  313. data/lib/wx/doc/gen/scaled_dc.rb +10 -0
  314. data/lib/wx/doc/gen/screen_dc.rb +30 -0
  315. data/lib/wx/doc/gen/scroll_bar.rb +204 -0
  316. data/lib/wx/doc/gen/scrolled_canvas.rb +410 -0
  317. data/lib/wx/doc/gen/scrolled_control.rb +410 -0
  318. data/lib/wx/doc/gen/scrolled_window.rb +430 -0
  319. data/lib/wx/doc/gen/search_ctrl.rb +159 -0
  320. data/lib/wx/doc/gen/secret_store.rb +116 -0
  321. data/lib/wx/doc/gen/simplebook.rb +110 -0
  322. data/lib/wx/doc/gen/single_choice_dialog.rb +89 -0
  323. data/lib/wx/doc/gen/sizer.rb +945 -0
  324. data/lib/wx/doc/gen/sizer_item.rb +244 -0
  325. data/lib/wx/doc/gen/slider.rb +342 -0
  326. data/lib/wx/doc/gen/spin_button.rb +157 -0
  327. data/lib/wx/doc/gen/spin_ctrl.rb +231 -0
  328. data/lib/wx/doc/gen/spin_ctrl_double.rb +192 -0
  329. data/lib/wx/doc/gen/spin_double_event.rb +55 -0
  330. data/lib/wx/doc/gen/spin_event.rb +51 -0
  331. data/lib/wx/doc/gen/splash_screen.rb +113 -0
  332. data/lib/wx/doc/gen/splitter_event.rb +99 -0
  333. data/lib/wx/doc/gen/splitter_window.rb +498 -0
  334. data/lib/wx/doc/gen/static_bitmap.rb +256 -0
  335. data/lib/wx/doc/gen/static_box.rb +180 -0
  336. data/lib/wx/doc/gen/static_box_sizer.rb +85 -0
  337. data/lib/wx/doc/gen/static_line.rb +83 -0
  338. data/lib/wx/doc/gen/static_text.rb +127 -0
  339. data/lib/wx/doc/gen/status_bar.rb +290 -0
  340. data/lib/wx/doc/gen/stc/event_list.rb +221 -0
  341. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +4474 -0
  342. data/lib/wx/doc/gen/stc/styled_text_event.rb +8762 -0
  343. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +129 -0
  344. data/lib/wx/doc/gen/svg_file_dc.rb +164 -0
  345. data/lib/wx/doc/gen/system_options.rb +129 -0
  346. data/lib/wx/doc/gen/system_settings.rb +507 -0
  347. data/lib/wx/doc/gen/task_bar_icon.rb +127 -0
  348. data/lib/wx/doc/gen/task_bar_icon_event.rb +88 -0
  349. data/lib/wx/doc/gen/text_attr.rb +756 -0
  350. data/lib/wx/doc/gen/text_ctrl.rb +1033 -0
  351. data/lib/wx/doc/gen/text_entry.rb +441 -0
  352. data/lib/wx/doc/gen/text_entry_dialog.rb +220 -0
  353. data/lib/wx/doc/gen/text_validator.rb +245 -0
  354. data/lib/wx/doc/gen/time_picker_ctrl.rb +128 -0
  355. data/lib/wx/doc/gen/timer.rb +119 -0
  356. data/lib/wx/doc/gen/timer_event.rb +68 -0
  357. data/lib/wx/doc/gen/tip_provider.rb +63 -0
  358. data/lib/wx/doc/gen/tip_window.rb +51 -0
  359. data/lib/wx/doc/gen/toggle_button.rb +182 -0
  360. data/lib/wx/doc/gen/tool_bar.rb +890 -0
  361. data/lib/wx/doc/gen/tool_tip.rb +86 -0
  362. data/lib/wx/doc/gen/toolbook.rb +118 -0
  363. data/lib/wx/doc/gen/top_level_window.rb +497 -0
  364. data/lib/wx/doc/gen/tree_ctrl.rb +1052 -0
  365. data/lib/wx/doc/gen/tree_event.rb +127 -0
  366. data/lib/wx/doc/gen/treebook.rb +180 -0
  367. data/lib/wx/doc/gen/ui_action_simulator.rb +109 -0
  368. data/lib/wx/doc/gen/utils.rb +273 -0
  369. data/lib/wx/doc/gen/v_list_box.rb +272 -0
  370. data/lib/wx/doc/gen/v_scrolled_canvas.rb +195 -0
  371. data/lib/wx/doc/gen/v_scrolled_window.rb +191 -0
  372. data/lib/wx/doc/gen/validator.rb +68 -0
  373. data/lib/wx/doc/gen/variant.rb +294 -0
  374. data/lib/wx/doc/gen/window.rb +2917 -0
  375. data/lib/wx/doc/gen/window_dc.rb +38 -0
  376. data/lib/wx/doc/gen/window_disabler.rb +30 -0
  377. data/lib/wx/doc/gen/with_images.rb +84 -0
  378. data/lib/wx/doc/gen/wizard.rb +257 -0
  379. data/lib/wx/doc/gen/wizard_event.rb +113 -0
  380. data/lib/wx/doc/gen/wizard_page.rb +65 -0
  381. data/lib/wx/doc/gen/wizard_page_simple.rb +88 -0
  382. data/lib/wx/doc/gen/wrap_sizer.rb +79 -0
  383. data/lib/wx/doc/gen/xml_node.rb +316 -0
  384. data/lib/wx/doc/gen/xml_resource.rb +320 -0
  385. data/lib/wx/doc/generic_validator.rb +5 -0
  386. data/lib/wx/doc/tip_window.rb +18 -6
  387. data/lib/wx/grid/events/evt_list.rb +166 -0
  388. data/lib/wx/html/events/evt_list.rb +27 -0
  389. data/lib/wx/html/simple_html_listbox.rb +46 -33
  390. data/lib/wx/keyword_defs.rb +9 -0
  391. data/lib/wx/pg/events/evt_list.rb +73 -0
  392. data/lib/wx/pg/pg_property.rb +26 -0
  393. data/lib/wx/pg/property_grid_interface.rb +2 -2
  394. data/lib/wx/rbn/events/evt_list.rb +102 -0
  395. data/lib/wx/rtc/events/evt_list.rb +98 -0
  396. data/lib/wx/rtc/ext/rich_text_ctrl.rb +24 -0
  397. data/lib/wx/stc/events/evt_list.rb +178 -0
  398. data/lib/wx/version.rb +1 -1
  399. data/lib/wx/wxruby/cmd/setup.rb +6 -0
  400. data/rakelib/configure.rb +9 -0
  401. data/rakelib/gem.rake +3 -2
  402. data/rakelib/lib/config/linux.rb +1 -1
  403. data/rakelib/lib/config/macosx.rb +15 -1
  404. data/rakelib/lib/config/pkgman/linux.rb +7 -2
  405. data/rakelib/lib/config/unixish.rb +3 -3
  406. data/rakelib/lib/config.rb +16 -5
  407. data/rakelib/lib/core/include/swigdirector.inc +3 -3
  408. data/rakelib/lib/core/include/swigrubyerrors.inc +4 -8
  409. data/rakelib/lib/core/include/swigrubyrun.inc +20 -4
  410. data/rakelib/lib/core/include/swigrun.inc +189 -0
  411. data/rakelib/lib/core/package.rb +3 -1
  412. data/rakelib/lib/director/accelerator.rb +1 -1
  413. data/rakelib/lib/director/animation.rb +1 -0
  414. data/rakelib/lib/director/app_traits.rb +1 -1
  415. data/rakelib/lib/director/aui_manager.rb +21 -14
  416. data/rakelib/lib/director/aui_mdi_child_frame.rb +2 -0
  417. data/rakelib/lib/director/aui_mdi_parent_frame.rb +4 -0
  418. data/rakelib/lib/director/aui_notebook.rb +20 -3
  419. data/rakelib/lib/director/aui_tab_ctrl.rb +64 -106
  420. data/rakelib/lib/director/calendar_ctrl.rb +72 -14
  421. data/rakelib/lib/director/clipboard.rb +2 -0
  422. data/rakelib/lib/director/data_object.rb +15 -7
  423. data/rakelib/lib/director/date_picker_ctrl.rb +4 -1
  424. data/rakelib/lib/director/display.rb +81 -0
  425. data/rakelib/lib/director/event.rb +33 -16
  426. data/rakelib/lib/director/event_handler.rb +27 -2
  427. data/rakelib/lib/director/functions.rb +9 -0
  428. data/rakelib/lib/director/geometry.rb +5 -0
  429. data/rakelib/lib/director/grid_ctrl.rb +123 -28
  430. data/rakelib/lib/director/help_provider.rb +1 -1
  431. data/rakelib/lib/director/html_listbox.rb +16 -3
  432. data/rakelib/lib/director/hvscrolled.rb +7 -106
  433. data/rakelib/lib/director/image_list.rb +1 -0
  434. data/rakelib/lib/director/mdi_frame.rb +4 -0
  435. data/rakelib/lib/director/menu.rb +56 -15
  436. data/rakelib/lib/director/menu_bar.rb +62 -0
  437. data/rakelib/lib/director/menu_item.rb +7 -1
  438. data/rakelib/lib/director/num_validator.rb +27 -0
  439. data/rakelib/lib/director/numeric_property_validator.rb +9 -0
  440. data/rakelib/lib/director/popup_window.rb +2 -0
  441. data/rakelib/lib/director/preview_frame.rb +29 -6
  442. data/rakelib/lib/director/printer.rb +59 -5
  443. data/rakelib/lib/director/property_grid.rb +37 -18
  444. data/rakelib/lib/director/property_grid_interface.rb +10 -8
  445. data/rakelib/lib/director/property_grid_manager.rb +99 -39
  446. data/rakelib/lib/director/property_grid_page.rb +60 -0
  447. data/rakelib/lib/director/rich_tooltip.rb +22 -0
  448. data/rakelib/lib/director/richtext_ctrl.rb +5 -0
  449. data/rakelib/lib/director/richtext_object.rb +13 -4
  450. data/rakelib/lib/director/richtext_style_listbox.rb +4 -1
  451. data/rakelib/lib/director/scrolled_t.rb +3 -0
  452. data/rakelib/lib/director/searchctrl.rb +1 -0
  453. data/rakelib/lib/director/task_bar_icon.rb +14 -8
  454. data/rakelib/lib/director/text_validator.rb +9 -0
  455. data/rakelib/lib/director/tip_window.rb +117 -6
  456. data/rakelib/lib/director/tool_bar.rb +6 -0
  457. data/rakelib/lib/director/validator.rb +12 -0
  458. data/rakelib/lib/director/variant.rb +36 -20
  459. data/rakelib/lib/director/vlistbox.rb +25 -22
  460. data/rakelib/lib/director/window.rb +10 -1
  461. data/rakelib/lib/director/xml_resource.rb +6 -0
  462. data/rakelib/lib/generate/doc/aui_manager.yaml +1 -1
  463. data/rakelib/lib/generate/doc/rich_tool_tip.yaml +26 -0
  464. data/rakelib/lib/generate/doc.rb +12 -7
  465. data/rakelib/lib/generate/interface.rb +16 -1
  466. data/rakelib/lib/specs/interfaces.rb +3 -1
  467. data/rakelib/lib/swig_runner.rb +10 -10
  468. data/rakelib/lib/typemap/aui_tabctrl.rb +46 -0
  469. data/rakelib/lib/typemap/common.rb +3 -3
  470. data/rakelib/lib/typemap/print_page_range.rb +32 -8
  471. data/samples/art/wxruby-512x512.png +0 -0
  472. data/samples/calendar/calendar.rb +64 -1
  473. data/samples/dialogs/dialogs.rb +172 -0
  474. data/samples/dialogs/tip.xpm +157 -0
  475. data/samples/drawing/maths_images.rb +1 -1
  476. data/samples/event/event.rb +1 -1
  477. data/samples/printing/printing2.rb +1 -1
  478. data/samples/sampler.rb +26 -8
  479. data/samples/text/textctrl.rb +2 -2
  480. data/samples/treectrl/treectrl.rb +2 -2
  481. data/tests/lib/leaked_process_event_exception_test.rb +1 -1
  482. data/tests/lib/leaked_queued_event_exception_test.rb +1 -1
  483. data/tests/lib/wxapp_runner.rb +31 -41
  484. data/tests/lib/wxframe_runner.rb +23 -11
  485. data/tests/lib/wxrb_test.rb +58 -0
  486. data/tests/test_app_event_filter.rb +1 -1
  487. data/tests/test_app_exit_exception.rb +3 -3
  488. data/tests/test_app_init_exception.rb +3 -3
  489. data/tests/test_app_traits.rb +24 -21
  490. data/tests/test_art.rb +7 -7
  491. data/tests/test_art_provider.rb +1 -1
  492. data/tests/test_basic.rb +2 -2
  493. data/tests/test_book_controls.rb +1 -1
  494. data/tests/test_box_sizer.rb +1 -1
  495. data/tests/test_clipboard.rb +5 -5
  496. data/tests/test_combo_ctrl.rb +2 -2
  497. data/tests/test_config.rb +11 -1
  498. data/tests/test_dc.rb +1 -1
  499. data/tests/test_dialog.rb +1 -1
  500. data/tests/test_event_handling.rb +1 -1
  501. data/tests/test_events.rb +1 -1
  502. data/tests/test_exceptions.rb +2 -2
  503. data/tests/test_ext_controls.rb +10 -10
  504. data/tests/test_file_dialog.rb +1 -1
  505. data/tests/test_font.rb +1 -1
  506. data/tests/test_gdi_object.rb +1 -1
  507. data/tests/test_geometry.rb +2 -2
  508. data/tests/test_grid_sizer.rb +2 -2
  509. data/tests/test_intl.rb +1 -1
  510. data/tests/test_item_data.rb +12 -12
  511. data/tests/test_list_ctrl.rb +1 -1
  512. data/tests/test_log.rb +2 -2
  513. data/tests/test_media_ctrl.rb +1 -1
  514. data/tests/test_menu.rb +114 -43
  515. data/tests/test_proof_check.rb +1 -1
  516. data/tests/test_propgrid.rb +31 -31
  517. data/tests/test_richtext.rb +10 -24
  518. data/tests/test_secret_store.rb +1 -1
  519. data/tests/test_sizer.rb +1 -1
  520. data/tests/test_std_controls.rb +8 -8
  521. data/tests/test_styled_text_ctrl.rb +1 -1
  522. data/tests/test_timer.rb +1 -1
  523. data/tests/test_tree_ctrl.rb +1 -1
  524. data/tests/test_validators.rb +79 -36
  525. data/tests/test_variant.rb +1 -1
  526. data/tests/test_window.rb +11 -11
  527. data/tests/testapp.rb +2 -2
  528. data/tests/testapp_noframe.rb +2 -2
  529. metadata +400 -11
  530. data/lib/wx/aui/aui_tab_ctrl.rb +0 -18
@@ -17,6 +17,13 @@
17
17
 
18
18
  #include <wx/filesys.h>
19
19
  #include <wx/fs_zip.h>
20
+
21
+ #include <unordered_map>
22
+
23
+ WXRUBY_TRACE_GUARD(WxRubyTraceGCTrack, "GC_TRACK")
24
+ WXRUBY_TRACE_GUARD(WxRubyTraceGCWrapEvents, "GC_WRAP_EVENTS")
25
+ WXRUBY_TRACE_GUARD(WxRubyTraceGCWrapObject, "GC_WRAP_OBJECT")
26
+
20
27
  %}
21
28
 
22
29
  // Some common functions
@@ -75,28 +82,39 @@ WXRUBY_EXPORT swig_type_info* wxRuby_GetSwigTypeForClassName(const char* clsname
75
82
  return wxRuby_GetSwigTypeForClass(rb_const_get(wxRuby_Core(), rb_intern(clsname)));
76
83
  }
77
84
 
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);
85
+ // Overriding standard SWIG tracking.
86
+ // We don't want to use any functionality that could interfere with
87
+ // Ruby GC handling so we use standard C++ hash maps.
88
+ typedef std::unordered_map<void*, VALUE> PtrToRbObjHash;
84
89
  PtrToRbObjHash Global_Ptr_Map;
85
90
 
86
91
  // Add a tracking from ptr -> object
87
92
  WXRUBY_EXPORT void wxRuby_AddTracking(void* ptr, VALUE object)
88
93
  {
89
- #ifdef __WXRB_DEBUG__
90
- if (wxRuby_TraceLevel()>1)
94
+ WXRUBY_TRACE_IF(WxRubyTraceGCTrack, 2)
95
+ WXRUBY_TRACE_WITH(VALUE clsname = rb_mod_name(CLASS_OF(object)))
96
+ WXRUBY_TRACE("> wxRuby_AddTracking" << std::flush <<
97
+ "(" << ptr << ":{"
98
+ << (clsname != Qnil ? StringValueCStr(clsname) : "<noname>")
99
+ << "}, " << object << ")")
100
+ WXRUBY_TRACE_END
101
+
102
+ // Check if an 'old' tracking registry exists.
103
+ if (Global_Ptr_Map.count(ptr) == 1)
91
104
  {
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;
105
+ // This can happen if the C++ referenced by a Ruby object is managed by
106
+ // a wxWidgets object and deleted without unlinking the Ruby object.
107
+ // In these cases we unlink the previously linked Ruby object here
108
+ // (if not the same Ruby object which should not be possible).
109
+ // This will prevent SIGSEGV when attempting to call anything for
110
+ // these objects but instead cause more informative exceptions.
111
+ VALUE old_obj = Global_Ptr_Map[ptr];
112
+ if (!NIL_P(old_obj) && old_obj != object)
113
+ {
114
+ DATA_PTR(old_obj) = 0;
115
+ }
116
+
98
117
  }
99
- #endif
100
118
  Global_Ptr_Map[ptr] = object;
101
119
  }
102
120
 
@@ -112,10 +130,9 @@ WXRUBY_EXPORT VALUE wxRuby_FindTracking(void* ptr)
112
130
  // Remove the tracking for ptr
113
131
  WXRUBY_EXPORT void wxRuby_RemoveTracking(void* ptr)
114
132
  {
115
- #ifdef __WXRB_DEBUG__
116
- if (wxRuby_TraceLevel()>1)
117
- std::wcout << "< wxRuby_RemoveTracking(" << ptr << ")" << std::endl;
118
- #endif
133
+ WXRUBY_TRACE_IF(WxRubyTraceGCTrack, 2)
134
+ WXRUBY_TRACE("< wxRuby_RemoveTracking(" << ptr << ") -> " << wxRuby_FindTracking(ptr))
135
+ WXRUBY_TRACE_END
119
136
  Global_Ptr_Map.erase(ptr);
120
137
  }
121
138
 
@@ -152,12 +169,22 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxObjectInRuby(wxObject *wx_obj)
152
169
  {
153
170
  static WxRuby_ID window_id("Window");
154
171
 
172
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapObject, 2)
173
+ WXRUBY_TRACE("> wxRuby_WrapWxObjectInRuby(" << wx_obj << ")")
174
+ WXRUBY_TRACE_END
175
+
155
176
  // If no object was passed to be wrapped; this could be a normal state
156
177
  // (eg if get_sizer was called on a Window with no sizer set), or
157
178
  // could be an error, eg if calling get_window_by_id and no window
158
179
  // matched the id, or an error arose from incorrect XML syntax
159
180
  if ( ! wx_obj )
181
+ {
182
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapObject, 2)
183
+ WXRUBY_TRACE("< wxRuby_WrapWxObjectInRuby - returning nil")
184
+ WXRUBY_TRACE_END
185
+
160
186
  return Qnil;
187
+ }
161
188
 
162
189
  // Get the wx class and the ruby class we are converting into
163
190
  wxString class_name( wx_obj->GetClassInfo()->GetClassName() );
@@ -199,12 +226,20 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxObjectInRuby(wxObject *wx_obj)
199
226
  }
200
227
  else
201
228
  {
229
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapObject, 2)
230
+ WXRUBY_TRACE("< wxRuby_WrapWxObjectInRuby - returning nil for unsupported object " << wx_obj << "{" << (const char *)class_name.mb_str() << "}")
231
+ WXRUBY_TRACE_END
232
+
202
233
  rb_warn("Error wrapping object; class '%s' is not (yet) supported in wxRuby",
203
234
  (const char *)class_name.mb_str());
204
235
  return Qnil;
205
236
  }
206
237
  }
207
238
 
239
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapObject, 2)
240
+ WXRUBY_TRACE("< wxRuby_WrapWxObjectInRuby - returning wrapped object " << wx_obj << "{" << rb_class2name(r_class) << "}")
241
+ WXRUBY_TRACE_END
242
+
208
243
  // Otherwise, retrieve the swig type info for this class and wrap it
209
244
  // in Ruby. wxRuby_GetSwigTypeForClass is defined in wx.i
210
245
  swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(r_class);
@@ -236,10 +271,9 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxEventInRuby(wxEvent *wx_event)
236
271
  Evt_Type_Map = wxRuby_GetEventTypeClassMap ();
237
272
  }
238
273
 
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
274
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapEvents, 2)
275
+ WXRUBY_TRACE("> wxRuby_WrapWxEventInRuby(rcvr=" << rcvr << ", " << wx_event << ":{" << wx_event->GetEventType() << "@" << wx_event->GetEventObject() << "})")
276
+ WXRUBY_TRACE_END
243
277
 
244
278
  VALUE rb_event_type_id = INT2NUM(wx_event->GetEventType());
245
279
  VALUE rb_event_class = Qnil;
@@ -280,9 +314,22 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxEventInRuby(wxEvent *wx_event)
280
314
  if ( rb_event != Qnil )
281
315
  {
282
316
  if (rb_obj_is_kind_of(rb_event, rb_event_class))
317
+ {
318
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapEvents, 2)
319
+ WXRUBY_TRACE_WITH(swig_type_info* type = wx_event->GetEventType() == wxEVT_ASYNC_METHOD_CALL ?
320
+ wxRuby_GetSwigTypeForClass(wxRuby_GetDefaultEventClass()) :
321
+ wxRuby_GetSwigTypeForClass(rb_event_class))
322
+ WXRUBY_TRACE("< wxRuby_WrapWxEventInRuby - returning tracked event " << wx_event << "{" << (type ? type->name : rb_class2name(rb_event_class)) << "} -> " << rb_event)
323
+ WXRUBY_TRACE_END
283
324
  return rb_event; // OK
325
+ }
284
326
  else
327
+ {
328
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapEvents, 2)
329
+ WXRUBY_TRACE("| wxRuby_WrapWxEventInRuby - removing tracking of stale object " << wx_event << " -> " << rb_event)
330
+ WXRUBY_TRACE_END
285
331
  SWIG_RubyRemoveTracking((void *)wx_event); // Remove stale ref
332
+ }
286
333
  }
287
334
 
288
335
  // No existing Ruby instance found, so a transitory event object; wrap
@@ -296,34 +343,16 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxEventInRuby(wxEvent *wx_event)
296
343
  wxRuby_GetSwigTypeForClass(rb_event_class);
297
344
  rb_iv_set(rb_event, "@__swigtype__", rb_str_new2(type->name));
298
345
 
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
346
+ WXRUBY_TRACE_IF(WxRubyTraceGCWrapEvents, 2)
347
+ WXRUBY_TRACE("< wxRuby_WrapWxEventInRuby - wrapped transitory event " << wx_event << "{" << type->name << "}")
348
+ WXRUBY_TRACE_END
303
349
 
304
350
  return rb_event;
305
351
  }
306
352
  %}
307
353
 
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
354
  %constant int wxWXWIDGETS_DEBUG_LEVEL = wxDEBUG_LEVEL;
317
355
 
318
- %{
319
- #ifdef __WXRB_DEBUG__
320
- WXRUBY_EXPORT int wxRuby_TraceLevel()
321
- {
322
- return wxrb_trace_level;
323
- }
324
- #endif
325
- %}
326
-
327
356
  %include "mark_free_impl.i"
328
357
 
329
358
  %init %{
@@ -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