DragSource ddSource = new DragSource( tree, DND.DROP_MOVE ); ddSource.setTransfer( ttypes ); ddSource.addDragListener( new DragSourceListener() { public void dragStart( DragSourceEvent event ) { TreeSelection[] treeObjects = getTreeObjects( tree, selectionTree, coreObjectsTree );
if (dragSource != null && !dragSource.isDisposed()) { dragSource.dispose(); dragSource.setTransfer(types); dragSource.addDragListener(new DragSourceAdapter() { private String eventData1; private String[] eventData2;
private DragSource addDragSupport(Control control, int operations, Transfer[] transferTypes, DragSourceListener listener) { DragSource source = new DragSource(control, operations); source.setTransfer(transferTypes); source.addDragListener(listener); source.setDragSourceEffect(new DragSourceEffect(control) { @Override public void dragStart(DragSourceEvent event) { event.image = createDragEffectImage(); } }); return source; }
private void createDragSource() { if (dragSource != null) dragSource.dispose(); dragSource = new DragSource(dragControl, dragOperation); dragSource.setTransfer(dragTypes); dragSource.addDragListener(new DragSourceListener() { @Override public void dragFinished(org.eclipse.swt.dnd.DragSourceEvent event) {
event.time = dragEvent.time; event.doit = true; notifyListeners(DND.DragStart, event); if (!event.doit || transferAgents == null || transferAgents.length == 0) return null; dragOperations = opToOsOp(getStyle());
TableViewer viewer = new TableViewer(table); Transfer[] types = new Transfer[] { PluginTransfer.getInstance() }; viewer.addDragSupport(DND.DROP_MOVE, types, new DragSourceAdapter() { @Override public void dragSetData(DragSourceEvent event) { // Get the selected items in the drag source DragSource ds = (DragSource) event.widget; Table table = (Table) ds.getControl(); TableItem[] selection = table.getSelection(); System.out.println(" drag " + selection[0].getText()); } }); viewer.addDropSupport(DND.DROP_MOVE, types, new ViewerDropAdapter(viewer) { @Override public boolean validateDrop(Object target, int operation, TransferData transferType) { // TODO Auto-generated method stub return false; } @Override public boolean performDrop(Object data) { // TODO Auto-generated method stub return false; } });
private void tableViewInitialized() { dragSource = tvAvail.createDragSource(DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK); dragSource.setTransfer(new Transfer[] { TextTransfer.getInstance() }); dragSource.setData("tv", tvAvail); dragSource.addDragListener(dragSourceListener); dropTarget = tvAvail.createDropTarget(DND.DROP_DEFAULT | DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK | DND.DROP_TARGET_MOVE); dropTarget.setTransfer(new Transfer[] { TextTransfer.getInstance() }); dropTarget.addDropListener(new DropTargetAdapter() { @Override public void drop(DropTargetEvent event) { String id = (String) event.data; if (!id.equals("c")) { return; } removeSelectedChosen(); } }); }
/** Sets the DragSourceListener which will get called for this DragSource. */ public void setActiveListener(DragSourceListener newListener, Transfer[] transfers) { if (currentListener != null) { source.removeDragListener(currentListener); } currentListener = newListener; source.setTransfer(transfers); if (currentListener != null) { source.addDragListener(currentListener); } }
private void addDragTransfer(Transfer transfer){ Transfer[] newTypes = new Transfer[dragTypes.length + 1]; System.arraycopy(dragTypes, 0, newTypes, 0, dragTypes.length); newTypes[dragTypes.length] = transfer; dragTypes = newTypes; if (dragSource != null) { dragSource.setTransfer(dragTypes); } }
@Override public DragSource createDragSource(int style) { final DragSource dragSource = new DragSource(cTable, style); dragSource.addDragListener(new DragSourceAdapter() { @Override public void dragStart(DragSourceEvent event) { cTable.setCursor(null); TableRowCore row = getTableRow(event.x, event.y, true); if (row != null && !row.isSelected()) { setSelectedRows(new TableRowCore[] { row }); } isDragging = true; } @Override public void dragFinished(DragSourceEvent event) { isDragging = false; } }); cTable.addDisposeListener(new DisposeListener() { // @see org.eclipse.swt.events.DisposeListener#widgetDisposed(org.eclipse.swt.events.DisposeEvent) @Override public void widgetDisposed(DisposeEvent e) { if (!dragSource.isDisposed()) { dragSource.dispose(); } } }); return dragSource; }
DragSource dragSource = new DragSource(parent, style); dragSource.setTransfer(transfers.toArray(new Transfer[transfers.size()])); DragSourceEffect effect = (DragSourceEffect) effectThing.doAction("create", actionContext); if(effect != null){ dragSource.setDragSourceEffect(effect);
public void renderInitialization( Widget widget ) throws IOException { DragSource dragSource = ( DragSource )widget; JSWriter writer = JSWriter.getWriterFor( dragSource ); String[] operations = DNDLCAUtil.convertOperations( dragSource.getStyle() ); Object[] args = new Object[]{ dragSource.getControl(), operations }; writer.callStatic( JSFUNC_REGISTER, args ); }
@Override public void run() { int x = properties.get( EVENT_PARAM_X ).asInt(); int y = properties.get( EVENT_PARAM_Y ).asInt(); int time = properties.get( EVENT_PARAM_TIME ).asInt(); Control control = dragSource.getControl(); Point mappedPoint = control.getDisplay().map( null, control, x, y ); control.notifyListeners( SWT.DragDetect, createDragDetectEvent( mappedPoint, time ) ); DNDEvent event = createDragSourceEvent( mappedPoint, time, DND.DROP_NONE ); dragSource.notifyListeners( DND.DragStart, event ); if( !event.doit ) { cancel(); } } } );
@Override public void handleEvent (Event event) { if (event.type == SWT.Dispose) { if (!DragSource.this.isDisposed()) { DragSource.this.dispose(); } } if (event.type == SWT.DragDetect) { if (!DragSource.this.isDisposed()) { DragSource.this.drag(event); } } } };
@Override public void widgetDisposed(DisposeEvent e) { if (!dragSource.isDisposed()) { dragSource.dispose(); } } });
event.time = OS.GetMessageTime(); event.doit = true; notifyListeners(DND.DragStart,event); if (!event.doit || transferAgents == null || transferAgents.length == 0 ) return; int operations = opToOs(getStyle()); Display display = control.getDisplay(); String key = "org.eclipse.swt.internal.win32.runMessagesInIdle"; //$NON-NLS-1$ int operation = osToOp(pdwEffect[0]); if (dataEffect == DND.DROP_MOVE) { operation = (operation == DND.DROP_NONE || operation == DND.DROP_COPY) ? DND.DROP_TARGET_MOVE : DND.DROP_MOVE; event.doit = (result == COM.DRAGDROP_S_DROP); event.detail = operation; notifyListeners(DND.DragEnd,event); dataEffect = DND.DROP_NONE;
public void handleEvent (Event event) { if (event.type == SWT.Dispose) { if (!DragSource.this.isDisposed()) { DragSource.this.dispose(); } } if (event.type == SWT.DragDetect) { if (!DragSource.this.isDisposed()) { if (event.widget instanceof Table || event.widget instanceof Tree) { DragSource.this.dragOutlineViewStart(event); } else { DragSource.this.drag(event); } } } } };
/** Private constructor to force people to use the map. */ private DragSourceRouter(Control ctl) { source = new DragSource(ctl, DndOp.dragAll()); currentListener = null; }
public void preserveValues( Widget widget ) { DragSource dragSource = ( DragSource )widget; IWidgetAdapter adapter = WidgetUtil.getAdapter( dragSource ); adapter.preserve( PROP_CONTROL, dragSource.getControl() ); adapter.preserve( PROP_TRANSFER, dragSource.getTransfer() ); }
@Override public void widgetDisposed(DisposeEvent e) { source.dispose(); } });