]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UserDragListener.java
abaab330137ce78153fe17e79a28df11738eb2cd
[lgpl/argeo-commons.git] / org.argeo.security.ui.admin / src / org / argeo / security / ui / admin / internal / UserDragListener.java
1 package org.argeo.security.ui.admin.internal;
2
3 import org.eclipse.jface.viewers.IStructuredSelection;
4 import org.eclipse.jface.viewers.Viewer;
5 import org.eclipse.swt.dnd.DragSourceEvent;
6 import org.eclipse.swt.dnd.DragSourceListener;
7 import org.osgi.service.useradmin.User;
8
9 public class UserDragListener implements DragSourceListener {
10 private static final long serialVersionUID = -2074337775033781454L;
11 private final Viewer viewer;
12
13 public UserDragListener(Viewer viewer) {
14 this.viewer = viewer;
15 }
16
17 public void dragStart(DragSourceEvent event) {
18 // TODO implement finer checks
19 IStructuredSelection selection = (IStructuredSelection) viewer
20 .getSelection();
21 if (selection.isEmpty() || selection.size() > 1)
22 event.doit = false;
23 else
24 event.doit = true;
25 }
26
27 public void dragSetData(DragSourceEvent event) {
28 // TODO Support multiple selection
29 Object obj = ((IStructuredSelection) viewer.getSelection())
30 .getFirstElement();
31 if (obj != null) {
32 User user = (User) obj;
33 event.data = user.getName();
34 }
35 }
36
37 public void dragFinished(DragSourceEvent event) {
38 }
39 }