Class LayerListTransferHandler

  • All Implemented Interfaces:
    java.io.Serializable

    public class LayerListTransferHandler
    extends javax.swing.TransferHandler
    This class allows the user to transfer layers using drag+drop.

    It supports copy (duplication) of layers, simple moves and linking layers to a new layer manager.

    Since:
    10605
    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
      private static long serialVersionUID  
      • Fields inherited from class javax.swing.TransferHandler

        COPY, COPY_OR_MOVE, LINK, MOVE, NONE
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean canImport​(javax.swing.TransferHandler.TransferSupport support)  
      private static java.util.List<Layer> createCopy​(java.util.List<Layer> layersToUse, java.util.List<Layer> namesToAvoid)  
      protected java.awt.datatransfer.Transferable createTransferable​(javax.swing.JComponent c)  
      private static java.util.List<java.lang.String> getNames​(java.util.List<Layer> namesToAvoid)  
      int getSourceActions​(javax.swing.JComponent c)  
      boolean importData​(javax.swing.TransferHandler.TransferSupport support)  
      private static boolean onlyDataLayersSelected​(LayerListDialog.LayerListModel tableModel)  
      private static java.lang.String suggestNewLayerName​(java.lang.String name, java.util.Collection<java.lang.String> layerNames)  
      static java.lang.String suggestNewLayerName​(java.lang.String name, java.util.List<Layer> namesToAvoid)
      Suggests a new name in the form "copy of name"
      • Methods inherited from class javax.swing.TransferHandler

        canImport, exportAsDrag, exportDone, exportToClipboard, getCopyAction, getCutAction, getDragImage, getDragImageOffset, getPasteAction, getVisualRepresentation, importData, setDragImage, setDragImageOffset
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getSourceActions

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

        protected java.awt.datatransfer.Transferable createTransferable​(javax.swing.JComponent c)
        Overrides:
        createTransferable in class javax.swing.TransferHandler
      • canImport

        public boolean canImport​(javax.swing.TransferHandler.TransferSupport support)
        Overrides:
        canImport in class javax.swing.TransferHandler
      • importData

        public boolean importData​(javax.swing.TransferHandler.TransferSupport support)
        Overrides:
        importData in class javax.swing.TransferHandler
      • createCopy

        private static java.util.List<LayercreateCopy​(java.util.List<Layer> layersToUse,
                                                        java.util.List<Layer> namesToAvoid)
      • suggestNewLayerName

        public static java.lang.String suggestNewLayerName​(java.lang.String name,
                                                           java.util.List<Layer> namesToAvoid)
        Suggests a new name in the form "copy of name"
        Parameters:
        name - The base name
        namesToAvoid - The list of layers to use to avoid duplicate names.
        Returns:
        The new name
      • getNames

        private static java.util.List<java.lang.String> getNames​(java.util.List<Layer> namesToAvoid)
      • suggestNewLayerName

        private static java.lang.String suggestNewLayerName​(java.lang.String name,
                                                            java.util.Collection<java.lang.String> layerNames)