/**************************************************************************** ** ** Copyright (C) 2019 Minnesota Department of Transportation ** Office of Materials & Road Research ** 1400 Gervais Avenue ** Saint Paul, Minnesota 55109-2044 ** USA ** http://www.dot.state.mn.us/materials/pvmtdesign/software.html ** ** ** $QT_BEGIN_LICENSE:GPL$ ** ** This program is free software: you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation, either version 3 of the License, or ** (at your option) any later version. ** ** This program 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 General Public License for more details. ** ** If you did not receive a copy of the GNU General Public License ** see http://www.gnu.org/licenses ** ** $QT_END_LICENSE$ ** ****************************************************************************/ #include "mydoublespinbox.h" #include #include MyDoubleSpinBox::MyDoubleSpinBox(QWidget *parent): QDoubleSpinBox(parent) {// subclass to control spinbox increments } void MyDoubleSpinBox::stepBy(int steps) { //send to nearest increment double val = value()/singleStep(); int old = (int) val; if(steps > 0 || (double) old - val == 0) { old += steps; setValue((double) old * singleStep()); } else { setValue((double) old * singleStep()); } }