tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von zeja
  • 1 Beitrag von illuzione
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
1299
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    lowskilla lowskilla ist offline Rookie
    Registriert seit
    Apr 2009
    Beiträge
    8
    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.

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    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!
     

  2. #2
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Wieso machst du denn nicht unterschiedliche Composites und halt ähnlich wie du es schon angesprochen hast, ne Einstellung mit der man einstellen kann wie das ganze aussehen soll. Dann stellst du je nach dem, das oder das Composite dar.
    lowskilla bedankt sich. 

  3. #3
    illuzione illuzione ist offline Mitglied Bronze
    Registriert seit
    Jan 2008
    Ort
    Frankfurt am Main
    Beiträge
    37
    Hallo,
    so frei aus dem Bauch heraus würde ich zunächst folgendes versuchen:
    Du sagtest du zeigst Sachen 'listenförmig' an. Deswegen nehme ich an Du benutzt einen TreeViewer oder TableViewer mit Label- und ContentProvider zum Anzeigen der Daten.

    Du könntest versuchen zwei LabelProvider zu schreiben, der eine für die 'Listenansicht' und der andere für die 'Baumansicht'.

    Wenn nun standardmäßig die Listenansicht aktiviert ist könntest Du bei der Action dem TreeViewer/TableViewer den anderen LabelProvider zuweisen.

    Auch die Idee von zeja mit den zwei Composites wäre gut. Optimales Layout dafür wäre das StackLayout:
    http://help.eclipse.org/help32/index...ackLayout.html

    Gruß,
    Jens
    lowskilla bedankt sich. 

Ähnliche Themen

  1. JSF Execption: No saved view state could be found for the view identifier
    Von crombix im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 07.01.11, 11:43
  2. Antworten: 0
    Letzter Beitrag: 13.10.08, 11:44
  3. Antworten: 0
    Letzter Beitrag: 19.01.07, 16:34
  4. Antworten: 8
    Letzter Beitrag: 03.02.06, 21:10
  5. Stammbaum in View, Objekte in View verschieben.
    Von Ron-calli im Forum VisualStudio & MFC
    Antworten: 0
    Letzter Beitrag: 11.10.05, 18:01

Stichworte