Theseus is designed to create MINOS dialogs. Each
dialog is derived form a window class. You can create dialogs by
composing boxes (layout managers) and widgets together, glue actions
to the widgets, add variables and methods to the derived window
classes, and so on.
This is the help system, called ``Ariadne'', since it is the red
line that leads you through the labyrinth of MINOS. This chapter will
give some informations about the philosophy behind MINOS and Theseus,
so you understand what you are doing.
MINOS has four sets of classes:
- Widgets: ``window gadgets'', these are the basic objects
like buttons, labels, icons and text fields.
- Displays: these widgets are the drawing area of other
widgets. They know how to draw to X or to the parent display. It's
also possible to create new displays that e.g. draw into an OpenGL
widget or send drawing events over the network, to copy drawing
messages to more than one parent display and so on.
- Boxes: or layout managers. Although each object in MINOS
has coordinates and size, it's formating is done by a surrounding
layout manager. These either form horizontal boxes, and align their
contents from left to right, or vertical boxes, and align their
contents from top to bottom. Each widget has a horizontal and a
vertical glue, these glue values are used to compute a nice look of
the widgets.
- Actions: these are the objects that link data and widgets
together. An action knows in which state it is, and what to do when
the state changes. There are several types of actions, for simpe
buttons, toggle buttons, text fields, and sliders.
Each dialog is hierarchically composed out of widgets, boxes, and
displays (e.g. viewports). Each active object, thus each button,
toggle button, slider, and text field has an associated action, a
name, and other attributes.
The next chapter will describe how to use Theseus, and which
classes and messages are available.
I hope you will find this program somehow useful and I would
appreciate any suggestions and comments.
Bernd Paysan
<bernd.paysan@gmx.de>.
Bernd Paysan,
1997-09-14, 1998-01-25