wxruby 1.9.5-universal-darwin-9 → 1.9.6-universal-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 (117) hide show
  1. data/lib/wx/classes/acceleratortable.rb +28 -0
  2. data/lib/wx/classes/animation.rb +18 -0
  3. data/lib/wx/classes/bitmap.rb +5 -0
  4. data/lib/wx/classes/busycursor.rb +12 -0
  5. data/lib/wx/classes/evthandler.rb +36 -21
  6. data/lib/wx/classes/functions.rb +44 -0
  7. data/lib/wx/classes/grid.rb +16 -7
  8. data/lib/wx/classes/htmlwindow.rb +8 -0
  9. data/lib/wx/classes/icon.rb +7 -0
  10. data/lib/wx/classes/iconbundle.rb +3 -0
  11. data/lib/wx/classes/image.rb +17 -0
  12. data/lib/wx/classes/imagelist.rb +3 -0
  13. data/lib/wx/classes/toolbartool.rb +4 -0
  14. data/lib/wx/classes/xmlresource.rb +21 -0
  15. data/lib/wx/keyword_ctors.rb +9 -6
  16. data/lib/wx/keyword_defs.rb +7 -0
  17. data/lib/wx/version.rb +1 -1
  18. data/lib/wxruby2.bundle +0 -0
  19. data/samples/aui/aui.rb +6 -10
  20. data/samples/bigdemo/About.rbw +0 -0
  21. data/samples/bigdemo/ColorPanel.rbw +7 -9
  22. data/samples/bigdemo/GridSimple.rbw +7 -9
  23. data/samples/bigdemo/MDIDemo.rbw +7 -9
  24. data/samples/bigdemo/PopupMenu.rbw +7 -9
  25. data/samples/bigdemo/ShapedWindow.rbw +6 -10
  26. data/samples/bigdemo/Sizers.rbw +7 -9
  27. data/samples/bigdemo/bigdemo.rb +24 -25
  28. data/samples/bigdemo/demoTemplate.rbw +6 -10
  29. data/samples/bigdemo/run.rb +6 -10
  30. data/samples/bigdemo/utils.rb +0 -0
  31. data/samples/bigdemo/wxArtProvider.rbw +6 -10
  32. data/samples/bigdemo/wxBitmapButton.rbw +42 -41
  33. data/samples/bigdemo/wxButton.rbw +7 -9
  34. data/samples/bigdemo/wxCalendarCtrl.rbw +41 -53
  35. data/samples/bigdemo/wxCheckBox.rbw +7 -9
  36. data/samples/bigdemo/wxCheckListBox.rbw +7 -9
  37. data/samples/bigdemo/wxChoice.rbw +7 -9
  38. data/samples/bigdemo/wxChoicebook.rbw +7 -9
  39. data/samples/bigdemo/wxColourDialog.rbw +7 -10
  40. data/samples/bigdemo/wxComboBox.rbw +7 -9
  41. data/samples/bigdemo/wxCursor.rbw +6 -10
  42. data/samples/bigdemo/wxDialog.rbw +7 -9
  43. data/samples/bigdemo/wxDirDialog.rbw +7 -10
  44. data/samples/bigdemo/wxDragImage.rbw +6 -10
  45. data/samples/bigdemo/wxFileDialog.rbw +7 -9
  46. data/samples/bigdemo/wxFileDialog_Save.rbw +7 -10
  47. data/samples/bigdemo/wxFindReplaceDialog.rbw +7 -10
  48. data/samples/bigdemo/wxFontDialog.rbw +7 -10
  49. data/samples/bigdemo/wxFrame.rbw +7 -9
  50. data/samples/bigdemo/wxGauge.rbw +7 -9
  51. data/samples/bigdemo/wxGenericDirCtrl.rbw +6 -10
  52. data/samples/bigdemo/wxGrid.rbw +7 -9
  53. data/samples/bigdemo/wxHtmlHelpController.rbw +6 -11
  54. data/samples/bigdemo/wxListBox.rbw +7 -9
  55. data/samples/bigdemo/wxListCtrl_virtual.rbw +7 -9
  56. data/samples/bigdemo/wxMDIWindows.rbw +7 -9
  57. data/samples/bigdemo/wxMenu.rbw +7 -9
  58. data/samples/bigdemo/wxMessageDialog.rbw +7 -10
  59. data/samples/bigdemo/wxMiniFrame.rbw +6 -10
  60. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +7 -9
  61. data/samples/bigdemo/wxNotebook.rbw +7 -9
  62. data/samples/bigdemo/wxProgressDialog.rbw +7 -9
  63. data/samples/bigdemo/wxRadioBox.rbw +7 -9
  64. data/samples/bigdemo/wxRadioButton.rbw +7 -9
  65. data/samples/bigdemo/wxSashWindow.rbw +6 -10
  66. data/samples/bigdemo/wxScrolledMessageDialog.rbw +7 -9
  67. data/samples/bigdemo/wxScrolledWindow.rbw +7 -9
  68. data/samples/bigdemo/wxSingleChoiceDialog.rbw +7 -9
  69. data/samples/bigdemo/wxSlider.rbw +7 -9
  70. data/samples/bigdemo/wxSpinButton.rbw +7 -9
  71. data/samples/bigdemo/wxSpinCtrl.rbw +7 -9
  72. data/samples/bigdemo/wxSplitterWindow.rbw +7 -9
  73. data/samples/bigdemo/wxStaticBitmap.rbw +7 -9
  74. data/samples/bigdemo/wxStaticText.rbw +7 -9
  75. data/samples/bigdemo/wxStatusBar.rbw +7 -9
  76. data/samples/bigdemo/wxTextCtrl.rbw +7 -9
  77. data/samples/bigdemo/wxTextEntryDialog.rbw +7 -10
  78. data/samples/bigdemo/wxToggleButton.rbw +7 -9
  79. data/samples/bigdemo/wxToolBar.rbw +7 -9
  80. data/samples/bigdemo/wxTreeCtrl.rbw +7 -9
  81. data/samples/calendar/calendar.rb +6 -10
  82. data/samples/caret/caret.rb +6 -10
  83. data/samples/controls/controls.rb +6 -10
  84. data/samples/controls/get_item_sample.rb +0 -0
  85. data/samples/dialogs/dialogs.rb +10 -11
  86. data/samples/drawing/graphics_drawing.rb +6 -7
  87. data/samples/drawing/images.rb +5 -10
  88. data/samples/drawing/paperclip.png +0 -0
  89. data/samples/etc/activation.rb +4 -10
  90. data/samples/etc/choice.rb +5 -10
  91. data/samples/etc/miniframe.rb +5 -10
  92. data/samples/etc/sash.rb +5 -10
  93. data/samples/etc/scrollwin.rb +4 -10
  94. data/samples/etc/system_settings.rb +4 -10
  95. data/samples/etc/threaded.rb +4 -10
  96. data/samples/etc/wizard.rb +5 -10
  97. data/samples/event/event.rb +3 -5
  98. data/samples/grid/grid.rb +5 -9
  99. data/samples/grid/gridtablebase.rb +134 -0
  100. data/samples/html/html.rb +4 -10
  101. data/samples/listbook/listbook.rb +4 -11
  102. data/samples/mdi/mdi.rb +5 -10
  103. data/samples/media/mediactrl.rb +4 -10
  104. data/samples/minimal/minimal.rb +18 -26
  105. data/samples/minimal/nothing.rb +5 -10
  106. data/samples/opengl/cube.rb +8 -14
  107. data/samples/printing/mondrian.ico +0 -0
  108. data/samples/printing/mondrian.xpm +0 -0
  109. data/samples/printing/printing.rb +5 -179
  110. data/samples/text/mondrian.ico +0 -0
  111. data/samples/text/mondrian.xpm +0 -0
  112. data/samples/text/scintilla.rb +5 -10
  113. data/samples/text/textctrl.rb +27 -38
  114. data/samples/text/unicode.rb +6 -2
  115. data/samples/treectrl/treectrl.rb +4 -10
  116. data/samples/xrc/xrc_sample.rb +6 -17
  117. metadata +11 -3
