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,36 @@
|
|
|
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 HtmlCell < Director
|
|
11
|
+
|
|
12
|
+
include Typemap::HtmlCell
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.items << 'wxHtmlLinkInfo' << 'wxHtmlContainerCell' << 'htmldefs.h'
|
|
17
|
+
# the classes here are internal and for reference only
|
|
18
|
+
# should never be derived from or instantiated in (Ruby) user code
|
|
19
|
+
spec.disable_proxies
|
|
20
|
+
spec.make_abstract 'wxHtmlCell'
|
|
21
|
+
spec.make_abstract 'wxHtmlLinkInfo'
|
|
22
|
+
spec.make_abstract 'wxHtmlContainerCell'
|
|
23
|
+
spec.gc_as_temporary 'wxHtmlLinkInfo' # no tracking
|
|
24
|
+
spec.ignore 'wxHtmlCell::Find'
|
|
25
|
+
# not useful for wxRuby as we do not support customizing these
|
|
26
|
+
spec.ignore 'wxHtmlCell::AdjustPagebreak',
|
|
27
|
+
'wxHtmlCell::Draw',
|
|
28
|
+
'wxHtmlCell::DrawInvisible',
|
|
29
|
+
'wxHtmlCell::Layout',
|
|
30
|
+
'wxHtmlCell::ProcessMouseClick'
|
|
31
|
+
end
|
|
32
|
+
end # class HtmlCell
|
|
33
|
+
|
|
34
|
+
end # class Director
|
|
35
|
+
|
|
36
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,45 @@
|
|
|
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 HtmlEasyPrinting < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
# Deal with sizes argument to SetFonts
|
|
15
|
+
spec.map 'const int *sizes' => 'Array(Integer,Integer,Integer,Integer,Integer,Integer,Integer), nil' do
|
|
16
|
+
map_in temp: 'int tmp[7]', code: <<~__CODE
|
|
17
|
+
if (NIL_P($input))
|
|
18
|
+
{
|
|
19
|
+
$1 = NULL;
|
|
20
|
+
}
|
|
21
|
+
else if (TYPE($input) == T_ARRAY && RARRAY_LEN($input) == 7)
|
|
22
|
+
{
|
|
23
|
+
tmp[0] = NUM2INT(rb_ary_entry($input, 0));
|
|
24
|
+
tmp[1] = NUM2INT(rb_ary_entry($input, 1));
|
|
25
|
+
tmp[2] = NUM2INT(rb_ary_entry($input, 2));
|
|
26
|
+
tmp[3] = NUM2INT(rb_ary_entry($input, 3));
|
|
27
|
+
tmp[4] = NUM2INT(rb_ary_entry($input, 4));
|
|
28
|
+
tmp[5] = NUM2INT(rb_ary_entry($input, 5));
|
|
29
|
+
tmp[6] = NUM2INT(rb_ary_entry($input, 6));
|
|
30
|
+
$1 = &tmp[0];
|
|
31
|
+
}
|
|
32
|
+
else
|
|
33
|
+
{
|
|
34
|
+
VALUE msg = rb_inspect($input);
|
|
35
|
+
rb_raise(rb_eArgError, "Expected nil or array of 7 integers for %d but got %s",
|
|
36
|
+
$argnum-1, StringValuePtr(msg));
|
|
37
|
+
}
|
|
38
|
+
__CODE
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end # class HtmlEasyPrinting
|
|
42
|
+
|
|
43
|
+
end # class Director
|
|
44
|
+
|
|
45
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './event'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class HtmlEvent < Event
|
|
13
|
+
|
|
14
|
+
include Typemap::HtmlCell
|
|
15
|
+
|
|
16
|
+
def setup
|
|
17
|
+
super
|
|
18
|
+
spec.do_not_generate :variables, :enums, :defines, :functions
|
|
19
|
+
end
|
|
20
|
+
end # class HtmlEvent
|
|
21
|
+
|
|
22
|
+
end # class Director
|
|
23
|
+
|
|
24
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,43 @@
|
|
|
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 HtmlHelpData < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.items << 'wxHtmlBookRecord' << 'wxHtmlHelpDataItem'
|
|
15
|
+
# type mapping for wxHtmlBookRecArray and wxHtmlHelpDataItems
|
|
16
|
+
spec.map 'const wxHtmlBookRecArray&' => 'Array<Wx::HtmlBookRecord>' do
|
|
17
|
+
map_out code: <<~__CODE
|
|
18
|
+
$result = rb_ary_new();
|
|
19
|
+
for (size_t n=0; n<$1->GetCount() ;++n)
|
|
20
|
+
{
|
|
21
|
+
wxHtmlBookRecord* hbr_ptr = &($1->Item(n));
|
|
22
|
+
VALUE rb_hbr = Data_Wrap_Struct(rb_cObject, 0, 0, hbr_ptr);
|
|
23
|
+
rb_ary_push($result, rb_hbr);
|
|
24
|
+
}
|
|
25
|
+
__CODE
|
|
26
|
+
end
|
|
27
|
+
spec.map 'const wxHtmlHelpDataItems&' => 'Array<Wx::HtmlHelpDataItem>' do
|
|
28
|
+
map_out code: <<~__CODE
|
|
29
|
+
$result = rb_ary_new();
|
|
30
|
+
for (size_t n=0; n<$1->GetCount() ;++n)
|
|
31
|
+
{
|
|
32
|
+
wxHtmlHelpDataItem* hdi_ptr = &($1->Item(n));
|
|
33
|
+
VALUE rb_hdi = Data_Wrap_Struct(rb_cObject, 0, 0, hdi_ptr);
|
|
34
|
+
rb_ary_push($result, rb_hdi);
|
|
35
|
+
}
|
|
36
|
+
__CODE
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end # class HtmlHelpData
|
|
40
|
+
|
|
41
|
+
end # class Director
|
|
42
|
+
|
|
43
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './frame'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class HtmlHelpFrame < Frame
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.no_proxy %w[
|
|
17
|
+
wxHtmlHelpFrame::CreateStatusBar wxHtmlHelpFrame::CreateToolBar
|
|
18
|
+
wxHtmlHelpFrame::GetMenuBar wxHtmlHelpFrame::GetStatusBar
|
|
19
|
+
wxHtmlHelpFrame::GetToolBar]
|
|
20
|
+
end
|
|
21
|
+
end # class HtmlHelpFrame
|
|
22
|
+
|
|
23
|
+
end # class Director
|
|
24
|
+
|
|
25
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,54 @@
|
|
|
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 HtmlListBox < Window
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
spec.items << 'wxSimpleHtmlListBox'
|
|
16
|
+
super
|
|
17
|
+
spec.override_inheritance_chain('wxHtmlListBox', %w[wxVListBox wxVScrolledWindow wxPanel wxWindow wxEvtHandler wxObject])
|
|
18
|
+
spec.make_abstract 'wxHtmlListBox'
|
|
19
|
+
# provide base implementation for OnGetItem
|
|
20
|
+
spec.add_header_code <<~__HEREDOC
|
|
21
|
+
// Custom subclass implementation.
|
|
22
|
+
class wxRubyHtmlListBox : public wxHtmlListBox
|
|
23
|
+
{
|
|
24
|
+
public:
|
|
25
|
+
wxRubyHtmlListBox()
|
|
26
|
+
: wxHtmlListBox () {}
|
|
27
|
+
wxRubyHtmlListBox(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxHtmlListBoxNameStr)
|
|
28
|
+
: wxHtmlListBox(parent, id, pos, size, style, name) {}
|
|
29
|
+
protected:
|
|
30
|
+
virtual wxString OnGetItem (size_t n) const
|
|
31
|
+
{
|
|
32
|
+
rb_raise(rb_eNoMethodError, "Not implemented");
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
__HEREDOC
|
|
36
|
+
# make Ruby director and wrappers use custom implementation
|
|
37
|
+
spec.use_class_implementation('wxHtmlListBox', 'wxRubyHtmlListBox')
|
|
38
|
+
# we do not want wxFileSystem exposed (not worth the trouble)
|
|
39
|
+
spec.ignore 'wxHtmlListBox::GetFileSystem'
|
|
40
|
+
# just add an extension to change the path for resolving relative paths in HTML
|
|
41
|
+
spec.add_extend_code 'wxHtmlListBox', <<~__HEREDOC
|
|
42
|
+
void change_filesystem_path_to(const wxString& location, bool is_dir=false)
|
|
43
|
+
{
|
|
44
|
+
$self->GetFileSystem().ChangePathTo(location, is_dir);
|
|
45
|
+
}
|
|
46
|
+
__HEREDOC
|
|
47
|
+
# override inheritance chain
|
|
48
|
+
spec.override_inheritance_chain('wxSimpleHtmlListBox', %w[wxHtmlListBox wxVListBox wxVScrolledWindow wxPanel wxWindow wxEvtHandler wxObject])
|
|
49
|
+
end
|
|
50
|
+
end # class HtmlListBox
|
|
51
|
+
|
|
52
|
+
end # class Director
|
|
53
|
+
|
|
54
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
module WXRuby3
|
|
7
|
+
|
|
8
|
+
class Director
|
|
9
|
+
|
|
10
|
+
class HtmlPrintout < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.override_inheritance_chain('wxHtmlPrintout', {'wxPrintout' => 'wxPrinter'}, 'wxObject')
|
|
15
|
+
# Deal with sizes argument to SetFonts
|
|
16
|
+
spec.map 'const int *sizes' => 'Array(Integer,Integer,Integer,Integer,Integer,Integer,Integer), nil' do
|
|
17
|
+
map_in temp: 'int tmp[7]', code: <<~__CODE
|
|
18
|
+
if (NIL_P($input))
|
|
19
|
+
{
|
|
20
|
+
$1 = NULL;
|
|
21
|
+
}
|
|
22
|
+
else if (TYPE($input) == T_ARRAY && RARRAY_LEN($input) == 7)
|
|
23
|
+
{
|
|
24
|
+
tmp[0] = NUM2INT(rb_ary_entry($input, 0));
|
|
25
|
+
tmp[1] = NUM2INT(rb_ary_entry($input, 1));
|
|
26
|
+
tmp[2] = NUM2INT(rb_ary_entry($input, 2));
|
|
27
|
+
tmp[3] = NUM2INT(rb_ary_entry($input, 3));
|
|
28
|
+
tmp[4] = NUM2INT(rb_ary_entry($input, 4));
|
|
29
|
+
tmp[5] = NUM2INT(rb_ary_entry($input, 5));
|
|
30
|
+
tmp[6] = NUM2INT(rb_ary_entry($input, 6));
|
|
31
|
+
$1 = &tmp[0];
|
|
32
|
+
}
|
|
33
|
+
else
|
|
34
|
+
{
|
|
35
|
+
VALUE msg = rb_inspect($input);
|
|
36
|
+
rb_raise(rb_eArgError, "Expected nil or array of 7 integers for %d but got %s",
|
|
37
|
+
$argnum-1, StringValuePtr(msg));
|
|
38
|
+
}
|
|
39
|
+
__CODE
|
|
40
|
+
end
|
|
41
|
+
spec.do_not_generate(:variables, :defines, :enums, :functions)
|
|
42
|
+
end
|
|
43
|
+
end # class HtmlPrintout
|
|
44
|
+
|
|
45
|
+
end # class Director
|
|
46
|
+
|
|
47
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,114 @@
|
|
|
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 HtmlWindow < Window
|
|
13
|
+
|
|
14
|
+
include Typemap::HtmlCell
|
|
15
|
+
|
|
16
|
+
def setup
|
|
17
|
+
super
|
|
18
|
+
spec.items << 'wxHtmlFilter' << 'htmlpars.h'
|
|
19
|
+
spec.gc_as_window 'wxHtmlWindow'
|
|
20
|
+
spec.override_inheritance_chain('wxHtmlWindow', %w[wxScrolledWindow wxPanel wxWindow wxEvtHandler wxObject])
|
|
21
|
+
# add members from wxHtmlWindowInterface
|
|
22
|
+
# (we do it like this because we do not want pure virtual declarations which is
|
|
23
|
+
# what we would get if we used fold_bases)
|
|
24
|
+
spec.extend_interface 'wxHtmlWindow',
|
|
25
|
+
'enum HTMLCursor { HTMLCursor_Default, HTMLCursor_Link, HTMLCursor_Text }',
|
|
26
|
+
'virtual wxPoint HTMLCoordsToWindow(wxHtmlCell *cell, const wxPoint& pos) const',
|
|
27
|
+
'virtual wxWindow* GetHTMLWindow()',
|
|
28
|
+
'virtual wxColour GetHTMLBackgroundColour() const',
|
|
29
|
+
'virtual void SetHTMLBackgroundColour(const wxColour& clr)',
|
|
30
|
+
'virtual void SetHTMLBackgroundImage(const wxBitmapBundle& bmpBg)',
|
|
31
|
+
'virtual void SetHTMLStatusText(const wxString& text)',
|
|
32
|
+
'virtual wxCursor GetHTMLCursor(HTMLCursor type) const'
|
|
33
|
+
# handled; can be suppressed
|
|
34
|
+
spec.suppress_warning(473, "wxHtmlWindow::GetHTMLWindow")
|
|
35
|
+
# deprecated; use event handler instead
|
|
36
|
+
spec.ignore 'wxHtmlWindow::OnLinkClicked'
|
|
37
|
+
spec.no_proxy 'wxHtmlWindow::SendAutoScrollEvents'
|
|
38
|
+
spec.add_header_code 'typedef wxHtmlWindow::HTMLCursor HTMLCursor;'
|
|
39
|
+
# type mapping for LoadFile, SetFonts and OnOpeningURL
|
|
40
|
+
spec.map 'const wxFileName &filename' => 'String' do
|
|
41
|
+
# Deal with wxFileName
|
|
42
|
+
map_in temp: 'wxFileName tmp', code: <<~__CODE
|
|
43
|
+
tmp = wxFileName(RSTR_TO_WXSTR($input));
|
|
44
|
+
$1 = &tmp;
|
|
45
|
+
__CODE
|
|
46
|
+
end
|
|
47
|
+
# Deal with sizes argument to SetFonts
|
|
48
|
+
spec.map 'const int *sizes' => 'Array(Integer,Integer,Integer,Integer,Integer,Integer,Integer), nil' do
|
|
49
|
+
map_in temp: 'int tmp[7]', code: <<~__CODE
|
|
50
|
+
if (NIL_P($input))
|
|
51
|
+
{
|
|
52
|
+
$1 = NULL;
|
|
53
|
+
}
|
|
54
|
+
else if (TYPE($input) == T_ARRAY && RARRAY_LEN($input) == 7)
|
|
55
|
+
{
|
|
56
|
+
tmp[0] = NUM2INT(rb_ary_entry($input, 0));
|
|
57
|
+
tmp[1] = NUM2INT(rb_ary_entry($input, 1));
|
|
58
|
+
tmp[2] = NUM2INT(rb_ary_entry($input, 2));
|
|
59
|
+
tmp[3] = NUM2INT(rb_ary_entry($input, 3));
|
|
60
|
+
tmp[4] = NUM2INT(rb_ary_entry($input, 4));
|
|
61
|
+
tmp[5] = NUM2INT(rb_ary_entry($input, 5));
|
|
62
|
+
tmp[6] = NUM2INT(rb_ary_entry($input, 6));
|
|
63
|
+
$1 = &tmp[0];
|
|
64
|
+
}
|
|
65
|
+
else
|
|
66
|
+
{
|
|
67
|
+
VALUE msg = rb_inspect($input);
|
|
68
|
+
rb_raise(rb_eArgError, "Expected nil or array of 7 integers for %d but got %s",
|
|
69
|
+
$argnum-1, StringValuePtr(msg));
|
|
70
|
+
}
|
|
71
|
+
__CODE
|
|
72
|
+
end
|
|
73
|
+
spec.map 'const wxString &url, wxString *redirect' do
|
|
74
|
+
# deal with OnOpeningURL's "wxString *redirect" argument
|
|
75
|
+
map_directorin code: '$input = WXSTR_TO_RSTR($1);'
|
|
76
|
+
end
|
|
77
|
+
spec.map 'wxHtmlOpeningStatus' => 'true,false,String' do
|
|
78
|
+
map_directorout code: ''
|
|
79
|
+
map_out code: <<~__CODE
|
|
80
|
+
switch ($1)
|
|
81
|
+
{
|
|
82
|
+
case wxHTML_OPEN: $result = Qtrue; break;
|
|
83
|
+
case wxHTML_REDIRECT: $result = WXSTR_TO_RSTR(redir_tmp4); break;
|
|
84
|
+
default: $result = Qfalse; break; // BLOCK
|
|
85
|
+
}
|
|
86
|
+
__CODE
|
|
87
|
+
end
|
|
88
|
+
spec.map 'wxString *redirect' do
|
|
89
|
+
map_directorargout code: <<~__CODE
|
|
90
|
+
if (TYPE(result) == T_STRING)
|
|
91
|
+
{
|
|
92
|
+
*redirect = RSTR_TO_WXSTR(result);
|
|
93
|
+
c_result = wxHTML_REDIRECT;
|
|
94
|
+
}
|
|
95
|
+
else if (result != Qnil && result != Qfalse)
|
|
96
|
+
{
|
|
97
|
+
c_result = wxHTML_OPEN;
|
|
98
|
+
}
|
|
99
|
+
else
|
|
100
|
+
{
|
|
101
|
+
c_result = wxHTML_BLOCK;
|
|
102
|
+
}
|
|
103
|
+
__CODE
|
|
104
|
+
map_in ignore: true, temp: 'wxString redir_tmp', code: '$1 = &redir_tmp;'
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# disown added HtmlFilter-s (pure Ruby override takes care of GC marking)
|
|
108
|
+
spec.disown 'wxHtmlFilter*'
|
|
109
|
+
end
|
|
110
|
+
end # class HtmlWindow
|
|
111
|
+
|
|
112
|
+
end # class Director
|
|
113
|
+
|
|
114
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,33 @@
|
|
|
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 Icon < Director
|
|
11
|
+
|
|
12
|
+
include Typemap::IOStreams
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
spec.items << 'wxIconBundle'
|
|
16
|
+
spec.disable_proxies
|
|
17
|
+
spec.require_app 'wxIcon', 'wxIconBundle'
|
|
18
|
+
# disable as there is no way to distinguish char*/[] from wxString in Ruby
|
|
19
|
+
# and anyway there is no real benefit compared to loading XPM by filename
|
|
20
|
+
spec.ignore('wxIcon::wxIcon(const char *const *)', 'wxIcon::wxIcon(const char[],int,int)')
|
|
21
|
+
# xml specs incorrectly list this method for MWS while it does not exist anymore
|
|
22
|
+
spec.ignore('wxIcon::ConvertToDisabled')
|
|
23
|
+
unless Config.platform == :mingw
|
|
24
|
+
spec.override_inheritance_chain('wxIcon', %w[wxBitmap wxGDIObject wxObject])
|
|
25
|
+
spec.ignore 'wxIconBundle::wxIconBundle(const wxString &, WXHINSTANCE)'
|
|
26
|
+
end
|
|
27
|
+
super
|
|
28
|
+
end
|
|
29
|
+
end # class Icon
|
|
30
|
+
|
|
31
|
+
end # class Director
|
|
32
|
+
|
|
33
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,111 @@
|
|
|
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 Image < Director
|
|
11
|
+
|
|
12
|
+
include Typemap::IOStreams
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
# Handled in Ruby: lib/wx/classes/image.rb
|
|
17
|
+
spec.ignore [
|
|
18
|
+
'wxImage::wxImage(wxInputStream &,wxBitmapType,int)',
|
|
19
|
+
'wxImage::wxImage(wxInputStream &,const wxString &,int)',
|
|
20
|
+
'wxImage::GetImageCount(wxInputStream &,wxBitmapType)'
|
|
21
|
+
]
|
|
22
|
+
spec.rename_for_ruby(
|
|
23
|
+
'LoadStream' => ['wxImage::LoadFile(wxInputStream &, wxBitmapType, int)', 'wxImage::LoadFile(wxInputStream &,const wxString &, int)'],
|
|
24
|
+
'Write' => ['wxImage::SaveFile(wxOutputStream &, wxBitmapType) const', 'wxImage::SaveFile(wxOutputStream &,const wxString &) const'],
|
|
25
|
+
# Renaming to avoid method overloading and thus conflicts at Ruby level
|
|
26
|
+
# 'GetAlphaData' => 'wxImage::GetAlpha() const',
|
|
27
|
+
'SetAlphaData' => 'wxImage::SetAlpha(unsigned char *,bool)',
|
|
28
|
+
# Renaming for consistency with above methods and SetRGB method
|
|
29
|
+
# 'GetRgbData' => 'wxImage::GetData() const',
|
|
30
|
+
'SetRgbDataWithSize' => 'wxImage::SetData(unsigned char *,int,int,bool)')
|
|
31
|
+
# handle this in Ruby
|
|
32
|
+
spec.ignore 'wxImage::SetData(unsigned char *,bool)'
|
|
33
|
+
# Handler methods are not supported in wxRuby; all standard handlers
|
|
34
|
+
# are loaded at startup, and we don't allow custom image handlers to be
|
|
35
|
+
# written in Ruby.
|
|
36
|
+
spec.ignore %w[
|
|
37
|
+
wxImage::AddHandler
|
|
38
|
+
wxImage::CleanUpHandlers
|
|
39
|
+
wxImage::FindHandler
|
|
40
|
+
wxImage::FindHandlerMime
|
|
41
|
+
wxImage::GetHandlers
|
|
42
|
+
wxImage::InitStandardHandlers
|
|
43
|
+
wxImage::InsertHandler
|
|
44
|
+
wxImage::RemoveHandler
|
|
45
|
+
]
|
|
46
|
+
# The GetRgbData and GetAlphaData methods require special handling using %extend;
|
|
47
|
+
spec.ignore %w[wxImage::GetData wxImage::GetAlpha]
|
|
48
|
+
# The SetRgbData and SetAlphaData are dealt with by typemaps (see below).
|
|
49
|
+
# For Image#set_rgb_data, Image#set_alpha_data and Image.new with raw data arg:
|
|
50
|
+
# copy raw string data from a Ruby string to a memory block that will be
|
|
51
|
+
# managed by wxWidgets (see static_data typemap below)
|
|
52
|
+
spec.map 'unsigned char* data', 'unsigned char* alpha', as: 'String' do
|
|
53
|
+
map_in code: <<~__CODE
|
|
54
|
+
if ( TYPE($input) == T_STRING )
|
|
55
|
+
{
|
|
56
|
+
int data_len = RSTRING_LEN($input);
|
|
57
|
+
$1 = (unsigned char*)malloc(data_len);
|
|
58
|
+
memcpy($1, StringValuePtr($input), data_len);
|
|
59
|
+
}
|
|
60
|
+
else if ( $input == Qnil ) // Needed for SetAlpha, an error for SetData
|
|
61
|
+
$1 = NULL;
|
|
62
|
+
else
|
|
63
|
+
SWIG_exception_fail(SWIG_ERROR,
|
|
64
|
+
"String required as raw Image data argument");
|
|
65
|
+
__CODE
|
|
66
|
+
end
|
|
67
|
+
# Image.new(data...) and Image#set_alpha_data both accept a static_data
|
|
68
|
+
# argument to specify whether wxWidgets should delete the data
|
|
69
|
+
# pointer. Since in wxRuby we always copy from the Ruby string object
|
|
70
|
+
# to the Image, we always want wxWidgets to handle deletion of the copy
|
|
71
|
+
spec.map 'bool static_data' do
|
|
72
|
+
map_in ignore: true, code: '$1 = false;'
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# For get_or_find_mask_colour, which should returns a triplet
|
|
76
|
+
# containing the mask colours, plus its normal Boolean return value.
|
|
77
|
+
spec.map_apply 'unsigned char *OUTPUT' => ['unsigned char* r',
|
|
78
|
+
'unsigned char* g',
|
|
79
|
+
'unsigned char* b' ]
|
|
80
|
+
# GetRgbData and GetAlphaData methods return an unsigned char* pointer to the
|
|
81
|
+
# internal representation of the image's data. We can't simply use
|
|
82
|
+
# rb_str_new2 because the data is not NUL terminated, so strlen won't
|
|
83
|
+
# return the right length; we have to know the image's height and
|
|
84
|
+
# width to give the ruby string the right length.
|
|
85
|
+
#
|
|
86
|
+
# Unlike the C++ version of these methods, these return copies of the
|
|
87
|
+
# data; the ruby string is NOT a pointer to that internal data and
|
|
88
|
+
# cannot be directly manipulated to change the image. This is tricky
|
|
89
|
+
# b/c of Ruby's GC; it might be possible, as in mmap (see
|
|
90
|
+
# http:#blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/296601)
|
|
91
|
+
# but I do not think it is desirable.
|
|
92
|
+
spec.add_extend_code 'wxImage', <<~__HEREDOC
|
|
93
|
+
VALUE get_alpha_data() {
|
|
94
|
+
unsigned char* alpha_data = $self->GetAlpha();
|
|
95
|
+
int length = $self->GetWidth() * $self->GetHeight();
|
|
96
|
+
return rb_str_new( (const char*)alpha_data, length);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
VALUE get_rgb_data() {
|
|
100
|
+
unsigned char* rgb_data = $self->GetData();
|
|
101
|
+
int length = $self->GetWidth() * $self->GetHeight() * 3;
|
|
102
|
+
return rb_str_new( (const char*)rgb_data, length);
|
|
103
|
+
}
|
|
104
|
+
__HEREDOC
|
|
105
|
+
spec.do_not_generate(:functions)
|
|
106
|
+
end
|
|
107
|
+
end # class Image
|
|
108
|
+
|
|
109
|
+
end # class Director
|
|
110
|
+
|
|
111
|
+
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
|
+
module WXRuby3
|
|
7
|
+
|
|
8
|
+
class Director
|
|
9
|
+
|
|
10
|
+
class ImageList < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
spec.require_app 'wxImageList'
|
|
14
|
+
spec.rename_for_ruby('AddIcon' => 'wxImageList::Add(const wxIcon &)')
|
|
15
|
+
super
|
|
16
|
+
end
|
|
17
|
+
end # class ImageList
|
|
18
|
+
|
|
19
|
+
end # class Director
|
|
20
|
+
|
|
21
|
+
end # module WXRuby3
|