Java Examples for java.awt.dnd.DragSource

The following java examples will help you to understand the usage of java.awt.dnd.DragSource. These source code samples are taken from different open source projects.

Example 1
Project: openflexo-master  File: TreeDragSource.java View source code
/*
	 * Drag Gesture Handler
	 */
@Override
public void dragGestureRecognized(DragGestureEvent dge) {
    TreePath path = sourceTree.getSelectionPath();
    if (path == null || path.getPathCount() <= 1) {
        // We can't move the root node or an empty selection
        return;
    }
    BrowserElement elem = (BrowserElement) path.getLastPathComponent();
    oldNode = (BrowserElement) path.getLastPathComponent();
    transferable = new ElementMovable(elem);
    try {
        source.startDrag(dge, DragSource.DefaultMoveDrop, transferable, this);
        Rectangle bounds = sourceTree.getPathBounds(path);
        sourceTree.captureDraggedNode(path, new Point(dge.getDragOrigin().x - bounds.x, dge.getDragOrigin().y - bounds.y));
    } catch (InvalidDnDOperationException e) {
    }
// If you support dropping the node anywhere, you should probably
// start with a valid move cursor:
// source.startDrag(dge, DragSource.DefaultMoveDrop, transferable,
// this);
}
Example 2
Project: droiddraw-master  File: WidgetPanel.java View source code
public void dragGestureRecognized(DragGestureEvent e) {
    try {
        Transferable t = new StringSelection(w.getTagName());
        ds.startDrag(e, DragSource.DefaultCopyDrop, img, new Point(x, y), t, this);
    //ds.startDrag(e, DragSource.DefaultCopyDrop, t, this);
    } catch (InvalidDnDOperationException ex) {
        AndroidEditor.instance().error(ex);
    }
}
Example 3
Project: ensj-healthcheck-master  File: GuiTestRunnerFrameComponentBuilder.java View source code
/**
     * 
     * <p>
     * 	Builds the JTree with the testgroups from which the user can select 
     * the tests to be run.
     * </p>
     * 
     * @param testGroupList
     * @return JTree
     * 
     */
public static JTree createTreeOfTestGroups(List<GroupOfTests> testGroupList, JPopupMenu popup) {
    JTree tree = new JTree(TreeModelFromListOfGroupsBuilder.GroupOfTestsToTreeModel(testGroupList)) {

        public String getToolTipText(MouseEvent evt) {
            if (getRowForLocation(evt.getX(), evt.getY()) == -1)
                return null;
            TreePath curPath = getPathForLocation(evt.getX(), evt.getY());
            if (curPath.getLastPathComponent() instanceof TestNode) {
                return ((TestNode) curPath.getLastPathComponent()).getToolTipText();
            }
            if (curPath.getLastPathComponent() instanceof GroupNode) {
                return ((GroupNode) curPath.getLastPathComponent()).getToolTipText();
            }
            return "No tooltip text";
        }
    };
    tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
    if (popup != null) {
        tree.setComponentPopupMenu(popup);
    }
    // Must be set or the getToolTipText method will never be called.
    //
    tree.setToolTipText("");
    DragSource ds = new DragSource();
    DragGestureRecognizer dgr = ds.createDefaultDragGestureRecognizer(tree, DnDConstants.ACTION_COPY, new TreeOfTestGroupsGestureListener(tree, ds));
    return tree;
}
Example 4
Project: JSqlIde-master  File: DBBrowserTree.java View source code
/**
	 * a drag gesture has been initiated
	 *
	 */
public void dragGestureRecognized(DragGestureEvent event) {
    if (getSelectionPath() != null) {
        Object selected = getSelectionPath().getLastPathComponent();
        if (selected != null && selected instanceof NodeIDEBase) {
            NodeIDEBase transferableNode = (NodeIDEBase) selected;
            dragSource.startDrag(event, DragSource.DefaultMoveDrop, transferableNode, this);
        }
    }
}
Example 5
Project: learning-bittorrent-master  File: DragManager.java View source code
/**
     * Installs drag recognition for the specified LimeJTable.
     *
     * This does a bit of voodoo to make everything work:
     * A drag gesture recognizer uses a MouseListener & a MouseMotionListener
     * to recognize drag events.  Unfortunately, list selection also
     * uses MouseListeners & MouseMotionListeners, and these two listeners
     * can become at odds with each other -- the drag recognizer starting
     * a drag just as the list selection changes...
     * In order to resolve everything, we need to make careful use of
     * 'consume()' and 'isConsumed()' in MouseEvent.  On Windows, the
     * listeners for selection correctly check for isConsumed before
     * processing.  This is not done on OSX.  To work on all platforms,
     * we install a proxy Mouse[Motion]Listener that discards the appropriate
     * events if they were consumed.
     * Further complicating things, the DragGestureRecognizers are platform
     * dependent, using various key combinations to initiate the drag with
     * different default actions (move / copy / link).  Even worse, these
     * platform dependent D&D listeners do not consume the mouse event.
     * To work around this, we make use of the fact that the default
     * drag gesture recognizer extends MouseDragGestureRecognizer, which is
     * both a MouseListener & MouseMotionListener, and then wrap the platform
     * dependent listener around our own TableDragRecnogitionWrapper, which
     * correctly consumes mouse events, preventing the selection code from
     * changing the selection.
     *
     * A bit of estoric wierdness is added with tooltips, in that they will NPE
     * if they don't receive all events, all the time.  To work around that,
     * we first unregister the component for tooltips & then later reregister
     * it.
     *
     * The order of listeners must be:
     * - The D&D listeners, a TableDragRecognitionWrapper.
     * - Pre-existing listeners, checked for mouse event consumption.
     * - Tooltip listeners, not checked for mouse event consumption.
     * - Any listeners added later.
     * 
     */
public static void install(LimeJTable table) {
    // First unregister tooltips -- we don't want to proxy tooltip events.
    ToolTipManager.sharedInstance().unregisterComponent(table);
    // Get a copy of the old MouseListener & MouseMotionListeners, so we
    // can later proxy them through a MouseEventConsumptionChecker.
    MouseListener[] oldMouseListeners = (MouseListener[]) table.getListeners(MouseListener.class);
    MouseMotionListener[] oldMouseMotionListeners = (MouseMotionListener[]) table.getListeners(MouseMotionListener.class);
    // as the first listeners.
    for (int i = 0; i < oldMouseListeners.length; i++) table.removeMouseListener(oldMouseListeners[i]);
    for (int i = 0; i < oldMouseMotionListeners.length; i++) table.removeMouseMotionListener(oldMouseMotionListeners[i]);
    // Construct the drag recognizer.
    // We want to use a platform-dependent GestureRecognizer,
    // so that the fireDragGestureRecognized event
    // can set the correct actions based on user input,
    // but we also want to use our listeners
    // for input, so that can consume the event appropriately
    // and only make dragging possible if something was selected.
    MouseDragGestureRecognizer recognizer;
    try {
        recognizer = (MouseDragGestureRecognizer) DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(table, DnDConstants.ACTION_COPY | DnDConstants.ACTION_LINK, DragListener.instance());
    } catch (Throwable failed) {
        for (int i = 0; i < oldMouseListeners.length; i++) table.addMouseListener(oldMouseListeners[i]);
        for (int i = 0; i < oldMouseMotionListeners.length; i++) table.addMouseMotionListener(oldMouseMotionListeners[i]);
        ToolTipManager.sharedInstance().registerComponent(table);
        return;
    }
    // Wrap the recognizer around another recognizer that will also
    // check for selection.
    table.removeMouseListener(recognizer);
    table.removeMouseMotionListener(recognizer);
    TableDragRecognitionWrapper inputListener = new TableDragRecognitionWrapper(table, recognizer);
    table.addMouseListener(inputListener);
    table.addMouseMotionListener(inputListener);
    DragSource.getDefaultDragSource().addDragSourceListener(inputListener);
    // event-consumption checker.
    for (int i = 0; i < oldMouseListeners.length; i++) table.addMouseListener(MouseEventConsumptionChecker.proxy(oldMouseListeners[i]));
    for (int i = 0; i < oldMouseMotionListeners.length; i++) table.addMouseMotionListener(MouseEventConsumptionChecker.proxy(oldMouseMotionListeners[i]));
    table.setMouseEventsProxied(true);
    // Then re-register tooltips.
    ToolTipManager.sharedInstance().registerComponent(table);
}
Example 6
Project: OSMembrane-master  File: MainFrameGlassPane.java View source code
/**
     * Draws a specific {@link LibraryFunction} that is currently dragged & drop
     * where the cursor is
     * 
     * @param libraryFunction
     *            the view function to be drawn
     * @param point
     *            top left position of the view function to be drawn
     */
public void dragAndDrop(LibraryFunction libraryFunction, Point point) {
    if (dragAndDrop == null) {
        // add the display function
        dragAndDrop = new LibraryFunction(null, libraryFunction.getModelFunctionPrototype(), false);
        dragAndDrop.setSize(libraryFunction.getPreferredSize());
        dragAndDrop.forceHighlight(true);
        dragAndDrop.setCursor(DragSource.DefaultCopyDrop);
        add(dragAndDrop);
        setVisible(true);
    }
    dragAndDrop.setLocation(point);
}
Example 7
Project: cayenne-master  File: TreeDragSource.java View source code
public void dragOver(DragSourceDragEvent dsde) {
    TreePath sourcePath = sourceTree.getSelectionPath();
    DefaultMutableTreeNode sourceParent = (DefaultMutableTreeNode) sourcePath.getLastPathComponent();
    TreePath path = dt.getPath();
    if (path == null) {
        dsde.getDragSourceContext().setCursor(DragSource.DefaultLinkNoDrop);
        return;
    }
    DefaultMutableTreeNode parent = (DefaultMutableTreeNode) path.getLastPathComponent();
    if (sourceParent.getUserObject() instanceof DataMap && parent.getUserObject() instanceof DataNodeDescriptor) {
        dsde.getDragSourceContext().setCursor(DragSource.DefaultLinkDrop);
    } else {
        dsde.getDragSourceContext().setCursor(DragSource.DefaultLinkNoDrop);
    }
}
Example 8
Project: com.revolsys.open-master  File: DnDTabbedPane.java View source code
@Override
public void dragOver(final DragSourceDragEvent e) {
    // e.getLocation()
    // This method returns a Point indicating the cursor location in screen
    // coordinates at the moment
    final TabTransferData data = getTabTransferData(e);
    if (data == null) {
        e.getDragSourceContext().setCursor(DragSource.DefaultMoveNoDrop);
        return;
    }
    /*
         * Point tabPt = e.getLocation(); SwingUtilities.convertPointFromScreen(tabPt,
         * DnDTabbedPane.this); if (DnDTabbedPane.this.contains(tabPt)) { int targetIdx =
         * getTargetTabIndex(tabPt); int sourceIndex = data.getTabIndex(); if
         * (getTabAreaBound().contains(tabPt) && (targetIdx >= 0) && (targetIdx != sourceIndex) &&
         * (targetIdx != sourceIndex + 1)) { e.getDragSourceContext().setCursor(
         * DragSource.DefaultMoveDrop); return; } e.getDragSourceContext().setCursor(
         * DragSource.DefaultMoveNoDrop); return; }
         */
    e.getDragSourceContext().setCursor(DragSource.DefaultMoveDrop);
}
Example 9
Project: Desktop-master  File: MNodeDragListener.java View source code
public void dragGestureRecognized(final DragGestureEvent e) {
    final MainView mainView = (MainView) e.getComponent();
    final NodeView nodeView = mainView.getNodeView();
    if (!nodeView.isSelected()) {
        nodeView.getMap().getModeController().getController().getSelection().selectAsTheOnlyOneSelected(nodeView.getModel());
    }
    Rectangle bounds = new Rectangle(0, 0, mainView.getWidth(), mainView.getHeight());
    if (!bounds.contains(e.getDragOrigin()))
        return;
    final int dragActionType = e.getDragAction();
    if (dragActionType == DnDConstants.ACTION_MOVE) {
        final NodeModel node = nodeView.getModel();
        if (node.isRoot()) {
            if (!isLinkDragEvent(e))
                return;
        }
    }
    final String dragActionName;
    Cursor cursor = getCursorByAction(dragActionType);
    if (isLinkDragEvent(e)) {
        cursor = DragSource.DefaultLinkDrop;
        dragActionName = "LINK";
    } else if ((e.getTriggerEvent().getModifiersEx() & InputEvent.BUTTON2_DOWN_MASK) != 0) {
        cursor = DragSource.DefaultCopyDrop;
        dragActionName = "COPY";
    } else {
        dragActionName = "MOVE";
    }
    final Transferable t = ClipboardController.getController().copy(Controller.getCurrentController().getSelection());
    ((MindMapNodesSelection) t).setDropAction(dragActionName);
    try {
        e.startDrag(cursor, t, new DragSourceListener() {

            public void dragDropEnd(final DragSourceDropEvent dsde) {
            }

            public void dragEnter(final DragSourceDragEvent e) {
            }

            public void dragExit(final DragSourceEvent dse) {
            }

            public void dragOver(final DragSourceDragEvent dsde) {
            }

            public void dropActionChanged(final DragSourceDragEvent dsde) {
                dsde.getDragSourceContext().setCursor(getCursorByAction(dsde.getUserAction()));
            }
        });
    } catch (final InvalidDnDOperationException ex) {
    }
}
Example 10
Project: Docear-master  File: MNodeDragListener.java View source code
public void dragGestureRecognized(final DragGestureEvent e) {
    final MainView mainView = (MainView) e.getComponent();
    final NodeView nodeView = mainView.getNodeView();
    if (!nodeView.isSelected()) {
        nodeView.getMap().getModeController().getController().getSelection().selectAsTheOnlyOneSelected(nodeView.getModel());
    }
    Rectangle bounds = new Rectangle(0, 0, mainView.getWidth(), mainView.getHeight());
    if (!bounds.contains(e.getDragOrigin()))
        return;
    final int dragActionType = e.getDragAction();
    if (dragActionType == DnDConstants.ACTION_MOVE) {
        final NodeModel node = nodeView.getModel();
        if (node.isRoot()) {
            if (!isLinkDragEvent(e))
                return;
        }
    }
    final String dragActionName;
    Cursor cursor = getCursorByAction(dragActionType);
    if (isLinkDragEvent(e)) {
        cursor = DragSource.DefaultLinkDrop;
        dragActionName = "LINK";
    } else if ((e.getTriggerEvent().getModifiersEx() & InputEvent.BUTTON2_DOWN_MASK) != 0) {
        cursor = DragSource.DefaultCopyDrop;
        dragActionName = "COPY";
    } else {
        dragActionName = "MOVE";
    }
    final Transferable t = ClipboardController.getController().copy(Controller.getCurrentController().getSelection());
    ((MindMapNodesSelection) t).setDropAction(dragActionName);
    try {
        e.startDrag(cursor, t, new DragSourceListener() {

            public void dragDropEnd(final DragSourceDropEvent dsde) {
            }

            public void dragEnter(final DragSourceDragEvent e) {
            }

            public void dragExit(final DragSourceEvent dse) {
            }

            public void dragOver(final DragSourceDragEvent dsde) {
            }

            public void dropActionChanged(final DragSourceDragEvent dsde) {
                dsde.getDragSourceContext().setCursor(getCursorByAction(dsde.getUserAction()));
            }
        });
    } catch (final InvalidDnDOperationException ex) {
    }
}
Example 11
Project: Electric-VLSI-master  File: DragButton.java View source code
public void dragGestureRecognized(DragGestureEvent e) {
    Cursor style = DragSource.DefaultMoveDrop;
    String command = "MOVEBUTTON";
    if ((e.getTriggerEvent().getModifiersEx() & MouseEvent.SHIFT_DOWN_MASK) != 0)
        style = DragSource.DefaultCopyDrop;
    command = "COPYBUTTON";
    // make the Transferable Object
    Transferable transferable = new StringSelection("PANEL " + panelNumber + " " + command + " " + getText());
    // begin the drag
    dragSource.startDrag(e, style, transferable, this);
}
Example 12
Project: WorldPainter-master  File: DnDToggleButton.java View source code
private void init() {
    transferHandler = new TransferHandler() {

        @Override
        protected Transferable createTransferable(JComponent c) {
            return new DnDToggleButton(getText(), getIcon());
        }
    };
    setTransferHandler(transferHandler);
    source = new DragSource();
    source.createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_COPY, this);
}
Example 13
Project: yoshikoder-master  File: TreeDragSource.java View source code
// Drag gesture handler
public void dragGestureRecognized(DragGestureEvent dge) {
    TreePath path = sourceTree.getSelectionPath();
    if ((path == null) || (path.getPathCount() <= 1)) {
        // We can't really move the root node (or an empty selection).
        return;
    }
    // Remember which node was dragged off so we can delete it to complete a
    // move
    // operation.
    oldNode = (Node) path.getLastPathComponent();
    // Make a version of the node that we can use in the DnD system.
    transferable = new TransferableTreeNode(path);
    // And start the drag process. We start with a no-drop cursor, assuming
    // that the
    // user won't want to drop the item right where she picked it up.
    source.startDrag(dge, DragSource.DefaultMoveNoDrop, transferable, this);
// If you support dropping the node anywhere, you should probably start
// with a
// valid move cursor:
//     source.startDrag(dge, DragSource.DefaultMoveDrop, transferable,
// this);
}
Example 14
Project: cids-navigator-master  File: CidsBeanList.java View source code
@Override
public void dragGestureRecognized(final DragGestureEvent dge) {
    final List<DefaultMetaTreeNode> selectedValues = new ArrayList<DefaultMetaTreeNode>();
    if (getSelectedValues() != null) {
        for (final Object bean : getSelectedValues()) {
            final MetaObjectNode mon = new MetaObjectNode((CidsBean) bean);
            final ObjectTreeNode metaTreeNode = new ObjectTreeNode(mon);
            selectedValues.add(metaTreeNode);
        }
        this.metaTransferable = new MetaTreeNodeTransferable(selectedValues);
        this.metaTransferable.setTransferAction(dge.getDragAction());
        this.ds.startDrag(dge, DragSource.DefaultMoveDrop, this.metaTransferable, this);
    }
}
Example 15
Project: ComicEPUB-master  File: TableRowTransferHandler.java View source code
@Override
public boolean canImport(TransferSupport info) {
    JTable t = (JTable) info.getComponent();
    boolean b = info.isDrop() && info.isDataFlavorSupported(localObjectFlavor);
    if (!info.isDataFlavorSupported(localObjectFlavor)) {
        t.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
    } else {
        //XXX bug?
        t.setCursor(b ? DragSource.DefaultMoveDrop : DragSource.DefaultMoveNoDrop);
    }
    return b;
}
Example 16
Project: Electric8-master  File: DragButton.java View source code
//	public void setText(String txt)
//	{
//		super.setText(panelNumber + ": " + txt);
//	}
//	public void setForeground(Color c) {
//        if (label != null) label.setForeground(c);
//    }
//    private static String rev(String s) {
//        StringBuffer sb = new StringBuffer();
//        for(int i=s.length()-1; i>=0; i--)
//            sb.append(s.charAt(i));
//        return sb.toString();
//    }
public void dragGestureRecognized(DragGestureEvent e) {
    Cursor style = DragSource.DefaultMoveDrop;
    String command = "MOVEBUTTON";
    if ((e.getTriggerEvent().getModifiersEx() & MouseEvent.SHIFT_DOWN_MASK) != 0) //		if (ClickZoomWireListener.isRightMouse(e.getTriggerEvent()))
    {
        style = DragSource.DefaultCopyDrop;
        command = "COPYBUTTON";
    }
    // make the Transferable Object
    Transferable transferable = new StringSelection("PANEL " + panelNumber + " " + command + " " + getText());
    // begin the drag
    dragSource.startDrag(e, style, transferable, this);
}
Example 17
Project: flowspring-master  File: TreeTable.java View source code
@Override
public void dragGestureRecognized(DragGestureEvent dge) {
    //				TreeRow selrow = this.medialibrary.getValueAt(this.medialibrary.getSelectedRow());
    //				if(selrow != null) {
    //					if(selrow.getType() == TreeRow.Title) {
    //						Main.getWindow().getPlaylist().addTrack(new PlaylistTrack(selrow.getArtist() + " - " + selrow.getName(),selrow.getInt(),((Title)selrow).getPath()));
    //					
    int row = TreeTable.this.getSelectedRow();
    if (row != -1) {
        TreeRow selrow = TreeTable.this.getValueAt(row);
        if (selrow.getType() == TreeRow.Title) {
            dge.startDrag(DragSource.DefaultCopyDrop, new PlaylistTrack(selrow.getId(), selrow.getArtist() + " - " + selrow.getName(), selrow.getInt(), ((Title) selrow).getPath()));
        } else if (selrow.getType() == TreeRow.YoutubeVideo) {
            dge.startDrag(DragSource.DefaultCopyDrop, new PlaylistTrack(selrow.getName(), selrow.getInt(), ((YoutubeVideo) selrow).getVideoUrl()));
        }
    }
}
Example 18
Project: freemind-mmx-master  File: NodeDragListener.java View source code
public void dragGestureRecognized(DragGestureEvent e) {
    if (!Resources.getInstance().getBoolProperty("draganddrop"))
        return;
    MindMapNode node = ((MainView) e.getComponent()).getNodeView().getModel();
    if (node.isRoot())
        return;
    // Transferable t; // = new StringSelection("");
    String dragAction = "MOVE";
    Cursor cursor = getCursorByAction(e.getDragAction());
    int modifiersEx = e.getTriggerEvent().getModifiersEx();
    boolean macLinkAction = Tools.isMacOsX() && ((modifiersEx & InputEvent.BUTTON1_DOWN_MASK) != 0) && e.getTriggerEvent().isMetaDown();
    boolean otherOsLinkAction = (modifiersEx & InputEvent.BUTTON3_DOWN_MASK) != 0;
    if (macLinkAction || otherOsLinkAction) {
        // Change drag action
        cursor = DragSource.DefaultLinkDrop;
        dragAction = "LINK";
    }
    if ((modifiersEx & InputEvent.BUTTON2_DOWN_MASK) != 0) {
        // Change drag action
        cursor = DragSource.DefaultCopyDrop;
        dragAction = "COPY";
    }
    Transferable t = c.getModeController().copy();
    // new MindMapNodesSelection("Ahoj","Ahoj","Ahoj", dragAction);
    ((MindMapNodesSelection) t).setDropAction(dragAction);
    // public void setDropAction(String dropActionContent) {
    // starts the dragging
    // DragSource dragSource = DragSource.getDefaultDragSource();
    e.startDrag(cursor, t, new DragSourceListener() {

        public void dragDropEnd(DragSourceDropEvent dsde) {
        }

        public void dragEnter(DragSourceDragEvent e) {
        }

        public void dragExit(DragSourceEvent dse) {
        }

        public void dragOver(DragSourceDragEvent dsde) {
        }

        public void dropActionChanged(DragSourceDragEvent dsde) {
            dsde.getDragSourceContext().setCursor(getCursorByAction(dsde.getUserAction()));
        }
    });
}
Example 19
Project: jubula.core-master  File: DvdTreeDragSource.java View source code
/**
     * {@inheritDoc}
     */
