Exemple #1
0
//--------------------------------------------
//Parameters:	 
//    return:                             
//      Memo:	将this工况的子工况保存的父工况改为this
//				
//---------------------------------------------
void Scenario::ChangeAncestor()
{
	POSITION pos = m_childList.GetHeadPosition();
	Scenario *pChild = NULL;
	while(pos)
	{
		pChild = m_childList.GetNext(pos);
		pChild->m_pAnScenario = this;
		pChild->ChangeAncestor();
	}
}
Exemple #2
0
//--------------------------------------------
//Parameters:	 strName[In]        工况名称
//    return:    当前增加的工况                                  
//      Memo:	复制this工况包括子孙工况增加一个名称为strName的兄弟工况
//				
//---------------------------------------------
Scenario * Scenario::CloneWithChild(CString strName)
{
    Scenario *pClone = CloneWithOutChild(strName);
	
	POSITION pos = m_childList.GetHeadPosition();
	Scenario *pChild = NULL;
	while(pos)
	{
		pChild = m_childList.GetNext(pos);
		pClone->m_childList.AddTail(new Scenario(*pChild));
	}
	pClone->ChangeAncestor();
	return pClone;
}