FSUDAQ_Qt6/DigiSettingsPanel.h

78 lines
1.9 KiB
C
Raw Normal View History

2023-04-24 17:37:03 -04:00
#ifndef DigiSettings_H
#define DigiSettings_H
#include <QMainWindow>
#include <QTabWidget>
#include <QLineEdit>
#include <QGridLayout>
2023-04-25 17:04:46 -04:00
#include <QCheckBox>
#include <QGroupBox>
#include <QPushButton>
2023-04-24 17:37:03 -04:00
#include "macro.h"
#include "ClassDigitizer.h"
#include "CustomWidgets.h"
class DigiSettingsPanel : public QMainWindow{
Q_OBJECT
public:
DigiSettingsPanel(Digitizer ** digi, unsigned int nDigi, QMainWindow * parent = nullptr);
~DigiSettingsPanel();
private slots:
2023-04-25 17:04:46 -04:00
void UpdatePanelFromMemory();
void ReadSettingsFromBoard();
void SetAutoDataFlush();
2023-04-24 17:37:03 -04:00
signals:
void SendLogMsg(const QString &msg);
2023-04-25 17:04:46 -04:00
2023-04-24 17:37:03 -04:00
private:
2023-04-25 17:04:46 -04:00
void SetUpInfo(QString label, std::string value, QGridLayout *gLayout, int row, int col);
void SetUpCheckBox(QCheckBox * &chkBox, QString label, QGridLayout *gLayout, int row, int col, Register::Reg para, std::pair<unsigned short, unsigned short> bit);
void SetUpComboBox(RComboBox * &cb, QString label, QGridLayout *gLayout, int row, int col, std::vector<std::pair<QString, int>> items);
void CleanUpGroupBox(QGroupBox * & gBox);
void SetUpPHABoard();
void SetUpPSDBoard();
2023-04-24 17:37:03 -04:00
Digitizer ** digi;
unsigned int nDigi;
2023-04-25 17:04:46 -04:00
unsigned short ID;
2023-04-24 17:37:03 -04:00
bool enableSignalSlot;
QTabWidget * tabWidget;
2023-04-25 17:04:46 -04:00
QGroupBox * infoBox[MaxNDigitizer];
QGridLayout * infoLayout[MaxNDigitizer];
QPushButton * bnRefreshSetting; // read setting from board
QGroupBox * boardSettingBox[MaxNDigitizer];
QGridLayout * settingLayout[MaxNDigitizer];
QCheckBox * chkAutoDataFlush[MaxNDigitizer];
QCheckBox * chkDecimateTrace[MaxNDigitizer];
QCheckBox * chkTrigPropagation[MaxNDigitizer];
QCheckBox * chkDualTrace[MaxNDigitizer];
QCheckBox * chkTraceRecording[MaxNDigitizer];
QCheckBox * chkEnableExtra2[MaxNDigitizer];
RComboBox * cbAnaProbe1[MaxNDigitizer];
RComboBox * cbAnaProbe2[MaxNDigitizer];
RComboBox * cbDigiProbe1[MaxNDigitizer];
RComboBox * cbDigiProbe2[MaxNDigitizer];
RComboBox * cbAggOrg[MaxNDigitizer];
2023-04-24 17:37:03 -04:00
};
#endif