The ESI Spectrograph | Online Documentation |
KTUI (Dashboard) is a KTL GUI lego set. The designer can, using
the Dashboard interface in developer mode, interactively create
"meters" and other widgets which represent keywords visually.
The Dashboard is pre-loaded with knowledge about these keywords
which makes it respond appropriately to the designer's requests.
To get this knowledge, at startup it loads a .kwd file
(found in KROOT/data/Instrument/ for Lick instruments)
which informs it fully about available service keywords, their
semantics, datatypes, relationships to one another, etc. The
designer/user can then associate the keywords with graphical widgets
which display the keyword values -- such as Textboxes, Dial
Guages, Bar Gauges, Plots, Logs, Buttons, etc. The designer/user
distributes these objects around the work surface (a Tk canvas)
into a "dashboard". This layout can be saved and reloaded
at a later time. It is saved as/loaded from a plain text file
called (something).dbd.
The essential feature of Dashboard is conditional attributes.
Every item on the canvas, and the canvas itself, has a list of
Tk attributes; but it can have N lists of attributes, each of
which applies only if a certain condition (based on keyword
values and global variable values) is true. The designer/user
can easily establish alternate conditional attribute sets
using the Attribute Editor for any object. Since these
conditional attributes include position, colour, stipple,
labelling, menu contents, etc., simple "animations" and
modal reconfigurations are very easy to do without writing
any code other than the boolean conditional expression
itself.
For programmers, or those who wish to build their own Dashboards,
more information can be found online in the application itself
(it offers extensive online help) or in the README files in the
source tree.
The Observer documents are hand-written. The Technical Documents are produced from plain text files in the CVS source tree by some Tcl scripts written at UCO/Lick Observatory. The Reference Documents are mostly generated by software from data in a relational database. Individual authors are responsible for the content of the Observer and Technical Documentation. The Lick SPG as a whole is responsible for the content of the Reference doco. Send mail to de@ucolick.org to report inconsistencies or errors in the documentation.