wxruby-ruby19 1.9.8-x86-darwin-9 → 1.9.10-x86-darwin-9

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 (220) hide show
  1. data/LICENSE +53 -0
  2. data/README +297 -0
  3. data/lib/wx.rb +2 -2
  4. data/lib/wx/accessors.rb +7 -1
  5. data/lib/wx/classes/app.rb +10 -4
  6. data/lib/wx/classes/bitmap.rb +29 -1
  7. data/lib/wx/classes/clipboard.rb +19 -3
  8. data/lib/wx/classes/colour.rb +6 -4
  9. data/lib/wx/classes/data_object.rb +14 -0
  10. data/lib/wx/classes/data_object_simple.rb +6 -0
  11. data/lib/wx/classes/dataformat.rb +23 -0
  12. data/lib/wx/classes/evthandler.rb +79 -4
  13. data/lib/wx/classes/genericdirctrl.rb +36 -0
  14. data/lib/wx/classes/grid.rb +8 -0
  15. data/lib/wx/classes/hboxsizer.rb +6 -0
  16. data/lib/wx/classes/icon.rb +12 -1
  17. data/lib/wx/classes/image.rb +13 -1
  18. data/lib/wx/classes/listctrl.rb +12 -0
  19. data/lib/wx/classes/point.rb +8 -0
  20. data/lib/wx/classes/rect.rb +10 -1
  21. data/lib/wx/classes/richtextctrl.rb +63 -0
  22. data/lib/wx/classes/size.rb +9 -0
  23. data/lib/wx/classes/sizer.rb +18 -3
  24. data/lib/wx/classes/standardpaths.rb +9 -0
  25. data/lib/wx/classes/texturlevent.rb +14 -2
  26. data/lib/wx/classes/toolbar.rb +4 -6
  27. data/lib/wx/classes/vboxsizer.rb +6 -0
  28. data/lib/wx/classes/window.rb +7 -0
  29. data/lib/wx/classes/xmlresource.rb +17 -0
  30. data/lib/wx/helpers.rb +16 -1
  31. data/lib/wx/keyword_ctors.rb +3 -2
  32. data/lib/wx/keyword_defs.rb +56 -5
  33. data/lib/wx/version.rb +1 -1
  34. data/lib/wxruby2.bundle +0 -0
  35. data/samples/SAMPLES-LICENSE.TXT +18 -0
  36. data/samples/aui/aui.rb +1356 -0
  37. data/samples/bigdemo/About.rbw +39 -0
  38. data/samples/bigdemo/ColorPanel.rbw +23 -0
  39. data/samples/bigdemo/GridSimple.rbw +78 -0
  40. data/samples/bigdemo/MDIDemo.rbw +57 -0
  41. data/samples/bigdemo/PopupMenu.rbw +149 -0
  42. data/samples/bigdemo/ShapedWindow.rbw +131 -0
  43. data/samples/bigdemo/Sizers.rbw +543 -0
  44. data/samples/bigdemo/bigdemo.rb +823 -0
  45. data/samples/bigdemo/demoTemplate.rbw +33 -0
  46. data/samples/bigdemo/helpfile.htb +0 -0
  47. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  48. data/samples/bigdemo/icons/Test 015.png +0 -0
  49. data/samples/bigdemo/icons/choice.bmp +0 -0
  50. data/samples/bigdemo/icons/choice.xpm +27 -0
  51. data/samples/bigdemo/icons/combo.bmp +0 -0
  52. data/samples/bigdemo/icons/combo.xpm +27 -0
  53. data/samples/bigdemo/icons/copy.xpm +25 -0
  54. data/samples/bigdemo/icons/cut.xpm +24 -0
  55. data/samples/bigdemo/icons/gauge.bmp +0 -0
  56. data/samples/bigdemo/icons/gauge.xpm +27 -0
  57. data/samples/bigdemo/icons/help.xpm +25 -0
  58. data/samples/bigdemo/icons/list.bmp +0 -0
  59. data/samples/bigdemo/icons/list.xpm +27 -0
  60. data/samples/bigdemo/icons/mondrian.ico +0 -0
  61. data/samples/bigdemo/icons/mondrian.xpm +44 -0
  62. data/samples/bigdemo/icons/new.xpm +24 -0
  63. data/samples/bigdemo/icons/ogl.ico +0 -0
  64. data/samples/bigdemo/icons/ogl.xpm +45 -0
  65. data/samples/bigdemo/icons/open.xpm +26 -0
  66. data/samples/bigdemo/icons/paste.bmp +0 -0
  67. data/samples/bigdemo/icons/paste.xpm +38 -0
  68. data/samples/bigdemo/icons/pointy.png +0 -0
  69. data/samples/bigdemo/icons/preview.xpm +26 -0
  70. data/samples/bigdemo/icons/print.xpm +26 -0
  71. data/samples/bigdemo/icons/radio.bmp +0 -0
  72. data/samples/bigdemo/icons/radio.xpm +27 -0
  73. data/samples/bigdemo/icons/robert.xpm +415 -0
  74. data/samples/bigdemo/icons/ruby.png +0 -0
  75. data/samples/bigdemo/icons/sashtest.ico +0 -0
  76. data/samples/bigdemo/icons/save.xpm +25 -0
  77. data/samples/bigdemo/icons/smiles.bmp +0 -0
  78. data/samples/bigdemo/icons/smiles.xpm +39 -0
  79. data/samples/bigdemo/icons/smiley.ico +0 -0
  80. data/samples/bigdemo/icons/smiley.xpm +42 -0
  81. data/samples/bigdemo/icons/stattext.xpm +24 -0
  82. data/samples/bigdemo/icons/test2.bmp +0 -0
  83. data/samples/bigdemo/icons/test2.png +0 -0
  84. data/samples/bigdemo/icons/test2.xpm +79 -0
  85. data/samples/bigdemo/icons/text.bmp +0 -0
  86. data/samples/bigdemo/icons/text.xpm +27 -0
  87. data/samples/bigdemo/icons/tog1.bmp +0 -0
  88. data/samples/bigdemo/icons/tog1.xpm +38 -0
  89. data/samples/bigdemo/icons/tog2.bmp +0 -0
  90. data/samples/bigdemo/icons/tog2.xpm +38 -0
  91. data/samples/bigdemo/icons/wxwin.ico +0 -0
  92. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  93. data/samples/bigdemo/icons/wxwin16x16.xpm +25 -0
  94. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  95. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  96. data/samples/bigdemo/run.rb +90 -0
  97. data/samples/bigdemo/tips.txt +7 -0
  98. data/samples/bigdemo/utils.rb +12 -0
  99. data/samples/bigdemo/wxArtProvider.rbw +281 -0
  100. data/samples/bigdemo/wxBitmapButton.rbw +65 -0
  101. data/samples/bigdemo/wxButton.rbw +64 -0
  102. data/samples/bigdemo/wxCalendarCtrl.rbw +60 -0
  103. data/samples/bigdemo/wxCheckBox.rbw +50 -0
  104. data/samples/bigdemo/wxCheckListBox.rbw +65 -0
  105. data/samples/bigdemo/wxChoice.rbw +47 -0
  106. data/samples/bigdemo/wxChoicebook.rbw +78 -0
  107. data/samples/bigdemo/wxColourDialog.rbw +31 -0
  108. data/samples/bigdemo/wxComboBox.rbw +77 -0
  109. data/samples/bigdemo/wxCursor.rbw +136 -0
  110. data/samples/bigdemo/wxDialog.rbw +74 -0
  111. data/samples/bigdemo/wxDirDialog.rbw +29 -0
  112. data/samples/bigdemo/wxDragImage.rbw +70 -0
  113. data/samples/bigdemo/wxFileDialog.rbw +37 -0
  114. data/samples/bigdemo/wxFileDialog_Save.rbw +35 -0
  115. data/samples/bigdemo/wxFindReplaceDialog.rbw +82 -0
  116. data/samples/bigdemo/wxFontDialog.rbw +173 -0
  117. data/samples/bigdemo/wxFrame.rbw +53 -0
  118. data/samples/bigdemo/wxGauge.rbw +71 -0
  119. data/samples/bigdemo/wxGenericDirCtrl.rbw +74 -0
  120. data/samples/bigdemo/wxGrid.rbw +66 -0
  121. data/samples/bigdemo/wxHtmlHelpController.rbw +52 -0
  122. data/samples/bigdemo/wxListBox.rbw +140 -0
  123. data/samples/bigdemo/wxListCtrl_virtual.rbw +112 -0
  124. data/samples/bigdemo/wxMDIWindows.rbw +50 -0
  125. data/samples/bigdemo/wxMenu.rbw +236 -0
  126. data/samples/bigdemo/wxMessageDialog.rbw +27 -0
  127. data/samples/bigdemo/wxMiniFrame.rbw +70 -0
  128. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +32 -0
  129. data/samples/bigdemo/wxNotebook.rbw +136 -0
  130. data/samples/bigdemo/wxProgressDialog.rbw +43 -0
  131. data/samples/bigdemo/wxRadioBox.rbw +72 -0
  132. data/samples/bigdemo/wxRadioButton.rbw +125 -0
  133. data/samples/bigdemo/wxSashWindow.rbw +141 -0
  134. data/samples/bigdemo/wxScrolledMessageDialog.rbw +57 -0
  135. data/samples/bigdemo/wxScrolledWindow.rbw +199 -0
  136. data/samples/bigdemo/wxSingleChoiceDialog.rbw +33 -0
  137. data/samples/bigdemo/wxSlider.rbw +42 -0
  138. data/samples/bigdemo/wxSpinButton.rbw +50 -0
  139. data/samples/bigdemo/wxSpinCtrl.rbw +51 -0
  140. data/samples/bigdemo/wxSplitterWindow.rbw +63 -0
  141. data/samples/bigdemo/wxStaticBitmap.rbw +51 -0
  142. data/samples/bigdemo/wxStaticText.rbw +55 -0
  143. data/samples/bigdemo/wxStatusBar.rbw +126 -0
  144. data/samples/bigdemo/wxTextCtrl.rbw +149 -0
  145. data/samples/bigdemo/wxTextEntryDialog.rbw +31 -0
  146. data/samples/bigdemo/wxToggleButton.rbw +49 -0
  147. data/samples/bigdemo/wxToolBar.rbw +131 -0
  148. data/samples/bigdemo/wxTreeCtrl.rbw +191 -0
  149. data/samples/calendar/calendar.rb +256 -0
  150. data/samples/caret/caret.rb +282 -0
  151. data/samples/caret/mondrian.xpm +44 -0
  152. data/samples/controls/controls.rb +1136 -0
  153. data/samples/controls/get_item_sample.rb +87 -0
  154. data/samples/controls/icons/choice.xpm +27 -0
  155. data/samples/controls/icons/combo.xpm +27 -0
  156. data/samples/controls/icons/gauge.xpm +27 -0
  157. data/samples/controls/icons/list.xpm +27 -0
  158. data/samples/controls/icons/radio.xpm +27 -0
  159. data/samples/controls/icons/stattext.xpm +24 -0
  160. data/samples/controls/icons/text.xpm +27 -0
  161. data/samples/controls/mondrian.ico +0 -0
  162. data/samples/controls/mondrian.xpm +44 -0
  163. data/samples/controls/test2.bmp +0 -0
  164. data/samples/dialogs/dialogs.rb +797 -0
  165. data/samples/dialogs/tips.txt +18 -0
  166. data/samples/dragdrop/dragdrop.rb +177 -0
  167. data/samples/drawing/graphics_drawing.rb +235 -0
  168. data/samples/drawing/images.rb +37 -0
  169. data/samples/drawing/paperclip.png +0 -0
  170. data/samples/etc/activation.rb +102 -0
  171. data/samples/etc/choice.rb +67 -0
  172. data/samples/etc/miniframe.rb +79 -0
  173. data/samples/etc/sash.rb +130 -0
  174. data/samples/etc/scrollwin.rb +110 -0
  175. data/samples/etc/system_settings.rb +252 -0
  176. data/samples/etc/threaded.rb +72 -0
  177. data/samples/etc/toolbar_sizer_additem.rb +55 -0
  178. data/samples/etc/wizard.rb +74 -0
  179. data/samples/event/event.rb +182 -0
  180. data/samples/event/update_ui_event.rb +70 -0
  181. data/samples/grid/grid.rb +198 -0
  182. data/samples/grid/gridtablebase.rb +148 -0
  183. data/samples/html/html.rb +262 -0
  184. data/samples/listbook/listbook.rb +174 -0
  185. data/samples/listbook/listbook.xrc +370 -0
  186. data/samples/mdi/mdi.rb +85 -0
  187. data/samples/media/mediactrl.rb +167 -0
  188. data/samples/minimal/minimal.rb +77 -0
  189. data/samples/minimal/mondrian.ico +0 -0
  190. data/samples/minimal/mondrian.png +0 -0
  191. data/samples/minimal/nothing.rb +16 -0
  192. data/samples/opengl/cube.rb +117 -0
  193. data/samples/printing/mondrian.ico +0 -0
  194. data/samples/printing/mondrian.xpm +44 -0
  195. data/samples/printing/printing.rb +487 -0
  196. data/samples/sockets/SocketPackets.rb +27 -0
  197. data/samples/sockets/res/message-new.png +0 -0
  198. data/samples/sockets/res/user.png +0 -0
  199. data/samples/sockets/wxClient.rb +395 -0
  200. data/samples/sockets/wxServer.rb +422 -0
  201. data/samples/sockets/wxSocketGUI.rb +97 -0
  202. data/samples/text/format-text-bold.png +0 -0
  203. data/samples/text/format-text-italic.png +0 -0
  204. data/samples/text/format-text-underline.png +0 -0
  205. data/samples/text/mondrian.ico +0 -0
  206. data/samples/text/mondrian.xpm +44 -0
  207. data/samples/text/rich_textctrl.rb +98 -0
  208. data/samples/text/scintilla.rb +169 -0
  209. data/samples/text/textctrl.rb +111 -0
  210. data/samples/text/unicode.rb +242 -0
  211. data/samples/text/utf8.txt +15 -0
  212. data/samples/treectrl/icon1.xpm +79 -0
  213. data/samples/treectrl/icon2.xpm +53 -0
  214. data/samples/treectrl/icon3.xpm +79 -0
  215. data/samples/treectrl/icon4.xpm +43 -0
  216. data/samples/treectrl/icon5.xpm +79 -0
  217. data/samples/treectrl/treectrl.rb +1166 -0
  218. data/samples/xrc/samples.xrc +46 -0
  219. data/samples/xrc/xrc_sample.rb +76 -0
  220. metadata +17 -3