data/samples/mdi/mdi.rb CHANGED
@@ -1,17 +1,12 @@
1
1
  #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2006 Kevin B. Smith
2
+ # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
3
  # Freely reusable code: see SAMPLES-LICENSE.TXT for details
4
-
5
4
  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
5
+ require 'rubygems'
6
+ rescue LoadError
14
7
  end
8
+ require 'wx'
9
+
15
10
 
16
11
  # MDI sample for wxRuby
17
12
  # slapped together quickly by Kevin Smith
@@ -1,17 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Ported from wxPython by Albin Holmgren
2
+ # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
3
  # Freely reusable code: see SAMPLES-LICENSE.TXT for details
4
-
5
4
  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
5
+ require 'rubygems'
6
+ rescue LoadError
14
7
  end
8
+ require 'wx'
15
9
 
16
10
  # This sample demonstrates the use of Wx::MediaCtrl, which can be used
17
11
  # to playback sounds or movies using a platform-native player.
@@ -1,17 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2006 Kevin B. Smith
2
+ # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
3
  # Freely reusable code: see SAMPLES-LICENSE.TXT for details
4
-
5
4
  begin
6
- require 'wx'
7
- rescue LoadError => no_wx_err
8
- begin
9
- require 'rubygems'
10
- load 'wx'
11
- rescue
12
- raise no_wx_err
13
- end
5
+ require 'rubygems'
6
+ rescue LoadError
14
7
  end
