wxruby3 0.9.1 → 0.9.3
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 +4 -4
- data/.yardopts +1 -0
- data/INSTALL.md +35 -29
- data/README.md +24 -15
- data/ext/wxruby3/include/wxRubyApp.h +338 -0
- data/ext/wxruby3/include/wxruby-ClientData.h +48 -0
- data/ext/wxruby3/include/wxruby-Config.h +6 -6
- data/ext/wxruby3/include/wxruby-Validator.h +39 -0
- data/ext/wxruby3/include/wxruby-ValidatorBinding.h +64 -0
- data/ext/wxruby3/swig/common.i +1 -1
- data/ext/wxruby3/swig/custom/director.swg +8 -0
- data/ext/wxruby3/swig/mark_free_impl.i +0 -33
- data/lib/wx/aui/aui_tab_ctrl.rb +18 -0
- data/lib/wx/aui/auinotebook.rb +6 -2
- data/lib/wx/aui/require.rb +1 -0
- data/lib/wx/core/app.rb +2 -2
- data/lib/wx/core/bitmap_combobox.rb +17 -21
- data/lib/wx/core/collapsible_pane.rb +1 -1
- data/lib/wx/core/combobox.rb +13 -3
- data/lib/wx/core/controlwithitems.rb +40 -128
- data/lib/wx/core/enum.rb +17 -1
- data/lib/wx/core/event.rb +6 -1
- data/lib/wx/core/evthandler.rb +8 -2
- data/lib/wx/core/generic_validator.rb +312 -0
- data/lib/wx/core/listbox.rb +2 -2
- data/lib/wx/core/log.rb +1 -1
- data/lib/wx/core/menu.rb +10 -0
- data/lib/wx/core/notebook.rb +6 -2
- data/lib/wx/core/owner_drawn_combobox.rb +45 -0
- data/lib/wx/core/size.rb +4 -0
- data/lib/wx/core/sizer.rb +12 -2
- data/lib/wx/core/standard_paths.rb +22 -0
- data/lib/wx/core/task_bar_button.rb +19 -0
- data/lib/wx/core/text_entry.rb +4 -1
- data/lib/wx/core/textctrl.rb +11 -1
- data/lib/wx/core/{treectrl.rb → tree_ctrl.rb} +31 -12
- data/lib/wx/core/validator.rb +70 -5
- data/lib/wx/core/window.rb +13 -7
- data/lib/wx/doc/app.rb +48 -38
- data/lib/wx/doc/art_locator.rb +48 -43
- data/lib/wx/doc/aui/auimanager.rb +16 -8
- data/lib/wx/doc/aui/auinotebook.rb +20 -5
- data/lib/wx/doc/clipboard.rb +11 -7
- data/lib/wx/doc/colour_dialog.rb +14 -10
- data/lib/wx/doc/comboctrl.rb +18 -0
- data/lib/wx/doc/controlwithitems.rb +34 -8
- data/lib/wx/doc/data_object.rb +2 -2
- data/lib/wx/doc/date_picker_ctrl.rb +23 -0
- data/lib/wx/doc/editable_listbox.rb +44 -0
- data/lib/wx/doc/enum.rb +15 -0
- data/lib/wx/doc/event.rb +12 -0
- data/lib/wx/doc/evthandler.rb +113 -108
- data/lib/wx/doc/extra/12_client_data.md +89 -0
- data/lib/wx/doc/extra/13_validators.md +139 -0
- data/lib/wx/doc/font.rb +1 -0
- data/lib/wx/doc/gc_dc.rb +6 -1
- data/lib/wx/doc/gdi_common.rb +4 -0
- data/lib/wx/doc/generic_validator.rb +95 -0
- data/lib/wx/doc/graphics_context.rb +1 -0
- data/lib/wx/doc/grid/grid.rb +22 -1
- data/lib/wx/doc/help_controller.rb +11 -7
- data/lib/wx/doc/html/html_help_controller.rb +12 -4
- data/lib/wx/doc/html/simple_html_listbox.rb +22 -0
- data/lib/wx/doc/list_ctrl.rb +33 -29
- data/lib/wx/doc/menu.rb +20 -0
- data/lib/wx/doc/notebook.rb +21 -0
- data/lib/wx/doc/num_validator.rb +387 -0
- data/lib/wx/doc/owner_drawn_combobox.rb +96 -0
- data/lib/wx/doc/pg/events.rb +13 -9
- data/lib/wx/doc/pg/numeric_property_validator.rb +33 -0
- data/lib/wx/doc/pg/pg_property.rb +18 -0
- data/lib/wx/doc/progress_dialog.rb +36 -32
- data/lib/wx/doc/prt/page_setup_dialog.rb +20 -12
- data/lib/wx/doc/prt/print_data.rb +13 -5
- data/lib/wx/doc/prt/print_dialog.rb +31 -23
- data/lib/wx/doc/prt/printer.rb +20 -12
- data/lib/wx/doc/radio_box.rb +19 -15
- data/lib/wx/doc/rbn/ribbon_bar.rb +13 -5
- data/lib/wx/doc/rbn/ribbon_button_bar.rb +13 -5
- data/lib/wx/doc/rbn/ribbon_gallery.rb +13 -5
- data/lib/wx/doc/rbn/ribbon_tool_bar.rb +13 -5
- data/lib/wx/doc/region_iterator.rb +32 -28
- data/lib/wx/doc/rtc/rich_text_composite_object.rb +24 -0
- data/lib/wx/doc/rtc/rich_text_ctrl.rb +24 -0
- data/lib/wx/doc/rtc/rich_text_paragraph.rb +24 -0
- data/lib/wx/doc/rtc/richtext_buffer.rb +27 -19
- data/lib/wx/doc/rtc/richtext_printing.rb +17 -9
- data/lib/wx/doc/rtc/richtext_style_sheet.rb +17 -9
- data/lib/wx/doc/sizer.rb +20 -0
- data/lib/wx/doc/static_bitmap.rb +25 -0
- data/lib/wx/doc/stc/styled_text_ctrl.rb +24 -0
- data/lib/wx/doc/stream.rb +39 -35
- data/lib/wx/doc/system_settings.rb +30 -26
- data/lib/wx/doc/text_validator.rb +23 -9
- data/lib/wx/doc/textctrl.rb +16 -0
- data/lib/wx/doc/tree_ctrl.rb +95 -0
- data/lib/wx/doc/treebook.rb +9 -5
- data/lib/wx/doc/v_list_box.rb +9 -5
- data/lib/wx/doc/validator.rb +113 -0
- data/lib/wx/doc/variant.rb +164 -160
- data/lib/wx/doc/window.rb +87 -47
- data/lib/wx/doc/window_disabler.rb +10 -6
- data/lib/wx/grid/grid.rb +27 -4
- data/lib/wx/html/simple_html_listbox.rb +24 -91
- data/lib/wx/keyword_defs.rb +34 -2
- data/lib/wx/pg/pg_property.rb +22 -0
- data/lib/wx/rbn/ribbon_gallery.rb +0 -21
- data/lib/wx/rtc/require.rb +3 -0
- data/lib/wx/rtc/rich_text_composite_object.rb +25 -0
- data/lib/wx/rtc/rich_text_ctrl.rb +25 -0
- data/lib/wx/rtc/rich_text_paragraph.rb +25 -0
- data/lib/wx/stc/require.rb +1 -0
- data/lib/wx/stc/styled_text_ctrl.rb +25 -0
- data/lib/wx/version.rb +1 -1
- data/rakelib/lib/config/linux.rb +0 -3
- data/rakelib/lib/config/macosx.rb +2 -2
- data/rakelib/lib/config/mingw.rb +13 -1
- data/rakelib/lib/config/unixish.rb +1 -1
- data/rakelib/lib/config.rb +14 -4
- data/rakelib/lib/core/include/client_data.inc +65 -0
- data/rakelib/lib/core/include/funcall.inc +1 -1
- data/rakelib/lib/core/package.rb +31 -9
- data/rakelib/lib/core/parameter.rb +1 -1
- data/rakelib/lib/core/spec.rb +6 -1
- data/rakelib/lib/core/spec_helper.rb +7 -1
- data/rakelib/lib/director/accelerator.rb +2 -3
- data/rakelib/lib/director/accessible.rb +47 -0
- data/rakelib/lib/director/app.rb +30 -319
- data/rakelib/lib/director/app_traits.rb +13 -13
- data/rakelib/lib/director/bitmap_combobox.rb +2 -2
- data/rakelib/lib/director/combobox.rb +22 -0
- data/rakelib/lib/director/comboctrl.rb +1 -55
- data/rakelib/lib/director/ctrl_with_items.rb +105 -26
- data/rakelib/lib/director/data_format.rb +1 -1
- data/rakelib/lib/director/date_picker_ctrl.rb +8 -6
- data/rakelib/lib/director/derived_dc.rb +1 -1
- data/rakelib/lib/director/dialog.rb +1 -0
- data/rakelib/lib/director/drag_image.rb +2 -3
- data/rakelib/lib/director/editable_listbox.rb +30 -0
- data/rakelib/lib/director/event.rb +104 -14
- data/rakelib/lib/director/event_handler.rb +3 -2
- data/rakelib/lib/director/frame.rb +1 -3
- data/rakelib/lib/director/functions.rb +4 -2
- data/rakelib/lib/director/gdicommon.rb +8 -10
- data/rakelib/lib/director/generic_dirctrl.rb +17 -0
- data/rakelib/lib/director/graphics_context.rb +2 -4
- data/rakelib/lib/director/grid_cell_attr.rb +0 -2
- data/rakelib/lib/director/grid_cell_editor.rb +0 -2
- data/rakelib/lib/director/grid_cell_renderer.rb +0 -2
- data/rakelib/lib/director/grid_ctrl.rb +34 -3
- data/rakelib/lib/director/header_ctrl.rb +6 -1
- data/rakelib/lib/director/html_listbox.rb +96 -22
- data/rakelib/lib/director/icon.rb +5 -2
- data/rakelib/lib/director/list_ctrl.rb +5 -6
- data/rakelib/lib/director/locale.rb +1 -3
- data/rakelib/lib/director/log.rb +1 -4
- data/rakelib/lib/director/media_ctrl.rb +54 -0
- data/rakelib/lib/director/menu.rb +16 -1
- data/rakelib/lib/director/menu_item.rb +2 -2
- data/rakelib/lib/director/num_validator.rb +495 -0
- data/rakelib/lib/director/numeric_property_validator.rb +131 -6
- data/rakelib/lib/director/owner_drawn_combobox.rb +192 -0
- data/rakelib/lib/director/pgproperties.rb +1 -1
- data/rakelib/lib/director/pgproperty.rb +27 -30
- data/rakelib/lib/director/property_grid_interface.rb +5 -10
- data/rakelib/lib/director/ribbon_button_bar.rb +3 -3
- data/rakelib/lib/director/ribbon_gallery.rb +3 -5
- data/rakelib/lib/director/richtext_composite_object.rb +25 -0
- data/rakelib/lib/director/richtext_ctrl.rb +14 -4
- data/rakelib/lib/director/richtext_formatting_dialog.rb +7 -5
- data/rakelib/lib/director/richtext_paragraph_layout_box.rb +9 -7
- data/rakelib/lib/director/sizer.rb +30 -4
- data/rakelib/lib/director/sizer_item.rb +13 -0
- data/rakelib/lib/director/static_bitmap.rb +28 -0
- data/rakelib/lib/director/static_box.rb +4 -5
- data/rakelib/lib/director/styled_text_ctrl.rb +12 -0
- data/rakelib/lib/director/task_bar_button.rb +30 -0
- data/rakelib/lib/director/task_bar_icon.rb +5 -13
- data/rakelib/lib/director/text_entry.rb +4 -0
- data/rakelib/lib/director/text_validator.rb +124 -13
- data/rakelib/lib/director/textctrl.rb +12 -1
- data/rakelib/lib/director/toggle_button.rb +1 -0
- data/rakelib/lib/director/tool_tip.rb +1 -1
- data/rakelib/lib/director/top_level_window.rb +4 -7
- data/rakelib/lib/director/tree_ctrl.rb +40 -6
- data/rakelib/lib/director/utils.rb +16 -2
- data/rakelib/lib/director/validator.rb +196 -21
- data/rakelib/lib/director/variant.rb +1 -1
- data/rakelib/lib/director/window.rb +40 -7
- data/rakelib/lib/director.rb +4 -4
- data/rakelib/lib/extractor/function.rb +8 -7
- data/rakelib/lib/extractor.rb +34 -5
- data/rakelib/lib/generate/analyzer.rb +9 -4
- data/rakelib/lib/generate/doc/busy_info.yaml +0 -2
- data/rakelib/lib/generate/doc/clipboard.yaml +0 -2
- data/rakelib/lib/generate/doc/cursor.yaml +0 -2
- data/rakelib/lib/generate/doc/panel.yaml +7 -0
- data/rakelib/lib/generate/doc.rb +85 -17
- data/rakelib/lib/specs/interfaces.rb +163 -160
- data/rakelib/lib/swig_runner.rb +55 -9
- data/rakelib/lib/typemap/client_data.rb +67 -0
- data/rakelib/lib/typemap/common.rb +33 -4
- data/rakelib/lib/typemap/datetime.rb +1 -1
- data/rakelib/lib/typemap/tree_itemid.rb +2 -2
- data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +74 -2
- data/rakelib/yard/templates/default/fulldoc/html/full_list.erb +38 -0
- data/rakelib/yard/templates/default/fulldoc/html/setup.rb +39 -0
- data/rakelib/yard/templates/default/tags/html/wxrb_require.erb +10 -0
- data/rakelib/yard/templates/default/tags/setup.rb +16 -0
- data/rakelib/yard/yard-custom-templates.rb +3 -0
- data/samples/aui/aui.rb +1237 -1233
- data/samples/calendar/calendar.rb +293 -289
- data/samples/controls/get_item_sample.rb +83 -79
- data/samples/controls/htlbox.rb +331 -327
- data/samples/dialogs/dialogs.rb +682 -694
- data/samples/dialogs/wizard.rb +52 -55
- data/samples/dragdrop/dragdrop.rb +146 -142
- data/samples/drawing/bitmap.rb +29 -26
- data/samples/drawing/bitmap_image.rb +84 -80
- data/samples/drawing/graphics_drawing.rb +209 -205
- data/samples/drawing/image_prt.rb +344 -340
- data/samples/drawing/maths_images.rb +18 -1
- data/samples/drawing/rmagic_bitmap_image.rb +88 -84
- data/samples/etc/caret.rb +306 -0
- data/samples/etc/miniframe.rb +65 -60
- data/samples/etc/sash.rb +109 -105
- data/samples/etc/scrollwin.rb +86 -80
- data/samples/etc/system_settings.rb +216 -209
- data/samples/event/activation.rb +72 -67
- data/samples/event/event.rb +160 -153
- data/samples/event/threaded.rb +8 -1
- data/samples/event/update_ui_event.rb +67 -60
- data/samples/grid/grid.rb +188 -181
- data/samples/grid/gridtablebase.rb +136 -129
- data/samples/html/html.rb +208 -204
- data/samples/mdi/mdi.rb +59 -54
- data/samples/minimal/minimal.rb +54 -51
- data/samples/minimal/nothing.rb +1 -0
- data/samples/printing/printing.rb +367 -377
- data/samples/printing/printing2.rb +203 -198
- data/samples/propgrid/propgrid.rb +2312 -2308
- data/samples/propgrid/propgrid_minimal.rb +57 -50
- data/samples/ribbon/ribbon.rb +780 -774
- data/samples/sampler/ext.rb +0 -33
- data/samples/sampler/sample.rb +4 -9
- data/samples/sampler.rb +1 -1
- data/samples/splash/splash.rb +118 -116
- data/samples/text/rich_textctrl.rb +207 -201
- data/samples/text/richtext.rb +1409 -1405
- data/samples/text/scintilla.rb +137 -128
- data/samples/text/textctrl.rb +89 -83
- data/samples/text/unicode.rb +175 -168
- data/samples/treectrl/treectrl.rb +1430 -1426
- data/samples/widgets/activityindicator.rb +95 -0
- data/samples/widgets/art/widgets/activityindicator.xpm +278 -0
- data/samples/widgets/art/widgets/bmpbtn.xpm +37 -0
- data/samples/widgets/art/widgets/bmpcombobox.xpm +54 -0
- data/samples/widgets/art/widgets/button.xpm +54 -0
- data/samples/widgets/art/widgets/checkbox.xpm +54 -0
- data/samples/{bigdemo/icons → widgets/art/widgets}/choice.xpm +1 -1
- data/samples/widgets/art/widgets/choicebk.xpm +54 -0
- data/samples/widgets/art/widgets/clrpicker.xpm +193 -0
- data/samples/widgets/art/widgets/combobox.xpm +54 -0
- data/samples/widgets/art/widgets/datepick.xpm +200 -0
- data/samples/widgets/art/widgets/dirctrl.xpm +54 -0
- data/samples/widgets/art/widgets/dirpicker.xpm +213 -0
- data/samples/widgets/art/widgets/filepicker.xpm +214 -0
- data/samples/widgets/art/widgets/fontpicker.xpm +185 -0
- data/samples/widgets/art/widgets/gauge.xpm +54 -0
- data/samples/widgets/art/widgets/header.xpm +54 -0
- data/samples/widgets/art/widgets/hyperlnk.xpm +54 -0
- data/samples/widgets/art/widgets/listbook.xpm +54 -0
- data/samples/widgets/art/widgets/listbox.xpm +54 -0
- data/samples/widgets/art/widgets/native.xpm +81 -0
- data/samples/widgets/art/widgets/notebook.xpm +54 -0
- data/samples/widgets/art/widgets/odcombobox.xpm +54 -0
- data/samples/widgets/art/widgets/radiobox.xpm +54 -0
- data/samples/widgets/art/widgets/scrolbar.xpm +54 -0
- data/samples/widgets/art/widgets/slider.xpm +54 -0
- data/samples/widgets/art/widgets/spinbtn.xpm +40 -0
- data/samples/widgets/art/widgets/statbmp.xpm +40 -0
- data/samples/widgets/art/widgets/statbox.xpm +54 -0
- data/samples/widgets/art/widgets/stattext.xpm +54 -0
- data/samples/widgets/art/widgets/text.xpm +54 -0
- data/samples/widgets/art/widgets/timepick.xpm +207 -0
- data/samples/widgets/art/widgets/toggle.xpm +54 -0
- data/samples/widgets/art/widgets/toucan.png +0 -0
- data/samples/widgets/bmpcombobox.rb +651 -0
- data/samples/widgets/button.rb +462 -0
- data/samples/widgets/checkbox.rb +211 -0
- data/samples/widgets/choice.rb +287 -0
- data/samples/widgets/clrpicker.rb +156 -0
- data/samples/widgets/combobox.rb +516 -0
- data/samples/widgets/datepick.rb +215 -0
- data/samples/widgets/dirctrl.rb +265 -0
- data/samples/widgets/dirpicker.rb +158 -0
- data/samples/widgets/editlbox.rb +122 -0
- data/samples/widgets/filectrl.rb +216 -0
- data/samples/widgets/filepicker.rb +214 -0
- data/samples/widgets/fontpicker.rb +135 -0
- data/samples/widgets/gauge.rb +311 -0
- data/samples/widgets/headerctrl.rb +236 -0
- data/samples/widgets/hyperlink.rb +203 -0
- data/samples/widgets/itemcontainer.rb +185 -0
- data/samples/widgets/listbox.rb +473 -0
- data/samples/widgets/notebook.rb +488 -0
- data/samples/widgets/odcombobox.rb +608 -0
- data/samples/widgets/radiobox.rb +328 -0
- data/samples/widgets/searchctrl.rb +159 -0
- data/samples/widgets/slider.rb +594 -0
- data/samples/widgets/spinbtn.rb +443 -0
- data/samples/widgets/statbmp.rb +130 -0
- data/samples/widgets/static.rb +436 -0
- data/samples/widgets/textctrl.rb +700 -0
- data/samples/widgets/timepick.rb +148 -0
- data/samples/widgets/tn_widgets.png +0 -0
- data/samples/widgets/toggle.rb +385 -0
- data/samples/widgets/widgets.rb +1233 -0
- data/samples/xrc/custom_xrc_sample.rb +47 -41
- data/samples/xrc/xrc_sample.rb +53 -47
- data/tests/media/beep_lo.wav +0 -0
- data/tests/test_event_handling.rb +52 -34
- data/tests/test_events.rb +7 -0
- data/tests/test_item_data.rb +24 -0
- data/tests/test_list_ctrl.rb +1 -1
- data/tests/test_media_ctrl.rb +38 -0
- data/tests/test_menu.rb +69 -0
- data/tests/test_pg.rb +27 -0
- data/tests/test_richtext.rb +45 -0
- data/tests/test_sizer.rb +59 -0
- data/tests/test_std_controls.rb +42 -1
- data/tests/test_styled_text_ctrl.rb +46 -0
- data/tests/test_tree_ctrl.rb +138 -0
- data/tests/test_validators.rb +805 -0
- data/tests/test_window.rb +12 -0
- data/tests/testapp_noframe.rb +1 -1
- metadata +121 -139
- data/lib/wx/core/choice.rb +0 -14
- data/lib/wx/core/combo_ctrl.rb +0 -110
- data/rakelib/lib/typemap/grid_client_data.rb +0 -58
- data/samples/bigdemo/About.rbw +0 -39
- data/samples/bigdemo/ColorPanel.rbw +0 -23
- data/samples/bigdemo/GridSimple.rbw +0 -78
- data/samples/bigdemo/MDIDemo.rbw +0 -57
- data/samples/bigdemo/PopupMenu.rbw +0 -146
- data/samples/bigdemo/ShapedWindow.rbw +0 -128
- data/samples/bigdemo/Sizers.rbw +0 -541
- data/samples/bigdemo/bigdemo.rb +0 -817
- data/samples/bigdemo/demoTemplate.rbw +0 -33
- 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/combo.bmp +0 -0
- data/samples/bigdemo/icons/combo.xpm +0 -27
- data/samples/bigdemo/icons/copy.xpm +0 -25
- data/samples/bigdemo/icons/cut.xpm +0 -24
- data/samples/bigdemo/icons/gauge.bmp +0 -0
- data/samples/bigdemo/icons/gauge.xpm +0 -27
- data/samples/bigdemo/icons/help.xpm +0 -25
- data/samples/bigdemo/icons/list.bmp +0 -0
- data/samples/bigdemo/icons/list.xpm +0 -27
- data/samples/bigdemo/icons/mondrian.ico +0 -0
- data/samples/bigdemo/icons/mondrian.xpm +0 -44
- data/samples/bigdemo/icons/new.xpm +0 -24
- data/samples/bigdemo/icons/ogl.ico +0 -0
- data/samples/bigdemo/icons/ogl.xpm +0 -45
- data/samples/bigdemo/icons/open.xpm +0 -26
- data/samples/bigdemo/icons/paste.bmp +0 -0
- data/samples/bigdemo/icons/paste.xpm +0 -38
- data/samples/bigdemo/icons/pointy.png +0 -0
- data/samples/bigdemo/icons/preview.xpm +0 -26
- data/samples/bigdemo/icons/print.xpm +0 -26
- data/samples/bigdemo/icons/radio.bmp +0 -0
- data/samples/bigdemo/icons/radio.xpm +0 -27
- data/samples/bigdemo/icons/robert.xpm +0 -415
- data/samples/bigdemo/icons/sashtest.ico +0 -0
- data/samples/bigdemo/icons/save.xpm +0 -25
- data/samples/bigdemo/icons/smiles.bmp +0 -0
- data/samples/bigdemo/icons/smiles.xpm +0 -39
- data/samples/bigdemo/icons/smiley.ico +0 -0
- data/samples/bigdemo/icons/smiley.xpm +0 -42
- data/samples/bigdemo/icons/stattext.xpm +0 -24
- data/samples/bigdemo/icons/test2.bmp +0 -0
- data/samples/bigdemo/icons/test2.png +0 -0
- data/samples/bigdemo/icons/test2.xpm +0 -79
- data/samples/bigdemo/icons/text.bmp +0 -0
- data/samples/bigdemo/icons/text.xpm +0 -27
- data/samples/bigdemo/icons/tog1.bmp +0 -0
- data/samples/bigdemo/icons/tog1.xpm +0 -38
- data/samples/bigdemo/icons/tog2.bmp +0 -0
- data/samples/bigdemo/icons/tog2.xpm +0 -38
- 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 +0 -25
- data/samples/bigdemo/icons/wxwin32x32.png +0 -0
- data/samples/bigdemo/icons/wxwin48x48.png +0 -0
- data/samples/bigdemo/run.rb +0 -98
- data/samples/bigdemo/tips.txt +0 -7
- data/samples/bigdemo/utils.rb +0 -20
- data/samples/bigdemo/wxArtProvider.rbw +0 -282
- data/samples/bigdemo/wxBitmapButton.rbw +0 -65
- data/samples/bigdemo/wxButton.rbw +0 -64
- data/samples/bigdemo/wxCalendarCtrl.rbw +0 -59
- data/samples/bigdemo/wxCheckBox.rbw +0 -50
- data/samples/bigdemo/wxCheckListBox.rbw +0 -65
- data/samples/bigdemo/wxChoice.rbw +0 -47
- data/samples/bigdemo/wxChoicebook.rbw +0 -78
- data/samples/bigdemo/wxColourDialog.rbw +0 -33
- data/samples/bigdemo/wxComboBox.rbw +0 -77
- data/samples/bigdemo/wxCursor.rbw +0 -136
- data/samples/bigdemo/wxDialog.rbw +0 -74
- data/samples/bigdemo/wxDirDialog.rbw +0 -29
- data/samples/bigdemo/wxDragImage.rbw +0 -70
- data/samples/bigdemo/wxFileDialog.rbw +0 -37
- data/samples/bigdemo/wxFileDialog_Save.rbw +0 -35
- data/samples/bigdemo/wxFindReplaceDialog.rbw +0 -82
- data/samples/bigdemo/wxFontDialog.rbw +0 -200
- data/samples/bigdemo/wxFrame.rbw +0 -53
- data/samples/bigdemo/wxGauge.rbw +0 -65
- data/samples/bigdemo/wxGenericDirCtrl.rbw +0 -74
- data/samples/bigdemo/wxGrid.rbw +0 -66
- data/samples/bigdemo/wxHtmlHelpController.rbw +0 -52
- data/samples/bigdemo/wxListBox.rbw +0 -140
- data/samples/bigdemo/wxListCtrl_virtual.rbw +0 -112
- data/samples/bigdemo/wxMDIWindows.rbw +0 -50
- data/samples/bigdemo/wxMenu.rbw +0 -247
- data/samples/bigdemo/wxMessageDialog.rbw +0 -27
- data/samples/bigdemo/wxMiniFrame.rbw +0 -70
- data/samples/bigdemo/wxMultipleChoiceDialog.rbw +0 -29
- data/samples/bigdemo/wxNotebook.rbw +0 -136
- data/samples/bigdemo/wxProgressDialog.rbw +0 -43
- data/samples/bigdemo/wxRadioBox.rbw +0 -72
- data/samples/bigdemo/wxRadioButton.rbw +0 -125
- data/samples/bigdemo/wxSashWindow.rbw +0 -141
- data/samples/bigdemo/wxScrolledMessageDialog.rbw +0 -57
- data/samples/bigdemo/wxScrolledWindow.rbw +0 -199
- data/samples/bigdemo/wxSingleChoiceDialog.rbw +0 -33
- data/samples/bigdemo/wxSlider.rbw +0 -42
- data/samples/bigdemo/wxSpinButton.rbw +0 -50
- data/samples/bigdemo/wxSpinCtrl.rbw +0 -51
- data/samples/bigdemo/wxSplitterWindow.rbw +0 -63
- data/samples/bigdemo/wxStaticBitmap.rbw +0 -47
- data/samples/bigdemo/wxStaticText.rbw +0 -55
- data/samples/bigdemo/wxStatusBar.rbw +0 -126
- data/samples/bigdemo/wxTextCtrl.rbw +0 -149
- data/samples/bigdemo/wxTextEntryDialog.rbw +0 -31
- data/samples/bigdemo/wxToggleButton.rbw +0 -49
- data/samples/bigdemo/wxToolBar.rbw +0 -131
- data/samples/bigdemo/wxTreeCtrl.rbw +0 -191
- data/samples/caret/caret.rb +0 -298
- data/samples/caret/mondrian.xpm +0 -44
- data/samples/controls/books.rb +0 -189
- data/samples/controls/choice.xpm +0 -27
- data/samples/controls/combo.xpm +0 -27
- data/samples/controls/controls.rb +0 -1099
- data/samples/controls/gauge.xpm +0 -27
- data/samples/controls/list.xpm +0 -27
- data/samples/controls/mondrian.ico +0 -0
- data/samples/controls/mondrian.xpm +0 -44
- data/samples/controls/radio.xpm +0 -27
- data/samples/controls/stattext.xpm +0 -24
- data/samples/controls/test2.bmp +0 -0
- data/samples/controls/text.xpm +0 -27
- data/samples/controls/tn_books.png +0 -0
- data/samples/controls/tn_controls.png +0 -0
- data/samples/etc/choice.rb +0 -87
- data/samples/etc/tn_choice.png +0 -0
- data/samples/text/mondrian.ico +0 -0
- data/samples/text/mondrian.xpm +0 -44
- /data/samples/{caret → etc}/tn_caret.png +0 -0
|
@@ -87,6 +87,18 @@ module WXRuby3
|
|
|
87
87
|
# TODO : these will need some sort of stream solution to be useful
|
|
88
88
|
spec.ignore 'wxStyledTextCtrl::GetCharacterPointer',
|
|
89
89
|
'wxStyledTextCtrl::GetRangePointer'
|
|
90
|
+
spec.add_extend_code 'wxStyledTextCtrl', <<~__HEREDOC
|
|
91
|
+
VALUE each_line()
|
|
92
|
+
{
|
|
93
|
+
VALUE rc = Qnil;
|
|
94
|
+
for (int i=0; i<$self->GetNumberOfLines() ;++i)
|
|
95
|
+
{
|
|
96
|
+
VALUE rb_ln = WXSTR_TO_RSTR($self->GetLineText(i));
|
|
97
|
+
rc = rb_yield(rb_ln);
|
|
98
|
+
}
|
|
99
|
+
return rc;
|
|
100
|
+
}
|
|
101
|
+
__HEREDOC
|
|
90
102
|
spec.do_not_generate(:variables, :enums, :defines, :functions)
|
|
91
103
|
end
|
|
92
104
|
end # class StyledTextCtrl
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
5
|
+
###
|
|
6
|
+
# wxRuby3 wxWidgets interface director
|
|
7
|
+
###
|
|
8
|
+
|
|
9
|
+
module WXRuby3
|
|
10
|
+
|
|
11
|
+
class Director
|
|
12
|
+
|
|
13
|
+
class TaskBarButton < Director
|
|
14
|
+
|
|
15
|
+
def setup
|
|
16
|
+
super
|
|
17
|
+
spec.items << 'wxThumbBarButton'
|
|
18
|
+
spec.no_proxy 'wxTaskBarButton'
|
|
19
|
+
spec.gc_as_untracked 'wxTaskBarButton', 'wxThumbBarButton'
|
|
20
|
+
spec.disown 'wxThumbBarButton *button'
|
|
21
|
+
# superfluous and causing trouble for disown policy (re-implemented in pure Ruby)
|
|
22
|
+
spec.ignore 'wxTaskBarButton::RemoveThumbBarButton(wxThumbBarButton*)', ignore_doc: false
|
|
23
|
+
spec.new_object 'wxTaskBarButton::RemoveThumbBarButton(int)'
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end
|
|
@@ -16,7 +16,7 @@ module WXRuby3
|
|
|
16
16
|
|
|
17
17
|
def setup
|
|
18
18
|
super
|
|
19
|
-
spec.
|
|
19
|
+
spec.gc_as_object
|
|
20
20
|
# need a custom implementation to handle event handler proc cleanup
|
|
21
21
|
spec.add_header_code <<~__HEREDOC
|
|
22
22
|
class WXRubyTaskBarIcon : public wxTaskBarIcon
|
|
@@ -26,9 +26,11 @@ module WXRuby3
|
|
|
26
26
|
virtual ~WXRubyTaskBarIcon()
|
|
27
27
|
{
|
|
28
28
|
wxRuby_ReleaseEvtHandlerProcs(this);
|
|
29
|
-
|
|
29
|
+
SWIG_RubyUnlinkObjects(this);
|
|
30
|
+
SWIG_RubyRemoveTracking(this);
|
|
31
|
+
}
|
|
30
32
|
};
|
|
31
|
-
|
|
33
|
+
__HEREDOC
|
|
32
34
|
spec.use_class_implementation 'wxTaskBarIcon', 'WXRubyTaskBarIcon'
|
|
33
35
|
# this one is protected so ignored by default but we want it here
|
|
34
36
|
# (we do not want GetPopupMenu available for override in Ruby)
|
|
@@ -61,16 +63,6 @@ module WXRuby3
|
|
|
61
63
|
}
|
|
62
64
|
__CODE
|
|
63
65
|
end
|
|
64
|
-
spec.add_extend_code 'wxTaskBarIcon', <<~__HEREDOC
|
|
65
|
-
// Explicitly dispose of a TaskBarIcon; needed for clean exits on
|
|
66
|
-
// Windows.
|
|
67
|
-
VALUE destroy()
|
|
68
|
-
{
|
|
69
|
-
delete $self;
|
|
70
|
-
return Qnil;
|
|
71
|
-
}
|
|
72
|
-
__HEREDOC
|
|
73
|
-
# already generated with TaskBarIconEvent
|
|
74
66
|
spec.do_not_generate :variables, :enums, :defines, :functions
|
|
75
67
|
end
|
|
76
68
|
end # class TaskBarIcon
|
|
@@ -26,6 +26,10 @@ module WXRuby3
|
|
|
26
26
|
spec.add_header_code '#define wxTextEntry wxTextEntryBase'
|
|
27
27
|
spec.disown 'wxTextCompleter *completer' # managed by wxWidgets after passing in
|
|
28
28
|
spec.map_apply 'long * OUTPUT' => 'long *' # for GetSelection
|
|
29
|
+
# missing non-pure virtual overrides in docs for wxTextCompleterSimple
|
|
30
|
+
spec.extend_interface 'wxTextCompleterSimple',
|
|
31
|
+
'virtual bool Start(const wxString &prefix)',
|
|
32
|
+
'virtual wxString GetNext()'
|
|
29
33
|
# for wxTextCompleterSimple::GetCompletions
|
|
30
34
|
spec.map 'wxArrayString &res' => 'Array<String>' do
|
|
31
35
|
|
|
@@ -6,48 +6,159 @@
|
|
|
6
6
|
# wxRuby3 wxWidgets interface director
|
|
7
7
|
###
|
|
8
8
|
|
|
9
|
-
require_relative './
|
|
9
|
+
require_relative './validator'
|
|
10
10
|
|
|
11
11
|
module WXRuby3
|
|
12
12
|
|
|
13
13
|
class Director
|
|
14
14
|
|
|
15
|
-
class TextValidator <
|
|
15
|
+
class TextValidator < Validator
|
|
16
16
|
|
|
17
17
|
def setup
|
|
18
18
|
super
|
|
19
19
|
# need a custom implementation to handle event handler proc cleanup
|
|
20
20
|
spec.add_header_code <<~__HEREDOC
|
|
21
|
-
class WXRubyTextValidator : public wxTextValidator
|
|
21
|
+
class WXRubyTextValidator : public wxTextValidator, public wxRubyValidatorBinding
|
|
22
22
|
{
|
|
23
23
|
public:
|
|
24
|
-
WXRubyTextValidator(const wxTextValidator& v)
|
|
25
|
-
: wxTextValidator(v) {}
|
|
26
24
|
WXRubyTextValidator(long style=wxFILTER_NONE)
|
|
27
|
-
: wxTextValidator(style)
|
|
25
|
+
: wxTextValidator(style, &m_valueCache)
|
|
26
|
+
{
|
|
27
|
+
}
|
|
28
|
+
WXRubyTextValidator(const WXRubyTextValidator& other)
|
|
29
|
+
: wxTextValidator(other.GetStyle(), &m_valueCache)
|
|
30
|
+
, wxRubyValidatorBinding(other)
|
|
31
|
+
{
|
|
32
|
+
}
|
|
28
33
|
virtual ~WXRubyTextValidator()
|
|
29
34
|
{
|
|
30
35
|
wxRuby_ReleaseEvtHandlerProcs(this);
|
|
31
|
-
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
virtual wxObject* Clone() const override
|
|
39
|
+
{
|
|
40
|
+
WXRubyTextValidator* clone = new WXRubyTextValidator(*this);
|
|
41
|
+
clone->m_valueCache = this->m_valueCache;
|
|
42
|
+
return clone;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
virtual void SetWindow(wxWindow *win) override
|
|
46
|
+
{
|
|
47
|
+
this->wxTextValidator::SetWindow(win);
|
|
48
|
+
VALUE self = this->get_self();
|
|
49
|
+
// make sure Ruby does not own this validator instance anymore
|
|
50
|
+
RDATA(self)->dfree = SWIG_RubyRemoveTracking;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
virtual bool TransferFromWindow () override
|
|
54
|
+
{
|
|
55
|
+
// call super
|
|
56
|
+
if (this->wxTextValidator::TransferFromWindow())
|
|
57
|
+
{
|
|
58
|
+
// ok, data is retrieved from window and cached
|
|
59
|
+
// now allow any defined binding handler to pass on the data
|
|
60
|
+
return this->DoOnTransferFromWindow(WXSTR_TO_RSTR(m_valueCache));
|
|
61
|
+
}
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
virtual bool TransferToWindow () override
|
|
65
|
+
{
|
|
66
|
+
// collect data from any defined binding handler
|
|
67
|
+
VALUE data = this->DoOnTransferToWindow();
|
|
68
|
+
// if Qnil returned there is no data returned from handler so we just keep what's in the store
|
|
69
|
+
if (!NIL_P(data))
|
|
70
|
+
{
|
|
71
|
+
m_valueCache = RSTR_TO_WXSTR(data);
|
|
72
|
+
}
|
|
73
|
+
// now allow standard functionality to transfer to window
|
|
74
|
+
return this->wxTextValidator::TransferToWindow();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const wxString& GetValue () const
|
|
78
|
+
{
|
|
79
|
+
return m_valueCache;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
void SetValue (const wxString& val)
|
|
83
|
+
{
|
|
84
|
+
m_valueCache = val;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
private:
|
|
88
|
+
static VALUE c_TextValidator;
|
|
89
|
+
|
|
90
|
+
virtual VALUE get_self() override
|
|
91
|
+
{
|
|
92
|
+
if (NIL_P(this->self_))
|
|
93
|
+
{
|
|
94
|
+
this->self_ = SWIG_RubyInstanceFor(this);
|
|
95
|
+
// if this is a C++ created clone (wxWidgets clones validators that are set) it's not tracked yet
|
|
96
|
+
if (NIL_P(this->self_))
|
|
97
|
+
{
|
|
98
|
+
if (NIL_P(c_TextValidator))
|
|
99
|
+
{
|
|
100
|
+
c_TextValidator = rb_const_get(mWxCore, rb_intern("TextValidator"));
|
|
101
|
+
}
|
|
102
|
+
swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(c_TextValidator);
|
|
103
|
+
this->self_ = SWIG_NewPointerObj(this, swig_type, 0); // wrap but don't make Ruby own it
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return this->self_;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
wxString m_valueCache;
|
|
32
110
|
};
|
|
33
|
-
|
|
111
|
+
|
|
112
|
+
VALUE WXRubyTextValidator::c_TextValidator = Qnil;
|
|
113
|
+
|
|
114
|
+
static void GC_mark_wxTextValidator(void* ptr)
|
|
115
|
+
{
|
|
116
|
+
if (ptr)
|
|
117
|
+
{
|
|
118
|
+
wxValidator* vp = reinterpret_cast<wxValidator*> (ptr);
|
|
119
|
+
WXRubyTextValidator* rbvp = dynamic_cast<WXRubyTextValidator*> (vp);
|
|
120
|
+
// This might be a pointer to a non-customized validator (or clone thereof) created internally
|
|
121
|
+
// by wxWidgets C++ code
|
|
122
|
+
if (rbvp) rbvp->GC_Mark();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
__HEREDOC
|
|
127
|
+
spec.add_swig_code '%markfunc wxTextValidator "GC_mark_wxTextValidator";'
|
|
128
|
+
# make Ruby director and wrappers use custom implementation
|
|
34
129
|
spec.use_class_implementation 'wxTextValidator', 'WXRubyTextValidator'
|
|
35
|
-
# ignore copy ctor doc
|
|
36
|
-
spec.regard 'wxTextValidator::wxTextValidator(const wxTextValidator&)', regard_doc: false
|
|
37
130
|
# ignore this ctor
|
|
38
131
|
spec.ignore 'wxTextValidator::wxTextValidator(long, wxString*)'
|
|
39
132
|
# add alternative
|
|
40
133
|
spec.extend_interface 'wxTextValidator', 'wxTextValidator(long style=wxFILTER_NONE)'
|
|
41
|
-
#
|
|
134
|
+
# add wxRuby extensions
|
|
135
|
+
spec.add_extend_code 'wxTextValidator', <<~__HEREDOC
|
|
136
|
+
VALUE GetValue()
|
|
137
|
+
{
|
|
138
|
+
WXRubyTextValidator* rb_self = dynamic_cast<WXRubyTextValidator*> ($self);
|
|
139
|
+
if (rb_self)
|
|
140
|
+
return WXSTR_TO_RSTR(rb_self->GetValue());
|
|
141
|
+
else
|
|
142
|
+
return Qnil;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
void SetValue(const wxString& val)
|
|
146
|
+
{
|
|
147
|
+
WXRubyTextValidator* rb_self = dynamic_cast<WXRubyTextValidator*> ($self);
|
|
148
|
+
if (rb_self)
|
|
149
|
+
rb_self->SetValue(val);
|
|
150
|
+
}
|
|
151
|
+
__HEREDOC
|
|
152
|
+
# ignore non-virtual standard handler (not useful in Ruby)
|
|
42
153
|
spec.ignore 'wxTextValidator::OnChar'
|
|
43
|
-
spec.no_proxy 'wxTextValidator::Clone'
|
|
44
154
|
spec.new_object 'wxTextValidator::Clone'
|
|
45
155
|
# handle clone mapping
|
|
46
156
|
spec.map 'wxObject *' => 'Wx::TextValidator' do
|
|
47
157
|
map_out code: <<~__CODE
|
|
48
|
-
$result = SWIG_NewPointerObj(SWIG_as_voidptr($1), SWIGTYPE_p_wxTextValidator, SWIG_POINTER_OWN
|
|
158
|
+
$result = SWIG_NewPointerObj(SWIG_as_voidptr($1), SWIGTYPE_p_wxTextValidator, SWIG_POINTER_OWN);
|
|
49
159
|
__CODE
|
|
50
160
|
end
|
|
161
|
+
spec.suppress_warning(473, 'wxTextValidator::Clone')
|
|
51
162
|
# not provided in Ruby
|
|
52
163
|
spec.ignore %w[wxTextValidator::TransferFromWindow wxTextValidator::TransferToWindow]
|
|
53
164
|
end
|
|
@@ -32,7 +32,7 @@ module WXRuby3
|
|
|
32
32
|
# we will not wrap it but create a simplified interface when USE_SPELLCHECK is enabled which
|
|
33
33
|
# we will complement in pure Ruby to provide Wx::TextProofOptions class
|
|
34
34
|
spec.ignore('wxTextCtrl::EnableProofCheck', 'wxTextCtrl::GetProofCheckOptions')
|
|
35
|
-
if Config.instance.features_set?('
|
|
35
|
+
if Config.instance.features_set?('USE_SPELLCHECK')
|
|
36
36
|
spec.add_extend_code 'wxTextCtrl', <<~__HEREDOC
|
|
37
37
|
VALUE DoEnableProofCheck(bool spelling, bool grammar, const wxString& language)
|
|
38
38
|
{
|
|
@@ -99,6 +99,17 @@ module WXRuby3
|
|
|
99
99
|
else if(TYPE(value)==T_FLOAT)
|
|
100
100
|
*self << (double)(RFLOAT_VALUE(value));
|
|
101
101
|
}
|
|
102
|
+
|
|
103
|
+
VALUE each_line()
|
|
104
|
+
{
|
|
105
|
+
VALUE rc = Qnil;
|
|
106
|
+
for (int i=0; i<$self->GetNumberOfLines() ;++i)
|
|
107
|
+
{
|
|
108
|
+
VALUE rb_ln = WXSTR_TO_RSTR($self->GetLineText(i));
|
|
109
|
+
rc = rb_yield(rb_ln);
|
|
110
|
+
}
|
|
111
|
+
return rc;
|
|
112
|
+
}
|
|
102
113
|
__HEREDOC
|
|
103
114
|
spec.swig_import 'swig/classes/include/wxTextAttr.h'
|
|
104
115
|
end
|
|
@@ -26,10 +26,8 @@ module WXRuby3
|
|
|
26
26
|
# for upcalls
|
|
27
27
|
spec.extend_interface('wxTopLevelWindow',
|
|
28
28
|
'virtual bool Destroy() override',
|
|
29
|
-
#'virtual bool IsTopLevel() override',
|
|
30
29
|
'virtual void SetLayoutDirection(wxLayoutDirection dir) override',
|
|
31
30
|
'virtual bool Show(bool show = true) override',
|
|
32
|
-
'virtual void Raise() override',
|
|
33
31
|
'virtual void Refresh(bool eraseBackground = true, wxRect const *rect = NULL) override')
|
|
34
32
|
spec.add_wrapper_code <<~__HEREDOC
|
|
35
33
|
extern VALUE wxRuby_GetTopLevelWindowClass() {
|
|
@@ -41,15 +39,14 @@ module WXRuby3
|
|
|
41
39
|
wxTopLevelWindow::RestoreToGeometry
|
|
42
40
|
wxTopLevelWindow::GeometrySerializer
|
|
43
41
|
}
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
# #ignore_unless if wxRuby one day supports 'WXUNIVERSAL'
|
|
43
|
+
spec.ignore %w{
|
|
46
44
|
wxTopLevelWindow::IsUsingNativeDecorations
|
|
47
45
|
wxTopLevelWindow::UseNativeDecorations
|
|
48
46
|
wxTopLevelWindow::UseNativeDecorationsByDefault
|
|
49
47
|
}
|
|
50
|
-
|
|
51
|
-
spec.
|
|
52
|
-
spec.ignore('wxTopLevelWindow::OSXSetModified','wxTopLevelWindow::OSXIsModified') unless Config.instance.features_set?('__WXOSX__')
|
|
48
|
+
spec.ignore_unless('WXMSW', 'wxTopLevelWindow::MSWGetSystemMenu')
|
|
49
|
+
spec.ignore_unless('WXOSX', 'wxTopLevelWindow::OSXSetModified','wxTopLevelWindow::OSXIsModified')
|
|
53
50
|
spec.swig_import 'swig/classes/include/wxDefs.h'
|
|
54
51
|
# incorrectly documented here
|
|
55
52
|
spec.override_events 'wxTopLevelWindow',
|
|
@@ -50,6 +50,41 @@ module WXRuby3
|
|
|
50
50
|
wxTreeCtrl::GetFirstChild
|
|
51
51
|
wxTreeCtrl::GetNextChild
|
|
52
52
|
]
|
|
53
|
+
if Config.instance.wx_version >= '3.3.0'
|
|
54
|
+
# new method with bitmap bundle vector
|
|
55
|
+
spec.no_proxy 'wxTreeCtrl::SetStateImages'
|
|
56
|
+
spec.map 'const wxVector<wxBitmapBundle>& images' => 'Array<Wx::ImageBundle>' do
|
|
57
|
+
map_in temp: 'wxVector<wxBitmapBundle> tmp', code: <<~__CODE
|
|
58
|
+
if ($input != Qnil)
|
|
59
|
+
{
|
|
60
|
+
if (TYPE($input) == T_ARRAY)
|
|
61
|
+
{
|
|
62
|
+
for (int i=0; i<RARRAY_LEN($input) ;++i)
|
|
63
|
+
{
|
|
64
|
+
void* ptr;
|
|
65
|
+
VALUE rb_image = rb_ary_entry($input, i);
|
|
66
|
+
int res = SWIG_ConvertPtr(rb_image, &ptr, wxRuby_GetSwigTypeForClassName("BitmapBundle"), 0);
|
|
67
|
+
if (!SWIG_IsOK(res))
|
|
68
|
+
{
|
|
69
|
+
VALUE msg = rb_inspect(rb_image);
|
|
70
|
+
rb_raise(rb_eTypeError, "Expected Wx::ImageBundle at index %d but got %s", i, StringValuePtr(msg));
|
|
71
|
+
}
|
|
72
|
+
tmp.push_back(*static_cast<wxBitmapBundle*>(ptr));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else
|
|
76
|
+
{
|
|
77
|
+
VALUE msg = rb_inspect($input);
|
|
78
|
+
rb_raise(rb_eArgError, "Expected Array of Wx::ImageBundle for $argnum but got %s", StringValuePtr(msg));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
$1 = &tmp;
|
|
82
|
+
__CODE
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
# don't see how supporting overloading this one in Ruby is helpful
|
|
86
|
+
# (also seeing SetButtonsImageList isn't virtual at all)
|
|
87
|
+
spec.no_proxy 'wxTreeCtrl::SetStateImageList'
|
|
53
88
|
# these are potentially involved in GC mark phase so
|
|
54
89
|
# we can't have them redirecting to Ruby calls
|
|
55
90
|
spec.no_proxy %w[
|
|
@@ -75,7 +110,7 @@ module WXRuby3
|
|
|
75
110
|
wxTreeCtrl::GetFocusedItem
|
|
76
111
|
wxTreeCtrl::GetSelection
|
|
77
112
|
]
|
|
78
|
-
if Config.instance.features_set?('
|
|
113
|
+
if Config.instance.features_set?('HAS_LAST_VISIBLE')
|
|
79
114
|
spec.no_proxy 'wxTreeCtrl::GetLastVisible'
|
|
80
115
|
end
|
|
81
116
|
# simply a nuisance to support
|
|
@@ -84,7 +119,7 @@ module WXRuby3
|
|
|
84
119
|
wxTreeCtrl::EndEditLabel
|
|
85
120
|
]
|
|
86
121
|
# for now, ignore this version as the added customization features
|
|
87
|
-
#
|
|
122
|
+
# work only on WXMSW as yet and may cause us more trouble than it's worth
|
|
88
123
|
spec.ignore 'wxTreeCtrl::EditLabel'
|
|
89
124
|
# add simplified non-virtual version
|
|
90
125
|
spec.add_extend_code 'wxTreeCtrl', <<~__HEREDOC
|
|
@@ -94,10 +129,9 @@ module WXRuby3
|
|
|
94
129
|
(void)self->EditLabel(item);
|
|
95
130
|
}
|
|
96
131
|
__HEREDOC
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
end
|
|
132
|
+
spec.ignore_unless(Config::AnyOf.new(*%w[WXGTK WXOSX]),
|
|
133
|
+
'wxTreeCtrl::SetButtonsImageList',
|
|
134
|
+
'wxTreeCtrl::GetButtonsImageList')
|
|
101
135
|
# these reimplemented window base methods need to be properly wrapped but
|
|
102
136
|
# are missing from the XML docs
|
|
103
137
|
spec.extend_interface('wxTreeCtrl',
|
|
@@ -41,8 +41,22 @@ module WXRuby3
|
|
|
41
41
|
wxNow
|
|
42
42
|
wxDecToHex
|
|
43
43
|
wxHexToDec
|
|
44
|
-
wxStripMenuCodes
|
|
45
44
|
]
|
|
45
|
+
# ignore these enum(erator)s
|
|
46
|
+
spec.ignore %w[
|
|
47
|
+
wxSignal
|
|
48
|
+
wxKillError
|
|
49
|
+
wxKillFlags
|
|
50
|
+
wxShutdownFlags
|
|
51
|
+
@.wxEXEC_ASYNC
|
|
52
|
+
@.wxEXEC_SYNC
|
|
53
|
+
@.wxEXEC_SHOW_CONSOLE
|
|
54
|
+
@.wxEXEC_MAKE_GROUP_LEADER
|
|
55
|
+
@.wxEXEC_NODISABLE
|
|
56
|
+
@.wxEXEC_NOEVENTS
|
|
57
|
+
@.wxEXEC_HIDE_CONSOLE
|
|
58
|
+
@.wxEXEC_BLOCK
|
|
59
|
+
]
|
|
46
60
|
spec.ignore 'wxPostDelete' unless Config.instance.wx_version >= '3.3.0'
|
|
47
61
|
spec.ignore 'wxGetEmailAddress(char *,int)',
|
|
48
62
|
'wxGetUserId(char *,int)',
|
|
@@ -53,7 +67,7 @@ module WXRuby3
|
|
|
53
67
|
__CODE
|
|
54
68
|
end
|
|
55
69
|
# we want only the functions that are not ignored
|
|
56
|
-
spec.do_not_generate(:classes, :typedefs, :variables, :
|
|
70
|
+
spec.do_not_generate(:classes, :typedefs, :variables, :defines)
|
|
57
71
|
super
|
|
58
72
|
end
|
|
59
73
|
end # class Utils
|