wxruby3 1.0.1 → 1.2.0
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.
- checksums.yaml +4 -4
- data/ext/wxruby3/swig/common.i +8 -0
- data/lib/wx/version.rb +1 -1
- data/rakelib/build.rb +12 -2
- data/rakelib/install.rb +4 -1
- data/rakelib/lib/config/macosx.rb +32 -7
- data/rakelib/lib/config/unixish.rb +0 -4
- data/rakelib/lib/config.rb +0 -4
- data/rakelib/lib/core/package.rb +132 -15
- data/rakelib/lib/director/app.rb +1 -1
- data/rakelib/lib/director/aui_tab_art.rb +1 -0
- data/rakelib/lib/director/aui_toolbar_art.rb +2 -1
- data/rakelib/lib/director/dc.rb +44 -14
- data/rakelib/lib/director/derived_dc.rb +53 -1
- data/rakelib/lib/director/dragdrop.rb +49 -0
- data/rakelib/lib/director/ribbon_art_provider.rb +2 -0
- data/rakelib/lib/director/richtext_buffer.rb +16 -0
- data/rakelib/lib/director/utils.rb +3 -0
- data/rakelib/lib/director/window.rb +1 -0
- data/rakelib/lib/generate/doc.rb +1 -1
- data/rakelib/lib/swig_runner.rb +6 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4bac7565182a0ae6badaee56d7b323459bdc2b198281a50639fafd6fcb2d2499
|
|
4
|
+
data.tar.gz: 5dc08857adaf213871ec7fce09117bac4cc19f00cac50638de552dc2219ea803
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cbd4920bcc8ae2085ed85b49ee218642c1eb8a58c6bae7132fd653f479e5af6a60c716f61a9ad38bfdcc5cdc1e3560eb4152365127414bf0c401f266b39228c9
|
|
7
|
+
data.tar.gz: 60bba874185fe173a83d8878e458721a3f3fe58cbf484be2826c100a6009dff062972af7ecbaa9bc7dd3095d100aafdf326ac2dd994e1e50e7939654673d2466
|
data/ext/wxruby3/swig/common.i
CHANGED
|
@@ -42,6 +42,14 @@
|
|
|
42
42
|
* wxWidgets we define our own.
|
|
43
43
|
*/
|
|
44
44
|
|
|
45
|
+
#if defined(__GNUC__)
|
|
46
|
+
# if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
|
|
47
|
+
# ifndef GCC_HASCLASSVISIBILITY
|
|
48
|
+
# define GCC_HASCLASSVISIBILITY
|
|
49
|
+
# endif
|
|
50
|
+
# endif
|
|
51
|
+
#endif
|
|
52
|
+
|
|
45
53
|
#ifndef WXRB_EXPORT_FLAG
|
|
46
54
|
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
|
|
47
55
|
# if defined(WXRUBY_STATIC_BUILD)
|
data/lib/wx/version.rb
CHANGED
data/rakelib/build.rb
CHANGED
|
@@ -55,8 +55,18 @@ if WXRuby3.is_bootstrapped?
|
|
|
55
55
|
pkg.generate_initializer
|
|
56
56
|
end
|
|
57
57
|
|
|
58
|
-
#
|
|
59
|
-
file pkg.
|
|
58
|
+
# only for MacOSX
|
|
59
|
+
file pkg.initializer_loader_src => pkg.initializer_src do
|
|
60
|
+
pkg.generate_initializer_loader
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Target to run the linker to create a final wxruby package shared library (MacOSX only)
|
|
64
|
+
file pkg.shlib_target => [*pkg.all_obj_files, *pkg.dep_libs] do |t|
|
|
65
|
+
WXRuby3.config.do_shlib_link(pkg)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Target to run the linker to create a final .so/.dll/.bundle wxruby3 package library
|
|
69
|
+
file pkg.lib_target => pkg.lib_target_deps do | t |
|
|
60
70
|
WXRuby3.config.do_link(pkg)
|
|
61
71
|
end
|
|
62
72
|
|
data/rakelib/install.rb
CHANGED
|
@@ -152,7 +152,10 @@ module WXRuby3
|
|
|
152
152
|
[File.join(WXRuby3.config.get_cfg_string('siterubyver'), 'wx'), ['lib/wx'], 0644],
|
|
153
153
|
]
|
|
154
154
|
# add wxRuby shared libraries
|
|
155
|
-
WXRuby3::Director.each_package
|
|
155
|
+
WXRuby3::Director.each_package do |pkg|
|
|
156
|
+
specs << [WXRuby3.config.get_cfg_string('siterubyverarch'), [pkg.lib_target], 0555]
|
|
157
|
+
specs << [WXRuby3.config.get_cfg_string('siterubyverarch'), [pkg.lib_target.sub(/\.#{WXRuby3.config.dll_ext}\Z/, '.dylib')], 0555] if WXRuby3.config.macosx?
|
|
158
|
+
end
|
|
156
159
|
if WXRuby3.config.get_config('with-wxwin')
|
|
157
160
|
specs << [WXRuby3.config.get_cfg_string('siterubyverarch'), Install.wxwin_shlibs, 0555]
|
|
158
161
|
end
|
|
@@ -46,6 +46,19 @@ module WXRuby3
|
|
|
46
46
|
end
|
|
47
47
|
protected :patch_rpath
|
|
48
48
|
|
|
49
|
+
# add deployment lookup paths for wxruby shared libraries
|
|
50
|
+
# and make loadpath for initializer dylibs relative
|
|
51
|
+
def update_shlib_loadpaths(shlib)
|
|
52
|
+
# in case of a .bundle library
|
|
53
|
+
if /\.bundle\Z/ =~ shlib
|
|
54
|
+
# change the full path of the complementary initializer .dylib to a path relative to any rpath-s
|
|
55
|
+
dylib = "lib#{File.basename(shlib, '.bundle')}.dylib"
|
|
56
|
+
dylib_path = File.expand_path(File.join(Config.instance.dest_dir, dylib))
|
|
57
|
+
sh("install_name_tool -change #{dylib_path} '@rpath/#{dylib}' #{shlib}")
|
|
58
|
+
end
|
|
59
|
+
super
|
|
60
|
+
end
|
|
61
|
+
|
|
49
62
|
# add Ruby library path for wxruby shared libraries
|
|
50
63
|
def update_shlib_ruby_libpath(shlib)
|
|
51
64
|
# fix lookup for the Ruby shared library
|
|
@@ -123,10 +136,23 @@ module WXRuby3
|
|
|
123
136
|
wx_libset.collect { |s| s.dup }
|
|
124
137
|
end
|
|
125
138
|
|
|
126
|
-
def
|
|
139
|
+
def do_shlib_link(pkg)
|
|
127
140
|
objs = pkg.all_obj_files.collect { |o| File.join('..', o) }.join(' ') + ' '
|
|
128
|
-
|
|
129
|
-
|
|
141
|
+
depsh = pkg.dep_libs.join(' ')
|
|
142
|
+
ldsh = WXRuby3.config.ld.sub(/-bundle/, '')
|
|
143
|
+
ldsh.sub!(/-dynamic/, '-dynamiclib')
|
|
144
|
+
sh "cd lib && " +
|
|
145
|
+
"#{ldsh} #{WXRuby3.config.ldflags(pkg.lib_target)} #{objs} #{depsh} " +
|
|
146
|
+
"#{WXRuby3.config.libs} #{WXRuby3.config.link_output_flag}#{pkg.shlib_target}",
|
|
147
|
+
fail_on_error: true
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
def do_link(pkg)
|
|
151
|
+
sh "cd lib && " +
|
|
152
|
+
"#{WXRuby3.config.ld} #{WXRuby3.config.ldflags(pkg.lib_target)} #{File.join('..', pkg.init_obj_file)} " +
|
|
153
|
+
"-L. -l#{pkg.libname} " +
|
|
154
|
+
"#{WXRuby3.config.libs} #{WXRuby3.config.link_output_flag}#{pkg.lib_target}",
|
|
155
|
+
fail_on_error: true
|
|
130
156
|
end
|
|
131
157
|
|
|
132
158
|
private
|
|
@@ -151,15 +177,14 @@ module WXRuby3
|
|
|
151
177
|
|
|
152
178
|
if @wx_version
|
|
153
179
|
@cpp.sub!(/-std=gnu\+\+11/, '-std=gnu++14')
|
|
154
|
-
|
|
180
|
+
# on Mac OSX this differs from the wxWidgets linking setup
|
|
181
|
+
@ld = RB_CONFIG['LDSHAREDXX'] || 'g++ -std=gnu++14 -dynamic -bundle'
|
|
182
|
+
@ld.sub!(/-std=gnu\+\+11/, '-std=gnu++14')
|
|
155
183
|
|
|
156
184
|
@extra_cflags.concat %w[-Wno-unused-function -Wno-conversion-null -Wno-sometimes-uninitialized
|
|
157
185
|
-Wno-overloaded-virtual -Wno-deprecated-copy]
|
|
158
186
|
@extra_cflags << ' -Wno-deprecated-declarations' unless @no_deprecated
|
|
159
187
|
|
|
160
|
-
# create a .dylib binary
|
|
161
|
-
@extra_ldflags << '-dynamic -bundle'
|
|
162
|
-
|
|
163
188
|
unless @wx_path.empty?
|
|
164
189
|
libdirs = @wx_libs.select {|s| s.start_with?('-L')}.collect {|s| s.sub(/^-L/,'')}
|
|
165
190
|
@exec_env['DYLD_LIBRARY_PATH'] = "#{ENV['DYLD_LIBRARY_PATH']}:#{dest_dir}:#{libdirs.join(':')}"
|
|
@@ -218,10 +218,6 @@ module WXRuby3
|
|
|
218
218
|
@ruby_libs << "-L#{RB_CONFIG['libdir']}" # add ruby lib dir
|
|
219
219
|
# add ruby defined shared ruby lib(s); not any other flags
|
|
220
220
|
@ruby_libs.concat RB_CONFIG['LIBRUBYARG_SHARED'].split(' ').select { |s| s.start_with?('-l')}
|
|
221
|
-
|
|
222
|
-
# maintain minimum compatibility with ABI 3.0.1
|
|
223
|
-
@wx_abi_version = [ @wx_version, "3.0.1" ].min
|
|
224
|
-
@wx_cppflags << "-DwxABI_VERSION=%s" % @wx_abi_version.tr(".", "0")
|
|
225
221
|
end
|
|
226
222
|
end
|
|
227
223
|
end
|
data/rakelib/lib/config.rb
CHANGED
data/rakelib/lib/core/package.rb
CHANGED
|
@@ -69,6 +69,10 @@ module WXRuby3
|
|
|
69
69
|
File.join(Config.instance.dest_dir, "#{libname}.#{Config.instance.dll_ext}")
|
|
70
70
|
end
|
|
71
71
|
|
|
72
|
+
def shlib_target
|
|
73
|
+
Config.instance.macosx? ? File.join(Config.instance.dest_dir, "lib#{libname}.dylib") : nil
|
|
74
|
+
end
|
|
75
|
+
|
|
72
76
|
def package(pkgname)
|
|
73
77
|
subpackages[pkgname] ||= Package.new(pkgname, self)
|
|
74
78
|
end
|
|
@@ -110,11 +114,20 @@ module WXRuby3
|
|
|
110
114
|
directors.select { |dir| Package.full_docs? || !Config.instance.excluded_module?(dir.spec) }
|
|
111
115
|
end
|
|
112
116
|
|
|
113
|
-
def director_for_class(class_name)
|
|
114
|
-
dir = included_directors.detect { |dir| dir.spec.module_name == class_name || dir.spec.items.include?(class_name) }
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
117
|
+
def director_for_class(class_name, pkg_stack=[])
|
|
118
|
+
dir = included_directors.detect { |dir| dir.spec.module_name == class_name || dir.spec.items.include?(dir.spec.classdef_name(class_name)) }
|
|
119
|
+
pkg_stack << self
|
|
120
|
+
subpackages.each_value.detect do |spkg|
|
|
121
|
+
unless pkg_stack.include?(spkg) # should never happen
|
|
122
|
+
dir = spkg.director_for_class(class_name, pkg_stack)
|
|
123
|
+
end
|
|
124
|
+
end if dir.nil?
|
|
125
|
+
dependencies.detect do |pkgdep|
|
|
126
|
+
unless pkg_stack.include?(pkgdep)
|
|
127
|
+
dir = pkgdep.director_for_class(class_name)
|
|
128
|
+
end
|
|
129
|
+
end if dir.nil?
|
|
130
|
+
dir = parent.director_for_class(class_name) if dir.nil? && parent && !pkg_stack.include?(parent)
|
|
118
131
|
dir
|
|
119
132
|
end
|
|
120
133
|
|
|
@@ -156,9 +169,30 @@ module WXRuby3
|
|
|
156
169
|
@all_obj_files
|
|
157
170
|
end
|
|
158
171
|
|
|
172
|
+
# only used for MacOSX
|
|
173
|
+
def init_obj_file
|
|
174
|
+
if Config.instance.macosx?
|
|
175
|
+
File.join(Config.instance.obj_dir, "#{libname}_init_loader.#{Config.instance.obj_ext}")
|
|
176
|
+
else
|
|
177
|
+
File.join(Config.instance.obj_dir, "#{libname}_init.#{Config.instance.obj_ext}")
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
def lib_target_deps
|
|
182
|
+
if Config.instance.macosx?
|
|
183
|
+
[init_obj_file, shlib_target, *dep_libs]
|
|
184
|
+
else
|
|
185
|
+
[*all_obj_files, *dep_libs]
|
|
186
|
+
end
|
|
187
|
+
end
|
|
188
|
+
|
|
159
189
|
def dep_libs
|
|
160
190
|
if parent
|
|
161
|
-
parent.dep_libs +
|
|
191
|
+
parent.dep_libs + if Config.instance.macosx?
|
|
192
|
+
[parent.shlib_target]
|
|
193
|
+
else
|
|
194
|
+
[parent.lib_target]
|
|
195
|
+
end
|
|
162
196
|
else
|
|
163
197
|
[]
|
|
164
198
|
end
|
|
@@ -176,6 +210,11 @@ module WXRuby3
|
|
|
176
210
|
File.join(Config.instance.src_dir, "#{libname}_init.cpp")
|
|
177
211
|
end
|
|
178
212
|
|
|
213
|
+
# only for MacOSX
|
|
214
|
+
def initializer_loader_src
|
|
215
|
+
File.join(Config.instance.src_dir, "#{libname}_init_loader.cpp")
|
|
216
|
+
end
|
|
217
|
+
|
|
179
218
|
def is_dir_with_fulfilled_deps?(dir, cls_set)
|
|
180
219
|
if (modreg = Spec.module_registry[dir.spec.module_name]) && !modreg.empty?
|
|
181
220
|
# check if all base classes are defined previously or part of the same director or outside the current package
|
|
@@ -286,6 +325,14 @@ module WXRuby3
|
|
|
286
325
|
fsrc.puts '#include <ruby.h>'
|
|
287
326
|
fsrc.puts '#include <ruby/version.h>'
|
|
288
327
|
fsrc.puts <<~__HEREDOC
|
|
328
|
+
#if defined(__GNUC__)
|
|
329
|
+
# if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
|
|
330
|
+
# ifndef GCC_HASCLASSVISIBILITY
|
|
331
|
+
# define GCC_HASCLASSVISIBILITY
|
|
332
|
+
# endif
|
|
333
|
+
# endif
|
|
334
|
+
#endif
|
|
335
|
+
|
|
289
336
|
#ifndef WXRB_EXPORT_FLAG
|
|
290
337
|
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
|
|
291
338
|
# if defined(WXRUBY_STATIC_BUILD)
|
|
@@ -338,7 +385,11 @@ module WXRuby3
|
|
|
338
385
|
fsrc.puts '#ifdef __cplusplus'
|
|
339
386
|
fsrc.puts 'extern "C"'
|
|
340
387
|
fsrc.puts '#endif'
|
|
341
|
-
|
|
388
|
+
if Config.instance.macosx?
|
|
389
|
+
fsrc.puts "WXRB_EXPORT_FLAG void wxruby_init_#{libname}()"
|
|
390
|
+
else
|
|
391
|
+
fsrc.puts "WXRB_EXPORT_FLAG void Init_#{libname}()"
|
|
392
|
+
end
|
|
342
393
|
fsrc.puts '{'
|
|
343
394
|
fsrc.indent do
|
|
344
395
|
fsrc.puts 'static bool initialized;'
|
|
@@ -357,7 +408,7 @@ module WXRuby3
|
|
|
357
408
|
fsrc << <<~__HERDOC
|
|
358
409
|
// define Enum class
|
|
359
410
|
wx_define_Enum_class();
|
|
360
|
-
|
|
411
|
+
__HERDOC
|
|
361
412
|
fsrc.puts
|
|
362
413
|
# generate constant definitions for feature defines from setup.h
|
|
363
414
|
fsrc.puts %Q{VALUE mWxSetup = rb_define_module_under(#{module_variable}, "Setup");}
|
|
@@ -391,6 +442,72 @@ module WXRuby3
|
|
|
391
442
|
generate_event_list if included_directors.any? {|dir| dir.has_events? }
|
|
392
443
|
end
|
|
393
444
|
|
|
445
|
+
# only for MacOSX
|
|
446
|
+
def generate_initializer_loader
|
|
447
|
+
STDERR.puts "* generating package #{name} initializer : #{initializer_src}" if Director.verbose?
|
|
448
|
+
|
|
449
|
+
Stream.transaction do
|
|
450
|
+
fsrc = CodeStream.new(initializer_loader_src)
|
|
451
|
+
fsrc.puts '#include <ruby.h>'
|
|
452
|
+
fsrc.puts '#include <ruby/version.h>'
|
|
453
|
+
fsrc.puts <<~__HEREDOC
|
|
454
|
+
#if defined(__GNUC__)
|
|
455
|
+
# if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
|
|
456
|
+
# ifndef GCC_HASCLASSVISIBILITY
|
|
457
|
+
# define GCC_HASCLASSVISIBILITY
|
|
458
|
+
# endif
|
|
459
|
+
# endif
|
|
460
|
+
#endif
|
|
461
|
+
|
|
462
|
+
#ifndef WXRB_EXPORT_FLAG
|
|
463
|
+
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
|
|
464
|
+
# if defined(WXRUBY_STATIC_BUILD)
|
|
465
|
+
# define WXRB_EXPORT_FLAG
|
|
466
|
+
# else
|
|
467
|
+
# define WXRB_EXPORT_FLAG __declspec(dllexport)
|
|
468
|
+
# endif
|
|
469
|
+
# else
|
|
470
|
+
# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
|
|
471
|
+
# define WXRB_EXPORT_FLAG __attribute__ ((visibility("default")))
|
|
472
|
+
# else
|
|
473
|
+
# define WXRB_EXPORT_FLAG
|
|
474
|
+
# endif
|
|
475
|
+
# endif
|
|
476
|
+
#endif
|
|
477
|
+
|
|
478
|
+
#ifndef WXRB_IMPORT_FLAG
|
|
479
|
+
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
|
|
480
|
+
# if defined(WXRUBY_STATIC_BUILD)
|
|
481
|
+
# define WXRB_IMPORT_FLAG
|
|
482
|
+
# else
|
|
483
|
+
# define WXRB_IMPORT_FLAG __declspec(dllimport)
|
|
484
|
+
# endif
|
|
485
|
+
# else
|
|
486
|
+
# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
|
|
487
|
+
# define WXRB_IMPORT_FLAG __attribute__ ((visibility("default")))
|
|
488
|
+
# else
|
|
489
|
+
# define WXRB_IMPORT_FLAG
|
|
490
|
+
# endif
|
|
491
|
+
# endif
|
|
492
|
+
#endif
|
|
493
|
+
__HEREDOC
|
|
494
|
+
fsrc.puts '#ifdef __cplusplus'
|
|
495
|
+
fsrc.puts 'extern "C"'
|
|
496
|
+
fsrc.puts '#endif'
|
|
497
|
+
fsrc.puts "WXRB_IMPORT_FLAG void wxruby_init_#{libname}();"
|
|
498
|
+
fsrc.puts
|
|
499
|
+
fsrc.puts '#ifdef __cplusplus'
|
|
500
|
+
fsrc.puts 'extern "C"'
|
|
501
|
+
fsrc.puts '#endif'
|
|
502
|
+
fsrc.puts "WXRB_EXPORT_FLAG void Init_#{libname}()"
|
|
503
|
+
fsrc.puts '{'
|
|
504
|
+
fsrc.indent do
|
|
505
|
+
fsrc.puts "wxruby_init_#{libname}();"
|
|
506
|
+
end
|
|
507
|
+
fsrc.puts '}'
|
|
508
|
+
end
|
|
509
|
+
end
|
|
510
|
+
|
|
394
511
|
def extract(*mods, genint: true)
|
|
395
512
|
included_directors.each do |dir|
|
|
396
513
|
dir.extract_interface(genint) if (mods.empty? || mods.include?(dir.spec.name))
|
|
@@ -420,11 +537,11 @@ module WXRuby3
|
|
|
420
537
|
raise "Don't know Event class for #{evh_name} event type (from #{item.name})"
|
|
421
538
|
end
|
|
422
539
|
fout.puts ' '+<<~__HEREDOC.split("\n").join("\n ")
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
540
|
+
self.register_event_type EventType[
|
|
541
|
+
'#{evh_name}', #{evt_arity},
|
|
542
|
+
#{fullname}::#{evt_type},
|
|
543
|
+
#{fullname}::#{evt_klass.sub(/\Awx/i, '')}
|
|
544
|
+
] if #{fullname}.const_defined?(:#{evt_type})
|
|
428
545
|
__HEREDOC
|
|
429
546
|
evts_handled << evh_name
|
|
430
547
|
end
|
|
@@ -562,7 +679,7 @@ module WXRuby3
|
|
|
562
679
|
|
|
563
680
|
class EvtHandler
|
|
564
681
|
|
|
565
|
-
|
|
682
|
+
__HEREDOC
|
|
566
683
|
fdoc.indent(2) do
|
|
567
684
|
fdoc.doc.puts "@!group #{name} Event handler methods"
|
|
568
685
|
fdoc.puts
|
|
@@ -651,7 +768,7 @@ module WXRuby3
|
|
|
651
768
|
|
|
652
769
|
end
|
|
653
770
|
__HEREDOC
|
|
654
|
-
|
|
771
|
+
__SCRIPT
|
|
655
772
|
begin
|
|
656
773
|
tmpfile = Tempfile.new('script')
|
|
657
774
|
ftmp_name = tmpfile.path.dup
|
data/rakelib/lib/director/app.rb
CHANGED
|
@@ -69,7 +69,7 @@ module WXRuby3
|
|
|
69
69
|
wxExit
|
|
70
70
|
}
|
|
71
71
|
spec.ignore 'wxApp::GetGUIInstance'
|
|
72
|
-
unless Config.instance.
|
|
72
|
+
unless Config.instance.wx_version < '3.2.1'
|
|
73
73
|
spec.ignore 'wxApp::GTKAllowDiagnosticsControl'
|
|
74
74
|
end
|
|
75
75
|
spec.add_extend_code 'wxApp', <<~__HEREDOC
|
|
@@ -16,7 +16,8 @@ module WXRuby3
|
|
|
16
16
|
super
|
|
17
17
|
spec.items << 'wxAuiDefaultToolBarArt'
|
|
18
18
|
spec.gc_as_object
|
|
19
|
-
spec.
|
|
19
|
+
spec.make_abstract 'wxAuiToolBarArt'
|
|
20
|
+
spec.disable_proxies
|
|
20
21
|
spec.suppress_warning(473, 'wxAuiToolBarArt::Clone', 'wxAuiDefaultToolBarArt::Clone')
|
|
21
22
|
spec.map 'const wxAuiToolBarItemArray&' => 'Array<Wx::AUI::AuiToolBarItem>,nil' do
|
|
22
23
|
map_in temp: 'wxAuiToolBarItemArray tmp', code: <<~__CODE
|
data/rakelib/lib/director/dc.rb
CHANGED
|
@@ -16,6 +16,13 @@ module WXRuby3
|
|
|
16
16
|
|
|
17
17
|
def setup
|
|
18
18
|
super
|
|
19
|
+
_readDC = if Config.instance.wx_version >= '3.3.0'
|
|
20
|
+
spec.items.unshift 'wxReadOnlyDC' # prepend before wxDC
|
|
21
|
+
spec.items << 'wxInfoDC'
|
|
22
|
+
'wxReadOnlyDC'
|
|
23
|
+
else
|
|
24
|
+
'wxDC'
|
|
25
|
+
end
|
|
19
26
|
spec.items << 'wxFontMetrics'
|
|
20
27
|
# it's not safe to track DC objects as these are often created on the stack in C++
|
|
21
28
|
# before being passed to Ruby methods
|
|
@@ -29,22 +36,24 @@ module WXRuby3
|
|
|
29
36
|
'wxFontMetrics::externalLeading',
|
|
30
37
|
'wxFontMetrics::averageWidth'
|
|
31
38
|
spec.ignore [
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
39
|
+
'wxDC::DrawLines(const wxPointList *,wxCoord,wxCoord)',
|
|
40
|
+
'wxDC::DrawPolygon(const wxPointList *,wxCoord,wxCoord,wxPolygonFillMode)',
|
|
41
|
+
'wxDC::DrawSpline(const wxPointList *)',
|
|
42
|
+
'wxDC::GetHandle'
|
|
43
|
+
]
|
|
44
|
+
spec.ignore [
|
|
45
|
+
"#{_readDC}::GetPartialTextExtents",
|
|
46
|
+
"#{_readDC}::GetLogicalOrigin(wxCoord *,wxCoord *) const",
|
|
38
47
|
]
|
|
48
|
+
spec.rename_for_ruby({
|
|
49
|
+
'GetDimensions' => "#{_readDC}::GetSize(wxCoord *, wxCoord *) const",
|
|
50
|
+
'GetDimensionsMM' => "#{_readDC}::GetSizeMM(wxCoord *, wxCoord *) const",
|
|
51
|
+
'GetTextSize' => "#{_readDC}::GetTextExtent(const wxString &) const",
|
|
52
|
+
'GetMultiLineTextSize' => "#{_readDC}::GetMultiLineTextExtent(const wxString &) const"
|
|
53
|
+
})
|
|
39
54
|
spec.disable_proxies
|
|
40
55
|
spec.disown 'wxGraphicsContext *ctx'
|
|
41
|
-
spec.
|
|
42
|
-
'GetDimensions' => 'wxDC::GetSize(wxCoord *, wxCoord *) const',
|
|
43
|
-
'GetDimensionsMM' => 'wxDC::GetSizeMM(wxCoord *, wxCoord *) const',
|
|
44
|
-
'GetTextSize' => 'wxDC::GetTextExtent(const wxString &) const',
|
|
45
|
-
'GetMultiLineTextSize' => 'wxDC::GetMultiLineTextExtent(const wxString &) const'
|
|
46
|
-
})
|
|
47
|
-
spec.add_extend_code 'wxDC', <<~__HEREDOC
|
|
56
|
+
spec.add_extend_code _readDC, <<~__HEREDOC
|
|
48
57
|
// Needs to return input parameter with list of lengths
|
|
49
58
|
VALUE get_partial_text_extents(VALUE text) {
|
|
50
59
|
wxString str = wxString(StringValuePtr(text), wxConvUTF8);
|
|
@@ -57,10 +66,31 @@ module WXRuby3
|
|
|
57
66
|
}
|
|
58
67
|
return rb_result;
|
|
59
68
|
}
|
|
60
|
-
|
|
69
|
+
__HEREDOC
|
|
61
70
|
# for GetUserScale and GetLogicalScale
|
|
62
71
|
spec.map_apply 'double * OUTPUT' => 'double *'
|
|
63
72
|
spec.swig_import 'swig/classes/include/wxGDICommon.h'
|
|
73
|
+
if Config.instance.wx_version >= '3.3.0'
|
|
74
|
+
# add similar block-style creator as #draw_on methods
|
|
75
|
+
spec.add_extend_code 'wxInfoDC', <<~__HEREDOC
|
|
76
|
+
static VALUE inform_on(wxWindow* win)
|
|
77
|
+
{
|
|
78
|
+
if (!wxRuby_IsAppRunning())
|
|
79
|
+
rb_raise(rb_eRuntimeError, "A running Wx::App is required.");
|
|
80
|
+
if (!win)
|
|
81
|
+
rb_raise(rb_eRuntimeError, "A running valid Wx::Window is required for argument.");
|
|
82
|
+
VALUE rc = Qnil;
|
|
83
|
+
if (rb_block_given_p ())
|
|
84
|
+
{
|
|
85
|
+
wxInfoDC info_dc(win);
|
|
86
|
+
wxReadOnlyDC* dc_ptr = &info_dc; // wxInfoDC::operator&() returns wxReadOnlyDC*
|
|
87
|
+
VALUE rb_dc = SWIG_NewPointerObj(SWIG_as_voidptr(dc_ptr), SWIGTYPE_p_wxInfoDC, 0);
|
|
88
|
+
rc = rb_yield(rb_dc);
|
|
89
|
+
}
|
|
90
|
+
return rc;
|
|
91
|
+
}
|
|
92
|
+
__HEREDOC
|
|
93
|
+
end
|
|
64
94
|
end
|
|
65
95
|
end # class DC
|
|
66
96
|
|
|
@@ -18,6 +18,7 @@ module WXRuby3
|
|
|
18
18
|
spec.gc_as_untracked spec.module_name
|
|
19
19
|
case spec.module_name
|
|
20
20
|
when 'wxScreenDC'
|
|
21
|
+
spec.override_inheritance_chain('wxScreenDC', ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version >= '3.3.0'
|
|
21
22
|
spec.make_abstract 'wxScreenDC'
|
|
22
23
|
# as a ScreenDC should always be a temporary stack object
|
|
23
24
|
# we do not allow creation in Ruby but rather provide a class
|
|
@@ -43,6 +44,7 @@ module WXRuby3
|
|
|
43
44
|
'wxScreenDC::EndDrawingOnTop',
|
|
44
45
|
'wxScreenDC::wxScreenDC'
|
|
45
46
|
when 'wxClientDC'
|
|
47
|
+
spec.override_inheritance_chain('wxClientDC', ['wxWindowDC', 'wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version >= '3.3.0'
|
|
46
48
|
spec.make_abstract 'wxClientDC'
|
|
47
49
|
spec.ignore 'wxClientDC::wxClientDC'
|
|
48
50
|
# as a ClientDC should best always be a temporary stack object
|
|
@@ -65,6 +67,7 @@ module WXRuby3
|
|
|
65
67
|
}
|
|
66
68
|
__HEREDOC
|
|
67
69
|
when 'wxPaintDC'
|
|
70
|
+
spec.override_inheritance_chain('wxPaintDC', ['wxClientDC', 'wxWindowDC', 'wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version >= '3.3.0'
|
|
68
71
|
spec.make_abstract 'wxPaintDC'
|
|
69
72
|
spec.ignore 'wxPaintDC::wxPaintDC'
|
|
70
73
|
spec.add_header_code <<~__HEREDOC
|
|
@@ -89,7 +92,10 @@ module WXRuby3
|
|
|
89
92
|
__HEREDOC
|
|
90
93
|
when 'wxMemoryDC'
|
|
91
94
|
spec.items << 'wxBufferedDC' << 'wxBufferedPaintDC'
|
|
95
|
+
spec.override_inheritance_chain('wxMemoryDC', ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version >= '3.3.0'
|
|
92
96
|
spec.gc_as_untracked %w[wxBufferedDC wxBufferedPaintDC]
|
|
97
|
+
spec.override_inheritance_chain('wxBufferedDC', ['wxMemoryDC', 'wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version >= '3.3.0'
|
|
98
|
+
spec.override_inheritance_chain('wxBufferedPaintDC', ['wxBufferedDC', 'wxMemoryDC', 'wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version >= '3.3.0'
|
|
93
99
|
spec.make_abstract 'wxMemoryDC'
|
|
94
100
|
spec.make_abstract 'wxBufferedDC'
|
|
95
101
|
spec.make_abstract 'wxBufferedPaintDC'
|
|
@@ -218,6 +224,7 @@ module WXRuby3
|
|
|
218
224
|
}
|
|
219
225
|
__HEREDOC
|
|
220
226
|
when 'wxMirrorDC'
|
|
227
|
+
spec.override_inheritance_chain('wxMirrorDC', ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version >= '3.3.0'
|
|
221
228
|
spec.make_abstract 'wxMirrorDC'
|
|
222
229
|
spec.ignore 'wxMirrorDC::wxMirrorDC'
|
|
223
230
|
# as a MirrorDC should best always be a temporary stack object
|
|
@@ -240,6 +247,7 @@ module WXRuby3
|
|
|
240
247
|
}
|
|
241
248
|
__HEREDOC
|
|
242
249
|
when 'wxSVGFileDC'
|
|
250
|
+
spec.override_inheritance_chain('wxSVGFileDC', ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version >= '3.3.0'
|
|
243
251
|
spec.items.concat %w[wxSVGBitmapHandler wxSVGBitmapFileHandler wxSVGBitmapEmbedHandler]
|
|
244
252
|
spec.make_abstract 'wxSVGFileDC'
|
|
245
253
|
spec.ignore 'wxSVGFileDC::wxSVGFileDC'
|
|
@@ -277,6 +285,7 @@ module WXRuby3
|
|
|
277
285
|
'wxSVGFileDC::StartPage',
|
|
278
286
|
'wxSVGFileDC::EndPage'
|
|
279
287
|
when 'wxGCDC'
|
|
288
|
+
spec.override_inheritance_chain('wxGCDC', ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version >= '3.3.0'
|
|
280
289
|
spec.make_abstract 'wxGCDC'
|
|
281
290
|
spec.ignore 'wxGCDC::wxGCDC'
|
|
282
291
|
# like all DC this should best always be a temporary stack object
|
|
@@ -382,7 +391,11 @@ module WXRuby3
|
|
|
382
391
|
spec.ignore 'wxGCDC::wxGCDC(const wxEnhMetaFileDC &)'
|
|
383
392
|
when 'wxScaledDC'
|
|
384
393
|
spec.items.clear # wxRuby extension; no XML docs
|
|
385
|
-
|
|
394
|
+
if Config.instance.wx_version >= '3.3.0'
|
|
395
|
+
spec.override_inheritance_chain('wxScaledDC', ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject'])
|
|
396
|
+
else
|
|
397
|
+
spec.override_inheritance_chain('wxScaledDC', %w[wxDC wxObject])
|
|
398
|
+
end
|
|
386
399
|
# as there are no dependencies parsed from XML make sure we're initialized after Wx::DC
|
|
387
400
|
spec.initialize_at_end = true
|
|
388
401
|
spec.no_proxy 'wxScaledDC'
|
|
@@ -422,6 +435,7 @@ module WXRuby3
|
|
|
422
435
|
};
|
|
423
436
|
__HEREDOC
|
|
424
437
|
when 'wxPrinterDC'
|
|
438
|
+
spec.override_inheritance_chain('wxPrinterDC', ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version >= '3.3.0'
|
|
425
439
|
spec.make_abstract 'wxPrinterDC'
|
|
426
440
|
spec.ignore 'wxPrinterDC::wxPrinterDC'
|
|
427
441
|
# as a PrinterDC should best always be a temporary stack object
|
|
@@ -444,6 +458,7 @@ module WXRuby3
|
|
|
444
458
|
}
|
|
445
459
|
__HEREDOC
|
|
446
460
|
when 'wxPostScriptDC'
|
|
461
|
+
spec.override_inheritance_chain('wxPostScriptDC', ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version >= '3.3.0'
|
|
447
462
|
spec.make_abstract 'wxPostScriptDC'
|
|
448
463
|
spec.ignore 'wxPostScriptDC::wxPostScriptDC'
|
|
449
464
|
# as a PostScriptDC should best always be a temporary stack object
|
|
@@ -499,7 +514,44 @@ module WXRuby3
|
|
|
499
514
|
return rc;
|
|
500
515
|
}
|
|
501
516
|
__HEREDOC
|
|
517
|
+
if Config.instance.wx_version >= '3.3.0'
|
|
518
|
+
spec.items << 'wxOverlayDC'
|
|
519
|
+
spec.override_inheritance_chain('wxOverlayDC', ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject'])
|
|
520
|
+
spec.make_abstract 'wxOverlayDC'
|
|
521
|
+
spec.ignore 'wxOverlayDC::wxOverlayDC'
|
|
522
|
+
spec.add_extend_code 'wxOverlayDC', <<~__HEREDOC
|
|
523
|
+
static VALUE draw_on(wxOverlay &overlay, wxWindow *win)
|
|
524
|
+
{
|
|
525
|
+
if (!wxRuby_IsAppRunning())
|
|
526
|
+
rb_raise(rb_eRuntimeError, "A running Wx::App is required.");
|
|
527
|
+
VALUE rc = Qnil;
|
|
528
|
+
if (rb_block_given_p ())
|
|
529
|
+
{
|
|
530
|
+
wxOverlayDC ovl_dc(overlay, win);
|
|
531
|
+
wxOverlayDC* ovl_dc_ptr = &ovl_dc;
|
|
532
|
+
VALUE rb_dc = SWIG_NewPointerObj(SWIG_as_voidptr(ovl_dc_ptr), SWIGTYPE_p_wxOverlayDC, 0);
|
|
533
|
+
rc = rb_yield(rb_dc);
|
|
534
|
+
}
|
|
535
|
+
return rc;
|
|
536
|
+
}
|
|
537
|
+
static VALUE draw_on(wxOverlay &overlay, wxWindow *win, const wxRect &rect)
|
|
538
|
+
{
|
|
539
|
+
if (!wxRuby_IsAppRunning())
|
|
540
|
+
rb_raise(rb_eRuntimeError, "A running Wx::App is required.");
|
|
541
|
+
VALUE rc = Qnil;
|
|
542
|
+
if (rb_block_given_p ())
|
|
543
|
+
{
|
|
544
|
+
wxOverlayDC ovl_dc(overlay, win, rect);
|
|
545
|
+
wxOverlayDC* ovl_dc_ptr = &ovl_dc;
|
|
546
|
+
VALUE rb_dc = SWIG_NewPointerObj(SWIG_as_voidptr(ovl_dc_ptr), SWIGTYPE_p_wxOverlayDC, 0);
|
|
547
|
+
rc = rb_yield(rb_dc);
|
|
548
|
+
}
|
|
549
|
+
return rc;
|
|
550
|
+
}
|
|
551
|
+
__HEREDOC
|
|
552
|
+
end
|
|
502
553
|
else
|
|
554
|
+
spec.override_inheritance_chain(spec.module_name, ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version >= '3.3.0'
|
|
503
555
|
# ctors of all other derived DC require a running App
|
|
504
556
|
spec.require_app spec.module_name
|
|
505
557
|
end
|
|
@@ -43,6 +43,55 @@ module WXRuby3
|
|
|
43
43
|
spec.add_swig_code '%markfunc wxDropSource "mark_wxDropSource";',
|
|
44
44
|
'%markfunc wxDropTarget "mark_wxDropTarget";'
|
|
45
45
|
spec.extend_interface 'wxDropSource', 'virtual ~wxDropSource()' # correct interface omission
|
|
46
|
+
# make Ruby director and wrappers use custom implementation
|
|
47
|
+
spec.use_class_implementation('wxDropTarget', 'wxRubyDropTarget')
|
|
48
|
+
spec.make_concrete('wxDropTarget')
|
|
49
|
+
spec.no_proxy %w[wxDropTarget::OnData] # prevent director overload; custom impl handles this
|
|
50
|
+
spec.add_header_code <<~__HEREDOC
|
|
51
|
+
class wxRubyDropTarget : public wxDropTarget
|
|
52
|
+
{
|
|
53
|
+
public:
|
|
54
|
+
wxRubyDropTarget(wxDataObject *dataObject = nullptr ) : wxDropTarget(dataObject) {}
|
|
55
|
+
|
|
56
|
+
virtual wxDragResult OnData(wxCoord x, wxCoord y, wxDragResult dflt) override
|
|
57
|
+
{
|
|
58
|
+
static WxRuby_ID on_data_id("on_data");
|
|
59
|
+
wxDragResult c_result = wxDragError;
|
|
60
|
+
VALUE SWIGUNUSED result;
|
|
61
|
+
|
|
62
|
+
VALUE rb_x = INT2NUM(static_cast< int >(x));
|
|
63
|
+
VALUE rb_y = INT2NUM(static_cast< int >(y));
|
|
64
|
+
VALUE rb_dflt = wxRuby_GetEnumValueObject("DragResult", static_cast<int>(dflt));
|
|
65
|
+
if (rb_dflt == Qnil)
|
|
66
|
+
{
|
|
67
|
+
std::cerr << "Unexpected argument error: invalid value for Wx::DragResult in wxDropTarget::OnData [" << dflt << "]" << std::endl;
|
|
68
|
+
}
|
|
69
|
+
else
|
|
70
|
+
{
|
|
71
|
+
VALUE self = SWIG_RubyInstanceFor(this);
|
|
72
|
+
bool ex = false;
|
|
73
|
+
result = wxRuby_Funcall(ex, self, rb_intern("on_data"), 3,rb_x, rb_y, rb_dflt);
|
|
74
|
+
if (ex)
|
|
75
|
+
{
|
|
76
|
+
wxRuby_PrintException(result);
|
|
77
|
+
}
|
|
78
|
+
else
|
|
79
|
+
{
|
|
80
|
+
int eval;
|
|
81
|
+
if (!wxRuby_GetEnumValue("DragResult", result, eval))
|
|
82
|
+
{
|
|
83
|
+
std::cerr << "Type Error: invalid value for Wx::DragResult returned from Wx::DropTarget#on_data" << std::endl;
|
|
84
|
+
}
|
|
85
|
+
else
|
|
86
|
+
{
|
|
87
|
+
c_result = static_cast<wxDragResult>(eval);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return (wxDragResult) c_result;
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
__HEREDOC
|
|
46
95
|
spec.ignore %w[wxFileDropTarget::OnDrop wxTextDropTarget::OnDrop]
|
|
47
96
|
spec.no_proxy %w[wxFileDropTarget::OnDrop wxFileDropTarget::OnData]
|
|
48
97
|
spec.no_proxy %w[wxTextDropTarget::OnDrop wxTextDropTarget::OnData]
|
|
@@ -16,7 +16,9 @@ module WXRuby3
|
|
|
16
16
|
spec.items << 'wxRibbonPageTabInfo' << 'wxRibbonMSWArtProvider' << 'wxRibbonAUIArtProvider'
|
|
17
17
|
super
|
|
18
18
|
spec.gc_as_object 'wxRibbonArtProvider'
|
|
19
|
+
spec.make_abstract 'wxRibbonArtProvider'
|
|
19
20
|
spec.gc_as_untracked 'wxRibbonPageTabInfo'
|
|
21
|
+
spec.disable_proxies
|
|
20
22
|
spec.suppress_warning(473,
|
|
21
23
|
'wxRibbonArtProvider::Clone',
|
|
22
24
|
'wxRibbonMSWArtProvider::Clone',
|
|
@@ -20,6 +20,22 @@ module WXRuby3
|
|
|
20
20
|
super
|
|
21
21
|
spec.items << 'wxRichTextFontTable' << 'wxRichTextFieldType' << 'wxRichTextFieldTypeStandard' << 'wxRichTextDrawingHandler'
|
|
22
22
|
spec.make_abstract 'wxRichTextFieldType'
|
|
23
|
+
if Config.instance.wx_version >= '3.3.0'
|
|
24
|
+
# make Ruby director and wrappers use custom implementation
|
|
25
|
+
spec.use_class_implementation('wxRichTextFieldType', 'wxRubyRichTextFieldType')
|
|
26
|
+
spec.add_header_code <<~__HEREDOC
|
|
27
|
+
class wxRubyRichTextFieldType : public wxRichTextFieldType
|
|
28
|
+
{
|
|
29
|
+
public:
|
|
30
|
+
virtual ~wxRubyRichTextFieldType() {}
|
|
31
|
+
wxRubyRichTextFieldType(const wxString &name=wxEmptyString) : wxRichTextFieldType(name) {}
|
|
32
|
+
wxRubyRichTextFieldType(const wxRichTextFieldType &fieldType) : wxRichTextFieldType(fieldType) {}
|
|
33
|
+
virtual bool Draw(wxRichTextField *, wxDC &, wxRichTextDrawingContext &, const wxRichTextRange &, const wxRichTextSelection &, const wxRect &, int , int ) { return false; }
|
|
34
|
+
virtual bool Layout(wxRichTextField *, wxReadOnlyDC &, wxRichTextDrawingContext &, const wxRect &, const wxRect &, int) { return false; }
|
|
35
|
+
virtual bool GetRangeSize(wxRichTextField *, const wxRichTextRange &, wxSize &, int &, wxReadOnlyDC &, wxRichTextDrawingContext &, int, const wxPoint &, const wxSize &, wxArrayInt *) const { return false; }
|
|
36
|
+
};
|
|
37
|
+
__HEREDOC
|
|
38
|
+
end
|
|
23
39
|
spec.no_proxy 'wxRichTextFontTable'
|
|
24
40
|
spec.include 'wx/richtext/richtextstyles.h'
|
|
25
41
|
spec.ignore %w[
|
|
@@ -61,6 +61,9 @@ module WXRuby3
|
|
|
61
61
|
spec.ignore 'wxGetEmailAddress(char *,int)',
|
|
62
62
|
'wxGetUserId(char *,int)',
|
|
63
63
|
'wxGetUserName(char *,int)'
|
|
64
|
+
if Config.instance.wx_version >= '3.3.0'
|
|
65
|
+
spec.ignore_unless('WXMSW', 'wxMSWIsOnSecureScreen')
|
|
66
|
+
end
|
|
64
67
|
spec.map 'wxMemorySize' => 'Integer' do
|
|
65
68
|
map_out code: <<~__CODE
|
|
66
69
|
$result = LL2NUM(wxLongLongNative($1).GetValue());
|
|
@@ -120,6 +120,7 @@ module WXRuby3
|
|
|
120
120
|
end
|
|
121
121
|
if Config.instance.wx_version >= '3.3.0'
|
|
122
122
|
spec.ignore_unless('WXMSW', 'wxWindow::MSWDisableComposited')
|
|
123
|
+
spec.ignore('wxWindow::GTKGetWin32Handle')
|
|
123
124
|
end
|
|
124
125
|
if Config.instance.features_set?('USE_ACCESSIBILITY')
|
|
125
126
|
spec.disown 'wxAccessible *accessible'
|
data/rakelib/lib/generate/doc.rb
CHANGED
data/rakelib/lib/swig_runner.rb
CHANGED
|
@@ -628,7 +628,12 @@ module WXRuby3
|
|
|
628
628
|
end
|
|
629
629
|
|
|
630
630
|
def run
|
|
631
|
-
|
|
631
|
+
begin
|
|
632
|
+
member_map = collect_methods
|
|
633
|
+
rescue Exception
|
|
634
|
+
STDERR.puts "#{$!}\n#{$!.backtrace.join("\n")}"
|
|
635
|
+
exit(1)
|
|
636
|
+
end
|
|
632
637
|
return if member_map.empty?
|
|
633
638
|
|
|
634
639
|
# create re match list for class names
|
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: 1.0
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Martin Corino
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-
|
|
11
|
+
date: 2024-09-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: nokogiri
|
|
@@ -1191,7 +1191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
1191
1191
|
- !ruby/object:Gem::Version
|
|
1192
1192
|
version: '0'
|
|
1193
1193
|
requirements: []
|
|
1194
|
-
rubygems_version: 3.5.
|
|
1194
|
+
rubygems_version: 3.5.16
|
|
1195
1195
|
signing_key:
|
|
1196
1196
|
specification_version: 4
|
|
1197
1197
|
summary: wxWidgets extension for Ruby
|