Hello
I noticed a bug in paraview on parsing double values in QLineEdits, e.g. in
pqDoubleEdit:
double pqDoubleEdit::value()
{
QString currentText = this->text();
int currentPos = this->cursorPosition();
QDoubleValidator dvalidator(NULL);
QValidator::State state = dvalidator.validate(currentText, currentPos);
if (state == QValidator::Acceptable || state == QValidator::Intermediate)
{
return currentText.toDouble();
}
return 0.0;
}
The Problem is that QDoubleValidator uses the current locale. If the current
locale is e.g. German that e.g. "0.1" is not allowed, only "0,1". On the other
side the QString function toDouble cannot parse it correctly, see documentation
http://doc.qt.io/qt-5/qstring.html#toDouble , here the
http://doc.qt.io/qt-5/qlocale.html#toDouble is recommended.... So all QLineEdit
functions with toDouble must be replaced by
QLocale oL;
Double dValue = oL.toDouble( lineEdit->text())
Nasty....Other solution would be to set the locale to English for whole
paraview regardless to the system locale, but I don't know if that is possible
(also not very beautiful)...
Best regards
------------------------------------------------------------------------------------
Gerald Lodron
Researcher of Machine Vision Applications Group
DIGITAL - Institute for Information and Communication Technologies
JOANNEUM RESEARCH Forschungsgesellschaft mbH
Steyrergasse 17, 8010 Graz, AUSTRIA
phone: +43-316-876-1751
general fax: +43-316-876-1751
web: http://www.joanneum.at/digital
e-mail: [email protected]<mailto:[email protected]>
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Search the list archives at: http://markmail.org/search/?q=ParaView
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview