istartup plugin does nto work in jazz
![]()
i wrote some code to display a message whenever a user changes the perspective. this works in eclipse as a plug in, but it does not work in RTC. it uses istartup plugin. my code is below:
public class startupperspective implements IStartup { public void earlyStartup() { /* * The registration of the listener should have been done in the UI thread * since PlatformUI.getWorkbench().getActiveWorkbenchWindow() returns null * if it is called outside of the UI thread. * */ System.out.print("aba"); Display.getDefault().asyncExec(new Runnable() { /* (non-Javadoc) * @see java.lang.Runnable#run() */ public void run() { final IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (workbenchWindow != null) { workbenchWindow.addPerspectiveListener(new PerspectiveAdapter() { /* (non-Javadoc) * @see org.eclipse.ui.PerspectiveAdapter#perspectiveActivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor) */ @Override public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspectiveDescriptor) { super.perspectiveActivated(page, perspectiveDescriptor); // TODO implement the task to execute when the perspective change //System.out.println("Something changed!"); String e, d1, d, s, l, n; s= perspectiveDescriptor.getDescription(); n = perspectiveDescriptor.getId(); l= perspectiveDescriptor.getLabel(); IEditorPart viewDescription = PlatformUI.getWorkbench(). getActiveWorkbenchWindow().getActivePage().getActiveEditor(); if (viewDescription!=null) { e = viewDescription.getEditorInput().getName(); } else{ e=""; } if (viewDescription!=null) { d1= viewDescription.getEditorSite().getRegisteredName(); } else{ d1=""; } MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "perspective", n+" : "+s+" : "+l+" file: "+e+" editor:"+d1); } }); } } }); } } |