source: ntrip/trunk/BNC/src/bncwindow.h @ 8231

Last change on this file since 8231 was 8231, checked in by wiese, 10 months ago

CHANGE: #105 QT5

File size: 7.2 KB
Line 
1// Part of BNC, a utility for retrieving decoding and
2// converting GNSS data streams from NTRIP broadcasters.
3//
4// Copyright (C) 2007
5// German Federal Agency for Cartography and Geodesy (BKG)
6// http://www.bkg.bund.de
7// Czech Technical University Prague, Department of Geodesy
8// http://www.fsv.cvut.cz
9//
10// Email: euref-ip@bkg.bund.de
11//
12// This program is free software; you can redistribute it and/or
13// modify it under the terms of the GNU General Public License
14// as published by the Free Software Foundation, version 2.
15//
16// This program is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19// GNU General Public License for more details.
20//
21// You should have received a copy of the GNU General Public License
22// along with this program; if not, write to the Free Software
23// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24
25#ifndef BNCWINDOW_H
26#define BNCWINDOW_H
27
28#include <QtWidgets>
29#include <QMainWindow>
30#include <QWhatsThis>
31
32#include "bncgetthread.h"
33#include "bnccaster.h"
34#include "pppWidgets.h"
35
36class bncAboutDlg : public QDialog {
37  Q_OBJECT
38  public:
39    bncAboutDlg(QWidget* parent);
40    ~bncAboutDlg();
41};
42
43class bncFlowchartDlg : public QDialog {
44  Q_OBJECT
45
46  public:
47    bncFlowchartDlg(QWidget* parent);
48    ~bncFlowchartDlg();
49};
50
51class bncFigure;
52class bncFigureLate;
53class bncFigurePPP;
54class bncBytesCounter;
55class bncEphUploadCaster;
56class qtFileChooser;
57class bncMapWin;
58
59class bncWindow : public QMainWindow {
60  Q_OBJECT
61
62  public:
63    bncWindow();
64    ~bncWindow();
65    void CreateMenu();
66    void AddToolbar();
67
68  public slots:
69    void slotMountPointsRead(QList<bncGetThread*>);
70    void slotBncTextChanged();
71
72  private slots:
73    void slotWindowMessage(const QByteArray msg, bool showOnScreen);
74    void slotHelp();
75    void slotAbout();
76    void slotFlowchart();
77    void slotFontSel();
78    void slotSaveOptions();
79    void slotAddMountPoints();
80    void slotMapMountPoints();
81    void slotMapPPP();
82    void slotMapPPPClosed();
83    void slotStart();
84    void slotStop();
85    void slotNewMountPoints(QStringList* mountPoints);
86    void slotDeleteMountPoints();
87    void slotGetThreadsFinished();
88    void slotSelectionChanged();
89    void slotWhatsThis();
90    void slotAddCmbRow();
91    void slotDelCmbRow();
92    void slotAddUploadRow();
93    void slotDelUploadRow();
94    void slotAddUploadEphRow();
95    void slotDelUploadEphRow();
96    void slotSetUploadTrafo();
97    void slotReqcEditOption();
98    void slotPostProcessingFinished();
99    void slotPostProcessingProgress(int);
100
101  protected:
102    virtual void closeEvent(QCloseEvent *);
103
104  private:
105    void saveOptions();
106    void populateMountPointsTable();
107    void populateCmbTable();
108    void populateUploadTable();
109    void populateUploadEphTable();
110    void enableWidget(bool enable, QWidget* widget);
111    void startRealTime();
112    void enableStartStop();
113
114    QMenu*     _menuHlp;
115    QMenu*     _menuFile;
116
117    QAction*   _actHelp;
118    QAction*   _actAbout;
119    QAction*   _actFlowchart;
120    QAction*   _actFontSel;
121    QAction*   _actSaveOpt;
122    QAction*   _actQuit;
123    QAction*   _actMapMountPoints;
124    QAction*   _actStart;
125    QAction*   _actStop;
126    QAction*   _actAddMountPoints;
127    QAction*   _actDeleteMountPoints;
128    QAction*   _actwhatsthis;
129    QAction*   _actwhatsthismenu;
130
131    QLineEdit* _proxyHostLineEdit;
132    QLineEdit* _proxyPortLineEdit;
133    QLineEdit* _sslCaCertPathLineEdit;
134    QCheckBox* _sslIgnoreErrorsCheckBox;
135    QLineEdit* _outFileLineEdit;
136    QLineEdit* _outPortLineEdit;
137    QLineEdit* _outUPortLineEdit;
138    QLineEdit* _ephOutPortLineEdit;
139    QLineEdit* _corrPortLineEdit;
140    QLineEdit* _rnxPathLineEdit;
141    QLineEdit* _ephPathLineEdit;
142    QLineEdit* _corrPathLineEdit;
143    QLineEdit* _miscMountLineEdit;
144    QLineEdit* _miscPortLineEdit;
145
146    QComboBox*     _reqcActionComboBox;
147    QPushButton*   _reqcEditOptionButton;
148    qtFileChooser* _reqcObsFileChooser;
149    qtFileChooser* _reqcNavFileChooser;
150    QLineEdit*     _reqcOutObsLineEdit;
151    QLineEdit*     _reqcOutNavLineEdit;
152    QLineEdit*     _reqcOutLogLineEdit;
153    QLineEdit*     _reqcPlotDirLineEdit;
154    QLineEdit*     _reqcSkyPlotSignals;
155    QCheckBox*     _reqcLogSummaryOnly;
156
157    qtFileChooser* _sp3CompFileChooser;
158    QLineEdit*     _sp3CompExclude;
159    QLineEdit*     _sp3CompLogLineEdit;
160
161    QCheckBox* _rnxV3CheckBox;
162    QLineEdit* _rnxV2Priority;
163    QCheckBox* _ephV3CheckBox;
164    QCheckBox* _ephV3filenameCheckBox;
165    QLineEdit* _rnxSkelLineEdit;
166    QCheckBox* _rnxFileCheckBox;
167    QCheckBox* _rnxV3filenameCheckBox;
168    QLineEdit* _rnxScrpLineEdit;
169    QLineEdit* _logFileLineEdit;
170    QLineEdit* _rawOutFileLineEdit;
171    QComboBox* _rnxIntrComboBox;
172    QComboBox* _ephIntrComboBox;
173    QComboBox* _corrIntrComboBox;
174    QSpinBox*  _rnxSamplSpinBox;
175    QSpinBox*  _outSamplSpinBox;
176    QCheckBox* _rnxAppendCheckBox;
177    QCheckBox* _autoStartCheckBox;
178    QCheckBox* _miscScanRTCMCheckBox;
179    QSpinBox*  _outWaitSpinBox;
180    QComboBox* _adviseObsRateComboBox;
181    QSpinBox*  _adviseFailSpinBox;
182    QSpinBox*  _adviseRecoSpinBox;
183    QLineEdit* _adviseScriptLineEdit;
184    QComboBox* _miscIntrComboBox;
185    QTableWidget* _mountPointsTable;
186
187    QLineEdit* _serialPortNameLineEdit;
188    QLineEdit* _serialMountPointLineEdit;
189    QComboBox* _serialBaudRateComboBox;
190    QComboBox* _serialParityComboBox;
191    QComboBox* _serialDataBitsComboBox;
192    QComboBox* _serialStopBitsComboBox;
193    QComboBox* _serialFlowControlComboBox;
194    QLineEdit* _serialHeightNMEALineEdit;
195    QLineEdit* _serialFileNMEALineEdit;
196    QComboBox* _serialAutoNMEAComboBox;
197    QSpinBox*  _serialManualNMEASamplingSpinBox;
198
199    QLineEdit*   _LatLineEdit;
200    QLineEdit*   _LonLineEdit;
201
202    QComboBox*  _onTheFlyComboBox;
203
204    QTextEdit*  _log;
205
206    QWidget*    _canvas;
207    QTabWidget* _aogroup;
208
209    QTabWidget* _loggroup;
210    bncFigure*  _bncFigure;
211    bncFigureLate*  _bncFigureLate;
212    bncFigurePPP*   _bncFigurePPP;
213
214    QTableWidget*  _cmbTable;
215    QLineEdit*     _cmbMaxresLineEdit;
216    QComboBox*     _cmbMethodComboBox;
217    QSpinBox*      _cmbSamplSpinBox;
218    QCheckBox*     _cmbUseGlonass;
219
220    QTableWidget*  _uploadTable;
221    QComboBox*     _uploadIntrComboBox;
222    QSpinBox*      _uploadSamplRtcmEphCorrSpinBox;
223    QSpinBox*      _uploadSamplSp3SpinBox;
224    QSpinBox*      _uploadSamplClkRnxSpinBox;
225    qtFileChooser* _uploadAntexFile;
226
227    QTableWidget*  _uploadEphTable;
228    QSpinBox*      _uploadSamplRtcmEphSpinBox;
229
230    bncCaster*          _caster;
231    bncEphUploadCaster* _casterEph;
232
233    bool _runningRealTime;
234    bool _runningPPP;
235    bool _runningEdit;
236    bool _runningQC;
237    bool _runningSp3Comp;
238
239    bool running() {return _runningRealTime || _runningPPP || _runningEdit ||
240                    _runningQC || _runningSp3Comp;}
241
242    bncMapWin*           _mapWin;
243
244    QList<bncGetThread*> _threads;
245
246    t_pppWidgets         _pppWidgets;
247};
248
249#ifdef GNSSCENTER_PLUGIN
250#include "plugininterface.h"
251class t_bncFactory : public QObject, public GnssCenter::t_pluginFactoryInterface {
252 Q_OBJECT
253 Q_INTERFACES(GnssCenter::t_pluginFactoryInterface)
254 public:
255  virtual QWidget* create() {return new bncWindow();}
256  virtual QString getName() const {return QString("BNC");}
257};
258#endif
259
260#endif
Note: See TracBrowser for help on using the repository browser.