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
data/lib/wx/core/ext.rb
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
|
|
2
|
+
module Wx
|
|
3
|
+
|
|
4
|
+
class << self
|
|
5
|
+
|
|
6
|
+
private
|
|
7
|
+
|
|
8
|
+
class Key
|
|
9
|
+
def initialize(mod, sym)
|
|
10
|
+
@mod = mod
|
|
11
|
+
@sym = sym
|
|
12
|
+
end
|
|
13
|
+
attr_reader :mod, :sym
|
|
14
|
+
|
|
15
|
+
def eql?(other)
|
|
16
|
+
self.class === other && mod == other.mod && sym == other.sym
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def hash
|
|
20
|
+
"#{mod}#{sym}".hash
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def delayed_constants
|
|
25
|
+
@delayed_constants ||= ::Hash.new
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
public
|
|
29
|
+
|
|
30
|
+
def add_delayed_constant(mod, sym, &block)
|
|
31
|
+
delayed_constants[Key.new(mod,sym)] = block
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def load_delayed_constants
|
|
35
|
+
delayed_constants.each_pair { |key, blk| key.mod.const_set(key.sym, blk.call) }
|
|
36
|
+
delayed_constants.clear # cleanup
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def check_delayed_constant(mod, sym)
|
|
40
|
+
if delayed_constants.has_key?(Key.new(mod, sym))
|
|
41
|
+
raise "Delayed constant #{mod.name}::#{sym} cannot be referenced before the Wx::App has started."
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
if !defined?(::WxGlobalConstants)
|
|
47
|
+
def self.const_missing(sym)
|
|
48
|
+
Wx.check_delayed_constant(self, sym)
|
|
49
|
+
super
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
Dir.glob(File.join(File.dirname(__FILE__), 'ext', '*.rb')) do | fpath |
|
|
55
|
+
require_relative './ext/' + File.basename(fpath)
|
|
56
|
+
end
|
|
57
|
+
# Constant extension loader for wxRuby3
|
|
58
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
data/lib/wx/core/font.rb
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
|
|
2
|
+
require_relative './font/encoding'
|
|
3
|
+
|
|
4
|
+
class Wx::Font
|
|
5
|
+
class << self
|
|
6
|
+
# Returns the name of the platform's default font encoding
|
|
7
|
+
def get_default_encoding_name
|
|
8
|
+
ENCODING_NAMES[ get_default_encoding ]
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Sets the default encoding to be +enc+, which may be the string
|
|
12
|
+
# name of an encoding (eg 'UTF8') or an internal WxWidgets flag
|
|
13
|
+
# (eg Wx::FONTENCODING_UTF8).
|
|
14
|
+
def set_default_encoding_name(enc)
|
|
15
|
+
if flag_int = ENCODING_NAMES.index(enc.upcase)
|
|
16
|
+
set_default_encoding(Wx::FontEncoding.new(flag_int))
|
|
17
|
+
else
|
|
18
|
+
raise ArgumentError, "Unknown font encoding name '#{enc}'"
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Tweaks to the global module functions
|
|
2
|
+
|
|
3
|
+
module Wx
|
|
4
|
+
class << self
|
|
5
|
+
# Allow this to be called with keyword parameters, and avoid
|
|
6
|
+
# segfaults on OS X with bad params
|
|
7
|
+
wx_about_box = self.instance_method(:about_box)
|
|
8
|
+
define_method(:about_box) do | info |
|
|
9
|
+
# If AboutDialogInfo has no version, it segfaults on OS X 10.5
|
|
10
|
+
no_version = ArgumentError.new("Must supply a version for AboutDialog")
|
|
11
|
+
case info
|
|
12
|
+
when Wx::AboutDialogInfo
|
|
13
|
+
unless info.has_version
|
|
14
|
+
Kernel.raise no_version
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
ab_info = info
|
|
18
|
+
when Hash
|
|
19
|
+
ab_info = Wx::AboutDialogInfo.new
|
|
20
|
+
ab_info.name = info[:name] || 'wxRuby application'
|
|
21
|
+
ab_info.version = info[:version] || Kernel.raise(no_version)
|
|
22
|
+
|
|
23
|
+
ab_info.description = info[:description] || ''
|
|
24
|
+
ab_info.copyright = info[:copyright] || ''
|
|
25
|
+
ab_info.licence = info[:licence] || ''
|
|
26
|
+
ab_info.developers = info[:developers] || []
|
|
27
|
+
ab_info.doc_writers = info[:doc_writers] || []
|
|
28
|
+
ab_info.artists = info[:artists] || []
|
|
29
|
+
ab_info.translators = info[:translators] || []
|
|
30
|
+
if info.key?(:website)
|
|
31
|
+
ab_info.set_website(*info[:website])
|
|
32
|
+
end
|
|
33
|
+
if info.key?(:icon)
|
|
34
|
+
ab_info.icon = info[:icon]
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
else
|
|
38
|
+
Kernel.raise ArgumentError,
|
|
39
|
+
"Can't use #{info.inspect} for AboutDialogInfo"
|
|
40
|
+
end
|
|
41
|
+
wx_about_box.bind(self).call(ab_info)
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Gauge : presents a progress bar
|
|
2
|
+
#
|
|
3
|
+
# On the C++ side, the actual class name of wxGauge under Windows is
|
|
4
|
+
# wxGauge95. So when a Gauge is loaded from XRC, and we try to wrap the
|
|
5
|
+
# object in a ruby class by calling obj->ClassInfo()->ClassName(), it
|
|
6
|
+
# seeks for a ruby class (Wx::Gauge95) that doesn't exist (see
|
|
7
|
+
# swig/shared/get_ruby_object.i).
|
|
8
|
+
#
|
|
9
|
+
# To fix this, make Wx::Gauge95 an alias.
|
|
10
|
+
if Wx::PLATFORM == 'WXMSW'
|
|
11
|
+
Wx::Gauge95 = Wx::Gauge
|
|
12
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Bottom-up implementation of a Directory lister
|
|
2
|
+
class Wx::GenericDirCtrl
|
|
3
|
+
module DirCtrlTree
|
|
4
|
+
# The TreeCtrl contained in a GenericDirCtrl already has C++ data
|
|
5
|
+
# associated with the items. If these are returned to Ruby crashes
|
|
6
|
+
# will result. So this module sets the TreeCtrl to return the path
|
|
7
|
+
# string.
|
|
8
|
+
def get_item_data(tree_id)
|
|
9
|
+
root_id = get_root_item
|
|
10
|
+
return "" if tree_id == root_id
|
|
11
|
+
|
|
12
|
+
path = item_text(tree_id)
|
|
13
|
+
while tree_id = item_parent(tree_id) and tree_id != root_id
|
|
14
|
+
path = item_text(tree_id) + "/#{path}"
|
|
15
|
+
end
|
|
16
|
+
unless Wx::PLATFORM == 'WXMSW'
|
|
17
|
+
path = "/" + path
|
|
18
|
+
end
|
|
19
|
+
path
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
alias :get_item_path :get_item_data
|
|
23
|
+
|
|
24
|
+
# Not allowed
|
|
25
|
+
def set_item_data(tree_id, data)
|
|
26
|
+
Kernel.raise "Item data cannot be set for a GenericDirCtrl's Tree"
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
wx_get_tree_ctrl = instance_method(:get_tree_ctrl)
|
|
31
|
+
define_method(:get_tree_ctrl) do
|
|
32
|
+
tree = wx_get_tree_ctrl.bind(self).call
|
|
33
|
+
tree.extend(DirCtrlTree)
|
|
34
|
+
tree
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Pure-ruby implementation of the corresponding Wx class. Shows a
|
|
2
|
+
# relevant section of help, if available, or a native popup
|
|
3
|
+
require_relative './simplehelpprovider'
|
|
4
|
+
|
|
5
|
+
class Wx::HelpControllerHelpProvider < Wx::SimpleHelpProvider
|
|
6
|
+
def initialize(help_controller)
|
|
7
|
+
super()
|
|
8
|
+
@hc = help_controller
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Show help for +win+; if the help text for +win+ is a string with a
|
|
12
|
+
# single integer only, treats that as a section id for help and shows
|
|
13
|
+
# that, otherwise shows a popup (native-style on Windows) of the text.
|
|
14
|
+
def show_help(win)
|
|
15
|
+
help_text = get_help(win)
|
|
16
|
+
return false if help_text.empty?
|
|
17
|
+
if help_text =~ /\A\d+\z/
|
|
18
|
+
@hc.display_context_popup(help_text.to_i)
|
|
19
|
+
else
|
|
20
|
+
@hc.display_text_popup(help_text, Wx::get_mouse_position)
|
|
21
|
+
end
|
|
22
|
+
true
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Base class for providing context-sensitive help. The main definition
|
|
2
|
+
# is in SWIG/C++
|
|
3
|
+
class Wx::HelpProvider
|
|
4
|
+
class << self
|
|
5
|
+
# We need to protect the currently set HelpProvider from GC as it is a
|
|
6
|
+
# SWIG Director; it can't be reaped and re-wrapped later. The
|
|
7
|
+
# easiest way is to make the currently set one an instance variable
|
|
8
|
+
# of this class
|
|
9
|
+
alias :__wx_set :set
|
|
10
|
+
define_method(:set) do | help_provider |
|
|
11
|
+
__wx_set(help_provider)
|
|
12
|
+
@__hp__ = help_provider
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
data/lib/wx/core/icon.rb
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Specific type of platform-dependent image used for frames on Windows and
|
|
2
|
+
# Linux. Normally Bitmap is used
|
|
3
|
+
class Wx::Icon
|
|
4
|
+
# Load the type-guessing hash from Wx::Bitmap
|
|
5
|
+
require 'wx/core/bitmap'
|
|
6
|
+
BITMAP_TYPE_GUESS = Wx::Bitmap::BITMAP_TYPE_GUESS
|
|
7
|
+
|
|
8
|
+
# Analogous to Image.from_bitmap
|
|
9
|
+
def self.from_bitmap(bmp)
|
|
10
|
+
ico = new
|
|
11
|
+
ico.copy_from_bitmap(bmp)
|
|
12
|
+
ico
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def to_bitmap
|
|
16
|
+
# for WXMSW platform Icon is not derived from Bitmap
|
|
17
|
+
return self unless Wx::PLATFORM == 'WXMSW'
|
|
18
|
+
bm = Wx::Bitmap.new
|
|
19
|
+
bm.copy_from_icon(self)
|
|
20
|
+
bm
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# Redefine the initialize method so it raises an exception if a
|
|
24
|
+
# non-existent file is given to the constructor; otherwise, wx Widgets
|
|
25
|
+
# just carries on with an empty icon, which may cause faults
|
|
26
|
+
# later. Also guess icon type from filename, if not specified.
|
|
27
|
+
wx_init = self.instance_method(:initialize)
|
|
28
|
+
define_method(:initialize) do | *args |
|
|
29
|
+
if args[0].kind_of? String
|
|
30
|
+
if not File.exist?( File.expand_path(args[0]) )
|
|
31
|
+
Kernel.raise(ArgumentError, "Icon file does not exist: #{args[0]}")
|
|
32
|
+
end
|
|
33
|
+
# If type not specified, try to guess it from the file extension
|
|
34
|
+
if not args[1] and ( file_ext = args[0][/\w+$/] )
|
|
35
|
+
args[1] = BITMAP_TYPE_GUESS[file_ext.downcase]
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
wx_init.bind(self).call(*args)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# A platform-independent image; can be manipulated more extensively than
|
|
2
|
+
# Bitmap, but must be converted to a Bitmap for drawing.
|
|
3
|
+
class Wx::Image
|
|
4
|
+
|
|
5
|
+
# restore the overloaded method
|
|
6
|
+
def set_rgb_data(data, *size)
|
|
7
|
+
if size.empty?
|
|
8
|
+
height = self.get_size.height
|
|
9
|
+
width = self.get_size.width
|
|
10
|
+
else
|
|
11
|
+
width, height = size
|
|
12
|
+
if Wx::Size === width
|
|
13
|
+
height = width.height
|
|
14
|
+
width = width.width
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
set_rgb_data_with_size(data, width, height)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# alias for backward compatibility
|
|
21
|
+
alias :get_data :get_rgb_data
|
|
22
|
+
alias :set_data :set_rgb_data
|
|
23
|
+
|
|
24
|
+
# Load the type-guessing hash from Wx::Bitmap
|
|
25
|
+
require_relative './bitmap'
|
|
26
|
+
BITMAP_TYPE_GUESS = Wx::Bitmap::BITMAP_TYPE_GUESS
|
|
27
|
+
|
|
28
|
+
# Load a new image from an IO-like object that supports "read"
|
|
29
|
+
def self.read(an_io, type_or_mime, index = -1)
|
|
30
|
+
img = new
|
|
31
|
+
img.load_stream(an_io, type_or_mime, index)
|
|
32
|
+
img
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Create a new image from Wx::Bitmap, preserving mask information
|
|
36
|
+
def self.from_bitmap(bmp)
|
|
37
|
+
bmp.convert_to_image
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Ruby methods that switch class are conventionally named to_foo
|
|
41
|
+
def to_bitmap
|
|
42
|
+
Wx::Bitmap.from_image(self)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Redefine the initialize method so it raises an exception if a
|
|
46
|
+
# non-existent file is given to the constructor; otherwise, wx Widgets
|
|
47
|
+
# just carries on with an invalid image, which may cause faults
|
|
48
|
+
# later. Also, if loading from a file, and the type is not specified,
|
|
49
|
+
# try to guess it from the filename extension
|
|
50
|
+
wx_init = self.instance_method(:initialize)
|
|
51
|
+
define_method(:initialize) do | *args |
|
|
52
|
+
if args[0].kind_of? String
|
|
53
|
+
if not File.exist?( File.expand_path(args[0]) )
|
|
54
|
+
Kernel.raise(ArgumentError, "Image file does not exist: #{args[0]}")
|
|
55
|
+
end
|
|
56
|
+
# If type not specified, try to guess it from the file extension
|
|
57
|
+
if not args[1] and file_ext = args[0][/\w+$/]
|
|
58
|
+
args[1] = BITMAP_TYPE_GUESS[file_ext.downcase]
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
wx_init.bind(self).call(*args)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Convert to bitmap
|
|
65
|
+
def convert_to_bitmap
|
|
66
|
+
Wx::Bitmap.from_image(self)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Multi-item control with numerous possible view styles
|
|
2
|
+
class Wx::ListCtrl
|
|
3
|
+
# Make these ruby enumerables so find, find_all, map are available
|
|
4
|
+
include Enumerable
|
|
5
|
+
# Passes each valid item index into the passed block
|
|
6
|
+
def each
|
|
7
|
+
0.upto(item_count - 1) { | i | yield i }
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# Returns an Array containing the indexes of the currently selected
|
|
11
|
+
# items
|
|
12
|
+
def get_selections
|
|
13
|
+
selections = []
|
|
14
|
+
item = get_next_item(-1, Wx::LIST_NEXT_ALL, Wx::LIST_STATE_SELECTED)
|
|
15
|
+
while item >= 0
|
|
16
|
+
selections << item
|
|
17
|
+
item = get_next_item(item, Wx::LIST_NEXT_ALL, Wx::LIST_STATE_SELECTED)
|
|
18
|
+
end
|
|
19
|
+
selections
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# # Stub version for LC_VIRTUAL controls that does nothing; may be
|
|
23
|
+
# # overridden in subclasses.
|
|
24
|
+
# def on_get_item_attr(i)
|
|
25
|
+
# nil
|
|
26
|
+
# end
|
|
27
|
+
#
|
|
28
|
+
# # Stub version for LC_VIRTUAL|LC_REPORT controls that does nothing;
|
|
29
|
+
# # may be overridden in subclasses.
|
|
30
|
+
# def on_get_item_column_image(i, col)
|
|
31
|
+
# -1
|
|
32
|
+
# end
|
|
33
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
class Wx::Locale
|
|
2
|
+
class << self
|
|
3
|
+
def get_system_language_name
|
|
4
|
+
get_language_name( get_system_language )
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def get_system_encoding_name
|
|
8
|
+
Wx::Font::ENCODING_NAMES[ get_system_encoding ]
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Set the current locale by a name, canonical name, or Wx::LANGUAGE_
|
|
12
|
+
# constant; mainly here because it seems a bit strange in Ruby to
|
|
13
|
+
# have global side-effects in a constructor
|
|
14
|
+
def set_locale(locale)
|
|
15
|
+
if ::Integer === locale || Wx::Enum === locale
|
|
16
|
+
new(locale)
|
|
17
|
+
elsif ::String === locale and (lang_info = find_language_info(locale))
|
|
18
|
+
new(lang_info.language)
|
|
19
|
+
else
|
|
20
|
+
raise ArgumentError, "Unknown language #{locale}"
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# as wxWidgets defines an enum wxLanguage but still uses a mix of enum args and int args
|
|
25
|
+
# to specify languages we need to fix some things here to make that easier
|
|
26
|
+
wx_is_available = Wx::Locale.method(:is_available)
|
|
27
|
+
define_method :is_available do |lang|
|
|
28
|
+
wx_is_available.call(lang.to_i)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
wx_get_language_info = Wx::Locale.method(:get_language_info)
|
|
32
|
+
define_method :get_language_info do |lang|
|
|
33
|
+
wx_get_language_info.call(lang.to_i)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
wx_get_language_name = Wx::Locale.method(:get_language_name)
|
|
37
|
+
define_method :get_language_name do |lang|
|
|
38
|
+
wx_get_language_name.call(lang.to_i)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
wx_get_language_canonical_name = Wx::Locale.method(:get_language_canonical_name)
|
|
42
|
+
define_method :get_language_canonical_name do |lang|
|
|
43
|
+
wx_get_language_canonical_name.call(lang.to_i)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# as wxWidgets defines an enum wxLanguage but still uses a mix of enum args and int args
|
|
48
|
+
# to specify languages we need to fix some things here to make that easier
|
|
49
|
+
alias :wx_initialize :initialize
|
|
50
|
+
def initialize(*args)
|
|
51
|
+
if args.empty? || ::String === args.first
|
|
52
|
+
wx_initialize(*args)
|
|
53
|
+
else
|
|
54
|
+
wx_initialize(args.shift.to_i, *args)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# as wxWidgets defines an enum wxLanguage but still uses a mix of enum args and int args
|
|
59
|
+
# to specify languages we need to fix some things here to make that easier
|
|
60
|
+
wx_init = instance_method(:init)
|
|
61
|
+
define_method :init do |*args|
|
|
62
|
+
if args.empty? || ::String === args.first
|
|
63
|
+
wx_init.bind(self).call(*args)
|
|
64
|
+
else
|
|
65
|
+
wx_init.bind(self).call(args.shift.to_i, *args)
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def get_language_name
|
|
70
|
+
self.class.get_language_name(get_language)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
end
|
data/lib/wx/core/log.rb
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
module Wx
|
|
3
|
+
|
|
4
|
+
class Log
|
|
5
|
+
class << self
|
|
6
|
+
alias :active_target= :set_active_target
|
|
7
|
+
alias :active_target :get_active_target
|
|
8
|
+
alias :log_level :get_log_level
|
|
9
|
+
alias :log_level= :set_log_level
|
|
10
|
+
alias :enabled? :is_enabled
|
|
11
|
+
alias :repetition_counting :get_repetition_counting
|
|
12
|
+
alias :repetition_counting= :set_repetition_counting
|
|
13
|
+
alias :timestamp :get_timestamp
|
|
14
|
+
alias :timestamp= :set_timestamp
|
|
15
|
+
alias :verbose :get_verbose
|
|
16
|
+
alias :verbose= :set_verbose
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
end
|
data/lib/wx/core/menu.rb
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# A single labelled list within a drop-down menu, or a popup menu
|
|
2
|
+
class Wx::Menu
|
|
3
|
+
|
|
4
|
+
alias :wx_initialize :initialize
|
|
5
|
+
|
|
6
|
+
def initialize(*args, &block)
|
|
7
|
+
wx_initialize(*args)
|
|
8
|
+
if block
|
|
9
|
+
if block.arity == -1 or block.arity == 0
|
|
10
|
+
self.instance_eval(&block)
|
|
11
|
+
elsif block.arity == 1
|
|
12
|
+
block.call(self)
|
|
13
|
+
else
|
|
14
|
+
Kernel.raise ArgumentError,
|
|
15
|
+
"Block to initialize should accept a single argument or none"
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# In the standard WxWidgets API, the methods append, prepend, insert
|
|
21
|
+
# (and their variants) require a constant integer id as the identifier
|
|
22
|
+
# of the menu item. This is then used in event handling.
|
|
23
|
+
#
|
|
24
|
+
# In WxRuby the use of explicit ids can be avoided in most cases,
|
|
25
|
+
# being a most unruby-ish practice. So, by analogy with the general
|
|
26
|
+
# use of Wx::Window classes and event handlers, where the id is
|
|
27
|
+
# implicit in the constructor, and the window can be passed direct to
|
|
28
|
+
# the event handler setup method, the below sets up a similar facility
|
|
29
|
+
# for adding items to Wx::Menu.
|
|
30
|
+
#
|
|
31
|
+
# For all these methods, the only required argument is the string name
|
|
32
|
+
# of the menu item; a system-default id will be supplied if no
|
|
33
|
+
# explicit one is given. The return value of these methods in all
|
|
34
|
+
# cases is a Wx::MenuItem object, which can be passed directly as the
|
|
35
|
+
# first argument to an evt_menu handler.
|
|
36
|
+
def self.methods_with_optional_ids(*meth_names)
|
|
37
|
+
class_eval do
|
|
38
|
+
meth_names.each do | meth |
|
|
39
|
+
old_meth = instance_method(meth)
|
|
40
|
+
define_method(meth) do | *args |
|
|
41
|
+
case args.first
|
|
42
|
+
when Integer, Wx::Enum then old_meth.bind(self).call(*args)
|
|
43
|
+
when String then old_meth.bind(self).call(Wx::ID_ANY, *args)
|
|
44
|
+
when Wx::MenuItem then old_meth.bind(self).call(args.first)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Create the optional-id methods
|
|
52
|
+
methods_with_optional_ids :append, :prepend,
|
|
53
|
+
:append_check_item, :prepend_check_item,
|
|
54
|
+
:append_radio_item, :prepend_radio_item
|
|
55
|
+
|
|
56
|
+
# This is much the same as above, except for insert and variants,
|
|
57
|
+
# which take an additional first argument, the position at which to
|
|
58
|
+
# insert the new item.
|
|
59
|
+
def self.methods_with_optional_ids_and_pos(*meth_names)
|
|
60
|
+
class_eval do
|
|
61
|
+
meth_names.each do | meth |
|
|
62
|
+
old_meth = instance_method(meth)
|
|
63
|
+
define_method(meth) do | pos, *args |
|
|
64
|
+
case args.first
|
|
65
|
+
when Integer, Wx::Enum then old_meth.bind(self).call(pos, *args)
|
|
66
|
+
when String then old_meth.bind(self).call(pos, Wx::ID_ANY, *args)
|
|
67
|
+
when Wx::MenuItem then old_meth.bind(self).call(pos, args.first)
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# Create the optional-id methods
|
|
75
|
+
methods_with_optional_ids_and_pos :insert,
|
|
76
|
+
:insert_check_item,
|
|
77
|
+
:insert_radio_item
|
|
78
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
class Wx::MenuBar
|
|
3
|
+
|
|
4
|
+
alias :wx_initialize :initialize
|
|
5
|
+
|
|
6
|
+
def initialize(*args, &block)
|
|
7
|
+
wx_initialize(*args)
|
|
8
|
+
if block
|
|
9
|
+
if block.arity == -1 or block.arity == 0
|
|
10
|
+
self.instance_eval(&block)
|
|
11
|
+
elsif block.arity == 1
|
|
12
|
+
block.call(self)
|
|
13
|
+
else
|
|
14
|
+
Kernel.raise ArgumentError,
|
|
15
|
+
"Block to initialize should accept a single argument or none"
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# The root class for most (not all) WxRuby classes
|
|
2
|
+
class Wx::Object
|
|
3
|
+
# Massage the output of inspect to show the public module name (Wx),
|
|
4
|
+
# instead of the internal name (Wxruby2)
|
|
5
|
+
# def to_s
|
|
6
|
+
# super.sub('ruby2', '')
|
|
7
|
+
# end
|
|
8
|
+
|
|
9
|
+
# Returns a string containing the C++ pointer address of this
|
|
10
|
+
# object. Only useful for debugging.
|
|
11
|
+
def ptr_addr
|
|
12
|
+
Wx::ptr_addr(self)
|
|
13
|
+
end
|
|
14
|
+
end
|