X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModel%2FModel_Data.cpp;h=e2ef4c7477e1357cfae8ae05164661d08040f092;hb=6f77dfcd9833cdba0c583e6218350f1f7043eb8b;hp=53444bb6d45845a17f5d46e7d783fec7fa0bb36f;hpb=368eb86f8835d384a102ad84410a6c825c597a8c;p=modules%2Fshaper.git diff --git a/src/Model/Model_Data.cpp b/src/Model/Model_Data.cpp index 53444bb6d..e2ef4c747 100644 --- a/src/Model/Model_Data.cpp +++ b/src/Model/Model_Data.cpp @@ -29,6 +29,7 @@ #include #include +#include #include #include #include @@ -239,10 +240,22 @@ ModelAPI_ExecState Model_Data::execState() return ModelAPI_StateMustBeUpdated; // default value } -void Model_Data::setError(const std::string& theError) +void Model_Data::setError(const std::string& theError, bool theSend) { execState(ModelAPI_StateExecFailed); - Events_Error::send(theError); + if (theSend) { + Events_Error::send(theError); + } + TDataStd_AsciiString::Set(myLab, theError.c_str()); +} + +std::string Model_Data::error() const +{ + Handle(TDataStd_AsciiString) anErrorAttr; + if (myLab.FindAttribute(TDataStd_AsciiString::GetID(), anErrorAttr)) { + return std::string(anErrorAttr->Get().ToCString()); + } + return std::string(); } int Model_Data::featureId() const @@ -266,11 +279,6 @@ void Model_Data::removeBackReference(FeaturePtr theFeature, std::string theAttrI return; myRefsToMe.erase(anAttribute); - // TODO: check whether the concealed should be thrown down to the false value - std::shared_ptr aRes = - std::dynamic_pointer_cast(myObject); - if (aRes) - aRes->setIsConcealed(false); } void Model_Data::addBackReference(FeaturePtr theFeature, std::string theAttrID,