-
Notifications
You must be signed in to change notification settings - Fork 0
/
bodeplot.h
102 lines (87 loc) · 3.14 KB
/
bodeplot.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/***************************************************************************
* Copyright (C) 2011-2012 Fabian Lesniak <[email protected]> *
* *
* This file is part of the QLenLab project. *
* *
* QLenLab is free software: you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation, either version 3 of the License, or (at your *
* option) any later version. *
* *
* QLenLab is distributed in the hope that it will be useful, but WITHOUT *
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. *
* *
* You should have received a copy of the GNU General Public License along *
* with QLenLab. If not, see <http://www.gnu.org/licenses/>. *
**************************************************************************/
#ifndef BODEPLOT_H
#define BODEPLOT_H
#include <qwt_plot.h>
#include <QtGui/QDialog>
#include "meta.h"
class bodedata;
class communicator;
class QSpinBox;
class QProgressBar;
class QLabel;
class QRadioButton;
class QPushButton;
class QGroupBox;
class bodeplot : public QwtPlot
{
Q_OBJECT
public:
explicit bodeplot(communicator* com, QWidget *parent = 0);
private:
communicator *p_com;
bodedata* p_data;
public slots:
bool exec();
friend class bodedialog;
};
class bodedialog : public QDialog
{
Q_OBJECT
public:
explicit bodedialog(bodeplot *parent = 0);
protected:
void closeEvent(QCloseEvent *);
public slots:
void updateStatus(bodestate state);
void finished(bool stillmeasuring);
private:
bodeplot *parent;
QGroupBox *groupBox_parameters;
QGroupBox *groupBox_inputButtons;
QGroupBox *groupBox_outputButtons;
QGroupBox *groupBox_bodeStatus;
QSpinBox *spinBox_freqStart;
QSpinBox *spinBox_freqEnd;
QSpinBox *spinBox_decadePoints;
QProgressBar *progressBar_progress;
QLabel *label_inputAmplitude;
QLabel *label_outputAmplitude;
QLabel *label_amplification;
QLabel *label_samplerate;
QLabel *label_frequency;
QRadioButton *radioButton_inputch1;
QRadioButton *radioButton_inputch2;
QRadioButton *radioButton_inputch3;
QRadioButton *radioButton_inputch4;
QRadioButton *radioButton_outputch1;
QRadioButton *radioButton_outputch2;
QRadioButton *radioButton_outputch3;
QRadioButton *radioButton_outputch4;
QPushButton *pushButton_start;
QPushButton *pushButton_cancel;
private slots:
void start();
void cancel();
void inputRadiosChanged();
void outputRadiosChanged();
meta::channel selectedInput();
meta::channel selectedOutput();
};
#endif // BODEPLOT_H