The biggest change in NMRView 3.0 is that the GUI (Graphical User Interface)
is created using Tk, a toolkit for building graphical interfaces. One builds a
GUI using Tk by creating a script of Tcl commands. Tcl (tool command language) is
the script language already used in NMRView. The GUI of the previous version of
NMRView (2.x) was built
using the Motif toolkit. With Motif, changes in the GUI could only be done at the
level of the C programming language. This required recompiling the program for every
change and demanded a detailed knowledge of both the C language and the Motif toolkit.
With Tk the interface is defined in Tcl scripts that are simple ascii files. These
can be read when NMRView is started up, or while NMRView is running. Thus the
GUI can be changed without recompiling NMRView. While programming with Tk requires
knowledge of the Tk toolkit and Tcl, this is generally less demanding than
programming at the level of C and Motif. Furthermore, because the changes don't
require recompilation, and can even be done while NMRView is running, very rapid
prototyping of new interfaces can be done. As the author of the program
this allows me to redesign existing features and add new interfaces much more
quickly than before. Changes in the interface are also much less likely to introduce
fatal errors that result in core dumps. For the end-user it means that the they can
add their own interface panels and change existing panels. I hope that this new
capability will lead to many novel features contributed by the NMRView user-community.
The GUI of NMRView 3.0 looks very similar to that of NMRView 2.x. This is
because Tk, while independent of Motif, is designed to create interfaces with the
Motif look and feel. Furthermore, I have created most of the interface panels
such that they resemble those of the older NMRView versions. While they are generally,
similar, most have minor changes that the user will hopefully see as improvements.