Thema dieser Dokumentation / Das FirstSpirit 5 Modul- / Komponenten-Modell / Beispiel: Implementierung einer Eingabekomponente / Übersicht
Übersicht
Zur Veranschaulichung des neuen Komponentenmodells soll die Implementierung einer einfachen Texteingabe-Komponente (basierend auf SwingGadgets) dienen. Das Beispiel erläutert den Zusammenhang zwischen der SwingGadget-Implementierung der Eingabekomponente und der zugehörigen GOM[1]-Form, das Hinzufügen von funktionalen Aspekten zur SwingGadget-Implementierung sowie das Arbeiten mit Werten, die innerhalb der Komponente gespeichert werden können, anhand des neuen Aspekts ValueHolder.
- Implementierung des Formular-Elements (GomCustomTextarea) für die Definition des XML-Identifiers und weiterer Tags und Attribute der neuen Eingabekomponente (<CUSTOM_TEXTAREA>), sowie für die Validierung der XML-Repräsentation der Eingabekomponenten im FirstSpirit SiteArchitect (siehe GomForm - XML-Repräsentation im SiteArchitect).
- Implementierung einer SwingGadget-Factory (CustomTextareaSwingGadgetFactory), die eine neue visuelle Darstellung des SwingGadgets instanziert und die Implementierung der Eingabekomponente (CustomTextareaSwingGadget) mit dem Formular-Element (GomCustomTextarea) verknüpft (siehe SwingGadgetFactory - Erzeugen eines typisierten Gadgets).
- Implementierung der SwingGadget-Eingabekomponente (CustomTextareaSwingGadget), die einen öffentlichen Konstruktor zur Erzeugung einer neuen visuellen Darstellung des SwingGadgets (ehemals GuiEditor) zur Verfügung stellt und alle funktionalen Aspekte der Eingabekomponente implementiert (siehe SwingGadgets und die Verwendung von Standard-Aspekten).
- Sofern eine Eingabekomponente Werte speichern und bearbeiten kann, müssen Änderungen innerhalb der Komponente nach außen propagiert werden (siehe NotifyValueChange - Änderungen propagieren).
- Implementierung zur Behandlung der Werte eines SwingGadgets über den Aspekt ValueHolder (siehe ValueEngineer - Werte eines SwingGadgets behandeln).
- Content-Highlighting für eine Eingabekomponenten aktivieren (siehe Content-Highlighting für eine Komponente aktivieren).
- Treffermarkierung für die Suchergebnisse einer Eingabekomponente mithilfe des Aspekts Highlightable realisieren (siehe Aspekt Highlightable - Treffermarkierung für die Suche).
[1] GUI Object Model