Search in sources :

Example 1 with DragSourceListener

use of org.eclipse.swt.dnd.DragSourceListener in project tdi-studio-se by Talend.

the class SchemaXMLDragAndDropHandler method createDragSource.

/**
     * 
     * amaumont Comment method "createDragSource".
     * 
     * @param sourceListener
     */
private void createDragSource() {
    if (dragSource != null) {
        dragSource.dispose();
    }
    dragSource = new DragSource(linker.getSource(), DND.DROP_DEFAULT | DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK);
    dragSource.setTransfer(new Transfer[] { LocalDataTransfer.getInstance() });
    DragSourceListener sourceListener = new TreeDragSourceListener();
    dragSource.addDragListener(sourceListener);
}
Also used : DragSource(org.eclipse.swt.dnd.DragSource) DragSourceListener(org.eclipse.swt.dnd.DragSourceListener) TransferDragSourceListener(org.eclipse.jface.util.TransferDragSourceListener)

Example 2 with DragSourceListener

use of org.eclipse.swt.dnd.DragSourceListener in project tdi-studio-se by Talend.

the class Schema2XMLDragAndDropHandler method createDragSource.

/**
     * 
     * amaumont Comment method "createDragSource".
     * 
     * @param sourceListener
     */
private void createDragSource() {
    if (dragSource != null) {
        dragSource.dispose();
    }
    dragSource = new DragSource(linker.getSource(), DND.DROP_DEFAULT | DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK);
    dragSource.setTransfer(new Transfer[] { LocalDataTransfer.getInstance() });
    DragSourceListener sourceListener = new TreeDragSourceListener();
    dragSource.addDragListener(sourceListener);
}
Also used : DragSource(org.eclipse.swt.dnd.DragSource) DragSourceListener(org.eclipse.swt.dnd.DragSourceListener) TransferDragSourceListener(org.eclipse.jface.util.TransferDragSourceListener)

Example 3 with DragSourceListener

use of org.eclipse.swt.dnd.DragSourceListener in project tdi-studio-se by Talend.

the class JSONTree2SchemaDragAndDropHandler method createDragSource.

private void createDragSource() {
    if (dragSource != null) {
        dragSource.dispose();
    }
    dragSource = new DragSource(tree, DND.DROP_DEFAULT | DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK);
    dragSource.setTransfer(new Transfer[] { XPathTransfer.getInstance() });
    DragSourceListener sourceListener = new TreeDragSourceListener();
    dragSource.addDragListener(sourceListener);
}
Also used : DragSource(org.eclipse.swt.dnd.DragSource) DragSourceListener(org.eclipse.swt.dnd.DragSourceListener) TransferDragSourceListener(org.eclipse.jface.util.TransferDragSourceListener)

Example 4 with DragSourceListener

use of org.eclipse.swt.dnd.DragSourceListener in project cubrid-manager by CUBRID.

the class CubridNavigatorView method addDragDropSupport.

/**
	 * Add the drag drop support of tree.
	 *
	 * @param tree the tree need to drag and drop.
	 */
protected void addDragDropSupport(final Tree tree) {
    // Define 'Transfer Type', 'Operation'
    Transfer[] types = new Transfer[] { TextTransfer.getInstance() };
    int operations = DND.DROP_MOVE | DND.DROP_COPY;
    // DragSource
    final DragSource source = new DragSource(tree, operations);
    source.setTransfer(types);
    source.addDragListener(new DragSourceListener() {

        public void dragStart(DragSourceEvent event) {
            event.doit = false;
            if (!dataSupportDND(tree.getSelection())) {
                return;
            }
            event.doit = true;
        }

        public void dragSetData(DragSourceEvent event) {
            event.data = ((ICubridNode) tree.getSelection()[0].getData()).getLabel();
        }

        public void dragFinished(DragSourceEvent event) {
        }
    });
    addTreeDropTarget(tree);
    String perspectiveId = PerspectiveManager.getInstance().getCurrentPerspectiveId();
    // DropTarget for query editor.
    QueryEditorDNDController.registerDragSource(perspectiveId, tv);
    // DropTarget for multiple query
    MultiDBQueryDNDController.registerDragSource(perspectiveId, tv);
    // DropTarget for Run SQL file
    RunSQLFileDialogDNDController.registerDragSource(perspectiveId, tv);
    //DropTarget for ERD
    ERDNDController.registerDragSource(perspectiveId, tv);
}
Also used : DragSourceEvent(org.eclipse.swt.dnd.DragSourceEvent) Transfer(org.eclipse.swt.dnd.Transfer) TextTransfer(org.eclipse.swt.dnd.TextTransfer) DragSource(org.eclipse.swt.dnd.DragSource) ICubridNode(com.cubrid.common.ui.spi.model.ICubridNode) DragSourceListener(org.eclipse.swt.dnd.DragSourceListener) Point(org.eclipse.swt.graphics.Point)

Example 5 with DragSourceListener

use of org.eclipse.swt.dnd.DragSourceListener in project translationstudio8 by heartsome.

the class TableHierarchicalExample method initDND.

/**
     * Init a simple drag and drop operation for moving rows in the table.
     * 
     * @param table
     * @param parent
     */
