#include #include #include #include #include #include #include "TimeStampTriplet.h" #include "enum.bactypes.h" TimeStampTriplet::TimeStampTriplet(QWidget *parent, int db_id, int PropId, QString label, QGridLayout *layout, int row, int col) { this->parent = parent; this->PropId = PropId; this->BacType = BT_DATETIME; this->db_id = db_id; box = (label != QString()) ? (new QGroupBox(label, parent)) : (new QGroupBox(parent)); if(layout) layout->addWidget(box, row, col, Qt::AlignCenter); this->input = box; Render(); SetValue(QVariant()); } TimeStampTriplet::TimeStampTriplet(QWidget *parent, int db_id, int PropId, QString value, QString label, QGridLayout *layout, int row, int col) { this->parent = parent; this->PropId = PropId; this->BacType = BT_DATETIME; this->db_id = db_id; box = (label != QString()) ? (new QGroupBox(label, parent)) : (new QGroupBox(parent)); if(layout) layout->addWidget(box, row, col, Qt::AlignCenter); this->input = box; Render(); SetValue(value); } void TimeStampTriplet::Render() { boxLayout = new QGridLayout(box); boxLayout->setAlignment(Qt::AlignHCenter); labels[0] = new QLabel("Last Off-Normal", parent); labels[1] = new QLabel("Last Fault", parent); labels[2] = new QLabel("Last Normal", parent); inputs[0] = new QDateTimeEdit(parent); inputs[1] = new QDateTimeEdit(parent); inputs[2] = new QDateTimeEdit(parent); boxLayout->addWidget(labels[0], 0, 0); boxLayout->addWidget(labels[1], 0, 1); boxLayout->addWidget(labels[2], 0, 2); boxLayout->addWidget(inputs[0], 1, 0); boxLayout->addWidget(inputs[1], 1, 1); boxLayout->addWidget(inputs[2], 1, 2); } void TimeStampTriplet::SetValue(QVariant value) { this->value = value; serial = value.toString(); if(value != QVariant()) { inputs[0]->setDateTime(QDateTime::fromString(serial, "yyyy-MM-ddThh:mm:ss ")); inputs[1]->setDateTime(QDateTime::fromString(serial + 18, "yyyy-MM-ddThh:mm:ss ")); inputs[2]->setDateTime(QDateTime::fromString(serial + 36, "yyyy-MM-ddThh:mm:ss ")); } } void TimeStampTriplet::reserialize() { int i; serial = ""; for(i = 0; i < 3; ++i) serial += inputs[i]->dateTime().toString("yyyy-MM-ddThh:mm:ss "); value = serial; }