##// END OF EJS Templates
More GUI tests refactoring, this will allow more complex tests and ease sync graph tests...
More GUI tests refactoring, this will allow more complex tests and ease sync graph tests Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r1347:17e0dafec10c
r1370:c3077e0c31af
Show More
VisualizationSelectionZoneItem.h
73 lines | 2.9 KiB | text/x-c | CLexer
/ gui / include / Visualization / VisualizationSelectionZoneItem.h
Display of selection zones on a graph
r1044 #ifndef SCIQLOP_VISUALIZATIONSELECTIONZONEITEM_H
#define SCIQLOP_VISUALIZATIONSELECTIONZONEITEM_H
#include <Common/spimpl.h>
Made core module a git submodule, ready to start switching to new...
r1347 #include <Data/DateTimeRange.h>
Display of selection zones on a graph
r1044 #include <Visualization/qcustomplot.h>
Action "Remove Selected Zones"
r1079 class VisualizationGraphWidget;
Display of selection zones on a graph
r1044 class VisualizationSelectionZoneItem : public QCPItemRect {
Link between selection zone item and event
r1293 Q_OBJECT
signals:
/// Signal emitted when the zone range is edited manually
Renamed SqpRange to DateTimeRange, introduced VariableController2 to...
r1346 void rangeEdited(const DateTimeRange &range);
multi selection of zones
r1049
Display of selection zones on a graph
r1044 public:
VisualizationSelectionZoneItem(QCustomPlot *plot);
virtual ~VisualizationSelectionZoneItem();
Action "Remove Selected Zones"
r1079 VisualizationGraphWidget *parentGraphWidget() const noexcept;
Display of selection zones on a graph
r1044 void setName(const QString &name);
QString name() const;
Renamed SqpRange to DateTimeRange, introduced VariableController2 to...
r1346 DateTimeRange range() const;
Display of selection zones on a graph
r1044 void setRange(double tstart, double tend);
void setStart(double tstart);
void setEnd(double tend);
void setColor(const QColor &color);
void setEditionEnabled(bool value);
bool isEditionEnabled() const;
Selection of stacked zone via a dialog box
r1085 /// Moves the item at the top of its QCPLayer. It will then receive the mouse events if multiple
/// items are stacked on top of each others.
void moveToTop();
Display of selection zones on a graph
r1044 Qt::CursorShape curshorShapeForPosition(const QPoint &position) const;
void setHovered(bool value);
Alignment actions for zone selections
r1081 /// Sets the zones which should be moved or reisized together with this zone
Resize and move of multiple zones together
r1050 void setAssociatedEditedZones(const QVector<VisualizationSelectionZoneItem *> &associatedZones);
Alignment actions for zone selections
r1081 /// Align the specified zones with this one, vertically with the left border
bool alignZonesVerticallyOnLeft(const QVector<VisualizationSelectionZoneItem *> &zonesToAlign,
bool allowResize);
/// Align the specified zones with this one, vertically with the right border
bool alignZonesVerticallyOnRight(const QVector<VisualizationSelectionZoneItem *> &zonesToAlign,
bool allowResize);
/// Align the specified zones with this one, temporally with the left border
bool alignZonesTemporallyOnLeft(const QVector<VisualizationSelectionZoneItem *> &zonesToAlign,
bool allowResize);
/// Align the specified zones with this one, temporally with the right border
bool alignZonesTemporallyOnRight(const QVector<VisualizationSelectionZoneItem *> &zonesToAlign,
bool allowResize);
Display of selection zones on a graph
r1044 protected:
void mousePressEvent(QMouseEvent *event, const QVariant &details) override;
void mouseMoveEvent(QMouseEvent *event, const QPointF &startPos) override;
void mouseReleaseEvent(QMouseEvent *event, const QPointF &startPos) override;
Resize and move of multiple zones together
r1050 void resizeLeft(double pixelDiff);
void resizeRight(double pixelDiff);
void move(double pixelDiff);
Display of selection zones on a graph
r1044 private:
class VisualizationSelectionZoneItemPrivate;
spimpl::unique_impl_ptr<VisualizationSelectionZoneItemPrivate> impl;
};
#endif // SCIQLOP_VISUALIZATIONSELECTIONZONEITEM_H