public void dragGestureRecognized(DragGestureEvent dge) {
    TreePath path = m_tree.getLeadSelectionPath();
    if ((path == null) || (path.getPathCount() <= 1)) {
        // We cannot move the root node or an empty selection
        return;
    }
    m_draggedNode = (DefaultMutableTreeNode) path.getLastPathComponent();
    m_transferable = new DvdTransferableCategory(path);
    m_source.startDrag(dge, DragSource.DefaultMoveDrop, m_transferable, this);
}
Example 20
Project: mmlTools-master  File: TrackTabbedPane.java View source code
@Override
public void dragGestureRecognized(DragGestureEvent event) {
    Component c = event.getComponent();
    if (!(c instanceof TrackTabbedPane)) {
        return;
    }
    TrackTabbedPane tabbedPane = (TrackTabbedPane) c;
    if (tabbedPane.getTabCount() > 1) {
        try {
            event.startDrag(DragSource.DefaultMoveDrop, new DataHandler(tabbedPane, DataFlavor.javaJVMLocalObjectMimeType));
        } catch (InvalidDnDOperationException e) {
            e.printStackTrace();
        }
    }
}
Example 21
Project: pentaho-reporting-master  File: PaletteButton.java View source code
public void dragGestureRecognized(final DragGestureEvent anEvent) {
    final ElementMetaData elementMetaData = ElementTypeRegistry.getInstance().getElementType(elementName);
    final ElementMetaDataTransferable transferable = new ElementMetaDataTransferable(elementMetaData);
    anEvent.startDrag(DragSource.DefaultCopyNoDrop, EMPTY_DRAG_IMAGE, new Point(), transferable, null);
    final ButtonModel model = getModel();
    model.setArmed(false);
    model.setPressed(false);
}
Example 22
Project: pomodoro4nb-master  File: TaskTableDragAndDropUI.java View source code
@Override
public void mouseDragged(MouseEvent e) {
    table.setCursor(table.getBounds().contains(e.getPoint()) ? DragSource.DefaultMoveDrop : DragSource.DefaultMoveNoDrop);
    int fromIndex = table.getSelectedRow();
    if (fromIndex >= 0) {
        isDragging = true;
        int rowHeight = table.getRowHeight();
        int middleOfSelectedRow = (rowHeight * fromIndex) + (rowHeight / 2);
        int toIndex = -1;
        int yMousePoint = (int) e.getPoint().getY();
        if (yMousePoint < (middleOfSelectedRow - rowHeight)) {
            toIndex = fromIndex - 1;
        } else if (yMousePoint > (middleOfSelectedRow + rowHeight)) {
            toIndex = fromIndex + 1;
        }
        if (toIndex >= 0 && toIndex < table.getRowCount()) {
            final TaskTable taskTable = (TaskTable) table;
            TaskTableModel model = taskTable.getTaskTableModel();
            for (int i = 0; i < model.getColumnCount(); i++) {
                model.moveTask(fromIndex, toIndex);
            }
            taskTable.selectNextRow(toIndex);
            startPoint = yMousePoint;
        }
        offsetY = (startPoint - yMousePoint) * -1;
        table.repaint();
    }
}
Example 23
Project: classlib6-master  File: DragGestureEvent.java View source code
/**
     * Deserializes this <code>DragGestureEvent</code>. This method first
     * performs default deserialization for all non-<code>transient</code>
     * fields. An attempt is then made to deserialize this object's
     * <code>List</code> of gesture events as well. This is first attempted
     * by deserializing the field <code>events</code>, because, in releases
     * prior to 1.4, a non-<code>transient</code> field of this name stored the
     * <code>List</code> of gesture events. If this fails, the next object in
     * the stream is used instead. If the resulting <code>List</code> is
     * <code>null</code>, this object's <code>List</code> of gesture events
     * is set to an empty <code>List</code>.
     *
     * @since 1.4
     */
private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
    ObjectInputStream.GetField f = s.readFields();
    dragSource = (DragSource) f.get("dragSource", null);
    component = (Component) f.get("component", null);
    origin = (Point) f.get("origin", null);
    action = f.get("action", 0);
    // Pre-1.4 support. 'events' was previously non-transient
    try {
        events = (List) f.get("events", null);
    } catch (IllegalArgumentException e) {
        events = (List) s.readObject();
    }
    // Implementation assumes 'events' is never null.
    if (events == null) {
        events = Collections.EMPTY_LIST;
    }
}
Example 24
Project: geogebra-master  File: SpreadsheetViewDnD.java View source code
// ======================================
// Drag Source Listeners
// ======================================
@Override
public void dragGestureRecognized(DragGestureEvent dge) {
    if (!table.isOverDnDRegion) {
        return;
    }
/*
		 * ----- code from AlgebraView Dnd, to be adapted later
		 * 
		 * if(geoLabelList == null) geoLabelList = new ArrayList<String>(); else
		 * geoLabelList.clear();
		 * 
		 * for(GeoElement geo : app.getSelectedGeos()){
		 * geoLabelList.add(geo.getLabel()); }
		 * 
		 * // if we have something ... do the drag! if(geoLabelList.size() > 0){
		 * 
		 * // create drag image StringBuilder sb = new StringBuilder();
		 * sb.append("\\fbox{\\begin{array}{l}"); for(GeoElement
		 * geo:app.getSelectedGeos()){
		 * sb.append(geo.getLaTeXAlgebraDescription(true)); sb.append("\\\\"); }
		 * sb.append("\\end{array}}"); ImageIcon ic =
		 * GeoGebraIcon.createLatexIcon(app, sb.toString(), app.getPlainFont(),
		 * false, Color.DARK_GRAY, null);
		 * 
		 * // start drag ds.startDrag(dge, DragSource.DefaultCopyDrop,
		 * ic.getImage(), new Point(-5,-ic.getIconHeight()+5), new
		 * TransferableAlgebraView(geoLabelList), this); }
		 * 
		 */
}
Example 25
Project: ikvm-openjdk-master  File: DragGestureEvent.java View source code
/**
     * Deserializes this <code>DragGestureEvent</code>. This method first
     * performs default deserialization for all non-<code>transient</code>
     * fields. An attempt is then made to deserialize this object's
     * <code>List</code> of gesture events as well. This is first attempted
     * by deserializing the field <code>events</code>, because, in releases
     * prior to 1.4, a non-<code>transient</code> field of this name stored the
     * <code>List</code> of gesture events. If this fails, the next object in
     * the stream is used instead. If the resulting <code>List</code> is
     * <code>null</code>, this object's <code>List</code> of gesture events
     * is set to an empty <code>List</code>.
     *
     * @since 1.4
     */
private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
    ObjectInputStream.GetField f = s.readFields();
    dragSource = (DragSource) f.get("dragSource", null);
    component = (Component) f.get("component", null);
    origin = (Point) f.get("origin", null);
    action = f.get("action", 0);
    // Pre-1.4 support. 'events' was previously non-transient
    try {
        events = (List) f.get("events", null);
    } catch (IllegalArgumentException e) {
        events = (List) s.readObject();
    }
    // Implementation assumes 'events' is never null.
    if (events == null) {
        events = Collections.EMPTY_LIST;
    }
}
Example 26
Project: JamVM-PH-master  File: GtkMouseDragGestureRecognizer.java View source code
public void mouseDragged(MouseEvent e) {
    if (!events.isEmpty()) {
        int act = getDropActionFromEvent(e);
        if (act == DnDConstants.ACTION_NONE)
            return;
        Point origin = ((MouseEvent) events.get(0)).getPoint();
        Point current = e.getPoint();
        int dx = Math.abs(origin.x - current.x);
        int dy = Math.abs(origin.y - current.y);
        int threshold = DragSource.getDragThreshold();
        if (dx > threshold || dy > threshold)
            fireDragGestureRecognized(act, origin);
        else
            appendEvent(e);
    }
}
Example 27
Project: JDK-master  File: DragGestureEvent.java View source code
/**
     * Deserializes this <code>DragGestureEvent</code>. This method first
     * performs default deserialization for all non-<code>transient</code>
     * fields. An attempt is then made to deserialize this object's
     * <code>List</code> of gesture events as well. This is first attempted
     * by deserializing the field <code>events</code>, because, in releases
     * prior to 1.4, a non-<code>transient</code> field of this name stored the
     * <code>List</code> of gesture events. If this fails, the next object in
     * the stream is used instead. If the resulting <code>List</code> is
     * <code>null</code>, this object's <code>List</code> of gesture events
     * is set to an empty <code>List</code>.
     *
     * @since 1.4
     */
private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
    ObjectInputStream.GetField f = s.readFields();
    dragSource = (DragSource) f.get("dragSource", null);
    component = (Component) f.get("component", null);
    origin = (Point) f.get("origin", null);
    action = f.get("action", 0);
    // Pre-1.4 support. 'events' was previously non-transient
    try {
        events = (List) f.get("events", null);
    } catch (IllegalArgumentException e) {
        events = (List) s.readObject();
    }
    // Implementation assumes 'events' is never null.
    if (events == null) {
        events = Collections.EMPTY_LIST;
    }
}
Example 28
Project: jdk7u-jdk-master  File: DragGestureEvent.java View source code
/**
     * Deserializes this <code>DragGestureEvent</code>. This method first
     * performs default deserialization for all non-<code>transient</code>
     * fields. An attempt is then made to deserialize this object's
     * <code>List</code> of gesture events as well. This is first attempted
     * by deserializing the field <code>events</code>, because, in releases
     * prior to 1.4, a non-<code>transient</code> field of this name stored the
     * <code>List</code> of gesture events. If this fails, the next object in
     * the stream is used instead. If the resulting <code>List</code> is
     * <code>null</code>, this object's <code>List</code> of gesture events
     * is set to an empty <code>List</code>.
     *
     * @since 1.4
     */
