X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_OperationSketchBase.cpp;h=e8f081e4d581d19beab5a3cf4f46dc48dd91e42d;hb=e30796dab1aa68c01201b2b89d4292d3fcbbc4d4;hp=398293c615bd774ac907a22389178b921dab1e6d;hpb=b2a34ee4bab2fe2d97f900cbdafcaf122344c46c;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_OperationSketchBase.cpp b/src/PartSet/PartSet_OperationSketchBase.cpp index 398293c61..e8f081e4d 100644 --- a/src/PartSet/PartSet_OperationSketchBase.cpp +++ b/src/PartSet/PartSet_OperationSketchBase.cpp @@ -50,20 +50,16 @@ std::list PartSet_OperationSketchBase::subFeatures() const std::list PartSet_OperationSketchBase::getSelectionModes(ObjectPtr theFeature) const { + //TODO: Define position of selection modes definition std::list aModes; - //FeaturePtr aFeature = boost::dynamic_pointer_cast(theFeature); - //if (aFeature) { - // if (PartSet_Tools::isConstraintFeature(aFeature->getKind())) { - // aModes.clear(); - // aModes.push_back(AIS_DSM_Text); - // aModes.push_back(AIS_DSM_Line); - // return aModes; - // } - //} - aModes.push_back(AIS_Shape::SelectionMode((TopAbs_ShapeEnum) TopAbs_VERTEX)); - aModes.push_back(AIS_Shape::SelectionMode((TopAbs_ShapeEnum) TopAbs_EDGE)); - aModes.push_back(AIS_DSM_Text); - aModes.push_back(AIS_DSM_Line); + FeaturePtr aFeature = boost::dynamic_pointer_cast(theFeature); + if (aFeature && PartSet_Tools::isConstraintFeature(aFeature->getKind())) { + aModes.push_back(AIS_DSM_Text); + aModes.push_back(AIS_DSM_Line); + } else { + aModes.push_back(AIS_Shape::SelectionMode((TopAbs_ShapeEnum) TopAbs_VERTEX)); + aModes.push_back(AIS_Shape::SelectionMode((TopAbs_ShapeEnum) TopAbs_EDGE)); + } return aModes; } FeaturePtr PartSet_OperationSketchBase::createFeature(const bool theFlushMessage) @@ -102,9 +98,7 @@ void PartSet_OperationSketchBase::restartOperation(const std::string& theType, O if (aFeature) { QStringList aNested = this->nestedFeatures(); if (!aNested.isEmpty()) { - if (aNested.contains(QString(aFeature->getKind().c_str()))) - emit restartRequired(theType, theFeature); - else + if (!aNested.contains(QString(aFeature->getKind().c_str()))) return; } }