Class mxGraphTransferHandler

  • All Implemented Interfaces:
    java.io.Serializable

    public class mxGraphTransferHandler
    extends javax.swing.TransferHandler
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.TransferHandler

        javax.swing.TransferHandler.DropLocation, javax.swing.TransferHandler.TransferSupport
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.awt.Color DEFAULT_BACKGROUNDCOLOR
      Specifies the background color of the transfer image.
      static boolean DEFAULT_TRANSFER_IMAGE_ENABLED
      Boolean that specifies if an image of the cells should be created for each transferable.
      protected int importCount
      Counter for the last imported cell array.
      protected int initialImportCount
      Sets the value for the initialImportCount.
      protected java.awt.datatransfer.Transferable lastImported
      Reference to the last imported cell array.
      protected java.awt.Point location  
      protected java.awt.Point offset  
      protected java.lang.Object[] originalCells
      Reference to the original cells for removal after a move.
      protected java.awt.Color transferImageBackground
      Specifies the background color for the transfer image.
      protected boolean transferImageEnabled
      Specifies if a transfer image should be created for the transferable.
      • Fields inherited from class javax.swing.TransferHandler

        COPY, COPY_OR_MOVE, LINK, MOVE, NONE
    • Field Detail

      • DEFAULT_TRANSFER_IMAGE_ENABLED

        public static boolean DEFAULT_TRANSFER_IMAGE_ENABLED
        Boolean that specifies if an image of the cells should be created for each transferable. Default is true.
      • DEFAULT_BACKGROUNDCOLOR

        public static java.awt.Color DEFAULT_BACKGROUNDCOLOR
        Specifies the background color of the transfer image. If no color is given here then the background color of the enclosing graph component is used. Default is Color.WHITE.
      • originalCells

        protected java.lang.Object[] originalCells
        Reference to the original cells for removal after a move.
      • lastImported

        protected java.awt.datatransfer.Transferable lastImported
        Reference to the last imported cell array.
      • initialImportCount

        protected int initialImportCount
        Sets the value for the initialImportCount. Default is 1. Updated in exportDone to contain 0 after a cut and 1 after a copy.
      • importCount

        protected int importCount
        Counter for the last imported cell array.
      • transferImageEnabled

        protected boolean transferImageEnabled
        Specifies if a transfer image should be created for the transferable. Default is DEFAULT_TRANSFER_IMAGE.
      • transferImageBackground

        protected java.awt.Color transferImageBackground
        Specifies the background color for the transfer image. Default is DEFAULT_BACKGROUNDCOLOR.
      • location

        protected java.awt.Point location
      • offset

        protected java.awt.Point offset
    • Constructor Detail

      • mxGraphTransferHandler

        public mxGraphTransferHandler()
    • Method Detail

      • getImportCount

        public int getImportCount()
      • setImportCount

        public void setImportCount​(int value)
      • setTransferImageEnabled

        public void setTransferImageEnabled​(boolean transferImageEnabled)
      • isTransferImageEnabled

        public boolean isTransferImageEnabled()
      • setTransferImageBackground

        public void setTransferImageBackground​(java.awt.Color transferImageBackground)
      • getTransferImageBackground

        public java.awt.Color getTransferImageBackground()
      • isLocalDrag

        public boolean isLocalDrag()
        Returns true if the DnD operation started from this handler.
      • setLocation

        public void setLocation​(java.awt.Point value)
      • setOffset

        public void setOffset​(java.awt.Point value)
      • canImport

        public boolean canImport​(javax.swing.JComponent comp,
                                 java.awt.datatransfer.DataFlavor[] flavors)
        Overrides:
        canImport in class javax.swing.TransferHandler
      • createTransferable

        public java.awt.datatransfer.Transferable createTransferable​(javax.swing.JComponent c)
        (non-Javadoc)
        Overrides:
        createTransferable in class javax.swing.TransferHandler
        See Also:
        TransferHandler.createTransferable(javax.swing.JComponent)
      • createTransferableImage

        public javax.swing.ImageIcon createTransferableImage​(mxGraphComponent graphComponent,
                                                             java.lang.Object[] cells)
      • exportDone

        public void exportDone​(javax.swing.JComponent c,
                               java.awt.datatransfer.Transferable data,
                               int action)
        Overrides:
        exportDone in class javax.swing.TransferHandler
      • removeCells

        protected void removeCells​(mxGraphComponent graphComponent,
                                   java.lang.Object[] cells)
      • getSourceActions

        public int getSourceActions​(javax.swing.JComponent c)
        Overrides:
        getSourceActions in class javax.swing.TransferHandler
      • importData

        public boolean importData​(javax.swing.JComponent c,
                                  java.awt.datatransfer.Transferable t)
        Checks if the mxGraphTransferable data flavour is supported and calls importGraphTransferable if possible.
        Overrides:
        importData in class javax.swing.TransferHandler
      • updateImportCount

        protected void updateImportCount​(java.awt.datatransfer.Transferable t)
        Counts the number of times that the given transferable has been imported.
      • importGraphTransferable

        protected boolean importGraphTransferable​(mxGraphComponent graphComponent,
                                                  mxGraphTransferable gt)
        Returns true if the cells have been imported using importCells.
      • getDropTarget

        protected java.lang.Object getDropTarget​(mxGraphComponent graphComponent,
                                                 mxGraphTransferable gt)
        Returns the drop target for the given transferable and location.
      • importCells

        protected java.lang.Object[] importCells​(mxGraphComponent graphComponent,
                                                 mxGraphTransferable gt,
                                                 double dx,
                                                 double dy)
        Gets a drop target using getDropTarget and imports the cells using mxGraph.splitEdge or mxGraphComponent.importCells depending on the drop target and the return values of mxGraph.isSplitEnabled and mxGraph.isSplitTarget. Selects and returns the cells that have been imported.