wxruby 1.9.6-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.
Files changed (236) hide show
  1. data/LICENSE +53 -0
  2. data/README +297 -0
  3. data/lib/wx/accessors.rb +52 -0
  4. data/lib/wx/classes/acceleratortable.rb +28 -0
  5. data/lib/wx/classes/animation.rb +18 -0
  6. data/lib/wx/classes/app.rb +45 -0
  7. data/lib/wx/classes/artprovider.rb +31 -0
  8. data/lib/wx/classes/bitmap.rb +28 -0
  9. data/lib/wx/classes/busycursor.rb +12 -0
  10. data/lib/wx/classes/checklistbox.rb +45 -0
  11. data/lib/wx/classes/choice.rb +4 -0
  12. data/lib/wx/classes/clientdc.rb +13 -0
  13. data/lib/wx/classes/clipboard.rb +16 -0
  14. data/lib/wx/classes/colour.rb +47 -0
  15. data/lib/wx/classes/combobox.rb +4 -0
  16. data/lib/wx/classes/commandevent.rb +7 -0
  17. data/lib/wx/classes/controlwithitems.rb +10 -0
  18. data/lib/wx/classes/dc.rb +57 -0
  19. data/lib/wx/classes/event.rb +5 -0
  20. data/lib/wx/classes/evthandler.rb +921 -0
  21. data/lib/wx/classes/font.rb +118 -0
  22. data/lib/wx/classes/functions.rb +44 -0
  23. data/lib/wx/classes/gauge.rb +12 -0
  24. data/lib/wx/classes/grid.rb +138 -0
  25. data/lib/wx/classes/helpcontroller.rb +5 -0
  26. data/lib/wx/classes/htmlhelpcontroller.rb +5 -0
  27. data/lib/wx/classes/htmlwindow.rb +14 -0
  28. data/lib/wx/classes/icon.rb +21 -0
  29. data/lib/wx/classes/iconbundle.rb +3 -0
  30. data/lib/wx/classes/image.rb +31 -0
  31. data/lib/wx/classes/imagelist.rb +3 -0
  32. data/lib/wx/classes/listbox.rb +4 -0
  33. data/lib/wx/classes/listctrl.rb +21 -0
  34. data/lib/wx/classes/locale.rb +28 -0
  35. data/lib/wx/classes/mediactrl.rb +22 -0
  36. data/lib/wx/classes/menu.rb +62 -0
  37. data/lib/wx/classes/menuitem.rb +7 -0
  38. data/lib/wx/classes/object.rb +7 -0
  39. data/lib/wx/classes/paintdc.rb +12 -0
  40. data/lib/wx/classes/point.rb +48 -0
  41. data/lib/wx/classes/previewframe.rb +13 -0
  42. data/lib/wx/classes/rect.rb +10 -0
  43. data/lib/wx/classes/size.rb +49 -0
  44. data/lib/wx/classes/sound.rb +23 -0
  45. data/lib/wx/classes/styledtextctrl.rb +92 -0
  46. data/lib/wx/classes/textctrl.rb +14 -0
  47. data/lib/wx/classes/texturlevent.rb +6 -0
  48. data/lib/wx/classes/timer.rb +94 -0
  49. data/lib/wx/classes/toolbartool.rb +4 -0
  50. data/lib/wx/classes/treectrl.rb +44 -0
  51. data/lib/wx/classes/window.rb +82 -0
  52. data/lib/wx/classes/xmlresource.rb +37 -0
  53. data/lib/wx/keyword_ctors.rb +222 -0
  54. data/lib/wx/keyword_defs.rb +492 -0
  55. data/lib/wx/version.rb +3 -0
  56. data/lib/wx.rb +42 -0
  57. data/lib/wxruby2.so +0 -0
  58. data/samples/SAMPLES-LICENSE.TXT +18 -0
  59. data/samples/aui/aui.rb +1356 -0
  60. data/samples/bigdemo/About.rbw +39 -0
  61. data/samples/bigdemo/ColorPanel.rbw +23 -0
  62. data/samples/bigdemo/GridSimple.rbw +78 -0
  63. data/samples/bigdemo/MDIDemo.rbw +57 -0
  64. data/samples/bigdemo/PopupMenu.rbw +149 -0
  65. data/samples/bigdemo/ShapedWindow.rbw +131 -0
  66. data/samples/bigdemo/Sizers.rbw +543 -0
  67. data/samples/bigdemo/bigdemo.rb +823 -0
  68. data/samples/bigdemo/demoTemplate.rbw +33 -0
  69. data/samples/bigdemo/helpfile.htb +0 -0
  70. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  71. data/samples/bigdemo/icons/Test 015.png +0 -0
  72. data/samples/bigdemo/icons/choice.bmp +0 -0
  73. data/samples/bigdemo/icons/choice.xpm +27 -0
  74. data/samples/bigdemo/icons/combo.bmp +0 -0
  75. data/samples/bigdemo/icons/combo.xpm +27 -0
  76. data/samples/bigdemo/icons/copy.xpm +25 -0
  77. data/samples/bigdemo/icons/cut.xpm +24 -0
  78. data/samples/bigdemo/icons/gauge.bmp +0 -0
  79. data/samples/bigdemo/icons/gauge.xpm +27 -0
  80. data/samples/bigdemo/icons/help.xpm +25 -0
  81. data/samples/bigdemo/icons/list.bmp +0 -0
  82. data/samples/bigdemo/icons/list.xpm +27 -0
  83. data/samples/bigdemo/icons/mondrian.ico +0 -0
  84. data/samples/bigdemo/icons/mondrian.xpm +44 -0
  85. data/samples/bigdemo/icons/new.xpm +24 -0
  86. data/samples/bigdemo/icons/ogl.ico +0 -0
  87. data/samples/bigdemo/icons/ogl.xpm +45 -0
  88. data/samples/bigdemo/icons/open.xpm +26 -0
  89. data/samples/bigdemo/icons/paste.bmp +0 -0
  90. data/samples/bigdemo/icons/paste.xpm +38 -0
  91. data/samples/bigdemo/icons/pointy.png +0 -0
  92. data/samples/bigdemo/icons/preview.xpm +26 -0
  93. data/samples/bigdemo/icons/print.xpm +26 -0
  94. data/samples/bigdemo/icons/radio.bmp +0 -0
  95. data/samples/bigdemo/icons/radio.xpm +27 -0
  96. data/samples/bigdemo/icons/robert.xpm +415 -0
  97. data/samples/bigdemo/icons/ruby.png +0 -0
  98. data/samples/bigdemo/icons/sashtest.ico +0 -0
  99. data/samples/bigdemo/icons/save.xpm +25 -0
  100. data/samples/bigdemo/icons/smiles.bmp +0 -0
  101. data/samples/bigdemo/icons/smiles.xpm +39 -0
  102. data/samples/bigdemo/icons/smiley.ico +0 -0
  103. data/samples/bigdemo/icons/smiley.xpm +42 -0
  104. data/samples/bigdemo/icons/stattext.xpm +24 -0
  105. data/samples/bigdemo/icons/test2.bmp +0 -0
  106. data/samples/bigdemo/icons/test2.png +0 -0
  107. data/samples/bigdemo/icons/test2.xpm +79 -0
  108. data/samples/bigdemo/icons/text.bmp +0 -0
  109. data/samples/bigdemo/icons/text.xpm +27 -0
  110. data/samples/bigdemo/icons/tog1.bmp +0 -0
  111. data/samples/bigdemo/icons/tog1.xpm +38 -0
  112. data/samples/bigdemo/icons/tog2.bmp +0 -0
  113. data/samples/bigdemo/icons/tog2.xpm +38 -0
  114. data/samples/bigdemo/icons/wxwin.ico +0 -0
  115. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  116. data/samples/bigdemo/icons/wxwin16x16.xpm +25 -0
  117. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  118. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  119. data/samples/bigdemo/run.rb +90 -0
  120. data/samples/bigdemo/tips.txt +7 -0
  121. data/samples/bigdemo/utils.rb +12 -0
  122. data/samples/bigdemo/wxArtProvider.rbw +281 -0
  123. data/samples/bigdemo/wxBitmapButton.rbw +65 -0
  124. data/samples/bigdemo/wxButton.rbw +64 -0
  125. data/samples/bigdemo/wxCalendarCtrl.rbw +60 -0
  126. data/samples/bigdemo/wxCheckBox.rbw +50 -0
  127. data/samples/bigdemo/wxCheckListBox.rbw +75 -0
  128. data/samples/bigdemo/wxChoice.rbw +47 -0
  129. data/samples/bigdemo/wxChoicebook.rbw +78 -0
  130. data/samples/bigdemo/wxColourDialog.rbw +31 -0
  131. data/samples/bigdemo/wxComboBox.rbw +77 -0
  132. data/samples/bigdemo/wxCursor.rbw +136 -0
  133. data/samples/bigdemo/wxDialog.rbw +74 -0
  134. data/samples/bigdemo/wxDirDialog.rbw +29 -0
  135. data/samples/bigdemo/wxDragImage.rbw +70 -0
  136. data/samples/bigdemo/wxFileDialog.rbw +37 -0
  137. data/samples/bigdemo/wxFileDialog_Save.rbw +35 -0
  138. data/samples/bigdemo/wxFindReplaceDialog.rbw +82 -0
  139. data/samples/bigdemo/wxFontDialog.rbw +173 -0
  140. data/samples/bigdemo/wxFrame.rbw +53 -0
  141. data/samples/bigdemo/wxGauge.rbw +71 -0
  142. data/samples/bigdemo/wxGenericDirCtrl.rbw +74 -0
  143. data/samples/bigdemo/wxGrid.rbw +66 -0
  144. data/samples/bigdemo/wxHtmlHelpController.rbw +52 -0
  145. data/samples/bigdemo/wxListBox.rbw +140 -0
  146. data/samples/bigdemo/wxListCtrl_virtual.rbw +107 -0
  147. data/samples/bigdemo/wxMDIWindows.rbw +50 -0
  148. data/samples/bigdemo/wxMenu.rbw +236 -0
  149. data/samples/bigdemo/wxMessageDialog.rbw +27 -0
  150. data/samples/bigdemo/wxMiniFrame.rbw +70 -0
  151. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +32 -0
  152. data/samples/bigdemo/wxNotebook.rbw +136 -0
  153. data/samples/bigdemo/wxProgressDialog.rbw +43 -0
  154. data/samples/bigdemo/wxRadioBox.rbw +72 -0
  155. data/samples/bigdemo/wxRadioButton.rbw +125 -0
  156. data/samples/bigdemo/wxSashWindow.rbw +141 -0
  157. data/samples/bigdemo/wxScrolledMessageDialog.rbw +57 -0
  158. data/samples/bigdemo/wxScrolledWindow.rbw +199 -0
  159. data/samples/bigdemo/wxSingleChoiceDialog.rbw +33 -0
  160. data/samples/bigdemo/wxSlider.rbw +42 -0
  161. data/samples/bigdemo/wxSpinButton.rbw +50 -0
  162. data/samples/bigdemo/wxSpinCtrl.rbw +51 -0
  163. data/samples/bigdemo/wxSplitterWindow.rbw +63 -0
  164. data/samples/bigdemo/wxStaticBitmap.rbw +51 -0
  165. data/samples/bigdemo/wxStaticText.rbw +55 -0
  166. data/samples/bigdemo/wxStatusBar.rbw +126 -0
  167. data/samples/bigdemo/wxTextCtrl.rbw +149 -0
  168. data/samples/bigdemo/wxTextEntryDialog.rbw +31 -0
  169. data/samples/bigdemo/wxToggleButton.rbw +49 -0
  170. data/samples/bigdemo/wxToolBar.rbw +131 -0
  171. data/samples/bigdemo/wxTreeCtrl.rbw +190 -0
  172. data/samples/calendar/calendar.rb +271 -0
  173. data/samples/caret/caret.rb +282 -0
  174. data/samples/caret/mondrian.xpm +44 -0
  175. data/samples/controls/controls.rb +1136 -0
  176. data/samples/controls/get_item_sample.rb +87 -0
  177. data/samples/controls/icons/choice.xpm +27 -0
  178. data/samples/controls/icons/combo.xpm +27 -0
  179. data/samples/controls/icons/gauge.xpm +27 -0
  180. data/samples/controls/icons/list.xpm +27 -0
  181. data/samples/controls/icons/radio.xpm +27 -0
  182. data/samples/controls/icons/stattext.xpm +24 -0
  183. data/samples/controls/icons/text.xpm +27 -0
  184. data/samples/controls/mondrian.ico +0 -0
  185. data/samples/controls/mondrian.xpm +44 -0
  186. data/samples/controls/test2.bmp +0 -0
  187. data/samples/dialogs/dialogs.rb +723 -0
  188. data/samples/dialogs/tips.txt +18 -0
  189. data/samples/drawing/graphics_drawing.rb +235 -0
  190. data/samples/drawing/images.rb +37 -0
  191. data/samples/drawing/paperclip.png +0 -0
  192. data/samples/etc/activation.rb +102 -0
  193. data/samples/etc/choice.rb +67 -0
  194. data/samples/etc/miniframe.rb +79 -0
  195. data/samples/etc/sash.rb +130 -0
  196. data/samples/etc/scrollwin.rb +110 -0
  197. data/samples/etc/system_settings.rb +252 -0
  198. data/samples/etc/threaded.rb +72 -0
  199. data/samples/etc/wizard.rb +74 -0
  200. data/samples/event/event.rb +182 -0
  201. data/samples/grid/grid.rb +198 -0
  202. data/samples/grid/gridtablebase.rb +134 -0
  203. data/samples/html/html.rb +262 -0
  204. data/samples/listbook/listbook.rb +174 -0
  205. data/samples/listbook/listbook.xrc +370 -0
  206. data/samples/mdi/mdi.rb +82 -0
  207. data/samples/media/mediactrl.rb +167 -0
  208. data/samples/minimal/minimal.rb +77 -0
  209. data/samples/minimal/mondrian.ico +0 -0
  210. data/samples/minimal/mondrian.png +0 -0
  211. data/samples/minimal/nothing.rb +16 -0
  212. data/samples/opengl/cube.rb +117 -0
  213. data/samples/printing/mondrian.ico +0 -0
  214. data/samples/printing/mondrian.xpm +44 -0
  215. data/samples/printing/printing.rb +310 -0
  216. data/samples/sockets/SocketPackets.rb +27 -0
  217. data/samples/sockets/res/message-new.png +0 -0
  218. data/samples/sockets/res/user.png +0 -0
  219. data/samples/sockets/wxClient.rb +395 -0
  220. data/samples/sockets/wxServer.rb +422 -0
  221. data/samples/sockets/wxSocketGUI.rb +97 -0
  222. data/samples/text/mondrian.ico +0 -0
  223. data/samples/text/mondrian.xpm +44 -0
  224. data/samples/text/scintilla.rb +169 -0
  225. data/samples/text/textctrl.rb +113 -0
  226. data/samples/text/unicode.rb +242 -0
  227. data/samples/text/utf8.txt +15 -0
  228. data/samples/treectrl/icon1.xpm +79 -0
  229. data/samples/treectrl/icon2.xpm +53 -0
  230. data/samples/treectrl/icon3.xpm +79 -0
  231. data/samples/treectrl/icon4.xpm +43 -0
  232. data/samples/treectrl/icon5.xpm +79 -0
  233. data/samples/treectrl/treectrl.rb +1174 -0
  234. data/samples/xrc/samples.xrc +46 -0
  235. data/samples/xrc/xrc_sample.rb +96 -0
  236. metadata +313 -0
