package org.korsakow.ide.ui.controller.action; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.TransferHandler.TransferSupport; import org.korsakow.ide.Application; import org.korsakow.ide.ui.components.tree.KNode; import org.korsakow.ide.ui.resourceexplorer.ResourceTreeTable; import org.korsakow.ide.ui.resourceexplorer.ResourceTreeTableModel; import org.korsakow.ide.util.ClipboardHelper; import org.korsakow.ide.util.ClipboardHelper.ClipboardResult; public class PasteAction implements ActionListener { private final ResourceTreeTable resourceTreeTable; public PasteAction(ResourceTreeTable resourceBrowser) { resourceTreeTable = resourceBrowser; } public void actionPerformed(ActionEvent event) { Application app = Application.getInstance(); app.beginBusyOperation(); KNode selectedNode = resourceTreeTable.getSelectedNode(); if (selectedNode == null) selectedNode = resourceTreeTable.getRootNode(); ResourceTreeTableModel model = resourceTreeTable.getTreeTableModel(); ClipboardResult result = ClipboardHelper.paste(); TransferSupport support = new TransferSupport(resourceTreeTable, result.getTransferable()); resourceTreeTable.getTransferHandler().importData(support); app.endBusyOperation(); } }