qt/LedOK/progpanel.h
2023-05-15 16:06:10 +08:00

52 lines
1.3 KiB
C++

#ifndef PROGPANEL_H
#define PROGPANEL_H
#include "base/loqtreewidget.h"
#include "program/progitem.h"
#include <QPushButton>
#include <QSettings>
#include <QTableWidget>
#include <QDialog>
class ProgPanel : public QWidget {
Q_OBJECT
public:
explicit ProgPanel(QSettings &settings, QWidget *parent = nullptr);
QTreeWidgetItem *m_headerItem = nullptr;
LoQTreeWidget *mProgTree = nullptr;
protected:
void changeEvent(QEvent *) override;
void transUi();
bool checkIfNameRepeated(const QString &name, QTreeWidgetItem *skip = nullptr);
public slots:
void onEditClicked(bool f);
void onDeleteClicked(bool f);
void onCreateNewProgramOnOpenEditProgramWidget(QString name, QSize res, QString remarks, QList<int> &, int);
void FilterProgram(const QString &strtemp);
private slots:
void OnClickColumn(int iColumn);
private:
QString mProgsDir;
QList<ProgItem *> m_pwPorgramItemList;
QPushButton *bnNew = nullptr;
QPushButton *bnEdit = nullptr;
QPushButton *bnDelete = nullptr;
QPushButton *bnImport, *bnExport;
QPushButton *bnSend, *btnPlay;
};
class ProgPortDlg : public QDialog {
Q_OBJECT
public:
ProgPortDlg(QWidget *parent, QString title);
QTableWidget *table{0};
QPushButton *bnOK;
};
#endif // PROGPANEL_H