// Author: Mikhail PONIKAROV
#include "PartSetPlugin_Part.h"
-#include "ModelAPI_PluginManager.h"
+#include "ModelAPI_Session.h"
#include "ModelAPI_Document.h"
#include "ModelAPI_Data.h"
-#include "ModelAPI_Iterator.h"
#include "ModelAPI_AttributeDocRef.h"
+#include <ModelAPI_ResultPart.h>
using namespace std;
}
void PartSetPlugin_Part::initAttributes()
-{
- data()->addAttribute(PART_ATTR_DOC_REF, ModelAPI_AttributeDocRef::type());
+{ // all is in part result
}
-void PartSetPlugin_Part::execute()
+void PartSetPlugin_Part::execute()
{
- boost::shared_ptr<ModelAPI_AttributeDocRef> aDocRef = data()->docRef(PART_ATTR_DOC_REF);
- if (!aDocRef->value()) { // create a document if not yet created
- boost::shared_ptr<ModelAPI_Document> aPartSetDoc = ModelAPI_PluginManager::get()->rootDocument();
- aDocRef->setValue(aPartSetDoc->subDocument(data()->getName()));
+ ResultPartPtr aResult = boost::dynamic_pointer_cast<ModelAPI_ResultPart>(firstResult());
+ if (!aResult) {
+ aResult = document()->createPart(data());
+ setResult(aResult);
+ aResult->activate();
+ }
+ /*
+ boost::shared_ptr<ModelAPI_AttributeDocRef> aDocRef = aResult->data()->docRef(
+ ModelAPI_ResultPart::DOC_REF());
+
+ if (!aDocRef->value()) { // create a document if not yet created
+ boost::shared_ptr<ModelAPI_Document> aPartSetDoc =
+ ModelAPI_Session::get()->moduleDocument();
+ aDocRef->setValue(aPartSetDoc->subDocument(data()->name()));
}
+ */
}
-boost::shared_ptr<ModelAPI_Document> PartSetPlugin_Part::documentToAdd() {
- return ModelAPI_PluginManager::get()->rootDocument();
+boost::shared_ptr<ModelAPI_Document> PartSetPlugin_Part::documentToAdd()
+{
+ return ModelAPI_Session::get()->moduleDocument();
}