]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/PartStateChanged.java
Plug password management
[lgpl/argeo-commons.git] / org.argeo.security.ui.admin / src / org / argeo / security / ui / admin / internal / PartStateChanged.java
1 package org.argeo.security.ui.admin.internal;
2
3 import org.apache.commons.logging.Log;
4 import org.apache.commons.logging.LogFactory;
5 import org.argeo.ArgeoException;
6 import org.eclipse.swt.widgets.Display;
7 import org.eclipse.ui.IPartListener;
8 import org.eclipse.ui.IStartup;
9 import org.eclipse.ui.IWorkbenchPage;
10 import org.eclipse.ui.IWorkbenchPart;
11 import org.eclipse.ui.IWorkbenchPartSite;
12 import org.eclipse.ui.IWorkbenchWindow;
13 import org.eclipse.ui.PlatformUI;
14 import org.eclipse.ui.contexts.IContextActivation;
15
16 /** Manage transaction and part refresh while updating the security model */
17 public class PartStateChanged implements IPartListener, IStartup {
18 private final static Log log = LogFactory.getLog(PartStateChanged.class);
19 IContextActivation contextActivation;
20
21 @Override
22 public void earlyStartup() {
23 Display.getDefault().asyncExec(new Runnable() {
24 public void run() {
25 try {
26 IWorkbenchPage iwp = PlatformUI.getWorkbench()
27 .getActiveWorkbenchWindow().getActivePage();
28 if (iwp != null)
29 iwp.addPartListener(new PartStateChanged());
30 } catch (Exception e) {
31 throw new ArgeoException(
32 "Error while registering the PartStateChangedListener",
33 e);
34 }
35 }
36 });
37 }
38
39 @Override
40 public void partActivated(IWorkbenchPart part) {
41 if (log.isTraceEnabled())
42 log.trace("Part activated: " + part.getTitle() + " - "
43 + part.getClass());
44
45 // Try to avoid NPE when closing the application
46 IWorkbenchPartSite site = part.getSite();
47 if (site == null)
48 return;
49 IWorkbenchWindow window = site.getWorkbenchWindow();
50 if (window == null)
51 return;
52
53 // // Retrieve the service to enable/disable checkout button
54 // ISourceProviderService sourceProviderService =
55 // (ISourceProviderService) window
56 // .getService(ISourceProviderService.class);
57 // EditionSourceProvider esp = (EditionSourceProvider)
58 // sourceProviderService
59 // .getSourceProvider(EditionSourceProvider.EDITING_STATE);
60 // if (part instanceof IVersionedItemEditor) {
61 // IStatusLineManager manager = ((IEditorPart) part).getEditorSite()
62 // .getActionBars().getStatusLineManager();
63 // manager.setMessage(((IVersionedItemEditor) part)
64 // .getlastUpdateMessage());
65 //
66 // }
67 // if (part instanceof CmsEditable) {
68 // CmsEditable editor = (CmsEditable) part;
69 // // Processing the ability to checkout is delegated to the editor
70 // esp.setCurrentItemEditingState(editor.isEditing());
71 // } else {// force button to be disabled if another part has the focus.
72 // esp.setCurrentItemEditingState(true);
73 // }
74 }
75
76 @Override
77 public void partBroughtToTop(IWorkbenchPart part) {
78 // Nothing to do
79 }
80
81 @Override
82 public void partClosed(IWorkbenchPart part) {
83 // Nothing to do
84 }
85
86 @Override
87 public void partDeactivated(IWorkbenchPart part) {
88 // Always remove checkOut button when the editor is left.
89 // if (part instanceof IVersionedItemEditor) {
90 // // Try to avoid NPE when closing the application
91 // IWorkbenchPartSite site = part.getSite();
92 // if (site == null)
93 // return;
94 // IWorkbenchWindow window = site.getWorkbenchWindow();
95 // if (window == null)
96 // return;
97 //
98 // // Retrieve the service to enable/disable checkout button
99 // ISourceProviderService sourceProviderService =
100 // (ISourceProviderService) window
101 // .getService(ISourceProviderService.class);
102 // EditionSourceProvider esp = (EditionSourceProvider)
103 // sourceProviderService
104 // .getSourceProvider(EditionSourceProvider.EDITING_STATE);
105 // esp.setCurrentItemEditingState(true);
106 // }
107 }
108
109 @Override
110 public void partOpened(IWorkbenchPart part) {
111 }
112 }