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
|
@@ -12,120 +12,78 @@ module WXRuby3
|
|
|
12
12
|
|
|
13
13
|
class Director
|
|
14
14
|
|
|
15
|
-
class AuiTabCtrl <
|
|
15
|
+
class AuiTabCtrl < Director
|
|
16
16
|
|
|
17
17
|
def setup
|
|
18
|
-
# first let Director::Window do it's stuff
|
|
19
18
|
super
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
spec.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
VALUE ButtonHitTest(int x, int y)
|
|
43
|
-
{
|
|
44
|
-
wxAuiTabContainerButton* hit = 0;
|
|
45
|
-
if (self->ButtonHitTest(x, y, &hit))
|
|
46
|
-
{
|
|
47
|
-
wxAuiTabContainerButton* rc_hit = new wxAuiTabContainerButton(*hit);
|
|
48
|
-
// return owned copy
|
|
49
|
-
return SWIG_NewPointerObj(SWIG_as_voidptr(rc_hit), SWIGTYPE_p_wxAuiTabContainerButton, 1);
|
|
50
|
-
}
|
|
51
|
-
else
|
|
52
|
-
{
|
|
53
|
-
return Qnil;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
__CODE
|
|
58
|
-
# add the missing interface spec (with the wxAuiTabContainer interface folded in minus replaced/shadowed methods)
|
|
59
|
-
# also add wxAuiTabContainerButton manually here
|
|
60
|
-
spec.add_interface_code <<~__HEREDOC
|
|
61
|
-
class wxAuiTabContainerButton
|
|
19
|
+
spec.items.clear
|
|
20
|
+
# create a lightweight, but typesafe, wrapper for AuiTabCtrl
|
|
21
|
+
spec.add_init_code <<~__HEREDOC
|
|
22
|
+
// define AuiTabCtrl wrapper class
|
|
23
|
+
VALUE cWxAuiTabCtrl = rb_define_class_under(mWxAUI, "AuiTabCtrl", rb_cObject);
|
|
24
|
+
rb_undef_alloc_func(cWxAuiTabCtrl);
|
|
25
|
+
rb_define_method(cWxAuiTabCtrl, "is_ok", VALUEFUNC(_wxRuby_wxAuiTabCtrl_IsOk), 0);
|
|
26
|
+
rb_define_method(cWxAuiTabCtrl, "ok?", VALUEFUNC(_wxRuby_wxAuiTabCtrl_IsOk), 0);
|
|
27
|
+
rb_define_method(cWxAuiTabCtrl, "==", VALUEFUNC(_wxRuby_wxAuiTabCtrl_IsEqual), 1);
|
|
28
|
+
rb_define_alias(cWxAuiTabCtrl, "eql?", "==");
|
|
29
|
+
__HEREDOC
|
|
30
|
+
|
|
31
|
+
spec.add_header_code <<~__HEREDOC
|
|
32
|
+
#include <wx/aui/auibook.h>
|
|
33
|
+
|
|
34
|
+
VALUE _wxRuby_Wrap_wxAuiTabCtrl(const wxAuiTabCtrl& rbATC);
|
|
35
|
+
wxAuiTabCtrl* _wxRuby_Unwrap_wxAuiTabCtrl(VALUE rbATC);
|
|
36
|
+
__HEREDOC
|
|
37
|
+
|
|
38
|
+
spec.add_wrapper_code <<~__HEREDOC
|
|
39
|
+
// wxAuiTabCtrl wrapper class definition and helper functions
|
|
40
|
+
static size_t __wxAuiTabCtrl_size(const void* data)
|
|
62
41
|
{
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
42
|
+
return 0;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
#include <ruby/version.h>
|
|
46
|
+
|
|
47
|
+
static const rb_data_type_t __wxAuiTabCtrl_type = {
|
|
48
|
+
"AuiTabCtrl",
|
|
49
|
+
#if RUBY_API_VERSION_MAJOR >= 3
|
|
50
|
+
{ NULL, NULL, __wxAuiTabCtrl_size, 0, {}},
|
|
51
|
+
#else
|
|
52
|
+
{ NULL, NULL, __wxAuiTabCtrl_size, {}},
|
|
53
|
+
#endif
|
|
54
|
+
NULL, NULL, RUBY_TYPED_FREE_IMMEDIATELY
|
|
70
55
|
};
|
|
71
56
|
|
|
72
|
-
|
|
57
|
+
VALUE _wxRuby_Wrap_wxAuiTabCtrl(wxAuiTabCtrl* wxATC)
|
|
73
58
|
{
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
void SetNormalFont(const wxFont& normalFont);
|
|
102
|
-
void SetSelectedFont(const wxFont& selectedFont);
|
|
103
|
-
void SetMeasuringFont(const wxFont& measuringFont);
|
|
104
|
-
void SetColour(const wxColour& colour);
|
|
105
|
-
void SetActiveColour(const wxColour& colour);
|
|
106
|
-
void DoShowHide();
|
|
107
|
-
|
|
108
|
-
void RemoveButton(int id);
|
|
109
|
-
void AddButton(int id, int location, const wxBitmapBundle& normalBitmap = wxBitmapBundle(), const wxBitmapBundle& disabledBitmap = wxBitmapBundle());
|
|
110
|
-
|
|
111
|
-
size_t GetTabOffset() const;
|
|
112
|
-
void SetTabOffset(size_t offset);
|
|
113
|
-
|
|
114
|
-
bool IsTabVisible(int tabPage, int tabOffset, wxDC* dc, wxWindow* wnd);
|
|
115
|
-
|
|
116
|
-
void MakeTabVisible(int tabPage, wxWindow* win);
|
|
117
|
-
};
|
|
59
|
+
VALUE ret = TypedData_Wrap_Struct(mWxAuiTabCtrl, &__wxAuiTabCtrl_type, wxATC);
|
|
60
|
+
return ret;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
wxAuiTabCtrl* _wxRuby_Unwrap_wxAuiTabCtrl(VALUE rbATC)
|
|
64
|
+
{
|
|
65
|
+
wxAuiTabCtrl* wxATC = nullptr;
|
|
66
|
+
TypedData_Get_Struct(rbATC, wxAuiTabCtrl, &__wxAuiTabCtrl_type, wxATC);
|
|
67
|
+
return wxATC;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
bool _wxRuby_Is_wxAuiTabCtrl(VALUE rbATC)
|
|
71
|
+
{
|
|
72
|
+
return rb_typeddata_is_kind_of(rbATC, &__wxAuiTabCtrl_type) == 1;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
VALUE _wxRuby_wxAuiTabCtrl_IsOk(VALUE self)
|
|
76
|
+
{
|
|
77
|
+
wxAuiTabCtrl* wxATC = _wxRuby_Unwrap_wxAuiTabCtrl(self);
|
|
78
|
+
return wxATC ? Qtrue : Qfalse;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
VALUE _wxRuby_wxAuiTabCtrl_IsEqual(VALUE self, VALUE other)
|
|
82
|
+
{
|
|
83
|
+
return rb_typeddata_is_kind_of(other, &__wxAuiTabCtrl_type) == 1 &&
|
|
84
|
+
_wxRuby_Unwrap_wxAuiTabCtrl(self) == _wxRuby_Unwrap_wxAuiTabCtrl(other);
|
|
85
|
+
}
|
|
118
86
|
__HEREDOC
|
|
119
|
-
spec.map 'wxAuiNotebookPageArray&' => 'Array<Wx::AUI::AuiNotebookPage>' do
|
|
120
|
-
map_out code: <<~__CODE
|
|
121
|
-
$result = rb_ary_new();
|
|
122
|
-
for (size_t i = 0; i < $1->GetCount(); i++)
|
|
123
|
-
{
|
|
124
|
-
wxAuiNotebookPage* np = new wxAuiNotebookPage($1->Item(i));
|
|
125
|
-
rb_ary_push($result, SWIG_NewPointerObj(SWIG_as_voidptr(&np), SWIGTYPE_p_wxAuiNotebookPage, SWIG_POINTER_OWN));
|
|
126
|
-
}
|
|
127
|
-
__CODE
|
|
128
|
-
end
|
|
129
87
|
end
|
|
130
88
|
end # class AuiTabCtrl
|
|
131
89
|
|
|
@@ -24,8 +24,10 @@ module WXRuby3
|
|
|
24
24
|
wxWindow
|
|
25
25
|
wxEvtHandler
|
|
26
26
|
wxObject])
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
if Config.instance.wx_version_check('3.3.0') <= 0
|
|
28
|
+
spec.ignore 'wxBitmapComboBox::Insert(const wxString &, const wxBitmap &, unsigned int, void *)',
|
|
29
|
+
'wxBitmapComboBox::Append(const wxString &, const wxBitmap &, void *)'
|
|
30
|
+
end
|
|
29
31
|
spec.map_apply 'long * OUTPUT' => [ 'long *from', 'long *to' ]
|
|
30
32
|
end
|
|
31
33
|
|
|
@@ -77,23 +77,81 @@ module WXRuby3
|
|
|
77
77
|
spec.disown 'wxCalendarDateAttr* attr'
|
|
78
78
|
|
|
79
79
|
spec.add_extend_code 'wxCalendarCtrl', <<~__HEREDOC
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
80
|
+
VALUE hit_test(wxPoint& pos)
|
|
81
|
+
{
|
|
82
|
+
wxDateTime hit_date;
|
|
83
|
+
wxDateTime::WeekDay hit_wkday;
|
|
84
|
+
wxCalendarHitTestResult hit = $self->HitTest(pos, &hit_date, &hit_wkday);
|
|
85
|
+
if ( hit == wxCAL_HITTEST_HEADER ) {
|
|
86
|
+
return(INT2NUM(hit_wkday));
|
|
87
|
+
}
|
|
88
|
+
else if ( hit == wxCAL_HITTEST_DAY ) {
|
|
89
|
+
return(wxRuby_wxDateTimeToRuby(hit_date));
|
|
90
|
+
}
|
|
91
|
+
// Assume that hit == wxCAL_HITTEST_NOWHERE
|
|
92
|
+
return Qnil;
|
|
90
93
|
}
|
|
91
|
-
|
|
92
|
-
return Qnil;
|
|
93
|
-
}
|
|
94
|
-
__HEREDOC
|
|
94
|
+
__HEREDOC
|
|
95
95
|
spec.do_not_generate(:variables, :enums, :defines, :functions)
|
|
96
96
|
end
|
|
97
|
+
|
|
98
|
+
def process(gendoc: false)
|
|
99
|
+
defmod = super
|
|
100
|
+
# create definition for wxGenericCalendarCtrl except for WXOSX where
|
|
101
|
+
# wxCalendarCtrl is simply an alias for that
|
|
102
|
+
unless Config.instance.features_set?('WXOSX')
|
|
103
|
+
spec.include 'wx/generic/calctrlg.h'
|
|
104
|
+
def_calctrl = defmod.find_item('wxCalendarCtrl')
|
|
105
|
+
# create a definition for 'wxGenericStaticBitmap' which is not documented
|
|
106
|
+
def_gencalctrl = def_calctrl.dup
|
|
107
|
+
def_gencalctrl.name = 'wxGenericCalendarCtrl'
|
|
108
|
+
def_gencalctrl.brief_doc = nil
|
|
109
|
+
def_gencalctrl.detailed_doc = nil
|
|
110
|
+
def_gencalctrl.items = def_gencalctrl.items.collect { |itm| itm.dup }
|
|
111
|
+
def_gencalctrl.items.each do |itm|
|
|
112
|
+
if itm.is_a?(Extractor::MethodDef)
|
|
113
|
+
itm.overloads = itm.overloads.collect { |ovl| ovl.dup }
|
|
114
|
+
itm.all.each do |ovl|
|
|
115
|
+
ovl.name = 'wxGenericCalendarCtrl' if ovl.is_ctor
|
|
116
|
+
ovl.class_name = 'wxGenericCalendarCtrl'
|
|
117
|
+
ovl.update_attributes(klass: def_gencalctrl)
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
defmod.items << def_gencalctrl
|
|
122
|
+
# as we already called super before adding wxGenericCalendarCtrl the no_proxy settings from the
|
|
123
|
+
# base Window director are missing; just copy all those set for wxStaticBitmap
|
|
124
|
+
list = spec.no_proxies.select { |name| name.start_with?('wxCalendarCtrl::') }
|
|
125
|
+
spec.no_proxy(*list.collect { |name| name.sub(/\AwxCalendarCtrl::/, 'wxGenericCalendarCtrl::')})
|
|
126
|
+
# other specs as for wxCalendarCtrl
|
|
127
|
+
# handled; can be suppressed
|
|
128
|
+
spec.suppress_warning(473,
|
|
129
|
+
'wxGenericCalendarCtrl::GetAttr',
|
|
130
|
+
'wxGenericCalendarCtrl::GetHeaderColourBg',
|
|
131
|
+
'wxGenericCalendarCtrl::GetHeaderColourFg',
|
|
132
|
+
'wxGenericCalendarCtrl::GetHighlightColourBg',
|
|
133
|
+
'wxGenericCalendarCtrl::GetHighlightColourFg',
|
|
134
|
+
'wxGenericCalendarCtrl::GetHolidayColourBg',
|
|
135
|
+
'wxGenericCalendarCtrl::GetHolidayColourFg')
|
|
136
|
+
spec.add_extend_code 'wxGenericCalendarCtrl', <<~__HEREDOC
|
|
137
|
+
VALUE hit_test(wxPoint& pos)
|
|
138
|
+
{
|
|
139
|
+
wxDateTime hit_date;
|
|
140
|
+
wxDateTime::WeekDay hit_wkday;
|
|
141
|
+
wxCalendarHitTestResult hit = $self->HitTest(pos, &hit_date, &hit_wkday);
|
|
142
|
+
if ( hit == wxCAL_HITTEST_HEADER ) {
|
|
143
|
+
return(INT2NUM(hit_wkday));
|
|
144
|
+
}
|
|
145
|
+
else if ( hit == wxCAL_HITTEST_DAY ) {
|
|
146
|
+
return(wxRuby_wxDateTimeToRuby(hit_date));
|
|
147
|
+
}
|
|
148
|
+
// Assume that hit == wxCAL_HITTEST_NOWHERE
|
|
149
|
+
return Qnil;
|
|
150
|
+
}
|
|
151
|
+
__HEREDOC
|
|
152
|
+
end
|
|
153
|
+
defmod
|
|
154
|
+
end
|
|
97
155
|
end # class CalendarCtrl
|
|
98
156
|
|
|
99
157
|
end # class Director
|
|
@@ -67,24 +67,32 @@ module WXRuby3
|
|
|
67
67
|
typedef std::map<wxDataObjectComposite*, data_object_list_t> composite_data_object_map_t;
|
|
68
68
|
static composite_data_object_map_t CompositeDataObject_Map;
|
|
69
69
|
|
|
70
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceGCCompositeDataObject, "GC_MARK_DATAOBJECT_COMPOSITE")
|
|
71
|
+
|
|
70
72
|
static void GC_mark_wxCompositeDataObject(void* ptr)
|
|
71
73
|
{
|
|
74
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCCompositeDataObject, 2)
|
|
75
|
+
WXRUBY_TRACE("> GC_mark_wxCompositeDataObject : " << ptr)
|
|
76
|
+
WXRUBY_TRACE_END
|
|
77
|
+
|
|
72
78
|
composite_data_object_map_t::iterator it = CompositeDataObject_Map.find(static_cast<wxDataObjectComposite*> (ptr));
|
|
73
79
|
if (it != CompositeDataObject_Map.end())
|
|
74
80
|
{
|
|
75
81
|
data_object_list_t &do_list = it->second;
|
|
76
82
|
for (VALUE data_obj : do_list)
|
|
77
83
|
{
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
#endif
|
|
84
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCCompositeDataObject, 2)
|
|
85
|
+
WXRUBY_TRACE_WITH(void *c_ptr = (TYPE(data_obj) == T_DATA ? DATA_PTR(data_obj) : 0))
|
|
86
|
+
WXRUBY_TRACE("| GC_mark_wxCompositeDataObject : " << it->first << "|" << (void*)c_ptr)
|
|
87
|
+
WXRUBY_TRACE_END
|
|
88
|
+
|
|
85
89
|
rb_gc_mark(data_obj);
|
|
86
90
|
}
|
|
87
91
|
}
|
|
92
|
+
|
|
93
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCCompositeDataObject, 2)
|
|
94
|
+
WXRUBY_TRACE("< GC_mark_wxCompositeDataObject : " << ptr)
|
|
95
|
+
WXRUBY_TRACE_END
|
|
88
96
|
}
|
|
89
97
|
|
|
90
98
|
// custom implementation for wxRuby so we can handle de-registering composites
|
|
@@ -20,7 +20,10 @@ module WXRuby3
|
|
|
20
20
|
super
|
|
21
21
|
# Custom implementation for Ruby
|
|
22
22
|
spec.ignore 'wxDatePickerCtrl::GetRange'
|
|
23
|
-
|
|
23
|
+
if Config.instance.features_set?('WXGTK')
|
|
24
|
+
spec.extend_interface('wxDatePickerCtrl',
|
|
25
|
+
'virtual bool Destroy() override')
|
|
26
|
+
end
|
|
24
27
|
spec.add_extend_code 'wxDatePickerCtrl', <<~__HEREDOC
|
|
25
28
|
VALUE get_range()
|
|
26
29
|
{
|
|
@@ -0,0 +1,81 @@
|
|
|
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 Display < Director
|
|
14
|
+
|
|
15
|
+
def setup
|
|
16
|
+
super
|
|
17
|
+
spec.items << 'wxVideoMode'
|
|
18
|
+
# type mapping for 'wxArrayVideoModes'
|
|
19
|
+
if Config.instance.wx_version_check('3.3.0') >= 0
|
|
20
|
+
spec.map 'wxArrayVideoModes' => 'Array<Wx::VideoMode>' do
|
|
21
|
+
map_out code: <<~__CODE
|
|
22
|
+
$result = rb_ary_new();
|
|
23
|
+
std::vector<wxVideoMode>* vmarr = &$1;
|
|
24
|
+
for (const wxVideoMode& vm : *vmarr)
|
|
25
|
+
{
|
|
26
|
+
wxVideoMode* pvm = new wxVideoMode(vm);
|
|
27
|
+
VALUE rb_vm = SWIG_NewPointerObj(SWIG_as_voidptr(pvm), SWIGTYPE_p_wxVideoMode, 1);
|
|
28
|
+
rb_ary_push($result, rb_vm);
|
|
29
|
+
}
|
|
30
|
+
__CODE
|
|
31
|
+
end
|
|
32
|
+
else
|
|
33
|
+
spec.map 'wxArrayVideoModes' => 'Array<Wx::VideoMode>' do
|
|
34
|
+
map_out code: <<~__CODE
|
|
35
|
+
$result = rb_ary_new();
|
|
36
|
+
wxArrayVideoModes* vmarr = &$1;
|
|
37
|
+
for (size_t ix=0; ix < vmarr->Count(); ++ix)
|
|
38
|
+
{
|
|
39
|
+
wxVideoMode* pvm = new wxVideoMode(vmarr->Item(ix));
|
|
40
|
+
VALUE rb_vm = SWIG_NewPointerObj(SWIG_as_voidptr(pvm), SWIGTYPE_p_wxVideoMode, 1);
|
|
41
|
+
rb_ary_push($result, rb_vm);
|
|
42
|
+
}
|
|
43
|
+
__CODE
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
# add Ruby-style accessors for public attr
|
|
47
|
+
spec.add_extend_code 'wxVideoMode', <<~__HEREDOC
|
|
48
|
+
VALUE get_w()
|
|
49
|
+
{
|
|
50
|
+
return INT2NUM($self->w);
|
|
51
|
+
}
|
|
52
|
+
VALUE get_h()
|
|
53
|
+
{
|
|
54
|
+
return INT2NUM($self->h);
|
|
55
|
+
}
|
|
56
|
+
VALUE get_bpp()
|
|
57
|
+
{
|
|
58
|
+
return INT2NUM($self->bpp);
|
|
59
|
+
}
|
|
60
|
+
VALUE get_refresh()
|
|
61
|
+
{
|
|
62
|
+
return INT2NUM($self->refresh);
|
|
63
|
+
}
|
|
64
|
+
__HEREDOC
|
|
65
|
+
spec.make_readonly 'wxVideoMode::w',
|
|
66
|
+
'wxVideoMode::h',
|
|
67
|
+
'wxVideoMode::bpp',
|
|
68
|
+
'wxVideoMode::refresh'
|
|
69
|
+
# make sure to get docs for public attr
|
|
70
|
+
spec.ignore 'wxVideoMode::w',
|
|
71
|
+
'wxVideoMode::h',
|
|
72
|
+
'wxVideoMode::bpp',
|
|
73
|
+
'wxVideoMode::refresh',
|
|
74
|
+
ignore_doc: false
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
end
|
|
@@ -40,12 +40,22 @@ module WXRuby3
|
|
|
40
40
|
__CODE
|
|
41
41
|
end
|
|
42
42
|
spec.add_header_code <<~__HEREDOC
|
|
43
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceGCWrapEvents, "GC_WRAP_EVENTS")
|
|
44
|
+
|
|
43
45
|
static VALUE Evt_Type_Map = NULL;
|
|
44
46
|
static VALUE wxRuby_WrapClonedWxEvent(wxEvent* wx_evt)
|
|
45
47
|
{
|
|
48
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCWrapEvents, 2)
|
|
49
|
+
WXRUBY_TRACE("> wxRuby_WrapClonedWxEvent - " << wx_evt)
|
|
50
|
+
WXRUBY_TRACE_END
|
|
51
|
+
|
|
46
52
|
wxString class_name( wx_evt->GetClassInfo()->GetClassName() );
|
|
47
53
|
if (class_name == "wxEvent" || class_name == "wxCommandEvent")
|
|
48
54
|
{
|
|
55
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCWrapEvents, 2)
|
|
56
|
+
WXRUBY_TRACE("< wxRuby_WrapClonedWxEvent - returning managed Ruby derived event")
|
|
57
|
+
WXRUBY_TRACE_END
|
|
58
|
+
|
|
49
59
|
// special clones for Ruby derived events are already managed and tracked
|
|
50
60
|
// (this also covers Wx::AsyncProcCallEvent)
|
|
51
61
|
return SWIG_RubyInstanceFor((void *)wx_evt);
|
|
@@ -82,10 +92,9 @@ module WXRuby3
|
|
|
82
92
|
// do not forget to mark the instance with the mangled swig type name
|
|
83
93
|
rb_iv_set(rb_evt, "@__swigtype__", rb_str_new2(type->name));
|
|
84
94
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
#endif
|
|
95
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCWrapEvents, 2)
|
|
96
|
+
WXRUBY_TRACE("< wxRuby_WrapClonedWxEvent - wrapped cloned event " << wx_evt << "{" << type->name << "}")
|
|
97
|
+
WXRUBY_TRACE_END
|
|
89
98
|
|
|
90
99
|
return rb_evt;
|
|
91
100
|
}
|
|
@@ -202,6 +211,15 @@ module WXRuby3
|
|
|
202
211
|
bool has_ruby_data_ {};
|
|
203
212
|
};
|
|
204
213
|
|
|
214
|
+
// helper function for event handler QueueEvent
|
|
215
|
+
WXRUBY_EXPORT bool wxRuby_Is_RubyEvent(wxEvent* wx_event)
|
|
216
|
+
{
|
|
217
|
+
return (nullptr != dynamic_cast<wxRubyEvent*> (wx_event) ||
|
|
218
|
+
(wx_event->IsCommandEvent() &&
|
|
219
|
+
nullptr != dynamic_cast<wxRubyCommandEvent*> (wx_event)));
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceGCMarkEvents, "GC_MARK_EVENTS")
|
|
205
223
|
|
|
206
224
|
// wxRuby must preserve ruby objects attached as the ClientData of
|
|
207
225
|
// command events that have been user-defined in ruby. Some of the
|
|
@@ -210,17 +228,17 @@ module WXRuby3
|
|
|
210
228
|
// not a ruby object, and will thus crash.
|
|
211
229
|
WXRUBY_EXPORT void GC_mark_wxEvent(void *ptr)
|
|
212
230
|
{
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
#endif
|
|
231
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkEvents, 2)
|
|
232
|
+
WXRUBY_TRACE("> GC_mark_wxEvent : " << ptr)
|
|
233
|
+
WXRUBY_TRACE_END
|
|
217
234
|
|
|
218
235
|
if ( ! ptr ) return;
|
|
219
236
|
wxEvent* wx_event = (wxEvent*)ptr;
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
237
|
+
|
|
238
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkEvents, 3)
|
|
239
|
+
WXRUBY_TRACE("| GC_mark_wxEvent(" << ptr << ":{" << wx_event->GetEventType() << "})")
|
|
240
|
+
WXRUBY_TRACE_END
|
|
241
|
+
|
|
224
242
|
if (wx_event->IsCommandEvent())
|
|
225
243
|
{
|
|
226
244
|
wxCommandEvent* wx_cm_event = (wxCommandEvent*)ptr;
|
|
@@ -235,10 +253,9 @@ module WXRuby3
|
|
|
235
253
|
}
|
|
236
254
|
}
|
|
237
255
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
#endif
|
|
256
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkEvents, 2)
|
|
257
|
+
WXRUBY_TRACE("< GC_mark_wxEvent : " << ptr)
|
|
258
|
+
WXRUBY_TRACE_END
|
|
242
259
|
}
|
|
243
260
|
__HEREDOC
|
|
244
261
|
# CommandEvent requires custom handling of client data.
|
|
@@ -43,6 +43,29 @@ module WXRuby3
|
|
|
43
43
|
# We need to disown Ruby with respect to the C++ event object but remain tracking the pair to keep
|
|
44
44
|
# the Ruby event object alive.
|
|
45
45
|
spec.disown 'wxEvent *event'
|
|
46
|
+
spec.map 'wxEvent *event' => 'Wx::Event' do
|
|
47
|
+
add_header_code 'WXRUBY_EXPORT bool wxRuby_Is_RubyEvent(wxEvent* wx_event);'
|
|
48
|
+
# Due to the fact that QueueEvent takes ownership of the event object and the fact that wxRuby3
|
|
49
|
+
# tracks event objects we need some special handling.
|
|
50
|
+
# As WxW defined system events are not extensible in wxRuby3 need to have tracking removed and the
|
|
51
|
+
# Ruby object unlinked as WxW will take care of removing the C++ object later on and that will invalidate
|
|
52
|
+
# the tracking register.
|
|
53
|
+
# User defined events however need to maintain their tracking register as we need to keep
|
|
54
|
+
# the state of the linked Ruby objects. As WxW will clean up later we can however release ownership.
|
|
55
|
+
map_in code: <<~__CODE
|
|
56
|
+
$1 = (wxEvent*)DATA_PTR($input);
|
|
57
|
+
if (!wxRuby_Is_RubyEvent($1))
|
|
58
|
+
{
|
|
59
|
+
SWIG_RubyUnlinkObjects((void*)$1);
|
|
60
|
+
wxRuby_RemoveTracking((void*)$1);
|
|
61
|
+
}
|
|
62
|
+
else
|
|
63
|
+
{
|
|
64
|
+
// no need to do anything as c++ dtor will untrack/unlink
|
|
65
|
+
RDATA($input)->dfree = 0;
|
|
66
|
+
}
|
|
67
|
+
__CODE
|
|
68
|
+
end
|
|
46
69
|
|
|
47
70
|
# add special mapping for event filters so we can accept the app instance as well
|
|
48
71
|
# although Wx::App is not derived from Wx::EventFilter in wxRuby (no multiple inheritance)
|
|
@@ -71,6 +94,8 @@ module WXRuby3
|
|
|
71
94
|
__CODE
|
|
72
95
|
end
|
|
73
96
|
spec.add_runtime_code <<~__HEREDOC
|
|
97
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceEventHandlers, "EVENTS_HANDLER");
|
|
98
|
+
|
|
74
99
|
static swig_class wxRuby_GetSwigClassWxEvtHandler();
|
|
75
100
|
WXRUBY_EXPORT VALUE wxRuby_GetEventTypeClassMap();
|
|
76
101
|
|
|
@@ -110,7 +135,7 @@ module WXRuby3
|
|
|
110
135
|
if (ex_caught)
|
|
111
136
|
{
|
|
112
137
|
#ifdef __WXRB_DEBUG__
|
|
113
|
-
if (!rb_obj_is_kind_of(rc, rb_eSystemExit) &&
|
|
138
|
+
if (!rb_obj_is_kind_of(rc, rb_eSystemExit) && WxRubyTraceEventHandlers.trace_level()>0)
|
|
114
139
|
{
|
|
115
140
|
wxRuby_PrintException(rc);
|
|
116
141
|
}
|
|
@@ -264,7 +289,7 @@ module WXRuby3
|
|
|
264
289
|
if (ex_caught)
|
|
265
290
|
{
|
|
266
291
|
#ifdef __WXRB_DEBUG__
|
|
267
|
-
if (!rb_obj_is_kind_of(rc, rb_eSystemExit) &&
|
|
292
|
+
if (!rb_obj_is_kind_of(rc, rb_eSystemExit) && WxRubyTraceEventHandlers.trace_level()>0)
|
|
268
293
|
{
|
|
269
294
|
wxRuby_PrintException(rc);
|
|
270
295
|
}
|
|
@@ -17,6 +17,9 @@ module WXRuby3
|
|
|
17
17
|
def setup
|
|
18
18
|
super
|
|
19
19
|
spec.items.clear
|
|
20
|
+
if Config.instance.wx_version_check('3.3.0') >= 0
|
|
21
|
+
spec.add_header_code '#include <wx/busycursor.h>'
|
|
22
|
+
end
|
|
20
23
|
spec.add_header_code <<~__HEREDOC
|
|
21
24
|
#include <wx/image.h>
|
|
22
25
|
#include <wx/app.h>
|
|
@@ -201,7 +204,13 @@ module WXRuby3
|
|
|
201
204
|
end
|
|
202
205
|
spec.map_apply 'int *OUTPUT' => ['int *indexDefaultExtension']
|
|
203
206
|
# hardcoded interface declarations
|
|
207
|
+
if Config.instance.wx_version_check('3.3.0') >= 0
|
|
208
|
+
spec.add_interface_code 'void wxBeginBusyCursor(const wxCursorBundle& cursors);'
|
|
209
|
+
end
|
|
204
210
|
spec.add_interface_code <<~__HEREDOC
|
|
211
|
+
void wxBeginBusyCursor(const wxCursor* cursor = wxHOURGLASS_CURSOR);
|
|
212
|
+
void wxEndBusyCursor();
|
|
213
|
+
|
|
205
214
|
bool wxSafeYield(wxWindow* win = NULL, bool onlyIfNeeded = false);
|
|
206
215
|
|
|
207
216
|
// Dialog shortcuts
|
|
@@ -173,6 +173,11 @@ module WXRuby3
|
|
|
173
173
|
(*$self) = rect;
|
|
174
174
|
}
|
|
175
175
|
__HEREDOC
|
|
176
|
+
if Config.instance.wx_version_check('3.3.0') >= 0
|
|
177
|
+
# unwanted overloads
|
|
178
|
+
spec.ignore 'wxRect2DDouble::Inflate(wxDouble,wxDouble) const',
|
|
179
|
+
'wxRect2DDouble::Deflate(wxDouble,wxDouble) const'
|
|
180
|
+
end
|
|
176
181
|
# implement in pure Ruby
|
|
177
182
|
spec.ignore 'wxRect2DDouble::Intersect(const wxRect2DDouble &, const wxRect2DDouble &, wxRect2DDouble *)',
|
|
178
183
|
'wxRect2DDouble::Union(const wxRect2DDouble &, const wxRect2DDouble &, wxRect2DDouble *)',
|