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,76 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 Common typemap definitions
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative '../core/mapping'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
module Typemap
|
|
11
|
+
|
|
12
|
+
# Deals with GetAllFormats
|
|
13
|
+
module DataFormat
|
|
14
|
+
|
|
15
|
+
include Typemap::Module
|
|
16
|
+
|
|
17
|
+
define do
|
|
18
|
+
map 'wxDataFormat* formats' => 'Array<Wx::DataFormat>' do
|
|
19
|
+
|
|
20
|
+
# ignore argument for Ruby
|
|
21
|
+
# since an "ignored" typemap is inserted before any other argument conversions we need
|
|
22
|
+
# we cannot handle any C++ argument setup here; we use the 'check' typemap for that
|
|
23
|
+
map_in ignore: true, code: ''
|
|
24
|
+
|
|
25
|
+
# "misuse" the 'check' typemap to initialize the ignored argument
|
|
26
|
+
# since this is inserted after any non-ignored arguments have been converted we can use these
|
|
27
|
+
# here
|
|
28
|
+
map_check temp: 'std::unique_ptr<wxDataFormat[]> fmts, size_t nfmt', code: <<~__CODE
|
|
29
|
+
nfmt = arg1->GetFormatCount(arg3);
|
|
30
|
+
if (nfmt > 0)
|
|
31
|
+
{
|
|
32
|
+
fmts = std::make_unique<wxDataFormat[]>(nfmt);
|
|
33
|
+
}
|
|
34
|
+
$1 = fmts.get ();
|
|
35
|
+
__CODE
|
|
36
|
+
|
|
37
|
+
# now convert the ignored argument to setup the Ruby style output
|
|
38
|
+
map_argout code: <<~__CODE
|
|
39
|
+
VALUE rb_fmt_arr = Qnil;
|
|
40
|
+
if (nfmt$argnum > 0)
|
|
41
|
+
{
|
|
42
|
+
rb_fmt_arr = rb_ary_new ();
|
|
43
|
+
for (size_t n=0; n<nfmt$argnum ;++n)
|
|
44
|
+
{
|
|
45
|
+
wxDataFormat* fmt = &(fmts$argnum.get ()[n]);
|
|
46
|
+
VALUE rb_fmt = SWIG_NewPointerObj(new wxDataFormat(*fmt), SWIGTYPE_p_wxDataFormat, SWIG_POINTER_OWN | 0 );
|
|
47
|
+
rb_ary_push (rb_fmt_arr, rb_fmt);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
$result = rb_fmt_arr;
|
|
51
|
+
__CODE
|
|
52
|
+
|
|
53
|
+
# just skip this; nothing to convert
|
|
54
|
+
map_directorin code: ''
|
|
55
|
+
|
|
56
|
+
# handle the Ruby style result
|
|
57
|
+
map_directorargout code: <<~__CODE
|
|
58
|
+
for ( size_t i = 0; i < this->GetFormatCount(); i++ )
|
|
59
|
+
{
|
|
60
|
+
void* tmp;
|
|
61
|
+
SWIG_ConvertPtr(rb_ary_entry(result, i),
|
|
62
|
+
&tmp,
|
|
63
|
+
SWIGTYPE_p_wxDataFormat, 0);
|
|
64
|
+
wxDataFormat* fmt = reinterpret_cast< wxDataFormat* >(tmp);
|
|
65
|
+
$1[i] = *fmt;
|
|
66
|
+
}
|
|
67
|
+
__CODE
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
end # define
|
|
71
|
+
|
|
72
|
+
end # DataFormat
|
|
73
|
+
|
|
74
|
+
end # Typemap
|
|
75
|
+
|
|
76
|
+
end # WXRuby3
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 Common typemap definitions
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative '../core/mapping'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
module Typemap
|
|
11
|
+
|
|
12
|
+
# Deals with GetDataHere and SetData
|
|
13
|
+
module DataObjectData
|
|
14
|
+
|
|
15
|
+
include Typemap::Module
|
|
16
|
+
|
|
17
|
+
define do
|
|
18
|
+
|
|
19
|
+
# For wxDataObject::GetDataHere: the ruby method is passed the DataFormat
|
|
20
|
+
# for the sought data, and should return either a string containing the
|
|
21
|
+
# data, or nil if the data cannot be provided for some reason.
|
|
22
|
+
map 'const wxDataFormat &format, void *buf' do
|
|
23
|
+
# this is needed for this and all other mappings
|
|
24
|
+
add_header '#include <wx/dataobj.h>'
|
|
25
|
+
|
|
26
|
+
map_in from: {type: 'Wx::DataFormat', index: 0}, temp: 'std::unique_ptr<char[]> data_buf, size_t data_size', code: <<~__CODE
|
|
27
|
+
void* argp$argnum = NULL;
|
|
28
|
+
if ( TYPE($input) == T_DATA )
|
|
29
|
+
{
|
|
30
|
+
if (SWIG_IsOK(SWIG_ConvertPtr($input, &argp$argnum, $1_descriptor, $argnum-1)) && argp$argnum)
|
|
31
|
+
{
|
|
32
|
+
$1 = reinterpret_cast< $1_basetype * >(argp$argnum);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (!argp$argnum)
|
|
36
|
+
{
|
|
37
|
+
rb_raise(rb_eTypeError, "Expected Wx::DataFormat instance.");
|
|
38
|
+
}
|
|
39
|
+
data_size = arg1->GetDataSize(*$1);
|
|
40
|
+
data_buf = std::make_unique<char[]>(data_size);
|
|
41
|
+
$2 = data_buf.get ();
|
|
42
|
+
__CODE
|
|
43
|
+
|
|
44
|
+
# ignore C defined return value entirely (also affects directorout)
|
|
45
|
+
map_out ignore: 'bool'
|
|
46
|
+
|
|
47
|
+
map_argout as: {type: 'String', index: 1}, code: <<~__CODE
|
|
48
|
+
if (result)
|
|
49
|
+
{
|
|
50
|
+
$result = rb_str_new( (const char*)data_buf$argnum.get(), data_size$argnum);
|
|
51
|
+
}
|
|
52
|
+
else
|
|
53
|
+
$result = Qnil;
|
|
54
|
+
__CODE
|
|
55
|
+
|
|
56
|
+
# convert the dataformat and ignore the buffer pointer for now
|
|
57
|
+
map_directorin code: '$input = SWIG_NewPointerObj(SWIG_as_voidptr(&$1), SWIGTYPE_p_wxDataFormat, 0);'
|
|
58
|
+
|
|
59
|
+
map_directorargout code: <<~__CODE
|
|
60
|
+
if (RTEST(result))
|
|
61
|
+
{
|
|
62
|
+
if (TYPE(result) == T_STRING)
|
|
63
|
+
{
|
|
64
|
+
memcpy(buf, StringValuePtr(result), RSTRING_LEN(result) );
|
|
65
|
+
c_result = true;
|
|
66
|
+
}
|
|
67
|
+
else
|
|
68
|
+
{
|
|
69
|
+
Swig::DirectorTypeMismatchException::raise(rb_eTypeError,
|
|
70
|
+
"get_data_here should return a string, or nil on failure");
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else
|
|
74
|
+
c_result = false;
|
|
75
|
+
__CODE
|
|
76
|
+
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# For SetData: the data contents to be set upon the data object is
|
|
80
|
+
# passed in as a Ruby string; the ruby method should return a true
|
|
81
|
+
# value if the data could be set successfully, or false/nil if it could
|
|
82
|
+
# not. This string is marked as tainted.
|
|
83
|
+
map 'size_t len, const void* buf' do
|
|
84
|
+
|
|
85
|
+
map_in from: {type: 'String', index: 1}, code: <<~__CODE
|
|
86
|
+
$1 = RSTRING_LEN($input);
|
|
87
|
+
$2 = (void*)StringValuePtr($input);
|
|
88
|
+
__CODE
|
|
89
|
+
|
|
90
|
+
map_directorin code: '$input = rb_external_str_new( (const char *)buf, len );'
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
end # define
|
|
94
|
+
|
|
95
|
+
end # DataObjectData
|
|
96
|
+
|
|
97
|
+
end # Typemap
|
|
98
|
+
|
|
99
|
+
end # WXRuby3
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 Common typemap definitions
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative '../core/mapping'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
module Typemap
|
|
11
|
+
|
|
12
|
+
# Typemaps for converting between wxDateTime and Ruby's Date and Time
|
|
13
|
+
# classes. These are used in CalendarCtrl etc
|
|
14
|
+
module DateTime
|
|
15
|
+
|
|
16
|
+
include Typemap::Module
|
|
17
|
+
|
|
18
|
+
define do
|
|
19
|
+
|
|
20
|
+
map 'wxDateTime&' => 'Time,Date,DateTime' do
|
|
21
|
+
|
|
22
|
+
add_header_code <<~__CODE
|
|
23
|
+
#ifndef __WXRB_DATETIME_HELPERS__
|
|
24
|
+
#include <wx/datetime.h>
|
|
25
|
+
|
|
26
|
+
WXRB_EXPORT_FLAG VALUE wxRuby_wxDateTimeToRuby(const wxDateTime& dt);
|
|
27
|
+
|
|
28
|
+
WXRB_EXPORT_FLAG wxDateTime* wxRuby_wxDateTimeFromRuby(VALUE ruby_value);
|
|
29
|
+
#endif
|
|
30
|
+
__CODE
|
|
31
|
+
|
|
32
|
+
# Accepts any Time-like object from Ruby and creates a wxDateTime
|
|
33
|
+
map_in temp: 'std::unique_ptr<wxDateTime> tmp_dt',
|
|
34
|
+
code: 'tmp_dt.reset(wxRuby_wxDateTimeFromRuby($input)); $1 = tmp_dt.get();'
|
|
35
|
+
|
|
36
|
+
# Converts a return value of wxDateTime& to a Ruby Time object
|
|
37
|
+
map_out code: '$result = wxRuby_wxDateTimeToRuby(*$1);'
|
|
38
|
+
|
|
39
|
+
map_directorin code: '$input = wxRuby_wxDateTimeToRuby($1);'
|
|
40
|
+
|
|
41
|
+
map_typecheck precedence: 'SWIGOBJECT', code: <<~__CODE
|
|
42
|
+
$1 = rb_obj_is_kind_of($input, rb_cTime) || rb_respond_to($input, rb_intern ("to_time"));
|
|
43
|
+
__CODE
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
map 'wxDateTime' => 'Time,Date,DateTime' do
|
|
47
|
+
|
|
48
|
+
# Converts a return value of wxDateTime to a Ruby Time object
|
|
49
|
+
map_out code: '$result = wxRuby_wxDateTimeToRuby($1);'
|
|
50
|
+
|
|
51
|
+
map_directorout temp: 'std::unique_ptr<wxDateTime> tmp_dt', code: <<~__CODE
|
|
52
|
+
tmp_dt.reset(wxRuby_wxDateTimeFromRuby($input));
|
|
53
|
+
$result = *tmp_dt.get();
|
|
54
|
+
__CODE
|
|
55
|
+
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
end # define
|
|
59
|
+
|
|
60
|
+
end # DateTime
|
|
61
|
+
|
|
62
|
+
end # Typemap
|
|
63
|
+
|
|
64
|
+
end # WXRuby3
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 Grid client data typemap definition
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative '../core/mapping'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
module Typemap
|
|
11
|
+
|
|
12
|
+
# Typemaps for converting returned PGCell references to
|
|
13
|
+
# either the correct wxRuby class
|
|
14
|
+
module GridClientData
|
|
15
|
+
|
|
16
|
+
include Typemap::Module
|
|
17
|
+
|
|
18
|
+
define do
|
|
19
|
+
|
|
20
|
+
map 'wxClientData *' => 'Object' do
|
|
21
|
+
add_header_code <<~__CODE
|
|
22
|
+
#include <wx/clntdata.h>
|
|
23
|
+
extern void wxRuby_RegisterGridClientData(wxClientData* pcd, VALUE rbval);
|
|
24
|
+
extern void wxRuby_UnregisterGridClientData(wxClientData* pcd);
|
|
25
|
+
|
|
26
|
+
class WXRBGridClientData : public wxClientData
|
|
27
|
+
{
|
|
28
|
+
public:
|
|
29
|
+
WXRBGridClientData() : rb_data(Qnil) { }
|
|
30
|
+
WXRBGridClientData (VALUE data) : rb_data(data) { wxRuby_RegisterGridClientData(this, data); }
|
|
31
|
+
virtual ~WXRBGridClientData () { wxRuby_UnregisterGridClientData(this); }
|
|
32
|
+
VALUE GetData() const { return rb_data; }
|
|
33
|
+
private:
|
|
34
|
+
VALUE rb_data;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
__CODE
|
|
38
|
+
map_in code: '$1 = new WXRBGridClientData($input);'
|
|
39
|
+
map_out code: <<~__CODE
|
|
40
|
+
$result = Qnil;
|
|
41
|
+
if ($1)
|
|
42
|
+
{
|
|
43
|
+
WXRBGridClientData* pgcd = dynamic_cast<WXRBGridClientData*> ($1);
|
|
44
|
+
if (pgcd) $result = pgcd->GetData();
|
|
45
|
+
}
|
|
46
|
+
__CODE
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 Common typemap definitions
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative '../core/mapping'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
module Typemap
|
|
11
|
+
|
|
12
|
+
# Shared typemaps used by Grid classes to map wxGridCellCoords to
|
|
13
|
+
# simple two-element ruby arrays
|
|
14
|
+
module GridCoords
|
|
15
|
+
|
|
16
|
+
include Typemap::Module
|
|
17
|
+
|
|
18
|
+
define do
|
|
19
|
+
|
|
20
|
+
map 'wxGridCellCoords' => 'Array(Integer, Integer)' do
|
|
21
|
+
|
|
22
|
+
map_in temp: 'int a, b', code: <<~__CODE
|
|
23
|
+
if ( ! TYPE($input) == T_ARRAY )
|
|
24
|
+
{
|
|
25
|
+
rb_raise(rb_eTypeError,
|
|
26
|
+
"Grid cell co-ordinates should be passed as [row, col] array");
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
a = NUM2INT( rb_ary_entry($1, 0) );
|
|
30
|
+
b = NUM2INT( rb_ary_entry($1, 1) );
|
|
31
|
+
$input = wxGridCellCoords(a,b);
|
|
32
|
+
__CODE
|
|
33
|
+
|
|
34
|
+
map_out code: <<~__CODE
|
|
35
|
+
$result = rb_ary_new();
|
|
36
|
+
rb_ary_push($result, INT2NUM($1.GetRow() ));
|
|
37
|
+
rb_ary_push($result, INT2NUM($1.GetCol() ));
|
|
38
|
+
__CODE
|
|
39
|
+
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Needed for get_selected_cells, get_selection_block_top_left etc
|
|
43
|
+
map 'wxGridCellCoordsArray' => 'Array<Array(Integer, Integer)>' do
|
|
44
|
+
|
|
45
|
+
map_out code: <<~__CODE
|
|
46
|
+
$result = rb_ary_new();
|
|
47
|
+
for (size_t i = 0; i < $1.GetCount(); i++)
|
|
48
|
+
{
|
|
49
|
+
wxGridCellCoords coord = $1.Item(i);
|
|
50
|
+
VALUE rb_coord = rb_ary_new();
|
|
51
|
+
rb_ary_push(rb_coord, INT2NUM(coord.GetRow()));
|
|
52
|
+
rb_ary_push(rb_coord, INT2NUM(coord.GetCol()));
|
|
53
|
+
rb_ary_push($result, rb_coord);
|
|
54
|
+
}
|
|
55
|
+
__CODE
|
|
56
|
+
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
end # define
|
|
60
|
+
|
|
61
|
+
end # GridCoords
|
|
62
|
+
|
|
63
|
+
end # Typemap
|
|
64
|
+
|
|
65
|
+
end # WXRuby3
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 HtmlCell typemap definition
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative '../core/mapping'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
module Typemap
|
|
11
|
+
|
|
12
|
+
# Typemaps for converting returned HtmlCell references to
|
|
13
|
+
# either the base Wx::HTML::HtmlCell or Wx::HTML::HtmlContainerCell
|
|
14
|
+
module HtmlCell
|
|
15
|
+
|
|
16
|
+
include Typemap::Module
|
|
17
|
+
|
|
18
|
+
define do
|
|
19
|
+
|
|
20
|
+
map 'wxHtmlCell*' => 'Wx::HTML::HtmlCell,Wx::HTML::HtmlContainerCell' do
|
|
21
|
+
map_out code: <<~__CODE
|
|
22
|
+
// attempt a dynamic cast to wxHtmlContainerCell
|
|
23
|
+
wxHtmlContainerCell* con_cell = dynamic_cast<wxHtmlContainerCell*> ($1);
|
|
24
|
+
if (con_cell)
|
|
25
|
+
{
|
|
26
|
+
swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(rb_eval_string("Wx::HTML::HtmlContainerCell"));
|
|
27
|
+
$result = SWIG_NewPointerObj(con_cell, swig_type, 0);
|
|
28
|
+
}
|
|
29
|
+
else
|
|
30
|
+
{
|
|
31
|
+
swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(rb_eval_string("Wx::HTML::HtmlCell"));
|
|
32
|
+
$result = SWIG_NewPointerObj($1, swig_type, 0);
|
|
33
|
+
}
|
|
34
|
+
__CODE
|
|
35
|
+
map_directorin code: <<~__CODE
|
|
36
|
+
// attempt a dynamic cast to wxHtmlContainerCell
|
|
37
|
+
wxHtmlContainerCell* con_cell = dynamic_cast<wxHtmlContainerCell*> ($1);
|
|
38
|
+
if (con_cell)
|
|
39
|
+
{
|
|
40
|
+
swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(rb_eval_string("Wx::HTML::HtmlContainerCell"));
|
|
41
|
+
$input = SWIG_NewPointerObj(con_cell, swig_type, 0);
|
|
42
|
+
}
|
|
43
|
+
else
|
|
44
|
+
{
|
|
45
|
+
swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(rb_eval_string("Wx::HTML::HtmlCell"));
|
|
46
|
+
$input = SWIG_NewPointerObj($1, swig_type, 0);
|
|
47
|
+
}
|
|
48
|
+
__CODE
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
end
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 Common typemap definitions
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative '../core/mapping'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
module Typemap
|
|
11
|
+
|
|
12
|
+
# wxInputStream and wxOutputStream are used to allow certain classes in
|
|
13
|
+
# wxWidgets - for example, wxImage - to read and write data from
|
|
14
|
+
# arbitrary streams. Rather than expose these classes directly, which
|
|
15
|
+
# would duplicate ruby's IO/File classes, wxRuby here provides the
|
|
16
|
+
# ability for any IO-like object implementing "read" to act as an input
|
|
17
|
+
# stream, and similarly any object implementing "write" to act as an
|
|
18
|
+
# output stream.
|
|
19
|
+
|
|
20
|
+
# So there are two thin classes which translate C++ calls to IO
|
|
21
|
+
# functions to the equivalent ruby calls, and, the typemaps that
|
|
22
|
+
# create these wrapper objects as needed.
|
|
23
|
+
module IOStreams
|
|
24
|
+
|
|
25
|
+
include Typemap::Module
|
|
26
|
+
|
|
27
|
+
define do
|
|
28
|
+
|
|
29
|
+
map 'wxInputStream &' => 'IO,Wx::InputStream' do
|
|
30
|
+
|
|
31
|
+
add_header_code <<~__CODE
|
|
32
|
+
WXRUBY_EXPORT bool wxRuby_IsInputStream(VALUE);
|
|
33
|
+
WXRUBY_EXPORT bool wxRuby_IsCompatibleInput(VALUE rbis);
|
|
34
|
+
WXRUBY_EXPORT wxInputStream* wxRuby_RubyToInputStream(VALUE);
|
|
35
|
+
WXRUBY_EXPORT VALUE wxRuby_RubyFromInputStream(wxInputStream&);
|
|
36
|
+
|
|
37
|
+
class WXRUBY_EXPORT wxRubyInputStream : public wxInputStream
|
|
38
|
+
{
|
|
39
|
+
public:
|
|
40
|
+
// Initialize with the readable ruby IO-like object
|
|
41
|
+
wxRubyInputStream(VALUE rb_io);
|
|
42
|
+
virtual ~wxRubyInputStream();
|
|
43
|
+
|
|
44
|
+
wxFileOffset GetLength() const wxOVERRIDE;
|
|
45
|
+
|
|
46
|
+
bool CanRead() const wxOVERRIDE;
|
|
47
|
+
bool Eof() const wxOVERRIDE;
|
|
48
|
+
bool Ok() const { return IsOk(); }
|
|
49
|
+
bool IsOk() const wxOVERRIDE;
|
|
50
|
+
bool IsSeekable() const wxOVERRIDE;
|
|
51
|
+
|
|
52
|
+
VALUE GetRubyIO () { return m_rbio; }
|
|
53
|
+
|
|
54
|
+
protected:
|
|
55
|
+
size_t OnSysRead(void *buffer, size_t bufsize) wxOVERRIDE;
|
|
56
|
+
wxFileOffset OnSysSeek(wxFileOffset seek, wxSeekMode mode) wxOVERRIDE;
|
|
57
|
+
wxFileOffset OnSysTell() const wxOVERRIDE;
|
|
58
|
+
|
|
59
|
+
VALUE m_rbio; // Wrapped ruby object
|
|
60
|
+
bool m_isIO;
|
|
61
|
+
bool m_isSeekable;
|
|
62
|
+
};
|
|
63
|
+
__CODE
|
|
64
|
+
|
|
65
|
+
map_in temp: 'std::unique_ptr<wxRubyInputStream> tmp_ris',
|
|
66
|
+
code: <<~__CODE
|
|
67
|
+
if (wxRuby_IsCompatibleInput($input))
|
|
68
|
+
{
|
|
69
|
+
tmp_ris = std::make_unique<wxRubyInputStream>($input);
|
|
70
|
+
$1 = tmp_ris.get();
|
|
71
|
+
}
|
|
72
|
+
else
|
|
73
|
+
{
|
|
74
|
+
$1 = wxRuby_RubyToInputStream($input);
|
|
75
|
+
if (!$1)
|
|
76
|
+
{
|
|
77
|
+
rb_raise(rb_eArgError, "Invalid value for %d expected IO(-like) or Wx::InputStream", $argnum-1);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
__CODE
|
|
81
|
+
|
|
82
|
+
map_directorin code: <<~__CODE
|
|
83
|
+
$input = wxRuby_RubyFromInputStream($1);
|
|
84
|
+
__CODE
|
|
85
|
+
|
|
86
|
+
map_typecheck precedence: 1, code: <<~__CODE
|
|
87
|
+
$1 = wxRuby_IsCompatibleInput($input) || wxRuby_IsInputStream($input);
|
|
88
|
+
__CODE
|
|
89
|
+
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
map 'wxOutputStream &' => 'IO,Wx::OutputStream' do
|
|
93
|
+
|
|
94
|
+
add_header_code <<~__CODE
|
|
95
|
+
WXRUBY_EXPORT bool wxRuby_IsOutputStream(VALUE);
|
|
96
|
+
WXRUBY_EXPORT bool wxRuby_IsCompatibleOutput(VALUE rbos);
|
|
97
|
+
WXRUBY_EXPORT wxOutputStream* wxRuby_RubyToOutputStream(VALUE);
|
|
98
|
+
WXRUBY_EXPORT VALUE wxRuby_RubyFromOutputStream(wxOutputStream&);
|
|
99
|
+
|
|
100
|
+
// Allows a ruby IO-like object to be used as a wxOutputStream
|
|
101
|
+
class WXRUBY_EXPORT wxRubyOutputStream : public wxOutputStream
|
|
102
|
+
{
|
|
103
|
+
public:
|
|
104
|
+
// Initialize with the writeable ruby IO-like object
|
|
105
|
+
wxRubyOutputStream(VALUE rb_io);
|
|
106
|
+
virtual ~wxRubyOutputStream();
|
|
107
|
+
|
|
108
|
+
wxFileOffset GetLength() const wxOVERRIDE;
|
|
109
|
+
|
|
110
|
+
void Sync() wxOVERRIDE;
|
|
111
|
+
bool Close() wxOVERRIDE;
|
|
112
|
+
bool Ok() const { return IsOk(); }
|
|
113
|
+
bool IsOk() const wxOVERRIDE;
|
|
114
|
+
bool IsSeekable() const wxOVERRIDE;
|
|
115
|
+
|
|
116
|
+
VALUE GetRubyIO () { return m_rbio; }
|
|
117
|
+
|
|
118
|
+
protected:
|
|
119
|
+
size_t OnSysWrite(const void *buffer, size_t size) wxOVERRIDE;
|
|
120
|
+
wxFileOffset OnSysSeek(wxFileOffset seek, wxSeekMode mode) wxOVERRIDE;
|
|
121
|
+
wxFileOffset OnSysTell() const wxOVERRIDE;
|
|
122
|
+
|
|
123
|
+
VALUE m_rbio; // Wrapped ruby object
|
|
124
|
+
bool m_isIO;
|
|
125
|
+
bool m_isSeekable;
|
|
126
|
+
};
|
|
127
|
+
__CODE
|
|
128
|
+
|
|
129
|
+
map_in temp: 'std::unique_ptr<wxRubyOutputStream> tmp_ros',
|
|
130
|
+
code: <<~__CODE
|
|
131
|
+
if (wxRuby_IsCompatibleOutput($input))
|
|
132
|
+
{
|
|
133
|
+
tmp_ros = std::make_unique<wxRubyOutputStream>($input);
|
|
134
|
+
$1 = tmp_ros.get();
|
|
135
|
+
}
|
|
136
|
+
else
|
|
137
|
+
{
|
|
138
|
+
$1 = wxRuby_RubyToOutputStream($input);
|
|
139
|
+
if (!$1)
|
|
140
|
+
{
|
|
141
|
+
rb_raise(rb_eArgError, "Invalid value for %d expected IO(-like) or Wx::OutputStream", $argnum-1);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
__CODE
|
|
145
|
+
|
|
146
|
+
map_directorin code: <<~__CODE
|
|
147
|
+
$input = wxRuby_RubyFromOutputStream($1);
|
|
148
|
+
__CODE
|
|
149
|
+
|
|
150
|
+
map_typecheck precedence: 1, code: <<~__CODE
|
|
151
|
+
$1 = wxRuby_IsCompatibleOutput($input) || wxRuby_IsOutputStream($input);
|
|
152
|
+
__CODE
|
|
153
|
+
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
end # define
|
|
157
|
+
|
|
158
|
+
end # Streams
|
|
159
|
+
|
|
160
|
+
end # Typemap
|
|
161
|
+
|
|
162
|
+
end # WXRuby3
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 PGProperty typemap definition
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative '../core/mapping'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
module Typemap
|
|
11
|
+
|
|
12
|
+
# Typemaps for converting returned PGCell references to
|
|
13
|
+
# either the correct wxRuby class
|
|
14
|
+
module PGCell
|
|
15
|
+
|
|
16
|
+
include Typemap::Module
|
|
17
|
+
|
|
18
|
+
define do
|
|
19
|
+
|
|
20
|
+
map 'wxPGCell&' => 'Wx::PG::PGCell' do
|
|
21
|
+
add_header_code <<~__CODE
|
|
22
|
+
#include <wx/propgrid/property.h>
|
|
23
|
+
extern VALUE wxRuby_WrapWxPGCellInRuby(const wxPGCell *wx_pc);
|
|
24
|
+
__CODE
|
|
25
|
+
map_out code: '$result = wxRuby_WrapWxPGCellInRuby($1);'
|
|
26
|
+
map_directorin code: '$input = wxRuby_WrapWxPGCellInRuby($1);'
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 PGProperty typemap definition
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative '../core/mapping'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
module Typemap
|
|
11
|
+
|
|
12
|
+
# Typemaps for converting returned PGEditor references to
|
|
13
|
+
# either the correct wxRuby class
|
|
14
|
+
module PGEditor
|
|
15
|
+
|
|
16
|
+
include Typemap::Module
|
|
17
|
+
|
|
18
|
+
define do
|
|
19
|
+
|
|
20
|
+
map 'wxPGEditor*' => 'Wx::PG::PGEditor' do
|
|
21
|
+
add_header_code <<~__CODE
|
|
22
|
+
#include <wx/propgrid/editors.h>
|
|
23
|
+
extern VALUE wxRuby_WrapWxPGEditorInRuby(const wxPGEditor *wx_pp);
|
|
24
|
+
__CODE
|
|
25
|
+
map_out code: '$result = wxRuby_WrapWxPGEditorInRuby($1);'
|
|
26
|
+
map_directorin code: '$input = wxRuby_WrapWxPGEditorInRuby($1);'
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
end
|