// PageEventSettings.cpp : implementation file // #include "stdafx.h" #include "mgrnve.h" #include "ConnectionManager.h" #include "PageEventSettings.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CPageEventSettings dialog CPageEventSettings::CPageEventSettings(CWnd* pParent, CMgrNVE* pMgrCM, CConnectionManager *pConnMgr) : CParamDlg(CPageEventSettings::IDD, pParent, pMgrCM, pConnMgr) { //{{AFX_DATA_INIT(CPageEventSettings) m_chkDisableEventComm = FALSE; //}}AFX_DATA_INIT m_pCod5Api = NULL; m_pMsgMgr = NULL; } void CPageEventSettings::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPageEventSettings) DDX_Control(pDX, IDC_STATIC_DO, m_stDO); DDX_Control(pDX, IDC_STATIC_DI, m_stDI); DDX_Check(pDX, IDC_CHK_DISABLE_EVENT_COMM, m_chkDisableEventComm); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CPageEventSettings, CDialog) //{{AFX_MSG_MAP(CPageEventSettings) ON_BN_CLICKED(IDC_CHK_DISABLE_EVENT_COMM, OnChkDisableEventComm) //}}AFX_MSG_MAP ON_COMMAND_RANGE(IDC_CHK_DO_0,IDC_CHK_DO_3,OnCheckDOBtns) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CPageEventSettings message handlers BOOL CPageEventSettings::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here m_pCod5Api = m_pConnection->GetCod5Api(); m_pMsgMgr = m_pConnection->GetMgrNVE()->GetMsgManager(); ULONG i; ULONG uVStatus; CButton *pBtn = (CButton*)GetDlgItem(IDC_CHK_VSTATUS_0); CHECK_AND_RETURN_FALSE(m_pCod5Api->Cod5GetVideoStatus(0, m_pConnection->GetGlobalSettings()->BoardInfo.uMaxChannel, &uVStatus), "Cannot get video status") pBtn->SetCheck(uVStatus); #if 0 if (!m_pConnection->IsFirstCh()) { m_stDI.ShowWindow(SW_HIDE); //m_stDO.ShowWindow(SW_HIDE); } #endif ULONG uSensor; CHECK_AND_RETURN_FALSE(m_pCod5Api->Cod5GetDI(0, m_pConnection->GetGlobalSettings()->BoardInfo.uMaxDI, &uSensor), "Cannot get DI"); for (i=0; iGetGlobalSettings()->BoardInfo.uMaxDI; i++) { CButton *pBtn = (CButton*)GetDlgItem(IDC_CHK_SENSOR_0+i); pBtn->ShowWindow(TRUE); #if 0 if (!m_pConnection->IsFirstCh()) { pBtn->ShowWindow(SW_HIDE); continue; } #endif if (pBtn) { pBtn->SetCheck(!((uSensor >> i)&0x01)); } } ULONG uDO; CHECK_AND_RETURN_FALSE(m_pCod5Api->Cod5GetDO(0, m_pConnection->GetGlobalSettings()->BoardInfo.uMaxDO, &uDO), "Cannot get DO"); for (i=0; iGetGlobalSettings()->BoardInfo.uMaxDO; i++) { CButton *pBtn = (CButton*)GetDlgItem(IDC_CHK_DO_0+i); pBtn->ShowWindow(TRUE); /*if (!m_pConnection->IsFirstCh()) { pBtn->ShowWindow(SW_HIDE); continue; }*/ if (pBtn) { pBtn->SetCheck((uDO >> i)&0x01); } } m_chkDisableEventComm = theApp.m_bIgnoreEventComm; // - cjy, 07_0430 20:06 UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } BOOL CPageEventSettings::SaveSetting() { return TRUE; } BOOL CPageEventSettings::ResetSetting() { ULONG d = 0; m_pCod5Api->Cod5SetDO(0, m_pConnection->GetGlobalSettings()->BoardInfo.uMaxDO, &d); for (ULONG i=0; iGetGlobalSettings()->BoardInfo.uMaxDO; i++) { CButton *pBtn = (CButton*)GetDlgItem(IDC_CHK_DO_0+i); if (pBtn) { pBtn->SetCheck(0); } } return TRUE; } BOOL CPageEventSettings::UpdateSetting() { return TRUE; } void CPageEventSettings::ShowVStatus(CMN5_VIDEO_STATUS_INFO *pInfo) { CButton *pBtn = (CButton*)GetDlgItem(IDC_CHK_VSTATUS_0); if (pBtn) { pBtn->SetCheck(pInfo->VideoStatus[0]); } } void CPageEventSettings::ShowDI(CMN5_SENSOR_STATUS_INFO *pInfo) { for (ULONG i=0; iGetGlobalSettings()->BoardInfo.uMaxDI; i++) { CButton *pBtn = (CButton*)GetDlgItem(IDC_CHK_SENSOR_0+i); if (pBtn) { pBtn->SetCheck((pInfo->SensorStatus[0] >> i)&0x01); } } } void CPageEventSettings::OnCheckDOBtns(UINT id) { ULONG d = 0; for(ULONG i=0; iGetGlobalSettings()->BoardInfo.uMaxDO; i++){ d |= (IsDlgButtonChecked(IDC_CHK_DO_0 + i) << i); } m_pCod5Api->Cod5SetDO(0, m_pConnection->GetGlobalSettings()->BoardInfo.uMaxDO, &d); } void CPageEventSettings::OnChkDisableEventComm() { // TODO: Add your control notification handler code here UpdateData(); theApp.m_bIgnoreEventComm = m_chkDisableEventComm; // - cjy, 07_0430 20:06 // UpdateData(FALSE); }