/*
 * Created on May 19, 2003
 *
 * To change this generated comment go to 
 * Window>Preferences>Java>Code Generation>Code Template
 */
package jdraw.std;

import java.util.*;

import jdraw.framework.*;

/**
 * @author Christoph
 */
public class StdClipboard implements Clipboard{
	static private Set clip;

	/* (non-Javadoc)
	 * @see jdraw.framework.Clipboard#copy(java.util.Set)
	 */
	public void copy(Set selection) {
		Iterator it = selection.iterator();
		clip = new HashSet();
		while (it.hasNext()) {
			clip.add(((Figure)it.next()).clone());
		}
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Clipboard#cut(java.util.Set, jdraw.framework.DrawModel)
	 */
	public void cut(Set selection, DrawModel model) {
		Iterator it = selection.iterator();
		while (it.hasNext()) {
			model.removeFigure((Figure)it.next());
		}
		clip = selection;
	}

	/* (non-Javadoc)
	 * @see jdraw.framework.Clipboard#paste(jdraw.framework.DrawModel)
	 */
	public void paste(DrawModel model) {
		if (clip != null) {
			Iterator it = clip.iterator();
			while (it.hasNext()) {
				model.addFigure((Figure)((Figure)it.next()).clone());
			}
		}
	}

}
