wxruby3 0.9.0.pre.rc.2 → 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/INSTALL.md +30 -8
- data/README.md +3 -3
- 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 +7 -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 +14 -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 +49 -4
- data/lib/wx/core/imagelist.rb +8 -1
- data/lib/wx/core/listbox.rb +7 -0
- data/lib/wx/core/listctrl.rb +26 -13
- data/lib/wx/core/locale.rb +8 -0
- data/lib/wx/core/log.rb +114 -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 +19 -15
- 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 +13 -0
- data/lib/wx/doc/events.rb +6 -0
- data/lib/wx/doc/evthandler.rb +8 -0
- data/lib/wx/doc/extra/00_starting.md +6 -6
- data/lib/wx/doc/extra/01_packages.md +52 -51
- data/lib/wx/doc/extra/02_lifecycles.md +9 -8
- 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 +2 -2
- data/lib/wx/doc/extra/10_art.md +18 -12
- data/lib/wx/doc/extra/11_drawing_and_dc.md +8 -8
- data/lib/wx/doc/font.rb +7 -1
- data/lib/wx/doc/font_data.rb +16 -0
- data/lib/wx/doc/functions.rb +60 -24
- data/lib/wx/doc/gc_dc.rb +7 -1
- 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 +50 -12
- data/lib/wx/doc/list_ctrl.rb +38 -0
- data/lib/wx/doc/log.rb +45 -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 +8 -2
- 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 +7 -1
- 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 +18 -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 +40 -55
- data/rakelib/lib/core/package.rb +20 -3
- data/rakelib/lib/core/parameter.rb +4 -1
- data/rakelib/lib/core/spec.rb +35 -18
- data/rakelib/lib/core/spec_helper.rb +38 -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 +49 -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 +29 -0
- 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 +51 -49
- 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 +58 -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 +42 -9
- data/rakelib/lib/director/listbox.rb +4 -1
- data/rakelib/lib/director/locale.rb +7 -4
- data/rakelib/lib/director/log.rb +111 -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 +29 -1
- data/rakelib/lib/director/text_validator.rb +14 -3
- 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 +22 -6
- 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 +17 -9
- data/rakelib/lib/extractor/module.rb +4 -1
- data/rakelib/lib/extractor/variable.rb +10 -7
- 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/aui_manager.yaml +21 -0
- data/rakelib/lib/generate/doc/font.yaml +29 -0
- data/rakelib/lib/generate/doc/frame.yaml +23 -0
- data/rakelib/lib/generate/doc/fs_file.yaml +11 -0
- data/rakelib/lib/generate/doc/gdi_common.yaml +36 -0
- data/rakelib/lib/generate/doc/graphics_context.yaml +34 -0
- 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/gui_event_loop.yaml +12 -0
- data/rakelib/lib/generate/doc/help_controller.yaml +24 -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/icon.yaml +11 -0
- data/rakelib/lib/generate/doc/image.yaml +87 -0
- data/rakelib/lib/generate/doc/keyboard_state.yaml +19 -0
- data/rakelib/lib/generate/doc/list_ctrl.yaml +77 -0
- data/rakelib/lib/generate/doc/locale.yaml +12 -0
- data/rakelib/lib/generate/doc/log.yaml +86 -0
- data/rakelib/lib/generate/doc/mdi_frame.yaml +12 -0
- data/rakelib/lib/generate/doc/memory_dc.yaml +42 -0
- data/rakelib/lib/generate/doc/menu.yaml +17 -0
- data/rakelib/lib/generate/doc/menu_item.yaml +43 -0
- data/rakelib/lib/generate/doc/message_dialog.yaml +36 -0
- data/rakelib/lib/generate/doc/non_owned_window.yaml +14 -0
- data/rakelib/lib/generate/doc/notebook.yaml +18 -0
- data/rakelib/lib/generate/doc/pen.yaml +11 -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/picker_base.yaml +19 -0
- data/rakelib/lib/generate/doc/platform_info.yaml +15 -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/property_sheet_dialog.yaml +26 -0
- data/rakelib/lib/generate/doc/rich_text_html_handler.yaml +11 -0
- data/rakelib/lib/generate/doc/scroll_bar.yaml +11 -0
- data/rakelib/lib/generate/doc/scrolled_canvas.yaml +37 -0
- data/rakelib/lib/generate/doc/scrolled_control.yaml +37 -0
- data/rakelib/lib/generate/doc/scrolled_window.yaml +37 -0
- data/rakelib/lib/generate/doc/sizer.yaml +69 -0
- data/rakelib/lib/generate/doc/splash_screen.yaml +18 -0
- data/rakelib/lib/generate/doc/static_box.yaml +52 -0
- data/rakelib/lib/generate/doc/static_box_sizer.yaml +22 -0
- data/rakelib/lib/generate/doc/styled_text_ctrl.yaml +18 -0
- data/rakelib/lib/generate/doc/svg_file_dc.yaml +11 -0
- data/rakelib/lib/generate/doc/symbol_picker_dialog.yaml +40 -0
- data/rakelib/lib/generate/doc/text_ctrl.yaml +19 -0
- data/rakelib/lib/generate/doc/text_entry.yaml +42 -0
- data/rakelib/lib/generate/doc/text_entry_dialog.yaml +17 -0
- data/rakelib/lib/generate/doc/timer_event.yaml +28 -0
- data/rakelib/lib/generate/doc/tool_bar.yaml +35 -0
- data/rakelib/lib/generate/doc/top_level_window.yaml +23 -0
- data/rakelib/lib/generate/doc/validator.yaml +12 -0
- data/rakelib/lib/generate/doc/variant.yaml +29 -0
- data/rakelib/lib/generate/doc/window.yaml +249 -0
- data/rakelib/lib/generate/doc/wizard_page_simple.yaml +14 -0
- data/rakelib/lib/generate/doc/xml_node.yaml +7 -0
- data/rakelib/lib/generate/doc/xml_resource.yaml +27 -0
- data/rakelib/lib/generate/doc.rb +54 -4
- data/rakelib/lib/generate/interface.rb +79 -110
- data/rakelib/lib/generate/rakedep.rb +4 -1
- data/rakelib/lib/specs/interfaces.rb +46 -20
- data/rakelib/lib/streams.rb +5 -1
- data/rakelib/lib/swig_runner.rb +71 -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 +31 -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 +164 -0
- 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 +151 -0
- data/tests/test_intl.rb +3 -0
- data/tests/test_item_data.rb +3 -0
- data/tests/test_list_ctrl.rb +56 -0
- data/tests/test_log.rb +226 -0
- data/tests/test_proof_check.rb +52 -0
- data/tests/test_richtext.rb +204 -0
- data/tests/test_std_controls.rb +99 -31
- data/tests/test_timer.rb +98 -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 +146 -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
|
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'
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
require_relative './window'
|
|
@@ -15,9 +18,10 @@ module WXRuby3
|
|
|
15
18
|
|
|
16
19
|
def setup
|
|
17
20
|
# replace before calling super
|
|
18
|
-
spec.items.replace %w[wxGrid]
|
|
21
|
+
spec.items.replace %w[wxGrid wxGridBlockCoords wxGridBlockDiffResult wxGridSizesInfo wxGridFitMode]
|
|
19
22
|
super
|
|
20
|
-
spec.
|
|
23
|
+
spec.gc_as_untracked %w[wxGridBlockCoords wxGridBlockDiffResult wxGridSizesInfo wxGridFitMode]
|
|
24
|
+
spec.gc_as_window 'wxGrid'
|
|
21
25
|
spec.override_inheritance_chain('wxGrid', %w[wxScrolledCanvas wxWindow wxEvtHandler wxObject])
|
|
22
26
|
spec.no_proxy 'wxGrid::SendAutoScrollEvents'
|
|
23
27
|
# All of the methods have alternate versions that accept row, col pair
|
|
@@ -40,13 +44,85 @@ module WXRuby3
|
|
|
40
44
|
spec.ignore 'wxGrid::SetCellValue(const wxString &,int,int)'
|
|
41
45
|
spec.ignore 'wxGrid::SetTable' # there is wxGrid::AssignTable now that always takes ownership
|
|
42
46
|
|
|
43
|
-
spec.
|
|
47
|
+
spec.regard 'wxGridSizesInfo::m_sizeDefault',
|
|
48
|
+
'wxGridSizesInfo::m_customSizes'
|
|
49
|
+
spec.rename_for_ruby 'size_default' => 'wxGridSizesInfo::m_sizeDefault',
|
|
50
|
+
'custom_sizes' => 'wxGridSizesInfo::m_customSizes'
|
|
51
|
+
spec.map 'wxUnsignedToIntHashMap' => 'Hash' do
|
|
52
|
+
add_header_code <<~__CODE
|
|
53
|
+
#if RUBY_API_VERSION_MAJOR<3 && RUBY_API_VERSION_MINOR<7
|
|
54
|
+
typedef int (*rb_foreach_func)(ANYARGS);
|
|
55
|
+
#else
|
|
56
|
+
typedef int (*rb_foreach_func)(VALUE, VALUE, VALUE);
|
|
57
|
+
#endif
|
|
58
|
+
#define FOREACH_FUNC(x) reinterpret_cast<rb_foreach_func>((void*)&(x))
|
|
59
|
+
static int _wxrb_cvt_custom_sizes(VALUE key, VALUE value, VALUE rbWxMap)
|
|
60
|
+
{
|
|
61
|
+
wxUnsignedToIntHashMap* wxMap;
|
|
62
|
+
Data_Get_Struct(rbWxMap, wxUnsignedToIntHashMap, wxMap);
|
|
63
|
+
(*wxMap)[NUM2UINT(key)] = NUM2INT(value);
|
|
64
|
+
return ST_CONTINUE;
|
|
65
|
+
}
|
|
66
|
+
__CODE
|
|
67
|
+
map_in code: <<~__CODE
|
|
68
|
+
if (TYPE($input) == T_HASH)
|
|
69
|
+
{
|
|
70
|
+
void* ptr = &($1);
|
|
71
|
+
VALUE rbWxMap = Data_Wrap_Struct(rb_cObject, 0, 0, ptr);
|
|
72
|
+
rb_hash_foreach($input, FOREACH_FUNC(_wxrb_cvt_custom_sizes), rbWxMap);
|
|
73
|
+
}
|
|
74
|
+
else
|
|
75
|
+
{
|
|
76
|
+
rb_raise(rb_eArgError, "Expected Hash for %d", $argnum-1);
|
|
77
|
+
}
|
|
78
|
+
__CODE
|
|
79
|
+
|
|
80
|
+
map_out code: <<~__CODE
|
|
81
|
+
$result = rb_hash_new();
|
|
82
|
+
wxUnsignedToIntHashMap::const_iterator it = $1.begin();
|
|
83
|
+
for (; it != $1.end() ;++it)
|
|
84
|
+
{
|
|
85
|
+
rb_hash_aset($result, UINT2NUM(it->first), INT2NUM(it->second));
|
|
86
|
+
}
|
|
87
|
+
__CODE
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
spec.ignore 'wxGrid::GetSelectedBlocks' # ignore
|
|
91
|
+
# add rubified API (finish in pure Ruby)
|
|
92
|
+
spec.add_extend_code 'wxGrid', <<~__HEREDOC
|
|
93
|
+
VALUE selected_blocks()
|
|
94
|
+
{
|
|
95
|
+
VALUE rc = Qnil;
|
|
96
|
+
if (rb_block_given_p())
|
|
97
|
+
{
|
|
98
|
+
wxGridBlocks sel = $self->GetSelectedBlocks();
|
|
99
|
+
for (const wxGridBlockCoords& gbc : sel)
|
|
100
|
+
{
|
|
101
|
+
rc = rb_yield (SWIG_NewPointerObj(new wxGridBlockCoords(gbc), SWIGTYPE_p_wxGridBlockCoords, SWIG_POINTER_OWN));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return rc;
|
|
105
|
+
}
|
|
106
|
+
__HEREDOC
|
|
107
|
+
|
|
108
|
+
spec.ignore 'wxGrid::GetGridWindowOffset(const wxGridWindow *, int &, int &) const'
|
|
44
109
|
|
|
45
110
|
spec.add_header_code <<~__HEREDOC
|
|
46
111
|
typedef wxGrid::wxGridSelectionModes wxGridSelectionModes;
|
|
47
112
|
typedef wxGrid::CellSpan CellSpan;
|
|
48
113
|
typedef wxGrid::TabBehaviour TabBehaviour;
|
|
49
114
|
__HEREDOC
|
|
115
|
+
|
|
116
|
+
spec.map 'wxGridBlockCoordsVector' => 'Array<Wx::GRID::GridBlockCoords' do
|
|
117
|
+
map_out code: <<~__CODE
|
|
118
|
+
$result = rb_ary_new();
|
|
119
|
+
for (const wxGridBlockCoords& gbc: $1)
|
|
120
|
+
{
|
|
121
|
+
rb_ary_push($result, SWIG_NewPointerObj(new wxGridBlockCoords(gbc), SWIGTYPE_p_wxGridBlockCoords, SWIG_POINTER_OWN));
|
|
122
|
+
}
|
|
123
|
+
__CODE
|
|
124
|
+
end
|
|
125
|
+
|
|
50
126
|
# Needed for methods that return cell and label alignments and other argout type mappings
|
|
51
127
|
spec.map_apply 'int *OUTPUT' => [ 'int *horiz', 'int *vert' ,
|
|
52
128
|
'int *num_rows', 'int *num_cols' ]
|
|
@@ -108,6 +184,71 @@ module WXRuby3
|
|
|
108
184
|
'wxGrid::GetDefaultEditorForType',
|
|
109
185
|
'wxGrid::GetDefaultRendererForCell',
|
|
110
186
|
'wxGrid::GetDefaultRendererForType')
|
|
187
|
+
|
|
188
|
+
# create a lightweight, but typesafe, wrapper for wxGridWindow
|
|
189
|
+
spec.add_init_code <<~__HEREDOC
|
|
190
|
+
// define wxGridWindow wrapper class
|
|
191
|
+
mWxGridWindow = rb_define_class_under(mWxGRID, "GridWindow", rb_cObject);
|
|
192
|
+
rb_undef_alloc_func(mWxGridWindow);
|
|
193
|
+
__HEREDOC
|
|
194
|
+
|
|
195
|
+
spec.add_header_code <<~__HEREDOC
|
|
196
|
+
VALUE mWxGridWindow;
|
|
197
|
+
|
|
198
|
+
// wxGridWindow wrapper class definition and helper functions
|
|
199
|
+
static size_t __wxGridWindow_size(const void* data)
|
|
200
|
+
{
|
|
201
|
+
return 0;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
#include <ruby/version.h>
|
|
205
|
+
|
|
206
|
+
static const rb_data_type_t __wxGridWindow_type = {
|
|
207
|
+
"GridWindow",
|
|
208
|
+
#if RUBY_API_VERSION_MAJOR >= 3
|
|
209
|
+
{ NULL, NULL, __wxGridWindow_size, 0, 0},
|
|
210
|
+
#else
|
|
211
|
+
{ NULL, NULL, __wxGridWindow_size, 0},
|
|
212
|
+
#endif
|
|
213
|
+
NULL, NULL, RUBY_TYPED_FREE_IMMEDIATELY
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
VALUE _wxRuby_Wrap_wxGridWindow(wxGridWindow* gw)
|
|
217
|
+
{
|
|
218
|
+
if (gw)
|
|
219
|
+
{
|
|
220
|
+
void* data = gw;
|
|
221
|
+
VALUE ret = TypedData_Wrap_Struct(mWxGridWindow, &__wxGridWindow_type, data);
|
|
222
|
+
return ret;
|
|
223
|
+
}
|
|
224
|
+
else
|
|
225
|
+
return Qnil;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
wxGridWindow* _wxRuby_Unwrap_wxGridWindow(VALUE rbgw)
|
|
229
|
+
{
|
|
230
|
+
if (NIL_P(rbgw))
|
|
231
|
+
return nullptr;
|
|
232
|
+
else
|
|
233
|
+
{
|
|
234
|
+
void *data = 0;
|
|
235
|
+
TypedData_Get_Struct(rbgw, void, &__wxGridWindow_type, data);
|
|
236
|
+
return reinterpret_cast<wxGridWindow*> (data);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
bool _wxRuby_Is_wxGridWindow(VALUE rbgw)
|
|
241
|
+
{
|
|
242
|
+
return rb_typeddata_is_kind_of(rbgw, &__wxGridWindow_type) == 1;
|
|
243
|
+
}
|
|
244
|
+
__HEREDOC
|
|
245
|
+
|
|
246
|
+
spec.map 'wxGridWindow*' => 'Wx::GRID::GridWindow' do
|
|
247
|
+
map_in code: '$1 = _wxRuby_Unwrap_wxGridWindow($input);'
|
|
248
|
+
map_out code: '$result = _wxRuby_Wrap_wxGridWindow($1);'
|
|
249
|
+
map_typecheck code: '$1 = _wxRuby_Is_wxGridWindow($input);'
|
|
250
|
+
end
|
|
251
|
+
|
|
111
252
|
# Add custom code to handle GC marking for Grid cell attributes, editors and renderers.
|
|
112
253
|
# Ruby created instances of these are registered in global tables whenever they are assigned to
|
|
113
254
|
# a Grid (for a cell, default or named type). The global tables will be scanned during the GC marking stage
|
|
@@ -347,7 +488,7 @@ module WXRuby3
|
|
|
347
488
|
# add type mappings to handle registration
|
|
348
489
|
# first declare 'normal' type mapping for const pointer (for DrawCellHighlight)
|
|
349
490
|
spec.map 'const wxGridCellAttr *' => 'Wx::GRID::GridCellAttr' do
|
|
350
|
-
map_check code: '
|
|
491
|
+
map_check code: '' # do nothing; this instance does not get managed by wxWidgets
|
|
351
492
|
end
|
|
352
493
|
# next handle registering mappings
|
|
353
494
|
spec.map 'wxGridCellAttr *' => 'Wx::GRID::GridCellAttr' do
|
|
@@ -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
|
|
@@ -9,6 +12,8 @@ module WXRuby3
|
|
|
9
12
|
|
|
10
13
|
class GridTableBase < Director
|
|
11
14
|
|
|
15
|
+
include Typemap::GridCoords
|
|
16
|
+
|
|
12
17
|
def setup
|
|
13
18
|
super
|
|
14
19
|
spec.ignore %w[
|
|
@@ -0,0 +1,37 @@
|
|
|
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 HeaderCtrl < Window
|
|
16
|
+
|
|
17
|
+
def setup
|
|
18
|
+
super
|
|
19
|
+
spec.items << 'wxHeaderColumn' << 'wxHeaderCtrlSimple' << 'wxSettableHeaderColumn' << 'wxHeaderColumnSimple'
|
|
20
|
+
spec.regard 'wxHeaderCtrl::GetColumn',
|
|
21
|
+
'wxHeaderCtrl::UpdateColumnVisibility',
|
|
22
|
+
'wxHeaderCtrl::UpdateColumnsOrder',
|
|
23
|
+
'wxHeaderCtrl::UpdateColumnWidthToFit',
|
|
24
|
+
'wxHeaderCtrl::OnColumnCountChanging'
|
|
25
|
+
spec.regard 'wxHeaderCtrlSimple::GetBestFittingWidth'
|
|
26
|
+
spec.extend_interface 'wxHeaderCtrlSimple',
|
|
27
|
+
'virtual const wxHeaderColumn& GetColumn(unsigned int idx) const',
|
|
28
|
+
visibility: 'protected'
|
|
29
|
+
# handled; can be suppressed
|
|
30
|
+
spec.suppress_warning(473, 'wxHeaderCtrl::GetColumn', 'wxHeaderCtrlSimple::GetColumn')
|
|
31
|
+
spec.do_not_generate :typedefs, :variables, :enums, :defines, :functions
|
|
32
|
+
end
|
|
33
|
+
end # class HeaderCtrl
|
|
34
|
+
|
|
35
|
+
end # class Director
|
|
36
|
+
|
|
37
|
+
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
|
|
@@ -9,6 +12,8 @@ module WXRuby3
|
|
|
9
12
|
|
|
10
13
|
class HelpController < Director
|
|
11
14
|
|
|
15
|
+
include Typemap::ConfigBase
|
|
16
|
+
|
|
12
17
|
def setup
|
|
13
18
|
super
|
|
14
19
|
spec.items << 'wxHelpControllerBase'
|
|
@@ -50,10 +55,14 @@ module WXRuby3
|
|
|
50
55
|
return rc;
|
|
51
56
|
}
|
|
52
57
|
__HEREDOC
|
|
58
|
+
spec.suppress_warning(473, "#{spec.module_name}::GetParentWindow")
|
|
53
59
|
if spec.module_name == 'wxHtmlHelpController'
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
60
|
+
# prevent having to expose HtmlHelpFrame & HtmlHelpDialog
|
|
61
|
+
# I do not see real use in supporting custom HtmlHelpController derivatives
|
|
62
|
+
spec.ignore 'wxHtmlHelpController::CreateHelpFrame',
|
|
63
|
+
'wxHtmlHelpController::CreateHelpDialog',
|
|
64
|
+
'wxHtmlHelpController::GetFrame',
|
|
65
|
+
'wxHtmlHelpController::GetDialog'
|
|
57
66
|
elsif spec.module_name == 'wxExtHelpController'
|
|
58
67
|
spec.ignore %w[
|
|
59
68
|
wxExtHelpController::DisplayBlock
|
|
@@ -62,8 +71,6 @@ module WXRuby3
|
|
|
62
71
|
wxExtHelpController::Quit
|
|
63
72
|
wxExtHelpController::GetFrameParameters
|
|
64
73
|
]
|
|
65
|
-
spec.suppress_warning(473,
|
|
66
|
-
'wxExtHelpController::GetParentWindow')
|
|
67
74
|
# already generated with HelpController
|
|
68
75
|
spec.do_not_generate :variables, :enums, :defines, :functions
|
|
69
76
|
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,7 @@ module WXRuby3
|
|
|
13
16
|
|
|
14
17
|
def setup
|
|
15
18
|
super
|
|
16
|
-
spec.items << 'wxHtmlLinkInfo' << 'wxHtmlContainerCell' << 'htmldefs.h'
|
|
19
|
+
spec.items << 'wxHtmlLinkInfo' << 'wxHtmlContainerCell' << 'wxHtmlSelection' << 'htmldefs.h'
|
|
17
20
|
# the classes here are internal and for reference only
|
|
18
21
|
# should never be derived from or instantiated in (Ruby) user code
|
|
19
22
|
spec.disable_proxies
|
|
@@ -27,7 +30,11 @@ module WXRuby3
|
|
|
27
30
|
'wxHtmlCell::Draw',
|
|
28
31
|
'wxHtmlCell::DrawInvisible',
|
|
29
32
|
'wxHtmlCell::Layout',
|
|
30
|
-
'wxHtmlCell::ProcessMouseClick'
|
|
33
|
+
'wxHtmlCell::ProcessMouseClick',
|
|
34
|
+
'wxHtmlCell::GetMouseCursor',
|
|
35
|
+
'wxHtmlCell::GetMouseCursorAt'
|
|
36
|
+
spec.ignore 'wxHtmlContainerCell::SetAlign',
|
|
37
|
+
'wxHtmlContainerCell::SetWidthFloat'
|
|
31
38
|
end
|
|
32
39
|
end # class HtmlCell
|
|
33
40
|
|
|
@@ -0,0 +1,30 @@
|
|
|
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 HtmlHelpWindow < Window
|
|
16
|
+
|
|
17
|
+
include Typemap::ConfigBase
|
|
18
|
+
|
|
19
|
+
def setup
|
|
20
|
+
super
|
|
21
|
+
# only allow setting config through propagation from help controller
|
|
22
|
+
# saves us from management code
|
|
23
|
+
spec.ignore 'wxHtmlHelpWindow::UseConfig'
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
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,6 +15,8 @@ module WXRuby3
|
|
|
12
15
|
def setup
|
|
13
16
|
super
|
|
14
17
|
spec.override_inheritance_chain('wxHtmlPrintout', {'wxPrintout' => 'wxPrinter'}, 'wxObject')
|
|
18
|
+
# for GetPageInfo
|
|
19
|
+
spec.map_apply 'int * OUTPUT' => ['int *minPage', 'int *maxPage', 'int *pageFrom', 'int *pageTo']
|
|
15
20
|
# Deal with sizes argument to SetFonts
|
|
16
21
|
spec.map 'const int *sizes' => 'Array(Integer,Integer,Integer,Integer,Integer,Integer,Integer), nil' do
|
|
17
22
|
map_in temp: 'int tmp[7]', code: <<~__CODE
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
require_relative './window'
|
|
@@ -12,6 +15,7 @@ module WXRuby3
|
|
|
12
15
|
class HtmlWindow < Window
|
|
13
16
|
|
|
14
17
|
include Typemap::HtmlCell
|
|
18
|
+
include Typemap::ConfigBase
|
|
15
19
|
|
|
16
20
|
def setup
|
|
17
21
|
super
|
|
@@ -34,15 +38,13 @@ module WXRuby3
|
|
|
34
38
|
spec.suppress_warning(473, "wxHtmlWindow::GetHTMLWindow")
|
|
35
39
|
# deprecated; use event handler instead
|
|
36
40
|
spec.ignore 'wxHtmlWindow::OnLinkClicked'
|
|
41
|
+
# not useful for wxRuby
|
|
42
|
+
spec.ignore 'wxHtmlWindow::GetParser'
|
|
37
43
|
spec.no_proxy 'wxHtmlWindow::SendAutoScrollEvents'
|
|
38
44
|
spec.add_header_code 'typedef wxHtmlWindow::HTMLCursor HTMLCursor;'
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
map_in temp: 'wxFileName tmp', code: <<~__CODE
|
|
43
|
-
tmp = wxFileName(RSTR_TO_WXSTR($input));
|
|
44
|
-
$1 = &tmp;
|
|
45
|
-
__CODE
|
|
45
|
+
spec.map 'HTMLCursor' => 'Integer' do
|
|
46
|
+
map_in code: '$1 = static_cast<HTMLCursor> (NUM2INT($input));'
|
|
47
|
+
map_directorin code: '$input = INT2NUM((int)$1);'
|
|
46
48
|
end
|
|
47
49
|
# Deal with sizes argument to SetFonts
|
|
48
50
|
spec.map 'const int *sizes' => 'Array(Integer,Integer,Integer,Integer,Integer,Integer,Integer), nil' do
|