LRESULT Git05_CBCGPPropBar::OnPropertySelected(WPARAM /*wp*/, LPARAM lp) { CBCGPProp* pProp = (CBCGPProp*)lp; ASSERT_VALID(pProp); auto parent = pProp->GetParent(); if (parent) { CBCGPProp* group = parent->GetParent(); if (group) { CString group_name = group->GetName(); if (group_name == L"Statistics") { CBCGPProp* shaGroup = m_wndPropList.GetProperty(2); CBCGPProp* shaProp = shaGroup->GetSubItem(1); CString sha = shaProp->GetValue(); CMainFrame *pMainWnd = static_cast<CMainFrame*>(AfxGetMainWnd()); CString file = pProp->GetName(); pMainWnd->display_info_for_diffed_file(sha, file); } } } return 0; }
BOOL CRasterPropPage::OnApply() { if(!m_wndPropList) return FALSE; CBCGPProp* pProp = m_wndPropList.GetProperty(0); int nCount = pProp->GetSubItemsCount(); std::string str = _T("波段组合"); CBCGPProp* pSubProp = NULL; for (int i=0; i<nCount; i++) { pSubProp = pProp->GetSubItem(i); if (0 == strcmp(str.c_str(),pSubProp->GetName())) { break; } } // Carto::CRasterLayer* pRasLayer = dynamic_cast<Carto::CRasterLayer*>(m_player); Carto::IRasterRenderPtr pRender =pRasLayer->GetRender(); Carto::RASTER_RENDER_TYPE rendertype =pRender->GetRenderType(); if(rendertype != Carto::RASTER_RGBRENDER) return FALSE; Carto::CRasterRGBRender* pRGBRender = dynamic_cast<Carto::CRasterRGBRender*>(pRasLayer->GetRender().get()); if (pRGBRender->GetRGBMode()) { pRGBRender->SetRedBandIndex(long(pSubProp->GetSubItem(0)->GetValue())); pRGBRender->SetGreenBandIndex(long(pSubProp->GetSubItem(1)->GetValue())); pRGBRender->SetBlueBandIndex(long(pSubProp->GetSubItem(2)->GetValue())); } std::string strColormap = _T("调色板"); pSubProp = NULL; bool bfind=false; for (int i=0; i<nCount; i++) { pSubProp = pProp->GetSubItem(i); if (0 == strcmp(strColormap.c_str(),pSubProp->GetName())) { bfind=true; break; } } if (!bfind) return TRUE; Geodatabase::IRasterDatasetPtr pRaster = m_player->GetDataObject(); BYTE byRed[256]; BYTE byGreen[256]; BYTE byBlue[256]; for (int i=0; i<256; i++) { long lValue = pSubProp->GetSubItem(i)->GetValue(); byRed[i] = GetRValue(lValue); byGreen[i] = GetGValue(lValue); byBlue[i] = GetBValue(lValue); } pRaster->SetChannelPalette(1,byRed,byGreen,byBlue); return TRUE; }
/** * ÏìÓ¦ÏÔʾÊôÐÔÖµ * @param unsigned int uiIndex ¼ì²¨Æ÷Ë÷ÒýºÅ * @return void */ void CLeftViewBarSensorBottom::OnShowProperty(matrix_data::data_base_helper::device_info const& di) { CString strTestUnit = ""; CString strData; COleVariant oVariant = ""; CBCGPProp* pGroupBase = NULL; CBCGPProp* pGroupTest = NULL; CBCGPProp* pSub = NULL; matrix_data::data_base_helper* helper = ((CLineApp*)AfxGetApp())->get_data_base_helper(); matrix_data::data_base_helper::sensor_type_vector& vect = helper->get_sensor_type_vector(); matrix_data::data_base_helper::sensor_type_vector::iterator itr; matrix_data::data_base_helper::sensor_type st; matrix_data::data_base_helper::sensor_vector::const_iterator si_itr = di.sensors_.begin(); for(itr = vect.begin(); itr != vect.end(); ++itr){ if(si_itr->type_ == itr->nb_){ st = *itr; break; } } pGroupBase = m_wndPropList.GetProperty(0); pSub = pGroupBase->GetSubItem(0); strData.Format("%d", di.sn_); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(1); strData.Format("%d", di.line_index_); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(2); strData.Format("%d", di.m_uiPointNb); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(3); strData.Format("%d", di.m_uiLineNb); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(4); strData.Format("%d", st.nb_); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(5); strData.Format("%d", st.segd_code_); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(6); strData.Format("%d", di.ip_); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(7); // µÃµ½²âÊÔ½á¹ûÎÄ×Ö oVariant = GetTestResultString(si_itr->field_check_); pSub->SetValue(oVariant); pGroupTest = m_wndPropList.GetProperty(1); // ¼ì²¨Æ÷µç×è²âÊÔÖµ pSub = pGroupTest->GetSubItem(0); strData = helper->get_sensor_test_unit_by_test_type(di, 15); oVariant = strData; pSub->SetValue(oVariant); // ¼ì²¨Æ÷©µç²âÊÔÖµ pSub = pGroupTest->GetSubItem(1); strData = helper->get_sensor_test_unit_by_test_type(di, 14); oVariant = strData; pSub->SetValue(oVariant); // ¼ì²¨Æ÷ÔëÉù²âÊÔÖµ pSub = pGroupTest->GetSubItem(2); strData = helper->get_sensor_test_unit_by_test_type(di, 1); oVariant = strData; pSub->SetValue(oVariant); // ¼ì²¨Æ÷Çãб¶È²âÊÔÖµ pSub = pGroupTest->GetSubItem(3); strData = helper->get_sensor_test_unit_by_test_type(di, 20); oVariant = strData; pSub->SetValue(oVariant); // ¼ì²¨Æ÷Çãб¶ÈÄ£ÐͲâÊÔÖµ pSub = pGroupTest->GetSubItem(4); strData = helper->get_sensor_test_unit_by_test_type(di, 21); oVariant = strData; pSub->SetValue(oVariant); m_wndPropList.ShowWindow(SW_SHOW); SetWindowText("Sensor Properties"); }
/** * 响应显示属性值 * @param unsigned int uiIndex 仪器索引号 * @return void */ void CLeftViewBarInstrumentBottom::OnShowProperty(unsigned int uiIndex) { m_wndDetourGraphView.ShowWindow(SW_HIDE); m_wndDetourScrollBar.ShowWindow(SW_HIDE); CInstrument* pInstrument = &m_pSiteData->m_oInstrumentList.m_pArrayInstrument[uiIndex]; CString strData; COleVariant oVariant = ""; CBCGPProp* pGroupBase = NULL; CBCGPProp* pGroupTest = NULL; CBCGPProp* pSub = NULL; pGroupBase = m_wndPropList.GetProperty(0); pSub = pGroupBase->GetSubItem(0); strData.Format("%d", pInstrument->m_uiSN); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(1); strData = m_pSiteData->GetBoxTypeStringByID(pInstrument->m_uiInstrumentType); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(2); strData.Format("%d", pInstrument->m_uiIP); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(3); strData.Format("%d", pInstrument->m_uiLineNb); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(4); strData.Format("%d", pInstrument->m_uiPointNb); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(5); strData.Format("%d", pInstrument->m_uiChannelNb); oVariant = strData; pSub->SetValue(oVariant); pGroupTest = m_wndPropList.GetProperty(1); // 仪器噪声测试值 pSub = pGroupTest->GetSubItem(0); strData = pInstrument->GetTestResultString(4, 0); oVariant = strData; pSub->SetValue(oVariant); // 仪器畸变测试值 pSub = pGroupTest->GetSubItem(1); strData = pInstrument->GetTestResultString(5, 0); oVariant = strData; pSub->SetValue(oVariant); // 仪器串音测试值 pSub = pGroupTest->GetSubItem(2); strData = pInstrument->GetTestResultString(7, 0); oVariant = strData; pSub->SetValue(oVariant); // 仪器增益测试值 pSub = pGroupTest->GetSubItem(3); strData = pInstrument->GetTestResultString(6, 0); oVariant = strData; pSub->SetValue(oVariant); // 仪器相位测试值 pSub = pGroupTest->GetSubItem(4); strData = pInstrument->GetTestResultString(6, 1); oVariant = strData; pSub->SetValue(oVariant); // 仪器共模测试值 pSub = pGroupTest->GetSubItem(5); strData = pInstrument->GetTestResultString(8, 0); oVariant = strData; pSub->SetValue(oVariant); m_wndPropList.ShowWindow(SW_SHOW); SetWindowText("Instrument Properties"); }
/** * 响应显示属性值 * @param unsigned int uiIndex 仪器索引号 * @return void */ void CLeftViewBarInstrumentBottom::OnShowProperty(matrix_data::data_base_helper::device_info& di) { m_wndDetourGraphView.ShowWindow(SW_HIDE); m_wndDetourScrollBar.ShowWindow(SW_HIDE); CString strTestUnit = ""; CString strData; COleVariant oVariant = ""; CBCGPProp* pGroupBase = NULL; CBCGPProp* pGroupTest = NULL; CBCGPProp* pSub = NULL; pGroupBase = m_wndPropList.GetProperty(0); pSub = pGroupBase->GetSubItem(0); strData.Format("%d", di.sn_); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(1); strData.Format("%d", di.line_index_); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(2); strData.Format("%d", di.m_uiPointNb); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(3); strData.Format("%d", 1); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(4); strData = matrix_data::data_base_helper::get_device_type_string(di.sn_); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(5); strData.Format("%d", di.ip_); oVariant = strData; pSub->SetValue(oVariant); pSub = pGroupBase->GetSubItem(6); // 得到标记文字,依据逻辑值 oVariant = GetMarkerStringByLogic(di.m_bAux); pSub->SetValue(oVariant); pGroupTest = m_wndPropList.GetProperty(1); // 仪器噪声测试值 pSub = pGroupTest->GetSubItem(0); if(di.m_fNoiseValue != 0x0f) strData.Format(__TEXT("%f"), di.m_fNoiseValue); else strData = __TEXT("No test"); oVariant = strData; pSub->SetValue(oVariant); // 仪器畸变测试值 pSub = pGroupTest->GetSubItem(1); if(di.m_fDistortionValue != 0x0f) strData.Format(__TEXT("%f"), di.m_fDistortionValue); else strData = __TEXT("No test"); oVariant = strData; pSub->SetValue(oVariant); // 仪器串音测试值 pSub = pGroupTest->GetSubItem(2); if(di.m_fCrosstalkValue != 0x0f) strData.Format(__TEXT("%f"), di.m_fCrosstalkValue); else strData = __TEXT("No test"); oVariant = strData; pSub->SetValue(oVariant); // 仪器增益测试值 pSub = pGroupTest->GetSubItem(3); if(di.m_fGainValue != 0x0f) strData.Format(__TEXT("%f"), di.m_fGainValue); else strData = __TEXT("No test"); oVariant = strData; pSub->SetValue(oVariant); // 仪器相位测试值 pSub = pGroupTest->GetSubItem(4); if(di.m_fPhaseValue != 0x0f) strData.Format(__TEXT("%f"), di.m_fPhaseValue); else strData = __TEXT("No test"); oVariant = strData; pSub->SetValue(oVariant); // 仪器共模测试值 pSub = pGroupTest->GetSubItem(5); if(di.m_fCMRRValue != 0x0f) strData.Format(__TEXT("%f"), di.m_fCMRRValue); else strData = __TEXT("No test"); oVariant = strData; pSub->SetValue(oVariant); m_wndPropList.ShowWindow(SW_SHOW); SetWindowText("Instrument Properties"); }