]> git.saurik.com Git - wxWidgets.git/blob - utils/wxPython/SWIG.patches/SWIG.patch
added double click handler. various minor fixes.
[wxWidgets.git] / utils / wxPython / SWIG.patches / SWIG.patch
1 *** cplus.cxx.old Mon Feb 02 14:55:42 1998
2 --- cplus.cxx Fri Aug 28 12:02:50 1998
3 ***************
4 *** 581,612 ****
5 // Class for managing class members (internally)
6 // ----------------------------------------------------------------------
7
8 static char *inherit_base_class = 0;
9
10 - class CPP_class {
11 - public:
12 - char *classname; // Real class name
13 - char *classrename; // New name of class (if applicable)
14 - char *classtype; // class type (struct, union, class)
15 - int strip; // Strip off class declarator
16 - int wextern; // Value of extern wrapper variable for this class
17 - int have_constructor; // Status bit indicating if we've seen a constructor
18 - int have_destructor; // Status bit indicating if a destructor has been seen
19 - int is_abstract; // Status bit indicating if this is an abstract class
20 - int generate_default; // Generate default constructors
21 - int objective_c; // Set if this is an objective C class
22 - int error; // Set if this class can't be generated
23 - int line; // Line number
24 - char **baseclass; // Base classes (if any)
25 - Hash *local; // Hash table for local types
26 - Hash *scope; // Local scope hash table
27 - DocEntry *de; // Documentation entry of class
28 - CPP_member *members; // Linked list of members
29 - CPP_class *next; // Next class
30 - static CPP_class *classlist; // List of all classes stored
31
32 ! CPP_class(char *name, char *ctype) {
33 CPP_class *c;
34 classname = copy_string(name);
35 classtype = copy_string(ctype);
36 classrename = 0;
37 --- 581,593 ----
38 // Class for managing class members (internally)
39 // ----------------------------------------------------------------------
40
41 static char *inherit_base_class = 0;
42 + CPP_class *CPP_class::classlist = 0;
43 + CPP_class *current_class;
44
45
46 ! CPP_class::CPP_class(char *name, char *ctype) {
47 CPP_class *c;
48 classname = copy_string(name);
49 classtype = copy_string(ctype);
50 classrename = 0;
51 ***************
52 *** 642,650 ****
53 // ------------------------------------------------------------------------------
54 // Add a new C++ member to this class
55 // ------------------------------------------------------------------------------
56
57 ! void add_member(CPP_member *m) {
58 CPP_member *cm;
59
60 // Set base class where this was defined
61 if (inherit_base_class)
62 --- 623,631 ----
63 // ------------------------------------------------------------------------------
64 // Add a new C++ member to this class
65 // ------------------------------------------------------------------------------
66
67 ! void CPP_class::add_member(CPP_member *m) {
68 CPP_member *cm;
69
70 // Set base class where this was defined
71 if (inherit_base_class)
72 ***************
73 *** 664,672 ****
74 // ------------------------------------------------------------------------------
75 // Search for a member with the given name. Returns the member on success, 0 on failure
76 // ------------------------------------------------------------------------------
77
78 ! CPP_member *search_member(char *name) {
79 CPP_member *m;
80 char *c;
81 m = members;
82 while (m) {
83 --- 645,653 ----
84 // ------------------------------------------------------------------------------
85 // Search for a member with the given name. Returns the member on success, 0 on failure
86 // ------------------------------------------------------------------------------
87
88 ! CPP_member *CPP_class::search_member(char *name) {
89 CPP_member *m;
90 char *c;
91 m = members;
92 while (m) {
93 ***************
94 *** 680,688 ****
95 // ------------------------------------------------------------------------------
96 // Inherit. Put all the declarations associated with this class into the current
97 // ------------------------------------------------------------------------------
98
99 ! void inherit_decls(int mode) {
100 CPP_member *m;
101 m = members;
102 while (m) {
103 inherit_base_class = m->base;
104 --- 661,669 ----
105 // ------------------------------------------------------------------------------
106 // Inherit. Put all the declarations associated with this class into the current
107 // ------------------------------------------------------------------------------
108
109 ! void CPP_class::inherit_decls(int mode) {
110 CPP_member *m;
111 m = members;
112 while (m) {
113 inherit_base_class = m->base;
114 ***************
115 *** 696,704 ****
116 // ------------------------------------------------------------------------------
117 // Emit all of the declarations associated with this class
118 // ------------------------------------------------------------------------------
119
120 ! void emit_decls() {
121 CPP_member *m = members;
122 int last_scope = name_scope(0);
123 abstract = is_abstract;
124 while (m) {
125 --- 677,685 ----
126 // ------------------------------------------------------------------------------
127 // Emit all of the declarations associated with this class
128 // ------------------------------------------------------------------------------
129
130 ! void CPP_class::emit_decls() {
131 CPP_member *m = members;
132 int last_scope = name_scope(0);
133 abstract = is_abstract;
134 while (m) {
135 ***************
136 *** 713,721 ****
137 // ------------------------------------------------------------------------------
138 // Search for a given class in the list
139 // ------------------------------------------------------------------------------
140
141 ! static CPP_class *search(char *name) {
142 CPP_class *c;
143 c = classlist;
144 if (!name) return 0;
145 while (c) {
146 --- 694,702 ----
147 // ------------------------------------------------------------------------------
148 // Search for a given class in the list
149 // ------------------------------------------------------------------------------
150
151 ! CPP_class *CPP_class::search(char *name) {
152 CPP_class *c;
153 c = classlist;
154 if (!name) return 0;
155 while (c) {
156 ***************
157 *** 729,737 ****
158 // Add default constructors and destructors
159 //
160 // ------------------------------------------------------------------------------
161
162 ! void create_default() {
163 if (!generate_default) return;
164
165 // Try to generate a constructor if not available.
166
167 --- 710,718 ----
168 // Add default constructors and destructors
169 //
170 // ------------------------------------------------------------------------------
171
172 ! void CPP_class::create_default() {
173 if (!generate_default) return;
174
175 // Try to generate a constructor if not available.
176
177 ***************
178 *** 751,764 ****
179 // ------------------------------------------------------------------------------
180 // Dump *all* of the classes saved out to the various
181 // language modules (this does what cplus_close_class used to do)
182 // ------------------------------------------------------------------------------
183 - static void create_all();
184 - };
185 -
186 - CPP_class *CPP_class::classlist = 0;
187 - static CPP_class *current_class;
188 -
189 void CPP_class::create_all() {
190 CPP_class *c;
191 c = classlist;
192 while (c) {
193 --- 732,739 ----
194 *** vector.cxx.old Fri Aug 28 14:23:16 1998
195 --- vector.cxx Fri Aug 28 14:46:52 1998
196 ***************
197 *** 0 ****
198 --- 1,182 ----
199 +
200 + /*******************************************************************************
201 + * Simplified Wrapper and Interface Generator (SWIG)
202 + *
203 + * Dave Beazley
204 + *
205 + * Department of Computer Science Theoretical Division (T-11)
206 + * University of Utah Los Alamos National Laboratory
207 + * Salt Lake City, Utah 84112 Los Alamos, New Mexico 87545
208 + * beazley@cs.utah.edu beazley@lanl.gov
209 + *
210 + * Copyright (c) 1995-1997
211 + * The University of Utah and the Regents of the University of California
212 + * All Rights Reserved
213 + *
214 + * Permission is hereby granted, without written agreement and without
215 + * license or royalty fees, to use, copy, modify, and distribute this
216 + * software and its documentation for any purpose, provided that
217 + * (1) The above copyright notice and the following two paragraphs
218 + * appear in all copies of the source code and (2) redistributions
219 + * including binaries reproduces these notices in the supporting
220 + * documentation. Substantial modifications to this software may be
221 + * copyrighted by their authors and need not follow the licensing terms
222 + * described here, provided that the new terms are clearly indicated in
223 + * all files where they apply.
224 + *
225 + * IN NO EVENT SHALL THE AUTHOR, THE UNIVERSITY OF CALIFORNIA, THE
226 + * UNIVERSITY OF UTAH OR DISTRIBUTORS OF THIS SOFTWARE BE LIABLE TO ANY
227 + * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
228 + * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
229 + * EVEN IF THE AUTHORS OR ANY OF THE ABOVE PARTIES HAVE BEEN ADVISED OF
230 + * THE POSSIBILITY OF SUCH DAMAGE.
231 + *
232 + * THE AUTHOR, THE UNIVERSITY OF CALIFORNIA, AND THE UNIVERSITY OF UTAH
233 + * SPECIFICALLY DISCLAIM ANY WARRANTIES,INCLUDING, BUT NOT LIMITED TO,
234 + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
235 + * PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND
236 + * THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE,
237 + * SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
238 + *
239 + *******************************************************************************/
240 +
241 + #include "internal.h"
242 +
243 + /*******************************************************************************
244 + * $Header$
245 + *
246 + * File : vector.cxx
247 + *
248 + * A very simple Vector class. Allways assumes that memory allocations are
249 + * successful. Should be made more robust...
250 + *
251 + *******************************************************************************/
252 +
253 + void* Vector::s_nullPtr = NULL;
254 +
255 + // -----------------------------------------------------------------------------
256 + // Vector::Vector(size_t allocSize = 8)
257 + //
258 + // Constructor. Creates a new Vector.
259 + //
260 + // Inputs : initial allocation size (optional)
261 + //
262 + // Output : New Vector object.
263 + //
264 + // Side Effects : None
265 + // -----------------------------------------------------------------------------
266 +
267 + Vector::Vector(size_t allocSize)
268 + : m_size(allocSize),
269 + m_count(0),
270 + m_data(0)
271 + {
272 + if (m_size) {
273 + m_data = new void*[m_size];
274 + int i;
275 + for (i=0; i<m_size;i++)
276 + m_data[i] = 0;
277 + }
278 + }
279 +
280 +
281 + // -----------------------------------------------------------------------------
282 + // Vector::~Vector
283 + //
284 + // Destructor. Only cleans up the vector, not its contents!
285 + //
286 + // -----------------------------------------------------------------------------
287 +
288 +
289 + Vector::~Vector() {
290 + if (m_data) {
291 + delete [] m_data;
292 + }
293 +
294 + m_data = 0;
295 + m_size = m_count = 0;
296 + }
297 +
298 +
299 +
300 + // -----------------------------------------------------------------------------
301 + // size_t Vector::extend(size_t newSize)
302 + //
303 + // Extends the vector to at least newSize length. Won't do anything if newSize
304 + // is smaller than the current size of the vector.
305 + //
306 + // Returns the new allocated size.
307 + //
308 + // -----------------------------------------------------------------------------
309 +
310 + #define GRANULARITY 16
311 +
312 + size_t Vector::extend(size_t newSize) {
313 +
314 + if (newSize > m_size) {
315 + newSize = newSize + (GRANULARITY - (newSize % GRANULARITY));
316 +
317 + void** temp = new void*[newSize];
318 + memcpy(temp, m_data, m_size*sizeof(void*));
319 +
320 + int i;
321 + for (i=m_size; i<newSize; i++)
322 + temp[i] = 0;
323 +
324 + delete [] m_data;
325 + m_data = temp;
326 + m_size = newSize;
327 + }
328 + return m_size;
329 + }
330 +
331 +
332 + // -----------------------------------------------------------------------------
333 + // Vector::append(void* object)
334 + //
335 + // Appends the object pointer to vector at index m_count. Increments m_count.
336 + // Returns the new count.
337 + // -----------------------------------------------------------------------------
338 +
339 + size_t Vector::append(void* object) {
340 + if (m_count >= m_size) {
341 + extend(m_count + 1);
342 + }
343 +
344 + m_data[m_count] = object;
345 + m_count += 1;
346 +
347 + return m_count;
348 + }
349 +
350 +
351 + // -----------------------------------------------------------------------------
352 + // Vector::operator[] (size_t idx)
353 + //
354 + // Returns a reference to the void pointer at idx. If idx is beyond the range
355 + // of the vector, returns a reference to s_nullPtr.
356 + //
357 + // -----------------------------------------------------------------------------
358 +
359 + void*& Vector::operator[] (size_t idx) {
360 + if (idx >= m_size) {
361 + s_nullPtr = 0;
362 + return s_nullPtr;
363 + }
364 +
365 + return m_data[idx];
366 + }
367 +
368 +
369 + /***********************************************************************
370 + *
371 + * -- Revision History
372 + * $Log$
373 + * Revision 1.1 1998/10/03 05:56:03 RD
374 + * *** empty log message ***
375 + *
376 + *
377 + ***********************************************************************/
378 +
379 +
380 +
381 +
382 +
383 +
384 *** makefile.msc.old Mon Jun 23 15:15:32 1997
385 --- makefile.msc Fri Aug 28 10:21:58 1998
386 ***************
387 *** 33,50 ****
388 # Normally, you shouldn't have to change anything below this point #
389 ########################################################################
390
391 LIBOBJS = main.obj scanner.obj symbol.obj include.obj types.obj parms.obj emit.obj newdoc.obj ascii.obj \
392 ! html.obj latex.obj cplus.obj lang.obj hash.obj sstring.obj wrapfunc.obj getopt.obj comment.obj typemap.obj naming.obj
393
394 LIBSRCS = main.cxx scanner.cxx symbol.cxx include.cxx types.cxx parms.cxx emit.cxx \
395 ! newdoc.cxx ascii.cxx html.cxx latex.cxx cplus.cxx lang.cxx hash.cxx \
396 sstring.cxx wrapfunc.cxx getopt.cxx comment.cxx typemap.cxx naming.cxx
397
398 LIBHEADERS = internal.h ../Include/swig.h latex.h ascii.h html.h nodoc.h
399 LIBNAME = ..\libswig.lib
400 INCLUDE = -I../Include -I$(STD_INC)
401 ! CFLAGS = -Zi -nologo -DSWIG_LIB="\"$(SWIG_LIB)\"" -DSWIG_CC="\"$(CC)\"" -DMSDOS -DSTDC_HEADERS=1 -DHAVE_LIBDL=1 $(SWIG_OPTS)
402 LD_FLAGS = -VERBOSE
403
404
405 #
406 --- 33,50 ----
407 # Normally, you shouldn't have to change anything below this point #
408 ########################################################################
409
410 LIBOBJS = main.obj scanner.obj symbol.obj include.obj types.obj parms.obj emit.obj newdoc.obj ascii.obj \
411 ! html.obj latex.obj cplus.obj lang.obj hash.obj vector.obj sstring.obj wrapfunc.obj getopt.obj comment.obj typemap.obj naming.obj
412
413 LIBSRCS = main.cxx scanner.cxx symbol.cxx include.cxx types.cxx parms.cxx emit.cxx \
414 ! newdoc.cxx ascii.cxx html.cxx latex.cxx cplus.cxx lang.cxx hash.cxx vector.cxx \
415 sstring.cxx wrapfunc.cxx getopt.cxx comment.cxx typemap.cxx naming.cxx
416
417 LIBHEADERS = internal.h ../Include/swig.h latex.h ascii.h html.h nodoc.h
418 LIBNAME = ..\libswig.lib
419 INCLUDE = -I../Include -I$(STD_INC)
420 ! CFLAGS = -Zi -nologo -DSWIG_LIB="\"$(SWIG_LIB)\"" -DSWIG_CC="\"$(CC)\"" -DMSDOS -DSTDC_HEADERS=1 -DHAVE_LIBDL=1 $(SWIG_OPTS) $(OTHERFLAGS)
421 LD_FLAGS = -VERBOSE
422
423
424 #
425 *** makefile.bc.old Sun Jan 04 12:49:24 1998
426 --- makefile.bc Fri Aug 28 14:42:58 1998
427 ***************
428 *** 34,47 ****
429 ########################################################################
430
431 LIBOBJS = main.obj scanner.obj symbol.obj include.obj types.obj parms.obj \
432 emit.obj newdoc.obj ascii.obj \
433 ! html.obj latex.obj cplus.obj lang.obj hash.obj sstring.obj \
434 wrapfunc.obj getopt.obj comment.obj typemap.obj naming.obj
435
436 LIBSRCS = main.cxx scanner.cxx symbol.cxx include.cxx types.cxx parms.cxx \
437 emit.cxx newdoc.cxx ascii.cxx html.cxx latex.cxx cplus.cxx lang.cxx hash.cxx \
438 ! sstring.cxx wrapfunc.cxx getopt.cxx comment.cxx typemap.cxx naming.cxx
439
440 LIBHEADERS = internal.h ../Include/swig.h latex.h ascii.h html.h nodoc.h
441 LIBNAME = ..\libswig.lib
442 INCLUDE = -I../Include -I$(STD_INC)
443 --- 34,47 ----
444 ########################################################################
445
446 LIBOBJS = main.obj scanner.obj symbol.obj include.obj types.obj parms.obj \
447 emit.obj newdoc.obj ascii.obj \
448 ! html.obj latex.obj cplus.obj lang.obj hash.obj vector.obj sstring.obj \
449 wrapfunc.obj getopt.obj comment.obj typemap.obj naming.obj
450
451 LIBSRCS = main.cxx scanner.cxx symbol.cxx include.cxx types.cxx parms.cxx \
452 emit.cxx newdoc.cxx ascii.cxx html.cxx latex.cxx cplus.cxx lang.cxx hash.cxx \
453 ! vector.cxx sstring.cxx wrapfunc.cxx getopt.cxx comment.cxx typemap.cxx naming.cxx
454
455 LIBHEADERS = internal.h ../Include/swig.h latex.h ascii.h html.h nodoc.h
456 LIBNAME = ..\libswig.lib
457 INCLUDE = -I../Include -I$(STD_INC)
458 *** Makefile.in.old Wed May 28 22:56:56 1997
459 --- Makefile.in Fri Aug 28 14:43:36 1998
460 ***************
461 *** 51,63 ****
462 # Normally, you shouldn't have to change anything below this point #
463 ########################################################################
464
465 LIBOBJS = main.o scanner.o symbol.o include.o types.o parms.o emit.o newdoc.o ascii.o \
466 ! html.o latex.o cplus.o lang.o hash.o sstring.o wrapfunc.o getopt.o comment.o \
467 typemap.o naming.o
468
469 LIBSRCS = main.cxx scanner.cxx symbol.cxx include.cxx types.cxx parms.cxx emit.cxx \
470 ! newdoc.cxx ascii.cxx html.cxx latex.cxx cplus.cxx lang.cxx hash.cxx \
471 sstring.cxx wrapfunc.cxx getopt.cxx comment.cxx typemap.cxx naming.cxx
472
473 LIBHEADERS = internal.h ../Include/swig.h latex.h ascii.h html.h nodoc.h
474 LIB = ../libswig.a
475 --- 51,63 ----
476 # Normally, you shouldn't have to change anything below this point #
477 ########################################################################
478
479 LIBOBJS = main.o scanner.o symbol.o include.o types.o parms.o emit.o newdoc.o ascii.o \
480 ! html.o latex.o cplus.o lang.o hash.o vector.o sstring.o wrapfunc.o getopt.o comment.o \
481 typemap.o naming.o
482
483 LIBSRCS = main.cxx scanner.cxx symbol.cxx include.cxx types.cxx parms.cxx emit.cxx \
484 ! newdoc.cxx ascii.cxx html.cxx latex.cxx cplus.cxx lang.cxx hash.cxx vector.cxx \
485 sstring.cxx wrapfunc.cxx getopt.cxx comment.cxx typemap.cxx naming.cxx
486
487 LIBHEADERS = internal.h ../Include/swig.h latex.h ascii.h html.h nodoc.h
488 LIB = ../libswig.a