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,174 @@
|
|
|
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 Pen < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.items << 'wxPenInfo'
|
|
15
|
+
spec.gc_as_temporary 'wxPenInfo'
|
|
16
|
+
spec.disable_proxies
|
|
17
|
+
spec.add_header_code <<~__HEREDOC
|
|
18
|
+
// special free funcs are needed to clean up Dashes array if it has been
|
|
19
|
+
// set; wxWidgets does not do this automatically so will leak if not
|
|
20
|
+
// dealt with.
|
|
21
|
+
void GC_free_wxPen(wxPen *pen)
|
|
22
|
+
{
|
|
23
|
+
SWIG_RubyRemoveTracking(pen);
|
|
24
|
+
if (pen && pen->IsOk ())
|
|
25
|
+
{
|
|
26
|
+
wxDash *dashes;
|
|
27
|
+
int dash_count = pen->GetDashes(&dashes);
|
|
28
|
+
if ( dash_count )
|
|
29
|
+
delete dashes;
|
|
30
|
+
}
|
|
31
|
+
delete pen;
|
|
32
|
+
}
|
|
33
|
+
void GC_free_wxPenInfo(wxPenInfo *pen_info)
|
|
34
|
+
{
|
|
35
|
+
SWIG_RubyRemoveTracking(pen_info);
|
|
36
|
+
if (pen_info)
|
|
37
|
+
{
|
|
38
|
+
wxDash *dashes;
|
|
39
|
+
int dash_count = pen_info->GetDashes(&dashes);
|
|
40
|
+
if ( dash_count )
|
|
41
|
+
delete dashes;
|
|
42
|
+
}
|
|
43
|
+
delete pen_info;
|
|
44
|
+
}
|
|
45
|
+
__HEREDOC
|
|
46
|
+
spec.add_swig_code '%feature("freefunc") wxPen "GC_free_wxPen";'
|
|
47
|
+
spec.add_swig_code '%feature("freefunc") wxPenInfo "GC_free_wxPenInfo";'
|
|
48
|
+
# all but the default ctor require a running App
|
|
49
|
+
spec.require_app 'wxPen::wxPen(const wxPenInfo &info)',
|
|
50
|
+
'wxPen::wxPen(const wxColour &colour, int width, wxPenStyle style)',
|
|
51
|
+
'wxPen::wxPen(const wxBitmap &stipple, int width)',
|
|
52
|
+
'wxPen::wxPen(const wxPen &pen)'
|
|
53
|
+
# ignore because of memory management issue
|
|
54
|
+
spec.ignore 'wxPen::wxPen(const wxPenInfo &)'
|
|
55
|
+
# add our own
|
|
56
|
+
spec.add_extend_code 'wxPen', <<~__HEREDOC
|
|
57
|
+
wxPen(const wxPenInfo &info)
|
|
58
|
+
{
|
|
59
|
+
if (!wxRuby_IsAppRunning())
|
|
60
|
+
rb_raise(rb_eRuntimeError, "Contract violation: require: (wxRuby_IsAppRunning())");
|
|
61
|
+
|
|
62
|
+
wxPen* new_pen = new wxPen(info.GetColour(), info.GetWidth(), info.GetStyle());
|
|
63
|
+
new_pen->SetJoin(info.GetJoin());
|
|
64
|
+
new_pen->SetCap(info.GetCap());
|
|
65
|
+
// copy the dashes
|
|
66
|
+
wxDash* new_dashes = new wxDash[info.GetDashCount()];
|
|
67
|
+
for (int i = 0; i < info.GetDashCount(); i++)
|
|
68
|
+
{
|
|
69
|
+
new_dashes[i] = info.GetDash()[i];
|
|
70
|
+
}
|
|
71
|
+
new_pen->SetDashes(info.GetDashCount(), new_dashes);
|
|
72
|
+
return new_pen;
|
|
73
|
+
}
|
|
74
|
+
__HEREDOC
|
|
75
|
+
# dealt with below - these require special handling becaause of the use
|
|
76
|
+
# of wxDash array, which cannot be freed until the pen(info) is disposed of
|
|
77
|
+
# or until a new dash pattern is specified.
|
|
78
|
+
spec.ignore(%w[wxPen::GetDashes wxPen::SetDashes wxPenInfo::GetDashes wxPenInfo::Dashes], ignore_doc: false)
|
|
79
|
+
spec.ignore 'wxPenInfo::GetDash'
|
|
80
|
+
spec.add_extend_code 'wxPen', <<~__HEREDOC
|
|
81
|
+
// Returns a ruby array with the dash lengths
|
|
82
|
+
VALUE get_dashes()
|
|
83
|
+
{
|
|
84
|
+
VALUE rb_dashes = rb_ary_new();
|
|
85
|
+
wxDash* dashes;
|
|
86
|
+
int dash_count = $self->GetDashes(&dashes);
|
|
87
|
+
for ( int i = 0; i < dash_count; i++ )
|
|
88
|
+
{
|
|
89
|
+
rb_ary_push(rb_dashes, INT2NUM(dashes[i]));
|
|
90
|
+
}
|
|
91
|
+
return rb_dashes;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Sets the dashes to have the lengths defined in the ruby array of ints
|
|
95
|
+
void set_dashes(VALUE rb_dashes)
|
|
96
|
+
{
|
|
97
|
+
// Check right parameter type
|
|
98
|
+
if ( TYPE(rb_dashes) != T_ARRAY )
|
|
99
|
+
rb_raise(rb_eTypeError,
|
|
100
|
+
"Wrong argument type for set_dashes, should be Array");
|
|
101
|
+
|
|
102
|
+
// Get old value in case it needs to be deallocated to avoid leaking
|
|
103
|
+
wxDash* old_dashes;
|
|
104
|
+
int old_dashes_count = $self->GetDashes(&old_dashes);
|
|
105
|
+
|
|
106
|
+
// Create a C++ wxDash array to hold the new dashes, and populate
|
|
107
|
+
int new_dash_count = RARRAY_LEN(rb_dashes);
|
|
108
|
+
wxDash* new_dashes = new wxDash[ new_dash_count ];
|
|
109
|
+
for ( int i = 0; i < new_dash_count; i++ )
|
|
110
|
+
{
|
|
111
|
+
new_dashes[i] = NUM2INT(rb_ary_entry(rb_dashes, i));
|
|
112
|
+
}
|
|
113
|
+
$self->SetDashes(new_dash_count, new_dashes);
|
|
114
|
+
|
|
115
|
+
// Clean up the old if it existed
|
|
116
|
+
if ( old_dashes_count )
|
|
117
|
+
delete old_dashes;
|
|
118
|
+
}
|
|
119
|
+
__HEREDOC
|
|
120
|
+
spec.add_extend_code 'wxPenInfo', <<~__HEREDOC
|
|
121
|
+
// Returns a ruby array with the dash lengths
|
|
122
|
+
VALUE get_dashes()
|
|
123
|
+
{
|
|
124
|
+
VALUE rb_dashes = rb_ary_new();
|
|
125
|
+
wxDash* dashes;
|
|
126
|
+
int dash_count = $self->GetDashes(&dashes);
|
|
127
|
+
for ( int i = 0; i < dash_count; i++ )
|
|
128
|
+
{
|
|
129
|
+
rb_ary_push(rb_dashes, INT2NUM(dashes[i]));
|
|
130
|
+
}
|
|
131
|
+
return rb_dashes;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// Sets the dashes to have the lengths defined in the ruby array of ints
|
|
135
|
+
void dashes(VALUE rb_dashes)
|
|
136
|
+
{
|
|
137
|
+
// Check right parameter type
|
|
138
|
+
if ( TYPE(rb_dashes) != T_ARRAY )
|
|
139
|
+
rb_raise(rb_eTypeError,
|
|
140
|
+
"Wrong argument type for set_dashes, should be Array");
|
|
141
|
+
|
|
142
|
+
// Get old value in case it needs to be deallocated to avoid leaking
|
|
143
|
+
wxDash* old_dashes;
|
|
144
|
+
int old_dashes_count = $self->GetDashes(&old_dashes);
|
|
145
|
+
|
|
146
|
+
// Create a C++ wxDash array to hold the new dashes, and populate
|
|
147
|
+
int new_dash_count = RARRAY_LEN(rb_dashes);
|
|
148
|
+
wxDash* new_dashes = new wxDash[ new_dash_count ];
|
|
149
|
+
for ( int i = 0; i < new_dash_count; i++ )
|
|
150
|
+
{
|
|
151
|
+
new_dashes[i] = NUM2INT(rb_ary_entry(rb_dashes, i));
|
|
152
|
+
}
|
|
153
|
+
$self->Dashes(new_dash_count, new_dashes);
|
|
154
|
+
|
|
155
|
+
// Clean up the old if it existed
|
|
156
|
+
if ( old_dashes_count )
|
|
157
|
+
delete old_dashes;
|
|
158
|
+
}
|
|
159
|
+
__HEREDOC
|
|
160
|
+
spec.map 'wxPenInfo &' => 'Wx::PenInfo' do
|
|
161
|
+
map_out code: '$result = self; wxUnusedVar($1);'
|
|
162
|
+
end
|
|
163
|
+
# for SetColour
|
|
164
|
+
spec.map_apply 'const wxColour&' => ['wxColour&']
|
|
165
|
+
# these are defined and loaded in RubyStockObjects.i
|
|
166
|
+
spec.ignore %w[
|
|
167
|
+
wxRED_PEN wxBLUE_PEN wxCYAN_PEN wxGREEN_PEN wxYELLOW_PEN wxBLACK_PEN wxWHITE_PEN
|
|
168
|
+
wxTRANSPARENT_PEN wxBLACK_DASHED_PEN wxGREY_PEN wxMEDIUM_GREY_PEN wxLIGHT_GREY_PEN wxThePenList]
|
|
169
|
+
end
|
|
170
|
+
end # class Pen
|
|
171
|
+
|
|
172
|
+
end # class Director
|
|
173
|
+
|
|
174
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './dialog'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class PGArrayEditorDialog < Dialog
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
spec.items << 'wxPGArrayStringEditorDialog'
|
|
16
|
+
super
|
|
17
|
+
spec.regard 'wxPGArrayEditorDialog::ArrayGet',
|
|
18
|
+
'wxPGArrayEditorDialog::ArrayGetCount',
|
|
19
|
+
'wxPGArrayEditorDialog::ArrayInsert',
|
|
20
|
+
'wxPGArrayEditorDialog::ArraySet',
|
|
21
|
+
'wxPGArrayEditorDialog::ArrayRemoveAt',
|
|
22
|
+
'wxPGArrayEditorDialog::ArraySwap',
|
|
23
|
+
'wxPGArrayEditorDialog::OnCustomNewAction',
|
|
24
|
+
'wxPGArrayEditorDialog::m_elb',
|
|
25
|
+
'wxPGArrayEditorDialog::m_elbSubPanel',
|
|
26
|
+
'wxPGArrayEditorDialog::m_lastFocused',
|
|
27
|
+
'wxPGArrayEditorDialog::m_itemPendingAtIndex',
|
|
28
|
+
'wxPGArrayEditorDialog::m_modified',
|
|
29
|
+
'wxPGArrayEditorDialog::m_hasCustomNewAction'
|
|
30
|
+
spec.rename_for_ruby 'elb_' => 'wxPGArrayEditorDialog::m_elb',
|
|
31
|
+
'elb_sub_panel_' => 'wxPGArrayEditorDialog::m_elbSubPanel',
|
|
32
|
+
'last_focused_' => 'wxPGArrayEditorDialog::m_lastFocused',
|
|
33
|
+
'item_pending_at_index_' => 'wxPGArrayEditorDialog::m_itemPendingAtIndex',
|
|
34
|
+
'modified_' => 'wxPGArrayEditorDialog::m_modified',
|
|
35
|
+
'has_custom_new_action_' => 'wxPGArrayEditorDialog::m_hasCustomNewAction'
|
|
36
|
+
spec.extend_interface 'wxPGArrayStringEditorDialog',
|
|
37
|
+
'wxEditableListBox *m_elb',
|
|
38
|
+
'wxWindow *m_elbSubPanel',
|
|
39
|
+
'wxWindow *m_lastFocused',
|
|
40
|
+
'int m_itemPendingAtIndex',
|
|
41
|
+
'bool m_modified',
|
|
42
|
+
'bool m_hasCustomNewAction',
|
|
43
|
+
visibility: 'protected'
|
|
44
|
+
spec.rename_for_ruby 'elb_' => 'wxPGArrayStringEditorDialog::m_elb',
|
|
45
|
+
'elb_sub_panel_' => 'wxPGArrayStringEditorDialog::m_elbSubPanel',
|
|
46
|
+
'last_focused_' => 'wxPGArrayStringEditorDialog::m_lastFocused',
|
|
47
|
+
'item_pending_at_index_' => 'wxPGArrayStringEditorDialog::m_itemPendingAtIndex',
|
|
48
|
+
'modified_' => 'wxPGArrayStringEditorDialog::m_modified',
|
|
49
|
+
'has_custom_new_action_' => 'wxPGArrayStringEditorDialog::m_hasCustomNewAction'
|
|
50
|
+
spec.suppress_warning(473, 'wxPGArrayEditorDialog::GetTextCtrlValidator')
|
|
51
|
+
# make sure SWIG knows this type is an enum
|
|
52
|
+
spec.add_swig_code 'enum wxPGPropertyFlags;'
|
|
53
|
+
if Config.instance.wx_version >= '3.3.0'
|
|
54
|
+
# internal use only
|
|
55
|
+
spec.ignore 'wxPG_PROP_PASSWORD',
|
|
56
|
+
'wxPG_PROP_USE_CHECKBOX',
|
|
57
|
+
'wxPG_PROP_USE_DCC'
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end # class PGArrayEditorDialog
|
|
61
|
+
|
|
62
|
+
end # class Director
|
|
63
|
+
|
|
64
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,68 @@
|
|
|
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 PGCell < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.items << 'wxPGCellData' << 'wxPGChoiceEntry'
|
|
15
|
+
spec.override_inheritance_chain('wxPGCellData', [])
|
|
16
|
+
spec.make_abstract 'wxPGCellData' # there is never any need to create an instance in Ruby
|
|
17
|
+
spec.no_proxy 'wxPGCellData'
|
|
18
|
+
spec.gc_never 'wxPGCellData'
|
|
19
|
+
spec.do_not_generate :variables, :enums, :defines, :functions # with PGProperty
|
|
20
|
+
# add method for correctly wrapping PGCell output references
|
|
21
|
+
spec.add_header_code <<~__CODE
|
|
22
|
+
extern VALUE mWxPG; // declare external module reference
|
|
23
|
+
extern VALUE wxRuby_WrapWxPGCellInRuby(const wxPGCell *wx_pc)
|
|
24
|
+
{
|
|
25
|
+
// If no object was passed to be wrapped.
|
|
26
|
+
if ( ! wx_pc )
|
|
27
|
+
return Qnil;
|
|
28
|
+
|
|
29
|
+
// check if this instance is already tracked; return tracked value if so
|
|
30
|
+
VALUE r_pc = SWIG_RubyInstanceFor(const_cast<wxPGCell*> (wx_pc));
|
|
31
|
+
if (r_pc && !NIL_P(r_pc)) return r_pc;
|
|
32
|
+
|
|
33
|
+
// Get the wx class and the ruby class we are converting into
|
|
34
|
+
wxString class_name = wxS("wxPGCell");
|
|
35
|
+
if (dynamic_cast<const wxPGChoiceEntry*> (wx_pc))
|
|
36
|
+
{
|
|
37
|
+
class_name = wxS("wxPGChoiceEntry");
|
|
38
|
+
}
|
|
39
|
+
VALUE r_class = Qnil;
|
|
40
|
+
if ( class_name.Len() > 2 )
|
|
41
|
+
{
|
|
42
|
+
wxCharBuffer wx_classname = class_name.mb_str();
|
|
43
|
+
VALUE r_class_name = rb_intern(wx_classname.data () + 2); // wxRuby class name (minus 'wx')
|
|
44
|
+
if (rb_const_defined(mWxPG, r_class_name))
|
|
45
|
+
r_class = rb_const_get(mWxPG, r_class_name);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// If we cannot find the class output a warning and return nil
|
|
49
|
+
if ( r_class == Qnil )
|
|
50
|
+
{
|
|
51
|
+
rb_warn("Error wrapping object; class `%s' is not (yet) supported in wxRuby",
|
|
52
|
+
(const char *)class_name.mb_str() );
|
|
53
|
+
return Qnil;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
// Otherwise, retrieve the swig type info for this class and wrap it
|
|
58
|
+
// in Ruby. wxRuby_GetSwigTypeForClass is defined in wx.i
|
|
59
|
+
swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(r_class);
|
|
60
|
+
return SWIG_NewPointerObj(const_cast<wxPGCell*> (wx_pc), swig_type, 0);
|
|
61
|
+
}
|
|
62
|
+
__CODE
|
|
63
|
+
end
|
|
64
|
+
end # class PGCell
|
|
65
|
+
|
|
66
|
+
end # class Director
|
|
67
|
+
|
|
68
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,154 @@
|
|
|
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 PGEditor < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.items.concat %w[wxPGCheckBoxEditor wxPGChoiceEditor wxPGChoiceAndButtonEditor wxPGComboBoxEditor
|
|
15
|
+
wxPGTextCtrlEditor wxPGSpinCtrlEditor wxPGTextCtrlAndButtonEditor wxPGEditorDialogAdapter]
|
|
16
|
+
spec.includes << 'wx/propgrid/propgriddefs.h'
|
|
17
|
+
if Config.instance.wx_version >= '3.3.0'
|
|
18
|
+
# make sure SWIG knows this as enum type
|
|
19
|
+
spec.add_swig_code 'enum wxPGPropertyFlags;'
|
|
20
|
+
end
|
|
21
|
+
spec.add_header_code <<~__HEREDOC
|
|
22
|
+
// template specialization to circumvent lack of default ctor
|
|
23
|
+
template <> wxPGWindowList SwigValueInit<wxPGWindowList>() {
|
|
24
|
+
return wxPGWindowList(0);
|
|
25
|
+
}
|
|
26
|
+
__HEREDOC
|
|
27
|
+
# SWIG fails to use SwigValueInit for local var init properly (SWIG 4 partially)
|
|
28
|
+
# so we fix it ourselves
|
|
29
|
+
spec.post_processors << :update_pg_window_list
|
|
30
|
+
spec.map 'wxPGWindowList' => 'Wx::Window,Array<Wx::Window,Wx::Window>' do
|
|
31
|
+
map_out code: <<~__CODE
|
|
32
|
+
wxWindow *winsec = $1.GetSecondary();
|
|
33
|
+
if (winsec)
|
|
34
|
+
{
|
|
35
|
+
$result = rb_ary_new();
|
|
36
|
+
rb_ary_push($result, wxRuby_WrapWxObjectInRuby($1.GetPrimary()));
|
|
37
|
+
rb_ary_push($result, wxRuby_WrapWxObjectInRuby(winsec));
|
|
38
|
+
}
|
|
39
|
+
else
|
|
40
|
+
{
|
|
41
|
+
$result = wxRuby_WrapWxObjectInRuby($1.GetPrimary());
|
|
42
|
+
}
|
|
43
|
+
__CODE
|
|
44
|
+
map_directorout code: <<~__CODE
|
|
45
|
+
if (TYPE($input) == T_ARRAY && RARRAY_LEN($input) >= 1)
|
|
46
|
+
{
|
|
47
|
+
void *ptr;
|
|
48
|
+
int res = SWIG_ConvertPtr(rb_ary_entry($input, 0), &ptr, SWIGTYPE_p_wxWindow, 0 | 0);
|
|
49
|
+
if (!SWIG_IsOK(res))
|
|
50
|
+
{
|
|
51
|
+
Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(res)), "in primary output value of type 'wxWindow *'");
|
|
52
|
+
}
|
|
53
|
+
$result = wxPGWindowList(static_cast<wxWindow*>(ptr));
|
|
54
|
+
if (RARRAY_LEN($input) > 1)
|
|
55
|
+
{
|
|
56
|
+
res = SWIG_ConvertPtr(rb_ary_entry($input, 1), &ptr, SWIGTYPE_p_wxWindow, 0 | 0);
|
|
57
|
+
if (!SWIG_IsOK(res))
|
|
58
|
+
{
|
|
59
|
+
Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(res)), "in secundary output value of type 'wxWindow *'");
|
|
60
|
+
}
|
|
61
|
+
$result.SetSecondary(static_cast<wxWindow*>(ptr));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
__CODE
|
|
65
|
+
end
|
|
66
|
+
# since OnEvent is const we need a slightly different version of this type map
|
|
67
|
+
spec.map 'wxEvent &event' => 'Wx::Event' do
|
|
68
|
+
map_directorin code: <<~__CODE
|
|
69
|
+
#ifdef __WXRB_DEBUG__
|
|
70
|
+
$input = wxRuby_WrapWxEventInRuby(const_cast<void*> (static_cast<const void*> (this)), &$1);
|
|
71
|
+
#else
|
|
72
|
+
$input = wxRuby_WrapWxEventInRuby(&$1);
|
|
73
|
+
#endif
|
|
74
|
+
__CODE
|
|
75
|
+
|
|
76
|
+
# Thin and trusting wrapping to bypass SWIG's normal mechanisms; we
|
|
77
|
+
# don't want SWIG changing ownership or typechecking these.
|
|
78
|
+
map_in code: '$1 = (wxEvent*)DATA_PTR($input);'
|
|
79
|
+
end
|
|
80
|
+
# add method for correctly wrapping PGEditor output references
|
|
81
|
+
spec.add_header_code <<~__CODE
|
|
82
|
+
extern VALUE mWxPG; // declare external module reference
|
|
83
|
+
extern VALUE wxRuby_WrapWxPGEditorInRuby(const wxPGEditor *wx_pe)
|
|
84
|
+
{
|
|
85
|
+
// If no object was passed to be wrapped.
|
|
86
|
+
if ( ! wx_pe )
|
|
87
|
+
return Qnil;
|
|
88
|
+
|
|
89
|
+
// check if this instance is already tracked; return tracked value if so
|
|
90
|
+
VALUE r_pe = SWIG_RubyInstanceFor(const_cast<wxPGEditor*> (wx_pe));
|
|
91
|
+
if (r_pe && !NIL_P(r_pe)) return r_pe;
|
|
92
|
+
|
|
93
|
+
// Get the wx class and the ruby class we are converting into
|
|
94
|
+
wxString class_name( wx_pe->GetClassInfo()->GetClassName() );
|
|
95
|
+
VALUE r_class = Qnil;
|
|
96
|
+
if ( class_name.Len() > 2 )
|
|
97
|
+
{
|
|
98
|
+
wxCharBuffer wx_classname = class_name.mb_str();
|
|
99
|
+
VALUE r_class_name = rb_intern(wx_classname.data () + 2); // wxRuby class name (minus 'wx')
|
|
100
|
+
if (rb_const_defined(mWxPG, r_class_name))
|
|
101
|
+
r_class = rb_const_get(mWxPG, r_class_name);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// If we cannot find the class output a warning and return nil
|
|
105
|
+
if ( r_class == Qnil )
|
|
106
|
+
{
|
|
107
|
+
rb_warn("Error wrapping object; class `%s' is not (yet) supported in wxRuby",
|
|
108
|
+
(const char *)class_name.mb_str() );
|
|
109
|
+
return Qnil;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
// Otherwise, retrieve the swig type info for this class and wrap it
|
|
114
|
+
// in Ruby. wxRuby_GetSwigTypeForClass is defined in wx.i
|
|
115
|
+
swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(r_class);
|
|
116
|
+
return SWIG_NewPointerObj(const_cast<wxPGEditor*> (wx_pe), swig_type, 0);
|
|
117
|
+
}
|
|
118
|
+
__CODE
|
|
119
|
+
# ignore the variables themselves
|
|
120
|
+
spec.ignore 'wxPGEditor_TextCtrl',
|
|
121
|
+
'wxPGEditor_Choice',
|
|
122
|
+
'wxPGEditor_ComboBox',
|
|
123
|
+
'wxPGEditor_TextCtrlAndButton',
|
|
124
|
+
'wxPGEditor_CheckBox',
|
|
125
|
+
'wxPGEditor_ChoiceAndButton',
|
|
126
|
+
'wxPGEditor_SpinCtrl',
|
|
127
|
+
'wxPGEditor_DatePickerCtrl'
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
end # class PGEditor
|
|
131
|
+
|
|
132
|
+
end # class Director
|
|
133
|
+
|
|
134
|
+
module SwigRunner
|
|
135
|
+
# wxPGWindowList lacks a default ctor (stupid!) and therefor cannot be used by SWIG
|
|
136
|
+
# for return by value setups.
|
|
137
|
+
# We declared a compatible version in the header which can be used for var decls
|
|
138
|
+
# and here we're going to replace all SWIG generated decls to use the custom class.
|
|
139
|
+
class Processor
|
|
140
|
+
class UpdatePgWindowList < Processor
|
|
141
|
+
def run
|
|
142
|
+
# just replace all occurrences of wxPGWindowList result var decls by SwigValueInit decls.
|
|
143
|
+
update_source do |line|
|
|
144
|
+
if /\A(\s*)wxPGWindowList\s+(c_)?result\s*;/ =~ line
|
|
145
|
+
line = "#{$1}wxPGWindowList #{$2}result = SwigValueInit<wxPGWindowList>();"
|
|
146
|
+
end
|
|
147
|
+
line
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
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 PGMultiButton < Window
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.do_not_generate :variables, :enums, :defines, :functions
|
|
17
|
+
end
|
|
18
|
+
end # class PGMultiButton
|
|
19
|
+
|
|
20
|
+
end # class Director
|
|
21
|
+
|
|
22
|
+
end # module WXRuby3
|