diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 114a878c64ce6f8223cfd22d76a20eb16d177e5e (patch) | |
tree | acaf47eb0fa12142d3896416a69e74cbf5a72242 /lib/widgets/propeditor/qfloatinput.cpp | |
download | tdevelop-114a878c64ce6f8223cfd22d76a20eb16d177e5e.tar.gz tdevelop-114a878c64ce6f8223cfd22d76a20eb16d177e5e.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdevelop@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'lib/widgets/propeditor/qfloatinput.cpp')
-rw-r--r-- | lib/widgets/propeditor/qfloatinput.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/lib/widgets/propeditor/qfloatinput.cpp b/lib/widgets/propeditor/qfloatinput.cpp new file mode 100644 index 00000000..ea3b17f1 --- /dev/null +++ b/lib/widgets/propeditor/qfloatinput.cpp @@ -0,0 +1,51 @@ +/* + * qfloatinput.cpp + * + * Copyright (C) 2004 David Faure <faure@kde.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * 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 + */ +#include "qfloatinput.h" + +#include <math.h> + +QFloatInput::QFloatInput( int min, int max, float step, int digits, + QWidget *parent, const char *name ) + : QSpinBox( (int) (min*pow(digits,10)), + (int) (max*pow(digits,10)), + (int) (step*pow(digits,10)), parent, name ), + m_digits( digits ) +{ + setValue( (int) (min*pow(digits,10)) ); + delete validator(); + QDoubleValidator* validator = + new QDoubleValidator( min, max, m_digits, this ); + setValidator( validator ); +} + +QString QFloatInput::mapValueToText( int value ) +{ + QString format = QString("%.%1f").arg( m_digits ); + return QString().sprintf(format.latin1(), + (value/(float)pow(m_digits,10)) ); +} + +int QFloatInput::mapTextToValue( bool* ok ) +{ + return int(cleanText().toFloat(ok)*pow(m_digits,10)); +} + + |