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
|
@@ -19,6 +19,57 @@ module WXRuby3
|
|
|
19
19
|
def setup
|
|
20
20
|
super
|
|
21
21
|
spec.override_inheritance_chain('wxPropertyGridManager', %w[wxPanel wxWindow wxEvtHandler wxObject])
|
|
22
|
+
# need a custom implementation to handle cleaning up tracked objects
|
|
23
|
+
spec.add_header_code <<~__HEREDOC
|
|
24
|
+
WXRUBY_EXPORT void GC_SetWindowDeleted(void *ptr);
|
|
25
|
+
|
|
26
|
+
class WXRubyPropertyGridManager : public wxPropertyGridManager
|
|
27
|
+
{
|
|
28
|
+
public:
|
|
29
|
+
WXRubyPropertyGridManager() : wxPropertyGridManager() {}
|
|
30
|
+
WXRubyPropertyGridManager( wxWindow *parent, wxWindowID id = wxID_ANY,
|
|
31
|
+
const wxPoint& pos = wxDefaultPosition,
|
|
32
|
+
const wxSize& size = wxDefaultSize,
|
|
33
|
+
long style = wxPGMAN_DEFAULT_STYLE,
|
|
34
|
+
const wxString& name = wxASCII_STR(wxPropertyGridManagerNameStr) )
|
|
35
|
+
: wxPropertyGridManager(parent, id, pos, size, style, name) {}
|
|
36
|
+
|
|
37
|
+
virtual ~WXRubyPropertyGridManager()
|
|
38
|
+
{
|
|
39
|
+
// as the grid will not be deleted by calling Destroy() but
|
|
40
|
+
// rather by deleting directly handle GC cleanup here
|
|
41
|
+
GC_SetWindowDeleted(m_pPropGrid);
|
|
42
|
+
// also cleanup all page and property instances that will
|
|
43
|
+
// be deleted by wxPropertyGridManager
|
|
44
|
+
for( wxPropertyGridPage* page : m_arrPages )
|
|
45
|
+
{
|
|
46
|
+
// clean up tracking of all tracked properties
|
|
47
|
+
wxPGProperty* wx_p = page->GetRoot();
|
|
48
|
+
if (!NIL_P(SWIG_RubyInstanceFor(wx_p)))
|
|
49
|
+
{
|
|
50
|
+
SWIG_RubyUnlinkObjects(wx_p);
|
|
51
|
+
SWIG_RubyRemoveTracking(wx_p);
|
|
52
|
+
}
|
|
53
|
+
wxPGVIterator it =
|
|
54
|
+
page->GetVIterator(wxPG_ITERATOR_FLAGS_ALL | wxPG_IT_CHILDREN(wxPG_ITERATOR_FLAGS_ALL));
|
|
55
|
+
// iterate all
|
|
56
|
+
for ( ; !it.AtEnd(); it.Next() )
|
|
57
|
+
{
|
|
58
|
+
wx_p = it.GetProperty();
|
|
59
|
+
if (!RB_NIL_P(SWIG_RubyInstanceFor(wx_p)))
|
|
60
|
+
{
|
|
61
|
+
SWIG_RubyUnlinkObjects(wx_p);
|
|
62
|
+
SWIG_RubyRemoveTracking(wx_p);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Disassociate the C++ and Ruby pages (if any association)
|
|
66
|
+
SWIG_RubyUnlinkObjects(page);
|
|
67
|
+
SWIG_RubyRemoveTracking(page);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
__HEREDOC
|
|
72
|
+
spec.use_class_implementation 'wxPropertyGridManager', 'WXRubyPropertyGridManager'
|
|
22
73
|
spec.add_swig_code 'typedef const wxPGPropArgCls& wxPGPropArg;'
|
|
23
74
|
# mixin PropertyGridInterface
|
|
24
75
|
spec.include_mixin 'wxPropertyGridManager', 'Wx::PG::PropertyGridInterface'
|
|
@@ -29,12 +80,28 @@ module WXRuby3
|
|
|
29
80
|
spec.ignore 'wxPropertyGridManager::GetVIterator'
|
|
30
81
|
# customize mark function
|
|
31
82
|
spec.add_header_code <<~__HEREDOC
|
|
83
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceMarkPropGridMgr, "GC_MARK_PROPGRID_MGR")
|
|
84
|
+
|
|
85
|
+
static bool __wxr_In_GC_mark_wxPropertyGridManager = false;
|
|
86
|
+
|
|
87
|
+
extern void WXRuby_Set_In_GC_mark_wxPropertyGridManager(bool f)
|
|
88
|
+
{
|
|
89
|
+
__wxr_In_GC_mark_wxPropertyGridManager = f;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
extern bool WXRuby_Is_In_GC_mark_wxPropertyGridManager()
|
|
93
|
+
{
|
|
94
|
+
return __wxr_In_GC_mark_wxPropertyGridManager;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
extern void WXRuby_GC_mark_wxPropertyGridPage(wxPropertyGridPage* wx_pgp);
|
|
98
|
+
|
|
32
99
|
static void GC_mark_wxPropertyGridManager(void* ptr)
|
|
33
100
|
{
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
101
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkPropGridMgr, 2)
|
|
102
|
+
WXRUBY_TRACE("> GC_mark_wxPropertyGridManager : " << ptr)
|
|
103
|
+
WXRUBY_TRACE_END
|
|
104
|
+
|
|
38
105
|
if ( GC_IsWindowDeleted(ptr) )
|
|
39
106
|
{
|
|
40
107
|
return;
|
|
@@ -42,46 +109,39 @@ module WXRuby3
|
|
|
42
109
|
// Do standard marking routines as for all wxWindows
|
|
43
110
|
GC_mark_wxWindow(ptr);
|
|
44
111
|
|
|
45
|
-
|
|
112
|
+
WXRuby_Set_In_GC_mark_wxPropertyGridManager(true);
|
|
113
|
+
|
|
114
|
+
wxPropertyGridManager* wx_pgm = (wxPropertyGridManager*) ptr;
|
|
46
115
|
|
|
47
|
-
// mark
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
for (size_t i=0; i < wx_pg->GetPageCount() ;++i)
|
|
116
|
+
// mark the property grid
|
|
117
|
+
wxPropertyGrid* wx_pg = wx_pgm->GetGrid();
|
|
118
|
+
VALUE rb_pg = SWIG_RubyInstanceFor(wx_pg);
|
|
119
|
+
if (!NIL_P(rb_pg))
|
|
52
120
|
{
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
121
|
+
rb_gc_mark(rb_pg);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// mark all properties of all pages
|
|
125
|
+
for (size_t i=0; i < wx_pgm->GetPageCount() ;++i)
|
|
126
|
+
{
|
|
127
|
+
wxPropertyGridPage* wx_pgp = wx_pgm->GetPage(i);
|
|
128
|
+
// check if this page is wrapped in Ruby
|
|
129
|
+
VALUE rb_pgp = SWIG_RubyInstanceFor(wx_pgp);
|
|
130
|
+
if (NIL_P(rb_pgp)) // if not just iterate and mark it's properties
|
|
57
131
|
{
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
if (NIL_P(rb_p))
|
|
64
|
-
{
|
|
65
|
-
VALUE object = (VALUE) p->GetClientData();
|
|
66
|
-
if ( object && !NIL_P(object))
|
|
67
|
-
{
|
|
68
|
-
#ifdef __WXRB_DEBUG__
|
|
69
|
-
if (wxRuby_TraceLevel()>2)
|
|
70
|
-
std::wcout << "*** marking property data " << p << ":" << p->GetName() << std::endl;
|
|
71
|
-
#endif
|
|
72
|
-
rb_gc_mark(object);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else
|
|
76
|
-
{
|
|
77
|
-
rb_gc_mark(rb_p);
|
|
78
|
-
}
|
|
132
|
+
WXRuby_GC_mark_wxPropertyGridPage(wx_pgp);
|
|
133
|
+
}
|
|
134
|
+
else // but a tracked Ruby page instance we can simply mark and it will mark it's properties itself
|
|
135
|
+
{
|
|
136
|
+
rb_gc_mark(rb_pgp);
|
|
79
137
|
}
|
|
80
138
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
139
|
+
|
|
140
|
+
WXRuby_Set_In_GC_mark_wxPropertyGridManager(false);
|
|
141
|
+
|
|
142
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkPropGridMgr, 2)
|
|
143
|
+
WXRUBY_TRACE(" GC_mark_wxPropertyGridManager : " << ptr)
|
|
144
|
+
WXRUBY_TRACE_END
|
|
85
145
|
}
|
|
86
146
|
__HEREDOC
|
|
87
147
|
spec.add_swig_code '%markfunc wxPropertyGridManager "GC_mark_wxPropertyGridManager";'
|
|
@@ -71,6 +71,66 @@ module WXRuby3
|
|
|
71
71
|
map_in ignore: true, code: '$1= true;'
|
|
72
72
|
end
|
|
73
73
|
spec.suppress_warning(473, 'wxPropertyGridPage::DoInsert')
|
|
74
|
+
# customize mark function
|
|
75
|
+
spec.add_header_code <<~__HEREDOC
|
|
76
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceGCMarkPropGridPage, "GC_MARK_PROPGRID_PAGE")
|
|
77
|
+
|
|
78
|
+
extern void WXRuby_GC_mark_wxPropertyGridPage(wxPropertyGridPage* wx_pgp)
|
|
79
|
+
{
|
|
80
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkPropGridPage, 2)
|
|
81
|
+
WXRUBY_TRACE("> WXRuby_GC_mark_wxPropertyGridPage : " << wx_pgp)
|
|
82
|
+
WXRUBY_TRACE_END
|
|
83
|
+
|
|
84
|
+
#ifdef __WXRB_DEBUG__
|
|
85
|
+
long l = 0, n = 0;
|
|
86
|
+
#endif
|
|
87
|
+
VALUE rb_root_prop = SWIG_RubyInstanceFor(wx_pgp->GetRoot());
|
|
88
|
+
if (!NIL_P(rb_root_prop))
|
|
89
|
+
{
|
|
90
|
+
rb_gc_mark(rb_root_prop);
|
|
91
|
+
#ifdef __WXRB_DEBUG__
|
|
92
|
+
++n;
|
|
93
|
+
#endif
|
|
94
|
+
}
|
|
95
|
+
// mark all properties
|
|
96
|
+
wxPGVIterator it =
|
|
97
|
+
wx_pgp->GetVIterator(wxPG_ITERATOR_FLAGS_ALL | wxPG_IT_CHILDREN(wxPG_ITERATOR_FLAGS_ALL));
|
|
98
|
+
// iterate all
|
|
99
|
+
for ( ; !it.AtEnd(); it.Next() )
|
|
100
|
+
{
|
|
101
|
+
#ifdef __WXRB_DEBUG__
|
|
102
|
+
++l;
|
|
103
|
+
#endif
|
|
104
|
+
wxPGProperty* wx_p = it.GetProperty();
|
|
105
|
+
VALUE rb_prop = SWIG_RubyInstanceFor(wx_p);
|
|
106
|
+
if (!RB_NIL_P(rb_prop))
|
|
107
|
+
{
|
|
108
|
+
rb_gc_mark(rb_prop);
|
|
109
|
+
#ifdef __WXRB_DEBUG__
|
|
110
|
+
++n;
|
|
111
|
+
#endif
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkPropGridPage, 2)
|
|
116
|
+
WXRUBY_TRACE("< WXRuby_GC_mark_wxPropertyGridPage: iterated " << l << " properties; marked " << n)
|
|
117
|
+
WXRUBY_TRACE_END
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
static void GC_mark_wxPropertyGridPage(void* ptr)
|
|
121
|
+
{
|
|
122
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkPropGridPage, 2)
|
|
123
|
+
WXRUBY_TRACE("> GC_mark_wxPropertyGridPage : " << ptr)
|
|
124
|
+
WXRUBY_TRACE_END
|
|
125
|
+
|
|
126
|
+
WXRuby_GC_mark_wxPropertyGridPage((wxPropertyGridPage*) ptr);
|
|
127
|
+
|
|
128
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkPropGridPage, 2)
|
|
129
|
+
WXRUBY_TRACE("< GC_mark_wxPropertyGridPage : " << ptr)
|
|
130
|
+
WXRUBY_TRACE_END
|
|
131
|
+
}
|
|
132
|
+
__HEREDOC
|
|
133
|
+
spec.add_swig_code '%markfunc wxPropertyGridPage "GC_mark_wxPropertyGridPage";'
|
|
74
134
|
end
|
|
75
135
|
end # class PropertyGridPage
|
|
76
136
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
5
|
+
###
|
|
6
|
+
# wxRuby3 wxWidgets interface director
|
|
7
|
+
###
|
|
8
|
+
|
|
9
|
+
module WXRuby3
|
|
10
|
+
|
|
11
|
+
class Director
|
|
12
|
+
|
|
13
|
+
class RichToolTip < Director
|
|
14
|
+
|
|
15
|
+
def setup
|
|
16
|
+
super
|
|
17
|
+
end
|
|
18
|
+
end # class RichToolTip
|
|
19
|
+
|
|
20
|
+
end # class Director
|
|
21
|
+
|
|
22
|
+
end # module WXRuby3
|
|
@@ -101,9 +101,14 @@ module WXRuby3
|
|
|
101
101
|
wxRichTextCtrl::KeyboardNavigate
|
|
102
102
|
wxRichTextCtrl::PositionToXY
|
|
103
103
|
wxRichTextCtrl::XYToPosition
|
|
104
|
+
wxRichTextCtrl::PrepareContextMenu
|
|
104
105
|
]
|
|
105
106
|
# this method contains worrisome code and is unclearly documented so I doubt it's usefulness
|
|
106
107
|
spec.ignore 'wxRichTextCtrl::FindContainerAtPoint'
|
|
108
|
+
# redefine for GC specs
|
|
109
|
+
spec.ignore 'wxRichTextCtrl::SetContextMenu', ignore_doc: false
|
|
110
|
+
spec.extend_interface 'wxRichTextCtrl', 'void SetContextMenu(wxMenu *new_context_menu)'
|
|
111
|
+
spec.disown 'wxMenu *new_context_menu'
|
|
107
112
|
# do not think having these proxied is going to bring much for wxRuby and suppressing them
|
|
108
113
|
# prevents code bloat
|
|
109
114
|
spec.no_proxy %w[
|
|
@@ -48,17 +48,26 @@ module WXRuby3
|
|
|
48
48
|
'wxRichTextSelection',
|
|
49
49
|
'wxRichTextProperties'
|
|
50
50
|
spec.add_header_code <<~__HEREDOC
|
|
51
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceFreeRichTextObject, "GC_FREE_RTOBJECT")
|
|
52
|
+
|
|
51
53
|
extern void GC_RichTextObjectFreeFunc(void* ptr)
|
|
52
54
|
{
|
|
55
|
+
WXRUBY_TRACE_IF(WxRubyTraceFreeRichTextObject, 2)
|
|
56
|
+
WXRUBY_TRACE("> GC_RichTextObjectFreeFunc : " << ptr)
|
|
57
|
+
WXRUBY_TRACE_END
|
|
58
|
+
|
|
53
59
|
SWIG_RubyRemoveTracking(ptr);
|
|
54
60
|
if (ptr)
|
|
55
61
|
{
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
#endif
|
|
62
|
+
WXRUBY_TRACE_IF(WxRubyTraceFreeRichTextObject, 3)
|
|
63
|
+
WXRUBY_TRACE("| GC_RichTextObjectFreeFunc : dereferencing")
|
|
64
|
+
WXRUBY_TRACE_END
|
|
60
65
|
((wxRichTextObject*)ptr)->Dereference();
|
|
61
66
|
}
|
|
67
|
+
|
|
68
|
+
WXRUBY_TRACE_IF(WxRubyTraceFreeRichTextObject, 2)
|
|
69
|
+
WXRUBY_TRACE("< GC_RichTextObjectFreeFunc : " << ptr)
|
|
70
|
+
WXRUBY_TRACE_END
|
|
62
71
|
}
|
|
63
72
|
__HEREDOC
|
|
64
73
|
spec.make_abstract 'wxRichTextObject'
|
|
@@ -20,9 +20,16 @@ module WXRuby3
|
|
|
20
20
|
def setup
|
|
21
21
|
super
|
|
22
22
|
spec.items << 'wxRichTextStyleListCtrl' << 'wxRichTextStyleComboCtrl'
|
|
23
|
+
spec.gc_as_window('wxRichTextStyleListBox')
|
|
23
24
|
spec.include 'wx/odcombo.h'
|
|
24
25
|
spec.add_header_code 'extern VALUE wxRuby_RichTextStyleDefinition2Ruby(const wxRichTextStyleDefinition *wx_rtsd, int own);'
|
|
25
|
-
|
|
26
|
+
if Config.instance.wx_version_check('3.3.1') > 0
|
|
27
|
+
spec.override_inheritance_chain('wxRichTextStyleListBox', ['wxHtmlListBox', 'wxVListBox', 'wxVScrolledCanvas', 'wxWindow', 'wxEvtHandler', 'wxObject'])
|
|
28
|
+
elsif Config.instance.wx_version_check('3.3.0') > 0
|
|
29
|
+
spec.override_inheritance_chain('wxRichTextStyleListBox', ['wxHtmlListBox', 'wxVListBox', 'wxVScrolledWindow', 'wxPanel', 'wxWindow', 'wxEvtHandler', 'wxObject'])
|
|
30
|
+
else
|
|
31
|
+
spec.override_inheritance_chain('wxRichTextStyleListBox', ['wxHtmlListBox', 'wxVListBox', { 'wxVScrolledWindow' => 'wxHScrolledWindow' }, 'wxPanel', 'wxWindow', 'wxEvtHandler', 'wxObject'])
|
|
32
|
+
end
|
|
26
33
|
spec.override_inheritance_chain('wxRichTextStyleComboCtrl',
|
|
27
34
|
%w[wxComboCtrl
|
|
28
35
|
wxControl
|
|
@@ -33,7 +40,9 @@ module WXRuby3
|
|
|
33
40
|
spec.extend_interface 'wxRichTextStyleComboCtrl',
|
|
34
41
|
'virtual void DoSetPopupControl(wxComboPopup* popup)',
|
|
35
42
|
visibility: 'protected'
|
|
36
|
-
|
|
43
|
+
# optimize; no need for these virtuals here
|
|
44
|
+
spec.no_proxy 'wxRichTextStyleListBox::OnGetRowHeight',
|
|
45
|
+
'wxRichTextStyleListBox::OnGetRowsHeightHint'
|
|
37
46
|
end
|
|
38
47
|
|
|
39
48
|
end
|
|
@@ -61,6 +61,9 @@ module WXRuby3
|
|
|
61
61
|
end
|
|
62
62
|
spec.ignore 'wxScrolled::OnDraw'
|
|
63
63
|
spec.ignore 'wxScrolled::GetViewStart(int *,int *)'
|
|
64
|
+
if Config.instance.wx_version_check('3.3.2') >= 0
|
|
65
|
+
spec.ignore 'wxScrolled::GetViewStartPixels(int *,int *) const'
|
|
66
|
+
end
|
|
64
67
|
spec.map_apply 'int * OUTPUT' => 'int *'
|
|
65
68
|
end
|
|
66
69
|
|
|
@@ -20,6 +20,7 @@ module WXRuby3
|
|
|
20
20
|
spec.include_mixin 'wxSearchCtrl', { 'Wx::TextEntry' => 'wxTextEntryBase' }
|
|
21
21
|
spec.suppress_warning(473, 'wxSearchCtrl::GetMenu')
|
|
22
22
|
spec.override_inheritance_chain('wxSearchCtrl', %w[wxControl wxWindow wxEvtHandler wxObject])
|
|
23
|
+
spec.disown 'wxMenu *'
|
|
23
24
|
end
|
|
24
25
|
end # class SearchCtrl
|
|
25
26
|
|
|
@@ -35,25 +35,31 @@ module WXRuby3
|
|
|
35
35
|
# this one is protected so ignored by default but we want it here
|
|
36
36
|
# (we do not want GetPopupMenu available for override in Ruby)
|
|
37
37
|
spec.regard %w[wxTaskBarIcon::CreatePopupMenu]
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
#
|
|
42
|
-
#
|
|
38
|
+
if Config.instance.wx_version_check('3.1.5') >= 0
|
|
39
|
+
spec.regard %w[wxTaskBarIcon::GetPopupMenu]
|
|
40
|
+
end
|
|
41
|
+
# This is used for CreatePopupMenu and possibly GetPopupMenu, virtual methods which can be
|
|
42
|
+
# overridden in user subclasses of TaskBarIcon to provide the menu over the icon.
|
|
43
|
+
# In the case of GetPopupMenu the menu will be used but not deleted so it can be stored in
|
|
44
|
+
# a member variable and reused.
|
|
45
|
+
# In the case of CreatePopupMenu the menu is disowned and deleted of use. The Wx::Menu Ruby
|
|
46
|
+
# instance than needs to be protected from GC so the typemap stores the
|
|
43
47
|
# object returned by the ruby method in an instance variable so it's
|
|
44
48
|
# marked. It also handles the special case where +nil+ is returned, to
|
|
45
49
|
# signal to Wx that no menu is to be shown.
|
|
46
50
|
spec.map 'wxMenu *' do
|
|
47
51
|
map_directorout code: <<~__CODE
|
|
48
|
-
|
|
52
|
+
static const std::string create_popup_menu("CreatePopupMenu");
|
|
53
|
+
bool disown = (std::string("$symname") == create_popup_menu);
|
|
54
|
+
if (disown) rb_iv_set(swig_get_self(), "@__popmenu__", $1);
|
|
49
55
|
if (NIL_P($1))
|
|
50
56
|
{
|
|
51
|
-
$result =
|
|
57
|
+
$result = nullptr;
|
|
52
58
|
}
|
|
53
59
|
else
|
|
54
60
|
{
|
|
55
61
|
void * ptr;
|
|
56
|
-
int swig_res = SWIG_ConvertPtr(result, &ptr, $1_descriptor,
|
|
62
|
+
int swig_res = SWIG_ConvertPtr(result, &ptr, $1_descriptor, disown ? SWIG_POINTER_DISOWN : 0);
|
|
57
63
|
if (!SWIG_IsOK(swig_res))
|
|
58
64
|
{
|
|
59
65
|
Swig::DirectorTypeMismatchException::raise(swig_get_self(), "$symname", rb_eTypeError,
|
|
@@ -32,7 +32,16 @@ module WXRuby3
|
|
|
32
32
|
}
|
|
33
33
|
virtual ~WXRubyTextValidator()
|
|
34
34
|
{
|
|
35
|
+
// All Validators are EvtHandlers, so prevent any pending events being
|
|
36
|
+
// sent after destruction (otherwise ObjectPreviouslyDeleted errors result)
|
|
37
|
+
this->SetEvtHandlerEnabled(false);
|
|
35
38
|
wxRuby_ReleaseEvtHandlerProcs(this);
|
|
39
|
+
// Disassociate the C++ and Ruby objects if not done by Ruby free method
|
|
40
|
+
if (!NIL_P(SWIG_RubyInstanceFor(this)))
|
|
41
|
+
{
|
|
42
|
+
SWIG_RubyUnlinkObjects(this);
|
|
43
|
+
SWIG_RubyRemoveTracking(this);
|
|
44
|
+
}
|
|
36
45
|
}
|
|
37
46
|
|
|
38
47
|
virtual wxObject* Clone() const override
|
|
@@ -19,12 +19,123 @@ module WXRuby3
|
|
|
19
19
|
spec.disable_proxies
|
|
20
20
|
spec.ignore 'wxTipWindow::SetTipWindowPtr'
|
|
21
21
|
spec.ignore 'wxTipWindow::wxTipWindow'
|
|
22
|
-
|
|
23
|
-
wxTipWindow
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
__HEREDOC
|
|
22
|
+
if Config.instance.wx_version_check('3.3.2') >= 0
|
|
23
|
+
spec.ignore 'wxTipWindow::Create'
|
|
24
|
+
# need to re-implement this
|
|
25
|
+
spec.ignore 'wxTipWindow::New', ignore_doc: false
|
|
26
|
+
# Rubified version
|
|
27
|
+
spec.add_extend_code 'wxTipWindow', <<~__HEREDOC
|
|
28
|
+
static VALUE New(wxWindow* parent, const wxString& text, wxCoord maxLength = 100, wxRect* rectBounds = nullptr)
|
|
29
|
+
{
|
|
30
|
+
wxTipWindow::Ref tipRef = wxTipWindow::New(parent, text, maxLength, rectBounds);
|
|
31
|
+
|
|
32
|
+
return SWIG_NewPointerObj((new wxTipWindow::Ref(std::move(tipRef))), SWIGTYPE_p_wxTipWindow__Ref, SWIG_POINTER_OWN | 0 );
|
|
33
|
+
}
|
|
34
|
+
__HEREDOC
|
|
35
|
+
# add Ruby-style methods
|
|
36
|
+
spec.add_extend_code 'wxTipWindow::Ref', <<~__HEREDOC
|
|
37
|
+
VALUE is_ok()
|
|
38
|
+
{
|
|
39
|
+
return *$self ? Qtrue : Qfalse;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
wxTipWindow* get_tip_window()
|
|
43
|
+
{
|
|
44
|
+
return $self->Ref::operator->();
|
|
45
|
+
}
|
|
46
|
+
__HEREDOC
|
|
47
|
+
# and aliases
|
|
48
|
+
spec.add_swig_code '%alias wxTipWindow::Ref::is_ok "ok?";'
|
|
49
|
+
spec.add_swig_code '%alias wxTipWindow::Ref::get_tip_window "tip_window";'
|
|
50
|
+
spec.rename_for_ruby 'TipWindow_Ref' => 'wxTipWindow::Ref'
|
|
51
|
+
spec.rename_for_ruby 'new_tip' => 'wxTipWindow::New'
|
|
52
|
+
else
|
|
53
|
+
spec.make_abstract 'wxTipWindow'
|
|
54
|
+
# provide custom wxRuby reference class
|
|
55
|
+
spec.add_header_code <<~__HEREDOC
|
|
56
|
+
class WXTipWindow_Ref
|
|
57
|
+
{
|
|
58
|
+
public:
|
|
59
|
+
WXTipWindow_Ref() {}
|
|
60
|
+
WXTipWindow_Ref& operator=(WXTipWindow_Ref&& o)
|
|
61
|
+
{
|
|
62
|
+
if (_ptr != o._ptr)
|
|
63
|
+
{
|
|
64
|
+
if (_ptr)
|
|
65
|
+
{
|
|
66
|
+
_ptr->SetTipWindowPtr(nullptr);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
_ptr = o._ptr;
|
|
70
|
+
if (_ptr)
|
|
71
|
+
{
|
|
72
|
+
o._ptr = nullptr;
|
|
73
|
+
_ptr->SetTipWindowPtr(&_ptr);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return *this;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
bool is_ok()
|
|
80
|
+
{
|
|
81
|
+
return _ptr ? true : false;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
wxTipWindow* get_tip_window()
|
|
85
|
+
{
|
|
86
|
+
return _ptr;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
wxTipWindow* _ptr = {};
|
|
90
|
+
};
|
|
91
|
+
__HEREDOC
|
|
92
|
+
spec.add_swig_code <<~__HEREDOC
|
|
93
|
+
%alias WXTipWindow_Ref::is_ok "ok?";
|
|
94
|
+
%alias WXTipWindow_Ref::get_tip_window "tip_window";
|
|
95
|
+
|
|
96
|
+
class WXTipWindow_Ref
|
|
97
|
+
{
|
|
98
|
+
private:
|
|
99
|
+
WXTipWindow_Ref();
|
|
100
|
+
|
|
101
|
+
public:
|
|
102
|
+
bool is_ok();
|
|
103
|
+
|
|
104
|
+
wxTipWindow* get_tip_window();
|
|
105
|
+
};
|
|
106
|
+
__HEREDOC
|
|
107
|
+
# add constructor method
|
|
108
|
+
spec.add_extend_code 'wxTipWindow', <<~__HEREDOC
|
|
109
|
+
static VALUE New_Tip(wxWindow* parent, const wxString& text, wxCoord maxLength = 100, wxRect* rectBounds = nullptr)
|
|
110
|
+
{
|
|
111
|
+
std::unique_ptr<WXTipWindow_Ref> retval(new WXTipWindow_Ref);
|
|
112
|
+
std::unique_ptr<wxTipWindow> temp(new wxTipWindow(parent, text, maxLength, &retval->_ptr, rectBounds));
|
|
113
|
+
retval->_ptr = temp.release();
|
|
114
|
+
|
|
115
|
+
return SWIG_NewPointerObj(retval.release(), SWIGTYPE_p_WXTipWindow_Ref, SWIG_POINTER_OWN | 0 );
|
|
116
|
+
}
|
|
117
|
+
__HEREDOC
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def doc_generator
|
|
122
|
+
TipWindowDocGenerator.new(self)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
class TipWindowDocGenerator < DocGenerator
|
|
128
|
+
|
|
129
|
+
def gen_class_doc_members(fdoc, clsdef, cls_members, alias_methods)
|
|
130
|
+
super
|
|
131
|
+
fdoc.doc.puts 'Constructs a new TipWindow object which is immediately shown.'
|
|
132
|
+
fdoc.doc.puts 'Returns a {Wx::TipWindow::Ref}.'
|
|
133
|
+
fdoc.doc.puts '@param parent [Wx::Window] parent window (not nil).'
|
|
134
|
+
fdoc.doc.puts '@param text [String] The text to show, may contain the new line characters.'
|
|
135
|
+
fdoc.doc.puts '@param maxLength [Integer] The length of each line, in pixels. Set to a very large value to avoid wrapping lines.'
|
|
136
|
+
fdoc.doc.puts '@param rectBounds [Wx::Rect] If given, passed to {Wx::TipWindow#set_bounding_rect}, please see its documentation for the description of this parameter.'
|
|
137
|
+
fdoc.doc.puts '@return [Wx::TipWindow::Ref] weak tip window reference'
|
|
138
|
+
fdoc.puts 'def self.new_tip(parent, text, maxLength = 100, rectBounds = nil) end'
|
|
28
139
|
end
|
|
29
140
|
|
|
30
141
|
end
|
|
@@ -33,6 +33,8 @@ module WXRuby3
|
|
|
33
33
|
wxToolBarToolBase::Attach
|
|
34
34
|
]
|
|
35
35
|
spec.no_proxy 'wxToolBarToolBase'
|
|
36
|
+
# for SetDropdownMenu
|
|
37
|
+
spec.disown 'wxMenu *'
|
|
36
38
|
# more sensible name to use
|
|
37
39
|
spec.rename_for_ruby('ToolBarTool' => 'wxToolBarToolBase')
|
|
38
40
|
spec.map 'wxToolBarBase *' => 'Wx::ToolBar' do
|
|
@@ -73,6 +75,10 @@ module WXRuby3
|
|
|
73
75
|
'wxToolBar::AddTool(wxToolBarToolBase *)',
|
|
74
76
|
'wxToolBar::InsertTool(size_t,wxToolBarToolBase *)'
|
|
75
77
|
]
|
|
78
|
+
if Config.instance.features_set?('WXOSX')
|
|
79
|
+
spec.extend_interface('wxToolBar',
|
|
80
|
+
'virtual bool Destroy() override')
|
|
81
|
+
end
|
|
76
82
|
end
|
|
77
83
|
end # class Object
|
|
78
84
|
|
|
@@ -78,7 +78,6 @@ module WXRuby3
|
|
|
78
78
|
"#{spec.class_name(citem)}::Maximize",
|
|
79
79
|
"#{spec.class_name(citem)}::Navigate",
|
|
80
80
|
"#{spec.class_name(citem)}::Refresh",
|
|
81
|
-
"#{spec.class_name(citem)}::Reparent",
|
|
82
81
|
"#{spec.class_name(citem)}::RequestUserAttention",
|
|
83
82
|
"#{spec.class_name(citem)}::Restore",
|
|
84
83
|
"#{spec.class_name(citem)}::SetIcon",
|
|
@@ -37,11 +37,13 @@ module WXRuby3
|
|
|
37
37
|
wxMicroSleep
|
|
38
38
|
wxMilliSleep
|
|
39
39
|
wxSleep
|
|
40
|
-
wxUsleep
|
|
41
40
|
wxNow
|
|
42
41
|
wxDecToHex
|
|
43
42
|
wxHexToDec
|
|
44
43
|
]
|
|
44
|
+
if Config.instance.wx_version_check('3.3.0') <= 0
|
|
45
|
+
spec.ignore 'wxUsleep'
|
|
46
|
+
end
|
|
45
47
|
# ignore these enum(erator)s
|
|
46
48
|
spec.ignore %w[
|
|
47
49
|
wxSignal
|
|
@@ -37,7 +37,16 @@ module WXRuby3
|
|
|
37
37
|
{}
|
|
38
38
|
wxRubyValidator::~wxRubyValidator ()
|
|
39
39
|
{
|
|
40
|
+
// All Validators are EvtHandlers, so prevent any pending events being
|
|
41
|
+
// sent after destruction (otherwise ObjectPreviouslyDeleted errors result)
|
|
42
|
+
this->SetEvtHandlerEnabled(false);
|
|
40
43
|
wxRuby_ReleaseEvtHandlerProcs(this);
|
|
44
|
+
// Disassociate the C++ and Ruby objects if not done by Ruby free method
|
|
45
|
+
if (!NIL_P(SWIG_RubyInstanceFor(this)))
|
|
46
|
+
{
|
|
47
|
+
SWIG_RubyUnlinkObjects(this);
|
|
48
|
+
SWIG_RubyRemoveTracking(this);
|
|
49
|
+
}
|
|
41
50
|
}
|
|
42
51
|
|
|
43
52
|
wxObject* wxRubyValidator::Clone() const
|
|
@@ -147,6 +156,9 @@ module WXRuby3
|
|
|
147
156
|
spec.add_swig_code '%markfunc wxValidator "GC_mark_wxValidator";'
|
|
148
157
|
# will be provided as a pure Ruby method
|
|
149
158
|
spec.ignore 'wxValidator::Clone', ignore_doc: false
|
|
159
|
+
# ignore default ctor docs
|
|
160
|
+
spec.ignore 'wxValidator::wxValidator'
|
|
161
|
+
spec.regard 'wxValidator::wxValidator', regard_doc: false # only use interface spec, not docs
|
|
150
162
|
# add wxRuby specifics
|
|
151
163
|
spec.extend_interface 'wxValidator',
|
|
152
164
|
'wxValidator(const wxValidator& other)'
|