X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui.workbench%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Fworkbench%2Finternal%2Fuseradmin%2FPartStateChanged.java;fp=org.argeo.cms.ui.workbench%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Fworkbench%2Finternal%2Fuseradmin%2FPartStateChanged.java;h=cac43b1b0f0c5f1d5265c06bd12cad84e9a67f63;hb=23b7a170cae60b500e9d45551f26b5075eba73a4;hp=0000000000000000000000000000000000000000;hpb=366986c3687b920a4b68eb0a0fadf3bc19dbb1bd;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/PartStateChanged.java b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/PartStateChanged.java new file mode 100644 index 000000000..cac43b1b0 --- /dev/null +++ b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/PartStateChanged.java @@ -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 + } +} \ No newline at end of file