Sensors now work over broadcast pipe

Added Polynomal actor
Added Item adding dialog
Added Factor Actor
This commit is contained in:
Carl Klemm 2020-02-04 22:56:10 +01:00
parent f6aaebafc6
commit 772d21a982
63 changed files with 1450 additions and 225 deletions

View file

@ -3,7 +3,7 @@
#include <QDebug>
#include <QHeaderView>
SensorListWidget::SensorListWidget(QWidget *parent): QTableWidget(parent)
SensorListWidget::SensorListWidget(const bool showHidden, QWidget *parent): QTableWidget(parent), showHidden_(showHidden)
{
setColumnCount(2);
setSelectionBehavior(QAbstractItemView::SelectRows);
@ -13,7 +13,7 @@ SensorListWidget::SensorListWidget(QWidget *parent): QTableWidget(parent)
setHorizontalHeaderItem(1, new QTableWidgetItem("Value"));
}
SensorListWidget::SensorListWidget(SensorStore& sensorStore, QWidget* parent): QTableWidget (parent)
SensorListWidget::SensorListWidget(SensorStore& sensorStore, const bool showHidden, QWidget* parent): QTableWidget (parent), showHidden_(showHidden)
{
sensorsChanged(*(sensorStore.getSensors()));
}
@ -23,25 +23,47 @@ void SensorListWidget::sensorsChanged(std::vector<Sensor> sensors)
clear();
setHorizontalHeaderItem(0, new QTableWidgetItem("Sensor"));
setHorizontalHeaderItem(1, new QTableWidgetItem("Value"));
setRowCount(sensors.size());
size_t nonHiddenCount = sensors.size();
if(!showHidden_)
{
nonHiddenCount = 0;
for(size_t i = 0; i < sensors.size(); ++i)
{
if(!sensors[i].hidden) nonHiddenCount++;
}
}
size_t listLen = 0;
for(size_t i = 0; i < sensors.size(); ++i) if(showHidden_ || !sensors[i].hidden) ++listLen;
setRowCount(static_cast<int>(listLen));
size_t row = 0;
for(size_t i = 0; i < sensors.size(); ++i)
{
QString itemString;
itemString.append(QString::number(sensors[i].field));
itemString.append(' ');
if(showHidden_ || !sensors[i].hidden)
{
QString itemString;
itemString.append(QString::number(sensors[i].field));
itemString.append(' ');
if(sensors[i].type == Sensor::TYPE_DOOR)
{
if(sensors[i].field) itemString.append("\"Open\"");
else itemString.append("\"Closed\"");
if(sensors[i].type == Sensor::TYPE_DOOR)
{
if(static_cast<bool>(sensors[i].field)) itemString.append("\"Open\"");
else itemString.append("\"Closed\"");
}
else if(sensors[i].type == Sensor::TYPE_AUDIO_OUTPUT)
{
if(static_cast<bool>(sensors[i].field)) itemString.append("\"Playing\"");
else itemString.append("\"Silent\"");
}
setItem(static_cast<int>(row), 0, new QTableWidgetItem(sensors[i].name + (sensors[i].hidden ? "(H)" : "")));
setItem(static_cast<int>(row), 1, new QTableWidgetItem(itemString));
++row;
}
else if(sensors[i].type == Sensor::TYPE_AUDIO_OUTPUT)
{
if(sensors[i].field) itemString.append("\"Playing\"");
else itemString.append("\"Silent\"");
}
setItem(i, 0, new QTableWidgetItem(sensors[i].name));
setItem(i, 1, new QTableWidgetItem(itemString));
}
}
void SensorListWidget::setShowHidden(const bool showHidden)
{
showHidden_=showHidden;
}