#ifndef MATRIXTABLETECHMEASURESWIDGET_H #define MATRIXTABLETECHMEASURESWIDGET_H #include #include #include #include "MatrixTableWidget.h" class MatrixTableTechMeasuresWidget : public QTableView { Q_OBJECT public: explicit MatrixTableTechMeasuresWidget(QWidget *parent = nullptr); ~MatrixTableTechMeasuresWidget(); void addRowNode(QString node, QString name, QString remark); void addColNode(QString node, QString name, QString remark); QList getSource() const; bool isDataReady() const; void paintMatrixTable(QList nodeValueInfoList); void setTableName(QString name); signals: void dataReady(bool status); void returnModel(QStandardItemModel *item); void returnModelName(QString name); private slots: void itemClicked(const QModelIndex &index); private: void editItemData(const QModelIndex &index, const QString &val); struct MatrixNode { MatrixNode(QString no, QString na, QString re) : node(no), name(na), remark(re) { } QString node; QString name; QString remark; }; bool paintDone = false; QList matrixRows; QList matrixCols; QList dataSource; QStandardItemModel *model; bool diagonalIsOne; SpinBoxDelegate *delegate; QString m_msg_name; }; #endif // MATRIXTABLETECHMEASURESWIDGET_H