void ConfigTreeObject_EventAction::slotEventAction_A_Typechanged() { QFile file; Operation_Mode_Type mode = (Operation_Mode_Type)ConfigTreeObject \ ::getConfigObject(EVENT_DELEGATE_EVENT_MODE)->getData().toUInt(); switch(mode) { case Operation_Mode_Type_RisingEdge: case Operation_Mode_Type_FallingEdge: case Operation_Mode_Type_Edge: file.setFileName(XML_EVENT_ACTION_TYPE); break; case Operation_Mode_Type_Both: file.setFileName(XML_EVENT_ACTION_TYPE_C); break; } QVariant value = ConfigTreeObject::getConfigObject(EVENT_DELEGATE_ACTION_TYPE)->getData(); if(!file.open(QFile::ReadOnly | QFile::Text)){ qWarning()<< "Can't open the file:EventAction_ActionType!"; }else{ XmlConfigParser::parseValueChangeXml(file, value); file.close(); } QMap<quint32,QString> m_map; Action_Type valueCur = (Action_Type)value.toUInt(); if(Action_Type1_Recorded == valueCur) { m_map.insert(Action_Detail_Start, tr("Start")); m_map.insert(Action_Detail_Stop, tr("Stop")); } else if (Action_Type1_Computation == valueCur) { m_map.insert(Action_Detail_Start, tr("Start")); m_map.insert(Action_Detail_Stop, tr("Stop")); m_map.insert(Action_Detail_Reset, tr("Reset")); } else if (Action_Type1_Message == valueCur) { m_map.insert(Action_Detail_AllGrp, tr("All groups")); m_map.insert(Action_Detail_SpecGrp, tr("Specified group")); } else { return; } ConfigObject* pObj = ConfigTreeObject::getConfigObject(EVENT_DELEGATE_ACTION_DETAIL); if(pObj) { Action_Detail detailCur = (Action_Detail)pObj->getData().toUInt(); if(!(m_map.contains(detailCur))) { pObj->changeData(m_map.firstKey(), false); } } }
void ConfigTreeObject_Math::slotMathFirst_chanSelectchanged() { QString chanNumF; QString chanNumL; ConfigObject *pObj = ConfigTreeObject::getConfigObject(MATH_DELEGATE_FIRSTCHAN); ConfigObject *qObj = ConfigTreeObject::getConfigObject(MATH_DELEGATE_LASTCHAN); if(pObj && qObj){ chanNumF = pObj->getData().toString(); chanNumL = qObj->getData().toString(); pObj->setStrShowOn(chanNumF); qObj->changeData(chanNumF, false); } }
void ConfigTreeObject_Math::slotMathLast_chanSelectchanged() { QString chanNumF; QString chanNumL; ConfigObject *pObj = ConfigTreeObject::getConfigObject(MATH_DELEGATE_FIRSTCHAN); ConfigObject *qObj = ConfigTreeObject::getConfigObject(MATH_DELEGATE_LASTCHAN); if(pObj && qObj){ chanNumL = qObj->getData().toString(); chanNumF = pObj->getData().toString(); int value = QString::compare(chanNumF, chanNumL); if(value <= 0) { qObj->setStrShowOn(chanNumL); } else{ qObj->setStrShowOn(chanNumL); pObj->changeData(chanNumL ,false); } } }
void ConfigTreeObject_EventAction::slotEventAction_E_Typechanged() { QVariant value = ConfigTreeObject::getConfigObject(EVENT_DELEGATE_EVENT_TYPE)->getData(); QFile file(XML_EVENT_EVENT_TYPE); if(!file.open(QFile::ReadOnly | QFile::Text)){ qWarning()<< "Can't open the file:EventAction_EventType!"; }else{ XmlConfigParser::parseValueChangeXml(file, value); file.close(); } QMap<quint32,QString> m_map_EventMode; m_map_EventMode.insert(Operation_Mode_Type_RisingEdge, tr("Rising edge")); m_map_EventMode.insert(Operation_Mode_Type_FallingEdge, tr("Falling edge")); m_map_EventMode.insert(Operation_Mode_Type_Both, tr("Rising / Falling edge")); m_map_EventMode.insert(Operation_Mode_Type_Edge, tr("Edge")); Event_Type valueCur = (Event_Type)value.toUInt(); if ((Event_Type_Timer == valueCur) || (Event_Type_Timer_Match == valueCur) || (Event_Type_UserFunc == valueCur)) { m_map_EventMode.remove(Operation_Mode_Type_RisingEdge); m_map_EventMode.remove(Operation_Mode_Type_FallingEdge); m_map_EventMode.remove(Operation_Mode_Type_Both); } else { m_map_EventMode.remove(Operation_Mode_Type_Edge); } ConfigObject* pObj = ConfigTreeObject::getConfigObject(EVENT_DELEGATE_EVENT_MODE); if(pObj) { Operation_Mode_Type modeCur = (Operation_Mode_Type)pObj->getData().toUInt(); if(!(m_map_EventMode.contains(modeCur))) { pObj->changeData(m_map_EventMode.firstKey(), false); } } ConfigObject* qObj = ConfigTreeObject::getConfigObject(EVENT_DELEGATE_EVENT_NUMBER); if(qObj) { switch(valueCur) { case Event_Type_InterSwitch: case Event_Type_Timer: case Event_Type_Timer_Match: case Event_Type_UserFunc: qObj->changeData(1, false); break; case Event_Type_Remote://need to modify TODO qObj->changeData(CfgChannel::instance()->getExistChannelDI().first(), false); break; case Event_Type_Relay: qObj->changeData(CfgChannel::instance()->getExistChannelDO().first(), false); break; case Event_Type_Alarm_IO: qObj->changeData(CfgChannel::instance()->getExistChannel().first(), false); break; case Event_Type_Alarm_Math: qObj->changeData(CfgChannel::instance()->getExistChannelMath().first(), false); break; case Event_Type_Alarm_Comm: qObj->changeData(CfgChannel::instance()->getExistChannelComm().first(), false); break; case Event_Type_Alarm_All: case Event_Type_Status: break; default: break; } } }