wxruby3 1.6.0 → 1.6.1

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.
@@ -0,0 +1,253 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+ ###
6
+ # wxRuby3 wxWidgets interface director
7
+ ###
8
+
9
+ require_relative './window'
10
+
11
+ module WXRuby3
12
+
13
+ class Director
14
+
15
+ class HVScrolled < Window
16
+
17
+ def setup
18
+ super
19
+ case spec.module_name
20
+ when 'wxHScrolledWindow'
21
+ spec.items.replace %w[wxVarScrollHelperBase wxVarVScrollHelper wxVarHVScrollHelper wxVarHScrollHelper wxHScrolledWindow wxHVScrolledWindow wxPosition]
22
+ spec.override_inheritance_chain('wxHScrolledWindow', %w[wxPanel wxWindow wxEvtHandler wxObject])
23
+ spec.fold_bases('wxHScrolledWindow' => %w[wxVarHScrollHelper wxVarScrollHelperBase])
24
+ spec.make_abstract 'wxHScrolledWindow'
25
+ spec.force_proxy 'wxHScrolledWindow'
26
+ spec.override_inheritance_chain('wxHVScrolledWindow', %w[wxPanel wxWindow wxEvtHandler wxObject])
27
+ spec.fold_bases('wxHVScrolledWindow' => %w[wxVarHVScrollHelper wxVarHScrollHelper wxVarVScrollHelper wxVarScrollHelperBase])
28
+ spec.make_abstract 'wxHVScrolledWindow'
29
+ spec.force_proxy 'wxHVScrolledWindow'
30
+ # provide base implementations for pure virtuals
31
+ spec.add_header_code <<~__HEREDOC
32
+ // Custom subclass implementation.
33
+ class wxRubyHScrolledWindow : public wxHScrolledWindow
34
+ {
35
+ public:
36
+ wxRubyHScrolledWindow()
37
+ : wxHScrolledWindow () {}
38
+ wxRubyHScrolledWindow(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)
39
+ : wxHScrolledWindow(parent, id, pos, size, style, name) {}
40
+ protected:
41
+ virtual wxCoord OnGetColumnWidth(size_t) const
42
+ {
43
+ return {};
44
+ }
45
+ };
46
+
47
+ // Custom subclass implementation.
48
+ class wxRubyHVScrolledWindow : public wxHVScrolledWindow
49
+ {
50
+ public:
51
+ wxRubyHVScrolledWindow()
52
+ : wxHVScrolledWindow () {}
53
+ wxRubyHVScrolledWindow(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)
54
+ : wxHVScrolledWindow(parent, id, pos, size, style, name) {}
55
+ protected:
56
+ virtual wxCoord OnGetRowHeight(size_t) const
57
+ {
58
+ return {};
59
+ }
60
+ virtual wxCoord OnGetColumnWidth(size_t) const
61
+ {
62
+ return {};
63
+ }
64
+ };
65
+ __HEREDOC
66
+ # make Ruby director and wrappers use custom implementation
67
+ spec.use_class_implementation('wxHScrolledWindow', 'wxRubyHScrolledWindow')
68
+ spec.use_class_implementation('wxHVScrolledWindow', 'wxRubyHVScrolledWindow')
69
+ # regard protected methods
70
+ spec.regard 'wxVarVScrollHelper::OnGetRowHeight',
71
+ 'wxVarVScrollHelper::OnGetRowsHeightHint'
72
+ spec.regard 'wxVarHScrollHelper::OnGetColumnWidth',
73
+ 'wxVarHScrollHelper::OnGetColumnsWidthHint'
74
+ # ignore internal implementation methods
75
+ spec.ignore 'wxVarScrollHelperBase::GetNonOrientationTargetSize',
76
+ 'wxVarScrollHelperBase::GetOrientation',
77
+ 'wxVarScrollHelperBase::GetOrientationTargetSize',
78
+ 'wxVarScrollHelperBase::OnGetUnitSize',
79
+ 'wxVarScrollHelperBase::CalcScrolledPosition',
80
+ 'wxVarScrollHelperBase::CalcUnscrolledPosition',
81
+ 'wxVarScrollHelperBase::GetTargetWindow',
82
+ 'wxVarScrollHelperBase::SetTargetWindow',
83
+ 'wxVarScrollHelperBase::UpdateScrollbar',
84
+ 'wxVarScrollHelperBase::RefreshAll'
85
+ spec.map 'const wxPosition&' => 'Array(Integer, Integer), Wx::Position' do
86
+ add_header_code '#include <memory>'
87
+ map_in temp: 'std::unique_ptr<$1_basetype> tmp', code: <<~__CODE
88
+ if ( TYPE($input) == T_DATA )
89
+ {
90
+ void* argp$argnum;
91
+ SWIG_ConvertPtr($input, &argp$argnum, $1_descriptor, 0);
92
+ $1 = reinterpret_cast< $1_basetype * >(argp$argnum);
93
+ }
94
+ else if ( TYPE($input) == T_ARRAY )
95
+ {
96
+ $1 = new $1_basetype( NUM2INT( rb_ary_entry($input, 0) ),
97
+ NUM2INT( rb_ary_entry($input, 1) ) );
98
+ tmp.reset($1); // auto destruct when method scope ends
99
+ }
100
+ else
101
+ {
102
+ rb_raise(rb_eTypeError, "Wrong type for $1_basetype parameter");
103
+ }
104
+ __CODE
105
+ map_typecheck precedence: 'POINTER', code: <<~__CODE
106
+ void *vptr = 0;
107
+ $1 = 0;
108
+ if (TYPE($input) == T_ARRAY && RARRAY_LEN($input) == 2)
109
+ $1 = 1;
110
+ else if (TYPE($input) == T_DATA && SWIG_CheckState (SWIG_ConvertPtr ($input, &vptr, $1_descriptor, 0)))
111
+ $1 = 1;
112
+ __CODE
113
+ end
114
+ if Config.instance.wx_version_check('3.3.0') <= 0
115
+ spec.items << 'wxVScrolledWindow'
116
+ spec.override_inheritance_chain('wxVScrolledWindow', %w[wxPanel wxWindow wxEvtHandler wxObject])
117
+ spec.fold_bases('wxVScrolledWindow' => %w[wxVarVScrollHelper wxVarScrollHelperBase])
118
+ spec.make_abstract 'wxVScrolledWindow'
119
+ spec.force_proxy 'wxVScrolledWindow'
120
+ # provide base implementations for pure virtuals
121
+ spec.add_header_code <<~__HEREDOC
122
+ // Custom subclass implementation.
123
+ class wxRubyVScrolledWindow : public wxVScrolledWindow
124
+ {
125
+ public:
126
+ wxRubyVScrolledWindow()
127
+ : wxVScrolledWindow () {}
128
+ wxRubyVScrolledWindow(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)
129
+ : wxVScrolledWindow(parent, id, pos, size, style, name) {}
130
+ protected:
131
+ virtual wxCoord OnGetRowHeight(size_t) const
132
+ {
133
+ return {};
134
+ }
135
+ };
136
+ __HEREDOC
137
+ # make Ruby director and wrappers use custom implementation
138
+ spec.use_class_implementation('wxVScrolledWindow', 'wxRubyVScrolledWindow')
139
+ end
140
+ spec.do_not_generate(:typedefs)
141
+ when 'wxVScrolledWindow'
142
+ if Config.instance.wx_version_check('3.3.0') > 0
143
+ spec.items.replace %w[wxVScrolled wxVarScrollHelperBase wxVarVScrollHelper]
144
+ spec.gc_as_window
145
+ spec.use_template_as_class('wxVScrolled', 'wxVScrolledWindow')
146
+ spec.override_inheritance_chain('wxVScrolled', %w[wxPanel wxWindow wxEvtHandler wxObject])
147
+ spec.fold_bases('wxVScrolled' => %w[wxVarVScrollHelper wxVarScrollHelperBase])
148
+ spec.make_abstract 'wxVScrolled'
149
+ spec.force_proxy 'wxVScrolled'
150
+ spec.swig_import %w[
151
+ swig/classes/include/wxObject.h
152
+ swig/classes/include/wxEvtHandler.h
153
+ swig/classes/include/wxWindow.h
154
+ swig/classes/include/wxPanel.h
155
+ swig/classes/include/wxHScrolledWindow.h
156
+ ]
157
+ # provide base implementations for pure virtuals
158
+ spec.add_header_code <<~__HEREDOC
159
+ // Custom subclass implementation.
160
+ class wxRubyVScrolledWindow : public wxVScrolledWindow
161
+ {
162
+ public:
163
+ wxRubyVScrolledWindow()
164
+ : wxVScrolledWindow () {}
165
+ wxRubyVScrolledWindow(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)
166
+ : wxVScrolledWindow(parent, id, pos, size, style, name) {}
167
+ protected:
168
+ virtual wxCoord OnGetRowHeight(size_t) const
169
+ {
170
+ return {};
171
+ }
172
+ };
173
+ __HEREDOC
174
+ # make Ruby director and wrappers use custom implementation
175
+ spec.use_class_implementation('wxVScrolled', 'wxRubyVScrolledWindow')
176
+ # regard protected methods
177
+ spec.regard 'wxVarVScrollHelper::OnGetRowHeight',
178
+ 'wxVarVScrollHelper::OnGetRowsHeightHint'
179
+ # ignore internal implementation methods
180
+ spec.ignore 'wxVarScrollHelperBase::GetNonOrientationTargetSize',
181
+ 'wxVarScrollHelperBase::GetOrientation',
182
+ 'wxVarScrollHelperBase::GetOrientationTargetSize',
183
+ 'wxVarScrollHelperBase::OnGetUnitSize',
184
+ 'wxVarScrollHelperBase::CalcScrolledPosition',
185
+ 'wxVarScrollHelperBase::CalcUnscrolledPosition',
186
+ 'wxVarScrollHelperBase::GetTargetWindow',
187
+ 'wxVarScrollHelperBase::SetTargetWindow',
188
+ 'wxVarScrollHelperBase::UpdateScrollbar',
189
+ 'wxVarScrollHelperBase::RefreshAll'
190
+ spec.do_not_generate(:typedefs, :functions, :defines, :variables)
191
+ else
192
+ spec.items.clear
193
+ end
194
+ when 'wxVScrolledCanvas'
195
+ if Config.instance.wx_version_check('3.3.0') > 0
196
+ spec.items.replace %w[wxVScrolled wxVarScrollHelperBase wxVarVScrollHelper]
197
+ spec.gc_as_window
198
+ spec.use_template_as_class('wxVScrolled', 'wxVScrolledCanvas')
199
+ spec.override_inheritance_chain('wxVScrolled', %w[wxPanel wxWindow wxEvtHandler wxObject])
200
+ spec.fold_bases('wxVScrolled' => %w[wxVarVScrollHelper wxVarScrollHelperBase])
201
+ spec.make_abstract 'wxVScrolled'
202
+ spec.force_proxy 'wxVScrolled'
203
+ spec.swig_import %w[
204
+ swig/classes/include/wxObject.h
205
+ swig/classes/include/wxEvtHandler.h
206
+ swig/classes/include/wxWindow.h
207
+ swig/classes/include/wxPanel.h
208
+ swig/classes/include/wxHScrolledWindow.h
209
+ ]
210
+ # provide base implementations for pure virtuals
211
+ spec.add_header_code <<~__HEREDOC
212
+ // Custom subclass implementation.
213
+ class wxRubyVScrolledCanvas : public wxVScrolledCanvas
214
+ {
215
+ public:
216
+ wxRubyVScrolledCanvas()
217
+ : wxVScrolledCanvas () {}
218
+ wxRubyVScrolledCanvas(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)
219
+ : wxVScrolledCanvas(parent, id, pos, size, style, name) {}
220
+ protected:
221
+ virtual wxCoord OnGetRowHeight(size_t) const
222
+ {
223
+ return {};
224
+ }
225
+ };
226
+ __HEREDOC
227
+ # make Ruby director and wrappers use custom implementation
228
+ spec.use_class_implementation('wxVScrolled', 'wxRubyVScrolledCanvas')
229
+ # regard protected methods
230
+ spec.regard 'wxVarVScrollHelper::OnGetRowHeight',
231
+ 'wxVarVScrollHelper::OnGetRowsHeightHint'
232
+ # ignore internal implementation methods
233
+ spec.ignore 'wxVarScrollHelperBase::GetNonOrientationTargetSize',
234
+ 'wxVarScrollHelperBase::GetOrientation',
235
+ 'wxVarScrollHelperBase::GetOrientationTargetSize',
236
+ 'wxVarScrollHelperBase::OnGetUnitSize',
237
+ 'wxVarScrollHelperBase::CalcScrolledPosition',
238
+ 'wxVarScrollHelperBase::CalcUnscrolledPosition',
239
+ 'wxVarScrollHelperBase::GetTargetWindow',
240
+ 'wxVarScrollHelperBase::SetTargetWindow',
241
+ 'wxVarScrollHelperBase::UpdateScrollbar',
242
+ 'wxVarScrollHelperBase::RefreshAll'
243
+ spec.do_not_generate(:typedefs, :functions, :defines, :variables)
244
+ else
245
+ spec.items.clear
246
+ end
247
+ end
248
+ end
249
+ end # class HVScrolledWindow
250
+
251
+ end # class Director
252
+
253
+ end # module WXRuby3
@@ -18,6 +18,10 @@ module WXRuby3
18
18
  # only after 3.2.4 properly available
