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;
}
示例#2
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");
}