wxruby3 0.9.0 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/ext/wxruby3/include/wxRubyApp.h +338 -0
  4. data/ext/wxruby3/include/wxruby-Config.h +6 -6
  5. data/ext/wxruby3/include/wxruby-runtime.h +3 -0
  6. data/ext/wxruby3/swig/common.i +22 -0
  7. data/ext/wxruby3/swig/custom/director.swg +296 -0
  8. data/ext/wxruby3/swig/custom/rubyapi.swg +19 -0
  9. data/ext/wxruby3/swig/custom/rubyerrors.swg +45 -0
  10. data/ext/wxruby3/swig/custom/rubyhead.swg +192 -0
  11. data/ext/wxruby3/swig/custom/rubyrun.swg +187 -0
  12. data/ext/wxruby3/swig/custom/swigrun.swg +363 -0
  13. data/ext/wxruby3/swig/custom/typemaps/swigtypemaps.swg +173 -0
  14. data/ext/wxruby3/swig/wx.i +50 -30
  15. data/lib/wx/aui/aui_tab_ctrl.rb +18 -0
  16. data/lib/wx/aui/auinotebook.rb +6 -2
  17. data/lib/wx/aui/require.rb +1 -0
  18. data/lib/wx/core/app.rb +2 -2
  19. data/lib/wx/core/collapsible_pane.rb +1 -1
  20. data/lib/wx/core/const.rb +83 -0
  21. data/lib/wx/core/controlwithitems.rb +8 -6
  22. data/lib/wx/core/menu.rb +10 -0
  23. data/lib/wx/core/notebook.rb +6 -2
  24. data/lib/wx/core/sizer.rb +11 -0
  25. data/lib/wx/core/task_bar_button.rb +19 -0
  26. data/lib/wx/core/textctrl.rb +11 -1
  27. data/lib/wx/core/{treectrl.rb → tree_ctrl.rb} +31 -12
  28. data/lib/wx/core/window.rb +10 -0
  29. data/lib/wx/doc/app.rb +48 -38
  30. data/lib/wx/doc/art_locator.rb +47 -43
  31. data/lib/wx/doc/aui/auimanager.rb +16 -8
  32. data/lib/wx/doc/aui/auinotebook.rb +20 -5
  33. data/lib/wx/doc/clipboard.rb +11 -7
  34. data/lib/wx/doc/colour_dialog.rb +14 -10
  35. data/lib/wx/doc/const.rb +66 -66
  36. data/lib/wx/doc/controlwithitems.rb +17 -7
  37. data/lib/wx/doc/data_object.rb +2 -2
  38. data/lib/wx/doc/event.rb +0 -6
  39. data/lib/wx/doc/evthandler.rb +113 -108
  40. data/lib/wx/doc/font.rb +1 -0
  41. data/lib/wx/doc/functions.rb +9 -9
  42. data/lib/wx/doc/gc_dc.rb +6 -1
  43. data/lib/wx/doc/graphics_context.rb +1 -0
  44. data/lib/wx/doc/grid/grid.rb +22 -1
  45. data/lib/wx/doc/help_controller.rb +11 -7
  46. data/lib/wx/doc/html/html_help_controller.rb +12 -4
  47. data/lib/wx/doc/list_ctrl.rb +33 -29
  48. data/lib/wx/doc/menu.rb +20 -0
  49. data/lib/wx/doc/notebook.rb +21 -0
  50. data/lib/wx/doc/pg/events.rb +13 -9
  51. data/lib/wx/doc/pg/pg_property.rb +18 -0
  52. data/lib/wx/doc/progress_dialog.rb +36 -32
  53. data/lib/wx/doc/prt/page_setup_dialog.rb +20 -12
  54. data/lib/wx/doc/prt/print_data.rb +13 -5
  55. data/lib/wx/doc/prt/print_dialog.rb +31 -23
  56. data/lib/wx/doc/prt/printer.rb +20 -12
  57. data/lib/wx/doc/radio_box.rb +19 -15
  58. data/lib/wx/doc/rbn/ribbon_bar.rb +13 -5
  59. data/lib/wx/doc/rbn/ribbon_button_bar.rb +13 -5
  60. data/lib/wx/doc/rbn/ribbon_gallery.rb +13 -5
  61. data/lib/wx/doc/rbn/ribbon_tool_bar.rb +13 -5
  62. data/lib/wx/doc/region_iterator.rb +32 -28
  63. data/lib/wx/doc/rtc/rich_text_composite_object.rb +24 -0
  64. data/lib/wx/doc/rtc/rich_text_ctrl.rb +24 -0
  65. data/lib/wx/doc/rtc/rich_text_paragraph.rb +24 -0
  66. data/lib/wx/doc/rtc/richtext_buffer.rb +27 -19
  67. data/lib/wx/doc/rtc/richtext_printing.rb +17 -9
  68. data/lib/wx/doc/rtc/richtext_style_sheet.rb +17 -9
  69. data/lib/wx/doc/sizer.rb +20 -0
  70. data/lib/wx/doc/stc/styled_text_ctrl.rb +24 -0
  71. data/lib/wx/doc/stream.rb +39 -35
  72. data/lib/wx/doc/system_settings.rb +30 -26
  73. data/lib/wx/doc/text_validator.rb +12 -8
  74. data/lib/wx/doc/textctrl.rb +16 -0
  75. data/lib/wx/doc/tree_ctrl.rb +95 -0
  76. data/lib/wx/doc/treebook.rb +9 -5
  77. data/lib/wx/doc/v_list_box.rb +9 -5
  78. data/lib/wx/doc/variant.rb +164 -160
  79. data/lib/wx/doc/window.rb +57 -42
  80. data/lib/wx/doc/window_disabler.rb +10 -6
  81. data/lib/wx/grid/grid.rb +27 -4
  82. data/lib/wx/keyword_defs.rb +43 -6
  83. data/lib/wx/pg/pg_property.rb +22 -0
  84. data/lib/wx/rtc/require.rb +3 -0
  85. data/lib/wx/rtc/rich_text_composite_object.rb +25 -0
  86. data/lib/wx/rtc/rich_text_ctrl.rb +25 -0
  87. data/lib/wx/rtc/rich_text_paragraph.rb +25 -0
  88. data/lib/wx/stc/require.rb +1 -0
  89. data/lib/wx/stc/styled_text_ctrl.rb +25 -0
  90. data/lib/wx/version.rb +1 -1
  91. data/rakelib/lib/config/linux.rb +0 -3
  92. data/rakelib/lib/config/macosx.rb +1 -1
  93. data/rakelib/lib/config/mingw.rb +1 -1
  94. data/rakelib/lib/config/unixish.rb +1 -1
  95. data/rakelib/lib/config.rb +14 -4
  96. data/rakelib/lib/core/include/funcall.inc +33 -14
  97. data/rakelib/lib/core/include/swigdirector.inc +384 -0
  98. data/rakelib/lib/core/include/swigrubyerrors.inc +161 -0
  99. data/{ext/wxruby3/swig/custom/swig4/rubyrun.swg → rakelib/lib/core/include/swigrubyrun.inc} +245 -120
  100. data/rakelib/lib/core/include/swigrun.inc +700 -0
  101. data/rakelib/lib/core/package.rb +19 -9
  102. data/rakelib/lib/core/parameter.rb +3 -0
  103. data/rakelib/lib/core/spec.rb +6 -1
  104. data/rakelib/lib/director/accelerator.rb +3 -4
  105. data/rakelib/lib/director/accessible.rb +47 -0
  106. data/rakelib/lib/director/animation.rb +1 -1
  107. data/rakelib/lib/director/animation_ctrl.rb +20 -0
  108. data/rakelib/lib/director/app.rb +15 -304
  109. data/rakelib/lib/director/app_traits.rb +10 -12
  110. data/rakelib/lib/director/art_provider.rb +1 -1
  111. data/rakelib/lib/director/ctrl_with_items.rb +17 -5
  112. data/rakelib/lib/director/data_format.rb +1 -1
  113. data/rakelib/lib/director/data_object_simple_base.rb +1 -2
  114. data/rakelib/lib/director/derived_dc.rb +1 -1
  115. data/rakelib/lib/director/dialog.rb +6 -0
  116. data/rakelib/lib/director/dialup_event.rb +44 -0
  117. data/rakelib/lib/director/dialup_manager.rb +45 -0
  118. data/rakelib/lib/director/drag_image.rb +2 -3
  119. data/rakelib/lib/director/event.rb +22 -4
  120. data/rakelib/lib/director/file_ctrl.rb +35 -0
  121. data/rakelib/lib/director/file_ctrl_event.rb +26 -0
  122. data/rakelib/lib/director/frame.rb +1 -3
  123. data/rakelib/lib/director/gdicommon.rb +27 -11
  124. data/rakelib/lib/director/graphics_context.rb +2 -4
  125. data/rakelib/lib/director/grid_cell_editor.rb +6 -6
  126. data/rakelib/lib/director/grid_ctrl.rb +34 -3
  127. data/rakelib/lib/director/help_controller.rb +1 -1
  128. data/rakelib/lib/director/icon.rb +5 -2
  129. data/rakelib/lib/director/list_ctrl.rb +5 -6
  130. data/rakelib/lib/director/locale.rb +1 -3
  131. data/rakelib/lib/director/log.rb +1 -4
  132. data/rakelib/lib/director/media_ctrl.rb +54 -0
  133. data/rakelib/lib/director/menu.rb +16 -1
  134. data/rakelib/lib/director/menu_item.rb +2 -2
  135. data/rakelib/lib/director/pgarray_editor_dialog.rb +0 -6
  136. data/rakelib/lib/director/pgeditor.rb +2 -2
  137. data/rakelib/lib/director/pgproperties.rb +3 -3
  138. data/rakelib/lib/director/pgproperty.rb +24 -1
  139. data/rakelib/lib/director/property_grid_interface.rb +5 -10
  140. data/rakelib/lib/director/richtext_buffer.rb +1 -1
  141. data/rakelib/lib/director/richtext_composite_object.rb +25 -0
  142. data/rakelib/lib/director/richtext_ctrl.rb +15 -5
  143. data/rakelib/lib/director/richtext_formatting_dialog.rb +7 -5
  144. data/rakelib/lib/director/richtext_paragraph_layout_box.rb +9 -7
  145. data/rakelib/lib/director/sash_event.rb +42 -0
  146. data/rakelib/lib/director/sizer.rb +79 -1
  147. data/rakelib/lib/director/sizer_item.rb +22 -0
  148. data/rakelib/lib/director/static_box.rb +4 -5
  149. data/rakelib/lib/director/styled_text_ctrl.rb +12 -0
  150. data/rakelib/lib/director/task_bar_button.rb +30 -0
  151. data/rakelib/lib/director/task_bar_icon.rb +6 -14
  152. data/rakelib/lib/director/textctrl.rb +12 -1
  153. data/rakelib/lib/director/tool_tip.rb +1 -1
  154. data/rakelib/lib/director/top_level_window.rb +4 -5
  155. data/rakelib/lib/director/tree_ctrl.rb +24 -50
  156. data/rakelib/lib/director/variant.rb +1 -1
  157. data/rakelib/lib/director/window.rb +24 -5
  158. data/rakelib/lib/director.rb +4 -4
  159. data/rakelib/lib/extractor/function.rb +6 -6
  160. data/rakelib/lib/extractor.rb +34 -5
  161. data/rakelib/lib/generate/analyzer.rb +8 -3
  162. data/rakelib/lib/generate/doc/animation_ctrl.yaml +15 -0
  163. data/rakelib/lib/generate/doc/busy_info.yaml +0 -2
  164. data/rakelib/lib/generate/doc/clipboard.yaml +0 -2
  165. data/rakelib/lib/generate/doc/cursor.yaml +0 -2
  166. data/rakelib/lib/generate/doc/events.yaml +10 -4
  167. data/rakelib/lib/generate/doc/panel.yaml +7 -0
  168. data/rakelib/lib/generate/doc/static_box.yaml +8 -0
  169. data/rakelib/lib/generate/doc/xml_resource.yaml +3 -0
  170. data/rakelib/lib/generate/doc.rb +89 -16
  171. data/rakelib/lib/generate/interface.rb +4 -3
  172. data/rakelib/lib/specs/interfaces.rb +161 -156
  173. data/rakelib/lib/swig_runner.rb +4 -50
  174. data/rakelib/lib/typemap/common.rb +54 -10
  175. data/rakelib/lib/typemap/data_format.rb +1 -1
  176. data/rakelib/lib/typemap/data_object_data.rb +2 -2
  177. data/rakelib/lib/typemap/pgprop_arg.rb +7 -2
  178. data/rakelib/lib/typemap/points_list.rb +5 -7
  179. data/rakelib/lib/util/string.rb +10 -8
  180. data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +74 -2
  181. data/rakelib/yard/templates/default/fulldoc/html/full_list.erb +38 -0
  182. data/rakelib/yard/templates/default/fulldoc/html/setup.rb +39 -0
  183. data/rakelib/yard/templates/default/tags/html/wxrb_require.erb +10 -0
  184. data/rakelib/yard/templates/default/tags/setup.rb +16 -0
  185. data/rakelib/yard/yard-custom-templates.rb +3 -0
  186. data/samples/text/richtext.rb +0 -30
  187. data/samples/treectrl/treectrl.rb +1 -1
  188. data/tests/media/beep_lo.wav +0 -0
  189. data/tests/test_app_exit_exception.rb +36 -0
  190. data/tests/test_app_init_exception.rb +20 -0
  191. data/tests/test_book_controls.rb +29 -0
  192. data/tests/test_exceptions.rb +41 -0
  193. data/tests/test_list_ctrl.rb +1 -1
  194. data/tests/test_media_ctrl.rb +38 -0
  195. data/tests/test_menu.rb +69 -0
  196. data/tests/test_pg.rb +27 -0
  197. data/tests/test_richtext.rb +45 -0
  198. data/tests/test_sizer.rb +59 -0
  199. data/tests/test_std_controls.rb +78 -1
  200. data/tests/test_styled_text_ctrl.rb +46 -0
  201. data/tests/test_tree_ctrl.rb +138 -0
  202. data/tests/test_window.rb +12 -0
  203. data/tests/testapp_noframe.rb +1 -1
  204. metadata +54 -5
  205. data/ext/wxruby3/swig/custom/swig3/rubyrun.swg +0 -456
