#ifndef SCIQLOP_VISUALIZATIONGRAPHWIDGET_H #define SCIQLOP_VISUALIZATIONGRAPHWIDGET_H #include "Visualization/IVisualizationWidget.h" #include #include #include class Variable; namespace Ui { class VisualizationGraphWidget; } // namespace Ui class VisualizationGraphWidget : public QWidget, public IVisualizationWidget { Q_OBJECT public: explicit VisualizationGraphWidget(const QString &name = {}, QWidget *parent = 0); virtual ~VisualizationGraphWidget(); void addVariable(std::shared_ptr variable); // IVisualizationWidget interface void accept(IVisualizationWidgetVisitor *visitor) override; bool canDrop(const Variable &variable) const override; void close() override; QString name() const override; private: Ui::VisualizationGraphWidget *ui; class VisualizationGraphWidgetPrivate; spimpl::unique_impl_ptr impl; private slots: /// Slot called when a mouse wheel was made, to perform some processing before the zoom is done void onMouseWheel(QWheelEvent *event) noexcept; }; #endif // SCIQLOP_VISUALIZATIONGRAPHWIDGET_H