Rename packages in order to make future stable documentation clearer.
[lgpl/argeo-commons.git] / org.argeo.cms.e4 / src / org / argeo / cms / e4 / users / UsersView.java
index 7562421cc7d2c1d5794b93836993595d0acc852f..a47ca2dc3a66ac69058dc00dd6a7f591272483ef 100644 (file)
@@ -22,7 +22,7 @@ import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 
-import org.argeo.cms.ArgeoNames;
+import org.argeo.api.NodeConstants;
 import org.argeo.cms.CmsException;
 import org.argeo.cms.auth.CurrentUser;
 import org.argeo.cms.e4.users.providers.CommonNameLP;
@@ -35,9 +35,12 @@ import org.argeo.eclipse.ui.EclipseUiUtils;
 import org.argeo.eclipse.ui.parts.LdifUsersTable;
 import org.argeo.naming.LdapAttrs;
 import org.argeo.naming.LdapObjs;
-import org.argeo.node.NodeConstants;
 import org.eclipse.e4.ui.di.Focus;
 import org.eclipse.e4.ui.workbench.modeling.EPartService;
+import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.dnd.DND;
@@ -52,7 +55,7 @@ import org.osgi.service.useradmin.UserAdminEvent;
 import org.osgi.service.useradmin.UserAdminListener;
 
 /** List all users with filter - based on Ldif userAdmin */
-public class UsersView implements ArgeoNames {
+public class UsersView {
        // private final static Log log = LogFactory.getLog(UsersView.class);
 
        // public final static String ID = WorkbenchUiPlugin.PLUGIN_ID + ".usersView";
@@ -70,7 +73,7 @@ public class UsersView implements ArgeoNames {
        private UserAdminListener listener;
 
        @PostConstruct
-       public void createPartControl(Composite parent) {
+       public void createPartControl(Composite parent, ESelectionService selectionService) {
 
                parent.setLayout(EclipseUiUtils.noSpaceGridLayout());
                // Define the displayed columns
@@ -90,6 +93,14 @@ public class UsersView implements ArgeoNames {
                // Links
                userViewer = userTableViewerCmp.getTableViewer();
                userViewer.addDoubleClickListener(new UserTableDefaultDClickListener(partService));
+               userViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+
+                       @Override
+                       public void selectionChanged(SelectionChangedEvent event) {
+                               IStructuredSelection selection = (IStructuredSelection) event.getSelection();
+                               selectionService.setSelection(selection.toList());
+                       }
+               });
                // getViewSite().setSelectionProvider(userViewer);
 
                // Really?