summaryrefslogtreecommitdiff
path: root/share/swig/2.0.11/tcl/wish.i
diff options
context:
space:
mode:
Diffstat (limited to 'share/swig/2.0.11/tcl/wish.i')
-rw-r--r--share/swig/2.0.11/tcl/wish.i146
1 files changed, 146 insertions, 0 deletions
diff --git a/share/swig/2.0.11/tcl/wish.i b/share/swig/2.0.11/tcl/wish.i
new file mode 100644
index 0000000..260032a
--- /dev/null
+++ b/share/swig/2.0.11/tcl/wish.i
@@ -0,0 +1,146 @@
+/* -----------------------------------------------------------------------------
+ * wish.i
+ *
+ * SWIG File for making wish
+ * ----------------------------------------------------------------------------- */
+
+#ifdef AUTODOC
+%subsection "wish.i"
+%text %{
+This module provides the Tk_AppInit() function needed to build a
+new version of the wish executable. Like tclsh.i, this file should
+not be used with dynamic loading. To make an interface file work with
+both static and dynamic loading, put something like this in your
+interface file :
+
+ #ifdef STATIC
+ %include <wish.i>
+ #endif
+
+A startup file may be specified by defining the symbol SWIG_RcFileName
+as follows (this should be included in a code-block) :
+
+ #define SWIG_RcFileName "~/.mywishrc"
+%}
+#endif
+
+%{
+
+
+/* Initialization code for wish */
+
+#include <tk.h>
+
+#ifndef SWIG_RcFileName
+char *SWIG_RcFileName = "~/.wishrc";
+#endif
+
+#ifdef MAC_TCL
+extern int MacintoshInit _ANSI_ARGS_((void));
+extern int SetupMainInterp _ANSI_ARGS_((Tcl_Interp *interp));
+#endif
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * Tcl_AppInit --
+ *
+ * This procedure performs application-specific initialization.
+ * Most applications, especially those that incorporate additional
+ * packages, will have their own version of this procedure.
+ *
+ * Results:
+ * Returns a standard Tcl completion code, and leaves an error
+ * message in interp->result if an error occurs.
+ *
+ * Side effects:
+ * Depends on the startup script.
+ *
+ *----------------------------------------------------------------------
+ */
+
+int Tcl_AppInit(Tcl_Interp *interp)
+{
+#ifndef MAC_TCL
+ Tk_Window main;
+ main = Tk_MainWindow(interp);
+#endif
+ /*
+ * Call the init procedures for included packages. Each call should
+ * look like this:
+ *
+ * if (Mod_Init(interp) == TCL_ERROR) {
+ * return TCL_ERROR;
+ * }
+ *
+ * where "Mod" is the name of the module.
+ */
+
+ if (Tcl_Init(interp) == TCL_ERROR) {
+ return TCL_ERROR;
+ }
+
+ if (Tk_Init(interp) == TCL_ERROR) {
+ return TCL_ERROR;
+ }
+
+ /*
+ * Call Tcl_CreateCommand for application-specific commands, if
+ * they weren't already created by the init procedures called above.
+ */
+
+ if (SWIG_init(interp) == TCL_ERROR) {
+ return TCL_ERROR;
+ }
+
+#ifdef MAC_TCL
+ SetupMainInterp(interp);
+#endif
+
+ /*
+ * Specify a user-specific startup file to invoke if the application
+ * is run interactively. Typically the startup file is "~/.apprc"
+ * where "app" is the name of the application. If this line is deleted
+ * then no user-specific startup file will be run under any conditions.
+ */
+
+#if TCL_MAJOR_VERSION >= 8 || TCL_MAJOR_VERSION == 7 && TCL_MINOR_VERSION >= 5
+ Tcl_SetVar(interp, (char *) "tcl_rcFileName",SWIG_RcFileName,TCL_GLOBAL_ONLY);
+#else
+ tcl_RcFileName = SWIG_RcFileName;
+#endif
+
+/* For Macintosh might also want this */
+
+#ifdef MAC_TCL
+#ifdef SWIG_RcRsrcName
+ Tcl_SetVar(interp, (char *) "tcl_rcRsrcName",SWIG_RcRsrcName,TCL_GLOBAL_ONLY);
+#endif
+#endif
+ return TCL_OK;
+}
+
+#if TK_MAJOR_VERSION >= 4
+int main(int argc, char **argv) {
+
+#ifdef MAC_TCL
+ char *newArgv[2];
+ if (MacintoshInit() != TCL_OK) {
+ Tcl_Exit(1);
+ }
+ argc = 1;
+ newArgv[0] = "Wish";
+ newArgv[1] = NULL;
+ argv = newArgv;
+#endif
+ Tk_Main(argc, argv, Tcl_AppInit);
+ return(0);
+}
+#else
+extern int main();
+#endif
+
+%}
+
+
+