Dienstag, 23. Oktober 2007

Neuer Callback postOpen(input) im PolarEditor

Der PolarEditorPart hat eine neue Callback-Methode postOpen(PolarEditorInput input), die vom EditorExpert nach dem Öffnen (oder Reaktivieren) des Editors aufgerufen wird.

Der PolarEditorInput erfüllt nun insgesamt drei Zwecke:

  1. Er enthält Informationen, die zur Identifikation des Editors verwendet werden: in POLAR ist dies zur Zeit der String für den Editor-Titel. Anhand dieses Attributs entscheidet Eclipse, ob ein neuer Editor geöffnet oder ein alter reaktiviert wird.
  2. Er enthält Informationen, die zur Erzeugung eines neuen Editors verwendet werden, nämlich das PolarVo und das Startdatum der Instanz (welches bei Planungsobjekten null ist).
  3. Er enthält Informationen, die in postOpen() verwendet werden, um den Editor nach dem Öffnen bzw. Reaktivieren zu konfigurieren. Aktuell verwendet wird hier das Feld tabItemIndex, das angibt, welches TabItem zu Beginn selektiert sein soll (Default: 0).

Damit ist es nun möglich, ein Feature wie "öffne das gegebene VO und selektiere den VT-Reiter" folgendermassen zu implementieren:
             
PolarEditorInput input = new PolarEditorInput(vo);
input.setTabItemIndex(2);
EditorExpert.openEditor(input, true);

Die postOpen()-Methode des TabFolderEditors sieht dabei aktuell so aus:

public void postOpen(PolarEditorInput input) {
tabFolder.setSelection(input.getTabItemIndex());
}

Keine Kommentare: