ENLIGHTEN
Cross-platform desktop GUI for Wasatch Photonics spectrometers
Loading...
Searching...
No Matches
configdialog.h
Go to the documentation of this file.
1
23
24#ifndef CONFIGDIALOG_H
25#define CONFIGDIALOG_H
26
27#include "propertycontrolbool.h"
29#include "propertycontrolenum.h"
32
33#include <peak/peak.hpp>
34
35#include <QDialogButtonBox>
36#include <QGroupBox>
37#include <QObject>
38#include <QPushButton>
39#include <QString>
40#include <QVBoxLayout>
41#include <QWidget>
42
43class BackEnd;
44
45class ConfigDialog : public QWidget
46{
47 Q_OBJECT
48
49public:
50 explicit ConfigDialog(std::shared_ptr<peak::core::NodeMap> nodeMap, BackEnd* parent = nullptr);
51
52private:
53 BackEnd* m_parent = nullptr;
54 QDialogButtonBox* m_dialogButtons = nullptr;
55 QVBoxLayout* m_vLayout = nullptr;
56
57 std::shared_ptr<peak::core::NodeMap> m_nodemapRemoteDevice;
58
61
65
69
72
73 QGroupBox* m_offsetGroupBox = nullptr;
74 QGroupBox* m_heightGroupBox = nullptr;
75 QGroupBox* m_frameStartGroupBox = nullptr;
76 QGroupBox* m_lineStartGroupBox = nullptr;
77 QGroupBox* m_PWMGroupBox = nullptr;
78
82
83signals:
84 void configSubmitted(int offsetY, int imageHeight, std::pair<bool, std::pair<QString, QString>> frameStartTrigger,
85 std::pair<bool, std::pair<QString, QString>> lineStartTrigger, int acquisitionLineRate, int PWMFrequency);
87 void messageBoxTrigger(QString messageTitle, QString messageText);
89
90private slots:
91 void applyConfig();
92 void toggleFrameStartWidgets(bool triggerEnabled);
93 void toggleLineStartWidgets(bool triggerEnabled);
94 void handleTriggerSourceChanged(QString triggerSource);
95 void handleTriggerModeChanged(bool triggerMode);
96};
97
98#endif // CONFIGDIALOG_H
Definition backend.h:38
PropertyControlInteger * m_height
Definition configdialog.h:60
void messageBoxTrigger(QString messageTitle, QString messageText)
PropertyControlInteger * m_offsetY
Definition configdialog.h:59
QGroupBox * m_heightGroupBox
Definition configdialog.h:74
void applyConfig()
Definition configdialog.cpp:47
PropertyControlEnum * m_lineStartTriggerActivation
Definition configdialog.h:68
void cameraDisconnected()
PropertyControlFloat * m_PWMFrequency
Definition configdialog.h:71
void handleTriggerModeChanged(bool triggerMode)
Definition configdialog.cpp:287
QVBoxLayout * m_vLayout
Definition configdialog.h:55
PropertyControlEnum * m_lineStartTriggerSource
Definition configdialog.h:67
std::shared_ptr< peak::core::NodeMap > m_nodemapRemoteDevice
Definition configdialog.h:57
QDialogButtonBox * m_dialogButtons
Definition configdialog.h:54
PropertyControlBool * m_frameStartTriggerMode
Definition configdialog.h:62
PropertyControlFloat * m_acquisitionLineRate
Definition configdialog.h:70
void createPropertyControls()
Definition configdialog.cpp:69
QGroupBox * m_offsetGroupBox
Definition configdialog.h:73
void configSubmitted(int offsetY, int imageHeight, std::pair< bool, std::pair< QString, QString > > frameStartTrigger, std::pair< bool, std::pair< QString, QString > > lineStartTrigger, int acquisitionLineRate, int PWMFrequency)
PropertyControlEnum * m_frameStartTriggerSource
Definition configdialog.h:63
BackEnd * m_parent
Definition configdialog.h:53
PropertyControlEnum * m_frameStartTriggerActivation
Definition configdialog.h:64
QGroupBox * m_frameStartGroupBox
Definition configdialog.h:75
PropertyControlBool * m_lineStartTriggerMode
Definition configdialog.h:66
void updateLineStartTriggerActivationItems()
Definition configdialog.cpp:337
void handleTriggerSourceChanged(QString triggerSource)
Definition configdialog.cpp:210
void updateFrameStartTriggerActivationItems()
Definition configdialog.cpp:318
ConfigDialog(std::shared_ptr< peak::core::NodeMap > nodeMap, BackEnd *parent=nullptr)
Definition configdialog.cpp:29
QGroupBox * m_PWMGroupBox
Definition configdialog.h:77
void toggleFrameStartWidgets(bool triggerEnabled)
Definition configdialog.cpp:193
void toggleLineStartWidgets(bool triggerEnabled)
Definition configdialog.cpp:200
void dialogRejected()
QGroupBox * m_lineStartGroupBox
Definition configdialog.h:76
Definition propertycontrolbool.h:38
Definition propertycontrolenum.h:39
Definition propertycontrolfloat.h:53
Definition propertycontrolinteger.h:39