FormsVBT

The FormsVBT library and the associated formsedit user interface builder are used to develop the user interface for most Modula-3 programs. They are described in The FormsVBT Reference Manual which includes a tutorial and several examples.

FormsVBT builds upon the user interface components implemented in the VBTkit library. In FormsVBT, symbolic expressions are used to describe user interfaces. These LISP like expressions describe the user interface components (menus, editors, file choosers...), their properties (color, font...) and name. When a program using FormsVBT runs, it reads a symbolic expression and calls FormsVBT to display the corresponding user interface. It then registers call back procedures for a number of named components or queries the named components for their current value.

This organization has several advantages. The user interface only connects with the program through symbolic names and may be developed independently. It may be modified without recompiling the program, for rapid prototyping, or as a mechanism to allow customization by the user. A program may even create user interfaces on the fly, for example as new types are defined in an interpreter or database schema editor.

The drawback is possibly that the compiler and linker cannot determine a priori which user interface components will be used at run time and thus cannot selectively include the required components from the VBTkit library.


Copyright 1995 Michel Dagenais, dagenais@vlsi.polymtl.ca, Wed Mar 8 14:41:03 EST 1995