Example #1
0
void DlgCScenarioManager::OnSave() 
{
	// TODO: Add your command handler code here

	HTREEITEM hItem = m_tree.GetSelectedItem();
	if(hItem == NULL)
		return;
	DWORD key = m_tree.GetItemData(hItem);
	Scenario *pScenario = m_manager.LookUp(key);

	BOOL bRet = TRUE;
	PersistentModel model;
	PersistentMgr persistentMgr;
	bRet = m_manager.SaveCurModel(model.GetScenarioPersist(),pScenario);
	if(bRet)
	{
		static TCHAR BASED_CODE szFilter[] = _T("AFT原始数据(*.imp)|*.imp|PFA计算文件(*.calc)|*.calc|All Files (*.*)|*.*||");

		CFileDialog dlg(FALSE,_T("imp"),pScenario->GetName(),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);
		if(IDOK == dlg.DoModal())
		{
			persistentMgr.Save(dlg.GetPathName(),model);
		}
	}
}
Example #2
0
//--------------------------------------------
//Parameters:	  strName[In]         工况名称
//    return:     如果this工况存在名称为strName的子工况返回Ture                     
//      Memo:	  检查strName是否被this工况的子工况使用
//				
//---------------------------------------------
BOOL Scenario::CheckName(CString strName)
{
	BOOL bRet = TRUE;
	POSITION pos = m_childList.GetHeadPosition();
	Scenario *pChild = NULL;
	while(pos)
	{
		pChild = m_childList.GetNext(pos);
		if(0 == strName.Compare(pChild->GetName()))
		{
			bRet = FALSE;
		}
	}
	return bRet;
}
Example #3
0
void DlgCScenarioManager::OnReName() 
{
	// TODO: Add your command handler code here
	HTREEITEM hItem = m_tree.GetSelectedItem();
	if(hItem == NULL)
		return;
    //根据key值找到对应的工况
	DWORD key = m_tree.GetItemData(hItem);
	Scenario *pScenario = m_manager.LookUp(key);
	Scenario *pAnScenario = pScenario->GetAnScenario();
	DlgScenarioName dlg;
	dlg.m_strName = pScenario->GetName();
	if(IDOK == dlg.DoModal())
	{
		CString strName = dlg.GetName();
		if(pAnScenario != NULL)
		{
			if(pAnScenario->CheckName(strName))
			{
				pScenario->SetName(strName);
				m_tree.SetItemText(hItem,strName);
				UpdateData(FALSE);
			}
			else
			{
				AfxMessageBox(IDS_NAMEERROR);
			}
		}
		else
		{
			pScenario->SetName(strName);
			m_tree.SetItemText(hItem,strName);
			UpdateData(FALSE);
		}
	}

}