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,59 @@
|
|
|
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 VScrolledWindow < Window
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.items << 'wxVarVScrollHelper' << 'wxVarScrollHelperBase'
|
|
17
|
+
spec.override_inheritance_chain('wxVScrolledWindow', %w[wxPanel wxWindow wxEvtHandler wxObject])
|
|
18
|
+
spec.fold_bases('wxVScrolledWindow' => %w[wxVarVScrollHelper wxVarScrollHelperBase])
|
|
19
|
+
spec.make_abstract 'wxVScrolledWindow'
|
|
20
|
+
spec.force_proxy 'wxVScrolledWindow'
|
|
21
|
+
# provide base implementation for OnGetRowHeight
|
|
22
|
+
spec.add_header_code <<~__HEREDOC
|
|
23
|
+
// Custom subclass implementation.
|
|
24
|
+
class wxRubyVScrolledWindow : public wxVScrolledWindow
|
|
25
|
+
{
|
|
26
|
+
public:
|
|
27
|
+
wxRubyVScrolledWindow()
|
|
28
|
+
: wxVScrolledWindow () {}
|
|
29
|
+
wxRubyVScrolledWindow(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)
|
|
30
|
+
: wxVScrolledWindow(parent, id, pos, size, style, name) {}
|
|
31
|
+
protected:
|
|
32
|
+
virtual wxCoord OnGetRowHeight(size_t) const
|
|
33
|
+
{
|
|
34
|
+
rb_raise(rb_eNoMethodError, "Not implemented");
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
__HEREDOC
|
|
38
|
+
# make Ruby director and wrappers use custom implementation
|
|
39
|
+
spec.use_class_implementation('wxVScrolledWindow', 'wxRubyVScrolledWindow')
|
|
40
|
+
# ignore pure virtual base methods
|
|
41
|
+
spec.ignore 'wxVarScrollHelperBase::GetNonOrientationTargetSize',
|
|
42
|
+
'wxVarScrollHelperBase::GetOrientation',
|
|
43
|
+
'wxVarScrollHelperBase::GetOrientationTargetSize',
|
|
44
|
+
'wxVarScrollHelperBase::OnGetUnitSize'
|
|
45
|
+
# extend derived interface with base implementation overrides
|
|
46
|
+
spec.extend_interface 'wxVScrolledWindow',
|
|
47
|
+
'virtual int GetNonOrientationTargetSize() const',
|
|
48
|
+
'virtual wxOrientation GetOrientation() const',
|
|
49
|
+
'virtual int GetOrientationTargetSize() const'
|
|
50
|
+
spec.extend_interface 'wxVScrolledWindow',
|
|
51
|
+
'virtual wxCoord OnGetUnitSize(size_t unit) const',
|
|
52
|
+
visibility: 'protected'
|
|
53
|
+
spec.suppress_warning(473, 'wxVScrolledWindow::GetTargetWindow')
|
|
54
|
+
end
|
|
55
|
+
end # class Panel
|
|
56
|
+
|
|
57
|
+
end # class VScrolledWindow
|
|
58
|
+
|
|
59
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,296 @@
|
|
|
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 Window < EvtHandler
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
# for all wxWindow derived classes (not wxFrame and descendants)
|
|
17
|
+
spec.items.each do |itm|
|
|
18
|
+
# Avoid adding unneeded directors
|
|
19
|
+
spec.no_proxy("#{itm}::AddChild",
|
|
20
|
+
"#{itm}::Fit",
|
|
21
|
+
"#{itm}::FitInside",
|
|
22
|
+
"#{itm}::Freeze",
|
|
23
|
+
"#{itm}::GetBackgroundStyle",
|
|
24
|
+
"#{itm}::GetCharHeight",
|
|
25
|
+
"#{itm}::GetCharWidth",
|
|
26
|
+
"#{itm}::GetLabel",
|
|
27
|
+
"#{itm}::GetName",
|
|
28
|
+
"#{itm}::GetScreenPosition",
|
|
29
|
+
"#{itm}::GetScrollPos",
|
|
30
|
+
"#{itm}::GetScrollRange",
|
|
31
|
+
"#{itm}::GetScrollThumb",
|
|
32
|
+
"#{itm}::GetTextExtent",
|
|
33
|
+
"#{itm}::HasCapture",
|
|
34
|
+
"#{itm}::HasMultiplePages",
|
|
35
|
+
"#{itm}::IsDoubleBuffered",
|
|
36
|
+
"#{itm}::IsEnabled",
|
|
37
|
+
"#{itm}::IsFrozen",
|
|
38
|
+
"#{itm}::IsRetained",
|
|
39
|
+
"#{itm}::IsShown",
|
|
40
|
+
"#{itm}::IsShownOnScreen",
|
|
41
|
+
"#{itm}::ReleaseMouse",
|
|
42
|
+
"#{itm}::RemoveChild",
|
|
43
|
+
"#{itm}::ScrollLines",
|
|
44
|
+
"#{itm}::ScrollPages",
|
|
45
|
+
"#{itm}::ScrollWindow",
|
|
46
|
+
"#{itm}::SetAcceleratorTable",
|
|
47
|
+
"#{itm}::SetBackgroundColour",
|
|
48
|
+
"#{itm}::SetBackgroundStyle",
|
|
49
|
+
"#{itm}::SetCursor",
|
|
50
|
+
"#{itm}::SetFocus",
|
|
51
|
+
"#{itm}::SetFocusFromKbd",
|
|
52
|
+
"#{itm}::SetFont",
|
|
53
|
+
"#{itm}::SetForegroundColour",
|
|
54
|
+
"#{itm}::SetHelpText",
|
|
55
|
+
"#{itm}::SetLabel",
|
|
56
|
+
"#{itm}::SetName",
|
|
57
|
+
"#{itm}::SetScrollPos",
|
|
58
|
+
"#{itm}::SetScrollbar",
|
|
59
|
+
"#{itm}::SetThemeEnabled",
|
|
60
|
+
"#{itm}::SetThemeEnabled",
|
|
61
|
+
"#{itm}::SetValidator",
|
|
62
|
+
"#{itm}::SetWindowStyleFlag",
|
|
63
|
+
"#{itm}::ShouldInheritColour",
|
|
64
|
+
"#{itm}::Thaw",
|
|
65
|
+
"#{itm}::Layout",
|
|
66
|
+
"#{itm}::InheritAttributes",
|
|
67
|
+
"#{itm}::GetDefaultAttributes",
|
|
68
|
+
"#{itm}::GetWindowStyleFlag",
|
|
69
|
+
"#{itm}::GetDropTarget",
|
|
70
|
+
"#{itm}::GetValidator",
|
|
71
|
+
"#{itm}::IsTopLevel",
|
|
72
|
+
"#{itm}::EnableTouchEvents") unless /\.h\Z/ =~ itm
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
case spec.module_name
|
|
76
|
+
when 'wxWindow' # only for actual wxWindow class
|
|
77
|
+
# // Any of these following kind of objects become owned by the window
|
|
78
|
+
# // when passed into Wx, and so will be deleted automatically; using
|
|
79
|
+
# // DISOWN resets their %freefunc to avoid deleting the object twice
|
|
80
|
+
spec.disown 'wxCaret* caret', 'wxSizer* sizer', 'wxToolTip* tip', 'wxDropTarget* target'
|
|
81
|
+
# do not allow SetSizer and SetSizerAndFit to leave the 'old' sizer unattached alive
|
|
82
|
+
spec.map 'wxSizer *sizer, bool deleteOld' => 'Wx::Sizer' do
|
|
83
|
+
map_in code: <<~__CODE
|
|
84
|
+
int res = SWIG_ConvertPtr($input, SWIG_as_voidptrptr(&$1), SWIGTYPE_p_wxSizer, SWIG_POINTER_DISOWN);
|
|
85
|
+
if (!SWIG_IsOK(res)) {
|
|
86
|
+
SWIG_exception_fail(SWIG_ArgError(res), Ruby_Format_TypeError( "", "wxSizer *","SetSizer", 2, $input));
|
|
87
|
+
}
|
|
88
|
+
$2 = true; // always delete 'old' sizer
|
|
89
|
+
__CODE
|
|
90
|
+
end
|
|
91
|
+
spec.add_extend_code 'wxWindow', <<~__HEREDOC
|
|
92
|
+
VALUE SwitchSizer(VALUE new_szr)
|
|
93
|
+
{
|
|
94
|
+
wxSizer *new_wx_szr = 0;
|
|
95
|
+
int res = SWIG_ConvertPtr(new_szr, SWIG_as_voidptrptr(&new_wx_szr), SWIGTYPE_p_wxSizer, SWIG_POINTER_DISOWN);
|
|
96
|
+
if (!SWIG_IsOK(res)) {
|
|
97
|
+
SWIG_Error(SWIG_ArgError(res), Ruby_Format_TypeError( "", "wxSizer *","SetSizer", 2, new_szr));
|
|
98
|
+
return Qnil;
|
|
99
|
+
}
|
|
100
|
+
wxSizer* old_szr = self->GetSizer();
|
|
101
|
+
self->SetSizer(new_wx_szr, false);
|
|
102
|
+
return SWIG_NewPointerObj(old_szr, SWIGTYPE_p_wxSizer, 1); // return owned wrapper for old sizer
|
|
103
|
+
}
|
|
104
|
+
__HEREDOC
|
|
105
|
+
spec.new_object 'wxWindow::SwitchSizer'
|
|
106
|
+
# Typemap for GetChildren - casts wxObjects to correct ruby wrappers
|
|
107
|
+
spec.map 'wxWindowList&' => 'Array<Wx::Window>' do
|
|
108
|
+
map_out code: <<~__CODE
|
|
109
|
+
$result = rb_ary_new();
|
|
110
|
+
wxWindowList::compatibility_iterator node = $1->GetFirst();
|
|
111
|
+
while (node)
|
|
112
|
+
{
|
|
113
|
+
wxObject *obj = node->GetData();
|
|
114
|
+
rb_ary_push($result, wxRuby_WrapWxObjectInRuby(obj));
|
|
115
|
+
node = node->GetNext();
|
|
116
|
+
}
|
|
117
|
+
__CODE
|
|
118
|
+
end
|
|
119
|
+
spec.ignore [
|
|
120
|
+
'wxWindow::TransferDataFromWindow',
|
|
121
|
+
'wxWindow::TransferDataToWindow',
|
|
122
|
+
'wxWindow::GetAccessible',
|
|
123
|
+
'wxWindow::PopEventHandler',
|
|
124
|
+
'wxWindow::SetConstraints',
|
|
125
|
+
'wxWindow::GetHandle',
|
|
126
|
+
'wxWindow::GetSize(int *,int *) const', # no need; prefer the wxSize version
|
|
127
|
+
'wxWindow::GetClientSize(int *,int *) const', # no need; prefer the wxSize version
|
|
128
|
+
'wxWindow::GetVirtualSize(int *,int *) const', # no need; prefer the wxSize version
|
|
129
|
+
'wxWindow::GetPosition(int *,int *) const', # no need; prefer the wxPoint version
|
|
130
|
+
'wxWindow::GetScreenPosition(int *,int *) const', # no need; prefer the wxPoint version
|
|
131
|
+
'wxWindow::FindWindow',
|
|
132
|
+
'wxWindow::GetTextExtent(const wxString &,int *,int *,int *,int *,const wxFont *)',
|
|
133
|
+
'wxWindow::SendIdleEvents',
|
|
134
|
+
'wxWindow::ClientToScreen(int*,int*)', # no need; prefer the wxPoint version
|
|
135
|
+
'wxWindow::ScreenToClient(int*,int*)' # no need; prefer the wxPoint version
|
|
136
|
+
]
|
|
137
|
+
if Config.instance.wx_port == :wxQT
|
|
138
|
+
# protected for wxQT; ignore for now
|
|
139
|
+
spec.ignore 'wxWindow::EnableTouchEvents'
|
|
140
|
+
end
|
|
141
|
+
if Config.instance.wx_version >= '3.3.0'
|
|
142
|
+
spec.set_only_for('__WXMSW__', 'wxWindow::MSWDisableComposited')
|
|
143
|
+
end
|
|
144
|
+
spec.set_only_for('wxUSE_ACCESSIBILITY', 'wxWindow::SetAccessible')
|
|
145
|
+
spec.set_only_for('wxUSE_HOTKEY', %w[wxWindow::RegisterHotKey wxWindow::UnregisterHotKey])
|
|
146
|
+
spec.ignore('wxWindow::SetSize(int, int)') # not useful as the wxSize variant will also accept an array
|
|
147
|
+
spec.swig_import %w{
|
|
148
|
+
swig/classes/include/wxObject.h
|
|
149
|
+
swig/classes/include/wxEvtHandler.h
|
|
150
|
+
swig/classes/include/wxDC.h
|
|
151
|
+
swig/classes/include/wxWindowDC.h
|
|
152
|
+
swig/classes/include/wxClientDC.h
|
|
153
|
+
swig/classes/include/wxPaintDC.h
|
|
154
|
+
}
|
|
155
|
+
spec.add_wrapper_code <<~__HEREDOC
|
|
156
|
+
extern VALUE wxRuby_GetWindowClass() {
|
|
157
|
+
return SwigClassWxWindow.klass;
|
|
158
|
+
}
|
|
159
|
+
__HEREDOC
|
|
160
|
+
spec.add_extend_code 'wxWindow', <<~__HEREDOC
|
|
161
|
+
// passes a DC for drawing on Window into a passed ruby block, and
|
|
162
|
+
// ensure that the DC is correctly deleted when drawing is
|
|
163
|
+
// completed. This is important to avoid entering an endless loop of
|
|
164
|
+
// paint events. The DC will be a PaintDC if used within a evt_paint handler
|
|
165
|
+
// (recommended) or else a ClientDC.
|
|
166
|
+
VALUE paint()
|
|
167
|
+
{
|
|
168
|
+
static WxRuby_ID painting_id("@__painting__");
|
|
169
|
+
|
|
170
|
+
if ( ! rb_block_given_p() )
|
|
171
|
+
rb_raise(rb_eArgError, "No block given for Window#paint");
|
|
172
|
+
|
|
173
|
+
wxWindow *ptr = self;
|
|
174
|
+
VALUE rb_win = SWIG_RubyInstanceFor(ptr);
|
|
175
|
+
// see if within an evt_paint block - see classes/window.rb
|
|
176
|
+
// if so, supply a PaintDC to the block
|
|
177
|
+
if ( rb_ivar_defined(rb_win, painting_id()) == Qtrue )
|
|
178
|
+
{
|
|
179
|
+
wxPaintDC dc(ptr);
|
|
180
|
+
VALUE dcVal = SWIG_NewPointerObj((void *) &dc,SWIGTYPE_p_wxPaintDC, 0);
|
|
181
|
+
rb_yield(dcVal);
|
|
182
|
+
SWIG_RubyRemoveTracking((void *) &dc);
|
|
183
|
+
DATA_PTR(dcVal) = NULL;
|
|
184
|
+
}
|
|
185
|
+
else // supply a ClientDC
|
|
186
|
+
{
|
|
187
|
+
wxClientDC dc(ptr);
|
|
188
|
+
VALUE dcVal = SWIG_NewPointerObj((void *) &dc,SWIGTYPE_p_wxClientDC, 0);
|
|
189
|
+
rb_yield(dcVal);
|
|
190
|
+
SWIG_RubyRemoveTracking((void *) &dc);
|
|
191
|
+
DATA_PTR(dcVal) = NULL;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
return Qnil;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// Return a window handle as a platform-specific ruby integer
|
|
198
|
+
VALUE get_handle()
|
|
199
|
+
{
|
|
200
|
+
wxWindow *win = self;
|
|
201
|
+
int64_t handle = (int64_t)win->GetHandle();
|
|
202
|
+
return LL2NUM(handle);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// Attach a wx Object to an existing Windows handle (MSW only)
|
|
206
|
+
VALUE associate_handle(int64_t handle)
|
|
207
|
+
{
|
|
208
|
+
WXWidget wx_handle = (WXWidget)handle;
|
|
209
|
+
$self->AssociateHandle(wx_handle);
|
|
210
|
+
return Qnil;
|
|
211
|
+
}
|
|
212
|
+
__HEREDOC
|
|
213
|
+
spec.override_events 'wxWindow', 'EVT_ACTIVATE' => ['EVT_ACTIVATE', 0, 'wxActivateEvent']
|
|
214
|
+
when 'wxNonOwnedWindow'
|
|
215
|
+
spec.no_proxy('wxNonOwnedWindow')
|
|
216
|
+
when 'wxControl'
|
|
217
|
+
# add these to the generated interface to be parsed by SWIG
|
|
218
|
+
# the wxWidgets docs are flawed in this respect that several reimplemented
|
|
219
|
+
# virtual methods are not documented at the reimplementing class as such
|
|
220
|
+
# that would cause them missing from the interface which would cause a problem
|
|
221
|
+
# for a SWIG director redirecting to the Ruby class as the SWIG wrappers
|
|
222
|
+
# redirect explicitly to the implementation at the same class level as the wrapper
|
|
223
|
+
# for upcalls
|
|
224
|
+
spec.extend_interface('wxControl',
|
|
225
|
+
'virtual bool ShouldInheritColours() const override',
|
|
226
|
+
'virtual void DoUpdateWindowUI(wxUpdateUIEvent& event) override')
|
|
227
|
+
end
|
|
228
|
+
# helper for all Window modules
|
|
229
|
+
spec.add_header_code <<~__HEREDOC
|
|
230
|
+
static WxRuby_ID __wxrb_on_internal_idle_id("on_internal_idle");
|
|
231
|
+
__HEREDOC
|
|
232
|
+
# update generated code for all windows
|
|
233
|
+
spec.post_processors << :update_window
|
|
234
|
+
end
|
|
235
|
+
end # class Window
|
|
236
|
+
|
|
237
|
+
end # class Director
|
|
238
|
+
|
|
239
|
+
module SwigRunner
|
|
240
|
+
class Processor
|
|
241
|
+
|
|
242
|
+
# Special post-processor for Window and derivatives.
|
|
243
|
+
# This provides extra safe guarding for the event processing path in wxRuby.
|
|
244
|
+
# The processor inserts code in the 'OnInternalIdle' methods of the director class which check
|
|
245
|
+
# for existence of any Ruby implementation of this method ('on_internal_idle')
|
|
246
|
+
# in the absence of which a direct call to the wxWidget implementation is made. If there
|
|
247
|
+
# does exist a Ruby ('override') implementation the method continues and calls the Ruby
|
|
248
|
+
# method implementation.
|
|
249
|
+
# Additionally the inserted code first off checks if the window is actually (still)
|
|
250
|
+
# able to handle events by calling wxRuby_FindTracking() since in wxRuby it seems in rare occasions
|
|
251
|
+
# possible the event handler instance gets garbage collected AFTER the event processing
|
|
252
|
+
# path has started in which case the C++ and Ruby object are unlinked and any attempts to
|
|
253
|
+
# access the (originally) associated Ruby object will have bad results (this is especially
|
|
254
|
+
# true for dialogs which are not cleaned up by wxWidgets but rather garbage collected by Ruby).
|
|
255
|
+
class UpdateWindow < Processor
|
|
256
|
+
|
|
257
|
+
def run
|
|
258
|
+
at_director_method = false
|
|
259
|
+
director_wx_class = nil
|
|
260
|
+
director_method_line = 0
|
|
261
|
+
|
|
262
|
+
prev_line = nil
|
|
263
|
+
|
|
264
|
+
update_source(at_end: ->(){ prev_line }) do |line|
|
|
265
|
+
if at_director_method
|
|
266
|
+
director_method_line += 1 # update line counter
|
|
267
|
+
if director_method_line == 2 && line.strip.empty? # are we at the right spot?
|
|
268
|
+
code = <<~__CODE # insert the code update
|
|
269
|
+
// added by wxRuby3 Processor.update_window
|
|
270
|
+
// if Ruby object not registered anymore or no Ruby defined method override
|
|
271
|
+
// reroute directly to C++ method
|
|
272
|
+
if (wxRuby_FindTracking(this) == Qnil || wxRuby_IsNativeMethod(swig_get_self(), __wxrb_on_internal_idle_id()))
|
|
273
|
+
this->#{director_wx_class}::OnInternalIdle();
|
|
274
|
+
else
|
|
275
|
+
__CODE
|
|
276
|
+
line << "\n " << code.split("\n").join("\n ")
|
|
277
|
+
at_director_method = false # end of update
|
|
278
|
+
end
|
|
279
|
+
elsif /void\s+SwigDirector_(\w+)::OnInternalIdle\(.*\)\s+{/ =~ line
|
|
280
|
+
director_wx_class = $1
|
|
281
|
+
at_director_method = true # we're at a director method to be updated
|
|
282
|
+
director_method_line = 0 # keep track of the method lines
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
result = prev_line
|
|
286
|
+
prev_line = line
|
|
287
|
+
result
|
|
288
|
+
end
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
end # class UpdateWindow
|
|
292
|
+
|
|
293
|
+
end
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,44 @@
|
|
|
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 WindowDisabler < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.disable_proxies
|
|
15
|
+
# scope delimited guard constructs do not work in Ruby
|
|
16
|
+
# so we'll have to use a block approach to Rubify
|
|
17
|
+
# remove ctor (essentially make this a namespace/module instead of class)
|
|
18
|
+
spec.ignore 'wxWindowDisabler::wxWindowDisabler'
|
|
19
|
+
# add Ruby-style static method
|
|
20
|
+
spec.add_extend_code 'wxWindowDisabler', <<~__HEREDOC
|
|
21
|
+
static void disable(wxWindow *to_skip = NULL)
|
|
22
|
+
{
|
|
23
|
+
if (rb_block_given_p())
|
|
24
|
+
{
|
|
25
|
+
wxWindowDisabler disabler(to_skip);
|
|
26
|
+
rb_yield(Qnil);
|
|
27
|
+
}
|
|
28
|
+
return ;
|
|
29
|
+
}
|
|
30
|
+
__HEREDOC
|
|
31
|
+
spec.ignore %w[
|
|
32
|
+
wxFindWindowByLabel
|
|
33
|
+
wxFindWindowByName
|
|
34
|
+
wxNewId
|
|
35
|
+
wxUsleep
|
|
36
|
+
]
|
|
37
|
+
spec.ignore 'wxPostDelete' unless Config.instance.wx_version >= '3.3.0'
|
|
38
|
+
spec.do_not_generate(:variables, :enums, :defines, :functions)
|
|
39
|
+
end
|
|
40
|
+
end # class WindowDisabler
|
|
41
|
+
|
|
42
|
+
end # class Director
|
|
43
|
+
|
|
44
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,65 @@
|
|
|
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 WithImages < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.gc_as_temporary 'wxWithImages' # actually no GC control necessary as this is a mixin only
|
|
15
|
+
# turn wxWithImages into a mixin module
|
|
16
|
+
spec.make_mixin 'wxWithImages'
|
|
17
|
+
# Avoid premature deletion of ImageList providing icons for notebook
|
|
18
|
+
# tabs; wxRuby takes ownership when the ImageList is assigned,
|
|
19
|
+
# wxWidgets will delete the ImageList with the Toolbook.
|
|
20
|
+
spec.map_apply 'SWIGTYPE *DISOWN' => 'wxImageList*'
|
|
21
|
+
spec.ignore('wxWithImages::@.NO_IMAGE', 'wxWithImages::SetImageList')
|
|
22
|
+
spec.rename_for_ruby('SetImageList' => 'wxWithImages::AssignImageList')
|
|
23
|
+
spec.ignore 'wxWithImages::SetImages', ignore_doc: false
|
|
24
|
+
spec.add_swig_code 'typedef wxBitmapBundle* WxBitmapBundleArray;'
|
|
25
|
+
spec.add_header_code 'typedef wxVector<wxBitmapBundle> WxBitmapBundleArray;'
|
|
26
|
+
spec.extend_interface 'wxWithImages', 'void SetImages(const WxBitmapBundleArray& images);'
|
|
27
|
+
# type mapping for wrapper implementation
|
|
28
|
+
spec.map 'const WxBitmapBundleArray& images' => 'Array<Wx::Image>' do
|
|
29
|
+
map_in temp: 'wxVector<wxBitmapBundle> tmp', code: <<~__CODE
|
|
30
|
+
if ($input != Qnil)
|
|
31
|
+
{
|
|
32
|
+
if (TYPE($input) == T_ARRAY)
|
|
33
|
+
{
|
|
34
|
+
for (int i=0; i<RARRAY_LEN($input) ;++i)
|
|
35
|
+
{
|
|
36
|
+
void* ptr;
|
|
37
|
+
VALUE rb_image = rb_ary_entry($input, i);
|
|
38
|
+
int res = SWIG_ConvertPtr(rb_image, &ptr, SWIGTYPE_p_wxBitmapBundle, 0);
|
|
39
|
+
if (!SWIG_IsOK(res))
|
|
40
|
+
{
|
|
41
|
+
VALUE msg = rb_inspect(rb_image);
|
|
42
|
+
rb_raise(rb_eTypeError, "Expected Wx::ImageBundle at index %d but got %s", i, StringValuePtr(msg));
|
|
43
|
+
}
|
|
44
|
+
tmp.push_back(*static_cast<wxBitmapBundle*>(ptr));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else
|
|
48
|
+
{
|
|
49
|
+
VALUE msg = rb_inspect($input);
|
|
50
|
+
rb_raise(rb_eArgError, "Expected Array of Wx::ImageBundle for $argnum but got %s", StringValuePtr(msg));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
$1 = &tmp;
|
|
54
|
+
__CODE
|
|
55
|
+
end
|
|
56
|
+
# doc type map
|
|
57
|
+
spec.map 'const wxVector<wxBitmapBundle> &images' => 'Array<Wx::Image>', swig: false do
|
|
58
|
+
map_in
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end # class WithImages
|
|
62
|
+
|
|
63
|
+
end # class Director
|
|
64
|
+
|
|
65
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,35 @@
|
|
|
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 WizardPage < Window
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
if spec.module_name == 'wxWizardPage'
|
|
17
|
+
spec.ignore 'wxWizardPage::wxWizardPage(wxWizard * ,const wxBitmapBundle &)'
|
|
18
|
+
elsif spec.module_name == 'wxWizardPageSimple'
|
|
19
|
+
spec.ignore 'wxWizardPageSimple::Chain(wxWizardPageSimple *, wxWizardPageSimple *)'
|
|
20
|
+
# overrides not documented in XML docs
|
|
21
|
+
spec.extend_interface 'wxWizardPageSimple',
|
|
22
|
+
'virtual wxWizardPage * GetNext() const',
|
|
23
|
+
'virtual wxWizardPage * GetPrev() const'
|
|
24
|
+
end
|
|
25
|
+
spec.do_not_generate(:variables, :enums, :defines, :functions)
|
|
26
|
+
# handled; can be suppressed
|
|
27
|
+
spec.suppress_warning(473,
|
|
28
|
+
"#{spec.module_name}::GetNext",
|
|
29
|
+
"#{spec.module_name}::GetPrev")
|
|
30
|
+
end
|
|
31
|
+
end # class WizardPage
|
|
32
|
+
|
|
33
|
+
end # class Director
|
|
34
|
+
|
|
35
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,48 @@
|
|
|
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 XmlNode < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.disable_proxies
|
|
15
|
+
spec.gc_as_temporary
|
|
16
|
+
spec.disown 'wxXmlNode *child'
|
|
17
|
+
# ignore this; only allow adding child node by explicitly calling Add/Insert-child methods (easier on the GC handling and avoids wxXmlAttribute)
|
|
18
|
+
spec.ignore 'wxXmlNode::wxXmlNode(wxXmlNode *, wxXmlNodeType, const wxString &, const wxString &, wxXmlAttribute *, wxXmlNode *, int)'
|
|
19
|
+
# avoid wxXmlAttribute
|
|
20
|
+
spec.ignore 'wxXmlNode::GetAttributes() const' # add alternative returning list of names
|
|
21
|
+
spec.ignore 'wxXmlNode::AddAttribute(wxXmlAttribute *)'
|
|
22
|
+
spec.ignore 'wxXmlNode::SetAttributes(wxXmlAttribute *)'
|
|
23
|
+
spec.ignore 'wxXmlNode::GetAttribute(const wxString &, wxString *) const' # implement pure Ruby alternative
|
|
24
|
+
# ignore these, we want wxXmlNode mostly (only?) to be able to inspect custom nodes from an XmlResource
|
|
25
|
+
# NOT to manipulate any nodes
|
|
26
|
+
spec.ignore('wxXmlNode::SetChildren(wxXmlNode *)')
|
|
27
|
+
spec.ignore('wxXmlNode::SetParent(wxXmlNode *)')
|
|
28
|
+
spec.ignore('wxXmlNode::SetNext(wxXmlNode *)')
|
|
29
|
+
spec.ignore('wxXmlNode::RemoveChild(wxXmlNode *)')
|
|
30
|
+
spec.add_extend_code 'wxXmlNode', <<~__HEREDOC
|
|
31
|
+
VALUE GetAttributes()
|
|
32
|
+
{
|
|
33
|
+
VALUE result = rb_ary_new();
|
|
34
|
+
wxXmlAttribute* attptr = self->GetAttributes();
|
|
35
|
+
while (attptr)
|
|
36
|
+
{
|
|
37
|
+
rb_ary_push(result, WXSTR_TO_RSTR(attptr->GetName()));
|
|
38
|
+
attptr = attptr->GetNext();
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
__HEREDOC
|
|
43
|
+
end
|
|
44
|
+
end # class XmlNode
|
|
45
|
+
|
|
46
|
+
end # class Director
|
|
47
|
+
|
|
48
|
+
end # module WXRuby3
|