L
lowskilla
Hallo,
ich stehe momentan vor folgendem Problem: Ich habe eine Ansicht in meiner RCP Applikation, die Listenförmig Daten anzeigt. Nun habe ich einen neuen View implementiert, der die selben Daten in einer Baumansicht anzeigt. Beide Views funktionieren einwandfrei.
Nun möchte ich, dass ich mittels einem ViewMenu eine Action erscheint, mit der ich zwischen den Views umschalten kann. Meine momentane Lösung sieht so aus, dass ich mit dieser Action den alten View schließe und den neuen View anzeigen lasse.
Ansich würde das ganze schon funktionieren, ist jedoch mMn nich optimal gelöst, es gibt es nocheinige Unschönheiten. Falls der eine View nämlich vom Benutzer verschoben wurde und der Bunutzer dann den View wechselt, erscheint der neue View wieder an der alten Stelle.
Was ich mir im Endeffekt vorstellen würde, wäre in etwa das, wenn man im Eclipse Package Explorer auf "Package Presentation" klickt und man dort zwischen "Flat" und "Hierachical Presentation" wählen könnte.
Was eventuell eine Lösung für mein Problem sein könnte: Ich müsste irgendwie überprüfen, ob die eine Perspektive geöffnet ist und falls ja, müsste diese dann geschlossen werden. So könnte ich zumindest verhindern, dass unter Umständen beide Views offen sind.
Für Antworten oder Links bin ich sehr dankbar!
ich stehe momentan vor folgendem Problem: Ich habe eine Ansicht in meiner RCP Applikation, die Listenförmig Daten anzeigt. Nun habe ich einen neuen View implementiert, der die selben Daten in einer Baumansicht anzeigt. Beide Views funktionieren einwandfrei.
Nun möchte ich, dass ich mittels einem ViewMenu eine Action erscheint, mit der ich zwischen den Views umschalten kann. Meine momentane Lösung sieht so aus, dass ich mit dieser Action den alten View schließe und den neuen View anzeigen lasse.
Java:
public class OpenComponentListAndCloseTreeAction extends Action implements IWorkbenchAction
{
public void run()
{
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IViewReference ref = page.findViewReference(ComponentTreeView.ID);
IViewPart viewPart = ref.getView(true);
// Deen TreeView verstecken und den ListView aufmachen
page.hideView(viewPart);
page.showView(ComponentListView.ID);
}
public void dispose()
{
// Beim zumachen soll gar nichts passieren
}
}
Ansich würde das ganze schon funktionieren, ist jedoch mMn nich optimal gelöst, es gibt es nocheinige Unschönheiten. Falls der eine View nämlich vom Benutzer verschoben wurde und der Bunutzer dann den View wechselt, erscheint der neue View wieder an der alten Stelle.
Was ich mir im Endeffekt vorstellen würde, wäre in etwa das, wenn man im Eclipse Package Explorer auf "Package Presentation" klickt und man dort zwischen "Flat" und "Hierachical Presentation" wählen könnte.
Was eventuell eine Lösung für mein Problem sein könnte: Ich müsste irgendwie überprüfen, ob die eine Perspektive geöffnet ist und falls ja, müsste diese dann geschlossen werden. So könnte ich zumindest verhindern, dass unter Umständen beide Views offen sind.
Für Antworten oder Links bin ich sehr dankbar!