19
19
  spec.items << 'wxPersistentComboBox'
20
20
  end
21
+ if Config.instance.wx_version_check('3.3.0') > 0
22
+ # only after 3.3.0 available
23
+ spec.items << 'wxPersistentCheckBox' << 'wxPersistentRadioButton'
24
+ end
21
25
  super
22
26
  spec.gc_as_marked
23
27
  spec.use_template_as_class('wxPersistentWindow', 'wxPersistentWindowBase')
@@ -64,6 +68,18 @@ module WXRuby3
64
68
  spec.extend_interface 'wxPersistentComboBox',
65
69
  'virtual wxString GetKind() const override'
66
70
  end
71
+ if Config.instance.wx_version_check('3.3.0') > 0
72
+ # wxPersistentCheckBox
73
+ spec.override_inheritance_chain('wxPersistentCheckBox', [{ 'wxPersistentWindowBase' => 'wxPersistentWindow' }, 'wxPersistentObject'])
74
+ # add method override missing from docs
75
+ spec.extend_interface 'wxPersistentCheckBox',
76
+ 'virtual wxString GetKind() const override'
77
+ # wxPersistentRadioButton
78
+ spec.override_inheritance_chain('wxPersistentRadioButton', [{ 'wxPersistentWindowBase' => 'wxPersistentWindow' }, 'wxPersistentObject'])
79
+ # add method override missing from docs
80
+ spec.extend_interface 'wxPersistentRadioButton',
81
+ 'virtual wxString GetKind() const override'
82
+ end
67
83
  end
68
84
 
69
85
  end
@@ -121,8 +121,9 @@ module WXRuby3
121
121
  spec.ignore 'wxPGProperty::GetCellRenderer'
122
122
  # obsolete
123
123
  if Config.instance.wx_version_check('3.3.0') < 0
124
- spec.ignore %w[wxPGProperty::AddChild wxPGProperty::GetValueString]
125
- else
124
+ spec.ignore 'wxPGProperty::GetValueString'
125
+ end
126
+ if Config.instance.wx_version_check('3.3.0') <= 0
126
127
  spec.ignore 'wxPGProperty::AddChild'
127
128
  end
128
129
  # not of use in Ruby
@@ -22,7 +22,11 @@ module WXRuby3
22
22
  spec.items << 'wxRichTextStyleListCtrl' << 'wxRichTextStyleComboCtrl'
23
23
  spec.include 'wx/odcombo.h'
24
24
  spec.add_header_code 'extern VALUE wxRuby_RichTextStyleDefinition2Ruby(const wxRichTextStyleDefinition *wx_rtsd, int own);'
25
- spec.override_inheritance_chain('wxRichTextStyleListBox', ['wxHtmlListBox', 'wxVListBox', { 'wxVScrolledWindow' => 'wxHVScrolledWindow' }, 'wxPanel', 'wxWindow', 'wxEvtHandler', 'wxObject'])
25
+ if Config.instance.wx_version_check('3.3.0') > 0
26
+ spec.override_inheritance_chain('wxRichTextStyleListBox', ['wxHtmlListBox', 'wxVListBox', 'wxVScrolledWindow', 'wxPanel', 'wxWindow', 'wxEvtHandler', 'wxObject'])
27
+ else
28
+ spec.override_inheritance_chain('wxRichTextStyleListBox', ['wxHtmlListBox', 'wxVListBox', { 'wxVScrolledWindow' => 'wxHScrolledWindow' }, 'wxPanel', 'wxWindow', 'wxEvtHandler', 'wxObject'])
29
+ end
26
30
  spec.override_inheritance_chain('wxRichTextStyleComboCtrl',
27
31
  %w[wxComboCtrl
28
32
  wxControl
@@ -33,7 +37,9 @@ module WXRuby3
33
37
  spec.extend_interface 'wxRichTextStyleComboCtrl',
34
38
  'virtual void DoSetPopupControl(wxComboPopup* popup)',
35
39
  visibility: 'protected'
36
- spec.no_proxy 'wxVListBox::OnGetRowHeight'
40
+ # optimize; no need for these virtuals here
41
+ spec.no_proxy 'wxRichTextStyleListBox::OnGetRowHeight',
42
+ 'wxRichTextStyleListBox::OnGetRowsHeightHint'
37
43
  end
38
44
 
39
45
  end
@@ -78,7 +78,6 @@ module WXRuby3
78
78
  "#{spec.class_name(citem)}::Maximize",
79
79
  "#{spec.class_name(citem)}::Navigate",
80
80
  "#{spec.class_name(citem)}::Refresh",
81
- "#{spec.class_name(citem)}::Reparent",
82
81
  "#{spec.class_name(citem)}::RequestUserAttention",
83
82
  "#{spec.class_name(citem)}::Restore",
84
83
  "#{spec.class_name(citem)}::SetIcon",
@@ -37,11 +37,13 @@ module WXRuby3
37
37
  wxMicroSleep
38
38
  wxMilliSleep
39
39
  wxSleep
40
- wxUsleep
41
40
  wxNow
42
41
  wxDecToHex
43
42
  wxHexToDec
44
43
  ]
44
+ if Config.instance.wx_version_check('3.3.0') <= 0
45
+ spec.ignore 'wxUsleep'
46
+ end
45
47
  # ignore these enum(erator)s
46
48
  spec.ignore %w[
47
49
  wxSignal
@@ -114,6 +114,16 @@ module WXRuby3
114
114
  }
115
115
  return wxVariant(arrs);
116
116
  }
