annotate Modules/tkappinit.c @ 58765:2ba7677bfa95 legacy-trunk

testCopysign was defined twice in test_math; combine the definitions
author Mark Dickinson <dickinsm@gmail.com>
date Sat, 06 Feb 2010 23:11:25 +0000
parents 4e7ba67cfa05
children 3c7683d6a3c4 cab14be0ada1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6621
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
1 /* appinit.c -- Tcl and Tk application initialization.
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
2
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
3 The function Tcl_AppInit() below initializes various Tcl packages.
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
4 It is called for each Tcl interpreter created by _tkinter.create().
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
5 It needs to be compiled with -DWITH_<package> flags for each package
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
6 that you are statically linking with. You may have to add sections
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
7 for packages not yet listed below.
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
8
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
9 Note that those packages for which Tcl_StaticPackage() is called with
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
10 a NULL first argument are known as "static loadable" packages to
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
11 Tcl but not actually initialized. To use these, you have to load
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
12 it explicitly, e.g. tkapp.eval("load {} Blt").
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
13 */
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
14
32341
5d27269c9e33 Remove warning about implicit declaration of strcmp()
Neal Norwitz <nnorwitz@gmail.com>
parents: 31547
diff changeset
15 #include <string.h>
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 #include <tcl.h>
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 #include <tk.h>
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
18
51495
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
19 #include "tkinter.h"
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
20
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
21 #ifdef TKINTER_PROTECT_LOADTK
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
22 /* See Tkapp_TkInit in _tkinter.c for the usage of tk_load_faile */
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
23 static int tk_load_failed;
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
24 #endif
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
25
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
26 int
13492
5087d1d45f1d ANSI-fication (and test if committing files works now)
Peter Schneider-Kamp <nowonder@nowonder.de>
parents: 11444
diff changeset
27 Tcl_AppInit(Tcl_Interp *interp)
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 {
13862
4c3f977ce06c Removing warnings discovered by gcc -Wall
Moshe Zadka <moshez@math.huji.ac.il>
parents: 13492
diff changeset
29 Tk_Window main_window;
51495
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
30 const char *_tkinter_skip_tk_init;
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
31 #ifdef TKINTER_PROTECT_LOADTK
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
32 const char *_tkinter_tk_failed;
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
33 #endif
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
34
21322
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
35 #ifdef TK_AQUA
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
36 #ifndef MAX_PATH_LEN
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
37 #define MAX_PATH_LEN 1024
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
38 #endif
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
39 char tclLibPath[MAX_PATH_LEN], tkLibPath[MAX_PATH_LEN];
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
40 Tcl_Obj* pathPtr;
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
41
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
42 /* pre- Tcl_Init code copied from tkMacOSXAppInit.c */
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
43 Tk_MacOSXOpenBundleResources (interp, "com.tcltk.tcllibrary",
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
44 tclLibPath, MAX_PATH_LEN, 0);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
45
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
46 if (tclLibPath[0] != '\0') {
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
47 Tcl_SetVar(interp, "tcl_library", tclLibPath, TCL_GLOBAL_ONLY);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
48 Tcl_SetVar(interp, "tclDefaultLibrary", tclLibPath, TCL_GLOBAL_ONLY);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
49 Tcl_SetVar(interp, "tcl_pkgPath", tclLibPath, TCL_GLOBAL_ONLY);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
50 }
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
51
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
52 if (tclLibPath[0] != '\0') {
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
53 Tcl_SetVar(interp, "tcl_library", tclLibPath, TCL_GLOBAL_ONLY);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
54 Tcl_SetVar(interp, "tclDefaultLibrary", tclLibPath, TCL_GLOBAL_ONLY);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
55 Tcl_SetVar(interp, "tcl_pkgPath", tclLibPath, TCL_GLOBAL_ONLY);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
56 }
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
57 #endif
4955
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
58 if (Tcl_Init (interp) == TCL_ERROR)
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
59 return TCL_ERROR;
21322
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
60
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
61 #ifdef TK_AQUA
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
62 /* pre- Tk_Init code copied from tkMacOSXAppInit.c */
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
63 Tk_MacOSXOpenBundleResources (interp, "com.tcltk.tklibrary",
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
64 tkLibPath, MAX_PATH_LEN, 1);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
65
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
66 if (tclLibPath[0] != '\0') {
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
67 pathPtr = Tcl_NewStringObj(tclLibPath, -1);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
68 } else {
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
69 Tcl_Obj *pathPtr = TclGetLibraryPath();
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
70 }
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
71
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
72 if (tkLibPath[0] != '\0') {
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
73 Tcl_Obj *objPtr;
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
74
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
75 Tcl_SetVar(interp, "tk_library", tkLibPath, TCL_GLOBAL_ONLY);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
76 objPtr = Tcl_NewStringObj(tkLibPath, -1);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
77 Tcl_ListObjAppendElement(NULL, pathPtr, objPtr);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
78 }
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
79
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
80 TclSetLibraryPath(pathPtr);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
81 #endif
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
82
31547
470f95ad6750 Implementation of patch 869468
David Ascher <david.ascher@gmail.com>
parents: 21322
diff changeset
83 #ifdef WITH_XXX
49387
86893a397dd0 Merged revisions 66748 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 32341
diff changeset
84 /* Initialize modules that don't require Tk */
31547
470f95ad6750 Implementation of patch 869468
David Ascher <david.ascher@gmail.com>
parents: 21322
diff changeset
85 #endif
470f95ad6750 Implementation of patch 869468
David Ascher <david.ascher@gmail.com>
parents: 21322
diff changeset
86
51495
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
87 _tkinter_skip_tk_init = Tcl_GetVar(interp,
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
88 "_tkinter_skip_tk_init", TCL_GLOBAL_ONLY);
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
89 if (_tkinter_skip_tk_init != NULL &&
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
90 strcmp(_tkinter_skip_tk_init, "1") == 0) {
31547
470f95ad6750 Implementation of patch 869468
David Ascher <david.ascher@gmail.com>
parents: 21322
diff changeset
91 return TCL_OK;
470f95ad6750 Implementation of patch 869468
David Ascher <david.ascher@gmail.com>
parents: 21322
diff changeset
92 }
51495
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
93
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
94 #ifdef TKINTER_PROTECT_LOADTK
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
95 _tkinter_tk_failed = Tcl_GetVar(interp,
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
96 "_tkinter_tk_failed", TCL_GLOBAL_ONLY);
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
97
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
98 if (tk_load_failed || (
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
99 _tkinter_tk_failed != NULL &&
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
100 strcmp(_tkinter_tk_failed, "1") == 0)) {
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
101 Tcl_SetResult(interp, TKINTER_LOADTK_ERRMSG, TCL_STATIC);
4955
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
102 return TCL_ERROR;
51495
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
103 }
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
104 #endif
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
105
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
106 if (Tk_Init(interp) == TCL_ERROR) {
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
107 #ifdef TKINTER_PROTECT_LOADTK
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
108 tk_load_failed = 1;
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
109 Tcl_SetVar(interp, "_tkinter_tk_failed", "1", TCL_GLOBAL_ONLY);
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
110 #endif
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
111 return TCL_ERROR;
4e7ba67cfa05 Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents: 49387
diff changeset
112 }
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
113
13862
4c3f977ce06c Removing warnings discovered by gcc -Wall
Moshe Zadka <moshez@math.huji.ac.il>
parents: 13492
diff changeset
114 main_window = Tk_MainWindow(interp);
11444
90f4830e2122 Patch by Dieter Maurer to make things work for Tcl/Tk 8.1. This
Guido van Rossum <guido@python.org>
parents: 6720
diff changeset
115
21322
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
116 #ifdef TK_AQUA
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
117 TkMacOSXInitAppleEvents(interp);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
118 TkMacOSXInitMenus(interp);
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
119 #endif
1852caba7014 Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents: 13862
diff changeset
120
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
121 #ifdef WITH_MOREBUTTONS
4955
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
122 {
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
123 extern Tcl_CmdProc studButtonCmd;
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
124 extern Tcl_CmdProc triButtonCmd;
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
125
4955
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
126 Tcl_CreateCommand(interp, "studbutton", studButtonCmd,
13862
4c3f977ce06c Removing warnings discovered by gcc -Wall
Moshe Zadka <moshez@math.huji.ac.il>
parents: 13492
diff changeset
127 (ClientData) main_window, NULL);
4955
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
128 Tcl_CreateCommand(interp, "tributton", triButtonCmd,
13862
4c3f977ce06c Removing warnings discovered by gcc -Wall
Moshe Zadka <moshez@math.huji.ac.il>
parents: 13492
diff changeset
129 (ClientData) main_window, NULL);
4955
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
130 }
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
131 #endif
5518
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
132
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
133 #ifdef WITH_PIL /* 0.2b5 and later -- not yet released as of May 14 */
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
134 {
6621
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
135 extern void TkImaging_Init(Tcl_Interp *);
5518
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
136 TkImaging_Init(interp);
6621
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
137 /* XXX TkImaging_Init() doesn't have the right return type */
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
138 /*Tcl_StaticPackage(interp, "Imaging", TkImaging_Init, NULL);*/
5518
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
139 }
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
140 #endif
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
141
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
142 #ifdef WITH_PIL_OLD /* 0.2b4 and earlier */
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
143 {
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
144 extern void TkImaging_Init(void);
6621
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
145 /* XXX TkImaging_Init() doesn't have the right prototype */
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
146 /*Tcl_StaticPackage(interp, "Imaging", TkImaging_Init, NULL);*/
5518
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
147 }
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
148 #endif
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
149
6603
7a0a48d73076 Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents: 5518
diff changeset
150 #ifdef WITH_TIX
6720
960853902ebe Yes, Virginia, Tix does have a Tix_SafeInit() function.
Guido van Rossum <guido@python.org>
parents: 6621
diff changeset
151 {
960853902ebe Yes, Virginia, Tix does have a Tix_SafeInit() function.
Guido van Rossum <guido@python.org>
parents: 6621
diff changeset
152 extern int Tix_Init(Tcl_Interp *interp);
960853902ebe Yes, Virginia, Tix does have a Tix_SafeInit() function.
Guido van Rossum <guido@python.org>
parents: 6621
diff changeset
153 extern int Tix_SafeInit(Tcl_Interp *interp);
960853902ebe Yes, Virginia, Tix does have a Tix_SafeInit() function.
Guido van Rossum <guido@python.org>
parents: 6621
diff changeset
154 Tcl_StaticPackage(NULL, "Tix", Tix_Init, Tix_SafeInit);
960853902ebe Yes, Virginia, Tix does have a Tix_SafeInit() function.
Guido van Rossum <guido@python.org>
parents: 6621
diff changeset
155 }
6603
7a0a48d73076 Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents: 5518
diff changeset
156 #endif
7a0a48d73076 Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents: 5518
diff changeset
157
7a0a48d73076 Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents: 5518
diff changeset
158 #ifdef WITH_BLT
6621
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
159 {
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
160 extern int Blt_Init(Tcl_Interp *);
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
161 extern int Blt_SafeInit(Tcl_Interp *);
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
162 Tcl_StaticPackage(NULL, "Blt", Blt_Init, Blt_SafeInit);
6603
7a0a48d73076 Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents: 5518
diff changeset
163 }
6621
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
164 #endif
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
165
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
166 #ifdef WITH_TOGL
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
167 {
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
168 /* XXX I've heard rumors that this doesn't work */
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
169 extern int Togl_Init(Tcl_Interp *);
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
170 /* XXX Is there no Togl_SafeInit? */
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
171 Tcl_StaticPackage(NULL, "Togl", Togl_Init, NULL);
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
172 }
6603
7a0a48d73076 Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents: 5518
diff changeset
173 #endif
7a0a48d73076 Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents: 5518
diff changeset
174
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
175 #ifdef WITH_XXX
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
176
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
177 #endif
4955
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
178 return TCL_OK;
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
179 }