8
+ require 'wx'
15
9
 
16
10
  # This sample shows a fairly minimal Wx::App using a Frame, with a
17
11
  # MenuBar and StatusBar but no controls. For the absolute minimum app,
@@ -24,32 +18,33 @@ class MinimalFrame < Wx::Frame
24
18
  # The main application frame has no parent (nil)
25
19
  super(nil, :title => title, :size => [ 400, 300 ])
26
20
 
27
- icon_file = File.join( File.dirname(__FILE__), "mondrian.png")
28
21
  # PNG can be used on all platforms, but icon type must be specified
29
- # to work on Windows; OS X doesn't have "Frame" icons.
22
+ # to work on Windows. Note that OS X doesn't have "Frame" icons.
23
+ icon_file = File.join( File.dirname(__FILE__), "mondrian.png")
30
24
  self.icon = Wx::Icon.new(icon_file, Wx::BITMAP_TYPE_PNG)
31
25
 
32
26
  menu_bar = Wx::MenuBar.new
33
27
  # The "file" menu
34
28
  menu_file = Wx::Menu.new
29
+ # Using Wx::ID_EXIT standard id means the menu item will be given
30
+ # the right label for the platform and language, and placed in the
31
+ # correct platform-specific menu - eg on OS X, in the Application's menu
35
32
  menu_file.append(Wx::ID_EXIT, "E&xit\tAlt-X", "Quit this program")
36
33
  menu_bar.append(menu_file, "&File")
37
34
 
38
35
  # The "help" menu
39
36
  menu_help = Wx::Menu.new
40
- # Using Wx::ID_ABOUT default id means the menu item will be placed
41
- # in the correct platform-specific place - eg on OS X
42
37
  menu_help.append(Wx::ID_ABOUT, "&About...\tF1", "Show about dialog")
43
38
  menu_bar.append(menu_help, "&Help")
44
39
 
45
40
  # Assign the menubar to this frame
46
41
  self.menu_bar = menu_bar
47
42
 
48
- # Create a status bar
43
+ # Create a status bar at the bottom of the frame
49
44
  create_status_bar(2)
50
45
  self.status_text = "Welcome to wxRuby!"
51
46
 
52
- # Set it up to handle menu events using the relevant methods
47
+ # Set it up to handle menu events using the relevant methods.
53
48
  evt_menu Wx::ID_EXIT, :on_quit
54
49
  evt_menu Wx::ID_ABOUT, :on_about
55
50
  end
@@ -60,17 +55,14 @@ class MinimalFrame < Wx::Frame
60
55
  close()
