##// END OF EJS Templates
Multi selection improvements
Multi selection improvements

File last commit:

r1116:13a66582f6e0
r1119:8c4e23ece78b
Show More
VisualizationSelectionZoneItem.h
64 lines | 2.6 KiB | text/x-c | CLexer
/ gui / include / Visualization / VisualizationSelectionZoneItem.h
Display of selection zones on a graph
r1084 #ifndef SCIQLOP_VISUALIZATIONSELECTIONZONEITEM_H
#define SCIQLOP_VISUALIZATIONSELECTIONZONEITEM_H
#include <Common/spimpl.h>
#include <Data/SqpRange.h>
#include <Visualization/qcustomplot.h>
Action "Remove Selected Zones"
r1114 class VisualizationGraphWidget;
Display of selection zones on a graph
r1084 class VisualizationSelectionZoneItem : public QCPItemRect {
multi selection of zones
r1089
Display of selection zones on a graph
r1084 public:
VisualizationSelectionZoneItem(QCustomPlot *plot);
virtual ~VisualizationSelectionZoneItem();
Action "Remove Selected Zones"
r1114 VisualizationGraphWidget *parentGraphWidget() const noexcept;
Display of selection zones on a graph
r1084 void setName(const QString &name);
QString name() const;
SqpRange range() const;
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;
Qt::CursorShape curshorShapeForPosition(const QPoint &position) const;
void setHovered(bool value);
Alignment actions for zone selections
r1116 /// Sets the zones which should be moved or reisized together with this zone
Resize and move of multiple zones together
r1090 void setAssociatedEditedZones(const QVector<VisualizationSelectionZoneItem *> &associatedZones);
Alignment actions for zone selections
r1116 /// 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
r1084 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
r1090 void resizeLeft(double pixelDiff);
void resizeRight(double pixelDiff);
void move(double pixelDiff);
Display of selection zones on a graph
r1084 private:
class VisualizationSelectionZoneItemPrivate;
spimpl::unique_impl_ptr<VisualizationSelectionZoneItemPrivate> impl;
};
#endif // SCIQLOP_VISUALIZATIONSELECTIONZONEITEM_H