wxruby3 1.6.1 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CREDITS.md +32 -25
- data/INSTALL.md +19 -4
- 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 +152 -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/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/tip_window.rb +18 -6
- 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 +26 -0
- data/lib/wx/pg/property_grid_interface.rb +2 -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 +3 -2
- 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 +16 -5
- 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/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/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 +16 -3
- data/rakelib/lib/director/hvscrolled.rb +7 -106
- 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/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 +4 -1
- 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/validator.rb +12 -0
- data/rakelib/lib/director/variant.rb +36 -20
- data/rakelib/lib/director/vlistbox.rb +25 -22
- data/rakelib/lib/director/window.rb +10 -1
- 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 +3 -1
- data/rakelib/lib/swig_runner.rb +10 -10
- 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 +31 -31
- 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 +400 -11
- data/lib/wx/aui/aui_tab_ctrl.rb +0 -18
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 29b2e3949b365c4778d3b537d91f6b227361bcc3f978fa2c92bdea5e2c81390c
|
|
4
|
+
data.tar.gz: 58e28a379655680b2c7b5ac147436f154102bc551d356b8bd2d4f7a57249fa2f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fa954320cb8c4a44872a78fe5c5da098d5b15667b93b3d9b6f24839fb17a04e42b2d4ccd8eed502407a0eed348cba08da19abdeaab99d8121c5e49674b931227
|
|
7
|
+
data.tar.gz: 7dd47c4496313f52a56ac7387ac195ad4a54ce5758b9015bb92eb5a6a7d8a98b27d8d9b96f06aa12850d613e74e51147fe82a7bdfe5541466c179f73dd7c964d
|
data/CREDITS.md
CHANGED
|
@@ -9,6 +9,13 @@ Martin Corino established the wxRuby3 project in 2022.
|
|
|
9
9
|
|
|
10
10
|
Martin Corino: mcorino at m2c-software dot nl
|
|
11
11
|
|
|
12
|
+
### Contributors
|
|
13
|
+
|
|
14
|
+
Andy Maleh \
|
|
15
|
+
Brandon Zylstra \
|
|
16
|
+
Johnny Willemsen \
|
|
17
|
+
Jacob Miner
|
|
18
|
+
|
|
12
19
|
## wxRuby 2
|
|
13
20
|
|
|
14
21
|
In 2005 Kevin Smith established the wxRuby 2.0 project of which parts are still
|
|
@@ -19,31 +26,31 @@ feature requests.
|
|
|
19
26
|
The alphabetic list shows (some of) those who've contributed code to
|
|
20
27
|
wxRuby 2.0.
|
|
21
28
|
|
|
22
|
-
Albin Holmgren
|
|
23
|
-
Alex Fenton
|
|
24
|
-
Artur Kuptel
|
|
25
|
-
Cezar Espinola
|
|
26
|
-
Chauk-Mean Proum
|
|
27
|
-
Christophe Bludau
|
|
28
|
-
Curt Hibbs
|
|
29
|
-
Dale Edmons
|
|
30
|
-
Daniel Savarese
|
|
31
|
-
David Whetstone
|
|
32
|
-
Dirk Traulsen
|
|
33
|
-
Hawley Waldman
|
|
34
|
-
Jani Monoses
|
|
35
|
-
Joe Seeley
|
|
36
|
-
Jonathan Maasland
|
|
37
|
-
Kevin Smith
|
|
38
|
-
Mario Steele
|
|
39
|
-
Nic
|
|
40
|
-
Pascal Hurni
|
|
41
|
-
Robert Carlin
|
|
42
|
-
Roy Sutton
|
|
43
|
-
Ryuichi Sakamoto
|
|
44
|
-
Sean Lindsay
|
|
45
|
-
Sean Long
|
|
46
|
-
Tobias Gruetzmacher
|
|
29
|
+
Albin Holmgren \
|
|
30
|
+
Alex Fenton \
|
|
31
|
+
Artur Kuptel \
|
|
32
|
+
Cezar Espinola \
|
|
33
|
+
Chauk-Mean Proum \
|
|
34
|
+
Christophe Bludau \
|
|
35
|
+
Curt Hibbs \
|
|
36
|
+
Dale Edmons \
|
|
37
|
+
Daniel Savarese \
|
|
38
|
+
David Whetstone \
|
|
39
|
+
Dirk Traulsen \
|
|
40
|
+
Hawley Waldman \
|
|
41
|
+
Jani Monoses \
|
|
42
|
+
Joe Seeley \
|
|
43
|
+
Jonathan Maasland \
|
|
44
|
+
Kevin Smith \
|
|
45
|
+
Mario Steele \
|
|
46
|
+
Nic \
|
|
47
|
+
Pascal Hurni \
|
|
48
|
+
Robert Carlin \
|
|
49
|
+
Roy Sutton \
|
|
50
|
+
Ryuichi Sakamoto \
|
|
51
|
+
Sean Lindsay \
|
|
52
|
+
Sean Long \
|
|
53
|
+
Tobias Gruetzmacher \
|
|
47
54
|
Zach Dennis
|
|
48
55
|
|
|
49
56
|
## wxWidgets
|
data/INSTALL.md
CHANGED
|
@@ -27,7 +27,7 @@ should always result in a successfully installed wxRuby3 version.
|
|
|
27
27
|
> The user is therefor required to install a Ruby interpreter using either [MacPorts](https://www.macports.org/) (both
|
|
28
28
|
> privileged and user installations are supported) or [Homebrew](https://brew.sh/) or Ruby installers/version managers
|
|
29
29
|
> like [ruby-install](https://github.com/postmodern/ruby-install) or [RVM](https://rvm.io) (only user installations
|
|
30
|
-
> supported) .
|
|
30
|
+
> supported) or [rbenv](https://rbenv.org).
|
|
31
31
|
|
|
32
32
|
[Below](INSTALL.md#installing-software-requirements) more details regarding the software requirements for wxRuby3, the
|
|
33
33
|
setup procedure and various options to tweak and customize the installation (including platform specific details for
|
|
@@ -78,8 +78,9 @@ The following tables lists the packages provided by the current wxRuby3 release
|
|
|
78
78
|
| Linux | Debian (at least latest stable) | x86_64 <b>and</b> ARM64 | Distro provided Ruby <b>and</b> Latest stable Ruby |
|
|
79
79
|
| Linux | Ubuntu (at least latest stable) | x86_64 <b>and</b> ARM64 | Distro provided Ruby <b>and</b> Latest stable Ruby |
|
|
80
80
|
| Windows | NA | x86_64 | Latest stable Ruby |
|
|
81
|
-
| OSX |
|
|
82
|
-
| OSX |
|
|
81
|
+
| OSX | MacOS 14 | ARM64 | Latest stable Ruby |
|
|
82
|
+
| OSX | MacOS 15 | x86_64 <b>and</b> ARM64 | Latest stable Ruby |
|
|
83
|
+
| OSX | MacOS 26 | x86_64 <b>and</b> ARM64 | Latest stable Ruby |
|
|
83
84
|
|
|
84
85
|
### User created packages
|
|
85
86
|
|
|
@@ -336,7 +337,19 @@ the `--with-wxwin` option like this:
|
|
|
336
337
|
wxruby setup --with-wxwin
|
|
337
338
|
```
|
|
338
339
|
|
|
339
|
-
This will force the setup procedure to build and install an embedded wxWidgets version for wxRuby3.
|
|
340
|
+
This will force the setup procedure to build and install an embedded wxWidgets version for wxRuby3. By default the
|
|
341
|
+
latest stable wxWidgets release will be embedded.
|
|
342
|
+
|
|
343
|
+
#### Specify specific embedded wxWidgets release
|
|
344
|
+
|
|
345
|
+
When using `--with-wxwin` a specific wxWidgets release version can be specified like this:
|
|
346
|
+
|
|
347
|
+
```shell
|
|
348
|
+
wxruby setup --with-wxwin --wxversion=3.2.9
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
Note that both `--with-wxwin` and `--wxversion` are required. Also note that the release version must be specified
|
|
352
|
+
as '<major version nr>.<minor version number>.<release number>' without any 'v' (or other) prefix.
|
|
340
353
|
|
|
341
354
|
#### Force embedded wxWidgets head installation
|
|
342
355
|
|
|
@@ -347,6 +360,8 @@ be started with the `--with-wxhead` option like this:
|
|
|
347
360
|
wxruby setup --with-wxhead
|
|
348
361
|
```
|
|
349
362
|
|
|
363
|
+
Note that in this case `--with-wxwin` is implied.
|
|
364
|
+
|
|
350
365
|
> **NOTE**<br>
|
|
351
366
|
> Although wxRuby3 endeavors to keep up to date with the wxWidgets master branch your mileage may vary depending on
|
|
352
367
|
> the development state of the wxWidgets master branch. You can check the latest results of the wxRuby3 CI master build
|
data/README.md
CHANGED
|
@@ -99,11 +99,11 @@ of these products.
|
|
|
99
99
|
|
|
100
100
|
Currently the following are fully supported:
|
|
101
101
|
|
|
102
|
-
| Platform
|
|
103
|
-
|
|
104
|
-
| Windows >= 10
|
|
105
|
-
| Linux (tested; all major AMD64 and ARM64 distributions: Ubuntu, Debian, Fedora, OpenSuSE and ArchLinux)<br>(most likely also i686) | Ruby >= 2.7
|
|
106
|
-
| MacOS >=
|
|
102
|
+
| Platform | Ruby version(s) | wxWidgets version(s) |
|
|
103
|
+
|--------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------|----------------------|
|
|
104
|
+
| Windows >= 10 | Ruby >= 2.7<br>(RubyInstaller MSYS2-DevKit) | wxWidgets >= 3.2 |
|
|
105
|
+
| Linux (tested; all major AMD64 and ARM64 distributions: Ubuntu, Debian, Fedora, OpenSuSE, LinuxMint, Manjaro and ArchLinux)<br>(most likely also i686) | Ruby >= 2.7 | wxWidgets >= 3.2 |
|
|
106
|
+
| MacOS >= 14 (MacOS 13 most likely also works) using Cocoa (tested on AMD64 and ARM64 M1/M2 Chip) | Ruby >= 2.7 (MacPorts, Homebrew, ruby-install, RVM, Rbenv) | wxWidgets >= 3.2 |
|
|
107
107
|
|
|
108
108
|
Support for other platforms is not being actively developed at present,
|
|
109
109
|
but patches are welcome. It is likely to be much simpler to get wxRuby
|
|
Binary file
|
|
Binary file
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
//
|
|
3
3
|
// This software is released under the MIT license.
|
|
4
4
|
|
|
5
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceWinDestroy, "WINDOW_DESTROY")
|
|
6
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceMarkApp, "GC_MARK_APP")
|
|
7
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceAppRun, "APP_RUN")
|
|
8
|
+
|
|
5
9
|
#include <memory>
|
|
6
10
|
|
|
7
11
|
/*
|
|
@@ -35,16 +39,17 @@ public:
|
|
|
35
39
|
void OnWindowDestroy(wxWindowDestroyEvent &event)
|
|
36
40
|
{
|
|
37
41
|
wxObject* wx_obj = event.GetEventObject();
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
|
|
43
|
+
WXRUBY_TRACE_IF(WxRubyTraceWinDestroy, 1)
|
|
44
|
+
WXRUBY_TRACE("< OnWindowDestroy [" << wx_obj << "]")
|
|
45
|
+
WXRUBY_TRACE_END
|
|
46
|
+
|
|
42
47
|
GC_SetWindowDeleted((void *)wx_obj);
|
|
43
48
|
event.Skip();
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
49
|
+
|
|
50
|
+
WXRUBY_TRACE_IF(WxRubyTraceWinDestroy, 1)
|
|
51
|
+
WXRUBY_TRACE("> OnWindowDestroy [" << wx_obj << "]")
|
|
52
|
+
WXRUBY_TRACE_END
|
|
48
53
|
}
|
|
49
54
|
|
|
50
55
|
bool IsRunning() const { return this->is_running_; }
|
|
@@ -83,11 +88,9 @@ public:
|
|
|
83
88
|
// Wx::THE_APP is a constant so always checked in GC mark phase.
|
|
84
89
|
static void mark_wxRubyApp(void *ptr)
|
|
85
90
|
{
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
std::wcout << "=== Starting App GC mark phase" << std::endl;
|
|
90
|
-
#endif
|
|
91
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkApp, 1)
|
|
92
|
+
WXRUBY_TRACE(">=== Starting App GC mark phase")
|
|
93
|
+
WXRUBY_TRACE_END
|
|
91
94
|
|
|
92
95
|
// If the App has ended, the ruby object will have been unlinked from
|
|
93
96
|
// the C++ one; this implies that all Windows have already been destroyed
|
|
@@ -95,10 +98,9 @@ public:
|
|
|
95
98
|
// errors.
|
|
96
99
|
if ( !wxRubyApp::GetInstance() || !wxRubyApp::GetInstance()->IsRunning() )
|
|
97
100
|
{
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
#endif
|
|
101
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkApp, 1)
|
|
102
|
+
WXRUBY_TRACE("<=== App not started yet or has ended, skipping mark phase")
|
|
103
|
+
WXRUBY_TRACE_END
|
|
102
104
|
return;
|
|
103
105
|
}
|
|
104
106
|
|
|
@@ -125,10 +127,9 @@ public:
|
|
|
125
127
|
// list of tracked objects
|
|
126
128
|
wxRuby_IterateTracking(&wxRubyApp::markIterate);
|
|
127
129
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
#endif
|
|
130
|
+
WXRUBY_TRACE_IF(WxRubyTraceMarkApp, 1)
|
|
131
|
+
WXRUBY_TRACE("<=== App GC mark phase completed")
|
|
132
|
+
WXRUBY_TRACE_END
|
|
132
133
|
}
|
|
133
134
|
|
|
134
135
|
// This is the method run when main_loop is called in Ruby
|
|
@@ -155,10 +156,9 @@ public:
|
|
|
155
156
|
this->Connect(wxEVT_DESTROY,
|
|
156
157
|
wxWindowDestroyEventHandler(wxRubyApp::OnWindowDestroy));
|
|
157
158
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
#endif
|
|
159
|
+
WXRUBY_TRACE_IF(WxRubyTraceAppRun, 1)
|
|
160
|
+
WXRUBY_TRACE("> main_loop : Calling wxEntry, this=" << this)
|
|
161
|
+
WXRUBY_TRACE_END
|
|
162
162
|
|
|
163
163
|
// collect ruby app name and arguments array
|
|
164
164
|
VALUE rb_args = rb_get_argv();
|
|
@@ -184,15 +184,13 @@ public:
|
|
|
184
184
|
it or any of it's members anymore but only unroll the callstack.
|
|
185
185
|
*/
|
|
186
186
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
#endif
|
|
187
|
+
WXRUBY_TRACE_IF(WxRubyTraceAppRun, 1)
|
|
188
|
+
WXRUBY_TRACE("| main_loop : returned from wxEntry...")
|
|
189
|
+
WXRUBY_TRACE_END
|
|
191
190
|
rb_gc_start();
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
#endif
|
|
191
|
+
WXRUBY_TRACE_IF(WxRubyTraceAppRun, 1)
|
|
192
|
+
WXRUBY_TRACE("| main_loop : survived gc")
|
|
193
|
+
WXRUBY_TRACE_END
|
|
196
194
|
|
|
197
195
|
rb_const_remove(mWxCore, rb_intern("THE_APP"));
|
|
198
196
|
|
|
@@ -201,6 +199,11 @@ public:
|
|
|
201
199
|
{
|
|
202
200
|
rb_exc_raise(exc);
|
|
203
201
|
}
|
|
202
|
+
|
|
203
|
+
WXRUBY_TRACE_IF(WxRubyTraceAppRun, 1)
|
|
204
|
+
WXRUBY_TRACE("< main_loop")
|
|
205
|
+
WXRUBY_TRACE_END
|
|
206
|
+
|
|
204
207
|
return rc;
|
|
205
208
|
}
|
|
206
209
|
|
|
@@ -210,10 +213,9 @@ public:
|
|
|
210
213
|
// be initialized any earlier than this without crashing
|
|
211
214
|
bool OnInit() override
|
|
212
215
|
{
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
#endif
|
|
216
|
+
WXRUBY_TRACE_IF(WxRubyTraceAppRun, 1)
|
|
217
|
+
WXRUBY_TRACE("> OnInit")
|
|
218
|
+
WXRUBY_TRACE_END
|
|
217
219
|
|
|
218
220
|
if (!wxApp::OnInit())
|
|
219
221
|
return false;
|
|
@@ -236,6 +238,10 @@ public:
|
|
|
236
238
|
result = Qfalse; // exit app
|
|
237
239
|
}
|
|
238
240
|
|
|
241
|
+
WXRUBY_TRACE_IF(WxRubyTraceAppRun, 1)
|
|
242
|
+
WXRUBY_TRACE("< OnInit -> " << ((result == Qfalse || result == Qnil) ? "false" : "true"))
|
|
243
|
+
WXRUBY_TRACE_END
|
|
244
|
+
|
|
239
245
|
// If on_init return any (ruby) true value, signal to wxWidgets to
|
|
240
246
|
// enter the main event loop by returning true, else return false
|
|
241
247
|
// which will make wxWidgets exit.
|
|
@@ -252,10 +258,9 @@ public:
|
|
|
252
258
|
|
|
253
259
|
int OnExit() override
|
|
254
260
|
{
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
#endif
|
|
261
|
+
WXRUBY_TRACE_IF(WxRubyTraceAppRun, 1)
|
|
262
|
+
WXRUBY_TRACE("> OnExit")
|
|
263
|
+
WXRUBY_TRACE_END
|
|
259
264
|
|
|
260
265
|
// Get the ruby representation of the App object, and call the
|
|
261
266
|
// ruby on_exit method (if any) for application level cleanup
|
|
@@ -276,6 +281,10 @@ public:
|
|
|
276
281
|
// perform wxRuby cleanup
|
|
277
282
|
_wxRuby_Cleanup();
|
|
278
283
|
|
|
284
|
+
WXRUBY_TRACE_IF(WxRubyTraceAppRun, 1)
|
|
285
|
+
WXRUBY_TRACE("< OnExit")
|
|
286
|
+
WXRUBY_TRACE_END
|
|
287
|
+
|
|
279
288
|
// execute base wxWidgets functionality
|
|
280
289
|
return this->wxApp::OnExit();
|
|
281
290
|
}
|
|
@@ -308,10 +317,10 @@ public:
|
|
|
308
317
|
|
|
309
318
|
void _wxRuby_Cleanup()
|
|
310
319
|
{
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
320
|
+
WXRUBY_TRACE_IF(WxRubyTraceAppRun, 2)
|
|
321
|
+
WXRUBY_TRACE("> _wxRuby_Cleanup")
|
|
322
|
+
WXRUBY_TRACE_END
|
|
323
|
+
|
|
315
324
|
// Note in a global variable that the App has ended, so that we
|
|
316
325
|
// can skip any GC marking later
|
|
317
326
|
this->is_running_ = false;
|
|
@@ -334,5 +343,9 @@ public:
|
|
|
334
343
|
SWIG_RubyRemoveTracking(oldlog);
|
|
335
344
|
delete oldlog;
|
|
336
345
|
}
|
|
346
|
+
|
|
347
|
+
WXRUBY_TRACE_IF(WxRubyTraceAppRun, 2)
|
|
348
|
+
WXRUBY_TRACE("< _wxRuby_Cleanup")
|
|
349
|
+
WXRUBY_TRACE_END
|
|
337
350
|
}
|
|
338
351
|
};
|
|
@@ -39,8 +39,85 @@ private:
|
|
|
39
39
|
|
|
40
40
|
// Exported runtime helper methods
|
|
41
41
|
|
|
42
|
+
// Debug tracing support
|
|
42
43
|
#ifdef __WXRB_DEBUG__
|
|
43
|
-
|
|
44
|
+
#include <cstdlib>
|
|
45
|
+
#include <string>
|
|
46
|
+
#include <algorithm>
|
|
47
|
+
#include <ctype.h>
|
|
48
|
+
|
|
49
|
+
class WxRubyTraceGuard
|
|
50
|
+
{
|
|
51
|
+
public:
|
|
52
|
+
WxRubyTraceGuard(const std::string& trace_id)
|
|
53
|
+
{
|
|
54
|
+
std::string trace_env_id = to_uppercase(trace_id);
|
|
55
|
+
while (!trace_env_id.empty())
|
|
56
|
+
{
|
|
57
|
+
// see if we can find a trace setting which starts with 'WXRUBY_TRACE_'
|
|
58
|
+
// followed by the trace id
|
|
59
|
+
std::string trace_env_var = std::string("WXRUBY_TRACE_") + trace_env_id;
|
|
60
|
+
char* env_val = std::getenv(trace_env_var.c_str());
|
|
61
|
+
if (env_val)
|
|
62
|
+
{
|
|
63
|
+
// trace setting found
|
|
64
|
+
this->_trace_lvl = std::atoi(env_val);
|
|
65
|
+
break; // done
|
|
66
|
+
}
|
|
67
|
+
// see if there is a parent trace category we can check
|
|
68
|
+
std::string::size_type offs = trace_env_id.find_last_of('_');
|
|
69
|
+
if (offs != std::string::npos )
|
|
70
|
+
{
|
|
71
|
+
// reduce the id to possible parent category
|
|
72
|
+
trace_env_id = trace_env_id.substr(0, offs);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (offs == std::string::npos || trace_env_id.empty())
|
|
76
|
+
{
|
|
77
|
+
// check for global tracing
|
|
78
|
+
env_val = std::getenv("WXRUBY_TRACE");
|
|
79
|
+
if (env_val)
|
|
80
|
+
{
|
|
81
|
+
// trace setting found
|
|
82
|
+
this->_trace_lvl = std::atoi(env_val);
|
|
83
|
+
}
|
|
84
|
+
break; // done
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
int trace_level() { return this->_trace_lvl; }
|
|
90
|
+
|
|
91
|
+
private:
|
|
92
|
+
std::string to_uppercase(std::string s)
|
|
93
|
+
{
|
|
94
|
+
std::transform(s.begin(), s.end(), s.begin(), [](unsigned char c){ return std::toupper(c); });
|
|
95
|
+
return s;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
int _trace_lvl {};
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
#define WXRUBY_TRACE_GUARD(name, trace_id) static WxRubyTraceGuard name (trace_id);
|
|
102
|
+
|
|
103
|
+
#define WXRUBY_TRACE_IF(__trace_guard__, __level__) \
|
|
104
|
+
if (__trace_guard__.trace_level() >= __level__) {
|
|
105
|
+
|
|
106
|
+
#define WXRUBY_TRACE_WITH(__stmt__) __stmt__ ;
|
|
107
|
+
|
|
108
|
+
#define WXRUBY_TRACE(__stmt__) \
|
|
109
|
+
std::wcout << __stmt__ << std::endl;
|
|
110
|
+
|
|
111
|
+
#define WXRUBY_TRACE_END }
|
|
112
|
+
|
|
113
|
+
#else
|
|
114
|
+
|
|
115
|
+
#define WXRUBY_TRACE_GUARD(name, trace_id)
|
|
116
|
+
#define WXRUBY_TRACE_IF(__trace_guard__, __level__)
|
|
117
|
+
#define WXRUBY_TRACE_WITH(__stmt__)
|
|
118
|
+
#define WXRUBY_TRACE(__stmt__)
|
|
119
|
+
#define WXRUBY_TRACE_END
|
|
120
|
+
|
|
44
121
|
#endif
|
|
45
122
|
|
|
46
123
|
WXRUBY_EXPORT VALUE wxRuby_Funcall(VALUE rcvr, ID func, int argc, ...);
|
data/ext/wxruby3/swig/common.i
CHANGED
|
@@ -134,8 +134,8 @@
|
|
|
134
134
|
#include <wx/variant.h>
|
|
135
135
|
#endif
|
|
136
136
|
|
|
137
|
-
#if ! wxCHECK_VERSION(3,
|
|
138
|
-
#error "This version of wxRuby requires WxWidgets 3.
|
|
137
|
+
#if ! wxCHECK_VERSION(3,2,0)
|
|
138
|
+
#error "This version of wxRuby requires WxWidgets 3.2.0 or greater"
|
|
139
139
|
#endif
|
|
140
140
|
|
|
141
141
|
#include "wxruby-runtime.h"
|
|
@@ -109,7 +109,7 @@ namespace Swig {
|
|
|
109
109
|
void setup_error(VALUE error);
|
|
110
110
|
|
|
111
111
|
public:
|
|
112
|
-
virtual ~DirectorException()
|
|
112
|
+
virtual ~DirectorException() SWIG_NOEXCEPT;
|
|
113
113
|
|
|
114
114
|
VALUE getType() const
|
|
115
115
|
{
|
|
@@ -127,7 +127,7 @@ namespace Swig {
|
|
|
127
127
|
return swig_msg;
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
const char *what() const
|
|
130
|
+
const char *what() const SWIG_NOEXCEPT
|
|
131
131
|
{
|
|
132
132
|
return swig_msg.c_str();
|
|
133
133
|
}
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
|
|
8
8
|
/* auxiliary ruby fail method */
|
|
9
9
|
|
|
10
|
+
// SWIG < 4.4.0
|
|
11
|
+
#if SWIG_VERSION < 0x040400
|
|
10
12
|
%fragment("SWIG_ruby_failed","header")
|
|
11
13
|
{
|
|
12
14
|
SWIGINTERN VALUE
|
|
@@ -15,18 +17,16 @@ SWIG_ruby_failed(void)
|
|
|
15
17
|
return Qnil;
|
|
16
18
|
}
|
|
17
19
|
}
|
|
18
|
-
|
|
19
|
-
%
|
|
20
|
-
SWIGINTERN VALUE SWIG_AUX_##Method##(VALUE *args)
|
|
20
|
+
#else
|
|
21
|
+
%fragment("SWIG_ruby_failed","header")
|
|
21
22
|
{
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return obj;
|
|
23
|
+
SWIGINTERN VALUE
|
|
24
|
+
SWIG_ruby_failed(VALUE SWIGUNUSEDPARM(arg1), VALUE SWIGUNUSEDPARM(arg2))
|
|
25
|
+
{
|
|
26
|
+
return Qnil;
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
}
|
|
29
|
+
#endif
|
|
30
30
|
|
|
31
31
|
/* boolean */
|
|
32
32
|
|
|
@@ -68,7 +68,14 @@ SWIG_AsVal_dec(bool)(VALUE obj, bool *val)
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
%fragment(SWIG_AsVal_frag(long),"header",fragment="SWIG_ruby_failed") {
|
|
71
|
-
|
|
71
|
+
SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE* args)
|
|
72
|
+
{
|
|
73
|
+
VALUE obj = args[0];
|
|
74
|
+
VALUE type = TYPE(obj);
|
|
75
|
+
long *res = (long *)(args[1]);
|
|
76
|
+
*res = (type != T_BIGNUM) ? NUM2LONG(obj) : rb_big2long(obj);
|
|
77
|
+
return obj;
|
|
78
|
+
}
|
|
72
79
|
|
|
73
80
|
SWIGINTERN int
|
|
74
81
|
SWIG_AsVal_dec(long)(VALUE obj, long* val)
|
|
@@ -100,7 +107,14 @@ SWIG_From_dec(unsigned long)(unsigned long value)
|
|
|
100
107
|
}
|
|
101
108
|
|
|
102
109
|
%fragment(SWIG_AsVal_frag(unsigned long),"header",fragment="SWIG_ruby_failed") {
|
|
103
|
-
|
|
110
|
+
SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE* args)
|
|
111
|
+
{
|
|
112
|
+
VALUE obj = args[0];
|
|
113
|
+
VALUE type = TYPE(obj);
|
|
114
|
+
unsigned long *res = (unsigned long *)(args[1]);
|
|
115
|
+
*res = (type != T_BIGNUM) ? NUM2ULONG(obj) : rb_big2ulong(obj);
|
|
116
|
+
return obj;
|
|
117
|
+
}
|
|
104
118
|
|
|
105
119
|
SWIGINTERN int
|
|
106
120
|
SWIG_AsVal_dec(unsigned long)(VALUE obj, unsigned long *val)
|
|
@@ -112,6 +126,10 @@ SWIG_AsVal_dec(unsigned long)(VALUE obj, unsigned long *val)
|
|
|
112
126
|
a[0] = obj;
|
|
113
127
|
a[1] = (VALUE)(&v);
|
|
114
128
|
if (rb_rescue(RUBY_METHOD_FUNC(SWIG_AUX_NUM2ULONG), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) {
|
|
129
|
+
#if SWIG_VERSION >= 0x040400
|
|
130
|
+
if (rb_funcall(obj, swig_lowerthan_id, 1, INT2FIX(0)) != Qfalse)
|
|
131
|
+
return SWIG_OverflowError;
|
|
132
|
+
#endif
|
|
115
133
|
if (val) *val = v;
|
|
116
134
|
return SWIG_OK;
|
|
117
135
|
}
|
|
@@ -138,7 +156,14 @@ SWIG_From_dec(long long)(long long value)
|
|
|
138
156
|
fragment="SWIG_ruby_failed",
|
|
139
157
|
fragment="SWIG_LongLongAvailable") {
|
|
140
158
|
%#ifdef SWIG_LONG_LONG_AVAILABLE
|
|
141
|
-
|
|
159
|
+
SWIGINTERN VALUE SWIG_AUX_NUM2LL(VALUE* args)
|
|
160
|
+
{
|
|
161
|
+
VALUE obj = args[0];
|
|
162
|
+
VALUE type = TYPE(obj);
|
|
163
|
+
long long *res = (long long *)(args[1]);
|
|
164
|
+
*res = (type != T_BIGNUM) ? NUM2LL(obj) : rb_big2ll(obj);
|
|
165
|
+
return obj;
|
|
166
|
+
}
|
|
142
167
|
|
|
143
168
|
SWIGINTERN int
|
|
144
169
|
SWIG_AsVal_dec(long long)(VALUE obj, long long *val)
|
|
@@ -176,7 +201,14 @@ SWIG_From_dec(unsigned long long)(unsigned long long value)
|
|
|
176
201
|
fragment="SWIG_ruby_failed",
|
|
177
202
|
fragment="SWIG_LongLongAvailable") {
|
|
178
203
|
%#ifdef SWIG_LONG_LONG_AVAILABLE
|
|
179
|
-
|
|
204
|
+
SWIGINTERN VALUE SWIG_AUX_NUM2ULL(VALUE* args)
|
|
205
|
+
{
|
|
206
|
+
VALUE obj = args[0];
|
|
207
|
+
VALUE type = TYPE(obj);
|
|
208
|
+
long long *res = (long long *)(args[1]);
|
|
209
|
+
*res = (type != T_BIGNUM) ? NUM2ULL(obj) : rb_big2ull(obj);
|
|
210
|
+
return obj;
|
|
211
|
+
}
|
|
180
212
|
|
|
181
213
|
SWIGINTERN int
|
|
182
214
|
SWIG_AsVal_dec(unsigned long long)(VALUE obj, unsigned long long *val)
|
|
@@ -188,6 +220,10 @@ SWIG_AsVal_dec(unsigned long long)(VALUE obj, unsigned long long *val)
|
|
|
188
220
|
a[0] = obj;
|
|
189
221
|
a[1] = (VALUE)(&v);
|
|
190
222
|
if (rb_rescue(RUBY_METHOD_FUNC(SWIG_AUX_NUM2ULL), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) {
|
|
223
|
+
#if SWIG_VERSION >= 0x040400
|
|
224
|
+
if (rb_funcall(obj, swig_lowerthan_id, 1, INT2FIX(0)) != Qfalse)
|
|
225
|
+
return SWIG_OverflowError;
|
|
226
|
+
#endif
|
|
191
227
|
if (val) *val = v;
|
|
192
228
|
return SWIG_OK;
|
|
193
229
|
}
|
|
@@ -204,7 +240,15 @@ SWIG_AsVal_dec(unsigned long long)(VALUE obj, unsigned long long *val)
|
|
|
204
240
|
}
|
|
205
241
|
|
|
206
242
|
%fragment(SWIG_AsVal_frag(double),"header",fragment="SWIG_ruby_failed") {
|
|
207
|
-
|
|
243
|
+
SWIGINTERN VALUE SWIG_AUX_NUM2DBL(VALUE* args)
|
|
244
|
+
{
|
|
245
|
+
//VALUE *args = (VALUE *)arg;
|
|
246
|
+
VALUE obj = args[0];
|
|
247
|
+
VALUE type = TYPE(obj);
|
|
248
|
+
double *res = (double *)(args[1]);
|
|
249
|
+
*res = NUM2DBL(obj); (void)type;
|
|
250
|
+
return obj;
|
|
251
|
+
}
|
|
208
252
|
|
|
209
253
|
SWIGINTERN int
|
|
210
254
|
SWIG_AsVal_dec(double)(VALUE obj, double *val)
|
|
@@ -77,6 +77,10 @@ typedef struct WXRUBY_EXPORT swig_class {
|
|
|
77
77
|
int trackObjects;
|
|
78
78
|
} swig_class;
|
|
79
79
|
|
|
80
|
+
#if SWIG_VERSION >= 0x040400
|
|
81
|
+
extern ID swig_lowerthan_id;
|
|
82
|
+
#endif
|
|
83
|
+
|
|
80
84
|
/*
|
|
81
85
|
If your swig extension is to be run within an embedded ruby and has
|
|
82
86
|
director callbacks, you should set -DRUBY_EMBEDDED during compilation.
|