RCP - View mittels Menü aufrufen

Goliath83

Grünschnabel
Ich möchte über ein Menü einen View aufrufen.
Das Menü habe ich in dem betreffenden Plugin unter Extensions eingerichtet.

Kann mir jemand erklären wie man jetzt mit dem Menü ein View aufruft und anzeigt?



Vielen Dank im Voraus
 
Da gibt es mehrere Ansätze, zwei die ich kenne sind:
Das ganze über org.eclipse.ui.actionSets oder org.eclipse.ui.perspectiveExtension zu realisieren.
Welche Extension bentutz du denn, dann kann ich dir vielleicht bissl weiter helfen?
 
Zuletzt bearbeitet von einem Moderator:
Hab mal kurz das ganze für org.eclipse.ui.actionSets aufgeschrieben:

Code:
package org.tutorials.actions;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;
import org.eclipse.ui.PartInitException;
import org.tutorials.view.MeinView;

public class StartViewActionDelegate implements IWorkbenchWindowActionDelegate {
	
	private IWorkbenchWindow window;
	
	public void dispose() {
		// TODO Auto-generated method stub

	}

	public void init(IWorkbenchWindow window) {
		// TODO Auto-generated method stub
		this.window = window;
	}

	@Override
	public void run(IAction action) {
		// TODO Auto-generated method stub

		try {
			window.getActivePage().showView(MeinView.ID);
		} catch (PartInitException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	@Override
	public void selectionChanged(IAction action, ISelection selection) {
		// TODO Auto-generated method stub
	}
}

package org.tutorials.view;

import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.ViewPart;

public class MeinView extends ViewPart {

	public static final String ID = "org.tutorials.view.meinview";
	
	public MeinView() {
		// TODO Auto-generated constructor stub
	}

	@Override
	public void createPartControl(Composite parent) {
		// TODO Auto-generated method stub
	}

	@Override
	public void setFocus() {
		// TODO Auto-generated method stub
	}
}

Die StartViewActionDelegate einfach bei deiner org.eclipse.ui.actionsets -> action als class angeben.
Mit diesem code, wird der view im aktuell aktiven view geöffnet, je nachdem wo du in öffnen willst musst du eben das ziel abändern.

Solltest du einen view von einem anderen, als deinem Hauptplug-in öffnen wollen empfehle ich dir dieses Tutorial:
http://www.eclipsezone.com/eclipse/forums/t53312.html

Ist gut beschrieben und einfach nach zu vollziehen.

MfG Ben
 
Zuletzt bearbeitet von einem Moderator:
Hallo...

Ich habe mich grad mit dem Mail-Template von Eclipse beschäftigt und mir dort mal das Wichtigste heraus gesucht.

Ich arbeite mit der Extension "org.eclipse.ui.actionSets" und werde das mal an diesem Beispiel von Eclipse probieren.
Das Code-Beispiel sieht auch ganz nett aus.

Ich melde mich nochmal, wenn ich mit diesen Möglichkeiten nicht weiter kommen sollte.


Vielen Dank
 
Zurück