|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "actionitem.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace NAction
|
|
|
|
|
|
{
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ͬCActionModifiedItem<65><6D>
|
|
|
|
|
|
class CActionBackupItem :
|
|
|
|
|
|
public CActionItem
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CActionBackupItem();
|
|
|
|
|
|
CActionBackupItem(CSigmaDoc * ppDoc, UINT actionType);
|
|
|
|
|
|
CActionBackupItem(CSigmaDoc * ppDoc, UINT actionType, const CPositionList& list);
|
|
|
|
|
|
virtual ~CActionBackupItem(void);
|
|
|
|
|
|
|
|
|
|
|
|
std::string GetActionName() const override
|
|
|
|
|
|
{
|
|
|
|
|
|
return typeid(*this).name();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>value <20><><EFBFBD><EFBFBD><EFBFBD>洢<EFBFBD>IJ<EFBFBD><C4B2>DZ<EFBFBD><C7B1><EFBFBD> COne<6E><65>m_eleList <20><><EFBFBD><EFBFBD><EFBFBD>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD> CXy <20><><EFBFBD><EFBFBD> COne ָ<><D6B8>
|
|
|
|
|
|
bool IsOwnCOnes() const override
|
|
|
|
|
|
{
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Undo(void);
|
|
|
|
|
|
virtual void Redo(void);
|
|
|
|
|
|
|
|
|
|
|
|
void Backup(POSITION pos);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><EFBFBD>º<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
*/
|
|
|
|
|
|
void BackupNew();
|
|
|
|
|
|
|
|
|
|
|
|
void accept(CActionVisitor& visitor) override;
|
|
|
|
|
|
|
|
|
|
|
|
friend class BlobSerializer;
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
void Backup(const CPositionList& list);
|
|
|
|
|
|
public:
|
|
|
|
|
|
void Backup(COne* pOne);
|
|
|
|
|
|
void Backup(COne* pBakOne, COne* pOne);
|
|
|
|
|
|
int GetCount(void);
|
|
|
|
|
|
int BackupAllElements(void);
|
|
|
|
|
|
void RemoveBackupTail(void);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
struct BackupEntry
|
|
|
|
|
|
{
|
|
|
|
|
|
int64_t id = -1;
|
|
|
|
|
|
std::unique_ptr<COne> pOldOne;
|
|
|
|
|
|
std::unique_ptr<COne> pNewOne;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
void DoOperation(std::unique_ptr<COne> BackupEntry::* member);
|
|
|
|
|
|
|
|
|
|
|
|
std::vector<BackupEntry> m_entries;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class CActionBackupProjectionItem :
|
|
|
|
|
|
public CActionItem
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CActionBackupProjectionItem();
|
|
|
|
|
|
CActionBackupProjectionItem(CSigmaDoc * ppDoc, UINT actionType);
|
|
|
|
|
|
CActionBackupProjectionItem(CSigmaDoc * ppDoc, UINT actionType, CString strOldPro, CString strNewPro);
|
|
|
|
|
|
virtual ~CActionBackupProjectionItem(void);
|
|
|
|
|
|
|
|
|
|
|
|
std::string GetActionName() const override
|
|
|
|
|
|
{
|
|
|
|
|
|
return typeid(*this).name();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Undo(void);
|
|
|
|
|
|
virtual void Redo(void);
|
|
|
|
|
|
|
|
|
|
|
|
void accept(CActionVisitor& visitor) override;
|
|
|
|
|
|
|
|
|
|
|
|
friend class BlobSerializer;
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
CString m_strOldProjection;
|
|
|
|
|
|
CString m_strNewProjection;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class CActionBackupXYItem :
|
|
|
|
|
|
public CActionItem
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CActionBackupXYItem();
|
|
|
|
|
|
CActionBackupXYItem(CSigmaDoc * ppDoc, UINT actionType);
|
|
|
|
|
|
virtual ~CActionBackupXYItem(void);
|
|
|
|
|
|
|
|
|
|
|
|
std::string GetActionName() const override
|
|
|
|
|
|
{
|
|
|
|
|
|
return typeid(*this).name();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Undo(void);
|
|
|
|
|
|
virtual void Redo(void);
|
|
|
|
|
|
void ResetTreeLayerPtr(void);
|
|
|
|
|
|
|
|
|
|
|
|
void accept(CActionVisitor& visitor) override;
|
|
|
|
|
|
|
|
|
|
|
|
friend class BlobSerializer;
|
|
|
|
|
|
protected:
|
|
|
|
|
|
CXy* m_pPrevXY = nullptr;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class CAtionBackupEditCurveInName : public CActionBackupItem
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CAtionBackupEditCurveInName();
|
|
|
|
|
|
CAtionBackupEditCurveInName(CSigmaDoc * ppDoc, UINT actionType, const CPositionList& list);
|
|
|
|
|
|
|
|
|
|
|
|
std::string GetActionName() const override
|
|
|
|
|
|
{
|
|
|
|
|
|
return typeid(*this).name();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Undo(void);
|
|
|
|
|
|
virtual void Redo(void);
|
|
|
|
|
|
|
|
|
|
|
|
void accept(CActionVisitor& visitor) override;
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|