##// END OF EJS Templates
Removes title and close button from graph widget...
Removes title and close button from graph widget Title and button will be added directly as items in plot overlay

File last commit:

r538:ba71c0cdaccd
r665:6a98c66c04c4
Show More
VisualizationGraphWidget.h
86 lines | 2.8 KiB | text/x-c | CLexer
/ gui / include / Visualization / VisualizationGraphWidget.h
#ifndef SCIQLOP_VISUALIZATIONGRAPHWIDGET_H
#define SCIQLOP_VISUALIZATIONGRAPHWIDGET_H
#include "Visualization/IVisualizationWidget.h"
#include <QLoggingCategory>
#include <QWidget>
#include <memory>
#include <Common/spimpl.h>
Q_DECLARE_LOGGING_CATEGORY(LOG_VisualizationGraphWidget)
class QCPRange;
class SqpRange;
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();
/// If acquisition isn't enable, requestDataLoading signal cannot be emit
void enableAcquisition(bool enable);
void addVariable(std::shared_ptr<Variable> variable, SqpRange range);
/// Removes a variable from the graph
void removeVariable(std::shared_ptr<Variable> variable) noexcept;
void setRange(std::shared_ptr<Variable> variable, const SqpRange &range);
void setYRange(const SqpRange &range);
SqpRange graphRange() const noexcept;
void setGraphRange(const SqpRange &range);
// IVisualizationWidget interface
void accept(IVisualizationWidgetVisitor *visitor) override;
bool canDrop(const Variable &variable) const override;
bool contains(const Variable &variable) const override;
QString name() const override;
signals:
void synchronize(const SqpRange &range, const SqpRange &oldRange);
void requestDataLoading(QVector<std::shared_ptr<Variable> > variable, const SqpRange &range,
const SqpRange &oldRange, bool synchronise);
void variableAdded(std::shared_ptr<Variable> var);
private:
Ui::VisualizationGraphWidget *ui;
class VisualizationGraphWidgetPrivate;
spimpl::unique_impl_ptr<VisualizationGraphWidgetPrivate> impl;
private slots:
/// Slot called when right clicking on the graph (displays a menu)
void onGraphMenuRequested(const QPoint &pos) noexcept;
/// Rescale the X axe to range parameter
void onRangeChanged(const QCPRange &t1, const QCPRange &t2);
/// Slot called when a mouse move was made
void onMouseMove(QMouseEvent *event) noexcept;
/// Slot called when a mouse wheel was made, to perform some processing before the zoom is done
void onMouseWheel(QWheelEvent *event) noexcept;
/// 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;
void onDataCacheVariableUpdated();
void onUpdateVarDisplaying(std::shared_ptr<Variable> variable, const SqpRange &range);
};
#endif // SCIQLOP_VISUALIZATIONGRAPHWIDGET_H