ConfigMeasureDataWidget.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #ifndef CONFIGMEASUREDATAWIDGET_H
  2. #define CONFIGMEASUREDATAWIDGET_H
  3. #include <QWidget>
  4. #include "SchemePlanManager.h"
  5. #include <QMap>
  6. class NodeMatrixInfo;
  7. class QPushButton;
  8. class QVBoxLayout;
  9. class QHBoxLayout;
  10. class QLabel;
  11. class QListWidget;
  12. class ConfigMeasureDataWidget : public QWidget
  13. {
  14. Q_OBJECT
  15. public:
  16. explicit ConfigMeasureDataWidget(QWidget *parent = nullptr);
  17. void setProcess(SchemePlanManager::SchemeProcessInfo process);
  18. void reloadData();
  19. void selectFirst();
  20. void selectLast();
  21. QList<NodeMatrixInfo *> selectedData();
  22. void updateNodeValue(NodeMatrixInfo *node);
  23. signals:
  24. void sigAddData();
  25. void sigCurrentRowChanged();
  26. private:
  27. void initWidget();
  28. void initLayout();
  29. void connectSignalsAndSlots();
  30. void refreshList();
  31. void addTestData();
  32. private slots:
  33. void slotAddDataClicked();
  34. void slotRemoveDataClicked(int index);
  35. void slotCurrentRowChanged();
  36. private:
  37. SchemePlanManager::SchemeProcessInfo m_process;
  38. QVBoxLayout *m_layout = nullptr;
  39. QHBoxLayout *m_headerLayout = nullptr;
  40. QLabel *m_titleLabel = nullptr;
  41. QLabel *m_listTitleLabel = nullptr;
  42. QLabel *m_tipsLabel = nullptr;
  43. QPushButton *m_addButton = nullptr;
  44. QListWidget *m_listWidget = nullptr;
  45. QList<QString> m_uuidList; // 一组实测数据的公共唯一id
  46. QMap<QString, QList<NodeMatrixInfo *>> m_nodeData; // 按组归类的实测数据
  47. };
  48. #endif // CONFIGMEASUREDATAWIDGET_H