##// END OF EJS Templates
Updated Meson build definitions...
jeandet -
r1410:143f4d9b5628
parent child
Show More
@@ -0,0 +1,5
1 [wrap-git]
2 directory = catalogicpp
3 url = https://github.com/jeandet/catalogicpp.git
4 revision = master
5
@@ -0,0 +1,5
1 [wrap-git]
2 directory = stduuid
3 url = https://github.com/jeandet/stduuid.git
4 revision = meson
5
@@ -1,396 +1,396
1 /*------------------------------------------------------------------------------
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the SciQLop Software
2 -- This file is a part of the SciQLop Software
3 -- Copyright (C) 2017, Plasma Physics Laboratory - CNRS
3 -- Copyright (C) 2017, Plasma Physics Laboratory - CNRS
4 --
4 --
5 -- This program is free software; you can redistribute it and/or modify
5 -- This program is free software; you can redistribute it and/or modify
6 -- it under the terms of the GNU General Public License as published by
6 -- it under the terms of the GNU General Public License as published by
7 -- the Free Software Foundation; either version 2 of the License, or
7 -- the Free Software Foundation; either version 2 of the License, or
8 -- (at your option) any later version.
8 -- (at your option) any later version.
9 --
9 --
10 -- This program is distributed in the hope that it will be useful,
10 -- This program is distributed in the hope that it will be useful,
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 -- GNU General Public License for more details.
13 -- GNU General Public License for more details.
14 --
14 --
15 -- You should have received a copy of the GNU General Public License
15 -- You should have received a copy of the GNU General Public License
16 -- along with this program; if not, write to the Free Software
16 -- along with this program; if not, write to the Free Software
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 -------------------------------------------------------------------------------*/
18 -------------------------------------------------------------------------------*/
19 /*-- Author : Alexis Jeandet
19 /*-- Author : Alexis Jeandet
20 -- Mail : alexis.jeandet@member.fsf.org
20 -- Mail : alexis.jeandet@member.fsf.org
21 ----------------------------------------------------------------------------*/
21 ----------------------------------------------------------------------------*/
22 #include "MainWindow.h"
22 #include "MainWindow.h"
23 #include "ui_MainWindow.h"
23 #include "ui_MainWindow.h"
24
24
25 #include <Catalogue/CatalogueController.h>
25 #include <Catalogue/CatalogueController.h>
26 #include <Catalogue/CatalogueExplorer.h>
26 //#include <Catalogue/CatalogueExplorer.h>
27 #include <DataSource/DataSourceController.h>
27 #include <DataSource/DataSourceController.h>
28 #include <DataSource/DataSourceWidget.h>
28 #include <DataSource/DataSourceWidget.h>
29 #include <Settings/SqpSettingsDialog.h>
29 #include <Settings/SqpSettingsDialog.h>
30 #include <Settings/SqpSettingsGeneralWidget.h>
30 #include <Settings/SqpSettingsGeneralWidget.h>
31 #include <SidePane/SqpSidePane.h>
31 #include <SidePane/SqpSidePane.h>
32 #include <SqpApplication.h>
32 #include <SqpApplication.h>
33 #include <Time/TimeController.h>
33 #include <Time/TimeController.h>
34 #include <TimeWidget/TimeWidget.h>
34 #include <TimeWidget/TimeWidget.h>
35 #include <Variable/Variable.h>
35 #include <Variable/Variable.h>
36 #include <Visualization/VisualizationController.h>
36 #include <Visualization/VisualizationController.h>
37
37
38 #include <QAction>
38 #include <QAction>
39 #include <QCloseEvent>
39 #include <QCloseEvent>
40 #include <QDate>
40 #include <QDate>
41 #include <QDir>
41 #include <QDir>
42 #include <QFileDialog>
42 #include <QFileDialog>
43 #include <QMessageBox>
43 #include <QMessageBox>
44 #include <QToolBar>
44 #include <QToolBar>
45 #include <QToolButton>
45 #include <QToolButton>
46 #include <memory.h>
46 #include <memory.h>
47
47
48 #include "iostream"
48 #include "iostream"
49
49
50 Q_LOGGING_CATEGORY(LOG_MainWindow, "MainWindow")
50 Q_LOGGING_CATEGORY(LOG_MainWindow, "MainWindow")
51
51
52 namespace
52 namespace
53 {
53 {
54 const auto LEFTMAININSPECTORWIDGETSPLITTERINDEX = 0;
54 const auto LEFTMAININSPECTORWIDGETSPLITTERINDEX = 0;
55 const auto LEFTINSPECTORSIDEPANESPLITTERINDEX = 1;
55 const auto LEFTINSPECTORSIDEPANESPLITTERINDEX = 1;
56 const auto VIEWPLITTERINDEX = 2;
56 const auto VIEWPLITTERINDEX = 2;
57 const auto RIGHTINSPECTORSIDEPANESPLITTERINDEX = 3;
57 const auto RIGHTINSPECTORSIDEPANESPLITTERINDEX = 3;
58 const auto RIGHTMAININSPECTORWIDGETSPLITTERINDEX = 4;
58 const auto RIGHTMAININSPECTORWIDGETSPLITTERINDEX = 4;
59 }
59 }
60
60
61 class MainWindow::MainWindowPrivate
61 class MainWindow::MainWindowPrivate
62 {
62 {
63 public:
63 public:
64 explicit MainWindowPrivate(MainWindow* mainWindow)
64 explicit MainWindowPrivate(MainWindow* mainWindow)
65 : m_LastOpenLeftInspectorSize {}
65 : m_LastOpenLeftInspectorSize {}
66 , m_LastOpenRightInspectorSize {}
66 , m_LastOpenRightInspectorSize {}
67 , m_GeneralSettingsWidget { new SqpSettingsGeneralWidget { mainWindow } }
67 , m_GeneralSettingsWidget { new SqpSettingsGeneralWidget { mainWindow } }
68 , m_SettingsDialog { new SqpSettingsDialog { mainWindow } }
68 , m_SettingsDialog { new SqpSettingsDialog { mainWindow } }
69 //, m_CatalogExplorer { new CatalogueExplorer { mainWindow } }
69 //, m_CatalogExplorer { new CatalogueExplorer { mainWindow } }
70 {
70 {
71 }
71 }
72
72
73 QSize m_LastOpenLeftInspectorSize;
73 QSize m_LastOpenLeftInspectorSize;
74 QSize m_LastOpenRightInspectorSize;
74 QSize m_LastOpenRightInspectorSize;
75 /// General settings widget. MainWindow has the ownership
75 /// General settings widget. MainWindow has the ownership
76 SqpSettingsGeneralWidget* m_GeneralSettingsWidget;
76 SqpSettingsGeneralWidget* m_GeneralSettingsWidget;
77 /// Settings dialog. MainWindow has the ownership
77 /// Settings dialog. MainWindow has the ownership
78 SqpSettingsDialog* m_SettingsDialog;
78 SqpSettingsDialog* m_SettingsDialog;
79 /// Catalogue dialog. MainWindow has the ownership
79 /// Catalogue dialog. MainWindow has the ownership
80 // CatalogueExplorer* m_CatalogExplorer;
80 // CatalogueExplorer* m_CatalogExplorer;
81
81
82 bool checkDataToSave(QWidget* parentWidget);
82 bool checkDataToSave(QWidget* parentWidget);
83 };
83 };
84
84
85 MainWindow::MainWindow(QWidget* parent)
85 MainWindow::MainWindow(QWidget* parent)
86 : QMainWindow { parent }
86 : QMainWindow { parent }
87 , m_Ui { new Ui::MainWindow }
87 , m_Ui { new Ui::MainWindow }
88 , impl { spimpl::make_unique_impl<MainWindowPrivate>(this) }
88 , impl { spimpl::make_unique_impl<MainWindowPrivate>(this) }
89 {
89 {
90 m_Ui->setupUi(this);
90 m_Ui->setupUi(this);
91
91
92 m_Ui->splitter->setCollapsible(LEFTINSPECTORSIDEPANESPLITTERINDEX, false);
92 m_Ui->splitter->setCollapsible(LEFTINSPECTORSIDEPANESPLITTERINDEX, false);
93 m_Ui->splitter->setCollapsible(RIGHTINSPECTORSIDEPANESPLITTERINDEX, false);
93 m_Ui->splitter->setCollapsible(RIGHTINSPECTORSIDEPANESPLITTERINDEX, false);
94
94
95 // impl->m_CatalogExplorer->setVisualizationWidget(m_Ui->view);
95 // impl->m_CatalogExplorer->setVisualizationWidget(m_Ui->view);
96
96
97
97
98 auto spacerLeftTop = new QWidget {};
98 auto spacerLeftTop = new QWidget {};
99 spacerLeftTop->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
99 spacerLeftTop->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
100
100
101 auto spacerLeftBottom = new QWidget {};
101 auto spacerLeftBottom = new QWidget {};
102 spacerLeftBottom->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
102 spacerLeftBottom->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
103
103
104
104
105 auto spacerRightTop = new QWidget {};
105 auto spacerRightTop = new QWidget {};
106 spacerRightTop->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
106 spacerRightTop->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
107
107
108 auto spacerRightBottom = new QWidget {};
108 auto spacerRightBottom = new QWidget {};
109 spacerRightBottom->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
109 spacerRightBottom->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
110
110
111
111
112 auto openInspector = [this](bool checked, bool right, auto action) {
112 auto openInspector = [this](bool checked, bool right, auto action) {
113 action->setIcon(
113 action->setIcon(
114 QIcon { (checked ^ right) ? ":/icones/next.png" : ":/icones/previous.png" });
114 QIcon { (checked ^ right) ? ":/icones/next.png" : ":/icones/previous.png" });
115
115
116 auto& lastInspectorSize
116 auto& lastInspectorSize
117 = right ? impl->m_LastOpenRightInspectorSize : impl->m_LastOpenLeftInspectorSize;
117 = right ? impl->m_LastOpenRightInspectorSize : impl->m_LastOpenLeftInspectorSize;
118
118
119 auto nextInspectorSize = right ? m_Ui->rightMainInspectorWidget->size()
119 auto nextInspectorSize = right ? m_Ui->rightMainInspectorWidget->size()
120 : m_Ui->leftMainInspectorWidget->size();
120 : m_Ui->leftMainInspectorWidget->size();
121
121
122 // Update of the last opened geometry
122 // Update of the last opened geometry
123 if (checked)
123 if (checked)
124 {
124 {
125 lastInspectorSize = nextInspectorSize;
125 lastInspectorSize = nextInspectorSize;
126 }
126 }
127
127
128 auto startSize = lastInspectorSize;
128 auto startSize = lastInspectorSize;
129 auto endSize = startSize;
129 auto endSize = startSize;
130 endSize.setWidth(0);
130 endSize.setWidth(0);
131
131
132 auto splitterInspectorIndex
132 auto splitterInspectorIndex
133 = right ? RIGHTMAININSPECTORWIDGETSPLITTERINDEX : LEFTMAININSPECTORWIDGETSPLITTERINDEX;
133 = right ? RIGHTMAININSPECTORWIDGETSPLITTERINDEX : LEFTMAININSPECTORWIDGETSPLITTERINDEX;
134
134
135 auto currentSizes = m_Ui->splitter->sizes();
135 auto currentSizes = m_Ui->splitter->sizes();
136 if (checked)
136 if (checked)
137 {
137 {
138 // adjust sizes individually here, e.g.
138 // adjust sizes individually here, e.g.
139 currentSizes[splitterInspectorIndex] -= lastInspectorSize.width();
139 currentSizes[splitterInspectorIndex] -= lastInspectorSize.width();
140 currentSizes[VIEWPLITTERINDEX] += lastInspectorSize.width();
140 currentSizes[VIEWPLITTERINDEX] += lastInspectorSize.width();
141 m_Ui->splitter->setSizes(currentSizes);
141 m_Ui->splitter->setSizes(currentSizes);
142 }
142 }
143 else
143 else
144 {
144 {
145 // adjust sizes individually here, e.g.
145 // adjust sizes individually here, e.g.
146 currentSizes[splitterInspectorIndex] += lastInspectorSize.width();
146 currentSizes[splitterInspectorIndex] += lastInspectorSize.width();
147 currentSizes[VIEWPLITTERINDEX] -= lastInspectorSize.width();
147 currentSizes[VIEWPLITTERINDEX] -= lastInspectorSize.width();
148 m_Ui->splitter->setSizes(currentSizes);
148 m_Ui->splitter->setSizes(currentSizes);
149 }
149 }
150 };
150 };
151
151
152
152
153 // //////////////// //
153 // //////////////// //
154 // Menu and Toolbar //
154 // Menu and Toolbar //
155 // //////////////// //
155 // //////////////// //
156 this->menuBar()->addAction(tr("File"));
156 this->menuBar()->addAction(tr("File"));
157 auto toolsMenu = this->menuBar()->addMenu(tr("Tools"));
157 auto toolsMenu = this->menuBar()->addMenu(tr("Tools"));
158 toolsMenu->addAction(tr("Settings..."), [this]() {
158 toolsMenu->addAction(tr("Settings..."), [this]() {
159 // Loads settings
159 // Loads settings
160 impl->m_SettingsDialog->loadSettings();
160 impl->m_SettingsDialog->loadSettings();
161
161
162 // Open settings dialog and save settings if the dialog is accepted
162 // Open settings dialog and save settings if the dialog is accepted
163 if (impl->m_SettingsDialog->exec() == QDialog::Accepted)
163 if (impl->m_SettingsDialog->exec() == QDialog::Accepted)
164 {
164 {
165 impl->m_SettingsDialog->saveSettings();
165 impl->m_SettingsDialog->saveSettings();
166 }
166 }
167 });
167 });
168
168
169 auto mainToolBar = this->addToolBar(QStringLiteral("MainToolBar"));
169 auto mainToolBar = this->addToolBar(QStringLiteral("MainToolBar"));
170
170
171 auto timeWidget = new TimeWidget {};
171 auto timeWidget = new TimeWidget {};
172 mainToolBar->addWidget(timeWidget);
172 mainToolBar->addWidget(timeWidget);
173
173
174 // Interaction modes
174 // Interaction modes
175 auto actionPointerMode = new QAction { QIcon(":/icones/pointer.png"), "Move", this };
175 auto actionPointerMode = new QAction { QIcon(":/icones/pointer.png"), "Move", this };
176 actionPointerMode->setCheckable(true);
176 actionPointerMode->setCheckable(true);
177 actionPointerMode->setChecked(
177 actionPointerMode->setChecked(
178 sqpApp->plotsInteractionMode() == SqpApplication::PlotsInteractionMode::None);
178 sqpApp->plotsInteractionMode() == SqpApplication::PlotsInteractionMode::None);
179 connect(actionPointerMode, &QAction::triggered,
179 connect(actionPointerMode, &QAction::triggered,
180 []() { sqpApp->setPlotsInteractionMode(SqpApplication::PlotsInteractionMode::None); });
180 []() { sqpApp->setPlotsInteractionMode(SqpApplication::PlotsInteractionMode::None); });
181
181
182 auto actionZoomMode = new QAction { QIcon(":/icones/zoom.png"), "Zoom", this };
182 auto actionZoomMode = new QAction { QIcon(":/icones/zoom.png"), "Zoom", this };
183 actionZoomMode->setCheckable(true);
183 actionZoomMode->setCheckable(true);
184 actionZoomMode->setChecked(
184 actionZoomMode->setChecked(
185 sqpApp->plotsInteractionMode() == SqpApplication::PlotsInteractionMode::ZoomBox);
185 sqpApp->plotsInteractionMode() == SqpApplication::PlotsInteractionMode::ZoomBox);
186 connect(actionZoomMode, &QAction::triggered,
186 connect(actionZoomMode, &QAction::triggered,
187 []() { sqpApp->setPlotsInteractionMode(SqpApplication::PlotsInteractionMode::ZoomBox); });
187 []() { sqpApp->setPlotsInteractionMode(SqpApplication::PlotsInteractionMode::ZoomBox); });
188
188
189 auto actionOrganisationMode = new QAction { QIcon(":/icones/drag.png"), "Organize", this };
189 auto actionOrganisationMode = new QAction { QIcon(":/icones/drag.png"), "Organize", this };
190 actionOrganisationMode->setCheckable(true);
190 actionOrganisationMode->setCheckable(true);
191 actionOrganisationMode->setChecked(
191 actionOrganisationMode->setChecked(
192 sqpApp->plotsInteractionMode() == SqpApplication::PlotsInteractionMode::DragAndDrop);
192 sqpApp->plotsInteractionMode() == SqpApplication::PlotsInteractionMode::DragAndDrop);
193 connect(actionOrganisationMode, &QAction::triggered, []() {
193 connect(actionOrganisationMode, &QAction::triggered, []() {
194 sqpApp->setPlotsInteractionMode(SqpApplication::PlotsInteractionMode::DragAndDrop);
194 sqpApp->setPlotsInteractionMode(SqpApplication::PlotsInteractionMode::DragAndDrop);
195 });
195 });
196
196
197 auto actionZonesMode = new QAction { QIcon(":/icones/rectangle.png"), "Zones", this };
197 auto actionZonesMode = new QAction { QIcon(":/icones/rectangle.png"), "Zones", this };
198 actionZonesMode->setCheckable(true);
198 actionZonesMode->setCheckable(true);
199 actionZonesMode->setChecked(
199 actionZonesMode->setChecked(
200 sqpApp->plotsInteractionMode() == SqpApplication::PlotsInteractionMode::SelectionZones);
200 sqpApp->plotsInteractionMode() == SqpApplication::PlotsInteractionMode::SelectionZones);
201 connect(actionZonesMode, &QAction::triggered, []() {
201 connect(actionZonesMode, &QAction::triggered, []() {
202 sqpApp->setPlotsInteractionMode(SqpApplication::PlotsInteractionMode::SelectionZones);
202 sqpApp->setPlotsInteractionMode(SqpApplication::PlotsInteractionMode::SelectionZones);
203 });
203 });
204
204
205 auto modeActionGroup = new QActionGroup { this };
205 auto modeActionGroup = new QActionGroup { this };
206 modeActionGroup->addAction(actionZoomMode);
206 modeActionGroup->addAction(actionZoomMode);
207 modeActionGroup->addAction(actionZonesMode);
207 modeActionGroup->addAction(actionZonesMode);
208 modeActionGroup->addAction(actionOrganisationMode);
208 modeActionGroup->addAction(actionOrganisationMode);
209 modeActionGroup->addAction(actionPointerMode);
209 modeActionGroup->addAction(actionPointerMode);
210 modeActionGroup->setExclusive(true);
210 modeActionGroup->setExclusive(true);
211
211
212 mainToolBar->addSeparator();
212 mainToolBar->addSeparator();
213 mainToolBar->addAction(actionPointerMode);
213 mainToolBar->addAction(actionPointerMode);
214 mainToolBar->addAction(actionZoomMode);
214 mainToolBar->addAction(actionZoomMode);
215 mainToolBar->addAction(actionOrganisationMode);
215 mainToolBar->addAction(actionOrganisationMode);
216 mainToolBar->addAction(actionZonesMode);
216 mainToolBar->addAction(actionZonesMode);
217 mainToolBar->addSeparator();
217 mainToolBar->addSeparator();
218
218
219 // Cursors
219 // Cursors
220 auto btnCursor = new QToolButton { this };
220 auto btnCursor = new QToolButton { this };
221 btnCursor->setIcon(QIcon(":/icones/cursor.png"));
221 btnCursor->setIcon(QIcon(":/icones/cursor.png"));
222 btnCursor->setText("Cursor");
222 btnCursor->setText("Cursor");
223 btnCursor->setToolTip("Cursor");
223 btnCursor->setToolTip("Cursor");
224 btnCursor->setPopupMode(QToolButton::InstantPopup);
224 btnCursor->setPopupMode(QToolButton::InstantPopup);
225 auto cursorMenu = new QMenu("CursorMenu", this);
225 auto cursorMenu = new QMenu("CursorMenu", this);
226 btnCursor->setMenu(cursorMenu);
226 btnCursor->setMenu(cursorMenu);
227
227
228 auto noCursorAction = cursorMenu->addAction("No Cursor");
228 auto noCursorAction = cursorMenu->addAction("No Cursor");
229 noCursorAction->setCheckable(true);
229 noCursorAction->setCheckable(true);
230 noCursorAction->setChecked(
230 noCursorAction->setChecked(
231 sqpApp->plotsCursorMode() == SqpApplication::PlotsCursorMode::NoCursor);
231 sqpApp->plotsCursorMode() == SqpApplication::PlotsCursorMode::NoCursor);
232 connect(noCursorAction, &QAction::triggered,
232 connect(noCursorAction, &QAction::triggered,
233 []() { sqpApp->setPlotsCursorMode(SqpApplication::PlotsCursorMode::NoCursor); });
233 []() { sqpApp->setPlotsCursorMode(SqpApplication::PlotsCursorMode::NoCursor); });
234
234
235 cursorMenu->addSeparator();
235 cursorMenu->addSeparator();
236 auto verticalCursorAction = cursorMenu->addAction("Vertical Cursor");
236 auto verticalCursorAction = cursorMenu->addAction("Vertical Cursor");
237 verticalCursorAction->setCheckable(true);
237 verticalCursorAction->setCheckable(true);
238 verticalCursorAction->setChecked(
238 verticalCursorAction->setChecked(
239 sqpApp->plotsCursorMode() == SqpApplication::PlotsCursorMode::Vertical);
239 sqpApp->plotsCursorMode() == SqpApplication::PlotsCursorMode::Vertical);
240 connect(verticalCursorAction, &QAction::triggered,
240 connect(verticalCursorAction, &QAction::triggered,
241 []() { sqpApp->setPlotsCursorMode(SqpApplication::PlotsCursorMode::Vertical); });
241 []() { sqpApp->setPlotsCursorMode(SqpApplication::PlotsCursorMode::Vertical); });
242
242
243 auto temporalCursorAction = cursorMenu->addAction("Temporal Cursor");
243 auto temporalCursorAction = cursorMenu->addAction("Temporal Cursor");
244 temporalCursorAction->setCheckable(true);
244 temporalCursorAction->setCheckable(true);
245 temporalCursorAction->setChecked(
245 temporalCursorAction->setChecked(
246 sqpApp->plotsCursorMode() == SqpApplication::PlotsCursorMode::Temporal);
246 sqpApp->plotsCursorMode() == SqpApplication::PlotsCursorMode::Temporal);
247 connect(temporalCursorAction, &QAction::triggered,
247 connect(temporalCursorAction, &QAction::triggered,
248 []() { sqpApp->setPlotsCursorMode(SqpApplication::PlotsCursorMode::Temporal); });
248 []() { sqpApp->setPlotsCursorMode(SqpApplication::PlotsCursorMode::Temporal); });
249
249
250 auto horizontalCursorAction = cursorMenu->addAction("Horizontal Cursor");
250 auto horizontalCursorAction = cursorMenu->addAction("Horizontal Cursor");
251 horizontalCursorAction->setCheckable(true);
251 horizontalCursorAction->setCheckable(true);
252 horizontalCursorAction->setChecked(
252 horizontalCursorAction->setChecked(
253 sqpApp->plotsCursorMode() == SqpApplication::PlotsCursorMode::Horizontal);
253 sqpApp->plotsCursorMode() == SqpApplication::PlotsCursorMode::Horizontal);
254 connect(horizontalCursorAction, &QAction::triggered,
254 connect(horizontalCursorAction, &QAction::triggered,
255 []() { sqpApp->setPlotsCursorMode(SqpApplication::PlotsCursorMode::Horizontal); });
255 []() { sqpApp->setPlotsCursorMode(SqpApplication::PlotsCursorMode::Horizontal); });
256
256
257 auto crossCursorAction = cursorMenu->addAction("Cross Cursor");
257 auto crossCursorAction = cursorMenu->addAction("Cross Cursor");
258 crossCursorAction->setCheckable(true);
258 crossCursorAction->setCheckable(true);
259 crossCursorAction->setChecked(
259 crossCursorAction->setChecked(
260 sqpApp->plotsCursorMode() == SqpApplication::PlotsCursorMode::Cross);
260 sqpApp->plotsCursorMode() == SqpApplication::PlotsCursorMode::Cross);
261 connect(crossCursorAction, &QAction::triggered,
261 connect(crossCursorAction, &QAction::triggered,
262 []() { sqpApp->setPlotsCursorMode(SqpApplication::PlotsCursorMode::Cross); });
262 []() { sqpApp->setPlotsCursorMode(SqpApplication::PlotsCursorMode::Cross); });
263
263
264 mainToolBar->addWidget(btnCursor);
264 mainToolBar->addWidget(btnCursor);
265
265
266 auto cursorModeActionGroup = new QActionGroup { this };
266 auto cursorModeActionGroup = new QActionGroup { this };
267 cursorModeActionGroup->setExclusive(true);
267 cursorModeActionGroup->setExclusive(true);
268 cursorModeActionGroup->addAction(noCursorAction);
268 cursorModeActionGroup->addAction(noCursorAction);
269 cursorModeActionGroup->addAction(verticalCursorAction);
269 cursorModeActionGroup->addAction(verticalCursorAction);
270 cursorModeActionGroup->addAction(temporalCursorAction);
270 cursorModeActionGroup->addAction(temporalCursorAction);
271 cursorModeActionGroup->addAction(horizontalCursorAction);
271 cursorModeActionGroup->addAction(horizontalCursorAction);
272 cursorModeActionGroup->addAction(crossCursorAction);
272 cursorModeActionGroup->addAction(crossCursorAction);
273
273
274 // Catalog
274 // Catalog
275 mainToolBar->addSeparator();
275 mainToolBar->addSeparator();
276 // mainToolBar->addAction(QIcon(":/icones/catalogue.png"), "Catalogues",
276 // mainToolBar->addAction(QIcon(":/icones/catalogue.png"), "Catalogues",
277 // [this]() { impl->m_CatalogExplorer->show(); });
277 // [this]() { impl->m_CatalogExplorer->show(); });
278
278
279 // //////// //
279 // //////// //
280 // Settings //
280 // Settings //
281 // //////// //
281 // //////// //
282
282
283 // Registers "general settings" widget to the settings dialog
283 // Registers "general settings" widget to the settings dialog
284 impl->m_SettingsDialog->registerWidget(
284 impl->m_SettingsDialog->registerWidget(
285 QStringLiteral("General"), impl->m_GeneralSettingsWidget);
285 QStringLiteral("General"), impl->m_GeneralSettingsWidget);
286
286
287 // /////////// //
287 // /////////// //
288 // Connections //
288 // Connections //
289 // /////////// //
289 // /////////// //
290
290
291 // Controllers / controllers connections
291 // Controllers / controllers connections
292 // connect(&sqpApp->timeController(), SIGNAL(timeUpdated(DateTimeRange)),
292 // connect(&sqpApp->timeController(), SIGNAL(timeUpdated(DateTimeRange)),
293 // &sqpApp->variableController(),
293 // &sqpApp->variableController(),
294 // SLOT(onDateTimeOnSelection(DateTimeRange)));
294 // SLOT(onDateTimeOnSelection(DateTimeRange)));
295
295
296 // Widgets / controllers connections
296 // Widgets / controllers connections
297
297
298 // DataSource
298 // DataSource
299 connect(&sqpApp->dataSourceController(), SIGNAL(dataSourceItemSet(DataSourceItem*)),
299 connect(&sqpApp->dataSourceController(), SIGNAL(dataSourceItemSet(DataSourceItem*)),
300 m_Ui->dataSourceWidget, SLOT(addDataSource(DataSourceItem*)));
300 m_Ui->dataSourceWidget, SLOT(addDataSource(DataSourceItem*)));
301
301
302 // Time
302 // Time
303 connect(timeWidget, SIGNAL(timeUpdated(DateTimeRange)), &sqpApp->timeController(),
303 connect(timeWidget, SIGNAL(timeUpdated(DateTimeRange)), &sqpApp->timeController(),
304 SLOT(onTimeToUpdate(DateTimeRange)));
304 SLOT(onTimeToUpdate(DateTimeRange)));
305
305
306 // Visualization
306 // Visualization
307 connect(&sqpApp->visualizationController(),
307 connect(&sqpApp->visualizationController(),
308 SIGNAL(variableAboutToBeDeleted(std::shared_ptr<Variable>)), m_Ui->view,
308 SIGNAL(variableAboutToBeDeleted(std::shared_ptr<Variable>)), m_Ui->view,
309 SLOT(onVariableAboutToBeDeleted(std::shared_ptr<Variable>)));
309 SLOT(onVariableAboutToBeDeleted(std::shared_ptr<Variable>)));
310
310
311 connect(&sqpApp->visualizationController(),
311 connect(&sqpApp->visualizationController(),
312 SIGNAL(rangeChanged(std::shared_ptr<Variable>, const DateTimeRange&)), m_Ui->view,
312 SIGNAL(rangeChanged(std::shared_ptr<Variable>, const DateTimeRange&)), m_Ui->view,
313 SLOT(onRangeChanged(std::shared_ptr<Variable>, const DateTimeRange&)));
313 SLOT(onRangeChanged(std::shared_ptr<Variable>, const DateTimeRange&)));
314
314
315 // Widgets / widgets connections
315 // Widgets / widgets connections
316
316
317 // For the following connections, we use DirectConnection to allow each widget that can
317 // For the following connections, we use DirectConnection to allow each widget that can
318 // potentially attach a menu to the variable's menu to do so before this menu is displayed.
318 // potentially attach a menu to the variable's menu to do so before this menu is displayed.
319 // The order of connections is also important, since it determines the order in which each
319 // The order of connections is also important, since it determines the order in which each
320 // widget will attach its menu
320 // widget will attach its menu
321 connect(m_Ui->variableInspectorWidget,
321 connect(m_Ui->variableInspectorWidget,
322 SIGNAL(tableMenuAboutToBeDisplayed(QMenu*, const QVector<std::shared_ptr<Variable>>&)),
322 SIGNAL(tableMenuAboutToBeDisplayed(QMenu*, const QVector<std::shared_ptr<Variable>>&)),
323 m_Ui->view, SLOT(attachVariableMenu(QMenu*, const QVector<std::shared_ptr<Variable>>&)),
323 m_Ui->view, SLOT(attachVariableMenu(QMenu*, const QVector<std::shared_ptr<Variable>>&)),
324 Qt::DirectConnection);
324 Qt::DirectConnection);
325 }
325 }
326
326
327 MainWindow::~MainWindow() {}
327 MainWindow::~MainWindow() {}
328
328
329 void MainWindow::changeEvent(QEvent* e)
329 void MainWindow::changeEvent(QEvent* e)
330 {
330 {
331 QMainWindow::changeEvent(e);
331 QMainWindow::changeEvent(e);
332 switch (e->type())
332 switch (e->type())
333 {
333 {
334 case QEvent::LanguageChange:
334 case QEvent::LanguageChange:
335 m_Ui->retranslateUi(this);
335 m_Ui->retranslateUi(this);
336 break;
336 break;
337 default:
337 default:
338 break;
338 break;
339 }
339 }
340 }
340 }
341
341
342 void MainWindow::closeEvent(QCloseEvent* event)
342 void MainWindow::closeEvent(QCloseEvent* event)
343 {
343 {
344 if (!impl->checkDataToSave(this))
344 if (!impl->checkDataToSave(this))
345 {
345 {
346 event->ignore();
346 event->ignore();
347 }
347 }
348 else
348 else
349 {
349 {
350 event->accept();
350 event->accept();
351 }
351 }
352 }
352 }
353
353
354 void MainWindow::keyPressEvent(QKeyEvent* event)
354 void MainWindow::keyPressEvent(QKeyEvent* event)
355 {
355 {
356 switch (event->key())
356 switch (event->key())
357 {
357 {
358 case Qt::Key_F11:
358 case Qt::Key_F11:
359 if (this->isFullScreen())
359 if (this->isFullScreen())
360 {
360 {
361 this->showNormal();
361 this->showNormal();
362 }
362 }
363 else
363 else
364 {
364 {
365 this->showFullScreen();
365 this->showFullScreen();
366 }
366 }
367 break;
367 break;
368 default:
368 default:
369 break;
369 break;
370 }
370 }
371 }
371 }
372
372
373 bool MainWindow::MainWindowPrivate::checkDataToSave(QWidget* parentWidget)
373 bool MainWindow::MainWindowPrivate::checkDataToSave(QWidget* parentWidget)
374 {
374 {
375 // auto hasChanges = sqpApp->catalogueController().hasChanges();
375 // auto hasChanges = sqpApp->catalogueController().hasChanges();
376 // if (hasChanges)
376 // if (hasChanges)
377 // {
377 // {
378 // // There are some unsaved changes
378 // // There are some unsaved changes
379 // switch (QMessageBox::question(parentWidget, tr("Save changes"),
379 // switch (QMessageBox::question(parentWidget, tr("Save changes"),
380 // tr("The catalogue controller has unsaved changes.\nDo you want to save them ?"),
380 // tr("The catalogue controller has unsaved changes.\nDo you want to save them ?"),
381 // QMessageBox::SaveAll | QMessageBox::Discard | QMessageBox::Cancel,
381 // QMessageBox::SaveAll | QMessageBox::Discard | QMessageBox::Cancel,
382 // QMessageBox::SaveAll))
382 // QMessageBox::SaveAll))
383 // {
383 // {
384 // case QMessageBox::SaveAll:
384 // case QMessageBox::SaveAll:
385 // sqpApp->catalogueController().saveAll();
385 // sqpApp->catalogueController().saveAll();
386 // break;
386 // break;
387 // case QMessageBox::Discard:
387 // case QMessageBox::Discard:
388 // break;
388 // break;
389 // case QMessageBox::Cancel:
389 // case QMessageBox::Cancel:
390 // default:
390 // default:
391 // return false;
391 // return false;
392 // }
392 // }
393 // }
393 // }
394
394
395 return true;
395 return true;
396 }
396 }
@@ -1,1 +1,1
1 Subproject commit 0093c733b640e07ebeaf204c1ed1279db095aa9f
1 Subproject commit 24f31ec545d2e177fc2212ecdb457e01533b6fbb
@@ -1,145 +1,168
1
1
2 gui_moc_headers = [
2 gui_moc_headers = [
3 'include/DataSource/DataSourceWidget.h',
3 './include/Common/VisualizationDef.h',
4 'include/Settings/SqpSettingsDialog.h',
4 './include/Common/ColorUtils.h',
5 'include/Settings/SqpSettingsGeneralWidget.h',
5 './include/DragAndDrop/DragDropGuiController.h',
6 'include/SidePane/SqpSidePane.h',
6 './include/DragAndDrop/DragDropTabSwitcher.h',
7 'include/SqpApplication.h',
7 './include/DragAndDrop/DragDropScroller.h',
8 'include/DragAndDrop/DragDropScroller.h',
8 './include/Settings/SqpSettingsDialog.h',
9 'include/DragAndDrop/DragDropTabSwitcher.h',
9 './include/Settings/SqpSettingsGeneralWidget.h',
10 'include/TimeWidget/TimeWidget.h',
10 './include/DataSource/DataSourceTreeWidgetHelper.h',
11 'include/Variable/VariableInspectorWidget.h',
11 './include/DataSource/DataSourceTreeWidget.h',
12 'include/Variable/RenameVariableDialog.h',
12 './include/DataSource/DataSourceTreeWidgetItem.h',
13 'include/Visualization/qcustomplot.h',
13 './include/DataSource/DataSourceWidget.h',
14 'include/Visualization/VisualizationGraphWidget.h',
14 './include/Catalogue2/repositoriestreeview.h',
15 'include/Visualization/VisualizationTabWidget.h',
15 './include/Catalogue2/browser.h',
16 'include/Visualization/VisualizationWidget.h',
16 './include/Catalogue2/eventeditor.h',
17 'include/Visualization/VisualizationZoneWidget.h',
17 './include/Catalogue2/eventsmodel.h',
18 'include/Visualization/VisualizationDragDropContainer.h',
18 './include/Catalogue2/eventstreeview.h',
19 'include/Visualization/VisualizationDragWidget.h',
19 './include/Catalogue2/repositoriesmodel.h',
20 'include/Visualization/ColorScaleEditor.h',
20 './include/TimeWidget/TimeWidget.h',
21 'include/Visualization/VisualizationSelectionZoneItem.h',
21 './include/SqpApplication.h',
22 'include/Actions/SelectionZoneAction.h',
22 './include/SidePane/SqpSidePane.h',
23 'include/Visualization/VisualizationMultiZoneSelectionDialog.h',
23 './include/Variable/RenameVariableDialog.h',
24 'include/Catalogue/CatalogueExplorer.h',
24 './include/Variable/VariableInspectorWidget.h',
25 'include/Catalogue/CatalogueEventsWidget.h',
25 './include/Variable/VariableInspectorTableView.h',
26 'include/Catalogue/CatalogueSideBarWidget.h',
26 './include/Variable/VariableMenuHeaderWidget.h',
27 'include/Catalogue/CatalogueInspectorWidget.h',
27 './include/Visualization/VisualizationDragWidget.h',
28 'include/Catalogue/CatalogueEventsModel.h',
28 './include/Visualization/VisualizationZoneWidget.h',
29 'include/Catalogue/CatalogueTreeModel.h',
29 './include/Visualization/operations/GenerateVariableMenuOperation.h',
30 'include/Actions/FilteringAction.h'
30 './include/Visualization/operations/RescaleAxeOperation.h',
31 './include/Visualization/operations/RemoveVariableOperation.h',
32 './include/Visualization/operations/MenuBuilder.h',
33 './include/Visualization/operations/FindVariableOperation.h',
34 './include/Visualization/VisualizationDefs.h',
35 './include/Visualization/IVisualizationWidgetVisitor.h',
36 './include/Visualization/SqpColorScale.h',
37 './include/Visualization/VisualizationGraphRenderingDelegate.h',
38 './include/Visualization/VisualizationGraphWidget.h',
39 './include/Visualization/MacScrollBarStyle.h',
40 './include/Visualization/IVisualizationWidget.h',
41 './include/Visualization/qcustomplot.h',
42 './include/Visualization/IGraphSynchronizer.h',
43 './include/Visualization/QCPColorMapIterator.h',
44 './include/Visualization/VisualizationActionManager.h',
45 './include/Visualization/VisualizationTabWidget.h',
46 './include/Visualization/IVariableContainer.h',
47 './include/Visualization/AxisRenderingUtils.h',
48 './include/Visualization/VisualizationMultiZoneSelectionDialog.h',
49 './include/Visualization/VisualizationCursorItem.h',
50 './include/Visualization/VisualizationWidget.h',
51 './include/Visualization/PlottablesRenderingUtils.h',
52 './include/Visualization/VisualizationSelectionZoneManager.h',
53 './include/Visualization/QCustomPlotSynchronizer.h',
54 './include/Visualization/VisualizationSelectionZoneItem.h',
55 './include/Visualization/VisualizationDragDropContainer.h',
56 './include/Visualization/ColorScaleEditor.h',
57 './include/Visualization/VisualizationGraphHelper.h',
58 './include/Actions/ActionsGuiController.h',
59 './include/Actions/FilteringAction.h',
60 './include/Actions/SelectionZoneAction.h'
31 ]
61 ]
32
62
33 gui_ui_files = [
63 gui_ui_files = [
34 'ui/DataSource/DataSourceWidget.ui',
64 './ui/Settings/SqpSettingsGeneralWidget.ui',
35 'ui/Settings/SqpSettingsDialog.ui',
65 './ui/Settings/SqpSettingsDialog.ui',
36 'ui/Settings/SqpSettingsGeneralWidget.ui',
66 './ui/DataSource/DataSourceWidget.ui',
37 'ui/SidePane/SqpSidePane.ui',
67 './ui/Catalogue2/browser.ui',
38 'ui/TimeWidget/TimeWidget.ui',
68 './ui/Catalogue2/eventeditor.ui',
39 'ui/Variable/VariableInspectorWidget.ui',
69 './ui/TimeWidget/TimeWidget.ui',
40 'ui/Variable/RenameVariableDialog.ui',
70 './ui/SidePane/SqpSidePane.ui',
41 'ui/Variable/VariableMenuHeaderWidget.ui',
71 './ui/Variable/RenameVariableDialog.ui',
42 'ui/Visualization/VisualizationGraphWidget.ui',
72 './ui/Variable/VariableInspectorWidget.ui',
43 'ui/Visualization/VisualizationTabWidget.ui',
73 './ui/Variable/VariableMenuHeaderWidget.ui',
44 'ui/Visualization/VisualizationWidget.ui',
74 './ui/Visualization/ColorScaleEditor.ui',
45 'ui/Visualization/VisualizationZoneWidget.ui',
75 './ui/Visualization/VisualizationZoneWidget.ui',
46 'ui/Visualization/ColorScaleEditor.ui',
76 './ui/Visualization/VisualizationMultiZoneSelectionDialog.ui',
47 'ui/Visualization/VisualizationMultiZoneSelectionDialog.ui',
77 './ui/Visualization/VisualizationGraphWidget.ui',
48 'ui/Catalogue/CatalogueExplorer.ui',
78 './ui/Visualization/VisualizationWidget.ui',
49 'ui/Catalogue/CatalogueEventsWidget.ui',
79 './ui/Visualization/VisualizationTabWidget.ui'
50 'ui/Catalogue/CatalogueSideBarWidget.ui',
51 'ui/Catalogue/CatalogueInspectorWidget.ui'
52 ]
80 ]
53
81
54 gui_qresources = ['resources/sqpguiresources.qrc']
82 gui_qresources = ['resources/sqpguiresources.qrc']
55
83
56 rcc_gen = generator(rcc,
84 rcc_gen = generator(rcc,
57 output : 'qrc_@BASENAME@.cpp',
85 output : 'qrc_@BASENAME@.cpp',
58 arguments : [
86 arguments : [
59 '--output',
87 '--output',
60 '@OUTPUT@',
88 '@OUTPUT@',
61 '@INPUT@',
89 '@INPUT@',
62 '@EXTRA_ARGS@'])
90 '@EXTRA_ARGS@'])
63
91
64 rcc_files = rcc_gen.process(gui_qresources, extra_args : ['-name', 'sqpguiresources'])
92 rcc_files = rcc_gen.process(gui_qresources, extra_args : ['-name', 'sqpguiresources'])
65
93
66 gui_moc_files = qt5.preprocess(moc_headers : gui_moc_headers,
94 gui_moc_files = qt5.preprocess(moc_headers : gui_moc_headers,
67 ui_files : gui_ui_files)
95 ui_files : gui_ui_files)
68
96
69 gui_sources = [
97 gui_sources = [
70 'src/SqpApplication.cpp',
98 './src/Common/ColorUtils.cpp',
71 'src/DragAndDrop/DragDropGuiController.cpp',
99 './src/Common/VisualizationDef.cpp',
72 'src/DragAndDrop/DragDropScroller.cpp',
100 './src/SqpApplication.cpp',
73 'src/DragAndDrop/DragDropTabSwitcher.cpp',
101 './src/DragAndDrop/DragDropTabSwitcher.cpp',
74 'src/Common/ColorUtils.cpp',
102 './src/DragAndDrop/DragDropScroller.cpp',
75 'src/Common/VisualizationDef.cpp',
103 './src/DragAndDrop/DragDropGuiController.cpp',
76 'src/DataSource/DataSourceTreeWidgetItem.cpp',
104 './src/Settings/SqpSettingsGeneralWidget.cpp',
77 'src/DataSource/DataSourceTreeWidgetHelper.cpp',
105 './src/Settings/SqpSettingsDialog.cpp',
78 'src/DataSource/DataSourceWidget.cpp',
106 './src/DataSource/DataSourceTreeWidgetItem.cpp',
79 'src/DataSource/DataSourceTreeWidget.cpp',
107 './src/DataSource/DataSourceTreeWidgetHelper.cpp',
80 'src/Settings/SqpSettingsDialog.cpp',
108 './src/DataSource/DataSourceWidget.cpp',
81 'src/Settings/SqpSettingsGeneralWidget.cpp',
109 './src/DataSource/DataSourceTreeWidget.cpp',
82 'src/SidePane/SqpSidePane.cpp',
110 './src/Catalogue2/eventstreeview.cpp',
83 'src/TimeWidget/TimeWidget.cpp',
111 './src/Catalogue2/eventeditor.cpp',
84 'src/Variable/VariableInspectorWidget.cpp',
112 './src/Catalogue2/repositoriestreeview.cpp',
85 'src/Variable/VariableInspectorTableView.cpp',
113 './src/Catalogue2/browser.cpp',
86 'src/Variable/VariableMenuHeaderWidget.cpp',
114 './src/Catalogue2/eventsmodel.cpp',
87 'src/Variable/RenameVariableDialog.cpp',
115 './src/Catalogue2/repositoriesmodel.cpp',
88 'src/Visualization/VisualizationGraphHelper.cpp',
116 './src/TimeWidget/TimeWidget.cpp',
89 'src/Visualization/VisualizationGraphRenderingDelegate.cpp',
117 './src/SidePane/SqpSidePane.cpp',
90 'src/Visualization/VisualizationGraphWidget.cpp',
118 './src/Variable/VariableInspectorTableView.cpp',
91 'src/Visualization/VisualizationTabWidget.cpp',
119 './src/Variable/VariableInspectorWidget.cpp',
92 'src/Visualization/VisualizationWidget.cpp',
120 './src/Variable/RenameVariableDialog.cpp',
93 'src/Visualization/VisualizationZoneWidget.cpp',
121 './src/Variable/VariableMenuHeaderWidget.cpp',
94 'src/Visualization/qcustomplot.cpp',
122 './src/Visualization/VisualizationGraphWidget.cpp',
95 'src/Visualization/QCustomPlotSynchronizer.cpp',
123 './src/Visualization/PlottablesRenderingUtils.cpp',
96 'src/Visualization/operations/FindVariableOperation.cpp',
124 './src/Visualization/AxisRenderingUtils.cpp',
97 'src/Visualization/operations/GenerateVariableMenuOperation.cpp',
125 './src/Visualization/VisualizationWidget.cpp',
98 'src/Visualization/operations/MenuBuilder.cpp',
126 './src/Visualization/qcustomplot.cpp',
99 'src/Visualization/operations/RemoveVariableOperation.cpp',
127 './src/Visualization/VisualizationDragWidget.cpp',
100 'src/Visualization/operations/RescaleAxeOperation.cpp',
128 './src/Visualization/VisualizationActionManager.cpp',
101 'src/Visualization/VisualizationDragDropContainer.cpp',
129 './src/Visualization/MacScrollBarStyle.cpp',
102 'src/Visualization/VisualizationDragWidget.cpp',
130 './src/Visualization/VisualizationSelectionZoneManager.cpp',
103 'src/Visualization/AxisRenderingUtils.cpp',
131 './src/Visualization/operations/FindVariableOperation.cpp',
104 'src/Visualization/PlottablesRenderingUtils.cpp',
132 './src/Visualization/operations/RescaleAxeOperation.cpp',
105 'src/Visualization/MacScrollBarStyle.cpp',
133 './src/Visualization/operations/MenuBuilder.cpp',
106 'src/Visualization/VisualizationCursorItem.cpp',
134 './src/Visualization/operations/GenerateVariableMenuOperation.cpp',
107 'src/Visualization/ColorScaleEditor.cpp',
135 './src/Visualization/operations/RemoveVariableOperation.cpp',
108 'src/Visualization/SqpColorScale.cpp',
136 './src/Visualization/VisualizationSelectionZoneItem.cpp',
109 'src/Visualization/QCPColorMapIterator.cpp',
137 './src/Visualization/VisualizationCursorItem.cpp',
110 'src/Visualization/VisualizationSelectionZoneItem.cpp',
138 './src/Visualization/QCPColorMapIterator.cpp',
111 'src/Visualization/VisualizationSelectionZoneManager.cpp',
139 './src/Visualization/QCustomPlotSynchronizer.cpp',
112 'src/Actions/SelectionZoneAction.cpp',
140 './src/Visualization/ColorScaleEditor.cpp',
113 'src/Actions/ActionsGuiController.cpp',
141 './src/Visualization/VisualizationMultiZoneSelectionDialog.cpp',
114 'src/Actions/FilteringAction.cpp',
142 './src/Visualization/VisualizationTabWidget.cpp',
115 'src/Visualization/VisualizationActionManager.cpp',
143 './src/Visualization/VisualizationGraphHelper.cpp',
116 'src/Visualization/VisualizationMultiZoneSelectionDialog.cpp',
144 './src/Visualization/VisualizationGraphRenderingDelegate.cpp',
117 'src/Catalogue/CatalogueExplorer.cpp',
145 './src/Visualization/VisualizationDragDropContainer.cpp',
118 'src/Catalogue/CatalogueEventsWidget.cpp',
146 './src/Visualization/VisualizationZoneWidget.cpp',
119 'src/Catalogue/CatalogueSideBarWidget.cpp',
147 './src/Visualization/SqpColorScale.cpp',
120 'src/Catalogue/CatalogueInspectorWidget.cpp',
148 './src/Actions/FilteringAction.cpp',
121 'src/Catalogue/CatalogueTreeItems/CatalogueAbstractTreeItem.cpp',
149 './src/Actions/SelectionZoneAction.cpp',
122 'src/Catalogue/CatalogueTreeItems/CatalogueTreeItem.cpp',
150 './src/Actions/ActionsGuiController.cpp',
123 'src/Catalogue/CatalogueTreeItems/CatalogueTextTreeItem.cpp',
124 'src/Catalogue/CatalogueEventsModel.cpp',
125 'src/Catalogue/CatalogueExplorerHelper.cpp',
126 'src/Catalogue/CatalogueActionManager.cpp',
127 'src/Catalogue/CatalogueTreeModel.cpp'
128 ]
151 ]
129
152
130 gui_inc = include_directories(['include', 'include/Visualization'])
153 gui_inc = include_directories(['include', 'include/Visualization'])
131
154
132 sciqlop_gui_lib = library('sciqlopgui',
155 sciqlop_gui_lib = library('sciqlopgui',
133 gui_sources,
156 gui_sources,
134 gui_moc_files,
157 gui_moc_files,
135 rcc_files,
158 rcc_files,
136 include_directories : [gui_inc],
159 include_directories : [gui_inc],
137 dependencies : [ qt5printsupport, qt5gui, qt5widgets, qt5svg, sciqlop_core],
160 dependencies : [ qt5printsupport, qt5gui, qt5widgets, qt5svg, sciqlop_core],
138 install : true
161 install : true
139 )
162 )
140
163
141 sciqlop_gui = declare_dependency(link_with : sciqlop_gui_lib,
164 sciqlop_gui = declare_dependency(link_with : sciqlop_gui_lib,
142 include_directories : gui_inc,
165 include_directories : gui_inc,
143 dependencies : [qt5printsupport, qt5gui, qt5widgets, qt5svg, sciqlop_core])
166 dependencies : [qt5printsupport, qt5gui, qt5widgets, qt5svg, sciqlop_core])
144
167
145
168
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (502 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (615 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now