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

Last change on this file since 7948 was 7889, checked in by stuerze, 10 years ago

BNC's ephemeris upload is extended to allows an upload of more than one stream and to choose a single satellite system

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 slotAddUploadEphRow();
94 void slotDelUploadEphRow();
95 void slotSetUploadTrafo();
96 void slotReqcEditOption();
97 void slotPostProcessingFinished();
98 void slotPostProcessingProgress(int);
99
100 protected:
101 virtual void closeEvent(QCloseEvent *);
102
103 private:
104 void saveOptions();
105 void populateMountPointsTable();
106 void populateCmbTable();
107 void populateUploadTable();
108 void populateUploadEphTable();
109 void enableWidget(bool enable, QWidget* widget);
110 void startRealTime();
111 void enableStartStop();
112
113 QMenu* _menuHlp;
114 QMenu* _menuFile;
115
116 QAction* _actHelp;
117 QAction* _actAbout;
118 QAction* _actFlowchart;
119 QAction* _actFontSel;
120 QAction* _actSaveOpt;
121 QAction* _actQuit;
122 QAction* _actMapMountPoints;
123 QAction* _actStart;
124 QAction* _actStop;
125 QAction* _actAddMountPoints;
126 QAction* _actDeleteMountPoints;
127 QAction* _actwhatsthis;
128 QAction* _actwhatsthismenu;
129
130 QLineEdit* _proxyHostLineEdit;
131 QLineEdit* _proxyPortLineEdit;
132 QLineEdit* _sslCaCertPathLineEdit;
133 QCheckBox* _sslIgnoreErrorsCheckBox;
134 QLineEdit* _outFileLineEdit;
135 QLineEdit* _outPortLineEdit;
136 QLineEdit* _outUPortLineEdit;
137 QLineEdit* _ephOutPortLineEdit;
138 QLineEdit* _corrPortLineEdit;
139 QLineEdit* _rnxPathLineEdit;
140 QLineEdit* _ephPathLineEdit;
141 QLineEdit* _corrPathLineEdit;
142 QLineEdit* _miscMountLineEdit;
143 QLineEdit* _miscPortLineEdit;
144
145 QComboBox* _reqcActionComboBox;
146 QPushButton* _reqcEditOptionButton;
147 qtFileChooser* _reqcObsFileChooser;
148 qtFileChooser* _reqcNavFileChooser;
149 QLineEdit* _reqcOutObsLineEdit;
150 QLineEdit* _reqcOutNavLineEdit;
151 QLineEdit* _reqcOutLogLineEdit;
152 QLineEdit* _reqcPlotDirLineEdit;
153 QLineEdit* _reqcSkyPlotSignals;
154 QCheckBox* _reqcLogSummaryOnly;
155
156 qtFileChooser* _sp3CompFileChooser;
157 QLineEdit* _sp3CompExclude;
158 QLineEdit* _sp3CompLogLineEdit;
159
160 QCheckBox* _rnxV3CheckBox;
161 QLineEdit* _rnxV2Priority;
162 QCheckBox* _ephV3CheckBox;
163 QCheckBox* _ephV3filenameCheckBox;
164 QLineEdit* _rnxSkelLineEdit;
165 QCheckBox* _rnxFileCheckBox;
166 QCheckBox* _rnxV3filenameCheckBox;
167 QLineEdit* _rnxScrpLineEdit;
168 QLineEdit* _logFileLineEdit;
169 QLineEdit* _rawOutFileLineEdit;
170 QComboBox* _rnxIntrComboBox;
171 QComboBox* _ephIntrComboBox;
172 QComboBox* _corrIntrComboBox;
173 QSpinBox* _rnxSamplSpinBox;
174 QSpinBox* _outSamplSpinBox;
175 QCheckBox* _rnxAppendCheckBox;
176 QCheckBox* _autoStartCheckBox;
177 QCheckBox* _miscScanRTCMCheckBox;
178 QSpinBox* _outWaitSpinBox;
179 QComboBox* _adviseObsRateComboBox;
180 QSpinBox* _adviseFailSpinBox;
181 QSpinBox* _adviseRecoSpinBox;
182 QLineEdit* _adviseScriptLineEdit;
183 QComboBox* _miscIntrComboBox;
184 QTableWidget* _mountPointsTable;
185
186 QLineEdit* _serialPortNameLineEdit;
187 QLineEdit* _serialMountPointLineEdit;
188 QComboBox* _serialBaudRateComboBox;
189 QComboBox* _serialParityComboBox;
190 QComboBox* _serialDataBitsComboBox;
191 QComboBox* _serialStopBitsComboBox;
192 QComboBox* _serialFlowControlComboBox;
193 QLineEdit* _serialHeightNMEALineEdit;
194 QLineEdit* _serialFileNMEALineEdit;
195 QComboBox* _serialAutoNMEAComboBox;
196 QSpinBox* _serialManualNMEASamplingSpinBox;
197
198 QLineEdit* _LatLineEdit;
199 QLineEdit* _LonLineEdit;
200
201 QComboBox* _onTheFlyComboBox;
202
203 QTextEdit* _log;
204
205 QWidget* _canvas;
206 QTabWidget* _aogroup;
207
208 QTabWidget* _loggroup;
209 bncFigure* _bncFigure;
210 bncFigureLate* _bncFigureLate;
211 bncFigurePPP* _bncFigurePPP;
212
213 QTableWidget* _cmbTable;
214 QLineEdit* _cmbMaxresLineEdit;
215 QComboBox* _cmbMethodComboBox;
216 QSpinBox* _cmbSamplSpinBox;
217 QCheckBox* _cmbUseGlonass;
218
219 QTableWidget* _uploadTable;
220 QComboBox* _uploadIntrComboBox;
221 QSpinBox* _uploadSamplRtcmEphCorrSpinBox;
222 QSpinBox* _uploadSamplSp3SpinBox;
223 QSpinBox* _uploadSamplClkRnxSpinBox;
224 qtFileChooser* _uploadAntexFile;
225
226 QTableWidget* _uploadEphTable;
227 QSpinBox* _uploadSamplRtcmEphSpinBox;
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.