]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms.e4/src/org/argeo/cms/e4/users/UserTableDefaultDClickListener.java
Package SNAPSHOT sources.
[lgpl/argeo-commons.git] / org.argeo.cms.e4 / src / org / argeo / cms / e4 / users / UserTableDefaultDClickListener.java
1 package org.argeo.cms.e4.users;
2
3 import org.argeo.cms.e4.CmsE4Utils;
4 import org.argeo.naming.LdapAttrs;
5 import org.eclipse.e4.ui.workbench.modeling.EPartService;
6 import org.eclipse.jface.viewers.DoubleClickEvent;
7 import org.eclipse.jface.viewers.IDoubleClickListener;
8 import org.eclipse.jface.viewers.IStructuredSelection;
9 import org.osgi.service.useradmin.Group;
10 import org.osgi.service.useradmin.User;
11
12 /**
13 * Default double click listener for the various user tables, will open the
14 * clicked item in the editor
15 */
16 public class UserTableDefaultDClickListener implements IDoubleClickListener {
17 private final EPartService partService;
18
19 public UserTableDefaultDClickListener(EPartService partService) {
20 this.partService = partService;
21 }
22
23 public void doubleClick(DoubleClickEvent evt) {
24 if (evt.getSelection().isEmpty())
25 return;
26 Object obj = ((IStructuredSelection) evt.getSelection()).getFirstElement();
27 User user = (User) obj;
28
29 String editorId = getEditorId(user);
30 CmsE4Utils.openEditor(partService, editorId, LdapAttrs.uid.name(), user.getName());
31 }
32
33 protected String getEditorId(User user) {
34 if (user instanceof Group)
35 return "org.argeo.cms.e4.partdescriptor.groupEditor";
36 else
37 return "org.argeo.cms.e4.partdescriptor.userEditor";
38 }
39 }