Pronux Wiki
Menu

RCPCoreConcepts

Application
|
+-- ApplicationWindow
      |
      +-- ApplicationPage
            |
            +-- View
            |
            +-- Editor

Die Anwendung

Es gibt 1 Anwendung pro VM. Jede Applikation wird von einem ApplicationAdvisor unterstützt.

Der ApplicationAdvisor enthält verschiedene hook Methoden, welche man überschrieben kann, um das Verhalten der eigenen Anwendung anzupassen (Als Beispiel kann man sich den PetClinicApplicationAdvisor ansehen).

Beispiel: Um den Benutzer nach einer Bestätigung zu fragen, wenn die Anwendung geschlossen wird, muss man die Methode public boolean onPreWindowClose(ApplicationWindow window) überschreiben, welche true zurückgibt, wenn der User Ja klickt und false, fals der Benutzer Nein klickt.

public boolean onPreWindowClose(ApplicationWindow window) {
    return JOptionPane.showConfirmDialog(window.getControl(), "Are you sure you want to exit the application?",
                                         "Confirm Exit", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION;
}

Fenster

Es gibt ein oder mehrere ApplicationWindows pro VM. Jedes Fenster wird durch eine JFrame Component realisiert (Welche als eine Factory agiert, um neue Fenster zu erzeugen).

Seiten

Es gibt genau eine ApplicationPage (Seite) area für jedes Fenster. Jede Seite hat einen einzelnen ApplicationPageDescriptor, welcher die Regeln verkapselt, wie die Seite anfänglich gelayoutet werden soll. Dazu verwendet er einen ApplicationPageLayoutBuilder. In Zukunft versucht das Spring RCP Projekt deklarative Layout Vorgaben und das Sichern von zur Laufzeit geänderten Layout Einstellungen zu unterstützen (Zum Beispiel Userbasierende Layout Einstellungen).

Wenn Views zu einer Seite hinzugefügt werden, programatisch durch die showView Methode oder während des Starts des Seitenlayouts (ApplicationPageLayoutBuilder hook in der Methode buildInitialLayout() des PageDescriptor), erzeugt die Seite eine ViewPane, welche die visuelle Präsentation der View kontrolliert. Zur Zeit ist dies in der Standardimplementierung durch einen SimpleInternalFrame realisiert.

Die Seite überwacht und meldet ausserdem view lifycycle events: Erzeugung (creation), Focus erhalten (focus gained), Fokus verloren (focus lost), Abbau der View (destruction). Dies ist die Art und Weise, wie eine View zum Beispiel über Aktivierung informiert wird, um globale Command Executors zu registrieren. Die Seite speichert View Instanzen zwischen und informiert die Views, wenn sie aktiviert/deaktiviert bzw. disposed werden.

Views

Jede Seite (ApplicationPage) ist definiert durch eine oder mehrere andockbare Views, welche in verschiedenen Sektionen der Seite (links, rechts, oben, unten, etc.) plaziert sind. Eine View ist ausserdem definiert durch einen einzelnen ViewDescriptor.View Instanzen können gestacked, getabbed, etc. sein. Die gleiche View kann auf verschiedenen Seiten in verschiedenen Fensertn geöffnet sein, aber nur eine View Instanz pro View pro View descriptor ist erlaubt pro Seite.

Detailierte Informationen findet man im Abschnitt Views.

Action Bars

TODO

Menu Bar

TODO

Tool Bar

TODO

Status Bar

Resources

TODO

Messages

TODO

Images

TODO

Icons

TODO

Lifecycle

TODO

AboutBox

TODO

Hilfe System

Spring Rich bietet die Unterstützung für eine plugable Hilfesystemkonfiguration an.

Es gibt unterschiedliche Hilfesysteme und der Spring Rich Client gibt lässt einem freie Wahl, welches System man nutzen will.


Go to top   Edit this page.   More info...   Attach file...

This page last changed on 10-Nov-2006 13:28:54 CET by PeterSchneider-Manzell.