wxruby 1.9.9-x86-mingw32 → 1.9.10-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. data/LICENSE +53 -53
  2. data/README +297 -297
  3. data/lib/wx.rb +53 -53
  4. data/lib/wx/classes/bitmap.rb +29 -1
  5. data/lib/wx/classes/clipboard.rb +19 -3
  6. data/lib/wx/classes/colour.rb +6 -4
  7. data/lib/wx/classes/data_object.rb +14 -0
  8. data/lib/wx/classes/data_object_simple.rb +6 -0
  9. data/lib/wx/classes/dataformat.rb +23 -0
  10. data/lib/wx/classes/evthandler.rb +31 -4
  11. data/lib/wx/classes/genericdirctrl.rb +36 -0
  12. data/lib/wx/classes/grid.rb +8 -0
  13. data/lib/wx/classes/hboxsizer.rb +6 -0
  14. data/lib/wx/classes/icon.rb +12 -1
  15. data/lib/wx/classes/image.rb +13 -1
  16. data/lib/wx/classes/listctrl.rb +12 -0
  17. data/lib/wx/classes/point.rb +8 -0
  18. data/lib/wx/classes/rect.rb +10 -1
  19. data/lib/wx/classes/richtextctrl.rb +22 -0
  20. data/lib/wx/classes/size.rb +9 -0
  21. data/lib/wx/classes/sizer.rb +18 -3
  22. data/lib/wx/classes/toolbar.rb +4 -6
  23. data/lib/wx/classes/vboxsizer.rb +6 -0
  24. data/lib/wx/classes/window.rb +7 -0
  25. data/lib/wx/classes/xmlresource.rb +17 -0
  26. data/lib/wx/helpers.rb +16 -1
  27. data/lib/wx/keyword_ctors.rb +3 -2
  28. data/lib/wx/keyword_defs.rb +27 -5
  29. data/lib/wx/version.rb +1 -1
  30. data/lib/wxruby2.so +0 -0
  31. data/samples/SAMPLES-LICENSE.TXT +17 -17
  32. data/samples/bigdemo/About.rbw +39 -39
  33. data/samples/bigdemo/ColorPanel.rbw +23 -23
  34. data/samples/bigdemo/GridSimple.rbw +78 -78
  35. data/samples/bigdemo/MDIDemo.rbw +57 -57
  36. data/samples/bigdemo/PopupMenu.rbw +149 -149
  37. data/samples/bigdemo/Sizers.rbw +543 -543
  38. data/samples/bigdemo/bigdemo.rb +823 -823
  39. data/samples/bigdemo/demoTemplate.rbw +33 -33
  40. data/samples/bigdemo/icons/choice.xpm +27 -27
  41. data/samples/bigdemo/icons/combo.xpm +27 -27
  42. data/samples/bigdemo/icons/copy.xpm +25 -25
  43. data/samples/bigdemo/icons/cut.xpm +24 -24
  44. data/samples/bigdemo/icons/gauge.xpm +27 -27
  45. data/samples/bigdemo/icons/help.xpm +25 -25
  46. data/samples/bigdemo/icons/list.xpm +27 -27
  47. data/samples/bigdemo/icons/mondrian.xpm +44 -44
  48. data/samples/bigdemo/icons/new.xpm +24 -24
  49. data/samples/bigdemo/icons/ogl.ico +0 -0
  50. data/samples/bigdemo/icons/ogl.xpm +45 -45
  51. data/samples/bigdemo/icons/open.xpm +26 -26
  52. data/samples/bigdemo/icons/paste.xpm +38 -38
  53. data/samples/bigdemo/icons/preview.xpm +26 -26
  54. data/samples/bigdemo/icons/print.xpm +26 -26
  55. data/samples/bigdemo/icons/radio.xpm +27 -27
  56. data/samples/bigdemo/icons/robert.xpm +415 -415
  57. data/samples/bigdemo/icons/save.xpm +25 -25
  58. data/samples/bigdemo/icons/smiles.xpm +39 -39
  59. data/samples/bigdemo/icons/smiley.xpm +42 -42
  60. data/samples/bigdemo/icons/stattext.xpm +24 -24
  61. data/samples/bigdemo/icons/test2.bmp +0 -0
  62. data/samples/bigdemo/icons/test2.xpm +79 -79
  63. data/samples/bigdemo/icons/text.xpm +27 -27
  64. data/samples/bigdemo/icons/tog1.xpm +38 -38
  65. data/samples/bigdemo/icons/tog2.xpm +38 -38
  66. data/samples/bigdemo/icons/wxwin16x16.xpm +25 -25
  67. data/samples/bigdemo/tips.txt +7 -7
  68. data/samples/bigdemo/utils.rb +11 -11
  69. data/samples/bigdemo/wxButton.rbw +64 -64
  70. data/samples/bigdemo/wxCalendarCtrl.rbw +60 -60
  71. data/samples/bigdemo/wxCheckBox.rbw +50 -50
  72. data/samples/bigdemo/wxCheckListBox.rbw +65 -75
  73. data/samples/bigdemo/wxChoice.rbw +47 -47
  74. data/samples/bigdemo/wxColourDialog.rbw +31 -31
  75. data/samples/bigdemo/wxComboBox.rbw +77 -77
  76. data/samples/bigdemo/wxDialog.rbw +74 -74
  77. data/samples/bigdemo/wxDirDialog.rbw +29 -29
  78. data/samples/bigdemo/wxFileDialog.rbw +37 -37
  79. data/samples/bigdemo/wxFileDialog_Save.rbw +35 -35
  80. data/samples/bigdemo/wxFindReplaceDialog.rbw +82 -82
  81. data/samples/bigdemo/wxFontDialog.rbw +173 -173
  82. data/samples/bigdemo/wxFrame.rbw +53 -53
  83. data/samples/bigdemo/wxGauge.rbw +71 -71
  84. data/samples/bigdemo/wxGrid.rbw +66 -66
  85. data/samples/bigdemo/wxListBox.rbw +140 -140
  86. data/samples/bigdemo/wxListCtrl_virtual.rbw +112 -107
  87. data/samples/bigdemo/wxMDIWindows.rbw +50 -50
  88. data/samples/bigdemo/wxMenu.rbw +236 -236
  89. data/samples/bigdemo/wxMessageDialog.rbw +27 -27
  90. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +32 -32
  91. data/samples/bigdemo/wxNotebook.rbw +136 -136
  92. data/samples/bigdemo/wxProgressDialog.rbw +43 -43
  93. data/samples/bigdemo/wxRadioBox.rbw +72 -72
  94. data/samples/bigdemo/wxRadioButton.rbw +125 -125
  95. data/samples/bigdemo/wxSashWindow.rbw +2 -2
  96. data/samples/bigdemo/wxScrolledMessageDialog.rbw +57 -57
  97. data/samples/bigdemo/wxScrolledWindow.rbw +199 -199
  98. data/samples/bigdemo/wxSingleChoiceDialog.rbw +33 -33
  99. data/samples/bigdemo/wxSlider.rbw +42 -42
  100. data/samples/bigdemo/wxSpinButton.rbw +50 -50
  101. data/samples/bigdemo/wxSpinCtrl.rbw +51 -51
  102. data/samples/bigdemo/wxSplitterWindow.rbw +63 -63
  103. data/samples/bigdemo/wxStaticBitmap.rbw +51 -51
  104. data/samples/bigdemo/wxStaticText.rbw +55 -55
  105. data/samples/bigdemo/wxStatusBar.rbw +126 -126
  106. data/samples/bigdemo/wxTextCtrl.rbw +149 -149
  107. data/samples/bigdemo/wxTextEntryDialog.rbw +31 -31
  108. data/samples/bigdemo/wxToggleButton.rbw +49 -49
  109. data/samples/bigdemo/wxToolBar.rbw +131 -131
  110. data/samples/bigdemo/wxTreeCtrl.rbw +191 -190
  111. data/samples/calendar/calendar.rb +256 -271
  112. data/samples/caret/caret.rb +282 -282
  113. data/samples/caret/mondrian.xpm +44 -44
  114. data/samples/controls/controls.rb +1136 -1136
  115. data/samples/controls/get_item_sample.rb +87 -87
  116. data/samples/controls/icons/choice.xpm +27 -27
  117. data/samples/controls/icons/combo.xpm +27 -27
  118. data/samples/controls/icons/gauge.xpm +27 -27
  119. data/samples/controls/icons/list.xpm +27 -27
  120. data/samples/controls/icons/radio.xpm +27 -27
  121. data/samples/controls/icons/stattext.xpm +24 -24
  122. data/samples/controls/icons/text.xpm +27 -27
  123. data/samples/controls/mondrian.xpm +44 -44
  124. data/samples/dialogs/dialogs.rb +797 -723
  125. data/samples/dialogs/tips.txt +18 -18
  126. data/samples/drawing/images.rb +37 -37
  127. data/samples/etc/activation.rb +102 -102
  128. data/samples/etc/choice.rb +67 -67
  129. data/samples/etc/miniframe.rb +79 -79
  130. data/samples/etc/sash.rb +130 -130
  131. data/samples/etc/scrollwin.rb +110 -110
  132. data/samples/etc/system_settings.rb +252 -252
  133. data/samples/etc/toolbar_sizer_additem.rb +55 -0
  134. data/samples/etc/wizard.rb +74 -74
  135. data/samples/event/update_ui_event.rb +70 -0
  136. data/samples/grid/gridtablebase.rb +43 -29
  137. data/samples/listbook/listbook.rb +174 -174
  138. data/samples/listbook/listbook.xrc +370 -370
  139. data/samples/mdi/mdi.rb +85 -77
  140. data/samples/minimal/minimal.rb +77 -77
  141. data/samples/minimal/nothing.rb +16 -16
  142. data/samples/text/format-text-bold.png +0 -0
  143. data/samples/text/format-text-italic.png +0 -0
  144. data/samples/text/format-text-underline.png +0 -0
  145. data/samples/text/rich_textctrl.rb +98 -0
  146. data/samples/text/textctrl.rb +111 -113
  147. data/samples/text/unicode.rb +242 -242
  148. data/samples/text/utf8.txt +14 -14
  149. data/samples/treectrl/treectrl.rb +1166 -1174
  150. data/samples/xrc/samples.xrc +46 -46
  151. data/samples/xrc/xrc_sample.rb +76 -96
  152. metadata +15 -3
