wxruby 1.9.0-i386-mswin32 → 1.9.1-i386-mswin32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. data/lib/wx.rb +42 -35
  2. data/lib/wx/accessors.rb +52 -0
  3. data/lib/wx/classes/evthandler.rb +36 -32
  4. data/lib/wx/classes/grid.rb +13 -13
  5. data/lib/wx/classes/point.rb +43 -0
  6. data/lib/wx/classes/size.rb +44 -0
  7. data/lib/wx/classes/styledtextctrl.rb +92 -0
  8. data/lib/wx/classes/textctrl.rb +14 -0
  9. data/lib/wx/classes/window.rb +4 -0
  10. data/lib/wx/keyword_ctors.rb +219 -0
  11. data/lib/wx/keyword_defs.rb +455 -0
  12. data/lib/wx/version.rb +1 -1
  13. data/lib/wxruby2.exp +0 -0
  14. data/lib/wxruby2.lib +0 -0
  15. data/lib/wxruby2.so +0 -0
  16. data/samples/SAMPLES-LICENSE.TXT +17 -17
  17. data/samples/aui/aui.rb +6 -5
  18. data/samples/bigdemo/About.rbw +39 -39
  19. data/samples/bigdemo/ColorPanel.rbw +25 -25
  20. data/samples/bigdemo/GridSimple.rbw +80 -80
  21. data/samples/bigdemo/MDIDemo.rbw +59 -59
  22. data/samples/bigdemo/PopupMenu.rbw +151 -151
  23. data/samples/bigdemo/Sizers.rbw +545 -545
  24. data/samples/bigdemo/bigdemo.rb +826 -826
  25. data/samples/bigdemo/demoTemplate.rbw +37 -37
  26. data/samples/bigdemo/icons/choice.xpm +27 -27
  27. data/samples/bigdemo/icons/combo.xpm +27 -27
  28. data/samples/bigdemo/icons/copy.xpm +25 -25
  29. data/samples/bigdemo/icons/cut.xpm +24 -24
  30. data/samples/bigdemo/icons/gauge.xpm +27 -27
  31. data/samples/bigdemo/icons/help.xpm +25 -25
  32. data/samples/bigdemo/icons/list.xpm +27 -27
  33. data/samples/bigdemo/icons/mondrian.xpm +44 -44
  34. data/samples/bigdemo/icons/new.xpm +24 -24
  35. data/samples/bigdemo/icons/ogl.ico +0 -0
  36. data/samples/bigdemo/icons/ogl.xpm +45 -45
  37. data/samples/bigdemo/icons/open.xpm +26 -26
  38. data/samples/bigdemo/icons/paste.xpm +38 -38
  39. data/samples/bigdemo/icons/preview.xpm +26 -26
  40. data/samples/bigdemo/icons/print.xpm +26 -26
  41. data/samples/bigdemo/icons/radio.xpm +27 -27
  42. data/samples/bigdemo/icons/robert.xpm +415 -415
  43. data/samples/bigdemo/icons/save.xpm +25 -25
  44. data/samples/bigdemo/icons/smiles.xpm +39 -39
  45. data/samples/bigdemo/icons/smiley.xpm +42 -42
  46. data/samples/bigdemo/icons/stattext.xpm +24 -24
  47. data/samples/bigdemo/icons/test2.bmp +0 -0
  48. data/samples/bigdemo/icons/test2.xpm +79 -79
  49. data/samples/bigdemo/icons/text.xpm +27 -27
  50. data/samples/bigdemo/icons/tog1.xpm +38 -38
  51. data/samples/bigdemo/icons/tog2.xpm +38 -38
  52. data/samples/bigdemo/icons/wxwin16x16.xpm +25 -25
  53. data/samples/bigdemo/tips.txt +7 -7
  54. data/samples/bigdemo/utils.rb +11 -11
  55. data/samples/bigdemo/wxButton.rbw +66 -66
  56. data/samples/bigdemo/wxCalendarCtrl.rbw +72 -72
  57. data/samples/bigdemo/wxCheckBox.rbw +52 -52
  58. data/samples/bigdemo/wxCheckListBox.rbw +77 -77
  59. data/samples/bigdemo/wxChoice.rbw +49 -49
  60. data/samples/bigdemo/wxColourDialog.rbw +34 -34
  61. data/samples/bigdemo/wxComboBox.rbw +79 -79
  62. data/samples/bigdemo/wxDialog.rbw +92 -92
  63. data/samples/bigdemo/wxDirDialog.rbw +32 -32
  64. data/samples/bigdemo/wxFileDialog.rbw +39 -39
  65. data/samples/bigdemo/wxFileDialog_Save.rbw +38 -38
  66. data/samples/bigdemo/wxFindReplaceDialog.rbw +85 -85
  67. data/samples/bigdemo/wxFontDialog.rbw +176 -176
  68. data/samples/bigdemo/wxFrame.rbw +55 -55
  69. data/samples/bigdemo/wxGauge.rbw +73 -73
  70. data/samples/bigdemo/wxGrid.rbw +68 -68
  71. data/samples/bigdemo/wxListBox.rbw +142 -142
  72. data/samples/bigdemo/wxListCtrl_virtual.rbw +109 -109
  73. data/samples/bigdemo/wxMDIWindows.rbw +52 -52
  74. data/samples/bigdemo/wxMenu.rbw +238 -238
  75. data/samples/bigdemo/wxMessageDialog.rbw +30 -30
  76. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +34 -34
  77. data/samples/bigdemo/wxNotebook.rbw +138 -138
  78. data/samples/bigdemo/wxProgressDialog.rbw +45 -45
  79. data/samples/bigdemo/wxRadioBox.rbw +74 -74
  80. data/samples/bigdemo/wxRadioButton.rbw +127 -127
  81. data/samples/bigdemo/wxScrolledMessageDialog.rbw +59 -59
  82. data/samples/bigdemo/wxScrolledWindow.rbw +196 -196
  83. data/samples/bigdemo/wxSingleChoiceDialog.rbw +35 -35
  84. data/samples/bigdemo/wxSlider.rbw +44 -44
  85. data/samples/bigdemo/wxSpinButton.rbw +52 -52
  86. data/samples/bigdemo/wxSpinCtrl.rbw +53 -53
  87. data/samples/bigdemo/wxSplitterWindow.rbw +65 -65
  88. data/samples/bigdemo/wxStaticBitmap.rbw +53 -53
  89. data/samples/bigdemo/wxStaticText.rbw +57 -57
  90. data/samples/bigdemo/wxStatusBar.rbw +128 -128
  91. data/samples/bigdemo/wxTextCtrl.rbw +151 -151
  92. data/samples/bigdemo/wxTextEntryDialog.rbw +34 -34
  93. data/samples/bigdemo/wxToggleButton.rbw +51 -51
  94. data/samples/bigdemo/wxToolBar.rbw +133 -133
  95. data/samples/bigdemo/wxTreeCtrl.rbw +192 -192
  96. data/samples/calendar/calendar.rb +275 -275
  97. data/samples/caret/caret.rb +296 -296
  98. data/samples/caret/mondrian.xpm +44 -44
  99. data/samples/controls/controls.rb +1140 -1140
  100. data/samples/controls/get_item_sample.rb +87 -87
  101. data/samples/controls/icons/choice.xpm +27 -27
  102. data/samples/controls/icons/combo.xpm +27 -27
  103. data/samples/controls/icons/gauge.xpm +27 -27
  104. data/samples/controls/icons/list.xpm +27 -27
  105. data/samples/controls/icons/radio.xpm +27 -27
  106. data/samples/controls/icons/stattext.xpm +24 -24
  107. data/samples/controls/icons/text.xpm +27 -27
  108. data/samples/controls/mondrian.xpm +44 -44
  109. data/samples/dialogs/dialogs.rb +724 -724
  110. data/samples/dialogs/tips.txt +18 -18
  111. data/samples/etc/activation.rb +108 -108
  112. data/samples/etc/choice.rb +72 -72
  113. data/samples/etc/miniframe.rb +84 -84
  114. data/samples/etc/sash.rb +135 -135
  115. data/samples/etc/scrollwin.rb +116 -116
  116. data/samples/etc/system_settings.rb +258 -258
  117. data/samples/etc/wizard.rb +81 -81
  118. data/samples/event/event.rb +184 -0
  119. data/samples/images/images.rb +48 -48
  120. data/samples/listbook/listbook.rb +183 -183
  121. data/samples/listbook/listbook.xrc +370 -370
  122. data/samples/mdi/mdi.rb +87 -87
  123. data/samples/minimal/minimal.rb +83 -95
  124. data/samples/minimal/mondrian.png +0 -0
  125. data/samples/minimal/nothing.rb +46 -46
  126. data/samples/minimal/text.rb +35 -35
  127. data/samples/text/scintilla.rb +22 -28
  128. data/samples/text/textctrl.rb +124 -124
  129. data/samples/text/unicode.rb +238 -238
  130. data/samples/text/utf8.txt +14 -14
  131. data/samples/treectrl/treectrl.rb +1210 -1210
  132. data/samples/xrc/samples.xrc +46 -46
  133. data/samples/xrc/xrc_sample.rb +107 -107
  134. metadata +13 -5
  135. data/samples/minimal/mondrian.ico +0 -0
  136. data/samples/minimal/mondrian.xpm +0 -44
