Move Eclipse 3 components to legacy.
[lgpl/argeo-commons.git] / legacy / org.argeo.cms.ui.workbench / src / org / argeo / cms / ui / workbench / internal / useradmin / PartStateChanged.java
diff --git a/legacy/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/PartStateChanged.java b/legacy/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/PartStateChanged.java
new file mode 100644 (file)
index 0000000..28e82c5
--- /dev/null
@@ -0,0 +1,58 @@
+package org.argeo.cms.ui.workbench.internal.useradmin;
+
+import org.argeo.cms.CmsException;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IStartup;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PlatformUI;
+
+/** Manage transaction and part refresh while updating the security model */
+public class PartStateChanged implements IPartListener, IStartup {
+       // private final static Log log = LogFactory.getLog(PartStateChanged.class);
+       // private IContextActivation contextActivation;
+
+       @Override
+       public void earlyStartup() {
+               Display.getDefault().asyncExec(new Runnable() {
+                       public void run() {
+                               try {
+                                       IWorkbenchPage iwp = PlatformUI.getWorkbench()
+                                                       .getActiveWorkbenchWindow().getActivePage();
+                                       if (iwp != null)
+                                               iwp.addPartListener(new PartStateChanged());
+                               } catch (Exception e) {
+                                       throw new CmsException(
+                                                       "Error while registering the PartStateChangedListener",
+                                                       e);
+                               }
+                       }
+               });
+       }
+
+       @Override
+       public void partActivated(IWorkbenchPart part) {
+               // Nothing to do
+       }
+
+       @Override
+       public void partBroughtToTop(IWorkbenchPart part) {
+               // Nothing to do
+       }
+
+       @Override
+       public void partClosed(IWorkbenchPart part) {
+               // Nothing to do
+       }
+
+       @Override
+       public void partDeactivated(IWorkbenchPart part) {
+               // Nothing to do
+       }
+
+       @Override
+       public void partOpened(IWorkbenchPart part) {
+               // Nothing to do
+       }
+}