wxruby3 1.3.0 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/wxruby3/swig/custom/director.swg +11 -3
- data/ext/wxruby3/swig/custom/rubyapi.swg +15 -1
- data/lib/wx/aui/auimanager.rb +61 -14
- data/lib/wx/core/array_ext.rb +1 -0
- data/lib/wx/core/brush.rb +8 -0
- data/lib/wx/core/defs.rb +49 -0
- data/lib/wx/core/enum.rb +16 -3
- data/lib/wx/core/font.rb +14 -0
- data/lib/wx/core/hboxsizer.rb +24 -4
- data/lib/wx/core/pen.rb +20 -0
- data/lib/wx/core/real_point.rb +1 -0
- data/lib/wx/core/sizer.rb +166 -39
- data/lib/wx/core/vboxsizer.rb +24 -4
- data/lib/wx/doc/array_ext.rb +1 -0
- data/lib/wx/doc/aui/auimanager.rb +2 -0
- data/lib/wx/doc/enum.rb +26 -0
- data/lib/wx/doc/gdi_common.rb +1 -0
- data/lib/wx/version.rb +1 -1
- data/rakelib/lib/core/include/swigrubyrun.inc +2 -2
- data/rakelib/lib/director/aui_manager.rb +118 -3
- data/rakelib/lib/director/dialog.rb +4 -2
- data/rakelib/lib/director/pgproperties.rb +2 -2
- data/rakelib/lib/director/property_grid_interface.rb +4 -3
- data/rakelib/lib/director/textctrl.rb +7 -0
- data/rakelib/lib/director/variant.rb +2 -2
- data/rakelib/lib/extractor/function.rb +5 -0
- data/rakelib/lib/typemap/common.rb +2 -2
- data/samples/dialogs/dialogs.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c43cace6f097af04e2d856782258313acd4e340719cf7794db36534e6d5e644b
|
4
|
+
data.tar.gz: 2f93d3489b95ca1a49ce2734222088aab5574841dd337d19fef58ec7a84587fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1db323073fdde9896d9ea6d8ffb9dee71e3f52f52d2836603ff5e6f7274003bb252bc4cff832574454ad4390686a79b1ef01467d5e3b7362aad36d464c67f5ac
|
7
|
+
data.tar.gz: 0057e4f8462c5b4e2dd79e736ca417cea70305b38efdc796bcc32a8f22fd12d178824ebe92e5d4cca219e1e1dbcafcb9200b5d00d7052d89ddd8f905729af4a0
|
@@ -189,6 +189,9 @@ namespace Swig {
|
|
189
189
|
}
|
190
190
|
};
|
191
191
|
|
192
|
+
// SWIG < 4.3.0
|
193
|
+
#if SWIG_VERSION < 0x040300
|
194
|
+
|
192
195
|
/* Simple thread abstraction for pthreads on win32 */
|
193
196
|
#ifdef __THREAD__
|
194
197
|
# define __PTHREAD__
|
@@ -219,8 +222,14 @@ namespace Swig {
|
|
219
222
|
}
|
220
223
|
};
|
221
224
|
# define SWIG_GUARD(mutex) Guard _guard(mutex)
|
225
|
+
# define SWIG_GUARD_DEFINITION(_cls, _mutex) pthread_mutex_t _cls::_mutex
|
226
|
+
# define SWIG_GUARD_DECLARATION(_mutex) static pthread_mutex_t _mutex
|
222
227
|
#else
|
223
228
|
# define SWIG_GUARD(mutex)
|
229
|
+
# define SWIG_GUARD_DEFINITION(_cls, _mutex)
|
230
|
+
# define SWIG_GUARD_DECLARATION(_mutex)
|
231
|
+
#endif
|
232
|
+
|
224
233
|
#endif
|
225
234
|
|
226
235
|
/* director base class */
|
@@ -258,9 +267,7 @@ namespace Swig {
|
|
258
267
|
private:
|
259
268
|
typedef std::map<void *, GCItem_var> swig_ownership_map;
|
260
269
|
mutable swig_ownership_map swig_owner;
|
261
|
-
|
262
|
-
static pthread_mutex_t swig_mutex_own;
|
263
|
-
#endif
|
270
|
+
SWIG_GUARD_DECLARATION(swig_mutex_own);
|
264
271
|
|
265
272
|
public:
|
266
273
|
template <typename Type>
|
@@ -287,4 +294,5 @@ namespace Swig {
|
|
287
294
|
|
288
295
|
swig_ruby_owntype swig_release_ownership(void *vptr) const;
|
289
296
|
};
|
297
|
+
SWIG_GUARD_DEFINITION(Director, swig_mutex_own);
|
290
298
|
}
|
@@ -12,8 +12,22 @@ extern "C" {
|
|
12
12
|
#endif
|
13
13
|
|
14
14
|
WXRUBY_EXPORT VALUE
|
15
|
-
|
15
|
+
SWIG_wxRuby_AppendOutput(VALUE target, VALUE o, int is_void);
|
16
16
|
|
17
17
|
#ifdef __cplusplus
|
18
18
|
}
|
19
19
|
#endif
|
20
|
+
|
21
|
+
/* SWIG >= 4.3.0 version */
|
22
|
+
inline VALUE
|
23
|
+
SWIG_Ruby_AppendOutput(VALUE target, VALUE o, int is_void)
|
24
|
+
{
|
25
|
+
return SWIG_wxRuby_AppendOutput(target, o, is_void);
|
26
|
+
}
|
27
|
+
|
28
|
+
/* SWIG < 4.3.0 version */
|
29
|
+
inline VALUE
|
30
|
+
SWIG_Ruby_AppendOutput(VALUE target, VALUE o)
|
31
|
+
{
|
32
|
+
return SWIG_wxRuby_AppendOutput(target, o, -1);
|
33
|
+
}
|
data/lib/wx/aui/auimanager.rb
CHANGED
@@ -2,19 +2,66 @@
|
|
2
2
|
#
|
3
3
|
# This software is released under the MIT license.
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
5
|
+
module Wx
|
6
|
+
module AUI
|
7
|
+
|
8
|
+
class AuiManager
|
9
|
+
|
10
|
+
wx_each_pane = instance_method(:each_pane)
|
11
|
+
define_method(:each_pane) do |&block|
|
12
|
+
if block
|
13
|
+
wx_each_pane.bind(self).call(&block)
|
14
|
+
else
|
15
|
+
::Enumerator.new { |y| wx_each_pane.bind(self).call { |p| y << p } }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def get_all_panes
|
20
|
+
each_pane.to_a
|
21
|
+
end
|
22
|
+
alias :all_panes :get_all_panes
|
23
|
+
|
24
|
+
unless Wx::EvtHandler.event_type_for_name(:evt_aui_find_manager)
|
25
|
+
# missing from XML API refs
|
26
|
+
Wx::EvtHandler.register_event_type Wx::EvtHandler::EventType[
|
27
|
+
'evt_aui_find_manager', 0,
|
28
|
+
Wx::AUI::EVT_AUI_FIND_MANAGER,
|
29
|
+
Wx::AUI::AuiManagerEvent
|
30
|
+
] if Wx::AUI.const_defined?(:EVT_AUI_FIND_MANAGER)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
if WXWIDGETS_VERSION >= '3.3.0'
|
35
|
+
|
36
|
+
class AuiDockInfo
|
19
37
|
|
38
|
+
wx_each_pane = instance_method(:each_pane)
|
39
|
+
define_method(:each_pane) do |&block|
|
40
|
+
if block
|
41
|
+
wx_each_pane.bind(self).call(&block)
|
42
|
+
else
|
43
|
+
::Enumerator.new { |y| wx_each_pane.bind(self).call { |p| y << p } }
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def get_panes
|
48
|
+
each_pane.to_a
|
49
|
+
end
|
50
|
+
alias :panes :get_panes
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
class AuiDeserializer
|
55
|
+
|
56
|
+
wx_initialize = instance_method(:initialize)
|
57
|
+
define_method(:initialize) do |manager|
|
58
|
+
wx_initialize.bind(self).call(manager)
|
59
|
+
@manager = manager # prevent GC for lifetime of deserializer
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
20
67
|
end
|
data/lib/wx/core/array_ext.rb
CHANGED
data/lib/wx/core/brush.rb
CHANGED
@@ -6,8 +6,16 @@
|
|
6
6
|
# Copyright 2004-2007, wxRuby development team
|
7
7
|
# released under the MIT-like wxRuby2 license
|
8
8
|
|
9
|
+
require_relative './enum'
|
10
|
+
|
9
11
|
module Wx
|
10
12
|
|
11
13
|
TheBrushList = Wx::Brush
|
12
14
|
|
15
|
+
class BrushStyle < Wx::Enum
|
16
|
+
|
17
|
+
set_non_distinct(%i[BRUSHSTYLE_INVALID BRUSHSTYLE_FIRST_HATCH BRUSHSTYLE_LAST_HATCH])
|
18
|
+
|
19
|
+
end
|
20
|
+
|
13
21
|
end
|
data/lib/wx/core/defs.rb
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
2
|
+
#
|
3
|
+
# This software is released under the MIT license.
|
4
|
+
#
|
5
|
+
# Some parts are
|
6
|
+
# Copyright 2004-2007, wxRuby development team
|
7
|
+
# released under the MIT-like wxRuby2 license
|
8
|
+
|
9
|
+
require_relative './enum'
|
10
|
+
|
11
|
+
module Wx
|
12
|
+
|
13
|
+
class Orientation < Wx::Enum
|
14
|
+
|
15
|
+
set_non_distinct(%i[ORIENTATION_MASK])
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
class Direction < Wx::Enum
|
20
|
+
|
21
|
+
set_non_distinct(%i[TOP BOTTOM NORTH SOUTH WEST EAST ALL DIRECTION_MASK])
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
class Alignment < Wx::Enum
|
26
|
+
|
27
|
+
set_non_distinct(%i[ALIGN_INVALID ALIGN_CENTRE_HORIZONTAL ALIGN_LEFT ALIGN_TOP ALIGN_CENTRE_VERTICAL ALIGN_CENTER ALIGN_MASK])
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
class SizerFlagBits < Wx::Enum
|
32
|
+
|
33
|
+
set_non_distinct(%i[SIZER_FLAG_BITS_MASK])
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
class Stretch < Wx::Enum
|
38
|
+
|
39
|
+
set_non_distinct(%i[GROW STRETCH_MASK])
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
class Border < Wx::Enum
|
44
|
+
|
45
|
+
set_non_distinct(%i[BORDER_THEME BORDER_MASK])
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
data/lib/wx/core/enum.rb
CHANGED
@@ -10,10 +10,23 @@ class Wx::Enum
|
|
10
10
|
|
11
11
|
class << self
|
12
12
|
|
13
|
-
def
|
13
|
+
def set_non_distinct(lst)
|
14
|
+
raise TypeError, 'Expected Array of Symbols' unless lst.is_a?(Array) && lst.all? { |e| e.is_a?(Symbol) }
|
15
|
+
@non_distinct = lst
|
16
|
+
end
|
17
|
+
alias :non_distinct= :set_non_distinct
|
18
|
+
|
19
|
+
def non_distinct
|
20
|
+
@non_distinct || []
|
21
|
+
end
|
22
|
+
|
23
|
+
def enumerators(excludes = nil)
|
24
|
+
excludes ||= self.non_distinct
|
14
25
|
self.constants(false).inject({}) do |tbl, cn|
|
15
|
-
|
16
|
-
|
26
|
+
unless excludes&.include?(cn)
|
27
|
+
cv = self.const_get(cn)
|
28
|
+
tbl[cv.to_i] = cn if self === cv
|
29
|
+
end
|
17
30
|
tbl
|
18
31
|
end
|
19
32
|
end
|
data/lib/wx/core/font.rb
CHANGED
@@ -1,5 +1,13 @@
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
2
|
+
#
|
3
|
+
# This software is released under the MIT license.
|
4
|
+
#
|
5
|
+
# Some parts are
|
6
|
+
# Copyright 2004-2007, wxRuby development team
|
7
|
+
# released under the MIT-like wxRuby2 license
|
1
8
|
|
2
9
|
require_relative './font/encoding'
|
10
|
+
require_relative './enum'
|
3
11
|
|
4
12
|
module Wx
|
5
13
|
|
@@ -27,4 +35,10 @@ module Wx
|
|
27
35
|
# can be accessed through that name too.
|
28
36
|
TheFontList = Font
|
29
37
|
|
38
|
+
class FontFlag < Wx::Enum
|
39
|
+
|
40
|
+
set_non_distinct(%i[FONTFLAG_MASK])
|
41
|
+
|
42
|
+
end
|
43
|
+
|
30
44
|
end
|
data/lib/wx/core/hboxsizer.rb
CHANGED
@@ -9,14 +9,34 @@
|
|
9
9
|
# Just a shortcut version for creating a horizontal box sizer
|
10
10
|
|
11
11
|
class Wx::HBoxSizer < Wx::BoxSizer
|
12
|
-
def initialize
|
13
|
-
super(Wx::HORIZONTAL)
|
12
|
+
def initialize(&block)
|
13
|
+
super(Wx::HORIZONTAL, &nil)
|
14
|
+
if block
|
15
|
+
if block.arity == -1 or block.arity == 0
|
16
|
+
self.instance_eval(&block)
|
17
|
+
elsif block.arity == 1
|
18
|
+
block.call(self)
|
19
|
+
else
|
20
|
+
Kernel.raise ArgumentError,
|
21
|
+
"Block to initialize should accept a single argument or none"
|
22
|
+
end
|
23
|
+
end
|
14
24
|
end
|
15
25
|
end
|
16
26
|
|
17
27
|
# Just a shortcut version for creating a horizontal wrap sizer
|
18
28
|
class Wx::HWrapSizer < Wx::WrapSizer
|
19
|
-
def initialize(flags=Wx::WRAPSIZER_DEFAULT_FLAGS)
|
20
|
-
super(Wx::HORIZONTAL)
|
29
|
+
def initialize(flags=Wx::WRAPSIZER_DEFAULT_FLAGS, &block)
|
30
|
+
super(Wx::HORIZONTAL, &nil)
|
31
|
+
if block
|
32
|
+
if block.arity == -1 or block.arity == 0
|
33
|
+
self.instance_eval(&block)
|
34
|
+
elsif block.arity == 1
|
35
|
+
block.call(self)
|
36
|
+
else
|
37
|
+
Kernel.raise ArgumentError,
|
38
|
+
"Block to initialize should accept a single argument or none"
|
39
|
+
end
|
40
|
+
end
|
21
41
|
end
|
22
42
|
end
|
data/lib/wx/core/pen.rb
CHANGED
@@ -6,8 +6,28 @@
|
|
6
6
|
# Copyright 2004-2007, wxRuby development team
|
7
7
|
# released under the MIT-like wxRuby2 license
|
8
8
|
|
9
|
+
require_relative './enum'
|
10
|
+
|
9
11
|
module Wx
|
10
12
|
|
11
13
|
ThePenList = Wx::Pen
|
12
14
|
|
15
|
+
class PenStyle < Wx::Enum
|
16
|
+
|
17
|
+
set_non_distinct(%i[PENSTYLE_INVALID PENSTYLE_FIRST_HATCH PENSTYLE_LAST_HATCH])
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
class PenJoin < Wx::Enum
|
22
|
+
|
23
|
+
set_non_distinct(%i[JOIN_INVALID])
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
class PenCap < Wx::Enum
|
28
|
+
|
29
|
+
set_non_distinct(%i[CAP_INVALID])
|
30
|
+
|
31
|
+
end
|
32
|
+
|
13
33
|
end
|
data/lib/wx/core/real_point.rb
CHANGED
data/lib/wx/core/sizer.rb
CHANGED
@@ -6,57 +6,184 @@
|
|
6
6
|
# Copyright 2004-2007, wxRuby development team
|
7
7
|
# released under the MIT-like wxRuby2 license
|
8
8
|
|
9
|
-
#
|
9
|
+
# Classes for automatically managing layouts
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
def add_item(item, *mixed_args)
|
11
|
+
module Wx
|
12
|
+
class Sizer
|
13
|
+
# Generic method to add items, supporting positional and named
|
14
|
+
# arguments
|
15
|
+
ADD_ITEM_PARAMS = [Wx::Parameter[:index, -1],
|
16
|
+
Wx::Parameter[:proportion, 0],
|
17
|
+
Wx::Parameter[:flag, 0],
|
18
|
+
Wx::Parameter[:border, 0]]
|
20
19
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
20
|
+
def add_item(item, *mixed_args)
|
21
|
+
|
22
|
+
begin
|
23
|
+
args = Wx::args_as_list(ADD_ITEM_PARAMS, *mixed_args)
|
24
|
+
rescue => err
|
25
|
+
err.set_backtrace(caller)
|
26
|
+
Kernel.raise err
|
27
|
+
end
|
28
|
+
|
29
|
+
full_args = []
|
30
|
+
|
31
|
+
# extract the width and the height in the case of a spacer
|
32
|
+
# defined as an array
|
33
|
+
if item.kind_of?(Array)
|
34
|
+
Kernel.raise ArgumentError,
|
35
|
+
"Invalid Sizer specification : [width, height] expected" if item.size != 2
|
36
|
+
full_args << item[0] << item[1]
|
37
|
+
else
|
38
|
+
full_args << item
|
39
|
+
end
|
40
|
+
|
41
|
+
# update the full arguments list with the optional arguments (except index)
|
42
|
+
idx = args.shift
|
43
|
+
full_args.concat(args)
|
44
|
+
|
45
|
+
# Call add to append if default position
|
46
|
+
if idx == -1
|
47
|
+
add(*full_args)
|
48
|
+
else
|
49
|
+
insert(idx, *full_args)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
# Overload to provide Enumerator without block
|
54
|
+
wx_each_child = instance_method :each_child
|
55
|
+
define_method :each_child do |&block|
|
56
|
+
if block
|
57
|
+
wx_each_child.bind(self).call(&block)
|
58
|
+
else
|
59
|
+
::Enumerator.new { |y| wx_each_child.bind(self).call { |c| y << c } }
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
class BoxSizer < Sizer
|
66
|
+
|
67
|
+
wx_initialize = instance_method :initialize
|
68
|
+
define_method :initialize do |*args, &block|
|
69
|
+
wx_initialize.bind(self).call(*args)
|
70
|
+
if block
|
71
|
+
if block.arity == -1 or block.arity == 0
|
72
|
+
self.instance_eval(&block)
|
73
|
+
elsif block.arity == 1
|
74
|
+
block.call(self)
|
75
|
+
else
|
76
|
+
Kernel.raise ArgumentError,
|
77
|
+
"Block to initialize should accept a single argument or none"
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
83
|
+
|
84
|
+
class WrapSizer < BoxSizer
|
85
|
+
|
86
|
+
wx_initialize = instance_method :initialize
|
87
|
+
define_method :initialize do |*args, &block|
|
88
|
+
wx_initialize.bind(self).call(*args)
|
89
|
+
if block
|
90
|
+
if block.arity == -1 or block.arity == 0
|
91
|
+
self.instance_eval(&block)
|
92
|
+
elsif block.arity == 1
|
93
|
+
block.call(self)
|
94
|
+
else
|
95
|
+
Kernel.raise ArgumentError,
|
96
|
+
"Block to initialize should accept a single argument or none"
|
97
|
+
end
|
98
|
+
end
|
26
99
|
end
|
27
100
|
|
28
|
-
|
101
|
+
end
|
102
|
+
|
103
|
+
class StaticBoxSizer < BoxSizer
|
29
104
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
105
|
+
wx_initialize = instance_method :initialize
|
106
|
+
define_method :initialize do |*args, &block|
|
107
|
+
wx_initialize.bind(self).call(*args)
|
108
|
+
if block
|
109
|
+
if block.arity == -1 or block.arity == 0
|
110
|
+
self.instance_eval(&block)
|
111
|
+
elsif block.arity == 1
|
112
|
+
block.call(self)
|
113
|
+
else
|
114
|
+
Kernel.raise ArgumentError,
|
115
|
+
"Block to initialize should accept a single argument or none"
|
116
|
+
end
|
117
|
+
end
|
38
118
|
end
|
39
119
|
|
40
|
-
|
41
|
-
idx = args.shift
|
42
|
-
full_args.concat(args)
|
120
|
+
end
|
43
121
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
122
|
+
class StdDialogButtonSizer < BoxSizer
|
123
|
+
|
124
|
+
wx_initialize = instance_method :initialize
|
125
|
+
define_method :initialize do |*args, &block|
|
126
|
+
wx_initialize.bind(self).call(*args)
|
127
|
+
if block
|
128
|
+
if block.arity == -1 or block.arity == 0
|
129
|
+
self.instance_eval(&block)
|
130
|
+
elsif block.arity == 1
|
131
|
+
block.call(self)
|
132
|
+
else
|
133
|
+
Kernel.raise ArgumentError,
|
134
|
+
"Block to initialize should accept a single argument or none"
|
135
|
+
end
|
136
|
+
end
|
49
137
|
end
|
138
|
+
|
50
139
|
end
|
51
140
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
::Enumerator.new { |y| wx_each_child.bind(self).call { |c| y << c } }
|
141
|
+
class GridSizer < Sizer
|
142
|
+
|
143
|
+
wx_initialize = instance_method :initialize
|
144
|
+
define_method :initialize do |*args, &block|
|
145
|
+
wx_initialize.bind(self).call(*args)
|
146
|
+
self.instance_eval(&block) if block
|
59
147
|
end
|
148
|
+
|
149
|
+
end
|
150
|
+
|
151
|
+
class FlexGridSizer < GridSizer
|
152
|
+
|
153
|
+
wx_initialize = instance_method :initialize
|
154
|
+
define_method :initialize do |*args, &block|
|
155
|
+
wx_initialize.bind(self).call(*args)
|
156
|
+
if block
|
157
|
+
if block.arity == -1 or block.arity == 0
|
158
|
+
self.instance_eval(&block)
|
159
|
+
elsif block.arity == 1
|
160
|
+
block.call(self)
|
161
|
+
else
|
162
|
+
Kernel.raise ArgumentError,
|
163
|
+
"Block to initialize should accept a single argument or none"
|
164
|
+
end
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
end
|
169
|
+
|
170
|
+
class GridBagSizer < FlexGridSizer
|
171
|
+
|
172
|
+
wx_initialize = instance_method :initialize
|
173
|
+
define_method :initialize do |*args, &block|
|
174
|
+
wx_initialize.bind(self).call(*args)
|
175
|
+
if block
|
176
|
+
if block.arity == -1 or block.arity == 0
|
177
|
+
self.instance_eval(&block)
|
178
|
+
elsif block.arity == 1
|
179
|
+
block.call(self)
|
180
|
+
else
|
181
|
+
Kernel.raise ArgumentError,
|
182
|
+
"Block to initialize should accept a single argument or none"
|
183
|
+
end
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
60
187
|
end
|
61
188
|
|
62
189
|
end
|
data/lib/wx/core/vboxsizer.rb
CHANGED
@@ -9,14 +9,34 @@
|
|
9
9
|
# Just a shortcut version for creating a vertical box sizer
|
10
10
|
|
11
11
|
class Wx::VBoxSizer < Wx::BoxSizer
|
12
|
-
def initialize
|
13
|
-
super(Wx::VERTICAL)
|
12
|
+
def initialize(&block)
|
13
|
+
super(Wx::VERTICAL, &nil)
|
14
|
+
if block
|
15
|
+
if block.arity == -1 or block.arity == 0
|
16
|
+
self.instance_eval(&block)
|
17
|
+
elsif block.arity == 1
|
18
|
+
block.call(self)
|
19
|
+
else
|
20
|
+
Kernel.raise ArgumentError,
|
21
|
+
"Block to initialize should accept a single argument or none"
|
22
|
+
end
|
23
|
+
end
|
14
24
|
end
|
15
25
|
end
|
16
26
|
|
17
27
|
# Just a shortcut version for creating a vertical wrap sizer
|
18
28
|
class Wx::VWrapSizer < Wx::WrapSizer
|
19
|
-
def initialize(flags=Wx::WRAPSIZER_DEFAULT_FLAGS)
|
20
|
-
super(Wx::VERTICAL)
|
29
|
+
def initialize(flags=Wx::WRAPSIZER_DEFAULT_FLAGS, &block)
|
30
|
+
super(Wx::VERTICAL, &nil)
|
31
|
+
if block
|
32
|
+
if block.arity == -1 or block.arity == 0
|
33
|
+
self.instance_eval(&block)
|
34
|
+
elsif block.arity == 1
|
35
|
+
block.call(self)
|
36
|
+
else
|
37
|
+
Kernel.raise ArgumentError,
|
38
|
+
"Block to initialize should accept a single argument or none"
|
39
|
+
end
|
40
|
+
end
|
21
41
|
end
|
22
42
|
end
|
data/lib/wx/doc/array_ext.rb
CHANGED
@@ -12,7 +12,9 @@ module Wx
|
|
12
12
|
class AuiManager
|
13
13
|
|
14
14
|
# Yield each pane to the given block.
|
15
|
+
# If no block passed returns an Enumerator.
|
15
16
|
# @yieldparam [Wx::AUI::AuiPaneInfo] pane the Aui pane info yielded
|
17
|
+
# @return [::Object, ::Enumerator] result of last block execution or enumerator
|
16
18
|
def each_pane; end
|
17
19
|
|
18
20
|
# Returns an array of all panes managed by the frame manager.
|
data/lib/wx/doc/enum.rb
CHANGED
@@ -18,6 +18,32 @@ module Wx
|
|
18
18
|
# type safety for arguments requiring the specific enum class.
|
19
19
|
class Enum < Numeric
|
20
20
|
|
21
|
+
class << self
|
22
|
+
|
23
|
+
# Sets a class specific list of enumerator ids (symbols) that should be considered
|
24
|
+
# non-distinctive enum values (examples would be convenience constants combining
|
25
|
+
# multiple distinctive enumerators or enumerators denoting the first/lowest and/or last/highest
|
26
|
+
# distinctive enumerators). Mostly useful for bitmask enum classes.
|
27
|
+
# @param [Array<Symbol>] lst
|
28
|
+
def set_non_distinct(lst) end
|
29
|
+
alias :non_distinct= :set_non_distinct
|
30
|
+
|
31
|
+
# Returns the class specific list of enumerator ids (symbols) that should be considered
|
32
|
+
# non-distinctive enum values. Returns nil if not set.
|
33
|
+
# @see set_non_distinct
|
34
|
+
# @return [Array<Symbol>,nil]
|
35
|
+
def non_distinct; end
|
36
|
+
|
37
|
+
# Returns a hash table with enumerator value : enumerator id (symbol) pairs for the enum class.
|
38
|
+
# @param [Array<Symbol>, nil] excludes list of enumerator ids (symbols) to exclude (by default the non_distinct list is used if defined)
|
39
|
+
# @return [Hash(Integer, Symbol)]
|
40
|
+
def enumerators(excludes = nil) end
|
41
|
+
|
42
|
+
# Returns the enumerator for the given enumerator symbol or nil if no such enumerator exists.
|
43
|
+
# @return [Wx::Enum, nil]
|
44
|
+
def [](enum_name) end
|
45
|
+
end
|
46
|
+
|
21
47
|
# Initialize a new enum value.
|
22
48
|
# @param [Integer] val enum integer value
|
23
49
|
def initialize(val)end
|
data/lib/wx/doc/gdi_common.rb
CHANGED
data/lib/wx/version.rb
CHANGED
@@ -59,9 +59,9 @@ extern "C" {
|
|
59
59
|
#endif
|
60
60
|
|
61
61
|
WXRB_EXPORT_FLAG VALUE
|
62
|
-
|
62
|
+
SWIG_wxRuby_AppendOutput(VALUE target, VALUE o, int is_void)
|
63
63
|
{
|
64
|
-
if (NIL_P(target))
|
64
|
+
if (NIL_P(target) && is_void != 0)
|
65
65
|
{
|
66
66
|
target = o;
|
67
67
|
}
|
@@ -16,7 +16,98 @@ module WXRuby3
|
|
16
16
|
|
17
17
|
def setup
|
18
18
|
super
|
19
|
-
spec.gc_as_object
|
19
|
+
spec.gc_as_object 'wxAuiManager'
|
20
|
+
if Config.instance.wx_version >= '3.3.0'
|
21
|
+
spec.items << 'wxAuiSerializer' << 'wxAuiDockInfo' << 'wxAuiDeserializer'
|
22
|
+
spec.gc_as_untracked 'wxAuiSerializer', 'wxAuiDockInfo'
|
23
|
+
spec.regard 'wxAuiDockInfo::rect',
|
24
|
+
'wxAuiDockInfo::dock_direction',
|
25
|
+
'wxAuiDockInfo::dock_layer',
|
26
|
+
'wxAuiDockInfo::dock_row',
|
27
|
+
'wxAuiDockInfo::size',
|
28
|
+
'wxAuiDockInfo::min_size',
|
29
|
+
'wxAuiDockInfo::resizable',
|
30
|
+
'wxAuiDockInfo::toolbar',
|
31
|
+
'wxAuiDockInfo::fixed',
|
32
|
+
'wxAuiDockInfo::reserved1'
|
33
|
+
spec.make_readonly 'wxAuiDockInfo::rect',
|
34
|
+
'wxAuiDockInfo::dock_direction',
|
35
|
+
'wxAuiDockInfo::dock_layer',
|
36
|
+
'wxAuiDockInfo::dock_row',
|
37
|
+
'wxAuiDockInfo::size',
|
38
|
+
'wxAuiDockInfo::min_size',
|
39
|
+
'wxAuiDockInfo::resizable',
|
40
|
+
'wxAuiDockInfo::toolbar',
|
41
|
+
'wxAuiDockInfo::fixed',
|
42
|
+
'wxAuiDockInfo::reserved1'
|
43
|
+
spec.add_extend_code 'wxAuiDockInfo', <<~__HEREDOC
|
44
|
+
VALUE each_pane()
|
45
|
+
{
|
46
|
+
wxAuiPaneInfoPtrArray panes = self->panes;
|
47
|
+
VALUE rc = Qnil;
|
48
|
+
for (wxAuiPaneInfo* pane : panes)
|
49
|
+
{
|
50
|
+
VALUE r_pane = SWIG_NewPointerObj(pane, SWIGTYPE_p_wxAuiPaneInfo, 0);
|
51
|
+
rc = rb_yield(r_pane);
|
52
|
+
}
|
53
|
+
return rc;
|
54
|
+
}
|
55
|
+
__HEREDOC
|
56
|
+
spec.map 'std::vector<wxAuiPaneInfo>' => 'Array<Wx::AuiPaneInfo>' do
|
57
|
+
map_out code: <<~__CODE
|
58
|
+
$result = rb_ary_new();
|
59
|
+
std::vector<wxAuiPaneInfo>& panes = (std::vector<wxAuiPaneInfo>&)$1;
|
60
|
+
for (const wxAuiPaneInfo& pane : panes)
|
61
|
+
{
|
62
|
+
VALUE r_pane = SWIG_NewPointerObj(new wxAuiPaneInfo(pane), SWIGTYPE_p_wxAuiPaneInfo, SWIG_POINTER_OWN);
|
63
|
+
rb_ary_push($result, r_pane);
|
64
|
+
}
|
65
|
+
__CODE
|
66
|
+
map_directorout code: <<~__CODE
|
67
|
+
if (TYPE($input) == T_ARRAY)
|
68
|
+
{
|
69
|
+
for (int i = 0; i < RARRAY_LEN($input); i++)
|
70
|
+
{
|
71
|
+
void *ptr;
|
72
|
+
VALUE r_pane = rb_ary_entry($input, i);
|
73
|
+
int res = SWIG_ConvertPtr(r_pane, &ptr, SWIGTYPE_p_wxAuiPaneInfo, 0);
|
74
|
+
if (!SWIG_IsOK(res) || !ptr) {
|
75
|
+
Swig::DirectorTypeMismatchException::raise(swig_get_self(), "load_panes", rb_eTypeError, "in return value. Expected Array of Wx::AuiPaneInfo");
|
76
|
+
}
|
77
|
+
wxAuiPaneInfo *pane = reinterpret_cast< wxAuiPaneInfo * >(ptr);
|
78
|
+
$result.push_back(*pane);
|
79
|
+
}
|
80
|
+
}
|
81
|
+
__CODE
|
82
|
+
end
|
83
|
+
spec.map 'std::vector<wxAuiDockInfo>' => 'Array<Wx::AuiDockInfo>' do
|
84
|
+
map_out code: <<~__CODE
|
85
|
+
$result = rb_ary_new();
|
86
|
+
std::vector<wxAuiDockInfo>& docks = (std::vector<wxAuiDockInfo>&)$1;
|
87
|
+
for (const wxAuiDockInfo& dock : docks)
|
88
|
+
{
|
89
|
+
VALUE r_dock = SWIG_NewPointerObj(new wxAuiDockInfo(dock), SWIGTYPE_p_wxAuiDockInfo, SWIG_POINTER_OWN);
|
90
|
+
rb_ary_push($result, r_dock);
|
91
|
+
}
|
92
|
+
__CODE
|
93
|
+
map_directorout code: <<~__CODE
|
94
|
+
if (TYPE($input) == T_ARRAY)
|
95
|
+
{
|
96
|
+
for (int i = 0; i < RARRAY_LEN($input); i++)
|
97
|
+
{
|
98
|
+
void *ptr;
|
99
|
+
VALUE r_dock = rb_ary_entry($input, i);
|
100
|
+
int res = SWIG_ConvertPtr(r_dock, &ptr, SWIGTYPE_p_wxAuiDockInfo, 0);
|
101
|
+
if (!SWIG_IsOK(res) || !ptr) {
|
102
|
+
Swig::DirectorTypeMismatchException::raise(swig_get_self(), "load_docks", rb_eTypeError, "in return value. Expected Array of Wx::AuiDockInfo");
|
103
|
+
}
|
104
|
+
wxAuiDockInfo *dock = reinterpret_cast< wxAuiDockInfo * >(ptr);
|
105
|
+
$result.push_back(*dock);
|
106
|
+
}
|
107
|
+
}
|
108
|
+
__CODE
|
109
|
+
end
|
110
|
+
end
|
20
111
|
# need a custom implementation to handle (event handler proc) cleanup
|
21
112
|
spec.add_header_code <<~__HEREDOC
|
22
113
|
#include "wx/aui/aui.h"
|
@@ -80,7 +171,7 @@ module WXRuby3
|
|
80
171
|
rb_gc_mark( rb_art_prov );
|
81
172
|
}
|
82
173
|
}
|
83
|
-
|
174
|
+
__HEREDOC
|
84
175
|
spec.add_swig_code '%markfunc wxAuiManager "GC_mark_wxAuiManager";'
|
85
176
|
# provide pure Ruby implementation based on use custom alternative provided below
|
86
177
|
spec.ignore('wxAuiManager::GetAllPanes')
|
@@ -110,12 +201,36 @@ module WXRuby3
|
|
110
201
|
WXRubyAuiManager* aui_mng = dynamic_cast<WXRubyAuiManager*> (self);
|
111
202
|
managedWnd->Bind(wxEVT_CLOSE_WINDOW, &WXRubyAuiManager::OnManagedWindowClose, aui_mng);
|
112
203
|
}
|
113
|
-
|
204
|
+
__HEREDOC
|
114
205
|
spec.suppress_warning(473, 'wxAuiManager::CreateFloatingFrame')
|
115
206
|
spec.do_not_generate(:variables, :defines, :enums, :functions) # with AuiPaneInfo
|
116
207
|
end
|
208
|
+
|
209
|
+
def doc_generator
|
210
|
+
AuiManagerDocGenerator.new(self)
|
211
|
+
end
|
117
212
|
end # class AuiManager
|
118
213
|
|
214
|
+
class AuiManagerDocGenerator < DocGenerator
|
215
|
+
|
216
|
+
def gen_class_doc_members(fdoc, clsdef, cls_members, alias_methods)
|
217
|
+
super
|
218
|
+
if Config.instance.wx_version >= '3.3.0' && clsdef.name == 'wxAuiDockInfo'
|
219
|
+
fdoc.doc.puts 'Yield each pane to the given block.'
|
220
|
+
fdoc.doc.puts 'If no block passed returns an Enumerator.'
|
221
|
+
fdoc.doc.puts '@yieldparam [Wx::AUI::AuiPaneInfo] pane the Aui pane info yielded'
|
222
|
+
fdoc.doc.puts '@return [::Object, ::Enumerator] result of last block execution or enumerator'
|
223
|
+
fdoc.puts 'def each_pane; end'
|
224
|
+
fdoc.puts
|
225
|
+
fdoc.doc.puts 'Returns an array of Wx::AuiPaneInfo for all panes managed by the frame manager.'
|
226
|
+
fdoc.doc.puts '@return [Array<Wx::AUI::AuiPaneInfo>] info for all managed panes'
|
227
|
+
fdoc.puts 'def get_panes; end'
|
228
|
+
fdoc.puts 'alias_method :panes, :get_panes'
|
229
|
+
end
|
230
|
+
end
|
231
|
+
|
232
|
+
end
|
233
|
+
|
119
234
|
end # class Director
|
120
235
|
|
121
236
|
end # module WXRuby3
|
@@ -230,8 +230,10 @@ module WXRuby3
|
|
230
230
|
# regard protected methods
|
231
231
|
spec.regard 'wxGenericAboutDialog::DoAddCustomControls',
|
232
232
|
'wxGenericAboutDialog::AddControl',
|
233
|
-
'wxGenericAboutDialog::AddText'
|
234
|
-
|
233
|
+
'wxGenericAboutDialog::AddText'
|
234
|
+
if Config.instance.wx_version >= '3.3.0'
|
235
|
+
spec.regard 'wxGenericAboutDialog::GetCustomControlParent'
|
236
|
+
end
|
235
237
|
if Config.instance.features_set?('USE_COLLPANE')
|
236
238
|
spec.regard 'wxGenericAboutDialog::AddCollapsiblePane'
|
237
239
|
end
|
@@ -141,7 +141,7 @@ module WXRuby3
|
|
141
141
|
spec.map_apply 'int * OUTPUT' => 'int* pIndex'
|
142
142
|
end
|
143
143
|
# for UIntProperty and IntProperty
|
144
|
-
if Config.instance.features_set?('USE_LONGLONG')
|
144
|
+
if Config.instance.features_set?('USE_LONGLONG') || Config.instance.wx_version >= '3.3.0'
|
145
145
|
# wxLongLong mapping to be considered before considering 'long' (see typecheck precedence)
|
146
146
|
spec.map 'const wxLongLong&' => 'Integer' do
|
147
147
|
map_in temp: 'wxLongLong tmp', code: <<~__CODE
|
@@ -162,7 +162,7 @@ module WXRuby3
|
|
162
162
|
end
|
163
163
|
else
|
164
164
|
spec.ignore 'wxUIntProperty::wxUIntProperty(const wxString &, const wxString &, const wxULongLong &)',
|
165
|
-
'wxIntProperty::
|
165
|
+
'wxIntProperty::wxIntProperty(const wxString &, const wxString &, const wxLongLong &)'
|
166
166
|
end
|
167
167
|
spec.new_object 'wxArrayStringProperty::CreateEditorDialog'
|
168
168
|
spec.suppress_warning(473, 'wxArrayStringProperty::CreateEditorDialog')
|
@@ -39,9 +39,10 @@ module WXRuby3
|
|
39
39
|
spec.extend_interface 'wxPropertyGridInterface',
|
40
40
|
'void SetPropertyValues(const wxVariant &list, const wxPGPropArgCls& defaultCategory = 0)'
|
41
41
|
# optionals
|
42
|
-
|
43
|
-
|
44
|
-
|
42
|
+
unless Config.instance.features_set?('USE_LONGLONG') || Config.instance.wx_version >= '3.3.0'
|
43
|
+
spec.ignore_unless 'wxPropertyGridInterface::GetPropertyValueAsLongLong',
|
44
|
+
'wxPropertyGridInterface::GetPropertyValueAsULongLong'
|
45
|
+
end
|
45
46
|
spec.ignore_unless 'USE_DATETIME', 'wxPropertyGridInterface::GetPropertyValueAsDateTime'
|
46
47
|
spec.ignore_unless 'USE_VALIDATORS', 'wxPropertyGridInterface::GetPropertyValidator'
|
47
48
|
# fix incorrect XML documentation
|
@@ -24,6 +24,13 @@ module WXRuby3
|
|
24
24
|
spec.ignore 'wxTextCtrl::GTKGetTextBuffer',
|
25
25
|
'wxTextCtrl::GTKGetEditable'
|
26
26
|
end
|
27
|
+
if Config.instance.wx_version >= '3.3.0' && Config.instance.wx_port == :wxmsw
|
28
|
+
spec.items << 'wxTextSearch' << 'wxTextSearchResult'
|
29
|
+
spec.regard 'wxTextSearchResult::m_start', 'wxTextSearchResult::m_end'
|
30
|
+
spec.make_readonly 'wxTextSearchResult::m_start', 'wxTextSearchResult::m_end'
|
31
|
+
spec.rename_for_ruby 'start' => 'wxTextSearchResult::m_start',
|
32
|
+
'end' => 'wxTextSearchResult::m_end'
|
33
|
+
end
|
27
34
|
if Config.instance.wx_port == :wxqt
|
28
35
|
# not implemented
|
29
36
|
spec.ignore 'wxTextCtrl::OnDropFiles'
|
@@ -142,7 +142,7 @@ module WXRuby3
|
|
142
142
|
{
|
143
143
|
return wxVariant(TYPE(rbval) == T_TRUE);
|
144
144
|
}
|
145
|
-
#
|
145
|
+
#if !defined(wxUSE_LONGLONG) || (wxUSE_LONGLONG == 1)
|
146
146
|
if ((sizeof(long) < 8) && (TYPE(rbval) == T_BIGNUM) && (rb_big_sign(rbval) == 0))
|
147
147
|
{
|
148
148
|
wxLongLong_t ll = rb_big2ll(rbval);
|
@@ -227,7 +227,7 @@ module WXRuby3
|
|
227
227
|
$1 = rb_obj_is_kind_of($input, rb_const_get(mWxPG, var_ColourPropertyValue_id()));
|
228
228
|
__CODE
|
229
229
|
end
|
230
|
-
if Config.instance.features_set?('USE_LONGLONG')
|
230
|
+
if Config.instance.features_set?('USE_LONGLONG') || Config.instance.wx_version >= '3.3.0'
|
231
231
|
# wxLongLong mapping to be considered before considering 'long' (see typecheck precedence)
|
232
232
|
spec.map 'wxLongLong' => 'Integer' do
|
233
233
|
map_in code: <<~__CODE
|
@@ -49,6 +49,9 @@ module WXRuby3
|
|
49
49
|
@template_params << txt
|
50
50
|
end
|
51
51
|
@args_string = element.at_xpath('argsstring').text
|
52
|
+
# transform unified initializers to ctor form (SWIG does not like unified initializers)
|
53
|
+
# (also see ParamDef#extract)
|
54
|
+
@args_string.gsub!(/(\w+(::\w+)*)\s*{([^}]*)}/) { |_| "#{$1}(#{$3})"}
|
52
55
|
check_deprecated
|
53
56
|
element.xpath('param').each do |node|
|
54
57
|
p = ParamDef.new(node)
|
@@ -370,6 +373,8 @@ module WXRuby3
|
|
370
373
|
end
|
371
374
|
if element.at_xpath('defval')
|
372
375
|
@default = BaseDef.flatten_node(element.at_xpath('defval'))
|
376
|
+
# transform unified initializers to ctor form (SWIG does not like unified initializers)
|
377
|
+
@default.sub!(/(\w+(::\w+)*)\s*{([^}]*)}/) { |_| "#{$1}(#{$3})"}
|
373
378
|
end
|
374
379
|
end
|
375
380
|
rescue Exception
|
@@ -364,7 +364,7 @@ module WXRuby3
|
|
364
364
|
}
|
365
365
|
__CODE
|
366
366
|
map_directorout code: <<~__CODE
|
367
|
-
if (TYPE($input)
|
367
|
+
if (TYPE($input) == T_ARRAY)
|
368
368
|
{
|
369
369
|
for (int i = 0; i < RARRAY_LEN($input); i++)
|
370
370
|
{
|
@@ -398,7 +398,7 @@ module WXRuby3
|
|
398
398
|
}
|
399
399
|
__CODE
|
400
400
|
map_directorout code: <<~__CODE
|
401
|
-
if (TYPE($input)
|
401
|
+
if (TYPE($input) == T_ARRAY)
|
402
402
|
{
|
403
403
|
for (int i = 0; i < RARRAY_LEN($input); i++)
|
404
404
|
{
|
data/samples/dialogs/dialogs.rb
CHANGED
@@ -167,7 +167,7 @@ module Dialogs
|
|
167
167
|
end
|
168
168
|
|
169
169
|
create(parent, -1, "Preferences")
|
170
|
-
create_buttons(Wx::
|
170
|
+
create_buttons(Wx::OK|Wx::CANCEL)
|
171
171
|
book_ctrl.set_images(imgs)
|
172
172
|
book_ctrl.add_page(file_panel(book_ctrl), "File", false, img_id1)
|
173
173
|
book_ctrl.add_page(cdrom_panel(book_ctrl), "CD ROM", false, img_id2)
|
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.3.
|
4
|
+
version: 1.3.1
|
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-11-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -172,6 +172,7 @@ files:
|
|
172
172
|
- lib/wx/core/dataformat.rb
|
173
173
|
- lib/wx/core/datetime.rb
|
174
174
|
- lib/wx/core/dc.rb
|
175
|
+
- lib/wx/core/defs.rb
|
175
176
|
- lib/wx/core/dialog.rb
|
176
177
|
- lib/wx/core/enum.rb
|
177
178
|
- lib/wx/core/event.rb
|
@@ -1206,7 +1207,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1206
1207
|
- !ruby/object:Gem::Version
|
1207
1208
|
version: '0'
|
1208
1209
|
requirements: []
|
1209
|
-
rubygems_version: 3.5.
|
1210
|
+
rubygems_version: 3.5.22
|
1210
1211
|
signing_key:
|
1211
1212
|
specification_version: 4
|
1212
1213
|
summary: wxWidgets extension for Ruby
|