/
pi_coder
/
ByteMachine
Обзор
Документация
Войти
/
pi_coder
/
ByteMachine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/nodes/node_state_info.cpp
107 строк
4 KB
pimenov-and
Перенос функциональности из старого проекта, в основном это описания узлов
19 июл 2026, 20:13
19 июл 2026, 20:13
cb3c51b
Код
Авторство
О чём код?
//////////////////////////////////////////////////////////////// // ByteMachine // Описание состояния узла //////////////////////////////////////////////////////////////// #include "node_state_info.h" #include "qt_helper.h" //////////////////////////////////////////////////////////////// // Реализация типа NodeStateInfo //////////////////////////////////////////////////////////////// //============================================================== // Конструктор с параметрами //============================================================== NodeStateInfo::NodeStateInfo(NodeStates state, const QString &descript) { init(state, descript); } //============================================================== // Функция инициализации //============================================================== void NodeStateInfo::init(NodeStates state, const QString &descript) { state_ = state; descript_ = descript; } //============================================================== // Получение представления в виде строки //============================================================== QString NodeStateInfo::toStr() const { return isSuccess() ? nodeStateToStrTr(state_) : nodeStateToStrTr(state_) + ": " + capitalizeStr(descript_); } //============================================================== // Получение состояния //============================================================== NodeStates NodeStateInfo::state() const { return state_; } //============================================================== // Задание состояния //============================================================== void NodeStateInfo::setState(const NodeStates &state) { if (state_ != state) { state_ = state; } } //============================================================== // Получение описания //============================================================== QString NodeStateInfo::descript() const { return descript_; } //============================================================== // Задание описания //============================================================== void NodeStateInfo::setDescript(const QString &descript) { if (descript_ != descript) { descript_ = descript; } } //////////////////////////////////////////////////////////////// // Реализация функций //////////////////////////////////////////////////////////////// //============================================================== // Оператор == для типа NodeStateInfo //============================================================== bool operator ==(const NodeStateInfo &info1, const NodeStateInfo &info2) { return (info1.state() == info2.state()) && (info1.descript() == info2.descript()); } //============================================================== // Оператор != для типа NodeStateInfo //============================================================== bool operator !=(const NodeStateInfo &info1, const NodeStateInfo &info2) { return !(info1 == info2); } //============================================================== // Оператор << для записи типа NodeStateInfo в поток QDebug //============================================================== QDebug operator <<(QDebug debug, const NodeStateInfo &info) { QDebugStateSaver saver{debug}; debug.nospace() << info.toStr(); return debug; }