wxruby 1.9.2-i386-mswin32 → 1.9.3-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 (149) hide show
  1. data/LICENSE +53 -53
  2. data/README +299 -299
  3. data/lib/wx/classes/app.rb +6 -0
  4. data/lib/wx/classes/checklistbox.rb +45 -30
  5. data/lib/wx/classes/clipboard.rb +16 -0
  6. data/lib/wx/classes/event.rb +5 -0
  7. data/lib/wx/classes/evthandler.rb +20 -10
  8. data/lib/wx/classes/grid.rb +38 -39
  9. data/lib/wx/classes/listctrl.rb +12 -0
  10. data/lib/wx/classes/mediactrl.rb +22 -0
  11. data/lib/wx/classes/menu.rb +6 -6
  12. data/lib/wx/classes/sound.rb +23 -0
  13. data/lib/wx/classes/styledtextctrl.rb +2 -2
  14. data/lib/wx/classes/treectrl.rb +26 -0
  15. data/lib/wx/keyword_ctors.rb +19 -5
  16. data/lib/wx/keyword_defs.rb +20 -0
  17. data/lib/wx/version.rb +1 -1
  18. data/lib/wx.rb +42 -42
  19. data/lib/wxruby2.exp +0 -0
  20. data/lib/wxruby2.lib +0 -0
  21. data/lib/wxruby2.so +0 -0
  22. data/samples/SAMPLES-LICENSE.TXT +17 -17
  23. data/samples/aui/aui.rb +8 -1
  24. data/samples/bigdemo/About.rbw +39 -39
  25. data/samples/bigdemo/ColorPanel.rbw +25 -25
  26. data/samples/bigdemo/GridSimple.rbw +80 -80
  27. data/samples/bigdemo/MDIDemo.rbw +59 -59
  28. data/samples/bigdemo/PopupMenu.rbw +151 -151
  29. data/samples/bigdemo/Sizers.rbw +545 -545
  30. data/samples/bigdemo/bigdemo.rb +826 -826
  31. data/samples/bigdemo/demoTemplate.rbw +37 -37
  32. data/samples/bigdemo/icons/choice.xpm +27 -27
  33. data/samples/bigdemo/icons/combo.xpm +27 -27
  34. data/samples/bigdemo/icons/copy.xpm +25 -25
  35. data/samples/bigdemo/icons/cut.xpm +24 -24
  36. data/samples/bigdemo/icons/gauge.xpm +27 -27
  37. data/samples/bigdemo/icons/help.xpm +25 -25
  38. data/samples/bigdemo/icons/list.xpm +27 -27
  39. data/samples/bigdemo/icons/mondrian.xpm +44 -44
  40. data/samples/bigdemo/icons/new.xpm +24 -24
  41. data/samples/bigdemo/icons/ogl.ico +0 -0
  42. data/samples/bigdemo/icons/ogl.xpm +45 -45
  43. data/samples/bigdemo/icons/open.xpm +26 -26
  44. data/samples/bigdemo/icons/paste.xpm +38 -38
  45. data/samples/bigdemo/icons/preview.xpm +26 -26
  46. data/samples/bigdemo/icons/print.xpm +26 -26
  47. data/samples/bigdemo/icons/radio.xpm +27 -27
  48. data/samples/bigdemo/icons/robert.xpm +415 -415
  49. data/samples/bigdemo/icons/save.xpm +25 -25
  50. data/samples/bigdemo/icons/smiles.xpm +39 -39
  51. data/samples/bigdemo/icons/smiley.xpm +42 -42
  52. data/samples/bigdemo/icons/stattext.xpm +24 -24
  53. data/samples/bigdemo/icons/test2.bmp +0 -0
  54. data/samples/bigdemo/icons/test2.xpm +79 -79
  55. data/samples/bigdemo/icons/text.xpm +27 -27
  56. data/samples/bigdemo/icons/tog1.xpm +38 -38
  57. data/samples/bigdemo/icons/tog2.xpm +38 -38
  58. data/samples/bigdemo/icons/wxwin16x16.xpm +25 -25
  59. data/samples/bigdemo/tips.txt +7 -7
  60. data/samples/bigdemo/utils.rb +11 -11
  61. data/samples/bigdemo/wxButton.rbw +66 -66
  62. data/samples/bigdemo/wxCalendarCtrl.rbw +72 -72
  63. data/samples/bigdemo/wxCheckBox.rbw +52 -52
  64. data/samples/bigdemo/wxCheckListBox.rbw +77 -77
  65. data/samples/bigdemo/wxChoice.rbw +49 -49
  66. data/samples/bigdemo/wxColourDialog.rbw +34 -34
  67. data/samples/bigdemo/wxComboBox.rbw +79 -79
  68. data/samples/bigdemo/wxDialog.rbw +92 -92
  69. data/samples/bigdemo/wxDirDialog.rbw +32 -32
  70. data/samples/bigdemo/wxFileDialog.rbw +39 -39
  71. data/samples/bigdemo/wxFileDialog_Save.rbw +38 -38
  72. data/samples/bigdemo/wxFindReplaceDialog.rbw +85 -85
  73. data/samples/bigdemo/wxFontDialog.rbw +176 -176
  74. data/samples/bigdemo/wxFrame.rbw +55 -55
  75. data/samples/bigdemo/wxGauge.rbw +73 -73
  76. data/samples/bigdemo/wxGrid.rbw +68 -68
  77. data/samples/bigdemo/wxListBox.rbw +142 -142
  78. data/samples/bigdemo/wxListCtrl_virtual.rbw +109 -109
  79. data/samples/bigdemo/wxMDIWindows.rbw +52 -52
  80. data/samples/bigdemo/wxMenu.rbw +238 -238
  81. data/samples/bigdemo/wxMessageDialog.rbw +30 -30
  82. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +34 -34
  83. data/samples/bigdemo/wxNotebook.rbw +138 -138
  84. data/samples/bigdemo/wxProgressDialog.rbw +45 -45
  85. data/samples/bigdemo/wxRadioBox.rbw +74 -74
  86. data/samples/bigdemo/wxRadioButton.rbw +127 -127
  87. data/samples/bigdemo/wxSashWindow.rbw +94 -104
  88. data/samples/bigdemo/wxScrolledMessageDialog.rbw +59 -59
  89. data/samples/bigdemo/wxScrolledWindow.rbw +201 -201
  90. data/samples/bigdemo/wxSingleChoiceDialog.rbw +35 -35
  91. data/samples/bigdemo/wxSlider.rbw +44 -44
  92. data/samples/bigdemo/wxSpinButton.rbw +52 -52
  93. data/samples/bigdemo/wxSpinCtrl.rbw +53 -53
  94. data/samples/bigdemo/wxSplitterWindow.rbw +65 -65
  95. data/samples/bigdemo/wxStaticBitmap.rbw +53 -53
  96. data/samples/bigdemo/wxStaticText.rbw +57 -57
  97. data/samples/bigdemo/wxStatusBar.rbw +128 -128
  98. data/samples/bigdemo/wxTextCtrl.rbw +151 -151
  99. data/samples/bigdemo/wxTextEntryDialog.rbw +34 -34
  100. data/samples/bigdemo/wxToggleButton.rbw +51 -51
  101. data/samples/bigdemo/wxToolBar.rbw +133 -133
  102. data/samples/bigdemo/wxTreeCtrl.rbw +192 -192
  103. data/samples/calendar/calendar.rb +275 -275
  104. data/samples/caret/caret.rb +286 -286
  105. data/samples/caret/mondrian.xpm +44 -44
  106. data/samples/controls/controls.rb +1140 -1140
  107. data/samples/controls/get_item_sample.rb +87 -87
  108. data/samples/controls/icons/choice.xpm +27 -27
  109. data/samples/controls/icons/combo.xpm +27 -27
  110. data/samples/controls/icons/gauge.xpm +27 -27
  111. data/samples/controls/icons/list.xpm +27 -27
  112. data/samples/controls/icons/radio.xpm +27 -27
  113. data/samples/controls/icons/stattext.xpm +24 -24
  114. data/samples/controls/icons/text.xpm +27 -27
  115. data/samples/controls/mondrian.xpm +44 -44
  116. data/samples/dialogs/dialogs.rb +724 -724
  117. data/samples/dialogs/tips.txt +18 -18
  118. data/samples/drawing/graphics_drawing.rb +232 -0
  119. data/samples/{images → drawing}/images.rb +48 -48
  120. data/samples/{images → drawing}/paperclip.png +0 -0
  121. data/samples/etc/activation.rb +108 -108
  122. data/samples/etc/choice.rb +72 -72
  123. data/samples/etc/miniframe.rb +84 -84
  124. data/samples/etc/sash.rb +135 -135
  125. data/samples/etc/scrollwin.rb +116 -116
  126. data/samples/etc/system_settings.rb +258 -258
  127. data/samples/etc/wizard.rb +79 -79
  128. data/samples/grid/grid.rb +1 -0
  129. data/samples/listbook/listbook.rb +181 -181
  130. data/samples/listbook/listbook.xrc +370 -370
  131. data/samples/mdi/mdi.rb +87 -87
  132. data/samples/media/mediactrl.rb +173 -0
  133. data/samples/minimal/minimal.rb +85 -85
  134. data/samples/minimal/nothing.rb +21 -21
  135. data/samples/opengl/cube.rb +123 -0
  136. data/samples/sockets/SocketPackets.rb +27 -0
  137. data/samples/sockets/res/message-new.png +0 -0
  138. data/samples/sockets/res/user.png +0 -0
  139. data/samples/sockets/wxClient.rb +395 -0
  140. data/samples/sockets/wxServer.rb +422 -0
  141. data/samples/sockets/wxSocketGUI.rb +97 -0
  142. data/samples/text/textctrl.rb +124 -124
  143. data/samples/text/unicode.rb +238 -238
  144. data/samples/text/utf8.txt +14 -14
  145. data/samples/treectrl/treectrl.rb +1180 -1181
  146. data/samples/xrc/samples.xrc +46 -46
  147. data/samples/xrc/xrc_sample.rb +107 -107
  148. metadata +26 -9
  149. data/samples/images/Thumbs.db +0 -0
