wxruby 1.9.3-i386-mswin32 → 1.9.4-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 (126) hide show
  1. data/LICENSE +53 -53
  2. data/README +299 -299
  3. data/lib/wx/classes/evthandler.rb +9 -0
  4. data/lib/wx/classes/timer.rb +25 -0
  5. data/lib/wx/version.rb +1 -1
  6. data/lib/wx.rb +42 -42
  7. data/lib/wxruby2.exp +0 -0
  8. data/lib/wxruby2.lib +0 -0
  9. data/lib/wxruby2.so +0 -0
  10. data/samples/SAMPLES-LICENSE.TXT +17 -17
  11. data/samples/bigdemo/About.rbw +39 -39
  12. data/samples/bigdemo/ColorPanel.rbw +25 -25
  13. data/samples/bigdemo/GridSimple.rbw +80 -80
  14. data/samples/bigdemo/MDIDemo.rbw +59 -59
  15. data/samples/bigdemo/PopupMenu.rbw +151 -151
  16. data/samples/bigdemo/Sizers.rbw +545 -545
  17. data/samples/bigdemo/bigdemo.rb +826 -826
  18. data/samples/bigdemo/demoTemplate.rbw +37 -37
  19. data/samples/bigdemo/icons/choice.xpm +27 -27
  20. data/samples/bigdemo/icons/combo.xpm +27 -27
  21. data/samples/bigdemo/icons/copy.xpm +25 -25
  22. data/samples/bigdemo/icons/cut.xpm +24 -24
  23. data/samples/bigdemo/icons/gauge.xpm +27 -27
  24. data/samples/bigdemo/icons/help.xpm +25 -25
  25. data/samples/bigdemo/icons/list.xpm +27 -27
  26. data/samples/bigdemo/icons/mondrian.xpm +44 -44
  27. data/samples/bigdemo/icons/new.xpm +24 -24
  28. data/samples/bigdemo/icons/ogl.ico +0 -0
  29. data/samples/bigdemo/icons/ogl.xpm +45 -45
  30. data/samples/bigdemo/icons/open.xpm +26 -26
  31. data/samples/bigdemo/icons/paste.xpm +38 -38
  32. data/samples/bigdemo/icons/preview.xpm +26 -26
  33. data/samples/bigdemo/icons/print.xpm +26 -26
  34. data/samples/bigdemo/icons/radio.xpm +27 -27
  35. data/samples/bigdemo/icons/robert.xpm +415 -415
  36. data/samples/bigdemo/icons/save.xpm +25 -25
  37. data/samples/bigdemo/icons/smiles.xpm +39 -39
  38. data/samples/bigdemo/icons/smiley.xpm +42 -42
  39. data/samples/bigdemo/icons/stattext.xpm +24 -24
  40. data/samples/bigdemo/icons/test2.bmp +0 -0
  41. data/samples/bigdemo/icons/test2.xpm +79 -79
  42. data/samples/bigdemo/icons/text.xpm +27 -27
  43. data/samples/bigdemo/icons/tog1.xpm +38 -38
  44. data/samples/bigdemo/icons/tog2.xpm +38 -38
  45. data/samples/bigdemo/icons/wxwin16x16.xpm +25 -25
  46. data/samples/bigdemo/tips.txt +7 -7
  47. data/samples/bigdemo/utils.rb +11 -11
  48. data/samples/bigdemo/wxButton.rbw +66 -66
  49. data/samples/bigdemo/wxCalendarCtrl.rbw +72 -72
  50. data/samples/bigdemo/wxCheckBox.rbw +52 -52
  51. data/samples/bigdemo/wxCheckListBox.rbw +77 -77
  52. data/samples/bigdemo/wxChoice.rbw +49 -49
  53. data/samples/bigdemo/wxColourDialog.rbw +34 -34
  54. data/samples/bigdemo/wxComboBox.rbw +79 -79
  55. data/samples/bigdemo/wxDialog.rbw +92 -92
  56. data/samples/bigdemo/wxDirDialog.rbw +32 -32
  57. data/samples/bigdemo/wxFileDialog.rbw +39 -39
  58. data/samples/bigdemo/wxFileDialog_Save.rbw +38 -38
  59. data/samples/bigdemo/wxFindReplaceDialog.rbw +85 -85
  60. data/samples/bigdemo/wxFontDialog.rbw +176 -176
  61. data/samples/bigdemo/wxFrame.rbw +55 -55
  62. data/samples/bigdemo/wxGauge.rbw +73 -73
  63. data/samples/bigdemo/wxGrid.rbw +68 -68
  64. data/samples/bigdemo/wxListBox.rbw +142 -142
  65. data/samples/bigdemo/wxListCtrl_virtual.rbw +109 -109
  66. data/samples/bigdemo/wxMDIWindows.rbw +52 -52
  67. data/samples/bigdemo/wxMenu.rbw +238 -238
  68. data/samples/bigdemo/wxMessageDialog.rbw +30 -30
  69. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +34 -34
  70. data/samples/bigdemo/wxNotebook.rbw +138 -138
  71. data/samples/bigdemo/wxProgressDialog.rbw +45 -45
  72. data/samples/bigdemo/wxRadioBox.rbw +74 -74
  73. data/samples/bigdemo/wxRadioButton.rbw +127 -127
  74. data/samples/bigdemo/wxScrolledMessageDialog.rbw +59 -59
  75. data/samples/bigdemo/wxScrolledWindow.rbw +201 -201
  76. data/samples/bigdemo/wxSingleChoiceDialog.rbw +35 -35
  77. data/samples/bigdemo/wxSlider.rbw +44 -44
  78. data/samples/bigdemo/wxSpinButton.rbw +52 -52
  79. data/samples/bigdemo/wxSpinCtrl.rbw +53 -53
  80. data/samples/bigdemo/wxSplitterWindow.rbw +65 -65
  81. data/samples/bigdemo/wxStaticBitmap.rbw +53 -53
  82. data/samples/bigdemo/wxStaticText.rbw +57 -57
  83. data/samples/bigdemo/wxStatusBar.rbw +128 -128
  84. data/samples/bigdemo/wxTextCtrl.rbw +151 -151
  85. data/samples/bigdemo/wxTextEntryDialog.rbw +34 -34
  86. data/samples/bigdemo/wxToggleButton.rbw +51 -51
  87. data/samples/bigdemo/wxToolBar.rbw +133 -133
  88. data/samples/bigdemo/wxTreeCtrl.rbw +192 -192
  89. data/samples/calendar/calendar.rb +275 -275
  90. data/samples/caret/caret.rb +286 -286
  91. data/samples/caret/mondrian.xpm +44 -44
  92. data/samples/controls/controls.rb +1140 -1140
  93. data/samples/controls/get_item_sample.rb +87 -87
  94. data/samples/controls/icons/choice.xpm +27 -27
  95. data/samples/controls/icons/combo.xpm +27 -27
  96. data/samples/controls/icons/gauge.xpm +27 -27
  97. data/samples/controls/icons/list.xpm +27 -27
  98. data/samples/controls/icons/radio.xpm +27 -27
  99. data/samples/controls/icons/stattext.xpm +24 -24
  100. data/samples/controls/icons/text.xpm +27 -27
  101. data/samples/controls/mondrian.xpm +44 -44
  102. data/samples/dialogs/dialogs.rb +724 -724
  103. data/samples/dialogs/tips.txt +18 -18
  104. data/samples/drawing/graphics_drawing.rb +22 -18
  105. data/samples/drawing/images.rb +48 -48
  106. data/samples/etc/activation.rb +108 -108
  107. data/samples/etc/choice.rb +72 -72
  108. data/samples/etc/miniframe.rb +84 -84
  109. data/samples/etc/sash.rb +135 -135
  110. data/samples/etc/scrollwin.rb +116 -116
  111. data/samples/etc/system_settings.rb +258 -258
  112. data/samples/etc/threaded.rb +5 -8
  113. data/samples/etc/wizard.rb +79 -79
  114. data/samples/html/html.rb +14 -10
  115. data/samples/listbook/listbook.rb +181 -181
  116. data/samples/listbook/listbook.xrc +370 -370
  117. data/samples/mdi/mdi.rb +87 -87
  118. data/samples/minimal/minimal.rb +85 -85
  119. data/samples/minimal/nothing.rb +21 -21
  120. data/samples/text/textctrl.rb +124 -124
  121. data/samples/text/unicode.rb +238 -238
  122. data/samples/text/utf8.txt +14 -14
  123. data/samples/treectrl/treectrl.rb +1180 -1180
  124. data/samples/xrc/samples.xrc +46 -46
  125. data/samples/xrc/xrc_sample.rb +107 -107
  126. metadata +3 -3
