I am developing SWT widget and I have build drag and drop functionality. Whenever I drag file across it's download link should be transferred.
I have done that using following code.
Now what I want is with link, I want file icon to be displayed beside the link. For example, if it's word document , word file icon should be displayed.
final DragSource dragSource = new DragSource(tv.getTree(), DND.DROP_MOVE | DND.DROP_COPY | DND.DragOver );
dragSource.addDragListener(new DragSourceAdapter(){
@Override
public void dragFinished(DragSourceEvent event) {
dragSource.dispose();
}
@Override
public void dragSetData(DragSourceEvent event) {
final TreeItem[] dndSelection = tv.getTree().getSelection();
final String[] sourceNames = new String[dndSelection.length];
String docName = "document";
for (int i = 0; i < dndSelection.length; i++) {
final TreeItem item = (TreeItem) dndSelection[i];
final PendingTreeNode node = (PendingTreeNode) item
.getData();
sourceNames[i] = node.getNodeId();
docName = node.getName();
}
final String filePath = AlfrescoFileUtil.getFileURL(sourceNames[0]);
final String viewDetailLink = AlfrescoFileUtil.getSearchFileURL(sourceNames[0]);
final String viewDetailsLabel = "View details";
StringBuffer finalS = new StringBuffer();
finalS.append("{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Calibri;}}{\\colortbl ;\\red0\\green0\\blue255;}{\\*\\generator Msftedit 5.41.21.2509;}\\viewkind4\\uc1\\pard\\sa200\\sl276\\slmult1\\lang9\\f0\\fs22{\\field{\\*\\fldinst{HYPERLINK \"" + filePath + "\"}}{\\fldrslt{\\ul\\cf1 " + docName + "}}}");
finalS.append(" | ");
finalS.append("{\\field{\\*\\fldinst{HYPERLINK \"" + viewDetailLink + "\"}}{\\fldrslt{\\ul\\cf1 "+ viewDetailsLabel + "}}}}}");
event.data = finalS.toString();
}
});
dragSource.setTransfer(new Transfer[]{RTFTransfer.getInstance()});
dragSource.notifyListeners(SWT.DragDetect, event);
I want to display something similar to following.
but it is showing something like this now without icon