GrabBag/BeltTearingApp/mainwindow.h

61 lines
1.7 KiB
C++

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QStringList>
#include <QSplitter>
#include <QTableWidget>
#include <QResizeEvent>
#include "models/ImageInfoModel.h"
#include "widgets/ImageGridWithTableWidget.h"
#include "widgets/ImageGridWidget.h"
#include "widgets/DeviceStatusWidget.h"
#include "Presenter/Inc/BeltTearingPresenter.h"
#include "IStatusUpdate.h"
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE
class MainWindow : public QMainWindow, public IStatusUpdate
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
// IStatusUpdate接口方法声明
void OnStatusUpdate(const QString& statusMessage) override;
void OnNeedShowImageCount(int count) override;
void OnTearingResult(const BeltTearingResult& result) override;
void OnServerConnected(const QString& serverName) override;
void OnServerDisconnected(const QString& serverName) override;
void OnWorkStatusChanged(BeltTearingWorkStatus status) override;
void OnErrorOccurred(const QString& errorMessage) override;
private slots:
void on_btn_hide_clicked();
void on_btn_close_clicked();
void on_btn_test_clicked();
private:
void resizeToFitContent();
void resizeEvent(QResizeEvent* event);
Ui::MainWindow *ui;
ImageGridWithTableWidget* m_gridWithTable {nullptr};
ImageGridWidget* m_gridView {nullptr};
DeviceStatusWidget* m_deviceStatusWidget {nullptr};
QSplitter* m_splitter {nullptr};
BeltTearingPresenter* m_presenter {nullptr};
};
#endif // MAINWINDOW_H