public bool addTool(bool execute, Tool tool) { bool done = execute ? tool.doTool() : true; if (done) { if (undoList.Count == 0) { undoList.Add(tool); } else { Tool last = undoList[undoList.Count - 1]; if (last.getTimeStamp() < tool.getTimeStamp() - 1500 || !last.combine(tool)) { undoList.Add(tool); } } redoList.Clear(); if (notifyController) { Controller.getInstance().dataModified(); } if (!tool.canUndo()) { undoList.Clear(); } } return(done); }
public bool addTool(Tool tool) { bool done = true; if (!tool.GetDoesClone()) { done = chapterToolManagers[getSelectedChapter()].addTool(tool); } else { if (done = tool.doTool()) { chapterToolManagers[getSelectedChapter()].clear(); chapterToolManagers[getSelectedChapter()].addTool(false, tool); } else { chapterToolManagers[getSelectedChapter()].addTool(false, tool); } } return(done); }