Salome HOME
projects
/
modules
/
shaper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'Dev_1.1.0' of newgeom:newgeom into Dev_1.1.0
[modules/shaper.git]
/
src
/
ModuleBase
/
ModuleBase_Operation.cpp
diff --git
a/src/ModuleBase/ModuleBase_Operation.cpp
b/src/ModuleBase/ModuleBase_Operation.cpp
index e9cfa075f67bad5cf5122ded5504dd727fd3da76..bfe58446d370168a50092075ea228460c6ca7c25 100644
(file)
--- a/
src/ModuleBase/ModuleBase_Operation.cpp
+++ b/
src/ModuleBase/ModuleBase_Operation.cpp
@@
-66,6
+66,8
@@
bool ModuleBase_Operation::isValid() const
{
if (!myFeature)
return true; // rename operation
{
if (!myFeature)
return true; // rename operation
+ if (myFeature->isAction())
+ return true;
//Get validators for the Id
SessionPtr aMgr = ModelAPI_Session::get();
ModelAPI_ValidatorsFactory* aFactory = aMgr->validators();
//Get validators for the Id
SessionPtr aMgr = ModelAPI_Session::get();
ModelAPI_ValidatorsFactory* aFactory = aMgr->validators();
@@
-90,7
+92,7
@@
void ModuleBase_Operation::flushCreated()
FeaturePtr ModuleBase_Operation::createFeature(const bool theFlushMessage)
{
FeaturePtr ModuleBase_Operation::createFeature(const bool theFlushMessage)
{
- if (myParentFeature) {
+ if (myParentFeature
.get()
) {
myFeature = myParentFeature->addFeature(getDescription()->operationId().toStdString());
} else {
std::shared_ptr<ModelAPI_Document> aDoc = document();
myFeature = myParentFeature->addFeature(getDescription()->operationId().toStdString());
} else {
std::shared_ptr<ModelAPI_Document> aDoc = document();
@@
-144,7
+146,8
@@
std::shared_ptr<ModelAPI_Document> ModuleBase_Operation::document() const
void ModuleBase_Operation::start()
{
void ModuleBase_Operation::start()
{
- ModelAPI_Session::get()->startOperation();
+ QString anId = getDescription()->operationId();
+ ModelAPI_Session::get()->startOperation(anId.toStdString());
if (!myIsEditing)
createFeature();
if (!myIsEditing)
createFeature();
@@
-246,6
+249,16
@@
void ModuleBase_Operation::activateByPreselection()
}
}
+void ModuleBase_Operation::setParentFeature(CompositeFeaturePtr theParent)
+{
+ myParentFeature = theParent;
+}
+
+CompositeFeaturePtr ModuleBase_Operation::parentFeature() const
+{
+ return myParentFeature;
+}
+
void ModuleBase_Operation::initSelection(ModuleBase_ISelection* theSelection,
ModuleBase_IViewer* theViewer)
{
void ModuleBase_Operation::initSelection(ModuleBase_ISelection* theSelection,
ModuleBase_IViewer* theViewer)
{