wxruby64 2.0.1-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (279) hide show
  1. checksums.yaml +7 -0
  2. data/INSTALL +254 -0
  3. data/LICENSE +53 -0
  4. data/README +198 -0
  5. data/art/wxruby-128x128.png +0 -0
  6. data/art/wxruby-256x256.png +0 -0
  7. data/art/wxruby-64x64.png +0 -0
  8. data/art/wxruby.png +0 -0
  9. data/lib/wx.rb +53 -0
  10. data/lib/wx/accessors.rb +68 -0
  11. data/lib/wx/classes/acceleratortable.rb +28 -0
  12. data/lib/wx/classes/animation.rb +18 -0
  13. data/lib/wx/classes/app.rb +51 -0
  14. data/lib/wx/classes/artprovider.rb +31 -0
  15. data/lib/wx/classes/auinotebook.rb +9 -0
  16. data/lib/wx/classes/bitmap.rb +59 -0
  17. data/lib/wx/classes/busycursor.rb +12 -0
  18. data/lib/wx/classes/checklistbox.rb +46 -0
  19. data/lib/wx/classes/choice.rb +4 -0
  20. data/lib/wx/classes/clientdc.rb +13 -0
  21. data/lib/wx/classes/clipboard.rb +56 -0
  22. data/lib/wx/classes/colour.rb +49 -0
  23. data/lib/wx/classes/combobox.rb +4 -0
  24. data/lib/wx/classes/commandevent.rb +7 -0
  25. data/lib/wx/classes/controlwithitems.rb +10 -0
  26. data/lib/wx/classes/data_object.rb +14 -0
  27. data/lib/wx/classes/data_object_simple.rb +6 -0
  28. data/lib/wx/classes/dataformat.rb +23 -0
  29. data/lib/wx/classes/dc.rb +57 -0
  30. data/lib/wx/classes/event.rb +5 -0
  31. data/lib/wx/classes/evthandler.rb +1039 -0
  32. data/lib/wx/classes/font.rb +118 -0
  33. data/lib/wx/classes/functions.rb +44 -0
  34. data/lib/wx/classes/gauge.rb +12 -0
  35. data/lib/wx/classes/genericdirctrl.rb +36 -0
  36. data/lib/wx/classes/grid.rb +146 -0
  37. data/lib/wx/classes/hboxsizer.rb +6 -0
  38. data/lib/wx/classes/helpcontroller.rb +5 -0
  39. data/lib/wx/classes/helpcontrollerhelpprovider.rb +23 -0
  40. data/lib/wx/classes/helpprovider.rb +15 -0
  41. data/lib/wx/classes/htmlhelpcontroller.rb +5 -0
  42. data/lib/wx/classes/htmlwindow.rb +14 -0
  43. data/lib/wx/classes/icon.rb +32 -0
  44. data/lib/wx/classes/iconbundle.rb +3 -0
  45. data/lib/wx/classes/image.rb +53 -0
  46. data/lib/wx/classes/imagelist.rb +3 -0
  47. data/lib/wx/classes/listbox.rb +4 -0
  48. data/lib/wx/classes/listctrl.rb +33 -0
  49. data/lib/wx/classes/locale.rb +28 -0
  50. data/lib/wx/classes/mediactrl.rb +48 -0
  51. data/lib/wx/classes/menu.rb +62 -0
  52. data/lib/wx/classes/menuitem.rb +7 -0
  53. data/lib/wx/classes/notebook.rb +9 -0
  54. data/lib/wx/classes/object.rb +14 -0
  55. data/lib/wx/classes/paintdc.rb +12 -0
  56. data/lib/wx/classes/point.rb +56 -0
  57. data/lib/wx/classes/previewframe.rb +13 -0
  58. data/lib/wx/classes/rect.rb +19 -0
  59. data/lib/wx/classes/richtextctrl.rb +63 -0
  60. data/lib/wx/classes/simplehelpprovider.rb +38 -0
  61. data/lib/wx/classes/size.rb +58 -0
  62. data/lib/wx/classes/sizer.rb +43 -0
  63. data/lib/wx/classes/sound.rb +23 -0
  64. data/lib/wx/classes/splitterwindow.rb +10 -0
  65. data/lib/wx/classes/standardpaths.rb +9 -0
  66. data/lib/wx/classes/styledtextctrl.rb +92 -0
  67. data/lib/wx/classes/textctrl.rb +14 -0
  68. data/lib/wx/classes/texturlevent.rb +18 -0
  69. data/lib/wx/classes/timer.rb +96 -0
  70. data/lib/wx/classes/toolbar.rb +36 -0
  71. data/lib/wx/classes/toolbartool.rb +4 -0
  72. data/lib/wx/classes/treectrl.rb +44 -0
  73. data/lib/wx/classes/validator.rb +7 -0
  74. data/lib/wx/classes/vboxsizer.rb +6 -0
  75. data/lib/wx/classes/window.rb +89 -0
  76. data/lib/wx/classes/xmlresource.rb +54 -0
  77. data/lib/wx/helpers.rb +54 -0
  78. data/lib/wx/keyword_ctors.rb +204 -0
  79. data/lib/wx/keyword_defs.rb +585 -0
  80. data/lib/wx/version.rb +3 -0
  81. data/lib/wxruby2.so +0 -0
  82. data/samples/SAMPLES-LICENSE.TXT +18 -0
  83. data/samples/aui/aui.rb +1356 -0
  84. data/samples/bigdemo/About.rbw +39 -0
  85. data/samples/bigdemo/ColorPanel.rbw +23 -0
  86. data/samples/bigdemo/GridSimple.rbw +78 -0
  87. data/samples/bigdemo/MDIDemo.rbw +57 -0
  88. data/samples/bigdemo/PopupMenu.rbw +149 -0
  89. data/samples/bigdemo/ShapedWindow.rbw +128 -0
  90. data/samples/bigdemo/Sizers.rbw +543 -0
  91. data/samples/bigdemo/bigdemo.rb +823 -0
  92. data/samples/bigdemo/demoTemplate.rbw +33 -0
  93. data/samples/bigdemo/helpfile.htb +0 -0
  94. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  95. data/samples/bigdemo/icons/Test 015.png +0 -0
  96. data/samples/bigdemo/icons/choice.bmp +0 -0
  97. data/samples/bigdemo/icons/choice.xpm +27 -0
  98. data/samples/bigdemo/icons/combo.bmp +0 -0
  99. data/samples/bigdemo/icons/combo.xpm +27 -0
  100. data/samples/bigdemo/icons/copy.xpm +25 -0
  101. data/samples/bigdemo/icons/cut.xpm +24 -0
  102. data/samples/bigdemo/icons/gauge.bmp +0 -0
  103. data/samples/bigdemo/icons/gauge.xpm +27 -0
  104. data/samples/bigdemo/icons/help.xpm +25 -0
  105. data/samples/bigdemo/icons/list.bmp +0 -0
  106. data/samples/bigdemo/icons/list.xpm +27 -0
  107. data/samples/bigdemo/icons/mondrian.ico +0 -0
  108. data/samples/bigdemo/icons/mondrian.xpm +44 -0
  109. data/samples/bigdemo/icons/new.xpm +24 -0
  110. data/samples/bigdemo/icons/ogl.ico +0 -0
  111. data/samples/bigdemo/icons/ogl.xpm +45 -0
  112. data/samples/bigdemo/icons/open.xpm +26 -0
  113. data/samples/bigdemo/icons/paste.bmp +0 -0
  114. data/samples/bigdemo/icons/paste.xpm +38 -0
  115. data/samples/bigdemo/icons/pointy.png +0 -0
  116. data/samples/bigdemo/icons/preview.xpm +26 -0
  117. data/samples/bigdemo/icons/print.xpm +26 -0
  118. data/samples/bigdemo/icons/radio.bmp +0 -0
  119. data/samples/bigdemo/icons/radio.xpm +27 -0
  120. data/samples/bigdemo/icons/robert.xpm +415 -0
  121. data/samples/bigdemo/icons/sashtest.ico +0 -0
  122. data/samples/bigdemo/icons/save.xpm +25 -0
  123. data/samples/bigdemo/icons/smiles.bmp +0 -0
  124. data/samples/bigdemo/icons/smiles.xpm +39 -0
  125. data/samples/bigdemo/icons/smiley.ico +0 -0
  126. data/samples/bigdemo/icons/smiley.xpm +42 -0
  127. data/samples/bigdemo/icons/stattext.xpm +24 -0
  128. data/samples/bigdemo/icons/test2.bmp +0 -0
  129. data/samples/bigdemo/icons/test2.png +0 -0
  130. data/samples/bigdemo/icons/test2.xpm +79 -0
  131. data/samples/bigdemo/icons/text.bmp +0 -0
  132. data/samples/bigdemo/icons/text.xpm +27 -0
  133. data/samples/bigdemo/icons/tog1.bmp +0 -0
  134. data/samples/bigdemo/icons/tog1.xpm +38 -0
  135. data/samples/bigdemo/icons/tog2.bmp +0 -0
  136. data/samples/bigdemo/icons/tog2.xpm +38 -0
  137. data/samples/bigdemo/icons/wxruby-128x128.png +0 -0
  138. data/samples/bigdemo/icons/wxwin.ico +0 -0
  139. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  140. data/samples/bigdemo/icons/wxwin16x16.xpm +25 -0
  141. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  142. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  143. data/samples/bigdemo/run.rb +90 -0
  144. data/samples/bigdemo/tips.txt +7 -0
  145. data/samples/bigdemo/utils.rb +12 -0
  146. data/samples/bigdemo/wxArtProvider.rbw +281 -0
  147. data/samples/bigdemo/wxBitmapButton.rbw +65 -0
  148. data/samples/bigdemo/wxButton.rbw +64 -0
  149. data/samples/bigdemo/wxCalendarCtrl.rbw +60 -0
  150. data/samples/bigdemo/wxCheckBox.rbw +50 -0
  151. data/samples/bigdemo/wxCheckListBox.rbw +65 -0
  152. data/samples/bigdemo/wxChoice.rbw +47 -0
  153. data/samples/bigdemo/wxChoicebook.rbw +78 -0
  154. data/samples/bigdemo/wxColourDialog.rbw +31 -0
  155. data/samples/bigdemo/wxComboBox.rbw +77 -0
  156. data/samples/bigdemo/wxCursor.rbw +136 -0
  157. data/samples/bigdemo/wxDialog.rbw +74 -0
  158. data/samples/bigdemo/wxDirDialog.rbw +29 -0
  159. data/samples/bigdemo/wxDragImage.rbw +70 -0
  160. data/samples/bigdemo/wxFileDialog.rbw +37 -0
  161. data/samples/bigdemo/wxFileDialog_Save.rbw +35 -0
  162. data/samples/bigdemo/wxFindReplaceDialog.rbw +82 -0
  163. data/samples/bigdemo/wxFontDialog.rbw +173 -0
  164. data/samples/bigdemo/wxFrame.rbw +53 -0
  165. data/samples/bigdemo/wxGauge.rbw +71 -0
  166. data/samples/bigdemo/wxGenericDirCtrl.rbw +74 -0
  167. data/samples/bigdemo/wxGrid.rbw +66 -0
  168. data/samples/bigdemo/wxHtmlHelpController.rbw +52 -0
  169. data/samples/bigdemo/wxListBox.rbw +140 -0
  170. data/samples/bigdemo/wxListCtrl_virtual.rbw +112 -0
  171. data/samples/bigdemo/wxMDIWindows.rbw +50 -0
  172. data/samples/bigdemo/wxMenu.rbw +236 -0
  173. data/samples/bigdemo/wxMessageDialog.rbw +27 -0
  174. data/samples/bigdemo/wxMiniFrame.rbw +70 -0
  175. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +32 -0
  176. data/samples/bigdemo/wxNotebook.rbw +136 -0
  177. data/samples/bigdemo/wxProgressDialog.rbw +43 -0
  178. data/samples/bigdemo/wxRadioBox.rbw +72 -0
  179. data/samples/bigdemo/wxRadioButton.rbw +125 -0
  180. data/samples/bigdemo/wxSashWindow.rbw +141 -0
  181. data/samples/bigdemo/wxScrolledMessageDialog.rbw +57 -0
  182. data/samples/bigdemo/wxScrolledWindow.rbw +199 -0
  183. data/samples/bigdemo/wxSingleChoiceDialog.rbw +33 -0
  184. data/samples/bigdemo/wxSlider.rbw +42 -0
  185. data/samples/bigdemo/wxSpinButton.rbw +50 -0
  186. data/samples/bigdemo/wxSpinCtrl.rbw +51 -0
  187. data/samples/bigdemo/wxSplitterWindow.rbw +63 -0
  188. data/samples/bigdemo/wxStaticBitmap.rbw +47 -0
  189. data/samples/bigdemo/wxStaticText.rbw +55 -0
  190. data/samples/bigdemo/wxStatusBar.rbw +126 -0
  191. data/samples/bigdemo/wxTextCtrl.rbw +149 -0
  192. data/samples/bigdemo/wxTextEntryDialog.rbw +31 -0
  193. data/samples/bigdemo/wxToggleButton.rbw +49 -0
  194. data/samples/bigdemo/wxToolBar.rbw +131 -0
  195. data/samples/bigdemo/wxTreeCtrl.rbw +191 -0
  196. data/samples/calendar/calendar.rb +348 -0
  197. data/samples/caret/caret.rb +282 -0
  198. data/samples/caret/mondrian.xpm +44 -0
  199. data/samples/controls/controls.rb +1136 -0
  200. data/samples/controls/get_item_sample.rb +87 -0
  201. data/samples/controls/icons/choice.xpm +27 -0
  202. data/samples/controls/icons/combo.xpm +27 -0
  203. data/samples/controls/icons/gauge.xpm +27 -0
  204. data/samples/controls/icons/list.xpm +27 -0
  205. data/samples/controls/icons/radio.xpm +27 -0
  206. data/samples/controls/icons/stattext.xpm +24 -0
  207. data/samples/controls/icons/text.xpm +27 -0
  208. data/samples/controls/mondrian.ico +0 -0
  209. data/samples/controls/mondrian.xpm +44 -0
  210. data/samples/controls/test2.bmp +0 -0
  211. data/samples/dialogs/dialogs.rb +797 -0
  212. data/samples/dialogs/tips.txt +18 -0
  213. data/samples/dragdrop/dragdrop.rb +177 -0
  214. data/samples/drawing/bitmap.rb +49 -0
  215. data/samples/drawing/bitmap_image.rb +92 -0
  216. data/samples/drawing/graphics_drawing.rb +235 -0
  217. data/samples/drawing/maths_images.rb +265 -0
  218. data/samples/drawing/rmagic_bitmap_image.rb +110 -0
  219. data/samples/drawing/ruby-logo.jpg +0 -0
  220. data/samples/etc/activation.rb +102 -0
  221. data/samples/etc/choice.rb +67 -0
  222. data/samples/etc/miniframe.rb +79 -0
  223. data/samples/etc/sash.rb +130 -0
  224. data/samples/etc/scrollwin.rb +110 -0
  225. data/samples/etc/system_settings.rb +252 -0
  226. data/samples/etc/threaded.rb +72 -0
  227. data/samples/etc/toolbar_sizer_additem.rb +55 -0
  228. data/samples/etc/wizard.rb +74 -0
  229. data/samples/event/event.rb +182 -0
  230. data/samples/event/update_ui_event.rb +70 -0
  231. data/samples/grid/grid.rb +198 -0
  232. data/samples/grid/gridtablebase.rb +148 -0
  233. data/samples/html/html.rb +262 -0
  234. data/samples/listbook/listbook.rb +174 -0
  235. data/samples/listbook/listbook.xrc +370 -0
  236. data/samples/mdi/mdi.rb +85 -0
  237. data/samples/media/mediactrl.rb +167 -0
  238. data/samples/minimal/minimal.rb +77 -0
  239. data/samples/minimal/mondrian.ico +0 -0
  240. data/samples/minimal/mondrian.png +0 -0
  241. data/samples/minimal/nothing.rb +16 -0
  242. data/samples/opengl/cube.rb +130 -0
  243. data/samples/opengl/cube_anim_lighting.rb +191 -0
  244. data/samples/printing/mondrian.ico +0 -0
  245. data/samples/printing/mondrian.xpm +44 -0
  246. data/samples/printing/printing.rb +487 -0
  247. data/samples/sockets/SocketPackets.rb +27 -0
  248. data/samples/sockets/res/message-new.png +0 -0
  249. data/samples/sockets/res/user.png +0 -0
  250. data/samples/sockets/wxClient.rb +395 -0
  251. data/samples/sockets/wxServer.rb +422 -0
  252. data/samples/sockets/wxSocketGUI.rb +97 -0
  253. data/samples/text/document-open.png +0 -0
  254. data/samples/text/document-save.png +0 -0
  255. data/samples/text/edit-copy.png +0 -0
  256. data/samples/text/edit-cut.png +0 -0
  257. data/samples/text/edit-paste.png +0 -0
  258. data/samples/text/edit-redo.png +0 -0
  259. data/samples/text/edit-undo.png +0 -0
  260. data/samples/text/format-text-bold.png +0 -0
  261. data/samples/text/format-text-italic.png +0 -0
  262. data/samples/text/format-text-underline.png +0 -0
  263. data/samples/text/mondrian.ico +0 -0
  264. data/samples/text/mondrian.xpm +44 -0
  265. data/samples/text/preferences-desktop-font.png +0 -0
  266. data/samples/text/rich_textctrl.rb +290 -0
  267. data/samples/text/scintilla.rb +169 -0
  268. data/samples/text/textctrl.rb +111 -0
  269. data/samples/text/unicode.rb +242 -0
  270. data/samples/text/utf8.txt +15 -0
  271. data/samples/treectrl/icon1.xpm +79 -0
  272. data/samples/treectrl/icon2.xpm +53 -0
  273. data/samples/treectrl/icon3.xpm +79 -0
  274. data/samples/treectrl/icon4.xpm +43 -0
  275. data/samples/treectrl/icon5.xpm +79 -0
  276. data/samples/treectrl/treectrl.rb +1166 -0
  277. data/samples/xrc/samples.xrc +46 -0
  278. data/samples/xrc/xrc_sample.rb +76 -0
  279. metadata +330 -0
