当前位置: 首页>>代码示例>>C++>>正文


C++ QSharedPointer::UpdateViewSection方法代码示例

本文整理汇总了C++中QSharedPointer::UpdateViewSection方法的典型用法代码示例。如果您正苦于以下问题:C++ QSharedPointer::UpdateViewSection方法的具体用法?C++ QSharedPointer::UpdateViewSection怎么用?C++ QSharedPointer::UpdateViewSection使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在QSharedPointer的用法示例。


在下文中一共展示了QSharedPointer::UpdateViewSection方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: DoExecute

void GISDisplaySegmentMsgCommand::DoExecute() throw (GException)
{
	LOG_LEVEL3("DoExecute()");

	GISAbsData* pGISAbsData = GetData();

	QSharedPointer<GISModel> pModel = GISModelSingleton::GetInstance()->GetModel();
    {
        QMutexLocker mtxScope(pModel->GetMutex());

        GDisplay* poDisplay = pModel->GetDisplay(pGISAbsData->GetDisplay());

        GScreen* poScreen = poDisplay->GetScreen(pGISAbsData->GetScreen());

        GSegment* poSegment = poScreen->GetSegment(pGISAbsData->GetSegment());

		//Erase the content of the if and else branches. Leave the empty if commented.
		//Whichever value the attribute has, make a gsegment clon and do what is done to the poSegment in if branch, to the clon
		//	if (pGISAbsData->GetAttr()==GAttributeEnum::eNotErasePreviousLocation)
		//	{// If Attr is not zero call old setters and getters
		//	}
		//	else// GetAttr is eErasePreviousLocation otherwise ( all other options where discarded in Validate of MsgData ).
		//	{
		//	}

		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	GSegment *poClonedSegment = GSegment::Clone(poSegment);
		//
		//	if (pGISAbsData->GetXpos())
		//		poClonedSegment->SetXPos(pGISAbsData->GetXpos());
		//
		//	if (pGISAbsData->GetYpos())
		//		poClonedSegment->SetYPos(pGISAbsData->GetYpos());
		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		// Java implements this command in the following way, the Spec seems to prefer the one commented above.
		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        if (pGISAbsData->GetXpos())
        {
            poSegment->SetXPos(pGISAbsData->GetXpos());
        }

        if (pGISAbsData->GetYpos())
        {
            poSegment->SetYPos(pGISAbsData->GetYpos());
        }

        GSegment *poClonedSegment = GSegment::Clone(poSegment);

		if (poClonedSegment)
		{
			poClonedSegment->SetVisible(true);  
		}
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        //Call Update section (instead of updateview) with a pointer to the clon (without validation)
        pModel->UpdateViewSection(poClonedSegment,pGISAbsData->GetSynchronousRequest());
    }
}
开发者ID:marianovolker,项目名称:jmps-public,代码行数:58,代码来源:GISDisplaySegmentMsgCommand.cpp


注:本文中的QSharedPointer::UpdateViewSection方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。