Files
envi-code/SourceCode/Code2026/ElecCmd/CDLFSDlg.h
T
2026-09-28 15:28:50 +08:00

141 lines
3.3 KiB
C++

#pragma once
#include "resource.h"
#include "HeaderCtrlExt.h"
#include "CXLSListCtrl.h"
#include "CCableRouting.h"
typedef struct ListHead
{
int m_nEquFrCol;
int m_nEquToCol;
int m_nCableLenCol;
int m_nCableSpec;
int m_nPathUserDo;
int m_nAssocNoorName;
short m_nSheetIndex;
int m_nPriSteps[17];
double m_dLenRever;
TCHAR m_szXLSFile[256];
TCHAR m_szDwgFileName[65];//½ö½öÎļþÃû
int m_nItemCount;
TCHAR m_szHeadList[1024];//@¸ô¿ª
}ListHead;
typedef struct EListLine
{
EquHolder holder;
TCHAR m_szItemLine[1024];//@¸ô¿ª
}ELISTLINE;
typedef struct SubItem
{
int nSubItem;
TCHAR m_szSubItem[255];
}SUBITEM;
typedef struct EListLine2
{
EquHolder holder;
int nItem;
double dOD;
}ELISTLINE2;
class CDLFSDlg : public CDialog
{
DECLARE_DYNAMIC(CDLFSDlg)
public:
CDLFSDlg(CWnd* pParent = NULL);
virtual ~CDLFSDlg();
enum { IDD = IDD_DLFS_DLG };
protected:
virtual void DoDataExchange(CDataExchange *pDX);
DECLARE_MESSAGE_MAP()
public:
virtual BOOL OnInitDialog();
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
afx_msg LONG_PTR onAcadKeepFocus(UINT_PTR, LONG_PTR);
afx_msg void OnBnClickedButton1();
afx_msg void OnBnClickedButton7();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnBnClickedButton9();
afx_msg void OnNMRClickList1(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnBnClickedButton2();
afx_msg void OnBnClickedButton3();
afx_msg HBRUSH OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor);
afx_msg void OnBnClickedButton5();
afx_msg void OnBnClickedButton6();
afx_msg void OnBnClickedButton10();
afx_msg void OnTimer(UINT_PTR nIDEvent);
public:
static void AppendLockPath(EquHolder *pHolder, LPCTSTR pszHd);
static void AppendEquLockPath(LPCTSTR pszToEqu, LPCTSTR pszHd);
protected:
UINT EnableMenuItem(int nItem, UINT nID);
bool SearchEqu();
bool SortCableSpec();
bool SearchSavedRoutPath();
void OnSelFrEqu(int nItem, int nSubItem);
void OnSelToEqu(int nItem, int nSubItem);
void OnSetEquNo(int nItem, int nSubItem, int nFrOrTo);
void OnSelTermPoint(int nItem, int nSubItem);
void OnPathPassBy(int nItem, int nSubItem);
void OnPathPassByNo(int nItem, int nSubItem);
void OnRoutingOn(int nItem, int nSubItem);
void OnSetup(int nItem, int nSubItem);
bool GetItemCableData(int nItem, CableData &data);
bool CheckEquAssocList();
bool GetListHead(ListHead &head);
bool GetEListLine(std::vector<EListLine2> &rList);
void ShowPath(bool bIsShow);
void RemoveEquLockPath(LPCTSTR pszEqu);
CString m_sXLSFile;
short m_nSheetIndex;
CString m_sSys;
CButton m_wndBt1;
CRect m_rcMain;
CRect m_rcBt;
CRect m_rcLst;
int m_nEquFrCol;
int m_nEquToCol;
int m_nCableLenCol;
int m_nCableSpec;
int m_nPathUserDo;
int m_nPathNosCol;
int m_nODCol;
int m_nSysCol;
BOOL m_bHasSect;
int m_nCableSectCol;
bool m_bIgoreFillUsed;
int m_nAssocNoorName;
double m_dLenRever;
double m_dPathOnPoint;
double m_dBypassDis;
double m_dEquFindDis;
CUIntArray m_arPriSteps;
CXLSListCtrl m_wndList;
CImageList m_imageList;
CFont m_NewHeaderFont;
bool m_bIsVisible;
UINT_PTR m_nIDEvent;
CHeaderCtrlEx m_HeaderCtrl;
//10,23 --- D10
CMapStringToString m_mapSubItem2Cell;
//10,23 -- 1 or 0
CMap<CString, LPCTSTR, BOOL, BOOL> m_mapSubItem2Modified;
public:
afx_msg void OnDestroy();
};