wxruby3 0.9.0.pre.beta.9 → 0.9.0.pre.beta.11

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/ext/wxruby3/include/wxruby-ScaledDC.h +549 -0
  3. data/ext/wxruby3/swig/mark_free_impl.i +0 -34
  4. data/ext/wxruby3/swig/wx.i +1 -1
  5. data/lib/wx/core/bitmap.rb +7 -0
  6. data/lib/wx/core/choice.rb +3 -0
  7. data/lib/wx/core/combobox.rb +3 -0
  8. data/lib/wx/core/controlwithitems.rb +98 -2
  9. data/lib/wx/core/data_object.rb +74 -6
  10. data/lib/wx/core/icon.rb +7 -1
  11. data/lib/wx/core/imagelist.rb +11 -0
  12. data/lib/wx/core/listbox.rb +3 -0
  13. data/lib/wx/core/point.rb +21 -10
  14. data/lib/wx/core/real_point.rb +21 -10
  15. data/lib/wx/core/rect.rb +2 -2
  16. data/lib/wx/core/size.rb +12 -5
  17. data/lib/wx/doc/data_object.rb +104 -0
  18. data/lib/wx/doc/gdi_common.rb +33 -5
  19. data/lib/wx/doc/progress_dialog.rb +37 -0
  20. data/lib/wx/doc/scaled_dc.rb +16 -0
  21. data/lib/wx/global_const.rb +4 -3
  22. data/lib/wx/version.rb +1 -1
  23. data/rakelib/lib/config/mingw.rb +3 -0
  24. data/rakelib/lib/core/include/init.inc +2 -2
  25. data/rakelib/lib/core/package.rb +3 -3
  26. data/rakelib/lib/core/spec.rb +2 -0
  27. data/rakelib/lib/director/ctrl_with_items.rb +29 -17
  28. data/rakelib/lib/director/data_object.rb +94 -0
  29. data/rakelib/lib/director/data_object_simple_base.rb +123 -0
  30. data/rakelib/lib/director/derived_dc.rb +38 -0
  31. data/rakelib/lib/director/dialog.rb +29 -54
  32. data/rakelib/lib/director/image_list.rb +3 -1
  33. data/rakelib/lib/director/preview_frame.rb +41 -0
  34. data/rakelib/lib/director/print_data.rb +5 -7
  35. data/rakelib/lib/specs/interfaces.rb +2 -0
  36. data/rakelib/lib/typemap/data_object_data.rb +13 -4
  37. data/samples/dialogs/dialogs.rb +70 -50
  38. data/samples/drawing/maths_images.rb +1 -1
  39. data/samples/sampler/ext.rb +3 -3
  40. data/samples/sampler/stc_editor.rb +19 -19
  41. data/samples/sampler/txt_editor.rb +2 -2
  42. data/samples/treectrl/treectrl.rb +32 -30
  43. data/tests/lib/wxapp_runner.rb +64 -0
  44. data/tests/test_basic.rb +0 -5
  45. data/tests/test_clipboard.rb +114 -17
  46. data/tests/test_dialog.rb +2 -13
  47. data/tests/test_event_handling.rb +2 -13
  48. data/tests/test_events.rb +2 -6
  49. data/tests/test_geometry.rb +54 -17
  50. data/tests/test_intl.rb +2 -15
  51. data/tests/test_item_data.rb +69 -15
  52. data/tests/test_variant.rb +1 -15
  53. data/tests/testapp.rb +0 -5
  54. data/tests/testapp_noframe.rb +0 -5
  55. metadata +8 -2
@@ -1,6 +1,5 @@
1
- require 'test/unit'
2
- require 'test/unit/ui/console/testrunner'
3
- require 'wx'
1
+
2
+ require_relative './lib/wxapp_runner'
4
3
 
5
4
  class TestTextData < Test::Unit::TestCase
6
5
  # Using an in-built class
