////////////////////////////////////////////////////////////////////////////// //文件 ActionDeleteItem.h //主要功能: // //程序编写: 2006-12-07 ///////////////////////////////////////////////////////////////////////////// #pragma once #include "actionitem.h" namespace NAction { /** * 删除元素的 Action,使用它是为了能够实现撤销和反撤销 */ class CActionDeleteItem : public CActionItem { public: CActionDeleteItem(); CActionDeleteItem(CSigmaDoc * ppDoc, UINT actionType, const CPositionList& list); CActionDeleteItem(CSigmaDoc * ppDoc, UINT actionType); virtual ~CActionDeleteItem(void); std::string GetActionName() const override { return typeid(*this).name(); } virtual void Undo(void); virtual void Redo(void); virtual void Finish(); virtual void Clear(void); void accept(CActionVisitor& visitor) override; virtual void RemoveOperation(); BOOL m_bPerformOperation = FALSE; friend class BlobSerializer; protected: void AddOperation(); bool m_bDeleted = false; std::vector m_pos; }; };