@@ -1,72 +1,72 @@
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
- $RBUT1 = 5000
13
- $RBUT2 = 5001
14
- $RBUT3 = 5002
15
- $RBUT4 = 5003
16
-
17
- $RBOX1 = 5004
18
- $RBOX2 = 5005
19
-
20
- class TestRadioButtons < Wx::Panel
21
- def initialize(parent, log)
22
- @log = log
23
- super(parent, -1)
24
-
25
- sampleList = %w(zero one two three four five six seven eight)
26
-
27
- sizer = Wx::BoxSizer.new(Wx::VERTICAL)
28
- # Here is a strange thing - when I originally created this demo, I used the WxRuby constant Wx::DEFAULT_SIZE in the two
29
- # radiobox constructors (on Windows XP Prof). When I did this, the "box" around the radio buttons would resize in a
30
- # groesque fashion (either when I clicked on another demo first, or on the second time that I ran the demo. But when I
31
- # used Wx::Size.new(-1,-1), this behavior disappeared. If anyone figures this out, please post it to the list :)
32
- rb = Wx::RadioBox.new(self, $RBOX1, "Wx::RadioBox", Wx::DEFAULT_POSITION, Wx::Size.new(-1,-1), sampleList, 2, Wx::RA_SPECIFY_COLS)
33
- evt_radiobox($RBOX1) {|event| on_evt_radiobox(event)}
34
- rb.set_tool_tip(Wx::ToolTip.new("This is a tooltip!"))
35
- sizer.add(rb, 0, Wx::ALL, 20)
36
-
37
- rb = Wx::RadioBox.new(self, $RBOX2, "", Wx::DEFAULT_POSITION, Wx::Size.new(-1,-1), sampleList, 3, Wx::RA_SPECIFY_COLS | Wx::NO_BORDER)
38
- evt_radiobox($RBOX2) {|event| on_evt_radiobox(event)}
39
- rb.set_tool_tip(Wx::ToolTip.new("This box has no label"))
40
- sizer.add(rb, 0, Wx::ALL, 20)
41
-
42
- set_sizer(sizer)
43
- sizer.fit(self)
44
- sizer.layout()
45
- end
46
-
47
- def on_evt_radiobox(event)
48
- @log.write_text("evt_radiobox: " + event.get_int().to_s())
49
- end
50
-
51
- def on_evt_radio_button(event)
52
- @log.write_text("evt_radiobutton: " + event.get_id().to_s())
53
- end
54
- end
55
-
56
- module Demo
57
- def Demo.run(frame,nb,log)
58
- win = TestRadioButtons.new(nb, log)
59
- return win
60
- end
61
-
62
- def Demo.overview
63
- "A radio box item is used to select one of number of mutually exclusive choices. It is displayed as a vertical column or horizontal row of labelled buttons."
64
- end
65
- end
66
-
67
-
68
- if __FILE__ == $0
69
- run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
70
- load run_solo_lib
71
- run File.basename($0)
72
- end
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
+ $RBUT1 = 5000
13
+ $RBUT2 = 5001
14
+ $RBUT3 = 5002
15
+ $RBUT4 = 5003
16
+
17
+ $RBOX1 = 5004
18
+ $RBOX2 = 5005
19
+
20
+ class TestRadioButtons < Wx::Panel
21
+ def initialize(parent, log)
22
+ @log = log
23
+ super(parent, -1)
24
+
25
+ sampleList = %w(zero one two three four five six seven eight)
26
+
27
+ sizer = Wx::BoxSizer.new(Wx::VERTICAL)
28
+ # Here is a strange thing - when I originally created this demo, I used the WxRuby constant Wx::DEFAULT_SIZE in the two
29
+ # radiobox constructors (on Windows XP Prof). When I did this, the "box" around the radio buttons would resize in a
30
+ # groesque fashion (either when I clicked on another demo first, or on the second time that I ran the demo. But when I
31
+ # used Wx::Size.new(-1,-1), this behavior disappeared. If anyone figures this out, please post it to the list :)
32
+ rb = Wx::RadioBox.new(self, $RBOX1, "Wx::RadioBox", Wx::DEFAULT_POSITION, Wx::Size.new(-1,-1), sampleList, 2, Wx::RA_SPECIFY_COLS)
33
+ evt_radiobox($RBOX1) {|event| on_evt_radiobox(event)}
34
+ rb.set_tool_tip(Wx::ToolTip.new("This is a tooltip!"))
35
+ sizer.add(rb, 0, Wx::ALL, 20)
36
+
37
+ rb = Wx::RadioBox.new(self, $RBOX2, "", Wx::DEFAULT_POSITION, Wx::Size.new(-1,-1), sampleList, 3, Wx::RA_SPECIFY_COLS | Wx::NO_BORDER)
38
+ evt_radiobox($RBOX2) {|event| on_evt_radiobox(event)}
39
+ rb.set_tool_tip(Wx::ToolTip.new("This box has no label"))
40
+ sizer.add(rb, 0, Wx::ALL, 20)
41
+
42
+ set_sizer(sizer)
43
+ sizer.fit(self)
44
+ sizer.layout()
45
+ end
46
+
47
+ def on_evt_radiobox(event)
48
+ @log.write_text("evt_radiobox: " + event.get_int().to_s())
49
+ end
50
+
51
+ def on_evt_radio_button(event)
52
+ @log.write_text("evt_radiobutton: " + event.get_id().to_s())
53
+ end
54
+ end
55
+
56
+ module Demo
57
+ def Demo.run(frame,nb,log)
58
+ win = TestRadioButtons.new(nb, log)
59
+ return win
60
+ end
61
+
62
+ def Demo.overview
63
+ "A radio box item is used to select one of number of mutually exclusive choices. It is displayed as a vertical column or horizontal row of labelled buttons."
64
+ end
65
+ end
66
+
67
+
68
+ if __FILE__ == $0
69
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
70
+ load run_solo_lib
71
+ run File.basename($0)
72
+ end
@@ -1,125 +1,125 @@
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
- panel = Wx::Panel.new(self, -1)
17
-
18
- # 1st group of controls
19
- @group1_ctrls = {}
20
- radio1 = Wx::RadioButton.new(panel, -1, "Radio1", Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::RB_GROUP)
21
- text1 = Wx::TextCtrl.new(panel, -1, "")
22
- radio2 = Wx::RadioButton.new(panel, -1, "Radio2")
23
- text2 = Wx::TextCtrl.new(panel, -1, "")
24
- radio3 = Wx::RadioButton.new(panel, -1, "Radio3")
25
- text3 = Wx::TextCtrl.new(panel, -1, "")
26
- @group1_ctrls["one"] = [radio1, text1]
27
- @group1_ctrls["two"] = [radio2, text2]
28
- @group1_ctrls["three"] = [radio3, text3]
29
-
30
- # 2nd group of controls
31
- #@group2_ctrls = {}
32
- #radio4 = Wx::RadioButton.new(panel, -1, "Radio1", Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::RB_GROUP)
33
- #text4 = Wx::TextCtrl.new(panel, -1, "")
34
- #radio5 = Wx::RadioButton.new(panel, -1, "Radio2")
35
- #text5 = Wx::TextCtrl.new(panel, -1, "")
36
- #radio6 = Wx::RadioButton.new(panel, -1, "Radio3")
37
- #text6 = Wx::TextCtrl.new(panel, -1, "")
38
- #@group2_ctrls["one"] = [radio4, text4]
39
- #@group2_ctrls["two"] = [radio5, text5]
40
- #@group2_ctrls["three"] = [radio6, text6]
41
-
42
- # Layout controls on panel
43
- vs = Wx::BoxSizer.new(Wx::VERTICAL)
44
-
45
- box1_title = Wx::StaticBox.new(panel, -1, "Group 1", Wx::DEFAULT_POSITION, Wx::Size.new(-1,-1))
46
- box1 = Wx::StaticBoxSizer.new(box1_title, Wx::HORIZONTAL)
47
- grid1 = Wx::FlexGridSizer.new(0,2,0,0)
48
-
49
- @group1_ctrls.each_value do |ctrl|
50
- grid1.add(ctrl[0], 0, Wx::ALIGN_CENTER, 5)
51
- grid1.add(ctrl[1], 0, Wx::ALIGN_CENTER, 5)
52
- end
53
- box1.add(grid1, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
54
- vs.add(box1, 0, Wx::ALL, 5)
55
-
56
- #box2_title = Wx::StaticBox.new(panel, -1, "Group 2")
57
- #box2 = Wx::StaticBoxSizer.new(box2_title, Wx::HORIZONTAL)
58
- #grid2 = Wx::FlexGridSizer.new(0,2,0,0)
59
-
60
- #@group2_ctrls.each_value do |ctrl|
61
- #grid2.add(ctrl[0], 0, Wx::ALIGN_CENTER, 5)
62
- #grid2.add(ctrl[1], 0, Wx::ALIGN_CENTER, 5)
63
- #end
64
- #box2.add(grid2, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
65
- #vs.add(box2, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
66
-
67
- panel.set_sizer(vs)
68
- vs.fit(panel)
69
-
70
- panel.move(Wx::Point.new(50,50))
71
- @panel = panel
72
-
73
- @group1_ctrls.each_value do |ctrl|
74
- evt_radiobutton(ctrl[0].get_id()) {|event| on_group1_select(event)}
75
- ctrl[0].set_value(0)
76
- ctrl[1].enable(false)
77
- end
78
- #@group2_ctrls.each_value do |ctrl|
79
- # evt_radiobutton(ctrl[0].get_id()) {|event| on_group2_select(event)}
80
- # ctrl[0].set_value(0)
81
- # ctrl[1].enable(false)
82
- #end
83
- end
84
-
85
- def on_group1_select(event)
86
- @group1_ctrls.each_value do |ctrl|
87
- if ctrl[0].get_value() == true
88
- ctrl[1].enable(true)
89
- @log.write_text("Group 1 " + ctrl[0].get_label() + " selected")
90
- else
91
- ctrl[1].enable(false)
92
- end
93
- end
94
- end
95
-
96
- def on_group2_select(event)
97
- @group2_ctrls.each_value do |ctrl|
98
- if ctrl[0].get_value() == true
99
- ctrl[1].enable(true)
100
- @log.write_text("Group 2 " + ctrl[0].get_label() + " selected")
101
- else
102
- ctrl[1].enable(false)
103
- end
104
- end
105
- end
106
- end
107
-
108
- module Demo
109
- def Demo.run(frame,nb,log)
110
- win = TestPanel.new(nb, log)
111
- return win
112
- end
113
-
114
- def Demo.overview
115
- "This demo shows how individual radio buttons can be used to build more complicated selection mechanisms...\n" +
116
- "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."
117
- end
118
- end
119
-
120
-
121
- if __FILE__ == $0
122
- run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
123
- load run_solo_lib
124
- run File.basename($0)
125
- end
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
+ panel = Wx::Panel.new(self, -1)
17
+
18
+ # 1st group of controls
19
+ @group1_ctrls = {}
20
+ radio1 = Wx::RadioButton.new(panel, -1, "Radio1", Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::RB_GROUP)
21
+ text1 = Wx::TextCtrl.new(panel, -1, "")
22
+ radio2 = Wx::RadioButton.new(panel, -1, "Radio2")
23
+ text2 = Wx::TextCtrl.new(panel, -1, "")
24
+ radio3 = Wx::RadioButton.new(panel, -1, "Radio3")
25
+ text3 = Wx::TextCtrl.new(panel, -1, "")
26
+ @group1_ctrls["one"] = [radio1, text1]
27
+ @group1_ctrls["two"] = [radio2, text2]
28
+ @group1_ctrls["three"] = [radio3, text3]
29
+
30
+ # 2nd group of controls
31
+ #@group2_ctrls = {}
32
+ #radio4 = Wx::RadioButton.new(panel, -1, "Radio1", Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::RB_GROUP)
33
+ #text4 = Wx::TextCtrl.new(panel, -1, "")
34
+ #radio5 = Wx::RadioButton.new(panel, -1, "Radio2")
35
+ #text5 = Wx::TextCtrl.new(panel, -1, "")
36
+ #radio6 = Wx::RadioButton.new(panel, -1, "Radio3")
37
+ #text6 = Wx::TextCtrl.new(panel, -1, "")
38
+ #@group2_ctrls["one"] = [radio4, text4]
39
+ #@group2_ctrls["two"] = [radio5, text5]
40
+ #@group2_ctrls["three"] = [radio6, text6]
41
+
42
+ # Layout controls on panel
43
+ vs = Wx::BoxSizer.new(Wx::VERTICAL)
44
+
45
+ box1_title = Wx::StaticBox.new(panel, -1, "Group 1", Wx::DEFAULT_POSITION, Wx::Size.new(-1,-1))
46
+ box1 = Wx::StaticBoxSizer.new(box1_title, Wx::HORIZONTAL)
47
+ grid1 = Wx::FlexGridSizer.new(0,2,0,0)
48
+
49
+ @group1_ctrls.each_value do |ctrl|
50
+ grid1.add(ctrl[0], 0, Wx::ALIGN_CENTER, 5)
51
+ grid1.add(ctrl[1], 0, Wx::ALIGN_CENTER, 5)
52
+ end
53
+ box1.add(grid1, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
54
+ vs.add(box1, 0, Wx::ALL, 5)
55
+
56
+ #box2_title = Wx::StaticBox.new(panel, -1, "Group 2")
57
+ #box2 = Wx::StaticBoxSizer.new(box2_title, Wx::HORIZONTAL)
58
+ #grid2 = Wx::FlexGridSizer.new(0,2,0,0)
59
+
60
+ #@group2_ctrls.each_value do |ctrl|
61
+ #grid2.add(ctrl[0], 0, Wx::ALIGN_CENTER, 5)
62
+ #grid2.add(ctrl[1], 0, Wx::ALIGN_CENTER, 5)
63
+ #end
64
+ #box2.add(grid2, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
65
+ #vs.add(box2, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
66
+
67
+ panel.set_sizer(vs)
68
+ vs.fit(panel)
69
+
70
+ panel.move(Wx::Point.new(50,50))
71
+ @panel = panel
72
+
73
+ @group1_ctrls.each_value do |ctrl|
74
+ evt_radiobutton(ctrl[0].get_id()) {|event| on_group1_select(event)}
75
+ ctrl[0].set_value(0)
76
+ ctrl[1].enable(false)
77
+ end
78
+ #@group2_ctrls.each_value do |ctrl|
79
+ # evt_radiobutton(ctrl[0].get_id()) {|event| on_group2_select(event)}
80
+ # ctrl[0].set_value(0)
81
+ # ctrl[1].enable(false)
82
+ #end
83
+ end
84
+
85
+ def on_group1_select(event)
86
+ @group1_ctrls.each_value do |ctrl|
87
+ if ctrl[0].get_value() == true
88
+ ctrl[1].enable(true)
89
+ @log.write_text("Group 1 " + ctrl[0].get_label() + " selected")
90
+ else
91
+ ctrl[1].enable(false)
92
+ end
93
+ end
94
+ end
95
+
96
+ def on_group2_select(event)
97
+ @group2_ctrls.each_value do |ctrl|
98
+ if ctrl[0].get_value() == true
99
+ ctrl[1].enable(true)
100
+ @log.write_text("Group 2 " + ctrl[0].get_label() + " selected")
101
+ else
102
+ ctrl[1].enable(false)
103
+ end
104
+ end
105
+ end
106
+ end
107
+
108
+ module Demo
109
+ def Demo.run(frame,nb,log)
110
+ win = TestPanel.new(nb, log)
111
+ return win
112
+ end
113
+
114
+ def Demo.overview
115
+ "This demo shows how individual radio buttons can be used to build more complicated selection mechanisms...\n" +
116
+ "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."
117
+ end
118
+ end
119
+
120
+
121
+ if __FILE__ == $0
122
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
123
+ load run_solo_lib
124
+ run File.basename($0)
125
+ end
@@ -81,8 +81,8 @@ class TestPanel < Wx::Panel
81
81
 
82
82
 
83
83
  def on_sash_drag(event)
84
- if event.get_drag_status == Wx::SASH_STATUS_OUT_OF_RANGE:
85
- @log.write_text('drag == out of range')
84
+ if event.get_drag_status == Wx::SASH_STATUS_OUT_OF_RANGE
85
+ @log.write_text('drag == out of range')
86
86
  return
87
87
  end
88
88
 
@@ -1,57 +1,57 @@
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 ScrolledMessageDialog < Wx::Dialog
13
- def initialize(parent, msg, caption,
14
- pos = Wx::DEFAULT_POSITION,
15
- size = Wx::Size.new(500,300) )
16
- super(parent, -1, caption, pos, size)
17
- x,y = pos.x, pos.y
18
- if x == -1 and y == -1
19
- center_on_screen(Wx::BOTH)
20
- end
21
- sizer = Wx::BoxSizer.new(Wx::VERTICAL)
22
- text = Wx::TextCtrl.new(self, -1, msg,
23
- Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
24
- Wx::TE_MULTILINE|Wx::TE_READONLY)
25
-
26
- sizer.add(text, 1, Wx::EXPAND|Wx::ALL, 5)
27
-
28
- button_sizer = Wx::StdDialogButtonSizer.new
29
- button_sizer.add_button( Wx::Button.new(self, Wx::ID_OK, "OK") )
30
- button_sizer.realize
31
-
32
- sizer.add(button_sizer, 0, Wx::EXPAND|Wx::ALL, 5)
33
-
34
- set_sizer(sizer)
35
- layout
36
- end
37
- end
38
-
39
- module Demo
40
- def Demo.run(frame, nb, log)
41
- f = open(__FILE__, "r")
42
- msg = f.read()
43
- dlg = ScrolledMessageDialog.new(frame, msg, "message test")
44
- dlg.show_modal()
45
- end
46
-
47
- def Demo.overview
48
- return "A simple ruby example of a custom dialog displaying a " +
49
- "long message in a scrolled TextCtrl"
50
- end
51
- end
52
-
53
- if __FILE__ == $0
54
- run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
55
- load run_solo_lib
56
- run File.basename($0)
57
- end
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 ScrolledMessageDialog < Wx::Dialog
13
+ def initialize(parent, msg, caption,
14
+ pos = Wx::DEFAULT_POSITION,
15
+ size = Wx::Size.new(500,300) )
16
+ super(parent, -1, caption, pos, size)
17
+ x,y = pos.x, pos.y
18
+ if x == -1 and y == -1
19
+ center_on_screen(Wx::BOTH)
20
+ end
21
+ sizer = Wx::BoxSizer.new(Wx::VERTICAL)
22
+ text = Wx::TextCtrl.new(self, -1, msg,
23
+ Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
24
+ Wx::TE_MULTILINE|Wx::TE_READONLY)
25
+
26
+ sizer.add(text, 1, Wx::EXPAND|Wx::ALL, 5)
27
+
28
+ button_sizer = Wx::StdDialogButtonSizer.new
29
+ button_sizer.add_button( Wx::Button.new(self, Wx::ID_OK, "OK") )
30
+ button_sizer.realize
31
+
32
+ sizer.add(button_sizer, 0, Wx::EXPAND|Wx::ALL, 5)
33
+
34
+ set_sizer(sizer)
35
+ layout
36
+ end
37
+ end
38
+
39
+ module Demo
40
+ def Demo.run(frame, nb, log)
41
+ f = open(__FILE__, "r")
42
+ msg = f.read()
43
+ dlg = ScrolledMessageDialog.new(frame, msg, "message test")
44
+ dlg.show_modal()
45
+ end
46
+
47
+ def Demo.overview
48
+ return "A simple ruby example of a custom dialog displaying a " +
49
+ "long message in a scrolled TextCtrl"
50
+ end
51
+ end
52
+
53
+ if __FILE__ == $0
54
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
55
+ load run_solo_lib
56
+ run File.basename($0)
57
+ end