annotate Modules/tkappinit.c @ 15164:8930ec3bc00a legacy-trunk

Added additional test cases for pulldom modifications.
author Lars Gustäbel <lars@gustaebel.de>
date Wed, 11 Oct 2000 22:36:00 +0000
parents 4c3f977ce06c
children 1852caba7014
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
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
15 #include <tcl.h>
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 #include <tk.h>
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
17
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 int
13492
5087d1d45f1d ANSI-fication (and test if committing files works now)
Peter Schneider-Kamp <nowonder@nowonder.de>
parents: 11444
diff changeset
19 Tcl_AppInit(Tcl_Interp *interp)
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 {
13862
4c3f977ce06c Removing warnings discovered by gcc -Wall
Moshe Zadka <moshez@math.huji.ac.il>
parents: 13492
diff changeset
21 Tk_Window main_window;
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
22
4955
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
23 if (Tcl_Init (interp) == TCL_ERROR)
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
24 return TCL_ERROR;
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
25 if (Tk_Init (interp) == TCL_ERROR)
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
26 return TCL_ERROR;
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
27
13862
4c3f977ce06c Removing warnings discovered by gcc -Wall
Moshe Zadka <moshez@math.huji.ac.il>
parents: 13492
diff changeset
28 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
29
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 #ifdef WITH_MOREBUTTONS
4955
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
31 {
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
32 extern Tcl_CmdProc studButtonCmd;
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
33 extern Tcl_CmdProc triButtonCmd;
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
34
4955
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
35 Tcl_CreateCommand(interp, "studbutton", studButtonCmd,
13862
4c3f977ce06c Removing warnings discovered by gcc -Wall
Moshe Zadka <moshez@math.huji.ac.il>
parents: 13492
diff changeset
36 (ClientData) main_window, NULL);
4955
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
37 Tcl_CreateCommand(interp, "tributton", triButtonCmd,
13862
4c3f977ce06c Removing warnings discovered by gcc -Wall
Moshe Zadka <moshez@math.huji.ac.il>
parents: 13492
diff changeset
38 (ClientData) main_window, NULL);
4955
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
39 }
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
40 #endif
5518
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
41
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
42 #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
43 {
6621
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
44 extern void TkImaging_Init(Tcl_Interp *);
5518
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
45 TkImaging_Init(interp);
6621
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
46 /* 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
47 /*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
48 }
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
49 #endif
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
50
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
51 #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
52 {
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
53 extern void TkImaging_Init(void);
6621
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
54 /* 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
55 /*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
56 }
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
57 #endif
576b7d927afb Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents: 4955
diff changeset
58
6603
7a0a48d73076 Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents: 5518
diff changeset
59 #ifdef WITH_TIX
6720
960853902ebe Yes, Virginia, Tix does have a Tix_SafeInit() function.
Guido van Rossum <guido@python.org>
parents: 6621
diff changeset
60 {
960853902ebe Yes, Virginia, Tix does have a Tix_SafeInit() function.
Guido van Rossum <guido@python.org>
parents: 6621
diff changeset
61 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
62 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
63 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
64 }
6603
7a0a48d73076 Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents: 5518
diff changeset
65 #endif
7a0a48d73076 Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents: 5518
diff changeset
66
7a0a48d73076 Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents: 5518
diff changeset
67 #ifdef WITH_BLT
6621
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
68 {
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
69 extern int Blt_Init(Tcl_Interp *);
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
70 extern int Blt_SafeInit(Tcl_Interp *);
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
71 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
72 }
6621
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
73 #endif
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
74
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
75 #ifdef WITH_TOGL
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
76 {
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
77 /* 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
78 extern int Togl_Init(Tcl_Interp *);
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
79 /* XXX Is there no Togl_SafeInit? */
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
80 Tcl_StaticPackage(NULL, "Togl", Togl_Init, NULL);
b96aad12a150 New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents: 6603
diff changeset
81 }
6603
7a0a48d73076 Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents: 5518
diff changeset
82 #endif
7a0a48d73076 Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents: 5518
diff changeset
83
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
84 #ifdef WITH_XXX
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
85
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
86 #endif
4955
e6b797aaa69f Formatting.
Barry Warsaw <barry@python.org>
parents: 1691
diff changeset
87 return TCL_OK;
1691
d88af58e95cd Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
88 }