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);
        }
Beispiel #2
0
        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);
        }