Die Klassen FMButtonObject, FMMenuObject, FMSliderObject, FMMoveGuardObject und FMMouseModeObject implementieren die zur Zeit in FMAD integrierten Interaktionstypen. Die Bedeutung der ersten drei Klassen ergibt sich aus dem jeweiligen Namen, wobei Menüs nicht-hierarchische Popup-Menüs darstellen. Die Implementierung der Systemfunktionen basiert dabei auf den XFantasy-Klassen FButton, FBlock und FSlider. Die Klasse FMMoveGuardObject ist auf der Grundlage einer XFantasy-Klasse FMoveGuard implementiert, der die Eventbehandlung aus Abbildung 7.4 zugrundeliegt. FMMoveGuard-Objekten können über ein Attribut beliebige visuelle Medienobjekte einer Präsentationsanwendung zugeordnet werden, wodurch sich diese während der Präsentation auf dem Bildschirm durch den Benutzer mit Hilfe der Maus direkt-manipulativ verschieben lassen. Die Klasse FMMouseModeObject, die auf dem XFantasy-Typ FMouseMode basiert, dient zur Realisierung mausklicksensitiver Objekte. Genau wie den FMMoveGuard-Objekten können auch FMMouseMode-Objekten die entsprechenden visuellen Medienobjekte über ein Attribut zugeordnet werden. FMMouseMode-Objekte sind parametrisierbar über die zu verwendende Maustaste und die Art des Mausklicks (einfacher oder doppelter Mausklick). Desweiteren ist auch das Auslösen einer Interaktionsbeziehung durch das Betreten (Enter-Event) bzw. das Verlassen (Leave-Event) eines visuellen Objektes durch den Mauscursor spezifizierbar.
Interaktionsattribut der Klasse FMMenu ist ein Attribut selection vom Typ int, das das Menuitem angibt, das vom Benutzer angeklickt wurde. FMSlider-Objekte besitzen ein Interaktionsattribut value, das entsprechend der Stellung des Schiebereglers float-Werte zwischen 0 und 1 annehmen kann. FMButton- bzw. FMMouseMode-Objekten ist ein Interaktionsattribut click bzw. done vom XFantasy-Typ bool zugeordnet, dem bei einer entsprechenden Benutzerinteraktion der Wert TRUE zugewiesen wird. Die visuellen Interaktionstypen besitzen darüberhinaus Attribute zur Festlegung des Fensters, in dem sie erscheinen sollen, sowie zu ihrer Positionierung.
Für die visuellen Interaktionstypen ist auch der in Kapitel 6.5.4 vorgestellte Demonstrationsmodus zur graphisch-interaktiven Programmierung von Interaktionsbeziehungen implementiert.
Als Medienobjekterzeugungswerkzeug wurde ein graphischer Interaktionseditor implementiert, in dem die Werte bestimmter Informationsattribute von FMButton-, FMMenu- und FMSlider-Objekten festgelegt werden können. Diese lassen sich in einer Datei speichern und können in FMAD von der jeweiligen Persistenzkomponente geladen werden. Informationsattribute von FMButton-Objekten sind die Form des Buttons (Rechteck, Oval, ...), der enthaltene Text sowie der Font des Textes. Informationsattribute von FMMenu-Objekten sind die Anzahl an Items -- die als Buttons realisiert sind --, der jeweils in den Items repräsentierte Text, die Form der Items sowie der Textfont. FMSlider-Objekte setzen sich aus Informationsattributen zusammen, die ihre Lage (horizontal, vertikal), ihre Größe sowie Beschriftungen des Schiebereglers festlegen. FMMoveGuard- und FMMouseMode-Objekte besitzen keine Informationsattribute. Sie werden direkt in FMAD erzeugt und müssen nicht geladen werden.
In Abschnitt 4.3.1 wurde die visuelle Programmierung von Interaktionsobjekten diskutiert und festgestellt, daß sie nicht in den Aufgabenbereich eines Autors fällt. Vielmehr muß ein Medienobjektkreierer Interaktionsobjekte in Medienobjekterzeugungswerkzeugen, die von einem Medientypintegrator zur Verfügung gestellt werden, definieren. Der Interaktionseditor stellt ein solches graphisch-interaktives Medienobjekterzeugungswerkzeug dar. Er unterstützt zur Zeit die Erzeugung von Button-, Menü- und Schieberegler-Objekten, ist aber erweiterbar. Der Interaktionseditor kann jederzeit durch ein alternatives Medienobjekterzeugungswerkzeug ausgetauscht werden. Dazu muß lediglich die Persistenzkomponente der entsprechenden Medientypen reimplementiert und dem Speicherformat des neuen Werkzeugs angepaßt werden. Denkbar wäre beispielsweise die Nutzung des Peridot-UIMS (siehe Kapitel 4.1.4) als graphisch-interaktives Medienobjekterzeugungswerkzeug für beliebige Interaktionsobjekte.