General Purpose Geodetic Library
NsSessionEditDialog.h
Go to the documentation of this file.
1 /*
2  *
3  * This file is a part of nuSolve. nuSolve is a part of CALC/SOLVE system
4  * and is designed to perform data analyis of a geodetic VLBI session.
5  * Copyright (C) 2010-2020 Sergei Bolotin.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef NS_SESSION_EDIT_DIALOG_H
23 #define NS_SESSION_EDIT_DIALOG_H
24 
25 
26 #ifdef HAVE_CONFIG_H
27 # include <config.h>
28 #endif
29 
30 
31 #include <QtCore/QAbstractItemModel>
32 
33 
34 #if QT_VERSION >= 0x050000
35 # include <QtWidgets/QDialog>
36 # include <QtWidgets/QLabel>
37 # include <QtWidgets/QTreeWidget>
38 # include <QtWidgets/QTreeWidgetItem>
39 #else
40 # include <QtGui/QDialog>
41 # include <QtGui/QLabel>
42 # include <QtGui/QTreeWidget>
43 # include <QtGui/QTreeWidgetItem>
44 #endif
45 
46 
47 
48 
49 #include <SgGuiPlotter.h>
50 #include <SgGuiVlbiStationList.h>
51 #include <SgGuiVlbiBaselineList.h>
52 #include <SgGuiVlbiSourceList.h>
53 #include <SgGuiVlbiHistory.h>
54 
55 #include <SgVlbiSession.h>
56 #include <SgTaskConfig.h>
57 #include <SgParametersDescriptor.h>
58 
59 
60 #include "NsSessionHandler.h"
61 
62 
63 
64 class QPushButton;
65 
66 class SgDbhImage;
67 class SgGuiTaskConfig;
68 class SgVgosDb;
69 class SgSolutionReporter;
70 /***===================================================================================================*/
77 {
78 Q_OBJECT
79 public:
80  //
81  // constructors/destructors:
82  //
85  NsSessionEditDialog(const QString& fileName, const QString& fileNameAux,
87  QWidget *parent=0, Qt::WindowFlags flags=Qt::Dialog);
88 
92  virtual ~NsSessionEditDialog();
93 
94 
95  //
96  // Interfaces:
97  //
98 
99 
100  //
101  // Functions:
102  //
103  inline QString className() const {return "NsSessionEditDialog";};
104 
105 
106  //
107  // Friends:
108  //
109 
110 
111  //
112  // I/O:
113  //
114  //
115 
116 signals:
117  void dataChanged();
118  void activeBandChanged(int);
119  void delayTypeChanged(int);
120 
121 
122 private slots:
123  void accept();
124  void reject();
125 
126  void dispatchUserKey(SgPlot*, Qt::KeyboardModifiers, int);
127  void displayPointInfo(SgPlot*, SgPlotBranch*, int, int, int);
128  void dispatchChangeOfYAxis(int);
129 // void dispatchChangeOfYAxisExt(SgTaskConfig::VlbiObservables);
133  //
134  void process();
135  void process_2times();
136  void process_3times();
137  void process_4macro();
138  //
139  void calcIono();
140  void zeroIono();
141  void calcClcF1();
142  void saveData();
144  void processRmOutButton();
145  void changeActiveBand(int idx);
147  void changePrimaryBand(int);
148  void clearAuxSigmas();
149  void clearAllEditings();
151  void generateReport();
152  void generateReport4StcPars();
153  void generateReport4Tzds();
155  void exportDataToNgs();
156  void putDataToAgv();
157  void makeMyAction();
158  void executeTestAction();
159  void netIdCurrentIndexChanged(const QString&);
160  void displayExcludedObs();
161  void displayExcludedObs_old();
163 
164 private:
166  // plotting:
174 
178 
179  double scale4Delay_;
180  double scale4Rate_;
181  // aux:
183  // for "beautification":
190  //
192  //
195  //
196  QPushButton *saveButton_;
197  QPushButton *ionoC_;
198  QPushButton *iono0_;
199  QPushButton *scanAmbigs_;
201  // saved:
217 
218  // functions:
220  QWidget* tab4Options();
229  bool exportDataIntoDbh();
230  bool exportDataIntoVgosDb();
231  void blockInput();
232  void restoreInput();
233  bool loadIntermediateResults(bool);
234  void runExternalCommand();
235  //
236 
237 protected:
238  virtual void closeEvent(QCloseEvent *) {deleteLater();};
239  void updateResiduals();
250 
253  virtual bool canSave();
254  void postSave();
255 };
256 /*=====================================================================================================*/
257 
258 
259 /*=====================================================================================================*/
260 #endif // NS_SESSION_EDIT_DIALOG_H
QString className() const
void netIdCurrentIndexChanged(const QString &)
bool findClockBreakEvent(SgPlot *, QList< SgVlbiBaselineInfo * > &, SgVlbiBand *&, SgMJD &, SgVlbiStationInfo *&)
QList< QLabel * > labelsWRMS_
void generateRequest4Refringing(SgPlot *)
void changeNumOfAmbigSpacing4MarkedPoints(SgPlot *, int)
virtual void closeEvent(QCloseEvent *)
void changeNumOfSubAmbig4MarkedPoints(SgPlot *, int)
SgGuiVlbiSourceList * sourcesList_
SgGuiTaskConfig * configWidget_
void processClockBreakMarks(SgPlot *)
void dispatchChangeOfClocksParameterModel(SgParameterCfg::PMode)
QList< SgPlot * > plots4Baselines_
QWidget * tab4BandPlots(SgVlbiBand *)
void excludeMarkedPoints(SgPlot *)
void displayPointInfo(SgPlot *, SgPlotBranch *, int, int, int)
void dispatchUserKey(SgPlot *, Qt::KeyboardModifiers, int)
QWidget * tab4Band(SgVlbiBand *)
NsSessionEditDialog(const QString &fileName, const QString &fileNameAux, SgTaskConfig *, SgParametersDescriptor *, SgVlbiSessionInfo::OriginType, bool isLnfs, QWidget *parent=0, Qt::WindowFlags flags=Qt::Dialog)
void processClockBreakMarksNew(SgPlot *)
QList< SgPlotCarrier * > plotCarriers4Baselines_
QList< QLabel * > labelsPar_
QList< QWidget * > widgets2Block_
QList< QLabel * > labelsPrc_
void includeMarkedPoints(SgPlot *)
QList< QLabel * > labelsSig0_
SgPlotCarrier * plotCarrier4Session_
SgGuiVlbiStationList * stationsList_
void dispatchChangeOfZenithParameterModel(SgParameterCfg::PMode)
void processTestFunctionN1(SgPlot *)
QList< QLabel * > labelsChi2_
SgGuiVlbiBaselineList * baselinesList_
SgPlotCarrier * plotCarrier4Stations_
Definition: SgMJD.h:59