private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
    ObjectInputStream.GetField f = s.readFields();
    dragSource = (DragSource) f.get("dragSource", null);
    component = (Component) f.get("component", null);
    origin = (Point) f.get("origin", null);
    action = f.get("action", 0);
    // Pre-1.4 support. 'events' was previously non-transient
    try {
        events = (List) f.get("events", null);
    } catch (IllegalArgumentException e) {
        events = (List) s.readObject();
    }
    // Implementation assumes 'events' is never null.
    if (events == null) {
        events = Collections.EMPTY_LIST;
    }
}
Example 29
Project: kevoree-master  File: PortDragSourceListener.java View source code
/**
     * callback when a DnD begining is detected
     * @param dge
     */
@Override
public void dragGestureRecognized(DragGestureEvent dge) {
    //STEP 0 CLEAN SELECTED PORT
    /*
        CleanRequirePortBinding commandclean = new CleanRequirePortBinding();
        commandclean.setKernel(kernel);
        commandclean.setPortpanel(eventSourcePanel);
        commandclean.execute(null);
         */
    //STEP 1 CREATE FLIGHT BINDING
    //if()
    //tempPanel = new ComponentPanel();
    //tempPanel.setPreferredSize(new Dimension(200,200));
    dragOriginEvent = dge;
    Point origin = dragOriginEvent.getDragOrigin();
    origin2 = (Point) origin.clone();
    //SwingUtilities.convertPointToScreen(origin2, p);
    //SwingUtilities.convertPointFromScreen(origin2,(Component) p);
    dragSource.startDrag(dragOriginEvent, DragSource.DefaultLinkDrop, transferable, this);
    //tv.showTrashZone(true);
    // flightComponent.setActive(true);
    tempBinding.setFrom(eventSourcePanel);
    tempBinding.setTo(tempPanel);
    kernel.getModelPanel().addBinding(tempBinding);
    kernel.getModelPanel().setFlightObject(tempPanel);
// tv.remove(flightComponent);
// App.view.desktop.add(flightComponent);
}
Example 30
Project: kolmafia-master  File: JDnDList.java View source code
public void dragGestureRecognized(final DragGestureEvent dge) {
    Object[] selectedObjects = this.getSelectedValues();
    if (selectedObjects.length == 0) {
        return;
    }
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < selectedObjects.length; i++) {
        sb.append(selectedObjects[i].toString() + "\n");
    }
    // Build a StringSelection object that the Drag Source
    // can use to transport a string to the Drop Target
    StringSelection text = new StringSelection(sb.toString());
    // Start dragging the object
    this.dragSource.startDrag(dge, DragSource.DefaultMoveDrop, text, this);
}
Example 31
Project: ManagedRuntimeInitiative-master  File: DragGestureEvent.java View source code
/**
     * Deserializes this <code>DragGestureEvent</code>. This method first
     * performs default deserialization for all non-<code>transient</code>
     * fields. An attempt is then made to deserialize this object's
     * <code>List</code> of gesture events as well. This is first attempted
     * by deserializing the field <code>events</code>, because, in releases
     * prior to 1.4, a non-<code>transient</code> field of this name stored the
     * <code>List</code> of gesture events. If this fails, the next object in
     * the stream is used instead. If the resulting <code>List</code> is
     * <code>null</code>, this object's <code>List</code> of gesture events
     * is set to an empty <code>List</code>.
     *
     * @since 1.4
     */
private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
    ObjectInputStream.GetField f = s.readFields();
    dragSource = (DragSource) f.get("dragSource", null);
    component = (Component) f.get("component", null);
    origin = (Point) f.get("origin", null);
    action = f.get("action", 0);
    // Pre-1.4 support. 'events' was previously non-transient
    try {
        events = (List) f.get("events", null);
    } catch (IllegalArgumentException e) {
        events = (List) s.readObject();
    }
    // Implementation assumes 'events' is never null.
    if (events == null) {
        events = Collections.EMPTY_LIST;
    }
}
Example 32
Project: openjdk-master  File: DragGestureRecognizer.java View source code
/**
     * Deserializes this {@code DragGestureRecognizer}. This method first
     * performs default deserialization for all non-{@code transient}
     * fields. This object's {@code DragGestureListener} is then
     * deserialized as well by using the next object in the stream.
     *
     * @since 1.4
     */
@SuppressWarnings("unchecked")
private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
    ObjectInputStream.GetField f = s.readFields();
    DragSource newDragSource = (DragSource) f.get("dragSource", null);
    if (newDragSource == null) {
        throw new InvalidObjectException("null DragSource");
    }
    dragSource = newDragSource;
    component = (Component) f.get("component", null);
    sourceActions = f.get("sourceActions", 0) & (DnDConstants.ACTION_COPY_OR_MOVE | DnDConstants.ACTION_LINK);
    events = (ArrayList<InputEvent>) f.get("events", new ArrayList<>(1));
    dragGestureListener = (DragGestureListener) s.readObject();
}
Example 33
Project: openjdk8-jdk-master  File: DragGestureEvent.java View source code
/**
     * Deserializes this <code>DragGestureEvent</code>. This method first
     * performs default deserialization for all non-<code>transient</code>
     * fields. An attempt is then made to deserialize this object's
     * <code>List</code> of gesture events as well. This is first attempted
     * by deserializing the field <code>events</code>, because, in releases
     * prior to 1.4, a non-<code>transient</code> field of this name stored the
     * <code>List</code> of gesture events. If this fails, the next object in
     * the stream is used instead. If the resulting <code>List</code> is
     * <code>null</code>, this object's <code>List</code> of gesture events
     * is set to an empty <code>List</code>.
     *
     * @since 1.4
     */
private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
    ObjectInputStream.GetField f = s.readFields();
    dragSource = (DragSource) f.get("dragSource", null);
    component = (Component) f.get("component", null);
    origin = (Point) f.get("origin", null);
    action = f.get("action", 0);
    // Pre-1.4 support. 'events' was previously non-transient
    try {
        events = (List) f.get("events", null);
    } catch (IllegalArgumentException e) {
        events = (List) s.readObject();
    }
    // Implementation assumes 'events' is never null.
    if (events == null) {
        events = Collections.EMPTY_LIST;
    }
}
Example 34
Project: property-db-master  File: DragGestureEvent.java View source code
/** {@collect.stats} 
     * Deserializes this <code>DragGestureEvent</code>. This method first
     * performs default deserialization for all non-<code>transient</code>
     * fields. An attempt is then made to deserialize this object's
     * <code>List</code> of gesture events as well. This is first attempted
     * by deserializing the field <code>events</code>, because, in releases
     * prior to 1.4, a non-<code>transient</code> field of this name stored the
     * <code>List</code> of gesture events. If this fails, the next object in
     * the stream is used instead. If the resulting <code>List</code> is
     * <code>null</code>, this object's <code>List</code> of gesture events
     * is set to an empty <code>List</code>.
     *
     * @since 1.4
     */
private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
    ObjectInputStream.GetField f = s.readFields();
    dragSource = (DragSource) f.get("dragSource", null);
    component = (Component) f.get("component", null);
    origin = (Point) f.get("origin", null);
    action = f.get("action", 0);
    // Pre-1.4 support. 'events' was previously non-transient
    try {
        events = (List) f.get("events", null);
    } catch (IllegalArgumentException e) {
        events = (List) s.readObject();
    }
    // Implementation assumes 'events' is never null.
    if (events == null) {
        events = Collections.EMPTY_LIST;
    }
}
Example 35
Project: ptii-master  File: DnDTable.java View source code
public void dragOver(DragSourceDragEvent event) {
    DragSourceContext context = event.getDragSourceContext();
    java.awt.Point location = event.getLocation();
    Point org = this.getLocationOnScreen();
    Point relLoc = new Point(location.x - org.x, location.y - org.y);
    int col = columnAtPoint(relLoc);
    int row = rowAtPoint(relLoc);
    Component component = getControlAt(col, row);
    if (col < 1 || row < 1 || component != null) {
        context.setCursor(DragSource.DefaultMoveNoDrop);
    } else {
        context.setCursor(DragSource.DefaultMoveDrop);
    }
}
Example 36
Project: QuaquaOld-master  File: QuaquaDragRecognitionSupport.java View source code
/**
     * Returns whether or not the event is potentially part of a drag sequence.
     */
private boolean mousePressedImpl(MouseEvent me) {
    component = (JComponent) me.getSource();
    if (mapDragOperationFromModifiers(me, component.getTransferHandler()) != TransferHandler.NONE) {
        try {
            //motionThreshold = DragSource.getDragThreshold();
            motionThreshold = ((Integer) Methods.invokeStatic(DragSource.class, "getDragThreshold")).intValue();
        } catch (NoSuchMethodException ex) {
            Integer td = (Integer) Toolkit.getDefaultToolkit().getDesktopProperty("DnD.gestureMotionThreshold");
            if (td != null) {
                motionThreshold = td.intValue();
            }
        }
        dndArmedEvent = me;
        return true;
    }
    clearState();
    return false;
}
Example 37
Project: SmallMind-master  File: DragHandler.java View source code
@Override
public void dragGestureRecognized(DragGestureEvent dragGestureEvent) {
    Transferable transferable;
    Icon dragIcon;
    if (((dragGestureEvent.getDragAction() & actions) != 0) && ((transferable = getTransferable(dragGestureEvent)) != null)) {
        cursorPair = new CursorPair(dragGestureEvent.getDragAction());
        if (((dragIcon = getDragIcon(dragGestureEvent, imageOffset)) != null) && DragSource.isDragImageSupported()) {
            dragGestureEvent.startDrag(cursorPair.getNoDropCursor(), createImageFromIcon(dragIcon), imageOffset, transferable, this);
        } else {
            if (dragIcon != null) {
                ghostPanel.setImage(createImageFromIcon(dragIcon));
                ghostPanel.setLocation(0, 0);
                ghostPanel.setCursor(cursorPair.getNoDropCursor());
                ghostPanel.setVisible(true);
            }
            dragGestureEvent.startDrag(cursorPair.getNoDropCursor(), transferable, this);
        }
        dragGestureEvent.getDragSource().addDragSourceMotionListener(this);
    }
}
Example 38
Project: SOAP-master  File: SoapUIDragAndDropHandler.java View source code
/**
         * This is where the ghost image is drawn
         */
public void dragOver(DropTargetDragEvent e) {
    // Even if the mouse is not moving, this method is still invoked 10
    // times per second
    Point pt = e.getLocation();
    if (pt.equals(_ptLast)) {
        return;
    }
    _ptLast = pt;
    Graphics2D g2 = (Graphics2D) dragAndDropable.getComponent().getGraphics();
    // drag image
    if (!DragSource.isDragImageSupported() && _imgGhost != null && _ptOffset != null) {
        // Rub
        dragAndDropable.getComponent().paintImmediately(_raGhost.getBounds());
        // out
        // the
        // last ghost
        // image and cue line
        // And remember where we are about to draw the new ghost image
        _raGhost.setRect(pt.x - _ptOffset.x, pt.y - _ptOffset.y, _imgGhost.getWidth(), _imgGhost.getHeight());
        g2.drawImage(_imgGhost, AffineTransform.getTranslateInstance(_raGhost.getX(), _raGhost.getY()), null);
    } else // Just rub out the last cue line
    {
        dragAndDropable.getComponent().paintImmediately(_raCueLine.getBounds());
    }
    ModelItem modelItem = dragAndDropable.getModelItemForLocation(pt.x, pt.y);
    if (modelItem == null) {
        e.rejectDrag();
        return;
    }
    if (!(modelItem == _pathLast)) {
        // movement trend
        _pathLast = modelItem;
        _timerHover.restart();
    }
    // In any case draw (over the ghost image if necessary) a cue line
    // indicating where a drop will occur
    Rectangle raPath = dragAndDropable.getModelItemBounds(modelItem);
    int dt = dropType;
    if (dropType == DropType.AFTER) {
        _raCueLine.setRect(0, raPath.y + (int) raPath.getHeight() - 2, dragAndDropable.getComponent().getWidth(), 2);
    } else if (dropType == DropType.BEFORE) {
        _raCueLine.setRect(0, raPath.y, dragAndDropable.getComponent().getWidth(), 2);
    } else if (dropType == DropType.ON) {
        _raCueLine.setRect(0, raPath.y, dragAndDropable.getComponent().getWidth(), raPath.getHeight());
    } else {
        if (pt.y > (raPath.y + (raPath.getHeight() / 2) + ON_RANGE)) {
            _raCueLine.setRect(0, raPath.y + (int) raPath.getHeight() - 2, dragAndDropable.getComponent().getWidth(), 2);
            dt = DropType.AFTER;
        } else if (pt.y < (raPath.y + (raPath.getHeight() / 2) - ON_RANGE)) {
            _raCueLine.setRect(0, raPath.y, dragAndDropable.getComponent().getWidth(), 2);
            dt = DropType.BEFORE;
        } else {
            _raCueLine.setRect(0, raPath.y, dragAndDropable.getComponent().getWidth(), raPath.getHeight());
            dt = DropType.ON;
        }
    }
    boolean dragAcceptable = isDragAcceptable(e, dt);
    g2.setColor(_colorCueLine);
    g2.fill(_raCueLine);
    if (dragAcceptable) {
        dragAndDropable.setDragInfo(dropInfo);
    } else {
        dragAndDropable.setDragInfo("");
    }
    ToolTipManager.sharedInstance().mouseMoved(new // X-Y
    MouseEvent(// X-Y
    dragAndDropable.getComponent(), // X-Y
    0, // X-Y
    0, // X-Y
    0, // X-Y
    pt.x, // X-Y
    pt.y + 10, // tip
    0, false));
    // And include the cue line in the area to be rubbed out next time
    _raGhost = _raGhost.createUnion(_raCueLine);
    if (!dragAcceptable) {
        e.rejectDrag();
    } else {
        e.acceptDrag(e.getDropAction());
    }
}
Example 39
Project: soapui-master  File: SoapUIDragAndDropHandler.java View source code
/**
         * This is where the ghost image is drawn
         */
