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,139 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 Defs director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
module WXRuby3
|
|
7
|
+
|
|
8
|
+
class Director
|
|
9
|
+
|
|
10
|
+
class Defs < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
spec.items.replace ['defs.h']
|
|
14
|
+
spec.ignore %w{
|
|
15
|
+
wxINT8_MIN
|
|
16
|
+
wxINT8_MAX
|
|
17
|
+
wxUINT8_MAX
|
|
18
|
+
wxINT16_MIN
|
|
19
|
+
wxINT16_MAX
|
|
20
|
+
wxUINT16_MAX
|
|
21
|
+
wxINT32_MIN
|
|
22
|
+
wxINT32_MAX
|
|
23
|
+
wxUINT32_MAX
|
|
24
|
+
wxINT64_MIN
|
|
25
|
+
wxINT64_MAX
|
|
26
|
+
wxUINT64_MAX
|
|
27
|
+
wxVaCopy
|
|
28
|
+
}
|
|
29
|
+
if Config.instance.wx_version >= '3.3.0'
|
|
30
|
+
spec.ignore 'wxOVERRIDE'
|
|
31
|
+
end
|
|
32
|
+
super
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def generator
|
|
36
|
+
WXRuby3::DefsGenerator.new(self)
|
|
37
|
+
end
|
|
38
|
+
protected :generator
|
|
39
|
+
|
|
40
|
+
def rake_generator
|
|
41
|
+
WXRuby3::DefsRakeGenerator.new(self)
|
|
42
|
+
end
|
|
43
|
+
protected :rake_generator
|
|
44
|
+
|
|
45
|
+
end # class Defs
|
|
46
|
+
|
|
47
|
+
end # class Director
|
|
48
|
+
|
|
49
|
+
class DefsGenerator < InterfaceGenerator
|
|
50
|
+
|
|
51
|
+
def gen_swig_header(fout)
|
|
52
|
+
fout << <<~__HEREDOC
|
|
53
|
+
/**
|
|
54
|
+
* This file is automatically generated by the WXRuby3 interface generator.
|
|
55
|
+
* Do not alter this file.
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
%include "../common.i"
|
|
59
|
+
|
|
60
|
+
%module(directors="1") #{module_name}
|
|
61
|
+
|
|
62
|
+
// Version numbers from wx/version.h
|
|
63
|
+
%constant const int wxWXWIDGETS_MAJOR_VERSION = wxMAJOR_VERSION;
|
|
64
|
+
%constant const int wxWXWIDGETS_MINOR_VERSION = wxMINOR_VERSION;
|
|
65
|
+
%constant const int wxWXWIDGETS_RELEASE_NUMBER = wxRELEASE_NUMBER;
|
|
66
|
+
%constant const int wxWXWIDGETS_SUBRELEASE_NUMBER = wxSUBRELEASE_NUMBER;
|
|
67
|
+
// WXWIDGETS_VERSION is defined in lib/wx/core.rb
|
|
68
|
+
|
|
69
|
+
#ifdef __WXDEBUG__
|
|
70
|
+
%constant const bool wxDEBUG = true;
|
|
71
|
+
#else
|
|
72
|
+
%constant const bool wxDEBUG = false;
|
|
73
|
+
#endif
|
|
74
|
+
|
|
75
|
+
// Platform constants
|
|
76
|
+
|
|
77
|
+
#ifdef __WXMOTIF__
|
|
78
|
+
#define wxPLATFORM "WXMOTIF"
|
|
79
|
+
#endif
|
|
80
|
+
#ifdef __WXX11__
|
|
81
|
+
#define wxPLATFORM "WXX11"
|
|
82
|
+
#endif
|
|
83
|
+
#ifdef __WXGTK__
|
|
84
|
+
#define wxPLATFORM "WXGTK"
|
|
85
|
+
#endif
|
|
86
|
+
#ifdef __WXQT__
|
|
87
|
+
#define wxPLATFORM "WXQT"
|
|
88
|
+
#endif
|
|
89
|
+
#ifdef __WXMSW__
|
|
90
|
+
#define wxPLATFORM "WXMSW"
|
|
91
|
+
#endif
|
|
92
|
+
#ifdef __WXOSX__
|
|
93
|
+
#define wxPLATFORM "WXOSX"
|
|
94
|
+
#endif
|
|
95
|
+
|
|
96
|
+
__HEREDOC
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def gen_interface_include_code(fout)
|
|
100
|
+
gen_enums(fout)
|
|
101
|
+
|
|
102
|
+
gen_defines(fout)
|
|
103
|
+
|
|
104
|
+
gen_variables(fout)
|
|
105
|
+
|
|
106
|
+
gen_functions(fout)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def run
|
|
110
|
+
Stream.transaction do
|
|
111
|
+
f = CodeStream.new(File.join(Config.instance.classes_dir, 'common', 'typedefs.i'))
|
|
112
|
+
f << <<~__HEREDOC
|
|
113
|
+
/**
|
|
114
|
+
* This file is automatically generated by the WXRuby3 interface generator.
|
|
115
|
+
* Do not alter this file.
|
|
116
|
+
*/
|
|
117
|
+
__HEREDOC
|
|
118
|
+
gen_typedefs(f)
|
|
119
|
+
end
|
|
120
|
+
# make sure to keep this last for the parallel builds synchronize on the *.i files
|
|
121
|
+
super
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
end # class DefsGenerator
|
|
125
|
+
|
|
126
|
+
class DefsRakeGenerator < RakeDependencyGenerator
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
def create_rake_tasks(frake)
|
|
130
|
+
super
|
|
131
|
+
frake << <<~__TASK
|
|
132
|
+
file '#{File.join(Config.instance.common_dir, 'typedefs.i')}' => '#{File.join(Config.instance.classes_dir, 'Defs.i')}'
|
|
133
|
+
__TASK
|
|
134
|
+
end
|
|
135
|
+
protected :create_rake_tasks
|
|
136
|
+
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
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
|
+
module WXRuby3
|
|
7
|
+
|
|
8
|
+
class Director
|
|
9
|
+
|
|
10
|
+
class DerivedDC < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.disable_proxies
|
|
15
|
+
if spec.module_name == 'wxScreenDC'
|
|
16
|
+
spec.make_abstract 'wxScreenDC'
|
|
17
|
+
# as a ScreenDC should always be a temporary stack object
|
|
18
|
+
# we do not allow creation in Ruby but rather provide a class
|
|
19
|
+
# method for block execution on a temp dc
|
|
20
|
+
spec.add_extend_code 'wxScreenDC', <<~__HEREDOC
|
|
21
|
+
static VALUE paint(VALUE proc)
|
|
22
|
+
{
|
|
23
|
+
if (rb_block_given_p ())
|
|
24
|
+
{
|
|
25
|
+
wxScreenDC screen_dc;
|
|
26
|
+
wxDC* dc_ptr = &screen_dc;
|
|
27
|
+
VALUE rb_dc = SWIG_NewPointerObj(SWIG_as_voidptr(dc_ptr), SWIGTYPE_p_wxScreenDC, 0);
|
|
28
|
+
return rb_yield(rb_dc);
|
|
29
|
+
}
|
|
30
|
+
return Qnil;
|
|
31
|
+
}
|
|
32
|
+
__HEREDOC
|
|
33
|
+
# not relevant anymore
|
|
34
|
+
spec.ignore 'wxScreenDC::StartDrawingOnTop',
|
|
35
|
+
'wxScreenDC::EndDrawingOnTop',
|
|
36
|
+
'wxScreenDC::wxScreenDC'
|
|
37
|
+
elsif spec.module_name == 'wxSVGFileDC'
|
|
38
|
+
spec.items.concat %w[wxSVGBitmapHandler wxSVGBitmapFileHandler wxSVGBitmapEmbedHandler]
|
|
39
|
+
spec.disown 'wxSVGBitmapHandler *handler'
|
|
40
|
+
# all inherited from wxDC; only documented since they are not implemented for this DC class
|
|
41
|
+
spec.ignore 'wxSVGFileDC::DestroyClippingRegion',
|
|
42
|
+
'wxSVGFileDC::CrossHair',
|
|
43
|
+
'wxSVGFileDC::FloodFill',
|
|
44
|
+
'wxSVGFileDC::GetPixel',
|
|
45
|
+
'wxSVGFileDC::SetPalette',
|
|
46
|
+
'wxSVGFileDC::GetDepth',
|
|
47
|
+
'wxSVGFileDC::SetLogicalFunction',
|
|
48
|
+
'wxSVGFileDC::GetLogicalFunction',
|
|
49
|
+
'wxSVGFileDC::StartDoc',
|
|
50
|
+
'wxSVGFileDC::EndDoc',
|
|
51
|
+
'wxSVGFileDC::StartPage',
|
|
52
|
+
'wxSVGFileDC::EndPage'
|
|
53
|
+
elsif spec.module_name == 'wxGCDC'
|
|
54
|
+
spec.ignore 'wxGCDC::wxGCDC(const wxEnhMetaFileDC &)'
|
|
55
|
+
else
|
|
56
|
+
# ctors of all other derived DC require a running App
|
|
57
|
+
spec.require_app spec.module_name
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end # class DerivedDC
|
|
61
|
+
|
|
62
|
+
end # class Director
|
|
63
|
+
|
|
64
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './top_level_window'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class Dialog < TopLevelWindow
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
# overrule common typemap to allow default NULL
|
|
17
|
+
spec.map 'wxWindow* parent' do
|
|
18
|
+
map_check code: ''
|
|
19
|
+
end
|
|
20
|
+
case spec.module_name
|
|
21
|
+
when 'wxDialog'
|
|
22
|
+
spec.ignore('wxDialog::GetContentWindow',
|
|
23
|
+
'wxDialog::GetToolBar') # seemingly removed from MSW
|
|
24
|
+
spec.swig_import('swig/classes/include/wxDefs.h')
|
|
25
|
+
spec.add_wrapper_code <<~__HEREDOC
|
|
26
|
+
extern VALUE wxRuby_GetDialogClass() {
|
|
27
|
+
return SwigClassWxDialog.klass;
|
|
28
|
+
}
|
|
29
|
+
__HEREDOC
|
|
30
|
+
when 'wxMessageDialog'
|
|
31
|
+
when 'wxFontDialog'
|
|
32
|
+
# ignore the non-const version
|
|
33
|
+
spec.ignore 'wxFontDialog::GetFontData'
|
|
34
|
+
spec.regard 'wxFontDialog::GetFontData() const'
|
|
35
|
+
when 'wxFileDialog'
|
|
36
|
+
# override the wxArrayString& typemap for GetFilenames and GetPaths
|
|
37
|
+
spec.map 'wxArrayString&' => 'Array<String>' do
|
|
38
|
+
map_in ignore: true, temp: 'wxArrayString sel', code: '$1 = &sel;'
|
|
39
|
+
map_argout code: <<~__CODE
|
|
40
|
+
$result = rb_ary_new();
|
|
41
|
+
for (size_t i = 0; i < $1->GetCount(); i++)
|
|
42
|
+
rb_ary_push($result, WXSTR_TO_RSTR( (*$1)[i] ) );
|
|
43
|
+
__CODE
|
|
44
|
+
end
|
|
45
|
+
spec.ignore 'wxFileDialog::SetExtraControlCreator'
|
|
46
|
+
if Config.instance.wx_version >= '3.2.1'
|
|
47
|
+
# doc does not seem to match actual header code so just ignore for now
|
|
48
|
+
spec.ignore('wxFileDialog::AddShortcut')
|
|
49
|
+
end
|
|
50
|
+
spec.do_not_generate :functions
|
|
51
|
+
when 'wxPropertySheetDialog'
|
|
52
|
+
spec.ignore 'wxPropertySheetDialog::GetContentWindow'
|
|
53
|
+
# In Ruby a derived class with customized '#initialize' is far easier
|
|
54
|
+
spec.ignore 'wxPropertySheetDialog::CreateBookCtrl'
|
|
55
|
+
# Needs special handling to ensure the return value is cast to the
|
|
56
|
+
# correct book class, not the generic abstract parent class
|
|
57
|
+
# wxBookCtrlBase
|
|
58
|
+
spec.ignore('wxPropertySheetDialog::GetBookCtrl', ignore_doc: false) # keep doc
|
|
59
|
+
spec.add_extend_code 'wxPropertySheetDialog', <<~__HEREDOC
|
|
60
|
+
VALUE get_book_ctrl() {
|
|
61
|
+
wxBookCtrlBase* book = $self->GetBookCtrl();
|
|
62
|
+
return wxRuby_WrapWxObjectInRuby( (wxObject*)book) ;
|
|
63
|
+
}
|
|
64
|
+
__HEREDOC
|
|
65
|
+
when 'wxFindReplaceDialog'
|
|
66
|
+
spec.ignore 'wxFindReplaceDialog::wxFindReplaceDialog()'
|
|
67
|
+
spec.map_apply 'SWIGTYPE *DISOWN' => 'wxFindReplaceData* data'
|
|
68
|
+
spec.do_not_generate(:variables, :enums)
|
|
69
|
+
when 'wxColourDialog'
|
|
70
|
+
# make interface GC-safe
|
|
71
|
+
spec.ignore 'wxColourDialog::GetColourData'
|
|
72
|
+
spec.add_extend_code 'wxColourDialog', <<~__HEREDOC
|
|
73
|
+
wxColourData* GetColourData()
|
|
74
|
+
{
|
|
75
|
+
return new wxColourData(self->GetColourData());
|
|
76
|
+
}
|
|
77
|
+
void SetColourData(const wxColourData& cd)
|
|
78
|
+
{
|
|
79
|
+
self->GetColourData() = cd;
|
|
80
|
+
}
|
|
81
|
+
__HEREDOC
|
|
82
|
+
spec.new_object 'wxColourDialog::GetColourData'
|
|
83
|
+
when 'wxTextEntryDialog'
|
|
84
|
+
spec.items << 'wxPasswordEntryDialog'
|
|
85
|
+
when 'wxSingleChoiceDialog'
|
|
86
|
+
# unnneeded and unwanted for Ruby
|
|
87
|
+
spec.ignore 'wxSingleChoiceDialog::wxSingleChoiceDialog(wxWindow *,const wxString &,const wxString &,int,const wxString *,void **,long,const wxPoint &)'
|
|
88
|
+
# Wx's SingleChoiceDialog offers the possibility of attaching client
|
|
89
|
+
# data to each choice. However this would need memory management, and a
|
|
90
|
+
# pure ruby implementation is trivial and likely to be more convenient
|
|
91
|
+
# on a per-case basis so just ignore this argument for Ruby.
|
|
92
|
+
spec.map 'char** clientData' do
|
|
93
|
+
map_in ignore: true, code: '$1 = (char **)NULL;'
|
|
94
|
+
end
|
|
95
|
+
spec.ignore 'wxSingleChoiceDialog::GetSelectionData'
|
|
96
|
+
spec.do_not_generate(:functions)
|
|
97
|
+
when 'wxMultiChoiceDialog'
|
|
98
|
+
# unnneeded and unwanted for Ruby
|
|
99
|
+
spec.ignore 'wxMultiChoiceDialog::wxMultiChoiceDialog(wxWindow *,const wxString &,const wxString &,int,const wxString *,long,const wxPoint &)'
|
|
100
|
+
# Wx's MultiChoiceDialog offers the possibility of attaching client
|
|
101
|
+
# data to each choice. However this would need memory management, and a
|
|
102
|
+
# pure ruby implementation is trivial and likely to be more convenient
|
|
103
|
+
# on a per-case basis so just ignore this argument for Ruby.
|
|
104
|
+
spec.map 'char** clientData' do
|
|
105
|
+
map_in ignore: true, code: '$1 = (char **)NULL;'
|
|
106
|
+
end
|
|
107
|
+
spec.do_not_generate(:functions, :enums, :defines)
|
|
108
|
+
when 'wxDirDialog'
|
|
109
|
+
when 'wxProgressDialog'
|
|
110
|
+
# These two have problematic arguments; they accept a bool pointer
|
|
111
|
+
# which will be set to true if "skip" was pressed since the last
|
|
112
|
+
# update. Dealt with below.
|
|
113
|
+
spec.make_concrete 'wxProgressDialog'
|
|
114
|
+
spec.items << 'wxGenericProgressDialog'
|
|
115
|
+
spec.fold_bases('wxProgressDialog' => 'wxGenericProgressDialog')
|
|
116
|
+
spec.ignore(%w[wxGenericProgressDialog::Pulse wxGenericProgressDialog::Update], ignore_doc: false) # keep docs
|
|
117
|
+
# TODO : add docs for Ruby specials
|
|
118
|
+
spec.add_extend_code 'wxProgressDialog', <<~__HEREDOC
|
|
119
|
+
// In wxRuby there are two versions of each of these methods, the
|
|
120
|
+
// standard one which returns just true/false depending on whether it
|
|
121
|
+
// has been aborted, and a special one which returns a pair of values,
|
|
122
|
+
// true/false for "aborted" and then true/false for "skipped"
|
|
123
|
+
VALUE pulse(VALUE rb_msg = Qnil)
|
|
124
|
+
{
|
|
125
|
+
wxString new_msg;
|
|
126
|
+
if ( rb_msg == Qnil )
|
|
127
|
+
new_msg = wxEmptyString;
|
|
128
|
+
else
|
|
129
|
+
new_msg = wxString( StringValuePtr(rb_msg), wxConvUTF8 );
|
|
130
|
+
|
|
131
|
+
if ( $self->Pulse(new_msg) )
|
|
132
|
+
return Qtrue;
|
|
133
|
+
else
|
|
134
|
+
return Qfalse;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
VALUE pulse_and_check(VALUE rb_msg = Qnil)
|
|
138
|
+
{
|
|
139
|
+
VALUE ret = rb_ary_new();
|
|
140
|
+
|
|
141
|
+
wxString new_msg;
|
|
142
|
+
if ( rb_msg == Qnil )
|
|
143
|
+
new_msg = wxEmptyString;
|
|
144
|
+
else
|
|
145
|
+
new_msg = wxString( StringValuePtr(rb_msg), wxConvUTF8 );
|
|
146
|
+
|
|
147
|
+
bool skip = false;
|
|
148
|
+
if ( $self->Pulse(new_msg, &skip) )
|
|
149
|
+
rb_ary_push(ret, Qtrue);
|
|
150
|
+
else
|
|
151
|
+
rb_ary_push(ret, Qfalse);
|
|
152
|
+
|
|
153
|
+
rb_ary_push(ret, ( skip ? Qtrue : Qfalse) );
|
|
154
|
+
|
|
155
|
+
return ret;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
VALUE update(int value, VALUE rb_msg = Qnil)
|
|
159
|
+
{
|
|
160
|
+
wxString new_msg;
|
|
161
|
+
if ( rb_msg == Qnil )
|
|
162
|
+
new_msg = wxEmptyString;
|
|
163
|
+
else
|
|
164
|
+
new_msg = wxString( StringValuePtr(rb_msg), wxConvUTF8 );
|
|
165
|
+
|
|
166
|
+
if ( $self->Update(value, new_msg) )
|
|
167
|
+
return Qtrue;
|
|
168
|
+
else
|
|
169
|
+
return Qfalse;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
VALUE update_and_check(int value, VALUE rb_msg = Qnil)
|
|
173
|
+
{
|
|
174
|
+
VALUE ret = rb_ary_new();
|
|
175
|
+
|
|
176
|
+
wxString new_msg;
|
|
177
|
+
if ( rb_msg == Qnil )
|
|
178
|
+
new_msg = wxEmptyString;
|
|
179
|
+
else
|
|
180
|
+
new_msg = wxString( StringValuePtr(rb_msg), wxConvUTF8 );
|
|
181
|
+
|
|
182
|
+
bool skip = false;
|
|
183
|
+
if ( $self->Update(value, new_msg, &skip) )
|
|
184
|
+
rb_ary_push(ret, Qtrue);
|
|
185
|
+
else
|
|
186
|
+
rb_ary_push(ret, Qfalse);
|
|
187
|
+
|
|
188
|
+
rb_ary_push(ret, ( skip ? Qtrue : Qfalse) );
|
|
189
|
+
|
|
190
|
+
return ret;
|
|
191
|
+
}
|
|
192
|
+
__HEREDOC
|
|
193
|
+
when 'wxWizard'
|
|
194
|
+
# special handling
|
|
195
|
+
spec.ignore 'wxWizard::GetBitmap'
|
|
196
|
+
# add custom Ruby version
|
|
197
|
+
spec.add_extend_code 'wxWizard', <<~__HEREDOC
|
|
198
|
+
wxBitmap GetBitmap() const
|
|
199
|
+
{
|
|
200
|
+
return $self->GetBitmap();
|
|
201
|
+
}
|
|
202
|
+
__HEREDOC
|
|
203
|
+
# handled; can be suppressed
|
|
204
|
+
spec.suppress_warning(473,
|
|
205
|
+
'wxWizard::GetCurrentPage',
|
|
206
|
+
'wxWizard::GetPageAreaSizer')
|
|
207
|
+
spec.do_not_generate(:variables, :enums, :defines, :functions)
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
end # class Dialog
|
|
211
|
+
|
|
212
|
+
end # class Director
|
|
213
|
+
|
|
214
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './ctrl_with_items'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class DirFilterListCtrl < ControlWithItems
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
setup_ctrl_with_items('wxDirFilterListCtrl')
|
|
17
|
+
spec.override_inheritance_chain('wxDirFilterListCtrl',
|
|
18
|
+
%w[wxChoice
|
|
19
|
+
wxControlWithItems
|
|
20
|
+
wxControl
|
|
21
|
+
wxWindow
|
|
22
|
+
wxEvtHandler
|
|
23
|
+
wxObject])
|
|
24
|
+
end
|
|
25
|
+
end # class DirFilterListCtrl
|
|
26
|
+
|
|
27
|
+
end # class Director
|
|
28
|
+
|
|
29
|
+
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 DirPickerCtrl < Window
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.do_not_generate(:variables, :defines, :enums, :functions) # with FileDirPickerEvent
|
|
17
|
+
end
|
|
18
|
+
end # class DirPickerCtrl
|
|
19
|
+
|
|
20
|
+
end # class Director
|
|
21
|
+
|
|
22
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,20 @@
|
|
|
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 DragImage < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
spec.set_only_for('__WXUNIVERSAL__', 'wxDragImage::DoDrawImage', 'wxDragImage::GetImageRect', 'wxDragImage::UpdateBackingFromWindow')
|
|
14
|
+
super
|
|
15
|
+
end
|
|
16
|
+
end # class DragImage
|
|
17
|
+
|
|
18
|
+
end # class Director
|
|
19
|
+
|
|
20
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,61 @@
|
|
|
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 DragDrop < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.items.replace %w[wxDropSource wxDropTarget wxFileDropTarget wxTextDropTarget dnd.h]
|
|
15
|
+
spec.gc_as_object
|
|
16
|
+
# wxWidgets will free the DataObject once it's owned by DropSource or DropTarget
|
|
17
|
+
spec.disown 'wxDataObject* data'
|
|
18
|
+
# special mark functions to preserve Ruby object during GC
|
|
19
|
+
spec.add_header_code <<~__HEREDOC
|
|
20
|
+
static void mark_wxDropTarget(void* ptr)
|
|
21
|
+
{
|
|
22
|
+
if ( GC_IsWindowDeleted(ptr) ) return;
|
|
23
|
+
|
|
24
|
+
wxDropTarget* drop_tgt = (wxDropTarget*)ptr;
|
|
25
|
+
wxDataObject* data_obj = drop_tgt->GetDataObject();
|
|
26
|
+
if ( data_obj )
|
|
27
|
+
rb_gc_mark( SWIG_RubyInstanceFor(data_obj) );
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
static void mark_wxDropSource(void* ptr)
|
|
31
|
+
{
|
|
32
|
+
if ( GC_IsWindowDeleted(ptr) ) return;
|
|
33
|
+
|
|
34
|
+
wxDropSource* drop_src = (wxDropSource*)ptr;
|
|
35
|
+
wxDataObject* data_obj = drop_src->GetDataObject();
|
|
36
|
+
if ( data_obj )
|
|
37
|
+
rb_gc_mark( SWIG_RubyInstanceFor(data_obj) );
|
|
38
|
+
}
|
|
39
|
+
__HEREDOC
|
|
40
|
+
spec.add_swig_code '%markfunc wxDropSource "mark_wxDropSource";',
|
|
41
|
+
'%markfunc wxDropTarget "mark_wxDropTarget";'
|
|
42
|
+
spec.extend_interface 'wxDropSource', 'virtual ~wxDropSource()' # correct interface omission
|
|
43
|
+
spec.ignore %w[wxFileDropTarget::OnDrop wxTextDropTarget::OnDrop]
|
|
44
|
+
spec.no_proxy %w[wxFileDropTarget::OnDrop wxFileDropTarget::OnData]
|
|
45
|
+
spec.no_proxy %w[wxTextDropTarget::OnDrop wxTextDropTarget::OnData]
|
|
46
|
+
# type mapping for wxFileDropTarget::OnDropFiles
|
|
47
|
+
spec.map 'const wxArrayString&' => 'Array<String>' do
|
|
48
|
+
map_directorin code: <<~__CODE
|
|
49
|
+
$input = rb_ary_new();
|
|
50
|
+
for (size_t i = 0; i < $1.GetCount(); i++)
|
|
51
|
+
{
|
|
52
|
+
rb_ary_push($input, WXSTR_TO_RSTR($1.Item(i)));
|
|
53
|
+
}
|
|
54
|
+
__CODE
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end # class DragDrop
|
|
58
|
+
|
|
59
|
+
end # class Director
|
|
60
|
+
|
|
61
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,21 @@
|
|
|
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 EditableListBox < Window
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
end
|
|
17
|
+
end # class EditableListBox
|
|
18
|
+
|
|
19
|
+
end # class Director
|
|
20
|
+
|
|
21
|
+
end # module WXRuby3
|