1 #include "QDS_SpinBox.h"
4 #include <qvalidator.h>
9 QDS_SpinBox::QDS_SpinBox( const QString& id, QWidget* parent, const int flags, const QString& comp )
10 : QDS_Datum( id, parent, flags, comp )
17 QDS_SpinBox::~QDS_SpinBox()
22 Returns string from QSpinBox widget.
24 QString QDS_SpinBox::getString() const
27 QSpinBox* aSpinBox = spinBox();
30 res = aSpinBox->text();
31 if ( !aSpinBox->suffix().isEmpty() )
32 res.remove( res.find( aSpinBox->suffix() ), aSpinBox->suffix().length() );
33 if ( !aSpinBox->prefix().isEmpty() )
34 res.remove( res.find( aSpinBox->prefix() ), aSpinBox->prefix().length() );
40 Sets the string into QSpinBox widget.
42 void QDS_SpinBox::setString( const QString& txt )
45 spinBox()->setValue( txt.toInt() );
49 Returns pointer to QSpinBox widget.
51 QSpinBox* QDS_SpinBox::spinBox() const
53 return ::qt_cast<QSpinBox*>( controlWidget() );
57 Create QSpinBox widget as control subwidget.
59 QWidget* QDS_SpinBox::createControl( QWidget* parent )
61 QSpinBox* aSpinBox = new QSpinBox( parent );
62 aSpinBox->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
63 connect( aSpinBox, SIGNAL( valueChanged( int ) ), this, SLOT( onValueChanged( int ) ) );
68 Notify about text changing in spin box.
70 void QDS_SpinBox::onValueChanged( int val )
73 QString str = QString::number( val );
75 emit paramChanged( str );
79 Sets the increment step.
81 void QDS_SpinBox::setStep( const int step )
84 spinBox()->setLineStep( step );
88 Returns the increment step.
90 int QDS_SpinBox::step() const
94 s = spinBox()->lineStep();
99 This method is redefined from ancestor class to perform own initialization ( suffix, prefix, etc ).
101 void QDS_SpinBox::unitSystemChanged( const QString& system )
103 QDS_Datum::unitSystemChanged( system );
105 QSpinBox* sb = spinBox();
108 delete sb->validator();
109 QValidator* valid = validator();
110 sb->setValidator( valid );
112 sb->setSuffix( suffix() );
113 sb->setPrefix( prefix() );
114 sb->setMinValue( minValue().toInt() );
115 sb->setMaxValue( maxValue().toInt() );