/*
|
* Copyright(C) 2010,Hikvision Digital Technology Co., Ltd
|
*
|
* ÎļþÃû³Æ£ºcalarminptz.cpp
|
* Ãè Êö£º
|
* µ±Ç°°æ±¾£º1.0
|
* ×÷ ÕߣºÅËÑǶ«
|
* ´´½¨ÈÕÆÚ£º2010Äê1ÔÂ15ÈÕ
|
* Ð޸ļǼ£º
|
*/
|
|
#include "calarminptz.h"
|
#include "publicfuc.h"
|
|
CAlarmInPTZ::CAlarmInPTZ(QWidget *parent)
|
: QDialog(parent)
|
{
|
ui.setupUi(this);
|
|
m_lUserID = -1;
|
m_pAlarmInInfo = NULL; //Íⲿ´«È룬ÍⲿÊÍ·Å
|
connect(ui.comboChannel, SIGNAL(activated(int)), this, SLOT(changeChanIndex(int)));
|
}
|
|
CAlarmInPTZ::~CAlarmInPTZ()
|
{
|
|
}
|
|
|
int CAlarmInPTZ::setUserID(long lUserID)
|
{
|
if(lUserID >= 0)
|
{
|
m_lUserID = lUserID;
|
return HPR_OK;
|
}
|
else
|
{
|
return HPR_ERROR;
|
}
|
}
|
|
int CAlarmInPTZ::setAlarmInInfo(LPNET_DVR_ALARMINCFG_V30 pAlarmInInfo)
|
{
|
if(pAlarmInInfo == NULL)
|
{
|
return HPR_ERROR;
|
}
|
|
//½«É豸²ÎÊýдÈë½çÃæ
|
m_pAlarmInInfo = pAlarmInInfo;
|
return HPR_OK;
|
}
|
|
//ÉèÖÃÊý¾Ýµ½½çÃæ
|
int CAlarmInPTZ::getAlarmInPTZInfo()
|
{
|
if(m_pAlarmInInfo == NULL || m_lUserID < 0)
|
{
|
return HPR_ERROR;
|
}
|
|
//ÏÈ»ñȡͨµÀ
|
KIT_CHAN_INFO struChanInfo;
|
if(KIT_GetChannelInfo(m_lUserID, &struChanInfo) == HPR_ERROR)
|
{
|
return HPR_ERROR;
|
}
|
//Éú³ÉͨµÀlist±í¸ñ
|
int i;
|
int iChanIndex;
|
QStringList list;
|
char strTemp[100] = {0};
|
for(i = 0; i < MAX_CHANNUM_V30; i++ )
|
{
|
iChanIndex = struChanInfo.iArrayChanInfo[i] - struChanInfo.cStartNO;
|
if(iChanIndex < 0)
|
{
|
continue;
|
}
|
if(iChanIndex >= 0 && iChanIndex < MAX_ANALOG_CHANNUM)
|
{
|
sprintf(strTemp, "Channel%d", struChanInfo.iArrayChanInfo[i]);
|
list<<strTemp;
|
}
|
if( iChanIndex >= MAX_ANALOG_CHANNUM && iChanIndex < MAX_CHANNUM_V30)
|
{
|
sprintf(strTemp, "IPChannel%d", struChanInfo.iArrayChanInfo[i]);
|
list<<strTemp;
|
}
|
}
|
ui.comboChannel->addItems(list);
|
|
//ĬÈÏÏÔʾµÚÒ»¸öͨµÀµÄÊý¾Ý
|
changeChanIndex(0);
|
|
|
return HPR_OK;
|
}
|
|
//ÉèÖÃÊý¾Ýµ½É豸ÉÏ
|
int CAlarmInPTZ::setAlarmInPTZInfo()
|
{
|
if(m_pAlarmInInfo == NULL || m_lUserID < 0)
|
{
|
return HPR_ERROR;
|
}
|
|
int iChanIndex;
|
iChanIndex = ui.comboChannel->currentIndex();
|
int iTemp = 0;
|
|
//»ñȡֵµ½É豸
|
//Ô¤Öõã
|
if(ui.rBtnPreset->isChecked())
|
{
|
m_pAlarmInInfo->byEnablePreset[iChanIndex] = 1;
|
KIT_editToInt(ui.editPresetNo, &iTemp);
|
m_pAlarmInInfo->byPresetNo[iChanIndex] = (BYTE)iTemp;
|
}
|
|
//Ô¤Öõã
|
if(ui.rBtnCruise->isChecked())
|
{
|
m_pAlarmInInfo->byEnableCruise[iChanIndex] = 1;
|
KIT_editToInt(ui.editCruiseNo, &iTemp);
|
m_pAlarmInInfo->byCruiseNo[iChanIndex] = (BYTE)iTemp;
|
}
|
|
//Ô¤Öõã
|
if(ui.rBtnPtzTrack->isChecked())
|
{
|
m_pAlarmInInfo->byEnablePtzTrack[iChanIndex] = 1;
|
KIT_editToInt(ui.editPtzTrackNO, &iTemp);
|
m_pAlarmInInfo->byPTZTrack[iChanIndex] = (BYTE)iTemp;
|
}
|
|
return HPR_OK;
|
}
|
|
void CAlarmInPTZ::changeChanIndex(int index)
|
{
|
if(index < 0)
|
{
|
return ;
|
}
|
//ÊÇ·ñµ÷ÓÃÔ¤Öõã,
|
ui.rBtnPreset->setChecked(m_pAlarmInInfo->byEnablePreset[index]);
|
ui.editPresetNo->setEnabled(m_pAlarmInInfo->byEnablePreset[index]);
|
KIT_intToEdit(ui.editPresetNo, (int)m_pAlarmInInfo->byPresetNo[index]);
|
|
//ÊÇ·ñµ÷ÓÃÔ¤Öõã
|
ui.rBtnCruise->setChecked(m_pAlarmInInfo->byEnableCruise[index]);
|
ui.editCruiseNo->setEnabled(m_pAlarmInInfo->byEnableCruise[index]);
|
KIT_intToEdit(ui.editCruiseNo, (int)m_pAlarmInInfo->byCruiseNo[index]);
|
|
//ÊÇ·ñµ÷Óù켣
|
ui.rBtnPtzTrack->setChecked(m_pAlarmInInfo->byEnablePtzTrack[index]);
|
ui.editPtzTrackNO->setEnabled(m_pAlarmInInfo->byEnablePtzTrack[index]);
|
KIT_intToEdit(ui.editPtzTrackNO, (int)m_pAlarmInInfo->byPTZTrack[index]);
|
|
}
|
|
void CAlarmInPTZ::on_rBtnPreset_clicked()
|
{
|
ui.editPresetNo->setEnabled(TRUE);
|
ui.editCruiseNo->setEnabled(FALSE);
|
ui.editPtzTrackNO->setEnabled(FALSE);
|
}
|
|
void CAlarmInPTZ::on_rBtnCruise_clicked()
|
{
|
ui.editPresetNo->setEnabled(FALSE);
|
ui.editCruiseNo->setEnabled(TRUE);
|
ui.editPtzTrackNO->setEnabled(FALSE);
|
}
|
|
void CAlarmInPTZ::on_rBtnPtzTrack_clicked()
|
{
|
ui.editPresetNo->setEnabled(FALSE);
|
ui.editCruiseNo->setEnabled(FALSE);
|
ui.editPtzTrackNO->setEnabled(TRUE);
|
}
|
|
void CAlarmInPTZ::on_btnSave_clicked()
|
{
|
setAlarmInPTZInfo();
|
close();
|
}
|
|
void CAlarmInPTZ::on_btnExit_clicked()
|
{
|
close();
|
}
|
|
void CAlarmInPTZ::showEvent(QShowEvent * event)
|
{
|
if(NULL == event)
|
{
|
}
|
getAlarmInPTZInfo();
|
}
|