#pragma warning( push ,0) #include #include #include #include #include // #include "ObjectEvent.h" #include "WellLogWorkflowDataModel.h" #include "ObjectID.h" // #include "ObjProject.h" #include "geometryutils.h" #pragma warning( pop ) BEGIN_OSGDATAMODEL_NAMESPACE; CWellLogWorkflowDataModel::CWellLogWorkflowDataModel(QUuid id) { // SetName("wellsectionwindow"); // SetIconName("workflow.png"); // isSingleModuleMode=false; // isDefineMothodMode=false; // m_pModule=NULL; // m_SingleWellWindowDocument=NULL; // m_MultiWellWindowDocument=CBaseObject::GetFatory().CreateObject(id); // if(!m_MultiWellWindowDocument) return; // m_MultiWellWindowDocument->GetPaiObject()->SetName( GetName() ); // dynamic_cast(m_MultiWellWindowDocument)->Init(id); // CObjProject::AddIDMap( m_MultiWellWindowDocument->GetPaiObject()->GetID(),m_MultiWellWindowDocument ); // isLoaded=false; } pai::ios::welllog::DataObject *CWellLogWorkflowDataModel::GetDbObject() { return NULL; } CWellLogWorkflowDataModel::~CWellLogWorkflowDataModel() { QList childs; this->GetChildren(childs); if (m_SingleWellWindowDocument) { if(!this->RemoveChild(m_SingleWellWindowDocument->GetPaiObject())) return; delete m_SingleWellWindowDocument; m_SingleWellWindowDocument = NULL; } if (m_MultiWellWindowDocument) { if(!this->RemoveChild(m_MultiWellWindowDocument->GetPaiObject())) return; delete m_MultiWellWindowDocument; m_MultiWellWindowDocument = NULL; } DeleteAllChild(); } QUuid CWellLogWorkflowDataModel::GetTypeID()const { return GetClassID_WorkflowDataModel(); } void CWellLogWorkflowDataModel::Delete() { DeleteAllChild(); delete this; } void CWellLogWorkflowDataModel::ReloadDataModuel() { } // bool CWellLogWorkflowDataModel::Serialize( CObjectArchive &ar ) // { // if(ar.IsStoring()) // { // BEGIN_WRITE_OBJECT( ar,1 ); // BEGIN_WRITE_BLOCK( ar, 1); // /*保存自己的信息*/ // std::string strHomeLocation = QDesktopServices::storageLocation(QDesktopServices::HomeLocation).toStdString(); // std::string strSeparator = QString(QDir::separator()).toStdString(); // std::string strName = GetName().toStdString(); // std::string strID = GetID().toString().toStdString(); // std::string strFilepath = strHomeLocation + strSeparator; // std::string strJsonFileName = strName + strID + ".json"; // std::string strJsonStyleFileName = strName +strID + "_style.json"; // this->Save(strFilepath + strName + strID ); // QFile fJson(QString::fromStdString(strFilepath +strJsonFileName)); // QFile fJsonStyle(QString::fromStdString(strFilepath + strJsonStyleFileName)); // if (fJson.open(QFile::ReadOnly | QFile::Truncate)) // { // QTextStream inJsonStream(&fJson); // ar<Serialize(ar); // m_MultiWellWindowDocument->Serialize(ar); // END_WRITE_BLOCK( ar, 1 ); // END_WRITE_OBJECT( ar ); // } // else // { // BEGIN_READ_OBJECT( ar,1 ); // BEGIN_READ_BLOCK( 1 ); // /*加载自己的信息*/ // QString strTmpJson; // ar >> strTmpJson; // QString strTempJsonSytyle; // ar>>strTempJsonSytyle; // QString strName; // ar>>strName; // QString strID; // ar>>strID; // ar>>isSingleModuleMode; // if(isSingleModuleMode) // SetIconName("icon/ModuleOne.png"); // ar >>isDefineMothodMode; // ar >>CurrentWellRoundPath; // std::string json(strTmpJson.toStdString()); // std::string jsonstyle(strTempJsonSytyle.toStdString()); // std::string error; // this->ParseJsonText(json,jsonstyle,error); // this->SetID(strID); // this->SetName(strName); // if(m_SingleWellWindowDocument)m_SingleWellWindowDocument->Serialize(ar); // m_MultiWellWindowDocument->Serialize(ar); // END_READ_BLOCK( 1 ); // END_READ_OBJECT( ar ); // } // return true; // } bool CWellLogWorkflowDataModel::AddChild(PaiObject* pChild, bool mountNow ) { return true; // CObjProject::AddIDMap( pChild->GetID(),dynamic_cast( pChild) ); // if(mountNow) // return PaiWorkflowDataModel::AddChild( pChild, MountOnTree); // else // return PaiWorkflowDataModel::AddChild( pChild, MountNoTree); } bool CWellLogWorkflowDataModel::InsertChild(int iIndex,PaiObject* pChild) { return true; // CObjProject::AddIDMap( pChild->GetID(), dynamic_cast( pChild)); // return PaiWorkflowDataModel::InsertChild( iIndex, pChild ); } bool CWellLogWorkflowDataModel::RemoveChild(PaiObject* pChild, bool bDelete ) { return true; // if(pChild==(PaiObject*)0xfeeefeeefeeefeee) return false; // CObjProject::RemoveIDMap( dynamic_cast(pChild ) ); // return PaiWorkflowDataModel::RemoveChild( pChild,bDelete ); } void CWellLogWorkflowDataModel::DeleteAllChild() { // QList::iterator it = m_children.begin(); // while ( it != m_children.end() ) // { // PaiObject* pChild = (*it); // // m_EventAgent.RemoveObjectChild(this, pChild ); // CObjProject::RemoveIDMap( dynamic_cast( pChild ) ); // pChild->Delete(); // ++it; // } // m_children.clear(); } bool CWellLogWorkflowDataModel::GetWorkflowTemplates(QList< CWellLogWorkflowDataModel* > & workflows) { // QString workflowtplPath=GetWorkflowTemplatePath(); // QDir dir(workflowtplPath); // QFileInfoList list = dir.entryInfoList(); // for(int i=0;iSetName(list.at(i).completeBaseName()); // workflows.append(amodel); // } // } return true; } void CWellLogWorkflowDataModel::LoadFromTemplateFile() { // if(!isLoaded){//此时名字已经加载了,参考GetWorkflowTemplates实现 // QString workflowtplPath=GetWorkflowTemplatePath(); // std::string filename=workflowtplPath.toStdString()+GetName().toStdString()+".json"; // std::string stylefilename=workflowtplPath.toStdString()+GetName().toStdString()+"_style.json"; // std::string error; // Parse(filename,stylefilename,error); // isLoaded=true; // } } BEGIN_REGISTER_OBJECT(CWellLogWorkflowDataModel) QUuid(GetClassID_WorkflowDataModel()) END_REGISTER_OBJECT( CWellLogWorkflowDataModel ); END_OSGDATAMODEL_NAMESPACE