wxruby3 0.9.0.pre.beta.8
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 +7 -0
- data/.yardopts +13 -0
- data/CREDITS.md +52 -0
- data/LICENSE +21 -0
- data/README.md +139 -0
- data/bin/wxruby +9 -0
- data/ext/mkrf_conf_srcgem.rb +64 -0
- data/ext/wxruby3/include/wxruby-runtime.h +104 -0
- data/ext/wxruby3/swig/RubyStockObjects.i +62 -0
- data/ext/wxruby3/swig/common.i +110 -0
- data/ext/wxruby3/swig/custom/rubyprimtypes.swg +225 -0
- data/ext/wxruby3/swig/custom/rubytracking.swg +60 -0
- data/ext/wxruby3/swig/custom/swig3/rubyrun.swg +456 -0
- data/ext/wxruby3/swig/custom/swig4/rubyrun.swg +459 -0
- data/ext/wxruby3/swig/mark_free_impl.i +377 -0
- data/ext/wxruby3/swig/memory_management.i +142 -0
- data/ext/wxruby3/swig/typedefs.i +27 -0
- data/ext/wxruby3/swig/wx.i +282 -0
- data/ext/wxruby3/swig/wx.rc +19 -0
- data/ext/wxruby3/wxruby.ico +0 -0
- data/lib/wx/accessors.rb +63 -0
- data/lib/wx/aui/auimanager.rb +17 -0
- data/lib/wx/aui/auinotebook.rb +9 -0
- data/lib/wx/aui/require.rb +9 -0
- data/lib/wx/aui.rb +14 -0
- data/lib/wx/core/acceleratortable.rb +28 -0
- data/lib/wx/core/animation.rb +18 -0
- data/lib/wx/core/app.rb +89 -0
- data/lib/wx/core/artprovider.rb +31 -0
- data/lib/wx/core/bitmap.rb +59 -0
- data/lib/wx/core/busycursor.rb +12 -0
- data/lib/wx/core/choice.rb +4 -0
- data/lib/wx/core/choicedlg.rb +54 -0
- data/lib/wx/core/clientdc.rb +13 -0
- data/lib/wx/core/clipboard.rb +56 -0
- data/lib/wx/core/collapsible_pane.rb +12 -0
- data/lib/wx/core/colour.rb +34 -0
- data/lib/wx/core/combobox.rb +4 -0
- data/lib/wx/core/controlwithitems.rb +10 -0
- data/lib/wx/core/data_object.rb +10 -0
- data/lib/wx/core/dataformat.rb +26 -0
- data/lib/wx/core/dc.rb +68 -0
- data/lib/wx/core/dialog.rb +50 -0
- data/lib/wx/core/enum.rb +28 -0
- data/lib/wx/core/event.rb +16 -0
- data/lib/wx/core/evthandler.rb +253 -0
- data/lib/wx/core/ext.rb +58 -0
- data/lib/wx/core/font.rb +22 -0
- data/lib/wx/core/functions.rb +44 -0
- data/lib/wx/core/gauge.rb +12 -0
- data/lib/wx/core/genericdirctrl.rb +36 -0
- data/lib/wx/core/hboxsizer.rb +6 -0
- data/lib/wx/core/helpcontroller.rb +5 -0
- data/lib/wx/core/helpcontrollerhelpprovider.rb +24 -0
- data/lib/wx/core/helpprovider.rb +15 -0
- data/lib/wx/core/icon.rb +40 -0
- data/lib/wx/core/image.rb +68 -0
- data/lib/wx/core/imagelist.rb +3 -0
- data/lib/wx/core/listbox.rb +4 -0
- data/lib/wx/core/listctrl.rb +33 -0
- data/lib/wx/core/locale.rb +73 -0
- data/lib/wx/core/log.rb +20 -0
- data/lib/wx/core/menu.rb +78 -0
- data/lib/wx/core/menu_bar.rb +20 -0
- data/lib/wx/core/menuitem.rb +7 -0
- data/lib/wx/core/notebook.rb +9 -0
- data/lib/wx/core/object.rb +14 -0
- data/lib/wx/core/pen_info.rb +11 -0
- data/lib/wx/core/platform_info.rb +13 -0
- data/lib/wx/core/point.rb +92 -0
- data/lib/wx/core/real_point.rb +92 -0
- data/lib/wx/core/rect.rb +57 -0
- data/lib/wx/core/simplehelpprovider.rb +38 -0
- data/lib/wx/core/size.rb +86 -0
- data/lib/wx/core/sizer.rb +43 -0
- data/lib/wx/core/splash_screen.rb +44 -0
- data/lib/wx/core/textctrl.rb +8 -0
- data/lib/wx/core/timer.rb +104 -0
- data/lib/wx/core/toolbar.rb +37 -0
- data/lib/wx/core/toolbartool.rb +4 -0
- data/lib/wx/core/treectrl.rb +46 -0
- data/lib/wx/core/validator.rb +8 -0
- data/lib/wx/core/variant.rb +62 -0
- data/lib/wx/core/vboxsizer.rb +6 -0
- data/lib/wx/core/window.rb +95 -0
- data/lib/wx/core/window_update_locker.rb +12 -0
- data/lib/wx/core/xmlresource.rb +56 -0
- data/lib/wx/core.rb +61 -0
- data/lib/wx/doc/aui/auimanager.rb +12 -0
- data/lib/wx/doc/aui/auinotebook.rb +9 -0
- data/lib/wx/doc/colour_dialog.rb +15 -0
- data/lib/wx/doc/core.rb +11 -0
- data/lib/wx/doc/dc.rb +49 -0
- data/lib/wx/doc/enum.rb +88 -0
- data/lib/wx/doc/evthandler.rb +87 -0
- data/lib/wx/doc/extra/00_starting.md +154 -0
- data/lib/wx/doc/extra/01_packages.md +179 -0
- data/lib/wx/doc/extra/02_lifecycles.md +116 -0
- data/lib/wx/doc/extra/03_dialogs.md +57 -0
- data/lib/wx/doc/extra/04_enums.md +143 -0
- data/lib/wx/doc/extra/05_event-handling.md +166 -0
- data/lib/wx/doc/extra/06_geometry.md +56 -0
- data/lib/wx/doc/extra/07_colour_and_font.md +52 -0
- data/lib/wx/doc/extra/08_extensions.md +144 -0
- data/lib/wx/doc/extra/09_exceptions.md +54 -0
- data/lib/wx/doc/functions.rb +221 -0
- data/lib/wx/doc/gdi_common.rb +181 -0
- data/lib/wx/doc/grid/grid.rb +20 -0
- data/lib/wx/doc/help_controller.rb +14 -0
- data/lib/wx/doc/html/html_help_controller.rb +8 -0
- data/lib/wx/doc/pg/events.rb +15 -0
- data/lib/wx/doc/pg/pg_property.rb +8 -0
- data/lib/wx/doc/pg/pgeditor.rb +21 -0
- data/lib/wx/doc/pg/property_grid.rb +48 -0
- data/lib/wx/doc/pg/property_grid_interface.rb +64 -0
- data/lib/wx/doc/prt/page_setup_dialog.rb +15 -0
- data/lib/wx/doc/prt/print_data.rb +9 -0
- data/lib/wx/doc/prt/print_dialog.rb +26 -0
- data/lib/wx/doc/prt/printer.rb +15 -0
- data/lib/wx/doc/rbn/ribbon_bar.rb +9 -0
- data/lib/wx/doc/rbn/ribbon_button_bar.rb +9 -0
- data/lib/wx/doc/rbn/ribbon_gallery.rb +9 -0
- data/lib/wx/doc/rbn/ribbon_tool_bar.rb +9 -0
- data/lib/wx/doc/rtc/richtext_printing.rb +14 -0
- data/lib/wx/doc/screen_dc.rb +10 -0
- data/lib/wx/doc/stock_objects.rb +98 -0
- data/lib/wx/doc/stream.rb +38 -0
- data/lib/wx/doc/system_settings.rb +29 -0
- data/lib/wx/doc/treebook.rb +9 -0
- data/lib/wx/doc/variant.rb +163 -0
- data/lib/wx/doc/xml_resource.rb +19 -0
- data/lib/wx/global_const.rb +84 -0
- data/lib/wx/grid/grid.rb +7 -0
- data/lib/wx/grid/keyword_defs.rb +10 -0
- data/lib/wx/grid/require.rb +9 -0
- data/lib/wx/grid.rb +14 -0
- data/lib/wx/helpers.rb +65 -0
- data/lib/wx/html/htmlhelpcontroller.rb +6 -0
- data/lib/wx/html/htmlwindow.rb +19 -0
- data/lib/wx/html/keyword_defs.rb +22 -0
- data/lib/wx/html/require.rb +10 -0
- data/lib/wx/html.rb +15 -0
- data/lib/wx/keyword_ctors.rb +226 -0
- data/lib/wx/keyword_defs.rb +487 -0
- data/lib/wx/pg/events.rb +14 -0
- data/lib/wx/pg/keyword_defs.rb +15 -0
- data/lib/wx/pg/pg_editor.rb +13 -0
- data/lib/wx/pg/pg_properties.rb +24 -0
- data/lib/wx/pg/pg_property.rb +27 -0
- data/lib/wx/pg/property_grid.rb +71 -0
- data/lib/wx/pg/property_grid_interface.rb +46 -0
- data/lib/wx/pg/require.rb +12 -0
- data/lib/wx/pg.rb +14 -0
- data/lib/wx/prt/keyword_defs.rb +8 -0
- data/lib/wx/prt/page_setup_dialog.rb +15 -0
- data/lib/wx/prt/previewframe.rb +13 -0
- data/lib/wx/prt/require.rb +8 -0
- data/lib/wx/prt.rb +14 -0
- data/lib/wx/rbn/events.rb +4 -0
- data/lib/wx/rbn/keyword_defs.rb +43 -0
- data/lib/wx/rbn/require.rb +12 -0
- data/lib/wx/rbn/ribbon_art_provider.rb +10 -0
- data/lib/wx/rbn/ribbon_bar.rb +12 -0
- data/lib/wx/rbn/ribbon_button_bar.rb +26 -0
- data/lib/wx/rbn/ribbon_control.rb +25 -0
- data/lib/wx/rbn/ribbon_gallery.rb +26 -0
- data/lib/wx/rbn/ribbon_page.rb +15 -0
- data/lib/wx/rbn/ribbon_panel.rb +15 -0
- data/lib/wx/rbn/ribbon_tool_bar.rb +26 -0
- data/lib/wx/rbn.rb +14 -0
- data/lib/wx/rtc/ext.rb +15 -0
- data/lib/wx/rtc/keyword_defs.rb +17 -0
- data/lib/wx/rtc/require.rb +8 -0
- data/lib/wx/rtc.rb +15 -0
- data/lib/wx/stc/keyword_defs.rb +8 -0
- data/lib/wx/stc/require.rb +7 -0
- data/lib/wx/stc.rb +14 -0
- data/lib/wx/version.rb +3 -0
- data/lib/wx/wxruby/base.rb +87 -0
- data/lib/wx/wxruby/cmd/sampler.rb +68 -0
- data/lib/wx/wxruby/cmd/test.rb +27 -0
- data/lib/wx.rb +14 -0
- data/rakelib/build.rake +62 -0
- data/rakelib/build.rb +141 -0
- data/rakelib/config.rake +48 -0
- data/rakelib/configure.rb +131 -0
- data/rakelib/doc.rake +21 -0
- data/rakelib/doc.rb +35 -0
- data/rakelib/install.rake +30 -0
- data/rakelib/install.rb +220 -0
- data/rakelib/lib/config/cygwin.rb +6 -0
- data/rakelib/lib/config/linux.rb +78 -0
- data/rakelib/lib/config/macosx.rb +6 -0
- data/rakelib/lib/config/mingw.rb +133 -0
- data/rakelib/lib/config/netbsd.rb +6 -0
- data/rakelib/lib/config/unixish.rb +187 -0
- data/rakelib/lib/config.rb +673 -0
- data/rakelib/lib/core/include/enum.inc +306 -0
- data/rakelib/lib/core/include/funcall.inc +277 -0
- data/rakelib/lib/core/include/init.inc +95 -0
- data/rakelib/lib/core/mapping.rb +1116 -0
- data/rakelib/lib/core/package.rb +634 -0
- data/rakelib/lib/core/parameter.rb +222 -0
- data/rakelib/lib/core/spec.rb +468 -0
- data/rakelib/lib/core/spec_helper.rb +405 -0
- data/rakelib/lib/director/about_dialog_info.rb +24 -0
- data/rakelib/lib/director/accelerator.rb +88 -0
- data/rakelib/lib/director/animation.rb +84 -0
- data/rakelib/lib/director/animation_ctrl.rb +24 -0
- data/rakelib/lib/director/any_button.rb +34 -0
- data/rakelib/lib/director/app.rb +420 -0
- data/rakelib/lib/director/art_provider.rb +124 -0
- data/rakelib/lib/director/aui_dock_art.rb +23 -0
- data/rakelib/lib/director/aui_floating_frame.rb +26 -0
- data/rakelib/lib/director/aui_manager.rb +114 -0
- data/rakelib/lib/director/aui_manager_event.rb +22 -0
- data/rakelib/lib/director/aui_mdi_child_frame.rb +50 -0
- data/rakelib/lib/director/aui_mdi_client_window.rb +23 -0
- data/rakelib/lib/director/aui_mdi_parent_frame.rb +26 -0
- data/rakelib/lib/director/aui_notebook.rb +77 -0
- data/rakelib/lib/director/aui_notebook_event.rb +23 -0
- data/rakelib/lib/director/aui_pane_info.rb +102 -0
- data/rakelib/lib/director/aui_tab_art.rb +47 -0
- data/rakelib/lib/director/aui_tab_ctrl.rb +121 -0
- data/rakelib/lib/director/aui_toolbar.rb +22 -0
- data/rakelib/lib/director/aui_toolbar_art.rb +24 -0
- data/rakelib/lib/director/aui_toolbar_event.rb +23 -0
- data/rakelib/lib/director/aui_toolbar_item.rb +21 -0
- data/rakelib/lib/director/bitmap.rb +87 -0
- data/rakelib/lib/director/book_ctrls.rb +104 -0
- data/rakelib/lib/director/brush.rb +28 -0
- data/rakelib/lib/director/busy_info.rb +71 -0
- data/rakelib/lib/director/button.rb +22 -0
- data/rakelib/lib/director/calendar_ctrl.rb +98 -0
- data/rakelib/lib/director/calendar_date_attr.rb +22 -0
- data/rakelib/lib/director/caret.rb +31 -0
- data/rakelib/lib/director/check_listbox.rb +33 -0
- data/rakelib/lib/director/choice.rb +32 -0
- data/rakelib/lib/director/clipboard.rb +37 -0
- data/rakelib/lib/director/collapsible_pane.rb +22 -0
- data/rakelib/lib/director/collapsible_pane_event.rb +22 -0
- data/rakelib/lib/director/colour.rb +64 -0
- data/rakelib/lib/director/colour_picker_ctrl.rb +22 -0
- data/rakelib/lib/director/combobox.rb +37 -0
- data/rakelib/lib/director/control.rb +22 -0
- data/rakelib/lib/director/ctrl_with_items.rb +68 -0
- data/rakelib/lib/director/cursor.rb +28 -0
- data/rakelib/lib/director/data_format.rb +31 -0
- data/rakelib/lib/director/data_object.rb +64 -0
- data/rakelib/lib/director/date_event.rb +141 -0
- data/rakelib/lib/director/date_picker_ctrl.rb +39 -0
- data/rakelib/lib/director/dc.rb +52 -0
- data/rakelib/lib/director/defs.rb +139 -0
- data/rakelib/lib/director/derived_dc.rb +64 -0
- data/rakelib/lib/director/dialog.rb +214 -0
- data/rakelib/lib/director/dir_filterlist_ctrl.rb +29 -0
- data/rakelib/lib/director/dir_picker_ctrl.rb +22 -0
- data/rakelib/lib/director/drag_image.rb +20 -0
- data/rakelib/lib/director/dragdrop.rb +61 -0
- data/rakelib/lib/director/editable_listbox.rb +21 -0
- data/rakelib/lib/director/event.rb +171 -0
- data/rakelib/lib/director/event_handler.rb +410 -0
- data/rakelib/lib/director/events.rb +39 -0
- data/rakelib/lib/director/file_picker_ctrl.rb +22 -0
- data/rakelib/lib/director/find_dialog_event.rb +22 -0
- data/rakelib/lib/director/find_replace_data.rb +20 -0
- data/rakelib/lib/director/font.rb +138 -0
- data/rakelib/lib/director/font_data.rb +22 -0
- data/rakelib/lib/director/font_picker_ctrl.rb +22 -0
- data/rakelib/lib/director/frame.rb +74 -0
- data/rakelib/lib/director/fs_file.rb +353 -0
- data/rakelib/lib/director/functions.rb +284 -0
- data/rakelib/lib/director/gdi_object.rb +21 -0
- data/rakelib/lib/director/gdicommon.rb +94 -0
- data/rakelib/lib/director/generic_dirctrl.rb +24 -0
- data/rakelib/lib/director/graphics_context.rb +143 -0
- data/rakelib/lib/director/graphics_object.rb +69 -0
- data/rakelib/lib/director/grid_cell_attr.rb +53 -0
- data/rakelib/lib/director/grid_cell_editor.rb +434 -0
- data/rakelib/lib/director/grid_cell_renderer.rb +132 -0
- data/rakelib/lib/director/grid_ctrl.rb +390 -0
- data/rakelib/lib/director/grid_range_select_event.rb +23 -0
- data/rakelib/lib/director/grid_table_base.rb +63 -0
- data/rakelib/lib/director/grid_table_message.rb +20 -0
- data/rakelib/lib/director/help_controller.rb +75 -0
- data/rakelib/lib/director/help_provider.rb +103 -0
- data/rakelib/lib/director/html_cell.rb +36 -0
- data/rakelib/lib/director/html_easy_printing.rb +45 -0
- data/rakelib/lib/director/html_event.rb +24 -0
- data/rakelib/lib/director/html_help_data.rb +43 -0
- data/rakelib/lib/director/html_help_frame.rb +25 -0
- data/rakelib/lib/director/html_listbox.rb +54 -0
- data/rakelib/lib/director/html_printout.rb +47 -0
- data/rakelib/lib/director/html_window.rb +114 -0
- data/rakelib/lib/director/icon.rb +33 -0
- data/rakelib/lib/director/image.rb +111 -0
- data/rakelib/lib/director/image_list.rb +21 -0
- data/rakelib/lib/director/list_ctrl.rb +197 -0
- data/rakelib/lib/director/listbox.rb +32 -0
- data/rakelib/lib/director/locale.rb +35 -0
- data/rakelib/lib/director/log.rb +32 -0
- data/rakelib/lib/director/mdi_frame.rb +36 -0
- data/rakelib/lib/director/media_ctrl.rb +22 -0
- data/rakelib/lib/director/menu.rb +92 -0
- data/rakelib/lib/director/menu_bar.rb +28 -0
- data/rakelib/lib/director/menu_item.rb +36 -0
- data/rakelib/lib/director/mouse_state.rb +21 -0
- data/rakelib/lib/director/numeric_property_validator.rb +38 -0
- data/rakelib/lib/director/object.rb +32 -0
- data/rakelib/lib/director/page_setup_dialog.rb +30 -0
- data/rakelib/lib/director/palette.rb +25 -0
- data/rakelib/lib/director/panel.rb +22 -0
- data/rakelib/lib/director/pen.rb +174 -0
- data/rakelib/lib/director/pgarray_editor_dialog.rb +64 -0
- data/rakelib/lib/director/pgcell.rb +68 -0
- data/rakelib/lib/director/pgeditor.rb +154 -0
- data/rakelib/lib/director/pgmulti_button.rb +22 -0
- data/rakelib/lib/director/pgproperties.rb +216 -0
- data/rakelib/lib/director/pgproperty.rb +207 -0
- data/rakelib/lib/director/pgvalidation_info.rb +24 -0
- data/rakelib/lib/director/pickerbase.rb +22 -0
- data/rakelib/lib/director/platform_info.rb +49 -0
- data/rakelib/lib/director/popup_window.rb +23 -0
- data/rakelib/lib/director/preview_frame.rb +39 -0
- data/rakelib/lib/director/print_data.rb +33 -0
- data/rakelib/lib/director/print_dialog.rb +36 -0
- data/rakelib/lib/director/printer.rb +61 -0
- data/rakelib/lib/director/property_grid.rb +174 -0
- data/rakelib/lib/director/property_grid_event.rb +23 -0
- data/rakelib/lib/director/property_grid_interface.rb +227 -0
- data/rakelib/lib/director/property_grid_manager.rb +90 -0
- data/rakelib/lib/director/property_grid_page.rb +76 -0
- data/rakelib/lib/director/property_grid_page_state.rb +32 -0
- data/rakelib/lib/director/radio_box.rb +39 -0
- data/rakelib/lib/director/region.rb +25 -0
- data/rakelib/lib/director/ribbon_art_provider.rb +154 -0
- data/rakelib/lib/director/ribbon_bar.rb +24 -0
- data/rakelib/lib/director/ribbon_bar_event.rb +22 -0
- data/rakelib/lib/director/ribbon_button_bar.rb +37 -0
- data/rakelib/lib/director/ribbon_button_bar_event.rb +40 -0
- data/rakelib/lib/director/ribbon_ctrl.rb +28 -0
- data/rakelib/lib/director/ribbon_gallery.rb +33 -0
- data/rakelib/lib/director/ribbon_gallery_event.rb +27 -0
- data/rakelib/lib/director/ribbon_page.rb +21 -0
- data/rakelib/lib/director/ribbon_panel.rb +22 -0
- data/rakelib/lib/director/ribbon_panel_event.rb +22 -0
- data/rakelib/lib/director/ribbon_tool_bar.rb +146 -0
- data/rakelib/lib/director/ribbon_tool_bar_event.rb +22 -0
- data/rakelib/lib/director/richtext_buffer.rb +46 -0
- data/rakelib/lib/director/richtext_ctrl.rb +63 -0
- data/rakelib/lib/director/richtext_event.rb +25 -0
- data/rakelib/lib/director/richtext_file_handler.rb +42 -0
- data/rakelib/lib/director/richtext_header_footer_data.rb +21 -0
- data/rakelib/lib/director/richtext_printing.rb +44 -0
- data/rakelib/lib/director/sash_layout_event.rb +22 -0
- data/rakelib/lib/director/sash_layout_window.rb +23 -0
- data/rakelib/lib/director/sash_window.rb +23 -0
- data/rakelib/lib/director/scrolled_t.rb +67 -0
- data/rakelib/lib/director/sizer.rb +67 -0
- data/rakelib/lib/director/sizer_item.rb +35 -0
- data/rakelib/lib/director/splash_screen.rb +24 -0
- data/rakelib/lib/director/splitter_event.rb +28 -0
- data/rakelib/lib/director/splitter_window.rb +25 -0
- data/rakelib/lib/director/static_bitmap.rb +24 -0
- data/rakelib/lib/director/static_box.rb +26 -0
- data/rakelib/lib/director/status_bar.rb +86 -0
- data/rakelib/lib/director/styled_text_ctrl.rb +82 -0
- data/rakelib/lib/director/styled_text_event.rb +25 -0
- data/rakelib/lib/director/system_options.rb +22 -0
- data/rakelib/lib/director/system_settings.rb +47 -0
- data/rakelib/lib/director/task_bar_icon.rb +77 -0
- data/rakelib/lib/director/text_attr.rb +22 -0
- data/rakelib/lib/director/text_entry.rb +26 -0
- data/rakelib/lib/director/text_validator.rb +47 -0
- data/rakelib/lib/director/textctrl.rb +80 -0
- data/rakelib/lib/director/time_picker_ctrl.rb +24 -0
- data/rakelib/lib/director/timer.rb +37 -0
- data/rakelib/lib/director/tip_provider.rb +44 -0
- data/rakelib/lib/director/toggle_button.rb +22 -0
- data/rakelib/lib/director/tool_bar.rb +62 -0
- data/rakelib/lib/director/tool_tip.rb +20 -0
- data/rakelib/lib/director/top_level_window.rb +105 -0
- data/rakelib/lib/director/tree_ctrl.rb +411 -0
- data/rakelib/lib/director/tree_event.rb +78 -0
- data/rakelib/lib/director/utils.rb +55 -0
- data/rakelib/lib/director/validator.rb +44 -0
- data/rakelib/lib/director/variant.rb +549 -0
- data/rakelib/lib/director/vlistbox.rb +46 -0
- data/rakelib/lib/director/vscrolled_window.rb +59 -0
- data/rakelib/lib/director/window.rb +296 -0
- data/rakelib/lib/director/window_disabler.rb +44 -0
- data/rakelib/lib/director/with_images.rb +65 -0
- data/rakelib/lib/director/wizard_page.rb +35 -0
- data/rakelib/lib/director/xml_node.rb +48 -0
- data/rakelib/lib/director/xml_resource.rb +141 -0
- data/rakelib/lib/director.rb +487 -0
- data/rakelib/lib/ext/enum_chain.rb +22 -0
- data/rakelib/lib/extractor/class.rb +384 -0
- data/rakelib/lib/extractor/enum.rb +94 -0
- data/rakelib/lib/extractor/function.rb +377 -0
- data/rakelib/lib/extractor/module.rb +140 -0
- data/rakelib/lib/extractor/variable.rb +145 -0
- data/rakelib/lib/extractor.rb +438 -0
- data/rakelib/lib/generate/analyzer.rb +593 -0
- data/rakelib/lib/generate/base.rb +37 -0
- data/rakelib/lib/generate/doc.rb +833 -0
- data/rakelib/lib/generate/interface.rb +742 -0
- data/rakelib/lib/generate/rakedep.rb +130 -0
- data/rakelib/lib/specs/interfaces.rb +324 -0
- data/rakelib/lib/streams.rb +206 -0
- data/rakelib/lib/swig_runner.rb +682 -0
- data/rakelib/lib/typemap/array_int_selections.rb +57 -0
- data/rakelib/lib/typemap/common.rb +613 -0
- data/rakelib/lib/typemap/data_format.rb +76 -0
- data/rakelib/lib/typemap/data_object_data.rb +99 -0
- data/rakelib/lib/typemap/datetime.rb +64 -0
- data/rakelib/lib/typemap/grid_client_data.rb +55 -0
- data/rakelib/lib/typemap/grid_coords.rb +65 -0
- data/rakelib/lib/typemap/html_cell.rb +57 -0
- data/rakelib/lib/typemap/io_streams.rb +162 -0
- data/rakelib/lib/typemap/pgcell.rb +35 -0
- data/rakelib/lib/typemap/pgeditor.rb +35 -0
- data/rakelib/lib/typemap/pgprop_arg.rb +74 -0
- data/rakelib/lib/typemap/pgproperty.rb +35 -0
- data/rakelib/lib/typemap/points_list.rb +124 -0
- data/rakelib/lib/typemap/richtext.rb +67 -0
- data/rakelib/lib/typemap/tree_itemid.rb +49 -0
- data/rakelib/lib/util/string.rb +141 -0
- data/rakelib/prepost.rake +91 -0
- data/rakelib/prepost.rb +26 -0
- data/rakelib/run.rake +49 -0
- data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +7 -0
- data/rakelib/yard/templates/default/layout/html/setup.rb +5 -0
- data/rakelib/yard/yard/relative_markdown_links/version.rb +8 -0
- data/rakelib/yard/yard/relative_markdown_links.rb +39 -0
- data/rakelib/yard/yard-custom-templates.rb +2 -0
- data/rakelib/yard/yard-relative_markdown_links.rb +4 -0
- data/samples/art/wxruby-128x128.png +0 -0
- data/samples/art/wxruby-256x256.png +0 -0
- data/samples/art/wxruby-64x64.png +0 -0
- data/samples/art/wxruby.ico +0 -0
- data/samples/art/wxruby.png +0 -0
- data/samples/aui/aui.rb +1321 -0
- data/samples/aui/tn_aui.png +0 -0
- data/samples/bigdemo/About.rbw +39 -0
- data/samples/bigdemo/ColorPanel.rbw +23 -0
- data/samples/bigdemo/GridSimple.rbw +78 -0
- data/samples/bigdemo/MDIDemo.rbw +57 -0
- data/samples/bigdemo/PopupMenu.rbw +146 -0
- data/samples/bigdemo/ShapedWindow.rbw +128 -0
- data/samples/bigdemo/Sizers.rbw +541 -0
- data/samples/bigdemo/bigdemo.rb +810 -0
- data/samples/bigdemo/demoTemplate.rbw +33 -0
- data/samples/bigdemo/helpfile.htb +0 -0
- data/samples/bigdemo/icons/Test 015.jpg +0 -0
- data/samples/bigdemo/icons/Test 015.png +0 -0
- data/samples/bigdemo/icons/choice.bmp +0 -0
- data/samples/bigdemo/icons/choice.xpm +27 -0
- data/samples/bigdemo/icons/combo.bmp +0 -0
- data/samples/bigdemo/icons/combo.xpm +27 -0
- data/samples/bigdemo/icons/copy.xpm +25 -0
- data/samples/bigdemo/icons/cut.xpm +24 -0
- data/samples/bigdemo/icons/gauge.bmp +0 -0
- data/samples/bigdemo/icons/gauge.xpm +27 -0
- data/samples/bigdemo/icons/help.xpm +25 -0
- data/samples/bigdemo/icons/list.bmp +0 -0
- data/samples/bigdemo/icons/list.xpm +27 -0
- data/samples/bigdemo/icons/mondrian.ico +0 -0
- data/samples/bigdemo/icons/mondrian.xpm +44 -0
- data/samples/bigdemo/icons/new.xpm +24 -0
- data/samples/bigdemo/icons/ogl.ico +0 -0
- data/samples/bigdemo/icons/ogl.xpm +45 -0
- data/samples/bigdemo/icons/open.xpm +26 -0
- data/samples/bigdemo/icons/paste.bmp +0 -0
- data/samples/bigdemo/icons/paste.xpm +38 -0
- data/samples/bigdemo/icons/pointy.png +0 -0
- data/samples/bigdemo/icons/preview.xpm +26 -0
- data/samples/bigdemo/icons/print.xpm +26 -0
- data/samples/bigdemo/icons/radio.bmp +0 -0
- data/samples/bigdemo/icons/radio.xpm +27 -0
- data/samples/bigdemo/icons/robert.xpm +415 -0
- data/samples/bigdemo/icons/sashtest.ico +0 -0
- data/samples/bigdemo/icons/save.xpm +25 -0
- data/samples/bigdemo/icons/smiles.bmp +0 -0
- data/samples/bigdemo/icons/smiles.xpm +39 -0
- data/samples/bigdemo/icons/smiley.ico +0 -0
- data/samples/bigdemo/icons/smiley.xpm +42 -0
- data/samples/bigdemo/icons/stattext.xpm +24 -0
- data/samples/bigdemo/icons/test2.bmp +0 -0
- data/samples/bigdemo/icons/test2.png +0 -0
- data/samples/bigdemo/icons/test2.xpm +79 -0
- data/samples/bigdemo/icons/text.bmp +0 -0
- data/samples/bigdemo/icons/text.xpm +27 -0
- data/samples/bigdemo/icons/tog1.bmp +0 -0
- data/samples/bigdemo/icons/tog1.xpm +38 -0
- data/samples/bigdemo/icons/tog2.bmp +0 -0
- data/samples/bigdemo/icons/tog2.xpm +38 -0
- data/samples/bigdemo/icons/wxruby-128x128.png +0 -0
- data/samples/bigdemo/icons/wxwin.ico +0 -0
- data/samples/bigdemo/icons/wxwin16x16.png +0 -0
- data/samples/bigdemo/icons/wxwin16x16.xpm +25 -0
- data/samples/bigdemo/icons/wxwin32x32.png +0 -0
- data/samples/bigdemo/icons/wxwin48x48.png +0 -0
- data/samples/bigdemo/run.rb +91 -0
- data/samples/bigdemo/tips.txt +7 -0
- data/samples/bigdemo/utils.rb +12 -0
- data/samples/bigdemo/wxArtProvider.rbw +281 -0
- data/samples/bigdemo/wxBitmapButton.rbw +65 -0
- data/samples/bigdemo/wxButton.rbw +64 -0
- data/samples/bigdemo/wxCalendarCtrl.rbw +59 -0
- data/samples/bigdemo/wxCheckBox.rbw +50 -0
- data/samples/bigdemo/wxCheckListBox.rbw +65 -0
- data/samples/bigdemo/wxChoice.rbw +47 -0
- data/samples/bigdemo/wxChoicebook.rbw +78 -0
- data/samples/bigdemo/wxColourDialog.rbw +33 -0
- data/samples/bigdemo/wxComboBox.rbw +77 -0
- data/samples/bigdemo/wxCursor.rbw +136 -0
- data/samples/bigdemo/wxDialog.rbw +74 -0
- data/samples/bigdemo/wxDirDialog.rbw +29 -0
- data/samples/bigdemo/wxDragImage.rbw +70 -0
- data/samples/bigdemo/wxFileDialog.rbw +37 -0
- data/samples/bigdemo/wxFileDialog_Save.rbw +35 -0
- data/samples/bigdemo/wxFindReplaceDialog.rbw +82 -0
- data/samples/bigdemo/wxFontDialog.rbw +200 -0
- data/samples/bigdemo/wxFrame.rbw +53 -0
- data/samples/bigdemo/wxGauge.rbw +65 -0
- data/samples/bigdemo/wxGenericDirCtrl.rbw +74 -0
- data/samples/bigdemo/wxGrid.rbw +66 -0
- data/samples/bigdemo/wxHtmlHelpController.rbw +52 -0
- data/samples/bigdemo/wxListBox.rbw +140 -0
- data/samples/bigdemo/wxListCtrl_virtual.rbw +112 -0
- data/samples/bigdemo/wxMDIWindows.rbw +50 -0
- data/samples/bigdemo/wxMenu.rbw +247 -0
- data/samples/bigdemo/wxMessageDialog.rbw +27 -0
- data/samples/bigdemo/wxMiniFrame.rbw +70 -0
- data/samples/bigdemo/wxMultipleChoiceDialog.rbw +29 -0
- data/samples/bigdemo/wxNotebook.rbw +136 -0
- data/samples/bigdemo/wxProgressDialog.rbw +43 -0
- data/samples/bigdemo/wxRadioBox.rbw +72 -0
- data/samples/bigdemo/wxRadioButton.rbw +125 -0
- data/samples/bigdemo/wxSashWindow.rbw +141 -0
- data/samples/bigdemo/wxScrolledMessageDialog.rbw +57 -0
- data/samples/bigdemo/wxScrolledWindow.rbw +199 -0
- data/samples/bigdemo/wxSingleChoiceDialog.rbw +33 -0
- data/samples/bigdemo/wxSlider.rbw +42 -0
- data/samples/bigdemo/wxSpinButton.rbw +50 -0
- data/samples/bigdemo/wxSpinCtrl.rbw +51 -0
- data/samples/bigdemo/wxSplitterWindow.rbw +63 -0
- data/samples/bigdemo/wxStaticBitmap.rbw +47 -0
- data/samples/bigdemo/wxStaticText.rbw +55 -0
- data/samples/bigdemo/wxStatusBar.rbw +126 -0
- data/samples/bigdemo/wxTextCtrl.rbw +149 -0
- data/samples/bigdemo/wxTextEntryDialog.rbw +31 -0
- data/samples/bigdemo/wxToggleButton.rbw +49 -0
- data/samples/bigdemo/wxToolBar.rbw +131 -0
- data/samples/bigdemo/wxTreeCtrl.rbw +191 -0
- data/samples/calendar/calendar.rb +363 -0
- data/samples/calendar/tn_calendar.png +0 -0
- data/samples/caret/caret.rb +293 -0
- data/samples/caret/mondrian.xpm +44 -0
- data/samples/caret/tn_caret.png +0 -0
- data/samples/controls/books.rb +183 -0
- data/samples/controls/choice.xpm +27 -0
- data/samples/controls/combo.xpm +27 -0
- data/samples/controls/controls.rb +1143 -0
- data/samples/controls/gauge.xpm +27 -0
- data/samples/controls/get_item_sample.rb +117 -0
- data/samples/controls/list.xpm +27 -0
- data/samples/controls/mondrian.ico +0 -0
- data/samples/controls/mondrian.xpm +44 -0
- data/samples/controls/radio.xpm +27 -0
- data/samples/controls/stattext.xpm +24 -0
- data/samples/controls/test2.bmp +0 -0
- data/samples/controls/text.xpm +27 -0
- data/samples/controls/tn_books.png +0 -0
- data/samples/controls/tn_controls.png +0 -0
- data/samples/controls/tn_get_item_sample.png +0 -0
- data/samples/dialogs/dialogs.rb +879 -0
- data/samples/dialogs/tips.txt +18 -0
- data/samples/dialogs/tn_dialogs.png +0 -0
- data/samples/dialogs/tn_wizard.png +0 -0
- data/samples/dialogs/wizard.rb +89 -0
- data/samples/dragdrop/dragdrop.rb +200 -0
- data/samples/dragdrop/tn_dragdrop.png +0 -0
- data/samples/drawing/SVGlogo24.xpm +310 -0
- data/samples/drawing/bitmap.rb +76 -0
- data/samples/drawing/bitmap_image.rb +131 -0
- data/samples/drawing/graphics_drawing.rb +257 -0
- data/samples/drawing/maths_images.rb +327 -0
- data/samples/drawing/rmagic_bitmap_image.rb +139 -0
- data/samples/drawing/ruby-logo.jpg +0 -0
- data/samples/drawing/svgtest.rb +373 -0
- data/samples/drawing/tn_bitmap.png +0 -0
- data/samples/drawing/tn_bitmap_image.png +0 -0
- data/samples/drawing/tn_graphics_drawing.png +0 -0
- data/samples/drawing/tn_maths_images.png +0 -0
- data/samples/drawing/tn_rmagic_bitmap_image.png +0 -0
- data/samples/drawing/tn_svgtest.png +0 -0
- data/samples/etc/choice.rb +82 -0
- data/samples/etc/miniframe.rb +92 -0
- data/samples/etc/sash.rb +140 -0
- data/samples/etc/scrollwin.rb +120 -0
- data/samples/etc/system_settings.rb +263 -0
- data/samples/etc/tn_choice.png +0 -0
- data/samples/etc/tn_miniframe.png +0 -0
- data/samples/etc/tn_sash.png +0 -0
- data/samples/etc/tn_scrollwin.png +0 -0
- data/samples/etc/tn_system_settings.png +0 -0
- data/samples/event/activation.rb +129 -0
- data/samples/event/event.rb +220 -0
- data/samples/event/threaded.rb +141 -0
- data/samples/event/tn_activation.png +0 -0
- data/samples/event/tn_event.png +0 -0
- data/samples/event/tn_threaded.png +0 -0
- data/samples/event/tn_update_ui_event.png +0 -0
- data/samples/event/update_ui_event.rb +91 -0
- data/samples/grid/grid.rb +224 -0
- data/samples/grid/gridtablebase.rb +178 -0
- data/samples/grid/tn_grid.png +0 -0
- data/samples/grid/tn_gridtablebase.png +0 -0
- data/samples/html/8859_2.htm +14 -0
- data/samples/html/cp1250.htm +19 -0
- data/samples/html/foo.png +0 -0
- data/samples/html/html.rb +278 -0
- data/samples/html/i18n.gif +0 -0
- data/samples/html/imagemap.htm +20 -0
- data/samples/html/imagemap.png +0 -0
- data/samples/html/listtest.htm +28 -0
- data/samples/html/pic.png +0 -0
- data/samples/html/pic2.bmp +0 -0
- data/samples/html/regres.htm +20 -0
- data/samples/html/subsup.html +42 -0
- data/samples/html/tables.htm +255 -0
- data/samples/html/test.htm +375 -0
- data/samples/html/tn_html.png +0 -0
- data/samples/mdi/mdi.rb +118 -0
- data/samples/mdi/tn_mdi.png +0 -0
- data/samples/minimal/minimal.rb +95 -0
- data/samples/minimal/mondrian.ico +0 -0
- data/samples/minimal/mondrian.png +0 -0
- data/samples/minimal/nothing.rb +38 -0
- data/samples/minimal/tn_minimal.png +0 -0
- data/samples/minimal/tn_nothing.png +0 -0
- data/samples/printing/mondrian.ico +0 -0
- data/samples/printing/mondrian.xpm +44 -0
- data/samples/printing/printing.rb +499 -0
- data/samples/printing/printing2.rb +251 -0
- data/samples/printing/sample-text.txt +213 -0
- data/samples/printing/tn_printing.png +0 -0
- data/samples/printing/tn_printing2.png +0 -0
- data/samples/propgrid/propgrid.rb +2711 -0
- data/samples/propgrid/propgrid_minimal.rb +107 -0
- data/samples/propgrid/sample_props.rb +434 -0
- data/samples/propgrid/tn_propgrid.png +0 -0
- data/samples/propgrid/tn_propgrid_minimal.png +0 -0
- data/samples/ribbon/align_center.xpm +21 -0
- data/samples/ribbon/align_left.xpm +21 -0
- data/samples/ribbon/align_right.xpm +21 -0
- data/samples/ribbon/aui_style.xpm +53 -0
- data/samples/ribbon/auto_crop_selection.xpm +55 -0
- data/samples/ribbon/auto_crop_selection_small.xpm +33 -0
- data/samples/ribbon/circle.xpm +38 -0
- data/samples/ribbon/circle_small.xpm +22 -0
- data/samples/ribbon/colours.xpm +25 -0
- data/samples/ribbon/cross.xpm +38 -0
- data/samples/ribbon/empty.xpm +23 -0
- data/samples/ribbon/expand_selection_h.xpm +46 -0
- data/samples/ribbon/expand_selection_v.xpm +46 -0
- data/samples/ribbon/eye.xpm +26 -0
- data/samples/ribbon/hexagon.xpm +38 -0
- data/samples/ribbon/msw_style.xpm +65 -0
- data/samples/ribbon/position_left.xpm +22 -0
- data/samples/ribbon/position_top.xpm +22 -0
- data/samples/ribbon/ribbon.rb +900 -0
- data/samples/ribbon/ribbon.xpm +54 -0
- data/samples/ribbon/selection_panel.xpm +23 -0
- data/samples/ribbon/square.xpm +38 -0
- data/samples/ribbon/tn_ribbon.png +0 -0
- data/samples/ribbon/triangle.xpm +38 -0
- data/samples/sample.xpm +475 -0
- data/samples/sampler/back.xpm +21 -0
- data/samples/sampler/copy.xpm +44 -0
- data/samples/sampler/cut.xpm +46 -0
- data/samples/sampler/editor.rb +560 -0
- data/samples/sampler/ext.rb +51 -0
- data/samples/sampler/filesave.xpm +42 -0
- data/samples/sampler/find.xpm +62 -0
- data/samples/sampler/findrepl.xpm +63 -0
- data/samples/sampler/forward.xpm +21 -0
- data/samples/sampler/paste.xpm +46 -0
- data/samples/sampler/play.xpm +24 -0
- data/samples/sampler/redo.xpm +58 -0
- data/samples/sampler/sample.rb +347 -0
- data/samples/sampler/stc_editor.rb +321 -0
- data/samples/sampler/txt_editor.rb +130 -0
- data/samples/sampler/undo.xpm +58 -0
- data/samples/sampler.rb +394 -0
- data/samples/splash/mobile.xpm +1835 -0
- data/samples/splash/splash.png +0 -0
- data/samples/splash/splash.rb +164 -0
- data/samples/splash/tn_splash.png +0 -0
- data/samples/text/document-open.png +0 -0
- data/samples/text/document-save.png +0 -0
- data/samples/text/edit-copy.png +0 -0
- data/samples/text/edit-cut.png +0 -0
- data/samples/text/edit-paste.png +0 -0
- data/samples/text/edit-redo.png +0 -0
- data/samples/text/edit-undo.png +0 -0
- data/samples/text/format-text-bold.png +0 -0
- data/samples/text/format-text-italic.png +0 -0
- data/samples/text/format-text-underline.png +0 -0
- data/samples/text/mondrian.ico +0 -0
- data/samples/text/mondrian.xpm +44 -0
- data/samples/text/preferences-desktop-font.png +0 -0
- data/samples/text/rich_textctrl.rb +326 -0
- data/samples/text/scintilla.rb +179 -0
- data/samples/text/textctrl.rb +124 -0
- data/samples/text/tn_rich_textctrl.png +0 -0
- data/samples/text/tn_scintilla.png +0 -0
- data/samples/text/tn_textctrl.png +0 -0
- data/samples/text/tn_unicode.png +0 -0
- data/samples/text/unicode.rb +238 -0
- data/samples/text/utf8.txt +15 -0
- data/samples/treectrl/checked.xpm +54 -0
- data/samples/treectrl/icon1.xpm +79 -0
- data/samples/treectrl/icon2.xpm +53 -0
- data/samples/treectrl/icon3.xpm +79 -0
- data/samples/treectrl/icon4.xpm +43 -0
- data/samples/treectrl/icon5.xpm +79 -0
- data/samples/treectrl/state1.xpm +145 -0
- data/samples/treectrl/state2.xpm +144 -0
- data/samples/treectrl/state3.xpm +142 -0
- data/samples/treectrl/state4.xpm +145 -0
- data/samples/treectrl/state5.xpm +85 -0
- data/samples/treectrl/tn_treectrl.png +0 -0
- data/samples/treectrl/treectrl.rb +1720 -0
- data/samples/treectrl/unchecked.xpm +30 -0
- data/samples/xrc/custom_dialog.xrc +46 -0
- data/samples/xrc/custom_xrc_sample.rb +84 -0
- data/samples/xrc/samples.xrc +46 -0
- data/samples/xrc/tn_xrc_sample.png +0 -0
- data/samples/xrc/xrc_sample.rb +86 -0
- data/tests/test_basic.rb +20 -0
- data/tests/test_clipboard.rb +241 -0
- data/tests/test_dialog.rb +28 -0
- data/tests/test_event_handling.rb +103 -0
- data/tests/test_events.rb +45 -0
- data/tests/test_geometry.rb +141 -0
- data/tests/test_intl.rb +107 -0
- data/tests/test_item_data.rb +120 -0
- data/tests/test_variant.rb +151 -0
- data/tests/testapp.rb +40 -0
- data/tests/testapp_noframe.rb +28 -0
- metadata +874 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './event_handler'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class AuiManager < EvtHandler
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.gc_as_object
|
|
17
|
+
# need a custom implementation to handle (event handler proc) cleanup
|
|
18
|
+
spec.add_header_code <<~__HEREDOC
|
|
19
|
+
#include "wx/aui/aui.h"
|
|
20
|
+
|
|
21
|
+
WXRUBY_EXPORT void GC_SetWindowDeleted(void *ptr);
|
|
22
|
+
|
|
23
|
+
class WXRubyAuiManager : public wxAuiManager
|
|
24
|
+
{
|
|
25
|
+
public:
|
|
26
|
+
WXRubyAuiManager(wxWindow *managed_wnd=NULL, unsigned int flags=wxAUI_MGR_DEFAULT)
|
|
27
|
+
: wxAuiManager(managed_wnd, flags) {}
|
|
28
|
+
virtual ~WXRubyAuiManager()
|
|
29
|
+
{
|
|
30
|
+
wxRuby_ReleaseEvtHandlerProcs(this);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
void OnManagedWindowClose(wxCloseEvent& event)
|
|
34
|
+
{
|
|
35
|
+
UnInit();
|
|
36
|
+
for ( size_t i = 0; i < m_panes.size(); i++ )
|
|
37
|
+
{
|
|
38
|
+
wxAuiPaneInfo& pinfo = m_panes[i];
|
|
39
|
+
if (pinfo.window)
|
|
40
|
+
{
|
|
41
|
+
GC_SetWindowDeleted(pinfo.window);
|
|
42
|
+
delete pinfo.window;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
m_panes.Clear();
|
|
46
|
+
m_docks.Clear();
|
|
47
|
+
m_uiParts.Clear();
|
|
48
|
+
delete m_art;
|
|
49
|
+
m_action = actionNone;
|
|
50
|
+
m_actionWindow = NULL;
|
|
51
|
+
m_hoverButton = NULL;
|
|
52
|
+
m_art = new wxAuiDefaultDockArt;
|
|
53
|
+
m_hintWnd = NULL;
|
|
54
|
+
m_flags = wxAUI_MGR_DEFAULT;
|
|
55
|
+
m_hasMaximized = false;
|
|
56
|
+
m_dockConstraintX = 0.3;
|
|
57
|
+
m_dockConstraintY = 0.3;
|
|
58
|
+
m_reserved = NULL;
|
|
59
|
+
m_currentDragItem = -1;
|
|
60
|
+
event.Skip();
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
__HEREDOC
|
|
64
|
+
spec.use_class_implementation 'wxAuiManager', 'WXRubyAuiManager'
|
|
65
|
+
spec.map_apply('SWIGTYPE *DISOWN' => 'wxAuiDockArt* art_provider')
|
|
66
|
+
# Any set AuiDockArt ruby object must be protected from GC once set,
|
|
67
|
+
# even if it is no longer referenced anywhere else.
|
|
68
|
+
spec.add_header_code <<~__HEREDOC
|
|
69
|
+
static void GC_mark_wxAuiManager(void *ptr)
|
|
70
|
+
{
|
|
71
|
+
wxAuiManager* mgr = (wxAuiManager*)ptr;
|
|
72
|
+
wxAuiDockArt* art_prov = mgr->GetArtProvider();
|
|
73
|
+
VALUE rb_art_prov = SWIG_RubyInstanceFor( (void *)art_prov );
|
|
74
|
+
rb_gc_mark( rb_art_prov );
|
|
75
|
+
}
|
|
76
|
+
__HEREDOC
|
|
77
|
+
spec.add_swig_code '%markfunc wxAuiManager "GC_mark_wxAuiManager";'
|
|
78
|
+
# provide pure Ruby implementation based on use custom alternative provided below
|
|
79
|
+
spec.ignore('wxAuiManager::GetAllPanes')
|
|
80
|
+
spec.ignore('wxAuiManager::SetManagedWindow', ignore_doc: false)
|
|
81
|
+
spec.add_extend_code 'wxAuiManager', <<~__HEREDOC
|
|
82
|
+
VALUE each_pane()
|
|
83
|
+
{
|
|
84
|
+
wxAuiPaneInfoArray panes = self->GetAllPanes();
|
|
85
|
+
VALUE rc = Qnil;
|
|
86
|
+
for (size_t i = 0; i < panes.GetCount(); i++)
|
|
87
|
+
{
|
|
88
|
+
wxAuiPaneInfo &pi_ref = self->GetPane( panes.Item(i).name );
|
|
89
|
+
wxAuiPaneInfo *pi = (wxAuiPaneInfo*)&pi_ref;
|
|
90
|
+
VALUE r_pi = SWIG_NewPointerObj(pi, SWIGTYPE_p_wxAuiPaneInfo, 0);
|
|
91
|
+
rc = rb_yield(r_pi);
|
|
92
|
+
}
|
|
93
|
+
return rc;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// in wxRuby AuiManager-s do not get automatically destructed when the managed window does
|
|
97
|
+
// (like in C++ when declared as a window class member) which poses problems in
|
|
98
|
+
// cleanup of the panes and such so bind an event handler to the close event of the
|
|
99
|
+
// managed window which cleans up the AuiManager
|
|
100
|
+
void SetManagedWindow(wxWindow* managedWnd)
|
|
101
|
+
{
|
|
102
|
+
self->SetManagedWindow(managedWnd);
|
|
103
|
+
WXRubyAuiManager* aui_mng = dynamic_cast<WXRubyAuiManager*> (self);
|
|
104
|
+
managedWnd->Bind(wxEVT_CLOSE_WINDOW, &WXRubyAuiManager::OnManagedWindowClose, aui_mng);
|
|
105
|
+
}
|
|
106
|
+
__HEREDOC
|
|
107
|
+
spec.suppress_warning(473, 'wxAuiManager::CreateFloatingFrame')
|
|
108
|
+
spec.do_not_generate(:variables, :defines, :enums, :functions) # with AuiPaneInfo
|
|
109
|
+
end
|
|
110
|
+
end # class AuiManager
|
|
111
|
+
|
|
112
|
+
end # class Director
|
|
113
|
+
|
|
114
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './event'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class AuiManagerEvent < Event
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.do_not_generate(:variables, :defines, :enums, :functions) # in AuiPaneInfo
|
|
17
|
+
end
|
|
18
|
+
end # class AuiManagerEvent
|
|
19
|
+
|
|
20
|
+
end # class Director
|
|
21
|
+
|
|
22
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './window'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class AuiMDIChildFrame < Window
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.no_proxy 'wxAuiMDIChildFrame::Layout'
|
|
17
|
+
# incorrectly documented non-existent virtual method
|
|
18
|
+
# (does exist as non-virtual method in TopLevelWindow with return by value)
|
|
19
|
+
spec.ignore 'wxAuiMDIChildFrame::GetIcon'
|
|
20
|
+
# prevent a lot of unnecessary proxies
|
|
21
|
+
spec.no_proxy %w[
|
|
22
|
+
wxAuiMDIChildFrame::Activate
|
|
23
|
+
wxAuiMDIChildFrame::SetTitle
|
|
24
|
+
wxAuiMDIChildFrame::GetTitle
|
|
25
|
+
wxAuiMDIChildFrame::SetIcons
|
|
26
|
+
wxAuiMDIChildFrame::GetIcons
|
|
27
|
+
wxAuiMDIChildFrame::SetIcon
|
|
28
|
+
wxAuiMDIChildFrame::SetMenuBar
|
|
29
|
+
wxAuiMDIChildFrame::GetMenuBar
|
|
30
|
+
wxAuiMDIChildFrame::GetStatusBar
|
|
31
|
+
wxAuiMDIChildFrame::GetToolBar
|
|
32
|
+
wxAuiMDIChildFrame::Maximize
|
|
33
|
+
wxAuiMDIChildFrame::Restore
|
|
34
|
+
wxAuiMDIChildFrame::Iconize
|
|
35
|
+
wxAuiMDIChildFrame::IsMaximized
|
|
36
|
+
wxAuiMDIChildFrame::IsIconized
|
|
37
|
+
wxAuiMDIChildFrame::ShowFullScreen
|
|
38
|
+
wxAuiMDIChildFrame::IsFullScreen
|
|
39
|
+
]
|
|
40
|
+
# just rely on the Window implementation
|
|
41
|
+
spec.ignore 'wxAuiMDIChildFrame::IsTopLevel'
|
|
42
|
+
spec.suppress_warning(473,
|
|
43
|
+
'wxAuiMDIChildFrame::CreateStatusBar',
|
|
44
|
+
'wxAuiMDIChildFrame::CreateToolBar')
|
|
45
|
+
end
|
|
46
|
+
end # class AuiMDIChildFrame
|
|
47
|
+
|
|
48
|
+
end # class Director
|
|
49
|
+
|
|
50
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './aui_notebook'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class AuiMDIClientWindow < AuiNotebook
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.suppress_warning(473, 'wxAuiMDIClientWindow::GetActiveChild')
|
|
17
|
+
spec.do_not_generate(:variables, :defines, :enums, :functions)
|
|
18
|
+
end
|
|
19
|
+
end # class AuiMDIClientWindow
|
|
20
|
+
|
|
21
|
+
end # class Director
|
|
22
|
+
|
|
23
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './frame'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class AuiMDIParentFrame < Frame
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.no_proxy %w[
|
|
17
|
+
wxAuiMDIParentFrame::Tile
|
|
18
|
+
wxAuiMDIParentFrame::Cascade
|
|
19
|
+
wxAuiMDIParentFrame::ArrangeIcons]
|
|
20
|
+
spec.suppress_warning(473, 'wxAuiMDIParentFrame::OnCreateClient')
|
|
21
|
+
end
|
|
22
|
+
end # class AuiParentMDIFrame
|
|
23
|
+
|
|
24
|
+
end # class Director
|
|
25
|
+
|
|
26
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './book_ctrls'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class AuiNotebook < BookCtrls
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.override_inheritance_chain(spec.module_name, %w[wxBookCtrlBase wxControl wxWindow wxEvtHandler wxObject])
|
|
17
|
+
if spec.module_name == 'wxAuiNotebook'
|
|
18
|
+
# reset type mapping done in BookCtrls as the non-const arg is used for query-ing here (FindTab)
|
|
19
|
+
# (wxWidgets should have made this a const arg)
|
|
20
|
+
spec.map_apply 'SWIGTYPE *' => 'wxWindow* page'
|
|
21
|
+
spec.do_not_generate(:variables, :defines, :enums, :functions) # with AuiNotebookEvent
|
|
22
|
+
# Any set AuiTabArt ruby object must be protected from GC once set,
|
|
23
|
+
# even if it is no longer referenced anywhere else.
|
|
24
|
+
spec.add_header_code <<~__HEREDOC
|
|
25
|
+
extern void GC_mark_wxAuiNotebook(void *ptr)
|
|
26
|
+
{
|
|
27
|
+
if ( GC_IsWindowDeleted(ptr) )
|
|
28
|
+
{
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
// Do standard marking routines as for all wxWindows
|
|
32
|
+
GC_mark_wxWindow(ptr);
|
|
33
|
+
|
|
34
|
+
wxAuiNotebook* nbk = (wxAuiNotebook*)ptr;
|
|
35
|
+
wxAuiTabArt* art_prov = nbk->GetArtProvider();
|
|
36
|
+
VALUE rb_art_prov = SWIG_RubyInstanceFor( (void *)art_prov );
|
|
37
|
+
rb_gc_mark( rb_art_prov );
|
|
38
|
+
}
|
|
39
|
+
__HEREDOC
|
|
40
|
+
# add some convenience methods
|
|
41
|
+
spec.add_extend_code 'wxAuiNotebook', <<~__HEREDOC
|
|
42
|
+
void use_default_art()
|
|
43
|
+
{ $self->SetArtProvider(new wxAuiDefaultTabArt); }
|
|
44
|
+
|
|
45
|
+
void use_simple_art()
|
|
46
|
+
{ $self->SetArtProvider(new wxAuiSimpleTabArt); }
|
|
47
|
+
__HEREDOC
|
|
48
|
+
# replace FindTab (easier than type mapping)
|
|
49
|
+
spec.ignore('wxAuiNotebook::FindTab')
|
|
50
|
+
spec.add_extend_code 'wxAuiNotebook', <<~__HEREDOC
|
|
51
|
+
VALUE FindTab(wxWindow *page)
|
|
52
|
+
{
|
|
53
|
+
wxAuiTabCtrl *ctrl = 0;
|
|
54
|
+
int idx = -1;
|
|
55
|
+
VALUE rc = Qnil;
|
|
56
|
+
if ($self->FindTab(page, &ctrl, &idx))
|
|
57
|
+
{
|
|
58
|
+
rc = rb_ary_new();
|
|
59
|
+
rb_ary_push(rc, SWIG_NewPointerObj(SWIG_as_voidptr(ctrl), SWIGTYPE_p_wxAuiTabCtrl, 0));
|
|
60
|
+
rb_ary_push(rc, INT2NUM(idx));
|
|
61
|
+
}
|
|
62
|
+
return rc;
|
|
63
|
+
}
|
|
64
|
+
__HEREDOC
|
|
65
|
+
else
|
|
66
|
+
spec.add_header_code <<~__HEREDOC
|
|
67
|
+
// implemented in AuiNotebook.cpp
|
|
68
|
+
extern void GC_mark_wxAuiNotebook(void *ptr);
|
|
69
|
+
__HEREDOC
|
|
70
|
+
end
|
|
71
|
+
spec.add_swig_code '%markfunc wxAuiNotebook "GC_mark_wxAuiNotebook";'
|
|
72
|
+
end
|
|
73
|
+
end # class AuiNotebook
|
|
74
|
+
|
|
75
|
+
end # class Director
|
|
76
|
+
|
|
77
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './event'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class AuiNotebookEvent < Event
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.override_inheritance_chain('wxAuiNotebookEvent',
|
|
17
|
+
'wxBookCtrlEvent', {'wxNotifyEvent' => 'wxEvents'}, {'wxCommandEvent' => 'wxEvent'}, 'wxEvent', 'wxObject')
|
|
18
|
+
end
|
|
19
|
+
end # class AuiNotebookEvent
|
|
20
|
+
|
|
21
|
+
end # class Director
|
|
22
|
+
|
|
23
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
module WXRuby3
|
|
7
|
+
|
|
8
|
+
class Director
|
|
9
|
+
|
|
10
|
+
class AuiPaneInfo < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
spec.disable_proxies
|
|
14
|
+
spec.gc_as_temporary
|
|
15
|
+
spec.regard %w[
|
|
16
|
+
wxAuiPaneInfo::name
|
|
17
|
+
wxAuiPaneInfo::caption
|
|
18
|
+
wxAuiPaneInfo::icon
|
|
19
|
+
wxAuiPaneInfo::window
|
|
20
|
+
wxAuiPaneInfo::frame
|
|
21
|
+
wxAuiPaneInfo::state
|
|
22
|
+
wxAuiPaneInfo::dock_direction
|
|
23
|
+
wxAuiPaneInfo::dock_layer
|
|
24
|
+
wxAuiPaneInfo::dock_row
|
|
25
|
+
wxAuiPaneInfo::dock_pos
|
|
26
|
+
wxAuiPaneInfo::best_size
|
|
27
|
+
wxAuiPaneInfo::min_size
|
|
28
|
+
wxAuiPaneInfo::max_size
|
|
29
|
+
wxAuiPaneInfo::floating_pos
|
|
30
|
+
wxAuiPaneInfo::floating_size
|
|
31
|
+
wxAuiPaneInfo::dock_proportion
|
|
32
|
+
wxAuiPaneInfo::rect
|
|
33
|
+
]
|
|
34
|
+
spec.make_readonly %w[
|
|
35
|
+
wxAuiPaneInfo::name
|
|
36
|
+
wxAuiPaneInfo::caption
|
|
37
|
+
wxAuiPaneInfo::rect
|
|
38
|
+
wxAuiPaneInfo::icon
|
|
39
|
+
wxAuiPaneInfo::window
|
|
40
|
+
wxAuiPaneInfo::frame
|
|
41
|
+
wxAuiPaneInfo::state
|
|
42
|
+
wxAuiPaneInfo::dock_direction
|
|
43
|
+
wxAuiPaneInfo::dock_layer
|
|
44
|
+
wxAuiPaneInfo::dock_row
|
|
45
|
+
wxAuiPaneInfo::dock_pos
|
|
46
|
+
wxAuiPaneInfo::best_size
|
|
47
|
+
wxAuiPaneInfo::min_size
|
|
48
|
+
wxAuiPaneInfo::max_size
|
|
49
|
+
wxAuiPaneInfo::floating_pos
|
|
50
|
+
wxAuiPaneInfo::floating_size
|
|
51
|
+
]
|
|
52
|
+
spec.ignore 'wxAuiPaneInfo::BestSize(int,int)',
|
|
53
|
+
'wxAuiPaneInfo::MinSize(int,int)',
|
|
54
|
+
'wxAuiPaneInfo::MaxSize(int,int)',
|
|
55
|
+
'wxAuiPaneInfo::FloatingPosition(int,int)',
|
|
56
|
+
'wxAuiPaneInfo::FloatingSize(int,int)'
|
|
57
|
+
spec.rename_for_ruby(
|
|
58
|
+
'direction' => 'wxAuiPaneInfo::dock_direction',
|
|
59
|
+
'set_direction' => 'wxAuiPaneInfo::Direction',
|
|
60
|
+
'layer' => 'wxAuiPaneInfo::dock_layer',
|
|
61
|
+
'set_layer' => 'wxAuiPaneInfo::Layer',
|
|
62
|
+
'row' => 'wxAuiPaneInfo::dock_row',
|
|
63
|
+
'set_row' => 'wxAuiPaneInfo::Row',
|
|
64
|
+
'position' => 'wxAuiPaneInfo::dock_pos',
|
|
65
|
+
'set_position' => 'wxAuiPaneInfo::Position',
|
|
66
|
+
'floating_position' => 'wxAuiPaneInfo::floating_pos',
|
|
67
|
+
'proportion' => 'wxAuiPaneInfo::dock_proportion',
|
|
68
|
+
'set_name' => 'wxAuiPaneInfo::Name',
|
|
69
|
+
'set_caption' => 'wxAuiPaneInfo::Caption',
|
|
70
|
+
'set_floatable' => 'wxAuiPaneInfo::Floatable',
|
|
71
|
+
'set_bottom_dockable' => 'wxAuiPaneInfo::BottomDockable',
|
|
72
|
+
'set_caption_visible' => 'wxAuiPaneInfo::CaptionVisible',
|
|
73
|
+
'set_close_button' => 'wxAuiPaneInfo::CloseButton',
|
|
74
|
+
'set_destroy_on_close' => 'wxAuiPaneInfo::DestroyOnClose',
|
|
75
|
+
'set_dock_fixed' => 'wxAuiPaneInfo::DockFixed',
|
|
76
|
+
'set_minimize_button' => 'wxAuiPaneInfo::MinimizeButton',
|
|
77
|
+
'set_maximize_button' => 'wxAuiPaneInfo::MaximizeButton',
|
|
78
|
+
'set_dockable' => 'wxAuiPaneInfo::Dockable',
|
|
79
|
+
'set_left_dockable' => 'wxAuiPaneInfo::LeftDockable',
|
|
80
|
+
'set_gripper_top' => 'wxAuiPaneInfo::GripperTop',
|
|
81
|
+
'set_gripper' => 'wxAuiPaneInfo::Gripper',
|
|
82
|
+
'set_movable' => 'wxAuiPaneInfo::Movable',
|
|
83
|
+
'set_pane_border' => 'wxAuiPaneInfo::PaneBorder',
|
|
84
|
+
'set_pin_button' => 'wxAuiPaneInfo::PinButton',
|
|
85
|
+
'set_resizable' => 'wxAuiPaneInfo::Resizable',
|
|
86
|
+
'set_right_dockable' => 'wxAuiPaneInfo::RightDockable',
|
|
87
|
+
'set_top_dockable' => 'wxAuiPaneInfo::TopDockable',
|
|
88
|
+
'set_window'=> 'wxAuiPaneInfo::Window',
|
|
89
|
+
'set_icon' => 'wxAuiPaneInfo::Icon',
|
|
90
|
+
'set_best_size' => 'wxAuiPaneInfo::BestSize',
|
|
91
|
+
'set_min_size' => 'wxAuiPaneInfo::MinSize',
|
|
92
|
+
'set_max_size' => 'wxAuiPaneInfo::MaxSize',
|
|
93
|
+
'set_floating_position' => 'wxAuiPaneInfo::FloatingPosition',
|
|
94
|
+
'set_floating_size' => 'wxAuiPaneInfo::FloatingSize'
|
|
95
|
+
)
|
|
96
|
+
super
|
|
97
|
+
end
|
|
98
|
+
end # class AuiPaneInfo
|
|
99
|
+
|
|
100
|
+
end # class Director
|
|
101
|
+
|
|
102
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
module WXRuby3
|
|
7
|
+
|
|
8
|
+
class Director
|
|
9
|
+
|
|
10
|
+
class AuiTabArt < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.items << 'wxAuiDefaultTabArt' << 'wxAuiSimpleTabArt'
|
|
15
|
+
spec.gc_as_object
|
|
16
|
+
# missing from interface documentation
|
|
17
|
+
spec.extend_interface('wxAuiTabArt',
|
|
18
|
+
'virtual ~wxAuiTabArt ()',
|
|
19
|
+
'virtual void DrawBorder(wxDC& dc,wxWindow* wnd,const wxRect& rect) = 0',
|
|
20
|
+
'virtual int ShowDropDown(wxWindow* wnd,const wxAuiNotebookPageArray& items,int activeIdx) = 0',
|
|
21
|
+
'virtual int GetBorderWidth(wxWindow* wnd) = 0',
|
|
22
|
+
'virtual int GetAdditionalBorderSpace(wxWindow* wnd) = 0')
|
|
23
|
+
# ignore documented method (not it's docs)
|
|
24
|
+
spec.ignore 'wxAuiTabArt::DrawTab', ignore_doc: false
|
|
25
|
+
# and re-add with consistently named argument
|
|
26
|
+
spec.extend_interface 'wxAuiTabArt',
|
|
27
|
+
'virtual void DrawTab(wxDC &dc, wxWindow *wnd, wxAuiNotebookPage const &page, wxRect const &rect, int close_button_state, wxRect *out_tab_rect, wxRect *out_button_rect, int *xExtent) = 0'
|
|
28
|
+
# for DrawTab (cannot simply apply 'int *OUTPUT' as that does not work well with a void method)
|
|
29
|
+
spec.map 'int *xExtent' => 'Integer' do
|
|
30
|
+
map_in ignore: true, temp: 'int tmp', code: '$1 = &tmp;'
|
|
31
|
+
map_argout code: '$result = INT2NUM(tmp$argnum);'
|
|
32
|
+
map_directorargout code: 'if (!NIL_P(result)) *xExtent = NUM2INT(result);'
|
|
33
|
+
end
|
|
34
|
+
# for GetTabSize
|
|
35
|
+
spec.map_apply('int * OUTPUT' => 'int *x_extent')
|
|
36
|
+
|
|
37
|
+
spec.suppress_warning(473,
|
|
38
|
+
'wxAuiTabArt::Clone',
|
|
39
|
+
'wxAuiDefaultTabArt::Clone',
|
|
40
|
+
'wxAuiSimpleTabArt::Clone')
|
|
41
|
+
spec.do_not_generate(:variables, :defines, :enums, :functions)
|
|
42
|
+
end
|
|
43
|
+
end # class AuiTabArt
|
|
44
|
+
|
|
45
|
+
end # class Director
|
|
46
|
+
|
|
47
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './window'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class AuiTabCtrl < Window
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
# first let Director::Window do it's stuff
|
|
16
|
+
super
|
|
17
|
+
# now replace items because wxAuiTabCtrl is actually not documented (!!!)
|
|
18
|
+
spec.items.replace %w[wxAuiTabContainerButton]
|
|
19
|
+
spec.gc_as_temporary 'wxAuiTabContainerButton'
|
|
20
|
+
spec.no_proxy %w[wxAuiTabCtrl wxAuiTabContainerButton]
|
|
21
|
+
spec.swig_import %w[swig/classes/include/wxObject.h swig/classes/include/wxEvtHandler.h swig/classes/include/wxWindow.h swig/classes/include/wxControl.h]
|
|
22
|
+
# cannot use #add_extend_code because we do not have an actual parsed XML item
|
|
23
|
+
spec.add_swig_code <<~__CODE
|
|
24
|
+
GC_MANAGE_AS_WINDOW(wxAuiTabCtrl);
|
|
25
|
+
|
|
26
|
+
%extend wxAuiTabCtrl {
|
|
27
|
+
VALUE TabHitTest(int x, int y)
|
|
28
|
+
{
|
|
29
|
+
wxWindow* hit = 0;
|
|
30
|
+
if (self->TabHitTest(x, y, &hit))
|
|
31
|
+
{
|
|
32
|
+
return wxRuby_WrapWxObjectInRuby(hit);
|
|
33
|
+
}
|
|
34
|
+
else
|
|
35
|
+
{
|
|
36
|
+
return Qnil;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
VALUE ButtonHitTest(int x, int y)
|
|
40
|
+
{
|
|
41
|
+
wxAuiTabContainerButton* hit = 0;
|
|
42
|
+
if (self->ButtonHitTest(x, y, &hit))
|
|
43
|
+
{
|
|
44
|
+
wxAuiTabContainerButton* rc_hit = new wxAuiTabContainerButton(*hit);
|
|
45
|
+
// return owned copy
|
|
46
|
+
return SWIG_NewPointerObj(SWIG_as_voidptr(rc_hit), SWIGTYPE_p_wxAuiTabContainerButton, 1);
|
|
47
|
+
}
|
|
48
|
+
else
|
|
49
|
+
{
|
|
50
|
+
return Qnil;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
__CODE
|
|
55
|
+
# add the missing interface spec (with the wxAuiTabContainer interface folded in minus replaced/shadowed methods)
|
|
56
|
+
# also add wxAuiTabContainerButton manually here
|
|
57
|
+
spec.add_interface_code <<~__HEREDOC
|
|
58
|
+
class wxAuiTabContainerButton
|
|
59
|
+
{
|
|
60
|
+
public:
|
|
61
|
+
int id;
|
|
62
|
+
int curState;
|
|
63
|
+
int location;
|
|
64
|
+
wxBitmapBundle bitmap;
|
|
65
|
+
wxBitmapBundle disBitmap;
|
|
66
|
+
wxRect rect;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
class wxAuiTabCtrl : public wxControl
|
|
70
|
+
{
|
|
71
|
+
public:
|
|
72
|
+
wxAuiTabCtrl(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0);
|
|
73
|
+
~wxAuiTabCtrl();
|
|
74
|
+
|
|
75
|
+
bool IsDragging() const;
|
|
76
|
+
void SetRect(const wxRect& rect);
|
|
77
|
+
|
|
78
|
+
void SetArtProvider(wxAuiTabArt* art);
|
|
79
|
+
wxAuiTabArt* GetArtProvider() const;
|
|
80
|
+
|
|
81
|
+
void SetFlags(unsigned int flags);
|
|
82
|
+
unsigned int GetFlags() const;
|
|
83
|
+
|
|
84
|
+
bool AddPage(wxWindow* page, const wxAuiNotebookPage& info);
|
|
85
|
+
bool InsertPage(wxWindow* page, const wxAuiNotebookPage& info, size_t idx);
|
|
86
|
+
bool MovePage(wxWindow* page, size_t newIdx);
|
|
87
|
+
bool RemovePage(wxWindow* page);
|
|
88
|
+
bool SetActivePage(wxWindow* page);
|
|
89
|
+
bool SetActivePage(size_t page);
|
|
90
|
+
void SetNoneActive();
|
|
91
|
+
int GetActivePage() const;
|
|
92
|
+
wxWindow* GetWindowFromIdx(size_t idx) const;
|
|
93
|
+
int GetIdxFromWindow(const wxWindow* page) const;
|
|
94
|
+
size_t GetPageCount() const;
|
|
95
|
+
wxAuiNotebookPage& GetPage(size_t idx);
|
|
96
|
+
const wxAuiNotebookPage& GetPage(size_t idx) const;
|
|
97
|
+
wxAuiNotebookPageArray& GetPages();
|
|
98
|
+
void SetNormalFont(const wxFont& normalFont);
|
|
99
|
+
void SetSelectedFont(const wxFont& selectedFont);
|
|
100
|
+
void SetMeasuringFont(const wxFont& measuringFont);
|
|
101
|
+
void SetColour(const wxColour& colour);
|
|
102
|
+
void SetActiveColour(const wxColour& colour);
|
|
103
|
+
void DoShowHide();
|
|
104
|
+
|
|
105
|
+
void RemoveButton(int id);
|
|
106
|
+
void AddButton(int id, int location, const wxBitmapBundle& normalBitmap = wxBitmapBundle(), const wxBitmapBundle& disabledBitmap = wxBitmapBundle());
|
|
107
|
+
|
|
108
|
+
size_t GetTabOffset() const;
|
|
109
|
+
void SetTabOffset(size_t offset);
|
|
110
|
+
|
|
111
|
+
bool IsTabVisible(int tabPage, int tabOffset, wxDC* dc, wxWindow* wnd);
|
|
112
|
+
|
|
113
|
+
void MakeTabVisible(int tabPage, wxWindow* win);
|
|
114
|
+
};
|
|
115
|
+
__HEREDOC
|
|
116
|
+
end
|
|
117
|
+
end # class AuiTabCtrl
|
|
118
|
+
|
|
119
|
+
end # class Director
|
|
120
|
+
|
|
121
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './window'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class AuiToolBar < Window
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.do_not_generate(:variables, :defines, :enums, :functions) # with AuiToolBarEvent
|
|
17
|
+
end
|
|
18
|
+
end # class AuiToolBar
|
|
19
|
+
|
|
20
|
+
end # class Director
|
|
21
|
+
|
|
22
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
module WXRuby3
|
|
7
|
+
|
|
8
|
+
class Director
|
|
9
|
+
|
|
10
|
+
class AuiToolBarArt < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.items << 'wxAuiDefaultToolBarArt'
|
|
15
|
+
spec.gc_as_object
|
|
16
|
+
spec.extend_interface('wxAuiToolBarArt', 'virtual ~wxAuiToolBarArt ()')
|
|
17
|
+
spec.suppress_warning(473, 'wxAuiToolBarArt::Clone', 'wxAuiDefaultToolBarArt::Clone')
|
|
18
|
+
spec.do_not_generate(:variables, :defines, :enums, :functions)
|
|
19
|
+
end
|
|
20
|
+
end # class AuiToolBarArt
|
|
21
|
+
|
|
22
|
+
end # class Director
|
|
23
|
+
|
|
24
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './event'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class AuiToolBarEvent < Event
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.override_inheritance_chain('wxAuiToolBarEvent',
|
|
17
|
+
{'wxNotifyEvent' => 'wxEvents'}, {'wxCommandEvent' => 'wxEvent'}, 'wxEvent', 'wxObject')
|
|
18
|
+
end
|
|
19
|
+
end # class AuiToolBarEvent
|
|
20
|
+
|
|
21
|
+
end # class Director
|
|
22
|
+
|
|
23
|
+
end # module WXRuby3
|