diff options
Diffstat (limited to 'addon/doxywizard/inputint.cpp')
-rw-r--r-- | addon/doxywizard/inputint.cpp | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/addon/doxywizard/inputint.cpp b/addon/doxywizard/inputint.cpp new file mode 100644 index 0000000..54d7d02 --- /dev/null +++ b/addon/doxywizard/inputint.cpp @@ -0,0 +1,67 @@ +/****************************************************************************** + * + * + * + * Copyright (C) 2000 by Dimitri van Heesch. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software + * for any purpose. It is provided "as is" without express or implied warranty. + * See the GNU General Public License for more details. + * + */ + +#include "inputint.h" +#include "pagewidget.h" + +#include <stdio.h> +#include <stdlib.h> +#include <qlabel.h> +#include <qlayout.h> +#include <qwindowsstyle.h> +#include <qspinbox.h> + +InputInt::InputInt( const QString & label, PageWidget *parent, int &val, int minVal,int maxVal ) + : QWidget( parent->getLayout() ), m_val(val), m_minVal(minVal), m_maxVal(maxVal) +{ + QHBoxLayout *layout = new QHBoxLayout( this, 5 ); + + lab = new QLabel( label, this ); + lab->setMinimumSize( lab->sizeHint() ); + + sp = new QSpinBox( minVal,maxVal,1,this ); + sp->setMinimumSize( sp->sizeHint() ); + + init(); + + layout->addWidget( lab ); + layout->addWidget( sp ); + layout->addStretch(1); + layout->activate(); + setMinimumSize( sizeHint() ); + + connect(sp, SIGNAL(valueChanged(int)), + this, SLOT(valueChanged(int)) ); + + parent->addWidget(this); +} + +void InputInt::valueChanged(int val) +{ + if (val!=m_val) emit changed(); + m_val = val; +} + +void InputInt::setEnabled(bool state) +{ + lab->setEnabled(state); + sp->setEnabled(state); +} + +void InputInt::init() +{ + m_val = QMAX(m_minVal,m_val); + m_val = QMIN(m_maxVal,m_val); + sp->setValue(m_val); +} |