loom

Форк
0
/
NumberDisplayDataModel.cpp 
71 строка · 1.3 Кб
1
#include "NumberDisplayDataModel.hpp"
2

3
#include <QtWidgets/QLabel>
4

5
NumberDisplayDataModel::NumberDisplayDataModel()
6
    : _label{nullptr}
7
{}
8

9
unsigned int NumberDisplayDataModel::nPorts(PortType portType) const
10
{
11
    unsigned int result = 1;
12

13
    switch (portType) {
14
    case PortType::In:
15
        result = 1;
16
        break;
17

18
    case PortType::Out:
19
        result = 0;
20

21
    default:
22
        break;
23
    }
24

25
    return result;
26
}
27

28
NodeDataType NumberDisplayDataModel::dataType(PortType, PortIndex) const
29
{
30
    return DecimalData().type();
31
}
32

33
std::shared_ptr<NodeData> NumberDisplayDataModel::outData(PortIndex)
34
{
35
    std::shared_ptr<NodeData> ptr;
36
    return ptr;
37
}
38

39
void NumberDisplayDataModel::setInData(std::shared_ptr<NodeData> data, PortIndex )
40
{
41
    _numberData = std::dynamic_pointer_cast<DecimalData>(data);
42

43
    if (!_label)
44
        return;
45

46
    if (_numberData) {
47
        _label->setText(_numberData->numberAsText());
48
    } else {
49
        _label->clear();
50
    }
51

52
    _label->adjustSize();
53
}
54

55
QWidget *NumberDisplayDataModel::embeddedWidget()
56
{
57
    if (!_label) {
58
        _label = new QLabel();
59
        _label->setMargin(3);
60
    }
61

62
    return _label;
63
}
64

65
double NumberDisplayDataModel::number() const
66
{
67
    if (_numberData)
68
        return _numberData->number();
69

70
    return 0.0;
71
}
72

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.