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
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
require_relative './window'
|
|
10
|
+
|
|
11
|
+
module WXRuby3
|
|
12
|
+
|
|
13
|
+
class Director
|
|
14
|
+
|
|
15
|
+
class HyperlinkCtrl < Window
|
|
16
|
+
|
|
17
|
+
def setup
|
|
18
|
+
super
|
|
19
|
+
if Config.instance.wx_version <= '3.3.0'
|
|
20
|
+
# XML docs (< 3.3) incorrectly declare these pure virtual
|
|
21
|
+
spec.ignore 'wxHyperlinkCtrl::GetVisited', 'wxHyperlinkCtrl::SetVisited', ignore_doc: false
|
|
22
|
+
# replace by correct declarations
|
|
23
|
+
spec.extend_interface 'wxHyperlinkCtrl',
|
|
24
|
+
'virtual bool wxHyperlinkCtrl::GetVisited() const',
|
|
25
|
+
'virtual void wxHyperlinkCtrl::SetVisited(bool visited = true)'
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end # class HyperlinkCtrl
|
|
29
|
+
|
|
30
|
+
end # class Director
|
|
31
|
+
|
|
32
|
+
end # module WXRuby3
|
|
@@ -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
|
|
@@ -17,8 +20,13 @@ module WXRuby3
|
|
|
17
20
|
spec.ignore [
|
|
18
21
|
'wxImage::wxImage(wxInputStream &,wxBitmapType,int)',
|
|
19
22
|
'wxImage::wxImage(wxInputStream &,const wxString &,int)',
|
|
23
|
+
'wxImage::wxImage(const char *const *)',
|
|
20
24
|
'wxImage::GetImageCount(wxInputStream &,wxBitmapType)'
|
|
21
25
|
]
|
|
26
|
+
# ignore original signature
|
|
27
|
+
spec.ignore 'wxImage::SetAlpha(unsigned char *,bool)', ignore_doc: false
|
|
28
|
+
# add custom signature to aid type mapping
|
|
29
|
+
spec.extend_interface 'wxImage', 'void SetAlpha(unsigned char *alpha_or_null=NULL, bool static_data=false)'
|
|
22
30
|
spec.rename_for_ruby(
|
|
23
31
|
'LoadStream' => ['wxImage::LoadFile(wxInputStream &, wxBitmapType, int)', 'wxImage::LoadFile(wxInputStream &,const wxString &, int)'],
|
|
24
32
|
'Write' => ['wxImage::SaveFile(wxOutputStream &, wxBitmapType) const', 'wxImage::SaveFile(wxOutputStream &,const wxString &) const'],
|
|
@@ -114,7 +122,7 @@ module WXRuby3
|
|
|
114
122
|
# The GetRgbData and GetAlphaData methods require special handling using %extend;
|
|
115
123
|
spec.ignore %w[wxImage::GetData wxImage::GetAlpha]
|
|
116
124
|
# The SetRgbData and SetAlphaData are dealt with by typemaps (see below).
|
|
117
|
-
# For Image#set_rgb_data, Image#set_alpha_data and Image.new with raw data arg:
|
|
125
|
+
# For Image#set_rgb_data, Image#set_alpha_data and Image.new/create with raw data arg:
|
|
118
126
|
# copy raw string data from a Ruby string to a memory block that will be
|
|
119
127
|
# managed by wxWidgets (see static_data typemap below)
|
|
120
128
|
spec.map 'unsigned char* data', 'unsigned char* alpha', as: 'String' do
|
|
@@ -125,12 +133,27 @@ module WXRuby3
|
|
|
125
133
|
$1 = (unsigned char*)malloc(data_len);
|
|
126
134
|
memcpy($1, StringValuePtr($input), data_len);
|
|
127
135
|
}
|
|
128
|
-
else
|
|
136
|
+
else
|
|
137
|
+
SWIG_exception_fail(SWIG_ERROR,
|
|
138
|
+
"String required as raw Image data argument");
|
|
139
|
+
__CODE
|
|
140
|
+
map_typecheck precedence: 'POINTER', code: '$1 = (TYPE($input) == T_STRING);'
|
|
141
|
+
end
|
|
142
|
+
spec.map 'unsigned char* alpha_or_null', as: 'String' do
|
|
143
|
+
map_in code: <<~__CODE
|
|
144
|
+
if ( TYPE($input) == T_STRING )
|
|
145
|
+
{
|
|
146
|
+
int data_len = RSTRING_LEN($input);
|
|
147
|
+
$1 = (unsigned char*)malloc(data_len);
|
|
148
|
+
memcpy($1, StringValuePtr($input), data_len);
|
|
149
|
+
}
|
|
150
|
+
else if ( $input == Qnil ) // Needed for SetAlpha
|
|
129
151
|
$1 = NULL;
|
|
130
152
|
else
|
|
131
153
|
SWIG_exception_fail(SWIG_ERROR,
|
|
132
154
|
"String required as raw Image data argument");
|
|
133
155
|
__CODE
|
|
156
|
+
map_typecheck precedence: 'POINTER', code: '$1 = NIL_P($input) || (TYPE($input) == T_STRING);'
|
|
134
157
|
end
|
|
135
158
|
# Image.new(data...) and Image#set_alpha_data both accept a static_data
|
|
136
159
|
# argument to specify whether wxWidgets should delete the data
|
|
@@ -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
|
|
@@ -14,6 +17,7 @@ module WXRuby3
|
|
|
14
17
|
if Config.instance.windows? || Config.instance.macosx?
|
|
15
18
|
spec.ignore('wxImageList::Add(const wxIcon &)', ignore_doc: false)
|
|
16
19
|
end
|
|
20
|
+
spec.ignore 'wxImageList::GetSize(int , int &, int &) const'
|
|
17
21
|
super
|
|
18
22
|
end
|
|
19
23
|
end # class ImageList
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
require_relative './window'
|
|
10
|
+
|
|
11
|
+
module WXRuby3
|
|
12
|
+
|
|
13
|
+
class Director
|
|
14
|
+
|
|
15
|
+
class InfoBar < Window
|
|
16
|
+
|
|
17
|
+
def setup
|
|
18
|
+
super
|
|
19
|
+
# no need to wrap this here as we do not proxy this
|
|
20
|
+
spec.ignore 'wxInfoBar::SetFont'
|
|
21
|
+
end
|
|
22
|
+
end # class InfoBar
|
|
23
|
+
|
|
24
|
+
end # class Director
|
|
25
|
+
|
|
26
|
+
end # module WXRuby3
|
|
@@ -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'
|
|
@@ -52,12 +55,13 @@ module WXRuby3
|
|
|
52
55
|
(void)self->EditLabel(item);
|
|
53
56
|
}
|
|
54
57
|
__HEREDOC
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
unless Config.instance.features_set?('wxHAS_LISTCTRL_COLUMN_ORDER')
|
|
59
|
+
spec.ignore %w[wxListCtrl::GetColumnIndexFromOrder
|
|
60
|
+
wxListCtrl::GetColumnOrder
|
|
61
|
+
wxListCtrl::GetColumnsOrder
|
|
62
|
+
wxListCtrl::SetColumnsOrder]
|
|
63
|
+
end
|
|
64
|
+
# these are protected so ignored by default but we want them here
|
|
61
65
|
spec.regard %w[
|
|
62
66
|
wxListCtrl::OnGetItemAttr
|
|
63
67
|
wxListCtrl::OnGetItemColumnAttr
|
|
@@ -79,6 +83,34 @@ module WXRuby3
|
|
|
79
83
|
'wxListCtrl::SetItemData',
|
|
80
84
|
'wxListCtrl::SetItemPtrData',
|
|
81
85
|
'wxListCtrl::SortItems'
|
|
86
|
+
spec.map 'const wxVector<wxBitmapBundle>& images' => 'Array<Wx::ImageBundle>' do
|
|
87
|
+
map_in temp: 'wxVector<wxBitmapBundle> tmp', code: <<~__CODE
|
|
88
|
+
if ($input != Qnil)
|
|
89
|
+
{
|
|
90
|
+
if (TYPE($input) == T_ARRAY)
|
|
91
|
+
{
|
|
92
|
+
for (int i=0; i<RARRAY_LEN($input) ;++i)
|
|
93
|
+
{
|
|
94
|
+
void* ptr;
|
|
95
|
+
VALUE rb_image = rb_ary_entry($input, i);
|
|
96
|
+
int res = SWIG_ConvertPtr(rb_image, &ptr, wxRuby_GetSwigTypeForClassName("BitmapBundle"), 0);
|
|
97
|
+
if (!SWIG_IsOK(res))
|
|
98
|
+
{
|
|
99
|
+
VALUE msg = rb_inspect(rb_image);
|
|
100
|
+
rb_raise(rb_eTypeError, "Expected Wx::ImageBundle at index %d but got %s", i, StringValuePtr(msg));
|
|
101
|
+
}
|
|
102
|
+
tmp.push_back(*static_cast<wxBitmapBundle*>(ptr));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else
|
|
106
|
+
{
|
|
107
|
+
VALUE msg = rb_inspect($input);
|
|
108
|
+
rb_raise(rb_eArgError, "Expected Array of Wx::ImageBundle for $argnum but got %s", StringValuePtr(msg));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
$1 = &tmp;
|
|
112
|
+
__CODE
|
|
113
|
+
end
|
|
82
114
|
# required for GetItemRect and GetSubItemRect
|
|
83
115
|
spec.map 'wxRect &rect' => 'Wx::Rect' do
|
|
84
116
|
map_in ignore: true, code: '$1 = new wxRect();'
|
|
@@ -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
|
|
@@ -24,10 +27,10 @@ module WXRuby3
|
|
|
24
27
|
wxLanguageInfo::Description
|
|
25
28
|
wxLanguageInfo::DescriptionNative
|
|
26
29
|
wxLanguageInfo::LayoutDirection
|
|
27
|
-
wxLanguageInfo::WinLang
|
|
28
|
-
wxLanguageInfo::WinSublang
|
|
29
30
|
]
|
|
30
|
-
|
|
31
|
+
if Config.instance.features_set?('__WXMSW__')
|
|
32
|
+
spec.regard('wxLanguageInfo::WinLang', 'wxLanguageInfo::WinSublang')
|
|
33
|
+
end
|
|
31
34
|
end
|
|
32
35
|
end # class Locale
|
|
33
36
|
|
data/rakelib/lib/director/log.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
|
module WXRuby3
|
|
@@ -10,14 +13,15 @@ module WXRuby3
|
|
|
10
13
|
class Log < Director
|
|
11
14
|
|
|
12
15
|
def setup
|
|
13
|
-
spec.gc_as_object %w[wxLog wxLogChain wxLogInterposer
|
|
14
|
-
spec.items.concat(%w[wxLogBuffer wxLogChain wxLogGui wxLogStderr wxLogStream wxLogTextCtrl wxLogInterposer
|
|
16
|
+
spec.gc_as_object %w[wxLog wxLogChain wxLogInterposer wxLogWindow]
|
|
17
|
+
spec.items.concat(%w[wxLogBuffer wxLogChain wxLogGui wxLogStderr wxLogStream wxLogTextCtrl wxLogInterposer wxLogWindow wxLogNull wxLogRecordInfo])
|
|
15
18
|
spec.no_proxy(%w[wxLogBuffer wxLogGui wxLogStderr wxLogTextCtrl wxLogWindow])
|
|
16
|
-
spec.force_proxy(%w[wxLogInterposer
|
|
19
|
+
spec.force_proxy(%w[wxLogInterposer])
|
|
20
|
+
spec.ignore 'wxLog::SetFormatter'
|
|
17
21
|
spec.regard %w[wxLog::DoLogRecord wxLog::DoLogTextAtLevel wxLog::DoLogText]
|
|
18
22
|
spec.ignore 'wxLogBuffer::Flush'
|
|
19
23
|
spec.ignore 'wxLogGui::Flush'
|
|
20
|
-
if Config.instance.features_set?(
|
|
24
|
+
if Config.instance.features_set?('wxUSE_STD_IOSTREAM')
|
|
21
25
|
spec.ignore 'wxLogStream'
|
|
22
26
|
end
|
|
23
27
|
# wxLogStderr
|
|
@@ -32,7 +36,48 @@ module WXRuby3
|
|
|
32
36
|
rb_raise(rb_eArgError, "Expected 1 (for stdout) or 2 (for stderr).");
|
|
33
37
|
}
|
|
34
38
|
__HEREDOC
|
|
39
|
+
|
|
35
40
|
# for wxLogChain
|
|
41
|
+
|
|
42
|
+
# In C++ wxLogChain releases it's redirection chain when destructed.
|
|
43
|
+
# In wxRuby this does not work as expected as GC collection cannot be exactly predicted.
|
|
44
|
+
# Therefor extend the class here with an explicit 'release' method.
|
|
45
|
+
spec.add_extend_code 'wxLogChain', <<~__CODE
|
|
46
|
+
void release()
|
|
47
|
+
{
|
|
48
|
+
wxLog::SetActiveTarget($self->GetOldLog());
|
|
49
|
+
$self->DetachOldLog();
|
|
50
|
+
// Make Ruby own the object again so it will be deleted when GC collected
|
|
51
|
+
VALUE rb_self = SWIG_RubyInstanceFor($self);
|
|
52
|
+
if (!NIL_P(rb_self))
|
|
53
|
+
{
|
|
54
|
+
swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(CLASS_OF(rb_self));
|
|
55
|
+
RDATA(rb_self)->dfree = ((swig_class *)swig_type->clientdata)->destroy;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
__CODE
|
|
59
|
+
# In this case we have a mix of C++ marking and Ruby caching to manage GC collection.
|
|
60
|
+
# The 'Old Log' reference is managed from C++ as it is captured and accessible there.
|
|
61
|
+
# The 'New Log' reference is cached in Ruby as the LogChain class does not provide
|
|
62
|
+
# access to this after setting (private member).
|
|
63
|
+
spec.add_header_code <<~__HEREDOC
|
|
64
|
+
static void GC_mark_wxLogChain(void* ptr)
|
|
65
|
+
{
|
|
66
|
+
if (ptr )
|
|
67
|
+
{
|
|
68
|
+
wxLogChain* logChain = reinterpret_cast<wxLogChain*> (ptr);
|
|
69
|
+
wxLog* oldLog = logChain->GetOldLog();
|
|
70
|
+
VALUE rb_old_log = SWIG_RubyInstanceFor(oldLog);
|
|
71
|
+
if (!NIL_P(rb_old_log))
|
|
72
|
+
{
|
|
73
|
+
rb_gc_mark(rb_old_log);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
__HEREDOC
|
|
78
|
+
spec.add_swig_code '%markfunc wxLogChain "GC_mark_wxLogChain";',
|
|
79
|
+
'%markfunc wxLogInterposer "GC_mark_wxLogChain";',
|
|
80
|
+
'%markfunc wxLogWindow "GC_mark_wxLogChain";'
|
|
36
81
|
spec.disown 'wxLog *logger'
|
|
37
82
|
spec.ignore 'wxLogChain::DetachOldLog' # too much potential trouble
|
|
38
83
|
# add override decl missing from xml specs
|
|
@@ -43,8 +88,8 @@ module WXRuby3
|
|
|
43
88
|
# are installed as ActiveTarget on construction and so wxWidgets has ownership
|
|
44
89
|
spec.allocate_disowned 'wxLogChain'
|
|
45
90
|
spec.allocate_disowned 'wxLogInterposer'
|
|
46
|
-
spec.allocate_disowned 'wxLogInterposerTemp'
|
|
47
91
|
spec.allocate_disowned 'wxLogWindow'
|
|
92
|
+
|
|
48
93
|
# for ActiveTarget methods
|
|
49
94
|
spec.ignore 'wxLog::SetThreadActiveTarget'
|
|
50
95
|
spec.disown 'wxLog *logtarget'
|
|
@@ -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,8 +47,18 @@ module WXRuby3
|
|
|
44
47
|
SWIGTYPE_p_wxMenuItem, 0);
|
|
45
48
|
rb_ary_push($result, rb_menu_item);
|
|
46
49
|
}
|
|
50
|
+
__CODE
|
|
51
|
+
end
|
|
52
|
+
# for FindItem
|
|
53
|
+
spec.map 'wxMenu **' => 'Wx::Menu' do
|
|
54
|
+
map_in ignore: true, temp: 'wxMenu *tmp', code: '$1 = &tmp;'
|
|
55
|
+
map_argout code: <<~__CODE
|
|
56
|
+
void *ptr = tmp$argnum;
|
|
57
|
+
$result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(ptr, SWIGTYPE_p_wxMenu, 0));
|
|
47
58
|
__CODE
|
|
48
59
|
end
|
|
60
|
+
# for FindChildItem
|
|
61
|
+
spec.map_apply 'size_t * OUTPUT' => 'size_t * pos'
|
|
49
62
|
spec.add_header_code <<~__HEREDOC
|
|
50
63
|
// Mark Function
|
|
51
64
|
// Need to protect MenuItems which are included in the Menu, including
|
|
@@ -71,7 +84,7 @@ module WXRuby3
|
|
|
71
84
|
__HEREDOC
|
|
72
85
|
spec.add_swig_code <<~__HEREDOC
|
|
73
86
|
%markfunc wxMenu "mark_wxMenu";
|
|
74
|
-
|
|
87
|
+
__HEREDOC
|
|
75
88
|
# fix SWIG's problems with const& return value
|
|
76
89
|
spec.ignore('wxMenu::GetTitle', ignore_doc: false) # keep doc
|
|
77
90
|
spec.add_extend_code 'wxMenu', <<~__HEREDOC
|
|
@@ -79,7 +92,7 @@ module WXRuby3
|
|
|
79
92
|
wxString const& title = $self->GetTitle();
|
|
80
93
|
return &const_cast<wxString&> (title);
|
|
81
94
|
}
|
|
82
|
-
|
|
95
|
+
__HEREDOC
|
|
83
96
|
super
|
|
84
97
|
end
|
|
85
98
|
end # class Menu
|
|
@@ -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'
|
|
@@ -12,6 +15,7 @@ module WXRuby3
|
|
|
12
15
|
class MenuBar < Window
|
|
13
16
|
|
|
14
17
|
def setup
|
|
18
|
+
super
|
|
15
19
|
spec.no_proxy('wxMenuBar::FindItem',
|
|
16
20
|
'wxMenuBar::Remove',
|
|
17
21
|
'wxMenuBar::Replace')
|
|
@@ -22,7 +26,14 @@ module WXRuby3
|
|
|
22
26
|
unless Config.instance.wx_version >= '3.3' || Config.instance.wx_abi_version > '3.0.0'
|
|
23
27
|
spec.ignore 'wxMenuBar::OSXGetAppleMenu'
|
|
24
28
|
end
|
|
25
|
-
|
|
29
|
+
# for FindItem
|
|
30
|
+
spec.map 'wxMenu **' => 'Wx::Menu' do
|
|
31
|
+
map_in ignore: true, temp: 'wxMenu *tmp', code: '$1 = &tmp;'
|
|
32
|
+
map_argout code: <<~__CODE
|
|
33
|
+
void *ptr = tmp$argnum;
|
|
34
|
+
$result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(ptr, SWIGTYPE_p_wxMenu, 0));
|
|
35
|
+
__CODE
|
|
36
|
+
end
|
|
26
37
|
end
|
|
27
38
|
end # class MenuBar
|
|
28
39
|
|
|
@@ -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
|
|
@@ -18,14 +21,11 @@ module WXRuby3
|
|
|
18
21
|
spec.ignore(%w[wxMenuItem::GetLabel wxMenuItem::GetName wxMenuItem::GetText wxMenuItem::SetText wxMenuItem::GetLabelFromText])
|
|
19
22
|
# ignore this as there is no implementation anymore
|
|
20
23
|
spec.ignore 'wxMenuItem::GetAccelFromString'
|
|
21
|
-
spec.
|
|
24
|
+
spec.ignore('wxMenuItem::GetAccel') unless Config.instance.features_set?('wxUSE_ACCEL')
|
|
22
25
|
spec.no_proxy 'wxMenuItem::GetAccel'
|
|
23
26
|
spec.ignore 'wxMenuItem::GetBitmap(bool)' # not portable
|
|
24
27
|
if Config.instance.wx_version >= '3.3.0'
|
|
25
|
-
spec.
|
|
26
|
-
'wxMenuItem::SetBackgroundColour',
|
|
27
|
-
'wxMenuItem::SetFont',
|
|
28
|
-
'wxMenuItem::SetTextColour'
|
|
28
|
+
spec.ignore('wxMenuItem::SetBackgroundColour','wxMenuItem::SetFont','wxMenuItem::SetTextColour') unless Config.instance.features_set?('__WXMSW__')
|
|
29
29
|
end
|
|
30
30
|
super
|
|
31
31
|
end
|
|
@@ -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
|
|
@@ -12,7 +15,7 @@ module WXRuby3
|
|
|
12
15
|
def setup
|
|
13
16
|
super
|
|
14
17
|
spec.ignore 'wxMouseState::GetPosition(int*,int*)'
|
|
15
|
-
spec.do_not_generate(:variables, :
|
|
18
|
+
spec.do_not_generate(:variables, :defines, :functions)
|
|
16
19
|
end
|
|
17
20
|
end # class MouseState
|
|
18
21
|
|
|
@@ -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
|
|
@@ -11,7 +14,7 @@ module WXRuby3
|
|
|
11
14
|
|
|
12
15
|
def setup
|
|
13
16
|
spec.make_abstract('wxObject')
|
|
14
|
-
spec.ignore %w[wxObject::Ref wxObject::UnRef wxObject::GetRefData wxObject::IsKindOf wxObject::GetClassInfo]
|
|
17
|
+
spec.ignore %w[wxObject::Ref wxObject::UnRef wxObject::GetRefData wxObject::IsKindOf wxObject::GetClassInfo wxObject::SetRefData]
|
|
15
18
|
spec.no_proxy 'wxObject'
|
|
16
19
|
spec.add_extend_code 'wxObject', <<~__HEREDOC
|
|
17
20
|
// Returns the string name of the C++ wx class which this object is wrapping.
|
|
@@ -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
|
|
@@ -13,7 +16,56 @@ module WXRuby3
|
|
|
13
16
|
super
|
|
14
17
|
spec.disable_proxies
|
|
15
18
|
spec.gc_as_untracked 'wxPalette'
|
|
16
|
-
|
|
19
|
+
spec.ignore 'wxPalette::GetRGB(int,unsigned char *,unsigned char *,unsigned char *) const', ignore_doc: false
|
|
20
|
+
spec.extend_interface 'wxPalette', 'bool GetRGB(int pixel,unsigned char *red_out,unsigned char *green_out,unsigned char *blue_out) const'
|
|
21
|
+
# for GetRGB
|
|
22
|
+
spec.map 'unsigned char *red_out', 'unsigned char *green_out', 'unsigned char *blue_out', as: 'Integer' do
|
|
23
|
+
map_in ignore: true, temp: 'unsigned char cv', code: '$1 = &cv;'
|
|
24
|
+
map_argout code: '$result = SWIG_Ruby_AppendOutput($result, UINT2NUM(cv$argnum));'
|
|
25
|
+
end
|
|
26
|
+
# for ctor and Create
|
|
27
|
+
spec.map 'int n, const unsigned char *red' => 'Array<Integer>' do
|
|
28
|
+
map_in temp: 'std::unique_ptr<unsigned char[]> arr, int _global_len', code: <<~__CODE
|
|
29
|
+
if (TYPE($input) == T_ARRAY)
|
|
30
|
+
{
|
|
31
|
+
_global_len = $1 = RARRAY_LEN($input);
|
|
32
|
+
arr = std::make_unique<unsigned char[]>($1);
|
|
33
|
+
$2 = arr.get ();
|
|
34
|
+
for (int i=0; i<$1 ;++i)
|
|
35
|
+
{
|
|
36
|
+
$2[i] = NUM2UINT(rb_ary_entry($input, i));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else
|
|
40
|
+
{
|
|
41
|
+
rb_raise(rb_eArgError, "Expected an array of integers for %d", $argnum-1);
|
|
42
|
+
}
|
|
43
|
+
__CODE
|
|
44
|
+
map_typecheck precedence: 'POINTER', code: '$1 = (TYPE($input) == T_ARRAY);'
|
|
45
|
+
end
|
|
46
|
+
spec.map 'const unsigned char *green', 'const unsigned char *blue', as: 'Array<Integer>' do
|
|
47
|
+
map_in temp: 'std::unique_ptr<unsigned char[]> arr', code: <<~__CODE
|
|
48
|
+
if (TYPE($input) == T_ARRAY && _global_len == RARRAY_LEN($input))
|
|
49
|
+
{
|
|
50
|
+
int len = RARRAY_LEN($input);
|
|
51
|
+
arr = std::make_unique<unsigned char[]>(len);
|
|
52
|
+
$1 = arr.get ();
|
|
53
|
+
for (int i=0; i<len ;++i)
|
|
54
|
+
{
|
|
55
|
+
$1[i] = NUM2UINT(rb_ary_entry($input, i));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else
|
|
59
|
+
{
|
|
60
|
+
if (TYPE($input) == T_ARRAY)
|
|
61
|
+
rb_raise(rb_eArgError, "Expected an array of integers of size %d for %d", _global_len, $argnum-1);
|
|
62
|
+
else
|
|
63
|
+
rb_raise(rb_eArgError, "Expected an array of integers for %d", $argnum-1);
|
|
64
|
+
}
|
|
65
|
+
__CODE
|
|
66
|
+
map_typecheck precedence: 'POINTER', code: '$1 = (TYPE($input) == T_ARRAY);'
|
|
67
|
+
end
|
|
68
|
+
if Config.instance.wx_port == :wxqt
|
|
17
69
|
# mismatched implementation which does nothing anyway
|
|
18
70
|
spec.ignore 'wxPalette::wxPalette(int, const unsigned char *, const unsigned char *, const unsigned char *)'
|
|
19
71
|
spec.ignore 'wxPalette::Create(int, const unsigned char *, const unsigned char *, const unsigned char *)'
|
data/rakelib/lib/director/pen.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
|
module WXRuby3
|
|
@@ -73,7 +76,7 @@ module WXRuby3
|
|
|
73
76
|
return new_pen;
|
|
74
77
|
}
|
|
75
78
|
__HEREDOC
|
|
76
|
-
# dealt with below - these require special handling
|
|
79
|
+
# dealt with below - these require special handling because of the use
|
|
77
80
|
# of wxDash array, which cannot be freed until the pen(info) is disposed of
|
|
78
81
|
# or until a new dash pattern is specified.
|
|
79
82
|
spec.ignore(%w[wxPen::GetDashes wxPen::SetDashes wxPenInfo::GetDashes wxPenInfo::Dashes], ignore_doc: false)
|