/
mappingviewwidget.h
132 lines (91 loc) · 3.87 KB
/
mappingviewwidget.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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/*******************************************************************************
Copyright (C) The University of Auckland
OpenCOR 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 3 of the License, or
(at your option) any later version.
OpenCOR 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.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://gnu.org/licenses>.
*******************************************************************************/
//==============================================================================
// Mapping view widget
//==============================================================================
#pragma once
//==============================================================================
#include "viewwidget.h"
#include "cellmlfile.h"
#include "mappingvieweditingwidget.h"
#include "mappingviewzincwidget.h"
#include "corecliutils.h"
//==============================================================================
#include <QStringListModel> //TODO remove when over
#include <QTableView>
#include <QMap>
#include <QListWidget>
#include <QLabel>
#include <QTreeView>
#include <QList>
//==============================================================================
#include "qwtbegin.h"
#include "qwt_wheel.h"
#include "qwtend.h"
//==============================================================================
namespace OpenCOR {
//==============================================================================
namespace Core {
class ToolBarWidget;
} // namespace Core
//==============================================================================
namespace ZincWidget {
class ZincWidget;
} // namespace ZincWidget
//==============================================================================
namespace MappingView {
//==============================================================================
class MappingViewWidget : public Core::Widget
{
Q_OBJECT
public:
explicit MappingViewWidget(QWidget *pParent);
~MappingViewWidget() override;
void retranslateUi() override;
void initialize(const QString &pFileName);
void finalize(const QString &pFileName);
void filePermissionsChanged(const QString &pFileName);
void fileSaved(const QString &pFileName);
void fileReloaded(const QString &pFileName);
void fileRenamed(const QString &pOldFileName, const QString &pNewFileName);
bool saveFile(const QString &pOldFileName, const QString &pNewFileName);
private:
QwtWheel *mDelayWidget;
Core::ToolBarWidget *mToolBarWidget;
Core::SplitterWidget *mVerticalSplitterWidget;
Core::SplitterWidget *mHorizontalSplitterWidget;
MappingViewZincWidget *mMappingViewZincWidget;
QLabel *mNodeValue;
QLabel *mVariableValue;
QTreeView *mVariableTree;
//TODO to move away
QListWidget *mListWidgetVariables;
QListWidget *mListWidgetOutput;
MappingViewEditingWidget* mEditingWidget = nullptr;
QMap<QString, MappingViewEditingWidget*> mEditingWidgets;
QString mMeshFileName;
signals:
void horizontalSplitterMoved(const QIntList &pSizes);
void verticalSplitterMoved(const QIntList &pSizes);
private slots:
void emitHorizontalSplitterMoved();
void emitVerticalSplitterMoved();
void nodeSelection(int pId);
};
//==============================================================================
} // namespace MappingView
} // namespace OpenCOR
//==============================================================================
// End of file
//==============================================================================