wxruby-ruby19 1.9.10-x86-mingw32
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.
- data/LICENSE +53 -0
- data/README +297 -0
- data/lib/wx/accessors.rb +58 -0
- data/lib/wx/classes/acceleratortable.rb +28 -0
- data/lib/wx/classes/animation.rb +18 -0
- data/lib/wx/classes/app.rb +51 -0
- data/lib/wx/classes/artprovider.rb +31 -0
- data/lib/wx/classes/auinotebook.rb +9 -0
- data/lib/wx/classes/bitmap.rb +56 -0
- data/lib/wx/classes/busycursor.rb +12 -0
- data/lib/wx/classes/checklistbox.rb +45 -0
- data/lib/wx/classes/choice.rb +4 -0
- data/lib/wx/classes/clientdc.rb +13 -0
- data/lib/wx/classes/clipboard.rb +32 -0
- data/lib/wx/classes/colour.rb +49 -0
- data/lib/wx/classes/combobox.rb +4 -0
- data/lib/wx/classes/commandevent.rb +7 -0
- data/lib/wx/classes/controlwithitems.rb +10 -0
- data/lib/wx/classes/data_object.rb +14 -0
- data/lib/wx/classes/data_object_simple.rb +6 -0
- data/lib/wx/classes/dataformat.rb +23 -0
- data/lib/wx/classes/dc.rb +57 -0
- data/lib/wx/classes/event.rb +5 -0
- data/lib/wx/classes/evthandler.rb +1039 -0
- data/lib/wx/classes/font.rb +118 -0
- data/lib/wx/classes/functions.rb +44 -0
- data/lib/wx/classes/gauge.rb +12 -0
- data/lib/wx/classes/genericdirctrl.rb +36 -0
- data/lib/wx/classes/grid.rb +146 -0
- data/lib/wx/classes/hboxsizer.rb +6 -0
- data/lib/wx/classes/helpcontroller.rb +5 -0
- data/lib/wx/classes/helpcontrollerhelpprovider.rb +23 -0
- data/lib/wx/classes/helpprovider.rb +15 -0
- data/lib/wx/classes/htmlhelpcontroller.rb +5 -0
- data/lib/wx/classes/htmlwindow.rb +14 -0
- data/lib/wx/classes/icon.rb +32 -0
- data/lib/wx/classes/iconbundle.rb +3 -0
- data/lib/wx/classes/image.rb +43 -0
- data/lib/wx/classes/imagelist.rb +3 -0
- data/lib/wx/classes/listbox.rb +4 -0
- data/lib/wx/classes/listctrl.rb +33 -0
- data/lib/wx/classes/locale.rb +28 -0
- data/lib/wx/classes/mediactrl.rb +48 -0
- data/lib/wx/classes/menu.rb +62 -0
- data/lib/wx/classes/menuitem.rb +7 -0
- data/lib/wx/classes/notebook.rb +9 -0
- data/lib/wx/classes/object.rb +14 -0
- data/lib/wx/classes/paintdc.rb +12 -0
- data/lib/wx/classes/point.rb +56 -0
- data/lib/wx/classes/previewframe.rb +13 -0
- data/lib/wx/classes/rect.rb +19 -0
- data/lib/wx/classes/richtextctrl.rb +63 -0
- data/lib/wx/classes/simplehelpprovider.rb +38 -0
- data/lib/wx/classes/size.rb +58 -0
- data/lib/wx/classes/sizer.rb +37 -0
- data/lib/wx/classes/sound.rb +23 -0
- data/lib/wx/classes/standardpaths.rb +9 -0
- data/lib/wx/classes/styledtextctrl.rb +92 -0
- data/lib/wx/classes/textctrl.rb +14 -0
- data/lib/wx/classes/texturlevent.rb +18 -0
- data/lib/wx/classes/timer.rb +94 -0
- data/lib/wx/classes/toolbar.rb +27 -0
- data/lib/wx/classes/toolbartool.rb +4 -0
- data/lib/wx/classes/treectrl.rb +44 -0
- data/lib/wx/classes/vboxsizer.rb +6 -0
- data/lib/wx/classes/window.rb +89 -0
- data/lib/wx/classes/xmlresource.rb +54 -0
- data/lib/wx/helpers.rb +45 -0
- data/lib/wx/keyword_ctors.rb +204 -0
- data/lib/wx/keyword_defs.rb +558 -0
- data/lib/wx/version.rb +3 -0
- data/lib/wx.rb +53 -0
- data/lib/wxruby2.so +0 -0
- data/samples/SAMPLES-LICENSE.TXT +18 -0
- data/samples/aui/aui.rb +1356 -0
- data/samples/bigdemo/About.rbw +39 -0
- data/samples/bigdemo/ColorPanel.rbw +23 -0
- data/samples/bigdemo/GridSimple.rbw +78 -0
- data/samples/bigdemo/MDIDemo.rbw +57 -0
- data/samples/bigdemo/PopupMenu.rbw +149 -0
- data/samples/bigdemo/ShapedWindow.rbw +131 -0
- data/samples/bigdemo/Sizers.rbw +543 -0
- data/samples/bigdemo/bigdemo.rb +823 -0
- data/samples/bigdemo/demoTemplate.rbw +33 -0
- data/samples/bigdemo/helpfile.htb +0 -0
- data/samples/bigdemo/icons/Test 015.jpg +0 -0
- data/samples/bigdemo/icons/Test 015.png +0 -0
- data/samples/bigdemo/icons/choice.bmp +0 -0
- data/samples/bigdemo/icons/choice.xpm +27 -0
- data/samples/bigdemo/icons/combo.bmp +0 -0
- data/samples/bigdemo/icons/combo.xpm +27 -0
- data/samples/bigdemo/icons/copy.xpm +25 -0
- data/samples/bigdemo/icons/cut.xpm +24 -0
- data/samples/bigdemo/icons/gauge.bmp +0 -0
- data/samples/bigdemo/icons/gauge.xpm +27 -0
- data/samples/bigdemo/icons/help.xpm +25 -0
- data/samples/bigdemo/icons/list.bmp +0 -0
- data/samples/bigdemo/icons/list.xpm +27 -0
- data/samples/bigdemo/icons/mondrian.ico +0 -0
- data/samples/bigdemo/icons/mondrian.xpm +44 -0
- data/samples/bigdemo/icons/new.xpm +24 -0
- data/samples/bigdemo/icons/ogl.ico +0 -0
- data/samples/bigdemo/icons/ogl.xpm +45 -0
- data/samples/bigdemo/icons/open.xpm +26 -0
- data/samples/bigdemo/icons/paste.bmp +0 -0
- data/samples/bigdemo/icons/paste.xpm +38 -0
- data/samples/bigdemo/icons/pointy.png +0 -0
- data/samples/bigdemo/icons/preview.xpm +26 -0
- data/samples/bigdemo/icons/print.xpm +26 -0
- data/samples/bigdemo/icons/radio.bmp +0 -0
- data/samples/bigdemo/icons/radio.xpm +27 -0
- data/samples/bigdemo/icons/robert.xpm +415 -0
- data/samples/bigdemo/icons/ruby.png +0 -0
- data/samples/bigdemo/icons/sashtest.ico +0 -0
- data/samples/bigdemo/icons/save.xpm +25 -0
- data/samples/bigdemo/icons/smiles.bmp +0 -0
- data/samples/bigdemo/icons/smiles.xpm +39 -0
- data/samples/bigdemo/icons/smiley.ico +0 -0
- data/samples/bigdemo/icons/smiley.xpm +42 -0
- data/samples/bigdemo/icons/stattext.xpm +24 -0
- data/samples/bigdemo/icons/test2.bmp +0 -0
- data/samples/bigdemo/icons/test2.png +0 -0
- data/samples/bigdemo/icons/test2.xpm +79 -0
- data/samples/bigdemo/icons/text.bmp +0 -0
- data/samples/bigdemo/icons/text.xpm +27 -0
- data/samples/bigdemo/icons/tog1.bmp +0 -0
- data/samples/bigdemo/icons/tog1.xpm +38 -0
- data/samples/bigdemo/icons/tog2.bmp +0 -0
- data/samples/bigdemo/icons/tog2.xpm +38 -0
- data/samples/bigdemo/icons/wxwin.ico +0 -0
- data/samples/bigdemo/icons/wxwin16x16.png +0 -0
- data/samples/bigdemo/icons/wxwin16x16.xpm +25 -0
- data/samples/bigdemo/icons/wxwin32x32.png +0 -0
- data/samples/bigdemo/icons/wxwin48x48.png +0 -0
- data/samples/bigdemo/run.rb +90 -0
- data/samples/bigdemo/tips.txt +7 -0
- data/samples/bigdemo/utils.rb +12 -0
- data/samples/bigdemo/wxArtProvider.rbw +281 -0
- data/samples/bigdemo/wxBitmapButton.rbw +65 -0
- data/samples/bigdemo/wxButton.rbw +64 -0
- data/samples/bigdemo/wxCalendarCtrl.rbw +60 -0
- data/samples/bigdemo/wxCheckBox.rbw +50 -0
- data/samples/bigdemo/wxCheckListBox.rbw +65 -0
- data/samples/bigdemo/wxChoice.rbw +47 -0
- data/samples/bigdemo/wxChoicebook.rbw +78 -0
- data/samples/bigdemo/wxColourDialog.rbw +31 -0
- data/samples/bigdemo/wxComboBox.rbw +77 -0
- data/samples/bigdemo/wxCursor.rbw +136 -0
- data/samples/bigdemo/wxDialog.rbw +74 -0
- data/samples/bigdemo/wxDirDialog.rbw +29 -0
- data/samples/bigdemo/wxDragImage.rbw +70 -0
- data/samples/bigdemo/wxFileDialog.rbw +37 -0
- data/samples/bigdemo/wxFileDialog_Save.rbw +35 -0
- data/samples/bigdemo/wxFindReplaceDialog.rbw +82 -0
- data/samples/bigdemo/wxFontDialog.rbw +173 -0
- data/samples/bigdemo/wxFrame.rbw +53 -0
- data/samples/bigdemo/wxGauge.rbw +71 -0
- data/samples/bigdemo/wxGenericDirCtrl.rbw +74 -0
- data/samples/bigdemo/wxGrid.rbw +66 -0
- data/samples/bigdemo/wxHtmlHelpController.rbw +52 -0
- data/samples/bigdemo/wxListBox.rbw +140 -0
- data/samples/bigdemo/wxListCtrl_virtual.rbw +112 -0
- data/samples/bigdemo/wxMDIWindows.rbw +50 -0
- data/samples/bigdemo/wxMenu.rbw +236 -0
- data/samples/bigdemo/wxMessageDialog.rbw +27 -0
- data/samples/bigdemo/wxMiniFrame.rbw +70 -0
- data/samples/bigdemo/wxMultipleChoiceDialog.rbw +32 -0
- data/samples/bigdemo/wxNotebook.rbw +136 -0
- data/samples/bigdemo/wxProgressDialog.rbw +43 -0
- data/samples/bigdemo/wxRadioBox.rbw +72 -0
- data/samples/bigdemo/wxRadioButton.rbw +125 -0
- data/samples/bigdemo/wxSashWindow.rbw +141 -0
- data/samples/bigdemo/wxScrolledMessageDialog.rbw +57 -0
- data/samples/bigdemo/wxScrolledWindow.rbw +199 -0
- data/samples/bigdemo/wxSingleChoiceDialog.rbw +33 -0
- data/samples/bigdemo/wxSlider.rbw +42 -0
- data/samples/bigdemo/wxSpinButton.rbw +50 -0
- data/samples/bigdemo/wxSpinCtrl.rbw +51 -0
- data/samples/bigdemo/wxSplitterWindow.rbw +63 -0
- data/samples/bigdemo/wxStaticBitmap.rbw +51 -0
- data/samples/bigdemo/wxStaticText.rbw +55 -0
- data/samples/bigdemo/wxStatusBar.rbw +126 -0
- data/samples/bigdemo/wxTextCtrl.rbw +149 -0
- data/samples/bigdemo/wxTextEntryDialog.rbw +31 -0
- data/samples/bigdemo/wxToggleButton.rbw +49 -0
- data/samples/bigdemo/wxToolBar.rbw +131 -0
- data/samples/bigdemo/wxTreeCtrl.rbw +191 -0
- data/samples/calendar/calendar.rb +256 -0
- data/samples/caret/caret.rb +282 -0
- data/samples/caret/mondrian.xpm +44 -0
- data/samples/controls/controls.rb +1136 -0
- data/samples/controls/get_item_sample.rb +87 -0
- data/samples/controls/icons/choice.xpm +27 -0
- data/samples/controls/icons/combo.xpm +27 -0
- data/samples/controls/icons/gauge.xpm +27 -0
- data/samples/controls/icons/list.xpm +27 -0
- data/samples/controls/icons/radio.xpm +27 -0
- data/samples/controls/icons/stattext.xpm +24 -0
- data/samples/controls/icons/text.xpm +27 -0
- data/samples/controls/mondrian.ico +0 -0
- data/samples/controls/mondrian.xpm +44 -0
- data/samples/controls/test2.bmp +0 -0
- data/samples/dialogs/dialogs.rb +797 -0
- data/samples/dialogs/tips.txt +18 -0
- data/samples/dragdrop/dragdrop.rb +177 -0
- data/samples/drawing/graphics_drawing.rb +235 -0
- data/samples/drawing/images.rb +37 -0
- data/samples/drawing/paperclip.png +0 -0
- data/samples/etc/activation.rb +102 -0
- data/samples/etc/choice.rb +67 -0
- data/samples/etc/miniframe.rb +79 -0
- data/samples/etc/sash.rb +130 -0
- data/samples/etc/scrollwin.rb +110 -0
- data/samples/etc/system_settings.rb +252 -0
- data/samples/etc/threaded.rb +72 -0
- data/samples/etc/toolbar_sizer_additem.rb +55 -0
- data/samples/etc/wizard.rb +74 -0
- data/samples/event/event.rb +182 -0
- data/samples/event/update_ui_event.rb +70 -0
- data/samples/grid/grid.rb +198 -0
- data/samples/grid/gridtablebase.rb +148 -0
- data/samples/html/html.rb +262 -0
- data/samples/listbook/listbook.rb +174 -0
- data/samples/listbook/listbook.xrc +370 -0
- data/samples/mdi/mdi.rb +85 -0
- data/samples/media/mediactrl.rb +167 -0
- data/samples/minimal/minimal.rb +77 -0
- data/samples/minimal/mondrian.ico +0 -0
- data/samples/minimal/mondrian.png +0 -0
- data/samples/minimal/nothing.rb +16 -0
- data/samples/opengl/cube.rb +117 -0
- data/samples/printing/mondrian.ico +0 -0
- data/samples/printing/mondrian.xpm +44 -0
- data/samples/printing/printing.rb +487 -0
- data/samples/sockets/SocketPackets.rb +27 -0
- data/samples/sockets/res/message-new.png +0 -0
- data/samples/sockets/res/user.png +0 -0
- data/samples/sockets/wxClient.rb +395 -0
- data/samples/sockets/wxServer.rb +422 -0
- data/samples/sockets/wxSocketGUI.rb +97 -0
- data/samples/text/format-text-bold.png +0 -0
- data/samples/text/format-text-italic.png +0 -0
- data/samples/text/format-text-underline.png +0 -0
- data/samples/text/mondrian.ico +0 -0
- data/samples/text/mondrian.xpm +44 -0
- data/samples/text/rich_textctrl.rb +98 -0
- data/samples/text/scintilla.rb +169 -0
- data/samples/text/textctrl.rb +111 -0
- data/samples/text/unicode.rb +242 -0
- data/samples/text/utf8.txt +15 -0
- data/samples/treectrl/icon1.xpm +79 -0
- data/samples/treectrl/icon2.xpm +53 -0
- data/samples/treectrl/icon3.xpm +79 -0
- data/samples/treectrl/icon4.xpm +43 -0
- data/samples/treectrl/icon5.xpm +79 -0
- data/samples/treectrl/treectrl.rb +1166 -0
- data/samples/xrc/samples.xrc +46 -0
- data/samples/xrc/xrc_sample.rb +76 -0
- metadata +337 -0
@@ -0,0 +1,370 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<resource version="2.3.0.1" xmlns="http://www.wxwidgets.org/wxxrc">
|
3
|
+
<object class="wxFrame" name="ID_FRAME" subclass="MyFrame">
|
4
|
+
<style>wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX</style>
|
5
|
+
<size>400,300d</size>
|
6
|
+
<title>Pizza Palace</title>
|
7
|
+
<object class="wxPanel" name="ID_MAIN_PANEL">
|
8
|
+
<style>wxSUNKEN_BORDER|wxTAB_TRAVERSAL</style>
|
9
|
+
<object class="wxBoxSizer">
|
10
|
+
<orient>wxVERTICAL</orient>
|
11
|
+
<object class="sizeritem">
|
12
|
+
<flag>wxGROW|wxALL</flag>
|
13
|
+
<border>5</border>
|
14
|
+
<option>2</option>
|
15
|
+
<object class="wxListbook" name="ID_LISTBOOK">
|
16
|
+
<pos>200,200d</pos>
|
17
|
+
<style>wxLB_LEFT</style>
|
18
|
+
<object class="listbookpage">
|
19
|
+
<label>Pizza</label>
|
20
|
+
<object class="wxPanel" name="ID_PANEL_PIZZA">
|
21
|
+
<style>wxSUNKEN_BORDER|wxTAB_TRAVERSAL</style>
|
22
|
+
<object class="wxFlexGridSizer">
|
23
|
+
<cols>2</cols>
|
24
|
+
<rows>2</rows>
|
25
|
+
<vgap>0</vgap>
|
26
|
+
<hgap>0</hgap>
|
27
|
+
<growablecols>1</growablecols>
|
28
|
+
<growablerows>7</growablerows>
|
29
|
+
<object class="sizeritem">
|
30
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
31
|
+
<border>5</border>
|
32
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
33
|
+
<label>Your pizza size:</label>
|
34
|
+
</object>
|
35
|
+
</object>
|
36
|
+
<object class="sizeritem">
|
37
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
38
|
+
<border>5</border>
|
39
|
+
<object class="wxChoice" name="ID_PIZZA_SIZE_CHOICE">
|
40
|
+
<content>
|
41
|
+
<item>small</item>
|
42
|
+
<item>medium</item>
|
43
|
+
<item>large</item>
|
44
|
+
<item>x-large</item>
|
45
|
+
</content>
|
46
|
+
<selection>1</selection>
|
47
|
+
</object>
|
48
|
+
</object>
|
49
|
+
<object class="sizeritem">
|
50
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
51
|
+
<border>5</border>
|
52
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
53
|
+
<label>Your preferred crust style:</label>
|
54
|
+
</object>
|
55
|
+
</object>
|
56
|
+
<object class="sizeritem">
|
57
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
58
|
+
<border>5</border>
|
59
|
+
<object class="wxChoice" name="ID_PIZZA_CRUST_CHOICE">
|
60
|
+
<content>
|
61
|
+
<item>thin</item>
|
62
|
+
<item>thick</item>
|
63
|
+
<item>stuffed</item>
|
64
|
+
</content>
|
65
|
+
<selection>1</selection>
|
66
|
+
</object>
|
67
|
+
</object>
|
68
|
+
<object class="sizeritem">
|
69
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
70
|
+
<border>5</border>
|
71
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
72
|
+
<label>Your sauce type:</label>
|
73
|
+
</object>
|
74
|
+
</object>
|
75
|
+
<object class="sizeritem">
|
76
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
77
|
+
<border>5</border>
|
78
|
+
<object class="wxChoice" name="ID_PIZZA_SAUCE_CHOICE">
|
79
|
+
<content>
|
80
|
+
<item>red mild</item>
|
81
|
+
<item>red spicy</item>
|
82
|
+
<item>pesto</item>
|
83
|
+
<item>creamy garlic</item>
|
84
|
+
</content>
|
85
|
+
<selection>0</selection>
|
86
|
+
</object>
|
87
|
+
</object>
|
88
|
+
<object class="sizeritem">
|
89
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
90
|
+
<border>5</border>
|
91
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
92
|
+
<label>Cheese style:</label>
|
93
|
+
</object>
|
94
|
+
</object>
|
95
|
+
<object class="sizeritem">
|
96
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
97
|
+
<border>5</border>
|
98
|
+
<object class="wxChoice" name="ID_PIZZA_CHEESE_CHOICE">
|
99
|
+
<content>
|
100
|
+
<item>no cheese</item>
|
101
|
+
<item>normal cheese</item>
|
102
|
+
<item>lots of cheese</item>
|
103
|
+
<item>I am a mouse</item>
|
104
|
+
</content>
|
105
|
+
<selection>1</selection>
|
106
|
+
</object>
|
107
|
+
</object>
|
108
|
+
<object class="sizeritem">
|
109
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
110
|
+
<border>5</border>
|
111
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
112
|
+
<label>Topping 1:</label>
|
113
|
+
</object>
|
114
|
+
</object>
|
115
|
+
<object class="sizeritem">
|
116
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
117
|
+
<border>5</border>
|
118
|
+
<object class="wxChoice" name="ID_PIZZA_TOPPING_1_CHOICE">
|
119
|
+
</object>
|
120
|
+
</object>
|
121
|
+
<object class="sizeritem">
|
122
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
123
|
+
<border>5</border>
|
124
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
125
|
+
<label>Topping 2:</label>
|
126
|
+
</object>
|
127
|
+
</object>
|
128
|
+
<object class="sizeritem">
|
129
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
130
|
+
<border>5</border>
|
131
|
+
<object class="wxChoice" name="ID_PIZZA_TOPPING_2_CHOICE">
|
132
|
+
</object>
|
133
|
+
</object>
|
134
|
+
<object class="sizeritem">
|
135
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
136
|
+
<border>5</border>
|
137
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
138
|
+
<label>Topping 3:</label>
|
139
|
+
</object>
|
140
|
+
</object>
|
141
|
+
<object class="sizeritem">
|
142
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
143
|
+
<border>5</border>
|
144
|
+
<object class="wxChoice" name="ID_PIZZA_TOPPING_3_CHOICE">
|
145
|
+
</object>
|
146
|
+
</object>
|
147
|
+
<object class="spacer">
|
148
|
+
<flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
149
|
+
<border>5</border>
|
150
|
+
<size>5,5d</size>
|
151
|
+
</object>
|
152
|
+
<object class="sizeritem">
|
153
|
+
<flag>wxALIGN_RIGHT|wxALIGN_BOTTOM|wxALL</flag>
|
154
|
+
<border>5</border>
|
155
|
+
<object class="wxButton" name="ID_PIZZA_BUTTON">
|
156
|
+
<label>Add to order</label>
|
157
|
+
</object>
|
158
|
+
</object>
|
159
|
+
</object>
|
160
|
+
</object>
|
161
|
+
</object>
|
162
|
+
<object class="listbookpage">
|
163
|
+
<label>Drink</label>
|
164
|
+
<object class="wxPanel" name="ID_PANEL_DRINK">
|
165
|
+
<style>wxSUNKEN_BORDER|wxTAB_TRAVERSAL</style>
|
166
|
+
<object class="wxFlexGridSizer">
|
167
|
+
<cols>2</cols>
|
168
|
+
<rows>2</rows>
|
169
|
+
<vgap>0</vgap>
|
170
|
+
<hgap>0</hgap>
|
171
|
+
<growablecols>1</growablecols>
|
172
|
+
<growablerows>2</growablerows>
|
173
|
+
<object class="sizeritem">
|
174
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
175
|
+
<border>5</border>
|
176
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
177
|
+
<label>Your drink size:</label>
|
178
|
+
</object>
|
179
|
+
</object>
|
180
|
+
<object class="sizeritem">
|
181
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
182
|
+
<border>5</border>
|
183
|
+
<object class="wxChoice" name="ID_DRINK_SIZE_CHOICE">
|
184
|
+
<content>
|
185
|
+
<item>small</item>
|
186
|
+
<item>medium</item>
|
187
|
+
<item>large</item>
|
188
|
+
<item>gut buster</item>
|
189
|
+
</content>
|
190
|
+
<selection>1</selection>
|
191
|
+
</object>
|
192
|
+
</object>
|
193
|
+
<object class="sizeritem">
|
194
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
195
|
+
<border>5</border>
|
196
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
197
|
+
<label>Your preferred drink:</label>
|
198
|
+
</object>
|
199
|
+
</object>
|
200
|
+
<object class="sizeritem">
|
201
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
202
|
+
<border>5</border>
|
203
|
+
<object class="wxChoice" name="ID_DRINK_TYPE_CHOICE">
|
204
|
+
<content>
|
205
|
+
<item>soda</item>
|
206
|
+
<item>tea</item>
|
207
|
+
<item>lemonade</item>
|
208
|
+
<item>coffee</item>
|
209
|
+
<item>water</item>
|
210
|
+
</content>
|
211
|
+
<selection>0</selection>
|
212
|
+
</object>
|
213
|
+
</object>
|
214
|
+
<object class="spacer">
|
215
|
+
<flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
216
|
+
<border>5</border>
|
217
|
+
<size>5,5d</size>
|
218
|
+
</object>
|
219
|
+
<object class="sizeritem">
|
220
|
+
<flag>wxALIGN_RIGHT|wxALIGN_BOTTOM|wxALL</flag>
|
221
|
+
<border>5</border>
|
222
|
+
<object class="wxButton" name="ID_DRINK_BUTTON">
|
223
|
+
<label>Add to order</label>
|
224
|
+
</object>
|
225
|
+
</object>
|
226
|
+
</object>
|
227
|
+
</object>
|
228
|
+
</object>
|
229
|
+
<object class="listbookpage">
|
230
|
+
<label>Ice Cream</label>
|
231
|
+
<object class="wxPanel" name="ID_PANEL_ICE_CREAM">
|
232
|
+
<pos>200,200d</pos>
|
233
|
+
<style>wxSUNKEN_BORDER|wxTAB_TRAVERSAL</style>
|
234
|
+
<object class="wxFlexGridSizer">
|
235
|
+
<cols>2</cols>
|
236
|
+
<rows>2</rows>
|
237
|
+
<vgap>0</vgap>
|
238
|
+
<hgap>0</hgap>
|
239
|
+
<growablecols>1</growablecols>
|
240
|
+
<growablerows>6</growablerows>
|
241
|
+
<object class="sizeritem">
|
242
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
243
|
+
<border>5</border>
|
244
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
245
|
+
<label>Your ice cream size:</label>
|
246
|
+
</object>
|
247
|
+
</object>
|
248
|
+
<object class="sizeritem">
|
249
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
250
|
+
<border>5</border>
|
251
|
+
<object class="wxChoice" name="ID_ICE_CREAM_SIZE_CHOICE">
|
252
|
+
<content>
|
253
|
+
<item>child</item>
|
254
|
+
<item>small</item>
|
255
|
+
<item>medium</item>
|
256
|
+
<item>large</item>
|
257
|
+
</content>
|
258
|
+
<selection>2</selection>
|
259
|
+
</object>
|
260
|
+
</object>
|
261
|
+
<object class="sizeritem">
|
262
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
263
|
+
<border>5</border>
|
264
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
265
|
+
<label>Your ice cream:</label>
|
266
|
+
</object>
|
267
|
+
</object>
|
268
|
+
<object class="sizeritem">
|
269
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
270
|
+
<border>5</border>
|
271
|
+
<object class="wxChoice" name="ID_ICE_CREAM_TYPE_CHOICE">
|
272
|
+
<content>
|
273
|
+
<item>vanilla</item>
|
274
|
+
<item>chocolate</item>
|
275
|
+
<item>strawberry</item>
|
276
|
+
<item>chocolate chip</item>
|
277
|
+
<item>cookie dough</item>
|
278
|
+
<item>cherry</item>
|
279
|
+
</content>
|
280
|
+
<selection>0</selection>
|
281
|
+
</object>
|
282
|
+
</object>
|
283
|
+
<object class="sizeritem">
|
284
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
285
|
+
<border>5</border>
|
286
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
287
|
+
<label>Topping 1:</label>
|
288
|
+
</object>
|
289
|
+
</object>
|
290
|
+
<object class="sizeritem">
|
291
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
292
|
+
<border>5</border>
|
293
|
+
<object class="wxChoice" name="ID_ICE_CREAM_TOPPING_1_CHOICE">
|
294
|
+
</object>
|
295
|
+
</object>
|
296
|
+
<object class="sizeritem">
|
297
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
298
|
+
<border>5</border>
|
299
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
300
|
+
<label>Topping 2:</label>
|
301
|
+
</object>
|
302
|
+
</object>
|
303
|
+
<object class="sizeritem">
|
304
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
305
|
+
<border>5</border>
|
306
|
+
<object class="wxChoice" name="ID_ICE_CREAM_TOPPING_2_CHOICE">
|
307
|
+
</object>
|
308
|
+
</object>
|
309
|
+
<object class="sizeritem">
|
310
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
311
|
+
<border>5</border>
|
312
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
313
|
+
<label>Topping 3:</label>
|
314
|
+
</object>
|
315
|
+
</object>
|
316
|
+
<object class="sizeritem">
|
317
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
318
|
+
<border>5</border>
|
319
|
+
<object class="wxChoice" name="ID_ICE_CREAM_TOPPING_3_CHOICE">
|
320
|
+
</object>
|
321
|
+
</object>
|
322
|
+
<object class="sizeritem">
|
323
|
+
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE</flag>
|
324
|
+
<border>5</border>
|
325
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
326
|
+
<label>Topping 4:</label>
|
327
|
+
</object>
|
328
|
+
</object>
|
329
|
+
<object class="sizeritem">
|
330
|
+
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
331
|
+
<border>5</border>
|
332
|
+
<object class="wxChoice" name="ID_ICE_CREAM_TOPPING_4_CHOICE">
|
333
|
+
</object>
|
334
|
+
</object>
|
335
|
+
<object class="spacer">
|
336
|
+
<flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL</flag>
|
337
|
+
<border>5</border>
|
338
|
+
<size>5,5d</size>
|
339
|
+
</object>
|
340
|
+
<object class="sizeritem">
|
341
|
+
<flag>wxALIGN_RIGHT|wxALIGN_BOTTOM|wxALL</flag>
|
342
|
+
<border>5</border>
|
343
|
+
<object class="wxButton" name="ID_ICE_CREAM_BUTTON">
|
344
|
+
<label>Add to order</label>
|
345
|
+
</object>
|
346
|
+
</object>
|
347
|
+
</object>
|
348
|
+
</object>
|
349
|
+
</object>
|
350
|
+
</object>
|
351
|
+
</object>
|
352
|
+
<object class="sizeritem">
|
353
|
+
<flag>wxALIGN_LEFT|wxALL|wxADJUST_MINSIZE</flag>
|
354
|
+
<border>5</border>
|
355
|
+
<object class="wxStaticText" name="wxID_STATIC">
|
356
|
+
<label>Order:</label>
|
357
|
+
</object>
|
358
|
+
</object>
|
359
|
+
<object class="sizeritem">
|
360
|
+
<flag>wxGROW|wxALL</flag>
|
361
|
+
<border>5</border>
|
362
|
+
<option>1</option>
|
363
|
+
<object class="wxTextCtrl" name="ID_ORDER_TEXTCTRL">
|
364
|
+
<style>wxTE_MULTILINE</style>
|
365
|
+
</object>
|
366
|
+
</object>
|
367
|
+
</object>
|
368
|
+
</object>
|
369
|
+
</object>
|
370
|
+
</resource>
|
data/samples/mdi/mdi.rb
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
4
|
+
begin
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
7
|
+
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
# Demonstrates a simple MDI (Multiple Document Interface) parent frame
|
11
|
+
# with menus to create, cycle through and close child frames within in.
|
12
|
+
#
|
13
|
+
# Note that MDI is only properly natively implemented on Windows, and
|
14
|
+
# even there it is deprecated by Microsoft as an application interface
|
15
|
+
# style.
|
16
|
+
#
|
17
|
+
# On Linux/GTK, Wx simulates an MDI by using a Notebook. On OS X, MDI is
|
18
|
+
# simulated simply by ordinary separate frames, and Next/Preview and
|
19
|
+
# Tile/Cascade are unimplemented.
|
20
|
+
#
|
21
|
+
# For these reasons, MDI is not recommended for cross-platform
|
22
|
+
# development. Alternative interface strategies include using separate
|
23
|
+
# frames, or the AUI classes.
|
24
|
+
|
25
|
+
class MDIFrame < Wx::MDIParentFrame
|
26
|
+
def initialize(title)
|
27
|
+
super(nil, :title => title, :size => [ 500, 400 ] )
|
28
|
+
|
29
|
+
@child_number = 0
|
30
|
+
|
31
|
+
menuFile = Wx::Menu.new
|
32
|
+
menuFile.append(Wx::ID_EXIT, "E&xit\tAlt-X")
|
33
|
+
evt_menu Wx::ID_EXIT, :close
|
34
|
+
|
35
|
+
menuMDI = Wx::Menu.new
|
36
|
+
menuMDI.append(Wx::ID_FORWARD, "&Next Child\tCtrl-F6")
|
37
|
+
evt_menu Wx::ID_FORWARD, :activate_next
|
38
|
+
menuMDI.append(Wx::ID_BACKWARD, "&Previous Child")
|
39
|
+
evt_menu Wx::ID_BACKWARD, :activate_previous
|
40
|
+
menuMDI.append_separator
|
41
|
+
|
42
|
+
mi_cascade = menuMDI.append("&Cascade")
|
43
|
+
evt_menu mi_cascade, :cascade
|
44
|
+
mi_tile = menuMDI.append("&Tile")
|
45
|
+
evt_menu mi_tile, :tile
|
46
|
+
menuMDI.append_separator
|
47
|
+
|
48
|
+
menuMDI.append(Wx::ID_NEW, "&Add Child")
|
49
|
+
evt_menu Wx::ID_NEW, :create_child
|
50
|
+
menuMDI.append(Wx::ID_CLOSE, "&Remove Child\tCtrl-F4")
|
51
|
+
evt_menu Wx::ID_CLOSE, :on_close_child
|
52
|
+
|
53
|
+
menuBar = Wx::MenuBar.new
|
54
|
+
menuBar.append(menuFile, "&File")
|
55
|
+
menuBar.append(menuMDI, "&Window")
|
56
|
+
|
57
|
+
self.menu_bar = menuBar
|
58
|
+
|
59
|
+
create_status_bar(2).set_status_widths([100, -1])
|
60
|
+
set_status_text("Some features only work on MS Windows", 1)
|
61
|
+
|
62
|
+
3.times { create_child }
|
63
|
+
end
|
64
|
+
|
65
|
+
def on_close_child
|
66
|
+
if active_child
|
67
|
+
active_child.close
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def create_child
|
72
|
+
@child_number += 1
|
73
|
+
name = "Child #{@child_number.to_s}"
|
74
|
+
child = Wx::MDIChildFrame.new(self, :title => name)
|
75
|
+
# Note that this is required on OS X; if no child frames are shown,
|
76
|
+
# then nothing is shown at all.
|
77
|
+
child.show
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
Wx::App.run do
|
82
|
+
MDIFrame.new("MDI Application").show # may return false on OS X
|
83
|
+
true
|
84
|
+
end
|
85
|
+
|
@@ -0,0 +1,167 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
4
|
+
begin
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
7
|
+
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
# This sample demonstrates the use of Wx::MediaCtrl, which can be used
|
11
|
+
# to playback sounds or movies using a platform-native player.
|
12
|
+
class MediaPanel < Wx::Panel
|
13
|
+
def initialize(parent)
|
14
|
+
super(parent, :style => Wx::TAB_TRAVERSAL|Wx::CLIP_CHILDREN)
|
15
|
+
|
16
|
+
# The actual media player control
|
17
|
+
@mc = Wx::MediaCtrl.new(self)
|
18
|
+
|
19
|
+
evt_media_loaded @mc,:on_media_loaded
|
20
|
+
|
21
|
+
# Some buttons to control playback
|
22
|
+
@btn_load = Wx::Button.new(self, :label => "Load File")
|
23
|
+
evt_button @btn_load,:on_load_file
|
24
|
+
|
25
|
+
@btn_play = Wx::Button.new(self, :label => "Play")
|
26
|
+
evt_button @btn_play, :on_play
|
27
|
+
@btn_play.disable
|
28
|
+
|
29
|
+
@btn_pause = Wx::Button.new(self, :label => "Pause")
|
30
|
+
evt_button @btn_pause, :on_pause
|
31
|
+
@btn_pause.disable
|
32
|
+
|
33
|
+
@btn_stop = Wx::Button.new(self, :label => "Stop")
|
34
|
+
evt_button @btn_stop,:on_stop
|
35
|
+
@btn_stop.disable
|
36
|
+
|
37
|
+
@slider = Wx::Slider.new(self, :min_value => 0, :max_value => 1)
|
38
|
+
@slider.min_size = [150, -1]
|
39
|
+
evt_slider @slider, :on_seek
|
40
|
+
|
41
|
+
@st_size = Wx::StaticText.new(self, :label => "", :size => [100, -1])
|
42
|
+
@st_len = Wx::StaticText.new(self, :label => "", :size => [100, -1])
|
43
|
+
@st_pos = Wx::StaticText.new(self, :label => "", :size => [100, -1])
|
44
|
+
|
45
|
+
# layout the panel
|
46
|
+
sizer = Wx::BoxSizer.new(Wx::VERTICAL)
|
47
|
+
|
48
|
+
sizer.add(@mc, 1, Wx::EXPAND|Wx::ALL, 5)
|
49
|
+
sizer.add(@slider, 0, Wx::EXPAND|Wx::ALL, 5)
|
50
|
+
|
51
|
+
# For the playback text
|
52
|
+
secs_sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
|
53
|
+
secs_sizer.add(@st_pos, 0, Wx::ALL, 2)
|
54
|
+
secs_sizer.add(@st_len, 0, Wx::ALL, 2)
|
55
|
+
secs_sizer.add(@st_size, 0, Wx::ALL, 2)
|
56
|
+
sizer.add(secs_sizer, 0, Wx::ALIGN_RIGHT|Wx::ALL, 0)
|
57
|
+
|
58
|
+
btn_sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
|
59
|
+
btn_sizer.add(@btn_load, 1, Wx::ALL, 2)
|
60
|
+
btn_sizer.add(@btn_play, 1, Wx::ALL, 2)
|
61
|
+
btn_sizer.add(@btn_pause, 1, Wx::ALL, 2)
|
62
|
+
btn_sizer.add(@btn_stop, 1, Wx::ALL, 2)
|
63
|
+
sizer.add(btn_sizer, 0, Wx::ALL, 5)
|
64
|
+
|
65
|
+
self.sizer = sizer
|
66
|
+
|
67
|
+
@timer = Wx::Timer.new(self,101)
|
68
|
+
evt_timer(101,:on_timer)
|
69
|
+
@timer.start(100)
|
70
|
+
end
|
71
|
+
|
72
|
+
# Update the position indicator in seconds
|
73
|
+
def on_timer(evt)
|
74
|
+
offset = @mc.tell
|
75
|
+
# Will be -1 if nothing is loaded
|
76
|
+
if offset >= 0
|
77
|
+
@slider.value = offset
|
78
|
+
offset_secs = offset / 1000
|
79
|
+
@st_pos.label = "%i:%02d" % [ offset_secs / 60, offset_secs % 60 ]
|
80
|
+
else
|
81
|
+
@st_pos.label = ""
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
# Actually load a file into the mediactrl
|
86
|
+
def do_load_file(path)
|
87
|
+
@btn_play.disable
|
88
|
+
unless @mc.load(path)
|
89
|
+
Wx::message_box("Unable to load file", "ERROR",
|
90
|
+
Wx::ICON_ERROR|Wx::OK)
|
91
|
+
else
|
92
|
+
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
MEDIA_FILE_WILDCARD = "MP3 Files (*.mp3)|*.mp3|Avi Files (*.avi)|*.avi"
|
97
|
+
# Load a media file from disk
|
98
|
+
def on_load_file(evt)
|
99
|
+
dlg = Wx::FileDialog.new( self,
|
100
|
+
:message => "Choose a media file",
|
101
|
+
:wildcard => MEDIA_FILE_WILDCARD,
|
102
|
+
:style => Wx::OPEN)
|
103
|
+
if dlg.show_modal == Wx::ID_OK
|
104
|
+
do_load_file(dlg.path)
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
# Move the media to a position in the file, using the slider
|
109
|
+
def on_seek(evt)
|
110
|
+
offset = @slider.value
|
111
|
+
@mc.seek(offset)
|
112
|
+
end
|
113
|
+
|
114
|
+
# Set up the initial size for the move
|
115
|
+
def on_media_loaded(evt)
|
116
|
+
# Readjust to the original size of the video
|
117
|
+
@mc.set_initial_size
|
118
|
+
|
119
|
+
# Enable the control buttons
|
120
|
+
@btn_play.enable
|
121
|
+
@btn_pause.enable
|
122
|
+
@btn_stop.enable
|
123
|
+
|
124
|
+
# Update the length and position text indicators with the media's
|
125
|
+
# time length, shown as minutes and seconds
|
126
|
+
len_secs = @mc.length / 1000
|
127
|
+
@st_len.label = "%i:%02d" % [ len_secs / 60, len_secs % 60 ]
|
128
|
+
|
129
|
+
# Set the seek slider
|
130
|
+
@slider.set_range(0, @mc.length)
|
131
|
+
|
132
|
+
# Refresh the layout
|
133
|
+
sizer.layout
|
134
|
+
end
|
135
|
+
|
136
|
+
# Stop the playback
|
137
|
+
def on_stop(evt)
|
138
|
+
@mc.stop
|
139
|
+
end
|
140
|
+
|
141
|
+
# Pause the playback
|
142
|
+
def on_pause(evt)
|
143
|
+
@mc.pause
|
144
|
+
end
|
145
|
+
|
146
|
+
# Start the playback
|
147
|
+
def on_play(evt)
|
148
|
+
if not @mc.play
|
149
|
+
Wx::MessageBox("unable to play media","ERROR",Wx::ICON_ERROR|Wx::OK)
|
150
|
+
else
|
151
|
+
@mc.set_initial_size
|
152
|
+
sizer.layout
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
class MediaFrame<Wx::Frame
|
158
|
+
def initialize()
|
159
|
+
super(nil,:title=>"MediaCtrl test",:size=>[700,700])
|
160
|
+
win = MediaPanel.new(self)
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
# Actually run the app
|
165
|
+
Wx::App.run do
|
166
|
+
MediaFrame.new.show
|
167
|
+
end
|