+//********************************************************************
+void ModuleBase_WidgetValidated::blockAttribute(const bool& theToBlock, bool& isFlushesActived,
+ bool& isAttributeSetInitializedBlocked)
+{
+ Events_Loop* aLoop = Events_Loop::loop();
+ DataPtr aData = myFeature->data();
+ AttributePtr anAttribute = myFeature->attribute(attributeID());
+ if (theToBlock) {
+ // blocks the flush signals to avoid the temporary objects visualization in the viewer
+ // they should not be shown in order to do not lose highlight by erasing them
+ isFlushesActived = aLoop->activateFlushes(false);
+
+ aData->blockSendAttributeUpdated(true);
+ isAttributeSetInitializedBlocked = anAttribute->blockSetInitialized(true);
+ }
+ else {
+ aData->blockSendAttributeUpdated(false);
+ anAttribute->blockSetInitialized(isAttributeSetInitializedBlocked);
+ aLoop->activateFlushes(isFlushesActived);
+ }
+}
+