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,197 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './window'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class ListCtrl < Window
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
spec.items << 'wxListItem' << 'wxItemAttr' << 'wxListView'
|
|
16
|
+
spec.gc_as_object('wxItemAttr')
|
|
17
|
+
spec.include 'wx/imaglist.h'
|
|
18
|
+
|
|
19
|
+
# for wxListItem
|
|
20
|
+
|
|
21
|
+
# These need to be dealt with below,
|
|
22
|
+
spec.ignore 'wxListItem::GetData() const'
|
|
23
|
+
# Only allow the void* version
|
|
24
|
+
spec.ignore 'wxListItem::SetData(long)'
|
|
25
|
+
|
|
26
|
+
spec.add_extend_code 'wxListItem', <<~__HEREDOC
|
|
27
|
+
VALUE get_data()
|
|
28
|
+
{
|
|
29
|
+
VALUE rb_obj;
|
|
30
|
+
long data = self->GetData();
|
|
31
|
+
if ( data )
|
|
32
|
+
{ rb_obj = (VALUE)data; }
|
|
33
|
+
else
|
|
34
|
+
{ rb_obj = Qnil; }
|
|
35
|
+
return rb_obj;
|
|
36
|
+
}
|
|
37
|
+
__HEREDOC
|
|
38
|
+
|
|
39
|
+
# for wxListCtrl
|
|
40
|
+
|
|
41
|
+
# Ruby handles memory management - always use SetImageList
|
|
42
|
+
spec.ignore 'wxListCtrl::AssignImageList'
|
|
43
|
+
# for now, ignore this version as the added customization features
|
|
44
|
+
# have no added value without custom edit controls which we can't
|
|
45
|
+
# define in Ruby for this
|
|
46
|
+
spec.ignore 'wxListCtrl::EditLabel'
|
|
47
|
+
# add simplified non-virtual version
|
|
48
|
+
spec.add_extend_code 'wxListCtrl', <<~__HEREDOC
|
|
49
|
+
void EditLabel(long item)
|
|
50
|
+
{
|
|
51
|
+
// route to original method
|
|
52
|
+
(void)self->EditLabel(item);
|
|
53
|
+
}
|
|
54
|
+
__HEREDOC
|
|
55
|
+
spec.set_only_for 'wxHAS_LISTCTRL_COLUMN_ORDER',
|
|
56
|
+
%w[wxListCtrl::GetColumnIndexFromOrder
|
|
57
|
+
wxListCtrl::GetColumnOrder
|
|
58
|
+
wxListCtrl::GetColumnsOrder
|
|
59
|
+
wxListCtrl::SetColumnsOrder]
|
|
60
|
+
# these are protected so ignored by defaylt but we want them here
|
|
61
|
+
spec.regard %w[
|
|
62
|
+
wxListCtrl::OnGetItemAttr
|
|
63
|
+
wxListCtrl::OnGetItemColumnAttr
|
|
64
|
+
wxListCtrl::OnGetItemColumnImage
|
|
65
|
+
wxListCtrl::OnGetItemImage
|
|
66
|
+
wxListCtrl::OnGetItemText
|
|
67
|
+
wxListCtrl::OnGetItemIsChecked
|
|
68
|
+
]
|
|
69
|
+
# handled; can be suppressed
|
|
70
|
+
spec.suppress_warning(473,
|
|
71
|
+
'wxListCtrl::OnGetItemAttr',
|
|
72
|
+
'wxListCtrl::OnGetItemColumnAttr')
|
|
73
|
+
# this reimplemented window base method need to be properly wrapped but
|
|
74
|
+
# is missing from the XML docs
|
|
75
|
+
spec.extend_interface('wxListCtrl', 'virtual void OnInternalIdle()')
|
|
76
|
+
# dealt with below
|
|
77
|
+
spec.ignore 'wxListCtrl::GetItem(wxListItem &) const',
|
|
78
|
+
'wxListCtrl::GetItemData',
|
|
79
|
+
'wxListCtrl::SetItemData',
|
|
80
|
+
'wxListCtrl::SetItemPtrData',
|
|
81
|
+
'wxListCtrl::SortItems'
|
|
82
|
+
# required for GetItemRect and GetSubItemRect
|
|
83
|
+
spec.map 'wxRect &rect' => 'Wx::Rect' do
|
|
84
|
+
map_in ignore: true, code: '$1 = new wxRect();'
|
|
85
|
+
map_argout code: '$result = SWIG_NewPointerObj($1, SWIGTYPE_p_wxRect, 1);'
|
|
86
|
+
end
|
|
87
|
+
# required for hit_test, return flags as second part of array return value
|
|
88
|
+
spec.map_apply 'int *OUTPUT' => 'int& flags'
|
|
89
|
+
# and ignore ptrSubItem argument (always pass NULL)
|
|
90
|
+
spec.map 'long *ptrSubItem' do
|
|
91
|
+
map_in ignore: true, code: ''
|
|
92
|
+
end
|
|
93
|
+
spec.add_swig_code '%markfunc wxListCtrl "GC_mark_wxListCtrl";'
|
|
94
|
+
spec.add_swig_code '%markfunc wxListView "GC_mark_wxListCtrl";'
|
|
95
|
+
spec.add_header_code <<~__HEREDOC
|
|
96
|
+
// Helper code for SortItems - yields the two items being compared into
|
|
97
|
+
// the associated block, and get an integer return value
|
|
98
|
+
int wxCALLBACK wxListCtrl_SortByYielding(wxIntPtr item1, wxIntPtr item2, wxIntPtr data)
|
|
99
|
+
{
|
|
100
|
+
VALUE items = rb_ary_new();
|
|
101
|
+
rb_ary_push(items, (VALUE)item1);
|
|
102
|
+
rb_ary_push(items, (VALUE)item2);
|
|
103
|
+
VALUE the_order = rb_yield(items);
|
|
104
|
+
return NUM2INT(the_order);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Prevents Ruby's GC sweeping up items that are stored as item data
|
|
108
|
+
static void GC_mark_wxListCtrl(void* ptr)
|
|
109
|
+
{
|
|
110
|
+
if ( GC_IsWindowDeleted(ptr) )
|
|
111
|
+
{
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
// Do standard marking routines as for all wxWindows
|
|
115
|
+
GC_mark_wxWindow(ptr);
|
|
116
|
+
|
|
117
|
+
wxListCtrl* wx_lc = (wxListCtrl*) ptr;
|
|
118
|
+
|
|
119
|
+
// First check if there's ImageLists and mark if found
|
|
120
|
+
wxImageList* img_list;
|
|
121
|
+
img_list= wx_lc->GetImageList(wxIMAGE_LIST_NORMAL);
|
|
122
|
+
if ( img_list ) rb_gc_mark(SWIG_RubyInstanceFor(img_list));
|
|
123
|
+
img_list= wx_lc->GetImageList(wxIMAGE_LIST_SMALL);
|
|
124
|
+
if ( img_list ) rb_gc_mark(SWIG_RubyInstanceFor(img_list));
|
|
125
|
+
img_list= wx_lc->GetImageList(wxIMAGE_LIST_STATE);
|
|
126
|
+
if ( img_list ) rb_gc_mark(SWIG_RubyInstanceFor(img_list));
|
|
127
|
+
|
|
128
|
+
// Don't try to mark item data for VIRTUAL listctrls
|
|
129
|
+
if ( wx_lc->GetWindowStyle() & wxLC_VIRTUAL )
|
|
130
|
+
return;
|
|
131
|
+
|
|
132
|
+
int count = wx_lc->GetItemCount();
|
|
133
|
+
if ( count == 0 ) return;
|
|
134
|
+
|
|
135
|
+
for (int i = 0; i < count; ++i)
|
|
136
|
+
{
|
|
137
|
+
wxUIntPtr data = wx_lc->GetItemData(i);
|
|
138
|
+
VALUE object = reinterpret_cast<VALUE> (data);
|
|
139
|
+
if ( object && object != Qnil )
|
|
140
|
+
{
|
|
141
|
+
rb_gc_mark(object);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
__HEREDOC
|
|
146
|
+
spec.add_extend_code 'wxListCtrl', <<~__HEREDOC
|
|
147
|
+
VALUE get_item(int row, int col = -1)
|
|
148
|
+
{
|
|
149
|
+
VALUE returnVal = Qnil;
|
|
150
|
+
wxListItem *list_item = new wxListItem();
|
|
151
|
+
list_item->SetId(row);
|
|
152
|
+
if ( col != -1 )
|
|
153
|
+
list_item->SetColumn(col);
|
|
154
|
+
// We don't know what fields the ruby user might wish to access, so
|
|
155
|
+
// we fetch them all
|
|
156
|
+
list_item->SetMask(wxLIST_MASK_DATA|wxLIST_MASK_FORMAT|wxLIST_MASK_IMAGE|wxLIST_MASK_STATE|wxLIST_MASK_TEXT|wxLIST_MASK_WIDTH);
|
|
157
|
+
|
|
158
|
+
bool success = self->GetItem(*list_item);
|
|
159
|
+
if ( success )
|
|
160
|
+
returnVal = SWIG_NewPointerObj(list_item, SWIGTYPE_p_wxListItem, 1);
|
|
161
|
+
|
|
162
|
+
return returnVal;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
VALUE get_item_data(int row)
|
|
166
|
+
{
|
|
167
|
+
if ( row < 0 || row >= self->GetItemCount() ) return Qnil;
|
|
168
|
+
wxUIntPtr item_data = self->GetItemData(row);
|
|
169
|
+
if ( item_data == 0 ) return Qnil;
|
|
170
|
+
return reinterpret_cast<VALUE> (item_data);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
VALUE set_item_data(int row, VALUE ruby_obj)
|
|
174
|
+
{
|
|
175
|
+
if (row < 0 || row >= self->GetItemCount())
|
|
176
|
+
{
|
|
177
|
+
rb_raise(rb_eIndexError, "Uninitialized item");
|
|
178
|
+
}
|
|
179
|
+
wxUIntPtr item_data = reinterpret_cast<wxUIntPtr> (ruby_obj);
|
|
180
|
+
bool result = self->SetItemPtrData(row, item_data);
|
|
181
|
+
if ( result )
|
|
182
|
+
return Qtrue;
|
|
183
|
+
return Qnil;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
void sort_items()
|
|
187
|
+
{
|
|
188
|
+
self->SortItems(wxListCtrl_SortByYielding, 0);
|
|
189
|
+
}
|
|
190
|
+
__HEREDOC
|
|
191
|
+
super
|
|
192
|
+
end
|
|
193
|
+
end # class ListCtrl
|
|
194
|
+
|
|
195
|
+
end # class Director
|
|
196
|
+
|
|
197
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './ctrl_with_items'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class ListBox < ControlWithItems
|
|
13
|
+
|
|
14
|
+
include Typemap::ArrayIntSelections
|
|
15
|
+
|
|
16
|
+
def setup
|
|
17
|
+
super
|
|
18
|
+
setup_ctrl_with_items('wxListBox')
|
|
19
|
+
spec.override_inheritance_chain('wxListBox',
|
|
20
|
+
%w[wxControlWithItems
|
|
21
|
+
wxControl
|
|
22
|
+
wxWindow
|
|
23
|
+
wxEvtHandler
|
|
24
|
+
wxObject])
|
|
25
|
+
spec.ignore('wxListBox::InsertItems(unsigned int,const wxString *,unsigned int)')
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end # class ListBox
|
|
29
|
+
|
|
30
|
+
end # class Director
|
|
31
|
+
|
|
32
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,35 @@
|
|
|
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 Locale < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.disable_proxies
|
|
15
|
+
spec.items << 'wxLanguageInfo' << 'language.h'
|
|
16
|
+
spec.gc_as_object('wxLocale')
|
|
17
|
+
spec.gc_as_temporary('wxLanguageInfo')
|
|
18
|
+
spec.regard %w[
|
|
19
|
+
wxLanguageInfo::Language
|
|
20
|
+
wxLanguageInfo::LocaleTag
|
|
21
|
+
wxLanguageInfo::CanonicalName
|
|
22
|
+
wxLanguageInfo::CanonicalRef
|
|
23
|
+
wxLanguageInfo::Description
|
|
24
|
+
wxLanguageInfo::DescriptionNative
|
|
25
|
+
wxLanguageInfo::LayoutDirection
|
|
26
|
+
wxLanguageInfo::WinLang
|
|
27
|
+
wxLanguageInfo::WinSublang
|
|
28
|
+
]
|
|
29
|
+
spec.set_only_for('__WIN32__', 'wxLanguageInfo::WinLang', 'wxLanguageInfo::WinSublang')
|
|
30
|
+
end
|
|
31
|
+
end # class Locale
|
|
32
|
+
|
|
33
|
+
end # class Director
|
|
34
|
+
|
|
35
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,32 @@
|
|
|
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 Log < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
spec.gc_as_object
|
|
14
|
+
spec.items.concat(%w[wxLogBuffer wxLogChain wxLogGui wxLogStderr wxLogStream wxLogTextCtrl wxLogInterposer wxLogInterposerTemp wxLogWindow])
|
|
15
|
+
spec.no_proxy(%w[wxLogBuffer wxLogChain wxLogGui wxLogStderr wxLogTextCtrl wxLogInterposer wxLogInterposerTemp wxLogWindow])
|
|
16
|
+
spec.ignore 'wxLogBuffer::Flush'
|
|
17
|
+
spec.ignore 'wxLogGui::Flush'
|
|
18
|
+
if Config.instance.features_set?(%w[wxUSE_STD_IOSTREAM])
|
|
19
|
+
spec.ignore 'wxLogStream'
|
|
20
|
+
end
|
|
21
|
+
spec.ignore 'wxLog::SetThreadActiveTarget'
|
|
22
|
+
spec.disown 'wxLog *logtarget'
|
|
23
|
+
spec.do_not_generate(:functions)
|
|
24
|
+
spec.make_concrete('wxLog')
|
|
25
|
+
spec.extend_interface('wxLog', ' virtual ~wxLog ();')
|
|
26
|
+
super
|
|
27
|
+
end
|
|
28
|
+
end # class Log
|
|
29
|
+
|
|
30
|
+
end # class Director
|
|
31
|
+
|
|
32
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,36 @@
|
|
|
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 MDIFrame < Frame
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
spec.items.replace(%w[wxMDIParentFrame wxMDIChildFrame])
|
|
16
|
+
super
|
|
17
|
+
spec.no_proxy %w[
|
|
18
|
+
wxMDIParentFrame::GetActiveChild
|
|
19
|
+
wxMDIParentFrame::SetWindowMenu
|
|
20
|
+
wxMDIParentFrame::Tile
|
|
21
|
+
wxMDIParentFrame::Cascade]
|
|
22
|
+
# for GetClientWindow
|
|
23
|
+
spec.map 'wxMDIClientWindowBase *' => 'wxMDIClientWindow *' do
|
|
24
|
+
map_out code: <<~__HEREDOC
|
|
25
|
+
$result = SWIG_NewPointerObj(SWIG_as_voidptr($1), SWIGTYPE_p_wxMDIClientWindow, 0 | 0 );
|
|
26
|
+
__HEREDOC
|
|
27
|
+
end
|
|
28
|
+
spec.suppress_warning(473, 'wxMDIParentFrame::OnCreateClient')
|
|
29
|
+
spec.no_proxy %w[
|
|
30
|
+
wxMDIChildFrame::Activate]
|
|
31
|
+
end
|
|
32
|
+
end # class MDIFrame
|
|
33
|
+
|
|
34
|
+
end # class Director
|
|
35
|
+
|
|
36
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './window'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class MediaCtrl < Window
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.do_not_generate :variables, :enums, :defines, :functions
|
|
17
|
+
end
|
|
18
|
+
end # class MediaCtrl
|
|
19
|
+
|
|
20
|
+
end # class Director
|
|
21
|
+
|
|
22
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,92 @@
|
|
|
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 Menu < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
spec.gc_never
|
|
14
|
+
spec.ignore 'wxMenu::wxMenu(long)'
|
|
15
|
+
spec.no_proxy 'wxMenu' # do not support derived wxMenu classes
|
|
16
|
+
spec.add_header_code <<~__HEREDOC
|
|
17
|
+
// Custom subclass implementation.
|
|
18
|
+
// Provides proper support for Ruby GC in destructor.
|
|
19
|
+
class wxRubyMenu : public wxMenu
|
|
20
|
+
{
|
|
21
|
+
public:
|
|
22
|
+
wxRubyMenu() : wxMenu() {}
|
|
23
|
+
wxRubyMenu(const wxString &title, long style=0) : wxMenu(title, style) {}
|
|
24
|
+
virtual ~wxRubyMenu()
|
|
25
|
+
{
|
|
26
|
+
SWIG_RubyUnlinkObjects(this);
|
|
27
|
+
SWIG_RubyRemoveTracking(this);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
__HEREDOC
|
|
31
|
+
# make Ruby director and wrappers use custom implementation
|
|
32
|
+
spec.use_class_implementation('wxMenu', 'wxRubyMenu')
|
|
33
|
+
spec.rename_for_ruby(
|
|
34
|
+
'AppendItem' =>
|
|
35
|
+
'wxMenu::Append(wxMenuItem *item)')
|
|
36
|
+
# ignore non-const version as that has no benefits in Ruby
|
|
37
|
+
spec.ignore 'wxMenu::GetMenuItems()'
|
|
38
|
+
# Fix for GetMenuItems - converts list of MenuItems to Array
|
|
39
|
+
spec.map 'wxMenuItemList&' => 'Array<Wx::MenuItem>' do
|
|
40
|
+
map_out code: <<~__CODE
|
|
41
|
+
$result = rb_ary_new();
|
|
42
|
+
wxMenuItemList::iterator iter;
|
|
43
|
+
for (iter = $1->begin(); iter != $1->end(); ++iter)
|
|
44
|
+
{
|
|
45
|
+
wxMenuItem *wx_menu_item = *iter;
|
|
46
|
+
VALUE rb_menu_item = SWIG_NewPointerObj(SWIG_as_voidptr(wx_menu_item),
|
|
47
|
+
SWIGTYPE_p_wxMenuItem, 0);
|
|
48
|
+
rb_ary_push($result, rb_menu_item);
|
|
49
|
+
}
|
|
50
|
+
__CODE
|
|
51
|
+
end
|
|
52
|
+
spec.add_header_code <<~__HEREDOC
|
|
53
|
+
// Mark Function
|
|
54
|
+
// Need to protect MenuItems which are included in the Menu, including
|
|
55
|
+
// their associated sub-menus, recursively.
|
|
56
|
+
static void mark_wxMenu(void *ptr)
|
|
57
|
+
{
|
|
58
|
+
if ( GC_IsWindowDeleted(ptr) )
|
|
59
|
+
return;
|
|
60
|
+
|
|
61
|
+
wxMenu* menu = (wxMenu*)ptr;
|
|
62
|
+
wxMenuItemList menu_items = menu->GetMenuItems();
|
|
63
|
+
wxMenuItemList::iterator iter;
|
|
64
|
+
for (iter = menu_items.begin(); iter != menu_items.end(); ++iter)
|
|
65
|
+
{
|
|
66
|
+
wxMenuItem *item = *iter;
|
|
67
|
+
rb_gc_mark( SWIG_RubyInstanceFor(item) );
|
|
68
|
+
wxMenu* sub_menu = item->GetSubMenu();
|
|
69
|
+
if ( sub_menu)
|
|
70
|
+
rb_gc_mark( SWIG_RubyInstanceFor(sub_menu) );
|
|
71
|
+
}
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
__HEREDOC
|
|
75
|
+
spec.add_swig_code <<~__HEREDOC
|
|
76
|
+
%markfunc wxMenu "mark_wxMenu";
|
|
77
|
+
__HEREDOC
|
|
78
|
+
# fix SWIG's problems with const& return value
|
|
79
|
+
spec.ignore('wxMenu::GetTitle', ignore_doc: false) # keep doc
|
|
80
|
+
spec.add_extend_code 'wxMenu', <<~__HEREDOC
|
|
81
|
+
wxString* GetTitle() const {
|
|
82
|
+
wxString const& title = $self->GetTitle();
|
|
83
|
+
return &const_cast<wxString&> (title);
|
|
84
|
+
}
|
|
85
|
+
__HEREDOC
|
|
86
|
+
super
|
|
87
|
+
end
|
|
88
|
+
end # class Menu
|
|
89
|
+
|
|
90
|
+
end # class Director
|
|
91
|
+
|
|
92
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './window'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class MenuBar < Window
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
spec.no_proxy('wxMenuBar::FindItem',
|
|
16
|
+
'wxMenuBar::Remove',
|
|
17
|
+
'wxMenuBar::Replace')
|
|
18
|
+
spec.ignore('wxMenuBar::wxMenuBar(size_t,wxMenu *[],const wxString[],long)',
|
|
19
|
+
'wxMenuBar::GetLabelTop',
|
|
20
|
+
'wxMenuBar::SetLabelTop',
|
|
21
|
+
'wxMenuBar::Refresh')
|
|
22
|
+
super
|
|
23
|
+
end
|
|
24
|
+
end # class MenuBar
|
|
25
|
+
|
|
26
|
+
end # class Director
|
|
27
|
+
|
|
28
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
module WXRuby3
|
|
7
|
+
|
|
8
|
+
class Director
|
|
9
|
+
|
|
10
|
+
class MenuItem < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
# this assumes all MenuItem-s created by users will always be added to a menu
|
|
14
|
+
# (which seems acceptable as there is no use for menu items otherwise)
|
|
15
|
+
# if not the C++ item will never be deleted before the process terminates
|
|
16
|
+
# (but this goes for all object marked for GC_NEVER).
|
|
17
|
+
spec.gc_never
|
|
18
|
+
spec.ignore(%w[wxMenuItem::GetLabel wxMenuItem::GetName wxMenuItem::GetText wxMenuItem::SetText wxMenuItem::GetLabelFromText])
|
|
19
|
+
# ignore this as there is no implementation anymore
|
|
20
|
+
spec.ignore 'wxMenuItem::GetAccelFromString'
|
|
21
|
+
spec.set_only_for 'wxUSE_ACCEL', 'wxMenuItem::GetAccel'
|
|
22
|
+
spec.no_proxy 'wxMenuItem::GetAccel'
|
|
23
|
+
spec.ignore 'wxMenuItem::GetBitmap(bool)' # not portable
|
|
24
|
+
if Config.instance.wx_version >= '3.3.0'
|
|
25
|
+
spec.set_only_for '__WXMSW__',
|
|
26
|
+
'wxMenuItem::SetBackgroundColour',
|
|
27
|
+
'wxMenuItem::SetFont',
|
|
28
|
+
'wxMenuItem::SetTextColour'
|
|
29
|
+
end
|
|
30
|
+
super
|
|
31
|
+
end
|
|
32
|
+
end # class MenuItem
|
|
33
|
+
|
|
34
|
+
end # class Director
|
|
35
|
+
|
|
36
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
module WXRuby3
|
|
7
|
+
|
|
8
|
+
class Director
|
|
9
|
+
|
|
10
|
+
class MouseState < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.ignore 'wxMouseState::GetPosition(int*,int*)'
|
|
15
|
+
spec.do_not_generate(:variables, :enums, :defines, :functions)
|
|
16
|
+
end
|
|
17
|
+
end # class MouseState
|
|
18
|
+
|
|
19
|
+
end # class Director
|
|
20
|
+
|
|
21
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,38 @@
|
|
|
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 NumericPropertyValidator < EvtHandler
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
# need a custom implementation to handle event handler proc cleanup
|
|
17
|
+
spec.add_header_code <<~__HEREDOC
|
|
18
|
+
class WXRubyNumericPropertyValidator : public wxNumericPropertyValidator
|
|
19
|
+
{
|
|
20
|
+
public:
|
|
21
|
+
WXRubyNumericPropertyValidator(NumericType numericType, int base=10)
|
|
22
|
+
: wxNumericPropertyValidator(numericType, base) {}
|
|
23
|
+
virtual ~WXRubyNumericPropertyValidator()
|
|
24
|
+
{
|
|
25
|
+
wxRuby_ReleaseEvtHandlerProcs(this);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
__HEREDOC
|
|
29
|
+
spec.use_class_implementation 'wxNumericPropertyValidator', 'WXRubyNumericPropertyValidator'
|
|
30
|
+
spec.no_proxy 'wxNumericPropertyValidator::Clone'
|
|
31
|
+
spec.do_not_generate :variables, :defines, :enums, :functions
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end # class NumericPropertyValidator
|
|
35
|
+
|
|
36
|
+
end # class Director
|
|
37
|
+
|
|
38
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,32 @@
|
|
|
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 Object < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
spec.make_abstract('wxObject')
|
|
14
|
+
spec.ignore %w[wxObject::Ref wxObject::UnRef wxObject::GetRefData wxObject::IsKindOf wxObject::GetClassInfo]
|
|
15
|
+
spec.no_proxy 'wxObject'
|
|
16
|
+
spec.add_extend_code 'wxObject', <<~__HEREDOC
|
|
17
|
+
// Returns the string name of the C++ wx class which this object is wrapping.
|
|
18
|
+
// The doubled wx_ name is to fool renamer.rb, which strips the wx_ prefix.
|
|
19
|
+
// The actual final method is called wx_class
|
|
20
|
+
VALUE wx_wx_class() {
|
|
21
|
+
wxString class_name( self->GetClassInfo()->GetClassName() );
|
|
22
|
+
VALUE rb_class_name = WXSTR_TO_RSTR(class_name);
|
|
23
|
+
return rb_class_name;
|
|
24
|
+
}
|
|
25
|
+
__HEREDOC
|
|
26
|
+
super
|
|
27
|
+
end
|
|
28
|
+
end # class Object
|
|
29
|
+
|
|
30
|
+
end # class Director
|
|
31
|
+
|
|
32
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './dialog'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class PageSetupDialog < Director::Dialog
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
# make PageSetupDialog GC-safe
|
|
17
|
+
spec.ignore 'wxPageSetupDialog::GetPageSetupData'
|
|
18
|
+
spec.add_extend_code 'wxPageSetupDialog', <<~__HEREDOC
|
|
19
|
+
wxPageSetupDialogData* GetPageSetupData()
|
|
20
|
+
{ return new wxPageSetupDialogData(self->GetPageSetupData()); }
|
|
21
|
+
void SetPageSetupData(const wxPageSetupDialogData& psdd)
|
|
22
|
+
{ self->GetPageSetupData() = psdd; }
|
|
23
|
+
__HEREDOC
|
|
24
|
+
spec.new_object 'wxPageSetupDialog::GetPageSetupData'
|
|
25
|
+
end
|
|
26
|
+
end # class PageSetupDialog
|
|
27
|
+
|
|
28
|
+
end # class Director
|
|
29
|
+
|
|
30
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
module WXRuby3
|
|
7
|
+
|
|
8
|
+
class Director
|
|
9
|
+
|
|
10
|
+
class Palette < Director
|
|
11
|
+
|
|
12
|
+
def setup
|
|
13
|
+
super
|
|
14
|
+
spec.disable_proxies
|
|
15
|
+
if Config.instance.wx_port == :wxQT
|
|
16
|
+
# mismatched implementation which does nothing anyway
|
|
17
|
+
spec.ignore 'wxPalette::wxPalette(int, const unsigned char *, const unsigned char *, const unsigned char *)'
|
|
18
|
+
spec.ignore 'wxPalette::Create(int, const unsigned char *, const unsigned char *, const unsigned char *)'
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end # class Palette
|
|
22
|
+
|
|
23
|
+
end # class Director
|
|
24
|
+
|
|
25
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
###
|
|
2
|
+
# wxRuby3 wxWidgets interface director
|
|
3
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
4
|
+
###
|
|
5
|
+
|
|
6
|
+
require_relative './window'
|
|
7
|
+
|
|
8
|
+
module WXRuby3
|
|
9
|
+
|
|
10
|
+
class Director
|
|
11
|
+
|
|
12
|
+
class Panel < Window
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
super
|
|
16
|
+
spec.no_proxy 'wxPanel::Layout'
|
|
17
|
+
end
|
|
18
|
+
end # class Panel
|
|
19
|
+
|
|
20
|
+
end # class Director
|
|
21
|
+
|
|
22
|
+
end # module WXRuby3
|