summaryrefslogtreecommitdiffstats
path: root/src/widget/wnumber.cpp
blob: b0f8a9134aaff1e24f631cf924e4f8a514dbb30a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "widget/wnumber.h"

#include "moc_wnumber.cpp"

WNumber::WNumber(QWidget* pParent)
        : WLabel(pParent),
          m_iNoDigits(2) {
}

void WNumber::setup(const QDomNode& node, const SkinContext& context) {
    WLabel::setup(node, context);

    // Number of digits after the decimal.
    context.hasNodeSelectInt(node, "NumberOfDigits", &m_iNoDigits);

    setValue(0.);
}

void WNumber::onConnectedControlChanged(double dParameter, double dValue) {
    Q_UNUSED(dParameter);
    // We show the actual control value instead of its parameter.
    setValue(dValue);
}

void WNumber::setValue(double dValue) {
    if (m_skinText.contains("%1")) {
        setText(m_skinText.arg(QString::number(dValue, 'f', m_iNoDigits)));
    } else {
        setText(m_skinText + QString::number(dValue, 'f', m_iNoDigits));
    }
}