OSDN Git Service

revises makefile
[qcad/qcad.git] / qcadwin / QUndoManager.cpp
1 //---------------------------------------------------------------------------\r
2 // Management class of Undo\r
3 //---------------------------------------------------------------------------\r
4 #include <algorithm>\r
5 #include "QUndoManager.h"\r
6 //---------------------------------------------------------------------------\r
7 /**\r
8  * Constructor\r
9  */\r
10 QUndoManager::QUndoManager(void) {\r
11 }\r
12 //---------------------------------------------------------------------------\r
13 /**\r
14  * Destructor\r
15  */\r
16 QUndoManager::~QUndoManager(void) {\r
17 }\r
18 //---------------------------------------------------------------------------\r
19 // Interface Methods\r
20 //---------------------------------------------------------------------------\r
21 void\r
22 QUndoManager::Add(QUndoUnit *qu) {\r
23   uList.push_back(qu);\r
24 }\r
25 //---------------------------------------------------------------------------\r
26 int\r
27 QUndoManager::GetUndoCount(void) {\r
28   return uList.size();\r
29 };\r
30 //---------------------------------------------------------------------------\r
31 void\r
32 QUndoManager::Remove(QUndoUnit *qu) {\r
33   uList.erase(remove(uList.begin(), uList.end(), qu), uList.end());\r
34 };\r
35 //---------------------------------------------------------------------------\r
36 QUndoUnit *\r
37 QUndoManager::GetUndoUnitAt(int index) {\r
38   return uList[index];\r
39 };\r
40 //---------------------------------------------------------------------------\r
41 void QUndoManager::Undo(QDraw *qDraw,QManager *qManager) {\r
42   QUndoUnit *qu = GetUndoUnitAt(GetUndoCount()-1);\r
43   qu->Undo(qManager);\r
44   Remove(qu);\r
45 }\r
46 //---------------------------------------------------------------------------\r
47 \r