You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.3 KiB
C++
52 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include "ActionItem.h"
|
|
#include "WellPoleLib/WellBaseObj.h"
|
|
#include "WellPoleLib/WellClassObjGroup.h"
|
|
#include "WellPoleLib/TrackObj.h"
|
|
#include "WellPoleLib/TrackGroup.h"
|
|
#include "../Visitor.h"
|
|
|
|
namespace NAction
|
|
{
|
|
typedef struct _delTrackInfo {
|
|
_delTrackInfo(){
|
|
pDelTrack = NULL; pParentGroup = NULL;
|
|
m_iDelTrackPos = m_iDelParentGroupPos = -1;
|
|
};
|
|
CTrackObj *pDelTrack;
|
|
int m_iDelTrackPos;
|
|
CTrackGroup* pParentGroup; //当此父对象指针为空时,表示是只是删除单道,不影响父亲道。
|
|
int m_iDelParentGroupPos;
|
|
TRACKLIST groupTrackTrackList;
|
|
} DELTRACKINFO;
|
|
class CActionWellTrackDeleteItem : public CActionItem
|
|
{
|
|
public:
|
|
CActionWellTrackDeleteItem(CSigmaDoc* ppDoc, UINT actionType, TRACKLIST& delTrackList);
|
|
virtual ~CActionWellTrackDeleteItem(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();
|
|
|
|
virtual void AddOperation();
|
|
virtual void RemoveOperation();
|
|
BOOL m_bPerformOperation;
|
|
protected:
|
|
bool m_bDeleted;
|
|
//virtual void PerformOperation();
|
|
void GetTrackInfo(TRACKLIST& AddTrackList);
|
|
//std::vector<int> m_iTracksPos;
|
|
//TRACKLIST m_DelTrackList;
|
|
std::vector< DELTRACKINFO>m_DelTrackInfos;
|
|
};
|
|
};
|
|
|