Qddb is built in several levels, as described in Figure 1.1.
At the bottom is libQddb.a,
the Qddb library, containing such routines as Qddb_ChangeEntry
.
Built on those routines are some fairly simple programs such as qedit
and qadd that provide interactive access to a Qddb relation.
Figure 1.1: Levels of software in Qddb
Tcl is an extensible programming language developed by John Ousterhout at
Berkeley.
The Qddb package includes an extension to Tcl in the library
libTclQddb.a.
One result is an interactive interpreter, qtclsh, in which a
programmer may execute not only Tcl commands but also Qddb extensions
such as qddb_search
.
Tk is another extension to Tcl that provides a graphical user interface for the X-windows package. Qwish is an interactive Tcl interpreter that understands both the Qddb and the Tk extensions. The xqddb program is written in this extended language; it provides a graphical interface to a Qddb relation.
To allow programmers to customize applications, the Qddb package includes the
Fx toolkit of routines written in Tcl extended by
Qddb, Tk, Itcl,
Tktable (spreadsheet), Xpm (color button bitmaps and logos),
and
Blt (the last three are optional).
This library provides routines such as Fx_Entry
that can be used
to build custom graphical interfaces to specific databases.
The nxqddb program is written using this library; it has much the
same function as xqddb but is much shorter, because it rests on
more powerful machinery.