@@ -0,0 +1,174 @@
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
+ # Basic Frame Class. This creates the dialog window
11
+ #
12
+ class SimpleFrame < Wx::Frame
13
+
14
+ FILE_DIALOG, FILE_ABOUT, FILE_QUIT = [0,Wx::ID_ABOUT,Wx::ID_EXIT]
15
+
16
+ def initialize(parent)
17
+ # To load a layout defined in XRC into a Ruby subclass of Frame,
18
+ # first call the empty constructor. All the details of size,
19
+ # title, position and so on are loaded from the XRC by the call to
20
+ # load_frame_subclass. Using a non-empty constructor will cause
21
+ # errors on GTK.
22
+ super()
23
+ $xml.load_frame_subclass(self,nil,'ID_FRAME')
24
+
25
+ # Create a new menu
26
+ bar = Wx::MenuBar.new
27
+ menu = Wx::Menu.new
28
+ menu.append(FILE_ABOUT,"About...")
29
+ menu.append_separator
30
+ menu.append(FILE_QUIT,"Quit")
31
+ bar.append(menu,"File")
32
+
33
+ set_menu_bar(bar)
34
+
35
+ # Assign the menu events
36
+ evt_menu(FILE_ABOUT) do
37
+ Wx::message_box("wxRuby Listbook sample\nby Sean Long", "About Listbook", Wx::OK | Wx::ICON_INFORMATION, self)
38
+ end
39
+ evt_menu(FILE_QUIT) do
40
+ Wx::get_app.exit_main_loop()
41
+ end
42
+ evt_close() do
43
+ Wx::get_app.exit_main_loop()
44
+ end
45
+
46
+ # Variables not in tabs
47
+ @listbook = xrcid_to_window('ID_LISTBOOK')
48
+ @text_output = xrcid_to_window('ID_ORDER_TEXTCTRL')
49
+
50
+ # Variables for widgets in Pizza tab
51
+ @pizza_size = xrcid_to_window('ID_PIZZA_SIZE_CHOICE')
52
+ @pizza_crust = xrcid_to_window('ID_PIZZA_CRUST_CHOICE')
53
+ @pizza_sauce = xrcid_to_window('ID_PIZZA_SAUCE_CHOICE')
54
+ @pizza_cheese = xrcid_to_window('ID_PIZZA_CHEESE_CHOICE')
55
+ @pizza_toppings = []
56
+ 3.times do |i|
57
+ @pizza_toppings << xrcid_to_window("ID_PIZZA_TOPPING_#{i+1}_CHOICE")
58
+ end
59
+
60
+ # fill in toppings
61
+ toppings = ['pepperoni','sausage','italian sausage','olives',
62
+ 'mushrooms','artichoke','extra cheese','']
63
+ toppings.each do |top_name|
64
+ @pizza_toppings.each do |top_obj|
65
+ top_obj.append(top_name)
66
+ end
67
+ end
68
+
69
+ index = 0
70
+ @pizza_toppings.each do |obj|
71
+ obj.set_selection(index)
72
+ index += 1
73
+ end
74
+
75
+ # Events for pizza tab
76
+ evt_button( Wx::xrcid('ID_PIZZA_BUTTON') ) do |event|
77
+ #get selections and add to order
78
+ order_string = @text_output.get_value
79
+ if order_string != "" then order_string << "\n" end
80
+ order_string << "One #{@pizza_size.get_string_selection} pizza with:\n"
81
+ order_string << @pizza_crust.get_string_selection + " crust" + "\n"
82
+ order_string << @pizza_sauce.get_string_selection + " sauce" +"\n"
83
+ order_string << @pizza_cheese.get_string_selection + " and" + "\n"
84
+ @pizza_toppings.each { |obj| order_string << obj.get_string_selection + "\n" }
85
+
86
+ @text_output.set_value(order_string)
87
+ end
88
+
89
+
90
+ # Variables for widgets in Drink tab
91
+ @drink_size = xrcid_to_window('ID_DRINK_SIZE_CHOICE')
92
+ @drink_type = xrcid_to_window('ID_DRINK_TYPE_CHOICE')
93
+
94
+ # Events for drink tab
95
+ evt_button(Wx::xrcid('ID_DRINK_BUTTON')) do |event|
96
+ #get selections and add to order
97
+ order_string = @text_output.get_value
98
+ if order_string != "" then order_string << "\n" end
99
+
100
+ order_string << "One #{@drink_size.get_string_selection} #{@drink_type.get_string_selection }.\n"
101
+
102
+ @text_output.set_value(order_string)
103
+ end
104
+
105
+ # Variables for widgets in Ice Cream tab
106
+ @ice_cream_size = xrcid_to_window('ID_ICE_CREAM_SIZE_CHOICE')
107
+ @ice_cream_type = xrcid_to_window('ID_ICE_CREAM_TYPE_CHOICE')
108
+ @ice_cream_toppings = []
109
+ 4.times do |i|
110
+ @ice_cream_toppings <<
111
+ xrcid_to_window("ID_ICE_CREAM_TOPPING_#{i+1}_CHOICE")
112
+ end
113
+
114
+ toppings = ['','m&m\'s','chocolate chips','fudge','nuts','cherry','whip cream']
115
+ toppings.each do |top_name|
116
+ @ice_cream_toppings.each do |top_obj|
117
+ top_obj.append(top_name)
118
+ end
119
+ end
120
+ @ice_cream_toppings.each { |obj| obj.set_selection(0) }
121
+
122
+ # Events for ice cream tab
123
+ evt_button(Wx::xrcid('ID_ICE_CREAM_BUTTON')) do |event|
124
+ #get selections and add to order
125
+ order_string = @text_output.get_value
126
+ if order_string != "" then order_string << "\n" end
127
+
128
+ order_string << "One #{@ice_cream_size.get_string_selection} #{@ice_cream_type.get_string_selection} ice cream:\n"
129
+ @ice_cream_toppings.each { |obj| order_string << obj.get_string_selection + "\n" }
130
+
131
+ @text_output.set_value(order_string)
132
+ end
133
+
134
+ evt_listbook_page_changed(Wx::xrcid('ID_LISTBOOK')) do |event|
135
+ tab_number = event.get_selection
136
+ order_string = @text_output.get_value
137
+ order_string << "moved to tab = #{@listbook.get_page_text(tab_number)} \n"
138
+ @text_output.set_value(order_string)
139
+ end
140
+ end
141
+
142
+ # Converts a XRCID id - as used in wxWidget's XML format - into the
143
+ # correct ruby window
144
+ def xrcid_to_window(xrc_id)
145
+ Wx::Window.find_window_by_id(Wx::xrcid(xrc_id), self)
146
+ end
147
+
148
+ end
149
+
150
+ #
151
+ # Application class.
152
+ #
153
+ class XrcApp < Wx::App
154
+
155
+ def on_init
156
+ # Create a resource handler
157
+ $xml = Wx::XmlResource.get();
158
+ $xml.init_all_handlers();
159
+
160
+ # Load a resource file from the script's directory
161
+ xrc_file = File.join( File.dirname( __FILE__ ), 'listbook.xrc' )
162
+
163
+ $xml.load(xrc_file)
164
+
165
+
166
+ # Show the main frame.
167
+ $main = SimpleFrame.new(self)
168
+ $main.show(true)
169
+
170
+ end
171
+ end
172
+
173
+
174
+ XrcApp.new().main_loop()
@@ -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>
@@ -0,0 +1,82 @@
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
+
11
+ # MDI sample for wxRuby
12
+ # slapped together quickly by Kevin Smith
13
+
14
+ ID_NEXT = 1
15
+ ID_PREVIOUS = 2
16
+ ID_CASCADE = 3
17
+ ID_TILE = 4
18
+ ID_CREATE = 5
19
+ ID_CLOSE = 6
20
+ ID_EXIT = 99
21
+
22
+ class MyFrame < Wx::MDIParentFrame
23
+ def initialize(title)
24
+ super(nil, -1, title,Wx::DEFAULT_POSITION,Wx::Size.new(500,400))
25
+
26
+ @child_number = 0
27
+
28
+ menuFile = Wx::Menu.new
29
+ menuFile.append(ID_EXIT, "E&xit\tAlt-X")
30
+ menuMDI = Wx::Menu.new
31
+ menuMDI.append(ID_NEXT, "&Next Child\tCtrl-F6")
32
+ menuMDI.append(ID_PREVIOUS, "&Previous Child")
33
+ menuMDI.append_separator()
34
+ menuMDI.append(ID_CASCADE, "&Cascade")
35
+ menuMDI.append(ID_TILE, "&Tile")
36
+ menuMDI.append_separator()
37
+ menuMDI.append(ID_CREATE, "&Add Child")
38
+ menuMDI.append(ID_CLOSE, "&Remove Child\tCtrl-F4")
39
+ menuBar = Wx::MenuBar.new
40
+ menuBar.append(menuFile, "&File")
41
+ menuBar.append(menuMDI, "&Window")
42
+ set_menu_bar(menuBar)
43
+
44
+ evt_menu(ID_EXIT) { close }
45
+ evt_menu(ID_NEXT) { activate_next }
46
+ evt_menu(ID_PREVIOUS) { activate_previous }
47
+ evt_menu(ID_CASCADE) { cascade }
48
+ evt_menu(ID_TILE) { tile }
49
+ evt_menu(ID_CREATE) { create_child }
50
+ evt_menu(ID_CLOSE) { on_close_child }
51
+
52
+ create_status_bar(2).set_status_widths([100, -1])
53
+ set_status_text("Some features only work on MS Windows", 1)
54
+
55
+ create_child
56
+ create_child
57
+ create_child
58
+ end
59
+
60
+ def on_close_child
61
+ active = get_active_child
62
+ if(active)
63
+ active.close
64
+ end
65
+ end
66
+
67
+ def create_child
68
+ @child_number += 1
69
+ name = "Child #{@child_number.to_s}"
70
+ Wx::MDIChildFrame.new(self, -1, name)
71
+ end
72
+ end
73
+
74
+ class NothingApp < Wx::App
75
+ def on_init
76
+ frame = MyFrame.new("MDI App")
77
+ frame.show
78
+ end
79
+ end
80
+
81
+ a = NothingApp.new
82
+ a.main_loop()