@@ -31,7 +30,7 @@ class TestTextData < Test::Unit::TestCase
31
30
  Wx::Clipboard.open do | clip |
32
31
  clip.fetch td_3
33
32
  end
34
- assert_equal("", td_3.text)
33
+ assert_equal("", td_3.get_data_here)
35
34
  end
36
35
  end
37
36
 
@@ -66,6 +65,37 @@ class TestBitmapData < Test::Unit::TestCase
66
65
  end
67
66
 
68
67
  class TestDataObjectComposite < Test::Unit::TestCase
68
+ MY_INT_ARRAY_FORMAT = Wx::DataFormat.new('application/int_array_format')
69
+
70
+ class MySimpleIntArrayObject < Wx::DataObjectSimpleBase
71
+ def initialize(arr = nil)
72
+ super(MY_INT_ARRAY_FORMAT)
73
+ self.array = arr
74
+ end
75
+
76
+ def array
77
+ @arr
78
+ end
79
+
80
+ def array=(arr)
81
+ @arr = (arr || []).collect { |e| e.to_i }
82
+ end
83
+
84
+ # The default will do in this case but otherwise something like this:
85
+ # def _get_data_size
86
+ # @arr ? @arr.pack('i*').bytesize : 0
87
+ # end
88
+
89
+ def _get_data
90
+ @arr ? @arr.pack('i*') : nil
91
+ end
92
+
93
+ def _set_data(data)
94
+ @arr = data ? data.unpack('i*') : []
95
+ true
96
+ end
97
+ end
98
+
69
99
  def test_data_object_composite
70
100
  d_obj = Wx::DataObjectComposite.new
71
101
  d_txt = Wx::TextDataObject.new
@@ -80,6 +110,9 @@ class TestDataObjectComposite < Test::Unit::TestCase
80
110
  assert_equal( 2, d_txt.get_format_count(Wx::DataObject::Direction::Get) )
81
111
  assert_equal( 3, d_obj.get_format_count(Wx::DataObject::Direction::Get) )
82
112
  end
113
+ d_txt = nil
114
+
115
+ GC.start
83
116
 
84
117
  d_bmp = Wx::BitmapDataObject.new(bmp)
85
118
  Wx::Clipboard.open do | clip |
@@ -87,6 +120,8 @@ class TestDataObjectComposite < Test::Unit::TestCase
87
120
  clip.place d_bmp
88
121
  end
89
122
 
123
+ GC.start
124
+
90
125
  Wx::Clipboard.open do | clip |
91
126
  assert !clip.supported?( Wx::DF_TEXT )
92
127
  assert clip.supported?( Wx::DF_BITMAP )
@@ -94,6 +129,8 @@ class TestDataObjectComposite < Test::Unit::TestCase
94
129
  clip.fetch d_obj
95
130
  end
96
131
 
132
+ GC.start
133
+
97
134
  if Wx::PLATFORM == 'WXMSW'
98
135
  assert_equal d_obj.received_format.get_type, Wx::DF_DIB.get_type
99
136
  d_bmp = d_obj.get_object(Wx::DF_DIB)
@@ -112,6 +149,8 @@ class TestDataObjectComposite < Test::Unit::TestCase
112
149
  clip.place d_txt
113
150
  end
114
151
 
152
+ GC.start
153
+
115
154
  d_obj_2 = Wx::DataObjectComposite.new
116
155
  d_txt = Wx::TextDataObject.new
117
156
  d_obj_2.add d_txt
@@ -125,6 +164,8 @@ class TestDataObjectComposite < Test::Unit::TestCase
125
164
  clip.fetch d_obj_2
126
165
  end
127
166
 
167
+ GC.start
168
+
128
169
  assert_equal d_obj_2.received_format.get_type, d_txt.get_preferred_format(Wx::DataObject::Direction::Set).get_type
129
170
  if Wx::PLATFORM == 'WXMSW'
130
171
  d_txt = d_obj_2.get_object(Wx::DF_UNICODETEXT)