61
56
  end
62
57
 
63
- # show an 'About' dialog
58
+ # show an 'About' dialog - WxRuby's about_box function will show a
59
+ # platform-native 'About' dialog, but you could also use an ordinary
60
+ # Wx::MessageDialog here.
64
61
  def on_about
65
- msg = sprintf("This is the About dialog of the minimal sample.\n" \
66
- "Welcome to wxRuby, version %s", Wx::WXRUBY_VERSION)
67
-
68
- # create a simple message dialog with OK button
69
- about_dlg = Wx::MessageDialog.new( self, msg, 'About Minimal',
70
- Wx::OK|Wx::ICON_INFORMATION )
71
- # Display the dialog on top of and blocking other windows, until
72
- # dismissed by clicking the 'OK' button
73
- about_dlg.show_modal
62
+ Wx::about_box(:name => self.title,
63
+ :version => Wx::WXRUBY_VERSION,
64
+ :description => "This is the minimal sample",
65
+ :developers => ['The wxRuby Development Team'] )
74
66
  end
75
67
  end
76
68
 
@@ -1,17 +1,12 @@
1
1
  #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2006 Kevin B. Smith
2
+ # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
3
  # Freely reusable code: see SAMPLES-LICENSE.TXT for details
4
-
5
4
  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
5
+ require 'rubygems'
6
+ rescue LoadError
14
7
  end
8
+ require 'wx'
9
+
15
10
 
16
11
  # This is the minimum code to start a WxRuby app - create a Frame, and
17
12
  # show it.
@@ -1,19 +1,13 @@
1
1
  #!/usr/bin/env ruby
2
-
2
+ # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
+ # Freely reusable code: see SAMPLES-LICENSE.TXT for details
3
4
  begin
4
- require 'wx'
5
- require 'gl'
6
- require 'glu'
7
- rescue LoadError => e
8
- begin
9
- require 'rubygems'
10
- require 'wx'
11
- require 'gl'
12
- require 'glu'
13
- rescue
14
- raise e
15
- end
5
+ require 'rubygems'
6
+ rescue LoadError
16
7
  end
8
+ require 'wx'
9
+ require 'gl'
10
+ require 'glu'
17
11
 
18
12
  include Gl
19
13
  include Glu
@@ -120,4 +114,4 @@ Wx::App.run do
120
114
  self.app_name = 'GLCanvas Cube'
121
115
  frame = CubeFrame.new("OpenGL Canvas wxRuby App")
122
116
  frame.show
123
- end
117
+ end
File without changes
File without changes
@@ -1,185 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2006 Kevin B. Smith
2
+ # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
3
  # Freely reusable code: see SAMPLES-LICENSE.TXT for details
