14,14d13 < import CH.ifa.draw.framework.*; 15,15c14,14 < import java.util.*; --- > import java.util.List; 20a20,20 > * @author Wolfram Kaiser 32,32c32,32 < private Vector redoStack; --- > private List redoStack; 37,37c37,37 < private Vector undoStack; --- > private List undoStack; 45a46,47 > undoStack = CollectionsFactory.current().createList(maxStackCapacity); > redoStack = CollectionsFactory.current().createList(maxStackCapacity); 46,47d45 < undoStack = new Vector(maxStackCapacity); < redoStack = new Vector(maxStackCapacity); 51a52,53 > removeFirstElementInFullList(undoStack); > undoStack.add(undoActivity); 52,57d51 < // If buffersize exceeds, remove the oldest command < if (getUndoSize() >= maxStackCapacity) { < undoStack.removeElementAt(0); < } < < undoStack.addElement(undoActivity); 62a59,59 > undoStack = CollectionsFactory.current().createList(maxStackCapacity); 63,63d58 < undoStack = new Vector(maxStackCapacity); 68a65,66 > > removeFirstElementInFullList(redoStack); 68a78,82 > redoStack = CollectionsFactory.current().createList(maxStackCapacity); > } > } > > /** 69,69c83,83 < // If buffersize exceeds, remove the oldest command --- > * If buffersize exceeds, remove the oldest command 69a84,85 > */ > private void removeFirstElementInFullList(List l) { 70,70c86,86 < if (getRedoSize() >= maxStackCapacity) { --- > if (l.size() >= maxStackCapacity) { 71,71c87,87 < redoStack.removeElementAt(0); --- > l.remove(0); 72,72d87 < } 77,77c71,71 < redoStack.addElement(redoActivity); --- > redoStack.add(redoActivity); 84,84d77 < redoStack = new Vector(maxStackCapacity); 87a91,98 > private Undoable getLastElement(List l) { > if (l.size() > 0) { > return (Undoable)l.get(l.size() - 1); > } > else { > return null; > } > } 90,90c101,101 < return ((Undoable)undoStack.lastElement()).isUndoable(); --- > return getLastElement(undoStack).isUndoable(); 99,99c110,110 < return ((Undoable)redoStack.lastElement()).isRedoable(); --- > return getLastElement(redoStack).isRedoable(); 108,108c119,119 < return (Undoable) undoStack.lastElement(); --- > return getLastElement(undoStack); 117,117c128,128 < return (Undoable) redoStack.lastElement(); --- > return getLastElement(redoStack); 146,146c157,157 < undoStack.removeElementAt(getUndoSize() - 1); --- > undoStack.remove(getUndoSize() - 1); 159,159c170,170 < redoStack.removeElementAt(getRedoSize() - 1); --- > redoStack.remove(getRedoSize() - 1); 172,172c183,183 < protected void clearStack(Vector clearStack) { --- > protected void clearStack(List clearStack) { 173,173c184,184 < clearStack.removeAllElements(); --- > clearStack.clear();