Skip to main content
summaryrefslogtreecommitdiffstats
blob: 1b4b069fa53141e2a9386556718ffe9a10248d53 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package org.eclipse.ecf.internal.examples.webinar.dnd;

import org.eclipse.ecf.presence.roster.IRosterEntry;
import org.eclipse.ecf.presence.roster.IRosterItem;
import org.eclipse.ecf.presence.ui.dnd.IRosterViewerDropTarget;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.dnd.TransferData;

public class RosterEntryDropTarget implements IRosterViewerDropTarget {

	protected TransferData transferData = null;
	protected IRosterEntry rosterEntry = null;

	public boolean validateDrop(IRosterItem rosterItem, int operation,
			TransferData transferType) {
		if (rosterItem instanceof IRosterEntry) {
			transferData = transferType;
			rosterEntry = (IRosterEntry) rosterItem;
			return true;
		} else {
			transferData = null;
			rosterEntry = null;
		}
		return false;
	}

	public boolean performDrop(Object data) {
		if (data instanceof String && rosterEntry != null) {
			// Right here, send data to channel
			// sendString(rosterEntry.getUser().getID(),(String) data);
			MessageDialog.openInformation(null,"Drop on Entry","The following text was dropped on "
					+ rosterEntry.getUser().getName() + ":\n\n" + data);
			return true;
		}
		return false;
	}

}

Back to the top