public void dragOver(DropTargetDragEvent e) {
    // Even if the mouse is not moving, this method is still invoked 10
    // times per second
    Point pt = e.getLocation();
    if (pt.equals(_ptLast)) {
        return;
    }
    _ptLast = pt;
    Graphics2D g2 = (Graphics2D) dragAndDropable.getComponent().getGraphics();
    // drag image
    if (!DragSource.isDragImageSupported() && _imgGhost != null && _ptOffset != null) {
        // Rub
        dragAndDropable.getComponent().paintImmediately(_raGhost.getBounds());
        // out
        // the
        // last ghost
        // image and cue line
        // And remember where we are about to draw the new ghost image
        _raGhost.setRect(pt.x - _ptOffset.x, pt.y - _ptOffset.y, _imgGhost.getWidth(), _imgGhost.getHeight());
        g2.drawImage(_imgGhost, AffineTransform.getTranslateInstance(_raGhost.getX(), _raGhost.getY()), null);
    } else // Just rub out the last cue line
    {
        dragAndDropable.getComponent().paintImmediately(_raCueLine.getBounds());
    }
    ModelItem modelItem = dragAndDropable.getModelItemForLocation(pt.x, pt.y);
    if (modelItem == null) {
        e.rejectDrag();
        return;
    }
    if (!(modelItem == _pathLast)) {
        // movement trend
        _pathLast = modelItem;
        _timerHover.restart();
    }
    // In any case draw (over the ghost image if necessary) a cue line
    // indicating where a drop will occur
    Rectangle raPath = dragAndDropable.getModelItemBounds(modelItem);
    int dt = dropType;
    if (dropType == DropType.AFTER) {
        _raCueLine.setRect(0, raPath.y + (int) raPath.getHeight() - 2, dragAndDropable.getComponent().getWidth(), 2);
    } else if (dropType == DropType.BEFORE) {
        _raCueLine.setRect(0, raPath.y, dragAndDropable.getComponent().getWidth(), 2);
    } else if (dropType == DropType.ON) {
        _raCueLine.setRect(0, raPath.y, dragAndDropable.getComponent().getWidth(), raPath.getHeight());
    } else {
        if (pt.y > (raPath.y + (raPath.getHeight() / 2) + ON_RANGE)) {
            _raCueLine.setRect(0, raPath.y + (int) raPath.getHeight() - 2, dragAndDropable.getComponent().getWidth(), 2);
            dt = DropType.AFTER;
        } else if (pt.y < (raPath.y + (raPath.getHeight() / 2) - ON_RANGE)) {
            _raCueLine.setRect(0, raPath.y, dragAndDropable.getComponent().getWidth(), 2);
            dt = DropType.BEFORE;
        } else {
            _raCueLine.setRect(0, raPath.y, dragAndDropable.getComponent().getWidth(), raPath.getHeight());
            dt = DropType.ON;
        }
    }
    boolean dragAcceptable = isDragAcceptable(e, dt);
    g2.setColor(_colorCueLine);
    g2.fill(_raCueLine);
    if (dragAcceptable) {
        dragAndDropable.setDragInfo(dropInfo);
    } else {
        dragAndDropable.setDragInfo("");
    }
    ToolTipManager.sharedInstance().mouseMoved(new // X-Y
    MouseEvent(// X-Y
    dragAndDropable.getComponent(), // X-Y
    0, // X-Y
    0, // X-Y
    0, // X-Y
    pt.x, // X-Y
    pt.y + 10, // tip
    0, false));
    // And include the cue line in the area to be rubbed out next time
    _raGhost = _raGhost.createUnion(_raCueLine);
    if (!dragAcceptable) {
        e.rejectDrag();
    } else {
        e.acceptDrag(e.getDropAction());
    }
}
Example 40
Project: sweethome3d-master  File: VisualTransferHandler.java View source code
/**
   * Causes the Swing drag support to be initiated with a drag icon if necessary. 
   * This method implements the expected behavior of <code>exportAsDrag</code> 
   * if <code>getVisualRepresentation</code> was used in <code>TransferHandler</code> implementation.  
   * As only Mac OS X supports drag image, the drag icon will actually appear only on this system.
   */
public void exportAsDrag(JComponent source, InputEvent ev, int action) {
    int sourceActions = getSourceActions(source);
    int dragAction = sourceActions & action;
    if (DragSource.isDragImageSupported() && dragAction != NONE && (ev instanceof MouseEvent)) {
        this.dragGestureRecognizerWithVisualRepresentation.gestured(source, (MouseEvent) ev, sourceActions, dragAction);
    } else {
        super.exportAsDrag(source, ev, action);
    }
}
Example 41
Project: Thaw-master  File: DragAndDropManager.java View source code
/*private class FileTransferHandler extends TransferHandler {
		private static final long serialVersionUID = 1L;

		protected  Transferable createTransferable(final JComponent c) {
			if(c == queuePanels[0].getTable()) {
				queuePanels[0].reloadSelections();
				return new DragableFinishedTransfers(queuePanels[0].getSelectedQueries(), false);
			}

			if(c == queuePanels[1].getTable()) {
				queuePanels[1].reloadSelections();
				return new DragableFinishedTransfers(queuePanels[1].getSelectedQueries(), true);
			}

			return null;
		}

	}*/
public void dragGestureRecognized(final DragGestureEvent dge) {
    try {
        Transferable transferable;
        transferable = getTransferableFor(dge.getComponent());
        dge.startDrag(DragSource.DefaultCopyDrop, transferable);
    } catch (final java.awt.dnd.InvalidDnDOperationException e) {
        Logger.warning(this, "InvalideDnDOperation !");
    }
}
Example 42
Project: Arise-master  File: CityLayer.java View source code
@Override
public void draw(Graphics2D g) {
    g.drawImage(Game.getImage("system/city.png"), 0, 0, null);
    Component hovered = null;
    for (Component c : components) {
        c.draw(g);
        if (c.state == 2)
            hovered = c;
    }
    if (activeBuilding != null) {
        int x = Helper.round(Game.currentGame.mouse.x - activeBuilding.getWidth() / 2, Building.GRID);
        int y = Helper.round(Game.currentGame.mouse.y - activeBuilding.getHeight() / 2, Building.GRID);
        AffineTransform old = g.getTransform();
        AffineTransform at = g.getTransform();
        at.translate(x, y);
        g.setTransform(at);
        activeBuilding.setStage(1);
        activeBuilding.draw(g);
        g.setTransform(old);
        Composite c = g.getComposite();
        Color cl = g.getColor();
        g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.2f));
        boolean free = true;
        for (int i = activeBuilding.bx * Building.GRID; i < activeBuilding.bx * Building.GRID + activeBuilding.bw * Building.GRID; i += Building.GRID) {
            for (int j = activeBuilding.by * Building.GRID; j < activeBuilding.by * Building.GRID + activeBuilding.bh * Building.GRID; j += Building.GRID) {
                boolean green = new Rectangle(96, 96, 1088, 544).contains(new Rectangle(i + x, j + y, Building.GRID, Building.GRID)) && !intersectsBuildings(new Rectangle(i + x, j + y, Building.GRID, Building.GRID));
                g.setColor(green ? Color.decode("#5fff5b") : Color.red);
                g.fillRect(i + x, j + y, Building.GRID, Building.GRID);
                if (!green)
                    free = false;
            }
        }
        if (free)
            Game.applet.setCursor(Cursor.getDefaultCursor());
        else
            Game.applet.setCursor(DragSource.DefaultMoveNoDrop);
        g.setColor(Color.black);
        for (int i = 0; i < 1088; i += Building.GRID) for (int j = 0; j < 544; j += Building.GRID) g.drawRect(i + 96, j + 96, Building.GRID, Building.GRID);
        g.setComposite(c);
        g.setColor(cl);
    }
    if (hovered != null)
        hovered.drawTooltip(GameFrame.currentFrame.mouse.x, GameFrame.currentFrame.mouse.y, g);
}
Example 43
Project: BioPano-master  File: EditorPalette.java View source code
/**
	 * 
	 * @param name
	 * @param icon
	 * @param cell
	 */
