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
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
//
|
|
3
|
+
// This software is released under the MIT license.
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* WxRuby3 wxRubyValidator class
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#ifndef _WXRUBY_VALIDATOR_H
|
|
10
|
+
#define _WXRUBY_VALIDATOR_H
|
|
11
|
+
|
|
12
|
+
#include "wxruby-ValidatorBinding.h"
|
|
13
|
+
|
|
14
|
+
class WXRUBY_EXPORT wxRubyValidator : public wxValidator, public wxRubyValidatorBinding
|
|
15
|
+
{
|
|
16
|
+
public:
|
|
17
|
+
wxRubyValidator ();
|
|
18
|
+
wxRubyValidator (const wxRubyValidator&);
|
|
19
|
+
virtual ~wxRubyValidator ();
|
|
20
|
+
|
|
21
|
+
virtual wxObject* Clone() const override;
|
|
22
|
+
|
|
23
|
+
virtual void SetWindow(wxWindow *win) override;
|
|
24
|
+
|
|
25
|
+
virtual bool TransferFromWindow () override;
|
|
26
|
+
virtual bool TransferToWindow () override;
|
|
27
|
+
|
|
28
|
+
protected:
|
|
29
|
+
static WxRuby_ID do_transfer_from_window_id;
|
|
30
|
+
static WxRuby_ID do_transfer_to_window_id;
|
|
31
|
+
static WxRuby_ID clone_id;
|
|
32
|
+
|
|
33
|
+
virtual VALUE DoTransferFromWindow();
|
|
34
|
+
virtual bool DoTransferToWindow(VALUE data);
|
|
35
|
+
|
|
36
|
+
virtual VALUE get_self() override;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
#endif /* _WXRUBY_VALIDATOR_HASH_H */
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
//
|
|
3
|
+
// This software is released under the MIT license.
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* WxRuby3 wxRubyValidatorBinding class
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#ifndef _WXRUBY_VALIDATOR_BINDING_H
|
|
10
|
+
#define _WXRUBY_VALIDATOR_BINDING_H
|
|
11
|
+
|
|
12
|
+
class WXRUBY_EXPORT wxRubyValidatorBinding
|
|
13
|
+
{
|
|
14
|
+
public:
|
|
15
|
+
wxRubyValidatorBinding ()
|
|
16
|
+
: self_(Qnil)
|
|
17
|
+
, on_transfer_from_win_proc_(Qnil)
|
|
18
|
+
, on_transfer_to_win_proc_(Qnil)
|
|
19
|
+
{}
|
|
20
|
+
|
|
21
|
+
void SetOnTransferFromWindow(VALUE proc)
|
|
22
|
+
{
|
|
23
|
+
this->on_transfer_from_win_proc_ = proc;
|
|
24
|
+
}
|
|
25
|
+
void SetOnTransferToWindow(VALUE proc)
|
|
26
|
+
{
|
|
27
|
+
this->on_transfer_to_win_proc_ = proc;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
VALUE DoOnTransferToWindow();
|
|
31
|
+
bool DoOnTransferFromWindow(VALUE data);
|
|
32
|
+
|
|
33
|
+
bool OnTransferFromWindow(VALUE data);
|
|
34
|
+
VALUE OnTransferToWindow();
|
|
35
|
+
|
|
36
|
+
void GC_Mark()
|
|
37
|
+
{
|
|
38
|
+
rb_gc_mark(this->on_transfer_from_win_proc_);
|
|
39
|
+
rb_gc_mark(this->on_transfer_to_win_proc_);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
protected:
|
|
43
|
+
static WxRuby_ID do_on_transfer_from_window_id;
|
|
44
|
+
static WxRuby_ID do_on_transfer_to_window_id;
|
|
45
|
+
static WxRuby_ID call_id;
|
|
46
|
+
|
|
47
|
+
wxRubyValidatorBinding (const wxRubyValidatorBinding& vb)
|
|
48
|
+
: self_(Qnil)
|
|
49
|
+
, on_transfer_from_win_proc_(vb.on_transfer_from_win_proc_)
|
|
50
|
+
, on_transfer_to_win_proc_(vb.on_transfer_to_win_proc_)
|
|
51
|
+
{}
|
|
52
|
+
|
|
53
|
+
void CopyBindings(const wxRubyValidatorBinding* val_bind);
|
|
54
|
+
|
|
55
|
+
virtual VALUE get_self() = 0;
|
|
56
|
+
|
|
57
|
+
VALUE self_;
|
|
58
|
+
|
|
59
|
+
private:
|
|
60
|
+
VALUE on_transfer_from_win_proc_;
|
|
61
|
+
VALUE on_transfer_to_win_proc_;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
#endif /* #define _WXRUBY_VALIDATOR_BINDING_H */
|
data/ext/wxruby3/swig/common.i
CHANGED
|
@@ -195,6 +195,14 @@ namespace Swig {
|
|
|
195
195
|
}
|
|
196
196
|
};
|
|
197
197
|
|
|
198
|
+
/* wxRuby customization */
|
|
199
|
+
class WXRUBY_EXPORT DirectorRubyException : public DirectorException
|
|
200
|
+
{
|
|
201
|
+
public:
|
|
202
|
+
DirectorRubyException(VALUE error, VALUE rcvr, ID fn_id);
|
|
203
|
+
|
|
204
|
+
};
|
|
205
|
+
|
|
198
206
|
/* Simple thread abstraction for pthreads on win32 */
|
|
199
207
|
#ifdef __THREAD__
|
|
200
208
|
# define __PTHREAD__
|
|
@@ -309,37 +309,4 @@ WXRUBY_EXPORT void GC_mark_wxFrame(void *ptr)
|
|
|
309
309
|
std::wcout << "> GC_mark_wxFrame : " << ptr << std::endl;
|
|
310
310
|
#endif
|
|
311
311
|
}
|
|
312
|
-
|
|
313
|
-
// wxRuby must preserve ruby objects attached as the ClientData of
|
|
314
|
-
// command events that have been user-defined in ruby. Some of the
|
|
315
|
-
// standard wxWidgets CommandEvent classes (which have a constant event
|
|
316
|
-
// id less than wxEVT_USER_FIRST, from wx/event.h) also use ClientData
|
|
317
|
-
// for their own purposes, and this must not be marked as the data is
|
|
318
|
-
// not a ruby object, and will thus crash.
|
|
319
|
-
WXRUBY_EXPORT void GC_mark_wxEvent(void *ptr)
|
|
320
|
-
{
|
|
321
|
-
#ifdef __WXRB_DEBUG__
|
|
322
|
-
if (wxRuby_TraceLevel()>1)
|
|
323
|
-
std::wcout << "> GC_mark_wxEvent : " << ptr << std::endl;
|
|
324
|
-
#endif
|
|
325
|
-
|
|
326
|
-
if ( ! ptr ) return;
|
|
327
|
-
wxEvent* wx_event = (wxEvent*)ptr;
|
|
328
|
-
#ifdef __WXRB_DEBUG__
|
|
329
|
-
if (wxRuby_TraceLevel()>2)
|
|
330
|
-
std::wcout << "* GC_mark_wxEvent(" << ptr << ":{" << wx_event->GetEventType() << "})" << std::endl;
|
|
331
|
-
#endif
|
|
332
|
-
if ( wx_event->GetEventType() > wxEVT_USER_FIRST &&
|
|
333
|
-
wx_event->IsCommandEvent() )
|
|
334
|
-
{
|
|
335
|
-
wxCommandEvent* wx_cm_event = (wxCommandEvent*)ptr;
|
|
336
|
-
VALUE rb_client_data = (VALUE)wx_cm_event->GetClientData();
|
|
337
|
-
rb_gc_mark(rb_client_data);
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
#ifdef __WXRB_DEBUG__
|
|
341
|
-
if (wxRuby_TraceLevel()>1)
|
|
342
|
-
std::wcout << "< GC_mark_wxEvent : " << ptr << std::endl;
|
|
343
|
-
#endif
|
|
344
|
-
}
|
|
345
312
|
%}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
5
|
+
class Wx::AUI::AuiTabCtrl
|
|
6
|
+
|
|
7
|
+
# Convenience method for iterating pages
|
|
8
|
+
def each_page
|
|
9
|
+
if block_given?
|
|
10
|
+
0.upto(get_page_count - 1) do | i |
|
|
11
|
+
yield get_page(i)
|
|
12
|
+
end
|
|
13
|
+
else
|
|
14
|
+
::Enumerator.new { |y| each_page { |pg| y << pg } }
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
end
|
data/lib/wx/aui/auinotebook.rb
CHANGED
|
@@ -19,8 +19,12 @@ class Wx::AUI::AuiNotebook
|
|
|
19
19
|
|
|
20
20
|
# Convenience method for iterating pages
|
|
21
21
|
def each_page
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
if block_given?
|
|
23
|
+
0.upto(get_page_count - 1) do | i |
|
|
24
|
+
yield get_page(i)
|
|
25
|
+
end
|
|
26
|
+
else
|
|
27
|
+
::Enumerator.new { |y| each_page { |pg| y << pg } }
|
|
24
28
|
end
|
|
25
29
|
end
|
|
26
30
|
end
|
data/lib/wx/aui/require.rb
CHANGED
data/lib/wx/core/app.rb
CHANGED
|
@@ -79,8 +79,8 @@ class Wx::App
|
|
|
79
79
|
# WxRuby. Such messages usually indicate that the API is being used
|
|
80
80
|
# incorrectly; the file/line reference points to the place in the
|
|
81
81
|
# WxWidgets source code where the assertion was made.
|
|
82
|
-
|
|
83
|
-
warn
|
|
82
|
+
def on_assert_failure(file, line, func, condition, message)
|
|
83
|
+
warn %Q{Wx WARNING: ASSERT #{condition} fired with "#{message}" at (#{func}@#{file}:#{line})}
|
|
84
84
|
end
|
|
85
85
|
|
|
86
86
|
# For use in development only, of no practical use in production code.
|
|
@@ -8,32 +8,28 @@
|
|
|
8
8
|
|
|
9
9
|
module Wx
|
|
10
10
|
|
|
11
|
-
class
|
|
12
|
-
|
|
13
|
-
# We need to cache client data in Ruby variables as we cannot access items
|
|
14
|
-
# during the GC mark phase as for some platforms (WXMSW at least) that would
|
|
15
|
-
# involve calling methods that would break in that phase.
|
|
11
|
+
class BitmapComboBox < Wx::ComboBox
|
|
16
12
|
|
|
17
13
|
wx_append = instance_method :append
|
|
18
|
-
define_method :append do |item, bitmap=Wx::NULL_BITMAP, data=nil|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
14
|
+
define_method :append do |item, *rest| #bitmap=Wx::NULL_BITMAP, data=nil|
|
|
15
|
+
if ::Array === item
|
|
16
|
+
super(item, *rest)
|
|
17
|
+
elsif rest.empty? || Wx::Bitmap === rest.first
|
|
18
|
+
wx_append.bind(self).call(item, *rest)
|
|
19
|
+
else
|
|
20
|
+
super(item, *rest)
|
|
21
|
+
end
|
|
26
22
|
end
|
|
27
23
|
|
|
28
24
|
wx_insert = instance_method :insert
|
|
29
|
-
define_method :insert do |item, bitmap, pos, data=nil|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
25
|
+
define_method :insert do |item, *rest| # bitmap, pos, data=nil|
|
|
26
|
+
if ::Array === item
|
|
27
|
+
super(item, *rest)
|
|
28
|
+
elsif rest.empty? || Wx::Bitmap === rest.first
|
|
29
|
+
wx_insert.bind(self).call(item, *rest)
|
|
30
|
+
else
|
|
31
|
+
super(item, *rest)
|
|
32
|
+
end
|
|
37
33
|
end
|
|
38
34
|
|
|
39
35
|
end
|
data/lib/wx/core/combobox.rb
CHANGED
|
@@ -8,7 +8,17 @@
|
|
|
8
8
|
|
|
9
9
|
require_relative './controlwithitems'
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
module Wx
|
|
12
|
+
|
|
13
|
+
class ComboBox
|
|
14
|
+
|
|
15
|
+
# redefine #clear method to take care of client data and to call the proper #clear_items method
|
|
16
|
+
# (not the #clear method inherited from the TextEntry mixin)
|
|
17
|
+
wx_clear = instance_method :clear_items
|
|
18
|
+
define_method :clear do
|
|
19
|
+
wx_clear.bind(self).call
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
|
23
|
+
|
|
14
24
|
end
|
|
@@ -9,147 +9,59 @@
|
|
|
9
9
|
# Superclass of a variety of controls that display lists of items (eg
|
|
10
10
|
# Choice, ListBox, CheckListBox)
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
module Wx
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
include Enumerable
|
|
14
|
+
class ControlWithItems
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
# We need to cache client data in Ruby variables as we cannot access items
|
|
23
|
-
# during the GC mark phase as for some platforms (WXMSW at least) that would
|
|
24
|
-
# involve calling methods that would break in that phase.
|
|
25
|
-
|
|
26
|
-
def client_data_store
|
|
27
|
-
@client_data ||= []
|
|
28
|
-
end
|
|
29
|
-
private :client_data_store
|
|
30
|
-
|
|
31
|
-
wx_set_client_data = instance_method :set_client_data
|
|
32
|
-
define_method :set_client_data do |item, data|
|
|
33
|
-
item = item.to_i
|
|
34
|
-
wx_set_client_data.bind(self).call(item, data)
|
|
35
|
-
client_data_store[item] = data
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def get_client_data(item)
|
|
39
|
-
client_data_store[item.to_i]
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
wx_append = instance_method :append
|
|
43
|
-
define_method :append do |item, data=nil|
|
|
44
|
-
itm_pos = -1
|
|
45
|
-
if data
|
|
46
|
-
if ::Array === item
|
|
47
|
-
if !(::Array === data)
|
|
48
|
-
::Kernel.raise ::TypeError.new("Expected Array for argument 3")
|
|
49
|
-
elsif data.size != item.size
|
|
50
|
-
::Kernel.raise ::ArgumentError.new("item and data array must be equal size")
|
|
51
|
-
end
|
|
52
|
-
if sorted?
|
|
53
|
-
item.each_with_index do |itm, ix|
|
|
54
|
-
itm_pos = wx_append.bind(self).call(itm, data[ix])
|
|
55
|
-
client_data_store.insert(itm_pos, data[ix])
|
|
56
|
-
end
|
|
57
|
-
else
|
|
58
|
-
offs = get_count
|
|
59
|
-
itm_pos = wx_append.bind(self).call(item)
|
|
60
|
-
item.size.times { |ix| set_client_data(offs+ix, data[ix]) }
|
|
61
|
-
end
|
|
16
|
+
# make sure to honor the inherited common overloads
|
|
17
|
+
wx_get_client_object = instance_method :get_client_object
|
|
18
|
+
define_method :get_client_object do |*args|
|
|
19
|
+
if args.empty?
|
|
20
|
+
super()
|
|
62
21
|
else
|
|
63
|
-
|
|
64
|
-
client_data_store.insert(itm_pos, data)
|
|
22
|
+
wx_get_client_object.bind(self).call(*args)
|
|
65
23
|
end
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
client_data_store.insert(itm_pos, nil)
|
|
72
|
-
end
|
|
73
|
-
else
|
|
74
|
-
itm_pos = wx_append.bind(self).call(item)
|
|
75
|
-
client_data_store.concat(::Array.new(item.size))
|
|
76
|
-
end
|
|
24
|
+
end
|
|
25
|
+
wx_set_client_object = instance_method :set_client_object
|
|
26
|
+
define_method :set_client_object do |*args|
|
|
27
|
+
if args.size < 2
|
|
28
|
+
super(*args)
|
|
77
29
|
else
|
|
78
|
-
|
|
79
|
-
client_data_store.insert(itm_pos, nil)
|
|
30
|
+
wx_set_client_object.bind(self).call(*args)
|
|
80
31
|
end
|
|
81
32
|
end
|
|
82
|
-
|
|
83
|
-
|
|
33
|
+
# redefine aliases
|
|
34
|
+
alias :client_object :get_client_object
|
|
35
|
+
alias :client_object= :set_client_object
|
|
84
36
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
end
|
|
100
|
-
else
|
|
101
|
-
itm_pos = wx_insert.bind(self).call(item, pos)
|
|
102
|
-
client_data_store.insert(pos, *::Array.new(item.size))
|
|
103
|
-
item.size.times { |ix| set_client_data(pos+ix, data[ix]) }
|
|
104
|
-
end
|
|
105
|
-
else
|
|
106
|
-
itm_pos = wx_insert.bind(self).call(item, pos, data)
|
|
107
|
-
client_data_store.insert(itm_pos, data)
|
|
108
|
-
end
|
|
109
|
-
else
|
|
110
|
-
if ::Array === item
|
|
111
|
-
if sorted?
|
|
112
|
-
item.each_with_index do |itm, ix|
|
|
113
|
-
itm_pos = wx_insert.bind(self).call(itm)
|
|
114
|
-
client_data_store.insert(itm_pos, nil)
|
|
115
|
-
end
|
|
116
|
-
else
|
|
117
|
-
itm_pos = wx_insert.bind(self).call(item, pos)
|
|
118
|
-
client_data_store.insert(pos, *::Array.new(item.size))
|
|
119
|
-
end
|
|
37
|
+
alias :get_client_data :get_client_object
|
|
38
|
+
alias :set_client_data :set_client_object
|
|
39
|
+
|
|
40
|
+
alias :has_client_data :has_client_object_data
|
|
41
|
+
alias :has_client_data? :has_client_object_data
|
|
42
|
+
|
|
43
|
+
alias :get_item_data :get_client_object
|
|
44
|
+
alias :set_item_data :set_client_object
|
|
45
|
+
|
|
46
|
+
# Overload to provide Enumerator without block
|
|
47
|
+
wx_each_string = instance_method :each_string
|
|
48
|
+
define_method :each_string do |&block|
|
|
49
|
+
if block
|
|
50
|
+
wx_each_string.bind(self).call(&block)
|
|
120
51
|
else
|
|
121
|
-
|
|
122
|
-
client_data_store.insert(pos, nil)
|
|
52
|
+
::Enumerator.new { |y| wx_each_string.bind(self).call { |ln| y << ln } }
|
|
123
53
|
end
|
|
124
54
|
end
|
|
125
|
-
itm_pos
|
|
126
|
-
end
|
|
127
55
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
if data
|
|
131
|
-
if !(::Array === data)
|
|
132
|
-
::Kernel.raise ::TypeError.new("Expected Array for argument 2")
|
|
133
|
-
elsif data.size != items.size
|
|
134
|
-
::Kernel.raise ::ArgumentError.new("items and data array must be equal size")
|
|
135
|
-
end
|
|
136
|
-
end
|
|
137
|
-
wx_set.bind(self).call(items)
|
|
138
|
-
client_data_store.clear
|
|
139
|
-
if data
|
|
140
|
-
items.each_with_index { |item, ix| set_client_data(item, data[ix]) }
|
|
141
|
-
end
|
|
142
|
-
end
|
|
56
|
+
# define these aliases so controls like ComboBox and OwnerDrawnComboBox and the like all end up with
|
|
57
|
+
# similar methods
|
|
143
58
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
59
|
+
alias :get_list_selection :get_selection
|
|
60
|
+
alias :set_list_selection :set_selection
|
|
61
|
+
|
|
62
|
+
alias :get_list_string_selection :get_string_selection
|
|
63
|
+
alias :set_list_string_selection :set_string_selection
|
|
149
64
|
|
|
150
|
-
wx_delete = instance_method :delete
|
|
151
|
-
define_method :delete do |item|
|
|
152
|
-
wx_delete.bind(self).call(item.to_i)
|
|
153
|
-
client_data_store.slice!(item.to_i)
|
|
154
65
|
end
|
|
66
|
+
|
|
155
67
|
end
|
data/lib/wx/core/enum.rb
CHANGED
|
@@ -29,11 +29,27 @@ class Wx::Enum
|
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def !
|
|
32
|
-
|
|
32
|
+
to_i == 0
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def allbits?(mask)
|
|
36
|
+
to_i.allbits?(mask)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def anybits?(mask)
|
|
40
|
+
to_i.anybits?(mask)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def nobits?(mask)
|
|
44
|
+
to_i.nobits?(mask)
|
|
33
45
|
end
|
|
34
46
|
|
|
35
47
|
def hash
|
|
36
48
|
@value.hash
|
|
37
49
|
end
|
|
38
50
|
|
|
51
|
+
def to_s
|
|
52
|
+
to_i.to_s
|
|
53
|
+
end
|
|
54
|
+
|
|
39
55
|
end
|
data/lib/wx/core/event.rb
CHANGED
|
@@ -29,7 +29,7 @@ module Wx
|
|
|
29
29
|
alias :id :get_id
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
-
class
|
|
32
|
+
class CommandEvent
|
|
33
33
|
|
|
34
34
|
# overload the #initialize method to add a check on a
|
|
35
35
|
# correct match between EventType and event class
|
|
@@ -43,6 +43,11 @@ module Wx
|
|
|
43
43
|
end
|
|
44
44
|
end
|
|
45
45
|
|
|
46
|
+
alias :set_client_data :set_client_object
|
|
47
|
+
alias :client_data= :set_client_object
|
|
48
|
+
alias :get_client_data :get_client_object
|
|
49
|
+
alias :client_data :get_client_object
|
|
50
|
+
|
|
46
51
|
end
|
|
47
52
|
|
|
48
53
|
# reduce mapping warnings for this unpublished event class
|
data/lib/wx/core/evthandler.rb
CHANGED
|
@@ -10,6 +10,12 @@
|
|
|
10
10
|
# EvtHandler. This includes all Wx::Window subclasses and Wx::App.
|
|
11
11
|
|
|
12
12
|
class Wx::EvtHandler
|
|
13
|
+
|
|
14
|
+
alias :set_client_data :set_client_object
|
|
15
|
+
alias :client_data= :set_client_object
|
|
16
|
+
alias :get_client_data :get_client_object
|
|
17
|
+
alias :client_data :get_client_object
|
|
18
|
+
|
|
13
19
|
# EventType is an internal class that's used to set up event handlers
|
|
14
20
|
# and mappings.
|
|
15
21
|
# * 'name' is the name of the event handler method in ruby
|
|
@@ -182,7 +188,7 @@ class Wx::EvtHandler
|
|
|
182
188
|
# check arity <= 1
|
|
183
189
|
if h_meth.arity>1
|
|
184
190
|
Kernel.raise ArgumentError,
|
|
185
|
-
"Event handler should not accept more than at most a single argument"
|
|
191
|
+
"Event handler should not accept more than at most a single argument",
|
|
186
192
|
caller
|
|
187
193
|
end
|
|
188
194
|
# wrap method without any argument in anonymous proc to prevent strict argument checking
|
|
@@ -193,7 +199,7 @@ class Wx::EvtHandler
|
|
|
193
199
|
end
|
|
194
200
|
else
|
|
195
201
|
Kernel.raise ArgumentError,
|
|
196
|
-
"Specify event handler with a method, name, proc OR block"
|
|
202
|
+
"Specify event handler with a method, name, proc OR block",
|
|
197
203
|
caller
|
|
198
204
|
end
|
|
199
205
|
end
|