@@ -132,11 +173,58 @@ class TestDataObjectComposite < Test::Unit::TestCase
132
173
  d_txt = d_obj_2.get_object(Wx::DF_TEXT)
133
174
  end
134
175
  assert_equal d_txt.text, 'THE TEXT'
176
+
177
+ GC.start
178
+
179
+ d_obj_2 = Wx::DataObjectComposite.new
180
+ d_obj_2.add Wx::TextDataObject.new
181
+ d_obj_2.add MySimpleIntArrayObject.new([1,2,3,4,5])
182
+ if Wx::PLATFORM == 'WXMSW'
183
+ assert_equal( 2, d_obj_2.get_format_count(Wx::DataObject::Direction::Get) )
184
+ else
185
+ assert_equal( 3, d_obj_2.get_format_count(Wx::DataObject::Direction::Get) )
186
+ end
187
+
188
+ Wx::Clipboard.open do | clip |
189
+ clip.clear
190
+ clip.place d_obj_2
191
+ end
192
+
193
+ GC.start
194
+
195
+ d_iarr = MySimpleIntArrayObject.new
196
+ Wx::Clipboard.open do | clip |
197
+ assert clip.supported?(MY_INT_ARRAY_FORMAT)
198
+ clip.fetch d_iarr
199
+ end
200
+
201
+ assert_equal([1,2,3,4,5], d_iarr.array)
135
202
  end
136
203
  end
137
204
 
138
205
  class TestDataObject < Test::Unit::TestCase
139
206
  MY_CUSTOM_FORMAT = Wx::DataFormat.new('text/custom_format')
207
+ MY_CUSTOM_TEXT = Wx::DataFormat.new('text/custom_text')
208
+
209
+ class MySimpleDataObject < Wx::DataObjectSimpleBase
210
+ def initialize
211
+ super(MY_CUSTOM_TEXT)
212
+ @data = ''
213
+ end
214
+
215
+ def _get_data_size
216
+ @data.bytesize
217
+ end
218
+
219
+ def _get_data
220
+ @data
221
+ end
222
+
223
+ def _set_data(data)
224
+ @data = data ? data : ''
225
+ true
226
+ end
227
+ end
140
228
 
141
229
  class MyBasicDataObject < Wx::DataObject
142
230
  attr_reader :my_data
@@ -187,9 +275,9 @@ class TestDataObject < Test::Unit::TestCase
187
275
  def get_data_size(format)
188
276
  case format.get_type
189
277
  when Wx::DataFormatId::DF_TEXT
190
- get_as_text.to_s.size
278
+ get_as_text.to_s.bytesize
191
279
  when MY_CUSTOM_FORMAT.get_type
192
- get_formatted.to_s.size
280
+ get_formatted.to_s.bytesize
193
281
  else
194
282
  0
195
283
  end
@@ -208,17 +296,35 @@ class TestDataObject < Test::Unit::TestCase
208
296
  end
209
297
  end
210
298
 
299
+ def test_simple_data_obj
300
+ d_obj = MySimpleDataObject.new
301
+ d_obj.set_data('Simple Data')
302
+ assert_equal( 1, d_obj.get_format_count )
303
+ assert_equal('Simple Data', d_obj.get_data_here )
304
+
305
+ Wx::Clipboard.open do | clip |
306
+ clip.place d_obj
307
+ end
308
+
309
+ d_obj2 = MySimpleDataObject.new
310
+ Wx::Clipboard.open do | clip |
311
+ assert clip.supported?( d_obj2.get_format )
312
+ clip.fetch d_obj2
313
+ end
314
+ assert_equal('Simple Data', d_obj2.get_data_here )
315
+ end
316
+
211
317
  def test_data_obj
212
318
  d_obj = MyBasicDataObject.new
213
319
  d_obj.set_data(Wx::DF_TEXT, 'HELLO')