@@ -1,127 +1,127 @@
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
- panel = Wx::Panel.new(self, -1)
19
-
20
- # 1st group of controls
21
- @group1_ctrls = {}
22
- radio1 = Wx::RadioButton.new(panel, -1, "Radio1", Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::RB_GROUP)
23
- text1 = Wx::TextCtrl.new(panel, -1, "")
24
- radio2 = Wx::RadioButton.new(panel, -1, "Radio2")
25
- text2 = Wx::TextCtrl.new(panel, -1, "")
26
- radio3 = Wx::RadioButton.new(panel, -1, "Radio3")
27
- text3 = Wx::TextCtrl.new(panel, -1, "")
28
- @group1_ctrls["one"] = [radio1, text1]
29
- @group1_ctrls["two"] = [radio2, text2]
30
- @group1_ctrls["three"] = [radio3, text3]
31
-
32
- # 2nd group of controls
33
- #@group2_ctrls = {}
34
- #radio4 = Wx::RadioButton.new(panel, -1, "Radio1", Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::RB_GROUP)
35
- #text4 = Wx::TextCtrl.new(panel, -1, "")
36
- #radio5 = Wx::RadioButton.new(panel, -1, "Radio2")
37
- #text5 = Wx::TextCtrl.new(panel, -1, "")
38
- #radio6 = Wx::RadioButton.new(panel, -1, "Radio3")
39
- #text6 = Wx::TextCtrl.new(panel, -1, "")
40
- #@group2_ctrls["one"] = [radio4, text4]
41
- #@group2_ctrls["two"] = [radio5, text5]
42
- #@group2_ctrls["three"] = [radio6, text6]
43
-
44
- # Layout controls on panel
45
- vs = Wx::BoxSizer.new(Wx::VERTICAL)
46
-
47
- box1_title = Wx::StaticBox.new(panel, -1, "Group 1", Wx::DEFAULT_POSITION, Wx::Size.new(-1,-1))
48
- box1 = Wx::StaticBoxSizer.new(box1_title, Wx::HORIZONTAL)
49
- grid1 = Wx::FlexGridSizer.new(0,2,0,0)
50
-
51
- @group1_ctrls.each_value do |ctrl|
52
- grid1.add(ctrl[0], 0, Wx::ALIGN_CENTER, 5)
53
- grid1.add(ctrl[1], 0, Wx::ALIGN_CENTER, 5)
54
- end
55
- box1.add(grid1, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
56
- vs.add(box1, 0, Wx::ALL, 5)
57
-
58
- #box2_title = Wx::StaticBox.new(panel, -1, "Group 2")
59
- #box2 = Wx::StaticBoxSizer.new(box2_title, Wx::HORIZONTAL)
60
- #grid2 = Wx::FlexGridSizer.new(0,2,0,0)
61
-
62
- #@group2_ctrls.each_value do |ctrl|
63
- #grid2.add(ctrl[0], 0, Wx::ALIGN_CENTER, 5)
64
- #grid2.add(ctrl[1], 0, Wx::ALIGN_CENTER, 5)
65
- #end
66
- #box2.add(grid2, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
67
- #vs.add(box2, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
68
-
69
- panel.set_sizer(vs)
70
- vs.fit(panel)
71
-
72
- panel.move(Wx::Point.new(50,50))
73
- @panel = panel
74
-
75
- @group1_ctrls.each_value do |ctrl|
76
- evt_radiobutton(ctrl[0].get_id()) {|event| on_group1_select(event)}
77
- ctrl[0].set_value(0)
78
- ctrl[1].enable(false)
79
- end
80
- #@group2_ctrls.each_value do |ctrl|
81
- # evt_radiobutton(ctrl[0].get_id()) {|event| on_group2_select(event)}
82
- # ctrl[0].set_value(0)
83
- # ctrl[1].enable(false)
84
- #end
85
- end
86
-
87
- def on_group1_select(event)
88
- @group1_ctrls.each_value do |ctrl|
89
- if ctrl[0].get_value() == true
90
- ctrl[1].enable(true)
91
- @log.write_text("Group 1 " + ctrl[0].get_label() + " selected")
92
- else
93
- ctrl[1].enable(false)
94
- end
95
- end
96
- end
97
-
98
- def on_group2_select(event)
99
- @group2_ctrls.each_value do |ctrl|
100
- if ctrl[0].get_value() == true
101
- ctrl[1].enable(true)
102
- @log.write_text("Group 2 " + ctrl[0].get_label() + " selected")
103
- else
104
- ctrl[1].enable(false)
105
- end
106
- end
107
- end
108
- end
109
-
110
- module Demo
111
- def Demo.run(frame,nb,log)
112
- win = TestPanel.new(nb, log)
113
- return win
114
- end
115
-
116
- def Demo.overview
117
- "This demo shows how individual radio buttons can be used to build more complicated selection mechanisms...\n" +
118
- "It uses 2 groups of wxRadioButtons, where the groups are defined by instantiation. When a wxRadioButton is created with the Wx::RB_GROUP style, all subsequent wxRadioButtons created without it are implicitly added to that group by the framework."
119
- end
120
- end
121
-
122
-
123
- if __FILE__ == $0
124
- run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
125
- load run_solo_lib
126
- run File.basename($0)
127
- 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 TestPanel < Wx::Panel
15
+ def initialize(parent, log)
16
+ super(parent, -1)
17
+ @log = log
18
+ panel = Wx::Panel.new(self, -1)
19
+
20
+ # 1st group of controls
21
+ @group1_ctrls = {}
22
+ radio1 = Wx::RadioButton.new(panel, -1, "Radio1", Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::RB_GROUP)
23
+ text1 = Wx::TextCtrl.new(panel, -1, "")
24
+ radio2 = Wx::RadioButton.new(panel, -1, "Radio2")
25
+ text2 = Wx::TextCtrl.new(panel, -1, "")
26
+ radio3 = Wx::RadioButton.new(panel, -1, "Radio3")
27
+ text3 = Wx::TextCtrl.new(panel, -1, "")
28
+ @group1_ctrls["one"] = [radio1, text1]
29
+ @group1_ctrls["two"] = [radio2, text2]
30
+ @group1_ctrls["three"] = [radio3, text3]
31
+
32
+ # 2nd group of controls
33
+ #@group2_ctrls = {}
34
+ #radio4 = Wx::RadioButton.new(panel, -1, "Radio1", Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::RB_GROUP)
35
+ #text4 = Wx::TextCtrl.new(panel, -1, "")
36
+ #radio5 = Wx::RadioButton.new(panel, -1, "Radio2")
37
+ #text5 = Wx::TextCtrl.new(panel, -1, "")
38
+ #radio6 = Wx::RadioButton.new(panel, -1, "Radio3")
39
+ #text6 = Wx::TextCtrl.new(panel, -1, "")
40
+ #@group2_ctrls["one"] = [radio4, text4]
41
+ #@group2_ctrls["two"] = [radio5, text5]
42
+ #@group2_ctrls["three"] = [radio6, text6]
43
+
44
+ # Layout controls on panel
45
+ vs = Wx::BoxSizer.new(Wx::VERTICAL)
46
+
47
+ box1_title = Wx::StaticBox.new(panel, -1, "Group 1", Wx::DEFAULT_POSITION, Wx::Size.new(-1,-1))
48
+ box1 = Wx::StaticBoxSizer.new(box1_title, Wx::HORIZONTAL)
49
+ grid1 = Wx::FlexGridSizer.new(0,2,0,0)
50
+
51
+ @group1_ctrls.each_value do |ctrl|
52
+ grid1.add(ctrl[0], 0, Wx::ALIGN_CENTER, 5)
53
+ grid1.add(ctrl[1], 0, Wx::ALIGN_CENTER, 5)
54
+ end
55
+ box1.add(grid1, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
56
+ vs.add(box1, 0, Wx::ALL, 5)
57
+
58
+ #box2_title = Wx::StaticBox.new(panel, -1, "Group 2")
59
+ #box2 = Wx::StaticBoxSizer.new(box2_title, Wx::HORIZONTAL)
60
+ #grid2 = Wx::FlexGridSizer.new(0,2,0,0)
61
+
62
+ #@group2_ctrls.each_value do |ctrl|
63
+ #grid2.add(ctrl[0], 0, Wx::ALIGN_CENTER, 5)
64
+ #grid2.add(ctrl[1], 0, Wx::ALIGN_CENTER, 5)
65
+ #end
66
+ #box2.add(grid2, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
67
+ #vs.add(box2, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
68
+
69
+ panel.set_sizer(vs)
70
+ vs.fit(panel)
71
+
72
+ panel.move(Wx::Point.new(50,50))
73
+ @panel = panel
74
+
75
+ @group1_ctrls.each_value do |ctrl|
76
+ evt_radiobutton(ctrl[0].get_id()) {|event| on_group1_select(event)}
77
+ ctrl[0].set_value(0)
78
+ ctrl[1].enable(false)
79
+ end
80
+ #@group2_ctrls.each_value do |ctrl|
81
+ # evt_radiobutton(ctrl[0].get_id()) {|event| on_group2_select(event)}
82
+ # ctrl[0].set_value(0)
83
+ # ctrl[1].enable(false)
84
+ #end
85
+ end
86
+
87
+ def on_group1_select(event)
88
+ @group1_ctrls.each_value do |ctrl|
89
+ if ctrl[0].get_value() == true
90
+ ctrl[1].enable(true)
91
+ @log.write_text("Group 1 " + ctrl[0].get_label() + " selected")
92
+ else
93
+ ctrl[1].enable(false)
94
+ end
95
+ end
96
+ end
97
+
98
+ def on_group2_select(event)
99
+ @group2_ctrls.each_value do |ctrl|
100
+ if ctrl[0].get_value() == true
101
+ ctrl[1].enable(true)
102
+ @log.write_text("Group 2 " + ctrl[0].get_label() + " selected")
103
+ else
104
+ ctrl[1].enable(false)
105
+ end
106
+ end
107
+ end
108
+ end
109
+
110
+ module Demo
111
+ def Demo.run(frame,nb,log)
112
+ win = TestPanel.new(nb, log)
113
+ return win
114
+ end
115
+
116
+ def Demo.overview
117
+ "This demo shows how individual radio buttons can be used to build more complicated selection mechanisms...\n" +
118
+ "It uses 2 groups of wxRadioButtons, where the groups are defined by instantiation. When a wxRadioButton is created with the Wx::RB_GROUP style, all subsequent wxRadioButtons created without it are implicitly added to that group by the framework."
119
+ end
120
+ end
121
+
122
+
123
+ if __FILE__ == $0
124
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
125
+ load run_solo_lib
126
+ run File.basename($0)
127
+ 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
- class ScrolledMessageDialog < Wx::Dialog
15
- def initialize(parent, msg, caption,
16
- pos = Wx::DEFAULT_POSITION,
17
- size = Wx::Size.new(500,300) )
18
- super(parent, -1, caption, pos, size)
19
- x,y = pos.x, pos.y
20
- if x == -1 and y == -1
21
- center_on_screen(Wx::BOTH)
22
- end
23
- sizer = Wx::BoxSizer.new(Wx::VERTICAL)
24
- text = Wx::TextCtrl.new(self, -1, msg,
25
- Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
26
- Wx::TE_MULTILINE|Wx::TE_READONLY)
27
-
28
- sizer.add(text, 1, Wx::EXPAND|Wx::ALL, 5)
29
-
30
- button_sizer = Wx::StdDialogButtonSizer.new
31
- button_sizer.add_button( Wx::Button.new(self, Wx::ID_OK, "OK") )
32
- button_sizer.realize
33
-
34
- sizer.add(button_sizer, 0, Wx::EXPAND|Wx::ALL, 5)
35
-
36
- set_sizer(sizer)
37
- layout
38
- end
39
- end
40
-
41
- module Demo
42
- def Demo.run(frame, nb, log)
43
- f = open(__FILE__, "r")
44
- msg = f.read()
45
- dlg = ScrolledMessageDialog.new(frame, msg, "message test")
46
- dlg.show_modal()
47
- end
48
-
49
- def Demo.overview
50
- return "A simple ruby example of a custom dialog displaying a " +
51
- "long message in a scrolled TextCtrl"
52
- end
53
- end
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
+ class ScrolledMessageDialog < Wx::Dialog
15
+ def initialize(parent, msg, caption,
16
+ pos = Wx::DEFAULT_POSITION,
17
+ size = Wx::Size.new(500,300) )
18
+ super(parent, -1, caption, pos, size)
19
+ x,y = pos.x, pos.y
20
+ if x == -1 and y == -1
21
+ center_on_screen(Wx::BOTH)
22
+ end
23
+ sizer = Wx::BoxSizer.new(Wx::VERTICAL)
24
+ text = Wx::TextCtrl.new(self, -1, msg,
25
+ Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
26
+ Wx::TE_MULTILINE|Wx::TE_READONLY)
27
+
28
+ sizer.add(text, 1, Wx::EXPAND|Wx::ALL, 5)
29
+
30
+ button_sizer = Wx::StdDialogButtonSizer.new
31
+ button_sizer.add_button( Wx::Button.new(self, Wx::ID_OK, "OK") )
32
+ button_sizer.realize
33
+
34
+ sizer.add(button_sizer, 0, Wx::EXPAND|Wx::ALL, 5)
35
+
36
+ set_sizer(sizer)
37
+ layout
38
+ end
39
+ end
40
+
41
+ module Demo
42
+ def Demo.run(frame, nb, log)
43
+ f = open(__FILE__, "r")
44
+ msg = f.read()
45
+ dlg = ScrolledMessageDialog.new(frame, msg, "message test")
46
+ dlg.show_modal()
47
+ end
48
+
49
+ def Demo.overview
50
+ return "A simple ruby example of a custom dialog displaying a " +
51
+ "long message in a scrolled TextCtrl"
52
+ end
53
+ end
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