-// Copyright (C) 2014-2019 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2022 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
#include <GeomAlgoAPI_Tools.h>
FeaturesPlugin_Recover::FeaturesPlugin_Recover()
+ : myClearListOnTypeChange(true)
{
}
data()->addAttribute(RECOVERED_ENTITIES(), ModelAPI_AttributeRefList::typeId());
data()->addAttribute(METHOD(), ModelAPI_AttributeString::typeId());
+ if (!string(METHOD())->isInitialized()) {
+ myClearListOnTypeChange = false;
+ data()->blockSendAttributeUpdated(true, false);
+ string(METHOD())->setValue(METHOD_DEFAULT());
+ data()->blockSendAttributeUpdated(false, false);
+ myClearListOnTypeChange = true;
+ }
ModelAPI_Session::get()->validators()->registerNotObligatory(getKind(), METHOD());
}
void FeaturesPlugin_Recover::attributeChanged(const std::string& theID)
{
- if (theID == METHOD())
+ if (theID == METHOD() && myClearListOnTypeChange)
reflist(RECOVERED_ENTITIES())->clear();
}