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,53 @@
|
|
|
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 GridCellAttr < Director
|
|
11
|
+
|
|
12
|
+
include Typemap::GridClientData
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
# exposing the mixin wxClientDataContainer/wxSharedClientDataContainer has no real upside
|
|
17
|
+
# for wxRuby; far easier to just use member variables in derived classes
|
|
18
|
+
spec.override_inheritance_chain('wxGridCellAttr', [])
|
|
19
|
+
spec.gc_as_untracked_refcounted('wxGridCellAttr')
|
|
20
|
+
spec.ignore %w[wxGridCellAttr::IncRef wxGridCellAttr::DecRef]
|
|
21
|
+
spec.ignore('wxGridCellAttr::GetEditorPtr',
|
|
22
|
+
'wxGridCellAttr::GetRendererPtr')
|
|
23
|
+
# these require wxRuby to take ownership (ref counted)
|
|
24
|
+
spec.new_object('wxGridCellAttr::Clone',
|
|
25
|
+
'wxGridCellAttr::GetEditor',
|
|
26
|
+
'wxGridCellAttr::GetRenderer')
|
|
27
|
+
# type mapping for wxGridCellEditor* return ref
|
|
28
|
+
spec.map 'wxGridCellEditor*' => 'Wx::GRID::GridCellEditor' do
|
|
29
|
+
add_header_code 'extern VALUE wxRuby_WrapWxGridCellEditorInRuby(const wxGridCellEditor *wx_gce);',
|
|
30
|
+
'extern void wxRuby_RegisterGridCellEditor(wxGridCellEditor* wx_edt, VALUE rb_edt);'
|
|
31
|
+
map_out code: '$result = wxRuby_WrapWxGridCellEditorInRuby($1);'
|
|
32
|
+
map_check code: 'wxRuby_RegisterGridCellEditor($1, argv[$argnum-2]);'
|
|
33
|
+
end
|
|
34
|
+
# type mapping for wxGridCellRenderer* return ref
|
|
35
|
+
spec.map 'wxGridCellRenderer*' => 'Wx::GRID::GridCellRenderer' do
|
|
36
|
+
add_header_code 'extern VALUE wxRuby_WrapWxGridCellRendererInRuby(const wxGridCellRenderer *wx_gcr);',
|
|
37
|
+
'extern void wxRuby_RegisterGridCellRenderer(wxGridCellRenderer* wx_rnd, VALUE rb_rnd);'
|
|
38
|
+
map_out code: '$result = wxRuby_WrapWxGridCellRendererInRuby($1);'
|
|
39
|
+
map_check code: 'wxRuby_RegisterGridCellRenderer($1, argv[$argnum-2]);'
|
|
40
|
+
end
|
|
41
|
+
# argout type mappings
|
|
42
|
+
spec.map_apply 'int* OUTPUT' => ['int *hAlign', 'int *vAlign', 'int *num_rows', 'int *num_cols']
|
|
43
|
+
# for docs only
|
|
44
|
+
spec.map ['int *hAlign', 'int *vAlign', 'int *num_rows', 'int *num_cols'] => 'Integer', swig: false do
|
|
45
|
+
map_in ignore: true
|
|
46
|
+
map_argout
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end # class GridCellAttr
|
|
50
|
+
|
|
51
|
+
end # class Director
|
|
52
|
+
|
|
53
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,434 @@
|
|
|
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 GridCellEditor < Director
|
|
11
|
+
|
|
12
|
+
include Typemap::GridClientData
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.gc_as_untracked_refcounted
|
|
17
|
+
if spec.module_name == 'wxGridCellEditor'
|
|
18
|
+
spec.post_processors << :fix_gridcelleditor
|
|
19
|
+
# exposing the mixin wxClientDataContainer/wxSharedClientDataContainer has no real upside
|
|
20
|
+
# for wxRuby; far easier to just use member variables in derived classes
|
|
21
|
+
spec.override_inheritance_chain('wxGridCellEditor', [])
|
|
22
|
+
spec.regard('wxGridCellEditor::~wxGridCellEditor')
|
|
23
|
+
# add method for correctly wrapping PGEditor output references
|
|
24
|
+
spec.add_header_code <<~__CODE
|
|
25
|
+
extern VALUE mWxGRID; // declare external module reference
|
|
26
|
+
extern VALUE wxRuby_GridCellEditorInstance(wxGridCellEditor* wx_edt);
|
|
27
|
+
extern void wxRuby_RegisterGridCellEditor(wxGridCellEditor* wx_edt, VALUE rb_edt);
|
|
28
|
+
extern VALUE wxRuby_WrapWxGridCellEditorInRuby(const wxGridCellEditor *wx_gce)
|
|
29
|
+
{
|
|
30
|
+
// If no object was passed to be wrapped.
|
|
31
|
+
if ( ! wx_gce )
|
|
32
|
+
return Qnil;
|
|
33
|
+
|
|
34
|
+
// check for registered instance
|
|
35
|
+
VALUE rb_gce = wxRuby_GridCellEditorInstance(const_cast<wxGridCellEditor*> (wx_gce));
|
|
36
|
+
if (rb_gce && !NIL_P(rb_gce))
|
|
37
|
+
{
|
|
38
|
+
return rb_gce;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const void *ptr = 0;
|
|
42
|
+
wxString class_name;
|
|
43
|
+
if ((ptr = dynamic_cast<const wxGridCellActivatableEditor*> (wx_gce)))
|
|
44
|
+
{
|
|
45
|
+
class_name = "GridCellActivatableEditor";
|
|
46
|
+
}
|
|
47
|
+
else if ((ptr = dynamic_cast<const wxGridCellBoolEditor*> (wx_gce)))
|
|
48
|
+
{
|
|
49
|
+
class_name = "GridCellBoolEditor";
|
|
50
|
+
}
|
|
51
|
+
else if ((ptr = dynamic_cast<const wxGridCellEnumEditor*> (wx_gce)))
|
|
52
|
+
{
|
|
53
|
+
class_name = "GridCellEnumEditor";
|
|
54
|
+
}
|
|
55
|
+
else if ((ptr = dynamic_cast<const wxGridCellChoiceEditor*> (wx_gce)))
|
|
56
|
+
{
|
|
57
|
+
class_name = "GridCellChoiceEditor";
|
|
58
|
+
}
|
|
59
|
+
else if ((ptr = dynamic_cast<const wxGridCellDateEditor*> (wx_gce)))
|
|
60
|
+
{
|
|
61
|
+
class_name = "GridCellDateEditor";
|
|
62
|
+
}
|
|
63
|
+
else if ((ptr = dynamic_cast<const wxGridCellFloatEditor*> (wx_gce)))
|
|
64
|
+
{
|
|
65
|
+
class_name = "GridCellFloatEditor";
|
|
66
|
+
}
|
|
67
|
+
else if ((ptr = dynamic_cast<const wxGridCellNumberEditor*> (wx_gce)))
|
|
68
|
+
{
|
|
69
|
+
class_name = "GridCellNumberEditor";
|
|
70
|
+
}
|
|
71
|
+
else if ((ptr = dynamic_cast<const wxGridCellAutoWrapStringEditor*> (wx_gce)))
|
|
72
|
+
{
|
|
73
|
+
class_name = "GridCellAutoWrapStringEditor";
|
|
74
|
+
}
|
|
75
|
+
else if ((ptr = dynamic_cast<const wxGridCellTextEditor*> (wx_gce)))
|
|
76
|
+
{
|
|
77
|
+
class_name = "GridCellTextEditor";
|
|
78
|
+
}
|
|
79
|
+
VALUE r_class = Qnil;
|
|
80
|
+
if ( ptr && class_name.Len() > 0 )
|
|
81
|
+
{
|
|
82
|
+
wxCharBuffer wx_classname = class_name.mb_str();
|
|
83
|
+
VALUE r_class_name = rb_intern(wx_classname.data ()); // wxRuby class name (minus 'wx')
|
|
84
|
+
if (rb_const_defined(mWxGRID, r_class_name))
|
|
85
|
+
r_class = rb_const_get(mWxGRID, r_class_name);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// If we cannot find the class output a warning and return nil
|
|
89
|
+
if ( r_class == Qnil )
|
|
90
|
+
{
|
|
91
|
+
rb_warn("Error wrapping object; class `%s' is not (yet) supported in wxRuby",
|
|
92
|
+
(const char *)class_name.mb_str() );
|
|
93
|
+
return Qnil;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Otherwise, retrieve the swig type info for this class and wrap it
|
|
97
|
+
// in Ruby. Make it owned to manage the ref count if GC claims the object.
|
|
98
|
+
// wxRuby_GetSwigTypeForClass is defined in wx.i
|
|
99
|
+
swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(r_class);
|
|
100
|
+
rb_gce = SWIG_NewPointerObj(const_cast<void*> (ptr), swig_type, 0);
|
|
101
|
+
wxRuby_RegisterGridCellEditor(const_cast<wxGridCellEditor*> (wx_gce), rb_gce);
|
|
102
|
+
return rb_gce;
|
|
103
|
+
}
|
|
104
|
+
__CODE
|
|
105
|
+
elsif spec.module_name == 'wxGridCellActivatableEditor'
|
|
106
|
+
spec.post_processors << :fix_gridcelleditor
|
|
107
|
+
spec.override_inheritance_chain('wxGridCellActivatableEditor', %w[wxGridCellEditor])
|
|
108
|
+
spec.no_proxy %w[
|
|
109
|
+
wxGridCellActivatableEditor::BeginEdit
|
|
110
|
+
wxGridCellActivatableEditor::Create
|
|
111
|
+
wxGridCellActivatableEditor::Destroy
|
|
112
|
+
wxGridCellActivatableEditor::EndEdit
|
|
113
|
+
wxGridCellActivatableEditor::ApplyEdit
|
|
114
|
+
wxGridCellActivatableEditor::HandleReturn
|
|
115
|
+
wxGridCellActivatableEditor::PaintBackground
|
|
116
|
+
wxGridCellActivatableEditor::Reset
|
|
117
|
+
wxGridCellActivatableEditor::SetSize
|
|
118
|
+
wxGridCellActivatableEditor::Show
|
|
119
|
+
wxGridCellActivatableEditor::StartingClick
|
|
120
|
+
wxGridCellActivatableEditor::StartingKey
|
|
121
|
+
wxGridCellActivatableEditor::IsAcceptedKey
|
|
122
|
+
wxGridCellActivatableEditor::GetValue
|
|
123
|
+
]
|
|
124
|
+
else
|
|
125
|
+
spec.post_processors << :fix_gridcelleditor
|
|
126
|
+
case spec.module_name
|
|
127
|
+
when 'wxGridCellEnumEditor'
|
|
128
|
+
spec.override_inheritance_chain(spec.module_name, %w[wxGridCellChoiceEditor wxGridCellEditor])
|
|
129
|
+
when 'wxGridCellAutoWrapStringEditor', 'wxGridCellFloatEditor', 'wxGridCellNumberEditor'
|
|
130
|
+
spec.override_inheritance_chain(spec.module_name, %w[wxGridCellTextEditor wxGridCellEditor])
|
|
131
|
+
else
|
|
132
|
+
spec.override_inheritance_chain(spec.module_name, %w[wxGridCellEditor])
|
|
133
|
+
end
|
|
134
|
+
# due to the flawed wxWidgets XML docs we need to explicitly add these here
|
|
135
|
+
# otherwise the derived editors won't be allocable due to pure virtuals
|
|
136
|
+
spec.extend_interface spec.module_name,
|
|
137
|
+
'void BeginEdit(int row, int col, wxGrid *grid)',
|
|
138
|
+
'wxGridCellEditor * Clone() const',
|
|
139
|
+
'void Create(wxWindow *parent, wxWindowID id, wxEvtHandler *evtHandler)',
|
|
140
|
+
'bool EndEdit(int row, int col, const wxGrid *grid, const wxString &oldval, wxString *newval)',
|
|
141
|
+
'void ApplyEdit(int row, int col, wxGrid *grid)',
|
|
142
|
+
'void Reset()',
|
|
143
|
+
'wxString GetValue() const'
|
|
144
|
+
end
|
|
145
|
+
unless spec.module_name == 'wxGridCellEditor'
|
|
146
|
+
# type mapping for Clone return ref
|
|
147
|
+
spec.map 'wxGridCellEditor*' => 'Wx::GRID::GridCellEditor' do
|
|
148
|
+
add_header_code 'extern VALUE wxRuby_WrapWxGridCellEditorInRuby(const wxGridCellEditor *wx_gce);'
|
|
149
|
+
map_out code: '$result = wxRuby_WrapWxGridCellEditorInRuby($1);'
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
# handled; can be suppressed
|
|
153
|
+
spec.suppress_warning(473, "#{spec.module_name}::Clone")
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
# helper methods for custom wrapper to handle wxGridActivationResult and wxGridActivationSource
|
|
157
|
+
# in wxGridCellEditor::TryActivate as SWIG cannot handle the, admittedly seriously flawed,
|
|
158
|
+
# wxWidgets interface
|
|
159
|
+
WRAPPER_HELPERS = <<~__HEREDOC
|
|
160
|
+
static WxRuby_ID ga_ignore_id("ignore");
|
|
161
|
+
static WxRuby_ID ga_show_editor_id("show_editor");
|
|
162
|
+
static WxRuby_ID ga_change_id("change");
|
|
163
|
+
static WxRuby_ID ga_program_id("program");
|
|
164
|
+
static WxRuby_ID ga_key_id("key");
|
|
165
|
+
static WxRuby_ID ga_mouse_id("mouse");
|
|
166
|
+
|
|
167
|
+
inline wxGridActivationResult
|
|
168
|
+
array_to_wxGridActivationResult(VALUE rbarr)
|
|
169
|
+
{
|
|
170
|
+
if (rbarr == Qnil ||
|
|
171
|
+
!(TYPE(rbarr) == T_ARRAY || TYPE(rbarr) == T_SYMBOL))
|
|
172
|
+
{
|
|
173
|
+
Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(SWIG_ERROR)),
|
|
174
|
+
"in output value of type 'wxGridActivationResult'");
|
|
175
|
+
}
|
|
176
|
+
if (TYPE(rbarr) == T_SYMBOL)
|
|
177
|
+
{
|
|
178
|
+
if (SYM2ID(rbarr) == ga_ignore_id())
|
|
179
|
+
return wxGridActivationResult::DoNothing();
|
|
180
|
+
else if (SYM2ID(rbarr) == ga_show_editor_id())
|
|
181
|
+
return wxGridActivationResult::DoEdit();
|
|
182
|
+
else
|
|
183
|
+
Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(SWIG_ERROR)),
|
|
184
|
+
"in output value of type 'wxGridActivationResult'");
|
|
185
|
+
}
|
|
186
|
+
else
|
|
187
|
+
{
|
|
188
|
+
VALUE rbAction = rb_ary_shift(rbarr);
|
|
189
|
+
VALUE rbStr = rb_ary_shift(rbarr); // could be nil
|
|
190
|
+
if (rbAction == Qnil || TYPE(rbAction) != T_SYMBOL)
|
|
191
|
+
{
|
|
192
|
+
Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(SWIG_ERROR)),
|
|
193
|
+
"in output value of type 'wxGridActivationResult'");
|
|
194
|
+
}
|
|
195
|
+
else if (SYM2ID(rbAction) == ga_change_id() && rbStr != Qnil)
|
|
196
|
+
{
|
|
197
|
+
return wxGridActivationResult::DoChange(RSTR_TO_WXSTR(rbStr));
|
|
198
|
+
}
|
|
199
|
+
else
|
|
200
|
+
{
|
|
201
|
+
if (SYM2ID(rbAction) == ga_ignore_id())
|
|
202
|
+
return wxGridActivationResult::DoNothing();
|
|
203
|
+
else if (SYM2ID(rbAction) == ga_show_editor_id())
|
|
204
|
+
return wxGridActivationResult::DoEdit();
|
|
205
|
+
else
|
|
206
|
+
Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(SWIG_ERROR)),
|
|
207
|
+
"in output value of type 'wxGridActivationResult'");
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
// silence compiler; should never be reached
|
|
211
|
+
return wxGridActivationResult::DoNothing();
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
inline VALUE
|
|
215
|
+
wxGridActivationResult_to_array(const wxGridActivationResult& result)
|
|
216
|
+
{
|
|
217
|
+
VALUE rbresult = rb_ary_new();
|
|
218
|
+
wxGridActivationResult::Action act = result.GetAction ();
|
|
219
|
+
switch (act) {
|
|
220
|
+
case wxGridActivationResult::Ignore:
|
|
221
|
+
rb_ary_push(rbresult, ga_ignore_id.get_sym());
|
|
222
|
+
break;
|
|
223
|
+
case wxGridActivationResult::Change:
|
|
224
|
+
rb_ary_push(rbresult, ga_change_id.get_sym());
|
|
225
|
+
rb_ary_push(rbresult, WXSTR_TO_RSTR(result.GetNewValue()));
|
|
226
|
+
break;
|
|
227
|
+
case wxGridActivationResult::ShowEditor:
|
|
228
|
+
rb_ary_push(rbresult, ga_show_editor_id.get_sym());
|
|
229
|
+
break;
|
|
230
|
+
}
|
|
231
|
+
return rbresult;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
inline wxGridActivationSource
|
|
235
|
+
array_to_wxGridActivationSource(VALUE rbarr, int argnum)
|
|
236
|
+
{
|
|
237
|
+
if (rbarr == Qnil ||
|
|
238
|
+
!(TYPE(rbarr) == T_ARRAY || TYPE(rbarr) == T_SYMBOL))
|
|
239
|
+
{
|
|
240
|
+
rb_raise(rb_eArgError,
|
|
241
|
+
"Expected Symbol or Array of Symbol and optional event for %d.", argnum);
|
|
242
|
+
}
|
|
243
|
+
if (TYPE(rbarr) == T_SYMBOL)
|
|
244
|
+
{
|
|
245
|
+
if (SYM2ID(rbarr) != ga_program_id())
|
|
246
|
+
rb_raise(rb_eArgError,
|
|
247
|
+
":key or :mouse activation sources need an event for %d.", argnum);
|
|
248
|
+
else
|
|
249
|
+
return wxGridActivationSource::FromProgram();
|
|
250
|
+
}
|
|
251
|
+
else
|
|
252
|
+
{
|
|
253
|
+
VALUE rbOrg = rb_ary_shift(rbarr);
|
|
254
|
+
VALUE rbEvt = rb_ary_shift(rbarr); // could be nil
|
|
255
|
+
if (rbOrg == Qnil || TYPE(rbOrg) != T_SYMBOL)
|
|
256
|
+
{
|
|
257
|
+
rb_raise(rb_eArgError,
|
|
258
|
+
"expected Symbol or Array of Symbol and optional event for %d.", argnum);
|
|
259
|
+
}
|
|
260
|
+
else if (SYM2ID(rbOrg) == ga_program_id())
|
|
261
|
+
{
|
|
262
|
+
return wxGridActivationSource::FromProgram();
|
|
263
|
+
}
|
|
264
|
+
else if (rbEvt != Qnil)
|
|
265
|
+
{
|
|
266
|
+
const wxEvent* evt = (const wxEvent*)DATA_PTR(rbEvt);
|
|
267
|
+
if (SYM2ID(rbOrg) == ga_key_id())
|
|
268
|
+
return wxGridActivationSource::From(*(const wxKeyEvent*)evt);
|
|
269
|
+
else if (SYM2ID(rbOrg) == ga_mouse_id())
|
|
270
|
+
return wxGridActivationSource::From(*(const wxMouseEvent*)evt);
|
|
271
|
+
rb_raise(rb_eArgError,
|
|
272
|
+
"unknown activation source for %d.", argnum);
|
|
273
|
+
}
|
|
274
|
+
else
|
|
275
|
+
{
|
|
276
|
+
rb_raise(rb_eArgError,
|
|
277
|
+
":key or :mouse activation sources need an event for %d.", argnum);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
inline VALUE
|
|
283
|
+
wxGridActivationSource_to_array(const wxGridActivationSource& arg)
|
|
284
|
+
{
|
|
285
|
+
VALUE rbresult = rb_ary_new();
|
|
286
|
+
wxGridActivationSource::Origin org = arg.GetOrigin ();
|
|
287
|
+
switch (org) {
|
|
288
|
+
case wxGridActivationSource::Program:
|
|
289
|
+
rb_ary_push(rbresult, ga_program_id.get_sym());
|
|
290
|
+
break;
|
|
291
|
+
case wxGridActivationSource::Key:
|
|
292
|
+
rb_ary_push(rbresult, ga_key_id.get_sym());
|
|
293
|
+
#ifdef __WXRB_DEBUG__
|
|
294
|
+
rb_ary_push(rbresult, wxRuby_WrapWxEventInRuby(0, const_cast<wxKeyEvent*> (&arg.GetKeyEvent())));
|
|
295
|
+
#else
|
|
296
|
+
rb_ary_push(rbresult, wxRuby_WrapWxEventInRuby(const_cast<wxKeyEvent*> (&arg.GetKeyEvent())));
|
|
297
|
+
#endif
|
|
298
|
+
break;
|
|
299
|
+
case wxGridActivationSource::Mouse:
|
|
300
|
+
rb_ary_push(rbresult, ga_mouse_id.get_sym());
|
|
301
|
+
#ifdef __WXRB_DEBUG__
|
|
302
|
+
rb_ary_push(rbresult, wxRuby_WrapWxEventInRuby(0, const_cast<wxMouseEvent*> (&arg.GetMouseEvent())));
|
|
303
|
+
#else
|
|
304
|
+
rb_ary_push(rbresult, wxRuby_WrapWxEventInRuby(const_cast<wxMouseEvent*> (&arg.GetMouseEvent())));
|
|
305
|
+
#endif
|
|
306
|
+
break;
|
|
307
|
+
}
|
|
308
|
+
return rbresult;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
__HEREDOC
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
end # class GridCellEditor
|
|
315
|
+
|
|
316
|
+
end # class Director
|
|
317
|
+
|
|
318
|
+
module SwigRunner
|
|
319
|
+
class Processor
|
|
320
|
+
|
|
321
|
+
# special post-processor for GridCellEditor
|
|
322
|
+
class FixGridcelleditor < Processor
|
|
323
|
+
|
|
324
|
+
def run
|
|
325
|
+
skip_lines = false
|
|
326
|
+
helpers_added = false
|
|
327
|
+
|
|
328
|
+
update_source do |line|
|
|
329
|
+
if skip_lines
|
|
330
|
+
if /\A}\s*\Z/ =~ line
|
|
331
|
+
skip_lines = false
|
|
332
|
+
else
|
|
333
|
+
line = nil
|
|
334
|
+
end
|
|
335
|
+
elsif line["wxGridActivationResult SwigDirector_#{module_name}::TryActivate("]
|
|
336
|
+
skip_lines = true
|
|
337
|
+
# append new method implementation
|
|
338
|
+
line << <<~__METHOD__
|
|
339
|
+
static WxRuby_ID try_activate_id("try_activate");
|
|
340
|
+
|
|
341
|
+
VALUE obj0 = Qnil ;
|
|
342
|
+
VALUE obj1 = Qnil ;
|
|
343
|
+
VALUE obj2 = Qnil ;
|
|
344
|
+
VALUE obj3 = Qnil ;
|
|
345
|
+
VALUE SWIGUNUSED result;
|
|
346
|
+
|
|
347
|
+
obj0 = SWIG_From_int(static_cast< int >(row));
|
|
348
|
+
obj1 = SWIG_From_int(static_cast< int >(col));
|
|
349
|
+
obj2 = SWIG_NewPointerObj(SWIG_as_voidptr(grid), SWIGTYPE_p_wxGrid, 0 );
|
|
350
|
+
obj3 = wxGridActivationSource_to_array(actSource);
|
|
351
|
+
result = rb_funcall(swig_get_self(), try_activate_id(), 4,obj0,obj1,obj2,obj3);
|
|
352
|
+
return array_to_wxGridActivationResult(result);
|
|
353
|
+
__METHOD__
|
|
354
|
+
elsif !helpers_added && line["SwigDirector_#{module_name}::SwigDirector_#{module_name}(VALUE self"]
|
|
355
|
+
# insert helper methods
|
|
356
|
+
line = [Director::GridCellEditor::WRAPPER_HELPERS, line]
|
|
357
|
+
helpers_added = true
|
|
358
|
+
elsif line["_wrap_#{module_name}_TryActivate(int argc, VALUE *argv, VALUE self) {"]
|
|
359
|
+
skip_lines = true
|
|
360
|
+
# append new method implementation
|
|
361
|
+
line << <<~__METHOD__
|
|
362
|
+
#{module_name} *arg1 = (#{module_name} *) 0 ;
|
|
363
|
+
int arg2 ;
|
|
364
|
+
int arg3 ;
|
|
365
|
+
wxGrid *arg4 = (wxGrid *) 0 ;
|
|
366
|
+
void *argp1 = 0 ;
|
|
367
|
+
int res1 = 0 ;
|
|
368
|
+
int val2 ;
|
|
369
|
+
int ecode2 = 0 ;
|
|
370
|
+
int val3 ;
|
|
371
|
+
int ecode3 = 0 ;
|
|
372
|
+
void *argp4 = 0 ;
|
|
373
|
+
int res4 = 0 ;
|
|
374
|
+
Swig::Director *director = 0;
|
|
375
|
+
bool upcall = false;
|
|
376
|
+
VALUE vresult = Qnil;
|
|
377
|
+
|
|
378
|
+
if ((argc < 4) || (argc > 4)) {
|
|
379
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 4)",argc); SWIG_fail;
|
|
380
|
+
}
|
|
381
|
+
res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_#{module_name}, 0 | 0 );
|
|
382
|
+
if (!SWIG_IsOK(res1)) {
|
|
383
|
+
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "#{module_name} *","TryActivate", 1, self ));
|
|
384
|
+
}
|
|
385
|
+
arg1 = reinterpret_cast< #{module_name} * >(argp1);
|
|
386
|
+
ecode2 = SWIG_AsVal_int(argv[0], &val2);
|
|
387
|
+
if (!SWIG_IsOK(ecode2)) {
|
|
388
|
+
SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","TryActivate", 2, argv[0] ));
|
|
389
|
+
}
|
|
390
|
+
arg2 = static_cast< int >(val2);
|
|
391
|
+
ecode3 = SWIG_AsVal_int(argv[1], &val3);
|
|
392
|
+
if (!SWIG_IsOK(ecode3)) {
|
|
393
|
+
SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "int","TryActivate", 3, argv[1] ));
|
|
394
|
+
}
|
|
395
|
+
arg3 = static_cast< int >(val3);
|
|
396
|
+
res4 = SWIG_ConvertPtr(argv[2], &argp4,SWIGTYPE_p_wxGrid, 0 | 0 );
|
|
397
|
+
if (!SWIG_IsOK(res4)) {
|
|
398
|
+
SWIG_exception_fail(SWIG_ArgError(res4), Ruby_Format_TypeError( "", "wxGrid *","TryActivate", 4, argv[2] ));
|
|
399
|
+
}
|
|
400
|
+
arg4 = reinterpret_cast< wxGrid * >(argp4);
|
|
401
|
+
director = dynamic_cast<Swig::Director *>(arg1);
|
|
402
|
+
upcall = (director && (director->swig_get_self() == self));
|
|
403
|
+
try {
|
|
404
|
+
if (upcall) {
|
|
405
|
+
#{
|
|
406
|
+
if module_name == 'wxGridCellActivatableEditor'
|
|
407
|
+
'Swig::DirectorPureVirtualException::raise("wxGridCellActivatableEditor::TryActivate");'
|
|
408
|
+
else
|
|
409
|
+
"vresult = wxGridActivationResult_to_array((arg1)->#{module_name}::TryActivate(arg2,arg3,arg4,array_to_wxGridActivationSource(argv[3], 4)));"
|
|
410
|
+
end
|
|
411
|
+
}
|
|
412
|
+
} else {
|
|
413
|
+
vresult = wxGridActivationResult_to_array((arg1)->TryActivate(arg2,arg3,arg4,array_to_wxGridActivationSource(argv[3], 4)));
|
|
414
|
+
}
|
|
415
|
+
} catch (Swig::DirectorException& e) {
|
|
416
|
+
rb_exc_raise(e.getError());
|
|
417
|
+
SWIG_fail;
|
|
418
|
+
}
|
|
419
|
+
return vresult;
|
|
420
|
+
fail:
|
|
421
|
+
return Qnil;
|
|
422
|
+
__METHOD__
|
|
423
|
+
end
|
|
424
|
+
|
|
425
|
+
line
|
|
426
|
+
end
|
|
427
|
+
end
|
|
428
|
+
|
|
429
|
+
end # class FixGridcelleditor
|
|
430
|
+
|
|
431
|
+
end
|
|
432
|
+
end
|
|
433
|
+
|
|
434
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,132 @@
|
|
|
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 GridCellRenderer < Director
|
|
11
|
+
|
|
12
|
+
include Typemap::GridClientData
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.gc_as_untracked_refcounted
|
|
17
|
+
if spec.module_name == 'wxGridCellRenderer'
|
|
18
|
+
# exposing the mixin wxClientDataContainer/wxSharedClientDataContainer has no real upside
|
|
19
|
+
# for wxRuby; far easier to just use member variables in derived classes
|
|
20
|
+
spec.override_inheritance_chain('wxGridCellRenderer', [])
|
|
21
|
+
spec.regard('wxGridCellRenderer::~wxGridCellRenderer')
|
|
22
|
+
# add method for correctly wrapping PGEditor output references
|
|
23
|
+
spec.add_header_code <<~__CODE
|
|
24
|
+
extern VALUE mWxGRID; // declare external module reference
|
|
25
|
+
extern VALUE wxRuby_GridCellRendererInstance(wxGridCellRenderer* wx_rnd);
|
|
26
|
+
extern void wxRuby_RegisterGridCellRenderer(wxGridCellRenderer* wx_rnd, VALUE rb_rnd);
|
|
27
|
+
extern VALUE wxRuby_WrapWxGridCellRendererInRuby(const wxGridCellRenderer *wx_gcr)
|
|
28
|
+
{
|
|
29
|
+
// If no object was passed to be wrapped.
|
|
30
|
+
if ( ! wx_gcr )
|
|
31
|
+
return Qnil;
|
|
32
|
+
|
|
33
|
+
// check for registered instance
|
|
34
|
+
VALUE rb_gcr = wxRuby_GridCellRendererInstance(const_cast<wxGridCellRenderer*> (wx_gcr));
|
|
35
|
+
if (rb_gcr && !NIL_P(rb_gcr))
|
|
36
|
+
{
|
|
37
|
+
return rb_gcr;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// unregistered renderer must be a standard C++ class renderer
|
|
41
|
+
const void *ptr = 0;
|
|
42
|
+
wxString class_name;
|
|
43
|
+
if ((ptr = dynamic_cast<const wxGridCellBoolRenderer*> (wx_gcr)))
|
|
44
|
+
{
|
|
45
|
+
class_name = "GridCellBoolRenderer";
|
|
46
|
+
}
|
|
47
|
+
else if ((ptr = dynamic_cast<const wxGridCellFloatRenderer*> (wx_gcr)))
|
|
48
|
+
{
|
|
49
|
+
class_name = "GridCellFloatRenderer";
|
|
50
|
+
}
|
|
51
|
+
else if ((ptr = dynamic_cast<const wxGridCellAutoWrapStringRenderer*> (wx_gcr)))
|
|
52
|
+
{
|
|
53
|
+
class_name = "GridCellAutoWrapStringRenderer";
|
|
54
|
+
}
|
|
55
|
+
else if ((ptr = dynamic_cast<const wxGridCellDateTimeRenderer*> (wx_gcr)))
|
|
56
|
+
{
|
|
57
|
+
class_name = "GridCellDateTimeRenderer";
|
|
58
|
+
}
|
|
59
|
+
else if ((ptr = dynamic_cast<const wxGridCellDateRenderer*> (wx_gcr)))
|
|
60
|
+
{
|
|
61
|
+
class_name = "GridCellDateRenderer";
|
|
62
|
+
}
|
|
63
|
+
else if ((ptr = dynamic_cast<const wxGridCellEnumRenderer*> (wx_gcr)))
|
|
64
|
+
{
|
|
65
|
+
class_name = "GridCellEnumRenderer";
|
|
66
|
+
}
|
|
67
|
+
else if ((ptr = dynamic_cast<const wxGridCellNumberRenderer*> (wx_gcr)))
|
|
68
|
+
{
|
|
69
|
+
class_name = "GridCellNumberRenderer";
|
|
70
|
+
}
|
|
71
|
+
else if ((ptr = dynamic_cast<const wxGridCellStringRenderer*> (wx_gcr)))
|
|
72
|
+
{
|
|
73
|
+
class_name = "GridCellStringRenderer";
|
|
74
|
+
}
|
|
75
|
+
VALUE r_class = Qnil;
|
|
76
|
+
if ( ptr && class_name.Len() > 0 )
|
|
77
|
+
{
|
|
78
|
+
wxCharBuffer wx_classname = class_name.mb_str();
|
|
79
|
+
VALUE r_class_name = rb_intern(wx_classname.data ()); // wxRuby class name (minus 'wx')
|
|
80
|
+
if (rb_const_defined(mWxGRID, r_class_name))
|
|
81
|
+
r_class = rb_const_get(mWxGRID, r_class_name);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// If we cannot find the class output a warning and return nil
|
|
85
|
+
if ( r_class == Qnil )
|
|
86
|
+
{
|
|
87
|
+
rb_warn("Error wrapping object; class `%s' is not (yet) supported in wxRuby",
|
|
88
|
+
(const char *)class_name.mb_str() );
|
|
89
|
+
return Qnil;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Otherwise, retrieve the swig type info for this class and wrap it
|
|
93
|
+
// in Ruby. Make it owned to manage the ref count if GC claims the object.
|
|
94
|
+
// wxRuby_GetSwigTypeForClass is defined in wx.i
|
|
95
|
+
swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(r_class);
|
|
96
|
+
rb_gcr = SWIG_NewPointerObj(const_cast<void*> (ptr), swig_type, 0);
|
|
97
|
+
wxRuby_RegisterGridCellRenderer(const_cast<wxGridCellRenderer*> (wx_gcr), rb_gcr);
|
|
98
|
+
return rb_gcr;
|
|
99
|
+
}
|
|
100
|
+
__CODE
|
|
101
|
+
else
|
|
102
|
+
case spec.module_name
|
|
103
|
+
when 'wxGridCellStringRenderer'
|
|
104
|
+
spec.override_inheritance_chain('wxGridCellStringRenderer', %w[wxGridCellRenderer])
|
|
105
|
+
when 'wxGridCellDateTimeRenderer'
|
|
106
|
+
spec.override_inheritance_chain('wxGridCellDateTimeRenderer', %w[wxGridCellDateRenderer wxGridCellStringRenderer wxGridCellRenderer])
|
|
107
|
+
else
|
|
108
|
+
spec.override_inheritance_chain(spec.module_name, %w[wxGridCellStringRenderer wxGridCellRenderer])
|
|
109
|
+
end
|
|
110
|
+
# due to the flawed wxWidgets XML docs we need to explicitly add these here
|
|
111
|
+
# otherwise the derived renderers won't be allocatable due to pure virtuals
|
|
112
|
+
spec.extend_interface spec.module_name,
|
|
113
|
+
'virtual wxGridCellRenderer* Clone() const',
|
|
114
|
+
'virtual void Draw(wxGrid &grid, wxGridCellAttr &attr, wxDC &dc, const wxRect &rect, int row, int col, bool isSelected)',
|
|
115
|
+
'virtual wxSize GetBestSize(wxGrid &grid, wxGridCellAttr &attr, wxDC &dc, int row, int col)'
|
|
116
|
+
spec.force_proxy spec.module_name
|
|
117
|
+
end
|
|
118
|
+
unless spec.module_name == 'wxGridCellRenderer'
|
|
119
|
+
# type mapping for Clone return ref
|
|
120
|
+
spec.map 'wxGridCellRenderer*' => 'Wx::GRID::GridCellRenderer' do
|
|
121
|
+
add_header_code 'extern VALUE wxRuby_WrapWxGridCellRendererInRuby(const wxGridCellRenderer *wx_gcr);'
|
|
122
|
+
map_out code: '$result = wxRuby_WrapWxGridCellRendererInRuby($1);'
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
# handled; can be suppressed
|
|
126
|
+
spec.suppress_warning(473, "#{spec.module_name}::Clone")
|
|
127
|
+
end
|
|
128
|
+
end # class GridCellRenderer
|
|
129
|
+
|
|
130
|
+
end # class Director
|
|
131
|
+
|
|
132
|
+
end # module WXRuby3
|