##// END OF EJS Templates
Basic ui
Basic ui

File last commit:

r1085:a02153d618e2
r1096:decf60da982d
Show More
VisualizationSelectionZoneItem.h
68 lines | 2.8 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>
#include <Data/SqpRange.h>
#include <Visualization/qcustomplot.h>
Action "Remove Selected Zones"
r1079 class VisualizationGraphWidget;
Display of selection zones on a graph
r1044 class VisualizationSelectionZoneItem : public QCPItemRect {
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;
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;
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