View Javadoc
1   package org.argeo.cms.ui.workbench.internal.useradmin.providers;
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   /** Default drag listener to modify group and users via the UI */
10  public class UserDragListener implements DragSourceListener {
11  	private static final long serialVersionUID = -2074337775033781454L;
12  	private final Viewer viewer;
13  
14  	public UserDragListener(Viewer viewer) {
15  		this.viewer = viewer;
16  	}
17  
18  	public void dragStart(DragSourceEvent event) {
19  		// TODO implement finer checks
20  		IStructuredSelection selection = (IStructuredSelection) viewer
21  				.getSelection();
22  		if (selection.isEmpty() || selection.size() > 1)
23  			event.doit = false;
24  		else
25  			event.doit = true;
26  	}
27  
28  	public void dragSetData(DragSourceEvent event) {
29  		// TODO Support multiple selection
30  		Object obj = ((IStructuredSelection) viewer.getSelection())
31  				.getFirstElement();
32  		if (obj != null) {
33  			User user = (User) obj;
34  			event.data = user.getName();
35  		}
36  	}
37  
38  	public void dragFinished(DragSourceEvent event) {
39  	}
40  }