wxruby3 1.6.0 → 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.
- checksums.yaml +4 -4
- data/CREDITS.md +32 -25
- data/INSTALL.md +21 -6
- data/README.md +5 -5
- data/assets/repo-social-preview.odg +0 -0
- data/assets/repo-social-preview.xcf +0 -0
- data/ext/wxruby3/include/wxRubyApp.h +58 -45
- data/ext/wxruby3/include/wxruby-runtime.h +78 -1
- data/ext/wxruby3/swig/common.i +2 -2
- data/ext/wxruby3/swig/custom/director.swg +2 -2
- data/ext/wxruby3/swig/custom/rubyprimtypes.swg +59 -15
- data/ext/wxruby3/swig/custom/rubyrun.swg +4 -0
- data/ext/wxruby3/swig/custom/rubytracking.swg +4 -0
- data/ext/wxruby3/swig/custom/swiglabels.swg +129 -0
- data/ext/wxruby3/swig/custom/swigrun.swg +15 -0
- data/ext/wxruby3/swig/custom/typemaps/swigtypemaps.swg +20 -0
- data/ext/wxruby3/swig/mark_free_impl.i +154 -88
- data/ext/wxruby3/swig/memory_management.i +1 -0
- data/ext/wxruby3/swig/wx.i +73 -44
- data/lib/wx/aui/events/evt_list.rb +148 -0
- data/lib/wx/aui/require.rb +0 -1
- data/lib/wx/core/calendar_ctrl.rb +15 -0
- data/lib/wx/core/clipboard.rb +9 -13
- data/lib/wx/core/config.rb +1 -1
- data/lib/wx/core/events/evt_list.rb +1458 -0
- data/lib/wx/core/font/encoding.rb +113 -0
- data/lib/wx/core/generic_validator.rb +83 -31
- data/lib/wx/core/tipwindow.rb +16 -0
- data/lib/wx/core/variant.rb +6 -0
- data/lib/wx/doc/aui/auitabctrl.rb +35 -0
- data/lib/wx/doc/config.rb +2 -2
- data/lib/wx/doc/functions.rb +1 -1
- data/lib/wx/doc/gen/about_dialog_info.rb +330 -0
- data/lib/wx/doc/gen/accelerator.rb +178 -0
- data/lib/wx/doc/gen/activity_indicator.rb +83 -0
- data/lib/wx/doc/gen/affine_matrix2d.rb +284 -0
- data/lib/wx/doc/gen/animation.rb +275 -0
- data/lib/wx/doc/gen/animation_ctrl.rb +300 -0
- data/lib/wx/doc/gen/any_button.rb +191 -0
- data/lib/wx/doc/gen/app.rb +463 -0
- data/lib/wx/doc/gen/app_traits.rb +396 -0
- data/lib/wx/doc/gen/art_provider.rb +605 -0
- data/lib/wx/doc/gen/aui/aui_dock_art.rb +455 -0
- data/lib/wx/doc/gen/aui/aui_floating_frame.rb +54 -0
- data/lib/wx/doc/gen/aui/aui_manager.rb +847 -0
- data/lib/wx/doc/gen/aui/aui_manager_event.rb +131 -0
- data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +180 -0
- data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +59 -0
- data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +130 -0
- data/lib/wx/doc/gen/aui/aui_notebook.rb +631 -0
- data/lib/wx/doc/gen/aui/aui_notebook_event.rb +233 -0
- data/lib/wx/doc/gen/aui/aui_pane_info.rb +769 -0
- data/lib/wx/doc/gen/aui/aui_tab_art.rb +352 -0
- data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +14 -0
- data/lib/wx/doc/gen/aui/aui_tool_bar.rb +510 -0
- data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +340 -0
- data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +244 -0
- data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +257 -0
- data/lib/wx/doc/gen/aui/event_list.rb +179 -0
- data/lib/wx/doc/gen/banner_window.rb +124 -0
- data/lib/wx/doc/gen/bitmap.rb +731 -0
- data/lib/wx/doc/gen/bitmap_button.rb +123 -0
- data/lib/wx/doc/gen/bitmap_combo_box.rb +221 -0
- data/lib/wx/doc/gen/book_ctrl_base.rb +273 -0
- data/lib/wx/doc/gen/book_ctrl_event.rb +66 -0
- data/lib/wx/doc/gen/box_sizer.rb +85 -0
- data/lib/wx/doc/gen/brush.rb +251 -0
- data/lib/wx/doc/gen/busy_info.rb +157 -0
- data/lib/wx/doc/gen/button.rb +182 -0
- data/lib/wx/doc/gen/calculate_layout_event.rb +62 -0
- data/lib/wx/doc/gen/calendar_ctrl.rb +505 -0
- data/lib/wx/doc/gen/calendar_date_attr.rb +138 -0
- data/lib/wx/doc/gen/calendar_event.rb +147 -0
- data/lib/wx/doc/gen/caret.rb +97 -0
- data/lib/wx/doc/gen/check_box.rb +175 -0
- data/lib/wx/doc/gen/check_list_box.rb +121 -0
- data/lib/wx/doc/gen/choice.rb +175 -0
- data/lib/wx/doc/gen/choicebook.rb +116 -0
- data/lib/wx/doc/gen/client_dc.rb +43 -0
- data/lib/wx/doc/gen/clipboard.rb +144 -0
- data/lib/wx/doc/gen/collapsible_pane.rb +138 -0
- data/lib/wx/doc/gen/collapsible_pane_event.rb +46 -0
- data/lib/wx/doc/gen/colour.rb +333 -0
- data/lib/wx/doc/gen/colour_dialog.rb +190 -0
- data/lib/wx/doc/gen/colour_picker_ctrl.rb +110 -0
- data/lib/wx/doc/gen/colour_picker_event.rb +77 -0
- data/lib/wx/doc/gen/combo_box.rb +292 -0
- data/lib/wx/doc/gen/combo_ctrl.rb +662 -0
- data/lib/wx/doc/gen/command_link_button.rb +134 -0
- data/lib/wx/doc/gen/config_base.rb +10 -0
- data/lib/wx/doc/gen/context_help_button.rb +109 -0
- data/lib/wx/doc/gen/control.rb +277 -0
- data/lib/wx/doc/gen/control_with_items.rb +253 -0
- data/lib/wx/doc/gen/core.rb +45 -0
- data/lib/wx/doc/gen/credential_entry_dialog.rb +137 -0
- data/lib/wx/doc/gen/cursor.rb +193 -0
- data/lib/wx/doc/gen/data_format.rb +85 -0
- data/lib/wx/doc/gen/data_object.rb +436 -0
- data/lib/wx/doc/gen/data_object_simple_base.rb +10 -0
- data/lib/wx/doc/gen/date_event.rb +49 -0
- data/lib/wx/doc/gen/date_picker_ctrl.rb +161 -0
- data/lib/wx/doc/gen/dc.rb +1631 -0
- data/lib/wx/doc/gen/dc_overlay.rb +102 -0
- data/lib/wx/doc/gen/defs.rb +2802 -0
- data/lib/wx/doc/gen/dial_up_event.rb +45 -0
- data/lib/wx/doc/gen/dial_up_manager.rb +149 -0
- data/lib/wx/doc/gen/dialog.rb +541 -0
- data/lib/wx/doc/gen/dir_dialog.rb +164 -0
- data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +90 -0
- data/lib/wx/doc/gen/dir_picker_ctrl.rb +125 -0
- data/lib/wx/doc/gen/display.rb +238 -0
- data/lib/wx/doc/gen/drag_drop.rb +299 -0
- data/lib/wx/doc/gen/drag_image.rb +116 -0
- data/lib/wx/doc/gen/editable_list_box.rb +109 -0
- data/lib/wx/doc/gen/event.rb +990 -0
- data/lib/wx/doc/gen/event_blocker.rb +50 -0
- data/lib/wx/doc/gen/event_filter.rb +92 -0
- data/lib/wx/doc/gen/event_list.rb +1644 -0
- data/lib/wx/doc/gen/events.rb +2809 -0
- data/lib/wx/doc/gen/evt_handler.rb +229 -0
- data/lib/wx/doc/gen/ext_help_controller.rb +109 -0
- data/lib/wx/doc/gen/file_ctrl.rb +231 -0
- data/lib/wx/doc/gen/file_ctrl_event.rb +83 -0
- data/lib/wx/doc/gen/file_dialog.rb +353 -0
- data/lib/wx/doc/gen/file_dialog_custom_control.rb +165 -0
- data/lib/wx/doc/gen/file_dialog_customize_hook.rb +158 -0
- data/lib/wx/doc/gen/file_dir_picker_event.rb +100 -0
- data/lib/wx/doc/gen/file_picker_ctrl.rb +132 -0
- data/lib/wx/doc/gen/file_system.rb +232 -0
- data/lib/wx/doc/gen/find_dialog_event.rb +126 -0
- data/lib/wx/doc/gen/find_replace_data.rb +60 -0
- data/lib/wx/doc/gen/find_replace_dialog.rb +58 -0
- data/lib/wx/doc/gen/flex_grid_sizer.rb +199 -0
- data/lib/wx/doc/gen/font.rb +1379 -0
- data/lib/wx/doc/gen/font_data.rb +151 -0
- data/lib/wx/doc/gen/font_dialog.rb +88 -0
- data/lib/wx/doc/gen/font_picker_ctrl.rb +143 -0
- data/lib/wx/doc/gen/font_picker_event.rb +65 -0
- data/lib/wx/doc/gen/frame.rb +352 -0
- data/lib/wx/doc/gen/fs_file.rb +337 -0
- data/lib/wx/doc/gen/functions.rb +10 -0
- data/lib/wx/doc/gen/gauge.rb +157 -0
- data/lib/wx/doc/gen/gb_sizer_item.rb +68 -0
- data/lib/wx/doc/gen/gcdc.rb +46 -0
- data/lib/wx/doc/gen/gdi_common.rb +1271 -0
- data/lib/wx/doc/gen/gdi_object.rb +31 -0
- data/lib/wx/doc/gen/generic_about_dialog.rb +140 -0
- data/lib/wx/doc/gen/generic_dir_ctrl.rb +223 -0
- data/lib/wx/doc/gen/geometry.rb +661 -0
- data/lib/wx/doc/gen/graphics_context.rb +1184 -0
- data/lib/wx/doc/gen/graphics_object.rb +750 -0
- data/lib/wx/doc/gen/grid/event_list.rb +191 -0
- data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +40 -0
- data/lib/wx/doc/gen/grid/grid_cell_attr.rb +280 -0
- data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +35 -0
- data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +37 -0
- data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +49 -0
- data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +35 -0
- data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +46 -0
- data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +38 -0
- data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +45 -0
- data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +40 -0
- data/lib/wx/doc/gen/grid/grid_cell_editor.rb +197 -0
- data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +39 -0
- data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +44 -0
- data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +45 -0
- data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +79 -0
- data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +46 -0
- data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +35 -0
- data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +108 -0
- data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +35 -0
- data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +49 -0
- data/lib/wx/doc/gen/grid/grid_ctrl.rb +3002 -0
- data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +95 -0
- data/lib/wx/doc/gen/grid/grid_event.rb +129 -0
- data/lib/wx/doc/gen/grid/grid_range_select_event.rb +104 -0
- data/lib/wx/doc/gen/grid/grid_size_event.rb +85 -0
- data/lib/wx/doc/gen/grid/grid_string_table.rb +142 -0
- data/lib/wx/doc/gen/grid/grid_table_base.rb +317 -0
- data/lib/wx/doc/gen/grid/grid_table_message.rb +81 -0
- data/lib/wx/doc/gen/grid_bag_sizer.rb +323 -0
- data/lib/wx/doc/gen/grid_sizer.rb +195 -0
- data/lib/wx/doc/gen/gui_event_loop.rb +159 -0
- data/lib/wx/doc/gen/h_scrolled_window.rb +562 -0
- data/lib/wx/doc/gen/header_ctrl.rb +880 -0
- data/lib/wx/doc/gen/header_ctrl_event.rb +133 -0
- data/lib/wx/doc/gen/help_controller.rb +195 -0
- data/lib/wx/doc/gen/help_provider.rb +98 -0
- data/lib/wx/doc/gen/html/event_list.rb +38 -0
- data/lib/wx/doc/gen/html/html_cell.rb +536 -0
- data/lib/wx/doc/gen/html/html_cell_event.rb +69 -0
- data/lib/wx/doc/gen/html/html_data_object.rb +42 -0
- data/lib/wx/doc/gen/html/html_easy_printing.rb +203 -0
- data/lib/wx/doc/gen/html/html_help_controller.rb +340 -0
- data/lib/wx/doc/gen/html/html_help_data.rb +159 -0
- data/lib/wx/doc/gen/html/html_help_window.rb +258 -0
- data/lib/wx/doc/gen/html/html_link_event.rb +41 -0
- data/lib/wx/doc/gen/html/html_list_box.rb +346 -0
- data/lib/wx/doc/gen/html/html_printout.rb +109 -0
- data/lib/wx/doc/gen/html/html_window.rb +461 -0
- data/lib/wx/doc/gen/hyperlink_ctrl.rb +311 -0
- data/lib/wx/doc/gen/hyperlink_event.rb +44 -0
- data/lib/wx/doc/gen/icon.rb +267 -0
- data/lib/wx/doc/gen/icon_location.rb +40 -0
- data/lib/wx/doc/gen/image.rb +1371 -0
- data/lib/wx/doc/gen/image_list.rb +168 -0
- data/lib/wx/doc/gen/info_bar.rb +195 -0
- data/lib/wx/doc/gen/keyboard_state.rb +140 -0
- data/lib/wx/doc/gen/list_box.rb +304 -0
- data/lib/wx/doc/gen/list_ctrl.rb +1774 -0
- data/lib/wx/doc/gen/list_event.rb +208 -0
- data/lib/wx/doc/gen/listbook.rb +116 -0
- data/lib/wx/doc/gen/locale.rb +4293 -0
- data/lib/wx/doc/gen/log.rb +603 -0
- data/lib/wx/doc/gen/mdi_client_window.rb +47 -0
- data/lib/wx/doc/gen/mdi_frame.rb +324 -0
- data/lib/wx/doc/gen/media_ctrl.rb +269 -0
- data/lib/wx/doc/gen/media_event.rb +117 -0
- data/lib/wx/doc/gen/memory_dc.rb +174 -0
- data/lib/wx/doc/gen/menu.rb +509 -0
- data/lib/wx/doc/gen/menu_bar.rb +287 -0
- data/lib/wx/doc/gen/menu_item.rb +362 -0
- data/lib/wx/doc/gen/message_dialog.rb +238 -0
- data/lib/wx/doc/gen/mini_frame.rb +108 -0
- data/lib/wx/doc/gen/mirror_dc.rb +22 -0
- data/lib/wx/doc/gen/mouse_state.rb +150 -0
- data/lib/wx/doc/gen/multi_choice_dialog.rb +80 -0
- data/lib/wx/doc/gen/non_owned_window.rb +49 -0
- data/lib/wx/doc/gen/notebook.rb +278 -0
- data/lib/wx/doc/gen/num_validator.rb +37 -0
- data/lib/wx/doc/gen/number_entry_dialog.rb +93 -0
- data/lib/wx/doc/gen/object.rb +59 -0
- data/lib/wx/doc/gen/owner_drawn_combo_box.rb +395 -0
- data/lib/wx/doc/gen/paint_dc.rb +27 -0
- data/lib/wx/doc/gen/palette.rb +92 -0
- data/lib/wx/doc/gen/panel.rb +127 -0
- data/lib/wx/doc/gen/pen.rb +511 -0
- data/lib/wx/doc/gen/persistence_manager.rb +135 -0
- data/lib/wx/doc/gen/persistent_object.rb +52 -0
- data/lib/wx/doc/gen/persistent_window.rb +241 -0
- data/lib/wx/doc/gen/pg/event_list.rb +106 -0
- data/lib/wx/doc/gen/pg/numeric_property_validator.rb +54 -0
- data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +292 -0
- data/lib/wx/doc/gen/pg/pg_cell.rb +177 -0
- data/lib/wx/doc/gen/pg/pg_editor.rb +721 -0
- data/lib/wx/doc/gen/pg/pg_multi_button.rb +152 -0
- data/lib/wx/doc/gen/pg/pg_properties.rb +2829 -0
- data/lib/wx/doc/gen/pg/pg_property.rb +2078 -0
- data/lib/wx/doc/gen/pg/pg_validation_info.rb +344 -0
- data/lib/wx/doc/gen/pg/property_grid.rb +740 -0
- data/lib/wx/doc/gen/pg/property_grid_event.rb +184 -0
- data/lib/wx/doc/gen/pg/property_grid_interface.rb +1098 -0
- data/lib/wx/doc/gen/pg/property_grid_manager.rb +415 -0
- data/lib/wx/doc/gen/pg/property_grid_page.rb +354 -0
- data/lib/wx/doc/gen/pg/property_grid_page_state.rb +165 -0
- data/lib/wx/doc/gen/picker_base.rb +152 -0
- data/lib/wx/doc/gen/platform_info.rb +622 -0
- data/lib/wx/doc/gen/popup_window.rb +107 -0
- data/lib/wx/doc/gen/progress_dialog.rb +100 -0
- data/lib/wx/doc/gen/property_sheet_dialog.rb +216 -0
- data/lib/wx/doc/gen/prt/event_list.rb +17 -0
- data/lib/wx/doc/gen/prt/page_setup_dialog.rb +44 -0
- data/lib/wx/doc/gen/prt/post_script_dc.rb +30 -0
- data/lib/wx/doc/gen/prt/preview_frame.rb +78 -0
- data/lib/wx/doc/gen/prt/print_abort_dialog.rb +151 -0
- data/lib/wx/doc/gen/prt/print_data.rb +804 -0
- data/lib/wx/doc/gen/prt/print_dialog.rb +55 -0
- data/lib/wx/doc/gen/prt/printer.rb +518 -0
- data/lib/wx/doc/gen/prt/printer_dc.rb +37 -0
- data/lib/wx/doc/gen/query_layout_info_event.rb +106 -0
- data/lib/wx/doc/gen/radio_box.rb +306 -0
- data/lib/wx/doc/gen/radio_button.rb +159 -0
- data/lib/wx/doc/gen/rbn/event_list.rb +136 -0
- data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +1132 -0
- data/lib/wx/doc/gen/rbn/ribbon_bar.rb +308 -0
- data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +45 -0
- data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +458 -0
- data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +63 -0
- data/lib/wx/doc/gen/rbn/ribbon_control.rb +143 -0
- data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +229 -0
- data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +55 -0
- data/lib/wx/doc/gen/rbn/ribbon_page.rb +174 -0
- data/lib/wx/doc/gen/rbn/ribbon_panel.rb +270 -0
- data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +45 -0
- data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +360 -0
- data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +42 -0
- data/lib/wx/doc/gen/rearrange_ctrl.rb +78 -0
- data/lib/wx/doc/gen/rearrange_list.rb +123 -0
- data/lib/wx/doc/gen/region.rb +380 -0
- data/lib/wx/doc/gen/region_iterator.rb +76 -0
- data/lib/wx/doc/gen/rich_tool_tip.rb +154 -0
- data/lib/wx/doc/gen/rtc/event_list.rb +125 -0
- data/lib/wx/doc/gen/rtc/rich_text_box.rb +445 -0
- data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +1188 -0
- data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +41 -0
- data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +538 -0
- data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +2103 -0
- data/lib/wx/doc/gen/rtc/rich_text_event.rb +173 -0
- data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +181 -0
- data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +319 -0
- data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +193 -0
- data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +102 -0
- data/lib/wx/doc/gen/rtc/rich_text_image.rb +337 -0
- data/lib/wx/doc/gen/rtc/rich_text_object.rb +2922 -0
- data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +1240 -0
- data/lib/wx/doc/gen/rtc/rich_text_printing.rb +258 -0
- data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +344 -0
- data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +227 -0
- data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +59 -0
- data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +169 -0
- data/lib/wx/doc/gen/sash_event.rb +147 -0
- data/lib/wx/doc/gen/sash_layout_window.rb +232 -0
- data/lib/wx/doc/gen/sash_window.rb +171 -0
- data/lib/wx/doc/gen/scaled_dc.rb +10 -0
- data/lib/wx/doc/gen/screen_dc.rb +30 -0
- data/lib/wx/doc/gen/scroll_bar.rb +204 -0
- data/lib/wx/doc/gen/scrolled_canvas.rb +410 -0
- data/lib/wx/doc/gen/scrolled_control.rb +410 -0
- data/lib/wx/doc/gen/scrolled_window.rb +430 -0
- data/lib/wx/doc/gen/search_ctrl.rb +159 -0
- data/lib/wx/doc/gen/secret_store.rb +116 -0
- data/lib/wx/doc/gen/simplebook.rb +110 -0
- data/lib/wx/doc/gen/single_choice_dialog.rb +89 -0
- data/lib/wx/doc/gen/sizer.rb +945 -0
- data/lib/wx/doc/gen/sizer_item.rb +244 -0
- data/lib/wx/doc/gen/slider.rb +342 -0
- data/lib/wx/doc/gen/spin_button.rb +157 -0
- data/lib/wx/doc/gen/spin_ctrl.rb +231 -0
- data/lib/wx/doc/gen/spin_ctrl_double.rb +192 -0
- data/lib/wx/doc/gen/spin_double_event.rb +55 -0
- data/lib/wx/doc/gen/spin_event.rb +51 -0
- data/lib/wx/doc/gen/splash_screen.rb +113 -0
- data/lib/wx/doc/gen/splitter_event.rb +99 -0
- data/lib/wx/doc/gen/splitter_window.rb +498 -0
- data/lib/wx/doc/gen/static_bitmap.rb +256 -0
- data/lib/wx/doc/gen/static_box.rb +180 -0
- data/lib/wx/doc/gen/static_box_sizer.rb +85 -0
- data/lib/wx/doc/gen/static_line.rb +83 -0
- data/lib/wx/doc/gen/static_text.rb +127 -0
- data/lib/wx/doc/gen/status_bar.rb +290 -0
- data/lib/wx/doc/gen/stc/event_list.rb +221 -0
- data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +4474 -0
- data/lib/wx/doc/gen/stc/styled_text_event.rb +8762 -0
- data/lib/wx/doc/gen/std_dialog_button_sizer.rb +129 -0
- data/lib/wx/doc/gen/svg_file_dc.rb +164 -0
- data/lib/wx/doc/gen/system_options.rb +129 -0
- data/lib/wx/doc/gen/system_settings.rb +507 -0
- data/lib/wx/doc/gen/task_bar_icon.rb +127 -0
- data/lib/wx/doc/gen/task_bar_icon_event.rb +88 -0
- data/lib/wx/doc/gen/text_attr.rb +756 -0
- data/lib/wx/doc/gen/text_ctrl.rb +1033 -0
- data/lib/wx/doc/gen/text_entry.rb +441 -0
- data/lib/wx/doc/gen/text_entry_dialog.rb +220 -0
- data/lib/wx/doc/gen/text_validator.rb +245 -0
- data/lib/wx/doc/gen/time_picker_ctrl.rb +128 -0
- data/lib/wx/doc/gen/timer.rb +119 -0
- data/lib/wx/doc/gen/timer_event.rb +68 -0
- data/lib/wx/doc/gen/tip_provider.rb +63 -0
- data/lib/wx/doc/gen/tip_window.rb +51 -0
- data/lib/wx/doc/gen/toggle_button.rb +182 -0
- data/lib/wx/doc/gen/tool_bar.rb +890 -0
- data/lib/wx/doc/gen/tool_tip.rb +86 -0
- data/lib/wx/doc/gen/toolbook.rb +118 -0
- data/lib/wx/doc/gen/top_level_window.rb +497 -0
- data/lib/wx/doc/gen/tree_ctrl.rb +1052 -0
- data/lib/wx/doc/gen/tree_event.rb +127 -0
- data/lib/wx/doc/gen/treebook.rb +180 -0
- data/lib/wx/doc/gen/ui_action_simulator.rb +109 -0
- data/lib/wx/doc/gen/utils.rb +273 -0
- data/lib/wx/doc/gen/v_list_box.rb +272 -0
- data/lib/wx/doc/gen/v_scrolled_canvas.rb +195 -0
- data/lib/wx/doc/gen/v_scrolled_window.rb +191 -0
- data/lib/wx/doc/gen/validator.rb +68 -0
- data/lib/wx/doc/gen/variant.rb +294 -0
- data/lib/wx/doc/gen/window.rb +2917 -0
- data/lib/wx/doc/gen/window_dc.rb +38 -0
- data/lib/wx/doc/gen/window_disabler.rb +30 -0
- data/lib/wx/doc/gen/with_images.rb +84 -0
- data/lib/wx/doc/gen/wizard.rb +257 -0
- data/lib/wx/doc/gen/wizard_event.rb +113 -0
- data/lib/wx/doc/gen/wizard_page.rb +65 -0
- data/lib/wx/doc/gen/wizard_page_simple.rb +88 -0
- data/lib/wx/doc/gen/wrap_sizer.rb +79 -0
- data/lib/wx/doc/gen/xml_node.rb +316 -0
- data/lib/wx/doc/gen/xml_resource.rb +320 -0
- data/lib/wx/doc/generic_validator.rb +5 -0
- data/lib/wx/doc/pg/pg_property.rb +5 -0
- data/lib/wx/doc/tip_window.rb +18 -6
- data/lib/wx/doc/variant.rb +30 -0
- data/lib/wx/grid/events/evt_list.rb +166 -0
- data/lib/wx/html/events/evt_list.rb +27 -0
- data/lib/wx/html/simple_html_listbox.rb +46 -33
- data/lib/wx/keyword_defs.rb +9 -0
- data/lib/wx/pg/events/evt_list.rb +73 -0
- data/lib/wx/pg/pg_property.rb +85 -52
- data/lib/wx/pg/property_grid_interface.rb +12 -2
- data/lib/wx/rbn/events/evt_list.rb +102 -0
- data/lib/wx/rtc/events/evt_list.rb +98 -0
- data/lib/wx/rtc/ext/rich_text_ctrl.rb +24 -0
- data/lib/wx/stc/events/evt_list.rb +178 -0
- data/lib/wx/version.rb +1 -1
- data/lib/wx/wxruby/cmd/setup.rb +6 -0
- data/rakelib/configure.rb +9 -0
- data/rakelib/gem.rake +84 -66
- data/rakelib/gem.rb +4 -20
- data/rakelib/lib/config/linux.rb +1 -1
- data/rakelib/lib/config/macosx.rb +15 -1
- data/rakelib/lib/config/pkgman/linux.rb +7 -2
- data/rakelib/lib/config/unixish.rb +3 -3
- data/rakelib/lib/config.rb +19 -8
- data/rakelib/lib/core/include/swigdirector.inc +3 -3
- data/rakelib/lib/core/include/swigrubyerrors.inc +4 -8
- data/rakelib/lib/core/include/swigrubyrun.inc +20 -4
- data/rakelib/lib/core/include/swigrun.inc +189 -0
- data/rakelib/lib/core/package.rb +3 -1
- data/rakelib/lib/core/spec.rb +1 -1
- data/rakelib/lib/director/accelerator.rb +1 -1
- data/rakelib/lib/director/animation.rb +1 -0
- data/rakelib/lib/director/app_traits.rb +1 -1
- data/rakelib/lib/director/aui_manager.rb +21 -14
- data/rakelib/lib/director/aui_mdi_child_frame.rb +2 -0
- data/rakelib/lib/director/aui_mdi_parent_frame.rb +4 -0
- data/rakelib/lib/director/aui_notebook.rb +20 -3
- data/rakelib/lib/director/aui_tab_ctrl.rb +64 -106
- data/rakelib/lib/director/bitmap_combobox.rb +4 -2
- data/rakelib/lib/director/calendar_ctrl.rb +72 -14
- data/rakelib/lib/director/clipboard.rb +2 -0
- data/rakelib/lib/director/data_object.rb +15 -7
- data/rakelib/lib/director/date_picker_ctrl.rb +4 -1
- data/rakelib/lib/director/display.rb +81 -0
- data/rakelib/lib/director/event.rb +33 -16
- data/rakelib/lib/director/event_handler.rb +27 -2
- data/rakelib/lib/director/functions.rb +9 -0
- data/rakelib/lib/director/geometry.rb +5 -0
- data/rakelib/lib/director/grid_ctrl.rb +123 -28
- data/rakelib/lib/director/help_provider.rb +1 -1
- data/rakelib/lib/director/html_listbox.rb +30 -4
- data/rakelib/lib/director/hvscrolled.rb +154 -0
- data/rakelib/lib/director/image_list.rb +1 -0
- data/rakelib/lib/director/mdi_frame.rb +4 -0
- data/rakelib/lib/director/menu.rb +56 -15
- data/rakelib/lib/director/menu_bar.rb +62 -0
- data/rakelib/lib/director/menu_item.rb +7 -1
- data/rakelib/lib/director/num_validator.rb +27 -0
- data/rakelib/lib/director/numeric_property_validator.rb +9 -0
- data/rakelib/lib/director/persistent_window.rb +16 -0
- data/rakelib/lib/director/pgproperty.rb +3 -2
- data/rakelib/lib/director/popup_window.rb +2 -0
- data/rakelib/lib/director/preview_frame.rb +29 -6
- data/rakelib/lib/director/printer.rb +59 -5
- data/rakelib/lib/director/property_grid.rb +37 -18
- data/rakelib/lib/director/property_grid_interface.rb +10 -8
- data/rakelib/lib/director/property_grid_manager.rb +99 -39
- data/rakelib/lib/director/property_grid_page.rb +60 -0
- data/rakelib/lib/director/rich_tooltip.rb +22 -0
- data/rakelib/lib/director/richtext_ctrl.rb +5 -0
- data/rakelib/lib/director/richtext_object.rb +13 -4
- data/rakelib/lib/director/richtext_style_listbox.rb +11 -2
- data/rakelib/lib/director/scrolled_t.rb +3 -0
- data/rakelib/lib/director/searchctrl.rb +1 -0
- data/rakelib/lib/director/task_bar_icon.rb +14 -8
- data/rakelib/lib/director/text_validator.rb +9 -0
- data/rakelib/lib/director/tip_window.rb +117 -6
- data/rakelib/lib/director/tool_bar.rb +6 -0
- data/rakelib/lib/director/top_level_window.rb +0 -1
- data/rakelib/lib/director/utils.rb +3 -1
- data/rakelib/lib/director/validator.rb +12 -0
- data/rakelib/lib/director/variant.rb +64 -20
- data/rakelib/lib/director/vlistbox.rb +29 -22
- data/rakelib/lib/director/window.rb +12 -2
- data/rakelib/lib/director/xml_resource.rb +6 -0
- data/rakelib/lib/generate/doc/aui_manager.yaml +1 -1
- data/rakelib/lib/generate/doc/rich_tool_tip.yaml +26 -0
- data/rakelib/lib/generate/doc.rb +12 -7
- data/rakelib/lib/generate/interface.rb +16 -1
- data/rakelib/lib/specs/interfaces.rb +6 -2
- data/rakelib/lib/swig_runner.rb +12 -12
- data/rakelib/lib/typemap/aui_tabctrl.rb +46 -0
- data/rakelib/lib/typemap/common.rb +3 -3
- data/rakelib/lib/typemap/print_page_range.rb +32 -8
- data/samples/art/wxruby-512x512.png +0 -0
- data/samples/calendar/calendar.rb +64 -1
- data/samples/dialogs/dialogs.rb +172 -0
- data/samples/dialogs/tip.xpm +157 -0
- data/samples/drawing/maths_images.rb +1 -1
- data/samples/event/event.rb +1 -1
- data/samples/printing/printing2.rb +1 -1
- data/samples/sampler.rb +26 -8
- data/samples/text/textctrl.rb +2 -2
- data/samples/treectrl/treectrl.rb +2 -2
- data/tests/lib/leaked_process_event_exception_test.rb +1 -1
- data/tests/lib/leaked_queued_event_exception_test.rb +1 -1
- data/tests/lib/wxapp_runner.rb +31 -41
- data/tests/lib/wxframe_runner.rb +23 -11
- data/tests/lib/wxrb_test.rb +58 -0
- data/tests/test_app_event_filter.rb +1 -1
- data/tests/test_app_exit_exception.rb +3 -3
- data/tests/test_app_init_exception.rb +3 -3
- data/tests/test_app_traits.rb +24 -21
- data/tests/test_art.rb +7 -7
- data/tests/test_art_provider.rb +1 -1
- data/tests/test_basic.rb +2 -2
- data/tests/test_book_controls.rb +1 -1
- data/tests/test_box_sizer.rb +1 -1
- data/tests/test_clipboard.rb +5 -5
- data/tests/test_combo_ctrl.rb +2 -2
- data/tests/test_config.rb +11 -1
- data/tests/test_dc.rb +1 -1
- data/tests/test_dialog.rb +1 -1
- data/tests/test_event_handling.rb +1 -1
- data/tests/test_events.rb +1 -1
- data/tests/test_exceptions.rb +2 -2
- data/tests/test_ext_controls.rb +10 -10
- data/tests/test_file_dialog.rb +1 -1
- data/tests/test_font.rb +1 -1
- data/tests/test_gdi_object.rb +1 -1
- data/tests/test_geometry.rb +2 -2
- data/tests/test_grid_sizer.rb +2 -2
- data/tests/test_intl.rb +1 -1
- data/tests/test_item_data.rb +12 -12
- data/tests/test_list_ctrl.rb +1 -1
- data/tests/test_log.rb +2 -2
- data/tests/test_media_ctrl.rb +1 -1
- data/tests/test_menu.rb +114 -43
- data/tests/test_proof_check.rb +1 -1
- data/tests/test_propgrid.rb +857 -0
- data/tests/test_richtext.rb +10 -24
- data/tests/test_secret_store.rb +1 -1
- data/tests/test_sizer.rb +1 -1
- data/tests/test_std_controls.rb +8 -8
- data/tests/test_styled_text_ctrl.rb +1 -1
- data/tests/test_timer.rb +1 -1
- data/tests/test_tree_ctrl.rb +1 -1
- data/tests/test_validators.rb +79 -36
- data/tests/test_variant.rb +1 -1
- data/tests/test_window.rb +11 -11
- data/tests/testapp.rb +2 -2
- data/tests/testapp_noframe.rb +2 -2
- metadata +402 -12
- data/lib/wx/aui/aui_tab_ctrl.rb +0 -18
- data/rakelib/lib/director/hvscrolled_window.rb +0 -140
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/* -----------------------------------------------------------------------------
|
|
2
|
+
* This section contains generic SWIG labels for method/variable
|
|
3
|
+
* declarations/attributes, and other compiler dependent labels.
|
|
4
|
+
* ----------------------------------------------------------------------------- */
|
|
5
|
+
|
|
6
|
+
/* template workaround for compilers that cannot correctly implement the C++ standard */
|
|
7
|
+
#ifndef SWIGTEMPLATEDISAMBIGUATOR
|
|
8
|
+
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
|
|
9
|
+
# define SWIGTEMPLATEDISAMBIGUATOR template
|
|
10
|
+
# elif defined(__HP_aCC)
|
|
11
|
+
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
|
|
12
|
+
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
|
|
13
|
+
# define SWIGTEMPLATEDISAMBIGUATOR template
|
|
14
|
+
# else
|
|
15
|
+
# define SWIGTEMPLATEDISAMBIGUATOR
|
|
16
|
+
# endif
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
/* inline attribute */
|
|
20
|
+
#ifndef SWIGINLINE
|
|
21
|
+
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
|
|
22
|
+
# define SWIGINLINE inline
|
|
23
|
+
# else
|
|
24
|
+
# define SWIGINLINE
|
|
25
|
+
# endif
|
|
26
|
+
#endif
|
|
27
|
+
|
|
28
|
+
/* attribute recognised by some compilers to avoid 'unused' warnings */
|
|
29
|
+
#ifndef SWIGUNUSED
|
|
30
|
+
# if defined(__GNUC__)
|
|
31
|
+
# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
|
|
32
|
+
# define SWIGUNUSED __attribute__ ((__unused__))
|
|
33
|
+
# else
|
|
34
|
+
# define SWIGUNUSED
|
|
35
|
+
# endif
|
|
36
|
+
# elif defined(__ICC)
|
|
37
|
+
# define SWIGUNUSED __attribute__ ((__unused__))
|
|
38
|
+
# else
|
|
39
|
+
# define SWIGUNUSED
|
|
40
|
+
# endif
|
|
41
|
+
#endif
|
|
42
|
+
|
|
43
|
+
#ifndef SWIG_MSC_UNSUPPRESS_4505
|
|
44
|
+
# if defined(_MSC_VER)
|
|
45
|
+
# pragma warning(disable : 4505) /* unreferenced local function has been removed */
|
|
46
|
+
# endif
|
|
47
|
+
#endif
|
|
48
|
+
|
|
49
|
+
#ifndef SWIGUNUSEDPARM
|
|
50
|
+
# ifdef __cplusplus
|
|
51
|
+
# define SWIGUNUSEDPARM(p)
|
|
52
|
+
# else
|
|
53
|
+
# define SWIGUNUSEDPARM(p) p SWIGUNUSED
|
|
54
|
+
# endif
|
|
55
|
+
#endif
|
|
56
|
+
|
|
57
|
+
/* internal SWIG method */
|
|
58
|
+
#ifndef SWIGINTERN
|
|
59
|
+
# define SWIGINTERN static SWIGUNUSED
|
|
60
|
+
#endif
|
|
61
|
+
|
|
62
|
+
/* internal inline SWIG method */
|
|
63
|
+
#ifndef SWIGINTERNINLINE
|
|
64
|
+
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
|
|
65
|
+
#endif
|
|
66
|
+
|
|
67
|
+
/* exporting methods */
|
|
68
|
+
#if defined(__GNUC__)
|
|
69
|
+
# if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
|
|
70
|
+
# ifndef GCC_HASCLASSVISIBILITY
|
|
71
|
+
# define GCC_HASCLASSVISIBILITY
|
|
72
|
+
# endif
|
|
73
|
+
# endif
|
|
74
|
+
#endif
|
|
75
|
+
|
|
76
|
+
#ifndef SWIGEXPORT
|
|
77
|
+
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
|
|
78
|
+
# if defined(STATIC_LINKED)
|
|
79
|
+
# define SWIGEXPORT
|
|
80
|
+
# else
|
|
81
|
+
# define SWIGEXPORT __declspec(dllexport)
|
|
82
|
+
# endif
|
|
83
|
+
# else
|
|
84
|
+
# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
|
|
85
|
+
# define SWIGEXPORT __attribute__ ((visibility("default")))
|
|
86
|
+
# else
|
|
87
|
+
# define SWIGEXPORT
|
|
88
|
+
# endif
|
|
89
|
+
# endif
|
|
90
|
+
#endif
|
|
91
|
+
|
|
92
|
+
/* calling conventions for Windows */
|
|
93
|
+
#ifndef SWIGSTDCALL
|
|
94
|
+
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
|
|
95
|
+
# define SWIGSTDCALL __stdcall
|
|
96
|
+
# else
|
|
97
|
+
# define SWIGSTDCALL
|
|
98
|
+
# endif
|
|
99
|
+
#endif
|
|
100
|
+
|
|
101
|
+
/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
|
|
102
|
+
#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
|
|
103
|
+
# define _CRT_SECURE_NO_DEPRECATE
|
|
104
|
+
#endif
|
|
105
|
+
|
|
106
|
+
/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
|
|
107
|
+
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
|
|
108
|
+
# define _SCL_SECURE_NO_DEPRECATE
|
|
109
|
+
#endif
|
|
110
|
+
|
|
111
|
+
/* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
|
|
112
|
+
#if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
|
|
113
|
+
# define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
|
|
114
|
+
#endif
|
|
115
|
+
|
|
116
|
+
/* Intel's compiler complains if a variable which was never initialised is
|
|
117
|
+
* cast to void, which is a common idiom which we use to indicate that we
|
|
118
|
+
* are aware a variable isn't used. So we just silence that warning.
|
|
119
|
+
* See: https://github.com/swig/swig/issues/192 for more discussion.
|
|
120
|
+
*/
|
|
121
|
+
#ifdef __INTEL_COMPILER
|
|
122
|
+
# pragma warning disable 592
|
|
123
|
+
#endif
|
|
124
|
+
|
|
125
|
+
#if defined(__cplusplus) && __cplusplus >=201103L
|
|
126
|
+
# define SWIG_NOEXCEPT noexcept
|
|
127
|
+
#else
|
|
128
|
+
# define SWIG_NOEXCEPT throw()
|
|
129
|
+
#endif
|
|
@@ -12,7 +12,11 @@
|
|
|
12
12
|
|
|
13
13
|
/* This should only be incremented when either the layout of swig_type_info changes,
|
|
14
14
|
or for whatever reason, the runtime changes incompatibly */
|
|
15
|
+
#if SWIG_VERSION < 0x040400
|
|
15
16
|
#define SWIG_RUNTIME_VERSION "4"
|
|
17
|
+
#else
|
|
18
|
+
#define SWIG_RUNTIME_VERSION "5"
|
|
19
|
+
#endif
|
|
16
20
|
|
|
17
21
|
/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
|
|
18
22
|
#ifdef SWIG_TYPE_TABLE
|
|
@@ -213,7 +217,11 @@ typedef struct WXRUBY_EXPORT swig_cast_info
|
|
|
213
217
|
swig_type_info *type; /* pointer to type that is equivalent to this type */
|
|
214
218
|
swig_converter_func converter; /* function to cast the void pointers */
|
|
215
219
|
struct swig_cast_info *next; /* pointer to next cast in linked list */
|
|
220
|
+
#if SWIG_VERSION < 0x040400
|
|
216
221
|
struct swig_cast_info *prev; /* pointer to the previous cast */
|
|
222
|
+
#else
|
|
223
|
+
unsigned int value; /* index of the last valid element in the array | typename hash value */
|
|
224
|
+
#endif
|
|
217
225
|
} swig_cast_info;
|
|
218
226
|
|
|
219
227
|
/* Structure used to store module information
|
|
@@ -256,6 +264,13 @@ SWIG_TypeEquiv(const char *nb, const char *tb) {
|
|
|
256
264
|
return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
|
|
257
265
|
}
|
|
258
266
|
|
|
267
|
+
#if SWIG_VERSION >= 0x040400
|
|
268
|
+
/*
|
|
269
|
+
* Hash function for type name strings, based on maRushPrime1Hash (http://amsoftware.narod.ru/algo2.html)
|
|
270
|
+
*/
|
|
271
|
+
WXRUBY_EXPORT unsigned int SWIG_Hash(const char *str, unsigned int len);
|
|
272
|
+
#endif
|
|
273
|
+
|
|
259
274
|
/*
|
|
260
275
|
Check the typename
|
|
261
276
|
*/
|
|
@@ -126,6 +126,14 @@
|
|
|
126
126
|
#endif
|
|
127
127
|
#endif
|
|
128
128
|
|
|
129
|
+
#if SWIG_VERSION >= 0x040400
|
|
130
|
+
/*==== clear errors ====*/
|
|
131
|
+
|
|
132
|
+
#ifndef %error_clear
|
|
133
|
+
#define %error_clear
|
|
134
|
+
#endif
|
|
135
|
+
#endif
|
|
136
|
+
|
|
129
137
|
/*==== director output exception ====*/
|
|
130
138
|
|
|
131
139
|
/* wxRuby : make sure to pass the object and method that caused the failure */
|
|
@@ -143,15 +151,27 @@
|
|
|
143
151
|
#define %error_block(Block...) %block(Block)
|
|
144
152
|
#define %default_code(code) SWIG_ArgError(code)
|
|
145
153
|
#define %argument_fail(code, type, name, argn) SWIG_exception_fail(%default_code(code), %argfail_fmt(type, name, argn))
|
|
154
|
+
#if SWIG_VERSION < 0x040400
|
|
146
155
|
#define %argument_nullref(type, name, argn) SWIG_exception_fail(SWIG_ValueError, %argnullref_fmt(type, name, argn))
|
|
156
|
+
#else
|
|
157
|
+
#define %argument_nullref(type, name, argn) SWIG_exception_fail(SWIG_NullReferenceError, %argnullref_fmt(type, name, argn))
|
|
158
|
+
#endif
|
|
147
159
|
#define %variable_fail(code, type, name) SWIG_exception_fail(%default_code(code), %varfail_fmt(type, name))
|
|
160
|
+
#if SWIG_VERSION < 0x040400
|
|
148
161
|
#define %variable_nullref(type, name) SWIG_exception_fail(SWIG_ValueError, %varnullref_fmt(type, name))
|
|
162
|
+
#else
|
|
163
|
+
#define %variable_nullref(type, name) SWIG_exception_fail(SWIG_NullReferenceError, %varnullref_fmt(type, name))
|
|
164
|
+
#endif
|
|
149
165
|
#define %releasenotowned_fail(code, type, name, argn) SWIG_exception_fail(%default_code(code), %releasenotownedfail_fmt(type, name, argn))
|
|
150
166
|
|
|
151
167
|
/* wxRuby : make sure to pass the object and method that caused the failure */
|
|
152
168
|
#if defined(SWIG_DIRECTOR_TYPEMAPS)
|
|
153
169
|
#define %dirout_fail(code, type) SWIG_DirOutFail(swig_get_self(), "$symname", %default_code(code), %outfail_fmt(type))
|
|
170
|
+
#if SWIG_VERSION < 0x040400
|
|
154
171
|
#define %dirout_nullref(type) SWIG_DirOutFail(swig_get_self(), "$symname", SWIG_ValueError, %outnullref_fmt(type))
|
|
172
|
+
#else
|
|
173
|
+
#define %dirout_nullref(type) SWIG_DirOutFail(swig_get_self(), "$symname", SWIG_NullReferenceError, %outnullref_fmt(type))
|
|
174
|
+
#endif
|
|
155
175
|
#endif
|
|
156
176
|
|
|
157
177
|
/* -----------------------------------------------------------------------------
|
|
@@ -16,12 +16,31 @@
|
|
|
16
16
|
%}
|
|
17
17
|
|
|
18
18
|
%{
|
|
19
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceMarkSizer, "GC_MARK_SIZER")
|
|
20
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceFreeSizer, "GC_FREE_SIZER")
|
|
21
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceMarkMenubar, "GC_MARK_MENUBAR")
|
|
22
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceMarkMenu, "GC_MARK_MENU")
|
|
23
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceMarkWindow, "GC_MARK_WINDOW")
|
|
24
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceFreeWindow, "GC_FREE_WINDOW")
|
|
25
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceMarkFrame, "GC_MARK_FRAME")
|
|
26
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceFreeNull, "GC_FREE_NULL")
|
|
27
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceFreeRefcounted, "GC_FREE_REFCOUNT")
|
|
28
|
+
|
|
29
|
+
|
|
19
30
|
// Code to be run when the ruby object is swept by GC - this only
|
|
20
31
|
// unlinks the C++ object from the ruby VALUE but doesn't delete
|
|
21
32
|
// it because it is still needed and will be managed by WxWidgets.
|
|
22
33
|
WXRUBY_EXPORT void GcNullFreeFunc(void *ptr)
|
|
23
34
|
{
|
|
35
|
+
WXRUBY_TRACE_IF(WxRubyTraceFreeNull, 2)
|
|
36
|
+
WXRUBY_TRACE("> GcNullFreeFunc : " << ptr)
|
|
37
|
+
WXRUBY_TRACE_END
|
|
38
|
+
|
|
24
39
|
SWIG_RubyRemoveTracking(ptr);
|
|
40
|
+
|
|
41
|
+
WXRUBY_TRACE_IF(WxRubyTraceFreeNull, 2)
|
|
42
|
+
WXRUBY_TRACE("< GcNullFreeFunc")
|
|
43
|
+
WXRUBY_TRACE_END
|
|
25
44
|
}
|
|
26
45
|
|
|
27
46
|
// Tests if the window has been signalled as destroyed by a
|
|
@@ -41,6 +60,10 @@ WXRUBY_EXPORT bool GC_IsWindowDeleted(void *ptr)
|
|
|
41
60
|
// WindowDestroyEvent, handled by wxRubyApp (see swig/classes/App.i).
|
|
42
61
|
WXRUBY_EXPORT void GC_SetWindowDeleted(void *ptr)
|
|
43
62
|
{
|
|
63
|
+
WXRUBY_TRACE_IF(WxRubyTraceFreeWindow, 2)
|
|
64
|
+
WXRUBY_TRACE("> GC_SetWindowDeleted : " << ptr)
|
|
65
|
+
WXRUBY_TRACE_END
|
|
66
|
+
|
|
44
67
|
// All Windows are EvtHandlers, so prevent any pending events being
|
|
45
68
|
// sent after destruction (otherwise ObjectPreviouslyDeleted errors result)
|
|
46
69
|
wxEvtHandler* evt_handler = (wxEvtHandler*)ptr;
|
|
@@ -57,6 +80,8 @@ WXRUBY_EXPORT void GC_SetWindowDeleted(void *ptr)
|
|
|
57
80
|
while (wxevh && wxevh != wxwin)
|
|
58
81
|
{
|
|
59
82
|
wxEvtHandler* wxevh_next = wxevh->GetNextHandler();
|
|
83
|
+
// disable these too
|
|
84
|
+
wxevh->SetEvtHandlerEnabled(false);
|
|
60
85
|
VALUE rb_evh = SWIG_RubyInstanceFor(wxevh);
|
|
61
86
|
// only remove tracked Ruby instantiated handlers since others are
|
|
62
87
|
// handlers internally set by wxWidgets C++ code and will be removed there
|
|
@@ -75,6 +100,10 @@ WXRUBY_EXPORT void GC_SetWindowDeleted(void *ptr)
|
|
|
75
100
|
// Disassociate the C++ and Ruby objects
|
|
76
101
|
SWIG_RubyUnlinkObjects(ptr);
|
|
77
102
|
SWIG_RubyRemoveTracking(ptr);
|
|
103
|
+
|
|
104
|
+
WXRUBY_TRACE_IF(WxRubyTraceFreeWindow, 2)
|
|
105
|
+
WXRUBY_TRACE("< GC_SetWindowDeleted : " << ptr)
|
|
106
|
+
WXRUBY_TRACE_END
|
|
78
107
|
}
|
|
79
108
|
|
|
80
109
|
// Code to be run when the ruby object is swept by GC - this only
|
|
@@ -82,9 +111,17 @@ WXRUBY_EXPORT void GC_SetWindowDeleted(void *ptr)
|
|
|
82
111
|
// reference counter.
|
|
83
112
|
WXRUBY_EXPORT void GcRefCountedFreeFunc(void *ptr)
|
|
84
113
|
{
|
|
114
|
+
WXRUBY_TRACE_IF(WxRubyTraceFreeRefcounted, 2)
|
|
115
|
+
WXRUBY_TRACE("> GcRefCountedFreeFunc : " << ptr)
|
|
116
|
+
WXRUBY_TRACE_END
|
|
117
|
+
|
|
85
118
|
SWIG_RubyRemoveTracking(ptr);
|
|
86
119
|
if (ptr)
|
|
87
120
|
((wxRefCounter*)ptr)->DecRef();
|
|
121
|
+
|
|
122
|
+
WXRUBY_TRACE_IF(WxRubyTraceFreeRefcounted, 2)
|
|
123
|
+
WXRUBY_TRACE("< GcRefCountedFreeFunc")
|
|
124
|
+
WXRUBY_TRACE_END
|
|
88
125
|
}
|
|
89
126
|
|
|
90
127
|
// Code to be run when the ruby object is swept by GC - this checks
|
|
@@ -92,26 +129,38 @@ WXRUBY_EXPORT void GcRefCountedFreeFunc(void *ptr)
|
|
|
92
129
|
// as these will be managed by WxWidgets.
|
|
93
130
|
WXRUBY_EXPORT void GcSizerFreeFunc(void *ptr)
|
|
94
131
|
{
|
|
132
|
+
WXRUBY_TRACE_IF(WxRubyTraceFreeSizer, 2)
|
|
133
|
+
WXRUBY_TRACE("> GcSizerFreeFunc : " << ptr)
|
|
134
|
+
WXRUBY_TRACE_END
|
|
135
|
+
|
|
95
136
|
wxSizer* wx_szr = (wxSizer*)ptr;
|
|
96
137
|
// unlink in all cases
|
|
97
138
|
SWIG_RubyRemoveTracking(ptr);
|
|
98
139
|
delete wx_szr; // delete unattached sizers
|
|
140
|
+
|
|
141
|
+
WXRUBY_TRACE_IF(WxRubyTraceFreeSizer, 2)
|
|
142
|
+
WXRUBY_TRACE("< GcSizerFreeFunc")
|
|
143
|
+
WXRUBY_TRACE_END
|
|
99
144
|
}
|
|
100
145
|
|
|
101
146
|
void GC_mark_SizerBelongingToWindow(wxSizer *wx_sizer, VALUE rb_sizer);
|
|
102
147
|
|
|
103
148
|
WXRUBY_EXPORT void GC_mark_wxSizer(void* ptr)
|
|
104
149
|
{
|
|
150
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkSizer, 2)
|
|
151
|
+
WXRUBY_TRACE("> GC_mark_wxSizer : " << ptr)
|
|
152
|
+
WXRUBY_TRACE_END
|
|
153
|
+
|
|
105
154
|
VALUE rb_szr = SWIG_RubyInstanceFor(ptr);
|
|
106
|
-
if (rb_szr
|
|
155
|
+
if (!RB_NIL_P(rb_szr))
|
|
107
156
|
{
|
|
108
|
-
wxSizer* wx_szr = (wxSizer*)ptr;
|
|
109
|
-
|
|
110
157
|
// as long as the dfree function is still the GCSizeFreeFunc the sizer has not been attached to a window
|
|
111
158
|
// or added to a parent sizer (as that would 'disown' and replace the free function by the tracking removal function)
|
|
112
159
|
// but it may hay have already had child sizers added which need to be marked
|
|
113
160
|
if (RDATA(rb_szr)->dfree == (void (*)(void *))GcSizerFreeFunc)
|
|
114
161
|
{
|
|
162
|
+
wxSizer* wx_szr = (wxSizer*)ptr;
|
|
163
|
+
|
|
115
164
|
// Then loop over the sizer's content and mark each sub-sizer
|
|
116
165
|
wxSizerItemList& children = wx_szr->GetChildren();
|
|
117
166
|
for ( wxSizerItemList::compatibility_iterator node = children.GetFirst();
|
|
@@ -132,6 +181,10 @@ WXRUBY_EXPORT void GC_mark_wxSizer(void* ptr)
|
|
|
132
181
|
}
|
|
133
182
|
}
|
|
134
183
|
}
|
|
184
|
+
|
|
185
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkSizer, 2)
|
|
186
|
+
WXRUBY_TRACE("< GC_mark_wxSizer : " << ptr)
|
|
187
|
+
WXRUBY_TRACE_END
|
|
135
188
|
}
|
|
136
189
|
|
|
137
190
|
// Carries out marking of Sizer objects belonging to a Wx::Window. Note
|
|
@@ -142,10 +195,9 @@ WXRUBY_EXPORT void GC_mark_wxSizer(void* ptr)
|
|
|
142
195
|
// directors, they must be preserved from GC.
|
|
143
196
|
void GC_mark_SizerBelongingToWindow(wxSizer *wx_sizer, VALUE rb_sizer)
|
|
144
197
|
{
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
#endif
|
|
198
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkSizer, 2)
|
|
199
|
+
WXRUBY_TRACE("> GC_mark_SizerBelongingToWindow : " << wx_sizer)
|
|
200
|
+
WXRUBY_TRACE_END
|
|
149
201
|
|
|
150
202
|
// First, mark this sizer
|
|
151
203
|
rb_gc_mark( rb_sizer );
|
|
@@ -168,10 +220,35 @@ void GC_mark_SizerBelongingToWindow(wxSizer *wx_sizer, VALUE rb_sizer)
|
|
|
168
220
|
}
|
|
169
221
|
}
|
|
170
222
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
223
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkSizer, 2)
|
|
224
|
+
WXRUBY_TRACE("< GC_mark_SizerBelongingToWindow : " << wx_sizer)
|
|
225
|
+
WXRUBY_TRACE_END
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
WXRUBY_EXPORT void GC_mark_attached_wxMenu(void *ptr)
|
|
229
|
+
{
|
|
230
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkMenu, 2)
|
|
231
|
+
WXRUBY_TRACE("> GC_mark_attached_wxMenu : " << ptr)
|
|
232
|
+
WXRUBY_TRACE_END
|
|
233
|
+
|
|
234
|
+
rb_gc_mark(SWIG_RubyInstanceFor(ptr));
|
|
235
|
+
|
|
236
|
+
wxMenu *wx_menu = static_cast<wxMenu*> (ptr);
|
|
237
|
+
|
|
238
|
+
wxMenuItemList wx_menu_items = wx_menu->GetMenuItems();
|
|
239
|
+
wxMenuItemList::iterator iter;
|
|
240
|
+
for (iter = wx_menu_items.begin(); iter != wx_menu_items.end(); ++iter)
|
|
241
|
+
{
|
|
242
|
+
wxMenuItem *wx_item = *iter;
|
|
243
|
+
rb_gc_mark(SWIG_RubyInstanceFor(wx_item) );
|
|
244
|
+
wxMenu* wx_sub_menu = wx_item->GetSubMenu();
|
|
245
|
+
if (wx_sub_menu)
|
|
246
|
+
GC_mark_attached_wxMenu(wx_sub_menu);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkMenu, 2)
|
|
250
|
+
WXRUBY_TRACE("< GC_mark_attached_wxMenu : " << ptr)
|
|
251
|
+
WXRUBY_TRACE_END
|
|
175
252
|
}
|
|
176
253
|
|
|
177
254
|
// Similar to Sizers, MenuBar requires a special mark routine. This is
|
|
@@ -182,90 +259,84 @@ void GC_mark_SizerBelongingToWindow(wxSizer *wx_sizer, VALUE rb_sizer)
|
|
|
182
259
|
// which can catch destroyed MenuBars linked to an in-scope ruby
|
|
183
260
|
// variable and cause segfaults, MenuBars are always marked via the
|
|
184
261
|
// containing Frame.
|
|
185
|
-
void GC_mark_MenuBarBelongingToFrame(wxMenuBar *
|
|
262
|
+
void GC_mark_MenuBarBelongingToFrame(wxMenuBar *wx_menu_bar)
|
|
186
263
|
{
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
264
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkMenubar, 2)
|
|
265
|
+
WXRUBY_TRACE("> GC_mark_MenuBarBelongingToFrame : " << wx_menu_bar)
|
|
266
|
+
WXRUBY_TRACE_END
|
|
267
|
+
|
|
268
|
+
rb_gc_mark( SWIG_RubyInstanceFor(wx_menu_bar) );
|
|
269
|
+
|
|
270
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkMenubar, 3)
|
|
271
|
+
WXRUBY_TRACE("< GC_mark_MenuBarBelongingToFrame : marking " << wx_menu_bar->GetMenuCount() << " menus")
|
|
272
|
+
WXRUBY_TRACE_END
|
|
191
273
|
|
|
192
|
-
rb_gc_mark( SWIG_RubyInstanceFor(menu_bar) );
|
|
193
274
|
// Mark each menu in the menubar in turn
|
|
194
|
-
for ( size_t i = 0; i <
|
|
275
|
+
for ( size_t i = 0; i < wx_menu_bar->GetMenuCount(); i++ )
|
|
195
276
|
{
|
|
196
|
-
|
|
197
|
-
rb_gc_mark( SWIG_RubyInstanceFor(menu) );
|
|
277
|
+
GC_mark_attached_wxMenu(wx_menu_bar->GetMenu(i));
|
|
198
278
|
}
|
|
199
279
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
#endif
|
|
280
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkMenubar, 2)
|
|
281
|
+
WXRUBY_TRACE("< GC_mark_MenuBarBelongingToFrame : " << wx_menu_bar)
|
|
282
|
+
WXRUBY_TRACE_END
|
|
204
283
|
}
|
|
205
284
|
|
|
206
285
|
// Default mark routine for Windows - preserve the main sizer and caret
|
|
207
286
|
// belong to this window
|
|
208
287
|
WXRUBY_EXPORT void GC_mark_wxWindow(void *ptr)
|
|
209
288
|
{
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
#endif
|
|
289
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkWindow, 2)
|
|
290
|
+
WXRUBY_TRACE("> GC_mark_wxWindow : " << ptr)
|
|
291
|
+
WXRUBY_TRACE_END
|
|
214
292
|
|
|
215
293
|
if ( GC_IsWindowDeleted(ptr) )
|
|
216
294
|
{
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
#endif
|
|
295
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkWindow, 2)
|
|
296
|
+
WXRUBY_TRACE("< GC_mark_wxWindow : deleted")
|
|
297
|
+
WXRUBY_TRACE_END
|
|
221
298
|
return;
|
|
222
299
|
}
|
|
223
300
|
|
|
224
301
|
wxWindow* wx_win = (wxWindow*)ptr;
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
#endif
|
|
302
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkWindow, 3)
|
|
303
|
+
WXRUBY_TRACE("| GC_mark_wxWindow : getting sizer")
|
|
304
|
+
WXRUBY_TRACE_END
|
|
229
305
|
wxSizer* wx_sizer = wx_win->GetSizer();
|
|
230
306
|
if ( wx_sizer )
|
|
231
307
|
{
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
#endif
|
|
308
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkWindow, 3)
|
|
309
|
+
WXRUBY_TRACE("| GC_mark_wxWindow : found sizer " << wx_sizer)
|
|
310
|
+
WXRUBY_TRACE_END
|
|
236
311
|
VALUE rb_sizer = SWIG_RubyInstanceFor(wx_sizer);
|
|
237
312
|
if ( rb_sizer != Qnil )
|
|
238
313
|
GC_mark_SizerBelongingToWindow(wx_sizer, rb_sizer);
|
|
239
314
|
}
|
|
240
315
|
|
|
241
316
|
// mark any pushed event handlers
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
#endif
|
|
317
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkWindow, 3)
|
|
318
|
+
WXRUBY_TRACE("| GC_mark_wxWindow : getting event handler")
|
|
319
|
+
WXRUBY_TRACE_END
|
|
246
320
|
wxEvtHandler* evh = wx_win->GetEventHandler();
|
|
247
321
|
while (evh && evh != wx_win)
|
|
248
322
|
{
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
#endif
|
|
323
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkWindow, 3)
|
|
324
|
+
WXRUBY_TRACE("| GC_mark_wxWindow : found event handler " << evh)
|
|
325
|
+
WXRUBY_TRACE_END
|
|
253
326
|
VALUE rb_evh = SWIG_RubyInstanceFor(evh);
|
|
254
327
|
rb_gc_mark(rb_evh);
|
|
255
328
|
evh = evh->GetNextHandler();
|
|
256
329
|
}
|
|
257
330
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
#endif
|
|
331
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkWindow, 3)
|
|
332
|
+
WXRUBY_TRACE("| GC_mark_wxWindow : getting caret")
|
|
333
|
+
WXRUBY_TRACE_END
|
|
262
334
|
wxCaret* wx_caret = wx_win->GetCaret();
|
|
263
335
|
if ( wx_caret )
|
|
264
336
|
{
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
#endif
|
|
337
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkWindow, 3)
|
|
338
|
+
WXRUBY_TRACE("| GC_mark_wxWindow : found caret " << wx_caret)
|
|
339
|
+
WXRUBY_TRACE_END
|
|
269
340
|
VALUE rb_caret = SWIG_RubyInstanceFor(wx_caret);
|
|
270
341
|
rb_gc_mark(rb_caret);
|
|
271
342
|
}
|
|
@@ -273,57 +344,50 @@ WXRUBY_EXPORT void GC_mark_wxWindow(void *ptr)
|
|
|
273
344
|
// be careful; getting drop target may require fully created window (default ctors do not call Create())
|
|
274
345
|
if (wx_win->GetId() != wxID_ANY) // any fully created window has an Id != wxID_ANY
|
|
275
346
|
{
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
#endif
|
|
347
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkWindow, 3)
|
|
348
|
+
WXRUBY_TRACE("| GC_mark_wxWindow : getting droptarget")
|
|
349
|
+
WXRUBY_TRACE_END
|
|
280
350
|
wxDropTarget* wx_droptarget = wx_win->GetDropTarget();
|
|
281
351
|
if ( wx_droptarget )
|
|
282
352
|
{
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
#endif
|
|
353
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkWindow, 3)
|
|
354
|
+
WXRUBY_TRACE("| GC_mark_wxWindow : found drop target " << wx_droptarget)
|
|
355
|
+
WXRUBY_TRACE_END
|
|
287
356
|
VALUE rb_droptarget = SWIG_RubyInstanceFor(wx_droptarget);
|
|
288
357
|
rb_gc_mark(rb_droptarget);
|
|
289
358
|
}
|
|
290
359
|
}
|
|
291
360
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
#endif
|
|
361
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkWindow, 3)
|
|
362
|
+
WXRUBY_TRACE("| GC_mark_wxWindow : getting validator")
|
|
363
|
+
WXRUBY_TRACE_END
|
|
296
364
|
wxValidator* wx_validator = wx_win->GetValidator();
|
|
297
365
|
if ( wx_validator )
|
|
298
366
|
{
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
#endif
|
|
367
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkWindow, 3)
|
|
368
|
+
WXRUBY_TRACE("| GC_mark_wxWindow : found validator " << wx_validator)
|
|
369
|
+
WXRUBY_TRACE_END
|
|
303
370
|
VALUE rb_validator = SWIG_RubyInstanceFor(wx_validator);
|
|
304
371
|
rb_gc_mark(rb_validator);
|
|
305
372
|
}
|
|
306
373
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
#endif
|
|
374
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkWindow, 2)
|
|
375
|
+
WXRUBY_TRACE("< GC_mark_wxWindow : " << ptr)
|
|
376
|
+
WXRUBY_TRACE_END
|
|
311
377
|
}
|
|
312
378
|
|
|
313
379
|
|
|
314
380
|
WXRUBY_EXPORT void GC_mark_wxFrame(void *ptr)
|
|
315
381
|
{
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
#endif
|
|
382
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkFrame, 2)
|
|
383
|
+
WXRUBY_TRACE("> GC_mark_wxFrame : " << ptr)
|
|
384
|
+
WXRUBY_TRACE_END
|
|
320
385
|
|
|
321
386
|
if ( GC_IsWindowDeleted(ptr) )
|
|
322
387
|
{
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
#endif
|
|
388
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkFrame, 2)
|
|
389
|
+
WXRUBY_TRACE("< GC_mark_wxFrame : deleted")
|
|
390
|
+
WXRUBY_TRACE_END
|
|
327
391
|
return;
|
|
328
392
|
}
|
|
329
393
|
|
|
@@ -337,12 +401,14 @@ WXRUBY_EXPORT void GC_mark_wxFrame(void *ptr)
|
|
|
337
401
|
wxMenuBar* menu_bar = wx_frame->GetMenuBar();
|
|
338
402
|
if ( menu_bar )
|
|
339
403
|
{
|
|
404
|
+
// as this is an attached menu bar the regular marker will not mark
|
|
405
|
+
// any menu content as it can't tell if the c++ object has been deleted or not
|
|
406
|
+
// so we do that here now we know it is still alive
|
|
340
407
|
GC_mark_MenuBarBelongingToFrame(menu_bar);
|
|
341
408
|
}
|
|
342
409
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
#endif
|
|
410
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkFrame, 2)
|
|
411
|
+
WXRUBY_TRACE("< GC_mark_wxFrame : " << ptr)
|
|
412
|
+
WXRUBY_TRACE_END
|
|
347
413
|
}
|
|
348
414
|
%}
|
|
@@ -31,6 +31,7 @@ WXRUBY_EXPORT void GcSizerFreeFunc(void *);
|
|
|
31
31
|
WXRUBY_EXPORT void GcDialogFreeFunc(void *);
|
|
32
32
|
WXRUBY_EXPORT void GcRefCountedFreeFunc(void *);
|
|
33
33
|
WXRUBY_EXPORT void GC_mark_wxSizer(void *);
|
|
34
|
+
WXRUBY_EXPORT void GC_mark_attached_wxMenu(void *);
|
|
34
35
|
WXRUBY_EXPORT void GC_mark_wxWindow(void *);
|
|
35
36
|
WXRUBY_EXPORT void GC_mark_wxFrame(void *);
|
|
36
37
|
WXRUBY_EXPORT void GC_mark_wxEvent(void *);
|