GrabBag/BeltTearingApp/mainwindow.h

71 lines
2.0 KiB
C++

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QStringList>
#include <QSplitter>
#include <QResizeEvent>
#include "models/ImageInfoModel.h"
#include "widgets/ImageGridWithTableWidget.h"
#include "widgets/ImageGridWidget.h"
#include "widgets/DeviceStatusWidget.h"
#include "widgets/TearingDataTableWidget.h"
#include "Presenter/Inc/BeltTearingPresenter.h"
#include "IStatusUpdate.h"
#include "dialognetconfig.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(const QStringList& deviceAliases) 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;
protected:
void resizeEvent(QResizeEvent* event) override;
private slots:
void on_btn_hide_clicked();
void on_btn_close_clicked();
void on_btn_test_clicked();
void on_btn_camera_clicked();
void onConfigSaved();
private:
void resizeToFitContent();
// void resizeEvent(QResizeEvent* event);
Ui::MainWindow *ui;
DialogNetConfig* ui_dialognetconfig = nullptr;
ImageGridWithTableWidget* m_gridWithTable {nullptr};
ImageGridWidget* m_gridView {nullptr};
DeviceStatusWidget* m_deviceStatusWidget {nullptr};
TearingDataTableWidget* m_tearingDataTableWidget {nullptr};
QSplitter* m_splitter {nullptr};
BeltTearingPresenter* m_presenter {nullptr};
};
#endif // MAINWINDOW_H