214
- assert_equal( 2, d_obj.get_format_count(0) )
320
+ assert_equal( 2, d_obj.get_format_count(Wx::DataObject::Direction::Get) )
215
321
  assert_equal('HELLO', d_obj.get_data_here(Wx::DF_TEXT) )
216
322
  assert_equal('<b>HELLO</b>', d_obj.get_data_here(MY_CUSTOM_FORMAT) )
217
323
 
218
324
  Wx::Clipboard.open do | clip |
219
325
  clip.place d_obj
220
326
  end
221
-
327
+
222
328
  d_obj_2 = MyBasicDataObject.new
223
329
  Wx::Clipboard.open do | clip |
224
330
  assert clip.supported?( Wx::DF_TEXT )
@@ -230,12 +336,3 @@ class TestDataObject < Test::Unit::TestCase
230
336
  assert_equal('HELLO', d_obj_2.get_data_here(Wx::DF_TEXT) )
231
337
  end
232
338
  end
233
-
234
- Wx::App.run do
235
- # Must run whilst App is alive
236
- Test::Unit::UI::Console::TestRunner.run(TestTextData)
237
- Test::Unit::UI::Console::TestRunner.run(TestBitmapData)
238
- Test::Unit::UI::Console::TestRunner.run(TestDataObjectComposite)
239
- Test::Unit::UI::Console::TestRunner.run(TestDataObject)
240
- false
241
- end
data/tests/test_dialog.rb CHANGED
@@ -1,6 +1,5 @@
1
- require 'test/unit'
2
- require 'test/unit/ui/console/testrunner'
3
- require 'wx'
1
+
2
+ require_relative './lib/wxapp_runner'
4
3
 
5
4
  class DialogTests < Test::Unit::TestCase
6
5
 
@@ -16,13 +15,3 @@ class DialogTests < Test::Unit::TestCase
16
15
  assert_kind_of(Wx::Window, dlg)
17
16
  end
18
17
  end
19
-
20
- class TestApp < Wx::App
21
- def on_init
22
- Test::Unit::UI::Console::TestRunner.run(DialogTests)
23
- false
24
- end
25
- end
26
-
27
- app = TestApp.new
28
- app.run
@@ -1,6 +1,5 @@
1
- require 'test/unit'
2
- require 'test/unit/ui/console/testrunner'
3
- require 'wx'
1
+
2
+ require_relative './lib/wxapp_runner'
4
3
 
5
4
  class EventHandlingTests < Test::Unit::TestCase
6
5
 
@@ -91,13 +90,3 @@ class EventHandlingTests < Test::Unit::TestCase
91
90
  assert_boolean(!win.child.test_cmd_event)
92
91
  end
93
92
  end
94
-
95
- class TestApp < Wx::App
96
- def on_init
97
- Test::Unit::UI::Console::TestRunner.run(EventHandlingTests)
98
- false
99
- end
100
- end
101
-
102
- app = TestApp.new
103
- app.run
data/tests/test_events.rb CHANGED
@@ -1,6 +1,5 @@
1
- require 'test/unit'
2
- require 'test/unit/ui/console/testrunner'
3
- require 'wx'
1
+
2
+ require_relative './lib/wxapp_runner'
4
3
 
5
4
  class EventTests < Test::Unit::TestCase
6
5
 
@@ -40,6 +39,3 @@ class TestApp < Wx::App
40
39
  false
41
40
  end
42
41
  end
43
-
44
- app = TestApp.new
45
- app.run
@@ -12,9 +12,9 @@ class GeometryTests < Test::Unit::TestCase
12
12
  assert_equal(10, w)
13
13
  assert_equal(20, h)
14
14
 
15
- assert(sz == Wx::Size.new(w,h))
16
- assert(sz == [w,h])
17
- assert_raise(TypeError) { sz == '10, 20' }
15
+ assert_equal(sz, Wx::Size.new(w,h))
16
+ assert_equal(sz, [w,h])
17
+ assert_not_equal(sz,'10, 20' )
18
18
 
19
19
  assert(sz.eql? Wx::Size.new(w,h))
