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
data/samples/dialogs/wizard.rb
CHANGED
@@ -11,62 +11,59 @@
|
|
11
11
|
|
12
12
|
require 'wx'
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
14
|
+
module Wizard
|
15
|
+
|
16
|
+
class MyFrame < Wx::Frame
|
17
|
+
def initialize(title, pos, size)
|
18
|
+
super(nil, :title => title, :pos => pos, :size => size)
|
19
|
+
|
20
|
+
menuFile = Wx::Menu.new
|
21
|
+
helpMenu = Wx::Menu.new
|
22
|
+
helpMenu.append(Wx::ID_ABOUT, "&About...\tF1", "Show about dialog")
|
23
|
+
menuFile.append(Wx::ID_EXIT, "E&xit\tAlt-X", "Quit this program")
|
24
|
+
menuBar = Wx::MenuBar.new
|
25
|
+
menuBar.append(menuFile, "&File")
|
26
|
+
menuBar.append(helpMenu, "&Help")
|
27
|
+
self.menu_bar = menuBar
|
28
|
+
|
29
|
+
create_status_bar(1)
|
30
|
+
self.status_text = "Welcome to wxRuby!"
|
31
|
+
s = Wx::StaticText.new(self, :label => 'The Wizard has completed')
|
32
|
+
evt_menu Wx::ID_EXIT, :on_quit
|
33
|
+
evt_menu Wx::ID_ABOUT, :on_about
|
34
|
+
|
35
|
+
w = Wx::Wizard.new(self, :title => 'The WxRuby Wizard')
|
36
|
+
p1 = Wx::WizardPageSimple.new(w)
|
37
|
+
s = Wx::StaticText.new(p1, :label => 'This is the first page')
|
38
|
+
|
39
|
+
p2 = Wx::WizardPageSimple.new(w, p1)
|
40
|
+
p1.set_next(p2)
|
41
|
+
s = Wx::StaticText.new(p2, :label => 'This is the second page')
|
42
|
+
|
43
|
+
p3 = Wx::WizardPageSimple.new(w, p2)
|
44
|
+
p2.set_next(p3)
|
45
|
+
s = Wx::StaticText.new(p3, :label => 'This is the final page')
|
46
|
+
|
47
|
+
evt_wizard_page_changed(w) { p "page changed" }
|
48
|
+
evt_wizard_page_changing(w) { p "page changing" }
|
49
|
+
evt_wizard_help(w) { p "wizard help" }
|
50
|
+
evt_wizard_cancel(w) { p "wizard cancelled" }
|
51
|
+
evt_wizard_finished(w) { p "wizard finished" }
|
52
|
+
|
53
|
+
w.run_wizard(p1)
|
54
|
+
end
|
55
|
+
|
56
|
+
def on_quit
|
57
|
+
close(true)
|
58
|
+
end
|
59
|
+
|
60
|
+
def on_about
|
61
|
+
msg = sprintf("This is the About dialog of the wizard sample.\n" \
|
62
|
+
"Welcome to %s", Wx::WXWIDGETS_VERSION)
|
63
|
+
Wx::message_box(msg, "About Wizard", Wx::OK|Wx::ICON_INFORMATION, self)
|
64
|
+
end
|
63
65
|
end
|
64
|
-
end
|
65
66
|
|
66
|
-
class RbApp < Wx::App
|
67
|
-
def on_init
|
68
|
-
|
69
|
-
end
|
70
67
|
end
|
71
68
|
|
72
69
|
module WizardSample
|
@@ -80,7 +77,7 @@ module WizardSample
|
|
80
77
|
end
|
81
78
|
|
82
79
|
def self.activate
|
83
|
-
frame = MyFrame.new("Wizard wxRuby App",
|
80
|
+
frame = Wizard::MyFrame.new("Wizard wxRuby App",
|
84
81
|
Wx::Point.new(50, 50),
|
85
82
|
Wx::Size.new(450, 340))
|
86
83
|
frame.show(true)
|
@@ -11,168 +11,172 @@
|
|
11
11
|
|
12
12
|
require 'wx'
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
|
20
|
-
#
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
# The class that actually handles the dropped files; it keeps a
|
29
|
-
# reference to the ListBox, and appends items as they are added
|
30
|
-
class ListFileDropTarget < Wx::FileDropTarget
|
31
|
-
def initialize(list)
|
32
|
-
super()
|
33
|
-
@list = list
|
14
|
+
module DragDrop
|
15
|
+
|
16
|
+
# This sample demonstrates the use of the Clipboard and Drag and Drop
|
17
|
+
# classes. Whilst the functionality of these is slightly different, they
|
18
|
+
# are both based around the use of the DataObject classes to exchange
|
19
|
+
# data of various sorts between applications (i.e. into and out of
|
20
|
+
# wxRuby)
|
21
|
+
|
22
|
+
# A ListBox that collects file names dropped onto it
|
23
|
+
class FileDropList < Wx::ListBox
|
24
|
+
def initialize(*args)
|
25
|
+
super
|
26
|
+
# Set the handler for drag and drop actions
|
27
|
+
self.drop_target = ListFileDropTarget.new(self)
|
34
28
|
end
|
35
29
|
|
36
|
-
#
|
37
|
-
#
|
38
|
-
|
39
|
-
|
40
|
-
|
30
|
+
# The class that actually handles the dropped files; it keeps a
|
31
|
+
# reference to the ListBox, and appends items as they are added
|
32
|
+
class ListFileDropTarget < Wx::FileDropTarget
|
33
|
+
def initialize(list)
|
34
|
+
super()
|
35
|
+
@list = list
|
36
|
+
end
|
37
|
+
|
38
|
+
# This method is overridden to specify what happens when a file is
|
39
|
+
# dropped
|
40
|
+
def on_drop_files(x, y, files)
|
41
|
+
files.each { | file | @list.append(file) }
|
42
|
+
true # currently need to return boolean from this method
|
43
|
+
end
|
41
44
|
end
|
42
45
|
end
|
43
|
-
end
|
44
46
|
|
45
|
-
class FileDropPane < Wx::Panel
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
47
|
+
class FileDropPane < Wx::Panel
|
48
|
+
LABEL = "Drag and drop files from Explorer/Finder/etc to here\n" +
|
49
|
+
"to add them to the list."
|
50
|
+
def initialize(parent)
|
51
|
+
super
|
52
|
+
sizer = Wx::BoxSizer.new(Wx::VERTICAL)
|
53
|
+
txt = Wx::StaticText.new( self, :label => LABEL)
|
54
|
+
sizer.add(txt, 0, Wx::ALL, 4)
|
55
|
+
|
56
|
+
@drop = FileDropList.new(self)
|
57
|
+
sizer.add(@drop, 1, Wx::GROW|Wx::ALL, 4)
|
58
|
+
self.sizer = sizer
|
59
|
+
end
|
57
60
|
end
|
58
|
-
end
|
59
61
|
|
60
|
-
# A canvas which can display a pasted image
|
61
|
-
class PasteCanvas < Wx::Window
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
62
|
+
# A canvas which can display a pasted image
|
63
|
+
class PasteCanvas < Wx::Window
|
64
|
+
attr_accessor :bitmap
|
65
|
+
def initialize(parent)
|
66
|
+
super(parent, :style => Wx::SUNKEN_BORDER)
|
67
|
+
self.size = [ 200, 200 ]
|
68
|
+
@bitmap = Wx::NULL_BITMAP
|
69
|
+
evt_paint :on_paint
|
70
|
+
end
|
69
71
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
72
|
+
def on_paint(evt)
|
73
|
+
paint do | dc |
|
74
|
+
dc.clear
|
75
|
+
if bitmap.ok?
|
76
|
+
dc.draw_bitmap(bitmap, 0, 0, false)
|
77
|
+
end
|
78
|
+
dc.pen = Wx::BLACK_PEN
|
79
|
+
end
|
77
80
|
end
|
78
81
|
end
|
79
|
-
end
|
80
82
|
|
81
|
-
# A Notebook panel to hold an image-paste canvas
|
82
|
-
class PastePane < Wx::Panel
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
# Target for displaying images from the clipboard
|
105
|
-
@canvas = PasteCanvas.new(self)
|
106
|
-
paste_sizer.add(@canvas, 1, Wx::GROW)
|
107
|
-
|
108
|
-
sizer.add(paste_sizer, 1, Wx::ALL|Wx::GROW, 4)
|
109
|
-
|
110
|
-
button_sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
|
111
|
-
|
112
|
-
@paste_bt = Wx::Button.new(self, :label => 'Paste')
|
113
|
-
evt_button @paste_bt, :on_paste
|
114
|
-
button_sizer.add(@paste_bt, 0, Wx::ALL, 4)
|
115
|
-
|
116
|
-
@copy_img_bt = Wx::Button.new(self, :label => 'Copy image')
|
117
|
-
evt_button @copy_img_bt, :on_copy_image
|
118
|
-
button_sizer.add(@copy_img_bt, 0, Wx::ALL, 4)
|
119
|
-
|
120
|
-
@copy_txt_bt = Wx::Button.new(self, :label => 'Copy text')
|
121
|
-
evt_button @copy_txt_bt, :on_copy_text
|
122
|
-
button_sizer.add(@copy_txt_bt, 0, Wx::ALL, 4)
|
123
|
-
|
124
|
-
sizer.add(button_sizer, 0)
|
125
|
-
self.sizer = sizer
|
126
|
-
end
|
83
|
+
# A Notebook panel to hold an image-paste canvas
|
84
|
+
class PastePane < Wx::Panel
|
85
|
+
LABEL = "Use the buttons below to paste text and images from\n" +
|
86
|
+
"the system clipboard, and then to copy them back."
|
87
|
+
def initialize(parent)
|
88
|
+
super
|
89
|
+
sizer = Wx::BoxSizer.new(Wx::VERTICAL)
|
90
|
+
txt = Wx::StaticText.new( self, :label => LABEL)
|
91
|
+
sizer.add(txt, 0, Wx::ALL, 4)
|
92
|
+
|
93
|
+
# Sizer for displaying text and image from the clipboard
|
94
|
+
paste_sizer = Wx::FlexGridSizer.new(2, 2, 2, 2)
|
95
|
+
paste_sizer.add_growable_col(0, 1)
|
96
|
+
paste_sizer.add_growable_col(1, 1)
|
97
|
+
paste_sizer.add_growable_row(1)
|
98
|
+
|
99
|
+
paste_sizer.add( Wx::StaticText.new(self, :label => 'Clipboard text') )
|
100
|
+
paste_sizer.add( Wx::StaticText.new(self, :label => 'Clipboard image') )
|
101
|
+
|
102
|
+
# Target for displaying text from the clipboard
|
103
|
+
@text = Wx::TextCtrl.new(self, :style => Wx::TE_MULTILINE)
|
104
|
+
paste_sizer.add(@text, 1, Wx::GROW)
|
127
105
|
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
106
|
+
# Target for displaying images from the clipboard
|
107
|
+
@canvas = PasteCanvas.new(self)
|
108
|
+
paste_sizer.add(@canvas, 1, Wx::GROW)
|
109
|
+
|
110
|
+
sizer.add(paste_sizer, 1, Wx::ALL|Wx::GROW, 4)
|
111
|
+
|
112
|
+
button_sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
|
113
|
+
|
114
|
+
@paste_bt = Wx::Button.new(self, :label => 'Paste')
|
115
|
+
evt_button @paste_bt, :on_paste
|
116
|
+
button_sizer.add(@paste_bt, 0, Wx::ALL, 4)
|
117
|
+
|
118
|
+
@copy_img_bt = Wx::Button.new(self, :label => 'Copy image')
|
119
|
+
evt_button @copy_img_bt, :on_copy_image
|
120
|
+
button_sizer.add(@copy_img_bt, 0, Wx::ALL, 4)
|
121
|
+
|
122
|
+
@copy_txt_bt = Wx::Button.new(self, :label => 'Copy text')
|
123
|
+
evt_button @copy_txt_bt, :on_copy_text
|
124
|
+
button_sizer.add(@copy_txt_bt, 0, Wx::ALL, 4)
|
125
|
+
|
126
|
+
sizer.add(button_sizer, 0)
|
127
|
+
self.sizer = sizer
|
128
|
+
end
|
129
|
+
|
130
|
+
# Receive data from the clipboard
|
131
|
+
def on_paste(evt)
|
132
|
+
# Temporarily open the clipboard
|
133
|
+
Wx::Clipboard.open do | clip |
|
134
|
+
# Test if bitmap data is available on the clipboard; if so, copy
|
135
|
+
if clip.supported?(Wx::DF_BITMAP)
|
136
|
+
bmp = Wx::BitmapDataObject.new
|
137
|
+
clip.get_data(bmp) # Fill the data object with bitmap`
|
138
|
+
@canvas.bitmap = bmp.bitmap
|
139
|
+
@canvas.refresh
|
140
|
+
end
|
141
|
+
# Test if text data is available on the clipboard; if so, copy
|
142
|
+
if clip.supported?(Wx::DF_TEXT)
|
143
|
+
txt = Wx::TextDataObject.new
|
144
|
+
clip.get_data(txt) # Fill the data object with text
|
145
|
+
@text.value = txt.text
|
146
|
+
end
|
144
147
|
end
|
145
148
|
end
|
146
|
-
end
|
147
149
|
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
150
|
+
# Paste an image to the clipboard
|
151
|
+
def on_copy_image
|
152
|
+
Wx::Clipboard.open do | clip |
|
153
|
+
clip.data = Wx::BitmapDataObject.new(@canvas.bitmap)
|
154
|
+
end
|
152
155
|
end
|
153
|
-
end
|
154
156
|
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
157
|
+
# Paste text to the clipboard
|
158
|
+
def on_copy_text
|
159
|
+
Wx::Clipboard.open do | clip |
|
160
|
+
clip.data = Wx::TextDataObject.new(@text.value)
|
161
|
+
end
|
159
162
|
end
|
160
163
|
end
|
161
|
-
end
|
162
164
|
|
163
|
-
class DataObjectFrame < Wx::Frame
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
165
|
+
class DataObjectFrame < Wx::Frame
|
166
|
+
def initialize(parent)
|
167
|
+
super
|
168
|
+
panel = Wx::Panel.new(self)
|
169
|
+
panel.sizer = Wx::BoxSizer.new(Wx::VERTICAL)
|
170
|
+
nb = Wx::Notebook.new(panel)
|
171
|
+
panel.sizer.add(nb, 1, Wx::ALL|Wx::GROW, 8)
|
172
|
+
fd = FileDropPane.new(nb)
|
173
|
+
nb.add_page(fd, 'Drag and Drop')
|
174
|
+
cv = PastePane.new(nb)
|
175
|
+
nb.add_page(cv, 'Clipboard')
|
176
|
+
# urldrop = URLDropList.new(self)
|
177
|
+
end
|
175
178
|
end
|
179
|
+
|
176
180
|
end
|
177
181
|
|
178
182
|
module DragDropSample
|
@@ -193,7 +197,7 @@ module DragDropSample
|
|
193
197
|
end
|
194
198
|
|
195
199
|
def self.activate
|
196
|
-
frame = DataObjectFrame.new(nil)
|
200
|
+
frame = DragDrop::DataObjectFrame.new(nil)
|
197
201
|
frame.show
|
198
202
|
frame
|
199
203
|
end
|
data/samples/drawing/bitmap.rb
CHANGED
@@ -11,40 +11,43 @@
|
|
11
11
|
|
12
12
|
require 'wx'
|
13
13
|
|
14
|
+
module Bitmap
|
14
15
|
|
15
|
-
# This sample demonstrates how to draw an image from a file onto a
|
16
|
-
# window. This one uses a small PNG file, but other formats such as JPEG
|
17
|
-
# are supported - see documentation for more details.
|
18
|
-
#
|
19
|
-
# This sample uses the Wx::Bitmap class, which is a platform-specific
|
20
|
-
# representation of an image. This is the class that must be used to
|
21
|
-
# display an image, but see also Wx::Image, which allows a much wider
|
22
|
-
# range of manipulations (such as rescaling) and writing to files.
|
16
|
+
# This sample demonstrates how to draw an image from a file onto a
|
17
|
+
# window. This one uses a small PNG file, but other formats such as JPEG
|
18
|
+
# are supported - see documentation for more details.
|
19
|
+
#
|
20
|
+
# This sample uses the Wx::Bitmap class, which is a platform-specific
|
21
|
+
# representation of an image. This is the class that must be used to
|
22
|
+
# display an image, but see also Wx::Image, which allows a much wider
|
23
|
+
# range of manipulations (such as rescaling) and writing to files.
|
23
24
|
|
24
25
|
|
25
|
-
class ImageFrame < Wx::Frame
|
26
|
-
|
27
|
-
|
26
|
+
class ImageFrame < Wx::Frame
|
27
|
+
def initialize
|
28
|
+
super(nil, :title => 'Simple image demo')
|
28
29
|
|
29
|
-
|
30
|
-
|
31
|
-
|
30
|
+
@offset = 10
|
31
|
+
size = 256+2*@offset
|
32
|
+
self.client_size = [size, size]
|
32
33
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
34
|
+
# Load a PNG bitmap from a file for drawing
|
35
|
+
img_file = File.join( File.dirname(__FILE__)+"/../art",
|
36
|
+
'wxruby-256x256.png')
|
37
|
+
@bitmap = Wx::Bitmap.new(img_file)
|
37
38
|
|
38
|
-
|
39
|
-
|
40
|
-
|
39
|
+
# Set up the drawing to be done when the frame needs re-painting
|
40
|
+
evt_paint :on_paint
|
41
|
+
end
|
41
42
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
43
|
+
def on_paint
|
44
|
+
paint do | dc |
|
45
|
+
# Draw the bitmap at the specified offset with no transparency
|
46
|
+
dc.draw_bitmap(@bitmap, @offset, @offset, false)
|
47
|
+
end
|
46
48
|
end
|
47
49
|
end
|
50
|
+
|
48
51
|
end
|
49
52
|
|
50
53
|
module BitmapSample
|
@@ -69,7 +72,7 @@ module BitmapSample
|
|
69
72
|
end
|
70
73
|
|
71
74
|
def self.activate
|
72
|
-
frame = ImageFrame.new
|
75
|
+
frame = Bitmap::ImageFrame.new
|
73
76
|
frame.show
|
74
77
|
frame
|
75
78
|
end
|