Hot-Spot-Plugin |
Für jtap soll ein Plug-In erstellt werden, mit dem sich aktive Bereiche
(Hot-Spots) festlegen lassen. Ein aktiver Bereich ist ein Bereich, innerhalb
dessen GUI-Ereignisse ausgelöst werden. Z.B. wird ein mouseOver-Ereignis
ausgelöst, sobald die Maus in den Hot-Spot-Bereich bewegt wird. Das
Hot-Spot-Element soll nun die Möglichkeit bieten, diese aktiven Bereiche
nicht nur kastenförmig (wie bei normalen Komponenten) festzulegen, sondern
für beliebige Formen. Hierzu muss es möglich sein, innerhalb des Elementes
geometrische Formen (Rechtecke, Ellipsen, Polygone, "Pixel" bzw.
Miniquadrate) einzuzeichnen. Die ausgefüllten Formen sind nur zur
Editierzeit sichtbar und werden zur Laufzeit nicht mehr gezeichnet. Wird der
Mauszeiger nun zur Laufzeit in die Komponente des Elements bewegt, so muss
das Element prüfen, ob sich der Mauszeiger auch innerhalb des aktiven
Bereiches befindet. Ist dies der Fall, dann wird das dazugehörige
Ereignisskript ausgeführt. Bewegt sich der Mauszeiger nicht im aktiven
Bereich, so soll das Hot-Spot-Element das Ereignis ignorieren und an die
übergeordnete Swing-Komponente weiterleiten.
Ein Hot-Spot-Element soll optional einem anderen jtap-Element auf der Tafel
zugeordnet werden können. Das Hot-Spot-Element übernimmt dann Größe und
Position dieses Elementes. Verschiebt man das Hot-Spot-Element, dann soll
sich auch die Position des verwalteten Elements verändern. Tritt zur
Laufzeit eines jtap-Kurses ein Ereignis innerhalb des aktiven Bereiches ein,
so wird geprüft, ob das verwaltete Element eine Eigenschaft mit einem
passenden Ereignisskript besitzt. Wenn dies der Fall ist, so kann dieses
Skript ausgeführt werden.
Folgende Eigenschaften muss das Hot-Spot-Element mindestens besitzen:
- Ereignisskripte für alle Swing-Mausereignisse
- Ereignisskripte für Tastatur-Ereignisse
- Verwaltetes Element (Name und Subname eines anderen Elementes)
- Auswahlkriterium des Ereignisskriptes, wenn ein weiteres Element verwaltet
wird:
- Skripte des verwalteten Elements werden ignoriert
- Enthält das verwaltete Element ein geeignetes Ereignisskript, so wird
nur dieses ausgeführt
- Enthält das verwaltete Element ein geeignetes Ereignisskript, so wird
dieses ausgeführt, danach wird zusätzlich das Skript des Hot-Spot-Elements
ausgeführt
- Als erstes wird das Skript des Hot-Spot-Elements ausgeführt, enthält das
verwaltete Element ein geeignetes Ereignisskript so wird dieses zusätzlich
ausgeführt
Die Definition der Hot-Spot-Bereiche eines Elements, bestehend aus einer
Liste von Geometriebeschreibungen, müssen beim Speichern und Laden des Elements
berücksichtigt werden.
|