20
20
  refute(sz.eql?([w,h]))
@@ -30,6 +30,20 @@ class GeometryTests < Test::Unit::TestCase
30
30
  assert(Wx::Size.new(12,22).eql?(sz + 2))
31
31
  assert(Wx::Size.new(12,23).eql?(sz + Wx::Size.new(2,3)))
32
32
  assert(Wx::Size.new(12,23).eql?(sz + [2,3]))
33
+
34
+ small_sz = Wx::Size.new(10, 10)
35
+ medium_sz = Wx::Size.new(20, 20)
36
+ large_sz = Wx::Size.new(30, 30)
37
+ a = [large_sz, small_sz, medium_sz]
38
+ a.sort!
39
+ assert_equal(a[0], small_sz)
40
+ assert_equal(a[1], medium_sz)
41
+ assert_equal(a[2], large_sz)
42
+
43
+ h = {large_sz => 'Large', small_sz => 'Small', medium_sz => 'Medium'}
44
+ assert_equal(h[Wx::Size.new(10, 10)], 'Small')
45
+ assert_equal(h[Wx::Size.new(20, 20)], 'Medium')
46
+ assert_equal(h[Wx::Size.new(30, 30)], 'Large')
33
47
  end
34
48
 
35
49
  def test_point
@@ -41,9 +55,9 @@ class GeometryTests < Test::Unit::TestCase
41
55
  assert_equal(10, x)
42
56
  assert_equal(20, y)
43
57
 
44
- assert(pt == Wx::Point.new(x,y))
45
- assert(pt == [x,y])
46
- assert_raise(TypeError) { pt == '10, 20' }
58
+ assert_equal(pt, Wx::Point.new(x,y))
59
+ assert_equal(pt, [x,y])
60
+ assert_not_equal(pt, '10, 20')
47
61
 
48
62
  assert(pt.eql? Wx::Point.new(x,y))
49
63
  refute(pt.eql?([x,y]))
@@ -61,6 +75,20 @@ class GeometryTests < Test::Unit::TestCase
61
75
  assert(Wx::Point.new(12,23).eql?(pt + Wx::Point.new(2,3)))
62
76
  assert(Wx::Point.new(12,23).eql?(pt + Wx::Size.new(2,3)))
63
77
  assert(Wx::Point.new(12,23).eql?(pt + [2,3]))
78
+
79
+ nearest_pt = Wx::Point.new(10, 10)
80
+ mid_pt = Wx::Point.new(10, 20)
81
+ furthest_pt = Wx::Point.new(10, 30)
82
+ a = [furthest_pt, nearest_pt, mid_pt]
83
+ a.sort!
84
+ assert_equal(a[0], nearest_pt)
85
+ assert_equal(a[1], mid_pt)
86
+ assert_equal(a[2], furthest_pt)
87
+
88
+ h = {furthest_pt => 'Far', nearest_pt => 'Near', mid_pt => 'Mid'}
89
+ assert_equal(h[Wx::Point.new(10, 10)], 'Near')
90
+ assert_equal(h[Wx::Point.new(10, 20)], 'Mid')
91
+ assert_equal(h[Wx::Point.new(10, 30)], 'Far')
64
92
  end
65
93
 
66
94
  def test_real_point
@@ -72,9 +100,9 @@ class GeometryTests < Test::Unit::TestCase
72
100
  assert_equal(10.0, x)
73
101
  assert_equal(20.0, y)
74
102
 
75
- assert(pt == Wx::RealPoint.new(x,y))
76
- assert(pt == [x,y])
77
- assert_raise(TypeError) { pt == '10.0, 20.0' }
103
+ assert_equal(pt, Wx::RealPoint.new(x,y))
104
+ assert_equal(pt, [x,y])
105
+ assert_not_equal(pt, '10.0, 20.0')
78
106
 
79
107
  assert(pt.eql? Wx::RealPoint.new(x,y))
