qpidctrl  0.7.1
qpidmainwindow.h
Go to the documentation of this file.
1 #ifndef QPIDMAINWINDOW_H
2 #define QPIDMAINWINDOW_H
3 
4 #include <QMainWindow>
5 #include "qpidcontroller.h"
6 #include <QPointer>
7 #include "qpidsettingsdialog.h"
8 #include "qpidsetpointdialog.h"
9 #include "qpidautotunedialog.h"
10 #include "qpidrampdialog.h"
12 #include "qwt_plot_curve.h"
13 #include <QSignalMapper>
14 
15 namespace Ui {
16 class QPidMainWindow;
17 }
18 
19 class QPidMainWindow : public QMainWindow
20 {
21  Q_OBJECT
22 
23 public:
24  explicit QPidMainWindow(QPidControllerWPtr ctl, QWidget *parent = 0);
26 
27  void start();
28 
29  bool wantToClose();
30  void closeEvent (QCloseEvent * event);
31 
32  void saveSplitterState(QPidSettings *settings);
33  void restoreSplitterState(QPidSettings *settings);
34 
35 public slots:
36 
37  void printMessage(QString msg, QDateTime ts=QDateTime::currentDateTime());
38  void criticalMessage(QString msg);
39 
40  void graphChannelNames(QStringList names);
41  void graphChannelValues(QcepDoubleList values);
42 
43  void updateDevicesMenu();
44 
45 private slots:
46  void quitApplication();
47  void editSettings();
48  void changeSetpoint();
49  void autoTune();
50  void rampTemperature();
51  void configureGraph();
52  void deviceConfiguration();
53 // void onNewDeviceCreated();
54  void onStartController();
55  void onStopController();
56  void onControllerStatusChanged(int newStatus);
57  void onRestartController();
58  void loadSettings();
59  void saveSettings();
60  void onInputChannelChanged(QString name, QString units);
61  void onOutputChannelChanged(QString name, QString units);
62  void onGraphSelectionChanged(int row, int col);
63  void updateGraphCurves();
64  void commandEntered();
65  void chooseLoggingFile();
66 
67 private:
68  QwtPlotCurve *newPlotCurve(int n, QString title);
69  void saveObjectSplitterState(QObject *object, QPidSettings *settings, int *counter);
70  void restoreObjectSplitterState(QObject *object, QPidSettings *settings, int *counter, int nsplitters);
71  void enableControllerActions(int canStart, int canStop, int canRestart);
72 
73 private:
74  Ui::QPidMainWindow *ui;
76  QPointer<QPidSettingsDialog> m_SettingsDialog;
77  QPointer<QPidSetPointDialog> m_SetPoint;
78  QPointer<QPidAutoTuneDialog> m_AutoTune;
79  QPointer<QPidRampDialog> m_Ramp;
80  QPointer<QPidConfigureGraphDialog> m_ConfigureGraph;
81 
82  QList<QwtPlotCurve*> m_Curves;
83 
84  QSignalMapper *m_DeviceDefaultMapper;
85 };
86 
87 #endif // QPIDMAINWINDOW_H
void restoreSplitterState(QPidSettings *settings)
void closeEvent(QCloseEvent *event)
QPointer< QPidRampDialog > m_Ramp
void onGraphSelectionChanged(int row, int col)
void criticalMessage(QString msg)
void printMessage(QString msg, QDateTime ts=QDateTime::currentDateTime())
void enableControllerActions(int canStart, int canStop, int canRestart)
QWeakPointer< QPidController > QPidControllerWPtr
void onInputChannelChanged(QString name, QString units)
void saveSplitterState(QPidSettings *settings)
void onRestartController()
void graphChannelNames(QStringList names)
QPointer< QPidSetPointDialog > m_SetPoint
QPidControllerWPtr m_Controller
QList< QwtPlotCurve * > m_Curves
QwtPlotCurve * newPlotCurve(int n, QString title)
void saveObjectSplitterState(QObject *object, QPidSettings *settings, int *counter)
void graphChannelValues(QcepDoubleList values)
QSignalMapper * m_DeviceDefaultMapper
void onOutputChannelChanged(QString name, QString units)
void deviceConfiguration()
QPidMainWindow(QPidControllerWPtr ctl, QWidget *parent=0)
QPointer< QPidAutoTuneDialog > m_AutoTune
Ui::QPidMainWindow * ui
QPointer< QPidConfigureGraphDialog > m_ConfigureGraph
void onControllerStatusChanged(int newStatus)
QPointer< QPidSettingsDialog > m_SettingsDialog
void restoreObjectSplitterState(QObject *object, QPidSettings *settings, int *counter, int nsplitters)