##// END OF EJS Templates
Fix bug when creating two variables crash the app. ...
Fix bug when creating two variables crash the app. Variable as now invalid range and cache range at creation

File last commit:

r738:48ebbf123b7f
r756:a7f60f6512e6
Show More
VisualizationGraphWidget.h
98 lines | 3.3 KiB | text/x-c | CLexer
/ gui / include / Visualization / VisualizationGraphWidget.h
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 #ifndef SCIQLOP_VISUALIZATIONGRAPHWIDGET_H
#define SCIQLOP_VISUALIZATIONGRAPHWIDGET_H
Add the visualization gui classes
r118 #include "Visualization/IVisualizationWidget.h"
Alexandre Leroux
Adds logs for null visitors
r219 #include <QLoggingCategory>
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 #include <QWidget>
Add the visualization gui classes
r118 #include <memory>
#include <Common/spimpl.h>
Alexandre Leroux
Adds logs for null visitors
r219 Q_DECLARE_LOGGING_CATEGORY(LOG_VisualizationGraphWidget)
Alexandre Leroux
QCustomPlot notify the graph widget when the xRange changed
r227 class QCPRange;
Alexandre Leroux
Passes directly GraphWidget in delegate...
r725 class QCustomPlot;
Change SqpRange for SqpDateTime
r512 class SqpRange;
Add the visualization gui classes
r118 class Variable;
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 namespace Ui {
class VisualizationGraphWidget;
} // namespace Ui
Add the visualization gui classes
r118 class VisualizationGraphWidget : public QWidget, public IVisualizationWidget {
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 Q_OBJECT
Alexandre Leroux
Sets sames margin sides for graphs in a same zone
r730 friend class QCustomPlotSynchronizer;
Alexandre Leroux
Passes directly GraphWidget in delegate...
r725 friend class VisualizationGraphRenderingDelegate;
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 public:
Alexandre Leroux
Fixes reference
r205 explicit VisualizationGraphWidget(const QString &name = {}, QWidget *parent = 0);
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 virtual ~VisualizationGraphWidget();
Implementation of V5 acquisition
r539 /// If acquisition isn't enable, requestDataLoading signal cannot be emit
void enableAcquisition(bool enable);
Add synchronization that keep delta
r444
Initialisation of the graph range at creation in a new graphe, or inside...
r548 void addVariable(std::shared_ptr<Variable> variable, SqpRange range);
Alexandre Leroux
Remove variable from graph (2)...
r270 /// Removes a variable from the graph
void removeVariable(std::shared_ptr<Variable> variable) noexcept;
Add the visualization gui classes
r118
Change SqpRange for SqpDateTime
r512 void setRange(std::shared_ptr<Variable> variable, const SqpRange &range);
Initialisation of the graph range at creation in a new graphe, or inside...
r548 void setYRange(const SqpRange &range);
Change SqpRange for SqpDateTime
r512 SqpRange graphRange() const noexcept;
void setGraphRange(const SqpRange &range);
Add connection logical for the rescale operation
r437
Add the visualization gui classes
r118 // IVisualizationWidget interface
Alexandre Leroux
Updates visitor interface...
r207 void accept(IVisualizationWidgetVisitor *visitor) override;
Alexandre Leroux
Creates a interface that defines a variable container...
r209 bool canDrop(const Variable &variable) const override;
Alexandre Leroux
Unplot menu (5): adds contains() method to an IVariableContainer...
r327 bool contains(const Variable &variable) const override;
Alexandre Leroux
Adds override keywor
r218 QString name() const override;
Add the visualization gui classes
r118
Add synchronization that keep delta
r444
Fix the cosinus bug....
r298 signals:
Implementation of V5 acquisition
r539 void synchronize(const SqpRange &range, const SqpRange &oldRange);
void requestDataLoading(QVector<std::shared_ptr<Variable> > variable, const SqpRange &range,
const SqpRange &oldRange, bool synchronise);
Fix the cosinus bug....
r298
Alexandre Leroux
Handles desynchronisation when removing variable from a graph (1)...
r737 /// Signal emitted when the variable is about to be removed from the graph
void variableAboutToBeRemoved(std::shared_ptr<Variable> var);
/// Signal emitted when the variable has been added to the graph
Add synchronization part of v5 acquisition
r540 void variableAdded(std::shared_ptr<Variable> var);
Alexandre Leroux
Shows/hides plot overlay when entering/leaving graph
r728 protected:
Alexandre Leroux
Handles desynchronisation when removing variable from a graph (2)...
r738 void closeEvent(QCloseEvent *event) override;
Alexandre Leroux
Shows/hides plot overlay when entering/leaving graph
r728 void enterEvent(QEvent *event) override;
void leaveEvent(QEvent *event) override;
Add synchronization part of v5 acquisition
r540
Alexandre Leroux
Passes directly GraphWidget in delegate...
r725 QCustomPlot &plot() noexcept;
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 private:
Ui::VisualizationGraphWidget *ui;
Add the visualization gui classes
r118
class VisualizationGraphWidgetPrivate;
spimpl::unique_impl_ptr<VisualizationGraphWidgetPrivate> impl;
Alexandre Leroux
Handles key modifiers for zoom...
r179
private slots:
Alexandre Leroux
Remove variable from graph (1)...
r269 /// Slot called when right clicking on the graph (displays a menu)
void onGraphMenuRequested(const QPoint &pos) noexcept;
Alexandre Leroux
QCustomPlot notify the graph widget when the xRange changed
r227
Add synchronization that keep delta
r444 /// Rescale the X axe to range parameter
void onRangeChanged(const QCPRange &t1, const QCPRange &t2);
Alexandre Leroux
QCustomPlot notify the graph widget when the xRange changed
r227
Alexandre Leroux
Creates method that will display a tooltip and a tracer with data point information after a while
r481 /// Slot called when a mouse move was made
void onMouseMove(QMouseEvent *event) noexcept;
Alexandre Leroux
Handles key modifiers for zoom...
r179 /// Slot called when a mouse wheel was made, to perform some processing before the zoom is done
void onMouseWheel(QWheelEvent *event) noexcept;
Implementation of the calibration for the synchronization...
r445 /// Slot called when a mouse press was made, to activate the calibration of a graph
void onMousePress(QMouseEvent *event) noexcept;
/// Slot called when a mouse release was made, to deactivate the calibration of a graph
void onMouseRelease(QMouseEvent *event) noexcept;
The mock plugin can now create data with view operation
r235
void onDataCacheVariableUpdated();
add Skeleton for displaying data which are already in cache
r571
void onUpdateVarDisplaying(std::shared_ptr<Variable> variable, const SqpRange &range);
Creation of VisualizationWidget, VizualizationTabWidget, VisualizationZoneWidget, VisualizationGraphWidget
r58 };
#endif // SCIQLOP_VISUALIZATIONGRAPHWIDGET_H