#pragma once #include "ActionItem.h" #include "WellPoleLib/WellBaseObj.h" #include "WellPoleLib/WellClassObjGroup.h" #include "WellPoleLib/TrackObj.h" namespace NAction { class CActionWellTrackAddItem : public CActionItem { public: CActionWellTrackAddItem(CSigmaDoc* ppDoc, UINT actionType, TRACKLIST& AddTrackList); virtual ~CActionWellTrackAddItem(void); std::string GetActionName() const override { return typeid(*this).name(); } virtual void accept(CActionVisitor& visitor); virtual void Undo(void); virtual void Redo(void); virtual void Finish(); protected: bool m_bAdded; virtual void PerformOperation(); void GetTrackInfo(TRACKLIST& AddTrackList); std::vector m_iTracksPos; TRACKLIST m_addTrackList; }; };