LONG CuDlgDomPropLocationSpace::OnUpdateData (WPARAM wParam, LPARAM lParam) { // cast received parameters int nNodeHandle = (int)wParam; LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam; ASSERT (nNodeHandle != -1); ASSERT (pUps); // ignore selected actions on filters switch (pUps->nIpmHint) { case 0: //case FILTER_DOM_SYSTEMOBJECTS: //case FILTER_DOM_BASEOWNER: //case FILTER_DOM_OTHEROWNER: //case FILTER_DOM_BKREFRESH: // Special item - no refresh code //case FILTER_DOM_BKREFRESH_DETAIL: // Special item - no refresh code break; default: return 0L; // nothing to change on the display } LPTREERECORD lpRecord = (LPTREERECORD)pUps->pStruct; ASSERT (lpRecord); LOCATIONDATAMIN locData; x_strcpy ((char *)locData.LocationName, (const char *)lpRecord->objName); x_strcpy ((char *)locData.LocationArea, (const char *)lpRecord->szComplim); // Just in case - Normally not used by Create method with 2 parameters locData.LocationUsages[0] = ATTACHED_NO; // DATA_PATH locData.LocationUsages[1] = ATTACHED_NO; // WORK_PATH locData.LocationUsages[2] = ATTACHED_NO; // JNL_PATH locData.LocationUsages[3] = ATTACHED_NO; // CHK_PATH locData.LocationUsages[4] = ATTACHED_NO; // DMP_PATH try { ResetDisplay(); CaPieInfoData* pPieInfo = m_pDlgFrame->GetPieInformation(); pPieInfo->Cleanup(); if (!Pie_Create(pPieInfo, nNodeHandle, &locData)) { AfxMessageBox (IDS_E_LOCATION_SPACE, MB_ICONEXCLAMATION|MB_OK); pPieInfo->Cleanup(); } m_pDlgFrame->UpdatePieChart(); m_pDlgFrame->UpdateLegend(); } catch (CMemoryException* e) { VDBA_OutOfMemoryMessage(); e->Delete(); } return 0L; }
LONG CuDlgIpmDetailLocation::OnUpdateData (WPARAM wParam, LPARAM lParam) { int ires = RES_ERR, nNodeHandle = (int)wParam; LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam; ASSERT (pUps); switch (pUps->nIpmHint) { case 0: case FILTER_IPM_EXPRESS_REFRESH: break; default: return 0L; } try { ResetDisplay(); if (pUps->nIpmHint != FILTER_IPM_EXPRESS_REFRESH) { memset (&m_locStruct, 0, sizeof (m_locStruct)); m_locStruct = *(LPLOCATIONDATAMIN)pUps->pStruct; } CuStatisticPieDoc* pDoc = (CuStatisticPieDoc*)m_pDlgFrame->GetDoc(); CuPieInfoData* pPieInfo = pDoc->GetPieInfo(); if (Pie_Create(pPieInfo, nNodeHandle, (LPLOCATIONDATAMIN)&m_locStruct, TRUE)) { m_pDlgFrame->DrawLegend (&m_cListLegend, TRUE); } else { //CString strMsg = _T("Location Space Statistic error"); BfxMessageBox (VDBA_MfcResourceString(IDS_E_LOCATION_SPACE), MB_ICONEXCLAMATION|MB_OK); pPieInfo->Cleanup(); m_cListLegend.ResetContent(); } pDoc->UpdateAllViews (NULL); } catch (CMemoryException* e) { VDBA_OutOfMemoryMessage(); e->Delete(); } return 0L; }