void NumberEdit::texttChanged(const QString& text) { QString in=text; if (!suffix.isEmpty()) { if (text.endsWith(suffix)) { in=in.remove(text.size()-suffix.size(), suffix.size()); } } double d=extractVal(text); setViewOK(); if ((checkMax) && (d>max)) { d=max; setViewError(); }//setValue(d);} if ((checkMin) && (d<min)) { d=min; setViewError(); }//setValue(d); } //std::cout<<d<<std::endl; //QMessageBox::information(this, "", QString("value is %1").arg(d)); else emit valueChanged(d); if ((!suffix.isEmpty()) && (!text.contains(suffix))) { int cp=cursorPosition(); setText(text+suffix); setCursorPosition(cp); } }
void NumberEdit::stepDown() { double d=value(); d-=singleStep; if (checkMin) if (d<min) d=min; if (checkMax) if (d>max) d=max; setValue(d); setViewOK(); }
void NumberEdit::setValue(double value) { double v=value; if (v!=0 && v==extractVal(text())) return; if (checkMin) if (v<min) v=min; if (checkMax) if (v>max) v=max; QString t; t.setNum(v, 'f', decimals); setText(t+suffix); setViewOK(); }