X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModel%2FModel_AttributeIntArray.cpp;fp=src%2FModel%2FModel_AttributeIntArray.cpp;h=f933ad261408582eeb7b93f71b5267056377737a;hb=a894060cf7f5ead6fa92d2f151e9f60712dc7a2f;hp=b8da1694554e8dd85b36f4e86399e15f7eebef67;hpb=883ac186ac2c764c6209cb8ea8043e3bcadc3de9;p=modules%2Fshaper.git diff --git a/src/Model/Model_AttributeIntArray.cpp b/src/Model/Model_AttributeIntArray.cpp index b8da16945..f933ad261 100644 --- a/src/Model/Model_AttributeIntArray.cpp +++ b/src/Model/Model_AttributeIntArray.cpp @@ -43,25 +43,28 @@ int Model_AttributeIntArray::size() return (myArray.IsNull() || !myArray->IsValid()) ? 0 : myArray->Length(); } -void Model_AttributeIntArray::setSize(const int theSize) +void Model_AttributeIntArray::setSize(const int theSize, bool sendUpdated) { if (myArray.IsNull() || !myArray->IsValid()) { // create array if it is not done yet if (theSize != 0) { // if size is zero, nothing to do (null array means there is no array) myArray = TDataStd_IntegerArray::Set(myLab, 0, theSize - 1); - owner()->data()->sendAttributeUpdated(this); + if (sendUpdated) + owner()->data()->sendAttributeUpdated(this); } } else { // reset the old array if (theSize) { if (theSize != myArray->Length()) { // old data is not kept, a new array is created Handle(TColStd_HArray1OfInteger) aNewArray = new TColStd_HArray1OfInteger(0, theSize - 1); myArray->ChangeArray(aNewArray); - owner()->data()->sendAttributeUpdated(this); + if (sendUpdated) + owner()->data()->sendAttributeUpdated(this); } } else { // size is zero => array must be erased if (!myArray.IsNull()) { myArray.Nullify(); myLab.ForgetAttribute(TDataStd_IntegerArray::GetID()); - owner()->data()->sendAttributeUpdated(this); + if (sendUpdated) + owner()->data()->sendAttributeUpdated(this); } } }