wxruby 1.9.2-i386-mswin32 → 1.9.3-i386-mswin32

Sign up to get free protection for your applications and to get access to all the features.
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