Since I have made several changes to SWIG over the years to accomodate
special cases and other things in wxPython, and since I plan on making several more, I've decided to put the SWIG sources in wxPython's CVS instead of relying on maintaining patches. This effectivly becomes a fork of an obsolete version of SWIG, :-( but since SWIG 1.3 still doesn't have some things I rely on in 1.1, not to mention that my custom patches would all have to be redone, I felt that this is the easier road to take. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
111
wxPython/wxSWIG/Modules/python.h
Normal file
111
wxPython/wxSWIG/Modules/python.h
Normal file
@@ -0,0 +1,111 @@
|
||||
/*******************************************************************************
|
||||
* Simplified Wrapper and Interface Generator (SWIG)
|
||||
*
|
||||
* Author : David Beazley
|
||||
*
|
||||
* Department of Computer Science
|
||||
* University of Chicago
|
||||
* 1100 E 58th Street
|
||||
* Chicago, IL 60637
|
||||
* beazley@cs.uchicago.edu
|
||||
*
|
||||
* Please read the file LICENSE for the copyright and terms by which SWIG
|
||||
* can be used and distributed.
|
||||
*******************************************************************************/
|
||||
|
||||
/**************************************************************************
|
||||
* $Header$
|
||||
*
|
||||
* python.h
|
||||
*
|
||||
* Header file for Python module. Warning ; this is work in progress.
|
||||
**************************************************************************/
|
||||
|
||||
class PYTHON : public Language {
|
||||
protected:
|
||||
char *module; // Module name
|
||||
char *path; // Pathname of where to look for library files
|
||||
char *methods; // Method table name
|
||||
char *global_name; // Name of global variables.
|
||||
void get_pointer(char *iname, char *srcname, char *src, char *dest, DataType *t, String &f, char *ret);
|
||||
int shadow;
|
||||
int have_defarg;
|
||||
int docstring;
|
||||
int have_output;
|
||||
int use_kw;
|
||||
FILE *f_shadow;
|
||||
struct Method { // Methods list. Needed to build methods
|
||||
char *name; // Array at very end.
|
||||
char *function;
|
||||
Method *next;
|
||||
};
|
||||
Method *head;
|
||||
Hash hash;
|
||||
String classes;
|
||||
String func;
|
||||
String vars;
|
||||
String modinit;
|
||||
String modextern;
|
||||
|
||||
char *import_file;
|
||||
void add_method(char *name, char *function);
|
||||
void print_methods();
|
||||
char *usage_var(char *, DataType *);
|
||||
char *usage_func(char *, DataType *, ParmList *);
|
||||
char *usage_const(char *, DataType *, char *);
|
||||
char *add_docstring(DocEntry *de);
|
||||
|
||||
// Add for Python-COM support
|
||||
virtual void initialize_cmodule();
|
||||
virtual void close_cmodule();
|
||||
virtual void emit_function_header(WrapperFunction &emit_to, char *wname);
|
||||
virtual char *convert_self(WrapperFunction &f);
|
||||
virtual char *make_funcname_wrapper(char *fnName);
|
||||
void emitAddPragmas(String& output, char* name, char* spacing);
|
||||
public :
|
||||
PYTHON() {
|
||||
module = (char *) 0;
|
||||
path = "python"; // Set this to subdirectory where language
|
||||
// Dependent library files will be stored
|
||||
head = 0; // Head of method list
|
||||
global_name = "cvar";
|
||||
shadow = 0;
|
||||
have_defarg = 0;
|
||||
import_file = 0;
|
||||
use_kw = 0;
|
||||
};
|
||||
|
||||
// Don't change any of this
|
||||
void parse_args(int, char *argv[]);
|
||||
void parse();
|
||||
void create_function(char *, char *, DataType *, ParmList *);
|
||||
void link_variable(char *, char *, DataType *);
|
||||
void declare_const(char *, char *, DataType *, char *);
|
||||
void initialize(void);
|
||||
void headers(void);
|
||||
void close(void);
|
||||
void set_module(char *, char **);
|
||||
void set_init(char *);
|
||||
void add_native(char *, char *);
|
||||
void create_command(char *, char *);
|
||||
void import(char *);
|
||||
|
||||
// C++ extensions---for creating shadow classes
|
||||
|
||||
void cpp_member_func(char *name, char *iname, DataType *t, ParmList *l);
|
||||
void cpp_constructor(char *name, char *iname, ParmList *l);
|
||||
void cpp_destructor(char *name, char *newname);
|
||||
void cpp_open_class(char *classname, char *rname, char *ctype, int strip);
|
||||
void cpp_close_class();
|
||||
void cpp_cleanup();
|
||||
void cpp_inherit(char **baseclass, int mode = INHERIT_ALL);
|
||||
void cpp_variable(char *name, char *iname, DataType *t);
|
||||
void cpp_declare_const(char *name, char *iname, DataType *type, char *value);
|
||||
void cpp_class_decl(char *, char *,char *);
|
||||
void pragma(char *, char *, char *);
|
||||
void cpp_pragma(Pragma *);
|
||||
void add_typedef(DataType *t, char *name);
|
||||
};
|
||||
|
||||
#define PYSHADOW_MEMBER 0x2
|
||||
|
Reference in New Issue
Block a user