wxruby3 0.9.0.pre.rc.3 → 0.9.1
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/README.md +1 -1
- data/ext/mkrf_conf_srcgem.rb +4 -1
- data/ext/wxruby3/include/wxruby-Config.h +953 -0
- data/ext/wxruby3/include/wxruby-ScaledDC.h +4 -1
- data/ext/wxruby3/include/wxruby-runtime.h +13 -1
- data/ext/wxruby3/swig/RubyStockObjects.i +5 -3
- data/ext/wxruby3/swig/common.i +30 -3
- data/ext/wxruby3/swig/custom/director.swg +296 -0
- data/ext/wxruby3/swig/custom/rubyapi.swg +19 -0
- data/ext/wxruby3/swig/custom/rubyerrors.swg +45 -0
- data/ext/wxruby3/swig/custom/rubyhead.swg +192 -0
- data/ext/wxruby3/swig/custom/rubyrun.swg +187 -0
- data/ext/wxruby3/swig/custom/swigrun.swg +363 -0
- data/ext/wxruby3/swig/custom/typemaps/swigtypemaps.swg +173 -0
- data/ext/wxruby3/swig/mark_free_impl.i +6 -4
- data/ext/wxruby3/swig/memory_management.i +5 -3
- data/ext/wxruby3/swig/typedefs.i +5 -3
- data/ext/wxruby3/swig/wx.i +55 -30
- data/ext/wxruby3/swig/wx.rc +4 -2
- data/lib/wx/accessors.rb +10 -2
- data/lib/wx/aui/auifloatframe.rb +20 -0
- data/lib/wx/aui/auimanager.rb +3 -0
- data/lib/wx/aui/auinotebook.rb +17 -0
- data/lib/wx/aui/require.rb +5 -1
- data/lib/wx/aui.rb +4 -1
- data/lib/wx/core/acceleratortable.rb +8 -0
- data/lib/wx/core/animation.rb +8 -0
- data/lib/wx/core/app.rb +8 -0
- data/lib/wx/core/array_ext.rb +7 -0
- data/lib/wx/core/art_locator.rb +7 -0
- data/lib/wx/core/artprovider.rb +9 -0
- data/lib/wx/core/bitmap.rb +16 -4
- data/lib/wx/core/bitmap_combobox.rb +7 -0
- data/lib/wx/core/brush.rb +7 -0
- data/lib/wx/core/busycursor.rb +9 -0
- data/lib/wx/core/choice.rb +7 -0
- data/lib/wx/core/choicedlg.rb +7 -0
- data/lib/wx/core/clientdc.rb +9 -0
- data/lib/wx/core/clipboard.rb +8 -0
- data/lib/wx/core/collapsible_pane.rb +8 -1
- data/lib/wx/core/colour.rb +8 -0
- data/lib/wx/core/combo_ctrl.rb +110 -0
- data/lib/wx/core/combobox.rb +7 -0
- data/lib/wx/core/config.rb +303 -0
- data/lib/wx/core/const.rb +83 -0
- data/lib/wx/core/controlwithitems.rb +12 -1
- data/lib/wx/core/cursor.rb +14 -4
- data/lib/wx/core/data_object.rb +7 -0
- data/lib/wx/core/dataformat.rb +9 -0
- data/lib/wx/core/datetime.rb +14 -0
- data/lib/wx/core/dc.rb +7 -0
- data/lib/wx/core/dialog.rb +18 -1
- data/lib/wx/core/enum.rb +7 -0
- data/lib/wx/core/event.rb +7 -0
- data/lib/wx/core/event_blocker.rb +7 -0
- data/lib/wx/core/event_loop.rb +7 -0
- data/lib/wx/core/evthandler.rb +8 -0
- data/lib/wx/core/ext.rb +7 -0
- data/lib/wx/core/file_dialog.rb +23 -0
- data/lib/wx/core/find_replace_dialog.rb +7 -0
- data/lib/wx/core/functions.rb +8 -0
- data/lib/wx/core/gauge.rb +10 -1
- data/lib/wx/core/genericdirctrl.rb +9 -0
- data/lib/wx/core/hboxsizer.rb +16 -0
- data/lib/wx/core/helpcontroller.rb +8 -0
- data/lib/wx/core/helpcontrollerhelpprovider.rb +9 -0
- data/lib/wx/core/helpprovider.rb +10 -1
- data/lib/wx/core/icon.rb +17 -6
- data/lib/wx/core/id_helper.rb +7 -0
- data/lib/wx/core/image.rb +16 -4
- data/lib/wx/core/imagelist.rb +8 -1
- data/lib/wx/core/listbox.rb +7 -0
- data/lib/wx/core/listctrl.rb +9 -0
- data/lib/wx/core/locale.rb +8 -0
- data/lib/wx/core/log.rb +24 -0
- data/lib/wx/core/menu.rb +9 -0
- data/lib/wx/core/menu_bar.rb +7 -0
- data/lib/wx/core/menuitem.rb +9 -0
- data/lib/wx/core/notebook.rb +9 -0
- data/lib/wx/core/object.rb +9 -0
- data/lib/wx/core/paintdc.rb +7 -0
- data/lib/wx/core/pen.rb +7 -0
- data/lib/wx/core/pen_info.rb +7 -0
- data/lib/wx/core/platform_info.rb +7 -0
- data/lib/wx/core/point.rb +8 -0
- data/lib/wx/core/real_point.rb +8 -0
- data/lib/wx/core/rect.rb +9 -0
- data/lib/wx/core/region_iterator.rb +7 -0
- data/lib/wx/core/simplehelpprovider.rb +9 -0
- data/lib/wx/core/size.rb +8 -0
- data/lib/wx/core/sizer.rb +9 -0
- data/lib/wx/core/splash_screen.rb +22 -2
- data/lib/wx/core/text_entry.rb +7 -0
- data/lib/wx/core/textctrl.rb +86 -5
- data/lib/wx/core/timer.rb +9 -0
- data/lib/wx/core/toolbar.rb +9 -0
- data/lib/wx/core/toolbartool.rb +8 -0
- data/lib/wx/core/treectrl.rb +9 -0
- data/lib/wx/core/v_list_box.rb +7 -0
- data/lib/wx/core/validator.rb +7 -0
- data/lib/wx/core/variant.rb +7 -0
- data/lib/wx/core/vboxsizer.rb +16 -0
- data/lib/wx/core/window.rb +8 -0
- data/lib/wx/core/window_update_locker.rb +9 -0
- data/lib/wx/core/xmlresource.rb +8 -0
- data/lib/wx/core.rb +4 -1
- data/lib/wx/doc/app.rb +7 -1
- data/lib/wx/doc/array_ext.rb +6 -0
- data/lib/wx/doc/art_locator.rb +7 -0
- data/lib/wx/doc/aui/auimanager.rb +6 -0
- data/lib/wx/doc/aui/auinotebook.rb +6 -0
- data/lib/wx/doc/bitmap.rb +12 -4
- data/lib/wx/doc/brush.rb +6 -0
- data/lib/wx/doc/busy_info.rb +6 -0
- data/lib/wx/doc/client_dc.rb +6 -0
- data/lib/wx/doc/clipboard.rb +6 -0
- data/lib/wx/doc/colour_dialog.rb +6 -0
- data/lib/wx/doc/config.rb +190 -0
- data/lib/wx/doc/const.rb +73 -66
- data/lib/wx/doc/controlwithitems.rb +6 -0
- data/lib/wx/doc/core.rb +6 -0
- data/lib/wx/doc/cursor.rb +13 -5
- data/lib/wx/doc/data_object.rb +6 -0
- data/lib/wx/doc/datetime.rb +16 -0
- data/lib/wx/doc/dc.rb +6 -0
- data/lib/wx/doc/enum.rb +8 -1
- data/lib/wx/doc/event.rb +6 -0
- data/lib/wx/doc/event_blocker.rb +6 -0
- data/lib/wx/doc/event_loop.rb +6 -0
- data/lib/wx/doc/events.rb +6 -0
- data/lib/wx/doc/evthandler.rb +8 -0
- data/lib/wx/doc/extra/01_packages.md +52 -51
- data/lib/wx/doc/extra/05_event-handling.md +37 -12
- data/lib/wx/doc/extra/06_geometry.md +5 -5
- data/lib/wx/doc/extra/07_colour_and_font.md +2 -2
- data/lib/wx/doc/extra/09_exceptions.md +1 -1
- data/lib/wx/doc/extra/10_art.md +18 -12
- data/lib/wx/doc/extra/11_drawing_and_dc.md +4 -4
- data/lib/wx/doc/font.rb +6 -0
- data/lib/wx/doc/font_data.rb +16 -0
- data/lib/wx/doc/functions.rb +18 -10
- data/lib/wx/doc/gc_dc.rb +6 -0
- data/lib/wx/doc/gdi_common.rb +8 -1
- data/lib/wx/doc/graphics_context.rb +59 -39
- data/lib/wx/doc/grid/grid.rb +16 -1
- data/lib/wx/doc/hboxsizer.rb +33 -0
- data/lib/wx/doc/help_controller.rb +6 -0
- data/lib/wx/doc/html/html_help_controller.rb +6 -0
- data/lib/wx/doc/icon.rb +13 -5
- data/lib/wx/doc/id_helper.rb +6 -0
- data/lib/wx/doc/image.rb +12 -4
- data/lib/wx/doc/list_ctrl.rb +6 -0
- data/lib/wx/doc/log.rb +17 -0
- data/lib/wx/doc/memory_dc.rb +6 -0
- data/lib/wx/doc/mirror_dc.rb +6 -0
- data/lib/wx/doc/pen.rb +6 -0
- data/lib/wx/doc/pg/events.rb +6 -0
- data/lib/wx/doc/pg/pg_property.rb +17 -0
- data/lib/wx/doc/pg/pgeditor.rb +6 -0
- data/lib/wx/doc/pg/property_grid.rb +6 -0
- data/lib/wx/doc/pg/property_grid_interface.rb +6 -0
- data/lib/wx/doc/progress_dialog.rb +6 -0
- data/lib/wx/doc/prt/page_setup_dialog.rb +6 -0
- data/lib/wx/doc/prt/print_data.rb +6 -0
- data/lib/wx/doc/prt/print_dialog.rb +6 -0
- data/lib/wx/doc/prt/printer.rb +6 -0
- data/lib/wx/doc/prt/printer_dc.rb +6 -0
- data/lib/wx/doc/radio_box.rb +6 -0
- data/lib/wx/doc/rbn/ribbon_bar.rb +6 -0
- data/lib/wx/doc/rbn/ribbon_button_bar.rb +6 -0
- data/lib/wx/doc/rbn/ribbon_gallery.rb +6 -0
- data/lib/wx/doc/rbn/ribbon_tool_bar.rb +6 -0
- data/lib/wx/doc/region_iterator.rb +6 -0
- data/lib/wx/doc/rtc/richtext_buffer.rb +28 -0
- data/lib/wx/doc/rtc/richtext_formatting_dialog.rb +68 -0
- data/lib/wx/doc/rtc/richtext_printing.rb +6 -0
- data/lib/wx/doc/rtc/richtext_style_sheet.rb +20 -0
- data/lib/wx/doc/scaled_dc.rb +6 -0
- data/lib/wx/doc/screen_dc.rb +6 -0
- data/lib/wx/doc/stock_objects.rb +6 -0
- data/lib/wx/doc/stream.rb +6 -0
- data/lib/wx/doc/svg_file_dc.rb +6 -0
- data/lib/wx/doc/system_settings.rb +6 -0
- data/lib/wx/doc/text_validator.rb +6 -0
- data/lib/wx/doc/textctrl.rb +89 -0
- data/lib/wx/doc/tree_event.rb +20 -0
- data/lib/wx/doc/treebook.rb +6 -0
- data/lib/wx/doc/v_list_box.rb +6 -0
- data/lib/wx/doc/variant.rb +6 -0
- data/lib/wx/doc/vboxsizer.rb +33 -0
- data/lib/wx/doc/window.rb +11 -0
- data/lib/wx/doc/window_disabler.rb +6 -0
- data/lib/wx/doc/xml_resource.rb +8 -0
- data/lib/wx/global_const.rb +4 -1
- data/lib/wx/grid/grid.rb +23 -3
- data/lib/wx/grid/keyword_defs.rb +8 -1
- data/lib/wx/grid/require.rb +4 -1
- data/lib/wx/grid.rb +4 -1
- data/lib/wx/helpers.rb +8 -1
- data/lib/wx/html/htmlhelpcontroller.rb +29 -3
- data/lib/wx/html/htmlwindow.rb +23 -12
- data/lib/wx/html/keyword_defs.rb +8 -1
- data/lib/wx/html/require.rb +4 -1
- data/lib/wx/html/simple_html_listbox.rb +3 -0
- data/lib/wx/html.rb +4 -1
- data/lib/wx/keyword_ctors.rb +22 -3
- data/lib/wx/keyword_defs.rb +96 -7
- data/lib/wx/pg/events.rb +4 -1
- data/lib/wx/pg/keyword_defs.rb +8 -1
- data/lib/wx/pg/pg_editor.rb +3 -0
- data/lib/wx/pg/pg_properties.rb +4 -1
- data/lib/wx/pg/pg_property.rb +18 -5
- data/lib/wx/pg/property_grid.rb +4 -1
- data/lib/wx/pg/property_grid_interface.rb +3 -0
- data/lib/wx/pg/require.rb +4 -1
- data/lib/wx/pg.rb +4 -1
- data/lib/wx/prt/keyword_defs.rb +8 -1
- data/lib/wx/prt/page_setup_dialog.rb +3 -0
- data/lib/wx/prt/previewframe.rb +5 -0
- data/lib/wx/prt/require.rb +4 -1
- data/lib/wx/prt.rb +4 -1
- data/lib/wx/rbn/events.rb +4 -1
- data/lib/wx/rbn/keyword_defs.rb +8 -1
- data/lib/wx/rbn/require.rb +5 -1
- data/lib/wx/rbn/ribbon_art_provider.rb +3 -1
- data/lib/wx/rbn/ribbon_bar.rb +3 -0
- data/lib/wx/rbn/ribbon_button_bar.rb +3 -0
- data/lib/wx/rbn/ribbon_control.rb +3 -0
- data/lib/wx/rbn/ribbon_gallery.rb +10 -0
- data/lib/wx/rbn/ribbon_page.rb +3 -0
- data/lib/wx/rbn/ribbon_panel.rb +3 -0
- data/lib/wx/rbn/ribbon_tool_bar.rb +3 -0
- data/lib/wx/rbn.rb +4 -1
- data/lib/wx/rtc/ext.rb +4 -1
- data/lib/wx/rtc/keyword_defs.rb +18 -7
- data/lib/wx/rtc/require.rb +8 -1
- data/lib/wx/rtc/richtext_buffer.rb +36 -0
- data/lib/wx/rtc/richtext_formatting_dialog.rb +88 -0
- data/lib/wx/rtc/richtext_style_organiser_dialog.rb +46 -0
- data/lib/wx/rtc/symbol_picker_dialog.rb +47 -0
- data/lib/wx/rtc.rb +5 -1
- data/lib/wx/stc/keyword_defs.rb +8 -1
- data/lib/wx/stc/require.rb +4 -1
- data/lib/wx/stc.rb +4 -1
- data/lib/wx/version.rb +5 -1
- data/lib/wx/wxruby/base.rb +4 -1
- data/lib/wx/wxruby/cmd/sampler.rb +4 -1
- data/lib/wx/wxruby/cmd/test.rb +4 -1
- data/lib/wx.rb +4 -1
- data/rakelib/build.rake +4 -1
- data/rakelib/build.rb +4 -1
- data/rakelib/config.rake +4 -1
- data/rakelib/configure.rb +4 -1
- data/rakelib/doc.rake +4 -1
- data/rakelib/doc.rb +5 -1
- data/rakelib/install.rake +4 -1
- data/rakelib/install.rb +4 -1
- data/rakelib/lib/config/cygwin.rb +4 -1
- data/rakelib/lib/config/linux.rb +4 -1
- data/rakelib/lib/config/macosx.rb +6 -3
- data/rakelib/lib/config/mingw.rb +4 -1
- data/rakelib/lib/config/netbsd.rb +4 -1
- data/rakelib/lib/config/unixish.rb +10 -7
- data/rakelib/lib/config.rb +7 -2
- data/rakelib/lib/core/include/enum.inc +4 -1
- data/rakelib/lib/core/include/funcall.inc +22 -57
- data/rakelib/lib/core/include/init.inc +3 -0
- data/rakelib/lib/core/include/swigdirector.inc +384 -0
- data/rakelib/lib/core/include/swigrubyerrors.inc +161 -0
- data/{ext/wxruby3/swig/custom/swig4/rubyrun.swg → rakelib/lib/core/include/swigrubyrun.inc} +245 -120
- data/rakelib/lib/core/include/swigrun.inc +700 -0
- data/rakelib/lib/core/mapping.rb +26 -46
- data/rakelib/lib/core/package.rb +22 -5
- data/rakelib/lib/core/parameter.rb +7 -1
- data/rakelib/lib/core/spec.rb +14 -8
- data/rakelib/lib/core/spec_helper.rb +32 -9
- data/rakelib/lib/director/about_dialog_info.rb +4 -1
- data/rakelib/lib/director/accelerator.rb +8 -3
- data/rakelib/lib/director/animation.rb +5 -2
- data/rakelib/lib/director/animation_ctrl.rb +24 -1
- data/rakelib/lib/director/any_button.rb +5 -2
- data/rakelib/lib/director/app.rb +39 -7
- data/rakelib/lib/director/app_traits.rb +71 -0
- data/rakelib/lib/director/art_provider.rb +5 -2
- data/rakelib/lib/director/aui_dock_art.rb +4 -1
- data/rakelib/lib/director/aui_floating_frame.rb +4 -1
- data/rakelib/lib/director/aui_manager.rb +12 -5
- data/rakelib/lib/director/aui_manager_event.rb +4 -1
- data/rakelib/lib/director/aui_mdi_child_frame.rb +25 -1
- data/rakelib/lib/director/aui_mdi_client_window.rb +4 -1
- data/rakelib/lib/director/aui_mdi_parent_frame.rb +4 -1
- data/rakelib/lib/director/aui_notebook.rb +12 -1
- data/rakelib/lib/director/aui_notebook_event.rb +4 -1
- data/rakelib/lib/director/aui_pane_info.rb +4 -1
- data/rakelib/lib/director/aui_tab_art.rb +52 -1
- data/rakelib/lib/director/aui_tab_ctrl.rb +14 -1
- data/rakelib/lib/director/aui_toolbar.rb +6 -3
- data/rakelib/lib/director/aui_toolbar_art.rb +52 -1
- data/rakelib/lib/director/aui_toolbar_event.rb +4 -1
- data/rakelib/lib/director/aui_toolbar_item.rb +4 -1
- data/rakelib/lib/director/banner_window.rb +26 -0
- data/rakelib/lib/director/bitmap.rb +11 -2
- data/rakelib/lib/director/bitmap_combobox.rb +5 -1
- data/rakelib/lib/director/book_ctrls.rb +13 -3
- data/rakelib/lib/director/brush.rb +4 -1
- data/rakelib/lib/director/busy_info.rb +4 -1
- data/rakelib/lib/director/button.rb +4 -1
- data/rakelib/lib/director/calendar_ctrl.rb +4 -1
- data/rakelib/lib/director/calendar_date_attr.rb +4 -1
- data/rakelib/lib/director/caret.rb +4 -1
- data/rakelib/lib/director/check_listbox.rb +4 -1
- data/rakelib/lib/director/choice.rb +4 -1
- data/rakelib/lib/director/clipboard.rb +4 -1
- data/rakelib/lib/director/collapsible_pane.rb +4 -1
- data/rakelib/lib/director/collapsible_pane_event.rb +4 -1
- data/rakelib/lib/director/colour.rb +9 -1
- data/rakelib/lib/director/colour_picker_ctrl.rb +4 -1
- data/rakelib/lib/director/combobox.rb +4 -1
- data/rakelib/lib/director/comboctrl.rb +94 -0
- data/rakelib/lib/director/config_base.rb +135 -0
- data/rakelib/lib/director/context_help_button.rb +4 -1
- data/rakelib/lib/director/control.rb +4 -1
- data/rakelib/lib/director/ctrl_with_items.rb +5 -1
- data/rakelib/lib/director/cursor.rb +6 -2
- data/rakelib/lib/director/data_format.rb +4 -1
- data/rakelib/lib/director/data_object.rb +4 -1
- data/rakelib/lib/director/data_object_simple_base.rb +5 -3
- data/rakelib/lib/director/date_event.rb +9 -2
- data/rakelib/lib/director/date_picker_ctrl.rb +4 -1
- data/rakelib/lib/director/dc.rb +19 -1
- data/rakelib/lib/director/defs.rb +4 -1
- data/rakelib/lib/director/derived_dc.rb +27 -20
- data/rakelib/lib/director/dialog.rb +29 -3
- data/rakelib/lib/director/dialup_event.rb +44 -0
- data/rakelib/lib/director/dialup_manager.rb +45 -0
- data/rakelib/lib/director/dir_filterlist_ctrl.rb +4 -1
- data/rakelib/lib/director/dir_picker_ctrl.rb +4 -1
- data/rakelib/lib/director/drag_image.rb +9 -2
- data/rakelib/lib/director/dragdrop.rb +4 -1
- data/rakelib/lib/director/editable_listbox.rb +4 -1
- data/rakelib/lib/director/event.rb +29 -3
- data/rakelib/lib/director/event_blocker.rb +4 -1
- data/rakelib/lib/director/event_filter.rb +4 -1
- data/rakelib/lib/director/event_handler.rb +28 -11
- data/rakelib/lib/director/event_loop.rb +4 -1
- data/rakelib/lib/director/events.rb +5 -2
- data/rakelib/lib/director/file_ctrl.rb +35 -0
- data/rakelib/lib/director/file_ctrl_event.rb +26 -0
- data/rakelib/lib/director/file_dialog_custom_control.rb +28 -0
- data/rakelib/lib/director/file_dialog_customize_hook.rb +28 -0
- data/rakelib/lib/director/file_picker_ctrl.rb +4 -1
- data/rakelib/lib/director/file_system.rb +45 -0
- data/rakelib/lib/director/find_dialog_event.rb +4 -1
- data/rakelib/lib/director/find_replace_data.rb +4 -1
- data/rakelib/lib/director/font.rb +7 -3
- data/rakelib/lib/director/font_data.rb +9 -1
- data/rakelib/lib/director/font_picker_ctrl.rb +4 -1
- data/rakelib/lib/director/frame.rb +45 -33
- data/rakelib/lib/director/fs_file.rb +52 -1
- data/rakelib/lib/director/functions.rb +11 -5
- data/rakelib/lib/director/gdi_object.rb +4 -1
- data/rakelib/lib/director/gdicommon.rb +33 -10
- data/rakelib/lib/director/generic_dirctrl.rb +4 -1
- data/rakelib/lib/director/graphics_context.rb +113 -18
- data/rakelib/lib/director/graphics_object.rb +13 -2
- data/rakelib/lib/director/grid_cell_attr.rb +28 -4
- data/rakelib/lib/director/grid_cell_editor.rb +28 -11
- data/rakelib/lib/director/grid_cell_renderer.rb +16 -3
- data/rakelib/lib/director/grid_ctrl.rb +146 -5
- data/rakelib/lib/director/grid_range_select_event.rb +4 -1
- data/rakelib/lib/director/grid_table_base.rb +6 -1
- data/rakelib/lib/director/grid_table_message.rb +4 -1
- data/rakelib/lib/director/header_ctrl.rb +37 -0
- data/rakelib/lib/director/help_controller.rb +14 -7
- data/rakelib/lib/director/help_provider.rb +4 -1
- data/rakelib/lib/director/html_cell.rb +10 -3
- data/rakelib/lib/director/html_data_object.rb +4 -1
- data/rakelib/lib/director/html_easy_printing.rb +4 -1
- data/rakelib/lib/director/html_event.rb +4 -1
- data/rakelib/lib/director/html_help_data.rb +4 -1
- data/rakelib/lib/director/html_help_window.rb +30 -0
- data/rakelib/lib/director/html_listbox.rb +4 -1
- data/rakelib/lib/director/html_printout.rb +6 -1
- data/rakelib/lib/director/html_window.rb +10 -8
- data/rakelib/lib/director/hyperlink_ctrl.rb +32 -0
- data/rakelib/lib/director/hyperlink_event.rb +4 -1
- data/rakelib/lib/director/icon.rb +4 -1
- data/rakelib/lib/director/image.rb +26 -3
- data/rakelib/lib/director/image_list.rb +5 -1
- data/rakelib/lib/director/info_bar.rb +26 -0
- data/rakelib/lib/director/list_ctrl.rb +39 -7
- data/rakelib/lib/director/listbox.rb +4 -1
- data/rakelib/lib/director/locale.rb +7 -4
- data/rakelib/lib/director/log.rb +51 -6
- data/rakelib/lib/director/mdi_frame.rb +4 -1
- data/rakelib/lib/director/media_ctrl.rb +4 -1
- data/rakelib/lib/director/menu.rb +16 -3
- data/rakelib/lib/director/menu_bar.rb +13 -2
- data/rakelib/lib/director/menu_item.rb +6 -6
- data/rakelib/lib/director/mouse_state.rb +5 -2
- data/rakelib/lib/director/numeric_property_validator.rb +4 -1
- data/rakelib/lib/director/object.rb +5 -2
- data/rakelib/lib/director/page_setup_dialog.rb +4 -1
- data/rakelib/lib/director/palette.rb +54 -2
- data/rakelib/lib/director/panel.rb +4 -1
- data/rakelib/lib/director/pen.rb +5 -2
- data/rakelib/lib/director/pgarray_editor_dialog.rb +4 -7
- data/rakelib/lib/director/pgcell.rb +4 -1
- data/rakelib/lib/director/pgeditor.rb +6 -3
- data/rakelib/lib/director/pgmulti_button.rb +4 -1
- data/rakelib/lib/director/pgproperties.rb +6 -3
- data/rakelib/lib/director/pgproperty.rb +42 -3
- data/rakelib/lib/director/pgvalidation_info.rb +9 -1
- data/rakelib/lib/director/pickerbase.rb +4 -1
- data/rakelib/lib/director/platform_info.rb +9 -1
- data/rakelib/lib/director/popup_window.rb +14 -1
- data/rakelib/lib/director/preview_frame.rb +5 -2
- data/rakelib/lib/director/print_data.rb +4 -1
- data/rakelib/lib/director/print_dialog.rb +4 -1
- data/rakelib/lib/director/printer.rb +14 -6
- data/rakelib/lib/director/property_grid.rb +30 -1
- data/rakelib/lib/director/property_grid_event.rb +11 -1
- data/rakelib/lib/director/property_grid_interface.rb +20 -6
- data/rakelib/lib/director/property_grid_manager.rb +4 -1
- data/rakelib/lib/director/property_grid_page.rb +4 -1
- data/rakelib/lib/director/property_grid_page_state.rb +4 -1
- data/rakelib/lib/director/radio_box.rb +4 -1
- data/rakelib/lib/director/rearrange_list.rb +36 -0
- data/rakelib/lib/director/region.rb +5 -1
- data/rakelib/lib/director/region_iterator.rb +4 -1
- data/rakelib/lib/director/ribbon_art_provider.rb +9 -1
- data/rakelib/lib/director/ribbon_bar.rb +4 -1
- data/rakelib/lib/director/ribbon_bar_event.rb +4 -1
- data/rakelib/lib/director/ribbon_button_bar.rb +4 -1
- data/rakelib/lib/director/ribbon_button_bar_event.rb +4 -1
- data/rakelib/lib/director/ribbon_ctrl.rb +4 -1
- data/rakelib/lib/director/ribbon_gallery.rb +8 -3
- data/rakelib/lib/director/ribbon_gallery_event.rb +4 -1
- data/rakelib/lib/director/ribbon_page.rb +4 -1
- data/rakelib/lib/director/ribbon_panel.rb +4 -1
- data/rakelib/lib/director/ribbon_panel_event.rb +4 -1
- data/rakelib/lib/director/ribbon_tool_bar.rb +4 -1
- data/rakelib/lib/director/ribbon_tool_bar_event.rb +4 -1
- data/rakelib/lib/director/richtext_box.rb +61 -0
- data/rakelib/lib/director/richtext_buffer.rb +219 -22
- data/rakelib/lib/director/richtext_buffer_data_object.rb +4 -1
- data/rakelib/lib/director/richtext_composite_object.rb +174 -0
- data/rakelib/lib/director/richtext_ctrl.rb +157 -4
- data/rakelib/lib/director/richtext_event.rb +4 -1
- data/rakelib/lib/director/richtext_file_handler.rb +13 -1
- data/rakelib/lib/director/richtext_formatting_dialog.rb +44 -0
- data/rakelib/lib/director/richtext_header_footer_data.rb +4 -1
- data/rakelib/lib/director/richtext_image.rb +56 -0
- data/rakelib/lib/director/richtext_object.rb +272 -0
- data/rakelib/lib/director/richtext_paragraph_layout_box.rb +178 -0
- data/rakelib/lib/director/richtext_printing.rb +4 -1
- data/rakelib/lib/director/richtext_style_listbox.rb +37 -0
- data/rakelib/lib/director/richtext_style_organiser_dialog.rb +28 -0
- data/rakelib/lib/director/sash_event.rb +42 -0
- data/rakelib/lib/director/sash_layout_event.rb +4 -1
- data/rakelib/lib/director/sash_layout_window.rb +4 -1
- data/rakelib/lib/director/sash_window.rb +4 -1
- data/rakelib/lib/director/scroll_bar.rb +4 -1
- data/rakelib/lib/director/scrolled_t.rb +7 -4
- data/rakelib/lib/director/searchctrl.rb +4 -1
- data/rakelib/lib/director/sizer.rb +68 -2
- data/rakelib/lib/director/sizer_item.rb +31 -3
- data/rakelib/lib/director/slider.rb +4 -1
- data/rakelib/lib/director/splash_screen.rb +4 -1
- data/rakelib/lib/director/splitter_event.rb +4 -1
- data/rakelib/lib/director/splitter_window.rb +4 -1
- data/rakelib/lib/director/static_bitmap.rb +4 -1
- data/rakelib/lib/director/static_box.rb +5 -2
- data/rakelib/lib/director/status_bar.rb +5 -1
- data/rakelib/lib/director/styled_text_ctrl.rb +14 -2
- data/rakelib/lib/director/styled_text_event.rb +4 -1
- data/rakelib/lib/director/system_options.rb +4 -1
- data/rakelib/lib/director/system_settings.rb +4 -1
- data/rakelib/lib/director/task_bar_icon.rb +5 -2
- data/rakelib/lib/director/text_attr.rb +5 -2
- data/rakelib/lib/director/text_entry.rb +4 -1
- data/rakelib/lib/director/text_validator.rb +6 -1
- data/rakelib/lib/director/textctrl.rb +32 -3
- data/rakelib/lib/director/time_picker_ctrl.rb +4 -1
- data/rakelib/lib/director/timer.rb +4 -1
- data/rakelib/lib/director/tip_provider.rb +4 -1
- data/rakelib/lib/director/toggle_button.rb +4 -1
- data/rakelib/lib/director/tool_bar.rb +20 -1
- data/rakelib/lib/director/tool_tip.rb +5 -2
- data/rakelib/lib/director/top_level_window.rb +58 -51
- data/rakelib/lib/director/tree_ctrl.rb +24 -46
- data/rakelib/lib/director/tree_event.rb +28 -10
- data/rakelib/lib/director/uiaction_simulator.rb +4 -1
- data/rakelib/lib/director/utils.rb +9 -1
- data/rakelib/lib/director/validator.rb +4 -1
- data/rakelib/lib/director/variant.rb +5 -2
- data/rakelib/lib/director/vlistbox.rb +4 -1
- data/rakelib/lib/director/vscrolled_window.rb +4 -1
- data/rakelib/lib/director/window.rb +81 -82
- data/rakelib/lib/director/window_disabler.rb +4 -1
- data/rakelib/lib/director/with_images.rb +5 -2
- data/rakelib/lib/director/wizard_page.rb +4 -1
- data/rakelib/lib/director/xml_node.rb +4 -1
- data/rakelib/lib/director/xml_resource.rb +4 -1
- data/rakelib/lib/director.rb +27 -28
- data/rakelib/lib/ext/enum_chain.rb +4 -1
- data/rakelib/lib/extractor/class.rb +8 -6
- data/rakelib/lib/extractor/enum.rb +15 -2
- data/rakelib/lib/extractor/function.rb +12 -4
- data/rakelib/lib/extractor/module.rb +4 -1
- data/rakelib/lib/extractor/variable.rb +4 -1
- data/rakelib/lib/extractor.rb +7 -2
- data/rakelib/lib/generate/analyzer.rb +31 -21
- data/rakelib/lib/generate/base.rb +4 -1
- data/rakelib/lib/generate/doc/animation_ctrl.yaml +15 -0
- data/rakelib/lib/generate/doc/events.yaml +10 -4
- data/rakelib/lib/generate/doc/grid_cell_attr.yaml +21 -0
- data/rakelib/lib/generate/doc/grid_ctrl.yaml +25 -0
- data/rakelib/lib/generate/doc/html_cell.yaml +11 -0
- data/rakelib/lib/generate/doc/html_help_controller.yaml +23 -0
- data/rakelib/lib/generate/doc/html_help_window.yaml +21 -0
- data/rakelib/lib/generate/doc/html_window.yaml +47 -0
- data/rakelib/lib/generate/doc/pg_editor.yaml +11 -0
- data/rakelib/lib/generate/doc/pg_multi_button.yaml +78 -0
- data/rakelib/lib/generate/doc/pg_properties.yaml +244 -0
- data/rakelib/lib/generate/doc/pg_property.yaml +188 -0
- data/rakelib/lib/generate/doc/property_grid.yaml +23 -0
- data/rakelib/lib/generate/doc/property_grid_interface.yaml +30 -0
- data/rakelib/lib/generate/doc/property_grid_manager.yaml +40 -0
- data/rakelib/lib/generate/doc/rich_text_html_handler.yaml +11 -0
- data/rakelib/lib/generate/doc/static_box.yaml +8 -0
- data/rakelib/lib/generate/doc/styled_text_ctrl.yaml +18 -0
- data/rakelib/lib/generate/doc/symbol_picker_dialog.yaml +40 -0
- data/rakelib/lib/generate/doc/xml_resource.yaml +3 -0
- data/rakelib/lib/generate/doc.rb +33 -6
- data/rakelib/lib/generate/interface.rb +80 -110
- data/rakelib/lib/generate/rakedep.rb +4 -1
- data/rakelib/lib/specs/interfaces.rb +50 -21
- data/rakelib/lib/streams.rb +5 -1
- data/rakelib/lib/swig_runner.rb +38 -72
- data/rakelib/lib/typemap/array_int_selections.rb +4 -1
- data/rakelib/lib/typemap/common.rb +81 -11
- data/rakelib/lib/typemap/config.rb +55 -0
- data/rakelib/lib/typemap/data_format.rb +5 -2
- data/rakelib/lib/typemap/data_object_data.rb +6 -3
- data/rakelib/lib/typemap/datetime.rb +8 -1
- data/rakelib/lib/typemap/grid_client_data.rb +4 -1
- data/rakelib/lib/typemap/grid_coords.rb +37 -7
- data/rakelib/lib/typemap/html_cell.rb +4 -1
- data/rakelib/lib/typemap/io_streams.rb +4 -1
- data/rakelib/lib/typemap/pgcell.rb +4 -1
- data/rakelib/lib/typemap/pgeditor.rb +4 -1
- data/rakelib/lib/typemap/pgprop_arg.rb +11 -3
- data/rakelib/lib/typemap/pgproperty.rb +4 -1
- data/rakelib/lib/typemap/points_list.rb +9 -8
- data/rakelib/lib/typemap/richtext.rb +185 -11
- data/rakelib/lib/typemap/tree_itemid.rb +26 -1
- data/rakelib/lib/util/string.rb +14 -9
- data/rakelib/prepost.rake +4 -1
- data/rakelib/prepost.rb +4 -1
- data/rakelib/run.rake +4 -1
- data/samples/aui/aui.rb +8 -3
- data/samples/bigdemo/bigdemo.rb +9 -2
- data/samples/bigdemo/run.rb +9 -2
- data/samples/bigdemo/utils.rb +9 -1
- data/samples/calendar/calendar.rb +9 -4
- data/samples/caret/caret.rb +8 -3
- data/samples/controls/books.rb +8 -2
- data/samples/controls/controls.rb +33 -77
- data/samples/controls/get_item_sample.rb +8 -2
- data/samples/controls/htlbox.rb +10 -3
- data/samples/dialogs/dialogs.rb +9 -4
- data/samples/dialogs/wizard.rb +8 -3
- data/samples/dragdrop/dragdrop.rb +8 -3
- data/samples/drawing/bitmap.rb +8 -3
- data/samples/drawing/bitmap_image.rb +8 -3
- data/samples/drawing/graphics_drawing.rb +44 -33
- data/samples/drawing/image_prt.rb +8 -2
- data/samples/drawing/maths_images.rb +8 -3
- data/samples/drawing/rmagic_bitmap_image.rb +8 -3
- data/samples/etc/choice.rb +8 -3
- data/samples/etc/miniframe.rb +8 -3
- data/samples/etc/sash.rb +8 -3
- data/samples/etc/scrollwin.rb +8 -3
- data/samples/etc/system_settings.rb +8 -3
- data/samples/event/activation.rb +8 -3
- data/samples/event/event.rb +8 -3
- data/samples/event/threaded.rb +8 -3
- data/samples/event/update_ui_event.rb +8 -3
- data/samples/grid/grid.rb +9 -3
- data/samples/grid/gridtablebase.rb +8 -3
- data/samples/html/html.rb +8 -3
- data/samples/mdi/mdi.rb +8 -3
- data/samples/minimal/minimal.rb +8 -3
- data/samples/minimal/nothing.rb +8 -3
- data/samples/printing/printing.rb +8 -3
- data/samples/printing/printing2.rb +8 -2
- data/samples/propgrid/propgrid.rb +4 -1
- data/samples/propgrid/propgrid_minimal.rb +4 -2
- data/samples/propgrid/sample_props.rb +4 -1
- data/samples/ribbon/ribbon.rb +4 -1
- data/samples/sampler/editor.rb +4 -1
- data/samples/sampler/ext.rb +4 -1
- data/samples/sampler/sample.rb +13 -4
- data/samples/sampler/stc_editor.rb +4 -1
- data/samples/sampler/txt_editor.rb +4 -1
- data/samples/sampler.rb +11 -3
- data/samples/splash/splash.rb +4 -2
- data/samples/text/art/richtext/alignleft.xpm +24 -0
- data/samples/text/art/richtext/alignright.xpm +24 -0
- data/samples/text/art/richtext/bold.xpm +24 -0
- data/samples/text/art/richtext/centre.xpm +24 -0
- data/samples/text/art/richtext/copy.xpm +45 -0
- data/samples/text/art/richtext/cut.xpm +47 -0
- data/samples/text/art/richtext/font.xpm +25 -0
- data/samples/text/art/richtext/idea.xpm +47 -0
- data/samples/text/art/richtext/indentless.xpm +25 -0
- data/samples/text/art/richtext/indentmore.xpm +25 -0
- data/samples/text/art/richtext/italic.xpm +25 -0
- data/samples/text/art/richtext/open.xpm +58 -0
- data/samples/text/art/richtext/paste.xpm +47 -0
- data/samples/text/art/richtext/redo.xpm +59 -0
- data/samples/text/art/richtext/save.xpm +43 -0
- data/samples/text/art/richtext/smiley.xpm +42 -0
- data/samples/text/art/richtext/underline.xpm +25 -0
- data/samples/text/art/richtext/undo.xpm +59 -0
- data/samples/text/art/richtext/zebra.xpm +409 -0
- data/samples/text/rich_textctrl.rb +8 -3
- data/samples/text/richtext.rb +1794 -0
- data/samples/text/scintilla.rb +8 -3
- data/samples/text/textctrl.rb +21 -4
- data/samples/text/tn_richtext.png +0 -0
- data/samples/text/unicode.rb +9 -4
- data/samples/treectrl/treectrl.rb +10 -5
- data/samples/xrc/custom_xrc_sample.rb +8 -3
- data/samples/xrc/xrc_sample.rb +8 -3
- data/tests/art/test_art/bitmap/wxruby-128x128.png +0 -0
- data/tests/art/test_art/bitmap/wxruby-256x256.png +0 -0
- data/tests/art/test_art/bitmap/wxruby-64x64.png +0 -0
- data/tests/lib/item_container_tests.rb +3 -0
- data/tests/lib/text_entry_tests.rb +3 -0
- data/tests/lib/wxapp_runner.rb +3 -0
- data/tests/lib/wxframe_runner.rb +81 -3
- data/tests/test_app_event_filter.rb +3 -0
- data/tests/test_app_exit_exception.rb +36 -0
- data/tests/test_app_init_exception.rb +20 -0
- data/tests/test_app_traits.rb +33 -0
- data/tests/test_art.rb +22 -0
- data/tests/test_art_provider.rb +3 -0
- data/tests/test_aui.rb +65 -0
- data/tests/test_basic.rb +5 -1
- data/tests/test_book_controls.rb +29 -0
- data/tests/test_box_sizer.rb +5 -2
- data/tests/test_clipboard.rb +3 -0
- data/tests/test_config.rb +150 -0
- data/tests/test_dc.rb +3 -0
- data/tests/test_dialog.rb +3 -0
- data/tests/test_event_handling.rb +3 -0
- data/tests/test_events.rb +3 -0
- data/tests/test_exceptions.rb +41 -0
- data/tests/test_ext_controls.rb +286 -3
- data/tests/test_file_dialog.rb +55 -0
- data/tests/test_font.rb +8 -5
- data/tests/test_gdi_object.rb +3 -0
- data/tests/test_geometry.rb +4 -0
- data/tests/test_grid_sizer.rb +7 -4
- data/tests/test_intl.rb +3 -0
- data/tests/test_item_data.rb +3 -0
- data/tests/test_list_ctrl.rb +4 -1
- data/tests/test_log.rb +63 -0
- data/tests/test_proof_check.rb +52 -0
- data/tests/test_richtext.rb +204 -0
- data/tests/test_sizer.rb +43 -0
- data/tests/test_std_controls.rb +81 -35
- data/tests/test_timer.rb +3 -0
- data/tests/test_variant.rb +3 -0
- data/tests/test_window.rb +10 -8
- data/tests/testapp.rb +4 -0
- data/tests/testapp_noframe.rb +4 -0
- metadata +112 -5
- data/ext/wxruby3/swig/custom/swig3/rubyrun.swg +0 -456
- data/rakelib/lib/director/html_help_frame.rb +0 -25
data/rakelib/lib/core/mapping.rb
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 typemap mapping classes
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
require 'set'
|
|
@@ -42,7 +45,7 @@ module WXRuby3
|
|
|
42
45
|
elsif STD_STR_TYPES.include?(std_type)
|
|
43
46
|
'String'
|
|
44
47
|
elsif STD_BOOL_TYPES.include?(std_type)
|
|
45
|
-
'
|
|
48
|
+
'Boolean'
|
|
46
49
|
else
|
|
47
50
|
nil
|
|
48
51
|
end
|
|
@@ -270,7 +273,7 @@ module WXRuby3
|
|
|
270
273
|
end
|
|
271
274
|
|
|
272
275
|
class ArgOut < Base
|
|
273
|
-
def initialize(map, as: nil, temp: nil, code: nil, &block)
|
|
276
|
+
def initialize(map, as: nil, by_ref: false, temp: nil, code: nil, &block)
|
|
274
277
|
super(map, temp: nil, code: code)
|
|
275
278
|
@as = {}
|
|
276
279
|
if as
|
|
@@ -278,10 +281,11 @@ module WXRuby3
|
|
|
278
281
|
elsif !map.types.empty?
|
|
279
282
|
map.types.each_pair { |pset, type| @as[pset] = _get_mapped_type(type) }
|
|
280
283
|
end
|
|
284
|
+
@by_ref = by_ref
|
|
281
285
|
block.call(self) if block
|
|
282
286
|
end
|
|
283
287
|
|
|
284
|
-
attr_reader :as
|
|
288
|
+
attr_reader :as, :by_ref
|
|
285
289
|
|
|
286
290
|
def map_as(argdef)
|
|
287
291
|
_map_args(argdef, @as)
|
|
@@ -434,8 +438,8 @@ module WXRuby3
|
|
|
434
438
|
@check = FreeArg.new(self, temp: temp, code: code, &block)
|
|
435
439
|
end
|
|
436
440
|
|
|
437
|
-
def map_argout(as: nil, temp: nil, code: nil, &block)
|
|
438
|
-
@argout = ArgOut.new(self, as: as, temp: temp, code: code, &block)
|
|
441
|
+
def map_argout(as: nil, by_ref: false, temp: nil, code: nil, &block)
|
|
442
|
+
@argout = ArgOut.new(self, as: as, by_ref: by_ref, temp: temp, code: code, &block)
|
|
439
443
|
end
|
|
440
444
|
|
|
441
445
|
def map_directorin(temp: nil, code: nil, &block)
|
|
@@ -510,7 +514,7 @@ module WXRuby3
|
|
|
510
514
|
# shift mapped parameters
|
|
511
515
|
parameters.shift(tm_pset.param_masks.size)
|
|
512
516
|
# return mappings
|
|
513
|
-
return [in_arg, out_arg]
|
|
517
|
+
return [in_arg, out_arg, self]
|
|
514
518
|
end
|
|
515
519
|
end
|
|
516
520
|
nil
|
|
@@ -518,9 +522,6 @@ module WXRuby3
|
|
|
518
522
|
|
|
519
523
|
def map_output(type)
|
|
520
524
|
if maps_output?
|
|
521
|
-
if ignores_output? && ignored_output.include?(type)
|
|
522
|
-
return ''
|
|
523
|
-
end
|
|
524
525
|
if (tm_pset = @patterns.detect { |pset| pset == type })
|
|
525
526
|
return @out.to.has_key?(tm_pset) ? @out.to[tm_pset].type : ''
|
|
526
527
|
end
|
|
@@ -541,15 +542,11 @@ module WXRuby3
|
|
|
541
542
|
end
|
|
542
543
|
|
|
543
544
|
def maps_input_as_output?
|
|
544
|
-
|
|
545
|
-
end
|
|
546
|
-
|
|
547
|
-
def ignores_output?
|
|
548
|
-
@out && @out.ignore?
|
|
545
|
+
@argout && !@argout.by_ref
|
|
549
546
|
end
|
|
550
547
|
|
|
551
|
-
def
|
|
552
|
-
@out ? @out.ignored
|
|
548
|
+
def ignores_output?(type)
|
|
549
|
+
@out && @out.ignore? && @out.ignored.include?(type)
|
|
553
550
|
end
|
|
554
551
|
|
|
555
552
|
def to_swig
|
|
@@ -570,7 +567,7 @@ module WXRuby3
|
|
|
570
567
|
@directorin,
|
|
571
568
|
@directorargout,
|
|
572
569
|
@varout]
|
|
573
|
-
maps << @directorout unless
|
|
570
|
+
maps << @directorout unless @out && @out.ignore?
|
|
574
571
|
s.concat maps.collect { |mapping| mapping ? mapping.to_swig : nil }.compact
|
|
575
572
|
else
|
|
576
573
|
[]
|
|
@@ -659,7 +656,7 @@ module WXRuby3
|
|
|
659
656
|
# shift mapped parameters
|
|
660
657
|
parameters.shift(@src_pattern.param_masks.size)
|
|
661
658
|
# return mappings
|
|
662
|
-
return [in_arg, out_arg]
|
|
659
|
+
return [in_arg, out_arg, tm_app]
|
|
663
660
|
end
|
|
664
661
|
end
|
|
665
662
|
nil
|
|
@@ -667,9 +664,6 @@ module WXRuby3
|
|
|
667
664
|
|
|
668
665
|
def map_output(type)
|
|
669
666
|
if maps_output?
|
|
670
|
-
if ignores_output? && ignored_output.include?(type)
|
|
671
|
-
return ''
|
|
672
|
-
end
|
|
673
667
|
return @applied_maps.detect { |tm| tm.maps_output? }.map_output(type)
|
|
674
668
|
end
|
|
675
669
|
nil
|
|
@@ -691,14 +685,6 @@ module WXRuby3
|
|
|
691
685
|
@applied_maps ? @applied_maps.any? { |map| map.maps_input_as_output? } : false
|
|
692
686
|
end
|
|
693
687
|
|
|
694
|
-
def ignores_output?
|
|
695
|
-
@applied_maps ? @applied_maps.any? { |map| map.ignores_output? } : false
|
|
696
|
-
end
|
|
697
|
-
|
|
698
|
-
def ignored_output
|
|
699
|
-
ignores_output? ? @applied_maps.detect { |map| map.ignores_output? }.ignored_output : []
|
|
700
|
-
end
|
|
701
|
-
|
|
702
688
|
def to_swig
|
|
703
689
|
"%apply #{@src_pattern} { #{@patterns.join(', ')} };"
|
|
704
690
|
end
|
|
@@ -774,7 +760,7 @@ module WXRuby3
|
|
|
774
760
|
# shift mapped parameters
|
|
775
761
|
parameters.shift(tm_pset.param_masks.size)
|
|
776
762
|
# return mappings
|
|
777
|
-
return [in_arg, out_arg]
|
|
763
|
+
return [in_arg, out_arg, self]
|
|
778
764
|
end
|
|
779
765
|
end
|
|
780
766
|
nil
|
|
@@ -803,14 +789,10 @@ module WXRuby3
|
|
|
803
789
|
@maps_out
|
|
804
790
|
end
|
|
805
791
|
|
|
806
|
-
def ignores_output?
|
|
792
|
+
def ignores_output?(_)
|
|
807
793
|
false
|
|
808
794
|
end
|
|
809
795
|
|
|
810
|
-
def ignored_output
|
|
811
|
-
[]
|
|
812
|
-
end
|
|
813
|
-
|
|
814
796
|
def to_swig
|
|
815
797
|
nil
|
|
816
798
|
end
|
|
@@ -859,7 +841,7 @@ module WXRuby3
|
|
|
859
841
|
if @pattern.param_masks.first == parameters.first
|
|
860
842
|
# just 'map' the parameter to itself
|
|
861
843
|
param = parameters.shift # loose the 'mapped' parameter
|
|
862
|
-
return [RubyArg[nil, param_offset], nil]
|
|
844
|
+
return [RubyArg[nil, param_offset], nil, self]
|
|
863
845
|
end
|
|
864
846
|
nil
|
|
865
847
|
end
|
|
@@ -887,14 +869,10 @@ module WXRuby3
|
|
|
887
869
|
false
|
|
888
870
|
end
|
|
889
871
|
|
|
890
|
-
def ignores_output?
|
|
872
|
+
def ignores_output?(_)
|
|
891
873
|
false
|
|
892
874
|
end
|
|
893
875
|
|
|
894
|
-
def ignored_output
|
|
895
|
-
[]
|
|
896
|
-
end
|
|
897
|
-
|
|
898
876
|
def to_swig
|
|
899
877
|
"%clear #{@pattern};"
|
|
900
878
|
end
|
|
@@ -990,14 +968,15 @@ module WXRuby3
|
|
|
990
968
|
param_offset = 0
|
|
991
969
|
args = []
|
|
992
970
|
ret = []
|
|
971
|
+
maps = []
|
|
993
972
|
reverse_list = list.reverse_each
|
|
994
973
|
while !parameters.empty?
|
|
995
974
|
result = nil
|
|
996
975
|
param_count = parameters.size
|
|
997
976
|
reverse_list.detect { |map| result = map.map_input(parameters, param_offset) }
|
|
998
|
-
arg_in = arg_out = nil
|
|
977
|
+
arg_in = arg_out = tmap = nil
|
|
999
978
|
if result
|
|
1000
|
-
arg_in, arg_out = result
|
|
979
|
+
arg_in, arg_out, tmap = result
|
|
1001
980
|
else
|
|
1002
981
|
arg_in = RubyArg.new(nil, param_offset)
|
|
1003
982
|
parameters.shift # loose the mapped param
|
|
@@ -1005,10 +984,11 @@ module WXRuby3
|
|
|
1005
984
|
# store mapped param
|
|
1006
985
|
args << arg_in if arg_in
|
|
1007
986
|
ret << arg_out if arg_out
|
|
987
|
+
maps << tmap if tmap
|
|
1008
988
|
# calculate new param offset
|
|
1009
989
|
param_offset += (param_count - parameters.size)
|
|
1010
990
|
end
|
|
1011
|
-
[args, ret]
|
|
991
|
+
[args, ret, maps]
|
|
1012
992
|
end
|
|
1013
993
|
|
|
1014
994
|
def map_output(type)
|
|
@@ -1032,7 +1012,7 @@ module WXRuby3
|
|
|
1032
1012
|
STD_INT_TYPES => 'Integer',
|
|
1033
1013
|
STD_STR_TYPES => 'String',
|
|
1034
1014
|
STD_FLOAT_TYPES => 'Float',
|
|
1035
|
-
STD_BOOL_TYPES => '
|
|
1015
|
+
STD_BOOL_TYPES => 'Boolean'
|
|
1036
1016
|
}.inject(Typemap::Collection.new) do |list, (ctypes, rbtype)|
|
|
1037
1017
|
unless rbtype == 'String'
|
|
1038
1018
|
list << SystemMap.new(*ctypes.collect { |t| ["#{t} * OUTPUT", "#{t} & OUTPUT"]}.flatten,
|
data/rakelib/lib/core/package.rb
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 extension library Package class
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -15,13 +18,14 @@ module WXRuby3
|
|
|
15
18
|
@name = name
|
|
16
19
|
@parent = parent
|
|
17
20
|
@required_features = ::Set.new
|
|
21
|
+
@dependencies = ::Set.new
|
|
18
22
|
@directors = []
|
|
19
23
|
@director_index = {}
|
|
20
24
|
@subpackages = {}
|
|
21
25
|
@event_docs = {}
|
|
22
26
|
end
|
|
23
27
|
|
|
24
|
-
attr_reader :name, :parent, :required_features, :directors, :director_index, :subpackages, :event_docs
|
|
28
|
+
attr_reader :name, :parent, :required_features, :dependencies, :directors, :director_index, :subpackages, :event_docs
|
|
25
29
|
|
|
26
30
|
def is_core?
|
|
27
31
|
name == 'Wx' && !parent
|
|
@@ -88,6 +92,11 @@ module WXRuby3
|
|
|
88
92
|
self
|
|
89
93
|
end
|
|
90
94
|
|
|
95
|
+
def depends_on(*pkgs)
|
|
96
|
+
dependencies.merge(pkgs.flatten)
|
|
97
|
+
self
|
|
98
|
+
end
|
|
99
|
+
|
|
91
100
|
def add_director(spec)
|
|
92
101
|
dir = spec.director.new(spec)
|
|
93
102
|
director_index[spec.name] = dir
|
|
@@ -102,6 +111,7 @@ module WXRuby3
|
|
|
102
111
|
def director_for_class(class_name)
|
|
103
112
|
dir = included_directors.detect { |dir| dir.spec.module_name == class_name || dir.spec.items.include?(class_name) }
|
|
104
113
|
subpackages.each_value.detect { |spkg| dir = spkg.director_for_class(class_name) } if dir.nil?
|
|
114
|
+
dependencies.detect { |pkgdep| dir = pkgdep.director_for_class(class_name) } if dir.nil?
|
|
105
115
|
dir = parent.director_for_class(class_name) if dir.nil? && parent
|
|
106
116
|
dir
|
|
107
117
|
end
|
|
@@ -145,7 +155,11 @@ module WXRuby3
|
|
|
145
155
|
end
|
|
146
156
|
|
|
147
157
|
def dep_libs
|
|
148
|
-
|
|
158
|
+
if parent
|
|
159
|
+
parent.dep_libs + [File.join(Config.instance.dest_dir, "#{parent.libname}.#{Config.instance.dll_ext}")]
|
|
160
|
+
else
|
|
161
|
+
[]
|
|
162
|
+
end
|
|
149
163
|
end
|
|
150
164
|
|
|
151
165
|
def dep_libnames
|
|
@@ -268,6 +282,7 @@ module WXRuby3
|
|
|
268
282
|
Stream.transaction do
|
|
269
283
|
fsrc = CodeStream.new(initializer_src)
|
|
270
284
|
fsrc.puts '#include <ruby.h>'
|
|
285
|
+
fsrc.puts '#include <ruby/version.h>'
|
|
271
286
|
fsrc.puts <<~__HEREDOC
|
|
272
287
|
#ifndef WXRB_EXPORT_FLAG
|
|
273
288
|
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
|
|
@@ -305,9 +320,11 @@ module WXRuby3
|
|
|
305
320
|
fsrc.puts "VALUE #{module_variable} = 0;"
|
|
306
321
|
fsrc.puts "WXRB_IMPORT_FLAG VALUE wxRuby_Core();" unless is_core?
|
|
307
322
|
fsrc.puts
|
|
308
|
-
fsrc.puts '#define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)'
|
|
309
|
-
fsrc.puts
|
|
310
323
|
if is_core?
|
|
324
|
+
fsrc << File.read(File.join(File.dirname(__FILE__), 'include', 'swigrun.inc'))
|
|
325
|
+
fsrc << File.read(File.join(File.dirname(__FILE__), 'include', 'swigrubyerrors.inc'))
|
|
326
|
+
fsrc << File.read(File.join(File.dirname(__FILE__), 'include', 'swigrubyrun.inc'))
|
|
327
|
+
fsrc << File.read(File.join(File.dirname(__FILE__), 'include', 'swigdirector.inc'))
|
|
311
328
|
fsrc << File.read(File.join(File.dirname(__FILE__), 'include', 'funcall.inc'))
|
|
312
329
|
fsrc << File.read(File.join(File.dirname(__FILE__), 'include', 'enum.inc'))
|
|
313
330
|
fsrc << File.read(File.join(File.dirname(__FILE__), 'include', 'init.inc'))
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 typemap Parameter class
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -13,6 +16,9 @@ module WXRuby3
|
|
|
13
16
|
CONST_RE = /(\A|\W)const(\W|\Z)/
|
|
14
17
|
MULTI_WORD_TYPES = %w[char short int long]
|
|
15
18
|
def initialize(param)
|
|
19
|
+
# prevent unwanted splitting on whitespaces in template type decls
|
|
20
|
+
param = param.gsub(/\<\s+/, '<')
|
|
21
|
+
param.gsub!(/\s+\>/, '>')
|
|
16
22
|
@array = false
|
|
17
23
|
if ::Array === param
|
|
18
24
|
@ctype, @name, arr = param
|
data/rakelib/lib/core/spec.rb
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 Director specs class
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
require_relative './mapping'
|
|
@@ -61,7 +64,6 @@ module WXRuby3
|
|
|
61
64
|
@disowns = ::Set.new
|
|
62
65
|
@new_objects = ::Set.new
|
|
63
66
|
@warn_filters = ::Hash.new
|
|
64
|
-
@only_for = ::Hash.new
|
|
65
67
|
@includes = ::Set.new
|
|
66
68
|
@swig_imports = {prepend: ::Set.new, append: ::Set.new}
|
|
67
69
|
@swig_includes = ::Set.new
|
|
@@ -82,7 +84,7 @@ module WXRuby3
|
|
|
82
84
|
end
|
|
83
85
|
|
|
84
86
|
attr_reader :director, :package, :module_name, :name, :items, :folded_bases, :ignores, :regards, :readonly, :contracts, :event_overrides,
|
|
85
|
-
:mixins, :included_mixins, :disabled_proxies, :no_proxies, :disowns, :new_objects, :warn_filters,
|
|
87
|
+
:mixins, :included_mixins, :disabled_proxies, :no_proxies, :disowns, :new_objects, :warn_filters,
|
|
86
88
|
:includes, :swig_imports, :swig_includes, :renames, :swig_code, :begin_code,
|
|
87
89
|
:runtime_code, :header_code, :wrapper_code, :extend_code, :init_code, :interface_code,
|
|
88
90
|
:nogen_sections, :post_processors, :requirements, :type_maps
|
|
@@ -135,6 +137,15 @@ module WXRuby3
|
|
|
135
137
|
(!doc || doc_override) ? supers : nil
|
|
136
138
|
end
|
|
137
139
|
|
|
140
|
+
def is_derived_from?(class_def, base_name)
|
|
141
|
+
base = inheritance_override(class_def.name)
|
|
142
|
+
if base
|
|
143
|
+
!!Extractor::ClassDef.find_base({base.name => base}, base_name)
|
|
144
|
+
else
|
|
145
|
+
class_def.is_derived_from?(base_name)
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
|
|
138
149
|
def extend_interface(cls, *declarations, visibility: 'public')
|
|
139
150
|
((@interface_extensions[cls] ||= {})[visibility] ||= ::Set.new).merge declarations.flatten
|
|
140
151
|
self
|
|
@@ -386,11 +397,6 @@ module WXRuby3
|
|
|
386
397
|
self
|
|
387
398
|
end
|
|
388
399
|
|
|
389
|
-
def set_only_for(id, *names)
|
|
390
|
-
(@only_for[id.to_s] ||= ::Set.new).merge(names.flatten)
|
|
391
|
-
self
|
|
392
|
-
end
|
|
393
|
-
|
|
394
400
|
def include(*paths)
|
|
395
401
|
@includes.merge(paths.flatten)
|
|
396
402
|
self
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 Director specs helper mixin.
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
require 'pathname'
|
|
@@ -99,21 +102,21 @@ module WXRuby3
|
|
|
99
102
|
end
|
|
100
103
|
end
|
|
101
104
|
|
|
102
|
-
def get_base_list(hierarchy, foldedbases, list = ::Set.new)
|
|
105
|
+
def get_base_list(hierarchy, foldedbases, list = ::Set.new, do_not_fold: false)
|
|
103
106
|
hierarchy.each_value do |super_def|
|
|
104
|
-
list << super_def.name unless foldedbases.include?(super_def.name)
|
|
105
|
-
get_base_list(super_def.supers, folded_bases(super_def.name), list)
|
|
107
|
+
list << super_def.name unless !do_not_fold && foldedbases.include?(super_def.name)
|
|
108
|
+
get_base_list(super_def.supers, do_not_fold ? [] : folded_bases(super_def.name), list, do_not_fold: do_not_fold)
|
|
106
109
|
end
|
|
107
110
|
list
|
|
108
111
|
end
|
|
109
112
|
private :get_base_list
|
|
110
113
|
|
|
111
|
-
def base_list(classdef_or_name)
|
|
114
|
+
def base_list(classdef_or_name, do_not_fold: false)
|
|
112
115
|
class_def = (Extractor::ClassDef === classdef_or_name ?
|
|
113
116
|
classdef_or_name : classdef_for_name(classdef_or_name))
|
|
114
117
|
base = ifspec.inheritance_override(class_def.name)
|
|
115
118
|
hierarchy = (base && (base.name ? {base.name => base} : {})) || class_def.hierarchy
|
|
116
|
-
get_base_list(hierarchy, folded_bases(class_def.name)).to_a
|
|
119
|
+
get_base_list(hierarchy, do_not_fold ? [] : folded_bases(class_def.name), do_not_fold: do_not_fold).to_a
|
|
117
120
|
end
|
|
118
121
|
|
|
119
122
|
def get_base_module_list(hierarchy, foldedbases, list = ::Set.new)
|
|
@@ -133,6 +136,12 @@ module WXRuby3
|
|
|
133
136
|
get_base_module_list(hierarchy, folded_bases(class_def.name)).to_a
|
|
134
137
|
end
|
|
135
138
|
|
|
139
|
+
def is_derived_from?(classdef_or_name, base_name)
|
|
140
|
+
class_def = (Extractor::ClassDef === classdef_or_name ?
|
|
141
|
+
classdef_or_name : classdef_for_name(classdef_or_name))
|
|
142
|
+
ifspec.is_derived_from?(class_def, base_name)
|
|
143
|
+
end
|
|
144
|
+
|
|
136
145
|
def is_folded_base?(cnm)
|
|
137
146
|
ifspec.is_folded_base?(cnm)
|
|
138
147
|
end
|
|
@@ -180,7 +189,20 @@ module WXRuby3
|
|
|
180
189
|
def has_virtuals?(classdef_or_name)
|
|
181
190
|
class_def = (Extractor::ClassDef === classdef_or_name ?
|
|
182
191
|
classdef_or_name : classdef_for_name(classdef_or_name))
|
|
183
|
-
return class_def.all_methods.any? { |m| m.is_virtual }
|
|
192
|
+
return class_def.all_methods.any? { |m| !(m.ignored || m.deprecated) && m.is_virtual }
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
def inherits_virtuals?(classdef_or_name)
|
|
196
|
+
class_def = (Extractor::ClassDef === classdef_or_name ?
|
|
197
|
+
classdef_or_name : classdef_for_name(classdef_or_name))
|
|
198
|
+
base_list(class_def).any? do |base_name|
|
|
199
|
+
dir = ifspec.package.director_for_class(base_name)
|
|
200
|
+
raise "Cannot determine director for class #{base_name}" unless dir
|
|
201
|
+
dir.synchronize do
|
|
202
|
+
dir.extract_interface(false) # make sure the Director has extracted data from XML
|
|
203
|
+
end
|
|
204
|
+
Simple.new(dir).has_virtuals?(base_name)
|
|
205
|
+
end
|
|
184
206
|
end
|
|
185
207
|
|
|
186
208
|
def gc_type(classdef)
|
|
@@ -222,11 +244,12 @@ module WXRuby3
|
|
|
222
244
|
def has_proxy?(classdef_or_name)
|
|
223
245
|
class_def = (Extractor::ClassDef === classdef_or_name ?
|
|
224
246
|
classdef_or_name : classdef_for_name(classdef_or_name))
|
|
225
|
-
rc
|
|
247
|
+
rc = !disabled_proxies
|
|
226
248
|
rc &&= (class_def.ignored ||
|
|
227
249
|
class_def.is_template? ||
|
|
228
250
|
has_virtuals?(class_def) ||
|
|
229
|
-
forced_proxy?(class_def.name)
|
|
251
|
+
forced_proxy?(class_def.name) ||
|
|
252
|
+
inherits_virtuals?(class_def))
|
|
230
253
|
clsnm = class_name(class_def)
|
|
231
254
|
rc &&= !no_proxies.include?(clsnm)
|
|
232
255
|
rc
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -44,7 +47,9 @@ module WXRuby3
|
|
|
44
47
|
(TYPE($input) == T_STRING && RSTRING_LEN($input) == 1) );
|
|
45
48
|
__CODE
|
|
46
49
|
end
|
|
47
|
-
|
|
50
|
+
unless Config.instance.features_set?('__WXMSW__')
|
|
51
|
+
spec.ignore('wxAcceleratorTable::wxAcceleratorTable(const wxString &)')
|
|
52
|
+
end
|
|
48
53
|
spec.add_swig_code <<~__HEREDOC
|
|
49
54
|
%warnfilter(509) wxAcceleratorTable::wxAcceleratorTable;
|
|
50
55
|
__HEREDOC
|
|
@@ -64,7 +69,7 @@ module WXRuby3
|
|
|
64
69
|
for (int i = 0; i < RARRAY_LEN($input); i++)
|
|
65
70
|
{
|
|
66
71
|
SWIG_ConvertPtr(rb_ary_entry($input,i), (void **) &wx_acc_ent,
|
|
67
|
-
SWIGTYPE_p_wxAcceleratorEntry,
|
|
72
|
+
SWIGTYPE_p_wxAcceleratorEntry, 0);
|
|
68
73
|
if (wx_acc_ent == NULL)
|
|
69
74
|
rb_raise(rb_eTypeError, "Reference to null wxAcceleratorEntry");
|
|
70
75
|
arr[i] = *wx_acc_ent;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -57,7 +60,7 @@ module WXRuby3
|
|
|
57
60
|
void* ptr = 0;
|
|
58
61
|
int res$argnum = SWIG_ConvertPtr($result, &ptr, SWIGTYPE_p_wxImage, 0 );
|
|
59
62
|
if (!SWIG_IsOK(res$argnum)) {
|
|
60
|
-
Swig::DirectorTypeMismatchException::raise(rb_eTypeError, "Expected Wx::Image result");
|
|
63
|
+
Swig::DirectorTypeMismatchException::raise(swig_get_self(), "$symname", rb_eTypeError, "Expected Wx::Image result");
|
|
61
64
|
}
|
|
62
65
|
*$1 = *reinterpret_cast<wxImage*> (ptr);
|
|
63
66
|
__CODE
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
require_relative './window'
|
|
@@ -15,6 +18,26 @@ module WXRuby3
|
|
|
15
18
|
|
|
16
19
|
def setup
|
|
17
20
|
super
|
|
21
|
+
if Config.instance.wx_version >= '3.3.0'
|
|
22
|
+
spec.items << 'wxAnimationBundle'
|
|
23
|
+
spec.ignore 'wxAnimationBundle::GetAll', ignore_doc: false
|
|
24
|
+
spec.add_extend_code 'wxAnimationBundle', <<~__HEREDOC
|
|
25
|
+
VALUE get_all() const
|
|
26
|
+
{
|
|
27
|
+
const std::vector<wxAnimation>& ani_list = $self->GetAll();
|
|
28
|
+
VALUE rb_ani_list = rb_ary_new();
|
|
29
|
+
for (const wxAnimation& ani : ani_list)
|
|
30
|
+
{
|
|
31
|
+
VALUE rb_ani = SWIG_NewPointerObj(new wxAnimation(ani), SWIGTYPE_p_wxAnimation, SWIG_POINTER_OWN);
|
|
32
|
+
rb_ary_push(rb_ani_list, rb_ani);
|
|
33
|
+
}
|
|
34
|
+
return rb_ani_list;
|
|
35
|
+
}
|
|
36
|
+
__HEREDOC
|
|
37
|
+
spec.map 'const std::vector<wxAnimation>&' => 'Array<Wx::Animation>', swig: false do
|
|
38
|
+
map_out code: ''
|
|
39
|
+
end
|
|
40
|
+
end
|
|
18
41
|
spec.do_not_generate :variables, :enums, :defines, :functions
|
|
19
42
|
end
|
|
20
43
|
end # class AnimationCtrl
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
require_relative './window'
|
|
@@ -13,7 +16,7 @@ module WXRuby3
|
|
|
13
16
|
|
|
14
17
|
def setup
|
|
15
18
|
super
|
|
16
|
-
if Config.instance.wx_port == :
|
|
19
|
+
if Config.instance.wx_port == :wxqt
|
|
17
20
|
# pure abstract so use wxRuby specific impl class
|
|
18
21
|
spec.add_header_code <<~__HEREDOC
|
|
19
22
|
class wxRubyAnyButton : public wxAnyButton
|
data/rakelib/lib/director/app.rb
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
require_relative './event_handler'
|
|
@@ -16,7 +19,9 @@ module WXRuby3
|
|
|
16
19
|
spec.fold_bases('wxApp' => 'wxAppConsole', 'wxAppConsole' => 'wxEventFilter')
|
|
17
20
|
spec.override_inheritance_chain('wxApp', %w[wxEvtHandler wxObject])
|
|
18
21
|
spec.ignore %w{
|
|
19
|
-
wxApp
|
|
22
|
+
wxApp::ProcessMessage
|
|
23
|
+
wxApp::SetDisplayMode
|
|
24
|
+
wxApp::GetDisplayMode
|
|
20
25
|
wxAppConsole::OnInit
|
|
21
26
|
wxAppConsole::OnExit
|
|
22
27
|
wxAppConsole::OnRun
|
|
@@ -38,6 +43,7 @@ module WXRuby3
|
|
|
38
43
|
wxAppConsole::IsScheduledForDestruction
|
|
39
44
|
wxAppConsole::SetInstance
|
|
40
45
|
wxAppConsole::GetInstance
|
|
46
|
+
wxAppConsole::CreateTraits
|
|
41
47
|
wxAppConsole::argc
|
|
42
48
|
wxAppConsole::argv
|
|
43
49
|
wxDECLARE_APP
|
|
@@ -237,6 +243,14 @@ module WXRuby3
|
|
|
237
243
|
return;
|
|
238
244
|
}
|
|
239
245
|
|
|
246
|
+
// Mark any active (tracked) log target
|
|
247
|
+
wxLog* curLog = wxLog::GetActiveTarget();
|
|
248
|
+
VALUE rb_cur_log = wxRuby_FindTracking(curLog);
|
|
249
|
+
if (!NIL_P(rb_cur_log))
|
|
250
|
+
{
|
|
251
|
+
rb_gc_mark(rb_cur_log);
|
|
252
|
+
}
|
|
253
|
+
|
|
240
254
|
// Mark evt handler procs associated with live windows - see
|
|
241
255
|
// classes/EvtHandler.i
|
|
242
256
|
wxRuby_MarkProtectedEvtHandlerProcs();
|
|
@@ -327,7 +341,17 @@ module WXRuby3
|
|
|
327
341
|
// Get the ruby representation of the App object, and call the
|
|
328
342
|
// ruby on_init method to set up the initial window state
|
|
329
343
|
VALUE the_app = rb_const_get(#{spec.package.module_variable}, rb_intern("THE_APP"));
|
|
330
|
-
|
|
344
|
+
bool ex_caught = false;
|
|
345
|
+
VALUE result = wxRuby_Funcall(ex_caught, the_app, rb_intern("on_ruby_init"), 0, 0);
|
|
346
|
+
|
|
347
|
+
if (ex_caught)
|
|
348
|
+
{
|
|
349
|
+
#ifdef __WXRB_DEBUG__
|
|
350
|
+
wxRuby_PrintException(result);
|
|
351
|
+
#endif
|
|
352
|
+
rb_iv_set(the_app, "@exception", result);
|
|
353
|
+
result = Qfalse; // exit app
|
|
354
|
+
}
|
|
331
355
|
|
|
332
356
|
// If on_init return any (ruby) true value, signal to wxWidgets to
|
|
333
357
|
// enter the main event loop by returning true, else return false
|
|
@@ -357,7 +381,15 @@ module WXRuby3
|
|
|
357
381
|
ID on_exit_id = rb_intern("on_exit");
|
|
358
382
|
if (rb_funcall(the_app, rb_intern("respond_to?"), 1, ID2SYM(on_exit_id)) == Qtrue)
|
|
359
383
|
{
|
|
360
|
-
|
|
384
|
+
bool ex_caught = false;
|
|
385
|
+
VALUE rc = wxRuby_Funcall(ex_caught, the_app, on_exit_id, 0, 0);
|
|
386
|
+
if (ex_caught)
|
|
387
|
+
{
|
|
388
|
+
#ifdef __WXRB_DEBUG__
|
|
389
|
+
wxRuby_PrintException(rc);
|
|
390
|
+
#endif
|
|
391
|
+
rb_iv_set(the_app, "@exception", rc);
|
|
392
|
+
}
|
|
361
393
|
}
|
|
362
394
|
|
|
363
395
|
// perform wxRuby cleanup
|
|
@@ -456,10 +488,10 @@ module WXRuby3
|
|
|
456
488
|
VALUE msg = rb_funcall(err, message_id(), 0);
|
|
457
489
|
VALUE err_name = rb_funcall(rb_funcall(err, class_id(), 0), name_id(), 0);
|
|
458
490
|
VALUE bt = rb_funcall(err, backtrace_id(), 0);
|
|
459
|
-
bt = rb_funcall(bt, join_id(), 1, rb_str_new2("\\n"));
|
|
491
|
+
bt = rb_funcall(bt, join_id(), 1, rb_str_new2("\\n\\tfrom "));
|
|
460
492
|
std::cerr << std::endl
|
|
461
|
-
<< ' ' << StringValuePtr(
|
|
462
|
-
<< StringValuePtr(bt) << std::endl;
|
|
493
|
+
<< ' ' << StringValuePtr(msg) << '(' << StringValuePtr(err_name) << ')' << std::endl
|
|
494
|
+
<< "\\tfrom " << StringValuePtr(bt) << std::endl << std::endl;
|
|
463
495
|
}
|
|
464
496
|
__HEREDOC
|
|
465
497
|
super
|