4
-
5
- require 'wx'
6
-
7
- WXPRINT_QUIT = Wx::ID_EXIT
8
- WXPRINT_PRINT = Wx::ID_PRINT
9
- WXPRINT_PAGE_SETUP = Wx::ID_PRINT_SETUP
10
- WXPRINT_PREVIEW = Wx::ID_PREVIEW
11
-
12
- WXPRINT_PRINT_PS = 105
13
- WXPRINT_PAGE_SETUP_PS = 107
14
- WXPRINT_PREVIEW_PS = 108
15
-
16
- WXPRINT_ABOUT = Wx::ID_ABOUT
17
-
18
- WXPRINT_ANGLEUP = 110
19
- WXPRINT_ANGLEDOWN = 111
20
-
21
- class MyFrame < Wx::Frame
22
-
23
- attr_accessor :canvas
24
-
25
- def initialize(parent,title,pos,size)
26
- super(parent,-1,title,pos,size)
27
- @canvas = nil
28
- @bitmap = Wx::Bitmap.new
29
- @angle = 30
30
-
31
- # map events
32
- evt_menu(WXPRINT_QUIT) {|e| on_exit(e)}
33
- evt_menu(WXPRINT_PRINT) {|e| on_print(e)}
34
- evt_menu(WXPRINT_PREVIEW) {|e| on_print_preview(e)}
35
- evt_menu(WXPRINT_PAGE_SETUP) {|e| on_page_setup(e)}
36
- evt_menu(WXPRINT_ABOUT) {|e| on_print_about(e)}
37
- evt_menu(WXPRINT_ANGLEUP) {|e| on_angle_up(e)}
38
- evt_menu(WXPRINT_ANGLEDOWN) {|e| on_angle_down(e)}
39
- end
40
-
41
- def draw(dc)
42
- dc.set_background(Wx::WHITE_BRUSH)
43
- dc.clear()
44
- dc.set_font(Wx::get_app.test_font)
45
-
46
- dc.set_background_mode(Wx::TRANSPARENT)
47
-
48
- dc.set_brush(Wx::CYAN_BRUSH)
49
- dc.set_pen(Wx::RED_PEN)
50
-
51
- dc.draw_rounded_rectangle(0, 20, 200, 80, 20)
52
-
53
- dc.draw_text( "Rectangle 200 by 80", 40, 40)
54
-
55
- dc.set_pen( Wx::Pen.new(Wx::BLACK,0,Wx::DOT_DASH) )
56
- dc.draw_ellipse(50, 140, 100, 50)
57
- dc.set_pen(Wx::RED_PEN)
58
-
59
- dc.draw_text( "Test message: this is in 10 point text", 10, 180)
60
-
61
- test = "Hebrew שלום -- Japanese (日本語)"
62
- dc.draw_text( test, 10, 200 )
63
-
64
- points = []
65
- points << Wx::Point.new(0,0)
66
- points << Wx::Point.new(20,0)
67
- points << Wx::Point.new(20,20)
68
- points << Wx::Point.new(10,20)
69
- points << Wx::Point.new(10,-20)
70
-
71
- dc.draw_polygon( points, 20, 250, Wx::ODDEVEN_RULE )
72
- dc.draw_polygon( points, 50, 250, Wx::WINDING_RULE )
73
-
74
- dc.draw_elliptic_arc( 80, 250, 60, 30, 0.0, 270.0 )
75
-
76
- points[0].x = 150
77
- points[0].y = 250
78
- points[1].x = 180
79
- points[1].y = 250
80
- points[2].x = 180
81
- points[2].y = 220
82
- points[3].x = 200
83
- points[3].y = 220
84
- points.pop
85
- dc.draw_spline( points )
86
-
87
- dc.draw_arc( 20,10, 10,10, 25,40 )
88
-
89
- str = ""
90
- i = 0
91
- str = "---- Text at angle #{i} ----"
92
- dc.draw_rotated_text( str, 100, 300, i )
93
-
94
- i = @angle;
95
- str = "---- Text at angle #{i} ----"
96
- dc.draw_rotated_text( str, 100, 300, i )
97
-
98
- dc.set_pen(Wx::BLACK_PEN)
99
- dc.draw_line(0, 0, 200, 200)
100
- dc.draw_line(200, 0, 0, 200)
101
-
102
- # Load icon
103
- if Wx::PLATFORM == "WXMSW"
104
- icon_file = File.join(File.dirname(__FILE__), 'mondrian.ico')
105
- my_icon = Wx::Icon.new(icon_file, Wx::BITMAP_TYPE_ICO)
106
- else
107
- icon_file = File.join(File.dirname(__FILE__), 'mondrian.xpm')
108
- my_icon = Wx::Icon.new(icon_file, Wx::BITMAP_TYPE_XPM)
109
- end
110
-
111
- dc.draw_icon( my_icon, 100, 100)
112
-
113
- if @bitmap.is_ok
114
- dc.draw_bitmap( @bitmap, 10, 10 )
115
- end
116
- end
117
-
118
- def on_angle_up(event)
119
- @angle += 5
120
- canvas.refresh
121
- end
122
-
123
- def on_angle_down(event)
124
- @angle -= 5
125
- canvas.refresh
126
- end
127
-
128
- def on_size(event)
129
- super(event)
130
- end
131
-
132
- def on_print(event)
133
- print_dialog_data = Wx::PrintDialogData.new(Wx::get_app.print_data)
134
-
135
- printer = Wx::Printer.new(print_dialog_data)
136
- printout = MyPrintout.new("My printout")
137
- if (!printer.print(self, printout, true))
138
- if (Wx::Printer.get_last_error == Wx::PRINTER_ERROR)
139
- Wx::message_box("There was a problem printing.\nPerhaps your current printer is not set correctly?", "Printing", Wx::OK)
140
- else
141
- Wx::message_box("You canceled printing", "Printing", Wx::OK)
142
- end
143
- else
144
- Wx::get_app.print_data = printer.get_print_dialog_data.get_print_data
145
- end
146
- end
147
-
148
- def on_print_preview(event)
149
- # Pass two printout objects: for preview, and possible printing.
150
- print_dialog_data = Wx::PrintDialogData.new(Wx::get_app.print_data)
151
- preview = Wx::PrintPreview.new(MyPrintout.new, MyPrintout.new, print_dialog_data)
152
- if not preview.is_ok
153
- #delete preview;
154
- Wx::message_box("There was a problem previewing.\nPerhaps your current printer is not set correctly?", "Previewing", Wx::OK)
155
- return
156
- end
157
-
158
- prev_frame = Wx::PreviewFrame.new(preview, self, "Demo Print Preview", Wx::Point.new(100, 100), Wx::Size.new(600, 650))
159
- prev_frame.centre(Wx::BOTH)
160
- prev_frame.init
161
- prev_frame.show
162
- end
163
-
164
- def on_page_setup(event)
165
- Wx::get_app.page_setup_data = Wx::PageSetupDialogData.new(Wx::get_app.print_data)
166
- page_setup_dialog = Wx::PageSetupDialog.new(self, Wx::get_app.page_setup_data)
167
- page_setup_dialog.show_modal
168
-
169
- Wx::get_app.print_data = page_setup_dialog.get_page_setup_data.get_print_data
170
- Wx::get_app.page_setup_data = Wx::PageSetupDialogData.new(Wx::get_app.print_data)
171
- end
172
-
173
- def on_exit(event)
174
- close(true)
175
- end
176
-
177
- def on_print_about(event)
178
- Wx::message_box("wxWidgets printing demo\nAuthor: Julian Smart\nAdapted to wxRuby by Sean Long",
179
- "About wxRuby printing demo", Wx::OK|Wx::CENTRE)
180
- end
181
-
4
+ begin
5
+ require 'rubygems'
6
+ rescue LoadError
182
7
  end
