From: michael@santafe.edu (Michael I Angerman) Newsgroups: comp.lang.tcl Subject: Short summary of every C file in the Tk Distribution Date: 07 Mar 1995 09:14:16 GMT This is for the tk4.0b2 distribution. Each summary is pulled from the description at the top of the file. /* * tk3d.c -- * * This module provides procedures to draw borders in * the three-dimensional Motif style. /* * tkAppInit.c -- * * Provides a default version of the Tcl_AppInit procedure for * use in wish and similar Tk-based applications. /* * tkArgv.c -- * * This file contains a procedure that handles table-based * argv-argc parsing. /* * tkAtom.c -- * * This file manages a cache of X Atoms in order to avoid * interactions with the X server. It's much like the Xmu * routines, except it has a cleaner interface (caller * doesn't have to provide permanent storage for atom names, * for example). /* * tkBind.c -- * * This file provides procedures that associate Tcl commands * with X events or sequences of X events. /* * tkBitmap.c -- * * This file maintains a database of read-only bitmaps for the Tk * toolkit. This allows bitmaps to be shared between widgets and * also avoids interactions with the X server. /* * tkButton.c -- * * This module implements a collection of button-like * widgets for the Tk toolkit. The widgets implemented * include labels, buttons, check buttons, and radio * buttons. /* * tkCanvArc.c -- * * This file implements arc items for canvas widgets. /* * tkCanvBmap.c -- * * This file implements bitmap items for canvas widgets. /* * tkCanvImg.c -- * * This file implements image items for canvas widgets. /* * tkCanvLine.c -- * * This file implements line items for canvas widgets. /* * tkCanvPoly.c -- * * This file implements polygon items for canvas widgets. /* * tkCanvPs.c -- * * This module provides Postscript output support for canvases, * including the "postscript" widget command plus a few utility * procedures used for generating Postscript. /* * tkCanvText.c -- * * This file implements text items for canvas widgets. /* * tkCanvUtil.c -- * * This procedure contains a collection of utility procedures * used by the implementations of various canvas item types. /* * tkCanvWind.c -- * * This file implements window items for canvas widgets. /* * tkCanvas.c -- * * This module implements canvas widgets for the Tk toolkit. * A canvas displays a background and a collection of graphical * objects such as rectangles, lines, and texts. /* * tkClipboard.c -- * * This file manages the clipboard for the Tk toolkit, * maintaining a collection of data buffers that will be * supplied on demand to requesting applications. /* * tkCmds.c -- * * This file contains a collection of Tk-related Tcl commands * that didn't fit in any particular file of the toolkit. /* * tkColor.c -- * * This file maintains a database of color values for the Tk * toolkit, in order to avoid round-trips to the server to * map color names to pixel values. /* * tkConfig.c -- * * This file contains the Tk_ConfigureWidget procedure. /* * tkCursor.c -- * * This file maintains a database of read-only cursors for the Tk * toolkit. This allows cursors to be shared between widgets and * also avoids round-trips to the X server. /* * tkEntry.c -- * * This module implements entry widgets for the Tk * toolkit. An entry displays a string and allows * the string to be edited. /* * tkError.c -- * * This file provides a high-performance mechanism for * selectively dealing with errors that occur in talking * to the X server. This is useful, for example, when * communicating with a window that may not exist. /* * tkEvent.c -- * * This file provides basic event-managing facilities, whereby * procedure callbacks may be attached to certain events. It * also contains the command procedures for the commands "after" * and "fileevent", plus abridged versions of "tkwait" and * "update", for use with Tk_EventInit. /* * tkFocus.c -- * * This file contains procedures that manage the input * focus for Tk. /* * tkFont.c -- * * This file maintains a database of looked-up fonts for the Tk * toolkit, in order to avoid round-trips to the server to map * font names to XFontStructs. It also provides several utility * procedures for measuring and displaying text. /* * tkFrame.c -- * * This module implements "frame" and "toplevel" widgets for * the Tk toolkit. Frames are windows with a background color * and possibly a 3-D effect, but not much else in the way of * attributes. /* * tkGC.c -- * * This file maintains a database of read-only graphics contexts * for the Tk toolkit, in order to allow GC's to be shared. /* * tkGeometry.c -- * * This file contains generic Tk code for geometry management * (stuff that's used by all geometry managers). /* * tkGet.c -- * * This file contains a number of "Tk_GetXXX" procedures, which * parse text strings into useful forms for Tk. This file has * the simpler procedures, like Tk_GetDirection and Tk_GetUid. * The more complex procedures like Tk_GetColor are in separate * files. /* * tkGrab.c -- * * This file provides procedures that implement grabs for Tk. /* * tkImage.c -- * * This module implements the image protocol, which allows lots * of different kinds of images to be used in lots of different * widgets. /* * tkImgBmap.c -- * * This procedure implements images of type "bitmap" for Tk. /* * tkImgFmtPPM.c -- * * A photo image file handler for PPM (Portable PixMap) files. /* * tkImgPhoto.c -- * * Implements images of type "photo" for Tk. Photo images are * stored in full color (24 bits per pixel) and displayed using * dithering if necessary. /* * tkListbox.c -- * * This module implements listbox widgets for the Tk * toolkit. A listbox displays a collection of strings, * one per line, and provides scrolling and selection. /* * tkMain.c -- * * This file contains a generic main program for Tk-based applications. * It can be used as-is for many applications, just by supplying a * different Tcl_AppInit procedure for each specific application. * Or, it can be used as a template for creating new main programs * for Tk applications. /* * tkMenu.c -- * * This module implements menus for the Tk toolkit. The menus * support normal button entries, plus check buttons, radio * buttons, iconic forms of all of the above, and separator * entries. /* * tkMenubutton.c -- * * This module implements button-like widgets that are used * to invoke pull-down menus. /* * tkMessage.c -- * * This module implements a message widgets for the Tk * toolkit. A message widget displays a multi-line string * in a window according to a particular aspect ratio. /* * tkOption.c -- * * This module contains procedures to manage the option * database, which allows various strings to be associated * with windows either by name or by class or both. /* * tkPack.c -- * * This file contains code to implement the "packer" * geometry manager for Tk. /* * tkPlace.c -- * * This file contains code to implement a simple geometry manager * for Tk based on absolute placement or "rubber-sheet" placement. /* * tkPreserve.c -- * * This file contains a collection of procedures that are used * to make sure that widget records and other data structures * aren't reallocated when there are nested procedures that * depend on their existence. /* * tkRectOval.c -- * * This file implements rectangle and oval items for canvas * widgets. /* * tkScale.c -- * * This module implements a scale widgets for the Tk toolkit. * A scale displays a slider that can be adjusted to change a * value; it also displays numeric labels and a textual label, * if desired. /* * tkScrollbar.c -- * * This module implements a scrollbar widgets for the Tk * toolkit. A scrollbar displays a slider and two arrows; * mouse clicks on features within the scrollbar cause * scrolling commands to be invoked. /* * tkSelect.c -- * * This file manages the selection for the Tk toolkit, * translating between the standard X ICCCM conventions * and Tcl commands. /* * tkSend.c -- * * This file provides procedures that implement the "send" * command, allowing commands to be passed from interpreter * to interpreter. /* * tkSquare.c -- * * This module implements "square" widgets. A "square" is * a widget that displays a single square that can be moved * around and resized. This file is intended as an example * of how to build a widget; it isn't included in the * normal wish, but it is included in "tktest". /* * tclTest.c -- * * This file contains C command procedures for a bunch of additional * Tcl commands that are used for testing out Tcl's C interfaces. * These commands are not normally included in Tcl applications; * they're only used for testing. /* * tkText.c -- * * This module provides a big chunk of the implementation of * multi-line editable text widgets for Tk. Among other things, * it provides the Tcl command interfaces to text widgets and * the display code. The B-tree representation of text is * implemented elsewhere. /* * tkTextBTree.c -- * * This file contains code that manages the B-tree representation * of text for Tk's text widget and implements character and * toggle segment types. /* * tkTextDisp.c -- * * This module provides facilities to display text widgets. It is * the only place where information is kept about the screen layout * of text widgets. /* * tkTextIndex.c -- * * This module provides procedures that manipulate indices for * text widgets. /* * tkTextMark.c -- * * This file contains the procedure that implement marks for * text widgets. /* * tkTextTag.c -- * * This module implements the "tag" subcommand of the widget command * for text widgets, plus most of the other high-level functions * related to tags. /* * tkTextWind.c -- * * This file contains code that allows arbitrary windows to be * nested inside text widgets. It also implements the "window" * widget command for texts. /* * tkTrig.c -- * * This file contains a collection of trigonometry utility * routines that are used by Tk and in particular by the * canvas code. It also has miscellaneous geometry functions * used by canvases. /* * tkUtil.c -- * * This file contains miscellaneous utility procedures that * are used by the rest of Tk, such as a procedure for drawing * a focus highlight. /* * tkVisual.c -- * * This file contains library procedures for allocating and * freeing visuals and colormaps. This code is based on a * prototype implementation by Paul Mackerras. /* * tkWindow.c -- * * This file provides basic window-manipulation procedures, * which are equivalent to procedures in Xlib (and even * invoke them) but also maintain the local Tk_Window * structure. /* * tkWm.c -- * * This module takes care of the interactions between a Tk-based * application and the window manager. Among other things, it * implements the "wm" command and passes geometry information * to the window manager. /* * tkXEvent.c -- * * This file provides basic low-level facilities for managing * X events. It builds on the facilities provided in tkEvent.c. /* * tkXId.c -- * * This file provides a replacement function for the default X * resource allocator (_XAllocID). The problem with the default * allocator is that it never re-uses ids, which causes long-lived * applications to crash when X resource identifiers wrap around. * The replacement functions in this file re-use old identifiers * to prevent this problem.