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
|
require_relative './event_handler'
|
|
@@ -13,67 +16,13 @@ module WXRuby3
|
|
|
13
16
|
|
|
14
17
|
def setup
|
|
15
18
|
super
|
|
16
|
-
# for all wxWindow derived classes (not wxFrame and descendants)
|
|
17
|
-
spec.items.each do |itm|
|
|
18
|
-
# Avoid adding unneeded directors
|
|
19
|
-
spec.no_proxy("#{itm}::AddChild",
|
|
20
|
-
"#{itm}::Fit",
|
|
21
|
-
"#{itm}::FitInside",
|
|
22
|
-
"#{itm}::Freeze",
|
|
23
|
-
"#{itm}::GetBackgroundStyle",
|
|
24
|
-
"#{itm}::GetCharHeight",
|
|
25
|
-
"#{itm}::GetCharWidth",
|
|
26
|
-
"#{itm}::GetLabel",
|
|
27
|
-
"#{itm}::GetName",
|
|
28
|
-
"#{itm}::GetScreenPosition",
|
|
29
|
-
"#{itm}::GetScrollPos",
|
|
30
|
-
"#{itm}::GetScrollRange",
|
|
31
|
-
"#{itm}::GetScrollThumb",
|
|
32
|
-
"#{itm}::GetTextExtent",
|
|
33
|
-
"#{itm}::HasCapture",
|
|
34
|
-
"#{itm}::HasMultiplePages",
|
|
35
|
-
"#{itm}::IsDoubleBuffered",
|
|
36
|
-
"#{itm}::IsEnabled",
|
|
37
|
-
"#{itm}::IsFrozen",
|
|
38
|
-
"#{itm}::IsRetained",
|
|
39
|
-
"#{itm}::IsShown",
|
|
40
|
-
"#{itm}::IsShownOnScreen",
|
|
41
|
-
"#{itm}::ReleaseMouse",
|
|
42
|
-
"#{itm}::RemoveChild",
|
|
43
|
-
"#{itm}::ScrollLines",
|
|
44
|
-
"#{itm}::ScrollPages",
|
|
45
|
-
"#{itm}::ScrollWindow",
|
|
46
|
-
"#{itm}::SetAcceleratorTable",
|
|
47
|
-
"#{itm}::SetBackgroundColour",
|
|
48
|
-
"#{itm}::SetBackgroundStyle",
|
|
49
|
-
"#{itm}::SetCursor",
|
|
50
|
-
"#{itm}::SetFocus",
|
|
51
|
-
"#{itm}::SetFocusFromKbd",
|
|
52
|
-
"#{itm}::SetFont",
|
|
53
|
-
"#{itm}::SetForegroundColour",
|
|
54
|
-
"#{itm}::SetHelpText",
|
|
55
|
-
"#{itm}::SetLabel",
|
|
56
|
-
"#{itm}::SetName",
|
|
57
|
-
"#{itm}::SetScrollPos",
|
|
58
|
-
"#{itm}::SetScrollbar",
|
|
59
|
-
"#{itm}::SetThemeEnabled",
|
|
60
|
-
"#{itm}::SetThemeEnabled",
|
|
61
|
-
"#{itm}::SetValidator",
|
|
62
|
-
"#{itm}::SetWindowStyleFlag",
|
|
63
|
-
"#{itm}::ShouldInheritColour",
|
|
64
|
-
"#{itm}::Thaw",
|
|
65
|
-
"#{itm}::Layout",
|
|
66
|
-
"#{itm}::InheritAttributes",
|
|
67
|
-
"#{itm}::GetDefaultAttributes",
|
|
68
|
-
"#{itm}::GetWindowStyleFlag",
|
|
69
|
-
"#{itm}::GetDropTarget",
|
|
70
|
-
"#{itm}::GetValidator",
|
|
71
|
-
"#{itm}::IsTopLevel",
|
|
72
|
-
"#{itm}::EnableTouchEvents") unless /\.h\Z/ =~ itm
|
|
73
|
-
end
|
|
74
|
-
|
|
75
19
|
case spec.module_name
|
|
76
20
|
when 'wxWindow' # only for actual wxWindow class
|
|
21
|
+
spec.items << 'wxVisualAttributes'
|
|
22
|
+
spec.gc_as_untracked 'wxVisualAttributes'
|
|
23
|
+
spec.regard 'wxVisualAttributes::font',
|
|
24
|
+
'wxVisualAttributes::colFg',
|
|
25
|
+
'wxVisualAttributes::colBg'
|
|
77
26
|
# // Any of these following kind of objects become owned by the window
|
|
78
27
|
# // when passed into Wx, and so will be deleted automatically; using
|
|
79
28
|
# // DISOWN resets their %freefunc to avoid deleting the object twice
|
|
@@ -83,7 +32,7 @@ module WXRuby3
|
|
|
83
32
|
map_in code: <<~__CODE
|
|
84
33
|
int res = SWIG_ConvertPtr($input, SWIG_as_voidptrptr(&$1), SWIGTYPE_p_wxSizer, SWIG_POINTER_DISOWN);
|
|
85
34
|
if (!SWIG_IsOK(res)) {
|
|
86
|
-
SWIG_exception_fail(SWIG_ArgError(res), Ruby_Format_TypeError( "", "wxSizer *","
|
|
35
|
+
SWIG_exception_fail(SWIG_ArgError(res), Ruby_Format_TypeError( "", "wxSizer *","$symname", 2, $input));
|
|
87
36
|
}
|
|
88
37
|
$2 = true; // always delete 'old' sizer
|
|
89
38
|
__CODE
|
|
@@ -134,6 +83,8 @@ module WXRuby3
|
|
|
134
83
|
'wxWindow::ClientToScreen(int*,int*)', # no need; prefer the wxPoint version
|
|
135
84
|
'wxWindow::ScreenToClient(int*,int*)', # no need; prefer the wxPoint version
|
|
136
85
|
]
|
|
86
|
+
# no real docs and can't find actual examples of usage; ignore
|
|
87
|
+
spec.ignore 'wxWindow::GetConstraints', 'wxWindow::SetConstraints'
|
|
137
88
|
# redefine these so a nil parent is accepted
|
|
138
89
|
spec.ignore %w[wxWindow::FindWindowById wxWindow::FindWindowByLabel wxWindow::FindWindowByName], ignore_doc: false
|
|
139
90
|
# overrule common typemap to allow default NULL
|
|
@@ -154,15 +105,15 @@ module WXRuby3
|
|
|
154
105
|
return wxWindow::FindWindowByName(name, find_from_parent);
|
|
155
106
|
}
|
|
156
107
|
__HEREDOC
|
|
157
|
-
if Config.instance.wx_port == :
|
|
108
|
+
if Config.instance.wx_port == :wxqt
|
|
158
109
|
# protected for wxQT; ignore for now
|
|
159
110
|
spec.ignore 'wxWindow::EnableTouchEvents'
|
|
160
111
|
end
|
|
161
112
|
if Config.instance.wx_version >= '3.3.0'
|
|
162
|
-
spec.
|
|
113
|
+
spec.ignore('wxWindow::MSWDisableComposited') unless Config.instance.features_set?('__WXMSW__')
|
|
163
114
|
end
|
|
164
|
-
spec.
|
|
165
|
-
spec.
|
|
115
|
+
spec.ignore('wxWindow::SetAccessible') unless Config.instance.features_set?('wxUSE_ACCESSIBILITY')
|
|
116
|
+
spec.ignore(%w[wxWindow::RegisterHotKey wxWindow::UnregisterHotKey]) unless Config.instance.features_set?('wxUSE_HOTKEY')
|
|
166
117
|
spec.ignore('wxWindow::SetSize(int, int)') # not useful as the wxSize variant will also accept an array
|
|
167
118
|
spec.swig_import %w{
|
|
168
119
|
swig/classes/include/wxObject.h
|
|
@@ -238,22 +189,6 @@ module WXRuby3
|
|
|
238
189
|
|
|
239
190
|
return do_paint_buffered(self);
|
|
240
191
|
}
|
|
241
|
-
|
|
242
|
-
// Return a window handle as a platform-specific ruby integer
|
|
243
|
-
VALUE get_handle()
|
|
244
|
-
{
|
|
245
|
-
wxWindow *win = self;
|
|
246
|
-
int64_t handle = (int64_t)win->GetHandle();
|
|
247
|
-
return LL2NUM(handle);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
// Attach a wx Object to an existing Windows handle (MSW only)
|
|
251
|
-
VALUE associate_handle(int64_t handle)
|
|
252
|
-
{
|
|
253
|
-
WXWidget wx_handle = (WXWidget)handle;
|
|
254
|
-
$self->AssociateHandle(wx_handle);
|
|
255
|
-
return Qnil;
|
|
256
|
-
}
|
|
257
192
|
__HEREDOC
|
|
258
193
|
spec.override_events 'wxWindow', 'EVT_ACTIVATE' => ['EVT_ACTIVATE', 0, 'wxActivateEvent']
|
|
259
194
|
when 'wxNonOwnedWindow'
|
|
@@ -280,6 +215,70 @@ module WXRuby3
|
|
|
280
215
|
|
|
281
216
|
def process(gendoc: false)
|
|
282
217
|
defmod = super
|
|
218
|
+
# for all wxWindow (derived) classes
|
|
219
|
+
spec.items.each do |citem|
|
|
220
|
+
def_item = defmod.find_item(citem)
|
|
221
|
+
if Extractor::ClassDef === def_item && (citem == 'wxWindow' || spec.is_derived_from?(def_item, 'wxWindow'))
|
|
222
|
+
# Avoid adding unneeded directors
|
|
223
|
+
spec.no_proxy("#{spec.class_name(citem)}::AddChild",
|
|
224
|
+
"#{spec.class_name(citem)}::Fit",
|
|
225
|
+
"#{spec.class_name(citem)}::FitInside",
|
|
226
|
+
"#{spec.class_name(citem)}::Freeze",
|
|
227
|
+
"#{spec.class_name(citem)}::GetBackgroundStyle",
|
|
228
|
+
"#{spec.class_name(citem)}::GetCharHeight",
|
|
229
|
+
"#{spec.class_name(citem)}::GetCharWidth",
|
|
230
|
+
"#{spec.class_name(citem)}::GetLabel",
|
|
231
|
+
"#{spec.class_name(citem)}::GetName",
|
|
232
|
+
"#{spec.class_name(citem)}::GetScreenPosition",
|
|
233
|
+
"#{spec.class_name(citem)}::GetScrollPos",
|
|
234
|
+
"#{spec.class_name(citem)}::GetScrollRange",
|
|
235
|
+
"#{spec.class_name(citem)}::GetScrollThumb",
|
|
236
|
+
"#{spec.class_name(citem)}::GetTextExtent",
|
|
237
|
+
"#{spec.class_name(citem)}::HasCapture",
|
|
238
|
+
"#{spec.class_name(citem)}::HasMultiplePages",
|
|
239
|
+
"#{spec.class_name(citem)}::IsDoubleBuffered",
|
|
240
|
+
"#{spec.class_name(citem)}::IsEnabled",
|
|
241
|
+
"#{spec.class_name(citem)}::IsFrozen",
|
|
242
|
+
"#{spec.class_name(citem)}::IsRetained",
|
|
243
|
+
"#{spec.class_name(citem)}::IsShown",
|
|
244
|
+
"#{spec.class_name(citem)}::IsShownOnScreen",
|
|
245
|
+
"#{spec.class_name(citem)}::ReleaseMouse",
|
|
246
|
+
"#{spec.class_name(citem)}::RemoveChild",
|
|
247
|
+
"#{spec.class_name(citem)}::ScrollLines",
|
|
248
|
+
"#{spec.class_name(citem)}::ScrollPages",
|
|
249
|
+
"#{spec.class_name(citem)}::ScrollWindow",
|
|
250
|
+
"#{spec.class_name(citem)}::SetAcceleratorTable",
|
|
251
|
+
"#{spec.class_name(citem)}::SetBackgroundColour",
|
|
252
|
+
"#{spec.class_name(citem)}::SetBackgroundStyle",
|
|
253
|
+
"#{spec.class_name(citem)}::SetCursor",
|
|
254
|
+
"#{spec.class_name(citem)}::SetFocus",
|
|
255
|
+
"#{spec.class_name(citem)}::SetFocusFromKbd",
|
|
256
|
+
"#{spec.class_name(citem)}::SetFont",
|
|
257
|
+
"#{spec.class_name(citem)}::SetForegroundColour",
|
|
258
|
+
"#{spec.class_name(citem)}::SetHelpText",
|
|
259
|
+
"#{spec.class_name(citem)}::SetLabel",
|
|
260
|
+
"#{spec.class_name(citem)}::SetName",
|
|
261
|
+
"#{spec.class_name(citem)}::SetScrollPos",
|
|
262
|
+
"#{spec.class_name(citem)}::SetScrollbar",
|
|
263
|
+
"#{spec.class_name(citem)}::SetThemeEnabled",
|
|
264
|
+
"#{spec.class_name(citem)}::SetThemeEnabled",
|
|
265
|
+
"#{spec.class_name(citem)}::SetValidator",
|
|
266
|
+
"#{spec.class_name(citem)}::SetWindowStyleFlag",
|
|
267
|
+
"#{spec.class_name(citem)}::ShouldInheritColour",
|
|
268
|
+
"#{spec.class_name(citem)}::Thaw",
|
|
269
|
+
"#{spec.class_name(citem)}::Layout",
|
|
270
|
+
"#{spec.class_name(citem)}::InheritAttributes",
|
|
271
|
+
"#{spec.class_name(citem)}::GetDefaultAttributes",
|
|
272
|
+
"#{spec.class_name(citem)}::GetWindowStyleFlag",
|
|
273
|
+
"#{spec.class_name(citem)}::GetDropTarget",
|
|
274
|
+
"#{spec.class_name(citem)}::GetValidator",
|
|
275
|
+
"#{spec.class_name(citem)}::IsTopLevel",
|
|
276
|
+
"#{spec.class_name(citem)}::EnableTouchEvents",
|
|
277
|
+
"#{spec.class_name(citem)}::WarpPointer",
|
|
278
|
+
"#{spec.class_name(citem)}::AdjustForLayoutDirection",
|
|
279
|
+
"#{spec.class_name(citem)}::IsTransparentBackgroundSupported")
|
|
280
|
+
end
|
|
281
|
+
end
|
|
283
282
|
if spec.module_name == 'wxWindow'
|
|
284
283
|
# special processing to ignore the non-static versions of methods FromDIP,ToDIP,FromPhys,ToPhys
|
|
285
284
|
# as SWIG cannot handle identically named static & non-static methods
|
|
@@ -331,7 +330,7 @@ module WXRuby3
|
|
|
331
330
|
// if Ruby object not registered anymore or no Ruby defined method override
|
|
332
331
|
// reroute directly to C++ method
|
|
333
332
|
if (wxRuby_FindTracking(this) == Qnil || wxRuby_IsNativeMethod(swig_get_self(), __wxrb_on_internal_idle_id()))
|
|
334
|
-
this->#{director_wx_class}::OnInternalIdle();
|
|
333
|
+
this->#{class_implementation(director_wx_class)}::OnInternalIdle();
|
|
335
334
|
else
|
|
336
335
|
__CODE
|
|
337
336
|
line << "\n " << code.split("\n").join("\n ")
|
|
@@ -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
|
|
@@ -25,7 +28,7 @@ module WXRuby3
|
|
|
25
28
|
spec.add_header_code 'typedef wxVector<wxBitmapBundle> WxBitmapBundleArray;'
|
|
26
29
|
spec.extend_interface 'wxWithImages', 'void SetImages(const WxBitmapBundleArray& images);'
|
|
27
30
|
# type mapping for wrapper implementation
|
|
28
|
-
spec.map 'const WxBitmapBundleArray& images' => 'Array<Wx::
|
|
31
|
+
spec.map 'const WxBitmapBundleArray& images' => 'Array<Wx::ImageBundle>' do
|
|
29
32
|
map_in temp: 'wxVector<wxBitmapBundle> tmp', code: <<~__CODE
|
|
30
33
|
if ($input != Qnil)
|
|
31
34
|
{
|
data/rakelib/lib/director.rb
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 interface Director class
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
require 'ostruct'
|
|
@@ -30,8 +33,8 @@ module WXRuby3
|
|
|
30
33
|
|
|
31
34
|
class << self
|
|
32
35
|
|
|
33
|
-
def Package(pkgid, *required_features, &block)
|
|
34
|
-
block.call(self[pkgid].requires(*required_features))
|
|
36
|
+
def Package(pkgid, *required_features, depends_on: [], &block)
|
|
37
|
+
block.call(self[pkgid].requires(*required_features).depends_on(*depends_on.collect { |pid| self[pid] }))
|
|
35
38
|
end
|
|
36
39
|
|
|
37
40
|
def Spec(pkg, modname, name: nil, director: nil, processors: nil, requirements: [])
|
|
@@ -335,18 +338,22 @@ module WXRuby3
|
|
|
335
338
|
end
|
|
336
339
|
end
|
|
337
340
|
|
|
338
|
-
def
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
341
|
+
def handle_duplicate_const_overloads(cls)
|
|
342
|
+
cls.methods.each do |mtd|
|
|
343
|
+
unless mtd.is_ctor || mtd.is_dtor || mtd.is_operator || !mtd.has_overloads
|
|
344
|
+
# ignore any non-const overloads which match a const overload with the same signature
|
|
345
|
+
# and only differ in returning a non-const type vs a const type
|
|
346
|
+
# (as Ruby has no notion of const types these are essentially the same when wrapped)
|
|
347
|
+
non_const_ovls = mtd.all.select { |ovl| !ovl.ignored && !ovl.is_const }
|
|
348
|
+
unless non_const_ovls.empty?
|
|
349
|
+
mtd.all.select { |ovl| !ovl.ignored && ovl.is_const }.each do |const_ovl|
|
|
350
|
+
non_const_ovl = non_const_ovls.find { |nco| !nco.ignored && nco.argument_list.strip == const_ovl.argument_list.strip }
|
|
351
|
+
if non_const_ovl && non_const_ovl.type.strip == const_ovl.type.sub('const ', '').strip
|
|
352
|
+
non_const_ovl.ignore
|
|
353
|
+
end
|
|
354
|
+
end
|
|
355
|
+
end
|
|
347
356
|
end
|
|
348
|
-
else
|
|
349
|
-
raise "Cannot find '#{fullname}' for module '#{spec.module_name}' to set only_for [#{platform_id}]"
|
|
350
357
|
end
|
|
351
358
|
end
|
|
352
359
|
|
|
@@ -373,18 +380,18 @@ module WXRuby3
|
|
|
373
380
|
spec.renames.each_pair do |rb_name, names|
|
|
374
381
|
names.each { |fullname| handle_item_rename(defmod, fullname, rb_name) }
|
|
375
382
|
end
|
|
376
|
-
# handle only_for settings
|
|
377
|
-
spec.only_for.each_pair do |platform_id, names|
|
|
378
|
-
names.each do |fullname|
|
|
379
|
-
handle_item_only_for(defmod, fullname, platform_id)
|
|
380
|
-
end
|
|
381
|
-
end
|
|
382
383
|
# handle class specified includes
|
|
383
384
|
defmod.classes.each do |cls|
|
|
384
385
|
unless cls.ignored
|
|
385
386
|
spec.includes.merge(cls.includes) unless cls.includes.empty?
|
|
386
387
|
end
|
|
387
388
|
end
|
|
389
|
+
# prevent unnecessary code bloat
|
|
390
|
+
defmod.classes.each do |cls|
|
|
391
|
+
unless cls.ignored
|
|
392
|
+
handle_duplicate_const_overloads(cls)
|
|
393
|
+
end
|
|
394
|
+
end
|
|
388
395
|
# TODO - should we just ignore all deprecations?
|
|
389
396
|
# create deprecated function proxies unless deprecates suppressed
|
|
390
397
|
unless Config.instance.no_deprecate
|
|
@@ -397,20 +404,12 @@ module WXRuby3
|
|
|
397
404
|
member.all.each do |ovl|
|
|
398
405
|
if !ovl.ignored && ovl.deprecated
|
|
399
406
|
is_void = (ovl.type && !ovl.type=='void')
|
|
400
|
-
if ovl.only_for
|
|
401
|
-
spec.add_extend_code clsnm, if ::Array === ovl.only_for
|
|
402
|
-
"#if #{ovl.only_for.collect { |s| "defined(__#{s.upcase}__)" }.join(' || ')}"
|
|
403
|
-
else
|
|
404
|
-
"#ifdef #{ovl.only_for}"
|
|
405
|
-
end
|
|
406
|
-
end
|
|
407
407
|
spec.add_extend_code clsnm, <<~__HEREDOC
|
|
408
408
|
#{ovl.is_static ? 'static ' : ''}#{ovl.type} #{ovl.name}#{ovl.args_string} {
|
|
409
409
|
std::wcerr << "DEPRECATION WARNING: #{ovl.is_static ? 'static ' : ''}#{ovl.type} #{clsnm}::#{ovl.name}#{ovl.args_string}" << std::endl;
|
|
410
410
|
#{is_void ? '' : 'return '}$self->#{ovl.name}(#{ovl.parameters.collect {|p| p.name}.join(',')});
|
|
411
411
|
}
|
|
412
412
|
__HEREDOC
|
|
413
|
-
spec.add_extend_code(clsnm, '#endif') if ovl.only_for
|
|
414
413
|
end
|
|
415
414
|
end
|
|
416
415
|
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 extensions for Enumerator::Chain
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
unless ::Enumerator.const_defined?(:Chain)
|
|
@@ -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 extractor
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -135,7 +138,7 @@ module WXRuby3
|
|
|
135
138
|
this ? this.supers : {}
|
|
136
139
|
end
|
|
137
140
|
|
|
138
|
-
def find_base(bases, name)
|
|
141
|
+
def self.find_base(bases, name)
|
|
139
142
|
return bases[name] if bases.has_key?(name)
|
|
140
143
|
bases.each_value do |base|
|
|
141
144
|
if (base = find_base(base.supers, name))
|
|
@@ -144,10 +147,9 @@ module WXRuby3
|
|
|
144
147
|
end
|
|
145
148
|
nil
|
|
146
149
|
end
|
|
147
|
-
private :find_base
|
|
148
150
|
|
|
149
151
|
def is_derived_from?(classname)
|
|
150
|
-
!!find_base(@hierarchy, classname)
|
|
152
|
+
!!ClassDef.find_base(@hierarchy, classname)
|
|
151
153
|
end
|
|
152
154
|
|
|
153
155
|
def add_crossrefs(element)
|
|
@@ -194,7 +196,7 @@ module WXRuby3
|
|
|
194
196
|
evt_handler
|
|
195
197
|
end
|
|
196
198
|
# record event handler (macro) name, event type handled and the number of event id arguments
|
|
197
|
-
evt_arity = args.inject(0) {|c, a| c += 1 if a
|
|
199
|
+
evt_arity = args.inject(0) {|c, a| c += 1 if a =~ /\A(win)?id/; c }
|
|
198
200
|
@event_types << [evt_handler, evt_type, evt_arity]
|
|
199
201
|
end
|
|
200
202
|
end
|
|
@@ -226,7 +228,7 @@ module WXRuby3
|
|
|
226
228
|
evt_handler
|
|
227
229
|
end
|
|
228
230
|
# record event handler (macro) name, event type handled and the number of event id arguments
|
|
229
|
-
evt_arity = args.inject(0) {|c, a| c += 1 if a
|
|
231
|
+
evt_arity = args.inject(0) {|c, a| c += 1 if a =~ /\A(win)?id/; c }
|
|
230
232
|
@event_types << [evt_handler, evt_type, evt_arity, evt_klass, false]
|
|
231
233
|
end
|
|
232
234
|
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 extractor
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -21,11 +24,21 @@ module WXRuby3
|
|
|
21
24
|
end
|
|
22
25
|
|
|
23
26
|
def enum?(name)
|
|
24
|
-
|
|
27
|
+
if (i = name.index('::'))
|
|
28
|
+
e_nm = name[i+2,name.size]
|
|
29
|
+
enums.has_key?(e_nm) && enums[e_nm] == name[0,i]
|
|
30
|
+
else
|
|
31
|
+
enums.has_key?(name)
|
|
32
|
+
end
|
|
25
33
|
end
|
|
26
34
|
|
|
27
35
|
def enum_scope(name)
|
|
28
36
|
enums[name]
|
|
37
|
+
if (i = name.index('::'))
|
|
38
|
+
enums[name[i+2,name.size]]
|
|
39
|
+
else
|
|
40
|
+
enums[name]
|
|
41
|
+
end
|
|
29
42
|
end
|
|
30
43
|
end
|
|
31
44
|
|
|
@@ -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 extractor
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -97,10 +100,11 @@ module WXRuby3
|
|
|
97
100
|
# get mapped ruby parameter list
|
|
98
101
|
params = []
|
|
99
102
|
mapped_ret_args = nil
|
|
103
|
+
matched_maps = []
|
|
100
104
|
param_defs = self.parameters
|
|
101
105
|
unless param_defs.empty?
|
|
102
106
|
# map parameters
|
|
103
|
-
mapped_args, mapped_ret_args = type_maps.map_input(param_defs.dup)
|
|
107
|
+
mapped_args, mapped_ret_args, matched_maps = type_maps.map_input(param_defs.dup)
|
|
104
108
|
# collect full param specs
|
|
105
109
|
mapped_args.each do |arg|
|
|
106
110
|
paramdef = param_defs[arg.index]
|
|
@@ -109,7 +113,7 @@ module WXRuby3
|
|
|
109
113
|
else
|
|
110
114
|
rb_param_name(paramdef.name)
|
|
111
115
|
end
|
|
112
|
-
params << { name: pnm, type: arg.type }
|
|
116
|
+
params << { name: pnm, type: arg.type || xml_trans.type_to_doc(paramdef.type) }
|
|
113
117
|
if paramdef.default
|
|
114
118
|
defexp = rb_constant_expression(paramdef.default, xml_trans.constants_xref_db)
|
|
115
119
|
# in case the default expression dereferences a pointer or passes an address clean it up
|
|
@@ -142,7 +146,11 @@ module WXRuby3
|
|
|
142
146
|
params.each do |p|
|
|
143
147
|
doclns << ('@param ' << p[:name] << ' [' << p[:type] << '] ' << (p[:doc] ? ' '+(p[:doc].split("\n").join("\n ")) : ''))
|
|
144
148
|
end
|
|
145
|
-
result =
|
|
149
|
+
result = if matched_maps.any? { |map| map.ignores_output?(type) }
|
|
150
|
+
[]
|
|
151
|
+
else
|
|
152
|
+
[rb_return_type(type_maps, xml_trans)]
|
|
153
|
+
end
|
|
146
154
|
result.concat(mapped_ret_args.collect { |mra| mra.type }) if mapped_ret_args
|
|
147
155
|
result.compact! # remove nil values (possible ignored output)
|
|
148
156
|
case result.size
|
|
@@ -156,9 +164,9 @@ module WXRuby3
|
|
|
156
164
|
[rb_decl_name, paramlist, doclns]
|
|
157
165
|
end
|
|
158
166
|
|
|
159
|
-
def rb_return_type(type_maps)
|
|
160
|
-
mapped_type = type_maps.map_output(type)
|
|
161
|
-
|
|
167
|
+
def rb_return_type(type_maps, xml_trans)
|
|
168
|
+
mapped_type = type_maps.map_output(type) || xml_trans.type_to_doc(type)
|
|
169
|
+
mapped_type == 'void' ? nil : mapped_type
|
|
162
170
|
end
|
|
163
171
|
|
|
164
172
|
def argument_list
|
|
@@ -304,9 +312,9 @@ module WXRuby3
|
|
|
304
312
|
end
|
|
305
313
|
end
|
|
306
314
|
|
|
307
|
-
def rb_return_type(type_maps)
|
|
315
|
+
def rb_return_type(type_maps, xml_trans)
|
|
308
316
|
if is_ctor
|
|
309
|
-
|
|
317
|
+
xml_trans.type_to_doc(xml_trans.class_name(class_name))
|
|
310
318
|
else
|
|
311
319
|
super
|
|
312
320
|
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 extractor
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -80,9 +83,9 @@ module WXRuby3
|
|
|
80
83
|
ignore # ignore all member variables by default (trust on availability of accessor methods)
|
|
81
84
|
end
|
|
82
85
|
|
|
83
|
-
def rb_return_type(type_maps)
|
|
84
|
-
mapped_type = type_maps.map_output(type)
|
|
85
|
-
|
|
86
|
+
def rb_return_type(type_maps, xml_trans)
|
|
87
|
+
mapped_type = type_maps.map_output(type) || xml_trans.type_to_doc(type)
|
|
88
|
+
mapped_type == 'void' ? nil : mapped_type
|
|
86
89
|
end
|
|
87
90
|
private :rb_return_type
|
|
88
91
|
|
|
@@ -97,7 +100,7 @@ module WXRuby3
|
|
|
97
100
|
doc = []
|
|
98
101
|
# first document the reader
|
|
99
102
|
doc << [var_doc.dup]
|
|
100
|
-
doc.last << "@return [#{rb_return_type(type_maps)}]"
|
|
103
|
+
doc.last << "@return [#{rb_return_type(type_maps, xml_trans)}]"
|
|
101
104
|
doc << "def #{is_static ? 'self.' : ''}#{rb_method_name(rb_name || name)}; end"
|
|
102
105
|
# next document the writer (if any)
|
|
103
106
|
unless no_setter
|
|
@@ -108,9 +111,9 @@ module WXRuby3
|
|
|
108
111
|
array: false)]
|
|
109
112
|
mapped_args, _ = type_maps.map_input(parms)
|
|
110
113
|
if mapped_args.empty? # something went wrong!
|
|
111
|
-
doc.last << "@param val [#{
|
|
114
|
+
doc.last << "@param val [#{xml_trans.type_to_doc(type)}]"
|
|
112
115
|
else
|
|
113
|
-
doc.last << "@param val [#{mapped_args.first.type}]"
|
|
116
|
+
doc.last << "@param val [#{mapped_args.first.type || xml_trans.type_to_doc(type)}]"
|
|
114
117
|
end
|
|
115
118
|
doc.last << "@return [void]"
|
|
116
119
|
doc << "def #{is_static ? 'self.' : ''}#{rb_method_name(rb_name || name)}=(val); end"
|
data/rakelib/lib/extractor.rb
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface extractor
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
require 'nokogiri'
|
|
@@ -217,7 +220,9 @@ module WXRuby3
|
|
|
217
220
|
@brief_doc = bd # Should be just one <para> element
|
|
218
221
|
@detailed_doc = element.xpath('detaileddescription')
|
|
219
222
|
if (el = @detailed_doc.at_xpath('para/onlyfor'))
|
|
220
|
-
@only_for = el.text.strip.split(',').collect { |s|
|
|
223
|
+
@only_for = el.text.strip.split(',').collect { |s| s.downcase }
|
|
224
|
+
@ignored = @only_for.none? { |s| Config.instance.wx_port == s.to_sym }
|
|
225
|
+
@docs_ignored = @ignored
|
|
221
226
|
end
|
|
222
227
|
end
|
|
223
228
|
end
|