14,15c14 < import CH.ifa.draw.framework.*; < import java.util.*; --- > import java.util.List; 20a20 > * @author Wolfram Kaiser 32c32 < private Vector redoStack; --- > private List redoStack; 37c37 < private Vector undoStack; --- > private List undoStack; 46,47c46,47 < undoStack = new Vector(maxStackCapacity); < redoStack = new Vector(maxStackCapacity); --- > undoStack = CollectionsFactory.current().createList(maxStackCapacity); > redoStack = CollectionsFactory.current().createList(maxStackCapacity); 52,57c52,53 < // If buffersize exceeds, remove the oldest command < if (getUndoSize() >= maxStackCapacity) { < undoStack.removeElementAt(0); < } < < undoStack.addElement(undoActivity); --- > removeFirstElementInFullList(undoStack); > undoStack.add(undoActivity); 63c59 < undoStack = new Vector(maxStackCapacity); --- > undoStack = CollectionsFactory.current().createList(maxStackCapacity); 69,72c65,66 < // If buffersize exceeds, remove the oldest command < if (getRedoSize() >= maxStackCapacity) { < redoStack.removeElementAt(0); < } --- > > removeFirstElementInFullList(redoStack); 77c71 < redoStack.addElement(redoActivity); --- > redoStack.add(redoActivity); 84c78,87 < redoStack = new Vector(maxStackCapacity); --- > redoStack = CollectionsFactory.current().createList(maxStackCapacity); > } > } > > /** > * If buffersize exceeds, remove the oldest command > */ > private void removeFirstElementInFullList(List l) { > if (l.size() >= maxStackCapacity) { > l.remove(0); 87a91,98 > private Undoable getLastElement(List l) { > if (l.size() > 0) { > return (Undoable)l.get(l.size() - 1); > } > else { > return null; > } > } 90c101 < return ((Undoable)undoStack.lastElement()).isUndoable(); --- > return getLastElement(undoStack).isUndoable(); 99c110 < return ((Undoable)redoStack.lastElement()).isRedoable(); --- > return getLastElement(redoStack).isRedoable(); 108c119 < return (Undoable) undoStack.lastElement(); --- > return getLastElement(undoStack); 117c128 < return (Undoable) redoStack.lastElement(); --- > return getLastElement(redoStack); 146c157 < undoStack.removeElementAt(getUndoSize() - 1); --- > undoStack.remove(getUndoSize() - 1); 159c170 < redoStack.removeElementAt(getRedoSize() - 1); --- > redoStack.remove(getRedoSize() - 1); 172,173c183,184 < protected void clearStack(Vector clearStack) { < clearStack.removeAllElements(); --- > protected void clearStack(List clearStack) { > clearStack.clear();