-// Copyright (C) 2014-2017 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2023 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
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// See http://www.salome-platform.org/ or
-// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#include <ModuleBase_WidgetLineEdit.h>
#include <ModuleBase_Tools.h>
#include <ModuleBase_IconFactory.h>
+#include <Locale_Convert.h>
+
#include <ModelAPI_AttributeString.h>
#include <ModelAPI_Data.h>
#include <ModelAPI_Object.h>
if (!aLabelIcon.isEmpty())
aLabel->setPixmap(ModuleBase_IconFactory::loadPixmap(aLabelIcon));
- myLineEdit = new CustomLineEdit( this, QString::fromStdString( thePlaceHolder ) );
+ myLineEdit = new CustomLineEdit( this, translate( thePlaceHolder ) );
// Here we do not use the Qt's standard method setPlaceHolderText() since it
// draws the place holder only if there is no focus on widget;
// we would like to see the place holder in the case of empty text
DataPtr aData = myFeature->data();
AttributeStringPtr aStringAttr = aData->string(attributeID());
QString aWidgetValue = myLineEdit->text();
- aStringAttr->setValue(aWidgetValue.toStdString());
+ aStringAttr->setValue(aWidgetValue.toStdWString());
updateObject(myFeature);
return true;
}
AttributeStringPtr aStringAttr = aData->string(attributeID());
bool isBlocked = myLineEdit->blockSignals(true);
- myLineEdit->setText(QString::fromStdString(aStringAttr->value()));
+ QString aText;
+ if (aStringAttr->isUValue())
+ aText = QString::fromStdWString(Locale::Convert::toWString(aStringAttr->valueU()));
+ else
+ aText = QString::fromStdString(aStringAttr->value());
+ myLineEdit->setText(aText);
myLineEdit->blockSignals(isBlocked);
return true;
}
return isModified;
}
+
+bool ModuleBase_WidgetLineEdit::isModified() const
+{
+ return !myLineEdit->text().isEmpty();
+}
\ No newline at end of file