XPCE Development Tools

XPCE Development Tools

XPCE provides graphical tools for browsing the manual, currently defined classes and object, statistics, etc. An overview of some of these tools is available from the manual.

To WYSIWYG or not?

An important discussion in the GUI field is the usefulness of WYSIWYG interface builders. Basically, the arguments boil down to the following:

Easy to start
What is easier then start the interface builder, draw the interface together and generate the code for it?
Easy to find options
It is a lot simpler to point at the interface object, select `Settings' and set the proper options than to learn about them from the manual and put the proper statements in your code.
Poor handling of dynamic aspects
Most interfaces do not consist of just a few windows with static controls. Sequencing, conditional options and adapting to the actual data are expressed a lot less naturally using interface builders.
No exploitation of meta-programming
Declarative representation of data, relations and constraints is a natural habit of Prolog programmers. It results in concise applications with a reasonable well guaranteed consistency between the various modules that use the declarative specification. The GUI should fit into this schema, and interface builders cannot deal with this.
Poor handling of general graphics and direct manipulation thereof
Good interfaces do not consist of endless sequences of windows with controls. Direct manipulation of graphical representations can avoid many controls and is much more natural to the end-user.
Poor structuring of the result
A serious drawback of using interface builders is that they do not promote abstraction to arrive at consise and clear code that can be inspected and modified easily.

For short, interface builders are not the primary target of XPCE, despite the fact that the dynamic aspects and accesibility of meta-information makes it a good platform for an interface builder. A prototype interface builder is available in the system under the Tool menu of the ?- manpce. generated window.

Symbolic layout descriptions, describing the layout of controllers in terms of below, right, etc. and automatic handling of value and label alignment are the answer provided by XPCE. Automatic layout handling fits well with automatic generation of GUIs based on declarative specifications. It also automatically deals with differences in fonts, labels (multi-lingual applications) etc.


Home This page is maintained using the chpp macro language