-
Notifications
You must be signed in to change notification settings - Fork 0
/
AddA2DVariableComboDialog.h
104 lines (88 loc) · 3.12 KB
/
AddA2DVariableComboDialog.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/* -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4; -*- */
/* vim: set shiftwidth=4 softtabstop=4 expandtab: */
/*
********************************************************************
** NIDAS: NCAR In-situ Data Acquistion Software
**
** 2010, Copyright University Corporation for Atmospheric Research
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** The LICENSE.txt file accompanying this software contains
** a copy of the GNU General Public License. If it is not found,
** write to the Free Software Foundation, Inc.,
** 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
**
********************************************************************
*/
#ifndef _config_AddA2DVariableComboDialog_h
#define _config_AddA2DVariableComboDialog_h
#include "ui_AddA2DVariableComboDialog.h"
#include <iostream>
#include <QMessageBox>
#include "Document.h"
#include "nidas_qmv/NidasModel.h"
#include "nidas_qmv/A2DVariableItem.h"
#include <raf/vardb.hh> // New Variable Database
namespace config
{
class AddA2DVariableComboDialog : public QDialog, public Ui_AddA2DVariableComboDialog
{
Q_OBJECT
public slots:
void accept() ;
void reject() {
//VariableText->clear();
LongNameText->clear();
UnitsText->clear();
Calib1Text->clear();
Calib2Text->clear();
Calib3Text->clear();
Calib4Text->clear();
Calib5Text->clear();
Calib6Text->clear();
this->hide();
}
// Show the dialog. Note: it's important that if the dialog is being
// used for editing an A2D variable, that the index list point to the
// select indexes and if the dialog is being used for adding a new
// variable, that indexList is empty.
void show(NidasModel* model, QModelIndexList indexList);
//bool setUpDialog();
void dialogSetup(const QString & variable);
bool setup(std::string filename);
public:
AddA2DVariableComboDialog(QWidget *parent);
~AddA2DVariableComboDialog() {}
void setDocument(Document* document) { _document = document;}
protected:
Document * _document;
private:
QModelIndexList _indexList;
NidasModel* _model;
bool _addMode;
int _origSRBoxIndex;
VDBFile * _vardb;
void SetUpChannelBox();
void showVoltErr(int32_t vDBvLow, int32_t vDBvHi, int confIndx);
void showSRErr(int vDBsr, int srIndx);
QString removeSuffix(const QString & varName);
QString getSuffix(const QString & varName);
void checkUnitsAndCalCoefs();
void clearForm();
bool openVarDB(std::string filename);
bool fileExists(QString filename);
void buildA2DVarDB();
void setCalLabels();
void clearCalLabels();
};
}
#endif