1 //---------------------------------------------------------------------------
\r
2 // Management class of Undo
\r
3 //---------------------------------------------------------------------------
\r
5 #include "QUndoManager.h"
\r
6 //---------------------------------------------------------------------------
\r
10 QUndoManager::QUndoManager(void) {
\r
12 //---------------------------------------------------------------------------
\r
16 QUndoManager::~QUndoManager(void) {
\r
18 //---------------------------------------------------------------------------
\r
19 // Interface Methods
\r
20 //---------------------------------------------------------------------------
\r
22 QUndoManager::Add(QUndoUnit *qu) {
\r
23 uList.push_back(qu);
\r
25 //---------------------------------------------------------------------------
\r
27 QUndoManager::GetUndoCount(void) {
\r
28 return uList.size();
\r
30 //---------------------------------------------------------------------------
\r
32 QUndoManager::Remove(QUndoUnit *qu) {
\r
33 uList.erase(remove(uList.begin(), uList.end(), qu), uList.end());
\r
35 //---------------------------------------------------------------------------
\r
37 QUndoManager::GetUndoUnitAt(int index) {
\r
38 return uList[index];
\r
40 //---------------------------------------------------------------------------
\r
41 void QUndoManager::Undo(QDraw *qDraw,QManager *qManager) {
\r
42 QUndoUnit *qu = GetUndoUnitAt(GetUndoCount()-1);
\r
46 //---------------------------------------------------------------------------
\r