8
+ require 'wx'
183
9
 
184
10
  class MyCanvas < Wx::ScrolledWindow
185
11
  #attr_accessor :frame
File without changes
File without changes
@@ -1,17 +1,12 @@
1
1
  #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2006 Kevin B. Smith
2
+ # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
3
  # Freely reusable code: see SAMPLES-LICENSE.TXT for details
4
-
5
4
  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
5
+ require 'rubygems'
6
+ rescue LoadError
14
7
  end
8
+ require 'wx'
9
+
15
10
  include Wx
16
11
 
17
12
 
@@ -1,17 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2006 Kevin B. Smith
2
+ # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
3
  # Freely reusable code: see SAMPLES-LICENSE.TXT for details
4
-
5
4
  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
5
+ require 'rubygems'
6
+ rescue LoadError
14
7
  end
8
+ require 'wx'
15
9
 
16
10
  class InformativeTextCtrl < Wx::TextCtrl
17
11
  NEWLINE_CORRECTION_FACTOR = 0
@@ -19,8 +13,8 @@ class InformativeTextCtrl < Wx::TextCtrl
19
13
  # These text controls are multiline, and may have rich (coloured,
20
14
  # styled) text in them
21
15
  STYLE = Wx::TE_MULTILINE|Wx::TE_RICH|Wx::TE_RICH2
22
- def initialize(parent, text)
23
- super(parent, -1, text, Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, STYLE)
16
+ def initialize(parent, text = '')
17
+ super(parent, :value => text, :style => STYLE)
24
18
  end
25
19
 