80
108
  refute(pt.eql?([x,y]))
@@ -94,6 +122,20 @@ class GeometryTests < Test::Unit::TestCase
94
122
  assert(Wx::RealPoint.new(12.0,23.0).eql?(pt + Wx::Point.new(2,3)))
95
123
  assert(Wx::RealPoint.new(12.0,23.0).eql?(pt + Wx::Size.new(2,3)))
96
124
  assert(Wx::RealPoint.new(12.0,23.0).eql?(pt + [2,3]))
125
+
126
+ nearest_pt = Wx::RealPoint.new(10, 10)
127
+ mid_pt = Wx::RealPoint.new(10, 20)
128
+ furthest_pt = Wx::RealPoint.new(10, 30)
129
+ a = [furthest_pt, nearest_pt, mid_pt]
130
+ a.sort!
131
+ assert_equal(a[0], nearest_pt)
132
+ assert_equal(a[1], mid_pt)
133
+ assert_equal(a[2], furthest_pt)
134
+
135
+ h = {furthest_pt => 'Far', nearest_pt => 'Near', mid_pt => 'Mid'}
136
+ assert_equal(h[Wx::RealPoint.new(10, 10)], 'Near')
137
+ assert_equal(h[Wx::RealPoint.new(10, 20)], 'Mid')
138
+ assert_equal(h[Wx::RealPoint.new(10, 30)], 'Far')
97
139
  end
98
140
 
99
141
  def test_rect
@@ -113,9 +155,9 @@ class GeometryTests < Test::Unit::TestCase
113
155
  assert_equal(100, w)
114
156
  assert_equal(300, h)
115
157
 
116
- assert(rect == Wx::Rect.new(x,y,w,h))
117
- assert(rect == [x,y,w,h])
118
- assert_raise(TypeError) { rect == '10,0,20,0' }
158
+ assert_equal(rect, Wx::Rect.new(x,y,w,h))
159
+ assert_equal(rect, [x,y,w,h])
160
+ assert_not_equal(rect, '10,0,20,0')
119
161
 
120
162
  assert(rect.eql? Wx::Rect.new(x,y,w,h))
121
163
  refute(rect.eql?([x,y,w,h]))
@@ -134,8 +176,3 @@ class GeometryTests < Test::Unit::TestCase
134
176
  end
135
177
 
136
178
  end
137
-
138
- if $0 == __FILE__
139
- require 'test/unit/ui/console/testrunner'
140
- Test::Unit::UI::Console::TestRunner.run(GeometryTests)
141
- end
data/tests/test_intl.rb CHANGED
@@ -1,14 +1,5 @@
1
- require 'test/unit'
2
- require 'test/unit/ui/console/testrunner'
3
- require 'wx'
4
-
5
- class TestApp < Wx::App
6
- attr_accessor :test_class
7
- def on_init
8
- Test::Unit::UI::Console::TestRunner.run(self.test_class)
9
- false # exit after tests
10
- end
11
- end
1
+
2
+ require_relative './lib/wxapp_runner'
12
3
 
13
4
  class TestInternationalisation < Test::Unit::TestCase
14
5
  def test_encodings
@@ -101,7 +92,3 @@ class TestInternationalisation < Test::Unit::TestCase
101
92
  locale = Wx::Locale.new(Wx::LANGUAGE_DEFAULT)
102
93
  end
103
94
  end
104
-
105
- app = TestApp.new
106
- app.test_class = TestInternationalisation
107
- app.run
@@ -1,14 +1,5 @@
1
- require 'test/unit'
2
- require 'test/unit/ui/console/testrunner'
3
- require 'wx'
4
-
5
- class TestApp < Wx::App
6
- attr_accessor :test_class
7
- def on_init
8
- Test::Unit::UI::Console::TestRunner.run(self.test_class)
9
- false
10
- end
11
- end
1
+
2
+ require_relative './lib/wxapp_runner'
12
3
 
13
4
  class CtrlContainerFrame < Wx::Frame
