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,50 @@
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 TestCheckBox < Wx::Panel
13
+ def initialize(parent, log)
14
+ @log = log
15
+ super(parent, -1)
16
+
17
+ Wx::StaticText.new(self, -1, "This example uses the wxCheckBox control", Wx::Point.new(10,10))
18
+
19
+ cID = Wx::ID_HIGHEST + 1
20
+ cb1 = Wx::CheckBox.new(self, cID, " Apples", Wx::Point.new(65, 40), Wx::Size.new(150,20), Wx::NO_BORDER)
21
+ cb2 = Wx::CheckBox.new(self, cID + 1, " Oranges", Wx::Point.new(65,60), Wx::Size.new(150,20), Wx::NO_BORDER)
22
+ cb3 = Wx::CheckBox.new(self, cID + 2, " Pears", Wx::Point.new(65,80), Wx::Size.new(150,20), Wx::NO_BORDER)
23
+
24
+ evt_checkbox(cID) {|event| on_check_box(event)}
25
+ evt_checkbox(cID+1) {|event| on_check_box(event)}
26
+ evt_checkbox(cID+2) {|event| on_check_box(event)}
27
+ end
28
+
29
+ def on_check_box(event)
30
+ @log.write_text("evt_checkbox: " + event.is_checked().to_s)
31
+ end
32
+ end
33
+
34
+
35
+ module Demo
36
+ def Demo.run(frame, nb, log)
37
+ win = TestCheckBox.new(nb, log)
38
+ return win
39
+ end
40
+
41
+ def Demo.overview
42
+ return "A checkbox is a labelled box which is either on (checkmark is visible) or off (no checkmark)."
43
+ end
44
+ end
45
+
46
+ if __FILE__ == $0
47
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
48
+ load run_solo_lib
49
+ run File.basename($0)
50
+ 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
+
12
+ class TestPanel < Wx::Panel
13
+ attr_reader :lb
14
+ def initialize(parent, log)
15
+ super parent
16
+ @log = log
17
+
18
+ sample_list = %w|one two three four five six seven eight
19
+ nine ten eleven twelve thirteen fourteen|
20
+
21
+ self.sizer = Wx::VBoxSizer.new
22
+ tx = Wx::StaticText.new( self,
23
+ :label => "This example uses the wxCheckListBox control.")
24
+ sizer.add(tx, 0, Wx::ALL, 5)
25
+ @lb = Wx::CheckListBox.new(self, :choices => sample_list)
26
+ sizer.add(lb, 1, Wx::ALL|Wx::GROW, 5)
27
+ evt_listbox lb, :on_evt_listbox
28
+ evt_listbox_dclick lb, :on_evt_listbox_dclick
29
+ lb.set_selection(0)
30
+
31
+
32
+ btn = Wx::Button.new(self, :label => "Test SetString")
33
+ sizer.add(btn, 0, Wx::ALL, 5)
34
+ evt_button btn, :on_test_button
35
+ end
36
+
37
+ def on_evt_listbox(event)
38
+ @log.write_text("evt_listbox: " + event.get_string())
39
+ end
40
+
41
+ def on_evt_listbox_dclick(event)
42
+ @log.write_text("evt_listbox_dclick:")
43
+ end
44
+
45
+ def on_test_button(event)
46
+ @lb.set_string(4, "FUBAR")
47
+ end
48
+ end
49
+
50
+ module Demo
51
+ def Demo.run(frame, nb, log)
52
+ win = TestPanel.new(nb, log)
53
+ return win
54
+ end
55
+
56
+ def Demo.overview
57
+ return "A checklistbox is like a listbox, but allows items to be checked or unchecked."
58
+ end
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,47 @@
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 TestChoice < Wx::Panel
13
+ def initialize(parent, log)
14
+ @log = log
15
+ super(parent, -1)
16
+
17
+ sampleList = %w(one two three four five six seven eight)
18
+
19
+ Wx::StaticText.new(self, -1, "This example uses the wxChoice control.", Wx::Point.new(15,10))
20
+
21
+ Wx::StaticText.new(self, -1, "Select one:", Wx::Point.new(15,50), Wx::Size.new(65,20))
22
+ @ch = Wx::Choice.new(self, 40, Wx::Point.new(80,50), Wx::DEFAULT_SIZE, sampleList)
23
+ evt_choice(40) {|event| on_evt_choice(event)}
24
+ end
25
+
26
+ def on_evt_choice(event)
27
+ @log.write_text("evt_choice: " + event.get_string())
28
+ @ch.append("A new item")
29
+ end
30
+ end
31
+
32
+ module Demo
33
+ def Demo.run(frame, nb, log)
34
+ win = TestChoice.new(nb, log)
35
+ return win
36
+ end
37
+
38
+ def Demo.overview
39
+ return "A choice item is used to select one of a list of strings. Unlike a listbox, only the selection is visible until the user pulls down the menu of choices."
40
+ end
41
+ end
42
+
43
+ if __FILE__ == $0
44
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
45
+ load run_solo_lib
46
+ run File.basename($0)
47
+ 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 TestCB < Wx::Choicebook
13
+ def initialize(parent, log)
14
+ @log = log
15
+ super(parent, -1)
16
+
17
+ page_texts = [ "Yet",
18
+ "Another",
19
+ "Way",
20
+ "To",
21
+ "Select",
22
+ "Pages"
23
+ ]
24
+
25
+ # Now make a bunch of panels for the choice book
26
+ count = 1
27
+ page_texts.each { |txt|
28
+ win = Wx::Panel.new(self)
29
+ if count == 1
30
+ st = Wx::StaticText.new(win, -1,
31
+ "Wx::Choicebook is yet another way to switch between 'page' windows",
32
+ Wx::Point.new(10, 10))
33
+ else
34
+ st = Wx::StaticText.new(win, -1, "Page: #{count}", Wx::Point.new(10,10))
35
+ end
36
+ count += 1
37
+
38
+ add_page(win, txt)
39
+ }
40
+
41
+ evt_choicebook_page_changed(get_id) {|event| on_page_changed(event)}
42
+ evt_choicebook_page_changing(get_id) {|event| on_page_changing(event)}
43
+
44
+ end
45
+
46
+ def on_page_changed(event)
47
+ old = event.get_old_selection
48
+ new = event.get_selection
49
+ sel = get_selection
50
+ @log.write_text("on_page_changed, old:#{old}, new:#{new}, sel:#{sel}")
51
+ event.skip
52
+ end
53
+
54
+ def on_page_changing(event)
55
+ old = event.get_old_selection
56
+ new = event.get_selection
57
+ sel = get_selection
58
+ @log.write_text("on_page_changing, old:#{old}, new:#{new}, sel:#{sel}")
59
+ event.skip
60
+ end
61
+ end
62
+
63
+ module Demo
64
+ def Demo.run(frame, nb, log)
65
+ win = TestCB.new(nb, log)
66
+ return win
67
+ end
68
+
69
+ def Demo.overview
70
+ return "This class is a control similar to a notebook control, but uses a Wx::Choice to manage the selection of the pages."
71
+ end
72
+ end
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,31 @@
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
+ def Demo.run(frame, nb, log)
14
+ dlg = Wx::ColourDialog.new(frame)
15
+ dlg.get_colour_data().set_choose_full(true)
16
+ if dlg.show_modal() == Wx::ID_OK
17
+ data = dlg.get_colour_data().get_colour()
18
+ log.write_text("You selected: (%d, %d, %d)" % [data.red, data.green, data.blue])
19
+ end
20
+ end
21
+
22
+ def Demo.overview
23
+ return "Welcome to the wxRuby ColourDialog demo"
24
+ end
25
+ end
26
+
27
+ if __FILE__ == $0
28
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
29
+ load run_solo_lib
30
+ run File.basename($0)
31
+ end
@@ -0,0 +1,77 @@
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 TestComboBox < Wx::Panel
13
+
14
+ def initialize(parent, log)
15
+ super(parent, -1)
16
+ @log = log
17
+ sampleList = %w(zero one two three four five six seven eight)
18
+
19
+ Wx::StaticText.new(self, -1, "This example uses the wxComboBox control.", Wx::Point.new(8,10))
20
+
21
+ Wx::StaticText.new(self, -1, "Select one:", Wx::Point.new(15,50))
22
+ cb = Wx::ComboBox.new(self, 500, "default value", Wx::Point.new(90,50), Wx::DEFAULT_SIZE,
23
+ sampleList, Wx::CB_DROPDOWN)
24
+
25
+ evt_combobox(cb.get_id) {|event| on_combobox(event)}
26
+ evt_text(cb.get_id) {|event| on_evt_text(event)}
27
+ evt_text_enter(cb.get_id) {|event| on_evt_text_enter(event)}
28
+ cb.evt_set_focus {|event| on_set_focus(event)}
29
+ cb.evt_kill_focus {|event| on_kill_focus(event)}
30
+
31
+ cb.append("foo", "This is some client data for this item")
32
+
33
+
34
+ end
35
+
36
+ def on_combobox(event)
37
+ cb = event.get_event_object
38
+ data = cb.get_client_data(event.get_selection)
39
+ @log.write_text("evt_combobox: #{event.get_string}\nClient Data: #{data}")
40
+ end
41
+
42
+ def on_evt_text(event)
43
+ @log.write_text("evt_text: " + event.get_string)
44
+ end
45
+
46
+ def on_evt_text_enter(event)
47
+ @log.write_text("evt_text_enter: " + event.get_string)
48
+ end
49
+
50
+ def on_set_focus(evt)
51
+ @log.write_text("OnSetFocus")
52
+ evt.skip
53
+ end
54
+
55
+ def on_kill_focus(evt)
56
+ @log.write_text("OnKillFocus")
57
+ evt.skip
58
+ end
59
+ end
60
+
61
+ module Demo
62
+ def Demo.run(frame,nb,log)
63
+ win = TestComboBox.new(nb, log)
64
+ return win
65
+ end
66
+
67
+ def Demo.overview
68
+ "A combobox is like a combination of an edit control and a listbox. It can be displayed as static list with editable or read-only text field; or a drop-down list with text field; or a drop-down list without a text field."
69
+ end
70
+ end
71
+
72
+
73
+ if __FILE__ == $0
74
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
75
+ load run_solo_lib
76
+ run File.basename($0)
77
+ end
@@ -0,0 +1,136 @@
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
+ Cursors = [
13
+ "Wx::CURSOR_ARROW",
14
+ "Wx::CURSOR_RIGHT_ARROW",
15
+ "Wx::CURSOR_BULLSEYE",
16
+ "Wx::CURSOR_CHAR",
17
+ "Wx::CURSOR_CROSS",
18
+ "Wx::CURSOR_HAND",
19
+ "Wx::CURSOR_IBEAM",
20
+ "Wx::CURSOR_LEFT_BUTTON",
21
+ "Wx::CURSOR_MAGNIFIER",
22
+ "Wx::CURSOR_MIDDLE_BUTTON",
23
+ "Wx::CURSOR_NO_ENTRY",
24
+ "Wx::CURSOR_PAINT_BRUSH",
25
+ "Wx::CURSOR_PENCIL",
26
+ "Wx::CURSOR_POINT_LEFT",
27
+ "Wx::CURSOR_POINT_RIGHT",
28
+ "Wx::CURSOR_QUESTION_ARROW",
29
+ "Wx::CURSOR_RIGHT_BUTTON",
30
+ "Wx::CURSOR_SIZENESW",
31
+ "Wx::CURSOR_SIZENS",
32
+ "Wx::CURSOR_SIZENWSE",
33
+ "Wx::CURSOR_SIZEWE",
34
+ "Wx::CURSOR_SIZING",
35
+ "Wx::CURSOR_SPRAYCAN",
36
+ "Wx::CURSOR_WAIT",
37
+ "Wx::CURSOR_WATCH",
38
+ "Wx::CURSOR_BLANK",
39
+ "Wx::CURSOR_DEFAULT",
40
+ "Wx::CURSOR_COPY_ARROW",
41
+ "Wx::CURSOR_ARROWWAIT",
42
+
43
+ "zz [custom cursor]",
44
+ ]
45
+
46
+ class TestCursor < Wx::Panel
47
+
48
+ def initialize(parent, log)
49
+ super(parent, -1)
50
+ @log = log
51
+ main_sizer = Wx::BoxSizer.new(Wx::VERTICAL)
52
+
53
+ @cb = Wx::ComboBox.new(self, 500, "Wx::CURSOR_DEFAULT",
54
+ Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
55
+ Cursors, Wx::CB_READONLY)
56
+ main_sizer.add(@cb, 0, Wx::ALL, 10)
57
+
58
+ sub_sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
59
+ @win = Wx::Window.new(self, -1,
60
+ Wx::DEFAULT_POSITION,
61
+ Wx::Size.new(200,200), Wx::SIMPLE_BORDER)
62
+
63
+ @win.set_background_colour(Wx::WHITE)
64
+ sub_sizer.add(@win, 0, Wx::ALL, 5)
65
+
66
+ evt_combobox(@cb.get_id) {|event| on_choose_cursor(event)}
67
+ @win.evt_left_down {|event| on_draw_dot(event)}
68
+
69
+ txt = Wx::StaticText.new(self, -1,
70
+ "This sample allows you to see all the stock cursors \n"\
71
+ "available to wxRuby. Simply select a name from the \n"\
72
+ "Wx::Choice and then move the mouse into the window \n"\
73
+ "below to see the cursor. NOTE: not all stock cursors \n"\
74
+ "have a specific representaion on all platforms.\n"\
75
+ "Click in the window to see where the hotspot is.")
76
+
77
+ sub_sizer.add(txt, 0, Wx::ALL, 5)
78
+ main_sizer.add(sub_sizer, 0, Wx::ALL, 5)
79
+
80
+ self.set_sizer(main_sizer)
81
+ end
82
+
83
+ def on_choose_cursor(event)
84
+ # clear the dots
85
+ @win.refresh
86
+ choice = event.get_string
87
+ @log.write_text("Selecting the cursor #{choice}")
88
+ if choice[0..1] == 'zz'
89
+ img_file = File.join(File.dirname(__FILE__), 'icons', 'pointy.png')
90
+ image = Wx::Image.new(img_file)
91
+
92
+ # since this image didn't come from a .cur file, tell it where the
93
+ # hotspot is...
94
+ image.set_option(Wx::IMAGE_OPTION_CUR_HOTSPOT_X, 1)
95
+ image.set_option(Wx::IMAGE_OPTION_CUR_HOTSPOT_Y, 1)
96
+
97
+ # make the image into a cursor
98
+ cursor = Wx::Cursor.new(image)
99
+ else
100
+ cursor = Wx::Cursor.new(eval(choice))
101
+ end
102
+ @win.set_cursor(cursor)
103
+ end
104
+
105
+ def on_draw_dot(evt)
106
+ # Draw a dot so the user can see where the hotspot is
107
+ @win.paint do | dc |
108
+ dc.set_pen(Wx::RED_PEN)
109
+ dc.set_brush(Wx::RED_BRUSH)
110
+ pos = evt.get_position
111
+ dc.draw_circle(pos.x, pos.y, 4)
112
+ end
113
+ end
114
+
115
+
116
+ end
117
+
118
+ module Demo
119
+ def Demo.run(frame,nb,log)
120
+ win = TestCursor.new(nb, log)
121
+ return win
122
+ end
123
+
124
+ def Demo.overview
125
+ "This demo shows the stock mouse cursors that are available to wxRuby"
126
+ end
127
+ end
128
+
129
+
130
+
131
+
132
+ if __FILE__ == $0
133
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
134
+ load run_solo_lib
135
+ run File.basename($0)
136
+ end