qt/LedOK/progpanel.h
2022-08-25 18:37:24 +08:00

72 lines
1.9 KiB
C++

#ifndef PROGPANEL_H
#define PROGPANEL_H
#include <QWidget>
#include <QStyleOption>
#include <QPainter>
#include <QFile>
#include <QAction>
#include <QTreeWidgetItem>
#include <QCheckBox>
#include <QPushButton>
#include <QDebug>
#include <QLabel>
#include <QDateTime>
#include <QList>
#include <QDir>
#include <QFile>
#include <QStandardPaths>
#include <QStringList>
#include <QJsonValue>
#include <QJsonObject>
#include <QJsonDocument>
#include "cfg.h"
#include <base/loqtreewidget.h>
#include <wProgramManager/wnewprogram.h>
#include <wProgramManager/progeditorwin.h>
#include "wProgramManager/wprogramitem.h"
class ProgPanel : public QWidget {
Q_OBJECT
public:
explicit ProgPanel(QWidget *parent = nullptr);
~ProgPanel();
QTreeWidgetItem *m_headerItem = nullptr;
protected:
void changeEvent(QEvent *) override;
void transUi();
bool checkIfNameRepeated(const QString &name, QTreeWidgetItem *skip = nullptr);
public slots:
void onNewClicked(bool f);
void onEditClicked(bool f);
void onDeleteClicked(bool f);
void onImportClicked(bool f);
void onExportClicked(bool f);
void onRestoreProgram(const QJsonDocument &pro);
void onCreateNewProgram(QString name, QSize res, QString remarks);
void onCreateNewProgramOnOpenEditProgramWidget(QString name, QSize res, QString remarks);
void onImportProgram(QString strImportDir,QString strTip1);
void onExportProgram(QString strImportDir,QString strTip1);
void FilterProgram(const QString &strtemp);
private slots:
void OnClickColumn(int iColumn);
private:
QString progDir;
QList<wProgramItem *> m_pwPorgramItemList;
void readSettings();
void writeSettings();
LoQTreeWidget *wProgramList = nullptr;
QPushButton *bnNew = nullptr;
QPushButton *bnEdit = nullptr;
QPushButton *bnDelete = nullptr;
QPushButton *bnImport, *bnExport;
QPushButton *bnSend, *btnPlay;
};
#endif // PROGPANEL_H