wxruby 1.9.0-i386-mswin32

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 (199) hide show
  1. data/lib/wx/classes/app.rb +25 -0
  2. data/lib/wx/classes/artprovider.rb +31 -0
  3. data/lib/wx/classes/bitmap.rb +23 -0
  4. data/lib/wx/classes/choice.rb +4 -0
  5. data/lib/wx/classes/clientdc.rb +13 -0
  6. data/lib/wx/classes/colour.rb +47 -0
  7. data/lib/wx/classes/combobox.rb +4 -0
  8. data/lib/wx/classes/evthandler.rb +824 -0
  9. data/lib/wx/classes/font.rb +118 -0
  10. data/lib/wx/classes/grid.rb +130 -0
  11. data/lib/wx/classes/helpcontroller.rb +5 -0
  12. data/lib/wx/classes/htmlhelpcontroller.rb +5 -0
  13. data/lib/wx/classes/htmlwindow.rb +6 -0
  14. data/lib/wx/classes/icon.rb +14 -0
  15. data/lib/wx/classes/image.rb +14 -0
  16. data/lib/wx/classes/listbox.rb +4 -0
  17. data/lib/wx/classes/locale.rb +28 -0
  18. data/lib/wx/classes/object.rb +7 -0
  19. data/lib/wx/classes/paintdc.rb +12 -0
  20. data/lib/wx/classes/point.rb +5 -0
  21. data/lib/wx/classes/previewframe.rb +13 -0
  22. data/lib/wx/classes/rect.rb +5 -0
  23. data/lib/wx/classes/size.rb +5 -0
  24. data/lib/wx/classes/texturlevent.rb +6 -0
  25. data/lib/wx/classes/timer.rb +69 -0
  26. data/lib/wx/classes/window.rb +38 -0
  27. data/lib/wx/classes/xmlresource.rb +16 -0
  28. data/lib/wx/version.rb +3 -0
  29. data/lib/wx.rb +35 -0
  30. data/lib/wxruby2.so +0 -0
  31. data/samples/SAMPLES-LICENSE.TXT +18 -0
  32. data/samples/aui/aui.rb +1352 -0
  33. data/samples/bigdemo/About.rbw +39 -0
  34. data/samples/bigdemo/ColorPanel.rbw +25 -0
  35. data/samples/bigdemo/GridSimple.rbw +80 -0
  36. data/samples/bigdemo/MDIDemo.rbw +59 -0
  37. data/samples/bigdemo/PopupMenu.rbw +151 -0
  38. data/samples/bigdemo/ShapedWindow.rbw +135 -0
  39. data/samples/bigdemo/Sizers.rbw +545 -0
  40. data/samples/bigdemo/bigdemo.rb +826 -0
  41. data/samples/bigdemo/demoTemplate.rbw +37 -0
  42. data/samples/bigdemo/helpfile.htb +0 -0
  43. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  44. data/samples/bigdemo/icons/Test 015.png +0 -0
  45. data/samples/bigdemo/icons/choice.bmp +0 -0
  46. data/samples/bigdemo/icons/choice.xpm +27 -0
  47. data/samples/bigdemo/icons/combo.bmp +0 -0
  48. data/samples/bigdemo/icons/combo.xpm +27 -0
  49. data/samples/bigdemo/icons/copy.xpm +25 -0
  50. data/samples/bigdemo/icons/cut.xpm +24 -0
  51. data/samples/bigdemo/icons/gauge.bmp +0 -0
  52. data/samples/bigdemo/icons/gauge.xpm +27 -0
  53. data/samples/bigdemo/icons/help.xpm +25 -0
  54. data/samples/bigdemo/icons/list.bmp +0 -0
  55. data/samples/bigdemo/icons/list.xpm +27 -0
  56. data/samples/bigdemo/icons/mondrian.ico +0 -0
  57. data/samples/bigdemo/icons/mondrian.xpm +44 -0
  58. data/samples/bigdemo/icons/new.xpm +24 -0
  59. data/samples/bigdemo/icons/ogl.ico +0 -0
  60. data/samples/bigdemo/icons/ogl.xpm +45 -0
  61. data/samples/bigdemo/icons/open.xpm +26 -0
  62. data/samples/bigdemo/icons/paste.bmp +0 -0
  63. data/samples/bigdemo/icons/paste.xpm +38 -0
  64. data/samples/bigdemo/icons/pointy.png +0 -0
  65. data/samples/bigdemo/icons/preview.xpm +26 -0
  66. data/samples/bigdemo/icons/print.xpm +26 -0
  67. data/samples/bigdemo/icons/radio.bmp +0 -0
  68. data/samples/bigdemo/icons/radio.xpm +27 -0
  69. data/samples/bigdemo/icons/robert.xpm +415 -0
  70. data/samples/bigdemo/icons/ruby.png +0 -0
  71. data/samples/bigdemo/icons/sashtest.ico +0 -0
  72. data/samples/bigdemo/icons/save.xpm +25 -0
  73. data/samples/bigdemo/icons/smiles.bmp +0 -0
  74. data/samples/bigdemo/icons/smiles.xpm +39 -0
  75. data/samples/bigdemo/icons/smiley.ico +0 -0
  76. data/samples/bigdemo/icons/smiley.xpm +42 -0
  77. data/samples/bigdemo/icons/stattext.xpm +24 -0
  78. data/samples/bigdemo/icons/test2.bmp +0 -0
  79. data/samples/bigdemo/icons/test2.png +0 -0
  80. data/samples/bigdemo/icons/test2.xpm +79 -0
  81. data/samples/bigdemo/icons/text.bmp +0 -0
  82. data/samples/bigdemo/icons/text.xpm +27 -0
  83. data/samples/bigdemo/icons/tog1.bmp +0 -0
  84. data/samples/bigdemo/icons/tog1.xpm +38 -0
  85. data/samples/bigdemo/icons/tog2.bmp +0 -0
  86. data/samples/bigdemo/icons/tog2.xpm +38 -0
  87. data/samples/bigdemo/icons/wxwin.ico +0 -0
  88. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  89. data/samples/bigdemo/icons/wxwin16x16.xpm +25 -0
  90. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  91. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  92. data/samples/bigdemo/run.rb +94 -0
  93. data/samples/bigdemo/tips.txt +7 -0
  94. data/samples/bigdemo/utils.rb +12 -0
  95. data/samples/bigdemo/wxArtProvider.rbw +285 -0
  96. data/samples/bigdemo/wxBitmapButton.rbw +64 -0
  97. data/samples/bigdemo/wxButton.rbw +66 -0
  98. data/samples/bigdemo/wxCalendarCtrl.rbw +72 -0
  99. data/samples/bigdemo/wxCheckBox.rbw +52 -0
  100. data/samples/bigdemo/wxCheckListBox.rbw +77 -0
  101. data/samples/bigdemo/wxChoice.rbw +49 -0
  102. data/samples/bigdemo/wxChoicebook.rbw +80 -0
  103. data/samples/bigdemo/wxColourDialog.rbw +34 -0
  104. data/samples/bigdemo/wxComboBox.rbw +79 -0
  105. data/samples/bigdemo/wxCursor.rbw +140 -0
  106. data/samples/bigdemo/wxDialog.rbw +92 -0
  107. data/samples/bigdemo/wxDirDialog.rbw +32 -0
  108. data/samples/bigdemo/wxDragImage.rbw +74 -0
  109. data/samples/bigdemo/wxFileDialog.rbw +39 -0
  110. data/samples/bigdemo/wxFileDialog_Save.rbw +38 -0
  111. data/samples/bigdemo/wxFindReplaceDialog.rbw +85 -0
  112. data/samples/bigdemo/wxFontDialog.rbw +176 -0
  113. data/samples/bigdemo/wxFrame.rbw +55 -0
  114. data/samples/bigdemo/wxGauge.rbw +73 -0
  115. data/samples/bigdemo/wxGenericDirCtrl.rbw +78 -0
  116. data/samples/bigdemo/wxGrid.rbw +68 -0
  117. data/samples/bigdemo/wxHtmlHelpController.rbw +57 -0
  118. data/samples/bigdemo/wxListBox.rbw +142 -0
  119. data/samples/bigdemo/wxListCtrl_virtual.rbw +109 -0
  120. data/samples/bigdemo/wxMDIWindows.rbw +52 -0
  121. data/samples/bigdemo/wxMenu.rbw +238 -0
  122. data/samples/bigdemo/wxMessageDialog.rbw +30 -0
  123. data/samples/bigdemo/wxMiniFrame.rbw +74 -0
  124. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +34 -0
  125. data/samples/bigdemo/wxNotebook.rbw +138 -0
  126. data/samples/bigdemo/wxProgressDialog.rbw +45 -0
  127. data/samples/bigdemo/wxRadioBox.rbw +74 -0
  128. data/samples/bigdemo/wxRadioButton.rbw +127 -0
  129. data/samples/bigdemo/wxSashWindow.rbw +155 -0
  130. data/samples/bigdemo/wxScrolledMessageDialog.rbw +59 -0
  131. data/samples/bigdemo/wxScrolledWindow.rbw +196 -0
  132. data/samples/bigdemo/wxSingleChoiceDialog.rbw +35 -0
  133. data/samples/bigdemo/wxSlider.rbw +44 -0
  134. data/samples/bigdemo/wxSpinButton.rbw +52 -0
  135. data/samples/bigdemo/wxSpinCtrl.rbw +53 -0
  136. data/samples/bigdemo/wxSplitterWindow.rbw +65 -0
  137. data/samples/bigdemo/wxStaticBitmap.rbw +53 -0
  138. data/samples/bigdemo/wxStaticText.rbw +57 -0
  139. data/samples/bigdemo/wxStatusBar.rbw +128 -0
  140. data/samples/bigdemo/wxTextCtrl.rbw +151 -0
  141. data/samples/bigdemo/wxTextEntryDialog.rbw +34 -0
  142. data/samples/bigdemo/wxToggleButton.rbw +51 -0
  143. data/samples/bigdemo/wxToolBar.rbw +133 -0
  144. data/samples/bigdemo/wxTreeCtrl.rbw +192 -0
  145. data/samples/calendar/calendar.rb +275 -0
  146. data/samples/caret/caret.rb +296 -0
  147. data/samples/caret/mondrian.xpm +44 -0
  148. data/samples/controls/controls.rb +1140 -0
  149. data/samples/controls/get_item_sample.rb +87 -0
  150. data/samples/controls/icons/choice.xpm +27 -0
  151. data/samples/controls/icons/combo.xpm +27 -0
  152. data/samples/controls/icons/gauge.xpm +27 -0
  153. data/samples/controls/icons/list.xpm +27 -0
  154. data/samples/controls/icons/radio.xpm +27 -0
  155. data/samples/controls/icons/stattext.xpm +24 -0
  156. data/samples/controls/icons/text.xpm +27 -0
  157. data/samples/controls/mondrian.ico +0 -0
  158. data/samples/controls/mondrian.xpm +44 -0
  159. data/samples/controls/test2.bmp +0 -0
  160. data/samples/dialogs/dialogs.rb +724 -0
  161. data/samples/dialogs/tips.txt +18 -0
  162. data/samples/etc/activation.rb +108 -0
  163. data/samples/etc/choice.rb +72 -0
  164. data/samples/etc/miniframe.rb +84 -0
  165. data/samples/etc/sash.rb +135 -0
  166. data/samples/etc/scrollwin.rb +116 -0
  167. data/samples/etc/system_settings.rb +258 -0
  168. data/samples/etc/wizard.rb +81 -0
  169. data/samples/grid/grid.rb +201 -0
  170. data/samples/html/html.rb +251 -0
  171. data/samples/images/Thumbs.db +0 -0
  172. data/samples/images/images.rb +48 -0
  173. data/samples/images/paperclip.png +0 -0
  174. data/samples/listbook/listbook.rb +183 -0
  175. data/samples/listbook/listbook.xrc +370 -0
  176. data/samples/mdi/mdi.rb +87 -0
  177. data/samples/minimal/minimal.rb +95 -0
  178. data/samples/minimal/mondrian.ico +0 -0
  179. data/samples/minimal/mondrian.xpm +44 -0
  180. data/samples/minimal/nothing.rb +46 -0
  181. data/samples/minimal/text.rb +35 -0
  182. data/samples/printing/mondrian.ico +0 -0
  183. data/samples/printing/mondrian.xpm +44 -0
  184. data/samples/printing/printing.rb +484 -0
  185. data/samples/text/mondrian.ico +0 -0
  186. data/samples/text/mondrian.xpm +44 -0
  187. data/samples/text/scintilla.rb +180 -0
  188. data/samples/text/textctrl.rb +124 -0
  189. data/samples/text/unicode.rb +238 -0
  190. data/samples/text/utf8.txt +15 -0
  191. data/samples/treectrl/icon1.xpm +79 -0
  192. data/samples/treectrl/icon2.xpm +53 -0
  193. data/samples/treectrl/icon3.xpm +79 -0
  194. data/samples/treectrl/icon4.xpm +43 -0
  195. data/samples/treectrl/icon5.xpm +79 -0
  196. data/samples/treectrl/treectrl.rb +1210 -0
  197. data/samples/xrc/samples.xrc +46 -0
  198. data/samples/xrc/xrc_sample.rb +107 -0
  199. metadata +263 -0
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'wx'
5
+ rescue LoadError => no_wx_err
6
+ begin
7
+ require 'rubygems'
8
+ require 'wx'
9
+ rescue LoadError
10
+ raise no_wx_err
11
+ end
12
+ end
13
+
14
+ class TestCB < Wx::Choicebook
15
+ def initialize(parent, log)
16
+ @log = log
17
+ super(parent, -1)
18
+
19
+ page_texts = [ "Yet",
20
+ "Another",
21
+ "Way",
22
+ "To",
23
+ "Select",
24
+ "Pages"
25
+ ]
26
+
27
+ # Now make a bunch of panels for the choice book
28
+ count = 1
29
+ page_texts.each { |txt|
30
+ win = Wx::Panel.new(self)
31
+ if count == 1
32
+ st = Wx::StaticText.new(win, -1,
33
+ "Wx::Choicebook is yet another way to switch between 'page' windows",
34
+ Wx::Point.new(10, 10))
35
+ else
36
+ st = Wx::StaticText.new(win, -1, "Page: #{count}", Wx::Point.new(10,10))
37
+ end
38
+ count += 1
39
+
40
+ add_page(win, txt)
41
+ }
42
+
43
+ evt_choicebook_page_changed(get_id) {|event| on_page_changed(event)}
44
+ evt_choicebook_page_changing(get_id) {|event| on_page_changing(event)}
45
+
46
+ end
47
+
48
+ def on_page_changed(event)
49
+ old = event.get_old_selection
50
+ new = event.get_selection
51
+ sel = get_selection
52
+ @log.write_text("on_page_changed, old:#{old}, new:#{new}, sel:#{sel}")
53
+ event.skip
54
+ end
55
+
56
+ def on_page_changing(event)
57
+ old = event.get_old_selection
58
+ new = event.get_selection
59
+ sel = get_selection
60
+ @log.write_text("on_page_changing, old:#{old}, new:#{new}, sel:#{sel}")
61
+ event.skip
62
+ end
63
+ end
64
+
65
+ module Demo
66
+ def Demo.run(frame, nb, log)
67
+ win = TestCB.new(nb, log)
68
+ return win
69
+ end
70
+
71
+ def Demo.overview
72
+ return "This class is a control similar to a notebook control, but uses a Wx::Choice to manage the selection of the pages."
73
+ end
74
+ end
75
+
76
+ if __FILE__ == $0
77
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
78
+ load run_solo_lib
79
+ run File.basename($0)
80
+ end
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'wx'
5
+ rescue LoadError => no_wx_err
6
+ begin
7
+ require 'rubygems'
8
+ require 'wx'
9
+ rescue LoadError
10
+ raise no_wx_err
11
+ end
12
+ end
13
+
14
+ module Demo
15
+ def Demo.run(frame, nb, log)
16
+ dlg = Wx::ColourDialog.new(frame)
17
+ dlg.get_colour_data().set_choose_full(true)
18
+ if dlg.show_modal() == Wx::ID_OK
19
+ data = dlg.get_colour_data().get_colour()
20
+ log.write_text("You selected: (%d, %d, %d)" % [data.red, data.green, data.blue])
21
+ end
22
+ dlg.destroy()
23
+ end
24
+
25
+ def Demo.overview
26
+ return "Welcome to the wxRuby ColourDialog demo"
27
+ end
28
+ end
29
+
30
+ if __FILE__ == $0
31
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
32
+ load run_solo_lib
33
+ run File.basename($0)
34
+ end
@@ -0,0 +1,79 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'wx'
5
+ rescue LoadError => no_wx_err
6
+ begin
7
+ require 'rubygems'
8
+ require 'wx'
9
+ rescue LoadError
10
+ raise no_wx_err
11
+ end
12
+ end
13
+
14
+ class TestComboBox < Wx::Panel
15
+
16
+ def initialize(parent, log)
17
+ super(parent, -1)
18
+ @log = log
19
+ sampleList = %w(zero one two three four five six seven eight)
20
+
21
+ Wx::StaticText.new(self, -1, "This example uses the wxComboBox control.", Wx::Point.new(8,10))
22
+
23
+ Wx::StaticText.new(self, -1, "Select one:", Wx::Point.new(15,50))
24
+ cb = Wx::ComboBox.new(self, 500, "default value", Wx::Point.new(90,50), Wx::DEFAULT_SIZE,
25
+ sampleList, Wx::CB_DROPDOWN)
26
+
27
+ evt_combobox(cb.get_id) {|event| on_combobox(event)}
28
+ evt_text(cb.get_id) {|event| on_evt_text(event)}
29
+ evt_text_enter(cb.get_id) {|event| on_evt_text_enter(event)}
30
+ cb.evt_set_focus {|event| on_set_focus(event)}
31
+ cb.evt_kill_focus {|event| on_kill_focus(event)}
32
+
33
+ cb.append("foo", "This is some client data for this item")
34
+
35
+
36
+ end
37
+
38
+ def on_combobox(event)
39
+ cb = event.get_event_object
40
+ data = cb.get_client_data(event.get_selection)
41
+ @log.write_text("evt_combobox: #{event.get_string}\nClient Data: #{data}")
42
+ end
43
+
44
+ def on_evt_text(event)
45
+ @log.write_text("evt_text: " + event.get_string)
46
+ end
47
+
48
+ def on_evt_text_enter(event)
49
+ @log.write_text("evt_text_enter: " + event.get_string)
50
+ end
51
+
52
+ def on_set_focus(evt)
53
+ @log.write_text("OnSetFocus")
54
+ evt.skip
55
+ end
56
+
57
+ def on_kill_focus(evt)
58
+ @log.write_text("OnKillFocus")
59
+ evt.skip
60
+ end
61
+ end
62
+
63
+ module Demo
64
+ def Demo.run(frame,nb,log)
65
+ win = TestComboBox.new(nb, log)
66
+ return win
67
+ end
68
+
69
+ def Demo.overview
70
+ "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."
71
+ end
72
+ end
73
+
74
+
75
+ if __FILE__ == $0
76
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
77
+ load run_solo_lib
78
+ run File.basename($0)
79
+ end
@@ -0,0 +1,140 @@
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
+ Cursors = [
17
+ "Wx::CURSOR_ARROW",
18
+ "Wx::CURSOR_RIGHT_ARROW",
19
+ "Wx::CURSOR_BULLSEYE",
20
+ "Wx::CURSOR_CHAR",
21
+ "Wx::CURSOR_CROSS",
22
+ "Wx::CURSOR_HAND",
23
+ "Wx::CURSOR_IBEAM",
24
+ "Wx::CURSOR_LEFT_BUTTON",
25
+ "Wx::CURSOR_MAGNIFIER",
26
+ "Wx::CURSOR_MIDDLE_BUTTON",
27
+ "Wx::CURSOR_NO_ENTRY",
28
+ "Wx::CURSOR_PAINT_BRUSH",
29
+ "Wx::CURSOR_PENCIL",
30
+ "Wx::CURSOR_POINT_LEFT",
31
+ "Wx::CURSOR_POINT_RIGHT",
32
+ "Wx::CURSOR_QUESTION_ARROW",
33
+ "Wx::CURSOR_RIGHT_BUTTON",
34
+ "Wx::CURSOR_SIZENESW",
35
+ "Wx::CURSOR_SIZENS",
36
+ "Wx::CURSOR_SIZENWSE",
37
+ "Wx::CURSOR_SIZEWE",
38
+ "Wx::CURSOR_SIZING",
39
+ "Wx::CURSOR_SPRAYCAN",
40
+ "Wx::CURSOR_WAIT",
41
+ "Wx::CURSOR_WATCH",
42
+ "Wx::CURSOR_BLANK",
43
+ "Wx::CURSOR_DEFAULT",
44
+ "Wx::CURSOR_COPY_ARROW",
45
+ "Wx::CURSOR_ARROWWAIT",
46
+
47
+ "zz [custom cursor]",
48
+ ]
49
+
50
+ class TestCursor < Wx::Panel
51
+
52
+ def initialize(parent, log)
53
+ super(parent, -1)
54
+ @log = log
55
+ main_sizer = Wx::BoxSizer.new(Wx::VERTICAL)
56
+
57
+ @cb = Wx::ComboBox.new(self, 500, "Wx::CURSOR_DEFAULT",
58
+ Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
59
+ Cursors, Wx::CB_READONLY)
60
+ main_sizer.add(@cb, 0, Wx::ALL, 10)
61
+
62
+ sub_sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
63
+ @win = Wx::Window.new(self, -1,
64
+ Wx::DEFAULT_POSITION,
65
+ Wx::Size.new(200,200), Wx::SIMPLE_BORDER)
66
+
67
+ @win.set_background_colour(Wx::WHITE)
68
+ sub_sizer.add(@win, 0, Wx::ALL, 5)
69
+
70
+ evt_combobox(@cb.get_id) {|event| on_choose_cursor(event)}
71
+ @win.evt_left_down {|event| on_draw_dot(event)}
72
+
73
+ txt = Wx::StaticText.new(self, -1,
74
+ "This sample allows you to see all the stock cursors \n"\
75
+ "available to wxRuby. Simply select a name from the \n"\
76
+ "Wx::Choice and then move the mouse into the window \n"\
77
+ "below to see the cursor. NOTE: not all stock cursors \n"\
78
+ "have a specific representaion on all platforms.\n"\
79
+ "Click in the window to see where the hotspot is.")
80
+
81
+ sub_sizer.add(txt, 0, Wx::ALL, 5)
82
+ main_sizer.add(sub_sizer, 0, Wx::ALL, 5)
83
+
84
+ self.set_sizer(main_sizer)
85
+ end
86
+
87
+ def on_choose_cursor(event)
88
+ # clear the dots
89
+ @win.refresh
90
+ choice = event.get_string
91
+ @log.write_text("Selecting the cursor #{choice}")
92
+ if choice[0..1] == 'zz'
93
+ img_file = File.join(File.dirname(__FILE__), 'icons', 'pointy.png')
94
+ image = Wx::Image.new(img_file)
95
+
96
+ # since this image didn't come from a .cur file, tell it where the
97
+ # hotspot is...
98
+ image.set_option(Wx::IMAGE_OPTION_CUR_HOTSPOT_X, 1)
99
+ image.set_option(Wx::IMAGE_OPTION_CUR_HOTSPOT_Y, 1)
100
+
101
+ # make the image into a cursor
102
+ cursor = Wx::Cursor.new(image)
103
+ else
104
+ cursor = Wx::Cursor.new(eval(choice))
105
+ end
106
+ @win.set_cursor(cursor)
107
+ end
108
+
109
+ def on_draw_dot(evt)
110
+ # Draw a dot so the user can see where the hotspot is
111
+ @win.paint do | dc |
112
+ dc.set_pen(Wx::RED_PEN)
113
+ dc.set_brush(Wx::RED_BRUSH)
114
+ pos = evt.get_position
115
+ dc.draw_circle(pos.x, pos.y, 4)
116
+ end
117
+ end
118
+
119
+
120
+ end
121
+
122
+ module Demo
123
+ def Demo.run(frame,nb,log)
124
+ win = TestCursor.new(nb, log)
125
+ return win
126
+ end
127
+
128
+ def Demo.overview
129
+ "This demo shows the stock mouse cursors that are available to wxRuby"
130
+ end
131
+ end
132
+
133
+
134
+
135
+
136
+ if __FILE__ == $0
137
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
138
+ load run_solo_lib
139
+ run File.basename($0)
140
+ end
@@ -0,0 +1,92 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'wx'
5
+ rescue LoadError => no_wx_err
6
+ begin
7
+ require 'rubygems'
8
+ require 'wx'
9
+ rescue LoadError
10
+ raise no_wx_err
11
+ end
12
+ end
13
+
14
+ class TestDialog < Wx::Dialog
15
+ def initialize(parent, id, title)
16
+ super(parent, id, title)
17
+ sizer = Wx::BoxSizer.new(Wx::VERTICAL)
18
+
19
+ label = Wx::StaticText.new(self, -1, "This is a wxDialog")
20
+ #label.set_help_text("This is the help text for the label")
21
+ sizer.add(label, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
22
+
23
+ box = Wx::BoxSizer.new(Wx::HORIZONTAL)
24
+
25
+ label = Wx::StaticText.new(self, -1, "Field #1")
26
+ #label.set_help_text("This is the help text for the label")
27
+ box.add(label, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
28
+
29
+ text = Wx::TextCtrl.new(self, -1, "",
30
+ Wx::DEFAULT_POSITION, Wx::Size.new(80,-1))
31
+ #text.set_help_text("Here's some help text for field #1")
32
+ box.add(text, 1, Wx::ALIGN_CENTER | Wx::ALL, 5)
33
+
34
+ sizer.add(box, 0, Wx::GROW | Wx::ALIGN_CENTER_VERTICAL | Wx::ALL, 5)
35
+
36
+ box = Wx::BoxSizer.new(Wx::HORIZONTAL)
37
+
38
+ label = Wx::StaticText.new(self, -1, "Field #2")
39
+ #label.set_help_text("This is the help text for the label")
40
+ box.add(label, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
41
+
42
+ text = Wx::TextCtrl.new(self, -1, "", Wx::DEFAULT_POSITION, Wx::Size.new(80,-1))
43
+ #text.set_help_text("Here's some help text for field #2")
44
+ box.add(text, 1, Wx::ALIGN_CENTER | Wx::ALL, 5)
45
+
46
+ sizer.add(box, 0, Wx::GROW | Wx::ALIGN_CENTER_VERTICAL | Wx::ALL, 5)
47
+
48
+ line = Wx::StaticLine.new(self, -1, Wx::DEFAULT_POSITION,
49
+ Wx::Size.new(20,-1), Wx::LI_HORIZONTAL)
50
+ sizer.add(line, 0, Wx::ALIGN_BOTTOM | Wx::GROW , 5)
51
+
52
+ # The StdDialogButtonSizer arranges the contained buttons with
53
+ # platform-standard spacing, ordering and labelling.
54
+ button_sizer = Wx::StdDialogButtonSizer.new()
55
+ btn = Wx::Button.new(self, Wx::ID_OK, 'OK')
56
+ btn.set_default()
57
+ #btn.set_help_text("The Ok button completes the dialog")
58
+ button_sizer.add_button(btn)
59
+
60
+ btn = Wx::Button.new(self, Wx::ID_CANCEL, 'Cancel')
61
+ #btn.set_help_text("The Cancel button cancels the dialog. (Duh!)")
62
+ button_sizer.add_button(btn)
63
+ button_sizer.realize
64
+ sizer.add(button_sizer, 0, Wx::ALIGN_CENTER_VERTICAL|Wx::ALL, 5)
65
+
66
+ set_sizer(sizer)
67
+ sizer.fit(self)
68
+ end
69
+ end
70
+
71
+ module Demo
72
+ def Demo.run(frame, nb, log)
73
+ win = TestDialog.new(nil, -1, "This is a wxDialog")
74
+ win.center_on_screen(Wx::BOTH)
75
+ val = win.show_modal()
76
+ if val == Wx::ID_OK
77
+ log.write_text("You pressed OK")
78
+ else
79
+ log.write_text("You pressed Cancel")
80
+ end
81
+ end
82
+
83
+ def Demo.overview
84
+ return "Welcome to the wxRuby Dialog Demo!"
85
+ end
86
+ end
87
+
88
+ if __FILE__ == $0
89
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
90
+ load run_solo_lib
91
+ run File.basename($0)
92
+ end
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'wx'
5
+ rescue LoadError => no_wx_err
6
+ begin
7
+ require 'rubygems'
8
+ require 'wx'
9
+ rescue LoadError
10
+ raise no_wx_err
11
+ end
12
+ end
13
+
14
+ module Demo
15
+ def Demo.run(frame, nb, log)
16
+ dlg = Wx::DirDialog.new(frame, "Choose a directory:")
17
+ if dlg.show_modal() == Wx::ID_OK
18
+ log.write_text("You selected: " + dlg.get_path())
19
+ end
20
+ dlg.destroy()
21
+ end
22
+
23
+ def Demo.overview
24
+ return "Welcome to the wxRuby DirDialog demo!"
25
+ end
26
+ end
27
+
28
+ if __FILE__ == $0
29
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
30
+ load run_solo_lib
31
+ run File.basename($0)
32
+ end
@@ -0,0 +1,74 @@
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
+ class DragPanel < Wx::Panel
17
+
18
+ def initialize(parent, log)
19
+ super(parent, -1)
20
+ Wx::StaticText.new(self, -1, "Click and drag to see the drag image.")
21
+ evt_left_down { | e | on_start_drag(e) }
22
+ evt_left_up { | e | on_end_drag(e) }
23
+ evt_motion { | e | on_mouse_move(e) }
24
+ evt_leave_window { | e | on_end_drag(e) }
25
+
26
+ end
27
+
28
+ def on_start_drag(event)
29
+ bmp_file = File.join( File.dirname(__FILE__), 'icons', 'smiley.xpm')
30
+ bmp = Wx::Bitmap.new(bmp_file, Wx::BITMAP_TYPE_XPM)
31
+ @drag_img = Wx::DragImage.new(bmp, Wx::CROSS_CURSOR)
32
+
33
+ @drag_img.begin_drag(Wx::Point.new(16, 16), self)
34
+ @drag_img.move(event.get_position)
35
+ @drag_img.show()
36
+ event.skip
37
+ end
38
+
39
+ def on_mouse_move(event)
40
+ if @drag_img
41
+ @drag_img.move(event.get_position)
42
+ end
43
+ event.skip
44
+ end
45
+
46
+ def on_end_drag(event)
47
+ if @drag_img
48
+ @drag_img.hide
49
+ @drag_img.end_drag
50
+ @drag_img = false
51
+ end
52
+ event.skip
53
+ end
54
+ end
55
+
56
+ module Demo
57
+ def Demo.run(frame,nb,log)
58
+ win = DragPanel.new(nb, log)
59
+ return win
60
+ end
61
+
62
+ def Demo.overview
63
+ "Drag images are used to allow smooth dragging of images across
64
+ canvasses. To see this in action, click and hold down the left mouse button and
65
+ move the mouse around the panel"
66
+
67
+ end
68
+ end
69
+
70
+ if __FILE__ == $0
71
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
72
+ load run_solo_lib
73
+ run File.basename($0)
74
+ end
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'wx'
5
+ rescue LoadError => no_wx_err
6
+ begin
7
+ require 'rubygems'
8
+ require 'wx'
9
+ rescue LoadError
10
+ raise no_wx_err
11
+ end
12
+ end
13
+
14
+ $wildcard = "Ruby Source (*.rb)|*.rb|RubyW Source (*.rbw)|*.rbw|All files (*.*)|*.*"
15
+
16
+ module Demo
17
+ def Demo.run(frame, nb, log)
18
+ log.write_text("CWD: " + Dir.getwd() + "\n")
19
+ dlg = Wx::FileDialog.new(frame, "Choose a file", Dir.getwd(), "", $wildcard, Wx::OPEN | Wx::MULTIPLE)
20
+ if dlg.show_modal() == Wx::ID_OK
21
+ paths = dlg.get_paths()
22
+ log.write_text("You selected %d files" % + paths.length)
23
+ paths.each {|path| log.write_text("CWD: " + path)}
24
+ log.write_text("CWD: " + Dir.getwd())
25
+ end
26
+ end
27
+
28
+ def Demo.overview
29
+ return "Welcome to the wxFileDialog Demo!"
30
+ end
31
+
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,38 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'wx'
5
+ rescue LoadError => no_wx_err
6
+ begin
7
+ require 'rubygems'
8
+ require 'wx'
9
+ rescue LoadError
10
+ raise no_wx_err
11
+ end
12
+ end
13
+
14
+ $wildcard = "Ruby Source (*.rb)|*.rb|RubyW Source (*.rbw)|*.rbw|SPAM files (*.spam)|*.spam|Egg file (*.egg)|*.egg|All Files (*.*)|*.*"
15
+
16
+ module Demo
17
+ def Demo.run(frame, nb, log)
18
+ log.write_text("CWD: " + Dir.getwd())
19
+ dlg = Wx::FileDialog.new(frame, "Save file as...", Dir.getwd(), "", $wildcard, Wx::SAVE)
20
+ dlg.set_filter_index(2)
21
+ if dlg.show_modal() == Wx::ID_OK
22
+ path = dlg.get_path()
23
+ log.write_text("You selected " + path)
24
+ log.write_text("CWD: " + Dir.getwd())
25
+ dlg.destroy()
26
+ end
27
+ end
28
+
29
+ def Demo.overview
30
+ return "Welcome to the wxRuby FileDialog_Save demo!"
31
+ end
32
+ end
33
+
34
+ if __FILE__ == $0
35
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
36
+ load run_solo_lib
37
+ run File.basename($0)
38
+ end
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'wx'
5
+ rescue LoadError => no_wx_err
6
+ begin
7
+ require 'rubygems'
8
+ require 'wx'
9
+ rescue LoadError
10
+ raise no_wx_err
11
+ end
12
+ end
13
+
14
+ class TestPanel < Wx::Panel
15
+ def initialize(parent, log)
16
+ super(parent, -1)
17
+ @log = log
18
+
19
+ b = Wx::Button.new(self, -1, "Show Find Dialog", Wx::Point.new(25, 50))
20
+ evt_button(b.get_id()) {|event| on_show_find(event)}
21
+
22
+ b = Wx::Button.new(self, -1, "Show Find && Replace Dialog", Wx::Point.new(25, 90))
23
+ evt_button(b.get_id()) {|event| on_show_find_replace(event)}
24
+
25
+ evt_find(-1) {|event| on_find(event)}
26
+ evt_find_next(-1) {|event| on_find(event)}
27
+ evt_find_replace(-1) {|event| on_find(event)}
28
+ evt_find_replace_all(-1) {|event| on_find(event)}
29
+ evt_find_close(-1) {|event| on_find_close(event)}
30
+ end
31
+
32
+ def on_show_find(evt)
33
+ data = Wx::FindReplaceData.new()
34
+ dlg = Wx::FindReplaceDialog.new(self, data, "Find")
35
+ #dlg.data = data # save a reference to it
36
+ dlg.show(true)
37
+ end
38
+
39
+ def on_show_find_replace(evt)
40
+ data = Wx::FindReplaceData.new()
41
+ dlg = Wx::FindReplaceDialog.new(self, data, "Find & Replace", Wx::FR_REPLACEDIALOG)
42
+ #dlg.data = data # save a reference to it
43
+ dlg.show(true)
44
+ end
45
+
46
+ def on_find(evt)
47
+ map = {Wx::EVT_COMMAND_FIND => "FIND", Wx::EVT_COMMAND_FIND_NEXT => "FIND_NEXT", Wx::EVT_COMMAND_FIND_REPLACE => "REPLACE",
48
+ Wx::EVT_COMMAND_FIND_REPLACE_ALL => "REPLACE_ALL"}
49
+ map.default = "**Unknown Event Type**"
50
+ et = evt.get_event_type()
51
+ evtType = map[et]
52
+
53
+ if et == Wx::EVT_COMMAND_FIND_REPLACE or et == Wx::EVT_COMMAND_FIND_REPLACE_ALL
54
+ replaceTxt = "Replace text: " + evt.get_replace_string()
55
+ else
56
+ replaceTxt = ""
57
+ end
58
+
59
+ @log.write_text(evtType.to_s + " -- Find text: " + evt.get_find_string() + " " + replaceTxt + " Flags: " + evt.get_flags.to_s)
60
+
61
+ end
62
+
63
+ def on_find_close(evt)
64
+ @log.write_text("Wx::FindReplaceDialog closing...")
65
+ evt.get_dialog().destroy()
66
+ end
67
+
68
+ end
69
+
70
+ module Demo
71
+ def Demo.run(frame, nb, log)
72
+ win = TestPanel.new(nb, log)
73
+ return win
74
+ end
75
+
76
+ def Demo.overview
77
+ return "A generic find and replace dialog"
78
+ end
79
+ end
80
+
81
+ if __FILE__ == $0
82
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
83
+ load run_solo_lib
84
+ run File.basename($0)
85
+ end