001: /*
002: * Copyright (C) 2004 Giuseppe MANNA
003: *
004: * This file is part of FreeReportBuilder
005: *
006: * FreeReportBuilder is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU General Public License
008: * as published by the Free Software Foundation; either version 2
009: * of the License, or (at your option) any later version.
010: *
011: * This program is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
014: * GNU General Public License for more details.
015: *
016: * You should have received a copy of the GNU General Public License
017: * along with this program; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
019: *
020: */
021:
022: package it.frb.tree.drag;
023:
024: public interface InterfacciaDragDrop extends java.awt.dnd.Autoscroll {
025:
026: public static final int AUTOSCROLL_MARGIN = 12;
027:
028: public boolean isPossibleExpandedNode(java.awt.event.ActionEvent e);
029:
030: public boolean isDragAcceptable(java.awt.dnd.DropTargetDragEvent e);/*{
031: // Only accept this particular flavor
032: if (!e.isDataFlavorSupported(CTransferableTreePath.TREEPATH_FLAVOR))
033: return false;
034:
035: // Do this if you want to prohibit dropping onto the drag source...
036: Point pt = e.getLocation();
037: TreePath path = tree.getClosestPathForLocation(pt.x, pt.y);
038:
039: return true;
040: }*/
041:
042: public boolean isDropAcceptable(java.awt.dnd.DropTargetDropEvent e);/*{
043: // Only accept COPY or MOVE gestures (ie LINK is not supported)
044: if ((e.getDropAction() & DnDConstants.ACTION_COPY_OR_MOVE) == 0)
045: return false;
046:
047: // Only accept this particular flavor
048: if (!e.isDataFlavorSupported(CTransferableTreePath.TREEPATH_FLAVOR))
049: return false;
050:
051: // Do this if you want to prohibit dropping onto the drag source...
052: Point pt = e.getLocation();
053: TreePath path = tree.getClosestPathForLocation(pt.x, pt.y);
054:
055: return true;
056: }*/
057:
058: public void dragExit(java.awt.dnd.DropTargetEvent e);
059:
060: public void drop(java.awt.dnd.DropTargetDropEvent e,
061: javax.swing.tree.TreePath pathSource,
062: javax.swing.tree.TreePath pathTarget);
063:
064: public void dragOver(java.awt.dnd.DropTargetDragEvent e);
065:
066: public void dragOver(java.awt.dnd.DragSourceDragEvent e);
067:
068: public void dragExit(java.awt.dnd.DragSourceEvent e);
069:
070: public void dragEnter(java.awt.dnd.DragSourceDragEvent e);
071:
072: public void dragDropEnd(java.awt.dnd.DragSourceDropEvent e);/* {
073: if (e.getDropSuccess()){
074: int nAction = e.getDropAction();
075: if (nAction == DnDConstants.ACTION_MOVE){
076: // The dragged item (pathSource) has been inserted at the target selected by the user.
077: // Now it is time to delete it from its original location.
078:
079: pathSource = null;
080: }
081: }
082: }*/
083:
084: public void dropActionChanged(java.awt.dnd.DragSourceDragEvent e);
085:
086: public void autoscroll(java.awt.Point pt);/*{
087:
088: int nRow = tree.getRowForLocation(pt.x, pt.y);
089:
090: if (nRow < 0)
091: return;
092:
093: Rectangle raOuter = tree.getBounds();
094: nRow = (pt.y + raOuter.y <= AUTOSCROLL_MARGIN) // Is row at top of screen?
095: ?
096: (nRow <= 0 ? 0 : nRow - 1) // Yes, scroll up one row
097: :
098: (nRow < tree.getRowCount() - 1 ? nRow + 1 : nRow); // No, scroll down one row
099:
100: tree.scrollRowToVisible(nRow);
101: }*/
102:
103: public java.awt.Insets getAutoscrollInsets();/*{
104: Rectangle raOuter = tree.getBounds();
105: Rectangle raInner = tree.getParent().getBounds();
106: return new Insets(
107: raInner.y - raOuter.y + AUTOSCROLL_MARGIN, raInner.x - raOuter.x + AUTOSCROLL_MARGIN,
108: raOuter.height - raInner.height - raInner.y + raOuter.y + AUTOSCROLL_MARGIN,
109: raOuter.width - raInner.width - raInner.x + raOuter.x + AUTOSCROLL_MARGIN);
110: }*/
111: }
|