source: ntrip/branches/BNC_2.12/src/bncwindow.h @ 8616

Last change on this file since 8616 was 8616, checked in by stuerze, 7 weeks ago

a computed lock time is added for RTCM3 phase observations as an optional feed engine output

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 <QtGui>
29#include <QWhatsThis>
30
31#include "bncgetthread.h"
32#include "bnccaster.h"
33#include "pppWidgets.h"
34
35class bncAboutDlg : public QDialog {
36  Q_OBJECT
37  public:
38    bncAboutDlg(QWidget* parent);
39    ~bncAboutDlg();
40};
41
42class bncFlowchartDlg : public QDialog {
43  Q_OBJECT
44
45  public:
46    bncFlowchartDlg(QWidget* parent);
47    ~bncFlowchartDlg();
48};
49
50class bncFigure;
51class bncFigureLate;
52class bncFigurePPP;
53class bncBytesCounter;
54class bncEphUploadCaster;
55class qtFileChooser;
56class bncMapWin;
57
58class bncWindow : public QMainWindow {
59  Q_OBJECT
60
61  public:
62    bncWindow();
63    ~bncWindow();
64    void CreateMenu();
65    void AddToolbar();
66
67  public slots: 
68    void slotMountPointsRead(QList<bncGetThread*>);
69    void slotBncTextChanged();
70
71  private slots:
72    void slotWindowMessage(const QByteArray msg, bool showOnScreen);
73    void slotHelp();
74    void slotAbout();
75    void slotFlowchart();
76    void slotFontSel();
77    void slotSaveOptions();
78    void slotAddMountPoints();
79    void slotMapMountPoints();
80    void slotMapPPP();
81    void slotMapPPPClosed();
82    void slotStart();
83    void slotStop();
84    void slotNewMountPoints(QStringList* mountPoints);
85    void slotDeleteMountPoints();
86    void slotGetThreadsFinished();
87    void slotSelectionChanged();
88    void slotWhatsThis();
89    void slotAddCmbRow();
90    void slotDelCmbRow();
91    void slotAddUploadRow();
92    void slotDelUploadRow();
93    void slotSetUploadTrafo();
94    void slotReqcEditOption();
95    void slotPostProcessingFinished();
96    void slotPostProcessingProgress(int);
97
98  protected:
99    virtual void closeEvent(QCloseEvent *);
100
101  private:
102    void saveOptions();
103    void populateMountPointsTable();
104    void populateCmbTable();
105    void populateUploadTable();
106    void enableWidget(bool enable, QWidget* widget);
107    void startRealTime();
108    void enableStartStop();
109
110    QMenu*     _menuHlp;
111    QMenu*     _menuFile;
112
113    QAction*   _actHelp;
114    QAction*   _actAbout;
115    QAction*   _actFlowchart;
116    QAction*   _actFontSel;
117    QAction*   _actSaveOpt;
118    QAction*   _actQuit; 
119    QAction*   _actMapMountPoints;
120    QAction*   _actStart;
121    QAction*   _actStop;
122    QAction*   _actAddMountPoints;
123    QAction*   _actDeleteMountPoints;
124    QAction*   _actwhatsthis;
125    QAction*   _actwhatsthismenu;
126
127    QLineEdit* _proxyHostLineEdit;
128    QLineEdit* _proxyPortLineEdit;
129    QLineEdit* _sslCaCertPathLineEdit;
130    QCheckBox* _sslIgnoreErrorsCheckBox;
131    QLineEdit* _outFileLineEdit;
132    QLineEdit* _outPortLineEdit;
133    QLineEdit* _outUPortLineEdit;
134    QCheckBox* _printLockTimeCheckBox;   
135    QLineEdit* _ephOutPortLineEdit;
136    QLineEdit* _corrPortLineEdit;
137    QLineEdit* _rnxPathLineEdit;
138    QLineEdit* _ephPathLineEdit;
139    QLineEdit* _corrPathLineEdit;
140    QLineEdit* _miscMountLineEdit;
141    QLineEdit* _miscPortLineEdit;
142
143    QComboBox*     _reqcActionComboBox;
144    QPushButton*   _reqcEditOptionButton;
145    qtFileChooser* _reqcObsFileChooser;
146    qtFileChooser* _reqcNavFileChooser;
147    QLineEdit*     _reqcOutObsLineEdit;
148    QLineEdit*     _reqcOutNavLineEdit;
149    QLineEdit*     _reqcOutLogLineEdit;
150    QLineEdit*     _reqcPlotDirLineEdit;
151    QLineEdit*     _reqcSkyPlotSignals;
152    QCheckBox*     _reqcLogSummaryOnly;
153
154    qtFileChooser* _sp3CompFileChooser;
155    QLineEdit*     _sp3CompExclude;
156    QLineEdit*     _sp3CompLogLineEdit;
157
158    QCheckBox* _rnxV3CheckBox;
159    QLineEdit* _rnxV2Priority;
160    QCheckBox* _ephV3CheckBox;
161    QLineEdit* _rnxSkelLineEdit;
162    QCheckBox* _rnxFileCheckBox;
163    QLineEdit* _rnxScrpLineEdit;
164    QLineEdit* _logFileLineEdit;
165    QLineEdit* _rawOutFileLineEdit;
166    QComboBox* _rnxIntrComboBox;
167    QComboBox* _ephIntrComboBox;
168    QComboBox* _corrIntrComboBox;
169    QComboBox*  _rnxSamplComboBox;
170    QComboBox*  _outSamplComboBox;
171    QCheckBox* _rnxAppendCheckBox;
172    QCheckBox* _autoStartCheckBox;
173    QCheckBox* _miscScanRTCMCheckBox;
174    QSpinBox*  _outWaitSpinBox;
175    QComboBox* _adviseObsRateComboBox;
176    QSpinBox*  _adviseFailSpinBox;
177    QSpinBox*  _adviseRecoSpinBox;
178    QLineEdit* _adviseScriptLineEdit;
179    QComboBox* _miscIntrComboBox;
180    QTableWidget* _mountPointsTable;
181
182    QLineEdit* _serialPortNameLineEdit;
183    QLineEdit* _serialMountPointLineEdit;
184    QComboBox* _serialBaudRateComboBox;
185    QComboBox* _serialParityComboBox;
186    QComboBox* _serialDataBitsComboBox;
187    QComboBox* _serialStopBitsComboBox;
188    QComboBox* _serialFlowControlComboBox;
189    QLineEdit* _serialHeightNMEALineEdit;
190    QLineEdit* _serialFileNMEALineEdit;
191    QComboBox* _serialAutoNMEAComboBox;
192    QSpinBox*  _serialManualNMEASamplingSpinBox;
193
194    QLineEdit*   _LatLineEdit;
195    QLineEdit*   _LonLineEdit;
196
197    QComboBox*  _onTheFlyComboBox;
198
199    QTextEdit*  _log;
200
201    QWidget*    _canvas;
202    QTabWidget* _aogroup;
203
204    QTabWidget* _loggroup;
205    bncFigure*  _bncFigure;
206    bncFigureLate*  _bncFigureLate;
207    bncFigurePPP*   _bncFigurePPP;
208
209    QTableWidget*  _cmbTable;
210    QLineEdit*     _cmbMaxresLineEdit;
211    QComboBox*     _cmbMethodComboBox;
212    QSpinBox*      _cmbSamplSpinBox;
213    QCheckBox*     _cmbUseGlonass;
214
215    QTableWidget*  _uploadTable;
216    QComboBox*     _uploadIntrComboBox;
217    QSpinBox*      _uploadSamplRtcmEphCorrSpinBox;
218    QSpinBox*      _uploadSamplSp3SpinBox;
219    QSpinBox*      _uploadSamplClkRnxSpinBox;
220    qtFileChooser* _uploadAntexFile;
221
222    QLineEdit*       _uploadEphHostLineEdit;
223    QLineEdit*       _uploadEphPortLineEdit;
224    QLineEdit*       _uploadEphPasswordLineEdit;
225    QLineEdit*       _uploadEphMountpointLineEdit;
226    QSpinBox*        _uploadEphSampleSpinBox;
227    bncBytesCounter* _uploadEphBytesCounter;
228
229    bncCaster*          _caster;
230    bncEphUploadCaster* _casterEph;
231
232    bool _runningRealTime;
233    bool _runningPPP;
234    bool _runningEdit;
235    bool _runningQC;
236    bool _runningSp3Comp;
237
238    bool running() {return _runningRealTime || _runningPPP || _runningEdit || 
239                    _runningQC || _runningSp3Comp;}
240
241    bncMapWin*           _mapWin;
242
243    QList<bncGetThread*> _threads;
244
245    t_pppWidgets         _pppWidgets;
246};
247
248#ifdef GNSSCENTER_PLUGIN
249#include "plugininterface.h"
250class t_bncFactory : public QObject, public GnssCenter::t_pluginFactoryInterface {
251 Q_OBJECT
252 Q_INTERFACES(GnssCenter::t_pluginFactoryInterface)
253 public:
254  virtual QWidget* create() {return new bncWindow();} 
255  virtual QString getName() const {return QString("BNC");}
256};
257#endif
258
259#endif
Note: See TracBrowser for help on using the repository browser.