/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.clothocore.widget.fabdash; import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.Transferable; import javax.swing.JComponent; import javax.swing.JTable; import javax.swing.TransferHandler; import org.clothocore.api.data.ObjBase; import org.clothocore.api.data.Oligo; import org.clothocore.api.data.Part; import org.clothocore.api.data.Plasmid; import org.clothocore.api.data.Vector; import org.clothocore.api.dnd.TransferableObject; /** * * @author jenhan */ public class InventoryTransferHandler extends TransferHandler { @Override public Transferable createTransferable(JComponent c) { try { JTable t = (JTable) c; String toPackage = (String) t.getValueAt(t.getSelectedRow(), 0); if (toPackage != null) { ObjBase toPackageObjBase = null; if (t.getName().contains("oligo")) { toPackageObjBase = Oligo.retrieveByName(toPackage); } else if (t.getName().contains("part")) { toPackageObjBase = Part.retrieveByName(toPackage); } else if (t.getName().contains("vector")) { toPackageObjBase = Vector.retrieveByName(toPackage); } else if (t.getName().contains("plasmid")) { toPackageObjBase = Plasmid.retrieveByName(toPackage); } if (toPackageObjBase!=null ) { return new TransferableObject(toPackageObjBase); } else { return null; } } else { return null; } } catch (Exception e) { e.printStackTrace(); return null; } } @Override public int getSourceActions(JComponent comp) { return COPY; } }