wxruby 1.9.1-powerpc-darwin8.3.0
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/lib/wx.rb +42 -0
- data/lib/wx/accessors.rb +52 -0
- data/lib/wx/classes/app.rb +25 -0
- data/lib/wx/classes/artprovider.rb +31 -0
- data/lib/wx/classes/bitmap.rb +23 -0
- data/lib/wx/classes/choice.rb +4 -0
- data/lib/wx/classes/clientdc.rb +13 -0
- data/lib/wx/classes/colour.rb +47 -0
- data/lib/wx/classes/combobox.rb +4 -0
- data/lib/wx/classes/evthandler.rb +828 -0
- data/lib/wx/classes/font.rb +118 -0
- data/lib/wx/classes/grid.rb +130 -0
- data/lib/wx/classes/helpcontroller.rb +5 -0
- data/lib/wx/classes/htmlhelpcontroller.rb +5 -0
- data/lib/wx/classes/htmlwindow.rb +6 -0
- data/lib/wx/classes/icon.rb +14 -0
- data/lib/wx/classes/image.rb +14 -0
- data/lib/wx/classes/listbox.rb +4 -0
- data/lib/wx/classes/locale.rb +28 -0
- data/lib/wx/classes/object.rb +7 -0
- data/lib/wx/classes/paintdc.rb +12 -0
- data/lib/wx/classes/point.rb +48 -0
- data/lib/wx/classes/previewframe.rb +13 -0
- data/lib/wx/classes/rect.rb +5 -0
- data/lib/wx/classes/size.rb +49 -0
- data/lib/wx/classes/styledtextctrl.rb +92 -0
- data/lib/wx/classes/textctrl.rb +14 -0
- data/lib/wx/classes/texturlevent.rb +6 -0
- data/lib/wx/classes/timer.rb +69 -0
- data/lib/wx/classes/window.rb +42 -0
- data/lib/wx/classes/xmlresource.rb +16 -0
- data/lib/wx/keyword_ctors.rb +219 -0
- data/lib/wx/keyword_defs.rb +455 -0
- data/lib/wx/version.rb +3 -0
- data/lib/wxruby2.bundle +0 -0
- data/samples/SAMPLES-LICENSE.TXT +18 -0
- data/samples/aui/aui.rb +1353 -0
- data/samples/bigdemo/About.rbw +39 -0
- data/samples/bigdemo/ColorPanel.rbw +25 -0
- data/samples/bigdemo/GridSimple.rbw +80 -0
- data/samples/bigdemo/MDIDemo.rbw +59 -0
- data/samples/bigdemo/PopupMenu.rbw +151 -0
- data/samples/bigdemo/ShapedWindow.rbw +135 -0
- data/samples/bigdemo/Sizers.rbw +545 -0
- data/samples/bigdemo/bigdemo.rb +826 -0
- data/samples/bigdemo/demoTemplate.rbw +37 -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 +94 -0
- data/samples/bigdemo/tips.txt +7 -0
- data/samples/bigdemo/utils.rb +12 -0
- data/samples/bigdemo/wxArtProvider.rbw +285 -0
- data/samples/bigdemo/wxBitmapButton.rbw +64 -0
- data/samples/bigdemo/wxButton.rbw +66 -0
- data/samples/bigdemo/wxCalendarCtrl.rbw +72 -0
- data/samples/bigdemo/wxCheckBox.rbw +52 -0
- data/samples/bigdemo/wxCheckListBox.rbw +77 -0
- data/samples/bigdemo/wxChoice.rbw +49 -0
- data/samples/bigdemo/wxChoicebook.rbw +80 -0
- data/samples/bigdemo/wxColourDialog.rbw +34 -0
- data/samples/bigdemo/wxComboBox.rbw +79 -0
- data/samples/bigdemo/wxCursor.rbw +140 -0
- data/samples/bigdemo/wxDialog.rbw +92 -0
- data/samples/bigdemo/wxDirDialog.rbw +32 -0
- data/samples/bigdemo/wxDragImage.rbw +74 -0
- data/samples/bigdemo/wxFileDialog.rbw +39 -0
- data/samples/bigdemo/wxFileDialog_Save.rbw +38 -0
- data/samples/bigdemo/wxFindReplaceDialog.rbw +85 -0
- data/samples/bigdemo/wxFontDialog.rbw +176 -0
- data/samples/bigdemo/wxFrame.rbw +55 -0
- data/samples/bigdemo/wxGauge.rbw +73 -0
- data/samples/bigdemo/wxGenericDirCtrl.rbw +78 -0
- data/samples/bigdemo/wxGrid.rbw +68 -0
- data/samples/bigdemo/wxHtmlHelpController.rbw +57 -0
- data/samples/bigdemo/wxListBox.rbw +142 -0
- data/samples/bigdemo/wxListCtrl_virtual.rbw +109 -0
- data/samples/bigdemo/wxMDIWindows.rbw +52 -0
- data/samples/bigdemo/wxMenu.rbw +238 -0
- data/samples/bigdemo/wxMessageDialog.rbw +30 -0
- data/samples/bigdemo/wxMiniFrame.rbw +74 -0
- data/samples/bigdemo/wxMultipleChoiceDialog.rbw +34 -0
- data/samples/bigdemo/wxNotebook.rbw +138 -0
- data/samples/bigdemo/wxProgressDialog.rbw +45 -0
- data/samples/bigdemo/wxRadioBox.rbw +74 -0
- data/samples/bigdemo/wxRadioButton.rbw +127 -0
- data/samples/bigdemo/wxSashWindow.rbw +155 -0
- data/samples/bigdemo/wxScrolledMessageDialog.rbw +59 -0
- data/samples/bigdemo/wxScrolledWindow.rbw +196 -0
- data/samples/bigdemo/wxSingleChoiceDialog.rbw +35 -0
- data/samples/bigdemo/wxSlider.rbw +44 -0
- data/samples/bigdemo/wxSpinButton.rbw +52 -0
- data/samples/bigdemo/wxSpinCtrl.rbw +53 -0
- data/samples/bigdemo/wxSplitterWindow.rbw +65 -0
- data/samples/bigdemo/wxStaticBitmap.rbw +53 -0
- data/samples/bigdemo/wxStaticText.rbw +57 -0
- data/samples/bigdemo/wxStatusBar.rbw +128 -0
- data/samples/bigdemo/wxTextCtrl.rbw +151 -0
- data/samples/bigdemo/wxTextEntryDialog.rbw +34 -0
- data/samples/bigdemo/wxToggleButton.rbw +51 -0
- data/samples/bigdemo/wxToolBar.rbw +133 -0
- data/samples/bigdemo/wxTreeCtrl.rbw +192 -0
- data/samples/calendar/calendar.rb +275 -0
- data/samples/caret/caret.rb +296 -0
- data/samples/caret/mondrian.xpm +44 -0
- data/samples/controls/controls.rb +1140 -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 +724 -0
- data/samples/dialogs/tips.txt +18 -0
- data/samples/etc/activation.rb +108 -0
- data/samples/etc/choice.rb +72 -0
- data/samples/etc/miniframe.rb +84 -0
- data/samples/etc/sash.rb +135 -0
- data/samples/etc/scrollwin.rb +116 -0
- data/samples/etc/system_settings.rb +258 -0
- data/samples/etc/wizard.rb +81 -0
- data/samples/event/event.rb +184 -0
- data/samples/grid/grid.rb +201 -0
- data/samples/html/html.rb +251 -0
- data/samples/images/Thumbs.db +0 -0
- data/samples/images/images.rb +48 -0
- data/samples/images/paperclip.png +0 -0
- data/samples/listbook/listbook.rb +183 -0
- data/samples/listbook/listbook.xrc +370 -0
- data/samples/mdi/mdi.rb +87 -0
- data/samples/minimal/minimal.rb +83 -0
- data/samples/minimal/mondrian.png +0 -0
- data/samples/minimal/nothing.rb +46 -0
- data/samples/minimal/text.rb +35 -0
- data/samples/printing/mondrian.ico +0 -0
- data/samples/printing/mondrian.xpm +44 -0
- data/samples/printing/printing.rb +484 -0
- data/samples/text/mondrian.ico +0 -0
- data/samples/text/mondrian.xpm +44 -0
- data/samples/text/scintilla.rb +174 -0
- data/samples/text/textctrl.rb +124 -0
- data/samples/text/unicode.rb +238 -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 +1210 -0
- data/samples/xrc/samples.xrc +46 -0
- data/samples/xrc/xrc_sample.rb +107 -0
- metadata +263 -0
|
Binary file
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2006 Kevin B. Smith
|
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
|
4
|
+
|
|
5
|
+
begin
|
|
6
|
+
require 'wx'
|
|
7
|
+
rescue LoadError => no_wx_err
|
|
8
|
+
begin
|
|
9
|
+
require 'rubygems'
|
|
10
|
+
require 'wx'
|
|
11
|
+
rescue LoadError
|
|
12
|
+
raise no_wx_err
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
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
|
+
class MyFrame < Wx::Frame
|
|
21
|
+
def initialize(title)
|
|
22
|
+
super(nil, -1, title)
|
|
23
|
+
evt_paint { on_paint }
|
|
24
|
+
|
|
25
|
+
img_file = File.join( File.dirname(__FILE__), 'paperclip.png')
|
|
26
|
+
# first load the image into an Image object
|
|
27
|
+
image = Wx::Image.new(img_file)
|
|
28
|
+
# then create a Bitmap suitable for drawing
|
|
29
|
+
@bitmap = Wx::Bitmap.new(image)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def on_paint
|
|
33
|
+
paint do | dc |
|
|
34
|
+
dc.clear
|
|
35
|
+
dc.draw_bitmap(@bitmap, 0, 0, false)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
class ImagesApp < Wx::App
|
|
41
|
+
def on_init
|
|
42
|
+
frame = MyFrame.new("Simple Image Demo")
|
|
43
|
+
frame.show
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
a = ImagesApp.new
|
|
48
|
+
a.main_loop()
|
|
Binary file
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2006 Kevin B. Smith
|
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
|
4
|
+
|
|
5
|
+
begin
|
|
6
|
+
require 'wx'
|
|
7
|
+
rescue LoadError => no_wx_err
|
|
8
|
+
begin
|
|
9
|
+
require 'rubygems'
|
|
10
|
+
require 'wx'
|
|
11
|
+
rescue LoadError
|
|
12
|
+
raise no_wx_err
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# This sample demonstrates the use of the listbook class.
|
|
17
|
+
# NB: This sample doesn't currently work on Linux (21/08/2006)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
#
|
|
22
|
+
# Basic Frame Class. This creates the dialog window
|
|
23
|
+
#
|
|
24
|
+
class SimpleFrame < Wx::Frame
|
|
25
|
+
|
|
26
|
+
FILE_DIALOG, FILE_ABOUT, FILE_QUIT = [0,Wx::ID_ABOUT,Wx::ID_EXIT]
|
|
27
|
+
|
|
28
|
+
def initialize(parent)
|
|
29
|
+
# To load a layout defined in XRC into a Ruby subclass of Frame,
|
|
30
|
+
# first call the empty constructor. All the details of size,
|
|
31
|
+
# title, position and so on are loaded from the XRC by the call to
|
|
32
|
+
# load_frame_subclass. Using a non-empty constructor will cause
|
|
33
|
+
# errors on GTK.
|
|
34
|
+
super()
|
|
35
|
+
$xml.load_frame_subclass(self,nil,'ID_FRAME')
|
|
36
|
+
|
|
37
|
+
# Create a new menu
|
|
38
|
+
bar = Wx::MenuBar.new
|
|
39
|
+
menu = Wx::Menu.new
|
|
40
|
+
menu.append(FILE_ABOUT,"About...")
|
|
41
|
+
menu.append_separator
|
|
42
|
+
menu.append(FILE_QUIT,"Quit")
|
|
43
|
+
bar.append(menu,"File")
|
|
44
|
+
|
|
45
|
+
set_menu_bar(bar)
|
|
46
|
+
|
|
47
|
+
# Assign the menu events
|
|
48
|
+
evt_menu(FILE_ABOUT) do
|
|
49
|
+
Wx::message_box("wxRuby Listbook sample\nby Sean Long", "About Listbook", Wx::OK | Wx::ICON_INFORMATION, self)
|
|
50
|
+
end
|
|
51
|
+
evt_menu(FILE_QUIT) do
|
|
52
|
+
Wx::get_app.exit_main_loop()
|
|
53
|
+
end
|
|
54
|
+
evt_close() do
|
|
55
|
+
Wx::get_app.exit_main_loop()
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Variables not in tabs
|
|
59
|
+
@listbook = Wx::Window.find_window_by_id(Wx::xrcid('ID_LISTBOOK'),self)
|
|
60
|
+
@text_output = Wx::Window.find_window_by_id(Wx::xrcid('ID_ORDER_TEXTCTRL'),self)
|
|
61
|
+
|
|
62
|
+
# Variables for widgets in Pizza tab
|
|
63
|
+
@pizza_size = Wx::Window.find_window_by_id(Wx::xrcid('ID_PIZZA_SIZE_CHOICE'),self)
|
|
64
|
+
@pizza_crust = Wx::Window.find_window_by_id(Wx::xrcid('ID_PIZZA_CRUST_CHOICE'),self)
|
|
65
|
+
@pizza_sauce = Wx::Window.find_window_by_id(Wx::xrcid('ID_PIZZA_SAUCE_CHOICE'),self)
|
|
66
|
+
@pizza_cheese = Wx::Window.find_window_by_id(Wx::xrcid('ID_PIZZA_CHEESE_CHOICE'),self)
|
|
67
|
+
@pizza_toppings = []
|
|
68
|
+
3.times do |i|
|
|
69
|
+
@pizza_toppings << Wx::Window.find_window_by_id(Wx::xrcid("ID_PIZZA_TOPPING_#{i+1}_CHOICE"),self)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# fill in toppings
|
|
73
|
+
toppings = ['pepperoni','sausage','itallian sausage','olives','mushrooms','artichoke','extra cheese','']
|
|
74
|
+
toppings.each do |top_name|
|
|
75
|
+
@pizza_toppings.each do |top_obj|
|
|
76
|
+
top_obj.append(top_name)
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
index = 0
|
|
80
|
+
@pizza_toppings.each do |obj|
|
|
81
|
+
obj.set_selection(index)
|
|
82
|
+
index += 1
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# Events for pizza tab
|
|
86
|
+
evt_button(Wx::xrcid('ID_PIZZA_BUTTON')) do |event|
|
|
87
|
+
#get selections and add to order
|
|
88
|
+
order_string = @text_output.get_value
|
|
89
|
+
if order_string != "" then order_string << "\n" end
|
|
90
|
+
|
|
91
|
+
order_string << "One #{@pizza_size.get_string_selection} pizza with:\n"
|
|
92
|
+
order_string << @pizza_crust.get_string_selection + " crust" + "\n"
|
|
93
|
+
order_string << @pizza_sauce.get_string_selection + " sauce" +"\n"
|
|
94
|
+
order_string << @pizza_cheese.get_string_selection + " and" + "\n"
|
|
95
|
+
@pizza_toppings.each { |obj| order_string << obj.get_string_selection + "\n" }
|
|
96
|
+
|
|
97
|
+
@text_output.set_value(order_string)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
# Variables for widgets in Drink tab
|
|
102
|
+
@drink_size = Wx::Window.find_window_by_id(Wx::xrcid('ID_DRINK_SIZE_CHOICE'),self)
|
|
103
|
+
@drink_type = Wx::Window.find_window_by_id(Wx::xrcid('ID_DRINK_TYPE_CHOICE'),self)
|
|
104
|
+
|
|
105
|
+
# Events for drink tab
|
|
106
|
+
evt_button(Wx::xrcid('ID_DRINK_BUTTON')) do |event|
|
|
107
|
+
#get selections and add to order
|
|
108
|
+
order_string = @text_output.get_value
|
|
109
|
+
if order_string != "" then order_string << "\n" end
|
|
110
|
+
|
|
111
|
+
order_string << "One #{@drink_size.get_string_selection} #{@drink_type.get_string_selection }.\n"
|
|
112
|
+
|
|
113
|
+
@text_output.set_value(order_string)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# Variables for widgets in Ice Cream tab
|
|
117
|
+
@ice_cream_size = Wx::Window.find_window_by_id(Wx::xrcid('ID_ICE_CREAM_SIZE_CHOICE'),self)
|
|
118
|
+
@ice_cream_type = Wx::Window.find_window_by_id(Wx::xrcid('ID_ICE_CREAM_TYPE_CHOICE'),self)
|
|
119
|
+
@ice_cream_toppings = []
|
|
120
|
+
4.times do |i|
|
|
121
|
+
@ice_cream_toppings << Wx::Window.find_window_by_id(Wx::xrcid("ID_ICE_CREAM_TOPPING_#{i+1}_CHOICE"),self)
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
toppings = ['','m&m\'s','chocolate chips','fudge','nuts','cherry','whip cream']
|
|
125
|
+
toppings.each do |top_name|
|
|
126
|
+
@ice_cream_toppings.each do |top_obj|
|
|
127
|
+
top_obj.append(top_name)
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
@ice_cream_toppings.each { |obj| obj.set_selection(0) }
|
|
131
|
+
|
|
132
|
+
# Events for ice cream tab
|
|
133
|
+
evt_button(Wx::xrcid('ID_ICE_CREAM_BUTTON')) do |event|
|
|
134
|
+
#get selections and add to order
|
|
135
|
+
order_string = @text_output.get_value
|
|
136
|
+
if order_string != "" then order_string << "\n" end
|
|
137
|
+
|
|
138
|
+
order_string << "One #{@ice_cream_size.get_string_selection} #{@ice_cream_type.get_string_selection} ice cream:\n"
|
|
139
|
+
@ice_cream_toppings.each { |obj| order_string << obj.get_string_selection + "\n" }
|
|
140
|
+
|
|
141
|
+
@text_output.set_value(order_string)
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
evt_listbook_page_changed(Wx::xrcid('ID_LISTBOOK')) do |event|
|
|
145
|
+
tab_number = event.get_selection
|
|
146
|
+
order_string = @text_output.get_value
|
|
147
|
+
order_string << "moved to tab = #{@listbook.get_page_text(tab_number)} \n"
|
|
148
|
+
@text_output.set_value(order_string)
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
#
|
|
156
|
+
# Application class.
|
|
157
|
+
#
|
|
158
|
+
class XrcApp < Wx::App
|
|
159
|
+
|
|
160
|
+
def on_init
|
|
161
|
+
#
|
|
162
|
+
# Create a resource handler
|
|
163
|
+
#
|
|
164
|
+
$xml = Wx::XmlResource.get();
|
|
165
|
+
$xml.init_all_handlers();
|
|
166
|
+
|
|
167
|
+
# Load a resource file from the script's directory
|
|
168
|
+
xrc_file = File.join( File.dirname( __FILE__ ), 'listbook.xrc' )
|
|
169
|
+
|
|
170
|
+
$xml.load(xrc_file)
|
|
171
|
+
|
|
172
|
+
#
|
|
173
|
+
# Show the main frame.
|
|
174
|
+
#
|
|
175
|
+
$main = SimpleFrame.new(self)
|
|
176
|
+
$main.show(true)
|
|
177
|
+
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
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>
|