wie auf windowreferenz zugreifen?

schuetzejanett

Erfahrenes Mitglied
Hallo,

und mal wieder ne Frage zu SWT und JFace.

Wie bekomme ich eine Referenz auf mein Workbenchwindow in einem Composite, Dialog, oder Shell?

Habe in meiner RCP app eine menge von Actions diese benötgen im Konstruktor alle eine Klasse die IWorkbenchwindow implementiert.
Wenn ich diese aktion jetzt von einer view aus initialisieren will ist das auch kein problem. da kann ich ja getSite().getWindow() schreiben , aber wie funktioniert das wenn es keine view ist, sondern wie gesagt ein composite, ein dialog oder eine shell. Wie komme ich da an das window.
Ich brauche die instanz von window aber auch in meiner action, da ich eine view öffnen will, und dafür diesen Befehl verwende

Code:
IViewPart view = window.getActivePage().showView(ViewJobDetail.ID);


Hier mal ein auszug aus einer actiom
Code:
private final IWorkbenchWindow window;
	
	public final static String ID = "de.xcom.fullfillment.client.druckmanager.actions.ActionJobDetail";	
	
	public ActionJobDetail( IWorkbenchWindow window) {
		this.window = window;
		setId(ID);
		setActionDefinitionId(ID);
		setAccelerator(SWT.CTRL | 'D');
		setText("&Detailansicht@Strg+D");
		setToolTipText("Anzeige von Details.");		
		
	}

@Override
	public void runWithEvent(Event e)
	{
		if (window != null)
		{
			try
			{				.....
IViewPart view = window.getActivePage().showView(
							ViewJobDetail.ID);
				view.setFocus();

			} catch (PartInitException ex)
			{
				ex.printStackTrace();
			}
		}
	}
}

Also kennt ihr eine möglichkeit über display oder so?
 
Hallo ,

hab das Problem durch hilfe gelöst hier die Lösung
Java:
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
 
Zurück