28#ifndef OPENSWMMVIS_UI_WIDGETS_PATTERNEDITCHARTVIEW_H
29#define OPENSWMMVIS_UI_WIDGETS_PATTERNEDITCHARTVIEW_H
64 QLineSeries *referenceSeries,
65 QWidget *
parent =
nullptr);
74 QUndoStack *
undoStack() const noexcept {
return m_undoStack; }
91 int hitTestSlot(
const QPoint &viewportPx,
int hitRadiusPx = 10)
const;
104 void onProviderFactorChanged_(
int i);
105 void onProviderFactorsChanged_();
108 void refreshSelectionOverlay_();
109 QPointF viewportToValue_(
const QPoint &px)
const;
110 double slotCenterX_(
int i)
const noexcept {
return double(
i) + 0.5; }
112 QPointer<openswmmvis::pattern::PatternProvider> m_provider;
113 QUndoStack *m_undoStack =
nullptr;
114 QLineSeries *m_referenceSeries =
nullptr;
115 QScatterSeries *m_selectedScatter =
nullptr;
120 bool m_dragging =
false;
121 bool m_horizontalDrag =
false;
122 bool m_dragAxisLocked =
false;
124 QPointF m_pressValue;
126 int m_dragStartSlot = -1;
127 double m_dragInitialValue = 0.0;
128 QVector<int> m_swapHistory;
130 QVector<int> m_selection;
Definition patternprovider.h:49
Definition interactivechartview.h:43
Definition patterneditchartview.h:50
void mouseMoveEvent(QMouseEvent *e) override
Definition patterneditchartview.cpp:191
int hitTestSlot(const QPoint &viewportPx, int hitRadiusPx=10) const
Convert a viewport pixel to the slot index whose centre is closest, or -1 if no slot lies within hitR...
Definition patterneditchartview.cpp:140
void selectionChanged(const QVector< int > &indices)
void mouseReleaseEvent(QMouseEvent *e) override
Definition patterneditchartview.cpp:238
void editModeChanged(EditMode m)
QUndoStack * undoStack() const noexcept
Definition patterneditchartview.h:74
void mousePressEvent(QMouseEvent *e) override
Definition patterneditchartview.cpp:161
QVector< int > selectedIndices() const
Definition patterneditchartview.h:83
EditMode
Definition patterneditchartview.h:54
@ EditPoints
Y-drag = factor edit; X-drag = adjacent-slot swap.
void contextMenuEvent(QContextMenuEvent *e) override
Definition patterneditchartview.cpp:286
void setProvider(openswmmvis::pattern::PatternProvider *p)
Definition patterneditchartview.cpp:57
openswmmvis::pattern::PatternProvider * provider() const noexcept
Definition patterneditchartview.cpp:52
void setEditMode(EditMode m)
Definition patterneditchartview.cpp:74
void clearSelection()
Definition patterneditchartview.cpp:117
void setUndoStack(QUndoStack *stack)
Definition patterneditchartview.cpp:72
EditMode editMode() const noexcept
Definition patterneditchartview.h:78
~PatternEditChartView() override
void setSelection(QVector< int > indices)
Definition patterneditchartview.cpp:125
size_t i
Definition contourjob.cpp:27
int e
Definition inpmeshreader.cpp:41
Slice AT.2 — QChartView subclass with Select / Pan / ZoomIn / ZoomOut modes mirroring ProfilePlotDial...
ArrowPlacement p
Definition linesymbollayer.cpp:27
MaskMode m
Definition maskspec.cpp:18
Definition patternprovider.h:36
Definition openswmmvislayer.h:43
Definition aquiferprovider.h:21
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
double
Definition swmmpollutantpropertyadapter.cpp:50