]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wxSWIG/Modules/swigtcl.h
Since I have made several changes to SWIG over the years to accomodate
[wxWidgets.git] / wxPython / wxSWIG / Modules / swigtcl.h
diff --git a/wxPython/wxSWIG/Modules/swigtcl.h b/wxPython/wxSWIG/Modules/swigtcl.h
new file mode 100644 (file)
index 0000000..7403e3f
--- /dev/null
@@ -0,0 +1,115 @@
+/*******************************************************************************
+ * 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.
+ *******************************************************************************/
+
+/**************************************************************************
+ * class TCL
+ *
+ * A Simple TCL implementation.
+ **************************************************************************/
+
+class TCL : public Language {
+private:
+  char   interp_name[256];
+  char  *prefix;                   // Package prefix
+  char  *module;                   // Name of the module
+  char  *tcl_path;
+  char  *init_name;
+  int    Plugin;
+  int    nspace;
+  char  *safe_name;
+  void   get_pointer(char *iname, char *srcname, char *src, char *dest, DataType *t,
+                    String &f, char *ret);
+  char  *char_result;
+  char  *usage_string(char *, DataType *, ParmList *);
+  char  *usage_func(char *, DataType *, ParmList *);
+  char  *usage_var(char *, DataType *);
+  char  *usage_const(char *, DataType *, char *);
+  
+  // C++ handling
+
+  int    have_constructor;
+  int    have_destructor;
+  int    have_methods;
+  int    have_config;
+  int    have_cget;
+  String config;
+  String cget;
+  String methods;
+  String options;
+  String config_options;
+  String methodnames;
+  String postinit;
+  int    shadow;
+  char   *class_name;
+  char   *class_type;
+  char   *real_classname;
+  char   *base_class;
+  Hash   hash;
+  Hash   repeatcmd;
+
+  // C++ Code generation strings
+
+  String delcmd;
+  String methodcmd;
+  String objcmd;
+
+public :
+    TCL() {
+    prefix = 0;
+    module = 0;
+    init_name = 0;
+    nspace = 0;
+    shadow = 1;
+    char_result = "TCL_VOLATILE";
+    tcl_path = "tcl";
+    sprintf(interp_name,"interp");
+    class_name = 0;
+    class_type = 0;
+    real_classname = 0;
+    base_class = 0;
+  };
+  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 pragma(char *,char *, char *);
+  void create_command(char *, char *);
+
+  // Stubs for processing C++ classes in Tcl
+
+  void cpp_open_class(char *classname, char *rename, char *ctype, int strip);
+  void cpp_close_class();
+  void cpp_member_func(char *name, char *iname, DataType *t, ParmList *l);
+  void cpp_variable(char *name, char *iname, DataType *t);
+  void cpp_constructor(char *name, char *iname, ParmList *l);
+  void cpp_destructor(char *name, char *newname);
+  void cpp_inherit(char **baseclass, int mode = INHERIT_ALL);
+  void cpp_declare_const(char *name, char *iname, DataType *type, char *value);
+  void cpp_class_decl(char *, char *, char *);
+  void add_typedef(DataType *, char *);
+};
+
+
+
+
+
+