data/samples/aui/aui.rb CHANGED
@@ -899,6 +899,13 @@ class AuiFrame < Wx::Frame
899
899
  def on_notebook_flag(event)
900
900
  e_id = event.get_id
901
901
 
902
+ # TODO - Notebook styles not currently supported; not SO important
903
+ if e_id = ID_NotebookArtGloss or
904
+ e_id = ID_NotebookArtSimple
905
+ Wx::message_box("AUI Notebook Art styles not currently supported in wxRuby")
906
+ return
907
+ end
908
+
902
909
  if e_id == ID_NotebookNoCloseButton or
903
910
  e_id == ID_NotebookCloseButton or
904
911
  e_id == ID_NotebookCloseButtonAll or
@@ -1110,7 +1117,7 @@ class AuiFrame < Wx::Frame
1110
1117
  pi.set_caption("Client Size Reporter").float
1111
1118
  pi.set_floating_position(get_start_position)
1112
1119
  pi.set_close_button.set_maximize_button
1113
- @mgr.add_pane( create_size_report, pi)
1120
+ @mgr.add_pane( create_size_report_ctrl, pi)
1114
1121
  @mgr.update
1115
1122
  end
1116
1123
 
@@ -1,39 +1,39 @@
1
- module About
2
-
3
- class MyAboutBox < Wx::Dialog
4
- def initialize(parent)
5
- super(parent, -1, "About the WxRuby Demo.")
6
- sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
7
- set_size(Wx::Size.new(510,310))
8
- headerFont = Wx::Font.new(36, Wx::SWISS, Wx::NORMAL, Wx::NORMAL)
9
- bodyFont = Wx::Font.new(12, Wx::SWISS, Wx::NORMAL, Wx::NORMAL)
10
- title = Wx::StaticText.new(self, -1, "WxRuby Demo!", Wx::Point.new(20, 20))
11
- title.set_font(headerFont)
12
-
13
- rVersion = Wx::StaticText.new(self, -1, "Running on Ruby version " + VERSION + " on " + RUBY_PLATFORM, Wx::Point.new(20,100))
14
- rVersion.set_font(bodyFont)
15
- rVersion.set_foreground_colour(Wx::RED)
16
-
17
- wxVersion = Wx::StaticText.new(self, -1, Wx::VERSION_STRING, Wx::Point.new(20,120))
18
- wxVersion.set_font(bodyFont)
19
- wxVersion.set_foreground_colour(Wx::BLUE)
20
-
21
- str = "Welcome to the WxRuby Demo! This demo has been ported from the \nwxPython demo created by ROBIN DUNN (http://www.wxpython.org).\nGo ahead and click on each demo via the tree or the demo menu.\nLook at the source code - it is an excellent way to learn WxRuby!\n\nPorted by Robert Paul Carlin"
22
- body = Wx::StaticText.new(self, -1, str, Wx::Point.new(20, 160))
23
- body.set_font(bodyFont)
24
-
25
- self.centre_on_parent(Wx::BOTH)
26
-
27
-
28
- end
29
-
30
-
31
- end
32
-
33
- end
34
-
35
- if __FILE__ == $0
36
- run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
37
- load run_solo_lib
38
- run File.basename($0)
39
- end
1
+ module About
2
+
3
+ class MyAboutBox < Wx::Dialog
4
+ def initialize(parent)
5
+ super(parent, -1, "About the WxRuby Demo.")
6
+ sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
7
+ set_size(Wx::Size.new(510,310))
8
+ headerFont = Wx::Font.new(36, Wx::SWISS, Wx::NORMAL, Wx::NORMAL)
9
+ bodyFont = Wx::Font.new(12, Wx::SWISS, Wx::NORMAL, Wx::NORMAL)
10
+ title = Wx::StaticText.new(self, -1, "WxRuby Demo!", Wx::Point.new(20, 20))
11
+ title.set_font(headerFont)
12
+
13
+ rVersion = Wx::StaticText.new(self, -1, "Running on Ruby version " + VERSION + " on " + RUBY_PLATFORM, Wx::Point.new(20,100))
14
+ rVersion.set_font(bodyFont)
15
+ rVersion.set_foreground_colour(Wx::RED)
16
+
17
+ wxVersion = Wx::StaticText.new(self, -1, Wx::VERSION_STRING, Wx::Point.new(20,120))
18
+ wxVersion.set_font(bodyFont)
19
+ wxVersion.set_foreground_colour(Wx::BLUE)
20
+
21
+ str = "Welcome to the WxRuby Demo! This demo has been ported from the \nwxPython demo created by ROBIN DUNN (http://www.wxpython.org).\nGo ahead and click on each demo via the tree or the demo menu.\nLook at the source code - it is an excellent way to learn WxRuby!\n\nPorted by Robert Paul Carlin"
22
+ body = Wx::StaticText.new(self, -1, str, Wx::Point.new(20, 160))
23
+ body.set_font(bodyFont)
24
+
25
+ self.centre_on_parent(Wx::BOTH)
26
+
27
+
28
+ end
29
+
30
+
31
+ end
32
+
33
+ end
34
+
35
+ if __FILE__ == $0
36
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
37
+ load run_solo_lib
38
+ run File.basename($0)
39
+ end
@@ -1,25 +1,25 @@
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 ColoredPanel < Wx::Window
15
- def initialize(parent, color)
16
- super(parent, -1, Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::SIMPLE_BORDER)
17
- set_background_colour(color)
18
- end
19
- end
20
-
21
- if __FILE__ == $0
22
- run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
23
- load run_solo_lib
24
- run File.basename($0)
25
- end
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 ColoredPanel < Wx::Window
15
+ def initialize(parent, color)
16
+ super(parent, -1, Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::SIMPLE_BORDER)
17
+ set_background_colour(color)
18
+ end
19
+ end
20
+
21
+ if __FILE__ == $0
22
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
23
+ load run_solo_lib
24
+ run File.basename($0)
25
+ end
@@ -1,80 +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 SimpleGrid < Wx::Grid
15
-
16
- def initialize(parent, log)
17
- super(parent, -1)
18
- @log = log
19
- @moveTo = nil
20
-
21
- evt_idle {|event| on_idle(event)}
22
-
23
- create_grid(25,25)
24
-
25
- # simple cell formatting
26
- set_col_size(3,200)
27
- set_row_size(4,45)
28
- set_cell_value(0,0,"First cell")
29
- set_cell_value(1,1,"Another cell")
30
- set_cell_value(2,2,"Yet another cell")
31
- set_cell_value(3,3,"This cell is read-only")
32
- set_cell_font(0,0, Wx::Font.new(12, Wx::ROMAN, Wx::ITALIC, Wx::NORMAL))
33
- set_cell_text_colour(1,1,Wx::RED)
34
- set_cell_background_colour(2,2,Wx::CYAN)
35
- set_read_only(3,3,true)
36
-
37
- set_col_label_value(0, "Custom")
38
- set_col_label_value(1, "column")
39
- set_col_label_value(2, "labels")
40
-
41
- set_col_label_alignment(Wx::ALIGN_LEFT, Wx::ALIGN_BOTTOM)
42
-
43
- # overflow cells
44
- set_cell_value(9,1, "This default cell will overflow into neighboring cells, but not if you turn overflow off.")
45
- #set_cell_size(11, 1, 3, 3)
46
- set_cell_alignment(11, 1, Wx::ALIGN_CENTRE, Wx::ALIGN_CENTRE)
47
- set_cell_value(11, 1, "This cell is set to span 3 rows and 3 columns")
48
-
49
- # evt_grid_cell_left_click {|event| on_cell_left_click(event)}
50
- end
51
-
52
- def on_cell_left_click(event)
53
- @log.write_text("on_cell_left_click: (%d,%d)" % [evt.get_row(), evt.get_col()])
54
- evt.skip()
55
- end
56
-
57
- def on_idle(event)
58
- if @moveTo != nil
59
- set_grid_cursor(@moveTo[0], @moveTo[1])
60
- @moveTo = nil
61
- end
62
- event.skip()
63
- end
64
- end
65
-
66
- module GridDemo
67
- class TestFrame < Wx::Frame
68
- def initialize(parent, log)
69
- super(parent, -1, "Simple Grid Demo", Wx::DEFAULT_POSITION, Wx::Size.new(640,480))
70
- grid = SimpleGrid.new(self, log)
71
- end
72
- end
73
- end
74
-
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
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 SimpleGrid < Wx::Grid
15
+
16
+ def initialize(parent, log)
17
+ super(parent, -1)
18
+ @log = log
19
+ @moveTo = nil
20
+
21
+ evt_idle {|event| on_idle(event)}
22
+
23
+ create_grid(25,25)
24
+
25
+ # simple cell formatting
26
+ set_col_size(3,200)
27
+ set_row_size(4,45)
28
+ set_cell_value(0,0,"First cell")
29
+ set_cell_value(1,1,"Another cell")
30
+ set_cell_value(2,2,"Yet another cell")
31
+ set_cell_value(3,3,"This cell is read-only")
32
+ set_cell_font(0,0, Wx::Font.new(12, Wx::ROMAN, Wx::ITALIC, Wx::NORMAL))
33
+ set_cell_text_colour(1,1,Wx::RED)
34
+ set_cell_background_colour(2,2,Wx::CYAN)
35
+ set_read_only(3,3,true)
36
+
37
+ set_col_label_value(0, "Custom")
38
+ set_col_label_value(1, "column")
39
+ set_col_label_value(2, "labels")
40
+
41
+ set_col_label_alignment(Wx::ALIGN_LEFT, Wx::ALIGN_BOTTOM)
42
+
43
+ # overflow cells
44
+ set_cell_value(9,1, "This default cell will overflow into neighboring cells, but not if you turn overflow off.")
45
+ #set_cell_size(11, 1, 3, 3)
46
+ set_cell_alignment(11, 1, Wx::ALIGN_CENTRE, Wx::ALIGN_CENTRE)
47
+ set_cell_value(11, 1, "This cell is set to span 3 rows and 3 columns")
48
+
49
+ # evt_grid_cell_left_click {|event| on_cell_left_click(event)}
50
+ end
51
+
52
+ def on_cell_left_click(event)
53
+ @log.write_text("on_cell_left_click: (%d,%d)" % [evt.get_row(), evt.get_col()])
54
+ evt.skip()
55
+ end
56
+
57
+ def on_idle(event)
58
+ if @moveTo != nil
59
+ set_grid_cursor(@moveTo[0], @moveTo[1])
60
+ @moveTo = nil
61
+ end
62
+ event.skip()
63
+ end
64
+ end
65
+
66
+ module GridDemo
67
+ class TestFrame < Wx::Frame
68
+ def initialize(parent, log)
69
+ super(parent, -1, "Simple Grid Demo", Wx::DEFAULT_POSITION, Wx::Size.new(640,480))
70
+ grid = SimpleGrid.new(self, log)
71
+ end
72
+ end
73
+ end
74
+
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
@@ -1,59 +1,59 @@
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
-
16
- class MyParentFrame < Wx::MDIParentFrame
17
- def initialize
18
- super(nil, -1, "MDI Parent", Wx::DEFAULT_POSITION,
19
- Wx::Size.new(600,400))
20
-
21
- @win_count = 0
22
- menu = Wx::Menu.new
23
- menu.append(5000, "&New Window")
24
- menu.append_separator
25
- menu.append(5001, "E&xit")
26
-
27
- menubar = Wx::MenuBar.new()
28
- menubar.append(menu, "&File")
29
- set_menu_bar(menubar)
30
-
31
- create_status_bar
32
-
33
- evt_menu(5000) {|event| on_new_window(event)}
34
- evt_menu(5001) {|event| on_exit(event)}
35
- scrollwin_demo_file = File.join(File.dirname(__FILE__),
36
- "wxScrolledWindow.rbw")
37
- load scrollwin_demo_file
38
- end
39
-
40
- def on_exit(event)
41
- close()
42
- end
43
-
44
- def on_new_window(event)
45
- @win_count += 1
46
- win = Wx::MDIChildFrame.new(self, -1, "Child Window: #{@win_count}")
47
- canvas = MyCanvas.new(win)
48
- win.show
49
- end
50
- end
51
-
52
- end
53
-
54
-
55
- if __FILE__ == $0
56
- run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
57
- load run_solo_lib
58
- run File.basename($0)
59
- end
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
+
16
+ class MyParentFrame < Wx::MDIParentFrame
17
+ def initialize
18
+ super(nil, -1, "MDI Parent", Wx::DEFAULT_POSITION,
19
+ Wx::Size.new(600,400))
20
+
21
+ @win_count = 0
22
+ menu = Wx::Menu.new
23
+ menu.append(5000, "&New Window")
24
+ menu.append_separator
25
+ menu.append(5001, "E&xit")
26
+
27
+ menubar = Wx::MenuBar.new()
28
+ menubar.append(menu, "&File")
29
+ set_menu_bar(menubar)
30
+
31
+ create_status_bar
32
+
33
+ evt_menu(5000) {|event| on_new_window(event)}
34
+ evt_menu(5001) {|event| on_exit(event)}
35
+ scrollwin_demo_file = File.join(File.dirname(__FILE__),
36
+ "wxScrolledWindow.rbw")
37
+ load scrollwin_demo_file
38
+ end
39
+
40
+ def on_exit(event)
41
+ close()
42
+ end
43
+
44
+ def on_new_window(event)
45
+ @win_count += 1
46
+ win = Wx::MDIChildFrame.new(self, -1, "Child Window: #{@win_count}")
47
+ canvas = MyCanvas.new(win)
48
+ win.show
49
+ end
50
+ end
51
+
52
+ end
53
+
54
+
55
+ if __FILE__ == $0
56
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
57
+ load run_solo_lib
58
+ run File.basename($0)
59
+ end