#include <ParametersPlugin_Parameter.h>
#include <ParametersPlugin_PyInterp.h>
-#include <Events_Error.h>
+#include <Events_InfoMessage.h>
#include <ModelAPI_AttributeDouble.h>
#include <ModelAPI_AttributeInteger.h>
#include <GeomDataAPI_Point.h>
#include <GeomDataAPI_Point2D.h>
+#include <QMessageBox>
+
#include <string>
#include <set>
#include <sstream>
} else if (theMessage->eventID() == kReplaceParameterEvent) {
processReplaceParameterEvent(theMessage);
} else {
- Events_Error::send(std::string("ParametersPlugin python interpreter, unhandled message caught: ")
- + theMessage->eventID().eventText());
+ Events_InfoMessage("ParametersPlugin_EvalListener",
+ "ParametersPlugin python interpreter, unhandled message caught: ")
+ .arg(theMessage->eventID().eventText()).send();
}
}
bool isValidAttribute(const AttributePtr& theAttribute)
{
- std::string aValidator, anError;
+ std::string aValidator;
+ Events_InfoMessage anError;
return ModelAPI_Session::get()->validators()->validate(theAttribute, aValidator, anError);
}
{
theResultParameter->data()->blockSendAttributeUpdated(true);
theResultParameter->data()->setName(theName);
- theResultParameter->data()->blockSendAttributeUpdated(false);
+ theResultParameter->data()->blockSendAttributeUpdated(false, false);
std::shared_ptr<ParametersPlugin_Parameter> aParameter =
std::dynamic_pointer_cast<ParametersPlugin_Parameter>(
if (!aParameter.get())
return;
+ std::string aNotActivatedNames;
+ if (!ModelAPI_Tools::allDocumentsActivated(aNotActivatedNames)) {
+ QMessageBox::StandardButton aRes = QMessageBox::warning(0, QObject::tr("Warning"),
+ QObject::tr("Selected objects can be used in Part documents which are not loaded: \
+%1. Whould you like to continue?").arg(aNotActivatedNames.c_str()),
+ QMessageBox::No | QMessageBox::Yes, QMessageBox::No);
+ if (aRes != QMessageBox::Yes) {
+ setParameterName(aResultParameter, aMessage->oldName());
+ return;
+ }
+ }
+
// try to update the parameter feature according the new name
setParameterName(aResultParameter, aMessage->newName());
// TODO(spo): replace with ModelAPI_Session::get()->validators()->validate(aParameter, ParametersPlugin_Parameter::VARIABLE_ID())