General Purpose Geodetic Library
SgGuiVlbiBaselineList.h
Go to the documentation of this file.
1 /*
2  *
3  * This file is a part of Space Geodetic Library. The library is used by
4  * nuSolve, a part of CALC/SOLVE system, and designed to make analysis of
5  * geodetic VLBI observations.
6  * Copyright (C) 2010-2020 Sergei Bolotin.
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 
23 #ifndef SG_GUI_VLBI_BASELINE_LIST_H
24 #define SG_GUI_VLBI_BASELINE_LIST_H
25 
26 
27 #ifdef HAVE_CONFIG_H
28 # include <config.h>
29 #endif
30 
31 
32 #include <SgGuiQTreeWidgetExt.h>
33 #include <SgVlbiBaselineInfo.h>
34 
35 #if QT_VERSION >= 0x050000
36 # include <QtWidgets/QDialog>
37 # include <QtWidgets/QHeaderView>
38 # include <QtWidgets/QPlainTextEdit>
39 # include <QtWidgets/QTreeWidgetItem>
40 #else
41 # include <QtGui/QDialog>
42 # include <QtGui/QHeaderView>
43 # include <QtGui/QPlainTextEdit>
44 # include <QtGui/QTreeWidgetItem>
45 #endif
46 
47 
48 
49 
50 
51 
52 
53 class SgTaskConfig;
54 class SgVlbiBaselineInfo;
55 class SgVlbiSession;
56 
57 
58 
59 /*=====================================================================================================*/
61 {
62 public:
63  SgGuiVlbiBaselineItem(QTreeWidget *parent, int type = Type) : QTreeWidgetItem(parent, type)
64  {blInfo_=NULL;};
65  virtual ~SgGuiVlbiBaselineItem() {blInfo_=NULL;};
66  void setBlInfo(SgVlbiBaselineInfo* info) {blInfo_ = info;};
68  const SgVlbiBaselineInfo* getBlInfo() const {return blInfo_;};
69 
70  virtual bool operator<(const QTreeWidgetItem &other) const;
71 
72 private:
74 };
75 /*=====================================================================================================*/
76 
77 
78 
79 
80 /*=====================================================================================================*/
82 {
83  Q_OBJECT
84 
85 public:
87  SgObjectBrowseMode, QMap<QString, SgVlbiBaselineInfo*>*,
88  QWidget* = 0, Qt::WindowFlags = 0);
89  virtual ~SgGuiVlbiBaselineList() {session_=NULL; cfg_=NULL; baselinesByName_=NULL;};
90 
91 
92 public
93 slots:
94  void addRefClockStation(const QString&);
95  void delRefClockStation(const QString&);
96 
97 private
98 slots:
99  void toggleEntryMoveEnable(QTreeWidgetItem*, int, Qt::MouseButton, Qt::KeyboardModifiers);
100  void updateContent();
102  void modifyBaselineInfo(bool);
103 
104 
105 protected:
108  QString ownerName_;
110  QMap<QString, SgVlbiBaselineInfo*> *baselinesByName_;
112  double scl4delay_;
113  double scl4rate_;
120  virtual inline QString className() const {return "SgGuiVlbiBaselineList";};
121 };
122 /*=====================================================================================================*/
123 
124 
125 
126 class QLineEdit;
127 class QCheckBox;
128 
129 /*=====================================================================================================*/
131 {
132  Q_OBJECT
133 public:
135  SgVlbiBaselineInfo*, SgObjectBrowseMode, const QString&,
136  QWidget* =0, Qt::WindowFlags=0);
138  inline QString className() const {return "SgGuiVlbiBlnInfoEditor";};
139 
140  signals:
141  void contentModified(bool);
142 
143  private
144  slots:
145  void accept();
146  void reject() {QDialog::reject(); isModified_=false; deleteLater();};
147  void updateModifyStatus(bool);
148 
149 protected:
155  // widgets:
156  QCheckBox *cbAttributes_[6];
157  QLineEdit *leAuxSigma4Delay_;
158  QLineEdit *leAuxSigma4Rate_;
159  // functions:
160  void acquireData();
161 };
162 /*=====================================================================================================*/
163 
164 
165 
166 
167 /*=====================================================================================================*/
168 #endif // SG_GUI_VLBI_BASELINE_LIST_H
SgObjectBrowseMode
Definition: SgObjectInfo.h:46
void setBlInfo(SgVlbiBaselineInfo *info)
SgGuiVlbiBaselineItem(QTreeWidget *parent, int type=Type)
SgVlbiBaselineInfo * getBlInfo()
virtual bool operator<(const QTreeWidgetItem &other) const
const SgVlbiBaselineInfo * getBlInfo() const
SgVlbiBaselineInfo * blInfo_
void delRefClockStation(const QString &)
void entryDoubleClicked(QTreeWidgetItem *, int)
void addRefClockStation(const QString &)
QMap< QString, SgVlbiBaselineInfo * > * baselinesByName_
QList< QString > refClockStations_
SgObjectBrowseMode browseMode_
virtual QString className() const
SgGuiVlbiBaselineList(SgVlbiSession *session, SgTaskConfig *cfg, SgObjectBrowseMode, QMap< QString, SgVlbiBaselineInfo * > *, QWidget *=0, Qt::WindowFlags=0)
void toggleEntryMoveEnable(QTreeWidgetItem *, int, Qt::MouseButton, Qt::KeyboardModifiers)
SgGuiQTreeWidgetExt * tweBaselines_
SgObjectBrowseMode browseMode_
SgVlbiBaselineInfo * baselineInfo_
SgGuiVlbiBlnInfoEditor(SgVlbiSession *session, SgTaskConfig *cfg, SgVlbiBaselineInfo *, SgObjectBrowseMode, const QString &, QWidget *=0, Qt::WindowFlags=0)