public void addTemplate(final String name, ImageIcon icon, mxCell cell) {
    mxRectangle bounds = (mxGeometry) cell.getGeometry().clone();
    final mxGraphTransferable t = new mxGraphTransferable(new Object[] { cell }, bounds);
    // Scales the image if it's too large for the library
    if (icon != null) {
        if (icon.getIconWidth() > 32 || icon.getIconHeight() > 32) {
            icon = new ImageIcon(icon.getImage().getScaledInstance(32, 32, 0));
        }
    }
    final JLabel entry = new JLabel(icon);
    entry.setPreferredSize(new Dimension(50, 50));
    entry.setBackground(EditorPalette.this.getBackground().brighter());
    entry.setFont(new Font(entry.getFont().getFamily(), 0, 10));
    entry.setVerticalTextPosition(JLabel.BOTTOM);
    entry.setHorizontalTextPosition(JLabel.CENTER);
    entry.setIconTextGap(0);
    entry.setToolTipText(name);
    entry.setText(name);
    entry.addMouseListener(new MouseListener() {

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
			 */
        public void mousePressed(MouseEvent e) {
            setSelectionEntry(entry, t);
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
			 */
        public void mouseClicked(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
			 */
        public void mouseEntered(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
			 */
        public void mouseExited(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
			 */
        public void mouseReleased(MouseEvent e) {
        }
    });
    // Install the handler for dragging nodes into a graph
    DragGestureListener dragGestureListener = new DragGestureListener() {

        /**
			 * 
			 */
        public void dragGestureRecognized(DragGestureEvent e) {
            e.startDrag(null, mxSwingConstants.EMPTY_IMAGE, new Point(), t, null);
        }
    };
    DragSource dragSource = new DragSource();
    dragSource.createDefaultDragGestureRecognizer(entry, DnDConstants.ACTION_COPY, dragGestureListener);
    add(entry);
}
Example 44
Project: classpath-doctor-master  File: ClassPathList.java View source code
public void dragGestureRecognized(DragGestureEvent dge) {
    JList list = (JList) dge.getComponent();
    Object[] selection = list.getSelectedValues();
    if (selection.length < 2) {
        PathEntry[] selectedEntries = new PathEntry[selection.length];
        System.arraycopy(selection, 0, selectedEntries, 0, selection.length);
        PathEntriesTransferable transferable = new PathEntriesTransferable(selectedEntries);
        dge.startDrag(DragSource.DefaultMoveDrop, transferable);
    } else {
        getErrorHandler().handleError("Only one entry can be moved at a time");
    }
}
Example 45
Project: CompendiumNG-master  File: UIDraggableTreeCellRenderer.java View source code
//	SOURCE
/**
     * A <code>DragGestureRecognizer</code> has detected
     * a platform-dependent drag initiating gesture and
     * is notifying this listener
     * in order for it to initiate the action for the user.
     * <P>
     * @param e the <code>DragGestureEvent</code> describing
     * the gesture that has just occurred
     */
public void dragGestureRecognized(DragGestureEvent e) {
    InputEvent in = e.getTriggerEvent();
    if (in instanceof MouseEvent) {
        MouseEvent evt = (MouseEvent) in;
        boolean isLeftMouse = SwingUtilities.isLeftMouseButton(evt);
        if (isLeftMouse && !evt.isAltDown()) {
            dragSource.startDrag(e, DragSource.DefaultCopyDrop, this, this);
        }
    }
}
Example 46
Project: consulo-master  File: XLineBreakpointImpl.java View source code
@Override
protected GutterDraggableObject createBreakpointDraggableObject() {
    return new GutterDraggableObject() {

        @Override
        public boolean copy(int line, VirtualFile file) {
            if (canMoveTo(line, file)) {
                setFileUrl(file.getUrl());
                setLine(line, true);
                return true;
            }
            return false;
        }

        @Override
        public Cursor getCursor(int line) {
            return canMoveTo(line, getFile()) ? DragSource.DefaultMoveDrop : DragSource.DefaultMoveNoDrop;
        }
    };
}
Example 47
Project: DesignPatternAnalysis-master  File: DNDHelper.java View source code
/**
	 * Used to create the gesture recognizer which in effect turns on draggability.
	 */
protected DragGestureRecognizer createDragGestureRecognizer(DragGestureListener dgl) {
    DragGestureRecognizer aDgr = null;
    if (Component.class.isInstance(view())) {
        Component c = (Component) view();
        aDgr = java.awt.dnd.DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(c, getDragSourceActions(), dgl);
    //System.out.println("DragGestureRecognizer created: " + view());
    }
    return aDgr;
}
Example 48
Project: energyefficientfattree-master  File: EditorPalette.java View source code
/**
	 * 
	 * @param name
	 * @param icon
	 * @param cell
	 */
public void addTemplate(final String name, ImageIcon icon, mxCell cell) {
    mxRectangle bounds = (mxGeometry) cell.getGeometry().clone();
    final mxGraphTransferable t = new mxGraphTransferable(new Object[] { cell }, bounds);
    // Scales the image if it's too large for the library
    if (icon != null) {
        if (icon.getIconWidth() > 32 || icon.getIconHeight() > 32) {
            icon = new ImageIcon(icon.getImage().getScaledInstance(32, 32, 0));
        }
    }
    final JLabel entry = new JLabel(icon);
    entry.setPreferredSize(new Dimension(50, 50));
    entry.setBackground(EditorPalette.this.getBackground().brighter());
    entry.setFont(new Font(entry.getFont().getFamily(), 0, 10));
    entry.setVerticalTextPosition(JLabel.BOTTOM);
    entry.setHorizontalTextPosition(JLabel.CENTER);
    entry.setIconTextGap(0);
    entry.setToolTipText(name);
    entry.setText(name);
    entry.addMouseListener(new MouseListener() {

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
			 */
        public void mousePressed(MouseEvent e) {
            setSelectionEntry(entry, t);
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
			 */
        public void mouseClicked(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
			 */
        public void mouseEntered(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
			 */
        public void mouseExited(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
			 */
        public void mouseReleased(MouseEvent e) {
        }
    });
    // Install the handler for dragging nodes into a graph
    DragGestureListener dragGestureListener = new DragGestureListener() {

        /**
			 * 
			 */
        public void dragGestureRecognized(DragGestureEvent e) {
            e.startDrag(null, mxConstants.EMPTY_IMAGE, new Point(), t, null);
        }
    };
    DragSource dragSource = new DragSource();
    dragSource.createDefaultDragGestureRecognizer(entry, DnDConstants.ACTION_COPY, dragGestureListener);
    add(entry);
}
Example 49
Project: GKA1-master  File: EditorPalette.java View source code
/**
	 * 
	 * @param name
	 * @param icon
	 * @param cell
	 */
public void addTemplate(final String name, ImageIcon icon, mxCell cell) {
    mxRectangle bounds = (mxGeometry) cell.getGeometry().clone();
    final mxGraphTransferable t = new mxGraphTransferable(new Object[] { cell }, bounds);
    // Scales the image if it's too large for the library
    if (icon != null) {
        if (icon.getIconWidth() > 32 || icon.getIconHeight() > 32) {
            icon = new ImageIcon(icon.getImage().getScaledInstance(32, 32, 0));
        }
    }
    final JLabel entry = new JLabel(icon);
    entry.setPreferredSize(new Dimension(50, 50));
    entry.setBackground(EditorPalette.this.getBackground().brighter());
    entry.setFont(new Font(entry.getFont().getFamily(), 0, 10));
    entry.setVerticalTextPosition(JLabel.BOTTOM);
    entry.setHorizontalTextPosition(JLabel.CENTER);
    entry.setIconTextGap(0);
    entry.setToolTipText(name);
    entry.setText(name);
    entry.addMouseListener(new MouseListener() {

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
			 */
        public void mousePressed(MouseEvent e) {
            setSelectionEntry(entry, t);
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
			 */
        public void mouseClicked(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
			 */
        public void mouseEntered(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
			 */
        public void mouseExited(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
			 */
        public void mouseReleased(MouseEvent e) {
        }
    });
    // Install the handler for dragging nodes into a graph
    DragGestureListener dragGestureListener = new DragGestureListener() {

        /**
			 * 
			 */
        public void dragGestureRecognized(DragGestureEvent e) {
            e.startDrag(null, mxSwingConstants.EMPTY_IMAGE, new Point(), t, null);
        }
    };
    DragSource dragSource = new DragSource();
    dragSource.createDefaultDragGestureRecognizer(entry, DnDConstants.ACTION_COPY, dragGestureListener);
    add(entry);
}
Example 50
Project: intellij-community-master  File: XLineBreakpointImpl.java View source code
@Override
protected GutterDraggableObject createBreakpointDraggableObject() {
    return new GutterDraggableObject() {

        @Override
        public boolean copy(int line, VirtualFile file) {
            if (canMoveTo(line, file)) {
                setFileUrl(file.getUrl());
                setLine(line, true);
                return true;
            }
            return false;
        }

        public void remove() {
            XBreakpointManager breakpointManager = XDebuggerManager.getInstance(getProject()).getBreakpointManager();
            WriteAction.run(() -> breakpointManager.removeBreakpoint(XLineBreakpointImpl.this));
        }

        @Override
        public Cursor getCursor(int line) {
            return canMoveTo(line, getFile()) ? DragSource.DefaultMoveDrop : DragSource.DefaultMoveNoDrop;
        }
    };
}
Example 51
Project: jaamsim-master  File: EntityPallet.java View source code
@Override
public void dragGestureRecognized(DragGestureEvent event) {
    TreePath path = tree.getSelectionPath();
    if (path != null) {
        // Dragged node is a DefaultMutableTreeNode
        if (path.getLastPathComponent() instanceof DefaultMutableTreeNode) {
            DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) path.getLastPathComponent();
            // This is an ObjectType node
            if (treeNode.getUserObject() instanceof ObjectType) {
                ObjectType type = (ObjectType) treeNode.getUserObject();
                Cursor cursor = null;
                if (event.getDragAction() == DnDConstants.ACTION_COPY) {
                    cursor = DragSource.DefaultCopyDrop;
                }
                if (RenderManager.isGood()) {
                    // The new renderer is initialized
                    RenderManager.inst().startDragAndDrop(type);
                    event.startDrag(cursor, new TransferableObjectType(type), RenderManager.inst());
                } else {
                    event.startDrag(cursor, new TransferableObjectType(type));
                }
            }
        }
    }
}
Example 52
Project: JAME-master  File: PaletteFieldUI.java View source code
/**
	 * @see javax.swing.plaf.ComponentUI#installUI(javax.swing.JComponent)
	 */
@Override
public void installUI(final JComponent c) {
    super.installUI(c);
    palette = ((PaletteField) c).getPalette();
    source = new DragSource();
    target = new DropTarget();
    listener = new PaletteFieldController((PaletteField) c);
    c.setToolTipText(createPaletteFieldTooltip(((PaletteField) c).getModel()));
    installListeners((PaletteField) c);
    if (source.createDefaultDragGestureRecognizer(c, DnDConstants.ACTION_MOVE, listener) != null) {
        c.setDropTarget(target);
    }
}
Example 53
Project: jgraphx-master  File: EditorPalette.java View source code
/**
	 * 
	 * @param name
	 * @param icon
	 * @param cell
	 */
public void addTemplate(final String name, ImageIcon icon, mxCell cell) {
    mxRectangle bounds = (mxGeometry) cell.getGeometry().clone();
    final mxGraphTransferable t = new mxGraphTransferable(new Object[] { cell }, bounds);
    // Scales the image if it's too large for the library
    if (icon != null) {
        if (icon.getIconWidth() > 32 || icon.getIconHeight() > 32) {
            icon = new ImageIcon(icon.getImage().getScaledInstance(32, 32, 0));
        }
    }
    final JLabel entry = new JLabel(icon);
    entry.setPreferredSize(new Dimension(50, 50));
    entry.setBackground(EditorPalette.this.getBackground().brighter());
    entry.setFont(new Font(entry.getFont().getFamily(), 0, 10));
    entry.setVerticalTextPosition(JLabel.BOTTOM);
    entry.setHorizontalTextPosition(JLabel.CENTER);
    entry.setIconTextGap(0);
    entry.setToolTipText(name);
    entry.setText(name);
    entry.addMouseListener(new MouseListener() {

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
			 */
        public void mousePressed(MouseEvent e) {
            setSelectionEntry(entry, t);
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
			 */
        public void mouseClicked(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
			 */
        public void mouseEntered(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
			 */
        public void mouseExited(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
			 */
        public void mouseReleased(MouseEvent e) {
        }
    });
    // Install the handler for dragging nodes into a graph
    DragGestureListener dragGestureListener = new DragGestureListener() {

        /**
			 * 
			 */
        public void dragGestureRecognized(DragGestureEvent e) {
            e.startDrag(null, mxSwingConstants.EMPTY_IMAGE, new Point(), t, null);
        }
    };
    DragSource dragSource = new DragSource();
    dragSource.createDefaultDragGestureRecognizer(entry, DnDConstants.ACTION_COPY, dragGestureListener);
    add(entry);
}
Example 54
Project: jhotdraw6-master  File: DNDHelper.java View source code
/**
	 * Used to create the gesture recognizer which in effect turns on draggability.
	 */
protected DragGestureRecognizer createDragGestureRecognizer(DragGestureListener dgl) {
    DragGestureRecognizer aDgr = null;
    if (Component.class.isInstance(view())) {
        Component c = (Component) view();
        aDgr = java.awt.dnd.DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(c, getDragSourceActions(), dgl);
    //System.out.println("DragGestureRecognizer created: " + view());
    }
    return aDgr;
}
Example 55
Project: milton-master  File: TableTransferHandler.java View source code
public final void dragEnter(DragSourceDragEvent dsde) {
    int action = dsde.getDropAction();
    if (action == DnDConstants.ACTION_COPY) {
        dsde.getDragSourceContext().setCursor(DragSource.DefaultCopyDrop);
    } else {
        if (action == DnDConstants.ACTION_MOVE) {
            dsde.getDragSourceContext().setCursor(DragSource.DefaultMoveDrop);
        } else {
            dsde.getDragSourceContext().setCursor(DragSource.DefaultMoveNoDrop);
        }
    }
}
Example 56
Project: milton2-master  File: TableTransferHandler.java View source code
public final void dragEnter(DragSourceDragEvent dsde) {
    int action = dsde.getDropAction();
    if (action == DnDConstants.ACTION_COPY) {
        dsde.getDragSourceContext().setCursor(DragSource.DefaultCopyDrop);
    } else {
        if (action == DnDConstants.ACTION_MOVE) {
            dsde.getDragSourceContext().setCursor(DragSource.DefaultMoveDrop);
        } else {
            dsde.getDragSourceContext().setCursor(DragSource.DefaultMoveNoDrop);
        }
    }
}
Example 57
Project: mobac-ext-master  File: DragDropController.java View source code
public void dragGestureRecognized(DragGestureEvent dge) {
    TreePath path = atlasTree.getSelectionPath();
    if ((path == null) || (path.getPathCount() <= 1))
        // We can't move the root node or an empty selection
        return;
    TreeNode oldNode = (TreeNode) path.getLastPathComponent();
    if (!(oldNode instanceof LayerInterface || oldNode instanceof MapInterface))
        return;
    Transferable transferable = new NodeTransferWrapper(oldNode);
    source.startDrag(dge, DragSource.DefaultMoveNoDrop, transferable, this);
}
Example 58
Project: MOBAC-master  File: DragDropController.java View source code
public void dragGestureRecognized(DragGestureEvent dge) {
    TreePath path = atlasTree.getSelectionPath();
    if ((path == null) || (path.getPathCount() <= 1))
        // We can't move the root node or an empty selection
        return;
    TreeNode oldNode = (TreeNode) path.getLastPathComponent();
    if (!(oldNode instanceof LayerInterface || oldNode instanceof MapInterface))
        return;
    Transferable transferable = new NodeTransferWrapper(oldNode);
    source.startDrag(dge, DragSource.DefaultMoveNoDrop, transferable, this);
}
Example 59
Project: netbeans-mmd-plugin-master  File: DnDTree.java View source code
@Override
public void dragGestureRecognized(@Nonnull final DragGestureEvent dragGestureEvent) {
    final JTree tree = (JTree) dragGestureEvent.getComponent();
    final TreePath path = tree.getSelectionPath();
    if (path != null) {
        final Object selection = path.getLastPathComponent();
        if (selection instanceof NodeFileOrFolder) {
            FileTransferable node = new FileTransferable(Arrays.asList(((NodeFileOrFolder) selection).makeFileForNode()));
            dragGestureEvent.startDrag(DragSource.DefaultCopyDrop, node, this);
        }
    }
}
Example 60
Project: OsmUi-master  File: EditorPalette.java View source code
/**
	 * 
	 * @param name
	 * @param icon
	 * @param cell
	 */
public void addTemplate(final String name, ImageIcon icon, mxCell cell) {
    mxRectangle bounds = (mxGeometry) cell.getGeometry().clone();
    final mxGraphTransferable t = new mxGraphTransferable(new Object[] { cell }, bounds);
    // Scales the image if it's too large for the library
    if (icon != null) {
        if (icon.getIconWidth() > 32 || icon.getIconHeight() > 32) {
            icon = new ImageIcon(icon.getImage().getScaledInstance(32, 32, 0));
        }
    }
    final JLabel entry = new JLabel(icon);
    entry.setPreferredSize(new Dimension(50, 50));
    entry.setBackground(EditorPalette.this.getBackground().brighter());
    entry.setFont(new Font(entry.getFont().getFamily(), 0, 10));
    entry.setVerticalTextPosition(JLabel.BOTTOM);
    entry.setHorizontalTextPosition(JLabel.CENTER);
    entry.setIconTextGap(0);
    entry.setToolTipText(name);
    entry.setText(name);
    entry.addMouseListener(new MouseListener() {

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
			 */
        public void mousePressed(MouseEvent e) {
            setSelectionEntry(entry, t);
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
			 */
        public void mouseClicked(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
			 */
        public void mouseEntered(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
			 */
        public void mouseExited(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
			 */
        public void mouseReleased(MouseEvent e) {
        }
    });
    // Install the handler for dragging nodes into a graph
    DragGestureListener dragGestureListener = new DragGestureListener() {

        /**
			 * 
			 */
        public void dragGestureRecognized(DragGestureEvent e) {
            e.startDrag(null, mxConstants.EMPTY_IMAGE, new Point(), t, null);
        }
    };
    DragSource dragSource = new DragSource();
    dragSource.createDefaultDragGestureRecognizer(entry, DnDConstants.ACTION_COPY, dragGestureListener);
    add(entry);
}
Example 61
Project: Puzzledice-master  File: EditorPalette.java View source code
/**
	 * 
	 * @param name
	 * @param icon
	 * @param cell
	 */
public void addTemplate(final String name, ImageIcon icon, mxCell cell) {
    mxRectangle bounds = (mxGeometry) cell.getGeometry().clone();
    final mxGraphTransferable t = new mxGraphTransferable(new Object[] { cell }, bounds);
    // Scales the image if it's too large for the library
    if (icon != null) {
        if (icon.getIconWidth() > 32 || icon.getIconHeight() > 32) {
            icon = new ImageIcon(icon.getImage().getScaledInstance(32, 32, 0));
        }
    }
    final JLabel entry = new JLabel(icon);
    entry.setPreferredSize(new Dimension(50, 50));
    entry.setBackground(EditorPalette.this.getBackground().brighter());
    entry.setFont(new Font(entry.getFont().getFamily(), 0, 10));
    entry.setVerticalTextPosition(JLabel.BOTTOM);
    entry.setHorizontalTextPosition(JLabel.CENTER);
    entry.setIconTextGap(0);
    entry.setToolTipText(name);
    entry.setText(name);
    entry.addMouseListener(new MouseListener() {

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
			 */
        public void mousePressed(MouseEvent e) {
            setSelectionEntry(entry, t);
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
			 */
        public void mouseClicked(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
			 */
        public void mouseEntered(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
			 */
        public void mouseExited(MouseEvent e) {
        }

        /*
			 * (non-Javadoc)
			 * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
			 */
        public void mouseReleased(MouseEvent e) {
        }
    });
    // Install the handler for dragging nodes into a graph
    DragGestureListener dragGestureListener = new DragGestureListener() {

        /**
			 * 
			 */
        public void dragGestureRecognized(DragGestureEvent e) {
            e.startDrag(null, mxSwingConstants.EMPTY_IMAGE, new Point(), t, null);
        }
    };
    DragSource dragSource = new DragSource();
    dragSource.createDefaultDragGestureRecognizer(entry, DnDConstants.ACTION_COPY, dragGestureListener);
    add(entry);
}
Example 62
Project: rhythos-master  File: DragList.java View source code
public void dragEnter(DragSourceDragEvent dsde) {
    try {
        DragSourceContext c = dsde.getDragSourceContext();
        if (((ObjectTransferable) c.getTransferable().getTransferData(flavor)).list == list) {
            c.setCursor((dsde.getDropAction() == DnDConstants.ACTION_COPY) ? DragSource.DefaultCopyDrop : DragSource.DefaultMoveDrop);
        } else
            c.setCursor(DragSource.DefaultMoveNoDrop);
    } catch (Exception e) {
    }
}
Example 63
Project: Scute-master  File: DragRecognitionSupport.java View source code
/**
     * Returns whether or not the event is potentially part of a drag sequence.
     */
private boolean mousePressedImpl(MouseEvent me) {
    component = (JComponent) me.getSource();
    if (mapDragOperationFromModifiers(me, component.getTransferHandler()) != TransferHandler.NONE) {
        motionThreshold = DragSource.getDragThreshold();
        dndArmedEvent = me;
        return true;
    }
    clearState();
    return false;
}
Example 64
Project: SikuliX-2014-master  File: DragRecognitionSupport.java View source code
/**
     * Returns whether or not the event is potentially part of a drag sequence.
     */
private boolean mousePressedImpl(MouseEvent me) {
    component = (JComponent) me.getSource();
    if (mapDragOperationFromModifiers(me, component.getTransferHandler()) != TransferHandler.NONE) {
        motionThreshold = DragSource.getDragThreshold();
        dndArmedEvent = me;
        return true;
    }
    clearState();
    return false;
}
Example 65
Project: sockso-master  File: MusicTree.java View source code
/**
     *  a drag gesture has been made, need to initiate the drag
     * 
     *  @param evt the drag event
     * 
     */
public void dragGestureRecognized(DragGestureEvent evt) {
    try {
        final MusicTreeNode node = (MusicTreeNode) getSelectionPath().getLastPathComponent();
        dragSource.startDrag(evt, DragSource.DefaultMoveDrop, (MusicItem) node.getUserObject(), this);
    } catch (final ClassCastException e) {
        log.error("Error starting drag: " + e.getMessage());
    }
}
Example 66
Project: swingx-master  File: DragRecognitionSupport.java View source code
/**
     * Returns whether or not the event is potentially part of a drag sequence.
     */
private boolean mousePressedImpl(MouseEvent me) {
    component = (JComponent) me.getSource();
    if (mapDragOperationFromModifiers(me, component.getTransferHandler()) != TransferHandler.NONE) {
        motionThreshold = DragSource.getDragThreshold();
        dndArmedEvent = me;
        return true;
    }
    clearState();
    return false;
}
Example 67
Project: tizzit-master  File: DnDTree.java View source code
public void dragGestureRecognized(DragGestureEvent dragGestureEvent) {
    // Can only drag leafs
    JTree tree = (JTree) dragGestureEvent.getComponent();
    TreePath path = tree.getSelectionPath();
    if (path != null) {
        TreeNode selection = (TreeNode) tree.getLastSelectedPathComponent();
        PageNode entry = (PageNode) tree.getLastSelectedPathComponent();
        Integer viewComponentId = entry.getViewComponent().getViewComponentId();
        if (viewComponentId != null) {
            TransferableDataNode node = new TransferableDataNode(viewComponentId);
            dragGestureEvent.startDrag(DragSource.DefaultCopyDrop, node, new MyDragSourceListener());
        }
    }
}
Example 68
Project: TrakEM2-master  File: AbstractTreeTransferHandler.java View source code
public final void dragEnter(DragSourceDragEvent dsde) {
    int action = dsde.getDropAction();
    if (action == DnDConstants.ACTION_COPY) {
        dsde.getDragSourceContext().setCursor(DragSource.DefaultCopyDrop);
    } else {
        if (action == DnDConstants.ACTION_MOVE) {
            dsde.getDragSourceContext().setCursor(DragSource.DefaultMoveDrop);
        } else {
            dsde.getDragSourceContext().setCursor(DragSource.DefaultMoveNoDrop);
        }
    }
}
Example 69
Project: Amber-IDE-master  File: UIUtil.java View source code
public static void makeDnD(final JTable table) {
    table.setTransferHandler(new TransferHandler() {

        private final DataFlavor localObjectFlavor = new ActivationDataFlavor(Integer.class, DataFlavor.javaJVMLocalObjectMimeType, "DnD_table");

        @Override
        protected Transferable createTransferable(JComponent c) {
            return new DataHandler(new Integer(table.getSelectedRow()), localObjectFlavor.getMimeType());
        }

        @Override
        public boolean canImport(TransferHandler.TransferSupport info) {
            boolean b = info.getComponent() == table && info.isDrop() && info.isDataFlavorSupported(localObjectFlavor);
            table.setCursor(b ? DragSource.DefaultMoveDrop : DragSource.DefaultMoveNoDrop);
            return b;
        }

        @Override
        public int getSourceActions(JComponent c) {
            return TransferHandler.COPY_OR_MOVE;
        }

        @Override
        public boolean importData(TransferHandler.TransferSupport info) {
            JTable target = (JTable) info.getComponent();
            JTable.DropLocation dl = (JTable.DropLocation) info.getDropLocation();
            int index = dl.getRow();
            int max = table.getModel().getRowCount();
            if (index < 0 || index > max) {
                index = max;
            }
            target.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
            try {
                Integer rowFrom = (Integer) info.getTransferable().getTransferData(localObjectFlavor);
                if (rowFrom != -1 && rowFrom != index) {
                    DefaultTableModel model = (DefaultTableModel) table.getModel();
                    Object o = model.getDataVector().get(rowFrom);
                    model.removeRow(rowFrom);
                    if (index > rowFrom) {
                        index--;
                    }
                    model.getDataVector().add(index, o);
                    target.getSelectionModel().addSelectionInterval(index, index);
                    return true;
                }
            } catch (Exception e) {
                Thread.getDefaultUncaughtExceptionHandler().uncaughtException(Thread.currentThread(), e);
            }
            return false;
        }

        @Override
        protected void exportDone(JComponent c, Transferable t, int act) {
            if (act == TransferHandler.MOVE) {
                table.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
            }
        }
    });
}
Example 70
Project: binnavi-master  File: AbstractTreeTransferHandler.java View source code
/* Methods for DropTargetListener */
@Override
public final void dragEnter(final DragSourceDragEvent dsde) {
    final int action = dsde.getDropAction();
    if (action == DnDConstants.ACTION_COPY) {
        dsde.getDragSourceContext().setCursor(DragSource.DefaultCopyDrop);
    } else {
        if (action == DnDConstants.ACTION_MOVE) {
            dsde.getDragSourceContext().setCursor(DragSource.DefaultMoveDrop);
        } else {
            dsde.getDragSourceContext().setCursor(DragSource.DefaultMoveNoDrop);
        }
    }
}
Example 71
Project: geotools-2.7.x-master  File: DnDList.java View source code
/**
     * Called by the system when a drag gesture starts
     */
public void dragGestureRecognized(DragGestureEvent dge) {
    dragIndices = getSelectedIndices();
    if (dragIndices.length > 0) {
        List<T> items = getModel().getElementsAt(dragIndices);
        Transferable stuff = new DnDListItemsTransferable<T>(items);
        movingItems = true;
        src.startDrag(dge, DragSource.DefaultMoveDrop, stuff, this);
    }
}
Example 72
Project: geotools-master  File: DnDList.java View source code
/**
     * Called by the system when a drag gesture starts
     */
@Override
public void dragGestureRecognized(DragGestureEvent dge) {
    dragIndices = getSelectedIndices();
    if (dragIndices.length > 0) {
        List<T> items = getModel().getElementsAt(dragIndices);
        Transferable stuff = new DnDListItemsTransferable<T>(items);
        movingItems = true;
        src.startDrag(dge, DragSource.DefaultMoveDrop, stuff, this);
    }
}
Example 73
Project: geotools-old-master  File: DnDList.java View source code
/**
     * Called by the system when a drag gesture starts
     */
public void dragGestureRecognized(DragGestureEvent dge) {
    dragIndices = getSelectedIndices();
    if (dragIndices.length > 0) {
        List<T> items = getModel().getElementsAt(dragIndices);
        Transferable stuff = new DnDListItemsTransferable<T>(items);
        movingItems = true;
        src.startDrag(dge, DragSource.DefaultMoveDrop, stuff, this);
    }
}
Example 74
Project: geotools-tike-master  File: DnDList.java View source code
/**
     * Called by the system when a drag gesture starts
     */
public void dragGestureRecognized(DragGestureEvent dge) {
    dragIndices = getSelectedIndices();
    if (dragIndices.length > 0) {
        List<T> items = getModel().getElementsAt(dragIndices);
        Transferable stuff = new DnDListItemsTransferable<T>(items);
        movingItems = true;
        src.startDrag(dge, DragSource.DefaultMoveDrop, stuff, this);
    }
}
Example 75
Project: geotools_trunk-master  File: DnDList.java View source code
/**
     * Called by the system when a drag gesture starts
     */
@Override
public void dragGestureRecognized(DragGestureEvent dge) {
    dragIndices = getSelectedIndices();
    if (dragIndices.length > 0) {
        List<T> items = getModel().getElementsAt(dragIndices);
        Transferable stuff = new DnDListItemsTransferable<T>(items);
        movingItems = true;
        src.startDrag(dge, DragSource.DefaultMoveDrop, stuff, this);
    }
}
Example 76
Project: jo-widgets-master  File: SwingDragAndDropPractice2.java View source code
private void addDragSource(final ITree joTree) {
    final JTree tree = (JTree) ((JScrollPane) joTree.getUiReference()).getViewport().getComponent(0);
    final DragSource ds = new DragSource();
    final DragGestureListener dragGestureListener = new DragGestureListener() {

        @Override
        public void dragGestureRecognized(final DragGestureEvent dge) {
            final Point dragOrigin = dge.getDragOrigin();
            System.out.println("COMPONENT: " + dge.getComponent());
            System.out.println("ORIGIN: " + dragOrigin);
            System.out.println("SOURCE: " + dge.getSource());
            final ITreeNode treeNode = joTree.getNodeAt(new Position(dragOrigin.x, dragOrigin.y));
            if (treeNode != null) {
                final StringSelection transfer = new StringSelection(treeNode.getText());
                final DragSourceListener dragSourceListener = new DragSourceListener() {

                    @Override
                    public void dropActionChanged(final DragSourceDragEvent dsde) {
                        System.out.println("DROP ACTION CHANGED: " + dsde);
                    }

                    @Override
                    public void dragOver(final DragSourceDragEvent dsde) {
                    //System.out.println("DRAG OVER: " + dsde);
                    }

                    @Override
                    public void dragExit(final DragSourceEvent dse) {
                        System.out.println("DRAG EXIT: " + dse);
                    }

                    @Override
                    public void dragEnter(final DragSourceDragEvent dsde) {
                        System.out.println("DRAG ENTER: " + dsde);
                    }

                    @Override
                    public void dragDropEnd(final DragSourceDropEvent dsde) {
                        System.out.println("DRAG DROP END: " + dsde.getDropSuccess());
                    }
                };
                dge.startDrag(null, transfer, dragSourceListener);
            }
        }
    };
    @SuppressWarnings("unused") final DragGestureRecognizer dragGestureRecognizer = ds.createDefaultDragGestureRecognizer(tree, DnDConstants.ACTION_COPY_OR_MOVE, dragGestureListener);
}
Example 77
Project: josm-contourmerge-plugin-master  File: ContourMergeMode.java View source code
@Override
public void mouseMoved(MouseEvent e) {
    if (!ContourMergePlugin.isEnabled())
        return;
    getActiveModel().ifPresent( model -> {
        if (e.getButton() != MouseEvent.NOBUTTON)
            return;
        List<Node> candidates = getMapView().getNearestNodes(e.getPoint(), OsmPrimitive::isSelectable);
        showHelpText("");
        if (candidates.isEmpty()) {
            model.setFeedbackNode(null);
            WaySegment ws = getMapView().getNearestWaySegment(e.getPoint(), OsmPrimitive::isSelectable);
            if (ws == null) {
                getMapView().setCursor(Cursor.getDefaultCursor());
                model.setDragStartFeedbackWaySegment(null);
            } else {
                showHelpText(tr("Drag/drop: drag the way segment an drop " + "it on a target segment"));
                getMapView().setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
                model.setDragStartFeedbackWaySegment(ws);
            }
        } else {
            if (model.isSelected(candidates.get(0))) {
                showHelpText(tr("Left-Click: deselect node"));
                getMapView().setCursor(ImageProvider.getCursor("normal", "deselect_node"));
            } else {
                if (OsmPrimitive.getFilteredList(candidates.get(0).getReferrers(), Way.class).isEmpty()) {
                    showHelpText(tr("Can''t select an isolated node"));
                    getMapView().setCursor(DragSource.DefaultMoveNoDrop);
                } else {
                    showHelpText(tr("Left-Click: select node"));
                    getMapView().setCursor(ImageProvider.getCursor("normal", "select_node"));
                }
            }
            model.setFeedbackNode(candidates.get(0));
        }
        Main.map.mapView.repaint();
    });
}
Example 78
Project: logisim-evolution-master  File: JTreeUtil.java View source code
public final void dragEnter(DragSourceDragEvent dsde) {
    int action = dsde.getDropAction();
    if (action == DnDConstants.ACTION_COPY) {
        dsde.getDragSourceContext().setCursor(DragSource.DefaultCopyDrop);
    } else {
        if (action == DnDConstants.ACTION_MOVE) {
            dsde.getDragSourceContext().setCursor(DragSource.DefaultMoveDrop);
        } else {
            dsde.getDragSourceContext().setCursor(DragSource.DefaultMoveNoDrop);
        }
    }
}
Example 79
Project: MartScript-master  File: DraggableJTree.java View source code
private void updateCursor(final DragSourceDragEvent dsde) {
    final int action = dsde.getDropAction();
    if (action == DnDConstants.ACTION_COPY)
        dsde.getDragSourceContext().setCursor(DragSource.DefaultCopyDrop);
    else if (action == DnDConstants.ACTION_MOVE)
        dsde.getDragSourceContext().setCursor(DragSource.DefaultMoveDrop);
    else
        dsde.getDragSourceContext().setCursor(DragSource.DefaultMoveNoDrop);
}
Example 80
Project: MPS-master  File: ProjectPaneTree.java View source code
@Override
public void dragGestureRecognized(final DragGestureEvent dge) {
    if ((dge.getDragAction() & DnDConstants.ACTION_COPY_OR_MOVE) == 0) {
        return;
    }
    ProjectView projectView = ProjectView.getInstance(myProjectPane.getProject());
    if (projectView == null) {
        return;
    }
    final AbstractProjectViewPane currentPane = projectView.getCurrentProjectViewPane();
    if (!(currentPane instanceof BaseLogicalViewProjectPane)) {
        return;
    }
    final List<Pair<SNodeReference, String>> result = new ArrayList<>();
    getProject().getModelAccess().runReadAction(new Runnable() {

        @Override
        public void run() {
            for (SNode node : myProjectPane.getSelectedSNodes()) {
                result.add(new Pair<>(new jetbrains.mps.smodel.SNodePointer(node), ""));
            }
            SModel contextDescriptor = myProjectPane.getContextModel();
            if (contextDescriptor != null) {
                for (PackageNode treeNode : myProjectPane.getSelectedTreeNodes(PackageNode.class)) {
                    String searchedPack = treeNode.getFullPackage();
                    if (treeNode.getChildCount() == 0 || searchedPack == null) {
                        continue;
                    }
                    for (final SNode node : contextDescriptor.getRootNodes()) {
                        String nodePack = SNodeAccessUtil.getProperty(node, SNodeUtil.property_BaseConcept_virtualPackage);
                        if (nodePack == null) {
                            continue;
                        }
                        if (!nodePack.startsWith(searchedPack)) {
                            continue;
                        }
                        StringBuilder basePack = new StringBuilder();
                        String firstPart = treeNode.getPackage();
                        String secondPart = "";
                        if (nodePack.startsWith(searchedPack + ".")) {
                            secondPart = nodePack.replaceFirst(searchedPack + ".", "");
                        }
                        basePack.append(firstPart);
                        if (!firstPart.isEmpty() && !secondPart.isEmpty()) {
                            basePack.append(".");
                        }
                        basePack.append(secondPart);
                        result.add(new Pair<>(new jetbrains.mps.smodel.SNodePointer(node), basePack.toString()));
                    }
                }
            }
        }
    });
    if (result.isEmpty()) {
        return;
    }
    try {
        dge.startDrag(DragSource.DefaultMoveNoDrop, new MyTransferable(result), new MyDragSourceListener());
    } catch (InvalidDnDOperationException ignored) {
    }
}
Example 81
Project: nextreports-designer-master  File: DBTableInternalFrame.java View source code
private void customizeTable() {
    columnsListBox.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    columnsListBox.setSelectionModel(new DefaultListSelectionModel() {

        public void setSelectionInterval(int index0, int index1) {
            if (!gestureStarted) {
                super.setSelectionInterval(index0, index1);
            }
        }
    });
    DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(columnsListBox, DnDConstants.ACTION_MOVE, new TableDragGestureListener());
    columnsListBox.setDropTarget(new DropTarget(columnsListBox, DnDConstants.ACTION_MOVE, new TableDropTargetListener()));
}
Example 82
Project: nmedit-master  File: FileExplorerTreeUI.java View source code
public void installUI(JComponent c) {
    super.installUI(c);
    DND dnd = new DND();
    dnd.dragSource = DragSource.getDefaultDragSource();
    DragGestureRecognizer dgr = dnd.dragSource.createDefaultDragGestureRecognizer(tree, DnDConstants.ACTION_COPY_OR_MOVE, dnd);
    dnd.dropTarget = new DropTarget(tree, DnDConstants.ACTION_COPY_OR_MOVE | DnDConstants.ACTION_LINK, dnd);
}
Example 83
Project: open-mika-master  File: TestConstants.java View source code
private void VulHetSchermMetConstanten() {
    try {
        /*    tekstScherm.append("DnDConstants.ACTION_NONE = "+DnDConstants.ACTION_NONE+'\n');
    tekstScherm.append("DnDConstants.ACTION_COPY = "+DnDConstants.ACTION_COPY+'\n');
    tekstScherm.append("DnDConstants.ACTION_MOVE = "+DnDConstants.ACTION_MOVE+'\n');
    tekstScherm.append("DnDConstants.ACTION_COPY_OR_MOVE = "+DnDConstants.ACTION_COPY_OR_MOVE+'\n');
    tekstScherm.append("DnDConstants.ACTION_LINK = "+DnDConstants.ACTION_LINK+'\n');
    tekstScherm.append("DnDConstants.ACTION_REFERENCE = "+DnDConstants.ACTION_REFERENCE+'\n');
    tekstScherm.append("DragSource.DefaultCopyDrop.toString() = "+(DragSource.DefaultCopyDrop).toString()+'\n');
    tekstScherm.append("DragSource.DefaultMoveDrop.getName() = "+(DragSource.DefaultMoveDrop).getName()+'\n');
    tekstScherm.append("DragSource.DefaultLinkDrop = "+(DragSource.DefaultLinkDrop)+'\n');
    tekstScherm.append("DragSource.DefaultCopyNoDrop = "+(DragSource.DefaultCopyNoDrop)+'\n');
    tekstScherm.append("DragSource.DefaultMoveNoDrop = "+(DragSource.DefaultMoveNoDrop)+'\n');
    tekstScherm.append("DragSource.DefaultLinkNoDrop = "+(DragSource.DefaultLinkNoDrop)+'\n');
    for(int i=0; i<14; i++){
      tekstScherm.append("new Cursor("+i+") = "+(new Cursor(i))+'\n');
      System.out.println("new Cursor("+i+") = "+(new Cursor(i)));
    }

*/
        tekstScherm.append('\n' + "DragSource uitkammen" + '\n');
        DragSource dragSource = new DragSource();
        tekstScherm.append("dragSource.isDragImageSupported() = " + DragSource.isDragImageSupported() + '\n');
        tekstScherm.append("dragSource.getFlavorMap() = " + dragSource.getFlavorMap() + '\n');
        dragSource = DragSource.getDefaultDragSource();
        tekstScherm.append("dragSource = DragSource.getDefaultDragSource()" + DragSource.getDefaultDragSource() + '\n');
        tekstScherm.append("dragSource.isDragImageSupported() = " + DragSource.isDragImageSupported() + '\n');
        tekstScherm.append("dragSource.getFlavorMap() = " + dragSource.getFlavorMap() + '\n');
        tekstScherm.append("DragSourceContext2.getDefault() = " + DragSourceContext2.getDefault() + '\n');
        tekstScherm.append("DragSourceContext2.getEnter() = " + DragSourceContext2.getEnter() + '\n');
        tekstScherm.append("DragSourceContext2.getOver() = " + DragSourceContext2.getOver() + '\n');
        tekstScherm.append("DragSourceContext2.getChanged() = " + DragSourceContext2.getChanged() + '\n' + '\n');
        tekstScherm.append('\n' + "DragGestureRecognizer uitkammen" + '\n');
        Button button = new Button("button");
        button.addActionListener(new AcListener());
        DragGestureRecognizer dgr;
        DGL dgl = new DGL();
        try {
            dgr = dragSource.createDragGestureRecognizer(DragGestureRecognizer.class, button, 3, dgl);
            if (dgr != null) {
                tekstScherm.append("dgr.getClass() = " + dgr.getClass() + '\n');
                tekstScherm.append("dgr.getComponent() =" + dgr.getComponent() + '\n');
                tekstScherm.append("dgr.getDragSource() =" + dgr.getDragSource() + '\n');
                tekstScherm.append("dgr.getSourceActions() =" + dgr.getSourceActions() + '\n');
                tekstScherm.append("dgr.getTriggerEvent() =" + dgr.getTriggerEvent() + '\n');
                tekstScherm.append("aanmaken ArrayList aList" + '\n');
                java.util.ArrayList aList = new ArrayList();
                MouseEvent mouseEvent = new MouseEvent(dgr.getComponent(), MouseEvent.MOUSE_CLICKED, 15, MouseEvent.CTRL_MASK, 15, 15, 0, false);
                aList.add(mouseEvent);
                //        aList.add(dgr.getTriggerEvent());
                tekstScherm.append("aanmaken DragGestureEvent dge" + '\n');
                DragGestureEvent dge = new DragGestureEvent(dgr, 2, new Point(20, 5), aList);
                tekstScherm.append("aanmaken DragSourceListener2 dsl" + '\n');
                DragSourceListener2 dsl = new DragSourceListener2();
                tekstScherm.append("bij dgl dragGestureRecognized oproepen" + '\n');
                dgl.dragGestureRecognized(dge);
                tekstScherm.append("dragSource.startDrag(...)" + '\n');
                dragSource.startDrag(dge, DragSource.DefaultCopyDrop, new StringSelection("voorbeeldje"), dsl);
            } else
                tekstScherm.append("dgr is null");
        } catch (NullPointerException npe) {
            tekstScherm.append("NullPointerException bij dgr: " + npe.getMessage() + '\n');
        } catch (IllegalArgumentException iae) {
            tekstScherm.append("IllegalArgumentException bij dgr: " + iae.getMessage() + '\n');
        } catch (InvalidDnDOperationException idndoe) {
            tekstScherm.append("InvalidDnDOperationException bij dgr: " + idndoe.getMessage() + '\n');
        } catch (Exception e) {
            tekstScherm.append("Exception bij dgr: " + e.getMessage() + '\n');
        }
        tekstScherm.append('\n' + "DropTarget uitkammen" + '\n');
        DropTarget droptarget = new DropTarget();
        tekstScherm.append("droptarget.getComponent() = " + droptarget.getComponent() + '\n');
        tekstScherm.append("droptarget.getDefaultActions() = " + droptarget.getDefaultActions() + '\n');
        tekstScherm.append("droptarget.isActive() = " + droptarget.isActive() + '\n');
        tekstScherm.append("droptarget.getFlavorMap() = " + droptarget.getFlavorMap() + '\n');
        tekstScherm.append("droptarget.getFlavorMap().encodeDataFlavor(DataFlavor.stringFlavor) = " + SystemFlavorMap.encodeDataFlavor(DataFlavor.stringFlavor) + '\n');
        tekstScherm.append("droptarget.getDropTargetContext() = " + droptarget.getDropTargetContext() + '\n');
        tekstScherm.append("droptarget.addDropTargetListener(new DTL) = " + '\n');
        try {
            droptarget.addDropTargetListener(new DTL());
            tekstScherm.append("addDropTargetListener gelukt, dus er was geen listener aanwezig" + '\n');
        } catch (TooManyListenersException tmle) {
            tekstScherm.append("addDropTargetListener mislukt, dus een listener aanwezig: " + tmle.getMessage() + '\n');
        }
        tekstScherm.append("droptarget.addDropTargetListener(new DTL) = " + '\n');
        try {
            droptarget.addDropTargetListener(new DTL());
            tekstScherm.append("addDropTargetListener gelukt, dus er was geen listener aanwezig" + '\n');
        } catch (TooManyListenersException tmle) {
            tekstScherm.append("addDropTargetListener mislukt, dus een listener aanwezig: " + tmle.getMessage() + '\n');
        }
        DropTargetContext dtc = droptarget.getDropTargetContext();
        tekstScherm.append("dtc.getDropTarget() = " + dtc.getDropTarget() + '\n');
        tekstScherm.append("dtc.getComponent() = " + dtc.getComponent() + '\n' + '\n' + '\n');
        DropTargetDragEvent dtde = new DropTargetDragEvent(dtc, new Point(10, 10), 2, 3);
        DropTargetDropEvent dtdrope = new DropTargetDropEvent(dtc, new Point(15, 15), 2, 3);
        DropTargetEvent dte = new DropTargetEvent(dtc);
        tekstScherm.append("droptarget.dragEnter(dtde) = " + '\n');
        droptarget.dragEnter(dtde);
        tekstScherm.append("droptarget.dragOver(dtde) = " + '\n');
        droptarget.dragOver(dtde);
        tekstScherm.append("droptarget.dropActionChanged(dtde) = " + '\n');
        droptarget.dropActionChanged(dtde);
        tekstScherm.append("droptarget.dragExit(dte) = " + '\n');
        droptarget.dragExit(dte);
        tekstScherm.append("droptarget.drop(dtdrope) = " + '\n');
        droptarget.drop(dtdrope);
        tekstScherm.append('\n' + "Toolkit uitkammen" + '\n');
        Toolkit toolkit = (new Button()).getToolkit();
        tekstScherm.append("toolkit.getClass() = " + toolkit.getClass() + '\n');
    } catch (Exception e) {
        tekstScherm.append("Exception : " + e.getMessage());
    }
}
Example 84
Project: openmap-master  File: DnDListener.java View source code
/**
     * Called as the hotspot enters a platform dependent drop site.
     * This method is invoked when the following conditions are true:
     * <UL>
     * <LI>The logical cursor's hotspot initially intersects a GUI
     * <code>Component</code>'s visible geometry.
     * <LI>That <code>Component</code> has an active
     * <code>DropTarget</code> associated with it.
     * <LI>The <code>DropTarget</code>'s registered
     * <code>DropTargetListener</code> dragEnter() method is invoked
     * and returns successfully.
     * <LI>The registered <code>DropTargetListener</code> invokes
     * the <code>DropTargetDragEvent</code>'s acceptDrag() method
     * to accept the drag based upon interrogation of the source's
     * potential drop action(s) and available data types (
     * <code>DataFlavor</code> s).
     * </UL>
     * <P>
     * 
     * @param dsde the <code>DragSourceDragEvent</code>
     */
public void dragEnter(DragSourceDragEvent dsde) {
    int action = dsde.getDropAction();
    Debug.message("dndlistener", "dragEnter (source)");
    Debug.message("dndlistener", "action=" + action);
    if (action == default_action) {
        dsde.getDragSourceContext().setCursor(getCursor(DragSource.DefaultMoveDrop));
    } else {
        dsde.getDragSourceContext().setCursor(getCursor(DragSource.DefaultMoveNoDrop));
    }
}
Example 85
Project: tabletoptool-master  File: ImagePanel.java View source code
// DRAG GESTURE LISTENER
@Override
public void dragGestureRecognized(DragGestureEvent dge) {
    if (model == null || !isDraggingEnabled) {
        return;
    }
    int index = getImageIndexAt(dge.getDragOrigin().x, dge.getDragOrigin().y);
    if (index < 0) {
        return;
    }
    Transferable transferable = model.getTransferable(index);
    if (transferable == null) {
        return;
    }
    //dge.startDrag(Toolkit.getDefaultToolkit().createCustomCursor(model.getImage(index), new Point(0, 0), "Thumbnail"), transferable, this);
    dge.startDrag(getDragCursor(), transferable, this);
    DragSource.getDefaultDragSource().addDragSourceMotionListener(this);
}
Example 86
Project: windowtester-master  File: TreeDnD.java View source code
public void dragGestureRecognized(DragGestureEvent dragGestureEvent) {
    // Can only drag leafs
    JTree tree = (JTree) dragGestureEvent.getComponent();
    TreePath path = tree.getSelectionPath();
    if (path == null) {
        // Nothing selected, nothing to drag
        System.out.println("Nothing selected - beep");
        tree.getToolkit().beep();
    } else {
        DefaultMutableTreeNode selection = (DefaultMutableTreeNode) path.getLastPathComponent();
        if (selection.isLeaf()) {
            TransferableTreeNode node = new TransferableTreeNode(selection);
            dragGestureEvent.startDrag(DragSource.DefaultCopyDrop, node, new MyDragSourceListener());
        } else {
            System.out.println("Not a leaf - beep");
            tree.getToolkit().beep();
        }
    }
}
Example 87
Project: ae-awt-master  File: DragGestureEvent.java View source code
/**
     * Deserializes this <code>DragGestureEvent</code>. This method first
     * performs default deserialization for all non-<code>transient</code>
     * fields. An attempt is then made to deserialize this object's
     * <code>List</code> of gesture events as well. This is first attempted
     * by deserializing the field <code>events</code>, because, in releases
     * prior to 1.4, a non-<code>transient</code> field of this name stored the
     * <code>List</code> of gesture events. If this fails, the next object in
     * the stream is used instead. If the resulting <code>List</code> is
     * <code>null</code>, this object's <code>List</code> of gesture events
     * is set to an empty <code>List</code>.
     *
     * @since 1.4
     */
private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
    ObjectInputStream.GetField f = s.readFields();
    dragSource = (DragSource) f.get("dragSource", null);
    component = (Component) f.get("component", null);
    origin = (Point) f.get("origin", null);
    action = f.get("action", 0);
    // Pre-1.4 support. 'events' was previously non-transient
    try {
        events = (List) f.get("events", null);
    } catch (IllegalArgumentException e) {
        events = (List) s.readObject();
    }
    // Implementation assumes 'events' is never null.
    if (events == null) {
        events = Collections.EMPTY_LIST;
    }
}
Example 88
Project: airavata-master  File: ComponentSelector.java View source code
private void initGUI() {
    this.treeModel = new ComponentTreeModel(new ComponentTreeNode("Components"));
    this.tree = new JTree(this.treeModel);
    // Add a tool tip.
    ToolTipManager.sharedInstance().registerComponent(this.tree);
    DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer() {

        @Override
        public java.awt.Component getTreeCellRendererComponent(JTree t, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean focus) {
            super.getTreeCellRendererComponent(t, value, sel, expanded, leaf, row, focus);
            ComponentTreeNode node = (ComponentTreeNode) value;
            if (node.getComponentReference() == null) {
                setToolTipText(null);
            } else {
                setToolTipText("Drag a component to the composer to add");
            }
            return this;
        }
    };
    // Change icons
    try {
        renderer.setOpenIcon(SwingUtil.createImageIcon("opened.gif"));
        renderer.setClosedIcon(SwingUtil.createImageIcon("closed.gif"));
        renderer.setLeafIcon(SwingUtil.createImageIcon("leaf.gif"));
    } catch (RuntimeException e) {
        logger.warn("Failed to load image icons.  " + "It will use the default icons instead.", e);
    }
    this.tree.setCellRenderer(renderer);
    this.tree.setShowsRootHandles(true);
    this.tree.setEditable(false);
    this.tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
    this.tree.addTreeSelectionListener(new TreeSelectionListener() {

        public void valueChanged(TreeSelectionEvent event) {
            // update.
            if (event.isAddedPath()) {
                TreePath path = event.getPath();
                select(path);
            }
        }
    });
    // Drag and dtop
    DragGestureListener dragGestureListener = new DragGestureListener() {

        public void dragGestureRecognized(DragGestureEvent event) {
            ComponentSelector.this.dragGestureRecognized(event);
        }
    };
    DragSource dragSource = DragSource.getDefaultDragSource();
    dragSource.createDefaultDragGestureRecognizer(this.tree, DnDConstants.ACTION_COPY_OR_MOVE, dragGestureListener);
    this.dragSourceListener = new DragSourceAdapter() {
    };
    // Popup
    this.tree.addMouseListener(new MouseAdapter() {

        @Override
        public void mousePressed(MouseEvent event) {
            if (event.isPopupTrigger()) {
                showPopupIfNecessary(event);
            }
        }
    });
    createNodePopupMenu();
}
Example 89
Project: chartsy-master  File: ChatsyTabbedPane.java View source code
public void enableDragAndDrop() {
    final DragSourceListener dragSourceListener = new DragSourceListener() {

        public void dragDropEnd(DragSourceDropEvent event) {
            dragTabIndex = -1;
        }

        public void dragEnter(DragSourceDragEvent event) {
            event.getDragSourceContext().setCursor(DragSource.DefaultMoveDrop);
        }

        public void dragExit(DragSourceEvent event) {
        }

        public void dragOver(DragSourceDragEvent event) {
        }

        public void dropActionChanged(DragSourceDragEvent event) {
        }
    };
    final Transferable transferable = new Transferable() {

        private final DataFlavor FLAVOR = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType, NAME);

        public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
            return pane;
        }

        public DataFlavor[] getTransferDataFlavors() {
            DataFlavor[] f = new DataFlavor[1];
            f[0] = this.FLAVOR;
            return f;
        }

        public boolean isDataFlavorSupported(DataFlavor flavor) {
            return flavor.getHumanPresentableName().equals(NAME);
        }
    };
    final DragGestureListener dragGestureListener = new DragGestureListener() {

        public void dragGestureRecognized(DragGestureEvent event) {
            dragTabIndex = pane.indexAtLocation(event.getDragOrigin().x, event.getDragOrigin().y);
            try {
                event.startDrag(DragSource.DefaultMoveDrop, transferable, dragSourceListener);
            } catch (Exception ex) {
            }
        }
    };
    final DropTargetListener dropTargetListener = new DropTargetListener() {

        public void dragEnter(DropTargetDragEvent event) {
        }

        public void dragExit(DropTargetEvent event) {
        }

        public void dragOver(DropTargetDragEvent event) {
        }

        public void drop(DropTargetDropEvent event) {
            int dropTabIndex = getTargetTabIndex(event.getLocation());
            moveTab(dragTabIndex, dropTabIndex);
        }

        public void dropActionChanged(DropTargetDragEvent event) {
        }
    };
    DropTarget dropTarget = new DropTarget(pane, DnDConstants.ACTION_COPY_OR_MOVE, dropTargetListener, true);
    DragSource dragSource = new DragSource();
    dragSource.createDefaultDragGestureRecognizer(pane, DnDConstants.ACTION_COPY_OR_MOVE, dragGestureListener);
}
Example 90
Project: Cytoscape_2011-master  File: BasicCytoShapeEntity.java View source code
private void determineCursor(DragSourceDragEvent dsde) {
    DragSourceContext dsc = dsde.getDragSourceContext();
    Point compLoc = getLocationInsideComponent(Cytoscape.getCurrentNetworkView().getComponent(), dsde.getLocation());
    if (compLoc != null) {
        Cursor newCursor = _cursorSetter.computeCursor(Cytoscape.getCurrentNetworkView(), compLoc, dsde);
        if (newCursor == null) {
            newCursor = DragSource.DefaultCopyNoDrop;
        }
        dsc.setCursor(newCursor);
    } else {
        // check if on the drag source. We want to show ok cursor
        // for it:
        // sourceLoc now now in source component coordinates:
        Point paletteLoc = getLocationInsideComponent(dsc.getComponent(), dsde.getLocation());
        if (paletteLoc != null) {
            dsc.setCursor(DragSource.DefaultCopyDrop);
        } else {
            dsc.setCursor(DragSource.DefaultCopyNoDrop);
        }
    }
}
Example 91
Project: eternity2-master  File: QuadView.java View source code
/**
	 * DragGestureListener
	 */
public void dragGestureRecognized(DragGestureEvent dge) {
    try {
        boolean wholeQuad = dge.getTriggerEvent().isShiftDown();
        Transferable transferable;
        if (wholeQuad) {
            transferable = new TransferableQuadModel(model);
        } else {
            Pattern pattern = model.getPattern(computeDirection(dge.getDragOrigin()));
            transferable = new TransferablePattern(pattern);
        }
        dge.startDrag(DragSource.DefaultCopyNoDrop, transferable, this);
    } catch (InvalidDnDOperationException idoe) {
        System.err.println(idoe);
    }
}
Example 92
Project: leafchat-master  File: TreeBoxImp.java View source code
@Override
public void mouseDragged(MouseEvent e) {
    if (dragging == null)
        return;
    highlight = getPositionDetails(e, false);
    if (highlight != null && !sameItem(highlight) && ((DragSingleSelectionHandler) th).canDragTo(dragging.i, highlight.parent, getTargetPos())) {
        t.repaint();
        setCursor(DragSource.DefaultMoveDrop);
    } else {
        highlight = null;
        t.repaint();
        setCursor(DragSource.DefaultMoveNoDrop);
    }
}
Example 93
Project: muCommander-master  File: FileDropTargetListener.java View source code
/**
     * Returns a mouse <code>Cursor<code> that symbolizes the given drop action and 'accepted' status.
     * The given action must one of the following:
     * <ul>
     *  <li>DnDConstants.ACTION_COPY
     *  <li>DnDConstants.ACTION_MOVE
     *  <li>DnDConstants.ACTION_LINK
     * </ul>
     * If the action has any other value, the default Cursor is returned. 
     */
private Cursor getDragActionCursor(int dropAction, boolean dragAccepted) {
    switch(dropAction) {
        case DnDConstants.ACTION_COPY:
            return dragAccepted ? DragSource.DefaultCopyDrop : DragSource.DefaultCopyNoDrop;
        case DnDConstants.ACTION_MOVE:
            return dragAccepted ? DragSource.DefaultMoveDrop : DragSource.DefaultMoveNoDrop;
        case DnDConstants.ACTION_LINK:
            return dragAccepted ? DragSource.DefaultLinkDrop : DragSource.DefaultLinkNoDrop;
        default:
            return Cursor.getDefaultCursor();
    }
}
Example 94
Project: Open-Quark-master  File: JDBCResultSetTableHeader.java View source code
/**
     * Initializes the drag and drop system to allow dragging this component and dropping
     * it to an external entity.
     */
private void initializeDragAndDrop() {
    // in order to support drag and drop, we have to disable reordering because JTable's
    // reordering is implemented using a mouse pressed listener, which conflicts with
    // the standard drag and drop API
    super.setReorderingAllowed(false);
    // initialize the component as a drag source
    if (dragPointHandler != null) {
        // we have to use the COPY_OR_MOVE action because the workspace drop
        // target only recognizes the MOVE command, but the default gesture
        // listener links the Ctrl+Button1 gesture to the COPY command
        DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_COPY_OR_MOVE, new JDBCTableHeaderDragGestureListener());
    }
    if (headerMouseListener == null) {
        headerMouseListener = new JDBCTableHeaderMouseListener();
        addMouseListener(headerMouseListener);
    }
}
Example 95
Project: opgraph-master  File: NodeLibraryViewer.java View source code
private void initializeComponents(NodeLibrary library) {
    setLayout(new BorderLayout());
    this.renderer = new DefaultTreeCellRenderer();
    this.renderer.setOpenIcon(null);
    this.renderer.setLeafIcon(null);
    this.renderer.setClosedIcon(null);
    this.expandedCategories = new HashSet<String>();
    this.libraryTree = new JTree();
    this.infoPane = new JEditorPane();
    this.filterField = new SearchField("Enter Filter Text");
    libraryTree.setRootVisible(false);
    libraryTree.setEditable(false);
    libraryTree.setBackground(Color.WHITE);
    libraryTree.setShowsRootHandles(true);
    libraryTree.setRowHeight(-1);
    libraryTree.setCellRenderer(renderer);
    libraryTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
    libraryTree.addTreeExpansionListener(new TreeExpansionListener() {

        @Override
        public void treeExpanded(TreeExpansionEvent e) {
            if (e.getPath().getPathCount() >= 2) {
                final DefaultMutableTreeNode node = (DefaultMutableTreeNode) e.getPath().getPathComponent(1);
                if (node != null && (node.getUserObject() instanceof String))
                    expandedCategories.add((String) node.getUserObject());
            }
        }

        @Override
        public void treeCollapsed(TreeExpansionEvent e) {
            if (e.getPath().getPathCount() >= 2) {
                final DefaultMutableTreeNode node = (DefaultMutableTreeNode) e.getPath().getPathComponent(1);
                if (node != null && (node.getUserObject() instanceof String))
                    expandedCategories.remove(node.getUserObject());
            }
        }
    });
    libraryTree.addTreeSelectionListener(new TreeSelectionListener() {

        @Override
        public void valueChanged(TreeSelectionEvent e) {
            final DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) e.getPath().getLastPathComponent();
            if (selectedNode != null) {
                final Object selectedObject = selectedNode.getUserObject();
                if (selectedObject != null && selectedObject instanceof NodeData) {
                    final NodeData info = (NodeData) selectedObject;
                    infoPane.setText(getHTMLForNodeInfo(info));
                }
            }
        }
    });
    libraryTree.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {
            if (e.getClickCount() == 2 && libraryTree.getSelectionPath() != null) {
                final DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) libraryTree.getSelectionPath().getLastPathComponent();
                if (selectedNode != null) {
                    final Object selectedObject = selectedNode.getUserObject();
                    if (selectedObject != null && selectedObject instanceof NodeData) {
                        final NodeData info = (NodeData) selectedObject;
                        final GraphDocument document = GraphEditorModel.getActiveDocument();
                        if (document != null) {
                            try {
                                final OpGraph graph = document.getGraph();
                                document.getUndoSupport().postEdit(new AddNodeEdit(graph, info, -1, -1));
                            } catch (InstantiationException exc) {
                                final String message = "Unable to create '" + info.name + "'";
                                LOGGER.severe(message);
                                ErrorDialog.showError(exc, message);
                            }
                        }
                    }
                }
            }
        }
    });
    setLibrary(library);
    // Create the filter field context menu
    final JRadioButtonMenuItem fullTextItem = new JRadioButtonMenuItem("Full Text");
    final JRadioButtonMenuItem nameItem = new JRadioButtonMenuItem("Name");
    final JRadioButtonMenuItem descriptionItem = new JRadioButtonMenuItem("Description");
    final JRadioButtonMenuItem categoryItem = new JRadioButtonMenuItem("Category");
    fullTextItem.setActionCommand("fulltext");
    fullTextItem.addActionListener(updateFilterAction);
    fullTextItem.setSelected(true);
    nameItem.setActionCommand("name");
    nameItem.addActionListener(updateFilterAction);
    descriptionItem.setActionCommand("description");
    descriptionItem.addActionListener(updateFilterAction);
    categoryItem.setActionCommand("category");
    categoryItem.addActionListener(updateFilterAction);
    final ButtonGroup group = new ButtonGroup();
    group.add(fullTextItem);
    group.add(nameItem);
    group.add(descriptionItem);
    group.add(categoryItem);
    final JPopupMenu filterPopup = new JPopupMenu();
    filterPopup.add(fullTextItem);
    filterPopup.addSeparator();
    filterPopup.add(nameItem);
    filterPopup.add(descriptionItem);
    filterPopup.add(categoryItem);
    filterField.setContextPopup(filterPopup);
    // Filter field initialization
    filterField.getDocument().addDocumentListener(new DocumentListener() {

        @Override
        public void removeUpdate(DocumentEvent e) {
            final ActionEvent ae = new ActionEvent(filterField.getDocument(), 0, "filter");
            updateFilterAction.actionPerformed(ae);
        }

        @Override
        public void insertUpdate(DocumentEvent e) {
            final ActionEvent ae = new ActionEvent(filterField.getDocument(), 0, "filter");
            updateFilterAction.actionPerformed(ae);
        }

        @Override
        public void changedUpdate(DocumentEvent e) {
        }
    });
    // Node information pane
    final StyleSheet style = new StyleSheet();
    style.addRule("body { background: white; font: 12pt sans-serif; }");
    style.addRule("h1 { font: bold 16pt; margin: 5px; }");
    style.addRule("p { margin: 5px 10px; }");
    final HTMLEditorKit htmlKit = new HTMLEditorKit();
    htmlKit.setStyleSheet(style);
    infoPane.setEditable(false);
    infoPane.setEditorKit(htmlKit);
    // Drag support for creation of nodes
    DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(libraryTree, DnDConstants.ACTION_COPY, gestureListener);
    // Search field and library tree on the left
    final JPanel searchFieldPanel = new JPanel(new BorderLayout());
    searchFieldPanel.setOpaque(false);
    searchFieldPanel.add(filterField);
    searchFieldPanel.setBorder(new EmptyBorder(5, 2, 5, 2));
    final JScrollPane libraryScrollPane = new JScrollPane(libraryTree);
    libraryScrollPane.setBorder(null);
    final JPanel libraryPanel = new JPanel(new BorderLayout());
    libraryPanel.setBackground(Color.WHITE);
    libraryPanel.add(searchFieldPanel, BorderLayout.NORTH);
    libraryPanel.add(libraryScrollPane, BorderLayout.CENTER);
    // Split pane between tree and description
    final JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
    splitPane.setBorder(null);
    splitPane.setLeftComponent(libraryPanel);
    splitPane.setRightComponent(infoPane);
    splitPane.setDividerSize(3);
    splitPane.setDividerLocation(libraryTree.getPreferredSize().width + 100);
    add(splitPane, BorderLayout.CENTER);
}
Example 96
Project: spark-svn-mirror-master  File: SparkTabbedPane.java View source code
/**
	 * Drag and Drop
	 */
public void enableDragAndDrop() {
    final DragSourceListener dsl = new DragSourceListener() {

        @Override
        public void dragDropEnd(DragSourceDropEvent event) {
            dragTabIndex = -1;
        }

        @Override
        public void dragEnter(DragSourceDragEvent event) {
            event.getDragSourceContext().setCursor(DragSource.DefaultMoveDrop);
        }

        @Override
        public void dragExit(DragSourceEvent event) {
        }

        @Override
        public void dragOver(DragSourceDragEvent event) {
        }

        @Override
        public void dropActionChanged(DragSourceDragEvent event) {
        }
    };
    final Transferable t = new Transferable() {

        private final DataFlavor FLAVOR = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType, NAME);

        @Override
        public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
            return pane;
        }

        @Override
        public DataFlavor[] getTransferDataFlavors() {
            DataFlavor[] f = new DataFlavor[1];
            f[0] = this.FLAVOR;
            return f;
        }

        @Override
        public boolean isDataFlavorSupported(DataFlavor flavor) {
            return flavor.getHumanPresentableName().equals(NAME);
        }
    };
    final DragGestureListener dgl = new DragGestureListener() {

        @Override
        public void dragGestureRecognized(DragGestureEvent event) {
            dragTabIndex = pane.indexAtLocation(event.getDragOrigin().x, event.getDragOrigin().y);
            try {
                event.startDrag(DragSource.DefaultMoveDrop, t, dsl);
            } catch (Exception idoe) {
                Log.error(idoe);
            }
        }
    };
    final DropTargetListener dtl = new DropTargetListener() {

        @Override
        public void dragEnter(DropTargetDragEvent event) {
        }

        @Override
        public void dragExit(DropTargetEvent event) {
        }

        @Override
        public void dragOver(DropTargetDragEvent event) {
        }

        @Override
        public void drop(DropTargetDropEvent event) {
            int dropTabIndex = getTargetTabIndex(event.getLocation());
            moveTab(dragTabIndex, dropTabIndex);
        }

        @Override
        public void dropActionChanged(DropTargetDragEvent event) {
        }
    };
    new DropTarget(pane, DnDConstants.ACTION_COPY_OR_MOVE, dtl, true);
    new DragSource().createDefaultDragGestureRecognizer(pane, DnDConstants.ACTION_COPY_OR_MOVE, dgl);
}
Example 97
Project: vassal-master  File: PieceSlot.java View source code
public void addTo(Buildable parent) {
    panel.setDropTarget(AbstractDragHandler.makeDropTarget(panel, DnDConstants.ACTION_MOVE, null));
    DragGestureListener dragGestureListener = new DragGestureListener() {

        public void dragGestureRecognized(DragGestureEvent dge) {
            startDrag();
            AbstractDragHandler.getTheDragHandler().dragGestureRecognized(dge);
        }
    };
    DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(panel, DnDConstants.ACTION_MOVE, dragGestureListener);
}
Example 98
Project: Weasis-master  File: SeriesThumbnail.java View source code
@Override
public void registerListeners() {
    super.registerListeners();
    // Reactivate tooltip listener
    ToolTipManager.sharedInstance().registerComponent(this);
    if (dragSource != null) {
        dragSource.removeDragSourceListener(this);
        dragSource.removeDragSourceMotionListener(this);
        removeFocusListener(this);
    }
    addFocusListener(this);
    this.setFocusable(true);
    this.addMouseListener(this);
    dragSource = new DragSource();
    dragSource.createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_COPY, this);
    dragSource.addDragSourceMotionListener(this);
}
Example 99
Project: Couverjure-master  File: DragHandler.java View source code
/** Called when a user drag gesture is recognized.  This method is 
     * responsible for initiating the drag operation.
     */
public void dragGestureRecognized(DragGestureEvent e) {
    if ((e.getDragAction() & supportedActions) != 0 && canDrag(e)) {
        setModifiers(e.getTriggerEvent().getModifiersEx() & KEY_MASK);
        Transferable transferable = getTransferable(e);
        if (transferable == null)
            return;
        try {
            Point srcOffset = new Point(0, 0);
            Icon icon = getDragIcon(e, srcOffset);
            Point origin = e.getDragOrigin();
            // offset of the image origin from the cursor
            imageOffset = new Point(srcOffset.x - origin.x, srcOffset.y - origin.y);
            Icon dragIcon = scaleDragIcon(icon, imageOffset);
            Cursor cursor = null;
            if (dragIcon != null && DragSource.isDragImageSupported()) {
                GraphicsConfiguration gc = e.getComponent().getGraphicsConfiguration();
                e.startDrag(cursor, createDragImage(gc, dragIcon), imageOffset, transferable, this);
            } else {
                if (dragIcon != null) {
                    Point screen = dragSource.getLocationOnScreen();
                    screen.translate(origin.x, origin.y);
                    Point cursorOffset = new Point(-imageOffset.x, -imageOffset.y);
                    ghost = new GhostedDragImage(dragSource, dragIcon, getImageLocation(screen), cursorOffset);
                    ghost.setAlpha(ghostAlpha);
                }
                e.startDrag(cursor, transferable, this);
            }
            dragStarted(e);
            moved = false;
            e.getDragSource().addDragSourceMotionListener(this);
            DragHandler.transferable = transferable;
        } catch (InvalidDnDOperationException ex) {
            if (ghost != null) {
                ghost.dispose();
                ghost = null;
            }
        }
    }
}
Example 100
Project: eXist-1.4.x-master  File: TreeMutator.java View source code
//	DragGestureListener method
public void dragGestureRecognized(DragGestureEvent event) {
    Point location = event.getDragOrigin();
    TreePath path = tree.getPathForLocation(location.x, location.y);
    if (path == null)
        return;
    int action = event.getDragAction();
    XACMLTreeNode transferNode = (XACMLTreeNode) path.getLastPathComponent();
    Cursor cursor = (action == DnDConstants.ACTION_MOVE) ? DragSource.DefaultMoveDrop : DragSource.DefaultCopyDrop;
    event.startDrag(cursor, new NodeTransferable(transferNode), this);
}
Example 101
Project: inquisition-master  File: DragAndDropPanel.java View source code
public void dragGestureRecognized(DragGestureEvent event) {
    if (dragsDisabled)
        return;
    // Get a fragment, if there's one there
    String dragText = fragmentPanel.getFragmentAtPoint(event.getDragOrigin());
    if (dragText == null)
        return;
    // Put the fragment text as the transferable
    StringSelection transferable = new StringSelection(dragText);
    // Hide the fragment
    if (!question.canReuseFragments())
        fragmentPanel.hideFragment(dragText);
    // Set up the fragment as the dragged image
    BufferedImage image = fragmentPanel.getFragmentImage(dragText);
    if (image == null)
        return;
    // Activate the transparent pane and set it up with the appropriate dragged image
    Point point = (Point) event.getDragOrigin().clone();
    SwingUtilities.convertPointToScreen(point, fragmentPanel);
    SwingUtilities.convertPointFromScreen(point, transparentPane);
    transparentPane.activate(point, image);
    transparentPane.setVisible(true);
    // Start the drag and set up source responses to dragging
    DragSourceListener dsl = new FragmentBinDragSourceListener(dragText);
    dragSource.startDrag(event, DragSource.DefaultCopyDrop, transferable, dsl);
}