📄 linkagealarmset.cpp
字号:
// LinkageAlarmSet.cpp : implementation file
//
#include "stdafx.h"
#include "gtmpeg.h"
#include "LinkageAlarmSet.h"
#include "SecondaryOutSet.h"
#include "ZoneSet.h"
#include "GtMpegWnd.h"
#include "Chunnel.h"
#include "AppendSecondarySet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////
IMPLEMENT_DYNCREATE(CLinkageAlarmSet, CPropertyPage)
/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////
CLinkageAlarmSet::CLinkageAlarmSet() : CPropertyPage(CLinkageAlarmSet::IDD)
{
//{{AFX_DATA_INIT(CLinkageAlarmSet)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_nCurChunnel=0;
}
CLinkageAlarmSet::~CLinkageAlarmSet()
{
}
/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////
void CLinkageAlarmSet::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLinkageAlarmSet)
DDX_Control(pDX, IDC_CHUNNEL_BOX, m_cChunnelBox);
//}}AFX_DATA_MAP
}
/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////
BEGIN_MESSAGE_MAP(CLinkageAlarmSet, CPropertyPage)
//{{AFX_MSG_MAP(CLinkageAlarmSet)
ON_BN_CLICKED(IDC_SECONDARY_OUT_SET, OnSecondaryOutSet)
ON_BN_CLICKED(IDC_ZONE_SET, OnZoneSet)
ON_CBN_CLOSEUP(IDC_CHUNNEL_BOX, OnCloseupChunnelBox)
ON_BN_CLICKED(IDC_SAVE, OnSave)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_1, OnCloseupBindChannel1)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_2, OnCloseupBindChannel2)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_3, OnCloseupBindChannel3)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_4, OnCloseupBindChannel4)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_5, OnCloseupBindChannel5)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_6, OnCloseupBindChannel6)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_7, OnCloseupBindChannel7)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_8, OnCloseupBindChannel8)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_9, OnCloseupBindChannel9)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_10, OnCloseupBindChannel10)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_11, OnCloseupBindChannel11)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_12, OnCloseupBindChannel12)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_13, OnCloseupBindChannel13)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_14, OnCloseupBindChannel14)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_15, OnCloseupBindChannel15)
ON_CBN_CLOSEUP(IDC_BIND_CHANNEL_16, OnCloseupBindChannel16)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_1, OnCloseupBindSecondary1)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_2, OnCloseupBindSecondary2)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_3, OnCloseupBindSecondary3)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_4, OnCloseupBindSecondary4)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_5, OnCloseupBindSecondary5)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_6, OnCloseupBindSecondary6)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_7, OnCloseupBindSecondary7)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_8, OnCloseupBindSecondary8)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_9, OnCloseupBindSecondary9)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_10, OnCloseupBindSecondary10)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_11, OnCloseupBindSecondary11)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_12, OnCloseupBindSecondary12)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_13, OnCloseupBindSecondary13)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_14, OnCloseupBindSecondary14)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_15, OnCloseupBindSecondary15)
ON_CBN_CLOSEUP(IDC_BIND_SECONDARY_16, OnCloseupBindSecondary16)
ON_CBN_CLOSEUP(IDC_REC_STOP_1, OnCloseupRecStop1)
ON_CBN_CLOSEUP(IDC_REC_STOP_2, OnCloseupRecStop2)
ON_CBN_CLOSEUP(IDC_REC_STOP_3, OnCloseupRecStop3)
ON_CBN_CLOSEUP(IDC_REC_STOP_4, OnCloseupRecStop4)
ON_CBN_CLOSEUP(IDC_REC_STOP_5, OnCloseupRecStop5)
ON_CBN_CLOSEUP(IDC_REC_STOP_6, OnCloseupRecStop6)
ON_CBN_CLOSEUP(IDC_REC_STOP_7, OnCloseupRecStop7)
ON_CBN_CLOSEUP(IDC_REC_STOP_8, OnCloseupRecStop8)
ON_CBN_CLOSEUP(IDC_REC_STOP_9, OnCloseupRecStop9)
ON_CBN_CLOSEUP(IDC_REC_STOP_10, OnCloseupRecStop10)
ON_CBN_CLOSEUP(IDC_REC_STOP_11, OnCloseupRecStop11)
ON_CBN_CLOSEUP(IDC_REC_STOP_12, OnCloseupRecStop12)
ON_CBN_CLOSEUP(IDC_REC_STOP_13, OnCloseupRecStop13)
ON_CBN_CLOSEUP(IDC_REC_STOP_14, OnCloseupRecStop14)
ON_CBN_CLOSEUP(IDC_REC_STOP_15, OnCloseupRecStop15)
ON_CBN_CLOSEUP(IDC_REC_STOP_16, OnCloseupRecStop16)
//}}AFX_MSG_MAP
ON_COMMAND_EX_RANGE(IDC_APPEND_BUTTON1, IDC_APPEND_BUTTON16, OnAppendButton)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////
BOOL CLinkageAlarmSet::OnInitDialog()
{
CPropertyPage::OnInitDialog();
for(int i=0;i<theApp.m_nChunnel;i++)
{
CString sTxt;
sTxt.Format("报警通道%d",i+1);
m_cChunnelBox.AddString(sTxt);
}
m_cChunnelBox.SetCurSel(m_nCurChunnel);
UpdateSet();
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////
void CLinkageAlarmSet::OnSecondaryOutSet()
{
CGtMpegWnd *pWnd=(CGtMpegWnd *)theApp.m_pMainWnd;
CChunnel* pCurChunnel=pWnd->GetChunnel(m_nCurChunnel);
CSecondaryOutSet dlg(pCurChunnel,m_nCurChunnel);
if(dlg.DoModal()==IDOK)
{
OnSave();
}
}
/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////
void CLinkageAlarmSet::OnZoneSet()
{
CGtMpegWnd *pWnd=(CGtMpegWnd *)theApp.m_pMainWnd;
CChunnel* pCurChunnel=pWnd->GetChunnel(m_nCurChunnel);
CZoneSet dlg(pCurChunnel,m_nCurChunnel);
if(dlg.DoModal()==IDOK)
{
OnSave();
UpdateSet();
}
}
/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////
void CLinkageAlarmSet::OnCloseupChunnelBox()
{
int nIndex=m_cChunnelBox.GetCurSel();
if(nIndex!=-1)
{
if(nIndex!=m_nCurChunnel)
{
m_nCurChunnel=nIndex;
UpdateSet();
SetFocus();
}
}
}
/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////
void CLinkageAlarmSet::UpdateSet()
{
CGtMpegWnd *pWnd=(CGtMpegWnd *)theApp.m_pMainWnd;
CChunnel* pCurChunnel=pWnd->GetChunnel(m_nCurChunnel);
if(pCurChunnel!=NULL)
{
for(int i=0;i<16;i++)
{
CZone *pZone=pCurChunnel->GetZone(i);
BOOL bEnable=TRUE;
if(pZone->m_nType==7)
bEnable=FALSE;
CComboBox *pChannelBox=(CComboBox*)GetDlgItem(IDC_BIND_CHANNEL_1+i);
if(bEnable)
pChannelBox->SetCurSel(pZone->GetBindChannel()+1);
pChannelBox->EnableWindow(bEnable);
CComboBox *pSecondaryBox=(CComboBox*)GetDlgItem(IDC_BIND_SECONDARY_1+i);
if(bEnable)
pSecondaryBox->SetCurSel(pZone->GetBindSecondary()+1);
pSecondaryBox->EnableWindow(bEnable);
CComboBox *pRecStopBox=(CComboBox*)GetDlgItem(IDC_REC_STOP_1+i);
if(bEnable)
pRecStopBox->SetCurSel(pZone->GetRecordTimer());
pRecStopBox->EnableWindow(bEnable);
CEdit *pEdit=(CEdit *)GetDlgItem(IDC_APPEND_EDIT1+i);
CString sTxt;
sTxt.Format("通道%d,%d路输出",pZone->m_nBindChunnel2+1,pZone->m_nBindSecondary2+1);
if(pZone->m_nBindChunnel2!=-1&&pZone->m_nBindSecondary2!=-1&&bEnable)
pEdit->SetWindowText(sTxt);
else
pEdit->SetWindowText("");
pEdit->EnableWindow(bEnable);
}
}
else
{
for(int i=0;i<16;i++)
{
CComboBox *pChannelBox=(CComboBox*)GetDlgItem(IDC_BIND_CHANNEL_1+i);
pChannelBox->SetCurSel(-1);
CComboBox *pSecondaryBox=(CComboBox*)GetDlgItem(IDC_BIND_SECONDARY_1+i);
pSecondaryBox->SetCurSel(-1);
CComboBox *pSecondaryStopBox=(CComboBox*)GetDlgItem(IDC_SECONDARY_STOP_1+i);
pSecondaryStopBox->SetCurSel(-1);
CComboBox *pRecStopBox=(CComboBox*)GetDlgItem(IDC_REC_STOP_1+i);
pRecStopBox->SetCurSel(-1);
}
}
}
/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////
void CLinkageAlarmSet::OnSave()
{
CGtMpegWnd *pWnd=(CGtMpegWnd *)theApp.m_pMainWnd;
pWnd->SaveAlarmSet();
}
/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////
void CLinkageAlarmSet::SetRecStop(int nAddress,int nWay)
{
CGtMpegWnd *pWnd=(CGtMpegWnd *)theApp.m_pMainWnd;
CChunnel* pCurChunnel=pWnd->GetChunnel(m_nCurChunnel);
if(pCurChunnel!=NULL)
{
CZone *pZone=pCurChunnel->GetZone(nAddress);
if(pZone!=NULL)
pZone->SetRecordTimer(nWay);
}
}
/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////
void CLinkageAlarmSet::SetBindChannel(int nAddress,int nChannel)
{
CGtMpegWnd *pWnd=(CGtMpegWnd *)theApp.m_pMainWnd;
CChunnel* pCurChunnel=pWnd->GetChunnel(m_nCurChunnel);
if(pCurChunnel!=NULL)
{
CZone *pZone=pCurChunnel->GetZone(nAddress);
if(pZone!=NULL)
pZone->SetBindChannel(nChannel);
}
}
/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////
void CLinkageAlarmSet::SetBindSecondary(int nAddress,int nSecondary)
{
CGtMpegWnd *pWnd=(CGtMpegWnd *)theApp.m_pMainWnd;
CChunnel* pCurChunnel=pWnd->GetChunnel(m_nCurChunnel);
if(pCurChunnel!=NULL)
{
CZone *pZone=pCurChunnel->GetZone(nAddress);
if(pZone!=NULL)
pZone->SetBindSecondary(nSecondary);
}
}
/////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////
void CLinkageAlarmSet::OnCloseupBindChannel1()
{
CComboBox *pChannelBox=(CComboBox*)GetDlgItem(IDC_BIND_CHANNEL_1);
SetBindChannel(0,pChannelBox->GetCurSel()-1);
}
void CLinkageAlarmSet::OnCloseupBindChannel2()
{
CComboBox *pChannelBox=(CComboBox*)GetDlgItem(IDC_BIND_CHANNEL_2);
SetBindChannel(1,pChannelBox->GetCurSel()-1);
}
void CLinkageAlarmSet::OnCloseupBindChannel3()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -