#pragma once #include ".\actionitem.h" #include ".\DrawOperator\MapStringToPtrNoCase.h" class CSigmaDoc; class CSigmaView; namespace NAction { class CActionMarkDeleteItem : public CActionItem { public: CActionMarkDeleteItem(); CActionMarkDeleteItem(CSigmaDoc* ppDoc, UINT actionType); virtual ~CActionMarkDeleteItem(void); std::string GetActionName() const override { return typeid(*this).name(); } void AddMark(CXy* pMarkXy); virtual void Undo(void); virtual void Redo(void); void EnableRePosition(BOOL bPosition); void Clear(); void accept(CActionVisitor& visitor) override; CMapStringToPtrNoCase mark; BOOL m_bDelete = FALSE; BOOL m_bRePosition = FALSE; protected: void UndoToAdd(void); void RedoToDelete(void); }; class CActionMarkAddItem : public CActionMarkDeleteItem { public: CActionMarkAddItem(); CActionMarkAddItem(CSigmaDoc* ppDoc, UINT actionType); virtual ~CActionMarkAddItem(void); virtual void Undo(void); virtual void Redo(void); }; };