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,74 @@
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 TestDialog < Wx::Dialog
13
+ def initialize(parent, id, title)
14
+ super(parent, id, title)
15
+ sizer = Wx::BoxSizer.new(Wx::VERTICAL)
16
+ label = Wx::StaticText.new(self, :label => "This is a wxDialog")
17
+ #label.set_help_text("This is the help text for the label")
18
+ sizer.add(label, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
19
+
20
+ box = Wx::BoxSizer.new(Wx::HORIZONTAL)
21
+
22
+ label = Wx::StaticText.new(self, :label => "Field #1")
23
+ #label.set_help_text("This is the help text for the label")
24
+ box.add(label, 0, Wx::ALIGN_CENTER|Wx::ALL, 5)
25
+
26
+ text = Wx::TextCtrl.new(self, :value => "", :size => [80,-1])
27
+ #text.set_help_text("Here's some help text for field #1")
28
+ box.add(text, 1, Wx::ALIGN_CENTER|Wx::ALL, 5)
29
+ sizer.add(box, 0, Wx::GROW|Wx::ALIGN_CENTER_VERTICAL|Wx::ALL, 5)
30
+
31
+ box = Wx::BoxSizer.new(Wx::HORIZONTAL)
32
+
33
+ label = Wx::StaticText.new(self, :label => "Field #2")
34
+ #label.set_help_text("This is the help text for the label")
35
+ box.add(label, 0, Wx::ALIGN_CENTER|Wx::ALL, 5)
36
+
37
+ text = Wx::TextCtrl.new(self, :value => "", :size => [80,-1])
38
+ #text.set_help_text("Here's some help text for field #2")
39
+ box.add(text, 1, Wx::ALIGN_CENTER|Wx::ALL, 5)
40
+ sizer.add(box, 0, Wx::GROW|Wx::ALIGN_CENTER_VERTICAL|Wx::ALL, 5)
41
+
42
+ # This convenience method creates a sizer containing the chosen
43
+ # buttons (in this case, OK and Cancel). The buttons will be given
44
+ # the correct layout and labels for the platform.
45
+ button_sizer = create_button_sizer(Wx::OK|Wx::CANCEL)
46
+ sizer.add(button_sizer, 0, Wx::ALIGN_CENTER_VERTICAL|Wx::ALL, 5)
47
+ self.sizer = sizer
48
+ sizer.fit(self)
49
+ end
50
+ end
51
+
52
+ module Demo
53
+ def Demo.run(frame, nb, log)
54
+ win = TestDialog.new(frame, -1, "This is a wxDialog")
55
+ win.center_on_screen(Wx::BOTH)
56
+ # Show the dialog and await the user's response
57
+ val = win.show_modal()
58
+ if val == Wx::ID_OK
59
+ log.write_text("You pressed OK")
60
+ else
61
+ log.write_text("You pressed Cancel")
62
+ end
63
+ end
64
+
65
+ def Demo.overview
66
+ return "Welcome to the wxRuby Dialog Demo!"
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,29 @@
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::DirDialog.new(frame, "Choose a directory:")
15
+ if dlg.show_modal() == Wx::ID_OK
16
+ log.write_text("You selected: " + dlg.get_path())
17
+ end
18
+ end
19
+
20
+ def Demo.overview
21
+ return "Welcome to the wxRuby DirDialog demo!"
22
+ end
23
+ end
24
+
25
+ if __FILE__ == $0
26
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
27
+ load run_solo_lib
28
+ run File.basename($0)
29
+ end
@@ -0,0 +1,70 @@
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 DragPanel < Wx::Panel
13
+
14
+ def initialize(parent, log)
15
+ super(parent, -1)
16
+ Wx::StaticText.new(self, -1, "Click and drag to see the drag image.")
17
+ evt_left_down { | e | on_start_drag(e) }
18
+ evt_left_up { | e | on_end_drag(e) }
19
+ evt_motion { | e | on_mouse_move(e) }
20
+ evt_leave_window { | e | on_end_drag(e) }
21
+
22
+ end
23
+
24
+ def on_start_drag(event)
25
+ bmp_file = File.join( File.dirname(__FILE__), 'icons', 'smiley.xpm')
26
+ bmp = Wx::Bitmap.new(bmp_file, Wx::BITMAP_TYPE_XPM)
27
+ @drag_img = Wx::DragImage.new(bmp, Wx::CROSS_CURSOR)
28
+
29
+ @drag_img.begin_drag(Wx::Point.new(16, 16), self)
30
+ @drag_img.move(event.get_position)
31
+ @drag_img.show()
32
+ event.skip
33
+ end
34
+
35
+ def on_mouse_move(event)
36
+ if @drag_img
37
+ @drag_img.move(event.get_position)
38
+ end
39
+ event.skip
40
+ end
41
+
42
+ def on_end_drag(event)
43
+ if @drag_img
44
+ @drag_img.hide
45
+ @drag_img.end_drag
46
+ @drag_img = false
47
+ end
48
+ event.skip
49
+ end
50
+ end
51
+
52
+ module Demo
53
+ def Demo.run(frame,nb,log)
54
+ win = DragPanel.new(nb, log)
55
+ return win
56
+ end
57
+
58
+ def Demo.overview
59
+ "Drag images are used to allow smooth dragging of images across
60
+ canvasses. To see this in action, click and hold down the left mouse button and
61
+ move the mouse around the panel"
62
+
63
+ end
64
+ end
65
+
66
+ if __FILE__ == $0
67
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
68
+ load run_solo_lib
69
+ run File.basename($0)
70
+ end
@@ -0,0 +1,37 @@
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
+ $wildcard = "Ruby Source (*.rb)|*.rb|RubyW Source (*.rbw)|*.rbw|All files (*.*)|*.*"
13
+
14
+ module Demo
15
+ def Demo.run(frame, nb, log)
16
+ log.write_text("CWD: " + Dir.getwd() + "\n")
17
+ dlg = Wx::FileDialog.new(frame, "Choose a file", Dir.getwd(), "", $wildcard, Wx::OPEN | Wx::MULTIPLE)
18
+ if dlg.show_modal() == Wx::ID_OK
19
+ paths = dlg.get_paths()
20
+ log.write_text("You selected %d files" % + paths.length)
21
+ paths.each {|path| log.write_text("CWD: " + path)}
22
+ log.write_text("CWD: " + Dir.getwd())
23
+ end
24
+ end
25
+
26
+ def Demo.overview
27
+ return "Welcome to the wxFileDialog Demo!"
28
+ end
29
+
30
+
31
+ end
32
+
33
+ if __FILE__ == $0
34
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
35
+ load run_solo_lib
36
+ run File.basename($0)
37
+ end
@@ -0,0 +1,35 @@
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
+ $wildcard = "Ruby Source (*.rb)|*.rb|RubyW Source (*.rbw)|*.rbw|SPAM files (*.spam)|*.spam|Egg file (*.egg)|*.egg|All Files (*.*)|*.*"
13
+
14
+ module Demo
15
+ def Demo.run(frame, nb, log)
16
+ log.write_text("CWD: " + Dir.getwd())
17
+ dlg = Wx::FileDialog.new(frame, "Save file as...", Dir.getwd(), "", $wildcard, Wx::SAVE)
18
+ dlg.set_filter_index(2)
19
+ if dlg.show_modal() == Wx::ID_OK
20
+ path = dlg.get_path()
21
+ log.write_text("You selected " + path)
22
+ log.write_text("CWD: " + Dir.getwd())
23
+ end
24
+ end
25
+
26
+ def Demo.overview
27
+ return "Welcome to the wxRuby FileDialog_Save demo!"
28
+ end
29
+ end
30
+
31
+ if __FILE__ == $0
32
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
33
+ load run_solo_lib
34
+ run File.basename($0)
35
+ end
@@ -0,0 +1,82 @@
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)
15
+ @log = log
16
+
17
+ b = Wx::Button.new(self, -1, "Show Find Dialog", Wx::Point.new(25, 50))
18
+ evt_button(b.get_id()) {|event| on_show_find(event)}
19
+
20
+ b = Wx::Button.new(self, -1, "Show Find && Replace Dialog", Wx::Point.new(25, 90))
21
+ evt_button(b.get_id()) {|event| on_show_find_replace(event)}
22
+
23
+ evt_find(-1) {|event| on_find(event)}
24
+ evt_find_next(-1) {|event| on_find(event)}
25
+ evt_find_replace(-1) {|event| on_find(event)}
26
+ evt_find_replace_all(-1) {|event| on_find(event)}
27
+ evt_find_close(-1) {|event| on_find_close(event)}
28
+ end
29
+
30
+ def on_show_find(evt)
31
+ data = Wx::FindReplaceData.new()
32
+ dlg = Wx::FindReplaceDialog.new(self, data, "Find")
33
+ #dlg.data = data # save a reference to it
34
+ dlg.show(true)
35
+ end
36
+
37
+ def on_show_find_replace(evt)
38
+ data = Wx::FindReplaceData.new()
39
+ dlg = Wx::FindReplaceDialog.new(self, data, "Find & Replace", Wx::FR_REPLACEDIALOG)
40
+ #dlg.data = data # save a reference to it
41
+ dlg.show(true)
42
+ end
43
+
44
+ def on_find(evt)
45
+ map = {Wx::EVT_COMMAND_FIND => "FIND", Wx::EVT_COMMAND_FIND_NEXT => "FIND_NEXT", Wx::EVT_COMMAND_FIND_REPLACE => "REPLACE",
46
+ Wx::EVT_COMMAND_FIND_REPLACE_ALL => "REPLACE_ALL"}
47
+ map.default = "**Unknown Event Type**"
48
+ et = evt.get_event_type()
49
+ evtType = map[et]
50
+
51
+ if et == Wx::EVT_COMMAND_FIND_REPLACE or et == Wx::EVT_COMMAND_FIND_REPLACE_ALL
52
+ replaceTxt = "Replace text: " + evt.get_replace_string()
53
+ else
54
+ replaceTxt = ""
55
+ end
56
+
57
+ @log.write_text(evtType.to_s + " -- Find text: " + evt.get_find_string() + " " + replaceTxt + " Flags: " + evt.get_flags.to_s)
58
+
59
+ end
60
+
61
+ def on_find_close(evt)
62
+ @log.write_text("Wx::FindReplaceDialog closing...")
63
+ end
64
+
65
+ end
66
+
67
+ module Demo
68
+ def Demo.run(frame, nb, log)
69
+ win = TestPanel.new(nb, log)
70
+ return win
71
+ end
72
+
73
+ def Demo.overview
74
+ return "A generic find and replace dialog"
75
+ end
76
+ end
77
+
78
+ if __FILE__ == $0
79
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
80
+ load run_solo_lib
81
+ run File.basename($0)
82
+ end
@@ -0,0 +1,173 @@
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 FontTestPanel < Wx::Panel
13
+ def initialize(parent, log)
14
+ super(parent, -1)
15
+ @log = log
16
+ btn = Wx::Button.new(self, -1, "Select Font")
17
+ evt_button(btn.get_id()) {|event| on_select_font(event)}
18
+
19
+ @sampleText = Wx::TextCtrl.new(self, -1, "Sample Text")
20
+ @curFont = @sampleText.get_font()
21
+ @curClr = Wx::BLACK
22
+
23
+ fgs = Wx::FlexGridSizer.new(2,2, 5, 5)
24
+ fgs.add_growable_col(1)
25
+ fgs.add_growable_row(0)
26
+
27
+ fgs.add(btn, 0, Wx::ALIGN_CENTRE_VERTICAL)
28
+ fgs.add(@sampleText, 10, Wx::ADJUST_MINSIZE | Wx::GROW)
29
+
30
+ fgs.add(15, 15)
31
+ fgs.add(15, 15) # an empty row
32
+
33
+ fgs.add(Wx::StaticText.new(self, -1, "PointSize: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
34
+ @ps = Wx::StaticText.new(self, -1, "")
35
+ font = @ps.get_font()
36
+ font.set_weight(Wx::BOLD)
37
+ @ps.set_font(font)
38
+ fgs.add(@ps, 0, Wx::ALIGN_CENTRE_VERTICAL)
39
+
40
+ fgs.add(Wx::StaticText.new(self, -1, "Family: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
41
+ @family = Wx::StaticText.new(self, -1, "")
42
+ @family.set_font(font)
43
+ fgs.add(@family, 0, Wx::ALIGN_CENTRE_VERTICAL)
44
+
45
+ fgs.add(Wx::StaticText.new(self, -1, "Style: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
46
+ @style = Wx::StaticText.new(self, -1, "")
47
+ @style.set_font(font)
48
+ fgs.add(@style, 0, Wx::ALIGN_CENTRE_VERTICAL)
49
+
50
+ fgs.add(Wx::StaticText.new(self, -1, "Weight: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
51
+ @weight = Wx::StaticText.new(self, -1, "")
52
+ @weight.set_font(font)
53
+ fgs.add(@weight, 0, Wx::ALIGN_CENTRE_VERTICAL)
54
+
55
+ fgs.add(Wx::StaticText.new(self, -1, "Face: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
56
+ @face = Wx::StaticText.new(self, -1, "")
57
+ @face.set_font(font)
58
+ fgs.add(@face, 0, Wx::ALIGN_CENTRE_VERTICAL)
59
+
60
+ fgs.add(15, 15)
61
+ fgs.add(15, 15) # an empty row
62
+
63
+ fgs.add(Wx::StaticText.new(self, -1, "Wx::NativeFontInfo: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
64
+ @nfi = Wx::StaticText.new(self, -1, "")
65
+ @nfi.set_font(font)
66
+ fgs.add(@nfi, 0, Wx::ALIGN_CENTRE_VERTICAL)
67
+
68
+ # give it some border space
69
+
70
+ sizer = Wx::BoxSizer.new(Wx::VERTICAL)
71
+ sizer.add(fgs, 0, Wx::GROW | Wx::ADJUST_MINSIZE | Wx::ALL, 25)
72
+
73
+ set_sizer(sizer)
74
+ sizer.fit(self)
75
+ @sizer = fgs
76
+ update_ui()
77
+ end
78
+
79
+ def update_ui()
80
+ @sampleText.set_font(@curFont)
81
+ # layout() is called so that if the user changes the size of the Font, the text control will be properly displayed
82
+ # to show the whole font - just comment out this line, to see the font size change without corresponding changes
83
+ # to the text control :-)
84
+ # As a postscript, it is interesting to note that if I call layout() at the end of this method, it causes all of the
85
+ # labels to appear BLANK, showing nothing. Through trial and error, I moved it here, and found that it resized the
86
+ # text control properly and set the text of the labels too - I don't know why that is though?
87
+ @sizer.layout()
88
+ @ps.set_label(@curFont.get_point_size().to_s)
89
+ @family.set_label(map_font_value_to_name(@curFont.get_family()) )
90
+ @style.set_label(map_font_value_to_name(@curFont.get_style()))
91
+ @weight.set_label(map_font_value_to_name(@curFont.get_weight()))
92
+ @face.set_label(@curFont.get_face_name())
93
+ @nfi.set_label(@curFont.get_native_font_info_desc().to_s)
94
+
95
+
96
+ end
97
+
98
+ def on_select_font(evt)
99
+ data = Wx::FontData.new()
100
+ #data.enable_effects(true)
101
+ data.set_colour(@curClr) #set colour
102
+ data.set_initial_font(@curFont)
103
+
104
+ dlg = Wx::FontDialog.new(self, data)
105
+ if dlg.show_modal() == Wx::ID_OK
106
+ data = dlg.get_font_data()
107
+ font = data.get_chosen_font()
108
+ colour = data.get_colour()
109
+ @log.write_text("You selected: " + font.get_face_name() + ", " + font.get_point_size().to_s + " points, color (" +
110
+ get_rgb_string(colour))
111
+ @curFont = font
112
+ @curClr = colour
113
+ update_ui()
114
+ end
115
+ end
116
+
117
+ def map_font_value_to_name(constant)
118
+ case constant
119
+ when Wx::DEFAULT
120
+ return "Wx::DEFAULT"
121
+ when Wx::DECORATIVE
122
+ return "Wx::DECORATIVE"
123
+ when Wx::ROMAN
124
+ return "Wx::ROMAN"
125
+ when Wx::SCRIPT
126
+ return "Wx::SCRIPT"
127
+ when Wx::SWISS
128
+ return "Wx::SWISS"
129
+ when Wx::MODERN
130
+ return "Wx::MODERN"
131
+ when Wx::TELETYPE
132
+ return "Wx::TELETYPE"
133
+ when Wx::NORMAL
134
+ return "Wx::NORMAL"
135
+ when Wx::SLANT
136
+ return "Wx::SLANT"
137
+ when Wx::ITALIC
138
+ return "Wx::ITALIC"
139
+ when Wx::LIGHT
140
+ return "Wx::LIGHT"
141
+ when Wx::BOLD
142
+ return "Wx::BOLD"
143
+ else
144
+ return "Unknown"
145
+ end
146
+ end
147
+
148
+ def get_rgb_string(color)
149
+ red = color.red().to_s()
150
+ green = color.green().to_s()
151
+ blue = color.blue().to_s()
152
+ return "(%s, %s, %s)" % [red, green, blue]
153
+ end
154
+ end
155
+
156
+ module Demo
157
+ def Demo.run(frame, nb, log)
158
+ win = FontTestPanel.new(nb, log)
159
+ return win
160
+
161
+ end
162
+
163
+ def Demo.overview
164
+ return "This class allows you to use the system font chooser dialog."
165
+ end
166
+ end
167
+
168
+
169
+ if __FILE__ == $0
170
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
171
+ load run_solo_lib
172
+ run File.basename($0)
173
+ end