@@ -1,196 +1,196 @@
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
- #$BUFFERED = 0 #Wx::BufferedDC not yet implemented
15
-
16
- class MyCanvas < Wx::ScrolledWindow
17
- def initialize(parent, id=-1, size=Wx::DEFAULT_SIZE)
18
- super(parent, -1, Wx::Point.new(0,0), size, Wx::SUNKEN_BORDER)
19
- @lines = []
20
- @maxWidth = 1000
21
- @maxHeight = 1000
22
- @x = @y = 0
23
- @curLine = []
24
- @drawing = false
25
-
26
- set_background_colour(Wx::WHITE)
27
-
28
- set_cursor(Wx::Cursor.new(Wx::CURSOR_PENCIL))
29
- bmp_file = File.join(File.dirname(__FILE__), 'icons', 'test2.xpm')
30
- @bmp = Wx::Bitmap.new(bmp_file)
31
-
32
-
33
- set_scrollbars(20, 20, @maxWidth / 20, @maxHeight / 20, 0, 0, true)
34
-
35
- evt_left_down {|event| on_left_button_event_down(event)}
36
- evt_left_up {|event| on_left_button_event_up(event)}
37
- evt_motion {|event| on_left_button_event_motion(event)}
38
- evt_paint { on_paint }
39
- #evt_mousewheel {|event| on_wheel(event)}
40
- end
41
-
42
- def on_paint
43
- paint { | dc | do_drawing(dc) }
44
- end
45
-
46
- def do_drawing(dc, printing=false)
47
- # Reset the origin co-ordinates of the DC to reflect current scrolling
48
- do_prepare_dc(dc)
49
- dc.set_pen(Wx::Pen.new("RED", 1, Wx::SOLID))
50
- dc.draw_rectangle(5,5,50,50)
51
-
52
- dc.set_brush(Wx::LIGHT_GREY_BRUSH)
53
- dc.set_pen(Wx::Pen.new("BLUE", 4, Wx::SOLID))
54
- dc.draw_rectangle(15,15,50,50)
55
-
56
- dc.set_font(Wx::Font.new(14, Wx::SWISS, Wx::NORMAL, Wx::NORMAL))
57
- dc.set_text_foreground(Wx::Colour.new(0xFF, 0x20, 0xFF))
58
- te = dc.get_text_extent("Hello World")
59
- dc.draw_text("Hello World", 60, 65)
60
-
61
- dc.set_pen(Wx::Pen.new("VIOLET", 4, Wx::SOLID))
62
- dc.draw_line(5, 65+te[1], 60 + te[0], 65 + te[1])
63
-
64
- lst = [Wx::Point.new(100,110), Wx::Point.new(150, 110), Wx::Point.new(150, 160), Wx::Point.new(100, 160)]
65
- dc.draw_lines(lst, -60)
66
- dc.set_pen(Wx::GREY_PEN)
67
- dc.draw_polygon(lst, 75)
68
- dc.set_pen(Wx::GREEN_PEN)
69
- dc.draw_spline(lst << Wx::Point.new(100,100))
70
-
71
- dc.draw_bitmap(@bmp, 200, 20, true)
72
- dc.set_text_foreground(Wx::Colour.new(0, 0xFF, 0x80))
73
- dc.draw_text("a bitmap", 200,85)
74
-
75
- font = Wx::Font.new(14, Wx::SWISS, Wx::NORMAL, Wx::NORMAL)
76
- dc.set_font(font)
77
- dc.set_text_foreground(Wx::BLACK)
78
- 0.step(360, 45) {|number| dc.draw_rotated_text("Rotated text...", 300, 300, number)}
79
-
80
- dc.set_pen(Wx::TRANSPARENT_PEN)
81
- dc.set_brush(Wx::BLUE_BRUSH)
82
- dc.draw_rectangle(50, 500, 50, 50)
83
- dc.draw_rectangle(100, 500, 50, 50)
84
-
85
- dc.set_pen(Wx::Pen.new("RED", 1, Wx::SOLID))
86
- dc.draw_elliptic_arc(200, 500, 50, 75, 0, 90)
87
-
88
- if not printing
89
- # This has troubles when used on a print preview in wxGTK,
90
- # probably something to do with the pen styles and the scaling
91
- # it does...
92
- y = 20
93
- [Wx::DOT, Wx::LONG_DASH, Wx::SHORT_DASH, Wx::DOT_DASH, Wx::USER_DASH].each do |style|
94
- pen = Wx::Pen.new("DARK ORCHID", 1, style)
95
- if style == Wx::USER_DASH
96
- pen.set_cap(Wx::CAP_BUTT)
97
- pen.set_dashes([1,2])
98
- pen.set_colour("RED")
99
- end
100
- dc.set_pen(pen)
101
- dc.draw_line(300, y, 400, y)
102
- y += 10
103
- end
104
- end
105
- dc.set_brush(Wx::TRANSPARENT_BRUSH)
106
- dc.set_pen(Wx::Pen.new(Wx::Colour.new(0xFF, 0x20, 0xFF), 1, Wx::SOLID))
107
- dc.draw_rectangle(450, 50, 100, 100)
108
- old_pen = dc.get_pen()
109
- new_pen = Wx::Pen.new("BLACK", 5, Wx::SOLID)
110
- dc.set_pen(new_pen)
111
- dc.draw_rectangle(470, 70, 60, 60)
112
- dc.set_pen(old_pen)
113
- dc.draw_rectangle(490, 90, 20, 20)
114
-
115
- draw_saved_lines(dc)
116
- end
117
-
118
- def draw_saved_lines(dc)
119
- dc.set_pen(Wx::Pen.new("MEDIUM FOREST GREEN", 4, Wx::SOLID))
120
- @lines.each do |line|
121
- line.each do |coords|
122
- coords.flatten!()
123
- dc.draw_line(coords[0], coords[1], coords[2], coords[3])
124
- end
125
- end
126
- end
127
-
128
- def set_XY(event)
129
- @x, @y = convert_event_coords(event)
130
- end
131
-
132
- def convert_event_coords(event)
133
- xView, yView = get_view_start()
134
- xDelta, yDelta = get_scroll_pixels_per_unit()
135
- return event.get_x() + (xView * xDelta), event.get_y() + (yView * yDelta)
136
- end
137
-
138
- def on_left_button_event_down(event)
139
- if event.left_is_down() and !@drawing
140
- set_focus()
141
- set_XY(event)
142
- @curLine = []
143
- capture_mouse()
144
- @drawing = true
145
- end
146
- end
147
-
148
- def on_left_button_event_up(event)
149
- if !event.left_is_down() and @drawing
150
- @lines.push(@curLine)
151
- @curLine = []
152
- release_mouse()
153
- @drawing = false
154
- end
155
- end
156
-
157
- def on_left_button_event_motion(event)
158
- if event.left_is_down() and @drawing
159
- # if $BUFFERED
160
- # # If doing buffered drawing, create the buffered DC, giving it
161
- # # it a real DC to blit to when done.
162
- # cdc = Wx::ClientDC.new(self)
163
- # dc = Wx::BufferedDC.new(cdc, @buffer)
164
- # else
165
- # dc = Wx::ClientDC.new(self)
166
- # end
167
-
168
- paint do | dc |
169
- dc.set_pen(Wx::Pen.new("MEDIUM FOREST GREEN", 4, Wx::SOLID))
170
- coords = [@x, @y] + convert_event_coords(event)
171
- @curLine.push(coords)
172
- coords.flatten!()
173
- dc.draw_line(coords[0], coords[1], coords[2], coords[3])
174
- set_XY(event)
175
- end
176
- end
177
- end
178
-
179
- end
180
-
181
- module Demo
182
- def Demo.run(frame, nb, log)
183
- win = MyCanvas.new(nb, log)
184
- return win
185
- end
186
-
187
- def Demo.overview
188
- return "The wxScrolledWindow class manages scrolling for its client area, transforming the coordinates according to the scrollbar positions, and setting the scroll positions, thumb sizes and ranges according to the area in view."
189
- end
190
- end
191
-
192
- if __FILE__ == $0
193
- run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
194
- load run_solo_lib
195
- run File.basename($0)
196
- 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
+ #$BUFFERED = 0 #Wx::BufferedDC not yet implemented
15
+
16
+ class MyCanvas < Wx::ScrolledWindow
17
+ def initialize(parent, id=-1, size=Wx::DEFAULT_SIZE)
18
+ super(parent, -1, Wx::Point.new(0,0), size, Wx::SUNKEN_BORDER)
19
+ @lines = []
20
+ @maxWidth = 1000
21
+ @maxHeight = 1000
22
+ @x = @y = 0
23
+ @curLine = []
24
+ @drawing = false
25
+
26
+ set_background_colour(Wx::WHITE)
27
+
28
+ set_cursor(Wx::Cursor.new(Wx::CURSOR_PENCIL))
29
+ bmp_file = File.join(File.dirname(__FILE__), 'icons', 'test2.xpm')
30
+ @bmp = Wx::Bitmap.new(bmp_file)
31
+
32
+
33
+ set_scrollbars(20, 20, @maxWidth / 20, @maxHeight / 20, 0, 0, true)
34
+
35
+ evt_left_down {|event| on_left_button_event_down(event)}
36
+ evt_left_up {|event| on_left_button_event_up(event)}
37
+ evt_motion {|event| on_left_button_event_motion(event)}
38
+ evt_paint { on_paint }
39
+ #evt_mousewheel {|event| on_wheel(event)}
40
+ end
41
+
42
+ def on_paint
43
+ paint { | dc | do_drawing(dc) }
44
+ end
45
+
46
+ def do_drawing(dc, printing=false)
47
+ # Reset the origin co-ordinates of the DC to reflect current scrolling
48
+ do_prepare_dc(dc)
49
+ dc.set_pen(Wx::Pen.new("RED", 1, Wx::SOLID))
50
+ dc.draw_rectangle(5,5,50,50)
51
+
52
+ dc.set_brush(Wx::LIGHT_GREY_BRUSH)
53
+ dc.set_pen(Wx::Pen.new("BLUE", 4, Wx::SOLID))
54
+ dc.draw_rectangle(15,15,50,50)
55
+
56
+ dc.set_font(Wx::Font.new(14, Wx::SWISS, Wx::NORMAL, Wx::NORMAL))
57
+ dc.set_text_foreground(Wx::Colour.new(0xFF, 0x20, 0xFF))
58
+ te = dc.get_text_extent("Hello World")
59
+ dc.draw_text("Hello World", 60, 65)
60
+
61
+ dc.set_pen(Wx::Pen.new("VIOLET", 4, Wx::SOLID))
62
+ dc.draw_line(5, 65+te[1], 60 + te[0], 65 + te[1])
63
+
64
+ lst = [Wx::Point.new(100,110), Wx::Point.new(150, 110), Wx::Point.new(150, 160), Wx::Point.new(100, 160)]
65
+ dc.draw_lines(lst, -60)
66
+ dc.set_pen(Wx::GREY_PEN)
67
+ dc.draw_polygon(lst, 75)
68
+ dc.set_pen(Wx::GREEN_PEN)
69
+ dc.draw_spline(lst << Wx::Point.new(100,100))
70
+
71
+ dc.draw_bitmap(@bmp, 200, 20, true)
72
+ dc.set_text_foreground(Wx::Colour.new(0, 0xFF, 0x80))
73
+ dc.draw_text("a bitmap", 200,85)
74
+
75
+ font = Wx::Font.new(14, Wx::SWISS, Wx::NORMAL, Wx::NORMAL)
76
+ dc.set_font(font)
77
+ dc.set_text_foreground(Wx::BLACK)
78
+ 0.step(360, 45) {|number| dc.draw_rotated_text("Rotated text...", 300, 300, number)}
79
+
80
+ dc.set_pen(Wx::TRANSPARENT_PEN)
81
+ dc.set_brush(Wx::BLUE_BRUSH)
82
+ dc.draw_rectangle(50, 500, 50, 50)
83
+ dc.draw_rectangle(100, 500, 50, 50)
84
+
85
+ dc.set_pen(Wx::Pen.new("RED", 1, Wx::SOLID))
86
+ dc.draw_elliptic_arc(200, 500, 50, 75, 0, 90)
87
+
88
+ if not printing
89
+ # This has troubles when used on a print preview in wxGTK,
90
+ # probably something to do with the pen styles and the scaling
91
+ # it does...
92
+ y = 20
93
+ [Wx::DOT, Wx::LONG_DASH, Wx::SHORT_DASH, Wx::DOT_DASH, Wx::USER_DASH].each do |style|
94
+ pen = Wx::Pen.new("DARK ORCHID", 1, style)
95
+ if style == Wx::USER_DASH
96
+ pen.set_cap(Wx::CAP_BUTT)
97
+ pen.set_dashes([1,2])
98
+ pen.set_colour("RED")
99
+ end
100
+ dc.set_pen(pen)
101
+ dc.draw_line(300, y, 400, y)
102
+ y += 10
103
+ end
104
+ end
105
+ dc.set_brush(Wx::TRANSPARENT_BRUSH)
106
+ dc.set_pen(Wx::Pen.new(Wx::Colour.new(0xFF, 0x20, 0xFF), 1, Wx::SOLID))
107
+ dc.draw_rectangle(450, 50, 100, 100)
108
+ old_pen = dc.get_pen()
109
+ new_pen = Wx::Pen.new("BLACK", 5, Wx::SOLID)
110
+ dc.set_pen(new_pen)
111
+ dc.draw_rectangle(470, 70, 60, 60)
112
+ dc.set_pen(old_pen)
113
+ dc.draw_rectangle(490, 90, 20, 20)
114
+
115
+ draw_saved_lines(dc)
116
+ end
117
+
118
+ def draw_saved_lines(dc)
119
+ dc.set_pen(Wx::Pen.new("MEDIUM FOREST GREEN", 4, Wx::SOLID))
120
+ @lines.each do |line|
121
+ line.each do |coords|
122
+ coords.flatten!()
123
+ dc.draw_line(coords[0], coords[1], coords[2], coords[3])
124
+ end
125
+ end
126
+ end
127
+
128
+ def set_XY(event)
129
+ @x, @y = convert_event_coords(event)
130
+ end
131
+
132
+ def convert_event_coords(event)
133
+ xView, yView = get_view_start()
134
+ xDelta, yDelta = get_scroll_pixels_per_unit()
135
+ return event.get_x() + (xView * xDelta), event.get_y() + (yView * yDelta)
136
+ end
137
+
138
+ def on_left_button_event_down(event)
139
+ if event.left_is_down() and !@drawing
140
+ set_focus()
141
+ set_XY(event)
142
+ @curLine = []
143
+ capture_mouse()
144
+ @drawing = true
145
+ end
146
+ end
147
+
148
+ def on_left_button_event_up(event)
149
+ if !event.left_is_down() and @drawing
150
+ @lines.push(@curLine)
151
+ @curLine = []
152
+ release_mouse()
153
+ @drawing = false
154
+ end
155
+ end
156
+
157
+ def on_left_button_event_motion(event)
158
+ if event.left_is_down() and @drawing
159
+ # if $BUFFERED
160
+ # # If doing buffered drawing, create the buffered DC, giving it
161
+ # # it a real DC to blit to when done.
162
+ # cdc = Wx::ClientDC.new(self)
163
+ # dc = Wx::BufferedDC.new(cdc, @buffer)
164
+ # else
165
+ # dc = Wx::ClientDC.new(self)
166
+ # end
167
+
168
+ paint do | dc |
169
+ dc.set_pen(Wx::Pen.new("MEDIUM FOREST GREEN", 4, Wx::SOLID))
170
+ coords = [@x, @y] + convert_event_coords(event)
171
+ @curLine.push(coords)
172
+ coords.flatten!()
173
+ dc.draw_line(coords[0], coords[1], coords[2], coords[3])
174
+ set_XY(event)
175
+ end
176
+ end
177
+ end
178
+
179
+ end
180
+
181
+ module Demo
182
+ def Demo.run(frame, nb, log)
183
+ win = MyCanvas.new(nb, log)
184
+ return win
185
+ end
186
+
187
+ def Demo.overview
188
+ return "The wxScrolledWindow class manages scrolling for its client area, transforming the coordinates according to the scrollbar positions, and setting the scroll positions, thumb sizes and ranges according to the area in view."
189
+ end
190
+ end
191
+
192
+ if __FILE__ == $0
193
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
194
+ load run_solo_lib
195
+ run File.basename($0)
196
+ end
@@ -1,35 +1,35 @@
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
- def Demo.run(frame, nb, log)
16
- dlg = Wx::SingleChoiceDialog.new(frame, "Test Single Choice", "The Caption",
17
- %w(zero one two three four five six seven eight))
18
- #Wx::CHOICEDLG_STYLE)
19
- if dlg.show_modal() == Wx::ID_OK
20
- log.write_text("You selected: " + dlg.get_string_selection() + "\n")
21
- end
22
- dlg.destroy()
23
- return nil
24
- end
25
-
26
- def Demo.overview
27
- return "This class represents a dialog that shows a list of strings, and allows the user to select one. Double-clicking on a list item is equivalent to single-clicking and then pressing OK."
28
- end
29
- end
30
-
31
- if __FILE__ == $0
32
- run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
33
- load run_solo_lib
34
- run File.basename($0)
35
- 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
+ def Demo.run(frame, nb, log)
16
+ dlg = Wx::SingleChoiceDialog.new(frame, "Test Single Choice", "The Caption",
17
+ %w(zero one two three four five six seven eight))
18
+ #Wx::CHOICEDLG_STYLE)
19
+ if dlg.show_modal() == Wx::ID_OK
20
+ log.write_text("You selected: " + dlg.get_string_selection() + "\n")
21
+ end
22
+ dlg.destroy()
23
+ return nil
24
+ end
25
+
26
+ def Demo.overview
27
+ return "This class represents a dialog that shows a list of strings, and allows the user to select one. Double-clicking on a list item is equivalent to single-clicking and then pressing OK."
28
+ end
29
+ end
30
+
31
+ if __FILE__ == $0
32
+ run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
33
+ load run_solo_lib
34
+ run File.basename($0)
35
+ end