14
5
  attr_accessor :control
@@ -31,6 +22,73 @@ class TestItemData < Test::Unit::TestCase
31
22
  assert_retrievable_data(f.control, 0, { 'b' => 'B' })
32
23
  assert_retrievable_data(f.control, 1, 'string item data')
33
24
  assert_retrievable_data(f.control, 2, 42.3)
25
+
26
+ GC.start
27
+
28
+ # single item append; no data
29
+ f.control.append('integer')
30
+ assert_equal(4, f.control.count)
31
+ assert_equal('integer', f.control.get_string(3))
32
+ assert_equal(nil, f.control.get_item_data(3))
33
+
34
+ # single item append; with data
35
+ f.control.append('array', 110)
36
+ assert_equal(5, f.control.count)
37
+ assert_equal('array', f.control.get_string(4))
38
+ assert_equal(110, f.control.get_item_data(4))
39
+
40
+ # array item append; no data
41
+ f.control.append(%w[set tree bag])
42
+ assert_equal(8, f.control.count)
43
+ assert_equal(nil, f.control.get_item_data(5))
44
+ assert_equal(nil, f.control.get_item_data(7))
45
+
46
+ # array item append; with data
47
+ f.control.append(%w[object module class], ['O', 'M', 'C'])
48
+ assert_equal(11, f.control.count)
49
+ assert_equal('O', f.control.get_item_data(8))
50
+ assert_equal('C', f.control.get_item_data(10))
51
+
52
+ GC.start
53
+
54
+ # single item insert; no data
55
+ f.control.insert('integer2', 3)
56
+ assert_equal(12, f.control.count)
57
+ assert_equal('integer2', f.control.get_string(3))
58
+ assert_equal(nil, f.control.get_item_data(3))
59
+
60
+ # single item insert; with data
61
+ f.control.insert('array2', 4, 110)
62
+ assert_equal(13, f.control.count)
63
+ assert_equal('array2', f.control.get_string(4))
64
+ assert_equal(110, f.control.get_item_data(4))
65
+
66
+ # array item insert; no data
67
+ f.control.insert(%w[set2 tree2 bag2], 5)
68
+ assert_equal(16, f.control.count)
69
+ assert_equal(nil, f.control.get_item_data(5))
70
+ assert_equal(nil, f.control.get_item_data(7))
71
+
72
+ # array item insert; with data
73
+ f.control.insert(%w[object2 module2 class2], 8, ['O', 'M', 'C'])
74
+ assert_equal(19, f.control.count)
75
+ assert_equal('O', f.control.get_item_data(8))
76
+ assert_equal('C', f.control.get_item_data(10))
77
+
78
+ GC.start
79
+
80
+ # item delete
81
+ f.control.delete(8)
82
+ assert_equal(18, f.control.count)
83
+ assert_equal('M', f.control.get_item_data(8))
84
+
85
+ GC.start
86
+
87
+ # clear all
88
+ f.control.clear
89
+ assert_equal(0, f.control.count)
90
+
91
+ GC.start
34
92
  end
35
93
 
36
94
  def test_treectrl_itemdata
@@ -114,7 +172,3 @@ class TestItemData < Test::Unit::TestCase
114
172
  f.close(true)
115
173
  end
116
174
  end
117
-
118
- app = TestApp.new
119
- app.test_class = TestItemData
120
- app.run
@@ -1,15 +1,5 @@
1
- require 'test/unit'
2
- require 'test/unit/ui/console/testrunner'
3
- require 'wx'
4
1
 
5
- class TestApp < Wx::App
6
- attr_accessor :test_class
7
- def on_init
8
- Test::Unit::UI::Console::TestRunner.run(self.test_class)
9
- GC.start
10
- false # exit after tests
11
- end
12
- end
2
+ require_relative './lib/wxapp_runner'
13
3
 
14
4
  class TestVariant < Test::Unit::TestCase
15
5
 