@@ -0,0 +1,39 @@
1
+ module About
2
+
3
+ class MyAboutBox < Wx::Dialog
4
+ def initialize(parent)
5
+ super(parent, -1, "About the WxRuby Demo.")
6
+ sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
7
+ set_size(Wx::Size.new(510,310))
8
+ headerFont = Wx::Font.new(36, Wx::SWISS, Wx::NORMAL, Wx::NORMAL)
9
+ bodyFont = Wx::Font.new(12, Wx::SWISS, Wx::NORMAL, Wx::NORMAL)
10
+ title = Wx::StaticText.new(self, -1, "WxRuby Demo!", Wx::Point.new(20, 20))
11
+ title.set_font(headerFont)
12
+
13
+ rVersion = Wx::StaticText.new(self, -1, "Running on Ruby version " + RUBY_VERSION + " on " + RUBY_PLATFORM, Wx::Point.new(20,100))
14
+ rVersion.set_font(bodyFont)
15
+ rVersion.set_foreground_colour(Wx::RED)
16
+
17
+ wxVersion = Wx::StaticText.new(self, -1, Wx::VERSION_STRING, Wx::Point.new(20,120))
18
+ wxVersion.set_font(bodyFont)
19
+ wxVersion.set_foreground_colour(Wx::BLUE)
20
+
21
+ str = "Welcome to the WxRuby Demo! This demo has been ported from the \nwxPython demo created by ROBIN DUNN (http://www.wxpython.org).\nGo ahead and click on each demo via the tree or the demo menu.\nLook at the source code - it is an excellent way to learn WxRuby!\n\nPorted by Robert Paul Carlin"
22
+ body = Wx::StaticText.new(self, -1, str, Wx::Point.new(20, 160))
23
+ body.set_font(bodyFont)
24
+
25
+ self.centre_on_parent(Wx::BOTH)
26
+
27
+
28
+ end
29
+
30
+
31
+ end
32
+
33
+ end
34
+
35
+ if __FILE__ == $0
36
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
37
+ load run_solo_lib
38
+ run File.basename($0)
39
+ end
@@ -0,0 +1,23 @@
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 ColoredPanel < Wx::Window
13
+ def initialize(parent, color)
14
+ super(parent, -1, Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::SIMPLE_BORDER)
15
+ set_background_colour(color)
16
+ end
17
+ end
18
+
19
+ if __FILE__ == $0
20
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
21
+ load run_solo_lib
22
+ run File.basename($0)
23
+ end
@@ -0,0 +1,78 @@
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 SimpleGrid < Wx::Grid
13
+
14
+ def initialize(parent, log)
15
+ super(parent, -1)
16
+ @log = log
17
+ @moveTo = nil
18
+
19
+ evt_idle {|event| on_idle(event)}
20
+
21
+ create_grid(25,25)
22
+
23
+ # simple cell formatting
24
+ set_col_size(3,200)
25
+ set_row_size(4,45)
26
+ set_cell_value(0,0,"First cell")
27
+ set_cell_value(1,1,"Another cell")
28
+ set_cell_value(2,2,"Yet another cell")
29
+ set_cell_value(3,3,"This cell is read-only")
30
+ set_cell_font(0,0, Wx::Font.new(12, Wx::ROMAN, Wx::ITALIC, Wx::NORMAL))
31
+ set_cell_text_colour(1,1,Wx::RED)
32
+ set_cell_background_colour(2,2,Wx::CYAN)
33
+ set_read_only(3,3,true)
34
+
35
+ set_col_label_value(0, "Custom")
36
+ set_col_label_value(1, "column")
37
+ set_col_label_value(2, "labels")
38
+
39
+ set_col_label_alignment(Wx::ALIGN_LEFT, Wx::ALIGN_BOTTOM)
40
+
41
+ # overflow cells
42
+ set_cell_value(9,1, "This default cell will overflow into neighboring cells, but not if you turn overflow off.")
43
+ #set_cell_size(11, 1, 3, 3)
44
+ set_cell_alignment(11, 1, Wx::ALIGN_CENTRE, Wx::ALIGN_CENTRE)
45
+ set_cell_value(11, 1, "This cell is set to span 3 rows and 3 columns")
46
+
47
+ # evt_grid_cell_left_click {|event| on_cell_left_click(event)}
48
+ end
49
+
50
+ def on_cell_left_click(event)
51
+ @log.write_text("on_cell_left_click: (%d,%d)" % [evt.get_row(), evt.get_col()])
52
+ evt.skip()
53
+ end
54
+
55
+ def on_idle(event)
56
+ if @moveTo != nil
57
+ set_grid_cursor(@moveTo[0], @moveTo[1])
58
+ @moveTo = nil
59
+ end
60
+ event.skip()
61
+ end
62
+ end
63
+
64
+ module GridDemo
65
+ class TestFrame < Wx::Frame
66
+ def initialize(parent, log)
67
+ super(parent, -1, "Simple Grid Demo", Wx::DEFAULT_POSITION, Wx::Size.new(640,480))
68
+ grid = SimpleGrid.new(self, log)
69
+ end
70
+ end
71
+ end
72
+
73
+
74
+ if __FILE__ == $0
75
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
76
+ load run_solo_lib
77
+ run File.basename($0)
78
+ end
@@ -0,0 +1,57 @@
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
+ module Demo
13
+
14
+ class MyParentFrame < Wx::MDIParentFrame
15
+ def initialize
16
+ super(nil, -1, "MDI Parent", Wx::DEFAULT_POSITION,
17
+ Wx::Size.new(600,400))
18
+
19
+ @win_count = 0
20
+ menu = Wx::Menu.new
21
+ menu.append(5000, "&New Window")
22
+ menu.append_separator
23
+ menu.append(5001, "E&xit")
24
+
25
+ menubar = Wx::MenuBar.new()
26
+ menubar.append(menu, "&File")
27
+ set_menu_bar(menubar)
28
+
29
+ create_status_bar
30
+
31
+ evt_menu(5000) {|event| on_new_window(event)}
32
+ evt_menu(5001) {|event| on_exit(event)}
33
+ scrollwin_demo_file = File.join(File.dirname(__FILE__),
34
+ "wxScrolledWindow.rbw")
35
+ load scrollwin_demo_file
36
+ end
37
+
38
+ def on_exit(event)
39
+ close()
40
+ end
41
+
42
+ def on_new_window(event)
43
+ @win_count += 1
44
+ win = Wx::MDIChildFrame.new(self, -1, "Child Window: #{@win_count}")
45
+ canvas = MyCanvas.new(win)
46
+ win.show
47
+ end
48
+ end
49
+
50
+ end
51
+
52
+
53
+ if __FILE__ == $0
54
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
55
+ load run_solo_lib
56
+ run File.basename($0)
57
+ end
@@ -0,0 +1,149 @@
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
+ TEXT = "Right-click on the panel (or Ctrl-click on the Mac) to show a popup\nmenu. Then look at the code for this sample. Notice how the\nPopupMenu method is similar to the ShowModal method of a wxDialog in\nthat it doesn't return until the popup menu has been dismissed. The\nevent handlers for the popup menu items can either be attached to the\nmenu itself, or to the window that invokes PopupMenu."
13
+
14
+ class TestPanel < Wx::Panel
15
+ def initialize(parent, log)
16
+ @log = log
17
+ super(parent, -1)
18
+ @bound = false
19
+ box = Wx::BoxSizer.new(Wx::VERTICAL)
20
+
21
+ # Make and layout controls
22
+ fs = get_font().get_point_size()
23
+ bf = Wx::Font.new(fs + 4, Wx::SWISS, Wx::NORMAL, Wx::BOLD)
24
+ nf = Wx::Font.new(fs + 2, Wx::SWISS, Wx::NORMAL, Wx::NORMAL)
25
+
26
+ t = Wx::StaticText.new(self, -1, "Popup menu", Wx::DEFAULT_POSITION)
27
+ t.set_font(bf)
28
+ box.add(t, 0, Wx::CENTER | Wx::ALL, 5)
29
+
30
+ box.add(Wx::StaticLine.new(self, -1), 0, Wx::EXPAND)
31
+ box.add(10,20)
32
+
33
+ t = Wx::StaticText.new(self, -1, TEXT)
34
+ t.set_font(nf)
35
+ box.add(t, 0, Wx::CENTER | Wx::ALL, 5)
36
+
37
+ set_sizer(box)
38
+
39
+ evt_right_up {|event| on_right_click(event)}
40
+ end
41
+
42
+ def on_right_click(event)
43
+ @log.write_text("on_right_click")
44
+
45
+ # only do this part the first time so the events are only bound once
46
+ if @bound == false
47
+ @popupID1,
48
+ @popupID2,
49
+ @popupID3,
50
+ @popupID4,
51
+ @popupID5,
52
+ @popupID6,
53
+ @popupID7,
54
+ @popupID8,
55
+ @popupID9 = (5000..5008).to_a()
56
+ evt_menu(@popupID1) {|event| on_popup_one(event)}
57
+ evt_menu(@popupID2) {|event| on_popup_two(event)}
58
+ evt_menu(@popupID3) {|event| on_popup_three(event)}
59
+ evt_menu(@popupID4) {|event| on_popup_four(event)}
60
+ evt_menu(@popupID5) {|event| on_popup_five(event)}
61
+ evt_menu(@popupID6) {|event| on_popup_six(event)}
62
+ evt_menu(@popupID7) {|event| on_popup_seven(event)}
63
+ evt_menu(@popupID8) {|event| on_popup_eight(event)}
64
+ evt_menu(@popupID9) {|event| on_popup_nine(event)}
65
+ @bound = true
66
+ end
67
+
68
+ # make a menu
69
+ menu = Wx::Menu.new()
70
+ # Show how to put an icon in the menu
71
+ item = Wx::MenuItem.new(menu, @popupID1, "One")
72
+ # set_bitmap is only available on GTK and Windows
73
+ if item.respond_to?(:set_bitmap)
74
+ bmp_file = File.join( File.dirname(__FILE__), 'icons', 'smiley.xpm')
75
+ item.set_bitmap( Wx::Bitmap.new(bmp_file) )
76
+ end
77
+ menu.append_item(item)
78
+ # add some other items
79
+ menu.append(@popupID2, "Two")
80
+ menu.append(@popupID3, "Three")
81
+ menu.append(@popupID4, "Four")
82
+ menu.append(@popupID5, "Five")
83
+ menu.append(@popupID6, "Six")
84
+ # make a submenu
85
+ sm = Wx::Menu.new()
86
+ sm.append(@popupID8, "sub item 1")
87
+ sm.append(@popupID9, "sub item 2")
88
+ mItem = Wx::MenuItem.new(menu, @popupID7, "Test Submenu", "", Wx::ITEM_NORMAL, sm)
89
+ menu.append_item(mItem)
90
+
91
+ popup_menu(menu, Wx::Point.new(event.get_x(), event.get_y()))
92
+ #menu.destroy()
93
+ end
94
+
95
+ def on_popup_one(event)
96
+ @log.write_text("Popup one")
97
+ end
98
+
99
+ def on_popup_two(event)
100
+ @log.write_text("Popup two")
101
+ end
102
+
103
+ def on_popup_three(event)
104
+ @log.write_text("Popup three")
105
+ end
106
+
107
+ def on_popup_four(event)
108
+ @log.write_text("Popup four")
109
+ end
110
+
111
+ def on_popup_five(event)
112
+ @log.write_text("Popup five")
113
+ end
114
+
115
+ def on_popup_six(event)
116
+ @log.write_text("Popup six")
117
+ end
118
+
119
+ def on_popup_seven(event)
120
+ @log.write_text("Popup seven")
121
+ end
122
+
123
+ def on_popup_eight(event)
124
+ @log.write_text("Popup eight")
125
+ end
126
+
127
+ def on_popup_nine(event)
128
+ @log.write_text("Popup nine")
129
+ end
130
+
131
+ end
132
+
133
+ module Demo
134
+ def Demo.run(frame, nb, log)
135
+ win = TestPanel.new(nb, log)
136
+ return win
137
+ end
138
+
139
+ def Demo.overview
140
+ return ""
141
+ end
142
+ end
143
+
144
+
145
+ if __FILE__ == $0
146
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
147
+ load run_solo_lib
148
+ run File.basename($0)
149
+ end
@@ -0,0 +1,128 @@
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
+ include Wx
11
+
12
+ class MyFrame < Frame
13
+ def initialize(parent, log)
14
+ @log = log
15
+ super(parent, :title => "Shaped Window", :size => [350,200],
16
+ :style => FRAME_SHAPED|SIMPLE_BORDER|FRAME_NO_TASKBAR|STAY_ON_TOP)
17
+
18
+ @has_shape = false
19
+ @delta = [0,0]
20
+
21
+ evt_left_dclick {on_double_click}
22
+ evt_left_down {|event| on_left_down(event)}
23
+ evt_left_up {|event| on_left_up(event)}
24
+ evt_motion {|event| on_mouse_move(event)}
25
+ evt_right_up {on_exit}
26
+ evt_paint {on_paint}
27
+
28
+ shape = File.join( File.dirname(__FILE__), 'icons', 'wxruby-128x128.png' )
29
+ @bmp = Bitmap.new( Image.new(shape) )
30
+ set_client_size(@bmp.width, @bmp.height)
31
+
32
+ if Wx::PLATFORM == 'WXGTK'
33
+ # wxGTK requires that the window be created before you can
34
+ # set its shape, so delay the call to SetWindowShape until
35
+ # this event.
36
+ evt_window_create { set_window_shape }
37
+ else
38
+ # On wxMSW and wxMac the window has already been created, so go for it.
39
+ set_window_shape
40
+ end
41
+
42
+ paint { | dc | dc.draw_bitmap(@bmp, 0, 0, true) }
43
+ end
44
+
45
+ def set_window_shape
46
+ r = Region.new(@bmp)
47
+ @has_shape = set_shape(r)
48
+ end
49
+
50
+ def on_double_click
51
+ if @has_shape
52
+ set_shape(Region.new)
53
+ @has_shape = false
54
+ else
55
+ set_window_shape
56
+ end
57
+ end
58
+
59
+ def on_paint
60
+ paint { | dc | dc.draw_bitmap(@bmp, 0, 0, true) }
61
+ end
62
+
63
+ def on_exit
64
+ close(true)
65
+ end
66
+
67
+ def on_left_down(event)
68
+ capture_mouse
69
+ point = client_to_screen(event.position)
70
+ origin = position
71
+ dx = point.x - origin.x
72
+ dy = point.y - origin.y
73
+ @delta = [dx, dy]
74
+ end
75
+
76
+ def on_left_up(event)
77
+ if has_capture
78
+ release_mouse
79
+ end
80
+ end
81
+
82
+ def on_mouse_move(event)
83
+ if event.dragging and event.left_is_down
84
+ point = client_to_screen(event.position)
85
+ move(point.x - @delta[0], point.y - @delta[1])
86
+ end
87
+ end
88
+ end
89
+
90
+ class TestPanel < Wx::Panel
91
+ def initialize(parent, log)
92
+ super(parent, :style => Wx::NO_FULL_REPAINT_ON_RESIZE)
93
+ @log = log
94
+
95
+ b = Button.new(self, :label => 'Show the ShapedWindow Sample', :pos => [50,50])
96
+ evt_button(b) { on_button }
97
+ end
98
+
99
+ def on_button
100
+ win = MyFrame.new(self, @log)
101
+ win.size = [200, 200]
102
+ win.center_on_parent(Wx::BOTH)
103
+ win.show(true)
104
+ end
105
+ end
106
+
107
+ module Demo
108
+ def Demo.run(frame, nb, log)
109
+ TestPanel.new(nb, log)
110
+ end
111
+
112
+ def Demo.overview
113
+ <<EOS
114
+ Top level windows now have a SetShape method that lets you set a
115
+ non-rectangular shape for the window using a wxRegion. All pixels
116
+ outside of the region will not be drawn and the window will not be
117
+ sensitive to the mouse in those areas either.
118
+ EOS
119
+ end
120
+ end
121
+
122
+
123
+
124
+ if __FILE__ == $0
125
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
126
+ load run_solo_lib
127
+ run File.basename($0)
128
+ end