Subversion Repositories svn1-original

Rev

Rev 188 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
187 - 1
#include "twinspinbox.h"
2
#include "ui_twinspinbox.h"
3
 
4
TwinSpinBox::TwinSpinBox(QWidget *parent) :
5
    QWidget(parent),
6
    ui(new Ui::TwinSpinBox),
7
    populating(false)
8
{
9
    ui->setupUi(this);
10
 
11
    connect(ui->spinBoxL,SIGNAL(valueChanged(int)), this, SLOT(adjust(void)));
12
    connect(ui->spinBoxU,SIGNAL(valueChanged(int)), this, SLOT(adjust(void)));
13
 
14
}
15
 
16
TwinSpinBox::~TwinSpinBox()
17
{
18
    delete ui;
19
}
20
 
21
void TwinSpinBox::adjust(void)
22
{
23
    if ( ! populating )
24
    {
25
        qDebug("Changed");
26
        emit changed();
27
 
28
        populating = true;
29
        if (ui->spinBoxL->value() > ui->spinBoxU->value())
30
        {
31
            ui->spinBoxU->setValue(ui->spinBoxL->value());
32
        }
33
 
34
        qDebug("Values: %d, %d",ui->spinBoxU->value() , ui->spinBoxL->value() );
35
        if (ui->spinBoxU->value() < ui->spinBoxL->value())
36
        {
37
            qDebug("SetL");
38
            ui->spinBoxL->setValue(ui->spinBoxU->value());
39
        }
40
        populating = false;
41
    }
42
}
43
 
44
void TwinSpinBox::setLimits( int lower, int upper)
45
{
46
    populating = true;
47
    ui->spinBoxL->setMinimum(lower);
48
    ui->spinBoxL->setMaximum(upper);
49
 
50
    ui->spinBoxU->setMinimum(lower);
51
    ui->spinBoxU->setMaximum(upper);
52
    populating = false;
53
}
54
 
55
void TwinSpinBox::setData( int lower, int upper)
56
{
57
    populating = true;
58
    ui->spinBoxL->setValue(lower);
59
    ui->spinBoxU->setValue(upper);
60
    populating = false;
61
}
62
 
63
void TwinSpinBox::getData( short int *lptr, short int *uptr)
64
{
65
    if ( lptr )
66
        *lptr = ui->spinBoxL->value();
67
    if (uptr)
68
        *uptr = ui->spinBoxU->value();
69
}