@@ -0,0 +1,7 @@
1
+ Welcome to the WxRuby Tutorial! Click on all the different demos to learn how to use each kind of widget.
2
+ This demo was ported from wxPython. Thanks to Robin Dunn for his hard work and generosity!
3
+ Check out the WxRuby wiki at http://wxruby.rubyforge.org!
4
+ Don't forget to check out the samples that come with WxRuby - many contain more advanced examples of WxRuby than you'll find here.
5
+ Thanks to Kevin Smith for all his hard work - he made this Demo possible!
6
+ Thanks to Curt Hibbs for all his hard work - his WxRuby installer for Windows saved my life!
7
+ Thanks to Robert Carlin for porting this demo (I know, it's a shameless plug :-)
@@ -0,0 +1,12 @@
1
+ # This module contains various utilities to simplify the implementation of the WxRuby Demo
2
+
3
+ module WxDemoUtilities
4
+
5
+ #Convert paths to the platform-specific separator
6
+
7
+ def opj(path)
8
+
9
+ end
10
+
11
+ #----------------------------------------------------------
12
+ end
@@ -0,0 +1,281 @@
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
+
12
+ ArtClients = [ "Wx::ART_TOOLBAR",
13
+ "Wx::ART_MENU",
14
+ "Wx::ART_FRAME_ICON",
15
+ "Wx::ART_CMN_DIALOG",
16
+ "Wx::ART_HELP_BROWSER",
17
+ "Wx::ART_MESSAGE_BOX",
18
+ "Wx::ART_OTHER",
19
+ ]
20
+
21
+ ArtIDs = [ "Wx::ART_ADD_BOOKMARK",
22
+ "Wx::ART_DEL_BOOKMARK",
23
+ "Wx::ART_HELP_SIDE_PANEL",
24
+ "Wx::ART_HELP_SETTINGS",
25
+ "Wx::ART_HELP_BOOK",
26
+ "Wx::ART_HELP_FOLDER",
27
+ "Wx::ART_HELP_PAGE",
28
+ "Wx::ART_GO_BACK",
29
+ "Wx::ART_GO_FORWARD",
30
+ "Wx::ART_GO_UP",
31
+ "Wx::ART_GO_DOWN",
32
+ "Wx::ART_GO_TO_PARENT",
33
+ "Wx::ART_GO_HOME",
34
+ "Wx::ART_FILE_OPEN",
35
+ "Wx::ART_FILE_SAVE",
36
+ "Wx::ART_FILE_SAVE_AS",
37
+ "Wx::ART_PRINT",
38
+ "Wx::ART_HELP",
39
+ "Wx::ART_TIP",
40
+ "Wx::ART_REPORT_VIEW",
41
+ "Wx::ART_LIST_VIEW",
42
+ "Wx::ART_NEW_DIR",
43
+ "Wx::ART_HARDDISK",
44
+ "Wx::ART_FLOPPY",
45
+ "Wx::ART_CDROM",
46
+ "Wx::ART_REMOVABLE",
47
+ "Wx::ART_FOLDER",
48
+ "Wx::ART_FOLDER_OPEN",
49
+ "Wx::ART_GO_DIR_UP",
50
+ "Wx::ART_EXECUTABLE_FILE",
51
+ "Wx::ART_NORMAL_FILE",
52
+ "Wx::ART_TICK_MARK",
53
+ "Wx::ART_CROSS_MARK",
54
+ "Wx::ART_ERROR",
55
+ "Wx::ART_QUESTION",
56
+ "Wx::ART_WARNING",
57
+ "Wx::ART_INFORMATION",
58
+ "Wx::ART_MISSING_IMAGE",
59
+ "Wx::ART_COPY",
60
+ "Wx::ART_CUT",
61
+ "Wx::ART_PASTE",
62
+ "Wx::ART_DELETE",
63
+ "Wx::ART_NEW",
64
+ "Wx::ART_UNDO",
65
+ "Wx::ART_REDO",
66
+ "Wx::ART_QUIT",
67
+ "Wx::ART_FIND",
68
+ "Wx::ART_FIND_AND_REPLACE",
69
+ ]
70
+
71
+ class MyArtProvider < Wx::ArtProvider
72
+ def initialize(log)
73
+ super()
74
+ @log = log
75
+ end
76
+
77
+ # Custom art providers must supply this method
78
+
79
+ def create_bitmap(artid, client, size)
80
+ # You can do anything here you want, such as using the same
81
+ # image for any size, any client, etc., or using specific
82
+ # images for specific sizes, whatever...
83
+
84
+ bmp = nil
85
+ # use this one for all 48x48 images
86
+ case size.get_width
87
+ when 48
88
+ bmp = make_bitmap("wxwin48x48.png")
89
+ when 32
90
+ bmp = make_bitmap("wxwin32x32.png")
91
+ when 16
92
+ # be more specific for these
93
+ if artid == Wx::ART_ADD_BOOKMARK
94
+ bmp = make_bitmap("smiles.bmp")
95
+ else
96
+ bmp = make_bitmap("wxwin16x16.png")
97
+ end
98
+ end
99
+ if bmp
100
+ @log.write_text("MyArtProvider: providing #{artid}:#{client} at #{size.x}x#{size.y}")
101
+ end
102
+ bmp
103
+ end
104
+
105
+ def make_bitmap(f)
106
+ f_path = File.join(File.dirname(__FILE__), 'icons', f)
107
+ Wx::Bitmap.new(Wx::Image.new(f_path))
108
+ end
109
+ end
110
+
111
+ class TestPanel < Wx::Panel
112
+ def initialize(parent, log)
113
+ super(parent, -1, Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::NO_FULL_REPAINT_ON_RESIZE)
114
+ @log = log
115
+
116
+ sizer = Wx::BoxSizer.new(Wx::VERTICAL)
117
+
118
+ title = Wx::StaticText.new(self, -1, "ArtProvider")
119
+ title.set_font(Wx::Font.new(18, Wx::SWISS, Wx::NORMAL, Wx::BOLD))
120
+ sizer.add(title, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
121
+
122
+ line = Wx::StaticLine.new(self, -1, Wx::DEFAULT_POSITION, Wx::Size.new(20,-1), Wx::LI_HORIZONTAL)
123
+ sizer.add(line, 0, Wx::GROW|Wx::ALIGN_CENTER_VERTICAL|Wx::ALL, 5)
124
+
125
+ fgs = Wx::FlexGridSizer.new(0, 3, 10, 10)
126
+
127
+ combo = Wx::ComboBox.new(self, -1, "", Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
128
+ ArtClients, Wx::CB_DROPDOWN|Wx::CB_READONLY)
129
+ fgs.add(combo, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
130
+ evt_combobox(combo.get_id) { |event| on_select_client(event) }
131
+ combo.set_selection(0)
132
+
133
+ combo = Wx::ComboBox.new(self, -1, "", Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
134
+ ArtIDs, Wx::CB_DROPDOWN|Wx::CB_READONLY)
135
+ fgs.add(combo, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
136
+ evt_combobox(combo.get_id) { |event| on_select_id(event) }
137
+ combo.set_selection(0)
138
+
139
+ # Custom provider not currently working
140
+ cb = Wx::CheckBox.new(self, -1, "Use custom provider")
141
+ fgs.add(cb, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
142
+ evt_checkbox(cb.get_id) { |event| on_use_custom(event) }
143
+ # One extra spacer to account for missing checkbox
144
+ # fgs.add(10, 10, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
145
+
146
+ fgs.add(10, 10, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
147
+ fgs.add(10, 10, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
148
+ fgs.add(10, 10, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
149
+
150
+ box = Wx::BoxSizer.new(Wx::VERTICAL)
151
+ bmp = Wx::Bitmap.new(16,16)
152
+ @bmp16 = Wx::StaticBitmap.new(self, -1, bmp, Wx::DEFAULT_POSITION)
153
+ box.add(@bmp16, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
154
+ text = Wx::StaticText.new(self, -1, "16x16")
155
+ box.add(text, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
156
+
157
+ fgs.add(box, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
158
+
159
+ box = Wx::BoxSizer.new(Wx::VERTICAL)
160
+ bmp = Wx::Bitmap.new(32,32)
161
+ @bmp32 = Wx::StaticBitmap.new(self, -1, bmp, Wx::DEFAULT_POSITION)
162
+ box.add(@bmp32, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
163
+ text = Wx::StaticText.new(self, -1, "32x32")
164
+ box.add(text, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
165
+
166
+ fgs.add(box, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
167
+
168
+ box = Wx::BoxSizer.new(Wx::VERTICAL)
169
+ bmp = Wx::Bitmap.new(48,48)
170
+ @bmp48 = Wx::StaticBitmap.new(self, -1, bmp, Wx::DEFAULT_POSITION)
171
+ box.add(@bmp48, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
172
+ text = Wx::StaticText.new(self, -1, "48x48")
173
+ box.add(text, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
174
+
175
+ fgs.add(box, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
176
+ sizer.add(fgs, 0, Wx::ALL, 5)
177
+ set_sizer(sizer)
178
+
179
+ @client = eval(ArtClients[0])
180
+ @artid = eval(ArtIDs[0])
181
+ get_art
182
+ end
183
+
184
+ def on_select_client(evt)
185
+ @log.write_text("on_select_client")
186
+ @client = eval(evt.get_string)
187
+ get_art
188
+ end
189
+
190
+
191
+ def on_select_id(evt)
192
+ @log.write_text("on_select_id")
193
+ @artid = eval(evt.get_string)
194
+ get_art
195
+ end
196
+
197
+
198
+ def on_use_custom(evt)
199
+ if evt.is_checked
200
+ @log.write_text("Images will now be provided by
201
+ MyArtProvider")
202
+ Wx::ArtProvider.push( MyArtProvider.new(@log) )
203
+
204
+ else
205
+ @log.write_text("MyArtProvider deactivated\n")
206
+ Wx::ArtProvider.pop
207
+ end
208
+ get_art
209
+ end
210
+
211
+
212
+ def get_art
213
+ @log.write_text("Getting art for #{@client}:#{@artid}")
214
+
215
+ bmp = Wx::ArtProvider.get_bitmap(@artid, @client, Wx::Size.new(16,16))
216
+
217
+ if not bmp.is_ok
218
+ bmp = Wx::Bitmap.new(16,16)
219
+ clear_bmp(bmp)
220
+ end
221
+
222
+ @bmp16.set_bitmap(bmp)
223
+
224
+ bmp = Wx::ArtProvider::get_bitmap(@artid, @client, Wx::Size.new(32,32))
225
+
226
+ if not bmp.is_ok
227
+ bmp = Wx::Bitmap.new(32,32)
228
+ clear_bmp(bmp)
229
+ end
230
+
231
+ @bmp32.set_bitmap(bmp)
232
+
233
+ bmp = Wx::ArtProvider::get_bitmap(@artid, @client, Wx::Size.new(48,48))
234
+
235
+ if not bmp.is_ok
236
+ bmp = Wx::Bitmap.new(48,48)
237
+ clear_bmp(bmp)
238
+ end
239
+
240
+ @bmp48.set_bitmap(bmp)
241
+ end
242
+
243
+
244
+ def clear_bmp(bmp)
245
+ dc = Wx::MemoryDC.new
246
+ dc.select_object(bmp)
247
+ dc.set_background(Wx::WHITE_BRUSH)
248
+ dc.clear
249
+ end
250
+ end
251
+
252
+ module Demo
253
+
254
+ def Demo.run(frame, nb, log)
255
+ win = TestPanel.new(nb, log)
256
+ return win
257
+ end
258
+
259
+ def Demo.overview
260
+ return 'Wx::ArtProvider class can be used to customize the look of wxWindows
261
+ applications. When wxWindows internal classes need to display an icon
262
+ or a bitmap (e.g. in the standard file dialog), it does not use a
263
+ hard-coded resource but asks Wx::ArtProvider for it instead. This way
264
+ the users can plug in their own Wx::ArtProvider class and easily replace
265
+ standard art with his/her own version. It is easy thing to do: all
266
+ that is needed is to derive a class from Wx::ArtProvider, override its
267
+ CreateBitmap method and register the provider with
268
+ Wx::ArtProvider.push_provider.
269
+
270
+ This class can also be used to get the platform native icons as
271
+ provided by Wx::ArtProvider.get_bitmap or Wx::ArtProvider.get_icon methods.'
272
+
273
+ end
274
+
275
+ end
276
+
277
+ if __FILE__ == $0
278
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
279
+ load run_solo_lib
280
+ run File.basename($0)
281
+ end
@@ -0,0 +1,65 @@
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
+ require 'wx'
12
+
13
+
14
+ class TestPanel < Wx::Panel
15
+ def initialize(parent, log)
16
+ super(parent, :style => Wx::NO_FULL_REPAINT_ON_RESIZE)
17
+ @log = log
18
+
19
+ bmp_file = File.join( File.dirname(__FILE__), 'icons', 'test2.bmp')
20
+ bmp = Wx::Bitmap.new(bmp_file, Wx::BITMAP_TYPE_BMP)
21
+ bmp.mask= Wx::Mask.new(bmp, Wx::BLUE)
22
+
23
+ b = Wx::BitmapButton.new( self,
24
+ :bitmap => bmp,
25
+ :pos => [ 20, 20 ],
26
+ :size => [ bmp.width + 10,bmp.height + 10] )
27
+ evt_button b, :on_click
28
+ b.tool_tip = 'This is a bitmap button.'
29
+
30
+ b = Wx::BitmapButton.new( self,
31
+ :bitmap => bmp,
32
+ :pos => [ 20, 120 ],
33
+ :size => [ bmp.width + 10,bmp.height + 10],
34
+ :style => Wx::NO_BORDER)
35
+ evt_button b, :on_click
36
+ b.tool_tip = "This is a Bitmap button with\nWx::NO_BORDER style."
37
+
38
+ bmp_file = File.join( File.dirname(__FILE__), 'icons', 'smiles.bmp')
39
+ bmp = Wx::Bitmap.new(bmp_file, Wx::BITMAP_TYPE_BMP)
40
+ b.bitmap_selected = bmp
41
+ end
42
+
43
+ def on_click(event)
44
+ @log.write_text("Click! %d" % event.id)
45
+ end
46
+ end
47
+
48
+ module Demo
49
+
50
+ def Demo.run(frame, nb, log)
51
+ win = TestPanel.new(nb, log)
52
+ return win
53
+ end
54
+
55
+ def Demo.overview
56
+ return "A BitmapButton control displays a bitmap. It can have a separate bitmap for each button state: normal, selected, disabled.\n\nThe bitmaps to be displayed should have a small number of colours, such as 16, to avoid palette problems.\n\nA bitmap can be derived from most image formats using the Wx::Image class."
57
+ end
58
+
59
+ end
60
+
61
+ if __FILE__ == $0
62
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
63
+ load run_solo_lib
64
+ run File.basename($0)
65
+ end
@@ -0,0 +1,64 @@
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
+
12
+ class TestPanel < Wx::Panel
13
+ def initialize(parent, log)
14
+ super(parent, -1, Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::NO_FULL_REPAINT_ON_RESIZE)
15
+ @log = log
16
+
17
+ b = Wx::Button.new(self, 10, "Hello", Wx::Point.new(20,20))
18
+ evt_button(10) {|event| on_click(event)}
19
+ b.set_background_colour(Wx::BLUE)
20
+ b.set_foreground_colour(Wx::WHITE)
21
+ b.set_default()
22
+
23
+ b = Wx::Button.new(self, 20, "HELLO AGAIN!", Wx::Point.new(20,60), Wx::Size.new(120,45))
24
+ evt_button(20) {|event| on_click(event)}
25
+ b.set_tool_tip("This is a Hello button...")
26
+
27
+ bmp_file = File.join( File.dirname(__FILE__), 'icons', 'test2.bmp')
28
+ bmp = Wx::Bitmap.new(bmp_file, Wx::BITMAP_TYPE_BMP)
29
+ bmp_size = Wx::Size.new(bmp.get_width + 10, bmp.get_height + 10)
30
+
31
+ #mask = Wx::MaskColour.new(bmp, Wx::BLUE)
32
+ #bmp.set_mask(mask)
33
+
34
+ Wx::BitmapButton.new(self, 30, bmp,
35
+ Wx::Point.new(160, 20), bmp_size)
36
+ evt_button(30) {|event| on_click(event)}
37
+
38
+ end
39
+
40
+ def on_click(event)
41
+ @log.write_text("Click! %d" % event.get_id())
42
+ end
43
+
44
+
45
+ end
46
+
47
+ module Demo
48
+
49
+ def Demo.run(frame, nb, log)
50
+ win = TestPanel.new(nb, log)
51
+ return win
52
+ end
53
+
54
+ def Demo.overview
55
+ return "A button is a control that contains a text string or a bitmap and cab be placed on nearly any kind of window."
56
+ end
57
+
58
+ end
59
+
60
+ if __FILE__ == $0
61
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
62
+ load run_solo_lib
63
+ run File.basename($0)
64
+ end
@@ -0,0 +1,60 @@
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
+ require 'date'
10
+
11
+ class TestPanel < Wx::Panel
12
+ attr_reader :cal
13
+
14
+ def initialize(parent, id, log)
15
+ super(parent, id)
16
+ @log = log
17
+
18
+ date = DateTime.now
19
+ @cal = Wx::CalendarCtrl.new(self, :date => date, :pos => [ 25, 50 ],
20
+ :style => Wx::CAL_SHOW_HOLIDAYS|
21
+ Wx::CAL_SUNDAY_FIRST|
22
+ Wx::CAL_SEQUENTIAL_MONTH_SELECTION)
23
+
24
+ evt_calendar cal, :on_cal_selected
25
+ # Set up control to display a set of holidays:
26
+ evt_calendar_month cal, :on_change_month
27
+ @holidays = [ [1,1], [10,31], [12,25] ] #(these don't move around)
28
+ end
29
+ def on_cal_selected(event)
30
+ @log.write_text( "on_cal_selected: " + event.date.strftime("%F") )
31
+ end
32
+
33
+ # missing get_current_month() method
34
+ def on_change_month(event)
35
+ #~ cur_month = @cal.get_date().get_current_month() + 1
36
+ #~ @holidays.each do |date|
37
+ #~ if date[0] == cur_month
38
+ #~ @cal.set_holiday(date[1])
39
+ #~ end
40
+ #~ end
41
+ event.skip()
42
+ end
43
+ end
44
+
45
+ module Demo
46
+ def Demo.run(frame, nb, log)
47
+ win = TestPanel.new(nb, -1, log)
48
+ return win
49
+ end
50
+
51
+ def Demo.overview
52
+ return "The calendar control allows the user to pick a date interactively. For this, it displays a window containing several parts: the control to pick the month and the year at the top (either or both of them may be disabled) and a month area below them which shows all the days in the month. The user can move the current selection using the keyboard and select the date (generating EVT_CALENDAR event) by pressing <Return> or double clicking it."
53
+ end
54
+ end
55
+
56
+ if __FILE__ == $0
57
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
58
+ load run_solo_lib
59
+ run File.basename($0)
60
+ end