12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #ifndef CHECKPERIODWIDGET_H
- #define CHECKPERIODWIDGET_H
- #include <QWidget>
- #include <QVBoxLayout>
- #include <qboxlayout.h>
- #include <QMap>
- #include "spdlog/spdlog.h"
- #include "GlobalVariable.h"
- #include "onedetectplan.h"
- #include "CompareItemData.h"
- namespace Ui {
- class CheckPeriodWidget;
- }
- /**
- * @brief 检测周期设置界面
- *
- * 该界面用于设置检测周期,包括添加检测计划和不检测计划
- */
- class CheckPeriodWidget : public QWidget
- {
- Q_OBJECT
- public:
- explicit CheckPeriodWidget(QWidget *parent = nullptr);
- ~CheckPeriodWidget();
- /* 更新可选的对比项列表 */
- void updateCompareItemList(const QList<CompareItemInfo_t>& compareItemList);
- /* 设置计划列表 */
- void setDetectPlanList(const QList<OnePlan_t>& planList);
- private slots:
- /* 选择了一个对比项 */
- void do_comboBox_selectCompareItem_currentIndexChanged(int index);
- /* 添加一个检测计划 */
- void do_pBtn_addDetectPlan_clicked();
- /* 添加一个不检测计划 */
- void do_pBtn_addNoDetectPlan_clicked();
- /* 删除一个检测计划 */
- void do_pBtn_deleteDetectPlan_clicked();
- /* 删除一个不检测计划 */
- void do_pBtn_deleteNoDetectPlan_clicked();
- /* 修改了日期或周几,检测是否冲突 */
- void do_detectPlanModifiedWeek(OnePlan_t formerPlan, OnePlan_t newPlan);
- /* 点击了检测计划的时间按钮,在这里修改时间 */
- void do_detectPlanModifiedTime(QPoint pBtnSize, bool isStartTime);
- private:
- /* 初始化QListWidget */
- void initListWidget();
- /* 添加一个检测计划 */
- void addDetectPlan(const OnePlan_t& plan);
- /* 重新排序检测计划 */
- void sortDetectPlanList();
- /* 更新当前的检测计划列表 */
- QList<OnePlan_t> updateDetectPlanList(int id);
- /* 清空当前检测计划布局中的控件 */
- void removeAllDetectPlanWidgets();
- /* 从当前列表中添加控件到布局 */
- void addDetectPlanToLayout();
- private:
- Ui::CheckPeriodWidget *ui;
- std::shared_ptr<spdlog::logger> m_logger = nullptr;
- QVBoxLayout* m_layoutDetectPlans; /* 检测计划的布局,计划控件都在这里面 */
- QString m_qssPlan; /* 一条计划的样式表 */
- QList<OnePlan_t> m_currentPlanList; /* 当前的计划列表 */
- QList<OneDetectPlan*>* m_pListcurrDetect = nullptr; /* 当前的检测计划列表 */
- QMap<int, QList<OneDetectPlan*>*> m_mapDetectPlanList; /* 检测计划列表,key为对比项id,value为计划列表 */
-
- };
- #endif // CHECKPERIODWIDGET_H
|