Thema dieser Dokumentation / Das FirstSpirit 5 Modul- / Komponenten-Modell / Von Gadgets, Aspects, Brokern und Agents / Aspekte (SwingGadget) / Aspekt: WidthFixable
Aspekt: WidthFixable
Aspect: WidthFixable
Package: de.espirit.firstspirit.ui.gadgets.aspects
Die Darstellung einer Eingabekomponente erfolgt zunächst immer mit einer vordefinierten Standardbreite. Über den Parameter hFill kann der Vorlagenentwickler ferner definieren, ob eine Eingabekomponente auf der vollen zur Verfügung stehenden Anzeigebreite dargestellt werden soll (hfill=“yes“) oder nicht. Soll für eine Eingabekomponente eine neue, unveränderliche Breite definiert werden, die nicht der Standardbreite oder der vollen Anzeigebreite entspricht, kann mithilfe des Aspekts WidthFixable ein Flag gesetzt werden, das die Eingabekomponente als „fixiert“ definiert. Die gewünschte Breite wird beim Rendern der Komponente von FirstSpirit nun nicht mehr automatisch durch eine andere Breite ersetzt.
Dieser Aspekt kann der SwingGadget-Implementierung über die Implements-Bedingung und den Aufruf von addAspect(…) im öffentlichen Konstruktor der SwingGadget-Implementierung hinzugefügt werden:
public class mySwingGadget implements WidthFixable {
...
public mySwingGadget(final SwingGadgetContext<myGomForm> context) {
super(context);
addAspect(WidthFixable.TYPE, this);
}
...
}
Des Weiteren muss die Methode boolean isWidthFixed() implementiert werden, die definiert, ob eine Eingabekomponente fixiert ist oder nicht. Das entsprechende Flag kann beispielsweise abhängig davon gesetzt werden, ob innerhalb der Eingabekomponente ein Parameter für die Breite konfiguriert wurde. Ein entsprechender Parameter für die Definition der Breite kann z. B. in der GomForm-Implementierung des SwingGadgets zugefügt werden (Beispiel für das Hinzufügen von Parametern siehe GomForm - XML-Repräsentation im SiteArchitect).