OpenHantek
Loading...
Searching...
No Matches
HorizontalDock.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2
3#pragma once
4
5#include <QDockWidget>
6#include <QGridLayout>
7
8#include <vector>
9
11#include "hantekdso/enums.h"
12
13class QLabel;
14class QCheckBox;
15class QComboBox;
16
17class SiSpinBox;
18
19struct DsoSettingsScope;
20// struct ControlSpecification;
21
22Q_DECLARE_METATYPE( std::vector< unsigned > )
23Q_DECLARE_METATYPE( std::vector< double > )
24
25
27class HorizontalDock : public QDockWidget {
28 Q_OBJECT
29
30 public:
35 HorizontalDock( DsoSettingsScope *scope, const Dso::ControlSpecification *spec, QWidget *parent );
36
39 double setSamplerate( double samplerate );
42 double setTimebase( double timebase );
45 void setRecordLength( int recordLength );
49 int setFormat( Dso::GraphFormat format );
53 void setSamplerateLimits( double minimum, double maximum );
56 void setSamplerateSteps( int mode, QList< double > sampleSteps );
57 void calculateSamplerateSteps( double timebase );
60 double setCalfreq( double calfreq );
61
62 public slots:
65 void loadSettings( DsoSettingsScope *scope );
66 void triggerModeChanged( Dso::TriggerMode mode );
67
68 protected:
69 void closeEvent( QCloseEvent *event ) override;
70 QGridLayout *dockLayout;
71 QWidget *dockWidget;
73 QLabel *timebaseLabel;
74 QLabel *formatLabel;
75 QLabel *calfreqLabel;
78 QComboBox *formatComboBox;
80 QComboBox *calfreqComboBox;
81
83 QList< double > timebaseSteps;
84 QList< double > calfreqSteps;
85 QList< double > samplerateSteps;
86
87 QStringList formatStrings;
88
89 protected slots:
90 void samplerateSelected( double samplerate );
91 void timebaseSelected( double timebase );
92 void formatSelected( int index );
93 void calfreqIndexSelected( int index );
94
95 private:
96 double samplerateRequest = 0;
97
98 signals:
99 void samplerateChanged( double samplerate );
100 void timebaseChanged( double timebase );
101 void recordLengthChanged( int recordLength );
103 void calfreqChanged( double calfreq );
104};
Dock window for the horizontal axis. It contains the settings for the timebase and the display format...
Definition HorizontalDock.h:27
QComboBox * calfreqComboBox
Selects the calibration frequency.
Definition HorizontalDock.h:80
QList< double > timebaseSteps
Steps for the timebase spinbox.
Definition HorizontalDock.h:83
QLabel * calfreqLabel
The label for the calibration frequency spinbox.
Definition HorizontalDock.h:75
QComboBox * formatComboBox
Definition HorizontalDock.h:78
QList< double > samplerateSteps
Possible sampe rates.
Definition HorizontalDock.h:85
QStringList formatStrings
Strings for the formats.
Definition HorizontalDock.h:87
QWidget * dockWidget
The main widget for the dock window.
Definition HorizontalDock.h:71
DsoSettingsScope * scope
The settings provided by the parent class.
Definition HorizontalDock.h:82
void samplerateChanged(double samplerate)
The samplerate has been changed.
QGridLayout * dockLayout
The main layout for the dock window.
Definition HorizontalDock.h:70
SiSpinBox * timebaseSiSpinBox
Selects the timebase for voltage graphs.
Definition HorizontalDock.h:77
SiSpinBox * samplerateSiSpinBox
Selects the samplerate for aquisitions.
Definition HorizontalDock.h:76
QLabel * samplerateLabel
The label for the samplerate spinbox.
Definition HorizontalDock.h:72
void setRecordLength(int recordLength)
Changes the record length if the new value is supported.
QLabel * formatLabel
The label for the format combobox.
Definition HorizontalDock.h:74
QList< double > calfreqSteps
Steps for the calfreq spinbox.
Definition HorizontalDock.h:84
void calfreqChanged(double calfreq)
The timebase has been changed.
void timebaseChanged(double timebase)
The timebase has been changed.
void formatChanged(Dso::GraphFormat format)
The viewing format has been changed.
void recordLengthChanged(int recordLength)
The recordd length has been changed.
QLabel * timebaseLabel
The label for the timebase spinbox.
Definition HorizontalDock.h:73
A spin box with SI prefix support. This spin box supports the SI prefixes (k/M/G/T) after its value a...
Definition sispinbox.h:14
TriggerMode
The different triggering modes.
Definition enums.h:35
GraphFormat
The possible viewing formats for the graphs on the scope.
Definition enums.h:18
Holds the settings for the oscilloscope.
Definition scopesettings.h:88
Stores the specifications of the currently connected device.
Definition controlspecification.h:42