#pragma once #include "actionitem.h" namespace NAction { class CActionExchangeXYItem : public CActionItem { public: CActionExchangeXYItem(); CActionExchangeXYItem(CSigmaDoc * ppDoc, UINT actionType); virtual ~CActionExchangeXYItem(void); std::string GetActionName() const override { return typeid(*this).name(); } virtual void Undo(void); virtual void Redo(void); void accept(CActionVisitor& visitor) override; }; class CActionCutOutItem : public CActionItem { public: CActionCutOutItem(); CActionCutOutItem(CSigmaDoc * ppDoc, UINT actionType, CXy* pBakXY); virtual ~CActionCutOutItem(void); std::string GetActionName() const override { return typeid(*this).name(); } virtual void Undo(void); virtual void Redo(void); void accept(CActionVisitor& visitor) override; CXy* m_pBakXY = nullptr; void Exchange(void); }; };