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
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
5
|
+
###
|
|
6
|
+
# wxRuby3 wxWidgets interface director
|
|
7
|
+
###
|
|
8
|
+
|
|
9
|
+
require_relative './window'
|
|
10
|
+
|
|
11
|
+
module WXRuby3
|
|
12
|
+
|
|
13
|
+
class Director
|
|
14
|
+
|
|
15
|
+
class InfoBar < Window
|
|
16
|
+
|
|
17
|
+
def setup
|
|
18
|
+
super
|
|
19
|
+
# no need to wrap this here as we do not proxy this
|
|
20
|
+
spec.ignore 'wxInfoBar::SetFont'
|
|
21
|
+
end
|
|
22
|
+
end # class InfoBar
|
|
23
|
+
|
|
24
|
+
end # class Director
|
|
25
|
+
|
|
26
|
+
end # module WXRuby3
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
require_relative './window'
|
|
@@ -52,12 +55,13 @@ module WXRuby3
|
|
|
52
55
|
(void)self->EditLabel(item);
|
|
53
56
|
}
|
|
54
57
|
__HEREDOC
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
unless Config.instance.features_set?('wxHAS_LISTCTRL_COLUMN_ORDER')
|
|
59
|
+
spec.ignore %w[wxListCtrl::GetColumnIndexFromOrder
|
|
60
|
+
wxListCtrl::GetColumnOrder
|
|
61
|
+
wxListCtrl::GetColumnsOrder
|
|
62
|
+
wxListCtrl::SetColumnsOrder]
|
|
63
|
+
end
|
|
64
|
+
# these are protected so ignored by default but we want them here
|
|
61
65
|
spec.regard %w[
|
|
62
66
|
wxListCtrl::OnGetItemAttr
|
|
63
67
|
wxListCtrl::OnGetItemColumnAttr
|
|
@@ -79,6 +83,34 @@ module WXRuby3
|
|
|
79
83
|
'wxListCtrl::SetItemData',
|
|
80
84
|
'wxListCtrl::SetItemPtrData',
|
|
81
85
|
'wxListCtrl::SortItems'
|
|
86
|
+
spec.map 'const wxVector<wxBitmapBundle>& images' => 'Array<Wx::ImageBundle>' do
|
|
87
|
+
map_in temp: 'wxVector<wxBitmapBundle> tmp', code: <<~__CODE
|
|
88
|
+
if ($input != Qnil)
|
|
89
|
+
{
|
|
90
|
+
if (TYPE($input) == T_ARRAY)
|
|
91
|
+
{
|
|
92
|
+
for (int i=0; i<RARRAY_LEN($input) ;++i)
|
|
93
|
+
{
|
|
94
|
+
void* ptr;
|
|
95
|
+
VALUE rb_image = rb_ary_entry($input, i);
|
|
96
|
+
int res = SWIG_ConvertPtr(rb_image, &ptr, wxRuby_GetSwigTypeForClassName("BitmapBundle"), 0);
|
|
97
|
+
if (!SWIG_IsOK(res))
|
|
98
|
+
{
|
|
99
|
+
VALUE msg = rb_inspect(rb_image);
|
|
100
|
+
rb_raise(rb_eTypeError, "Expected Wx::ImageBundle at index %d but got %s", i, StringValuePtr(msg));
|
|
101
|
+
}
|
|
102
|
+
tmp.push_back(*static_cast<wxBitmapBundle*>(ptr));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else
|
|
106
|
+
{
|
|
107
|
+
VALUE msg = rb_inspect($input);
|
|
108
|
+
rb_raise(rb_eArgError, "Expected Array of Wx::ImageBundle for $argnum but got %s", StringValuePtr(msg));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
$1 = &tmp;
|
|
112
|
+
__CODE
|
|
113
|
+
end
|
|
82
114
|
# required for GetItemRect and GetSubItemRect
|
|
83
115
|
spec.map 'wxRect &rect' => 'Wx::Rect' do
|
|
84
116
|
map_in ignore: true, code: '$1 = new wxRect();'
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -24,10 +27,10 @@ module WXRuby3
|
|
|
24
27
|
wxLanguageInfo::Description
|
|
25
28
|
wxLanguageInfo::DescriptionNative
|
|
26
29
|
wxLanguageInfo::LayoutDirection
|
|
27
|
-
wxLanguageInfo::WinLang
|
|
28
|
-
wxLanguageInfo::WinSublang
|
|
29
30
|
]
|
|
30
|
-
|
|
31
|
+
if Config.instance.features_set?('__WXMSW__')
|
|
32
|
+
spec.regard('wxLanguageInfo::WinLang', 'wxLanguageInfo::WinSublang')
|
|
33
|
+
end
|
|
31
34
|
end
|
|
32
35
|
end # class Locale
|
|
33
36
|
|
data/rakelib/lib/director/log.rb
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -10,14 +13,15 @@ module WXRuby3
|
|
|
10
13
|
class Log < Director
|
|
11
14
|
|
|
12
15
|
def setup
|
|
13
|
-
spec.gc_as_object %w[wxLog wxLogChain wxLogInterposer
|
|
14
|
-
spec.items.concat(%w[wxLogBuffer wxLogChain wxLogGui wxLogStderr wxLogStream wxLogTextCtrl wxLogInterposer
|
|
16
|
+
spec.gc_as_object %w[wxLog wxLogChain wxLogInterposer wxLogWindow]
|
|
17
|
+
spec.items.concat(%w[wxLogBuffer wxLogChain wxLogGui wxLogStderr wxLogStream wxLogTextCtrl wxLogInterposer wxLogWindow wxLogNull wxLogRecordInfo])
|
|
15
18
|
spec.no_proxy(%w[wxLogBuffer wxLogGui wxLogStderr wxLogTextCtrl wxLogWindow])
|
|
16
|
-
spec.force_proxy(%w[wxLogInterposer
|
|
19
|
+
spec.force_proxy(%w[wxLogInterposer])
|
|
20
|
+
spec.ignore 'wxLog::SetFormatter'
|
|
17
21
|
spec.regard %w[wxLog::DoLogRecord wxLog::DoLogTextAtLevel wxLog::DoLogText]
|
|
18
22
|
spec.ignore 'wxLogBuffer::Flush'
|
|
19
23
|
spec.ignore 'wxLogGui::Flush'
|
|
20
|
-
if Config.instance.features_set?(
|
|
24
|
+
if Config.instance.features_set?('wxUSE_STD_IOSTREAM')
|
|
21
25
|
spec.ignore 'wxLogStream'
|
|
22
26
|
end
|
|
23
27
|
# wxLogStderr
|
|
@@ -32,7 +36,48 @@ module WXRuby3
|
|
|
32
36
|
rb_raise(rb_eArgError, "Expected 1 (for stdout) or 2 (for stderr).");
|
|
33
37
|
}
|
|
34
38
|
__HEREDOC
|
|
39
|
+
|
|
35
40
|
# for wxLogChain
|
|
41
|
+
|
|
42
|
+
# In C++ wxLogChain releases it's redirection chain when destructed.
|
|
43
|
+
# In wxRuby this does not work as expected as GC collection cannot be exactly predicted.
|
|
44
|
+
# Therefor extend the class here with an explicit 'release' method.
|
|
45
|
+
spec.add_extend_code 'wxLogChain', <<~__CODE
|
|
46
|
+
void release()
|
|
47
|
+
{
|
|
48
|
+
wxLog::SetActiveTarget($self->GetOldLog());
|
|
49
|
+
$self->DetachOldLog();
|
|
50
|
+
// Make Ruby own the object again so it will be deleted when GC collected
|
|
51
|
+
VALUE rb_self = SWIG_RubyInstanceFor($self);
|
|
52
|
+
if (!NIL_P(rb_self))
|
|
53
|
+
{
|
|
54
|
+
swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(CLASS_OF(rb_self));
|
|
55
|
+
RDATA(rb_self)->dfree = ((swig_class *)swig_type->clientdata)->destroy;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
__CODE
|
|
59
|
+
# In this case we have a mix of C++ marking and Ruby caching to manage GC collection.
|
|
60
|
+
# The 'Old Log' reference is managed from C++ as it is captured and accessible there.
|
|
61
|
+
# The 'New Log' reference is cached in Ruby as the LogChain class does not provide
|
|
62
|
+
# access to this after setting (private member).
|
|
63
|
+
spec.add_header_code <<~__HEREDOC
|
|
64
|
+
static void GC_mark_wxLogChain(void* ptr)
|
|
65
|
+
{
|
|
66
|
+
if (ptr )
|
|
67
|
+
{
|
|
68
|
+
wxLogChain* logChain = reinterpret_cast<wxLogChain*> (ptr);
|
|
69
|
+
wxLog* oldLog = logChain->GetOldLog();
|
|
70
|
+
VALUE rb_old_log = SWIG_RubyInstanceFor(oldLog);
|
|
71
|
+
if (!NIL_P(rb_old_log))
|
|
72
|
+
{
|
|
73
|
+
rb_gc_mark(rb_old_log);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
__HEREDOC
|
|
78
|
+
spec.add_swig_code '%markfunc wxLogChain "GC_mark_wxLogChain";',
|
|
79
|
+
'%markfunc wxLogInterposer "GC_mark_wxLogChain";',
|
|
80
|
+
'%markfunc wxLogWindow "GC_mark_wxLogChain";'
|
|
36
81
|
spec.disown 'wxLog *logger'
|
|
37
82
|
spec.ignore 'wxLogChain::DetachOldLog' # too much potential trouble
|
|
38
83
|
# add override decl missing from xml specs
|
|
@@ -43,8 +88,8 @@ module WXRuby3
|
|
|
43
88
|
# are installed as ActiveTarget on construction and so wxWidgets has ownership
|
|
44
89
|
spec.allocate_disowned 'wxLogChain'
|
|
45
90
|
spec.allocate_disowned 'wxLogInterposer'
|
|
46
|
-
spec.allocate_disowned 'wxLogInterposerTemp'
|
|
47
91
|
spec.allocate_disowned 'wxLogWindow'
|
|
92
|
+
|
|
48
93
|
# for ActiveTarget methods
|
|
49
94
|
spec.ignore 'wxLog::SetThreadActiveTarget'
|
|
50
95
|
spec.disown 'wxLog *logtarget'
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -44,8 +47,18 @@ module WXRuby3
|
|
|
44
47
|
SWIGTYPE_p_wxMenuItem, 0);
|
|
45
48
|
rb_ary_push($result, rb_menu_item);
|
|
46
49
|
}
|
|
50
|
+
__CODE
|
|
51
|
+
end
|
|
52
|
+
# for FindItem
|
|
53
|
+
spec.map 'wxMenu **' => 'Wx::Menu' do
|
|
54
|
+
map_in ignore: true, temp: 'wxMenu *tmp', code: '$1 = &tmp;'
|
|
55
|
+
map_argout code: <<~__CODE
|
|
56
|
+
void *ptr = tmp$argnum;
|
|
57
|
+
$result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(ptr, SWIGTYPE_p_wxMenu, 0));
|
|
47
58
|
__CODE
|
|
48
59
|
end
|
|
60
|
+
# for FindChildItem
|
|
61
|
+
spec.map_apply 'size_t * OUTPUT' => 'size_t * pos'
|
|
49
62
|
spec.add_header_code <<~__HEREDOC
|
|
50
63
|
// Mark Function
|
|
51
64
|
// Need to protect MenuItems which are included in the Menu, including
|
|
@@ -71,7 +84,7 @@ module WXRuby3
|
|
|
71
84
|
__HEREDOC
|
|
72
85
|
spec.add_swig_code <<~__HEREDOC
|
|
73
86
|
%markfunc wxMenu "mark_wxMenu";
|
|
74
|
-
|
|
87
|
+
__HEREDOC
|
|
75
88
|
# fix SWIG's problems with const& return value
|
|
76
89
|
spec.ignore('wxMenu::GetTitle', ignore_doc: false) # keep doc
|
|
77
90
|
spec.add_extend_code 'wxMenu', <<~__HEREDOC
|
|
@@ -79,7 +92,7 @@ module WXRuby3
|
|
|
79
92
|
wxString const& title = $self->GetTitle();
|
|
80
93
|
return &const_cast<wxString&> (title);
|
|
81
94
|
}
|
|
82
|
-
|
|
95
|
+
__HEREDOC
|
|
83
96
|
super
|
|
84
97
|
end
|
|
85
98
|
end # class Menu
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
require_relative './window'
|
|
@@ -12,6 +15,7 @@ module WXRuby3
|
|
|
12
15
|
class MenuBar < Window
|
|
13
16
|
|
|
14
17
|
def setup
|
|
18
|
+
super
|
|
15
19
|
spec.no_proxy('wxMenuBar::FindItem',
|
|
16
20
|
'wxMenuBar::Remove',
|
|
17
21
|
'wxMenuBar::Replace')
|
|
@@ -22,7 +26,14 @@ module WXRuby3
|
|
|
22
26
|
unless Config.instance.wx_version >= '3.3' || Config.instance.wx_abi_version > '3.0.0'
|
|
23
27
|
spec.ignore 'wxMenuBar::OSXGetAppleMenu'
|
|
24
28
|
end
|
|
25
|
-
|
|
29
|
+
# for FindItem
|
|
30
|
+
spec.map 'wxMenu **' => 'Wx::Menu' do
|
|
31
|
+
map_in ignore: true, temp: 'wxMenu *tmp', code: '$1 = &tmp;'
|
|
32
|
+
map_argout code: <<~__CODE
|
|
33
|
+
void *ptr = tmp$argnum;
|
|
34
|
+
$result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(ptr, SWIGTYPE_p_wxMenu, 0));
|
|
35
|
+
__CODE
|
|
36
|
+
end
|
|
26
37
|
end
|
|
27
38
|
end # class MenuBar
|
|
28
39
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -18,14 +21,11 @@ module WXRuby3
|
|
|
18
21
|
spec.ignore(%w[wxMenuItem::GetLabel wxMenuItem::GetName wxMenuItem::GetText wxMenuItem::SetText wxMenuItem::GetLabelFromText])
|
|
19
22
|
# ignore this as there is no implementation anymore
|
|
20
23
|
spec.ignore 'wxMenuItem::GetAccelFromString'
|
|
21
|
-
spec.
|
|
24
|
+
spec.ignore('wxMenuItem::GetAccel') unless Config.instance.features_set?('wxUSE_ACCEL')
|
|
22
25
|
spec.no_proxy 'wxMenuItem::GetAccel'
|
|
23
26
|
spec.ignore 'wxMenuItem::GetBitmap(bool)' # not portable
|
|
24
27
|
if Config.instance.wx_version >= '3.3.0'
|
|
25
|
-
spec.
|
|
26
|
-
'wxMenuItem::SetBackgroundColour',
|
|
27
|
-
'wxMenuItem::SetFont',
|
|
28
|
-
'wxMenuItem::SetTextColour'
|
|
28
|
+
spec.ignore('wxMenuItem::SetBackgroundColour','wxMenuItem::SetFont','wxMenuItem::SetTextColour') unless Config.instance.features_set?('__WXMSW__')
|
|
29
29
|
end
|
|
30
30
|
super
|
|
31
31
|
end
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -12,7 +15,7 @@ module WXRuby3
|
|
|
12
15
|
def setup
|
|
13
16
|
super
|
|
14
17
|
spec.ignore 'wxMouseState::GetPosition(int*,int*)'
|
|
15
|
-
spec.do_not_generate(:variables, :
|
|
18
|
+
spec.do_not_generate(:variables, :defines, :functions)
|
|
16
19
|
end
|
|
17
20
|
end # class MouseState
|
|
18
21
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -11,7 +14,7 @@ module WXRuby3
|
|
|
11
14
|
|
|
12
15
|
def setup
|
|
13
16
|
spec.make_abstract('wxObject')
|
|
14
|
-
spec.ignore %w[wxObject::Ref wxObject::UnRef wxObject::GetRefData wxObject::IsKindOf wxObject::GetClassInfo]
|
|
17
|
+
spec.ignore %w[wxObject::Ref wxObject::UnRef wxObject::GetRefData wxObject::IsKindOf wxObject::GetClassInfo wxObject::SetRefData]
|
|
15
18
|
spec.no_proxy 'wxObject'
|
|
16
19
|
spec.add_extend_code 'wxObject', <<~__HEREDOC
|
|
17
20
|
// Returns the string name of the C++ wx class which this object is wrapping.
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -13,7 +16,56 @@ module WXRuby3
|
|
|
13
16
|
super
|
|
14
17
|
spec.disable_proxies
|
|
15
18
|
spec.gc_as_untracked 'wxPalette'
|
|
16
|
-
|
|
19
|
+
spec.ignore 'wxPalette::GetRGB(int,unsigned char *,unsigned char *,unsigned char *) const', ignore_doc: false
|
|
20
|
+
spec.extend_interface 'wxPalette', 'bool GetRGB(int pixel,unsigned char *red_out,unsigned char *green_out,unsigned char *blue_out) const'
|
|
21
|
+
# for GetRGB
|
|
22
|
+
spec.map 'unsigned char *red_out', 'unsigned char *green_out', 'unsigned char *blue_out', as: 'Integer' do
|
|
23
|
+
map_in ignore: true, temp: 'unsigned char cv', code: '$1 = &cv;'
|
|
24
|
+
map_argout code: '$result = SWIG_Ruby_AppendOutput($result, UINT2NUM(cv$argnum));'
|
|
25
|
+
end
|
|
26
|
+
# for ctor and Create
|
|
27
|
+
spec.map 'int n, const unsigned char *red' => 'Array<Integer>' do
|
|
28
|
+
map_in temp: 'std::unique_ptr<unsigned char[]> arr, int _global_len', code: <<~__CODE
|
|
29
|
+
if (TYPE($input) == T_ARRAY)
|
|
30
|
+
{
|
|
31
|
+
_global_len = $1 = RARRAY_LEN($input);
|
|
32
|
+
arr = std::make_unique<unsigned char[]>($1);
|
|
33
|
+
$2 = arr.get ();
|
|
34
|
+
for (int i=0; i<$1 ;++i)
|
|
35
|
+
{
|
|
36
|
+
$2[i] = NUM2UINT(rb_ary_entry($input, i));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else
|
|
40
|
+
{
|
|
41
|
+
rb_raise(rb_eArgError, "Expected an array of integers for %d", $argnum-1);
|
|
42
|
+
}
|
|
43
|
+
__CODE
|
|
44
|
+
map_typecheck precedence: 'POINTER', code: '$1 = (TYPE($input) == T_ARRAY);'
|
|
45
|
+
end
|
|
46
|
+
spec.map 'const unsigned char *green', 'const unsigned char *blue', as: 'Array<Integer>' do
|
|
47
|
+
map_in temp: 'std::unique_ptr<unsigned char[]> arr', code: <<~__CODE
|
|
48
|
+
if (TYPE($input) == T_ARRAY && _global_len == RARRAY_LEN($input))
|
|
49
|
+
{
|
|
50
|
+
int len = RARRAY_LEN($input);
|
|
51
|
+
arr = std::make_unique<unsigned char[]>(len);
|
|
52
|
+
$1 = arr.get ();
|
|
53
|
+
for (int i=0; i<len ;++i)
|
|
54
|
+
{
|
|
55
|
+
$1[i] = NUM2UINT(rb_ary_entry($input, i));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else
|
|
59
|
+
{
|
|
60
|
+
if (TYPE($input) == T_ARRAY)
|
|
61
|
+
rb_raise(rb_eArgError, "Expected an array of integers of size %d for %d", _global_len, $argnum-1);
|
|
62
|
+
else
|
|
63
|
+
rb_raise(rb_eArgError, "Expected an array of integers for %d", $argnum-1);
|
|
64
|
+
}
|
|
65
|
+
__CODE
|
|
66
|
+
map_typecheck precedence: 'POINTER', code: '$1 = (TYPE($input) == T_ARRAY);'
|
|
67
|
+
end
|
|
68
|
+
if Config.instance.wx_port == :wxqt
|
|
17
69
|
# mismatched implementation which does nothing anyway
|
|
18
70
|
spec.ignore 'wxPalette::wxPalette(int, const unsigned char *, const unsigned char *, const unsigned char *)'
|
|
19
71
|
spec.ignore 'wxPalette::Create(int, const unsigned char *, const unsigned char *, const unsigned char *)'
|
data/rakelib/lib/director/pen.rb
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
1
5
|
###
|
|
2
6
|
# wxRuby3 wxWidgets interface director
|
|
3
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
7
|
###
|
|
5
8
|
|
|
6
9
|
module WXRuby3
|
|
@@ -73,7 +76,7 @@ module WXRuby3
|
|
|
73
76
|
return new_pen;
|
|
74
77
|
}
|
|
75
78
|
__HEREDOC
|
|
76
|
-
# dealt with below - these require special handling
|
|
79
|
+
# dealt with below - these require special handling because of the use
|
|
77
80
|
# of wxDash array, which cannot be freed until the pen(info) is disposed of
|
|
78
81
|
# or until a new dash pattern is specified.
|
|
79
82
|
spec.ignore(%w[wxPen::GetDashes wxPen::SetDashes wxPenInfo::GetDashes wxPenInfo::Dashes], ignore_doc: false)
|
|
@@ -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
|
|
@@ -42,7 +45,8 @@ module WXRuby3
|
|
|
42
45
|
'wxPGChoices::Set(size_t, const wxString *, const long *)',
|
|
43
46
|
'wxPGChoices::Set(const wxChar **, const long *)',
|
|
44
47
|
'wxPGChoices::wxPGChoices(size_t, const wxString *, const long *)',
|
|
45
|
-
'wxPGChoices::wxPGChoices(const wxChar **, const long *)'
|
|
48
|
+
'wxPGChoices::wxPGChoices(const wxChar **, const long *)',
|
|
49
|
+
'wxPGChoices::GetId'
|
|
46
50
|
# replace by extension
|
|
47
51
|
spec.ignore 'wxPGChoices::operator[]', ignore_doc: false
|
|
48
52
|
spec.add_extend_code 'wxPGChoices', <<~__HEREDOC
|
|
@@ -51,6 +55,35 @@ module WXRuby3
|
|
|
51
55
|
return (*self)[idx];
|
|
52
56
|
}
|
|
53
57
|
__HEREDOC
|
|
58
|
+
# for GetIndicesForStrings
|
|
59
|
+
spec.map 'wxArrayString *unmatched' => 'Array,nil' do
|
|
60
|
+
|
|
61
|
+
map_in temp: 'wxArrayString tmp, VALUE rb_unmatched', code: <<~__CODE
|
|
62
|
+
rb_unmatched = $input;
|
|
63
|
+
if (!NIL_P(rb_unmatched))
|
|
64
|
+
{
|
|
65
|
+
if (TYPE(rb_unmatched) == T_ARRAY)
|
|
66
|
+
{
|
|
67
|
+
$1 = &tmp;
|
|
68
|
+
}
|
|
69
|
+
else
|
|
70
|
+
{
|
|
71
|
+
SWIG_exception_fail(SWIG_TypeError, Ruby_Format_TypeError( "", "Array", "$symname", $argnum, $input ));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
__CODE
|
|
75
|
+
|
|
76
|
+
map_argout by_ref: true, code: <<~__CODE
|
|
77
|
+
if (!NIL_P(rb_unmatched$argnum))
|
|
78
|
+
{
|
|
79
|
+
for (size_t i = 0; i < $1->GetCount(); i++)
|
|
80
|
+
{
|
|
81
|
+
rb_ary_push(rb_unmatched$argnum,WXSTR_TO_RSTR( $1->Item(i) ) );
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
__CODE
|
|
85
|
+
|
|
86
|
+
end
|
|
54
87
|
spec.disown 'wxPGProperty *prop', 'wxPGProperty *childProperty'
|
|
55
88
|
# do not think this useful for wxRuby (Also; caused GC problems)
|
|
56
89
|
spec.ignore 'wxPGProperty::GetCellRenderer'
|
|
@@ -64,7 +97,9 @@ module WXRuby3
|
|
|
64
97
|
spec.rename_for_ruby 'GetCellOrDefault' => 'wxPGProperty::GetCell(unsigned int) const'
|
|
65
98
|
spec.rename_for_ruby 'get_cell' => 'wxPGProperty::GetOrCreateCell'
|
|
66
99
|
# don't expose wxPGAttributeStorage; add a more Ruby-like extension
|
|
67
|
-
spec.ignore 'wxPGProperty::GetAttributes'
|
|
100
|
+
spec.ignore 'wxPGProperty::GetAttributes', # implemented in pure Ruby
|
|
101
|
+
'wxPGProperty::SetAttributes',
|
|
102
|
+
ignore_doc: false
|
|
68
103
|
spec.add_extend_code 'wxPGProperty', <<~__HEREDOC
|
|
69
104
|
VALUE each_attribute()
|
|
70
105
|
{
|
|
@@ -199,6 +234,10 @@ module WXRuby3
|
|
|
199
234
|
end
|
|
200
235
|
end
|
|
201
236
|
spec.add_header_code 'typedef wxPGProperty::FlagType FlagType;'
|
|
237
|
+
spec.map 'FlagType' => 'Integer' do
|
|
238
|
+
map_in code: '$1 = NUM2UINT($input);'
|
|
239
|
+
map_typecheck precedence: 'INTEGER', code: '$1 = TYPE($input) == T_FIXNUM || TYPE($input) == T_BIGNUM;'
|
|
240
|
+
end
|
|
202
241
|
end
|
|
203
242
|
end # class PGProperty
|
|
204
243
|
|