diff --git a/gui/include/Visualization/VisualizationGraphWidget.h b/gui/include/Visualization/VisualizationGraphWidget.h index 3b62469..e1d64d6 100644 --- a/gui/include/Visualization/VisualizationGraphWidget.h +++ b/gui/include/Visualization/VisualizationGraphWidget.h @@ -130,6 +130,7 @@ signals: void move_sig(double factor, Qt::Orientation orientation, bool forward=true); void move_sig(double dx, double dy, bool forward=true); void transform_sig(const DateTimeRangeTransformation& tranformation, bool forward=true); + void setrange_sig(const DateTimeRange& range, bool updateVar=false, bool forward=true); protected: void closeEvent(QCloseEvent *event) override; diff --git a/gui/src/Visualization/VisualizationGraphWidget.cpp b/gui/src/Visualization/VisualizationGraphWidget.cpp index a950d69..de3036b 100644 --- a/gui/src/Visualization/VisualizationGraphWidget.cpp +++ b/gui/src/Visualization/VisualizationGraphWidget.cpp @@ -550,13 +550,10 @@ DateTimeRange VisualizationGraphWidget::graphRange() const noexcept void VisualizationGraphWidget::setGraphRange(const DateTimeRange &range, bool updateVar, bool forward) { - auto oldRange = graphRange(); impl->setRange(range, updateVar); if(forward) { - auto newRange = graphRange(); - if(auto tf = DateTimeRangeHelper::computeTransformation(oldRange,newRange)) - emit this->transform_sig(tf.value(), false); + emit this->setrange_sig(this->graphRange(), true, false); } } @@ -632,28 +629,28 @@ void VisualizationGraphWidget::zoom(double factor, int center, Qt::Orientation o { impl->zoom(factor, center, orientation); if(forward && orientation==Qt::Horizontal) - emit this->zoom_sig(factor, center, orientation, false); + emit this->setrange_sig(this->graphRange(), true, false); } void VisualizationGraphWidget::move(double factor, Qt::Orientation orientation, bool forward) { impl->move(factor, orientation); if(forward) - emit this->move_sig(factor, orientation, false); + emit this->setrange_sig(this->graphRange(), true, false); } void VisualizationGraphWidget::move(double dx, double dy, bool forward) { impl->move(dx, dy); if(forward) - emit this->move_sig(dx, dy, false); + emit this->setrange_sig(this->graphRange(), true, false); } void VisualizationGraphWidget::transform(const DateTimeRangeTransformation &tranformation, bool forward) { impl->transform(tranformation); if(forward) - emit this->transform_sig(tranformation, false); + emit this->setrange_sig(this->graphRange(), true, false); } void VisualizationGraphWidget::accept(IVisualizationWidgetVisitor *visitor) @@ -890,7 +887,7 @@ void VisualizationGraphWidget::mouseMoveEvent(QMouseEvent *event) if(sqpApp->plotsInteractionMode() == SqpApplication::PlotsInteractionMode::None) { auto [dx,dy] = impl->moveGraph(event->pos()); - emit this->move_sig(dx,0., false); // don't sync Y transformations + emit this->setrange_sig(this->graphRange(), true, false); } else if(sqpApp->plotsInteractionMode() == SqpApplication::PlotsInteractionMode::SelectionZones) { diff --git a/gui/src/Visualization/VisualizationZoneWidget.cpp b/gui/src/Visualization/VisualizationZoneWidget.cpp index a3e886f..dbc3416 100644 --- a/gui/src/Visualization/VisualizationZoneWidget.cpp +++ b/gui/src/Visualization/VisualizationZoneWidget.cpp @@ -183,21 +183,23 @@ void VisualizationZoneWidget::insertGraph(int index, VisualizationGraphWidget *g for(int i=0;icount();i++) { auto graph = qobject_cast(layout->itemAt(i)->widget()); - connect(graphWidget, &VisualizationGraphWidget::zoom_sig, graph, &VisualizationGraphWidget::zoom); - connect(graphWidget, &VisualizationGraphWidget::transform_sig, graph, &VisualizationGraphWidget::transform); - - connect(graphWidget, qOverload(&VisualizationGraphWidget::move_sig), - graph, qOverload(&VisualizationGraphWidget::move)); - connect(graphWidget, qOverload(&VisualizationGraphWidget::move_sig), - graph, qOverload(&VisualizationGraphWidget::move)); - - connect(graph, &VisualizationGraphWidget::zoom_sig, graphWidget, &VisualizationGraphWidget::zoom); - connect(graph, &VisualizationGraphWidget::transform_sig, graphWidget, &VisualizationGraphWidget::transform); - - connect(graph, qOverload(&VisualizationGraphWidget::move_sig), - graphWidget, qOverload(&VisualizationGraphWidget::move)); - connect(graph, qOverload(&VisualizationGraphWidget::move_sig), - graphWidget, qOverload(&VisualizationGraphWidget::move)); + connect(graphWidget, &VisualizationGraphWidget::setrange_sig, graph, &VisualizationGraphWidget::setGraphRange); + connect(graph, &VisualizationGraphWidget::setrange_sig, graphWidget, &VisualizationGraphWidget::setGraphRange); +// connect(graphWidget, &VisualizationGraphWidget::zoom_sig, graph, &VisualizationGraphWidget::zoom); +// connect(graphWidget, &VisualizationGraphWidget::transform_sig, graph, &VisualizationGraphWidget::transform); + +// connect(graphWidget, qOverload(&VisualizationGraphWidget::move_sig), +// graph, qOverload(&VisualizationGraphWidget::move)); +// connect(graphWidget, qOverload(&VisualizationGraphWidget::move_sig), +// graph, qOverload(&VisualizationGraphWidget::move)); + +// connect(graph, &VisualizationGraphWidget::zoom_sig, graphWidget, &VisualizationGraphWidget::zoom); +// connect(graph, &VisualizationGraphWidget::transform_sig, graphWidget, &VisualizationGraphWidget::transform); + +// connect(graph, qOverload(&VisualizationGraphWidget::move_sig), +// graphWidget, qOverload(&VisualizationGraphWidget::move)); +// connect(graph, qOverload(&VisualizationGraphWidget::move_sig), +// graphWidget, qOverload(&VisualizationGraphWidget::move)); } if(auto graph = firstGraph()) { diff --git a/plugins/amda/src/AmdaResultParserHelper.cpp b/plugins/amda/src/AmdaResultParserHelper.cpp index b3f1537..d857a59 100644 --- a/plugins/amda/src/AmdaResultParserHelper.cpp +++ b/plugins/amda/src/AmdaResultParserHelper.cpp @@ -245,8 +245,11 @@ bool tryReadUnit(Properties &properties, const QString &key, const QString &line bool ScalarParserHelper::checkProperties() { - return checkUnit(m_Properties, X_AXIS_UNIT_PROPERTY, - QObject::tr("The x-axis unit could not be found in the file")); + if(auto hasXUnit = checkUnit(m_Properties, X_AXIS_UNIT_PROPERTY, QObject::tr("The x-axis unit could not be found in the file"));!hasXUnit) + { + m_Properties[X_AXIS_UNIT_PROPERTY] = QVariant::fromValue(Unit{"s",true}); + } + return true; } IDataSeries* ScalarParserHelper::createSeries() @@ -402,8 +405,11 @@ void SpectrogramParserHelper::handleDataHoles() bool VectorParserHelper::checkProperties() { - return checkUnit(m_Properties, X_AXIS_UNIT_PROPERTY, - QObject::tr("The x-axis unit could not be found in the file")); + if(auto hasXUnit = checkUnit(m_Properties, X_AXIS_UNIT_PROPERTY, QObject::tr("The x-axis unit could not be found in the file"));!hasXUnit) + { + m_Properties[X_AXIS_UNIT_PROPERTY] = QVariant::fromValue(Unit{"s",true}); + } + return true; } IDataSeries* VectorParserHelper::createSeries()