|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "WellClassObjGroup.h"
|
|
|
|
|
|
#include "InTrackTextBase.h"
|
|
|
|
|
|
|
|
|
|
|
|
class CInTrackDepthSegment;
|
|
|
|
|
|
class CTrackGroup;
|
|
|
|
|
|
class CTrackObj;
|
|
|
|
|
|
typedef std::list<CTrackObj*> TRACKLIST;
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CTrackObj : public CWellClassObjGroup
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CTrackObj();
|
|
|
|
|
|
CTrackObj(const CRect8& position);
|
|
|
|
|
|
virtual ~CTrackObj();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual double GetWidth() { return m_dTrackWidth; }
|
|
|
|
|
|
virtual ETrackType GetTrackType() { return m_eTrackType; };
|
|
|
|
|
|
virtual void SetTrackType(ETrackType type) { m_eTrackType = type; }
|
|
|
|
|
|
virtual void SetGroupType(EGroupType type) { m_eGroupType = type; }
|
|
|
|
|
|
virtual EGroupType GetGroupType() { return m_eGroupType; }
|
|
|
|
|
|
|
|
|
|
|
|
virtual void SetFontScale(double yScale);// <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0><EFBFBD>yͬ<79><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
protected:
|
|
|
|
|
|
ETrackType m_eTrackType; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
EGroupType m_eGroupType; // <20><><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
DWORD m_nTrackFlags; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Flags
|
|
|
|
|
|
enum TrackFlags
|
|
|
|
|
|
{
|
|
|
|
|
|
TrackFlagTitle = 0x0001, // <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
TrackFlagCombineLeft = 0x0002, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
TrackFlagCombineRight = 0x0004, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
TrackFlagLog = 0x0008, // <20><><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
TrackFlagMark = 0x0010, // <20><>ʾ<EFBFBD><CABE><EFBFBD>ڱ<EFBFBD>ע
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
TrackWaveFlagLogAxes = 0x0100, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
TrackWaveFlagAutoMidClr = 0x0200, // <20>Զ<EFBFBD><D4B6>м<EFBFBD>ɫ
|
|
|
|
|
|
TrackWaveFlagDraw = 0x0400, // <20><><EFBFBD>λ<EFBFBD><CEBB>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD>ܶȻ<DCB6><C8BB><EFBFBD>
|
|
|
|
|
|
TrackWaveFlagFill = 0x0800, // <20><><EFBFBD>ܶ<EFBFBD><DCB6><EFBFBD><EFBFBD>䡢<EFBFBD><E4A1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
double m_dTrackWidth; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
|
CString m_strFormat; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|
|
|
|
|
CString m_strTrackName; // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
int m_nAlignChild; // <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD>뷽ʽ(0 <20><> 1 <20><> 2 <20><>)
|
|
|
|
|
|
GDFLOGFONTEXT m_fontChild; // <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
GDFLOGPENEXT m_penChild; // <20><><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD>
|
|
|
|
|
|
GDFLOGBRUSH m_brushChild; // <20><><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD>ˢ<EFBFBD><CBA2>
|
|
|
|
|
|
|
|
|
|
|
|
//<2F>ӿ<D3BF><E2B5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
|
|
|
|
|
CString m_strConfigTable; // <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
|
|
|
|
|
vector<CString> m_VecConfigField; // <20><><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>
|
|
|
|
|
|
CString m_strConfigTableOther; // <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʹ<CAB1>ã<EFBFBD>
|
|
|
|
|
|
vector<CString> m_VecConfigFieldOther; // <20><><EFBFBD><EFBFBD><EFBFBD>ֶΣ<D6B6><CEA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʹ<CAB1>ã<EFBFBD>
|
|
|
|
|
|
CString m_strConfigClass; // <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//pcg<63><67>ȡʹ<C8A1><CAB9>(<28><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>)
|
|
|
|
|
|
int nWellColID; // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>ID
|
|
|
|
|
|
|
|
|
|
|
|
CString m_strDataRef; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|
|
|
|
|
int m_nColumn; // <20><>ͷ<EFBFBD><CDB7>
|
|
|
|
|
|
int m_nRow; // <20><>ͷ<EFBFBD><CDB7>
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD>洢ƫת<C6AB><D7AA><EFBFBD>ľ<EFBFBD>ͷ<EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꼰<EFBFBD><EABCB0><EFBFBD>ĵ㣬<C4B5>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ζ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD>(ÿ<>ξ<EFBFBD>CalculateSizeʱ<65><CAB1><EFBFBD><EFBFBD>)
|
|
|
|
|
|
CCurveEx m_HeadCurve;
|
|
|
|
|
|
|
|
|
|
|
|
CRect8 m_active_head; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
|
|
|
|
|
|
CRect8 m_HeadRect; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
|
|
|
|
|
|
CString m_strTitle; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int m_nTitleAlign; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD>У<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
void Init(); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
// Implementation
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
BOOL IsOnWellTop(CPoint2D point, double dHandleSize); //<2F>Ƿ<EFBFBD><C7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD>ͷ<EFBFBD><CDB7>
|
|
|
|
|
|
BOOL IsOnTrackTop(CPoint2D point, double dHandleSize); //<2F>Ƿ<EFBFBD><C7B7>ڵ<EFBFBD>ͷ<EFBFBD>߽<EFBFBD><DFBD><EFBFBD>
|
|
|
|
|
|
virtual BOOL IsOnTrackRight(CPoint2D point, double dHandleSize); //<2F>Ƿ<EFBFBD><C7B7>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>ұ߽<D2B1><DFBD><EFBFBD>
|
|
|
|
|
|
virtual BOOL IsInTrackHead(CPoint2D point, float selectSx = 0, float selectSy = 0); //ggff.<2E><><EFBFBD>Ƿ<EFBFBD><C7B7>ڵ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//
|
|
|
|
|
|
virtual BOOL IsInTrackHead(CPoint2D point, double dHandleSize);///////<2F><><EFBFBD>Ƿ<EFBFBD><C7B7>ڵ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
virtual void GetHeadPts(double cx, double cy, double angle, double offx = 0, double offy = 0); //<2F><><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µĵ<C2B5>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>,cx<63><78>cy<63><79>ת<EFBFBD><D7AA><EFBFBD>ģ<EFBFBD>angle<6C><65>ת<EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
|
|
|
|
|
|
virtual void CalculateSize(CPoint2D point);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҹ켣
|
|
|
|
|
|
virtual void ComputeDisplayTrajectory();
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void SetTextTitle(CString text, GDFLOGFONTEXT logfont);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>
|
|
|
|
|
|
virtual void SetTrackWidthRatio(double r);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>õ<EFBFBD><C3B5>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void SetPenTrack(GDFLOGPENEXT& pen);
|
|
|
|
|
|
//<2F><><EFBFBD>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void SetPenGrid(GDFLOGPENEXT& penmajor, GDFLOGPENEXT& penminor);
|
|
|
|
|
|
//<2F><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void SetFontTrack(GDFLOGFONTEXT& font, BOOL bReplaceClr = TRUE);
|
|
|
|
|
|
//<2F><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void SetFontHeadMark(GDFLOGFONTEXT& font, BOOL bReplaceClr = TRUE);
|
|
|
|
|
|
//<2F><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void SetFontGridMark(GDFLOGFONTEXT& font);
|
|
|
|
|
|
//<2F><><EFBFBD>ÿ̶ȼ<CCB6><C8BC><EFBFBD>
|
|
|
|
|
|
virtual void SetSpace(double major, double minor);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void SetPenChild(GDFLOGPENEXT& pen);
|
|
|
|
|
|
virtual void SetFontChild(GDFLOGFONTEXT& font);
|
|
|
|
|
|
virtual void SetBrushChild(GDFLOGBRUSH& brush);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void DrawTrackHead(CXyDC*pDC);
|
|
|
|
|
|
virtual void DrawTrackHeadLine(CXyDC* pDC, BOOL bFirst = FALSE);
|
|
|
|
|
|
virtual void DrawTrackBodyLine(CXyDC* pDC, BOOL bFirst = FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void AddTrackHead();
|
|
|
|
|
|
////<2F><><EFBFBD>ӵ<EFBFBD>ͷ<EFBFBD><CDB7>
|
|
|
|
|
|
//virtual void AddTrackHeadLine();
|
|
|
|
|
|
////<2F><><EFBFBD>ӵ<EFBFBD><D3B5>߿<EFBFBD><DFBF><EFBFBD>
|
|
|
|
|
|
//virtual void AddTrackBodyLine();
|
|
|
|
|
|
|
|
|
|
|
|
void DrawSelectRange(CXyDC *pDC);
|
|
|
|
|
|
void GetSelectRange(std::vector<CPoint2D>& PtsVec);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void DrawActiveTrackHead(CXyDC*pDC);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Draw(CXyDC* pDC);
|
|
|
|
|
|
virtual void DrawTrajectory(CXyDC* pDC);
|
|
|
|
|
|
|
|
|
|
|
|
virtual int GetHandleCount();
|
|
|
|
|
|
virtual CPoint2D GetHandle(int nHandle);
|
|
|
|
|
|
virtual BOOL Intersects(const CRect8& rect, double dHandleSize);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void MoveToActiveTrackHead(CRect8& positon);
|
|
|
|
|
|
virtual void MoveTo(CRect8& position);
|
|
|
|
|
|
virtual void MoveHandleTo(int nHandle, CPoint2D point);
|
|
|
|
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>ֵ
|
|
|
|
|
|
virtual void SetTrackFlags(DWORD flags);
|
|
|
|
|
|
virtual void SetShowTitle(BOOL bFlag);
|
|
|
|
|
|
virtual void SetCombineLeft(BOOL bFlag);
|
|
|
|
|
|
virtual void SetCombineRight(BOOL bFlag);
|
|
|
|
|
|
virtual void SetLog(BOOL bFlag);
|
|
|
|
|
|
virtual void SetShowMark(BOOL bFlag);
|
|
|
|
|
|
virtual void SetWaveLogAxes(BOOL bFlag);
|
|
|
|
|
|
virtual void SetWaveAutoMidClr(BOOL bFlag);
|
|
|
|
|
|
virtual void SetWaveDraw(BOOL bFlag);
|
|
|
|
|
|
virtual void SetWaveFill(BOOL bFlag);
|
|
|
|
|
|
|
|
|
|
|
|
virtual DWORD GetTrackFlags();
|
|
|
|
|
|
virtual BOOL IsShowTitle();
|
|
|
|
|
|
virtual BOOL IsCombineLeft();
|
|
|
|
|
|
virtual BOOL IsCombineRight();
|
|
|
|
|
|
virtual BOOL IsLog();
|
|
|
|
|
|
virtual BOOL IsShowMark();
|
|
|
|
|
|
virtual BOOL IsWaveLogAxes();
|
|
|
|
|
|
virtual BOOL IsWaveAutoMidClr();
|
|
|
|
|
|
virtual BOOL IsWaveDraw();
|
|
|
|
|
|
virtual BOOL IsWaveFill();
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD>
|
|
|
|
|
|
virtual void CalcBorders();
|
|
|
|
|
|
|
|
|
|
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼԪ
|
|
|
|
|
|
virtual BOOL RemoveTrackChild();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>
|
|
|
|
|
|
virtual void AddObjChild();
|
|
|
|
|
|
// <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ı<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
virtual void ResetChildPosition(double oldProportion, double newProportion, double depthDelta);
|
|
|
|
|
|
// <20><>ͷ<EFBFBD>߷<EFBFBD><DFB7><EFBFBD><EFBFBD>ı<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
virtual void ResetChildPosition(double offsetY = 0.0);
|
|
|
|
|
|
// <20><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>רҵ<D7A8>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void ResetChildProperties();
|
|
|
|
|
|
//<2F>°<EFBFBD>pcg<63>и<EFBFBD>ʽ<EFBFBD>淶ת<E6B7B6><D7AA>
|
|
|
|
|
|
virtual CString FormatValue(double value);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ݵ<EFBFBD><DDB5>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>position<6F><6E>ֵ
|
|
|
|
|
|
virtual void ComputeChildPosition();
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>ڶ<EFBFBD><DAB6><EFBFBD>
|
|
|
|
|
|
virtual void SortChildren(WELLOBJVECTOR &drawObjArr);
|
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void GetChildDatas(StringVectorSet &dataContent, BOOL bHaveWellName = TRUE);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>
|
|
|
|
|
|
virtual void BuidChildObject(vector<CString> &fields, StringVectorSet &datas, BOOL bInit = FALSE);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>ʱ,<2C><>ʹ<EFBFBD><CAB9><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void BuidChildObject(double *pDepth, double *pData, int datanum, BOOL bInit = FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
virtual BOOL ReadCurveData(BOOL bInit = TRUE) { return FALSE; }
|
|
|
|
|
|
|
|
|
|
|
|
virtual CString GetTrackPcgType();
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><CDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static CTrackObj* CreateTrackObj(ETrackType eTrackType);
|
|
|
|
|
|
static CTrackObj* CreatePCGTrackObj(CString strTrackType);
|
|
|
|
|
|
|
|
|
|
|
|
virtual int GetTrackRow() { return m_nRow; }
|
|
|
|
|
|
void SortChildDatas(WELLOBJVECTOR &drawObjArr);
|
|
|
|
|
|
void GetAllTrack(TRACKLIST* TrackList, int type = -1);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void afterCalculateSize() { };//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>еĵ<D0B5><C4B5><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϻ<CFBA><F3A3ACB2>ܽ<EFBFBD><DCBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><DFB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD><CFBA><EFBFBD><EFBFBD><EFBFBD>ʱʹ<CAB1>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>Ч
|
|
|
|
|
|
protected:
|
|
|
|
|
|
virtual void DrawTrackHead(CXyDC*pDC, CRect8 headrect);
|
|
|
|
|
|
//<2F><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void AddTrackHead(CRect8 headrect);
|
|
|
|
|
|
BOOL IsRectInHeadPts(CRect rectT);
|
|
|
|
|
|
|
|
|
|
|
|
BOOL m_bActiveTrackHead; //<2F><><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵĵ<C5B5>ͷʱ<CDB7><CAB1>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>bool,<2C><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
//PCG<43><47><EFBFBD>ݶ<EFBFBD>д
|
|
|
|
|
|
virtual int ReadPCG_Title(CFile &fr, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_GridStyle(CXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_SymbolStyle(CXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_CurveStyle(CXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_StickStyle(CXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_Self(CFile &fr, CXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_TraceMark(CFile &fr, CXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_DataRef(CXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_Trace(CXmlParse& xp, CFile &fr, const short& ver, PCG_TRACECOL& traceCol, int fVerstion = 1);
|
|
|
|
|
|
virtual int ReadPCG_Data(CFile &fr, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_Font(CXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_Major(CXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_Minor(CXmlParse& xp, const short& ver);
|
|
|
|
|
|
|
|
|
|
|
|
virtual int ReadPCG_DataPropties(CXmlParse &xp, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
virtual int ReadPCG_TraceSection(CFile &fr, CXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_SelfSection(CFile &fr, CXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_SelfTraceSection(CFile &fr, CXmlParse& xp, const short& ver);
|
|
|
|
|
|
|
|
|
|
|
|
virtual int ReadPCG_TraceSelf(CXmlParse& xp);
|
|
|
|
|
|
|
|
|
|
|
|
int PCG_ReadTrackRenderStyle(CXmlParse& xp, const short &ver, CInTrackDepthSegment *pObj);
|
|
|
|
|
|
int PCG_ReadTrackHunkContent(CXmlParse& xp, const short &ver, CInTrackTextBase *pObj);
|
|
|
|
|
|
int PCG_ReadTrackBackBrush(CXmlParse& xp, const short &ver, GDFLOGBRUSH &gdfbrush);
|
|
|
|
|
|
|
|
|
|
|
|
int PCG_ReadTrackBrush(CXmlParse& xp, const short &ver, CInTrackDepthSegment *pObj);
|
|
|
|
|
|
int PCG_ReadTrackLayerStyle(CXmlParse& xp, const short &ver);
|
|
|
|
|
|
////<2F><><EFBFBD>ྮ<EFBFBD>Ա<EFBFBD>pcg<63><67>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//virtual int ReadPCG_DataSection(CFile &fr, const short& ver);
|
|
|
|
|
|
//дpcg<63><67>ʽ<EFBFBD>ĵ<EFBFBD>
|
|
|
|
|
|
virtual void WritePCG_Trace(CFile &fw, int nBaseTabNum);
|
|
|
|
|
|
//дpcg<63><67>ʽ<EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void WritePCG_Data(CFile &fw, int nBaseTabNum);
|
|
|
|
|
|
//д<>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>,дpcg<63><67>dml<6D><6C>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void WritePCG_Ext(CFile &fw, int nBaseTabNum);
|
|
|
|
|
|
//дwellcolumnԪ<6E><D4AA><EFBFBD>е<EFBFBD>Trace<63><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE>дpcg<63><67>dml<6D><6C>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void WritePCG_WellColTrace(CFile &fw, int nBaseTabNum);
|
|
|
|
|
|
virtual void WritePCG_TraceTitle(CFile &fw, int nBaseTabNum);
|
|
|
|
|
|
virtual void WritePCG_TraceHead(CFile &fw, int nBaseTabNum);
|
|
|
|
|
|
virtual void WritePCG_TraceTail(CFile &fw, int nBaseTabNum);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void WritePCG_TraceMark(CFile &fw, int nBaseTabNum);
|
|
|
|
|
|
|
|
|
|
|
|
//дpcg<63><67>ʽ<EFBFBD>ĵ<EFBFBD>
|
|
|
|
|
|
virtual void WritePCG_TraceSection(CFile &fw, int nBaseTabNum);
|
|
|
|
|
|
//дpcg<63><67>ʽ<EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void WritePCG_DataSection(CFile &fw, int nBaseTabNum);
|
|
|
|
|
|
|
|
|
|
|
|
virtual CRect8 GetDragMoveRect();
|
|
|
|
|
|
|
|
|
|
|
|
void SortChildrenOrderbyPos();
|
|
|
|
|
|
public:
|
|
|
|
|
|
/*<2A><>ȡpcg<63>ļ<EFBFBD>ʱ,ijЩ<C4B3>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD>ݶ<EFBFBD>ȡʱ<C8A1><CAB1><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><D0BE><EFBFBD><EFBFBD>ı궨,ÿ<>ν<EFBFBD><CEBD><EFBFBD>pcg<63>ļ<EFBFBD><C4BC>Ķ<EFBFBD>ȡʱȷ<CAB1><C8B7><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD>ΪFALSE
|
|
|
|
|
|
<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪTRUE<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD>ֻӦ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>Щû<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵľ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*/
|
|
|
|
|
|
BOOL m_PcgAddColumn;
|
|
|
|
|
|
BOOL m_PcgReadData;
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual int ReadPCG_Title(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_GridStyle(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_SymbolStyle(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_CurveStyle(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_StickStyle(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_Self( CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_TraceMark(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_DataRef(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_Trace(CKXmlParse& xp, const short& ver, PCG_TRACECOL& traceCol, int fVerstion = 1);
|
|
|
|
|
|
virtual int ReadPCG_Data(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_Font(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_Major(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_Minor(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
|
|
|
|
|
|
virtual int ReadPCG_DataPropties(CKXmlParse &xp, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
virtual int ReadPCG_TraceSection(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_SelfSection(CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_SelfTraceSection( CKXmlParse& xp, const short& ver);
|
|
|
|
|
|
|
|
|
|
|
|
virtual int ReadPCG_TraceSelf(CKXmlParse& xp);
|
|
|
|
|
|
|
|
|
|
|
|
int PCG_ReadTrackRenderStyle(CKXmlParse& xp, const short &ver, CInTrackDepthSegment *pObj);
|
|
|
|
|
|
int PCG_ReadTrackHunkContent(CKXmlParse& xp, const short &ver, CInTrackTextBase *pObj);
|
|
|
|
|
|
int PCG_ReadTrackBackBrush(CKXmlParse& xp, const short &ver, GDFLOGBRUSH &gdfbrush);
|
|
|
|
|
|
|
|
|
|
|
|
int PCG_ReadTrackBrush(CKXmlParse& xp, const short &ver, CInTrackDepthSegment *pObj);
|
|
|
|
|
|
int PCG_ReadTrackLayerStyle(CKXmlParse& xp, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void GetChildDatas(CString& jsonStr);
|
|
|
|
|
|
virtual BOOL SetChildDatas(CString& jsonStr);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
BOOL GetChildDatasFromJsonStr(CString& jsonStr, vector<CString>& fields, StringVectorSet& datas);
|
|
|
|
|
|
};
|