Auto status change to "Under Review"
@@ -52,7 +52,7 QUuid VariableAcquisitionWorker::pushVariableRequest(QUuid varRequestId, QUuid v | |||||
52 | DataProviderParameters parameters, |
|
52 | DataProviderParameters parameters, | |
53 | std::shared_ptr<IDataProvider> provider) |
|
53 | std::shared_ptr<IDataProvider> provider) | |
54 | { |
|
54 | { | |
55 |
qC |
|
55 | qCDebug(LOG_VariableAcquisitionWorker()) | |
56 | << tr("TORM VariableAcquisitionWorker::pushVariableRequest ") << cacheRangeRequested; |
|
56 | << tr("TORM VariableAcquisitionWorker::pushVariableRequest ") << cacheRangeRequested; | |
57 | auto varRequestIdCanceled = QUuid(); |
|
57 | auto varRequestIdCanceled = QUuid(); | |
58 |
|
58 | |||
@@ -186,7 +186,7 void VariableAcquisitionWorker::onVariableDataAcquired(QUuid acqIdentifier, | |||||
186 |
|
186 | |||
187 | void VariableAcquisitionWorker::onExecuteRequest(QUuid acqIdentifier) |
|
187 | void VariableAcquisitionWorker::onExecuteRequest(QUuid acqIdentifier) | |
188 | { |
|
188 | { | |
189 |
qC |
|
189 | qCDebug(LOG_VariableAcquisitionWorker()) << tr("onExecuteRequest") << QThread::currentThread(); | |
190 | impl->lockRead(); |
|
190 | impl->lockRead(); | |
191 | auto it = impl->m_AcqIdentifierToAcqRequestMap.find(acqIdentifier); |
|
191 | auto it = impl->m_AcqIdentifierToAcqRequestMap.find(acqIdentifier); | |
192 | if (it != impl->m_AcqIdentifierToAcqRequestMap.cend()) { |
|
192 | if (it != impl->m_AcqIdentifierToAcqRequestMap.cend()) { |
@@ -1,6 +1,5 | |||||
1 | #include <Variable/Variable.h> |
|
1 | #include <Variable/Variable.h> | |
2 | #include <Variable/VariableAcquisitionWorker.h> |
|
2 | #include <Variable/VariableAcquisitionWorker.h> | |
3 | #include <Variable/VariableCacheController.h> |
|
|||
4 | #include <Variable/VariableCacheStrategy.h> |
|
3 | #include <Variable/VariableCacheStrategy.h> | |
5 | #include <Variable/VariableController.h> |
|
4 | #include <Variable/VariableController.h> | |
6 | #include <Variable/VariableModel.h> |
|
5 | #include <Variable/VariableModel.h> | |
@@ -80,7 +79,6 struct VariableController::VariableControllerPrivate { | |||||
80 | : m_WorkingMutex{}, |
|
79 | : m_WorkingMutex{}, | |
81 | m_VariableModel{new VariableModel{parent}}, |
|
80 | m_VariableModel{new VariableModel{parent}}, | |
82 | m_VariableSelectionModel{new QItemSelectionModel{m_VariableModel, parent}}, |
|
81 | m_VariableSelectionModel{new QItemSelectionModel{m_VariableModel, parent}}, | |
83 | m_VariableCacheController{std::make_unique<VariableCacheController>()}, |
|
|||
84 | m_VariableCacheStrategy{std::make_unique<VariableCacheStrategy>()}, |
|
82 | m_VariableCacheStrategy{std::make_unique<VariableCacheStrategy>()}, | |
85 | m_VariableAcquisitionWorker{std::make_unique<VariableAcquisitionWorker>()}, |
|
83 | m_VariableAcquisitionWorker{std::make_unique<VariableAcquisitionWorker>()}, | |
86 | q{parent} |
|
84 | q{parent} | |
@@ -123,7 +121,6 struct VariableController::VariableControllerPrivate { | |||||
123 |
|
121 | |||
124 |
|
122 | |||
125 | TimeController *m_TimeController{nullptr}; |
|
123 | TimeController *m_TimeController{nullptr}; | |
126 | std::unique_ptr<VariableCacheController> m_VariableCacheController; |
|
|||
127 | std::unique_ptr<VariableCacheStrategy> m_VariableCacheStrategy; |
|
124 | std::unique_ptr<VariableCacheStrategy> m_VariableCacheStrategy; | |
128 | std::unique_ptr<VariableAcquisitionWorker> m_VariableAcquisitionWorker; |
|
125 | std::unique_ptr<VariableAcquisitionWorker> m_VariableAcquisitionWorker; | |
129 | QThread m_VariableAcquisitionWorkerThread; |
|
126 | QThread m_VariableAcquisitionWorkerThread; | |
@@ -211,8 +208,6 void VariableController::deleteVariable(std::shared_ptr<Variable> variable) noex | |||||
211 | << tr("Number of providers deleted for variable %1: %2") |
|
208 | << tr("Number of providers deleted for variable %1: %2") | |
212 | .arg(variable->name(), QString::number(nbProvidersDeleted)); |
|
209 | .arg(variable->name(), QString::number(nbProvidersDeleted)); | |
213 |
|
210 | |||
214 | // Clears cache |
|
|||
215 | impl->m_VariableCacheController->clear(variable); |
|
|||
216 |
|
211 | |||
217 | // Deletes from model |
|
212 | // Deletes from model | |
218 | impl->m_VariableModel->deleteVariable(variable); |
|
213 | impl->m_VariableModel->deleteVariable(variable); | |
@@ -369,16 +364,16 void VariableController::onRequestDataLoading(QVector<std::shared_ptr<Variable> | |||||
369 | { |
|
364 | { | |
370 | // NOTE: oldRange isn't really necessary since oldRange == variable->range(). |
|
365 | // NOTE: oldRange isn't really necessary since oldRange == variable->range(). | |
371 |
|
366 | |||
372 | qCDebug(LOG_VariableController()) << "VariableController::onRequestDataLoading" |
|
|||
373 | << QThread::currentThread()->objectName(); |
|
|||
374 | // we want to load data of the variable for the dateTime. |
|
367 | // we want to load data of the variable for the dateTime. | |
375 | // First we check if the cache contains some of them. |
|
368 | // First we check if the cache contains some of them. | |
376 | // For the other, we ask the provider to give them. |
|
369 | // For the other, we ask the provider to give them. | |
377 |
|
370 | |||
378 | auto varRequestId = QUuid::createUuid(); |
|
371 | auto varRequestId = QUuid::createUuid(); | |
|
372 | qCInfo(LOG_VariableController()) << "VariableController::onRequestDataLoading" | |||
|
373 | << QThread::currentThread()->objectName() << varRequestId; | |||
379 |
|
374 | |||
380 | for (const auto &var : variables) { |
|
375 | for (const auto &var : variables) { | |
381 |
qC |
|
376 | qCDebug(LOG_VariableController()) << "processRequest for" << var->name() << varRequestId; | |
382 | impl->processRequest(var, range, varRequestId); |
|
377 | impl->processRequest(var, range, varRequestId); | |
383 | } |
|
378 | } | |
384 |
|
379 | |||
@@ -386,7 +381,8 void VariableController::onRequestDataLoading(QVector<std::shared_ptr<Variable> | |||||
386 | // Get the group ids |
|
381 | // Get the group ids | |
387 | qCDebug(LOG_VariableController()) |
|
382 | qCDebug(LOG_VariableController()) | |
388 | << "TORM VariableController::onRequestDataLoading for synchro var ENABLE"; |
|
383 | << "TORM VariableController::onRequestDataLoading for synchro var ENABLE"; | |
389 |
auto groupIds = std::set<QUuid> |
|
384 | auto groupIds = std::set<QUuid>{}; | |
|
385 | auto groupIdToOldRangeMap = std::map<QUuid, SqpRange>{}; | |||
390 | for (const auto &var : variables) { |
|
386 | for (const auto &var : variables) { | |
391 | auto varToVarIdIt = impl->m_VariableToIdentifierMap.find(var); |
|
387 | auto varToVarIdIt = impl->m_VariableToIdentifierMap.find(var); | |
392 | if (varToVarIdIt != impl->m_VariableToIdentifierMap.cend()) { |
|
388 | if (varToVarIdIt != impl->m_VariableToIdentifierMap.cend()) { | |
@@ -394,6 +390,7 void VariableController::onRequestDataLoading(QVector<std::shared_ptr<Variable> | |||||
394 | auto varIdToGroupIdIt = impl->m_VariableIdGroupIdMap.find(vId); |
|
390 | auto varIdToGroupIdIt = impl->m_VariableIdGroupIdMap.find(vId); | |
395 | if (varIdToGroupIdIt != impl->m_VariableIdGroupIdMap.cend()) { |
|
391 | if (varIdToGroupIdIt != impl->m_VariableIdGroupIdMap.cend()) { | |
396 | auto gId = varIdToGroupIdIt->second; |
|
392 | auto gId = varIdToGroupIdIt->second; | |
|
393 | groupIdToOldRangeMap.insert(std::make_pair(gId, var->range())); | |||
397 | if (groupIds.find(gId) == groupIds.cend()) { |
|
394 | if (groupIds.find(gId) == groupIds.cend()) { | |
398 | qCDebug(LOG_VariableController()) << "Synchro detect group " << gId; |
|
395 | qCDebug(LOG_VariableController()) << "Synchro detect group " << gId; | |
399 | groupIds.insert(gId); |
|
396 | groupIds.insert(gId); | |
@@ -415,8 +412,9 void VariableController::onRequestDataLoading(QVector<std::shared_ptr<Variable> | |||||
415 | if (var != nullptr) { |
|
412 | if (var != nullptr) { | |
416 | qCDebug(LOG_VariableController()) << "processRequest synchro for" |
|
413 | qCDebug(LOG_VariableController()) << "processRequest synchro for" | |
417 | << var->name(); |
|
414 | << var->name(); | |
418 | auto vSyncRangeRequested |
|
415 | auto vSyncRangeRequested = computeSynchroRangeRequested( | |
419 |
|
|
416 | var->range(), range, groupIdToOldRangeMap.at(gId)); | |
|
417 | qCDebug(LOG_VariableController()) << "synchro RR" << vSyncRangeRequested; | |||
420 | impl->processRequest(var, vSyncRangeRequested, varRequestId); |
|
418 | impl->processRequest(var, vSyncRangeRequested, varRequestId); | |
421 | } |
|
419 | } | |
422 | else { |
|
420 | else { | |
@@ -481,7 +479,6 void VariableController::VariableControllerPrivate::processRequest(std::shared_p | |||||
481 | auto varRequest = VariableRequest{}; |
|
479 | auto varRequest = VariableRequest{}; | |
482 | auto varId = m_VariableToIdentifierMap.at(var); |
|
480 | auto varId = m_VariableToIdentifierMap.at(var); | |
483 |
|
481 | |||
484 |
|
||||
485 | auto varStrategyRangesRequested |
|
482 | auto varStrategyRangesRequested | |
486 | = m_VariableCacheStrategy->computeStrategyRanges(var->range(), rangeRequested); |
|
483 | = m_VariableCacheStrategy->computeStrategyRanges(var->range(), rangeRequested); | |
487 | auto notInCacheRangeList = var->provideNotInCacheRangeList(varStrategyRangesRequested.second); |
|
484 | auto notInCacheRangeList = var->provideNotInCacheRangeList(varStrategyRangesRequested.second); | |
@@ -490,6 +487,11 void VariableController::VariableControllerPrivate::processRequest(std::shared_p | |||||
490 | if (!notInCacheRangeList.empty()) { |
|
487 | if (!notInCacheRangeList.empty()) { | |
491 | varRequest.m_RangeRequested = varStrategyRangesRequested.first; |
|
488 | varRequest.m_RangeRequested = varStrategyRangesRequested.first; | |
492 | varRequest.m_CacheRangeRequested = varStrategyRangesRequested.second; |
|
489 | varRequest.m_CacheRangeRequested = varStrategyRangesRequested.second; | |
|
490 | qCDebug(LOG_VariableAcquisitionWorker()) << tr("TORM processRequest RR ") << rangeRequested; | |||
|
491 | qCDebug(LOG_VariableAcquisitionWorker()) << tr("TORM processRequest R ") | |||
|
492 | << varStrategyRangesRequested.first; | |||
|
493 | qCDebug(LOG_VariableAcquisitionWorker()) << tr("TORM processRequest CR ") | |||
|
494 | << varStrategyRangesRequested.second; | |||
493 | // store VarRequest |
|
495 | // store VarRequest | |
494 | storeVariableRequest(varId, varRequestId, varRequest); |
|
496 | storeVariableRequest(varId, varRequestId, varRequest); | |
495 |
|
497 | |||
@@ -502,6 +504,8 void VariableController::VariableControllerPrivate::processRequest(std::shared_p | |||||
502 | varProvider); |
|
504 | varProvider); | |
503 |
|
505 | |||
504 | if (!varRequestIdCanceled.isNull()) { |
|
506 | if (!varRequestIdCanceled.isNull()) { | |
|
507 | qCInfo(LOG_VariableAcquisitionWorker()) << tr("varRequestIdCanceled: ") | |||
|
508 | << varRequestIdCanceled; | |||
505 | cancelVariableRequest(varRequestIdCanceled); |
|
509 | cancelVariableRequest(varRequestIdCanceled); | |
506 | } |
|
510 | } | |
507 | } |
|
511 | } | |
@@ -682,13 +686,13 void VariableController::VariableControllerPrivate::updateVariableRequest(QUuid | |||||
682 | auto &varRequest = varIdToVarRequestMapIt->second; |
|
686 | auto &varRequest = varIdToVarRequestMapIt->second; | |
683 | var->setRange(varRequest.m_RangeRequested); |
|
687 | var->setRange(varRequest.m_RangeRequested); | |
684 | var->setCacheRange(varRequest.m_CacheRangeRequested); |
|
688 | var->setCacheRange(varRequest.m_CacheRangeRequested); | |
685 |
qC |
|
689 | qCDebug(LOG_VariableController()) << tr("1: onDataProvided") | |
686 | << varRequest.m_RangeRequested; |
|
690 | << varRequest.m_RangeRequested; | |
687 |
qC |
|
691 | qCDebug(LOG_VariableController()) << tr("2: onDataProvided") | |
688 | << varRequest.m_CacheRangeRequested; |
|
692 | << varRequest.m_CacheRangeRequested; | |
689 | var->mergeDataSeries(varRequest.m_DataSeries); |
|
693 | var->mergeDataSeries(varRequest.m_DataSeries); | |
690 |
qC |
|
694 | qCDebug(LOG_VariableController()) << tr("3: onDataProvided") | |
691 | << varRequest.m_DataSeries->range(); |
|
695 | << varRequest.m_DataSeries->range(); | |
692 | qCDebug(LOG_VariableController()) << tr("4: onDataProvided"); |
|
696 | qCDebug(LOG_VariableController()) << tr("4: onDataProvided"); | |
693 | emit var->updated(); |
|
697 | emit var->updated(); | |
694 | } |
|
698 | } |
@@ -100,49 +100,49 VisualizationGraphWidget *VisualizationZoneWidget::createGraph(std::shared_ptr<V | |||||
100 | auto deltaRight = oldGraphRange.m_TEnd - graphRange.m_TEnd; |
|
100 | auto deltaRight = oldGraphRange.m_TEnd - graphRange.m_TEnd; | |
101 | graphChildRange.m_TStart += deltaLeft; |
|
101 | graphChildRange.m_TStart += deltaLeft; | |
102 | graphChildRange.m_TEnd -= deltaRight; |
|
102 | graphChildRange.m_TEnd -= deltaRight; | |
103 |
qC |
|
103 | qCDebug(LOG_VisualizationZoneWidget()) << tr("TORM: ZoomIn"); | |
104 |
qC |
|
104 | qCDebug(LOG_VisualizationZoneWidget()) << tr("TORM: deltaLeft") | |
105 |
|
|
105 | << deltaLeft; | |
106 |
qC |
|
106 | qCDebug(LOG_VisualizationZoneWidget()) << tr("TORM: deltaRight") | |
107 |
|
|
107 | << deltaRight; | |
108 |
qC |
|
108 | qCDebug(LOG_VisualizationZoneWidget()) | |
109 | << tr("TORM: dt") << graphRange.m_TEnd - graphRange.m_TStart; |
|
109 | << tr("TORM: dt") << graphRange.m_TEnd - graphRange.m_TStart; | |
110 |
|
110 | |||
111 | break; |
|
111 | break; | |
112 | } |
|
112 | } | |
113 |
|
113 | |||
114 | case AcquisitionZoomType::ZoomOut: { |
|
114 | case AcquisitionZoomType::ZoomOut: { | |
115 |
qC |
|
115 | qCDebug(LOG_VisualizationZoneWidget()) << tr("TORM: ZoomOut"); | |
116 | auto deltaLeft = oldGraphRange.m_TStart - graphRange.m_TStart; |
|
116 | auto deltaLeft = oldGraphRange.m_TStart - graphRange.m_TStart; | |
117 | auto deltaRight = graphRange.m_TEnd - oldGraphRange.m_TEnd; |
|
117 | auto deltaRight = graphRange.m_TEnd - oldGraphRange.m_TEnd; | |
118 |
qC |
|
118 | qCDebug(LOG_VisualizationZoneWidget()) << tr("TORM: deltaLeft") | |
119 |
|
|
119 | << deltaLeft; | |
120 |
qC |
|
120 | qCDebug(LOG_VisualizationZoneWidget()) << tr("TORM: deltaRight") | |
121 |
|
|
121 | << deltaRight; | |
122 |
qC |
|
122 | qCDebug(LOG_VisualizationZoneWidget()) | |
123 | << tr("TORM: dt") << graphRange.m_TEnd - graphRange.m_TStart; |
|
123 | << tr("TORM: dt") << graphRange.m_TEnd - graphRange.m_TStart; | |
124 | graphChildRange.m_TStart -= deltaLeft; |
|
124 | graphChildRange.m_TStart -= deltaLeft; | |
125 | graphChildRange.m_TEnd += deltaRight; |
|
125 | graphChildRange.m_TEnd += deltaRight; | |
126 | break; |
|
126 | break; | |
127 | } |
|
127 | } | |
128 | case AcquisitionZoomType::PanRight: { |
|
128 | case AcquisitionZoomType::PanRight: { | |
129 |
qC |
|
129 | qCDebug(LOG_VisualizationZoneWidget()) << tr("TORM: PanRight"); | |
130 | auto deltaRight = graphRange.m_TEnd - oldGraphRange.m_TEnd; |
|
130 | auto deltaRight = graphRange.m_TEnd - oldGraphRange.m_TEnd; | |
131 | graphChildRange.m_TStart += deltaRight; |
|
131 | graphChildRange.m_TStart += deltaRight; | |
132 | graphChildRange.m_TEnd += deltaRight; |
|
132 | graphChildRange.m_TEnd += deltaRight; | |
133 |
qC |
|
133 | qCDebug(LOG_VisualizationZoneWidget()) | |
134 | << tr("TORM: dt") << graphRange.m_TEnd - graphRange.m_TStart; |
|
134 | << tr("TORM: dt") << graphRange.m_TEnd - graphRange.m_TStart; | |
135 | break; |
|
135 | break; | |
136 | } |
|
136 | } | |
137 | case AcquisitionZoomType::PanLeft: { |
|
137 | case AcquisitionZoomType::PanLeft: { | |
138 |
qC |
|
138 | qCDebug(LOG_VisualizationZoneWidget()) << tr("TORM: PanLeft"); | |
139 | auto deltaLeft = oldGraphRange.m_TStart - graphRange.m_TStart; |
|
139 | auto deltaLeft = oldGraphRange.m_TStart - graphRange.m_TStart; | |
140 | graphChildRange.m_TStart -= deltaLeft; |
|
140 | graphChildRange.m_TStart -= deltaLeft; | |
141 | graphChildRange.m_TEnd -= deltaLeft; |
|
141 | graphChildRange.m_TEnd -= deltaLeft; | |
142 | break; |
|
142 | break; | |
143 | } |
|
143 | } | |
144 | case AcquisitionZoomType::Unknown: { |
|
144 | case AcquisitionZoomType::Unknown: { | |
145 |
qC |
|
145 | qCDebug(LOG_VisualizationZoneWidget()) | |
146 | << tr("Impossible to synchronize: zoom type unknown"); |
|
146 | << tr("Impossible to synchronize: zoom type unknown"); | |
147 | break; |
|
147 | break; | |
148 | } |
|
148 | } | |
@@ -153,11 +153,11 VisualizationGraphWidget *VisualizationZoneWidget::createGraph(std::shared_ptr<V | |||||
153 | break; |
|
153 | break; | |
154 | } |
|
154 | } | |
155 | graphChild->enableAcquisition(false); |
|
155 | graphChild->enableAcquisition(false); | |
156 |
qC |
|
156 | qCDebug(LOG_VisualizationZoneWidget()) << tr("TORM: Range before: ") | |
157 |
|
|
157 | << graphChild->graphRange(); | |
158 |
qC |
|
158 | qCDebug(LOG_VisualizationZoneWidget()) << tr("TORM: Range after : ") | |
159 |
|
|
159 | << graphChildRange; | |
160 |
qC |
|
160 | qCDebug(LOG_VisualizationZoneWidget()) | |
161 | << tr("TORM: child dt") << graphChildRange.m_TEnd - graphChildRange.m_TStart; |
|
161 | << tr("TORM: child dt") << graphChildRange.m_TEnd - graphChildRange.m_TStart; | |
162 | graphChild->setGraphRange(graphChildRange); |
|
162 | graphChild->setGraphRange(graphChildRange); | |
163 | graphChild->enableAcquisition(true); |
|
163 | graphChild->enableAcquisition(true); |
@@ -130,8 +130,8 void TestAmdaAcquisition::testAcquisition() | |||||
130 | QTimer::singleShot(timeToWaitMs, &loop, &QEventLoop::quit); |
|
130 | QTimer::singleShot(timeToWaitMs, &loop, &QEventLoop::quit); | |
131 | loop.exec(); |
|
131 | loop.exec(); | |
132 |
|
132 | |||
133 |
q |
|
133 | qInfo() << count << "RANGE " << var->range(); | |
134 |
q |
|
134 | qInfo() << count << "CACHERANGE" << var->cacheRange(); | |
135 |
|
135 | |||
136 | QCOMPARE(var->range().m_TStart, nextSqpR.m_TStart); |
|
136 | QCOMPARE(var->range().m_TStart, nextSqpR.m_TStart); | |
137 | QCOMPARE(var->range().m_TEnd, nextSqpR.m_TEnd); |
|
137 | QCOMPARE(var->range().m_TEnd, nextSqpR.m_TEnd); | |
@@ -144,7 +144,7 void TestAmdaAcquisition::testAcquisition() | |||||
144 | // 2 : pan (jump) left for one hour |
|
144 | // 2 : pan (jump) left for one hour | |
145 | auto nextVarRS = QDateTime{QDate{2012, 01, 02}, QTime{2, 1, 0, 0}}; |
|
145 | auto nextVarRS = QDateTime{QDate{2012, 01, 02}, QTime{2, 1, 0, 0}}; | |
146 | auto nextVarRE = QDateTime{QDate{2012, 01, 02}, QTime{2, 2, 0, 0}}; |
|
146 | auto nextVarRE = QDateTime{QDate{2012, 01, 02}, QTime{2, 2, 0, 0}}; | |
147 |
|
|
147 | requestDataLoading(nextVarRS, nextVarRE); | |
148 |
|
148 | |||
149 |
|
149 | |||
150 | // 3 : pan (jump) right for one hour |
|
150 | // 3 : pan (jump) right for one hour |
General Comments 3
Pull request updated. Auto status change to "Under Review"
Changed commits: * 1 added * 0 removed Changed files: * M core/include/Data/AcquisitionRequest.h * M core/include/Variable/VariableAcquisitionWorker.h * M core/include/Variable/VariableCacheStrategy.h * M core/include/Variable/VariableController.h * M core/src/Variable/VariableAcquisitionWorker.cpp * M core/src/Variable/VariableCacheStrategy.cpp * M core/src/Variable/VariableController.cpp * M gui/src/Visualization/VisualizationZoneWidget.cpp * M plugins/amda/include/AmdaPlugin.h * M plugins/amda/src/AmdaProvider.cpp * M plugins/amda/tests/TestAmdaAcquisition.cpp * M plugins/mockplugin/include/MockPlugin.h * R COPYING * R app/src/MainWindow.cpp * R app/ui/MainWindow.ui * R cmake/sciqlop_package_qt.cmake * R core/include/Common/DateUtils.h * R core/include/Common/MetaTypes.h * R core/include/Common/SortUtils.h * R core/include/CoreGlobal.h * R core/include/Data/AcquisitionDataPacket.h * R core/include/Data/ArrayData.h * R core/include/Data/DataProviderParameters.h * R core/include/Data/DataSeries.h * R core/include/Data/DataSeriesIterator.h * R core/include/Data/IDataProvider.h * R core/include/Data/IDataSeries.h * R core/include/Data/ScalarSeries.h * R core/include/Data/SqpRange.h * R core/include/Data/VectorSeries.h * R core/include/DataSource/DataSourceItemAction.h * R core/include/Network/NetworkController.h * R core/include/Plugin/PluginManager.h * R core/include/Settings/ISqpSettingsBindable.h * R core/include/Settings/SqpSettingsDefs.h * R core/include/Time/TimeController.h * R core/include/Variable/Variable.h * R core/include/Variable/VariableCacheController.h * R core/include/Variable/VariableModel.h * R core/include/Variable/VariableSynchronizationGroup.h * R core/include/Visualization/VisualizationController.h * R core/src/Common/DateUtils.cpp * R core/src/Data/DataSeriesIterator.cpp * R core/src/Data/ScalarSeries.cpp * R core/src/Data/VectorSeries.cpp * R core/src/DataSource/DataSourceItemAction.cpp * R core/src/Network/NetworkController.cpp * R core/src/Plugin/PluginManager.cpp * R core/src/Settings/SqpSettingsDefs.cpp * R core/src/Time/TimeController.cpp * R core/src/Variable/Variable.cpp * R core/src/Variable/VariableCacheController.cpp * R core/src/Variable/VariableModel.cpp * R core/src/Variable/VariableSynchronizationGroup.cpp * R core/src/Visualization/VisualizationController.cpp * R core/tests/Data/TestDataSeries.cpp * R core/tests/Data/TestOneDimArrayData.cpp * R core/tests/Data/TestTwoDimArrayData.cpp * R core/tests/Variable/TestVariable.cpp * R core/tests/Variable/TestVariableCacheController.cpp * R gui/include/Common/ColorUtils.h * R gui/include/DataSource/DataSourceTreeWidgetHelper.h * R gui/include/DataSource/DataSourceTreeWidgetItem.h * R gui/include/DataSource/DataSourceWidget.h * R gui/include/Settings/SqpSettingsDialog.h * R gui/include/Settings/SqpSettingsGeneralWidget.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/VisualizationDefs.h * R gui/include/Visualization/VisualizationGraphHelper.h * R gui/include/Visualization/VisualizationGraphRenderingDelegate.h * R gui/include/Visualization/VisualizationGraphWidget.h * R gui/include/Visualization/VisualizationTabWidget.h * R gui/include/Visualization/VisualizationWidget.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/operations/RescaleAxeOperation.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/Common/ColorUtils.cpp * R gui/src/DataSource/DataSourceTreeWidgetHelper.cpp * R gui/src/DataSource/DataSourceTreeWidgetItem.cpp * R gui/src/DataSource/DataSourceWidget.cpp * R gui/src/Settings/SqpSettingsDialog.cpp * R gui/src/Settings/SqpSettingsGeneralWidget.cpp * R gui/src/SidePane/SqpSidePane.cpp * R gui/src/TimeWidget/TimeWidget.cpp * R gui/src/Variable/VariableInspectorWidget.cpp * R gui/src/Variable/VariableMenuHeaderWidget.cpp * R gui/src/Visualization/VisualizationGraphHelper.cpp * R gui/src/Visualization/VisualizationGraphRenderingDelegate.cpp * R gui/src/Visualization/VisualizationGraphWidget.cpp * R gui/src/Visualization/VisualizationTabWidget.cpp * R gui/src/Visualization/VisualizationWidget.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/operations/RescaleAxeOperation.cpp * R gui/src/Visualization/qcustomplot.cpp * R gui/ui/DataSource/DataSourceWidget.ui * R gui/ui/Settings/SqpSettingsDialog.ui * R gui/ui/Settings/SqpSettingsGeneralWidget.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/AmdaProvider.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/resources/samples/AmdaSampleV2.json * R plugins/amda/src/AmdaDefs.cpp * R plugins/amda/src/AmdaParser.cpp * R plugins/amda/src/AmdaPlugin.cpp * R plugins/amda/src/AmdaResultParser.cpp * R plugins/amda/tests-resources/TestAmdaAcquisition/AmdaData-2012-01-01-12-00-00_2012-01-03-12-00-00.txt * 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/FileNotFound.txt * R plugins/amda/tests-resources/TestAmdaResultParser/NaNValue.txt * R plugins/amda/tests-resources/TestAmdaResultParser/NaNX.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/ValidVector1.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/amda/tests/TestAmdaResultParser.cpp * R plugins/mockplugin/CMakeLists.txt * R plugins/mockplugin/cmake/Findsciqlop-mockplugin.cmake * R plugins/mockplugin/include/CosinusProvider.h * R plugins/mockplugin/include/MockPluginGlobal.h * R plugins/mockplugin/resources/mockplugin.json * R plugins/mockplugin/src/CosinusProvider.cpp * 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 gui/src/SqpApplication.cpp * 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