Frage

Frage zum Eclipse RCP und ganze Perspektive / view / Editor Design - was ist die beste Art und Weise Anwendung zu erstellen, die mehrere Fenster auf mehreren Monitoren angezeigt werden? RCP / SWT Tutorials und Buch, das ich immer packen Design in Ansichten innerhalb Perspektive innerhalb einzelner Anwendungsfenster gesehen haben.

Sollte ein Fenster Regel alle anderen oder sie alle gleich sein sollten (Schließen letzte Anwendung beendet)? Wie mit den Perspektiven und Ansichten umgehen? Gibt es noch andere Dinge, die wir wissen sollten?

. Umgebung: Eclipse-Ganymede, Windows XP

War es hilfreich?

Lösung

Ein einzelner Eclipse-Workbench kann mehrere Fenster erstellen. Jedes Fenster gelegt wird, um eine Perspektive verwenden, so verschiedene Fenster zu verschiedenen Perspektiven festgelegt werden können, oder die gleiche Perspektive, und Sie können in jedem Fenster unabhängig von den anderen Fenstern Perspektiven wechseln.

Sie können auch Eingang für jedes Fenster gesetzt. Dies ist nützlich, wenn jedes Fenster auf verschiedene Daten arbeitet (beispielsweise jedes Fenster zu einem anderen Server verbunden werden kann oder die Daten aus verschiedenen Datenbanken zeigen, die alle das gleiche Schema, aber unterschiedliche Daten haben).

Es kann sein, dass Sie Windows verwenden nur so, dass man verschiedene Perspektiven der gleichen Daten auf verschiedenen Monitoren zu sehen. In diesem Fall brauchen Sie nicht programmatisch die Fenster zu schaffen, sondern brauchen nur die Aktion von der Werkbank geliefert hinzuzufügen. Dies kann durch Änderung Ihrer ActionBarAdvisor Klasse durchgeführt werden:

in der Feld Erklärungen:

private IWorkbenchAction newWindowAction;

, um den Code hinzufügen, in dem Sie die Aktionen (in der Regel eine Methode namens makeActions) machen:

    newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
    register(newWindowAction);

, um den Code hinzuzufügen, in dem Sie die Menüs zu erstellen:

    menu.add(newWindowAction);

Dabei gilt Menü ist in der Regel das Menü Fenster. Wenn Sie nicht über ein Menü Fenster bereits in Ihrer Anwendung und mögen erstellen, wird die folgende Zeile funktionieren:

    MenuManager menu = new MenuManager(
      "&Window", 
      IWorkbenchActionConstants.M_WINDOW);

Dies gibt Ihnen einen Menüpunkt, der ein neues Fenster in der gleichen Weise wie die Window-> Neues Fenster Menüpunkt in der Eclipse-IDE erstellen wird.

Wenn auf der anderen Seite, können Sie jedes Fenster wollen verschiedene Daten zeigen, dann müssen Sie die neuen Fenster programmatisch öffnen. Auf diese Weise können Sie verschiedene Eingabe für jedes Fenster setzen. Sie erhalten eine Codezeile so etwas wie müssen:

IWorkbenchPage newPage = window.openPage(inputObject);

Dabei gilt Inputobject Informationen enthält, die die Daten im Fenster angezeigt identifiziert. Wenn Sie die ursprüngliche Perspektive gesetzt werden soll dies durch den Aufruf setPerspective auf der Seite durchgeführt werden.

Sie werden den Titel in jedem Fenster festlegen möchten:

newPage.getWorkbenchWindow().getShell().setText(windowTitle);

wo window ist eine Zeichenkette beschreibt die Eingabe in das Fenster.

Sie können den Eingang für ein Fenster holen wie folgt:

window.getActivePage().getInput()

Sie können dann werfen diese, was auch immer Klasse, die Sie als Ihre Fenster Eingabe verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top