26
20
  # more ruby-ish
@@ -45,29 +39,28 @@ end
45
39
  class LogTextCtrl < Wx::TextCtrl
46
40
  STYLE = Wx::TE_READONLY|Wx::TE_MULTILINE
47
41
  def initialize(parent)
48
- super(parent, -1, '', Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, STYLE)
42
+ super(parent, :style => STYLE)
49
43
  end
50
44
  end
51
45
 
52
46
  class TextCtrlFrame < Wx::Frame
53
- def initialize(title, pos, size)
54
- super(nil, -1, title, pos, size)
47
+ def initialize(*args)
48
+ super(nil, *args)
55
49
 
56
- panel = Wx::Panel.new(self, -1)
50
+ panel = Wx::Panel.new(self)
57
51
  sizer = Wx::BoxSizer.new(Wx::VERTICAL)
58
52
 
59
- @textctrl = InformativeTextCtrl.new(panel, '')
53
+ @textctrl = InformativeTextCtrl.new(panel)
60
54
  populate_textctrl()
61
55
  sizer.add(@textctrl, 2, Wx::GROW|Wx::ALL, 2)
62
56
 
63
- button = Wx::Button.new(panel, -1, 'Get Info')
57
+ button = Wx::Button.new(panel, :label => 'Get Info')
64
58
  sizer.add(button, 0, Wx::ADJUST_MINSIZE|Wx::ALL, 2 )
65
- evt_button(button.get_id) { | e | on_click(e) }
59
+ evt_button button, :on_click
66
60
 
67
61
  @log = LogTextCtrl.new(panel)
68
62
  sizer.add(@log, 1, Wx::GROW|Wx::ALL, 2)
69
-
70
- panel.set_sizer( sizer )
63
+ panel.sizer = sizer
71
64
  end
72
65
 
73
66
  def populate_textctrl()
@@ -86,39 +79,35 @@ class TextCtrlFrame < Wx::Frame
86
79
  menu_file = Wx::Menu.new()
87
80
  menu_file.append(Wx::ID_EXIT, "E&xit\tAlt-X", "Quit this program")
88
81
  menu_bar.append(menu_file, "&File")
89
- evt_menu(Wx::ID_EXIT) { on_quit() }
82
+ evt_menu Wx::ID_EXIT, :on_quit
90
83
 
91
84
  menu_help = Wx::Menu.new()
92
85
  menu_help.append(Wx::ID_ABOUT, "&About...\tF1", "Show about dialog")
93
- evt_menu(Wx::ID_ABOUT) { on_about() }
86
+ evt_menu Wx::ID_ABOUT, :on_about
94
87
  menu_bar.append(menu_help, "&Help")
95
88
 
96
- set_menu_bar(menu_bar)
89
+ self.menu_bar = menu_bar
97
90
  end
98
91
 
99
- def on_click(e)
100
- @log.set_value( @textctrl.report() )
92
+ def on_click
93
+ @log.value = @textctrl.report
101
94
  end
102
95
 
103
- def on_quit()
104
- close(TRUE)
96
+ def on_quit
97
+ close
105
98
  end
106
99
 
107
- def on_about()
100
+ def on_about
108
101
  msg = sprintf("This is the About dialog of the textctrl sample.\n" \
109
102
  "Welcome to %s", Wx::VERSION_STRING)
110
103
  message_box(msg, "About Minimal", Wx::OK|Wx::ICON_INFORMATION, self)
111
104
  end
112
105
  end
113
106
 
114
- class RbApp < Wx::App
115
- def on_init()
116
- frame = TextCtrlFrame.new("TextCtrl demonstration",
117
- Wx::Point.new(50, 50),
118
- Wx::Size.new(450, 340) )
119
-
120
- frame.show(true)
121
- end
107
+ Wx::App.run do
108
+ frame = TextCtrlFrame.new( :title => "TextCtrl demonstration",
109
+ :pos => [ 50, 50 ],
110
+ :size => [ 450, 340 ] )
111
+ frame.show
122
112
  end
123
113
 
124
- RbApp.new().main_loop()