Class DataTreeDragNDropHandler

java.lang.Object
ghidra.framework.main.datatree.DataTreeDragNDropHandler
All Implemented Interfaces:
GTreeDragNDropHandler, GTreeTransferHandler

public class DataTreeDragNDropHandler extends Object implements GTreeDragNDropHandler
  • Field Details

    • localDomainFileTreeFlavor

      public static DataFlavor localDomainFileTreeFlavor
    • localDomainFileFlavor

      public static DataFlavor localDomainFileFlavor
    • allSupportedFlavors

      public static DataFlavor[] allSupportedFlavors
  • Method Details

    • drop

      public void drop(GTreeNode destination, Transferable transferable, int dropAction)
      Description copied from interface: GTreeDragNDropHandler
      Add the given transferable's data to the destination user data.
      Specified by:
      drop in interface GTreeDragNDropHandler
      Parameters:
      destination - destination node for the data.
      transferable - the transferable being dragged whose data will be dropped.
      dropAction - user action for drop operation
    • getSupportedDragActions

      public int getSupportedDragActions()
      Description copied from interface: GTreeDragNDropHandler
      Returns the supported Drag actions for this tree. For available actions see DnDConstants.
      Specified by:
      getSupportedDragActions in interface GTreeDragNDropHandler
      Returns:
      the supported Drag actions.
    • isDropSiteOk

      public boolean isDropSiteOk(GTreeNode destUserData, DataFlavor[] flavors, int dropAction)
      Description copied from interface: GTreeDragNDropHandler
      Return true if the drop site is valid for the given target.
      Specified by:
      isDropSiteOk in interface GTreeDragNDropHandler
      Parameters:
      destUserData - destination for node being dragged
      flavors - flavor(s) being dragged
      dropAction - user action for drop operation
      Returns:
      true if the drop site is valid for the given target
    • isStartDragOk

      public boolean isStartDragOk(List<GTreeNode> dragUserData, int dragAction)
      Description copied from interface: GTreeDragNDropHandler
      Return true if the dragUserData can be dragged.
      Specified by:
      isStartDragOk in interface GTreeDragNDropHandler
      Parameters:
      dragUserData - data where user is initiating the drag operation
      dragAction - user action for the drag operation
      Returns:
      true if the dragUserData can be dragged
    • getSupportedDataFlavors

      public DataFlavor[] getSupportedDataFlavors(List<GTreeNode> transferNodes)
      Description copied from interface: GTreeTransferHandler
      Returns the DataFlavors for the types of data that this transferable supports, based upon the given selection.
      Specified by:
      getSupportedDataFlavors in interface GTreeTransferHandler
      Parameters:
      transferNodes - The nodes to base the DataFlavor selection upon.
      Returns:
      the DataFlavors for the types of data that this transferable supports, based upon the given selection.
    • getTransferData

      public Object getTransferData(List<GTreeNode> transferNodes, DataFlavor flavor) throws UnsupportedFlavorException
      Description copied from interface: GTreeTransferHandler
      Gets the transfer data from the selection based upon the given flavor.
      Specified by:
      getTransferData in interface GTreeTransferHandler
      Parameters:
      transferNodes - The nodes from which to get the data.
      flavor - The flavor of data to retrieve from the given selection.
      Returns:
      the transfer data from the selection based upon the given flavor.
      Throws:
      UnsupportedFlavorException - if the given flavor is not one of the supported flavors returned by GTreeTransferHandler.getSupportedDataFlavors(List).
    • addActiveDataFlavorHandler

      public static void addActiveDataFlavorHandler(DataFlavor flavor, DataTreeFlavorHandler handler)
    • removeActiveDataFlavorHandler

      public static DataTreeFlavorHandler removeActiveDataFlavorHandler(DataFlavor flavor)
    • setProjectActive

      public void setProjectActive(boolean b)