117
+ if ((RARRAY_LEN(rbval) > 0 && TYPE(rb_ary_entry(rbval, 0)) == T_FIXNUM))
118
+ {
119
+ wxArrayInt arri;
120
+ for (int i = 0; i < RARRAY_LEN(rbval); i++)
121
+ {
122
+ VALUE num = rb_ary_entry(rbval, i);
123
+ arri.Add(NUM2INT(num));
124
+ }
125
+ return WXVARIANT(arri);
126
+ }
117
127
  if (RARRAY_LEN(rbval) == 0 ||
118
128
  rb_obj_is_kind_of(rb_ary_entry(rbval, 0), rb_const_get(mWxCore, var_Variant_id())))
119
129
  {
@@ -170,6 +180,12 @@ module WXRuby3
170
180
  }
171
181
  __HEREDOC
172
182
  spec.add_extend_code 'wxVariant', <<~__HEREDOC
183
+ wxVariant(const wxArrayInt& val, const wxString &name=wxEmptyString)
184
+ {
185
+ wxVariant var(0L, name);
186
+ var << val;
187
+ return new wxVariant(var);
188
+ }
173
189
  wxVariant(const wxFont& val, const wxString &name=wxEmptyString)
174
190
  {
175
191
  wxVariant var(0L, name);
@@ -188,6 +204,10 @@ module WXRuby3
188
204
  var << val;
189
205
  return new wxVariant(var);
190
206
  }
