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,420 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './event_handler'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class App < EvtHandler
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
spec.items << 'wxAppConsole'
|
|
16
|
+
spec.fold_bases('wxApp' => 'wxAppConsole')
|
|
17
|
+
spec.override_inheritance_chain('wxApp', %w[wxEvtHandler wxObject])
|
|
18
|
+
spec.ignore %w{
|
|
19
|
+
wxApp.ProcessMessage
|
|
20
|
+
wxAppConsole::OnInit
|
|
21
|
+
wxAppConsole::OnExit
|
|
22
|
+
wxAppConsole::OnRun
|
|
23
|
+
wxAppConsole.OnFatalException
|
|
24
|
+
wxAppConsole::OnExceptionInMainLoop
|
|
25
|
+
wxAppConsole::OnUnhandledException
|
|
26
|
+
wxAppConsole::StoreCurrentException
|
|
27
|
+
wxAppConsole::RethrowStoredException
|
|
28
|
+
wxAppConsole::OnEventLoopEnter
|
|
29
|
+
wxAppConsole::OnEventLoopExit
|
|
30
|
+
wxAppConsole::OnCmdLineError
|
|
31
|
+
wxAppConsole::OnCmdLineHelp
|
|
32
|
+
wxAppConsole::OnCmdLineParsed
|
|
33
|
+
wxAppConsole::OnInitCmdLine
|
|
34
|
+
wxAppConsole::MainLoop
|
|
35
|
+
wxAppConsole::GetMainLoop
|
|
36
|
+
wxAppConsole::HandleEvent
|
|
37
|
+
wxAppConsole::ScheduleForDestruction
|
|
38
|
+
wxAppConsole::IsScheduledForDestruction
|
|
39
|
+
wxAppConsole::SetInstance
|
|
40
|
+
wxAppConsole::GetInstance
|
|
41
|
+
wxAppConsole::argc
|
|
42
|
+
wxAppConsole::argv
|
|
43
|
+
wxDECLARE_APP
|
|
44
|
+
wxIMPLEMENT_APP
|
|
45
|
+
wxDISABLE_DEBUG_SUPPORT
|
|
46
|
+
wxTheApp
|
|
47
|
+
wxGetApp
|
|
48
|
+
wxHandleFatalExceptions
|
|
49
|
+
wxInitialize
|
|
50
|
+
wxUninitialize
|
|
51
|
+
wxWakeUpIdle
|
|
52
|
+
wxYield
|
|
53
|
+
wxSafeYield
|
|
54
|
+
wxExit
|
|
55
|
+
}
|
|
56
|
+
spec.ignore 'wxApp::GetGUIInstance'
|
|
57
|
+
unless Config.instance.wx_abi_version >= '3.2.1' || Config.instance.wx_version < '3.2.1'
|
|
58
|
+
spec.ignore 'wxApp::GTKAllowDiagnosticsControl'
|
|
59
|
+
end
|
|
60
|
+
spec.add_extend_code 'wxApp', <<~__HEREDOC
|
|
61
|
+
int main_loop()
|
|
62
|
+
{
|
|
63
|
+
return dynamic_cast<wxRubyApp*>(self)->main_loop();
|
|
64
|
+
}
|
|
65
|
+
void _wxRuby_Cleanup()
|
|
66
|
+
{
|
|
67
|
+
dynamic_cast<wxRubyApp*>(self)->_wxRuby_Cleanup();
|
|
68
|
+
}
|
|
69
|
+
bool IsRunning() const
|
|
70
|
+
{
|
|
71
|
+
return dynamic_cast<const wxRubyApp*>(self)->IsRunning();
|
|
72
|
+
}
|
|
73
|
+
__HEREDOC
|
|
74
|
+
spec.ignore [
|
|
75
|
+
'wxEntry(int &,wxChar **)',
|
|
76
|
+
'wxEntry(HINSTANCE,HINSTANCE,char *,int)'
|
|
77
|
+
]
|
|
78
|
+
spec.no_proxy %w{
|
|
79
|
+
wxApp::GetDisplayMode
|
|
80
|
+
wxApp::GetTopWindow
|
|
81
|
+
}
|
|
82
|
+
spec.include %w{
|
|
83
|
+
wx/init.h
|
|
84
|
+
wx/display.h
|
|
85
|
+
}
|
|
86
|
+
spec.gc_never
|
|
87
|
+
# make Ruby director and wrappers use custom implementation
|
|
88
|
+
spec.use_class_implementation('wxApp', 'wxRubyApp')
|
|
89
|
+
spec.add_swig_code <<~__HEREDOC
|
|
90
|
+
// Leave GC type at GC_NEVER but add a custom marker.
|
|
91
|
+
// Prevents the App being destroyed prematurely when Ruby exits down with
|
|
92
|
+
// an exception. Otherwise GC destroys the C++ object, which can still
|
|
93
|
+
// be needed for final WxWidgets events.
|
|
94
|
+
%markfunc wxApp "wxRubyApp::mark_wxRubyApp";
|
|
95
|
+
__HEREDOC
|
|
96
|
+
spec.add_header_code <<~__HEREDOC
|
|
97
|
+
extern void GC_SetWindowDeleted(void*);
|
|
98
|
+
extern "C" void Init_wxRubyStockObjects();
|
|
99
|
+
extern void wxRuby_MarkProtectedEvtHandlerProcs();
|
|
100
|
+
|
|
101
|
+
#ifdef __WXMSW__
|
|
102
|
+
extern "C"
|
|
103
|
+
{
|
|
104
|
+
WXDLLIMPEXP_BASE HINSTANCE wxGetInstance();
|
|
105
|
+
}
|
|
106
|
+
#endif
|
|
107
|
+
|
|
108
|
+
static wxVector<WXRBMarkFunction> WXRuby_Mark_List;
|
|
109
|
+
|
|
110
|
+
WXRUBY_EXPORT void wxRuby_AppendMarker(WXRBMarkFunction marker)
|
|
111
|
+
{
|
|
112
|
+
WXRuby_Mark_List.push_back(marker);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
class wxRubyApp : public wxApp
|
|
116
|
+
{
|
|
117
|
+
private:
|
|
118
|
+
static wxRubyApp* instance_;
|
|
119
|
+
|
|
120
|
+
bool is_running_ = false;
|
|
121
|
+
public:
|
|
122
|
+
static wxRubyApp* GetInstance () { return instance_; }
|
|
123
|
+
|
|
124
|
+
virtual ~wxRubyApp()
|
|
125
|
+
{
|
|
126
|
+
#ifdef __WXTRACE__
|
|
127
|
+
std::wcout << "~wxRubyApp" << std::endl;
|
|
128
|
+
#endif
|
|
129
|
+
// unlink
|
|
130
|
+
VALUE the_app = rb_const_get(#{spec.package.module_variable}, rb_intern("THE_APP"));
|
|
131
|
+
if (the_app != Qnil)
|
|
132
|
+
{
|
|
133
|
+
DATA_PTR(the_app) = 0;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// special event handler for destruction of windows which is done
|
|
138
|
+
// automatically by wxWidgets. Tag the object as having been destroyed
|
|
139
|
+
// by WxWidgets.
|
|
140
|
+
void OnWindowDestroy(wxWindowDestroyEvent &event)
|
|
141
|
+
{
|
|
142
|
+
wxObject* wx_obj = event.GetEventObject();
|
|
143
|
+
#ifdef __WXRB_DEBUG__
|
|
144
|
+
if (wxRuby_TraceLevel()>0)
|
|
145
|
+
std::wcout << "<= OnWindowDestroy [" << wx_obj << "]" << std::endl;
|
|
146
|
+
#endif
|
|
147
|
+
GC_SetWindowDeleted((void *)wx_obj);
|
|
148
|
+
event.Skip();
|
|
149
|
+
#ifdef __WXRB_DEBUG__
|
|
150
|
+
if (wxRuby_TraceLevel()>0)
|
|
151
|
+
std::wcout << "=> OnWindowDestroy [" << wx_obj << "]" << std::endl;
|
|
152
|
+
#endif
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
bool IsRunning() const { return this->is_running_; }
|
|
156
|
+
|
|
157
|
+
// When ruby's garbage collection runs, if the app is still active, it
|
|
158
|
+
// cycles through all currently known SWIG objects and calls this
|
|
159
|
+
// function on each to preserve still active Wx::Windows, and also
|
|
160
|
+
// pending Wx::Events which have been queued from the Ruby side (the
|
|
161
|
+
// only sort of events that will be in the tracking hash.
|
|
162
|
+
static void markIterate(void* ptr, VALUE rb_obj)
|
|
163
|
+
{
|
|
164
|
+
// Check if it's a valid object (sometimes SWIG doesn't return what we're
|
|
165
|
+
// expecting), a descendant of Wx::Window (but not a Dialog), and if it has not yet been
|
|
166
|
+
// deleted by WxWidgets; if so, mark it.
|
|
167
|
+
if ( TYPE(rb_obj) == T_DATA )
|
|
168
|
+
{
|
|
169
|
+
if ( rb_obj_is_kind_of(rb_obj, wxRuby_GetWindowClass()) )
|
|
170
|
+
{
|
|
171
|
+
rb_gc_mark(rb_obj);
|
|
172
|
+
}
|
|
173
|
+
else if (rb_obj_is_kind_of(rb_obj, wxRuby_GetDefaultEventClass()) )
|
|
174
|
+
rb_gc_mark(rb_obj);
|
|
175
|
+
}
|
|
176
|
+
else if (TYPE(rb_obj) == T_ARRAY )
|
|
177
|
+
{
|
|
178
|
+
VALUE proc = rb_ary_entry(rb_obj, 0);
|
|
179
|
+
if (rb_obj_is_kind_of(proc, rb_cProc) || rb_obj_is_kind_of(proc, rb_cMethod))
|
|
180
|
+
{
|
|
181
|
+
// keep the async call alive
|
|
182
|
+
rb_gc_mark(rb_obj);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// Implements GC protection across wxRuby. Always called because
|
|
188
|
+
// Wx::THE_APP is a constant so always checked in GC mark phase.
|
|
189
|
+
static void mark_wxRubyApp(void *ptr)
|
|
190
|
+
{
|
|
191
|
+
|
|
192
|
+
#ifdef __WXRB_DEBUG__
|
|
193
|
+
if (wxRuby_TraceLevel()>0)
|
|
194
|
+
std::wcout << "=== Starting App GC mark phase" << std::endl;
|
|
195
|
+
#endif
|
|
196
|
+
|
|
197
|
+
// If the App has ended, the ruby object will have been unlinked from
|
|
198
|
+
// the C++ one; this implies that all Windows have already been destroyed
|
|
199
|
+
// so there is no point trying to mark them, and doing so may cause
|
|
200
|
+
// errors.
|
|
201
|
+
if ( !wxRubyApp::GetInstance() || !wxRubyApp::GetInstance()->IsRunning() )
|
|
202
|
+
{
|
|
203
|
+
#ifdef __WXRB_DEBUG__
|
|
204
|
+
if (wxRuby_TraceLevel()>0)
|
|
205
|
+
std::wcout << "=== App has ended, skipping mark phase" << std::endl;
|
|
206
|
+
#endif
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// Mark evt handler procs associated with live windows - see
|
|
211
|
+
// classes/EvtHandler.i
|
|
212
|
+
wxRuby_MarkProtectedEvtHandlerProcs();
|
|
213
|
+
|
|
214
|
+
// run registered markers
|
|
215
|
+
for (wxVector<WXRBMarkFunction>::iterator it = WXRuby_Mark_List.begin();
|
|
216
|
+
it != WXRuby_Mark_List.end() ;++it)
|
|
217
|
+
{
|
|
218
|
+
(*it) ();
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
// To do the main marking, primarily of Windows, iterate over SWIG's
|
|
222
|
+
// list of tracked objects
|
|
223
|
+
wxRuby_IterateTracking(&wxRubyApp::markIterate);
|
|
224
|
+
|
|
225
|
+
#ifdef __WXRB_DEBUG__
|
|
226
|
+
if (wxRuby_TraceLevel()>0)
|
|
227
|
+
std::wcout << "=== App GC mark phase completed" << std::endl;
|
|
228
|
+
#endif
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
// This is the method run when main_loop is called in Ruby
|
|
232
|
+
// wxEntry calls the C++ App::OnInit method
|
|
233
|
+
int main_loop()
|
|
234
|
+
{
|
|
235
|
+
VALUE rb_app = SWIG_RubyInstanceFor(this);
|
|
236
|
+
rb_define_const(#{spec.package.module_variable}, "THE_APP", rb_app);
|
|
237
|
+
this->Connect(wxEVT_DESTROY,
|
|
238
|
+
wxWindowDestroyEventHandler(wxRubyApp::OnWindowDestroy));
|
|
239
|
+
|
|
240
|
+
#ifdef __WXRB_DEBUG__
|
|
241
|
+
if (wxRuby_TraceLevel()>0)
|
|
242
|
+
std::wcout << "Calling wxEntry, this=" << this << std::endl;
|
|
243
|
+
#endif
|
|
244
|
+
|
|
245
|
+
#ifdef __WXMSW__
|
|
246
|
+
extern int wxEntry(HINSTANCE hInstance,
|
|
247
|
+
HINSTANCE WXUNUSED(hPrevInstance),
|
|
248
|
+
wxCmdLineArgType WXUNUSED(pCmdLine),
|
|
249
|
+
int nCmdShow);
|
|
250
|
+
wxEntry(wxGetInstance(),
|
|
251
|
+
(HINSTANCE)0,
|
|
252
|
+
(wxCmdLineArgType)"",
|
|
253
|
+
(int)true);
|
|
254
|
+
#else
|
|
255
|
+
int argc = 1;
|
|
256
|
+
const char* argv[2] = { "ruby", 0 };
|
|
257
|
+
wxEntry(argc, const_cast<char**>(&argv[0]));
|
|
258
|
+
#endif
|
|
259
|
+
|
|
260
|
+
rb_const_remove(#{spec.package.module_variable}, rb_intern("THE_APP"));
|
|
261
|
+
|
|
262
|
+
#ifdef __WXRB_DEBUG__
|
|
263
|
+
if (wxRuby_TraceLevel()>0)
|
|
264
|
+
std::wcout << "returned from wxEntry..." << std::endl;
|
|
265
|
+
#endif
|
|
266
|
+
rb_gc_start();
|
|
267
|
+
#ifdef __WXRB_DEBUG__
|
|
268
|
+
if (wxRuby_TraceLevel()>0)
|
|
269
|
+
std::wcout << "survived gc" << std::endl;
|
|
270
|
+
#endif
|
|
271
|
+
|
|
272
|
+
VALUE exc = rb_iv_get(rb_app, "@exception");
|
|
273
|
+
if (!NIL_P(exc))
|
|
274
|
+
{
|
|
275
|
+
rb_exc_raise(exc);
|
|
276
|
+
}
|
|
277
|
+
return 0;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// This method initializes the stock objects (Pens, Brushes, Fonts)
|
|
281
|
+
// before yielding to ruby by calling the App's on_init method.
|
|
282
|
+
// Note that as of wxWidget 2.8, the stock fonts in particular cannot
|
|
283
|
+
// be initialized any earlier than this without crashing
|
|
284
|
+
bool OnInit() override
|
|
285
|
+
{
|
|
286
|
+
#ifdef __WXRB_DEBUG__
|
|
287
|
+
if (wxRuby_TraceLevel()>0)
|
|
288
|
+
std::wcout << "OnInit..." << std::endl;
|
|
289
|
+
#endif
|
|
290
|
+
// set standard App name
|
|
291
|
+
this->SetAppName(wxString("wxruby"));
|
|
292
|
+
// Signal that we've started
|
|
293
|
+
wxRubyApp::instance_ = this; // there should ALWAYS EVER be only 1 app instance running/created
|
|
294
|
+
this->is_running_ = true;
|
|
295
|
+
// Set up the GDI objects
|
|
296
|
+
Init_wxRubyStockObjects();
|
|
297
|
+
// Get the ruby representation of the App object, and call the
|
|
298
|
+
// ruby on_init method to set up the initial window state
|
|
299
|
+
VALUE the_app = rb_const_get(#{spec.package.module_variable}, rb_intern("THE_APP"));
|
|
300
|
+
VALUE result = wxRuby_Funcall(the_app, rb_intern("on_ruby_init"), 0, 0);
|
|
301
|
+
|
|
302
|
+
// If on_init return any (ruby) true value, signal to wxWidgets to
|
|
303
|
+
// enter the main event loop by returning true, else return false
|
|
304
|
+
// which will make wxWidgets exit.
|
|
305
|
+
if ( result == Qfalse || result == Qnil )
|
|
306
|
+
{
|
|
307
|
+
wxRubyApp::instance_ = 0;
|
|
308
|
+
this->is_running_ = false;
|
|
309
|
+
return false;
|
|
310
|
+
}
|
|
311
|
+
else
|
|
312
|
+
{
|
|
313
|
+
return true;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
int OnExit() override
|
|
318
|
+
{
|
|
319
|
+
#ifdef __WXRB_DEBUG__
|
|
320
|
+
if (wxRuby_TraceLevel()>0)
|
|
321
|
+
std::wcout << "OnExit..." << std::endl;
|
|
322
|
+
#endif
|
|
323
|
+
|
|
324
|
+
// Get the ruby representation of the App object, and call the
|
|
325
|
+
// ruby on_exit method (if any) for application level cleanup
|
|
326
|
+
VALUE the_app = rb_const_get(#{spec.package.module_variable}, rb_intern("THE_APP"));
|
|
327
|
+
ID on_exit_id = rb_intern("on_exit");
|
|
328
|
+
if (rb_funcall(the_app, rb_intern("respond_to?"), 1, ID2SYM(on_exit_id)) == Qtrue)
|
|
329
|
+
{
|
|
330
|
+
wxRuby_Funcall(the_app, on_exit_id, 0, 0);
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
// perform wxRuby cleanup
|
|
334
|
+
_wxRuby_Cleanup();
|
|
335
|
+
|
|
336
|
+
// execute base wxWidgets functionality
|
|
337
|
+
return this->wxApp::OnExit();
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
// actually implemented in ruby in classes/app.rb
|
|
341
|
+
virtual void OnAssertFailure(const wxChar *file, int line, const wxChar *func, const wxChar *cond, const wxChar *msg)
|
|
342
|
+
{
|
|
343
|
+
std::wcout << "ASSERT fired" << std::endl;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
void _wxRuby_Cleanup()
|
|
347
|
+
{
|
|
348
|
+
#ifdef __WXRB_DEBUG__
|
|
349
|
+
if (wxRuby_TraceLevel()>0)
|
|
350
|
+
std::wcout << "wxRuby_Cleanup..." << std::endl;
|
|
351
|
+
#endif
|
|
352
|
+
// Note in a global variable that the App has ended, so that we
|
|
353
|
+
// can skip any GC marking later
|
|
354
|
+
wxRubyApp::instance_ = 0;
|
|
355
|
+
this->is_running_ = false;
|
|
356
|
+
|
|
357
|
+
// if a Ruby implemented logger has been installed clean that up
|
|
358
|
+
// before we exit, otherwise let wxWidgets handle things
|
|
359
|
+
wxLog *oldlog = wxLog::GetActiveTarget();
|
|
360
|
+
if (wxRuby_FindTracking(oldlog) != Qnil)
|
|
361
|
+
{
|
|
362
|
+
oldlog = wxLog::SetActiveTarget(new wxLogStderr);
|
|
363
|
+
}
|
|
364
|
+
else
|
|
365
|
+
{
|
|
366
|
+
oldlog = 0;
|
|
367
|
+
}
|
|
368
|
+
SetTopWindow(0);
|
|
369
|
+
if ( oldlog )
|
|
370
|
+
{
|
|
371
|
+
SWIG_RubyUnlinkObjects(oldlog);
|
|
372
|
+
SWIG_RubyRemoveTracking(oldlog);
|
|
373
|
+
delete oldlog;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
};
|
|
377
|
+
wxRubyApp* wxRubyApp::instance_ = 0;
|
|
378
|
+
|
|
379
|
+
WXRUBY_EXPORT bool wxRuby_IsAppRunning()
|
|
380
|
+
{
|
|
381
|
+
return wxRubyApp::GetInstance() != 0 && wxRubyApp::GetInstance()->IsRunning();
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
WXRUBY_EXPORT void wxRuby_ExitMainLoop(VALUE exception)
|
|
385
|
+
{
|
|
386
|
+
if (wxRubyApp::GetInstance() != 0 && wxRubyApp::GetInstance()->IsRunning())
|
|
387
|
+
{
|
|
388
|
+
if (!NIL_P(exception))
|
|
389
|
+
{
|
|
390
|
+
VALUE the_app = rb_const_get(#{spec.package.module_variable}, rb_intern("THE_APP"));
|
|
391
|
+
rb_iv_set(the_app, "@exception", exception);
|
|
392
|
+
}
|
|
393
|
+
wxRubyApp::GetInstance()->ExitMainLoop();
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
WXRUBY_EXPORT void wxRuby_PrintException(VALUE err)
|
|
398
|
+
{
|
|
399
|
+
static WxRuby_ID message_id("message");
|
|
400
|
+
static WxRuby_ID class_id("class");
|
|
401
|
+
static WxRuby_ID name_id("name");
|
|
402
|
+
static WxRuby_ID backtrace_id("backtrace");
|
|
403
|
+
static WxRuby_ID join_id("join");
|
|
404
|
+
|
|
405
|
+
VALUE msg = rb_funcall(err, message_id(), 0);
|
|
406
|
+
VALUE err_name = rb_funcall(rb_funcall(err, class_id(), 0), name_id(), 0);
|
|
407
|
+
VALUE bt = rb_funcall(err, backtrace_id(), 0);
|
|
408
|
+
bt = rb_funcall(bt, join_id(), 1, rb_str_new2("\\n"));
|
|
409
|
+
std::cerr << std::endl
|
|
410
|
+
<< ' ' << StringValuePtr(err_name) << ": " << StringValuePtr(msg) << std::endl
|
|
411
|
+
<< StringValuePtr(bt) << std::endl;
|
|
412
|
+
}
|
|
413
|
+
__HEREDOC
|
|
414
|
+
super
|
|
415
|
+
end
|
|
416
|
+
end
|
|
417
|
+
|
|
418
|
+
end # class Director
|
|
419
|
+
|
|
420
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,124 @@
|
|
|
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 ArtProvider < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
spec.make_concrete('wxArtProvider')
|
|
14
|
+
# make Ruby director and wrappers use custom implementation
|
|
15
|
+
spec.use_class_implementation('wxArtProvider', 'wxRubyArtProvider')
|
|
16
|
+
spec.ignore('wxArtProvider::Insert') # deprecated and problematic
|
|
17
|
+
spec.ignore('wxArtProvider::Remove') # problematic as adding disowns the art provider, use Delete
|
|
18
|
+
spec.no_proxy('wxArtProvider')
|
|
19
|
+
spec.include('wx/artprov.h')
|
|
20
|
+
spec.add_swig_code <<~__HEREDOC
|
|
21
|
+
// ArtId and ArtClient are basically just strings ...
|
|
22
|
+
typedef wxString wxArtID;
|
|
23
|
+
typedef wxString wxArtClient;
|
|
24
|
+
__HEREDOC
|
|
25
|
+
spec.map *%w[wxArtID wxArtClient], as: 'String', swig: false do
|
|
26
|
+
map_in
|
|
27
|
+
map_out
|
|
28
|
+
end
|
|
29
|
+
spec.map_apply 'SWIGTYPE *DISOWN' => 'wxArtProvider* provider'
|
|
30
|
+
spec.add_header_code <<~__HEREDOC
|
|
31
|
+
extern swig_class SwigClassWxSize;
|
|
32
|
+
extern swig_class SwigClassWxObject;
|
|
33
|
+
|
|
34
|
+
class wxRubyArtProvider : public wxArtProvider
|
|
35
|
+
{
|
|
36
|
+
public:
|
|
37
|
+
wxSize DoGetSizeHint (const wxArtClient &client) override
|
|
38
|
+
{
|
|
39
|
+
static WxRuby_ID do_get_size_hint_id("do_get_size_hint");
|
|
40
|
+
|
|
41
|
+
VALUE v_client, v_ret;
|
|
42
|
+
VALUE self = SWIG_RubyInstanceFor(this);
|
|
43
|
+
|
|
44
|
+
v_client = WXSTR_TO_RSTR(client);
|
|
45
|
+
v_ret = rb_funcall(self, do_get_size_hint_id(), 1, v_client);
|
|
46
|
+
if ( TYPE(v_ret) == T_DATA )
|
|
47
|
+
{
|
|
48
|
+
void* ptr;
|
|
49
|
+
SWIG_ConvertPtr(v_ret, &ptr, SWIGTYPE_p_wxSize, 1);
|
|
50
|
+
return *reinterpret_cast< wxSize * >(ptr);
|
|
51
|
+
}
|
|
52
|
+
else if ( TYPE(v_ret) == T_ARRAY )
|
|
53
|
+
{
|
|
54
|
+
return wxSize( NUM2INT( rb_ary_entry(v_ret, 0) ),
|
|
55
|
+
NUM2INT( rb_ary_entry(v_ret, 1) ) );
|
|
56
|
+
}
|
|
57
|
+
else
|
|
58
|
+
{
|
|
59
|
+
return wxSize(-1, -1);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
wxBitmap CreateBitmap(const wxArtID& id, const wxArtClient& client, const wxSize& size) override
|
|
64
|
+
{
|
|
65
|
+
static WxRuby_ID create_bitmap_id("create_bitmap");
|
|
66
|
+
|
|
67
|
+
VALUE v_id,v_client,v_size,v_ret;
|
|
68
|
+
VALUE self = SWIG_RubyInstanceFor(this);
|
|
69
|
+
|
|
70
|
+
v_id = WXSTR_TO_RSTR(id);
|
|
71
|
+
v_client = WXSTR_TO_RSTR(client);
|
|
72
|
+
v_size = SWIG_NewPointerObj(SWIG_as_voidptr(&size), SWIGTYPE_p_wxSize, 0);
|
|
73
|
+
v_ret = rb_funcall(self, create_bitmap_id(), 3, v_id, v_client, v_size);
|
|
74
|
+
|
|
75
|
+
if (v_ret != Qnil)
|
|
76
|
+
return *((wxBitmap *)DATA_PTR(v_ret));
|
|
77
|
+
else
|
|
78
|
+
return wxNullBitmap;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
wxBitmapBundle CreateBitmapBundle(const wxArtID& id, const wxArtClient& client, const wxSize& size) override
|
|
82
|
+
{
|
|
83
|
+
static WxRuby_ID create_bitmap_bundle_id("create_bitmap_bundle");
|
|
84
|
+
|
|
85
|
+
VALUE v_id,v_client,v_size,v_ret;
|
|
86
|
+
VALUE self = SWIG_RubyInstanceFor(this);
|
|
87
|
+
|
|
88
|
+
v_id = WXSTR_TO_RSTR(id);
|
|
89
|
+
v_client = WXSTR_TO_RSTR(client);
|
|
90
|
+
v_size = SWIG_NewPointerObj(SWIG_as_voidptr(&size), SWIGTYPE_p_wxSize, 0);
|
|
91
|
+
v_ret = rb_funcall(self, create_bitmap_bundle_id(), 3, v_id, v_client, v_size);
|
|
92
|
+
|
|
93
|
+
if (v_ret != Qnil)
|
|
94
|
+
return *((wxBitmapBundle *)DATA_PTR(v_ret));
|
|
95
|
+
else
|
|
96
|
+
return wxBitmapBundle();
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
wxIconBundle CreateIconBundle(const wxArtID &id, const wxArtClient &client) override
|
|
100
|
+
{
|
|
101
|
+
static WxRuby_ID create_icon_bundle_id("create_icon_bundle");
|
|
102
|
+
|
|
103
|
+
VALUE v_id,v_client,v_ret;
|
|
104
|
+
VALUE self = SWIG_RubyInstanceFor(this);
|
|
105
|
+
|
|
106
|
+
v_id = WXSTR_TO_RSTR(id);
|
|
107
|
+
v_client = WXSTR_TO_RSTR(client);
|
|
108
|
+
|
|
109
|
+
v_ret = rb_funcall(self, create_icon_bundle_id(), 2, v_id, v_client);
|
|
110
|
+
|
|
111
|
+
if (v_ret != Qnil)
|
|
112
|
+
return *((wxIconBundle *)DATA_PTR(v_ret));
|
|
113
|
+
else
|
|
114
|
+
return wxIconBundle();
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
__HEREDOC
|
|
118
|
+
super
|
|
119
|
+
end
|
|
120
|
+
end # class ArtProvider
|
|
121
|
+
|
|
122
|
+
end # class Director
|
|
123
|
+
|
|
124
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,23 @@
|
|
|
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 AuiDockArt < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.items << 'wxAuiDefaultDockArt'
|
|
15
|
+
spec.gc_as_object
|
|
16
|
+
spec.include 'wx/aui/framemanager.h'
|
|
17
|
+
spec.suppress_warning(473, 'wxAuiDockArt::Clone', 'wxAuiDefaultDockArt::Clone')
|
|
18
|
+
end
|
|
19
|
+
end # class AuiDockArt
|
|
20
|
+
|
|
21
|
+
end # class Director
|
|
22
|
+
|
|
23
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,26 @@
|
|
|
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 AuiFloatingFrame < Frame
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.no_proxy %w[
|
|
17
|
+
wxAuiFloatingFrame::CreateStatusBar wxAuiFloatingFrame::CreateToolBar
|
|
18
|
+
wxAuiFloatingFrame::GetMenuBar wxAuiFloatingFrame::GetStatusBar
|
|
19
|
+
wxAuiFloatingFrame::GetToolBar]
|
|
20
|
+
spec.include 'wx/aui/framemanager.h'
|
|
21
|
+
end
|
|
22
|
+
end # class AuiFloatingFrame
|
|
23
|
+
|
|
24
|
+
end # class Director
|
|
25
|
+
|
|
26
|
+
end # module WXRuby3
|