-// Copyright (C) 2014-2022 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2024 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
aLoop->registerListener(this, Events_Loop::eventByName("AbortOperation"));
aLoop->registerListener(this, Events_Loop::eventByName(EVENT_AUTOMATIC_RECOMPUTATION_ENABLE));
aLoop->registerListener(this, Events_Loop::eventByName(EVENT_AUTOMATIC_RECOMPUTATION_DISABLE));
+ aLoop->registerListener(this, ModelAPI_ObjectRenamedMessage::eventId());
}
//******************************************************
// the viewer's update context is unblocked, the viewer's update works
XGUI_Displayer* aDisplayer = workshop()->displayer();
aDisplayer->enableUpdateViewer(true);
- } else if ((theMessage->eventID() ==
+ }
+ else if ((theMessage->eventID() ==
Events_Loop::eventByName(EVENT_AUTOMATIC_RECOMPUTATION_ENABLE)) ||
(theMessage->eventID() ==
Events_Loop::eventByName(EVENT_AUTOMATIC_RECOMPUTATION_DISABLE))) {
myWorkshop->updateAutoComputeState();
+ }
+ else if (theMessage->eventID() == ModelAPI_ObjectRenamedMessage::eventId()) {
+ myWorkshop->updateGroupsText();
+ myWorkshop->displayer()->updateViewer();
} else {
//Show error dialog if error message received.
std::shared_ptr<Events_InfoMessage> anIngfoMsg =
//bool aHasPart = false;
bool aDisplayed = false;
- if (!isLoadedScript) {
- for (aIt = anObjects.begin(); aIt != anObjects.end(); ++aIt) {
- ObjectPtr anObject = *aIt;
+ for (aIt = anObjects.begin(); aIt != anObjects.end(); ++aIt) {
+ ObjectPtr anObject = *aIt;
#ifdef DEBUG_RESULT_COMPSOLID
- ResultPtr aRes = std::dynamic_pointer_cast<ModelAPI_Result>(anObject);
- if (aRes.get()) {
- ResultCompSolidPtr aCompSolidRes =
- std::dynamic_pointer_cast<ModelAPI_ResultCompSolid>(aRes);
- if (aCompSolidRes.get()) {
- qDebug(QString("COMPSOLID, numberOfSubs = %1")
- .arg(aCompSolidRes->numberOfSubs()).toStdString().c_str());
- }
- if (ModelAPI_Tools::compSolidOwner(aRes))
- qDebug("COMPSOLID sub-object");
+ ResultPtr aRes = std::dynamic_pointer_cast<ModelAPI_Result>(anObject);
+ if (aRes.get()) {
+ ResultCompSolidPtr aCompSolidRes =
+ std::dynamic_pointer_cast<ModelAPI_ResultCompSolid>(aRes);
+ if (aCompSolidRes.get()) {
+ qDebug(QString("COMPSOLID, numberOfSubs = %1")
+ .arg(aCompSolidRes->numberOfSubs()).toStdString().c_str());
}
+ if (ModelAPI_Tools::compSolidOwner(aRes))
+ qDebug("COMPSOLID sub-object");
+ }
#endif
- ResultBodyPtr aRes = std::dynamic_pointer_cast<ModelAPI_ResultBody>(anObject);
-
- if (aRes.get() && aRes->numberOfSubs() > 0)
- for (int anIndex = 0; anIndex < aRes->numberOfSubs(); ++anIndex)
- setDisplayed(aRes->subResult(anIndex), aDisplayed);
- else
- setDisplayed(anObject, aDisplayed);
- }
+ ResultBodyPtr aRes = std::dynamic_pointer_cast<ModelAPI_ResultBody>(anObject);
+ if (aRes.get() && aRes->numberOfSubs() > 0)
+ for (int anIndex = 0; anIndex < aRes->numberOfSubs(); ++anIndex)
+ setDisplayed(aRes->subResult(anIndex), isLoadedScript, aDisplayed);
+ else
+ setDisplayed(anObject, isLoadedScript, aDisplayed);
}
+
MAYBE_UNUSED bool isCustomized = customizeFeature(anObjects, aDisplayed);
//if (myObjectBrowser)
}
-void XGUI_WorkshopListener::setDisplayed(ObjectPtr theObject, bool& theDisplayed)
+void XGUI_WorkshopListener::setDisplayed(
+ ObjectPtr theObject, const bool theIsLoadedScript, bool& theDisplayed)
{
+ if (theIsLoadedScript) {
+ theObject->setDisplayed(theDisplayed);
+ return;
+ }
// the validity of the data should be checked here in order to avoid display of the objects,
// which were created, then deleted, but flush for the creation event happens after that
// we should not display disabled objects