List of usage examples for org.eclipse.swt.widgets Tree toControl
public Point toControl(Point point)
From source file:org.eclipse.swt.examples.controlexample.TreeTab.java
@Override protected void specialPopupMenuItems(Menu menu, Event event) { MenuItem item = new MenuItem(menu, SWT.PUSH); item.setText("getItem(Point) on mouse coordinates"); final Tree t = (Tree) event.widget; menuMouseCoords = t.toControl(new Point(event.x, event.y)); item.addSelectionListener(widgetSelectedAdapter(e -> { eventConsole.append("getItem(Point(" + menuMouseCoords + ")) returned: " + t.getItem(menuMouseCoords)); eventConsole.append("\n"); }));//www.java2s . c o m }
From source file:org.eclipse.swt.examples.fileviewer.FileViewer.java
/** * Creates the Drag & Drop DropTarget for items being dropped onto the tree. * * @return the DropTarget for the tree//from w ww .java2 s . c o m */ private DropTarget createTreeDropTarget(final Tree tree) { DropTarget dropTarget = new DropTarget(tree, DND.DROP_MOVE | DND.DROP_COPY); dropTarget.setTransfer(FileTransfer.getInstance()); dropTarget.addDropListener(new DropTargetAdapter() { @Override public void dragEnter(DropTargetEvent event) { isDropping = true; } @Override public void dragLeave(DropTargetEvent event) { isDropping = false; handleDeferredRefresh(); } @Override public void dragOver(DropTargetEvent event) { dropTargetValidate(event, getTargetFile(event)); event.feedback |= DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL; } @Override public void drop(DropTargetEvent event) { File targetFile = getTargetFile(event); if (dropTargetValidate(event, targetFile)) dropTargetHandleDrop(event, targetFile); } private File getTargetFile(DropTargetEvent event) { // Determine the target File for the drop TreeItem item = tree.getItem(tree.toControl(new Point(event.x, event.y))); File targetFile = null; if (item != null) { // We are over a particular item in the tree, use the item's file targetFile = (File) item.getData(TREEITEMDATA_FILE); } return targetFile; } }); return dropTarget; }
From source file:SWTFileViewerDemo.java
/** * Creates the Drag & Drop DropTarget for items being dropped onto the tree. * // ww w . j a va 2 s . c om * @return the DropTarget for the tree */ private DropTarget createTreeDropTarget(final Tree tree) { DropTarget dropTarget = new DropTarget(tree, DND.DROP_MOVE | DND.DROP_COPY); dropTarget.setTransfer(new Transfer[] { FileTransfer.getInstance() }); dropTarget.addDropListener(new DropTargetAdapter() { public void dragEnter(DropTargetEvent event) { isDropping = true; } public void dragLeave(DropTargetEvent event) { isDropping = false; handleDeferredRefresh(); } public void dragOver(DropTargetEvent event) { dropTargetValidate(event, getTargetFile(event)); event.feedback |= DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL; } public void drop(DropTargetEvent event) { File targetFile = getTargetFile(event); if (dropTargetValidate(event, targetFile)) dropTargetHandleDrop(event, targetFile); } private File getTargetFile(DropTargetEvent event) { // Determine the target File for the drop TreeItem item = tree.getItem(tree.toControl(new Point(event.x, event.y))); File targetFile = null; if (item != null) { // We are over a particular item in the tree, use the item's // file targetFile = (File) item.getData(TREEITEMDATA_FILE); } return targetFile; } }); return dropTarget; }