/*
Sketch Elements: Chemistry molecular diagram drawing tool.
(c) 2008 Dr. Alex M. Clark
Released as GNUware, under the Gnu Public License (GPL)
See www.gnu.org for details.
*/
package WIMSchem;
import java.io.*;
import java.awt.*;
import java.util.*;
import java.awt.image.*;
import java.awt.event.*;
import java.awt.datatransfer.*;
import javax.swing.*;
{
EditorPane src;
TransferMoleculeSource trans;
public DraggableMolecule(EditorPane src)
{
this.src=src;
setIcon
(new ImageIcon(getClass
().
getResource("/images/SmallIcon.png")));
addMouseListener(this);
addMouseMotionListener(this);
trans=new TransferMoleculeSource(src);
setTransferHandler(trans);
}
{
if (src.
molData().
numAtoms()>0) trans.
exportAsDrag(this,e,
TransferHandler.
COPY);
}
// Class for describing the content of that which is dragged from this control.
{
EditorPane src;
public TransferMoleculeSource(EditorPane src) {this.src=src;}
public boolean canImport
(TransferHandler.
TransferSupport info
) {return false;}
public int getSourceActions
(JComponent c
) {return COPY
;}
{
super.exportAsDrag(source,e,action);
}
{
super.exportDone(source,data,action);
}
{
Molecule mol=/*src.molData()*/ src.selectedSubgraph();
try
{
MoleculeStream.writeMDLMOL(bw,mol);
MoleculeStream.writeNative(bw,mol);
}
}
}
}