View Javadoc
1   package org.argeo.cms.ui.workbench.internal.useradmin;
2   
3   import org.argeo.cms.CmsException;
4   import org.eclipse.swt.widgets.Display;
5   import org.eclipse.ui.IPartListener;
6   import org.eclipse.ui.IStartup;
7   import org.eclipse.ui.IWorkbenchPage;
8   import org.eclipse.ui.IWorkbenchPart;
9   import org.eclipse.ui.PlatformUI;
10  
11  /** Manage transaction and part refresh while updating the security model */
12  public class PartStateChanged implements IPartListener, IStartup {
13  	// private final static Log log = LogFactory.getLog(PartStateChanged.class);
14  	// private IContextActivation contextActivation;
15  
16  	@Override
17  	public void earlyStartup() {
18  		Display.getDefault().asyncExec(new Runnable() {
19  			public void run() {
20  				try {
21  					IWorkbenchPage iwp = PlatformUI.getWorkbench()
22  							.getActiveWorkbenchWindow().getActivePage();
23  					if (iwp != null)
24  						iwp.addPartListener(new PartStateChanged());
25  				} catch (Exception e) {
26  					throw new CmsException(
27  							"Error while registering the PartStateChangedListener",
28  							e);
29  				}
30  			}
31  		});
32  	}
33  
34  	@Override
35  	public void partActivated(IWorkbenchPart part) {
36  		// Nothing to do
37  	}
38  
39  	@Override
40  	public void partBroughtToTop(IWorkbenchPart part) {
41  		// Nothing to do
42  	}
43  
44  	@Override
45  	public void partClosed(IWorkbenchPart part) {
46  		// Nothing to do
47  	}
48  
49  	@Override
50  	public void partDeactivated(IWorkbenchPart part) {
51  		// Nothing to do
52  	}
53  
54  	@Override
55  	public void partOpened(IWorkbenchPart part) {
56  		// Nothing to do
57  	}
58  }