Metatronic Remote GUI Display System

Metatronic is analogous to the A3DL/Ter'Angreal software, but it works with GUI objects rather than 3D graphics. GUI elements such as buttons, listboxes, menus, checkboxes and layout groups are described using Vobjects, and the Metatronic client uses those Vobjects to lay out and display the GUI to the user.

Metatronic becomes especially powerful when used to provide a GUI to another VOS-based application: GUI components can be wired directly to Vobjects used by the application, and a change made by the user in the Metatronic client immediately and automatically affects the target Vobject.

The Metatronic client uses wxWindows to render widgets, making it easily portable to Windows, Linux (with GTK), Mac OSX, and other platforms, while utilizing each platform's natural look and feel. More info about wxWindows can be found at http://www.wxwindows.org

As of version 0.12, the following widgets are available in Metatronic:

All objects are grouped in layout containers. The client will automatically lay out widgets based on the container groups and some padding and alignment parameters.
(Pushbutton on Mac) Pushbuttons send a simple "pushed" message back to their Vobject.
(Checkbox, "yes", on Linux/GTK) (Checkbox, "no", on Linux/GTK) A boolean select - a checkbox - targets a particular property, and sets it to "yes" or "no" when a user changes its state.
(Input field on Mac) An input field also targets some property Vobject. When a user enters new text in the input field, the value of the property is changed.
Menus are simply special containers. Button and boolean select (checkbox) objects within menu objects are placed in a menu, rather than in a window.
(Listbox on Mac) A list selection widget provides a way to select one or more objects from a list. The objects in the list represent Vobjects of any kind: when an object is selected from the "choices" group, a reference to it is placed into the corresponding position in a "selected" group. Vobject listeners can be used to detect selections and deselections, or the "selected" group can be used as a whole.
A "value" selection widget targets a particular property object. When the user makes a new selection, the value of that property is changed. This widget has two styles: radio buttons and a popup menu.
A slider is a numeric input controlled by a sliding control. It targets a property, writing a new floating point number when the slider is dragged to a new position. It can be constrained by minimum and maximum values.
A numeric input is like a normal input widget, but has increment and decrement buttons, and is restricted to numerical values. It can have minimum and maximum constraints.
A label widget displays a text string, an image, or a small HTML document.
A color input provides access to a color selection dialog box. When a new color is selected in the dialog, the RGB color is written to its target property.
A file input provides access to a file selection dialog box. When a new file is selected, the contents of the file are written to the target property.

The Metatronic client currently runs under Linux using GTK, and Mac OSX. A Windows version will be forthcoming. We are also working on adding GUIs to Ter'Angreal and other applications.

 


Contact: tetron @ interreality . org
Website problems: reed @ interreality . org