Files
envi-code/SourceCode/Code2026/tg_shs/shs_TwtKernal/SelPipeSysDlg.cpp
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

808 lines
21 KiB
C++

// SelPipeSysDlg.cpp : implementation file
//
#include "stdafx.h"
#include "SelPipeSysDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 视口系统
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void SetViewPortPipeSysCmd()
{
int tilemode=0;
xg_getvar(_T("TILEMODE"), &tilemode);
if(tilemode == 1)
{
adsout << _T("\n本命令必须在图纸布局中使用!");
return;
}
RBList rbMask(RTDXF0, _T("VIEWPORT"), NULL);
Entity ent;
if(SelectEntity(_T("请选择视口:<退出>"),ent, rbMask) != RTNORM)
return;
CTemporaryResourceOverride vTemp;
CSelPipeSysDlg dlg;
dlg.m_ent = ent;
if(dlg.DoModal() != IDOK)
return;
XStringList lst;
XStringList lstAll;
lstAll.Append(tstrnew(LAY_PIPE_USELESS));
lstAll.Append(tstrnew(LAY_VPIPE_USELESS));
lstAll.Append(tstrnew(LAY_PIPE_SPRINKLE));
lstAll.Append(tstrnew(LAY_VPIPE_SPRINKLE));
lstAll.Append(tstrnew(LAY_PIPE_SPRINKLE2));
lstAll.Append(tstrnew(LAY_VPIPE_SPRINKLE2));
lstAll.Append(tstrnew(LAY_PIPE_SPRINKLE3));
lstAll.Append(tstrnew(LAY_VPIPE_SPRINKLE3));
lstAll.Append(tstrnew(LAY_PIPE_FEED));
lstAll.Append(tstrnew(LAY_VPIPE_FEED));
lstAll.Append(tstrnew(LAY_PIPE_FEED2));
lstAll.Append(tstrnew(LAY_VPIPE_FEED2));
lstAll.Append(tstrnew(LAY_PIPE_FEED3));
lstAll.Append(tstrnew(LAY_VPIPE_FEED3));
lstAll.Append(tstrnew(LAY_PIPE_HEADBACK));
lstAll.Append(tstrnew(LAY_VPIPE_HEADBACK));
lstAll.Append(tstrnew(LAY_PIPE_HEADBACK2));
lstAll.Append(tstrnew(LAY_VPIPE_HEADBACK2));
lstAll.Append(tstrnew(LAY_PIPE_HEADBACK3));
lstAll.Append(tstrnew(LAY_VPIPE_HEADBACK3));
lstAll.Append(tstrnew(LAY_PIPE_HEADFEED));
lstAll.Append(tstrnew(LAY_VPIPE_HEADFEED));
lstAll.Append(tstrnew(LAY_PIPE_HEADFEED2));
lstAll.Append(tstrnew(LAY_VPIPE_HEADFEED2));
lstAll.Append(tstrnew(LAY_PIPE_HEADFEED3));
lstAll.Append(tstrnew(LAY_VPIPE_HEADFEED3));
lstAll.Append(tstrnew(LAY_PIPE_DIRT));
lstAll.Append(tstrnew(LAY_VPIPE_DIRT));
lstAll.Append(tstrnew(LAY_PIPE_FIRE));
lstAll.Append(tstrnew(LAY_VPIPE_FIRE));
lstAll.Append(tstrnew(LAY_PIPE_FIRE2));
lstAll.Append(tstrnew(LAY_VPIPE_FIRE2));
lstAll.Append(tstrnew(LAY_PIPE_FIRE3));
lstAll.Append(tstrnew(LAY_VPIPE_FIRE3));
lstAll.Append(tstrnew(LAY_PIPE_RAIN));
lstAll.Append(tstrnew(LAY_VPIPE_RAIN));
lstAll.Append(tstrnew(LAY_PIPE_USED));
lstAll.Append(tstrnew(LAY_VPIPE_USED));
lstAll.Append(tstrnew(LAY_PIPE_USED2));
lstAll.Append(tstrnew(LAY_VPIPE_USED2));
lstAll.Append(tstrnew(LAY_PIPE_USED3));
lstAll.Append(tstrnew(LAY_VPIPE_USED3));
lstAll.Append(tstrnew(LAY_PIPE_DRINK));
lstAll.Append(tstrnew(LAY_VPIPE_DRINK));
lstAll.Append(tstrnew(LAY_PIPE_OTHER));
lstAll.Append(tstrnew(LAY_VPIPE_OTHER));
lstAll.Append(tstrnew(LAY_PIPE_PRESSDIRT));
lstAll.Append(tstrnew(LAY_VPIPE_PRESSDIRT));
lstAll.Append(tstrnew(LAY_PIPE_PRESSUSELESS));
lstAll.Append(tstrnew(LAY_VPIPE_PRESSUSELESS));
lstAll.Append(tstrnew(LAY_PIPE_PRESSRAIN));
lstAll.Append(tstrnew(LAY_VPIPE_PRESSRAIN));
lstAll.Append(tstrnew(LAY_PIPE_COAGULATE));
lstAll.Append(tstrnew(LAY_VPIPE_COAGULATE));
lstAll.Append(tstrnew(LAY_WELL_USED));
lstAll.Append(tstrnew(LAY_WELL_USELESS));
lstAll.Append(tstrnew(LAY_WELL_RAIN));
lstAll.Append(tstrnew(LAY_WELL_DIRT));
lstAll.Append(tstrnew(LAY_WELL_FEED));
lstAll.Append(tstrnew(LAY_WELL_FIRE));
lstAll.Append(tstrnew(LAY_WELL_OTHER));
lstAll.Append(tstrnew(LAY_EQUIP_SPRINKLE));
lstAll.Append(tstrnew(LAY_EQUIP_HYDRANT));
lstAll.Append(tstrnew(LAY_EQUIP_LEAK));
lstAll.Append(tstrnew(LAY_EQUIP_GULLY));
lstAll.Append(tstrnew(LAY_TWT_GULLY));
lstAll.Append(tstrnew(LAY_VALVE_FEED));
lstAll.Append(tstrnew(LAY_VALVE_HEADFEED));
lstAll.Append(tstrnew(LAY_VALVE_HEADBACK));
lstAll.Append(tstrnew(LAY_VALVE_DIRT));
lstAll.Append(tstrnew(LAY_VALVE_USELESS));
lstAll.Append(tstrnew(LAY_VALVE_RAIN));
lstAll.Append(tstrnew(LAY_VALVE_USED));
lstAll.Append(tstrnew(LAY_VALVE_FIRE));
lstAll.Append(tstrnew(LAY_VALVE_SPRINKLE));
lstAll.Append(tstrnew(LAY_VALVE_COAGULATE));
lstAll.Append(tstrnew(LAY_VALVE_DRINK));
lstAll.Append(tstrnew(LAY_VALVE_PRESSDIRT));
lstAll.Append(tstrnew(LAY_VALVE_PRESSUSELESS));
lstAll.Append(tstrnew(LAY_VALVE_PRESSRAIN));
lstAll.Append(tstrnew(LAY_VALVE_OTHER));
lstAll.Append(tstrnew(LAY_TEXT_FEED));
lstAll.Append(tstrnew(LAY_TEXT_HEADFEED));
lstAll.Append(tstrnew(LAY_TEXT_HEADBACK));
lstAll.Append(tstrnew(LAY_TEXT_DIRT));
lstAll.Append(tstrnew(LAY_TEXT_USELESS));
lstAll.Append(tstrnew(LAY_TEXT_RAIN));
lstAll.Append(tstrnew(LAY_TEXT_USED));
lstAll.Append(tstrnew(LAY_TEXT_FIRE));
lstAll.Append(tstrnew(LAY_TEXT_SPRINKLE));
lstAll.Append(tstrnew(LAY_TEXT_COAGULATE));
lstAll.Append(tstrnew(LAY_TEXT_DRINK));
lstAll.Append(tstrnew(LAY_TEXT_PRESSDIRT));
lstAll.Append(tstrnew(LAY_TEXT_PRESSUSELESS));
lstAll.Append(tstrnew(LAY_TEXT_PRESSRAIN));
lstAll.Append(tstrnew(LAY_TEXT_OTHER));
lstAll.Append(tstrnew(LAY_DIM_FEED));
lstAll.Append(tstrnew(LAY_DIM_HEADFEED));
lstAll.Append(tstrnew(LAY_DIM_HEADBACK));
lstAll.Append(tstrnew(LAY_DIM_DIRT));
lstAll.Append(tstrnew(LAY_DIM_USELESS));
lstAll.Append(tstrnew(LAY_DIM_RAIN));
lstAll.Append(tstrnew(LAY_DIM_USED));
lstAll.Append(tstrnew(LAY_DIM_HYDRANT));
lstAll.Append(tstrnew(LAY_DIM_SPRINKLE));
lstAll.Append(tstrnew(LAY_DIM_COAGULATE));
lstAll.Append(tstrnew(LAY_DIM_DRINK));
lstAll.Append(tstrnew(LAY_DIM_PRESSDIRT));
lstAll.Append(tstrnew(LAY_DIM_PRESSUSELESS));
lstAll.Append(tstrnew(LAY_DIM_PRESSRAIN));
lstAll.Append(tstrnew(LAY_DIM_OTHER));
lstAll.Append(tstrnew(LAY_EQ_FEED));
lstAll.Append(tstrnew(LAY_EQ_HEADFEED));
lstAll.Append(tstrnew(LAY_EQ_HEADBACK));
lstAll.Append(tstrnew(LAY_EQ_DIRT));
lstAll.Append(tstrnew(LAY_EQ_USELESS));
lstAll.Append(tstrnew(LAY_EQ_RAIN));
lstAll.Append(tstrnew(LAY_EQ_USED));
lstAll.Append(tstrnew(LAY_EQ_FIRE));
lstAll.Append(tstrnew(LAY_EQ_SPRINKLE));
lstAll.Append(tstrnew(LAY_EQ_COAGULATE));
lstAll.Append(tstrnew(LAY_EQ_DRINK));
lstAll.Append(tstrnew(LAY_EQ_PRESSDIRT));
lstAll.Append(tstrnew(LAY_EQ_PRESSUSELESS));
lstAll.Append(tstrnew(LAY_EQ_PRESSRAIN));
lstAll.Append(tstrnew(LAY_EQ_OTHER));
if(dlg.m_bFL)
{
lst.Append(tstrnew(LAY_PIPE_USELESS));
lst.Append(tstrnew(LAY_VPIPE_USELESS));
lst.Append(tstrnew(LAY_TEXT_USELESS));
lst.Append(tstrnew(LAY_VALVE_USELESS));
lst.Append(tstrnew(LAY_DIM_USELESS));
lst.Append(tstrnew(LAY_EQ_USELESS));
lst.Append(tstrnew(LAY_WELL_USELESS));
}
if(dlg.m_bHL)
{
lst.Append(tstrnew(LAY_PIPE_SPRINKLE));
lst.Append(tstrnew(LAY_VPIPE_SPRINKLE));
lst.Append(tstrnew(LAY_PIPE_SPRINKLE2));
lst.Append(tstrnew(LAY_VPIPE_SPRINKLE2));
lst.Append(tstrnew(LAY_PIPE_SPRINKLE3));
lst.Append(tstrnew(LAY_VPIPE_SPRINKLE3));
lst.Append(tstrnew(LAY_EQUIP_SPRINKLE));
lst.Append(tstrnew(LAY_TEXT_SPRINKLE));
lst.Append(tstrnew(LAY_VALVE_SPRINKLE));
lst.Append(tstrnew(LAY_DIM_SPRINKLE));
lst.Append(tstrnew(LAY_EQ_SPRINKLE));
}
if(dlg.m_bJL)
{
lst.Append(tstrnew(LAY_PIPE_FEED));
lst.Append(tstrnew(LAY_VPIPE_FEED));
lst.Append(tstrnew(LAY_PIPE_FEED2));
lst.Append(tstrnew(LAY_VPIPE_FEED2));
lst.Append(tstrnew(LAY_PIPE_FEED3));
lst.Append(tstrnew(LAY_VPIPE_FEED3));
lst.Append(tstrnew(LAY_WELL_FEED));
lst.Append(tstrnew(LAY_TEXT_FEED));
lst.Append(tstrnew(LAY_VALVE_FEED));
lst.Append(tstrnew(LAY_DIM_FEED));
lst.Append(tstrnew(LAY_EQ_FEED));
}
if(dlg.m_bRHL)
{
lst.Append(tstrnew(LAY_PIPE_HEADBACK));
lst.Append(tstrnew(LAY_VPIPE_HEADBACK));
lst.Append(tstrnew(LAY_PIPE_HEADBACK2));
lst.Append(tstrnew(LAY_VPIPE_HEADBACK2));
lst.Append(tstrnew(LAY_PIPE_HEADBACK3));
lst.Append(tstrnew(LAY_VPIPE_HEADBACK3));
lst.Append(tstrnew(LAY_TEXT_HEADBACK));
lst.Append(tstrnew(LAY_VALVE_HEADBACK));
lst.Append(tstrnew(LAY_DIM_HEADBACK));
lst.Append(tstrnew(LAY_EQ_HEADBACK));
}
if(dlg.m_bRJL)
{
lst.Append(tstrnew(LAY_PIPE_HEADFEED));
lst.Append(tstrnew(LAY_VPIPE_HEADFEED));
lst.Append(tstrnew(LAY_PIPE_HEADFEED2));
lst.Append(tstrnew(LAY_VPIPE_HEADFEED2));
lst.Append(tstrnew(LAY_PIPE_HEADFEED3));
lst.Append(tstrnew(LAY_VPIPE_HEADFEED3));
lst.Append(tstrnew(LAY_TEXT_HEADFEED));
lst.Append(tstrnew(LAY_VALVE_HEADFEED));
lst.Append(tstrnew(LAY_DIM_HEADFEED));
lst.Append(tstrnew(LAY_EQ_HEADFEED));
}
if(dlg.m_bWL)
{
lst.Append(tstrnew(LAY_PIPE_DIRT));
lst.Append(tstrnew(LAY_VPIPE_DIRT));
lst.Append(tstrnew(LAY_WELL_DIRT));
lst.Append(tstrnew(LAY_EQUIP_LEAK));
lst.Append(tstrnew(LAY_TEXT_DIRT));
lst.Append(tstrnew(LAY_VALVE_DIRT));
lst.Append(tstrnew(LAY_DIM_DIRT));
lst.Append(tstrnew(LAY_EQ_DIRT));
}
if(dlg.m_bXL)
{
lst.Append(tstrnew(LAY_PIPE_FIRE));
lst.Append(tstrnew(LAY_VPIPE_FIRE));
lst.Append(tstrnew(LAY_PIPE_FIRE2));
lst.Append(tstrnew(LAY_VPIPE_FIRE2));
lst.Append(tstrnew(LAY_PIPE_FIRE3));
lst.Append(tstrnew(LAY_VPIPE_FIRE3));
lst.Append(tstrnew(LAY_WELL_FIRE));
lst.Append(tstrnew(LAY_EQUIP_HYDRANT));
lst.Append(tstrnew(LAY_TEXT_FIRE));
lst.Append(tstrnew(LAY_VALVE_FIRE));
lst.Append(tstrnew(LAY_DIM_HYDRANT));
lst.Append(tstrnew(LAY_EQ_FIRE));
}
if(dlg.m_bYL)
{
lst.Append(tstrnew(LAY_PIPE_RAIN));
lst.Append(tstrnew(LAY_VPIPE_RAIN));
lst.Append(tstrnew(LAY_WELL_RAIN));
lst.Append(tstrnew(LAY_EQUIP_GULLY));
lst.Append(tstrnew(LAY_TWT_GULLY));
lst.Append(tstrnew(LAY_TEXT_RAIN));
lst.Append(tstrnew(LAY_VALVE_RAIN));
lst.Append(tstrnew(LAY_DIM_RAIN));
lst.Append(tstrnew(LAY_EQ_RAIN));
}
if(dlg.m_bZL)
{
lst.Append(tstrnew(LAY_PIPE_USED));
lst.Append(tstrnew(LAY_VPIPE_USED));
lst.Append(tstrnew(LAY_PIPE_USED2));
lst.Append(tstrnew(LAY_VPIPE_USED2));
lst.Append(tstrnew(LAY_PIPE_USED3));
lst.Append(tstrnew(LAY_VPIPE_USED3));
lst.Append(tstrnew(LAY_WELL_USED));
lst.Append(tstrnew(LAY_TEXT_USED));
lst.Append(tstrnew(LAY_VALVE_USED));
lst.Append(tstrnew(LAY_DIM_USED));
lst.Append(tstrnew(LAY_EQ_USED));
lst.Append(tstrnew(LAY_WELL_USED));
}
if(dlg.m_bDrink)
{
lst.Append(tstrnew(LAY_PIPE_DRINK));
lst.Append(tstrnew(LAY_VPIPE_DRINK));
lst.Append(tstrnew(LAY_TEXT_DRINK));
lst.Append(tstrnew(LAY_VALVE_DRINK));
lst.Append(tstrnew(LAY_DIM_DRINK));
lst.Append(tstrnew(LAY_EQ_DRINK));
}
if(dlg.m_bOther)
{
lst.Append(tstrnew(LAY_PIPE_OTHER));
lst.Append(tstrnew(LAY_VPIPE_OTHER));
lst.Append(tstrnew(LAY_WELL_OTHER));
lst.Append(tstrnew(LAY_TEXT_OTHER));
lst.Append(tstrnew(LAY_VALVE_OTHER));
lst.Append(tstrnew(LAY_DIM_OTHER));
lst.Append(tstrnew(LAY_EQ_OTHER));
}
if(dlg.m_bPressDirt)
{
lst.Append(tstrnew(LAY_PIPE_PRESSDIRT));
lst.Append(tstrnew(LAY_VPIPE_PRESSDIRT));
lst.Append(tstrnew(LAY_TEXT_PRESSDIRT));
lst.Append(tstrnew(LAY_VALVE_PRESSDIRT));
lst.Append(tstrnew(LAY_DIM_PRESSDIRT));
lst.Append(tstrnew(LAY_EQ_PRESSDIRT));
}
if(dlg.m_bPressUseless)
{
lst.Append(tstrnew(LAY_PIPE_PRESSUSELESS));
lst.Append(tstrnew(LAY_VPIPE_PRESSUSELESS));
lst.Append(tstrnew(LAY_TEXT_PRESSUSELESS));
lst.Append(tstrnew(LAY_VALVE_PRESSUSELESS));
lst.Append(tstrnew(LAY_DIM_PRESSUSELESS));
lst.Append(tstrnew(LAY_EQ_PRESSUSELESS));
}
if(dlg.m_bPressRain)
{
lst.Append(tstrnew(LAY_PIPE_PRESSRAIN));
lst.Append(tstrnew(LAY_VPIPE_PRESSRAIN));
lst.Append(tstrnew(LAY_TEXT_PRESSRAIN));
lst.Append(tstrnew(LAY_VALVE_PRESSRAIN));
lst.Append(tstrnew(LAY_DIM_PRESSRAIN));
lst.Append(tstrnew(LAY_EQ_PRESSRAIN));
}
if(dlg.m_bCoagulate)
{
lst.Append(tstrnew(LAY_PIPE_COAGULATE));
lst.Append(tstrnew(LAY_VPIPE_COAGULATE));
lst.Append(tstrnew(LAY_TEXT_COAGULATE));
lst.Append(tstrnew(LAY_VALVE_COAGULATE));
lst.Append(tstrnew(LAY_DIM_COAGULATE));
lst.Append(tstrnew(LAY_EQ_COAGULATE));
}
AcDbObjectIdArray ids;
for(long i=0;i<lstAll.Length();i++)
{
CString csLay = lstAll[i];
if(lst.Index(csLay) < 0)
{
AcDbObjectId idLay = GetLayerIdFromString(csLay);
if(idLay != NULL)
ids.append(idLay);
}
}
OPENOBJ_BEGIN(ent, AcDb::kForWrite, AcDbViewport, pEnt);
if(pEnt){
pEnt->thawAllLayersInViewport();
pEnt->freezeLayersInViewport(ids);
}
OPENOBJ_END();
actrTransactionManager->flushGraphics(); //acad 刷新
PickSet ssAll(SS_FREE);
RBList rbMaskPipe(RTDXF0, _T("ATS_PIPE"), 8, GetLayerNames(_T("管")), NULL);
ssAll.Get(_T("X"), NULL, NULL, rbMaskPipe);
long len = ssAll.Length();
for(long m=0;m<len;m++)
{
Entity ent = ssAll[m];
OPENOBJ_BEGIN(ent, AcDb::kForRead, TDbPipe, pPipe);
if(pPipe){
int nPipeNum = pPipe->GetHidePipes().Length();//强制刷新存在遮挡的管线
if(nPipeNum > 0)
{
if(pPipe->upgradeOpen()==Acad::eOk)
{
pPipe->downgradeOpen();
}
}
}
OPENOBJ_END();
}
}
/////////////////////////////////////////////////////////////////////////////
// CSelPipeSysDlg dialog
CSelPipeSysDlg::CSelPipeSysDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSelPipeSysDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSelPipeSysDlg)
m_bFL = TRUE;
m_bHL = TRUE;
m_bJL = TRUE;
m_bRHL = TRUE;
m_bRJL = TRUE;
m_bWL = TRUE;
m_bXL = TRUE;
m_bYL = TRUE;
m_bZL = TRUE;
m_bDrink = TRUE;
m_bOther = TRUE;
m_bPressDirt = TRUE;
m_bPressRain = TRUE;
m_bPressUseless = TRUE;
m_bCoagulate = TRUE;
m_bAllLayer = TRUE;
//}}AFX_DATA_INIT
}
void CSelPipeSysDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSelPipeSysDlg)
DDX_Check(pDX, IDC_CHECK_FL, m_bFL);
DDX_Check(pDX, IDC_CHECK_HL, m_bHL);
DDX_Check(pDX, IDC_CHECK_JL, m_bJL);
DDX_Check(pDX, IDC_CHECK_RHL, m_bRHL);
DDX_Check(pDX, IDC_CHECK_RJL, m_bRJL);
DDX_Check(pDX, IDC_CHECK_WL, m_bWL);
DDX_Check(pDX, IDC_CHECK_XL, m_bXL);
DDX_Check(pDX, IDC_CHECK_YL, m_bYL);
DDX_Check(pDX, IDC_CHECK_ZL, m_bZL);
DDX_Check(pDX, IDC_CHECK_DRINK, m_bDrink);
DDX_Check(pDX, IDC_CHECK_OTHER, m_bOther);
DDX_Check(pDX, IDC_CHECK_PRESSDIRT, m_bPressDirt);
DDX_Check(pDX, IDC_CHECK_PRESSRAIN, m_bPressRain);
DDX_Check(pDX, IDC_CHECK_PRESSUSELESS, m_bPressUseless);
DDX_Check(pDX, IDC_CHECK_COAGULATE, m_bCoagulate);
DDX_Check(pDX, IDC_CHECK_LAYER, m_bAllLayer);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSelPipeSysDlg, CDialog)
//{{AFX_MSG_MAP(CSelPipeSysDlg)
ON_BN_CLICKED(IDC_CHECK_LAYER, OnCheckLayer)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSelPipeSysDlg message handlers
BOOL CSelPipeSysDlg::OnInitDialog()
{
CDialog::OnInitDialog();
ReadViewPortInfo();
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CSelPipeSysDlg::ReadViewPortInfo()
{
OPENOBJ_BEGIN(m_ent, AcDb::kForRead, AcDbViewport, pEnt);
if(pEnt){
AcDbObjectId id1 = GetLayerIdFromString(LAY_PIPE_USELESS);
if(id1 == NULL)
id1 = GetLayerIdFromString(LAY_VPIPE_USELESS);
if(id1 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id1))
m_bFL = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_FL);
pWnd->EnableWindow(FALSE);
m_bFL = FALSE;
}
AcDbObjectId id2 = GetLayerIdFromString(LAY_PIPE_SPRINKLE);
if(id2 == NULL)
id2 = GetLayerIdFromString(LAY_VPIPE_SPRINKLE);
if(id2 == NULL)
id2 = GetLayerIdFromString(LAY_PIPE_SPRINKLE2);
if(id2 == NULL)
id2 = GetLayerIdFromString(LAY_PIPE_SPRINKLE3);
if(id2 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id2))
m_bHL = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_HL);
pWnd->EnableWindow(FALSE);
m_bHL = FALSE;
}
AcDbObjectId id3 = GetLayerIdFromString(LAY_PIPE_FEED);
if(id3 == NULL)
id3 = GetLayerIdFromString(LAY_VPIPE_FEED);
if(id3 == NULL)
id3 = GetLayerIdFromString(LAY_PIPE_FEED2);
if(id3 == NULL)
id3 = GetLayerIdFromString(LAY_PIPE_FEED3);
if(id3 == NULL)
id3 = GetLayerIdFromString(LAY_VPIPE_FEED2);
if(id3 == NULL)
id3 = GetLayerIdFromString(LAY_VPIPE_FEED3);
if(id3 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id3))
m_bJL = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_JL);
pWnd->EnableWindow(FALSE);
m_bJL = FALSE;
}
AcDbObjectId id4 = GetLayerIdFromString(LAY_PIPE_HEADBACK);
if(id4 == NULL)
id4 = GetLayerIdFromString(LAY_VPIPE_HEADBACK);
if(id4 == NULL)
id4 = GetLayerIdFromString(LAY_PIPE_HEADBACK2);
if(id4 == NULL)
id4 = GetLayerIdFromString(LAY_PIPE_HEADBACK3);
if(id4 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id4))
m_bRHL = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_RHL);
pWnd->EnableWindow(FALSE);
m_bRHL = FALSE;
}
AcDbObjectId id5 = GetLayerIdFromString(LAY_PIPE_HEADFEED);
if(id5 == NULL)
id5 = GetLayerIdFromString(LAY_VPIPE_HEADFEED);
if(id5 == NULL)
id5 = GetLayerIdFromString(LAY_PIPE_HEADFEED2);
if(id5 == NULL)
id5 = GetLayerIdFromString(LAY_PIPE_HEADFEED3);
if(id5 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id5))
m_bRJL = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_RJL);
pWnd->EnableWindow(FALSE);
m_bRJL = FALSE;
}
AcDbObjectId id6 = GetLayerIdFromString(LAY_PIPE_FIRE);
if(id6 == NULL)
id6 = GetLayerIdFromString(LAY_VPIPE_FIRE);
if(id6 == NULL)
id6 = GetLayerIdFromString(LAY_PIPE_FIRE2);
if(id6 == NULL)
id6 = GetLayerIdFromString(LAY_PIPE_FIRE3);
if(id6 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id6))
m_bXL = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_XL);
pWnd->EnableWindow(FALSE);
m_bXL = FALSE;
}
AcDbObjectId id7 = GetLayerIdFromString(LAY_PIPE_DIRT);
if(id7 == NULL)
id7 = GetLayerIdFromString(LAY_VPIPE_DIRT);
if(id7 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id7))
m_bWL = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_WL);
pWnd->EnableWindow(FALSE);
m_bWL = FALSE;
}
AcDbObjectId id8 = GetLayerIdFromString(LAY_PIPE_RAIN);
if(id8 == NULL)
id8 = GetLayerIdFromString(LAY_VPIPE_RAIN);
if(id8 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id8))
m_bYL = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_YL);
pWnd->EnableWindow(FALSE);
m_bYL = FALSE;
}
AcDbObjectId id9 = GetLayerIdFromString(LAY_PIPE_USED);
if(id9 == NULL)
id9 = GetLayerIdFromString(LAY_VPIPE_USED);
if(id9 == NULL)
id9 = GetLayerIdFromString(LAY_PIPE_USED2);
if(id9 == NULL)
id9 = GetLayerIdFromString(LAY_PIPE_USED3);
if(id9 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id9))
m_bZL = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_ZL);
pWnd->EnableWindow(FALSE);
m_bZL = FALSE;
}
AcDbObjectId id10 = GetLayerIdFromString(LAY_PIPE_DRINK);
if(id10 == NULL)
id10 = GetLayerIdFromString(LAY_VPIPE_DRINK);
if(id10 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id10))
m_bDrink = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_DRINK);
pWnd->EnableWindow(FALSE);
m_bDrink = FALSE;
}
AcDbObjectId id11 = GetLayerIdFromString(LAY_PIPE_OTHER);
if(id11 == NULL)
id11 = GetLayerIdFromString(LAY_VPIPE_OTHER);
if(id11 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id11))
m_bOther = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_OTHER);
pWnd->EnableWindow(FALSE);
m_bOther = FALSE;
}
AcDbObjectId id12 = GetLayerIdFromString(LAY_PIPE_PRESSDIRT);
if(id12 == NULL)
id12 = GetLayerIdFromString(LAY_VPIPE_PRESSDIRT);
if(id12 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id12))
m_bPressDirt = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_PRESSDIRT);
pWnd->EnableWindow(FALSE);
m_bPressDirt = FALSE;
}
AcDbObjectId id13 = GetLayerIdFromString(LAY_PIPE_PRESSUSELESS);
if(id13 == NULL)
id13 = GetLayerIdFromString(LAY_VPIPE_PRESSUSELESS);
if(id13 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id13))
m_bPressUseless = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_PRESSUSELESS);
pWnd->EnableWindow(FALSE);
m_bPressUseless = FALSE;
}
AcDbObjectId id14 = GetLayerIdFromString(LAY_PIPE_PRESSRAIN);
if(id14 == NULL)
id14 = GetLayerIdFromString(LAY_VPIPE_PRESSRAIN);
if(id14 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id14))
m_bPressRain = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_PRESSRAIN);
pWnd->EnableWindow(FALSE);
m_bPressRain = FALSE;
}
AcDbObjectId id15 = GetLayerIdFromString(LAY_PIPE_COAGULATE);
if(id15 == NULL)
id15 = GetLayerIdFromString(LAY_VPIPE_COAGULATE);
if(id15 != NULL)
{
if(pEnt->isLayerFrozenInViewport(id15))
m_bCoagulate = FALSE;
}
else
{
CWnd *pWnd = GetDlgItem(IDC_CHECK_COAGULATE);
pWnd->EnableWindow(FALSE);
m_bCoagulate = FALSE;
}
}
OPENOBJ_END();
if(!m_bFL || !m_bHL || !m_bJL || !m_bRHL || !m_bRJL || !m_bXL || !m_bWL || !m_bYL
|| !m_bZL|| !m_bDrink|| !m_bOther|| !m_bPressDirt|| !m_bPressUseless|| !m_bPressRain|| !m_bCoagulate)
m_bAllLayer = FALSE;
}
void CSelPipeSysDlg::OnCheckLayer()
{
UpdateData(TRUE);
if(m_bAllLayer){
m_bFL = TRUE;
m_bHL = TRUE;
m_bJL = TRUE;
m_bRHL = TRUE;
m_bRJL = TRUE;
m_bWL = TRUE;
m_bXL = TRUE;
m_bYL = TRUE;
m_bZL = TRUE;
m_bDrink = TRUE;
m_bOther = TRUE;
m_bPressDirt = TRUE;
m_bPressRain = TRUE;
m_bPressUseless = TRUE;
m_bCoagulate = TRUE;
}
else{
m_bFL = FALSE;
m_bHL = FALSE;
m_bJL = FALSE;
m_bRHL = FALSE;
m_bRJL = FALSE;
m_bWL = FALSE;
m_bXL = FALSE;
m_bYL = FALSE;
m_bZL = FALSE;
m_bDrink = FALSE;
m_bOther = FALSE;
m_bPressDirt = FALSE;
m_bPressRain = FALSE;
m_bPressUseless = FALSE;
m_bCoagulate = FALSE;
}
UpdateData(FALSE);
}