207
+ wxArrayInt GetArrayInt()
208
+ {
209
+ wxArrayInt arri; arri << *self; return arri;
210
+ }
191
211
  wxFont GetFont()
192
212
  {
193
213
  wxFont font; font << *self; return font;
@@ -292,6 +312,12 @@ module WXRuby3
292
312
  $1 = (TYPE($input) == T_TRUE) || (TYPE($input) == T_FALSE);
293
313
  __CODE
294
314
  end
315
+ # override typecheck for wxArrayInt as we also have to consider
316
+ # wxVariantList and wxArrayString
317
+ spec.map 'const wxArrayInt&' do
318
+ map_typecheck precedence: 'INT32_ARRAY',
319
+ code: '$1 = ((TYPE($input) == T_ARRAY) && (RARRAY_LEN($input) > 0) && (TYPE(rb_ary_entry($input, 0)) == T_FIXNUM));'
320
+ end
295
321
  # override typecheck for wxArrayString as we also have to consider
296
322
  # wxVariantList
297
323
  spec.map 'const wxArrayString&' do
@@ -506,6 +532,8 @@ module WXRuby3
506
532
  { (*self) = v; }
507
533
  void assign(const wxArrayString& v)
508
534
  { (*self) = v; }
535
+ void assign(const wxArrayInt& v)
536
+ { (*self) << v; }
509
537
 
510
538
  VALUE to_i()
511
539
  {
@@ -16,7 +16,11 @@ module WXRuby3
16
16
 
17
17
  def setup
18
18
  super
19
- spec.override_inheritance_chain('wxVListBox', [{ 'wxVScrolledWindow' => 'wxHVScrolledWindow' }, 'wxPanel', 'wxWindow', 'wxEvtHandler', 'wxObject'])
19
+ if Config.instance.wx_version_check('3.3.0') > 0
20
+ spec.override_inheritance_chain('wxVListBox', [{ 'wxVScrolledWindow' => 'wxVScrolledWindow' }, 'wxPanel', 'wxWindow', 'wxEvtHandler', 'wxObject'])
21
+ else
22
+ spec.override_inheritance_chain('wxVListBox', [{ 'wxVScrolledWindow' => 'wxHScrolledWindow' }, 'wxPanel', 'wxWindow', 'wxEvtHandler', 'wxObject'])
23
+ end
20
24
  spec.make_abstract 'wxVListBox'
21
25
  # provide base implementations for OnDrawItem and OnMeasureItem
22
26
  spec.add_header_code <<~__HEREDOC
@@ -334,7 +334,8 @@ module WXRuby3
334
334
  "#{spec.class_name(citem)}::EnableTouchEvents",
335
335
  "#{spec.class_name(citem)}::WarpPointer",
336
336
  "#{spec.class_name(citem)}::AdjustForLayoutDirection",
337
- "#{spec.class_name(citem)}::IsTransparentBackgroundSupported")
337
+ "#{spec.class_name(citem)}::IsTransparentBackgroundSupported",
338
+ "#{spec.class_name(citem)}::Reparent")
338
339
  if Config.instance.features_set?('USE_ACCESSIBILITY')
