# Eclipse-Plugin: Perspektive mit 2 Views



## ich_wills_wissen (2. Jul 2007)

Hallo zusammen,

weiß jemand wie man eine Perspective mit zwei Views erstellen kann? Ich möchte allerdings nicht wie in den meisten Tutorials beschrieben die eine View oben und die andere unten haben sondern hintereinander, so daß der user erst einen Tab anklicken muss um die nächste View zu sehen (wie in der Eclipse IDE ja auch möglich).

Hier mein Code der nicht funktioniert:

```
public class MeinePerspective implements IPerspectiveFactory
{

	public void createInitialLayout(IPageLayout layout)
	{
		layout.setEditorAreaVisible(false);
		layout.addView("mein.Paket.views.BasicView", IPageLayout.LEFT, 0.50f, layout.getEditorArea());
		layout.addView("mein.Paket.views.BasicView2", IPageLayout.LEFT, 0.50f, layout.getEditorArea());		
	}

}
```

Die Views und die Perspective sind natürlich in der plugin.xml eingetragen, von daher sollte es eigentlich gehen. 
Wenn ich das zweite "addView" weglasse sehe ich zumindest eine View.. nur mit der zweiten gibt es Probleme.
Die zweite View ist eine Kopie der ersten (Klasse + Konstruktor umbenannt, habe einfach eine 2 an den Namen gehängt).

Die Fehlermeldung die beim Ausführen des Plugins *bei beiden Views* auftritt lautet:


> Unable to create view: Assertion failed: ContentViewer must have a content provider when input is set.



Kennt jemand das Problem oder hat jemand eine Idee woran das liegen könnte?   ???:L 


Gruß,

ich_wills_wissen   :###


----------



## WieselAc (3. Jul 2007)

Du machst dir einen ViewFolder. Das geht in etwa so:


```
...
  // Unten rechts
        IFolderLayout bottomRight = layout.createFolder("bottomRight", IPageLayout.RIGHT, LAYOUT_RIGHT_RATIO, "bottomLeft");
        bottomRight.addView(ViewOne.ID);
        bottomRight.addView(ViewTwo.ID);
...
```

(Die attachment Parameter musst du natürlich anpassen)


----------



## ich_wills_wissen (3. Jul 2007)

Ich blick nichtmehr durch.. habe meinen Code jetzt wie von Dir vorgeschlagen umgeändert:


```
public class MeinePerspective implements IPerspectiveFactory
{

	public void createInitialLayout(IPageLayout layout)
	{
		layout.setEditorAreaVisible(false);
		
		IFolderLayout bottomRight = layout.createFolder("bottomRight", IPageLayout.RIGHT, 0.90f,         "bottomLeft"); 
		bottomRight.addView("mein.plugin.views.BasicView"); 
		bottomRight.addView("mein.plugin.views.BasicView2");

	
	}

}
```

Ich bekomme nach wie vor nur die eine View angezeigt..  ???:L


----------



## WieselAc (3. Jul 2007)

Ich sag doch du musst die attachmenst anpassen:

bottomLeft wirst du wohl nicht haben, bei dir sollte das layout.getEditorArea() sein. Auch die anderen Parameter musst du an deine Gegebenheiten anpassen.


----------



## ich_wills_wissen (3. Jul 2007)

Sehr schön, jetzt gehts     :applaus: 


```
layout.createFolder("MeinFolder", IPageLayout.RIGHT, 0.90f,  layout.getEditorArea() );
```

Vielen Dank!!! 


Beste Grüße,

ich_wills_wissen


----------



## WieselAc (3. Jul 2007)

Kein problem, aber hast den Haken vergessen!

PS: Sowas vielleicht eher unter AWT, Swing & SWT Fragen. Ist ja doch schon eine sehr spezielle RCP Frage und ich schau da regelmässiger rein als hier, weil ich mich damit einfach besser auskenne


----------

