wxruby3 0.9.0.pre.rc.3 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/ext/mkrf_conf_srcgem.rb +4 -1
- data/ext/wxruby3/include/wxruby-Config.h +953 -0
- data/ext/wxruby3/include/wxruby-ScaledDC.h +4 -1
- data/ext/wxruby3/include/wxruby-runtime.h +10 -1
- data/ext/wxruby3/swig/RubyStockObjects.i +5 -3
- data/ext/wxruby3/swig/common.i +8 -3
- data/ext/wxruby3/swig/mark_free_impl.i +6 -4
- data/ext/wxruby3/swig/memory_management.i +5 -3
- data/ext/wxruby3/swig/typedefs.i +5 -3
- data/ext/wxruby3/swig/wx.i +5 -0
- data/ext/wxruby3/swig/wx.rc +4 -2
- data/lib/wx/accessors.rb +10 -2
- data/lib/wx/aui/auifloatframe.rb +20 -0
- data/lib/wx/aui/auimanager.rb +3 -0
- data/lib/wx/aui/auinotebook.rb +17 -0
- data/lib/wx/aui/require.rb +5 -1
- data/lib/wx/aui.rb +4 -1
- data/lib/wx/core/acceleratortable.rb +8 -0
- data/lib/wx/core/animation.rb +8 -0
- data/lib/wx/core/app.rb +8 -0
- data/lib/wx/core/array_ext.rb +7 -0
- data/lib/wx/core/art_locator.rb +7 -0
- data/lib/wx/core/artprovider.rb +9 -0
- data/lib/wx/core/bitmap.rb +16 -4
- data/lib/wx/core/bitmap_combobox.rb +7 -0
- data/lib/wx/core/brush.rb +7 -0
- data/lib/wx/core/busycursor.rb +9 -0
- data/lib/wx/core/choice.rb +7 -0
- data/lib/wx/core/choicedlg.rb +7 -0
- data/lib/wx/core/clientdc.rb +9 -0
- data/lib/wx/core/clipboard.rb +8 -0
- data/lib/wx/core/collapsible_pane.rb +8 -1
- data/lib/wx/core/colour.rb +8 -0
- data/lib/wx/core/combo_ctrl.rb +110 -0
- data/lib/wx/core/combobox.rb +7 -0
- data/lib/wx/core/config.rb +303 -0
- data/lib/wx/core/controlwithitems.rb +12 -1
- data/lib/wx/core/cursor.rb +14 -4
- data/lib/wx/core/data_object.rb +7 -0
- data/lib/wx/core/dataformat.rb +9 -0
- data/lib/wx/core/datetime.rb +14 -0
- data/lib/wx/core/dc.rb +7 -0
- data/lib/wx/core/dialog.rb +18 -1
- data/lib/wx/core/enum.rb +7 -0
- data/lib/wx/core/event.rb +7 -0
- data/lib/wx/core/event_blocker.rb +7 -0
- data/lib/wx/core/event_loop.rb +7 -0
- data/lib/wx/core/evthandler.rb +8 -0
- data/lib/wx/core/ext.rb +7 -0
- data/lib/wx/core/file_dialog.rb +23 -0
- data/lib/wx/core/find_replace_dialog.rb +7 -0
- data/lib/wx/core/functions.rb +8 -0
- data/lib/wx/core/gauge.rb +10 -1
- data/lib/wx/core/genericdirctrl.rb +9 -0
- data/lib/wx/core/hboxsizer.rb +16 -0
- data/lib/wx/core/helpcontroller.rb +8 -0
- data/lib/wx/core/helpcontrollerhelpprovider.rb +9 -0
- data/lib/wx/core/helpprovider.rb +10 -1
- data/lib/wx/core/icon.rb +17 -6
- data/lib/wx/core/id_helper.rb +7 -0
- data/lib/wx/core/image.rb +16 -4
- data/lib/wx/core/imagelist.rb +8 -1
- data/lib/wx/core/listbox.rb +7 -0
- data/lib/wx/core/listctrl.rb +9 -0
- data/lib/wx/core/locale.rb +8 -0
- data/lib/wx/core/log.rb +24 -0
- data/lib/wx/core/menu.rb +9 -0
- data/lib/wx/core/menu_bar.rb +7 -0
- data/lib/wx/core/menuitem.rb +9 -0
- data/lib/wx/core/notebook.rb +9 -0
- data/lib/wx/core/object.rb +9 -0
- data/lib/wx/core/paintdc.rb +7 -0
- data/lib/wx/core/pen.rb +7 -0
- data/lib/wx/core/pen_info.rb +7 -0
- data/lib/wx/core/platform_info.rb +7 -0
- data/lib/wx/core/point.rb +8 -0
- data/lib/wx/core/real_point.rb +8 -0
- data/lib/wx/core/rect.rb +9 -0
- data/lib/wx/core/region_iterator.rb +7 -0
- data/lib/wx/core/simplehelpprovider.rb +9 -0
- data/lib/wx/core/size.rb +8 -0
- data/lib/wx/core/sizer.rb +9 -0
- data/lib/wx/core/splash_screen.rb +22 -2
- data/lib/wx/core/text_entry.rb +7 -0
- data/lib/wx/core/textctrl.rb +86 -5
- data/lib/wx/core/timer.rb +9 -0
- data/lib/wx/core/toolbar.rb +9 -0
- data/lib/wx/core/toolbartool.rb +8 -0
- data/lib/wx/core/treectrl.rb +9 -0
- data/lib/wx/core/v_list_box.rb +7 -0
- data/lib/wx/core/validator.rb +7 -0
- data/lib/wx/core/variant.rb +7 -0
- data/lib/wx/core/vboxsizer.rb +16 -0
- data/lib/wx/core/window.rb +8 -0
- data/lib/wx/core/window_update_locker.rb +9 -0
- data/lib/wx/core/xmlresource.rb +8 -0
- data/lib/wx/core.rb +4 -1
- data/lib/wx/doc/app.rb +7 -1
- data/lib/wx/doc/array_ext.rb +6 -0
- data/lib/wx/doc/art_locator.rb +7 -0
- data/lib/wx/doc/aui/auimanager.rb +6 -0
- data/lib/wx/doc/aui/auinotebook.rb +6 -0
- data/lib/wx/doc/bitmap.rb +12 -4
- data/lib/wx/doc/brush.rb +6 -0
- data/lib/wx/doc/busy_info.rb +6 -0
- data/lib/wx/doc/client_dc.rb +6 -0
- data/lib/wx/doc/clipboard.rb +6 -0
- data/lib/wx/doc/colour_dialog.rb +6 -0
- data/lib/wx/doc/config.rb +190 -0
- data/lib/wx/doc/const.rb +7 -0
- data/lib/wx/doc/controlwithitems.rb +6 -0
- data/lib/wx/doc/core.rb +6 -0
- data/lib/wx/doc/cursor.rb +13 -5
- data/lib/wx/doc/data_object.rb +6 -0
- data/lib/wx/doc/datetime.rb +16 -0
- data/lib/wx/doc/dc.rb +6 -0
- data/lib/wx/doc/enum.rb +8 -1
- data/lib/wx/doc/event.rb +12 -0
- data/lib/wx/doc/event_blocker.rb +6 -0
- data/lib/wx/doc/event_loop.rb +6 -0
- data/lib/wx/doc/events.rb +6 -0
- data/lib/wx/doc/evthandler.rb +8 -0
- data/lib/wx/doc/extra/01_packages.md +52 -51
- data/lib/wx/doc/extra/05_event-handling.md +37 -12
- data/lib/wx/doc/extra/06_geometry.md +5 -5
- data/lib/wx/doc/extra/07_colour_and_font.md +2 -2
- data/lib/wx/doc/extra/09_exceptions.md +1 -1
- data/lib/wx/doc/extra/10_art.md +18 -12
- data/lib/wx/doc/extra/11_drawing_and_dc.md +4 -4
- data/lib/wx/doc/font.rb +6 -0
- data/lib/wx/doc/font_data.rb +16 -0
- data/lib/wx/doc/functions.rb +9 -1
- data/lib/wx/doc/gc_dc.rb +6 -0
- data/lib/wx/doc/gdi_common.rb +8 -1
- data/lib/wx/doc/graphics_context.rb +59 -39
- data/lib/wx/doc/grid/grid.rb +16 -1
- data/lib/wx/doc/hboxsizer.rb +33 -0
- data/lib/wx/doc/help_controller.rb +6 -0
- data/lib/wx/doc/html/html_help_controller.rb +6 -0
- data/lib/wx/doc/icon.rb +13 -5
- data/lib/wx/doc/id_helper.rb +6 -0
- data/lib/wx/doc/image.rb +12 -4
- data/lib/wx/doc/list_ctrl.rb +6 -0
- data/lib/wx/doc/log.rb +17 -0
- data/lib/wx/doc/memory_dc.rb +6 -0
- data/lib/wx/doc/mirror_dc.rb +6 -0
- data/lib/wx/doc/pen.rb +6 -0
- data/lib/wx/doc/pg/events.rb +6 -0
- data/lib/wx/doc/pg/pg_property.rb +17 -0
- data/lib/wx/doc/pg/pgeditor.rb +6 -0
- data/lib/wx/doc/pg/property_grid.rb +6 -0
- data/lib/wx/doc/pg/property_grid_interface.rb +6 -0
- data/lib/wx/doc/progress_dialog.rb +6 -0
- data/lib/wx/doc/prt/page_setup_dialog.rb +6 -0
- data/lib/wx/doc/prt/print_data.rb +6 -0
- data/lib/wx/doc/prt/print_dialog.rb +6 -0
- data/lib/wx/doc/prt/printer.rb +6 -0
- data/lib/wx/doc/prt/printer_dc.rb +6 -0
- data/lib/wx/doc/radio_box.rb +6 -0
- data/lib/wx/doc/rbn/ribbon_bar.rb +6 -0
- data/lib/wx/doc/rbn/ribbon_button_bar.rb +6 -0
- data/lib/wx/doc/rbn/ribbon_gallery.rb +6 -0
- data/lib/wx/doc/rbn/ribbon_tool_bar.rb +6 -0
- data/lib/wx/doc/region_iterator.rb +6 -0
- data/lib/wx/doc/rtc/richtext_buffer.rb +28 -0
- data/lib/wx/doc/rtc/richtext_formatting_dialog.rb +68 -0
- data/lib/wx/doc/rtc/richtext_printing.rb +6 -0
- data/lib/wx/doc/rtc/richtext_style_sheet.rb +20 -0
- data/lib/wx/doc/scaled_dc.rb +6 -0
- data/lib/wx/doc/screen_dc.rb +6 -0
- data/lib/wx/doc/stock_objects.rb +6 -0
- data/lib/wx/doc/stream.rb +6 -0
- data/lib/wx/doc/svg_file_dc.rb +6 -0
- data/lib/wx/doc/system_settings.rb +6 -0
- data/lib/wx/doc/text_validator.rb +6 -0
- data/lib/wx/doc/textctrl.rb +89 -0
- data/lib/wx/doc/tree_event.rb +20 -0
- data/lib/wx/doc/treebook.rb +6 -0
- data/lib/wx/doc/v_list_box.rb +6 -0
- data/lib/wx/doc/variant.rb +6 -0
- data/lib/wx/doc/vboxsizer.rb +33 -0
- data/lib/wx/doc/window.rb +6 -0
- data/lib/wx/doc/window_disabler.rb +6 -0
- data/lib/wx/doc/xml_resource.rb +8 -0
- data/lib/wx/global_const.rb +4 -1
- data/lib/wx/grid/grid.rb +23 -3
- data/lib/wx/grid/keyword_defs.rb +8 -1
- data/lib/wx/grid/require.rb +4 -1
- data/lib/wx/grid.rb +4 -1
- data/lib/wx/helpers.rb +8 -1
- data/lib/wx/html/htmlhelpcontroller.rb +29 -3
- data/lib/wx/html/htmlwindow.rb +23 -12
- data/lib/wx/html/keyword_defs.rb +8 -1
- data/lib/wx/html/require.rb +4 -1
- data/lib/wx/html/simple_html_listbox.rb +3 -0
- data/lib/wx/html.rb +4 -1
- data/lib/wx/keyword_ctors.rb +22 -3
- data/lib/wx/keyword_defs.rb +55 -3
- data/lib/wx/pg/events.rb +4 -1
- data/lib/wx/pg/keyword_defs.rb +8 -1
- data/lib/wx/pg/pg_editor.rb +3 -0
- data/lib/wx/pg/pg_properties.rb +4 -1
- data/lib/wx/pg/pg_property.rb +18 -5
- data/lib/wx/pg/property_grid.rb +4 -1
- data/lib/wx/pg/property_grid_interface.rb +3 -0
- data/lib/wx/pg/require.rb +4 -1
- data/lib/wx/pg.rb +4 -1
- data/lib/wx/prt/keyword_defs.rb +8 -1
- data/lib/wx/prt/page_setup_dialog.rb +3 -0
- data/lib/wx/prt/previewframe.rb +5 -0
- data/lib/wx/prt/require.rb +4 -1
- data/lib/wx/prt.rb +4 -1
- data/lib/wx/rbn/events.rb +4 -1
- data/lib/wx/rbn/keyword_defs.rb +8 -1
- data/lib/wx/rbn/require.rb +5 -1
- data/lib/wx/rbn/ribbon_art_provider.rb +3 -1
- data/lib/wx/rbn/ribbon_bar.rb +3 -0
- data/lib/wx/rbn/ribbon_button_bar.rb +3 -0
- data/lib/wx/rbn/ribbon_control.rb +3 -0
- data/lib/wx/rbn/ribbon_gallery.rb +10 -0
- data/lib/wx/rbn/ribbon_page.rb +3 -0
- data/lib/wx/rbn/ribbon_panel.rb +3 -0
- data/lib/wx/rbn/ribbon_tool_bar.rb +3 -0
- data/lib/wx/rbn.rb +4 -1
- data/lib/wx/rtc/ext.rb +4 -1
- data/lib/wx/rtc/keyword_defs.rb +18 -7
- data/lib/wx/rtc/require.rb +8 -1
- data/lib/wx/rtc/richtext_buffer.rb +36 -0
- data/lib/wx/rtc/richtext_formatting_dialog.rb +88 -0
- data/lib/wx/rtc/richtext_style_organiser_dialog.rb +46 -0
- data/lib/wx/rtc/symbol_picker_dialog.rb +47 -0
- data/lib/wx/rtc.rb +5 -1
- data/lib/wx/stc/keyword_defs.rb +8 -1
- data/lib/wx/stc/require.rb +4 -1
- data/lib/wx/stc.rb +4 -1
- data/lib/wx/version.rb +5 -1
- data/lib/wx/wxruby/base.rb +4 -1
- data/lib/wx/wxruby/cmd/sampler.rb +4 -1
- data/lib/wx/wxruby/cmd/test.rb +4 -1
- data/lib/wx.rb +4 -1
- data/rakelib/build.rake +4 -1
- data/rakelib/build.rb +4 -1
- data/rakelib/config.rake +4 -1
- data/rakelib/configure.rb +4 -1
- data/rakelib/doc.rake +4 -1
- data/rakelib/doc.rb +5 -1
- data/rakelib/install.rake +4 -1
- data/rakelib/install.rb +4 -1
- data/rakelib/lib/config/cygwin.rb +4 -1
- data/rakelib/lib/config/linux.rb +4 -1
- data/rakelib/lib/config/macosx.rb +5 -2
- data/rakelib/lib/config/mingw.rb +4 -1
- data/rakelib/lib/config/netbsd.rb +4 -1
- data/rakelib/lib/config/unixish.rb +10 -7
- data/rakelib/lib/config.rb +7 -2
- data/rakelib/lib/core/include/enum.inc +4 -1
- data/rakelib/lib/core/include/funcall.inc +10 -64
- data/rakelib/lib/core/include/init.inc +3 -0
- data/rakelib/lib/core/mapping.rb +26 -46
- data/rakelib/lib/core/package.rb +17 -3
- data/rakelib/lib/core/parameter.rb +4 -1
- data/rakelib/lib/core/spec.rb +14 -8
- data/rakelib/lib/core/spec_helper.rb +32 -9
- data/rakelib/lib/director/about_dialog_info.rb +4 -1
- data/rakelib/lib/director/accelerator.rb +7 -2
- data/rakelib/lib/director/animation.rb +4 -1
- data/rakelib/lib/director/animation_ctrl.rb +4 -1
- data/rakelib/lib/director/any_button.rb +5 -2
- data/rakelib/lib/director/app.rb +16 -2
- data/rakelib/lib/director/app_traits.rb +71 -0
- data/rakelib/lib/director/art_provider.rb +4 -1
- data/rakelib/lib/director/aui_dock_art.rb +4 -1
- data/rakelib/lib/director/aui_floating_frame.rb +4 -1
- data/rakelib/lib/director/aui_manager.rb +12 -5
- data/rakelib/lib/director/aui_manager_event.rb +4 -1
- data/rakelib/lib/director/aui_mdi_child_frame.rb +25 -1
- data/rakelib/lib/director/aui_mdi_client_window.rb +4 -1
- data/rakelib/lib/director/aui_mdi_parent_frame.rb +4 -1
- data/rakelib/lib/director/aui_notebook.rb +12 -1
- data/rakelib/lib/director/aui_notebook_event.rb +4 -1
- data/rakelib/lib/director/aui_pane_info.rb +4 -1
- data/rakelib/lib/director/aui_tab_art.rb +52 -1
- data/rakelib/lib/director/aui_tab_ctrl.rb +14 -1
- data/rakelib/lib/director/aui_toolbar.rb +6 -3
- data/rakelib/lib/director/aui_toolbar_art.rb +52 -1
- data/rakelib/lib/director/aui_toolbar_event.rb +4 -1
- data/rakelib/lib/director/aui_toolbar_item.rb +4 -1
- data/rakelib/lib/director/banner_window.rb +26 -0
- data/rakelib/lib/director/bitmap.rb +11 -2
- data/rakelib/lib/director/bitmap_combobox.rb +5 -1
- data/rakelib/lib/director/book_ctrls.rb +13 -3
- data/rakelib/lib/director/brush.rb +4 -1
- data/rakelib/lib/director/busy_info.rb +4 -1
- data/rakelib/lib/director/button.rb +4 -1
- data/rakelib/lib/director/calendar_ctrl.rb +4 -1
- data/rakelib/lib/director/calendar_date_attr.rb +4 -1
- data/rakelib/lib/director/caret.rb +4 -1
- data/rakelib/lib/director/check_listbox.rb +4 -1
- data/rakelib/lib/director/choice.rb +4 -1
- data/rakelib/lib/director/clipboard.rb +4 -1
- data/rakelib/lib/director/collapsible_pane.rb +4 -1
- data/rakelib/lib/director/collapsible_pane_event.rb +4 -1
- data/rakelib/lib/director/colour.rb +9 -1
- data/rakelib/lib/director/colour_picker_ctrl.rb +4 -1
- data/rakelib/lib/director/combobox.rb +4 -1
- data/rakelib/lib/director/comboctrl.rb +94 -0
- data/rakelib/lib/director/config_base.rb +135 -0
- data/rakelib/lib/director/context_help_button.rb +4 -1
- data/rakelib/lib/director/control.rb +4 -1
- data/rakelib/lib/director/ctrl_with_items.rb +5 -1
- data/rakelib/lib/director/cursor.rb +6 -2
- data/rakelib/lib/director/data_format.rb +4 -1
- data/rakelib/lib/director/data_object.rb +4 -1
- data/rakelib/lib/director/data_object_simple_base.rb +4 -1
- data/rakelib/lib/director/date_event.rb +9 -2
- data/rakelib/lib/director/date_picker_ctrl.rb +4 -1
- data/rakelib/lib/director/dc.rb +19 -1
- data/rakelib/lib/director/defs.rb +4 -1
- data/rakelib/lib/director/derived_dc.rb +27 -20
- data/rakelib/lib/director/dialog.rb +24 -3
- data/rakelib/lib/director/dir_filterlist_ctrl.rb +4 -1
- data/rakelib/lib/director/dir_picker_ctrl.rb +4 -1
- data/rakelib/lib/director/drag_image.rb +9 -2
- data/rakelib/lib/director/dragdrop.rb +4 -1
- data/rakelib/lib/director/editable_listbox.rb +4 -1
- data/rakelib/lib/director/event.rb +11 -3
- data/rakelib/lib/director/event_blocker.rb +4 -1
- data/rakelib/lib/director/event_filter.rb +4 -1
- data/rakelib/lib/director/event_handler.rb +28 -11
- data/rakelib/lib/director/event_loop.rb +4 -1
- data/rakelib/lib/director/events.rb +5 -2
- data/rakelib/lib/director/file_dialog_custom_control.rb +28 -0
- data/rakelib/lib/director/file_dialog_customize_hook.rb +28 -0
- data/rakelib/lib/director/file_picker_ctrl.rb +4 -1
- data/rakelib/lib/director/file_system.rb +45 -0
- data/rakelib/lib/director/find_dialog_event.rb +4 -1
- data/rakelib/lib/director/find_replace_data.rb +4 -1
- data/rakelib/lib/director/font.rb +7 -3
- data/rakelib/lib/director/font_data.rb +9 -1
- data/rakelib/lib/director/font_picker_ctrl.rb +4 -1
- data/rakelib/lib/director/frame.rb +45 -33
- data/rakelib/lib/director/fs_file.rb +52 -1
- data/rakelib/lib/director/functions.rb +11 -5
- data/rakelib/lib/director/gdi_object.rb +4 -1
- data/rakelib/lib/director/gdicommon.rb +14 -9
- data/rakelib/lib/director/generic_dirctrl.rb +4 -1
- data/rakelib/lib/director/graphics_context.rb +113 -18
- data/rakelib/lib/director/graphics_object.rb +13 -2
- data/rakelib/lib/director/grid_cell_attr.rb +28 -4
- data/rakelib/lib/director/grid_cell_editor.rb +22 -5
- data/rakelib/lib/director/grid_cell_renderer.rb +16 -3
- data/rakelib/lib/director/grid_ctrl.rb +146 -5
- data/rakelib/lib/director/grid_range_select_event.rb +4 -1
- data/rakelib/lib/director/grid_table_base.rb +6 -1
- data/rakelib/lib/director/grid_table_message.rb +4 -1
- data/rakelib/lib/director/header_ctrl.rb +37 -0
- data/rakelib/lib/director/help_controller.rb +13 -6
- data/rakelib/lib/director/help_provider.rb +4 -1
- data/rakelib/lib/director/html_cell.rb +10 -3
- data/rakelib/lib/director/html_data_object.rb +4 -1
- data/rakelib/lib/director/html_easy_printing.rb +4 -1
- data/rakelib/lib/director/html_event.rb +4 -1
- data/rakelib/lib/director/html_help_data.rb +4 -1
- data/rakelib/lib/director/html_help_window.rb +30 -0
- data/rakelib/lib/director/html_listbox.rb +4 -1
- data/rakelib/lib/director/html_printout.rb +6 -1
- data/rakelib/lib/director/html_window.rb +10 -8
- data/rakelib/lib/director/hyperlink_ctrl.rb +32 -0
- data/rakelib/lib/director/hyperlink_event.rb +4 -1
- data/rakelib/lib/director/icon.rb +4 -1
- data/rakelib/lib/director/image.rb +26 -3
- data/rakelib/lib/director/image_list.rb +5 -1
- data/rakelib/lib/director/info_bar.rb +26 -0
- data/rakelib/lib/director/list_ctrl.rb +39 -7
- data/rakelib/lib/director/listbox.rb +4 -1
- data/rakelib/lib/director/locale.rb +7 -4
- data/rakelib/lib/director/log.rb +51 -6
- data/rakelib/lib/director/mdi_frame.rb +4 -1
- data/rakelib/lib/director/media_ctrl.rb +4 -1
- data/rakelib/lib/director/menu.rb +16 -3
- data/rakelib/lib/director/menu_bar.rb +13 -2
- data/rakelib/lib/director/menu_item.rb +6 -6
- data/rakelib/lib/director/mouse_state.rb +5 -2
- data/rakelib/lib/director/numeric_property_validator.rb +4 -1
- data/rakelib/lib/director/object.rb +5 -2
- data/rakelib/lib/director/page_setup_dialog.rb +4 -1
- data/rakelib/lib/director/palette.rb +54 -2
- data/rakelib/lib/director/panel.rb +4 -1
- data/rakelib/lib/director/pen.rb +5 -2
- data/rakelib/lib/director/pgarray_editor_dialog.rb +4 -1
- data/rakelib/lib/director/pgcell.rb +4 -1
- data/rakelib/lib/director/pgeditor.rb +4 -1
- data/rakelib/lib/director/pgmulti_button.rb +4 -1
- data/rakelib/lib/director/pgproperties.rb +4 -1
- data/rakelib/lib/director/pgproperty.rb +42 -3
- data/rakelib/lib/director/pgvalidation_info.rb +9 -1
- data/rakelib/lib/director/pickerbase.rb +4 -1
- data/rakelib/lib/director/platform_info.rb +9 -1
- data/rakelib/lib/director/popup_window.rb +14 -1
- data/rakelib/lib/director/preview_frame.rb +5 -2
- data/rakelib/lib/director/print_data.rb +4 -1
- data/rakelib/lib/director/print_dialog.rb +4 -1
- data/rakelib/lib/director/printer.rb +14 -6
- data/rakelib/lib/director/property_grid.rb +30 -1
- data/rakelib/lib/director/property_grid_event.rb +11 -1
- data/rakelib/lib/director/property_grid_interface.rb +20 -6
- data/rakelib/lib/director/property_grid_manager.rb +4 -1
- data/rakelib/lib/director/property_grid_page.rb +4 -1
- data/rakelib/lib/director/property_grid_page_state.rb +4 -1
- data/rakelib/lib/director/radio_box.rb +4 -1
- data/rakelib/lib/director/rearrange_list.rb +36 -0
- data/rakelib/lib/director/region.rb +5 -1
- data/rakelib/lib/director/region_iterator.rb +4 -1
- data/rakelib/lib/director/ribbon_art_provider.rb +9 -1
- data/rakelib/lib/director/ribbon_bar.rb +4 -1
- data/rakelib/lib/director/ribbon_bar_event.rb +4 -1
- data/rakelib/lib/director/ribbon_button_bar.rb +4 -1
- data/rakelib/lib/director/ribbon_button_bar_event.rb +4 -1
- data/rakelib/lib/director/ribbon_ctrl.rb +4 -1
- data/rakelib/lib/director/ribbon_gallery.rb +8 -3
- data/rakelib/lib/director/ribbon_gallery_event.rb +4 -1
- data/rakelib/lib/director/ribbon_page.rb +4 -1
- data/rakelib/lib/director/ribbon_panel.rb +4 -1
- data/rakelib/lib/director/ribbon_panel_event.rb +4 -1
- data/rakelib/lib/director/ribbon_tool_bar.rb +4 -1
- data/rakelib/lib/director/ribbon_tool_bar_event.rb +4 -1
- data/rakelib/lib/director/richtext_box.rb +61 -0
- data/rakelib/lib/director/richtext_buffer.rb +219 -22
- data/rakelib/lib/director/richtext_buffer_data_object.rb +4 -1
- data/rakelib/lib/director/richtext_composite_object.rb +174 -0
- data/rakelib/lib/director/richtext_ctrl.rb +157 -4
- data/rakelib/lib/director/richtext_event.rb +4 -1
- data/rakelib/lib/director/richtext_file_handler.rb +13 -1
- data/rakelib/lib/director/richtext_formatting_dialog.rb +44 -0
- data/rakelib/lib/director/richtext_header_footer_data.rb +4 -1
- data/rakelib/lib/director/richtext_image.rb +56 -0
- data/rakelib/lib/director/richtext_object.rb +272 -0
- data/rakelib/lib/director/richtext_paragraph_layout_box.rb +178 -0
- data/rakelib/lib/director/richtext_printing.rb +4 -1
- data/rakelib/lib/director/richtext_style_listbox.rb +37 -0
- data/rakelib/lib/director/richtext_style_organiser_dialog.rb +28 -0
- data/rakelib/lib/director/sash_layout_event.rb +4 -1
- data/rakelib/lib/director/sash_layout_window.rb +4 -1
- data/rakelib/lib/director/sash_window.rb +4 -1
- data/rakelib/lib/director/scroll_bar.rb +4 -1
- data/rakelib/lib/director/scrolled_t.rb +7 -4
- data/rakelib/lib/director/searchctrl.rb +4 -1
- data/rakelib/lib/director/sizer.rb +4 -1
- data/rakelib/lib/director/sizer_item.rb +9 -3
- data/rakelib/lib/director/slider.rb +4 -1
- data/rakelib/lib/director/splash_screen.rb +4 -1
- data/rakelib/lib/director/splitter_event.rb +4 -1
- data/rakelib/lib/director/splitter_window.rb +4 -1
- data/rakelib/lib/director/static_bitmap.rb +4 -1
- data/rakelib/lib/director/static_box.rb +5 -2
- data/rakelib/lib/director/status_bar.rb +5 -1
- data/rakelib/lib/director/styled_text_ctrl.rb +14 -2
- data/rakelib/lib/director/styled_text_event.rb +4 -1
- data/rakelib/lib/director/system_options.rb +4 -1
- data/rakelib/lib/director/system_settings.rb +4 -1
- data/rakelib/lib/director/task_bar_icon.rb +4 -1
- data/rakelib/lib/director/text_attr.rb +5 -2
- data/rakelib/lib/director/text_entry.rb +4 -1
- data/rakelib/lib/director/text_validator.rb +6 -1
- data/rakelib/lib/director/textctrl.rb +32 -3
- data/rakelib/lib/director/time_picker_ctrl.rb +4 -1
- data/rakelib/lib/director/timer.rb +4 -1
- data/rakelib/lib/director/tip_provider.rb +4 -1
- data/rakelib/lib/director/toggle_button.rb +4 -1
- data/rakelib/lib/director/tool_bar.rb +20 -1
- data/rakelib/lib/director/tool_tip.rb +5 -2
- data/rakelib/lib/director/top_level_window.rb +58 -51
- data/rakelib/lib/director/tree_ctrl.rb +5 -2
- data/rakelib/lib/director/tree_event.rb +28 -10
- data/rakelib/lib/director/uiaction_simulator.rb +4 -1
- data/rakelib/lib/director/utils.rb +9 -1
- data/rakelib/lib/director/validator.rb +4 -1
- data/rakelib/lib/director/variant.rb +5 -2
- data/rakelib/lib/director/vlistbox.rb +4 -1
- data/rakelib/lib/director/vscrolled_window.rb +4 -1
- data/rakelib/lib/director/window.rb +81 -82
- data/rakelib/lib/director/window_disabler.rb +4 -1
- data/rakelib/lib/director/with_images.rb +5 -2
- data/rakelib/lib/director/wizard_page.rb +4 -1
- data/rakelib/lib/director/xml_node.rb +4 -1
- data/rakelib/lib/director/xml_resource.rb +4 -1
- data/rakelib/lib/director.rb +27 -28
- data/rakelib/lib/ext/enum_chain.rb +4 -1
- data/rakelib/lib/extractor/class.rb +8 -6
- data/rakelib/lib/extractor/enum.rb +15 -2
- data/rakelib/lib/extractor/function.rb +12 -4
- data/rakelib/lib/extractor/module.rb +4 -1
- data/rakelib/lib/extractor/variable.rb +4 -1
- data/rakelib/lib/extractor.rb +7 -2
- data/rakelib/lib/generate/analyzer.rb +31 -21
- data/rakelib/lib/generate/base.rb +4 -1
- data/rakelib/lib/generate/doc/grid_cell_attr.yaml +21 -0
- data/rakelib/lib/generate/doc/grid_ctrl.yaml +25 -0
- data/rakelib/lib/generate/doc/html_cell.yaml +11 -0
- data/rakelib/lib/generate/doc/html_help_controller.yaml +23 -0
- data/rakelib/lib/generate/doc/html_help_window.yaml +21 -0
- data/rakelib/lib/generate/doc/html_window.yaml +47 -0
- data/rakelib/lib/generate/doc/pg_editor.yaml +11 -0
- data/rakelib/lib/generate/doc/pg_multi_button.yaml +78 -0
- data/rakelib/lib/generate/doc/pg_properties.yaml +244 -0
- data/rakelib/lib/generate/doc/pg_property.yaml +188 -0
- data/rakelib/lib/generate/doc/property_grid.yaml +23 -0
- data/rakelib/lib/generate/doc/property_grid_interface.yaml +30 -0
- data/rakelib/lib/generate/doc/property_grid_manager.yaml +40 -0
- data/rakelib/lib/generate/doc/rich_text_html_handler.yaml +11 -0
- data/rakelib/lib/generate/doc/styled_text_ctrl.yaml +18 -0
- data/rakelib/lib/generate/doc/symbol_picker_dialog.yaml +40 -0
- data/rakelib/lib/generate/doc.rb +19 -3
- data/rakelib/lib/generate/interface.rb +79 -110
- data/rakelib/lib/generate/rakedep.rb +4 -1
- data/rakelib/lib/specs/interfaces.rb +45 -20
- data/rakelib/lib/streams.rb +5 -1
- data/rakelib/lib/swig_runner.rb +34 -22
- data/rakelib/lib/typemap/array_int_selections.rb +4 -1
- data/rakelib/lib/typemap/common.rb +57 -2
- data/rakelib/lib/typemap/config.rb +55 -0
- data/rakelib/lib/typemap/data_format.rb +4 -1
- data/rakelib/lib/typemap/data_object_data.rb +4 -1
- data/rakelib/lib/typemap/datetime.rb +8 -1
- data/rakelib/lib/typemap/grid_client_data.rb +4 -1
- data/rakelib/lib/typemap/grid_coords.rb +37 -7
- data/rakelib/lib/typemap/html_cell.rb +4 -1
- data/rakelib/lib/typemap/io_streams.rb +4 -1
- data/rakelib/lib/typemap/pgcell.rb +4 -1
- data/rakelib/lib/typemap/pgeditor.rb +4 -1
- data/rakelib/lib/typemap/pgprop_arg.rb +4 -1
- data/rakelib/lib/typemap/pgproperty.rb +4 -1
- data/rakelib/lib/typemap/points_list.rb +4 -1
- data/rakelib/lib/typemap/richtext.rb +185 -11
- data/rakelib/lib/typemap/tree_itemid.rb +26 -1
- data/rakelib/lib/util/string.rb +4 -1
- data/rakelib/prepost.rake +4 -1
- data/rakelib/prepost.rb +4 -1
- data/rakelib/run.rake +4 -1
- data/samples/aui/aui.rb +8 -3
- data/samples/bigdemo/bigdemo.rb +9 -2
- data/samples/bigdemo/run.rb +9 -2
- data/samples/bigdemo/utils.rb +9 -1
- data/samples/calendar/calendar.rb +9 -4
- data/samples/caret/caret.rb +8 -3
- data/samples/controls/books.rb +8 -2
- data/samples/controls/controls.rb +33 -77
- data/samples/controls/get_item_sample.rb +8 -2
- data/samples/controls/htlbox.rb +10 -3
- data/samples/dialogs/dialogs.rb +9 -4
- data/samples/dialogs/wizard.rb +8 -3
- data/samples/dragdrop/dragdrop.rb +8 -3
- data/samples/drawing/bitmap.rb +8 -3
- data/samples/drawing/bitmap_image.rb +8 -3
- data/samples/drawing/graphics_drawing.rb +44 -33
- data/samples/drawing/image_prt.rb +8 -2
- data/samples/drawing/maths_images.rb +8 -3
- data/samples/drawing/rmagic_bitmap_image.rb +8 -3
- data/samples/etc/choice.rb +8 -3
- data/samples/etc/miniframe.rb +8 -3
- data/samples/etc/sash.rb +8 -3
- data/samples/etc/scrollwin.rb +8 -3
- data/samples/etc/system_settings.rb +8 -3
- data/samples/event/activation.rb +8 -3
- data/samples/event/event.rb +8 -3
- data/samples/event/threaded.rb +8 -3
- data/samples/event/update_ui_event.rb +8 -3
- data/samples/grid/grid.rb +9 -3
- data/samples/grid/gridtablebase.rb +8 -3
- data/samples/html/html.rb +8 -3
- data/samples/mdi/mdi.rb +8 -3
- data/samples/minimal/minimal.rb +8 -3
- data/samples/minimal/nothing.rb +8 -3
- data/samples/printing/printing.rb +8 -3
- data/samples/printing/printing2.rb +8 -2
- data/samples/propgrid/propgrid.rb +4 -1
- data/samples/propgrid/propgrid_minimal.rb +4 -2
- data/samples/propgrid/sample_props.rb +4 -1
- data/samples/ribbon/ribbon.rb +4 -1
- data/samples/sampler/editor.rb +4 -1
- data/samples/sampler/ext.rb +4 -1
- data/samples/sampler/sample.rb +13 -4
- data/samples/sampler/stc_editor.rb +4 -1
- data/samples/sampler/txt_editor.rb +4 -1
- data/samples/sampler.rb +11 -3
- data/samples/splash/splash.rb +4 -2
- data/samples/text/art/richtext/alignleft.xpm +24 -0
- data/samples/text/art/richtext/alignright.xpm +24 -0
- data/samples/text/art/richtext/bold.xpm +24 -0
- data/samples/text/art/richtext/centre.xpm +24 -0
- data/samples/text/art/richtext/copy.xpm +45 -0
- data/samples/text/art/richtext/cut.xpm +47 -0
- data/samples/text/art/richtext/font.xpm +25 -0
- data/samples/text/art/richtext/idea.xpm +47 -0
- data/samples/text/art/richtext/indentless.xpm +25 -0
- data/samples/text/art/richtext/indentmore.xpm +25 -0
- data/samples/text/art/richtext/italic.xpm +25 -0
- data/samples/text/art/richtext/open.xpm +58 -0
- data/samples/text/art/richtext/paste.xpm +47 -0
- data/samples/text/art/richtext/redo.xpm +59 -0
- data/samples/text/art/richtext/save.xpm +43 -0
- data/samples/text/art/richtext/smiley.xpm +42 -0
- data/samples/text/art/richtext/underline.xpm +25 -0
- data/samples/text/art/richtext/undo.xpm +59 -0
- data/samples/text/art/richtext/zebra.xpm +409 -0
- data/samples/text/rich_textctrl.rb +8 -3
- data/samples/text/richtext.rb +1824 -0
- data/samples/text/scintilla.rb +8 -3
- data/samples/text/textctrl.rb +21 -4
- data/samples/text/tn_richtext.png +0 -0
- data/samples/text/unicode.rb +9 -4
- data/samples/treectrl/treectrl.rb +10 -5
- data/samples/xrc/custom_xrc_sample.rb +8 -3
- data/samples/xrc/xrc_sample.rb +8 -3
- data/tests/art/test_art/bitmap/wxruby-128x128.png +0 -0
- data/tests/art/test_art/bitmap/wxruby-256x256.png +0 -0
- data/tests/art/test_art/bitmap/wxruby-64x64.png +0 -0
- data/tests/lib/item_container_tests.rb +3 -0
- data/tests/lib/text_entry_tests.rb +3 -0
- data/tests/lib/wxapp_runner.rb +3 -0
- data/tests/lib/wxframe_runner.rb +81 -3
- data/tests/test_app_event_filter.rb +3 -0
- data/tests/test_app_traits.rb +33 -0
- data/tests/test_art.rb +22 -0
- data/tests/test_art_provider.rb +3 -0
- data/tests/test_aui.rb +65 -0
- data/tests/test_basic.rb +5 -1
- data/tests/test_box_sizer.rb +5 -2
- data/tests/test_clipboard.rb +3 -0
- data/tests/test_config.rb +150 -0
- data/tests/test_dc.rb +3 -0
- data/tests/test_dialog.rb +3 -0
- data/tests/test_event_handling.rb +3 -0
- data/tests/test_events.rb +3 -0
- data/tests/test_ext_controls.rb +286 -3
- data/tests/test_file_dialog.rb +55 -0
- data/tests/test_font.rb +8 -5
- data/tests/test_gdi_object.rb +3 -0
- data/tests/test_geometry.rb +4 -0
- data/tests/test_grid_sizer.rb +7 -4
- data/tests/test_intl.rb +3 -0
- data/tests/test_item_data.rb +3 -0
- data/tests/test_list_ctrl.rb +4 -1
- data/tests/test_log.rb +63 -0
- data/tests/test_proof_check.rb +52 -0
- data/tests/test_richtext.rb +204 -0
- data/tests/test_std_controls.rb +45 -35
- data/tests/test_timer.rb +3 -0
- data/tests/test_variant.rb +3 -0
- data/tests/test_window.rb +10 -8
- data/tests/testapp.rb +4 -0
- data/tests/testapp_noframe.rb +4 -0
- metadata +89 -3
- data/rakelib/lib/director/html_help_frame.rb +0 -25
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
require_relative './event'
|
|
@@ -15,7 +18,17 @@ module WXRuby3
|
|
|
15
18
|
|
|
16
19
|
def setup
|
|
17
20
|
super
|
|
18
|
-
#
|
|
21
|
+
# for wxTreeEvent::GetKeyEvent
|
|
22
|
+
spec.map 'const wxKeyEvent&' => 'Wx::KeyEvent' do
|
|
23
|
+
map_out code: <<~__CODE
|
|
24
|
+
#ifdef __WXRB_DEBUG__
|
|
25
|
+
$result = wxRuby_WrapWxEventInRuby(arg1, static_cast<wxEvent*> ($1));
|
|
26
|
+
#else
|
|
27
|
+
$result = wxRuby_WrapWxEventInRuby(static_cast<wxEvent*> ($1));
|
|
28
|
+
#endif
|
|
29
|
+
__CODE
|
|
30
|
+
end
|
|
31
|
+
# create a lightweight, but typesafe, wrapper for TreeItemId
|
|
19
32
|
spec.add_init_code <<~__HEREDOC
|
|
20
33
|
// define TreeItemId wrapper class
|
|
21
34
|
mWxTreeItemId = rb_define_class_under(mWxCore, "TreeItemId", rb_cObject);
|
|
@@ -32,19 +45,19 @@ module WXRuby3
|
|
|
32
45
|
|
|
33
46
|
spec.add_wrapper_code <<~__HEREDOC
|
|
34
47
|
// wxTreeItemId wrapper class definition and helper functions
|
|
35
|
-
static size_t
|
|
48
|
+
static size_t __wxTreeItemId_size(const void* data)
|
|
36
49
|
{
|
|
37
50
|
return 0;
|
|
38
51
|
}
|
|
39
52
|
|
|
40
53
|
#include <ruby/version.h>
|
|
41
54
|
|
|
42
|
-
static const rb_data_type_t
|
|
43
|
-
"
|
|
55
|
+
static const rb_data_type_t __wxTreeItemId_type = {
|
|
56
|
+
"TreeItemId",
|
|
44
57
|
#if RUBY_API_VERSION_MAJOR >= 3
|
|
45
|
-
{ NULL, NULL,
|
|
58
|
+
{ NULL, NULL, __wxTreeItemId_size, 0, 0},
|
|
46
59
|
#else
|
|
47
|
-
{ NULL, NULL,
|
|
60
|
+
{ NULL, NULL, __wxTreeItemId_size, 0},
|
|
48
61
|
#endif
|
|
49
62
|
NULL, NULL, RUBY_TYPED_FREE_IMMEDIATELY
|
|
50
63
|
};
|
|
@@ -52,21 +65,26 @@ module WXRuby3
|
|
|
52
65
|
VALUE _wxRuby_Wrap_wxTreeItemId(const wxTreeItemId& id)
|
|
53
66
|
{
|
|
54
67
|
void* data = id.GetID();
|
|
55
|
-
VALUE ret = TypedData_Wrap_Struct(mWxTreeItemId, &
|
|
68
|
+
VALUE ret = TypedData_Wrap_Struct(mWxTreeItemId, &__wxTreeItemId_type, data);
|
|
56
69
|
return ret;
|
|
57
70
|
}
|
|
58
71
|
|
|
59
72
|
wxTreeItemId _wxRuby_Unwrap_wxTreeItemId(VALUE id)
|
|
60
73
|
{
|
|
61
74
|
void *data = 0;
|
|
62
|
-
TypedData_Get_Struct(id, void, &
|
|
75
|
+
TypedData_Get_Struct(id, void, &__wxTreeItemId_type, data);
|
|
63
76
|
return wxTreeItemId(data);
|
|
64
77
|
}
|
|
65
78
|
|
|
79
|
+
bool _wxRuby_Is_wxTreeItemId(VALUE id)
|
|
80
|
+
{
|
|
81
|
+
return rb_typeddata_is_kind_of(id, &__wxTreeItemId_type) == 1;
|
|
82
|
+
}
|
|
83
|
+
|
|
66
84
|
VALUE _wxRuby_wxTreeItemId_IsOk(VALUE self)
|
|
67
85
|
{
|
|
68
86
|
void *data = 0;
|
|
69
|
-
TypedData_Get_Struct(self, void, &
|
|
87
|
+
TypedData_Get_Struct(self, void, &__wxTreeItemId_type, data);
|
|
70
88
|
return wxTreeItemId(data).IsOk() ? Qtrue : Qfalse;
|
|
71
89
|
}
|
|
72
90
|
__HEREDOC
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -44,6 +47,11 @@ module WXRuby3
|
|
|
44
47
|
spec.ignore 'wxGetEmailAddress(char *,int)',
|
|
45
48
|
'wxGetUserId(char *,int)',
|
|
46
49
|
'wxGetUserName(char *,int)'
|
|
50
|
+
spec.map 'wxMemorySize' => 'Integer' do
|
|
51
|
+
map_out code: <<~__CODE
|
|
52
|
+
$result = LL2NUM(wxLongLongNative($1).GetValue());
|
|
53
|
+
__CODE
|
|
54
|
+
end
|
|
47
55
|
# we want only the functions that are not ignored
|
|
48
56
|
spec.do_not_generate(:classes, :typedefs, :variables, :enums, :defines)
|
|
49
57
|
super
|
|
@@ -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
|
|
@@ -310,7 +313,7 @@ module WXRuby3
|
|
|
310
313
|
VALUE var = rb_ary_entry($input, i);
|
|
311
314
|
int res = SWIG_ConvertPtr(var, &ptr, SWIGTYPE_p_wxVariant, 0 );
|
|
312
315
|
if (!SWIG_IsOK(res)) {
|
|
313
|
-
SWIG_exception_fail(SWIG_ArgError(res), Ruby_Format_TypeError( "", "wxVariantList","
|
|
316
|
+
SWIG_exception_fail(SWIG_ArgError(res), Ruby_Format_TypeError( "", "wxVariantList", "$symname", 1, var ));
|
|
314
317
|
}
|
|
315
318
|
// the default constructed wxVariantList tmp will not delete it's contents so no need to copy variant
|
|
316
319
|
tmp.Append(static_cast<wxVariant*>(ptr));
|
|
@@ -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
|
|