diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmDocument.cpp b/Fwk/AppFwk/cafProjectDataModel/cafPdmDocument.cpp index 420b1df072..0dec597148 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmDocument.cpp +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmDocument.cpp @@ -89,57 +89,6 @@ void PdmObjectGroup::addObject(PdmObject * obj) objects.push_back(obj); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void PdmObjectGroup::initAfterReadTraversal(PdmObject* object) -{ - if (object == NULL) return; - - std::vector fields; - object->fields(fields); - - std::vector children; - size_t fIdx; - for (fIdx = 0; fIdx < fields.size(); ++fIdx) - { - if (fields[fIdx]) fields[fIdx]->childObjects(&children); - } - - size_t cIdx; - for (cIdx = 0; cIdx < children.size(); ++cIdx) - { - PdmObjectGroup::initAfterReadTraversal(children[cIdx]); - } - - object->initAfterRead(); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void PdmObjectGroup::updateUiIconStateRecursively(PdmObject* object) -{ - if (object == NULL) return; - - std::vector fields; - object->fields(fields); - - std::vector children; - size_t fIdx; - for (fIdx = 0; fIdx < fields.size(); ++fIdx) - { - if (fields[fIdx]) fields[fIdx]->childObjects(&children); - } - - size_t cIdx; - for (cIdx = 0; cIdx < children.size(); ++cIdx) - { - PdmObjectGroup::updateUiIconStateRecursively(children[cIdx]); - } - - object->updateUiIconFromToggleField(); -} @@ -228,7 +177,9 @@ void PdmDocument::writeFile(QIODevice* xmlFile) xmlStream.writeEndDocument(); } - +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- void PdmDocument::setupBeforeSaveTraversal(PdmObject * object) { if (object == NULL) return; @@ -252,5 +203,57 @@ void PdmDocument::setupBeforeSaveTraversal(PdmObject * object) object->setupBeforeSave(); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void PdmDocument::initAfterReadTraversal(PdmObject* object) +{ + if (object == NULL) return; + + std::vector fields; + object->fields(fields); + + std::vector children; + size_t fIdx; + for (fIdx = 0; fIdx < fields.size(); ++fIdx) + { + if (fields[fIdx]) fields[fIdx]->childObjects(&children); + } + + size_t cIdx; + for (cIdx = 0; cIdx < children.size(); ++cIdx) + { + PdmDocument::initAfterReadTraversal(children[cIdx]); + } + + object->initAfterRead(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void PdmDocument::updateUiIconStateRecursively(PdmObject* object) +{ + if (object == NULL) return; + + std::vector fields; + object->fields(fields); + + std::vector children; + size_t fIdx; + for (fIdx = 0; fIdx < fields.size(); ++fIdx) + { + if (fields[fIdx]) fields[fIdx]->childObjects(&children); + } + + size_t cIdx; + for (cIdx = 0; cIdx < children.size(); ++cIdx) + { + PdmDocument::updateUiIconStateRecursively(children[cIdx]); + } + + object->updateUiIconFromToggleField(); +} + } //End of namespace caf diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmDocument.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmDocument.h index 3df3fe60e5..c1a519ef90 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmDocument.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmDocument.h @@ -62,9 +62,6 @@ public: void removeNullPtrs(); void addObject(PdmObject * obj); - static void initAfterReadTraversal(PdmObject * root); - static void updateUiIconStateRecursively(PdmObject * root); - template void objectsByType(std::vector >* typedObjects ) const { @@ -129,8 +126,11 @@ class PdmDocument: public PdmObjectGroup void readFile(QIODevice* device); void writeFile(QIODevice* device); + static void updateUiIconStateRecursively(PdmObject * root); + private: static void setupBeforeSaveTraversal(PdmObject * root); + static void initAfterReadTraversal(PdmObject * root); };