123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- #ifndef EXECPLAN_H
- #define EXECPLAN_H
- #include <QWidget>
- #include <QStackedWidget>
- #include <QPushButton>
- #include <QLabel>
- #include <QTime>
- #include <QList>
- #include <QDate>
- #include <QRadioButton>
- #include <QEventLoop>
- #include "spdlog/spdlog.h"
- #include "UI/ExecPlan/ExecPlanItem.h"
- class Widget;
- class AddNormalItem;
- class AddSpecialItem;
- class ScrollWidget;
- class TimeWidget;
- class CDate;
- class ExecPlan : public QWidget
- {
- Q_OBJECT
- friend AddNormalItem;
- friend AddSpecialItem;
- public:
- explicit ExecPlan(Widget* mainUI = nullptr,QWidget* mask = nullptr,QWidget* parent = nullptr);
- ~ExecPlan();
- bool judgeTimeRepetition(QList<ExecPlanItem*>& list,const QString& devName,const QTime& time);
- bool judgeTimeRepetition(QList<ExecPlanItem*>& list,ExecPlanItem* item);
- bool judgeTimeRepetition(QList<ExecPlanItem*>& list,ExecPlanItem* item,const QTime& time);
- bool judgeDateTimeRepetition(QList<ExecPlanItem*>& list,const QString& devName,const QDate& date,const QTime& time);
- bool judgeDateTimeRepetition(QList<ExecPlanItem*>& list,ExecPlanItem* item,const QTime& time);
- bool judgeDateTimeRepetition(QList<ExecPlanItem*>& list,ExecPlanItem* item,const QDate& date);
- bool judgeDateTimeRepetition(QList<ExecPlanItem*>& list,ExecPlanItem* item);
- char getDefaultPlan();
- char getExecMode();
- QVector<QList<ExecPlanItem*>*>& vecItem();
- QStackedWidget* stackWidget();
- QVector<QLayout*>& layout();
- void SortAndRefreshUI();
- void SortAndRefreshUI(int index);
- void setDefaultPlan(int num);
- void setTimeOrDay(int num);
- bool checkDataBaseTableName(const QString& tableName);
- void clearOnePage(int num);
- bool itemIsEmpty();
- signals:
- void signal_refreshUIAgain();
- public slots:
- void do_selectDayOfWeeks();
- void do_devChanged(const QString& previous,const QString& now);
- private slots:
- void do_pBtnAddExecPlan();
- void do_addNormalOneItem(QString dev,QString action,QTime time);
- void do_addSpecialOneItem(QString dev,QString action,QDate date,QTime time);
- void do_download();
- void do_clearExecPlan();
- void do_saveTemplate();
- void do_importTemplate();
- void do_saveTemplateToSQL(QString name);
- void do_importTemplateFromSQL(QString name);
- void do_deleteTemplateFromSQL(QString name);
- void do_deleteOneItem(int num);
- void do_editExecTime(QTime t);
- void do_editDate(QDate d);
- void do_editDev();
- void do_cfgDevChanged();
- void do_devDelete(const QString& devName);
- void do_pBtnGetEQMData();
- protected:
- void paintEvent(QPaintEvent *event);
- bool eventFilter(QObject *watched, QEvent *event);
- private:
- void uiSupplement();
- void createDataBase();
-
- void HostToEQMJson(QVector<QList<ExecPlanItem*>*>& cfgVec, QList<ExecPlanItemInfo>& listInfo);
-
- void EQMToHost(QList<ExecPlanItemInfo>& listInfo);
- private:
-
- std::shared_ptr<spdlog::logger> m_logger = nullptr;
- Widget* m_mainUI = nullptr;
- QWidget* m_mask = nullptr;
- QWidget* m_leftColumn = nullptr;
- QStackedWidget* m_stack = nullptr;
- QPushButton* m_pBtnAddItem = nullptr;
- QPushButton* m_pBtnClearExecPlan = nullptr;
- QPushButton* m_pBtnImportTemplate = nullptr;
- QPushButton* m_pBtnSaveTemplate = nullptr;
- QPushButton* m_pBtnGetEQMData = nullptr;
- QLabel* m_labelButtomLine = nullptr;
- QPushButton* m_pBtnDownload = nullptr;
- QPushButton* m_pBtnDefault = nullptr;
- QRadioButton* m_rBtnDoTime = nullptr;
- QRadioButton* m_rBtnDoDay = nullptr;
- QLabel* m_TipText = nullptr;
- QLabel* m_labelTip = nullptr;
-
- QVector<QPushButton*> m_vecWeeks;
- QVector<QList<ExecPlanItem*>*> m_vecItem;
- QVector<QLayout*> m_vecLayout;
- QSqlDatabase m_DB;
- QVector<ScrollWidget*> m_vecScrollArea;
-
- QEventLoop m_loop;
- TimeWidget* m_timeEdit = nullptr;
- CDate* m_dateEdit = nullptr;
- };
- #endif
|