File: /Users/shatabdi/Education/GitHub/se450_project/src/model/commands/ShapeCopyCommand.java

1     //adopted from week 3, CommandDemo
2     package model.commands;
3     
4     import java.util.List;
5     
6     import controller.interfaces.ICommand;
7     import model.interfaces.IShape;
8     import view.interfaces.PaintCanvasBase;
9     
10     public class ShapeCopyCommand implements ICommand {
11     	List<IShape> clipBoardList = CommandHistory.shapesInClipboard.getList();
12     	List<IShape> selectedList = CommandHistory.shapesSelected.getList();
13     
14     	public ShapeCopyCommand(PaintCanvasBase canvasBase) {
15     
16     	}
17     
18     	public void copy() {
19     		clipBoardList.clear();
20     
21     		for (IShape selectedShape : selectedList) {
22     			IShape copiedShape = selectedShape.copyShape();
23     			clipBoardList.add(copiedShape);
24     		}
25     
26     	}
27     
28     	@Override
29     	public void run() {
30     		// TODO Auto-generated method stub
31     		clipBoardList.clear();
32     		for (IShape shape : selectedList) {
33     			IShape tempShape = shape.copyShape();
34     			clipBoardList.add(tempShape);
35     		}
36     	}
37     }
38