@@ -145,7 +135,3 @@ class TestVariant < Test::Unit::TestCase
145
135
  end
146
136
 
147
137
  end
148
-
149
- app = TestApp.new
150
- app.test_class = TestVariant
151
- app.run
data/tests/testapp.rb CHANGED
@@ -33,8 +33,3 @@ class TestApp < Test::Unit::TestCase
33
33
  assert(o.did_call_on_exit, "didn't call on_exit?")
34
34
  end
35
35
  end
36
-
37
- if $0 == __FILE__
38
- require 'test/unit/ui/console/testrunner'
39
- Test::Unit::UI::Console::TestRunner.run(TestApp)
40
- end
@@ -21,8 +21,3 @@ class TestApp < Test::Unit::TestCase
21
21
  end
22
22
 
23
23
  end
24
-
25
- if $0 == __FILE__
26
- require 'test/unit/ui/console/testrunner'
27
- Test::Unit::UI::Console::TestRunner.run(TestApp)
28
- end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wxruby3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0.pre.beta.9
4
+ version: 0.9.0.pre.beta.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Corino
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-28 00:00:00.000000000 Z
11
+ date: 2023-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -81,6 +81,7 @@ files:
81
81
  - README.md
82
82
  - bin/wxruby
83
83
  - ext/mkrf_conf_srcgem.rb
84
+ - ext/wxruby3/include/wxruby-ScaledDC.h
84
85
  - ext/wxruby3/include/wxruby-runtime.h
85
86
  - ext/wxruby3/swig/RubyStockObjects.i
86
87
  - ext/wxruby3/swig/common.i
@@ -167,6 +168,7 @@ files:
167
168
  - lib/wx/doc/aui/auinotebook.rb
168
169
  - lib/wx/doc/colour_dialog.rb
169
170
  - lib/wx/doc/core.rb
171
+ - lib/wx/doc/data_object.rb
170
172
  - lib/wx/doc/dc.rb
171
173
  - lib/wx/doc/enum.rb
172
174
  - lib/wx/doc/evthandler.rb
@@ -190,6 +192,7 @@ files:
190
192
  - lib/wx/doc/pg/pgeditor.rb
191
193
  - lib/wx/doc/pg/property_grid.rb
192
194
  - lib/wx/doc/pg/property_grid_interface.rb
195
+ - lib/wx/doc/progress_dialog.rb
193
196
  - lib/wx/doc/prt/page_setup_dialog.rb
194
197
  - lib/wx/doc/prt/print_data.rb
195
198
  - lib/wx/doc/prt/print_dialog.rb
@@ -199,6 +202,7 @@ files:
199
202
  - lib/wx/doc/rbn/ribbon_gallery.rb
200
203
  - lib/wx/doc/rbn/ribbon_tool_bar.rb
201
204
  - lib/wx/doc/rtc/richtext_printing.rb
205
+ - lib/wx/doc/scaled_dc.rb
202
206
  - lib/wx/doc/screen_dc.rb
203
207
  - lib/wx/doc/stock_objects.rb
204
208
  - lib/wx/doc/stream.rb
@@ -324,6 +328,7 @@ files:
324
328
  - rakelib/lib/director/cursor.rb
325
329
  - rakelib/lib/director/data_format.rb
326
330
  - rakelib/lib/director/data_object.rb
331
+ - rakelib/lib/director/data_object_simple_base.rb
327
332
  - rakelib/lib/director/date_event.rb
328
333
  - rakelib/lib/director/date_picker_ctrl.rb
329
334
  - rakelib/lib/director/dc.rb
@@ -816,6 +821,7 @@ files:
816
821
  - samples/xrc/samples.xrc
817
822
  - samples/xrc/tn_xrc_sample.png
818
823
  - samples/xrc/xrc_sample.rb
824
+ - tests/lib/wxapp_runner.rb
819
825
  - tests/test_basic.rb
820
826
  - tests/test_clipboard.rb
821
827
  - tests/test_dialog.rb