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
Fixed crash on when creating circle by 3 points.
[modules/shaper.git]
/
src
/
Model
/
Model_Data.cpp
diff --git
a/src/Model/Model_Data.cpp
b/src/Model/Model_Data.cpp
index a2e4a208c1fc26207ad85ce07331dd6e3a3cdf98..cbe96e2b3c043caf58214590311b078b170ec851 100644
(file)
--- a/
src/Model/Model_Data.cpp
+++ b/
src/Model/Model_Data.cpp
@@
-94,8
+94,12
@@
void Model_Data::setLabel(TDF_Label theLab)
std::string Model_Data::name()
{
Handle(TDataStd_Name) aName;
std::string Model_Data::name()
{
Handle(TDataStd_Name) aName;
- if (myLab.FindAttribute(TDataStd_Name::GetID(), aName))
+ if (myLab.FindAttribute(TDataStd_Name::GetID(), aName)) {
+#ifdef DEBUG_NAMES
+ myObject->myName = TCollection_AsciiString(aName->Get()).ToCString();
+#endif
return std::string(TCollection_AsciiString(aName->Get()).ToCString());
return std::string(TCollection_AsciiString(aName->Get()).ToCString());
+ }
return ""; // not defined
}
return ""; // not defined
}
@@
-118,6
+122,9
@@
void Model_Data::setName(const std::string& theName)
std::dynamic_pointer_cast<Model_Document>(myObject->document())->
changeNamingName(anOldName, theName);
}
std::dynamic_pointer_cast<Model_Document>(myObject->document())->
changeNamingName(anOldName, theName);
}
+#ifdef DEBUG_NAMES
+ myObject->myName = theName;
+#endif
}
AttributePtr Model_Data::addAttribute(const std::string& theID, const std::string theAttrType)
}
AttributePtr Model_Data::addAttribute(const std::string& theID, const std::string theAttrType)
@@
-295,12
+302,18
@@
void Model_Data::sendAttributeUpdated(ModelAPI_Attribute* theAttr)
if (myWasChangedButBlocked.empty() || *(myWasChangedButBlocked.rbegin()) != theAttr)
myWasChangedButBlocked.push_back(theAttr);
}
if (myWasChangedButBlocked.empty() || *(myWasChangedButBlocked.rbegin()) != theAttr)
myWasChangedButBlocked.push_back(theAttr);
}
+ } else {
+ // trim: need to redisplay
+ if (myObject) {
+ static const Events_ID anEvent = Events_Loop::eventByName(EVENT_OBJECT_TO_REDISPLAY);
+ ModelAPI_EventCreator::get()->sendUpdated(myObject, anEvent);
+ }
}
}
bool Model_Data::blockSendAttributeUpdated(const bool theBlock, const bool theSendMessage)
{
}
}
bool Model_Data::blockSendAttributeUpdated(const bool theBlock, const bool theSendMessage)
{
- bool aWasBlocked = mySendAttributeUpdated;
+ bool aWasBlocked =
!
mySendAttributeUpdated;
if (mySendAttributeUpdated == theBlock) {
mySendAttributeUpdated = !theBlock;
if (mySendAttributeUpdated && !myWasChangedButBlocked.empty()) {
if (mySendAttributeUpdated == theBlock) {
mySendAttributeUpdated = !theBlock;
if (mySendAttributeUpdated && !myWasChangedButBlocked.empty()) {