339
340
  if Config.instance.wx_version_check('3.2.4') > 0
340
341
  spec.no_proxy "#{spec.class_name(citem)}::CreateAccessible"
@@ -139,7 +139,9 @@ module WXRuby3
139
139
  Director.Spec(pkg, 'wxScrolledWindow', director: Director::ScrolledT)
140
140
  Director.Spec(pkg, 'wxScrolledCanvas', director: Director::ScrolledT)
141
141
  Director.Spec(pkg, 'wxScrolledControl', director: Director::ScrolledT)
142
- Director.Spec(pkg, 'wxHVScrolledWindow')
142
+ Director.Spec(pkg, 'wxHScrolledWindow', director: Director::HVScrolled)
143
+ Director.Spec(pkg, 'wxVScrolledWindow', director: Director::HVScrolled)
144
+ Director.Spec(pkg, 'wxVScrolledCanvas', director: Director::HVScrolled)
143
145
  Director.Spec(pkg, 'wxVListBox')
144
146
  Director.Spec(pkg, 'wxFindReplaceData', requirements: %w[USE_FINDREPLDLG])
145
147
  Director.Spec(pkg, 'wxFindReplaceDialog', director: Director::Dialog, requirements: %w[USE_FINDREPLDLG])
@@ -418,14 +418,14 @@ module WXRuby3
418
418
  # get the generated (class) items for which an alternate implementation has been registered
419
419
  class_list = def_items.select { |itm| Extractor::ClassDef === itm && itm.name != class_implementation(itm.name) }
420
420
  # create re match list for class names
421
- cls_re_txt = class_list.collect { |clsdef| clsdef.name }.join('|')
421
+ cls_re_txt = class_list.collect { |clsdef| class_name(clsdef.name) }.join('|')
422
422
  # updating any matching alloc functions in generated SWIG sourcecode
423
423
  # create regexp for 'initialize' wrappers (due to overloads this could be more than one per class)
424
424
  new_re = /_wrap_new_(#{cls_re_txt})\w*\(.*\)/
425
425
  # check if any of the selected classes have a Director proxy enabled
426
426
  if proxies_enabled = class_list.any? { |clsdef| has_proxy?(clsdef) }
427
427
  # create re match list for classes with director proxy enabled
428
- dir_cls_re_txt = class_list.select { |clsdef| has_proxy?(clsdef) }.collect { |cd| cd.name }.join('|')
428
+ dir_cls_re_txt = class_list.select { |clsdef| has_proxy?(clsdef) }.collect { |cd| class_name(cd.name) }.join('|')
429
429
  # create regexp for Director constructors (may not exist if no proxies are enabled)
430
430
  dir_ctor_re = /SwigDirector_\w+::SwigDirector_\w+\(.*\)\s*:\s*(#{dir_cls_re_txt})\(.*\)\s*,\s*Swig::Director.*{/
431
431
  # create regexp for method wrappers other than 'initialize' wrappers