Auto status change to "Under Review"
@@ -161,6 +161,8 void VariableController::onDateTimeOnSelection(const SqpDateTime &dateTime) | |||||
161 | if (auto selectedVariable = impl->m_VariableModel->variable(selectedRow.row())) { |
|
161 | if (auto selectedVariable = impl->m_VariableModel->variable(selectedRow.row())) { | |
162 | selectedVariable->setDateTime(dateTime); |
|
162 | selectedVariable->setDateTime(dateTime); | |
163 | this->onRequestDataLoading(selectedVariable, dateTime); |
|
163 | this->onRequestDataLoading(selectedVariable, dateTime); | |
|
164 | ||||
|
165 | // notify that rescale operation has to be done | |||
164 | emit rangeChanged(selectedVariable, dateTime); |
|
166 | emit rangeChanged(selectedVariable, dateTime); | |
165 | } |
|
167 | } | |
166 | } |
|
168 | } |
@@ -186,7 +186,7 void VisualizationGraphWidget::onGraphMenuRequested(const QPoint &pos) noexcept | |||||
186 |
|
186 | |||
187 | void VisualizationGraphWidget::onRangeChanged(const QCPRange &t1) |
|
187 | void VisualizationGraphWidget::onRangeChanged(const QCPRange &t1) | |
188 | { |
|
188 | { | |
189 |
qC |
|
189 | qCDebug(LOG_VisualizationGraphWidget()) << tr("VisualizationGraphWidget::onRangeChanged") | |
190 | << QThread::currentThread()->objectName(); |
|
190 | << QThread::currentThread()->objectName(); | |
191 |
|
191 | |||
192 | for (auto it = impl->m_VariableToPlotMultiMap.cbegin(); |
|
192 | for (auto it = impl->m_VariableToPlotMultiMap.cbegin(); | |
@@ -202,8 +202,8 void VisualizationGraphWidget::onRangeChanged(const QCPRange &t1) | |||||
202 | variableDateTimeWithTolerance.m_TStart -= tolerance; |
|
202 | variableDateTimeWithTolerance.m_TStart -= tolerance; | |
203 | variableDateTimeWithTolerance.m_TEnd += tolerance; |
|
203 | variableDateTimeWithTolerance.m_TEnd += tolerance; | |
204 |
|
204 | |||
205 |
qC |
|
205 | qCDebug(LOG_VisualizationGraphWidget()) << "v" << dateTime; | |
206 |
qC |
|
206 | qCDebug(LOG_VisualizationGraphWidget()) << "vtol" << variableDateTimeWithTolerance; | |
207 | // If new range with tol is upper than variable datetime parameters. we need to request new |
|
207 | // If new range with tol is upper than variable datetime parameters. we need to request new | |
208 | // data |
|
208 | // data | |
209 | if (!variable->contains(variableDateTimeWithTolerance)) { |
|
209 | if (!variable->contains(variableDateTimeWithTolerance)) { | |
@@ -212,7 +212,7 void VisualizationGraphWidget::onRangeChanged(const QCPRange &t1) | |||||
212 | if (!variable->isInside(dateTime)) { |
|
212 | if (!variable->isInside(dateTime)) { | |
213 | auto variableDateTime = variable->dateTime(); |
|
213 | auto variableDateTime = variable->dateTime(); | |
214 | if (variableDateTime.m_TStart < dateTime.m_TStart) { |
|
214 | if (variableDateTime.m_TStart < dateTime.m_TStart) { | |
215 |
qC |
|
215 | qCDebug(LOG_VisualizationGraphWidget()) << tr("TORM: Detection pan to right:"); | |
216 |
|
216 | |||
217 | auto diffEndToKeepDelta = dateTime.m_TEnd - variableDateTime.m_TEnd; |
|
217 | auto diffEndToKeepDelta = dateTime.m_TEnd - variableDateTime.m_TEnd; | |
218 | dateTime.m_TStart = variableDateTime.m_TStart + diffEndToKeepDelta; |
|
218 | dateTime.m_TStart = variableDateTime.m_TStart + diffEndToKeepDelta; | |
@@ -222,7 +222,7 void VisualizationGraphWidget::onRangeChanged(const QCPRange &t1) | |||||
222 | variableDateTimeWithTolerance.m_TEnd += tolerance; |
|
222 | variableDateTimeWithTolerance.m_TEnd += tolerance; | |
223 | } |
|
223 | } | |
224 | else if (variableDateTime.m_TEnd > dateTime.m_TEnd) { |
|
224 | else if (variableDateTime.m_TEnd > dateTime.m_TEnd) { | |
225 |
qC |
|
225 | qCDebug(LOG_VisualizationGraphWidget()) << tr("TORM: Detection pan to left: "); | |
226 | auto diffStartToKeepDelta = variableDateTime.m_TStart - dateTime.m_TStart; |
|
226 | auto diffStartToKeepDelta = variableDateTime.m_TStart - dateTime.m_TStart; | |
227 | dateTime.m_TEnd = variableDateTime.m_TEnd - diffStartToKeepDelta; |
|
227 | dateTime.m_TEnd = variableDateTime.m_TEnd - diffStartToKeepDelta; | |
228 | // Tolerance have to be added to the left |
|
228 | // Tolerance have to be added to the left | |
@@ -231,29 +231,29 void VisualizationGraphWidget::onRangeChanged(const QCPRange &t1) | |||||
231 | variableDateTimeWithTolerance.m_TStart -= tolerance; |
|
231 | variableDateTimeWithTolerance.m_TStart -= tolerance; | |
232 | } |
|
232 | } | |
233 | else { |
|
233 | else { | |
234 |
qC |
|
234 | qCDebug(LOG_VisualizationGraphWidget()) | |
235 | << tr("Detection anormal zoom detection: "); |
|
235 | << tr("Detection anormal zoom detection: "); | |
236 | } |
|
236 | } | |
237 | } |
|
237 | } | |
238 | else { |
|
238 | else { | |
239 |
qC |
|
239 | qCDebug(LOG_VisualizationGraphWidget()) << tr("Detection zoom out: "); | |
240 | // add 10% tolerance for each side |
|
240 | // add 10% tolerance for each side | |
241 | tolerance = 0.2 * (dateTime.m_TEnd - dateTime.m_TStart); |
|
241 | tolerance = 0.2 * (dateTime.m_TEnd - dateTime.m_TStart); | |
242 | variableDateTimeWithTolerance.m_TStart -= tolerance; |
|
242 | variableDateTimeWithTolerance.m_TStart -= tolerance; | |
243 | variableDateTimeWithTolerance.m_TEnd += tolerance; |
|
243 | variableDateTimeWithTolerance.m_TEnd += tolerance; | |
244 | } |
|
244 | } | |
245 | if (!variable->contains(dateTimeRange)) { |
|
245 | if (!variable->contains(dateTimeRange)) { | |
246 |
qC |
|
246 | qCDebug(LOG_VisualizationGraphWidget()) | |
247 | << "TORM: Modif on variable datetime detected" << dateTime; |
|
247 | << "TORM: Modif on variable datetime detected" << dateTime; | |
248 | variable->setDateTime(dateTime); |
|
248 | variable->setDateTime(dateTime); | |
249 | } |
|
249 | } | |
250 |
|
250 | |||
251 |
qC |
|
251 | qCDebug(LOG_VisualizationGraphWidget()) << tr("Request data detection: "); | |
252 | // CHangement detected, we need to ask controller to request data loading |
|
252 | // CHangement detected, we need to ask controller to request data loading | |
253 | emit requestDataLoading(variable, variableDateTimeWithTolerance); |
|
253 | emit requestDataLoading(variable, variableDateTimeWithTolerance); | |
254 | } |
|
254 | } | |
255 | else { |
|
255 | else { | |
256 |
qC |
|
256 | qCDebug(LOG_VisualizationGraphWidget()) << tr("Detection zoom in: "); | |
257 | } |
|
257 | } | |
258 | } |
|
258 | } | |
259 | } |
|
259 | } | |
@@ -293,10 +293,10 void VisualizationGraphWidget::onDataCacheVariableUpdated() | |||||
293 | for (auto it = impl->m_VariableToPlotMultiMap.cbegin(); |
|
293 | for (auto it = impl->m_VariableToPlotMultiMap.cbegin(); | |
294 | it != impl->m_VariableToPlotMultiMap.cend(); ++it) { |
|
294 | it != impl->m_VariableToPlotMultiMap.cend(); ++it) { | |
295 | auto variable = it->first; |
|
295 | auto variable = it->first; | |
296 |
qC |
|
296 | qCDebug(LOG_VisualizationGraphWidget()) | |
297 | << "TORM: VisualizationGraphWidget::onDataCacheVariableUpdated S" |
|
297 | << "TORM: VisualizationGraphWidget::onDataCacheVariableUpdated S" | |
298 | << variable->dateTime(); |
|
298 | << variable->dateTime(); | |
299 |
qC |
|
299 | qCDebug(LOG_VisualizationGraphWidget()) | |
300 | << "TORM: VisualizationGraphWidget::onDataCacheVariableUpdated E" << dateTime; |
|
300 | << "TORM: VisualizationGraphWidget::onDataCacheVariableUpdated E" << dateTime; | |
301 | if (dateTime.contains(variable->dateTime()) || dateTime.intersect(variable->dateTime())) { |
|
301 | if (dateTime.contains(variable->dateTime()) || dateTime.intersect(variable->dateTime())) { | |
302 |
|
302 |
@@ -26,7 +26,7 const auto AMDA_URL_FORMAT = QStringLiteral( | |||||
26 | "timeFormat=ISO8601&gzip=0"); |
|
26 | "timeFormat=ISO8601&gzip=0"); | |
27 |
|
27 | |||
28 | /// Dates format passed in the URL (e.g 2013-09-23T09:00) |
|
28 | /// Dates format passed in the URL (e.g 2013-09-23T09:00) | |
29 | const auto AMDA_TIME_FORMAT = QStringLiteral("yyyy-MM-ddThh:ss"); |
|
29 | const auto AMDA_TIME_FORMAT = QStringLiteral("yyyy-MM-ddThh:mm:ss"); | |
30 |
|
30 | |||
31 | /// Formats a time to a date that can be passed in URL |
|
31 | /// Formats a time to a date that can be passed in URL | |
32 | QString dateFormat(double sqpDateTime) noexcept |
|
32 | QString dateFormat(double sqpDateTime) noexcept | |
@@ -81,6 +81,7 void AmdaProvider::retrieveData(QUuid token, const SqpDateTime &dateTime, const | |||||
81 | qCCritical(LOG_AmdaProvider()) << tr("Can't retrieve data: unknown product id"); |
|
81 | qCCritical(LOG_AmdaProvider()) << tr("Can't retrieve data: unknown product id"); | |
82 | return; |
|
82 | return; | |
83 | } |
|
83 | } | |
|
84 | qCInfo(LOG_AmdaProvider()) << tr("AmdaProvider::retrieveData") << dateTime; | |||
84 |
|
85 | |||
85 | // /////////// // |
|
86 | // /////////// // | |
86 | // Creates URL // |
|
87 | // Creates URL // | |
@@ -90,7 +91,7 void AmdaProvider::retrieveData(QUuid token, const SqpDateTime &dateTime, const | |||||
90 | auto endDate = dateFormat(dateTime.m_TEnd); |
|
91 | auto endDate = dateFormat(dateTime.m_TEnd); | |
91 |
|
92 | |||
92 | auto url = QUrl{QString{AMDA_URL_FORMAT}.arg(startDate, endDate, productId)}; |
|
93 | auto url = QUrl{QString{AMDA_URL_FORMAT}.arg(startDate, endDate, productId)}; | |
93 |
|
94 | qCInfo(LOG_AmdaProvider()) << tr("AmdaProvider::retrieveData url:") << url; | ||
94 | auto tempFile = std::make_shared<QTemporaryFile>(); |
|
95 | auto tempFile = std::make_shared<QTemporaryFile>(); | |
95 |
|
96 | |||
96 | // LAMBDA |
|
97 | // LAMBDA | |
@@ -127,6 +128,8 void AmdaProvider::retrieveData(QUuid token, const SqpDateTime &dateTime, const | |||||
127 | auto downloadFileUrl = QUrl{QString{reply->readAll()}}; |
|
128 | auto downloadFileUrl = QUrl{QString{reply->readAll()}}; | |
128 |
|
129 | |||
129 |
|
130 | |||
|
131 | qCInfo(LOG_AmdaProvider()) << tr("AmdaProvider::retrieveData downloadFileUrl:") | |||
|
132 | << downloadFileUrl; | |||
130 | // Executes request for downloading file // |
|
133 | // Executes request for downloading file // | |
131 |
|
134 | |||
132 | // Creates destination file |
|
135 | // Creates destination file |
General Comments 3
Pull request updated. Auto status change to "Under Review"
Changed commits: * 3 added * 0 removed Changed files: * A plugins/amda/tests-resources/TestAmdaResultParser/FileNotFound.txt * M gui/src/Visualization/operations/RescaleAxeOperation.cpp * M app/src/MainWindow.cpp * M core/include/Data/IDataProvider.h * M core/include/DataSource/DataSourceItemAction.h * M core/include/Variable/VariableController.h * M core/include/Variable/VariableModel.h * M core/include/Visualization/VisualizationController.h * M core/src/Network/NetworkController.cpp * M core/src/Variable/Variable.cpp * M core/src/Variable/VariableController.cpp * M core/src/Variable/VariableModel.cpp * M gui/include/Visualization/VisualizationGraphWidget.h * M gui/include/Visualization/VisualizationWidget.h * M gui/src/SqpApplication.cpp * M gui/src/Variable/VariableInspectorWidget.cpp * M gui/src/Visualization/VisualizationGraphHelper.cpp * M gui/src/Visualization/VisualizationGraphWidget.cpp * M gui/src/Visualization/VisualizationWidget.cpp * M gui/src/Visualization/VisualizationZoneWidget.cpp * M plugins/amda/include/AmdaProvider.h * M plugins/amda/src/AmdaProvider.cpp * M plugins/amda/src/AmdaResultParser.cpp * M plugins/amda/tests/TestAmdaResultParser.cpp * M plugins/mockplugin/include/CosinusProvider.h * M plugins/mockplugin/src/CosinusProvider.cpp * R COPYING * R app/ui/MainWindow.ui * R cmake/sciqlop_package_qt.cmake * R core/include/Common/MetaTypes.h * R core/include/Data/ArrayData.h * R core/include/Data/DataProviderParameters.h * R core/include/Data/DataSeries.h * R core/include/Data/IDataSeries.h * R core/include/Data/ScalarSeries.h * R core/include/Data/SqpDateTime.h * R core/include/Network/NetworkController.h * R core/include/Plugin/PluginManager.h * R core/include/Time/TimeController.h * R core/include/Variable/Variable.h * R core/include/Variable/VariableCacheController.h * R core/src/Data/ScalarSeries.cpp * R core/src/DataSource/DataSourceItemAction.cpp * R core/src/Plugin/PluginManager.cpp * R core/src/Time/TimeController.cpp * R core/src/Variable/VariableCacheController.cpp * R core/src/Visualization/VisualizationController.cpp * R core/tests/Variable/TestVariableCacheController.cpp * R gui/include/DataSource/DataSourceTreeWidgetItem.h * R gui/include/DataSource/DataSourceWidget.h * R gui/include/SidePane/SqpSidePane.h * R gui/include/TimeWidget/TimeWidget.h * R gui/include/Variable/VariableInspectorWidget.h * R gui/include/Variable/VariableMenuHeaderWidget.h * R gui/include/Visualization/IVariableContainer.h * R gui/include/Visualization/IVisualizationWidget.h * R gui/include/Visualization/IVisualizationWidgetVisitor.h * R gui/include/Visualization/VisualizationGraphHelper.h * R gui/include/Visualization/VisualizationTabWidget.h * R gui/include/Visualization/VisualizationZoneWidget.h * R gui/include/Visualization/operations/GenerateVariableMenuOperation.h * R gui/include/Visualization/operations/MenuBuilder.h * R gui/include/Visualization/operations/RemoveVariableOperation.h * R gui/include/Visualization/qcustomplot.h * R gui/resources/icones/dataSourceComponent.png * R gui/resources/icones/dataSourceNode.png * R gui/resources/icones/dataSourceProduct.png * R gui/resources/icones/dataSourceRoot.png * R gui/resources/icones/delete.png * R gui/resources/icones/next.png * R gui/resources/icones/openInspector.png * R gui/resources/icones/plot.png * R gui/resources/icones/previous.png * R gui/resources/icones/sciqlop2PNG_1024.png * R gui/resources/icones/unplot.png * R gui/resources/sqpguiresources.qrc * R gui/src/DataSource/DataSourceTreeWidgetItem.cpp * R gui/src/DataSource/DataSourceWidget.cpp * R gui/src/SidePane/SqpSidePane.cpp * R gui/src/TimeWidget/TimeWidget.cpp * R gui/src/Variable/VariableMenuHeaderWidget.cpp * R gui/src/Visualization/VisualizationTabWidget.cpp * R gui/src/Visualization/operations/GenerateVariableMenuOperation.cpp * R gui/src/Visualization/operations/MenuBuilder.cpp * R gui/src/Visualization/operations/RemoveVariableOperation.cpp * R gui/src/Visualization/qcustomplot.cpp * R gui/ui/DataSource/DataSourceWidget.ui * R gui/ui/SidePane/SqpSidePane.ui * R gui/ui/TimeWidget/TimeWidget.ui * R gui/ui/Variable/VariableInspectorWidget.ui * R gui/ui/Variable/VariableMenuHeaderWidget.ui * R gui/ui/Visualization/VisualizationGraphWidget.ui * R gui/ui/Visualization/VisualizationTabWidget.ui * R gui/ui/Visualization/VisualizationWidget.ui * R gui/ui/Visualization/VisualizationZoneWidget.ui * R gui/vera-exclusions/exclusions.txt * R plugin/CMakeLists.txt * R plugin/cmake/Findsciqlop-plugin.cmake * R plugin/include/Plugin/IPlugin.h * R plugins/amda/CMakeLists.txt * R plugins/amda/cmake/Findsciqlop-amda.cmake * R plugins/amda/include/AmdaDefs.h * R plugins/amda/include/AmdaGlobal.h * R plugins/amda/include/AmdaParser.h * R plugins/amda/include/AmdaPlugin.h * R plugins/amda/include/AmdaResultParser.h * R plugins/amda/resources/amda.json * R plugins/amda/resources/amdaresources.qrc * R plugins/amda/resources/samples/AmdaSample.json * R plugins/amda/src/AmdaDefs.cpp * R plugins/amda/src/AmdaParser.cpp * R plugins/amda/src/AmdaPlugin.cpp * R plugins/amda/tests-resources/TestAmdaParser/TwoRootsFile.json * R plugins/amda/tests-resources/TestAmdaParser/ValidFile1.json * R plugins/amda/tests-resources/TestAmdaParser/WrongRootKey.json * R plugins/amda/tests-resources/TestAmdaParser/WrongRootType.json * R plugins/amda/tests-resources/TestAmdaResultParser/NaNValue.txt * R plugins/amda/tests-resources/TestAmdaResultParser/NoUnit.txt * R plugins/amda/tests-resources/TestAmdaResultParser/TooManyValues.txt * R plugins/amda/tests-resources/TestAmdaResultParser/ValidScalar1.txt * R plugins/amda/tests-resources/TestAmdaResultParser/WrongDate.txt * R plugins/amda/tests-resources/TestAmdaResultParser/WrongUnit.txt * R plugins/amda/tests-resources/TestAmdaResultParser/WrongValue.txt * R plugins/amda/tests/TestAmdaParser.cpp * R plugins/mockplugin/CMakeLists.txt * R plugins/mockplugin/cmake/Findsciqlop-mockplugin.cmake * R plugins/mockplugin/include/MockPlugin.h * R plugins/mockplugin/include/MockPluginGlobal.h * R plugins/mockplugin/resources/mockplugin.json * R plugins/mockplugin/src/MockPlugin.cpp * R README.md * R app/CMakeLists.txt * R app/include/MainWindow.h * R app/src/Main.cpp * R app/vera-exclusions/exclusions.txt * R cmake/sciqlop.cmake * R cmake/sciqlop_applications.cmake * R cmake/sciqlop_package.cmake * R cmake/sciqlop_params.cmake * R core/CMakeLists.txt * R core/include/Common/spimpl.h * R core/include/DataSource/DataSourceController.h * R core/include/DataSource/DataSourceItem.h * R core/src/DataSource/DataSourceController.cpp * R core/src/DataSource/DataSourceItem.cpp * R core/tests/DataSource/TestDataSourceController.cpp * R core/vera-exclusions/exclusions.txt * R formatting/cmake/use_clangformat.cmake * R formatting/vera-exclusions/exclusions.txt * R gui/CMakeLists.txt * R gui/include/SqpApplication.h * R LICENSE * R app/src/mainwindow.cpp * R app/src/mainwindow.ui
Status change > Approved
You need to be logged in to leave comments.
Login now