private void initDND(final JaretTable table, Composite parent) {
    // support move only
    int operations = DND.DROP_MOVE;
    final DragSource source = new DragSource(table, operations);
    // Provide data in Text format
    Transfer[] types = new Transfer[] { TextTransfer.getInstance() };
    source.setTransfer(types);
    source.addDragListener(new DragSourceListener() {

        public void dragStart(DragSourceEvent event) {
            // check whether drag occured on the hierarchy column
            IColumn column = table.colForX(event.x);
            if (column != null && table.isHierarchyColumn(column)) {
                // TODO check whether a resize may have
                // higher priority
                // possible row drag
                IRow row = table.rowForY(event.y);
                if (row != null) {
                    // row hit, start row drag
                    _draggedRow = row;
                    // capture the data for internal use
                    // row drag: use row at starting position
                    _parentTableNode = getParent(table.getHierarchicalModel().getRootNode(), (ITableNode) row);
                } else {
                    event.doit = false;
                }
            }
        }

        public void dragSetData(DragSourceEvent event) {
            // Provide the data of the requested type.
            if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
                if (_draggedRow != null) {
                    event.data = "row: " + _draggedRow.getId();
                }
            }
        }

        public void dragFinished(DragSourceEvent event) {
            // for this simple case we do all the manipulations in the drop
            // target
            // this is more of a hack ...
            _draggedRow = null;
        }
    });
    // ////////////////////
    // Drop target
    // moved to the drop target
    operations = DND.DROP_MOVE;
    final DropTarget target = new DropTarget(table, operations);
    // Receive data in Text
    final TextTransfer textTransfer = TextTransfer.getInstance();
    types = new Transfer[] { textTransfer };
    target.setTransfer(types);
    target.addDropListener(new DropTargetListener() {

        public void dragEnter(DropTargetEvent event) {
        }

        public void dragOver(DropTargetEvent event) {
            if (_draggedRow != null) {
            // no drag over effect right now
            }
        }

        public void dragOperationChanged(DropTargetEvent event) {
        }

        public void dragLeave(DropTargetEvent event) {
        }

        public void dropAccept(DropTargetEvent event) {
        }

        public void drop(DropTargetEvent event) {
            // this is kind of a hack ...
            if (textTransfer.isSupportedType(event.currentDataType)) {
                String text = (String) event.data;
                System.out.println("DROP: " + text);
                if (_draggedRow != null) {
                    int destY = Display.getCurrent().map(null, table, event.x, event.y).y;
                    int destX = Display.getCurrent().map(null, table, event.x, event.y).x;
                    IRow overRow = table.rowForY(destY);
                    if (overRow != null) {
                        System.out.println("over row " + overRow.getId());
                        // this is an action from the drag source listener
                        // ...
                        // this has to be done right here because otherwise
                        // the node would be at two places
                        // at the same time causing some redraw trouble ...
                        _parentTableNode.remNode((ITableNode) _draggedRow);
                        ITableNode node = (ITableNode) overRow;
                        node.addNode((ITableNode) _draggedRow);
                    }
                }
            }
        }
    });
    // Dispose listener on parent of timebar viewer to dispose the
    // dragsource and dragtarget BEFORE the timebar
    // viewer
    // this prevents an exception beeing thrown by SWT
    parent.addDisposeListener(new DisposeListener() {

        public void widgetDisposed(DisposeEvent e) {
            source.dispose();
            target.dispose();
        }
    });
}
Also used : DisposeListener(org.eclipse.swt.events.DisposeListener) DropTargetEvent(org.eclipse.swt.dnd.DropTargetEvent) DragSource(org.eclipse.swt.dnd.DragSource) DragSourceListener(org.eclipse.swt.dnd.DragSourceListener) DisposeEvent(org.eclipse.swt.events.DisposeEvent) DragSourceEvent(org.eclipse.swt.dnd.DragSourceEvent) IRow(de.jaret.util.ui.table.model.IRow) DropTargetListener(org.eclipse.swt.dnd.DropTargetListener) IColumn(de.jaret.util.ui.table.model.IColumn) TextTransfer(org.eclipse.swt.dnd.TextTransfer) Transfer(org.eclipse.swt.dnd.Transfer) DropTarget(org.eclipse.swt.dnd.DropTarget) ITableNode(de.jaret.util.ui.table.model.ITableNode) TextTransfer(org.eclipse.swt.dnd.TextTransfer)

Aggregations

DragSourceListener (org.eclipse.swt.dnd.DragSourceListener)25 DragSource (org.eclipse.swt.dnd.DragSource)22 DragSourceEvent (org.eclipse.swt.dnd.DragSourceEvent)19 Transfer (org.eclipse.swt.dnd.Transfer)13 TextTransfer (org.eclipse.swt.dnd.TextTransfer)8 TransferDragSourceListener (org.eclipse.jface.util.TransferDragSourceListener)6 DropTarget (org.eclipse.swt.dnd.DropTarget)6 DropTargetEvent (org.eclipse.swt.dnd.DropTargetEvent)6 DropTargetListener (org.eclipse.swt.dnd.DropTargetListener)5 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)5 SelectionEvent (org.eclipse.swt.events.SelectionEvent)5 Point (org.eclipse.swt.graphics.Point)5 Button (org.eclipse.swt.widgets.Button)5 TreeItem (org.eclipse.swt.widgets.TreeItem)5 Composite (org.eclipse.swt.widgets.Composite)4 Display (org.eclipse.swt.widgets.Display)4 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)3 KeyAdapter (org.eclipse.swt.events.KeyAdapter)3 KeyEvent (org.eclipse.swt.events.KeyEvent)3 File (java.io.File)2