|
From: Matthias K <mat...@us...> - 2006-06-27 18:46:49
|
Update of /cvsroot/jcommander/plugins/org.jcommander.ui.compare/src/org/jcommander/compare In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv11485/src/org/jcommander/compare Modified Files: ComparePlugin.java Log Message: -after closing the last compare editor, automatical switch to default perspective. -fixed bug: layout does not get corrupted anymore after closing JCommander in compare perspective. Index: ComparePlugin.java =================================================================== RCS file: /cvsroot/jcommander/plugins/org.jcommander.ui.compare/src/org/jcommander/compare/ComparePlugin.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ComparePlugin.java 25 Apr 2006 09:27:43 -0000 1.5 --- ComparePlugin.java 27 Jun 2006 18:46:45 -0000 1.6 *************** *** 9,13 **** --- 9,15 ---- import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.program.Program; + import org.eclipse.ui.IPartListener; import org.eclipse.ui.IWorkbenchPage; + import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.WorkbenchException; *************** *** 44,47 **** --- 46,51 ---- public static final String COMPARE_PERSPECTIVE_ID = "org.jcommander.compare.Compare"; + private IWorkbenchPage workbenchPage; + /** * *************** *** 309,316 **** } ! public void compare(FileObject left, FileObject right){ ! ! try { ! IWorkbenchPage page = PlatformUI.getWorkbench().showPerspective(COMPARE_PERSPECTIVE_ID, EclipseBroker.getWorkbenchWindow()); } catch (WorkbenchException e) { logger.error(e,e); --- 313,320 ---- } ! public void compare(FileObject left, FileObject right){ ! ! try{ ! workbenchPage = PlatformUI.getWorkbench().showPerspective(COMPARE_PERSPECTIVE_ID, EclipseBroker.getWorkbenchWindow()); } catch (WorkbenchException e) { logger.error(e,e); *************** *** 371,374 **** --- 375,414 ---- }; CompareUI.openCompareEditor(input); + workbenchPage.addPartListener(new IPartListener() { + + public void partOpened(IWorkbenchPart part) { + // TODO Auto-generated method stub + + } + + public void partDeactivated(IWorkbenchPart part) { + // TODO Auto-generated method stub + + } + + public void partClosed(IWorkbenchPart part) { + if (workbenchPage.getEditorReferences().length==0) { + try { + workbenchPage.removePartListener(this); + PlatformUI.getWorkbench().showPerspective("org.jcommander.ui.app.JCmdPerspective", EclipseBroker.getWorkbenchWindow()); + } catch (WorkbenchException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + } + + public void partBroughtToTop(IWorkbenchPart part) { + // TODO Auto-generated method stub + + } + + public void partActivated(IWorkbenchPart part) { + // TODO Auto-generated method stub + + } + + }); } } |