#include "ModuleBase_Tools.h"
#include "ModuleBase_WidgetValidator.h"
+#include <Events_InfoMessage.h>
+
#include <ModelAPI_Data.h>
#include <ModelAPI_Attribute.h>
#include <ModelAPI_Events.h>
#include <Config_Keywords.h>
#include <Config_WidgetAPI.h>
+#include <Config_Translator.h>
#include <Events_Loop.h>
#include <QEvent>
#include <QLabel>
#include <QFocusEvent>
+#include <QTextCodec>
//#define DEBUG_VALUE_STATE
return anError;
std::string aValidatorID;
- std::string anErrorMsg;
+ Events_InfoMessage anErrorMsg;
static ModelAPI_ValidatorsFactory* aValidators = ModelAPI_Session::get()->validators();
if (!aValidators->validate(anAttribute, aValidatorID, anErrorMsg)) {
if (anErrorMsg.empty())
anErrorMsg = "unknown error.";
- anErrorMsg = anAttributeID + " - " + aValidatorID + ": " + anErrorMsg;
+ anErrorMsg = anAttributeID + " - " + aValidatorID + ": " + anErrorMsg.messageString();
+ }
+
+ if (!anErrorMsg.empty()) {
+ std::string aStr = Config_Translator::translate(anErrorMsg);
+ std::string aCodec = Config_Translator::codec(anErrorMsg.context());
+ anError = QTextCodec::codecForName(aCodec.c_str())->toUnicode(aStr.c_str());
}
- anError = QString::fromStdString(anErrorMsg);
if (anError.isEmpty() && theValueStateChecked)
anError = getValueStateError();
+ anError = translateString(anError);
return anError;
}
+
+QString ModuleBase_ModelWidget::translateString(const QString& theMsg) const
+{
+ if (!theMsg.isEmpty()) {
+ std::string aContext = feature()->getKind();
+ std::string aStr = Config_Translator::translate(aContext, theMsg.toStdString().c_str());
+ std::string aCodec = Config_Translator::codec(aContext);
+ return QTextCodec::codecForName(aCodec.c_str())->toUnicode(aStr.c_str());
+ }
+ return theMsg;
+}
+
+
void ModuleBase_ModelWidget::enableFocusProcessing()
{
QList<QWidget*> aMyControls = getControls();