This document describes the C++ programmer interface to hush, the hyper utility shell based on Tcl/Tk. Tcl is a scripting language that may be embedded in C or C++. Tk is a window and graphics toolkit based on X11. The hush library contains classes that provide convenient yet flexible access to the functionality offered by the underlying toolkit. The libary is intended to support the needs of both novice and experienced (window) programmers. It offers widget and graphics classes with a simple interface, but allows more experienced programmers also to employ the Tcl scripting language to define the behavior and functionality of widget and structured graphics objects. The design of hush has been inspired by the InterViews library. However, both the use of event callbacks and the functional interface of widget and graphics classes is significantly simpler. An important advantage of basing hush on the Tk toolkit is that existing Tk applications written for the Tk interpreter wish can easily be (re)used in a C++ context, virtually without any costs. On the other hand programs employing hush may again be used as (an enhanced version of) the wish interpreter, allowing the functionality defined in the program to be used in a (hush) script.
hush -- the C++ API
- session(4), kit(4), event(4), action(4), handler(4), item(4)
widgets -- for the GUI
- button(5), menu(5), message(5), text(5), filechooser(5)
graphic items -- item(4), canvas(5)
- oval, bitmap, text, rectangle, line, polygon
hush -- file <hush/hush.h>
The hush library and the hush script interpreter also support expect commands. In addition a number of experimental features for object oriented programming and distributed programming are included, as well as a number of additional widgets and features. See section l. See extern(4) for an overview of external packages.
Examples are included in the distribution. Use the resource.mk file you find there for learning what libraries need to be linked, and what flags you need to set.
|
Hush Online Technology
hush@cs.vu.nl
09/24/99 |
|
|