Thema dieser Dokumentation / Das FirstSpirit 5 Modul- / Komponenten-Modell / GOM - FirstSpirit GUI Object Model

GOM - FirstSpirit GUI Object Model

Das FirstSpirit GUI Object Model definiert die grundlegende Architektur und Funktionalität für die Implementierung neuer sowie die Nutzung bestehender (FirstSpirit-eigener) Eingabekomponenten (SwingGadgets, Editoren (veraltet)). SwingGadgets werden in Java implementiert und verfügen über grafische Oberflächenelemente (Swing), wie z. B. Buttons oder Eingabefelder, und funktionale Aspekte (siehe Aspekte (SwingGadget)), beispielsweise das Bearbeiten und Speichern von Werten. In der Regel werden FirstSpirit-Eingabekomponenten entwickelt, um dem Redakteur neue Funktionalitäten zur Verfügung zu stellen, projektspezifische Aufgaben zu vereinfachen oder auf neue Anforderungen im Betrieb zu reagieren.

SwingGadgets nutzen für die Integration der Eingabekomponente in den FirstSpirit SiteArchitect das FirstSpirit GUI Object Model, kurz GOM (FirstSpirit GUI Object Model). Hierbei kann über die Definition eines XML-Identifiers, z. B. CUSTOM_TEXTAREA ( Beispiel siehe GomForm - XML-Repräsentation im SiteArchitect) in der GOM-Form (de.espirit.firstspirit.access.store.templatestore.gom.GomFormElement), die Komponente im Vorlagenbereich des FirstSpirit SiteArchitects eingebunden werden (im Registerbereich „Formular“) (siehe auch Ansicht Komponente Formular und Ausgabe-Kanäle (bspw. HTML, PDF)). Ein Anwendungsbeispiel für die GOM-Form einer einfachen SwingGadget-Komponente ist im Abschnitt GomForm - XML-Repräsentation im SiteArchitect zu finden.

Wichtig Bei der Vergabe des Identifiers sollte darauf geachetet werden keine Notation mit „FS_“ zu verwenden, da dies zu Konflikten mit FirstSpirit-Eingabekomponenten führen kann.  

Prinzipiell erfolgt eine Unterscheidung zwischen:

  • GOM-primitiven Elementen und
  • Listen GOM-primitiver Elemente.

Zusätzlich gibt es eine:

  • Spezialisierung von Listen, die zur Verarbeitung von Elementgruppen dient. Eine Elementgruppe definiert sich dadurch, dass sie GOM-Elemente (GomLabel, GomRadiobutton) beinhaltet.

Da es in diesem Dokument um die Entwicklung eigener, spezialisierter Komponenten geht, wird auf die Vielzahl der in FirstSpirit bereits vorhandenen Eingabekomponenten nicht näher eingegangen. Dieses Kapitel beschränkt sich auf die grundlegende Verwendung von abstrakten GOM-Elementen für die Implementierung eigener Eingabekomponenten und deren GOM. Weiterführende Informationen zum GUI Object Model und den Standard-Eingabekomponenten in FirstSpirit finden sich in der „Online Dokumentation für FirstSpirit – ODFS“ im Kapitel Vorlagenentwicklung / Formulare.

Ein GOM-Element hat oft ein Swing-Pendant, auf das es durch die SwingGadget-Klasse abgebildet wird.

...

for (final GomSearchField searchField : searchFields) {
final int row = tableLayout.getNumRow();
tableLayout.insertRow(row, TableLayoutConstants.PREFERRED);

final JLabel label = new JLabel(searchField.getName());
topPanel.add(label, "0," + row);

final JTextField textField = new JTextField();
_searchFields.put(searchField.getId(), textField);
topPanel.add(textField, "1," + row);
}

...

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.4 | Datenschutz