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 'mbs/32757' of https://codev-tuleap.cea.fr/plugins/git/salome/shaper...
[modules/shaper.git]
/
src
/
ModelAPI
/
ModelAPI_Feature.cpp
diff --git
a/src/ModelAPI/ModelAPI_Feature.cpp
b/src/ModelAPI/ModelAPI_Feature.cpp
index d02bded7f5e95531f393af20adf6282a8a78e47c..4b0939fab5e3220691f8928583537a9f76fd6d41 100644
(file)
--- a/
src/ModelAPI/ModelAPI_Feature.cpp
+++ b/
src/ModelAPI/ModelAPI_Feature.cpp
@@
-1,4
+1,4
@@
-// Copyright (C) 2014-20
17
CEA/DEN, EDF R&D
+// Copyright (C) 2014-20
22
CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
@@
-12,10
+12,9
@@
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA
//
//
-// See http://www.salome-platform.org/ or
-// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#include "ModelAPI_Feature.h"
//
#include "ModelAPI_Feature.h"
@@
-24,8
+23,11
@@
#include <ModelAPI_Data.h>
#include <ModelAPI_Document.h>
#include <ModelAPI_Session.h>
#include <ModelAPI_Data.h>
#include <ModelAPI_Document.h>
#include <ModelAPI_Session.h>
+#include <ModelAPI_Tools.h>
+#include <ModelAPI_ResultGroup.h>
#include <Events_Loop.h>
#include <Config_Translator.h>
#include <Events_Loop.h>
#include <Config_Translator.h>
+#include <Config_PropManager.h>
void ModelAPI_Feature::setError(const std::string& theError,
bool isSend,
void ModelAPI_Feature::setError(const std::string& theError,
bool isSend,
@@
-71,6
+73,13
@@
void ModelAPI_Feature::setResult(const std::shared_ptr<ModelAPI_Result>& theResu
// in any case result becomes enabled
if (!isDisabled()) // disabled feature may be executed when it is added as not enabled (#2078)
theResult->setDisabled(theResult, false);
// in any case result becomes enabled
if (!isDisabled()) // disabled feature may be executed when it is added as not enabled (#2078)
theResult->setDisabled(theResult, false);
+
+ if (Config_PropManager::getAutoColorStatus()
+ && theResult->groupName() == ModelAPI_ResultGroup::group()) {
+ std::vector<int> aColor;
+ ModelAPI_Tools::findRandomColor(aColor);
+ ModelAPI_Tools::setColor(theResult, aColor);
+ }
}
void ModelAPI_Feature::setResult(const std::shared_ptr<ModelAPI_Result>& theResult,
}
void ModelAPI_Feature::setResult(const std::shared_ptr<ModelAPI_Result>& theResult,
@@
-157,10
+166,6
@@
void ModelAPI_Feature::erase()
document()->setCurrentFeatureUp();
}
document()->setCurrentFeatureUp();
}
- static Events_Loop* aLoop = Events_Loop::loop();
- static Events_ID EVENT_DISP = aLoop->eventByName(EVENT_OBJECT_TO_REDISPLAY);
- static const ModelAPI_EventCreator* aECreator = ModelAPI_EventCreator::get();
-
while (!myResults.empty()) { // remove one by one with messages
std::shared_ptr<ModelAPI_Result> aRes = *(myResults.begin());
aRes->setDisabled(aRes, true); // to avoid activation of the Part result
while (!myResults.empty()) { // remove one by one with messages
std::shared_ptr<ModelAPI_Result> aRes = *(myResults.begin());
aRes->setDisabled(aRes, true); // to avoid activation of the Part result
@@
-209,11
+214,13
@@
bool ModelAPI_Feature::setDisabled(const bool theFlag)
(*aResIter)->setDisabled(*aResIter, false);
}
// update selection for the case something was updated higher in the history
(*aResIter)->setDisabled(*aResIter, false);
}
// update selection for the case something was updated higher in the history
- // while this feature was disabled
+ // while this feature was disabled, but avoid flushing it immediately and
+ // wait while all the previous features update myIsDisabled flag
+ // (flush will be called by the document)
static Events_Loop* aLoop = Events_Loop::loop();
static Events_ID kUpdatedSel = aLoop->eventByName(EVENT_UPDATE_SELECTION);
static const ModelAPI_EventCreator* aECreator = ModelAPI_EventCreator::get();
static Events_Loop* aLoop = Events_Loop::loop();
static Events_ID kUpdatedSel = aLoop->eventByName(EVENT_UPDATE_SELECTION);
static const ModelAPI_EventCreator* aECreator = ModelAPI_EventCreator::get();
- aECreator->sendUpdated(data()->owner(), kUpdatedSel,
fals
e);
+ aECreator->sendUpdated(data()->owner(), kUpdatedSel,
tru
e);
}
return true;
}
}
return true;
}
@@
-246,7
+253,7
@@
bool ModelAPI_Feature::isStable()
return myIsStable;
}
return myIsStable;
}
-bool ModelAPI_Feature::customAction(const std::string&
theActionId
)
+bool ModelAPI_Feature::customAction(const std::string&
/*theActionId*/
)
{
return false;
}
{
return false;
}