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.
|
This page is maintained using the chpp macro language
|