wxruby3 0.9.0.pre.rc.3 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/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 +10 -1
- data/ext/wxruby3/swig/RubyStockObjects.i +5 -3
- data/ext/wxruby3/swig/common.i +8 -3
- 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 +5 -0
- 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/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 +7 -0
- 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 +12 -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 +9 -1
- 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 +6 -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 +55 -3
- 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 +5 -2
- 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 +10 -64
- data/rakelib/lib/core/include/init.inc +3 -0
- data/rakelib/lib/core/mapping.rb +26 -46
- data/rakelib/lib/core/package.rb +17 -3
- data/rakelib/lib/core/parameter.rb +4 -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 +7 -2
- data/rakelib/lib/director/animation.rb +4 -1
- data/rakelib/lib/director/animation_ctrl.rb +4 -1
- data/rakelib/lib/director/any_button.rb +5 -2
- data/rakelib/lib/director/app.rb +16 -2
- data/rakelib/lib/director/app_traits.rb +71 -0
- data/rakelib/lib/director/art_provider.rb +4 -1
- 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 +4 -1
- 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 +24 -3
- 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 +11 -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_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 +14 -9
- 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 +22 -5
- 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 +13 -6
- 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 -1
- data/rakelib/lib/director/pgcell.rb +4 -1
- data/rakelib/lib/director/pgeditor.rb +4 -1
- data/rakelib/lib/director/pgmulti_button.rb +4 -1
- data/rakelib/lib/director/pgproperties.rb +4 -1
- 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_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 +4 -1
- data/rakelib/lib/director/sizer_item.rb +9 -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 +4 -1
- 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 +5 -2
- 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/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/styled_text_ctrl.yaml +18 -0
- data/rakelib/lib/generate/doc/symbol_picker_dialog.yaml +40 -0
- data/rakelib/lib/generate/doc.rb +19 -3
- data/rakelib/lib/generate/interface.rb +79 -110
- data/rakelib/lib/generate/rakedep.rb +4 -1
- data/rakelib/lib/specs/interfaces.rb +45 -20
- data/rakelib/lib/streams.rb +5 -1
- data/rakelib/lib/swig_runner.rb +34 -22
- data/rakelib/lib/typemap/array_int_selections.rb +4 -1
- data/rakelib/lib/typemap/common.rb +57 -2
- data/rakelib/lib/typemap/config.rb +55 -0
- data/rakelib/lib/typemap/data_format.rb +4 -1
- data/rakelib/lib/typemap/data_object_data.rb +4 -1
- 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 +4 -1
- data/rakelib/lib/typemap/pgproperty.rb +4 -1
- data/rakelib/lib/typemap/points_list.rb +4 -1
- data/rakelib/lib/typemap/richtext.rb +185 -11
- data/rakelib/lib/typemap/tree_itemid.rb +26 -1
- data/rakelib/lib/util/string.rb +4 -1
- 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 +1824 -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_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_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_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_std_controls.rb +45 -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 +89 -3
- data/rakelib/lib/director/html_help_frame.rb +0 -25
|
@@ -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 './top_level_window'
|
|
@@ -16,57 +19,66 @@ module WXRuby3
|
|
|
16
19
|
# only for wxFrame class itself
|
|
17
20
|
case spec.module_name
|
|
18
21
|
when 'wxFrame'
|
|
19
|
-
spec.no_proxy %w[
|
|
20
|
-
wxFrame::CreateStatusBar
|
|
21
|
-
wxFrame::CreateToolBar
|
|
22
|
-
wxFrame::SetMenuBar
|
|
23
|
-
wxFrame::GetMenuBar
|
|
24
|
-
wxFrame::SetStatusBar
|
|
25
|
-
wxFrame::GetStatusBar
|
|
26
|
-
wxFrame::SetToolBar
|
|
27
|
-
wxFrame::GetToolBar]
|
|
28
22
|
spec.ignore %w[
|
|
29
23
|
wxFrame::OnCreateStatusBar wxFrame::OnCreateToolBar]
|
|
30
|
-
|
|
24
|
+
unless Config.instance.features_set?(*%w[__WXMSW__ wxUSE_TASKBARBUTTON])
|
|
25
|
+
spec.ignore('wxFrame::MSWGetTaskBarButton')
|
|
26
|
+
end
|
|
31
27
|
# this reimplemented window base method need to be properly wrapped but
|
|
32
28
|
# is missing from the XML docs
|
|
33
29
|
spec.extend_interface('wxFrame', 'virtual void OnInternalIdle()')
|
|
34
30
|
spec.disown 'wxMenuBar *'
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
# handled; can be suppressed
|
|
32
|
+
spec.suppress_warning(473,
|
|
33
|
+
'wxFrame::CreateStatusBar',
|
|
34
|
+
'wxFrame::CreateToolBar',
|
|
35
|
+
'wxFrame::GetMenuBar',
|
|
36
|
+
'wxFrame::GetStatusBar',
|
|
37
|
+
'wxFrame::GetToolBar')
|
|
38
|
+
end
|
|
39
|
+
# for SetStatusWidths
|
|
40
|
+
spec.map 'int n, int * widths_field' do
|
|
41
|
+
map_in from: {type: 'Array<Integer>', index: 1},
|
|
42
|
+
temp: 'int size, std::unique_ptr<int[]> arr', code: <<~__CODE
|
|
38
43
|
size = RARRAY_LEN($input);
|
|
39
44
|
arr.reset(new int[size]);
|
|
40
|
-
for(i = 0; i < size; i++)
|
|
45
|
+
for(int i = 0; i < size; i++)
|
|
41
46
|
{
|
|
42
47
|
arr.get()[i] = NUM2INT(rb_ary_entry($input,i));
|
|
43
48
|
}
|
|
44
49
|
$1 = size;
|
|
45
50
|
$2 = arr.get();
|
|
46
51
|
__CODE
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
map_directorin code: <<~__CODE
|
|
53
|
+
$input = rb_ary_new();
|
|
54
|
+
for (int i = 0; i < $1; i++)
|
|
55
|
+
{
|
|
56
|
+
rb_ary_push($input, INT2NUM($2[i]));
|
|
57
|
+
}
|
|
58
|
+
__CODE
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def process(gendoc: false)
|
|
63
|
+
defmod = super
|
|
64
|
+
spec.items.each do |citem|
|
|
65
|
+
def_item = defmod.find_item(citem)
|
|
66
|
+
if Extractor::ClassDef === def_item && (citem == 'wxFrame' || spec.is_derived_from?(def_item, 'wxFrame'))
|
|
57
67
|
spec.no_proxy %W[
|
|
58
|
-
#{
|
|
59
|
-
#{
|
|
60
|
-
#{
|
|
61
|
-
#{
|
|
62
|
-
#{
|
|
63
|
-
#{
|
|
64
|
-
#{
|
|
65
|
-
#{
|
|
68
|
+
#{spec.class_name(citem)}::CreateStatusBar
|
|
69
|
+
#{spec.class_name(citem)}::CreateToolBar
|
|
70
|
+
#{spec.class_name(citem)}::SetMenuBar
|
|
71
|
+
#{spec.class_name(citem)}::GetMenuBar
|
|
72
|
+
#{spec.class_name(citem)}::SetStatusBar
|
|
73
|
+
#{spec.class_name(citem)}::GetStatusBar
|
|
74
|
+
#{spec.class_name(citem)}::SetToolBar
|
|
75
|
+
#{spec.class_name(citem)}::GetToolBar
|
|
66
76
|
]
|
|
67
77
|
end
|
|
68
78
|
end
|
|
79
|
+
defmod
|
|
69
80
|
end
|
|
81
|
+
|
|
70
82
|
end # class Frame
|
|
71
83
|
|
|
72
84
|
end # class Director
|
|
@@ -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,6 +13,7 @@ module WXRuby3
|
|
|
10
13
|
class FSFile < Director
|
|
11
14
|
|
|
12
15
|
include Typemap::IOStreams
|
|
16
|
+
include Typemap::DateTime
|
|
13
17
|
|
|
14
18
|
def setup
|
|
15
19
|
super
|
|
@@ -31,6 +35,32 @@ module WXRuby3
|
|
|
31
35
|
}
|
|
32
36
|
__CODE
|
|
33
37
|
end
|
|
38
|
+
spec.map 'wxFileOffset' => 'Integer' do
|
|
39
|
+
# we need these inline methods here as we do not want SWIG to preprocess the code
|
|
40
|
+
# as it will do in the type mapping code sections
|
|
41
|
+
add_header_code <<~__CODE
|
|
42
|
+
inline wxFileOffset __ruby2wxFileOffset(VALUE num)
|
|
43
|
+
{
|
|
44
|
+
#ifdef wxHAS_HUGE_FILES
|
|
45
|
+
return static_cast<wxFileOffset> (NUM2LL(num));
|
|
46
|
+
#else
|
|
47
|
+
return static_cast<wxFileOffset> (NUM2LONG(num));
|
|
48
|
+
#endif
|
|
49
|
+
}
|
|
50
|
+
inline VALUE __wxFileOffset2ruby(wxFileOffset offs)
|
|
51
|
+
{
|
|
52
|
+
#ifdef wxHAS_HUGE_FILES
|
|
53
|
+
return LL2NUM(offs);
|
|
54
|
+
#else
|
|
55
|
+
return LONG2NUM(offs);
|
|
56
|
+
#endif
|
|
57
|
+
}
|
|
58
|
+
__CODE
|
|
59
|
+
|
|
60
|
+
map_in code: '$1 = __ruby2wxFileOffset($input);'
|
|
61
|
+
map_out code: '$result = __wxFileOffset2ruby($1);'
|
|
62
|
+
map_typecheck code: '$1 = TYPE($input) == T_FIXNUM;'
|
|
63
|
+
end
|
|
34
64
|
spec.new_object 'wxFSFile::DetachStream'
|
|
35
65
|
# ignore troublesome methods
|
|
36
66
|
spec.ignore 'wxInputStream::Read(void *, size_t)',
|
|
@@ -346,6 +376,27 @@ module WXRuby3
|
|
|
346
376
|
spec.add_init_code 'wxRuby_AppendMarker(wxRuby_markRbStreams);'
|
|
347
377
|
end
|
|
348
378
|
|
|
379
|
+
def process(gendoc: false)
|
|
380
|
+
defmod = super
|
|
381
|
+
# wxSeekMode is documented in a separate module with a lot of defs we do not want
|
|
382
|
+
# so let's manually insert it's definition here
|
|
383
|
+
seek_mode_enum = Extractor::EnumDef.new(name: 'wxSeekMode',
|
|
384
|
+
brief_doc: 'Parameter indicating how file offset should be interpreted.')
|
|
385
|
+
seek_mode_enum.items << Extractor::EnumValueDef.new(enum: seek_mode_enum, name: 'wxFromStart', brief_doc: 'Seek from the file beginning.')
|
|
386
|
+
seek_mode_enum.items << Extractor::EnumValueDef.new(enum: seek_mode_enum, name: 'wxFromCurrent', brief_doc: 'Seek from the current position.')
|
|
387
|
+
seek_mode_enum.items << Extractor::EnumValueDef.new(enum: seek_mode_enum, name: 'wxFromEnd', brief_doc: 'Seek from end of the file.')
|
|
388
|
+
defmod.items << seek_mode_enum
|
|
389
|
+
# same for this
|
|
390
|
+
stream_error_enum = Extractor::EnumDef.new(name: 'wxStreamError',
|
|
391
|
+
brief_doc: 'IO stream error codes.')
|
|
392
|
+
stream_error_enum.items << Extractor::EnumValueDef.new(enum: stream_error_enum, name: 'wxSTREAM_NO_ERROR', brief_doc: 'No error occurred.')
|
|
393
|
+
stream_error_enum.items << Extractor::EnumValueDef.new(enum: stream_error_enum, name: 'wxSTREAM_EOF', brief_doc: 'EOF reached.')
|
|
394
|
+
stream_error_enum.items << Extractor::EnumValueDef.new(enum: stream_error_enum, name: 'wxSTREAM_WRITE_ERROR', brief_doc: 'generic write error on the last write call.')
|
|
395
|
+
stream_error_enum.items << Extractor::EnumValueDef.new(enum: stream_error_enum, name: 'wxSTREAM_READ_ERROR', brief_doc: 'generic read error on the last read call.')
|
|
396
|
+
defmod.items << stream_error_enum
|
|
397
|
+
defmod
|
|
398
|
+
end
|
|
399
|
+
|
|
349
400
|
end # class FSFile
|
|
350
401
|
|
|
351
402
|
end # class Director
|
|
@@ -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
|
|
@@ -59,10 +62,12 @@ module WXRuby3
|
|
|
59
62
|
if (!NIL_P(rb_comp) && TYPE(rb_comp) == T_STRING) component = StringValuePtr(rb_comp);
|
|
60
63
|
}
|
|
61
64
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
65
|
+
if ( lvl == wxLOG_FatalError ||
|
|
66
|
+
wxLog::IsLevelEnabled(lvl, wxASCII_STR(component)) )
|
|
67
|
+
{
|
|
68
|
+
VALUE log_msg = argc==1 ? argv[0] : rb_f_sprintf(argc, argv);
|
|
69
|
+
wxLogger(lvl, filename, line, func, component).Log(RSTR_TO_WXSTR(log_msg));
|
|
70
|
+
}
|
|
66
71
|
}
|
|
67
72
|
|
|
68
73
|
// Log a Wx message with the given level to the current Wx log output
|
|
@@ -192,6 +197,7 @@ module WXRuby3
|
|
|
192
197
|
}
|
|
193
198
|
__CODE
|
|
194
199
|
end
|
|
200
|
+
spec.map_apply 'int *OUTPUT' => ['int *indexDefaultExtension']
|
|
195
201
|
# hardcoded interface declarations
|
|
196
202
|
spec.add_interface_code <<~__HEREDOC
|
|
197
203
|
bool wxSafeYield(wxWindow* win = NULL, bool onlyIfNeeded = false);
|
|
@@ -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,14 +60,16 @@ module WXRuby3
|
|
|
57
60
|
wxPoint::x wxPoint::y
|
|
58
61
|
wxRealPoint::x wxRealPoint::y
|
|
59
62
|
]
|
|
60
|
-
spec.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
spec.ignore('wxStockCursor.wxCURSOR_DEFAULT') unless Config.instance.features_set?('__WXGTK__')
|
|
64
|
+
unless Config.instance.features_set?('__X__')
|
|
65
|
+
spec.ignore %w{
|
|
66
|
+
wxStockCursor.wxCURSOR_CROSS_REVERSE
|
|
67
|
+
wxStockCursor.wxCURSOR_DOUBLE_ARROW
|
|
68
|
+
wxStockCursor.wxCURSOR_BASED_ARROW_UP
|
|
69
|
+
wxStockCursor.wxCURSOR_BASED_ARROW_DOWN
|
|
70
|
+
}
|
|
71
|
+
end
|
|
72
|
+
spec.ignore('wxStockCursor.wxCURSOR_COPY_ARROW') unless Config.instance.features_set?('__WXOSX__')
|
|
68
73
|
spec.add_extend_code 'wxRect', <<~__HEREDOC
|
|
69
74
|
wxRect add(const wxRect &rect) const {
|
|
70
75
|
return (*(const wxRect*)$self) + rect;
|
|
@@ -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,21 +14,97 @@ module WXRuby3
|
|
|
11
14
|
|
|
12
15
|
def setup
|
|
13
16
|
super
|
|
17
|
+
spec.items << 'wxGraphicsGradientStop' << 'wxGraphicsGradientStops' << 'wxGraphicsPenInfo'
|
|
14
18
|
spec.disable_proxies
|
|
15
19
|
# do not track GraphicContext objects as that causes problems probably for similar
|
|
16
20
|
# reasons as for DC objects
|
|
17
21
|
spec.gc_as_untracked
|
|
22
|
+
# doc error
|
|
23
|
+
spec.ignore 'wxGraphicsGradientStop::wxGraphicsGradientStop'
|
|
24
|
+
spec.extend_interface 'wxGraphicsGradientStop',
|
|
25
|
+
'wxGraphicsGradientStop(wxColour col=wxTransparentColour, float pos=0.0)'
|
|
18
26
|
# ignore all these; wxRuby only supports the ::draw_on methods
|
|
19
27
|
spec.ignore 'wxGraphicsContext::CreateFromNative',
|
|
20
28
|
'wxGraphicsContext::CreateFromNativeWindow',
|
|
21
29
|
'wxGraphicsContext::CreateFromNativeHDC',
|
|
22
30
|
'wxGraphicsContext::CreateFromUnknownDC',
|
|
23
31
|
'wxGraphicsContext::GetNativeContext',
|
|
24
|
-
'wxGraphicsContext::Create'
|
|
32
|
+
'wxGraphicsContext::Create',
|
|
33
|
+
'wxGraphicsContext::CreateMatrix(const wxAffineMatrix2DBase &) const',
|
|
34
|
+
'wxGraphicsContext::DrawLines(size_t, const wxPoint2DDouble *, wxPolygonFillMode)',
|
|
35
|
+
'wxGraphicsContext::StrokeLines(size_t, const wxPoint2DDouble *)',
|
|
36
|
+
'wxGraphicsContext::StrokeLines (size_t, const wxPoint2DDouble *, const wxPoint2DDouble *)'
|
|
37
|
+
if Config.platform == :linux
|
|
38
|
+
spec.ignore 'wxGraphicsContext::Create(const wxPrinterDC &)'
|
|
39
|
+
end
|
|
40
|
+
spec.add_header_code <<~__HEREDOC
|
|
41
|
+
// special free funcs are needed to clean up Dashes array if it has been
|
|
42
|
+
// set; wxWidgets does not do this automatically so will leak if not
|
|
43
|
+
// dealt with.
|
|
44
|
+
void GC_free_wxGraphicsPenInfo(wxGraphicsPenInfo *pen_info)
|
|
45
|
+
{
|
|
46
|
+
SWIG_RubyRemoveTracking(pen_info);
|
|
47
|
+
if (pen_info)
|
|
48
|
+
{
|
|
49
|
+
wxDash *dashes;
|
|
50
|
+
int dash_count = pen_info->GetDashes(&dashes);
|
|
51
|
+
if ( dash_count )
|
|
52
|
+
delete dashes;
|
|
53
|
+
}
|
|
54
|
+
delete pen_info;
|
|
55
|
+
}
|
|
56
|
+
__HEREDOC
|
|
57
|
+
# dealt with below - these require special handling because of the use
|
|
58
|
+
# of wxDash array, which cannot be freed until the peninfo is disposed of
|
|
59
|
+
# or until a new dash pattern is specified.
|
|
60
|
+
spec.ignore(%w[wxGraphicsPenInfo::GetDashes wxGraphicsPenInfo::Dashes], ignore_doc: false)
|
|
61
|
+
spec.ignore 'wxGraphicsPenInfo::GetDash'
|
|
62
|
+
spec.add_extend_code 'wxGraphicsPenInfo', <<~__HEREDOC
|
|
63
|
+
// Returns a ruby array with the dash lengths
|
|
64
|
+
VALUE get_dashes()
|
|
65
|
+
{
|
|
66
|
+
VALUE rb_dashes = rb_ary_new();
|
|
67
|
+
wxDash* dashes;
|
|
68
|
+
int dash_count = $self->GetDashes(&dashes);
|
|
69
|
+
for ( int i = 0; i < dash_count; i++ )
|
|
70
|
+
{
|
|
71
|
+
rb_ary_push(rb_dashes, INT2NUM(dashes[i]));
|
|
72
|
+
}
|
|
73
|
+
return rb_dashes;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Sets the dashes to have the lengths defined in the ruby array of ints
|
|
77
|
+
void dashes(VALUE rb_dashes)
|
|
78
|
+
{
|
|
79
|
+
// Check right parameter type
|
|
80
|
+
if ( TYPE(rb_dashes) != T_ARRAY )
|
|
81
|
+
rb_raise(rb_eTypeError,
|
|
82
|
+
"Wrong argument type for set_dashes, should be Array");
|
|
83
|
+
|
|
84
|
+
// Get old value in case it needs to be deallocated to avoid leaking
|
|
85
|
+
wxDash* old_dashes;
|
|
86
|
+
int old_dashes_count = $self->GetDashes(&old_dashes);
|
|
87
|
+
|
|
88
|
+
// Create a C++ wxDash array to hold the new dashes, and populate
|
|
89
|
+
int new_dash_count = RARRAY_LEN(rb_dashes);
|
|
90
|
+
wxDash* new_dashes = new wxDash[ new_dash_count ];
|
|
91
|
+
for ( int i = 0; i < new_dash_count; i++ )
|
|
92
|
+
{
|
|
93
|
+
new_dashes[i] = NUM2INT(rb_ary_entry(rb_dashes, i));
|
|
94
|
+
}
|
|
95
|
+
$self->Dashes(new_dash_count, new_dashes);
|
|
96
|
+
|
|
97
|
+
// Clean up the old if it existed
|
|
98
|
+
if ( old_dashes_count )
|
|
99
|
+
delete old_dashes;
|
|
100
|
+
}
|
|
101
|
+
__HEREDOC
|
|
25
102
|
# type mappings
|
|
26
|
-
# Typemap to fix GraphicsContext#get_text_extent
|
|
103
|
+
# Typemap to fix GraphicsContext#get_text_extent and get_dpi and get_clip_box
|
|
27
104
|
spec.map_apply 'double *OUTPUT' => [ 'wxDouble* width', 'wxDouble* height',
|
|
28
|
-
'wxDouble* descent', 'wxDouble* externalLeading'
|
|
105
|
+
'wxDouble* descent', 'wxDouble* externalLeading',
|
|
106
|
+
'wxDouble *dpiX', 'wxDouble *dpiY',
|
|
107
|
+
'wxDouble *x', 'wxDouble *y', 'wxDouble *w', 'wxDouble *h']
|
|
29
108
|
spec.map 'wxDouble* width, wxDouble* height, wxDouble* descent, wxDouble* externalLeading' do
|
|
30
109
|
map_directorargout code: <<~__CODE
|
|
31
110
|
if ( (TYPE(result) == T_ARRAY) && (RARRAY_LEN(result) >= 2) )
|
|
@@ -137,7 +216,37 @@ module WXRuby3
|
|
|
137
216
|
}
|
|
138
217
|
__CODE
|
|
139
218
|
end
|
|
219
|
+
# for GetPartialTextExtents
|
|
220
|
+
spec.map 'wxArrayDouble &widths' => 'Array<Float>' do
|
|
221
|
+
map_in ignore: true, temp: 'wxArrayDouble tmp', code: '$1 = &tmp;'
|
|
222
|
+
|
|
223
|
+
map_argout code: <<~__CODE
|
|
224
|
+
$result = rb_ary_new();
|
|
225
|
+
for (size_t i = 0; i < $1->GetCount(); i++)
|
|
226
|
+
{
|
|
227
|
+
rb_ary_push($result,DBL2NUM( $1->Item(i) ) );
|
|
228
|
+
}
|
|
229
|
+
__CODE
|
|
230
|
+
end
|
|
140
231
|
# add convenience method providing efficient gc memory management
|
|
232
|
+
unless Config.platform == :linux
|
|
233
|
+
spec.add_extend_code 'wxGraphicsContext', <<~__HEREDOC
|
|
234
|
+
static VALUE draw_on(const wxPrinterDC& dc)
|
|
235
|
+
{
|
|
236
|
+
VALUE rc = Qnil;
|
|
237
|
+
if (rb_block_given_p())
|
|
238
|
+
{
|
|
239
|
+
wxGraphicsContext* p_gc = wxGraphicsContext::Create(dc);
|
|
240
|
+
VALUE rb_gc = SWIG_NewPointerObj(SWIG_as_voidptr(p_gc), SWIGTYPE_p_wxGraphicsContext, 1);
|
|
241
|
+
rc = rb_yield(rb_gc);
|
|
242
|
+
SWIG_RubyRemoveTracking((void *)p_gc);
|
|
243
|
+
DATA_PTR(rb_gc) = NULL;
|
|
244
|
+
delete p_gc;
|
|
245
|
+
}
|
|
246
|
+
return rc;
|
|
247
|
+
}
|
|
248
|
+
__HEREDOC
|
|
249
|
+
end
|
|
141
250
|
spec.add_extend_code 'wxGraphicsContext', <<~__HEREDOC
|
|
142
251
|
static VALUE draw_on(wxWindow* win)
|
|
143
252
|
{
|
|
@@ -181,20 +290,6 @@ module WXRuby3
|
|
|
181
290
|
}
|
|
182
291
|
return rc;
|
|
183
292
|
}
|
|
184
|
-
static VALUE draw_on(const wxPrinterDC& dc)
|
|
185
|
-
{
|
|
186
|
-
VALUE rc = Qnil;
|
|
187
|
-
if (rb_block_given_p())
|
|
188
|
-
{
|
|
189
|
-
wxGraphicsContext* p_gc = wxGraphicsContext::Create(dc);
|
|
190
|
-
VALUE rb_gc = SWIG_NewPointerObj(SWIG_as_voidptr(p_gc), SWIGTYPE_p_wxGraphicsContext, 1);
|
|
191
|
-
rc = rb_yield(rb_gc);
|
|
192
|
-
SWIG_RubyRemoveTracking((void *)p_gc);
|
|
193
|
-
DATA_PTR(rb_gc) = NULL;
|
|
194
|
-
delete p_gc;
|
|
195
|
-
}
|
|
196
|
-
return rc;
|
|
197
|
-
}
|
|
198
293
|
static VALUE draw_on(wxImage& img)
|
|
199
294
|
{
|
|
200
295
|
VALUE rc = Qnil;
|
|
@@ -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,7 +21,14 @@ module WXRuby3
|
|
|
18
21
|
spec.ignore 'wxGraphicsMatrix::IsEqual(const wxGraphicsMatrix &)'
|
|
19
22
|
spec.ignore 'wxGraphicsMatrix::GetNativeMatrix'
|
|
20
23
|
spec.ignore 'wxGraphicsBitmap::GetNativeBitmap'
|
|
21
|
-
spec.ignore 'wxGraphicsPath::GetNativePath',
|
|
24
|
+
spec.ignore 'wxGraphicsPath::GetNativePath',
|
|
25
|
+
'wxGraphicsPath::UnGetNativePath',
|
|
26
|
+
'wxGraphicsPath::AddCurveToPoint(const wxPoint2DDouble &, const wxPoint2DDouble &, const wxPoint2DDouble &)',
|
|
27
|
+
'wxGraphicsPath::AddLineToPoint(const wxPoint2DDouble &)',
|
|
28
|
+
'wxGraphicsPath::Contains(const wxPoint2DDouble &, wxPolygonFillMode) const',
|
|
29
|
+
'wxGraphicsPath::GetCurrentPoint',
|
|
30
|
+
'wxGraphicsPath::MoveToPoint(const wxPoint2DDouble &)',
|
|
31
|
+
'wxGraphicsPath::AddArc(const wxPoint2DDouble &, wxDouble, wxDouble, wxDouble, bool)'
|
|
22
32
|
# Deal with GraphicsMatrix#get method
|
|
23
33
|
spec.map_apply 'double *OUTPUT' => [ 'wxDouble *a', 'wxDouble *b',
|
|
24
34
|
'wxDouble *c', 'wxDouble *d',
|
|
@@ -40,6 +50,7 @@ module WXRuby3
|
|
|
40
50
|
end
|
|
41
51
|
spec.ignore 'wxGraphicsPath::GetBox() const',
|
|
42
52
|
'wxGraphicsPath::GetCurrentPoint() const'
|
|
53
|
+
spec.map_apply 'double * OUTPUT' => 'wxDouble *'
|
|
43
54
|
if Config.platform == :mingw
|
|
44
55
|
# it seems for WXMSW there is a problem cleaning up GraphicsObjects in GC after
|
|
45
56
|
# the wxApp has ended (probably because some other wxWidgets cleanup already
|
|
@@ -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
|
|
@@ -16,7 +19,24 @@ module WXRuby3
|
|
|
16
19
|
# exposing the mixin wxClientDataContainer/wxSharedClientDataContainer has no real upside
|
|
17
20
|
# for wxRuby; far easier to just use member variables in derived classes
|
|
18
21
|
spec.override_inheritance_chain('wxGridCellAttr', [])
|
|
19
|
-
spec.
|
|
22
|
+
spec.gc_as_untracked('wxGridCellAttr')
|
|
23
|
+
# use custom free func to be able to account for more complex inheritance
|
|
24
|
+
spec.add_header_code <<~__HEREDOC
|
|
25
|
+
static void GC_free_GridCellAttr(void *ptr)
|
|
26
|
+
{
|
|
27
|
+
wxGridCellAttr* gc_attr = (wxGridCellAttr*)ptr;
|
|
28
|
+
if (ptr)
|
|
29
|
+
gc_attr->DecRef();
|
|
30
|
+
}
|
|
31
|
+
__HEREDOC
|
|
32
|
+
spec.add_swig_code '%feature("freefunc") wxGridCellAttr "GC_free_GridCellAttr";'
|
|
33
|
+
# these do not provide usable refcount handling and would be unsafe for GC
|
|
34
|
+
# are actually more for internal Grid use than anything else anyway
|
|
35
|
+
spec.ignore 'wxGridCellAttr::wxGridCellAttr(wxGridCellAttr *)',
|
|
36
|
+
'wxGridCellAttr::SetDefAttr',
|
|
37
|
+
'wxGridCellAttr::MergeWith'
|
|
38
|
+
# replace with true default ctor
|
|
39
|
+
spec.extend_interface('wxGridCellAttr', 'wxGridCellAttr()')
|
|
20
40
|
spec.ignore %w[wxGridCellAttr::IncRef wxGridCellAttr::DecRef]
|
|
21
41
|
spec.ignore('wxGridCellAttr::GetEditorPtr',
|
|
22
42
|
'wxGridCellAttr::GetRendererPtr')
|
|
@@ -39,9 +59,13 @@ module WXRuby3
|
|
|
39
59
|
map_check code: 'wxRuby_RegisterGridCellRenderer($1, argv[$argnum-2]);'
|
|
40
60
|
end
|
|
41
61
|
# argout type mappings
|
|
42
|
-
spec.map_apply 'int* OUTPUT' => ['int *
|
|
62
|
+
spec.map_apply 'int* OUTPUT' => ['int *num_rows', 'int *num_cols']
|
|
63
|
+
spec.map 'int *hAlign', 'int *vAlign', as: 'Integer' do
|
|
64
|
+
map_in ignore: true, temp: 'int tmp', code: 'tmp = wxALIGN_INVALID; $1 = &tmp;'
|
|
65
|
+
map_argout code: '$result = SWIG_Ruby_AppendOutput($result, INT2NUM(*$1));'
|
|
66
|
+
end
|
|
43
67
|
# for docs only
|
|
44
|
-
spec.map
|
|
68
|
+
spec.map 'int *num_rows', 'int *num_cols', as: 'Integer', swig: false do
|
|
45
69
|
map_in ignore: true
|
|
46
70
|
map_argout
|
|
47
71
|
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
|
|
@@ -13,7 +16,10 @@ module WXRuby3
|
|
|
13
16
|
|
|
14
17
|
def setup
|
|
15
18
|
super
|
|
16
|
-
spec.
|
|
19
|
+
spec.gc_as_untracked
|
|
20
|
+
# use custom free func to be able to account for more complex inheritance
|
|
21
|
+
spec.add_header_code 'extern void GC_free_GridCellEditor(void *ptr);'
|
|
22
|
+
spec.add_swig_code '%feature("freefunc") wxGridCellEditor "GC_free_GridCellEditor";'
|
|
17
23
|
if spec.module_name == 'wxGridCellEditor'
|
|
18
24
|
spec.post_processors << :fix_gridcelleditor
|
|
19
25
|
# exposing the mixin wxClientDataContainer/wxSharedClientDataContainer has no real upside
|
|
@@ -101,7 +107,14 @@ module WXRuby3
|
|
|
101
107
|
wxRuby_RegisterGridCellEditor(const_cast<wxGridCellEditor*> (wx_gce), rb_gce);
|
|
102
108
|
return rb_gce;
|
|
103
109
|
}
|
|
104
|
-
|
|
110
|
+
|
|
111
|
+
extern void GC_free_GridCellEditor(void *ptr)
|
|
112
|
+
{
|
|
113
|
+
wxGridCellEditor* gc_edt = (wxGridCellEditor*)ptr;
|
|
114
|
+
if (ptr)
|
|
115
|
+
gc_edt->DecRef();
|
|
116
|
+
}
|
|
117
|
+
__CODE
|
|
105
118
|
elsif spec.module_name == 'wxGridCellActivatableEditor'
|
|
106
119
|
spec.post_processors << :fix_gridcelleditor
|
|
107
120
|
spec.override_inheritance_chain('wxGridCellActivatableEditor', %w[wxGridCellEditor])
|
|
@@ -126,6 +139,10 @@ module WXRuby3
|
|
|
126
139
|
case spec.module_name
|
|
127
140
|
when 'wxGridCellEnumEditor'
|
|
128
141
|
spec.override_inheritance_chain(spec.module_name, %w[wxGridCellChoiceEditor wxGridCellEditor])
|
|
142
|
+
when 'wxGridCellChoiceEditor'
|
|
143
|
+
# unnecessary overload
|
|
144
|
+
spec.ignore 'wxGridCellChoiceEditor::wxGridCellChoiceEditor(size_t, const wxString [], bool)'
|
|
145
|
+
spec.override_inheritance_chain(spec.module_name, %w[wxGridCellEditor])
|
|
129
146
|
when 'wxGridCellAutoWrapStringEditor', 'wxGridCellFloatEditor', 'wxGridCellNumberEditor'
|
|
130
147
|
spec.override_inheritance_chain(spec.module_name, %w[wxGridCellTextEditor wxGridCellEditor])
|
|
131
148
|
else
|
|
@@ -335,7 +352,7 @@ module WXRuby3
|
|
|
335
352
|
elsif line["wxGridActivationResult SwigDirector_#{module_name}::TryActivate("]
|
|
336
353
|
skip_lines = true
|
|
337
354
|
# append new method implementation
|
|
338
|
-
line << <<~__METHOD__
|
|
355
|
+
line << "\n" << <<~__METHOD__
|
|
339
356
|
static WxRuby_ID try_activate_id("try_activate");
|
|
340
357
|
|
|
341
358
|
VALUE obj0 = Qnil ;
|
|
@@ -358,7 +375,7 @@ module WXRuby3
|
|
|
358
375
|
elsif line["_wrap_#{module_name}_TryActivate(int argc, VALUE *argv, VALUE self) {"]
|
|
359
376
|
skip_lines = true
|
|
360
377
|
# append new method implementation
|
|
361
|
-
line << <<~__METHOD__
|
|
378
|
+
line << "\n" << <<~__METHOD__
|
|
362
379
|
#{module_name} *arg1 = (#{module_name} *) 0 ;
|
|
363
380
|
int arg2 ;
|
|
364
381
|
int arg3 ;
|
|
@@ -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,10 @@ module WXRuby3
|
|
|
13
16
|
|
|
14
17
|
def setup
|
|
15
18
|
super
|
|
16
|
-
spec.
|
|
19
|
+
spec.gc_as_untracked
|
|
20
|
+
# use custom free func to be able to account for more complex inheritance
|
|
21
|
+
spec.add_header_code 'extern void GC_free_GridCellRenderer(void *ptr);'
|
|
22
|
+
spec.add_swig_code '%feature("freefunc") wxGridCellRenderer "GC_free_GridCellRenderer";'
|
|
17
23
|
if spec.module_name == 'wxGridCellRenderer'
|
|
18
24
|
# exposing the mixin wxClientDataContainer/wxSharedClientDataContainer has no real upside
|
|
19
25
|
# for wxRuby; far easier to just use member variables in derived classes
|
|
@@ -97,7 +103,14 @@ module WXRuby3
|
|
|
97
103
|
wxRuby_RegisterGridCellRenderer(const_cast<wxGridCellRenderer*> (wx_gcr), rb_gcr);
|
|
98
104
|
return rb_gcr;
|
|
99
105
|
}
|
|
100
|
-
|
|
106
|
+
|
|
107
|
+
extern void GC_free_GridCellRenderer(void *ptr)
|
|
108
|
+
{
|
|
109
|
+
wxGridCellRenderer* gc_rdr = (wxGridCellRenderer*)ptr;
|
|
110
|
+
if (ptr)
|
|
111
|
+
gc_rdr->DecRef();
|
|
112
|
+
}
|
|
113
|
+
__CODE
|
|
101
114
|
else
|
|
102
115
|
case spec.module_name
|
|
103
116
|
when 'wxGridCellStringRenderer'
|