CaMessageNodeTree* CuListCtrlLoggedEvent::CreateMessageNode(CaMessageManager* pMsgEntry, CaLoggedEvent* pMsg) { CaMessage* pMsgExist = NULL; CaMessageEntry* pEntry = pMsgEntry->FindEntry (pMsg->GetCatType()); ASSERT (pEntry); if (!pEntry) return NULL; pMsgExist = IVM_LookupMessage (pMsg->GetCatType(), pMsg->GetCode(), pMsgEntry); if (pMsgExist) { //_T("This message is already classified."); CString strMsg; strMsg.LoadString (IDS_MSG_MESSAGE_ALREADY_CLASSIFIED); AfxMessageBox (strMsg); return NULL; } CaMessageNodeTree* pNewMessageNodeTree = NULL; Imsgclass c = pMsg->GetClass(); CString strMsgText = IVM_IngresGenericMessage(pMsg->GetCode(), pMsg->m_strText); CaMessage* pNewMessage = new CaMessage (strMsgText, pMsg->GetCode(), pMsg->GetCatType(), c); pNewMessage = pMsgEntry->Add (pNewMessage->GetCategory(), pNewMessage); pNewMessageNodeTree = new CaMessageNodeTree (pNewMessage); CString strMsgTitle = pNewMessage->GetTitle(); if (m_bIngresGenericMessage) strMsgTitle = IVM_IngresGenericMessage(pNewMessage->GetCode(), pNewMessage->GetTitle()); pNewMessageNodeTree->GetNodeInformation().SetNodeTitle(strMsgTitle); pNewMessageNodeTree->GetNodeInformation().SetMsgSourceTarget(CV_U); return pNewMessageNodeTree; }
void CuDlgEventSettingBottom::OnSelchangeComboIngresCategory() { CWaitCursor doWaitcursor; int nRadio = GetCheckedRadioButton (IDC_RADIO1, IDC_RADIO2); if (nRadio != IDC_RADIO2) return; int nSel = m_cComboIngresCategory.GetCurSel(); if (nSel == CB_ERR) return; CaMessageEntry* pEntry = (CaMessageEntry*)m_cComboIngresCategory.GetItemData (nSel); if (!pEntry) return; CfEventSetting* pFrame = (CfEventSetting*)GetParentFrame(); ASSERT (pFrame); if (!pFrame) return; CaMessageManager* pMessageManager = pFrame->GetMessageManager(); if (!pMessageManager) return; CListCtrl* pListCtrl = &m_cListCtrlIngres; CTypedPtrList<CObList, CaLoggedEvent*> lsMsg; BOOL bOk = IVM_QueryIngresMessage (pEntry, lsMsg); if (!(bOk && pListCtrl)) return; CleanListMessage(pListCtrl); CaMessage* pMsg = NULL; POSITION pos = lsMsg.GetHeadPosition(); if (lsMsg.GetCount() > 100) pListCtrl->SetItemCount ((int)lsMsg.GetCount()); while (!lsMsg.IsEmpty()) { CaLoggedEvent* pObj = lsMsg.RemoveHead(); pMsg = IVM_LookupMessage (pObj->GetCatType(), pObj->GetCode(), pMessageManager); if (pMsg) pObj->SetClass (pMsg->GetClass()); else pObj->SetClass (pEntry->GetClass()); pObj->SetClassify(pMsg? TRUE: FALSE); AddEventToIngresMessage (pObj); } EnableButtonFind(); }
void CuDlgEventSettingBottom::ClassifyIngresMessages(long lCat, long lCode) { int nImage = 0; CListCtrl* pCtrl = &m_cListCtrlIngres; if (!pCtrl) return; CfEventSetting* pFrame = (CfEventSetting*)GetParentFrame(); ASSERT (pFrame); if (!pFrame) return; CaMessageManager* pMessageManager = pFrame->GetMessageManager(); if (!pMessageManager) return; Imsgclass nc = IMSG_NOTIFY; BOOL bAll = (lCat == -1)? TRUE: FALSE; LV_ITEM item; memset (&item, 0, sizeof(item)); item.mask = LVIF_IMAGE; CaLoggedEvent* pMsg = NULL; CaMessage* pMsgState = NULL; int i, nCount = pCtrl->GetItemCount(); for (i=0; i<nCount; i++) { pMsg = (CaLoggedEvent*)pCtrl->GetItemData (i); if (!bAll) { if (pMsg->GetCatType() != lCat) continue; if (pMsg->GetCode() != lCode) continue; } item.iItem = i; pMsgState = IVM_LookupMessage (pMsg->GetCatType(), pMsg->GetCode(), pMessageManager); if (!pMsgState) { pMsg->SetClassify(FALSE); nc = IMSG_NOTIFY; } else { pMsg->SetClassify(TRUE); nc = pMsgState->GetClass(); } pMsg->SetClass(nc); switch (nc) { case IMSG_ALERT: item.iImage = pMsg->IsClassified()? IM_ALERT: IM_ALERT_U; break; case IMSG_NOTIFY: item.iImage = pMsg->IsClassified()? IM_NOTIFY: IM_NOTIFY_U; break; case IMSG_DISCARD: item.iImage = pMsg->IsClassified()? IM_DISCARD: IM_DISCARD_U; break; } pCtrl->SetItem (&item); } }
void CuDlgEventSettingBottom::ClassifyMessages(long lCat, long lCode, BOOL bActualMessage) { int nImage = 0; CfEventSetting* pFrame = (CfEventSetting*)GetParentFrame(); ASSERT (pFrame); if (!pFrame) return; CaMessageManager* pMessageManager = pFrame->GetMessageManager(); if (!pMessageManager) return; Imsgclass nc = IMSG_NOTIFY; BOOL bAll = (lCat == -1)? TRUE: FALSE; LV_ITEM item; memset (&item, 0, sizeof(item)); item.mask = LVIF_IMAGE; CaLoggedEvent* pMsg = NULL; CaMessage* pMsgState = NULL; BOOL bLookUp = FALSE; CaIvmEvent& loggedEvent = theApp.GetEventData(); CTypedPtrList<CObList, CaLoggedEvent*>& le = loggedEvent.Get(); POSITION pos = le.GetHeadPosition(); while (pos != NULL) { CaLoggedEvent* pEv = le.GetNext (pos); if (!bAll) { if (pEv->GetCatType() != lCat) continue; if (pEv->GetCode() != lCode) continue; if (!bLookUp) { pMsgState = IVM_LookupMessage (lCat, lCode, pMessageManager); bLookUp = TRUE; } } else { pMsgState = IVM_LookupMessage (pEv->GetCatType(), pEv->GetCode(), pMessageManager); } if (!pMsgState) { pEv->SetClassify (FALSE); pEv->SetClass (IMSG_NOTIFY); } else { pEv->SetClassify (TRUE); pEv->SetClass (pMsgState->GetClass()); } } int i, nCount = m_cListCtrlGroupBy.GetItemCount(); for (i=0; i<nCount; i++) { pMsg = (CaLoggedEvent*)m_cListCtrlGroupBy.GetItemData (i); if (!bAll) { if (pMsg->GetCatType() != lCat) continue; if (pMsg->GetCode() != lCode) continue; } item.iItem = i; nc = pMsg->GetClass(); switch (nc) { case IMSG_ALERT: item.iImage = pMsg->IsClassified()? IM_ALERT: IM_ALERT_U; break; case IMSG_NOTIFY: item.iImage = pMsg->IsClassified()? IM_NOTIFY: IM_NOTIFY_U; break; case IMSG_DISCARD: item.iImage = pMsg->IsClassified()? IM_DISCARD: IM_DISCARD_U; break; } m_cListCtrlGroupBy.SetItem (&item); } nCount = m_cListCtrlFullDesc.GetItemCount(); for (i=0; i<nCount; i++) { pMsg = (CaLoggedEvent*)m_cListCtrlFullDesc.GetItemData (i); if (!bAll) { if (pMsg->GetCatType() != lCat) continue; if (pMsg->GetCode() != lCode) continue; } item.iItem = i; nc = pMsg->GetClass(); switch (nc) { case IMSG_ALERT: item.iImage = pMsg->IsClassified()? IM_ALERT: IM_ALERT_U; break; case IMSG_NOTIFY: item.iImage = pMsg->IsClassified()? IM_NOTIFY: IM_NOTIFY_U; break; case IMSG_DISCARD: item.iImage = pMsg->IsClassified()? IM_DISCARD: IM_DISCARD_U; break; } m_cListCtrlFullDesc.SetItem (&item); } }