SmartLockerTools/Analyser/Widget.h

83 lines
2.3 KiB
C
Raw Normal View History

2024-05-21 21:09:55 +08:00
#ifndef WIDGET_H
#define WIDGET_H
2024-05-24 10:23:05 +08:00
#include "DataStructure.h"
2024-05-21 21:09:55 +08:00
#include <QWidget>
2024-06-05 12:13:10 +08:00
#include <fstream>
2024-05-21 21:09:55 +08:00
class QPushButton;
class QTextBrowser;
class QComboBox;
class QLineEdit;
class QGroupBox;
2024-05-24 10:23:05 +08:00
class QTableView;
2024-05-21 21:09:55 +08:00
class ModuleCommunication;
2024-05-24 10:23:05 +08:00
class PalmFeatureTableModel;
class Database;
2024-05-21 21:09:55 +08:00
class Widget : public QWidget {
Q_OBJECT
public:
explicit Widget(QWidget *parent = nullptr);
void initializeLogger();
protected:
QGroupBox *initializeCommandGroupBox();
2024-05-22 18:03:11 +08:00
void onClearLogButtonClicked();
2024-05-21 21:09:55 +08:00
void onSerialConnectButtonClicked();
void onSerialRefreshButtonClicked();
2024-05-22 18:03:11 +08:00
void onUvcRefreshButtonClicked();
2024-05-21 21:09:55 +08:00
void onEnrollButtonClicked();
2024-06-05 12:13:10 +08:00
void onEnrollExButtonClicked();
2024-05-21 21:09:55 +08:00
void onVerifyButtonClicked();
void onDeleteAllButtonClicked();
void onDeleteButtonClicked();
2024-05-22 18:03:11 +08:00
void onRequestPalmFeatureButtonClicked();
2024-05-23 19:58:36 +08:00
void onRegisterPalmFeatureButtonClicked();
void onResetButtonClicked();
2024-05-21 21:09:55 +08:00
QGroupBox *initializeEnrollGroupBox();
QGroupBox *initializeVerifyGroupBox();
QGroupBox *initializeDeleteGroupBox();
QGroupBox *initializePalmFeatureGroupBox();
2024-05-22 18:03:11 +08:00
QGroupBox *initializeUvcGroupBox();
void onNewPalmFeature(const PalmFeature &feature);
2024-06-05 12:13:10 +08:00
void onNewEnrolledImageInfo(uint32_t size, const uint8_t *md5);
void onNewImageSliceData(const std::vector<uint8_t> &data);
2024-05-21 21:09:55 +08:00
private:
QComboBox *m_serialComboBox = nullptr;
QPushButton *m_serialConnectButton = nullptr;
QTextBrowser *m_logBrowser = nullptr;
QGroupBox *m_commandGroupBox = nullptr;
QLineEdit *m_enrollNameEdit = nullptr;
QLineEdit *m_enrollTimeoutEdit = nullptr;
QPushButton *m_enrollButton = nullptr;
QLineEdit *m_verifyTimeoutEdit = nullptr;
QPushButton *m_verifyButton = nullptr;
QLineEdit *m_deleteIdEdit = nullptr;
QPushButton *m_deleteButton = nullptr;
QPushButton *m_deleteAllButton = nullptr;
2024-05-22 18:03:11 +08:00
QLineEdit *m_palmFeatureEdit = nullptr;
2024-05-21 21:09:55 +08:00
std::shared_ptr<ModuleCommunication> m_communication;
std::shared_ptr<Database> m_database;
2024-05-24 10:23:05 +08:00
PalmFeatureTableModel *m_featureModel = nullptr;
QTableView *m_featureTableView = nullptr;
2024-06-05 12:13:10 +08:00
uint32_t m_enrolledImageSize = 0;
uint32_t m_receivedImageSize = 0;
std::shared_ptr<std::ofstream> m_ofs;
2024-05-21 21:09:55 +08:00
};
#endif // WIDGET_H