30 #include <QtCore/QDir>
32 #if QT_VERSION >= 0x050000
33 # include <QtWidgets/QBoxLayout>
34 # include <QtWidgets/QGroupBox>
35 # include <QtWidgets/QHeaderView>
36 # include <QtWidgets/QFrame>
37 # include <QtWidgets/QLabel>
38 # include <QtWidgets/QPlainTextEdit>
39 # include <QtWidgets/QPushButton>
40 # include <QtWidgets/QTabWidget>
41 # include <QtWidgets/QTextEdit>
42 # include <QtWidgets/QTreeWidget>
44 # include <QtGui/QBoxLayout>
45 # include <QtGui/QGroupBox>
46 # include <QtGui/QHeaderView>
47 # include <QtGui/QFrame>
48 # include <QtGui/QLabel>
49 # include <QtGui/QPlainTextEdit>
50 # include <QtGui/QPushButton>
51 # include <QtGui/QTabWidget>
52 # include <QtGui/QTextEdit>
53 # include <QtGui/QTreeWidget>
73 int column=treeWidget()->sortColumn();
78 dL = text(column).toDouble(&isOk);
81 dR = other.text(column).toDouble(&isOk);
102 QWidget *parent, Qt::WindowFlags flags)
105 nonUsableObservations_(nonUsableObservations),
106 deselectedObservations_(deselectedObservations)
110 QBoxLayout *layout, *subLayout;
114 layout =
new QVBoxLayout(
this);
116 QStringList headerLabels;
136 item->setText(0, str.sprintf(
"%6d", obsInfo->
getMediaIdx()));
137 item->setData(0, Qt::TextAlignmentRole, Qt::AlignRight);
139 item->setText(1, str.sprintf(
"%s", qPrintable(obsInfo->
getStn_1Name())));
140 item->setData(1, Qt::TextAlignmentRole, Qt::AlignLeft);
141 item->setText(2, str.sprintf(
"%s", qPrintable(obsInfo->
getStn_2Name())));
142 item->setData(2, Qt::TextAlignmentRole, Qt::AlignLeft);
143 item->setText(3, str.sprintf(
"%s", qPrintable(obsInfo->
getSrcName())));
144 item->setData(3, Qt::TextAlignmentRole, Qt::AlignLeft);
145 item->setText(4, str.sprintf(
"%s", qPrintable(obsInfo->
getStrEpoch())));
146 item->setData(4, Qt::TextAlignmentRole, Qt::AlignLeft);
147 item->setText(5, str.sprintf(
"%s", qPrintable(obsInfo->
getStrQFs())));
148 item->setData(5, Qt::TextAlignmentRole, Qt::AlignCenter);
149 item->setText(6, str.sprintf(
"%s", qPrintable(obsInfo->
getReasons())));
150 item->setData(6, Qt::TextAlignmentRole, Qt::AlignLeft);
153 twUnusable_->header()->resizeSections(QHeaderView::ResizeToContents);
154 #if QT_VERSION >= 0x050000
155 twUnusable_->header()->setSectionResizeMode(QHeaderView::Interactive);
157 twUnusable_->header()->setResizeMode(QHeaderView::Interactive);
159 twUnusable_->header()->setStretchLastSection(
true);
167 twUnusable_->setFrameStyle(QFrame::WinPanel | QFrame::Sunken);
173 headerLabels.clear();
195 item->setText(0, str.sprintf(
"%6d", obsInfo->
getMediaIdx()));
196 item->setData(0, Qt::TextAlignmentRole, Qt::AlignRight);
198 item->setText(1, str.sprintf(
"%s", qPrintable(obsInfo->
getStn_1Name())));
199 item->setData(1, Qt::TextAlignmentRole, Qt::AlignLeft);
200 item->setText(2, str.sprintf(
"%s", qPrintable(obsInfo->
getStn_2Name())));
201 item->setData(2, Qt::TextAlignmentRole, Qt::AlignLeft);
202 item->setText(3, str.sprintf(
"%s", qPrintable(obsInfo->
getSrcName())));
203 item->setData(3, Qt::TextAlignmentRole, Qt::AlignLeft);
204 item->setText(4, str.sprintf(
"%s", qPrintable(obsInfo->
getStrEpoch())));
205 item->setData(4, Qt::TextAlignmentRole, Qt::AlignLeft);
206 item->setText(5, str.sprintf(
"%s", qPrintable(obsInfo->
getStrQFs())));
207 item->setData(5, Qt::TextAlignmentRole, Qt::AlignCenter);
209 item->setText(6, str.sprintf(
"%.1f", obsInfo->
getResidual()));
210 item->setData(6, Qt::TextAlignmentRole, Qt::AlignRight);
211 item->setText(7, str.sprintf(
"%.1f", obsInfo->
getStdDev()));
212 item->setData(7, Qt::TextAlignmentRole, Qt::AlignRight);
213 item->setText(8, str.sprintf(
"%.1f", obsInfo->
getNormResid()));
214 item->setData(8, Qt::TextAlignmentRole, Qt::AlignRight);
217 twDeselected_->header()->resizeSections(QHeaderView::ResizeToContents);
218 #if QT_VERSION >= 0x050000
219 twDeselected_->header()->setSectionResizeMode(QHeaderView::Interactive);
221 twDeselected_->header()->setResizeMode(QHeaderView::Interactive);
231 twDeselected_->setFrameStyle(QFrame::WinPanel | QFrame::Sunken);
236 QTabWidget *aTabs=
new QTabWidget(
this);
242 layout->addWidget(aTabs);
245 subLayout =
new QHBoxLayout();
246 layout->addLayout(subLayout);
247 subLayout->addStretch(1);
249 QPushButton *bClose=
new QPushButton(
"Close",
this);
250 QPushButton *bExport=
new QPushButton(
"Export",
this);
251 bClose->setDefault(
true);
253 bExport->setMinimumSize((btnSize=bExport->sizeHint()));
254 bClose ->setMinimumSize(btnSize);
256 subLayout->addWidget(bExport);
257 subLayout->addWidget(bClose);
260 setMinimumSize(sizeHint());
262 connect(bClose, SIGNAL(clicked()), SLOT(
accept()));
263 connect(bExport, SIGNAL(clicked()), SLOT(
export2file()));
264 setWindowTitle(
"The lists of not used observations");
286 "::accept(): accept selected");
297 "::reject(): reject selected");
307 "::export2file(): export observations status selected");
312 QDir d(nuobsDirName);
314 isOk = d.mkpath(
"./");
318 "::export2file(): cannot create directory " + nuobsDirName +
"; report failed");
327 "::export2file(): observations status have been saved in the \"" + fName +
"\" file of \"" +
328 nuobsDirName +
"\" directory");
331 "::export2file(): writting observations status the " + fName +
" file has been failed");
335 "::export2file(): export has been failed, the reporter is NULL");
bool operator<(const SgMJD &T1, const SgMJD &T2)
QTreeWidget * twDeselected_
QList< NsDeselectedObsInfo * > deselectedObservations_
QString className() const
SgSolutionReporter * reporter_
QList< NsNotUsedObsInfo * > nonUsableObservations_
virtual ~NsBrowseNotUsedObsDialog()
QTreeWidget * twUnusable_
NsBrowseNotUsedObsDialog(const QList< NsNotUsedObsInfo * > &nonUsableObservations, const QList< NsDeselectedObsInfo * > &deselectedObservations, SgSolutionReporter *reporter, QWidget *parent=0, Qt::WindowFlags flags=0)
const QString & getStrEpoch() const
double getNormResid() const
const QString & getStn_1Name() const
const QString & getSrcName() const
const QString & getStn_2Name() const
double getResidual() const
const QString & getStrQFs() const
const QString & getSrcName() const
const QString & getStn_1Name() const
const QString & getStrQFs() const
const QString & getStrEpoch() const
const QString & getStn_2Name() const
const QString & getReasons() const
QString path2(const QString &) const
SgIdentities & identities()
const QString & getPath2NotUsedObsFileOutput() const
const QString & getUserDefaultInitials() const
virtual void write(LogLevel, quint32, const QString &, bool=false)
bool reportNotUsedObs(const QString &path, const QString &fileName)