@@ -0,0 +1,700 @@
1
+ // Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ //
3
+ // This software is released under the MIT license.
4
+
5
+ // SWIG runtime
6
+
7
+ /* inline attribute */
8
+ #ifndef SWIGINLINE
9
+ # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
10
+ # define SWIGINLINE inline
11
+ # else
12
+ # define SWIGINLINE
13
+ # endif
14
+ #endif
15
+
16
+ /* attribute recognised by some compilers to avoid 'unused' warnings */
17
+ #ifndef SWIGUNUSED
18
+ # if defined(__GNUC__)
19
+ # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
20
+ # define SWIGUNUSED __attribute__ ((__unused__))
21
+ # else
22
+ # define SWIGUNUSED
23
+ # endif
24
+ # elif defined(__ICC)
25
+ # define SWIGUNUSED __attribute__ ((__unused__))
26
+ # else
27
+ # define SWIGUNUSED
28
+ # endif
29
+ #endif
30
+
31
+ #ifndef SWIG_MSC_UNSUPPRESS_4505
32
+ # if defined(_MSC_VER)
33
+ # pragma warning(disable : 4505) /* unreferenced local function has been removed */
34
+ # endif
35
+ #endif
36
+
37
+ #ifndef SWIGUNUSEDPARM
38
+ # ifdef __cplusplus
39
+ # define SWIGUNUSEDPARM(p)
40
+ # else
41
+ # define SWIGUNUSEDPARM(p) p SWIGUNUSED
42
+ # endif
43
+ #endif
44
+
45
+ /* internal SWIG method */
46
+ #ifndef SWIGINTERN
47
+ # define SWIGINTERN static SWIGUNUSED
48
+ #endif
49
+
50
+ /* This should only be incremented when either the layout of swig_type_info changes,
51
+ or for whatever reason, the runtime changes incompatibly */
52
+ #define SWIG_RUNTIME_VERSION "4"
53
+
54
+ /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
55
+ #ifdef SWIG_TYPE_TABLE
56
+ # define SWIG_QUOTE_STRING(x) #x
57
+ # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
58
+ # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
59
+ #else
60
+ # define SWIG_TYPE_TABLE_NAME
61
+ #endif
62
+
63
+ /*
64
+ You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
65
+ creating a static or dynamic library from the SWIG runtime code.
66
+ In 99.9% of the cases, SWIG just needs to declare them as 'static'.
67
+
68
+ But only do this if strictly necessary, ie, if you have problems
69
+ with your compiler or suchlike.
70
+ */
71
+
72
+ #ifndef SWIGRUNTIME
73
+ # define SWIGRUNTIME SWIGINTERN
74
+ #endif
75
+
76
+ #ifndef SWIGRUNTIMEINLINE
77
+ # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
78
+ #endif
79
+
80
+ /* Generic buffer size */
81
+ #ifndef SWIG_BUFFER_SIZE
82
+ # define SWIG_BUFFER_SIZE 1024
83
+ #endif
84
+
85
+ /* Flags for pointer conversions */
86
+ #define SWIG_POINTER_DISOWN 0x1
87
+ #define SWIG_CAST_NEW_MEMORY 0x2
88
+ #define SWIG_POINTER_NO_NULL 0x4
89
+ #define SWIG_POINTER_CLEAR 0x8
90
+ #define SWIG_POINTER_RELEASE (SWIG_POINTER_CLEAR | SWIG_POINTER_DISOWN)
91
+
92
+ /* Flags for new pointer objects */
93
+ #define SWIG_POINTER_OWN 0x1
94
+
95
+
96
+ /*
97
+ Flags/methods for returning states.
98
+
99
+ The SWIG conversion methods, as ConvertPtr, return an integer
100
+ that tells if the conversion was successful or not. And if not,
101
+ an error code can be returned (see swigerrors.swg for the codes).
102
+
103
+ Use the following macros/flags to set or process the returning
104
+ states.
105
+
106
+ In old versions of SWIG, code such as the following was usually written:
107
+
108
+ if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
109
+ // success code
110
+ } else {
111
+ //fail code
112
+ }
113
+
114
+ Now you can be more explicit:
115
+
116
+ int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
117
+ if (SWIG_IsOK(res)) {
118
+ // success code
119
+ } else {
120
+ // fail code
121
+ }
122
+
123
+ which is the same really, but now you can also do
124
+
125
+ Type *ptr;
126
+ int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
127
+ if (SWIG_IsOK(res)) {
128
+ // success code
129
+ if (SWIG_IsNewObj(res) {
130
+ ...
131
+ delete *ptr;
132
+ } else {
133
+ ...
134
+ }
135
+ } else {
136
+ // fail code
137
+ }
138
+
139
+ I.e., now SWIG_ConvertPtr can return new objects and you can
140
+ identify the case and take care of the deallocation. Of course that
141
+ also requires SWIG_ConvertPtr to return new result values, such as
142
+
143
+ int SWIG_ConvertPtr(obj, ptr,...) {
144
+ if (<obj is ok>) {
145
+ if (<need new object>) {
146
+ *ptr = <ptr to new allocated object>;
147
+ return SWIG_NEWOBJ;
148
+ } else {
149
+ *ptr = <ptr to old object>;
150
+ return SWIG_OLDOBJ;
151
+ }
152
+ } else {
153
+ return SWIG_BADOBJ;
154
+ }
155
+ }
156
+
157
+ Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
158
+ more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
159
+ SWIG errors code.
160
+
161
+ Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
162
+ allows returning the 'cast rank', for example, if you have this
163
+
164
+ int food(double)
165
+ int fooi(int);
166
+
167
+ and you call
168
+
169
+ food(1) // cast rank '1' (1 -> 1.0)
170
+ fooi(1) // cast rank '0'
171
+
172
+ just use the SWIG_AddCast()/SWIG_CheckState()
173
+ */
174
+
175
+ #define SWIG_OK (0)
176
+ /* Runtime errors are < 0 */
177
+ #define SWIG_ERROR (-1)
178
+ /* Errors in range -1 to -99 are in swigerrors.swg (errors for all languages including those not using the runtime) */
179
+ /* Errors in range -100 to -199 are language specific errors defined in *errors.swg */
180
+ /* Errors < -200 are generic runtime specific errors */
181
+ #define SWIG_ERROR_RELEASE_NOT_OWNED (-200)
182
+
183
+ #define SWIG_IsOK(r) (r >= 0)
184
+ #define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
185
+
186
+ /* The CastRankLimit says how many bits are used for the cast rank */
187
+ #define SWIG_CASTRANKLIMIT (1 << 8)
188
+ /* The NewMask denotes the object was created (using new/malloc) */
189
+ #define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1)
190
+ /* The TmpMask is for in/out typemaps that use temporary objects */
191
+ #define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1)
192
+ /* Simple returning values */
193
+ #define SWIG_BADOBJ (SWIG_ERROR)
194
+ #define SWIG_OLDOBJ (SWIG_OK)
195
+ #define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK)
196
+ #define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK)
197
+ /* Check, add and del object mask methods */
198
+ #define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
199
+ #define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
200
+ #define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
201
+ #define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
202
+ #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
203
+ #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
204
+
205
+ /* Cast-Rank Mode */
206
+ #if defined(SWIG_CASTRANK_MODE)
207
+ # ifndef SWIG_TypeRank
208
+ # define SWIG_TypeRank unsigned long
209
+ # endif
210
+ # ifndef SWIG_MAXCASTRANK /* Default cast allowed */
211
+ # define SWIG_MAXCASTRANK (2)
212
+ # endif
213
+ # define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1)
214
+ # define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK)
215
+ SWIGINTERNINLINE int SWIG_AddCast(int r) {
216
+ return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
217
+ }
218
+ SWIGINTERNINLINE int SWIG_CheckState(int r) {
219
+ return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
220
+ }
221
+ #else /* no cast-rank mode */
222
+ # define SWIG_AddCast(r) (r)
223
+ # define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
224
+ #endif
225
+
226
+
227
+ #include <string.h>
228
+
229
+ #ifdef __cplusplus
230
+ extern "C" {
231
+ #endif
232
+
233
+ typedef void *(*swig_converter_func)(void *, int *);
234
+ typedef struct swig_type_info *(*swig_dycast_func)(void **);
235
+
236
+ /* Structure to store information on one type */
237
+ typedef struct WXRB_EXPORT_FLAG swig_type_info {
238
+ const char *name; /* mangled name of this type */
239
+ const char *str; /* human readable name of this type */
240
+ swig_dycast_func dcast; /* dynamic cast function down a hierarchy */
241
+ struct swig_cast_info *cast; /* linked list of types that can cast into this type */
242
+ void *clientdata; /* language specific type data */
243
+ int owndata; /* flag if the structure owns the clientdata */
244
+ } swig_type_info;
245
+
246
+ /* Structure to store a type and conversion function used for casting */
247
+ typedef struct WXRB_EXPORT_FLAG swig_cast_info {
248
+ swig_type_info *type; /* pointer to type that is equivalent to this type */
249
+ swig_converter_func converter; /* function to cast the void pointers */
250
+ struct swig_cast_info *next; /* pointer to next cast in linked list */
251
+ struct swig_cast_info *prev; /* pointer to the previous cast */
252
+ } swig_cast_info;
253
+
254
+ /* Structure used to store module information
255
+ * Each module generates one structure like this, and the runtime collects
256
+ * all of these structures and stores them in a circularly linked list.*/
257
+ typedef struct WXRB_EXPORT_FLAG swig_module_info {
258
+ swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */
259
+ size_t size; /* Number of types in this module */
260
+ struct swig_module_info *next; /* Pointer to next element in circularly linked list */
261
+ swig_type_info **type_initial; /* Array of initially generated type structures */
262
+ swig_cast_info **cast_initial; /* Array of initially generated casting structures */
263
+ void *clientdata; /* Language specific module data */
264
+ } swig_module_info;
265
+
266
+ /*
267
+ Compare two type names skipping the space characters, therefore
268
+ "char*" == "char *" and "Class<int>" == "Class<int >", etc.
269
+
270
+ Return 0 when the two name types are equivalent, as in
271
+ strncmp, but skipping ' '.
272
+ */
273
+ WXRB_EXPORT_FLAG int
274
+ SWIG_TypeNameComp(const char *f1, const char *l1,
275
+ const char *f2, const char *l2)
276
+ {
277
+ for (;(f1 != l1) && (f2 != l2); ++f1, ++f2)
278
+ {
279
+ while ((*f1 == ' ') && (f1 != l1)) ++f1;
280
+ while ((*f2 == ' ') && (f2 != l2)) ++f2;
281
+ if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
282
+ }
283
+ return (int)((l1 - f1) - (l2 - f2));
284
+ }
285
+
286
+ /*
287
+ Check type equivalence in a name list like <name1>|<name2>|...
288
+ Return 0 if equal, -1 if nb < tb, 1 if nb > tb
289
+ */
290
+ WXRB_EXPORT_FLAG int
291
+ SWIG_TypeCmp(const char *nb, const char *tb)
292
+ {
293
+ int equiv = 1;
294
+ const char* te = tb + strlen(tb);
295
+ const char* ne = nb;
296
+ while (equiv != 0 && *ne)
297
+ {
298
+ for (nb = ne; *ne; ++ne)
299
+ {
300
+ if (*ne == '|') break;
301
+ }
302
+ equiv = SWIG_TypeNameComp(nb, ne, tb, te);
303
+ if (*ne) ++ne;
304
+ }
305
+ return equiv;
306
+ }
307
+
308
+ /*
309
+ Check type equivalence in a name list like <name1>|<name2>|...
310
+ Return 0 if not equal, 1 if equal
311
+ */
312
+ SWIGRUNTIME int
313
+ SWIG_TypeEquiv(const char *nb, const char *tb) {
314
+ return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
315
+ }
316
+
317
+ /*
318
+ Check the typename
319
+ */
320
+ WXRB_EXPORT_FLAG swig_cast_info *
321
+ SWIG_TypeCheck(const char *c, swig_type_info *ty)
322
+ {
323
+ if (ty)
324
+ {
325
+ swig_cast_info *iter = ty->cast;
326
+ while (iter)
327
+ {
328
+ if (strcmp(iter->type->name, c) == 0)
329
+ {
330
+ if (iter == ty->cast)
331
+ return iter;
332
+ /* Move iter to the top of the linked list */
333
+ iter->prev->next = iter->next;
334
+ if (iter->next)
335
+ iter->next->prev = iter->prev;
336
+ iter->next = ty->cast;
337
+ iter->prev = 0;
338
+ if (ty->cast) ty->cast->prev = iter;
339
+ ty->cast = iter;
340
+ return iter;
341
+ }
342
+ iter = iter->next;
343
+ }
344
+ }
345
+ return 0;
346
+ }
347
+
348
+ /*
349
+ Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
350
+ */
351
+ WXRB_EXPORT_FLAG swig_cast_info *
352
+ SWIG_TypeCheckStruct(const swig_type_info *from, swig_type_info *ty)
353
+ {
354
+ if (ty)
355
+ {
356
+ swig_cast_info *iter = ty->cast;
357
+ while (iter)
358
+ {
359
+ if (iter->type == from)
360
+ {
361
+ if (iter == ty->cast)
362
+ return iter;
363
+ /* Move iter to the top of the linked list */
364
+ iter->prev->next = iter->next;
365
+ if (iter->next)
366
+ iter->next->prev = iter->prev;
367
+ iter->next = ty->cast;
368
+ iter->prev = 0;
369
+ if (ty->cast) ty->cast->prev = iter;
370
+ ty->cast = iter;
371
+ return iter;
372
+ }
373
+ iter = iter->next;
374
+ }
375
+ }
376
+ return 0;
377
+ }
378
+
379
+ /*
380
+ Cast a pointer up an inheritance hierarchy
381
+ */
382
+ SWIGRUNTIMEINLINE void *
383
+ SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
384
+ return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
385
+ }
386
+
387
+ /*
388
+ Dynamic pointer casting. Down an inheritance hierarchy
389
+ */
390
+ WXRB_EXPORT_FLAG swig_type_info *
391
+ SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr)
392
+ {
393
+ swig_type_info *lastty = ty;
394
+ if (!ty || !ty->dcast) return ty;
395
+ while (ty && (ty->dcast))
396
+ {
397
+ ty = (*ty->dcast)(ptr);
398
+ if (ty) lastty = ty;
399
+ }
400
+ return lastty;
401
+ }
402
+
403
+ /*
404
+ Return the name associated with this type
405
+ */
406
+ SWIGRUNTIMEINLINE const char *
407
+ SWIG_TypeName(const swig_type_info *ty) {
408
+ return ty->name;
409
+ }
410
+
411
+ /*
412
+ Return the pretty name associated with this type,
413
+ that is an unmangled type name in a form presentable to the user.
414
+ */
415
+ WXRB_EXPORT_FLAG const char *
416
+ SWIG_TypePrettyName(const swig_type_info *type)
417
+ {
418
+ /* The "str" field contains the equivalent pretty names of the
419
+ type, separated by vertical-bar characters. Choose the last
420
+ name. It should be the most specific; a fully resolved name
421
+ but not necessarily with default template parameters expanded. */
422
+ if (!type) return NULL;
423
+ if (type->str != NULL)
424
+ {
425
+ const char *last_name = type->str;
426
+ const char *s;
427
+ for (s = type->str; *s; s++)
428
+ if (*s == '|') last_name = s+1;
429
+ return last_name;
430
+ }
431
+ else
432
+ return type->name;
433
+ }
434
+
435
+ /*
436
+ Set the clientdata field for a type
437
+ */
438
+ WXRB_EXPORT_FLAG void
439
+ SWIG_TypeClientData(swig_type_info *ti, void *clientdata)
440
+ {
441
+ swig_cast_info *cast = ti->cast;
442
+ /* if (ti->clientdata == clientdata) return; */
443
+ ti->clientdata = clientdata;
444
+
445
+ while (cast)
446
+ {
447
+ if (!cast->converter)
448
+ {
449
+ swig_type_info *tc = cast->type;
450
+ if (!tc->clientdata)
451
+ {
452
+ SWIG_TypeClientData(tc, clientdata);
453
+ }
454
+ }
455
+ cast = cast->next;
456
+ }
457
+ }
458
+ WXRB_EXPORT_FLAG void
459
+ SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata)
460
+ {
461
+ SWIG_TypeClientData(ti, clientdata);
462
+ ti->owndata = 1;
463
+ }
464
+
465
+ /*
466
+ Search for a swig_type_info structure only by mangled name
467
+ Search is a O(log #types)
468
+
469
+ We start searching at module start, and finish searching when start == end.
470
+ Note: if start == end at the beginning of the function, we go all the way around
471
+ the circular list.
472
+ */
473
+ WXRB_EXPORT_FLAG swig_type_info *
474
+ SWIG_MangledTypeQueryModule(swig_module_info *start,
475
+ swig_module_info *end,
476
+ const char *name)
477
+ {
478
+ swig_module_info *iter = start;
479
+ do
480
+ {
481
+ if (iter->size)
482
+ {
483
+ size_t l = 0;
484
+ size_t r = iter->size - 1;
485
+ do
486
+ {
487
+ /* since l+r >= 0, we can (>> 1) instead (/ 2) */
488
+ size_t i = (l + r) >> 1;
489
+ const char *iname = iter->types[i]->name;
490
+ if (iname)
491
+ {
492
+ int compare = strcmp(name, iname);
493
+ if (compare == 0)
494
+ {
495
+ return iter->types[i];
496
+ }
497
+ else if (compare < 0)
498
+ {
499
+ if (i)
500
+ {
501
+ r = i - 1;
502
+ }
503
+ else
504
+ {
505
+ break;
506
+ }
507
+ }
508
+ else if (compare > 0)
509
+ {
510
+ l = i + 1;
511
+ }
512
+ }
513
+ else
514
+ {
515
+ break; /* should never happen */
516
+ }
517
+ } while (l <= r);
518
+ }
519
+ iter = iter->next;
520
+ } while (iter != end);
521
+ return 0;
522
+ }
523
+
524
+ /*
525
+ Search for a swig_type_info structure for either a mangled name or a human readable name.
526
+ It first searches the mangled names of the types, which is a O(log #types)
527
+ If a type is not found it then searches the human readable names, which is O(#types).
528
+
529
+ We start searching at module start, and finish searching when start == end.
530
+ Note: if start == end at the beginning of the function, we go all the way around
531
+ the circular list.
532
+ */
533
+ WXRB_EXPORT_FLAG swig_type_info *
534
+ SWIG_TypeQueryModule(swig_module_info *start,
535
+ swig_module_info *end,
536
+ const char *name)
537
+ {
538
+ /* STEP 1: Search the name field using binary search */
539
+ swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
540
+ if (ret)
541
+ {
542
+ return ret;
543
+ }
544
+ else
545
+ {
546
+ /* STEP 2: If the type hasn't been found, do a complete search
547
+ of the str field (the human readable name) */
548
+ swig_module_info *iter = start;
549
+ do
550
+ {
551
+ size_t i = 0;
552
+ for (; i < iter->size; ++i)
553
+ {
554
+ if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
555
+ return iter->types[i];
556
+ }
557
+ iter = iter->next;
558
+ } while (iter != end);
559
+ }
560
+
561
+ /* neither found a match */
562
+ return 0;
563
+ }
564
+
565
+ /*
566
+ Pack binary data into a string
567
+ */
568
+ WXRB_EXPORT_FLAG char *
569
+ SWIG_PackData(char *c, void *ptr, size_t sz)
570
+ {
571
+ static const char hex[17] = "0123456789abcdef";
572
+ const unsigned char *u = (unsigned char *) ptr;
573
+ const unsigned char *eu = u + sz;
574
+ for (; u != eu; ++u)
575
+ {
576
+ unsigned char uu = *u;
577
+ *(c++) = hex[(uu & 0xf0) >> 4];
578
+ *(c++) = hex[uu & 0xf];
579
+ }
580
+ return c;
581
+ }
582
+
583
+ /*
584
+ Unpack binary data from a string
585
+ */
586
+ WXRB_EXPORT_FLAG const char *
587
+ SWIG_UnpackData(const char *c, void *ptr, size_t sz)
588
+ {
589
+ unsigned char *u = (unsigned char *) ptr;
590
+ const unsigned char *eu = u + sz;
591
+ for (; u != eu; ++u)
592
+ {
593
+ char d = *(c++);
594
+ unsigned char uu;
595
+ if ((d >= '0') && (d <= '9'))
596
+ uu = (unsigned char)((d - '0') << 4);
597
+ else if ((d >= 'a') && (d <= 'f'))
598
+ uu = (unsigned char)((d - ('a'-10)) << 4);
599
+ else
600
+ return (char *) 0;
601
+ d = *(c++);
602
+ if ((d >= '0') && (d <= '9'))
603
+ uu |= (unsigned char)(d - '0');
604
+ else if ((d >= 'a') && (d <= 'f'))
605
+ uu |= (unsigned char)(d - ('a'-10));
606
+ else
607
+ return (char *) 0;
608
+ *u = uu;
609
+ }
610
+ return c;
611
+ }
612
+
613
+ /*
614
+ Pack 'void *' into a string buffer.
615
+ */
616
+ WXRB_EXPORT_FLAG char *
617
+ SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz)
618
+ {
619
+ char *r = buff;
620
+ if ((2*sizeof(void *) + 2) > bsz) return 0;
621
+ *(r++) = '_';
622
+ r = SWIG_PackData(r,&ptr,sizeof(void *));
623
+ if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
624
+ strcpy(r,name);
625
+ return buff;
626
+ }
627
+
628
+ WXRB_EXPORT_FLAG const char *
629
+ SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name)
630
+ {
631
+ if (*c != '_')
632
+ {
633
+ if (strcmp(c,"NULL") == 0)
634
+ {
635
+ *ptr = (void *) 0;
636
+ return name;
637
+ }
638
+ else
639
+ {
640
+ return 0;
641
+ }
642
+ }
643
+ return SWIG_UnpackData(++c,ptr,sizeof(void *));
644
+ }
645
+
646
+ WXRB_EXPORT_FLAG char *
647
+ SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz)
648
+ {
649
+ char *r = buff;
650
+ size_t lname = (name ? strlen(name) : 0);
651
+ if ((2*sz + 2 + lname) > bsz) return 0;
652
+ *(r++) = '_';
653
+ r = SWIG_PackData(r,ptr,sz);
654
+ if (lname)
655
+ {
656
+ strncpy(r,name,lname+1);
657
+ }
658
+ else
659
+ {
660
+ *r = 0;
661
+ }
662
+ return buff;
663
+ }
664
+
665
+ WXRB_EXPORT_FLAG const char *
666
+ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name)
667
+ {
668
+ if (*c != '_')
669
+ {
670
+ if (strcmp(c,"NULL") == 0)
671
+ {
672
+ memset(ptr,0,sz);
673
+ return name;
674
+ }
675
+ else
676
+ {
677
+ return 0;
678
+ }
679
+ }
680
+ return SWIG_UnpackData(++c,ptr,sz);
681
+ }
682
+
683
+ #ifdef __cplusplus
684
+ }
685
+ #endif
686
+
687
+ /* Errors in SWIG */
688
+ #define SWIG_UnknownError -1
689
+ #define SWIG_IOError -2
690
+ #define SWIG_RuntimeError -3
691
+ #define SWIG_IndexError -4
692
+ #define SWIG_TypeError -5
693
+ #define SWIG_DivisionByZero -6
694
+ #define SWIG_OverflowError -7
695
+ #define SWIG_SyntaxError -8
696
+ #define SWIG_ValueError -9
697
+ #define SWIG_SystemError -10
698
+ #define SWIG_AttributeError -11
699
+ #define SWIG_MemoryError -12
700
+ #define SWIG_NullReferenceError -13