SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
openswmmvis::ui::CurveEditChartView Class Reference

#include <curveeditchartview.h>

Inheritance diagram for openswmmvis::ui::CurveEditChartView:
Collaboration diagram for openswmmvis::ui::CurveEditChartView:

Public Types

enum class  EditMode {
  None ,
  EditPoints
}
 
- Public Types inherited from openswmmvis::ui::InteractiveChartView
enum class  Mode {
  Select = 0 ,
  Pan ,
  ZoomIn ,
  ZoomOut
}
 
enum class  AxisEdge {
  None = 0 ,
  XMinimum ,
  XMaximum ,
  YMinimum ,
  YMaximum
}
 

Signals

void selectionChanged (const QVector< int > &indices)
 
void editModeChanged (EditMode m)
 
void lockXChanged (bool on)
 
void lockYChanged (bool on)
 
- Signals inherited from openswmmvis::ui::InteractiveChartView
void modeChanged (Mode m)
 Fired whenever the mode changes (toolbar reflection).
 
void chartContextMenuRequested (const QPoint &globalPos)
 Fired on right-click. Carries global screen position so the parent dialog can pop its own row-aware context menu.
 
void xRangeSelectionChanged (QDateTime lo, QDateTime hi)
 Slice AT.3 — Shift-drag X-range selection ended on this view. Carries selected [lo, hi] as QDateTimes. Passed to the StatsSummaryPanel to narrow stats. Empty (invalid, invalid) clears the selection.
 

Public Member Functions

 CurveEditChartView (QChart *chart, QLineSeries *referenceSeries, QWidget *parent=nullptr)
 Construct over an externally-owned QChart. referenceSeries is used as the value↔pixel mapping anchor for mapToValue / mapToPosition (typically the dialog's line series).
 
 ~CurveEditChartView () override
 
openswmmvis::curve::CurveProviderprovider () const noexcept
 
void setProvider (openswmmvis::curve::CurveProvider *p)
 
void setUndoStack (QUndoStack *stack)
 Bind the undo stack for drag-completion commands.
 
QUndoStack * undoStack () const noexcept
 
void setAxisFormatController (ChartAxisFormatController *c)
 Bind the per-chart axis number-format controller so the context menu can offer "Chart Properties…". Not owned.
 
EditMode editMode () const noexcept
 
void setEditMode (EditMode m)
 
bool lockX () const noexcept
 
bool lockY () const noexcept
 
void setLockX (bool on)
 
void setLockY (bool on)
 
QVector< int > selectedIndices () const
 
void clearSelection ()
 
void setSelection (QVector< int > indices)
 
int hitTestPoint (const QPoint &viewportPx, int hitRadiusPx=8) const
 Public for tests — convert a viewport pixel to the nearest point index, or -1 if no point lies within hitRadiusPx.
 
- Public Member Functions inherited from openswmmvis::ui::InteractiveChartView
 InteractiveChartView (QChart *chart, QWidget *parent=nullptr)
 
 ~InteractiveChartView () override
 
Mode mode () const noexcept
 
void setMode (Mode m)
 
AxisEdge axisEdgeAt (const QPoint &viewportPx) const
 Returns the editable min/max axis label under viewportPx, or AxisEdge::None when the point is not in an endpoint-label gutter.
 
bool setAxisEdgeValue (AxisEdge edge, const QVariant &value)
 Programmatically set one visible axis edge. Numeric axes accept a numeric QVariant; date-time axes accept QDateTime.
 
void resetZoom ()
 Reset zoom to whatever the chart's initial zoom level was. Equivalent to chart()->zoomReset() plus a notify so parents that track range can resync.
 

Protected Member Functions

void mousePressEvent (QMouseEvent *e) override
 
void mouseMoveEvent (QMouseEvent *e) override
 
void mouseReleaseEvent (QMouseEvent *e) override
 
void contextMenuEvent (QContextMenuEvent *e) override
 
- Protected Member Functions inherited from openswmmvis::ui::InteractiveChartView
void mousePressEvent (QMouseEvent *e) override
 
void mouseMoveEvent (QMouseEvent *e) override
 
void mouseReleaseEvent (QMouseEvent *e) override
 
void wheelEvent (QWheelEvent *e) override
 
void keyPressEvent (QKeyEvent *e) override
 
void leaveEvent (QEvent *e) override
 

Member Enumeration Documentation

◆ EditMode

Enumerator
None 

Base modes only (Select / Pan / Zoom).

EditPoints 

Drag vertex (X/Y per axis locks); rubber-band multi-select.

Constructor & Destructor Documentation

◆ CurveEditChartView()

openswmmvis::ui::CurveEditChartView::CurveEditChartView ( QChart *  chart,
QLineSeries *  referenceSeries,
QWidget *  parent = nullptr 
)

Construct over an externally-owned QChart. referenceSeries is used as the value↔pixel mapping anchor for mapToValue / mapToPosition (typically the dialog's line series).

◆ ~CurveEditChartView()

openswmmvis::ui::CurveEditChartView::~CurveEditChartView ( )
overridedefault

Member Function Documentation

◆ clearSelection()

void openswmmvis::ui::CurveEditChartView::clearSelection ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ contextMenuEvent()

void openswmmvis::ui::CurveEditChartView::contextMenuEvent ( QContextMenuEvent *  e)
overrideprotected
Here is the call graph for this function:

◆ editMode()

EditMode openswmmvis::ui::CurveEditChartView::editMode ( ) const
inlinenoexcept

◆ editModeChanged

void openswmmvis::ui::CurveEditChartView::editModeChanged ( EditMode  m)
signal
Here is the caller graph for this function:

◆ hitTestPoint()

int openswmmvis::ui::CurveEditChartView::hitTestPoint ( const QPoint &  viewportPx,
int  hitRadiusPx = 8 
) const

Public for tests — convert a viewport pixel to the nearest point index, or -1 if no point lies within hitRadiusPx.

Here is the caller graph for this function:

◆ lockX()

bool openswmmvis::ui::CurveEditChartView::lockX ( ) const
inlinenoexcept

◆ lockXChanged

void openswmmvis::ui::CurveEditChartView::lockXChanged ( bool  on)
signal
Here is the caller graph for this function:

◆ lockY()

bool openswmmvis::ui::CurveEditChartView::lockY ( ) const
inlinenoexcept

◆ lockYChanged

void openswmmvis::ui::CurveEditChartView::lockYChanged ( bool  on)
signal
Here is the caller graph for this function:

◆ mouseMoveEvent()

void openswmmvis::ui::CurveEditChartView::mouseMoveEvent ( QMouseEvent *  e)
overrideprotected
Here is the call graph for this function:

◆ mousePressEvent()

void openswmmvis::ui::CurveEditChartView::mousePressEvent ( QMouseEvent *  e)
overrideprotected
Here is the call graph for this function:

◆ mouseReleaseEvent()

void openswmmvis::ui::CurveEditChartView::mouseReleaseEvent ( QMouseEvent *  e)
overrideprotected
Here is the call graph for this function:

◆ provider()

CurveProvider * openswmmvis::ui::CurveEditChartView::provider ( ) const
noexcept

◆ selectedIndices()

QVector< int > openswmmvis::ui::CurveEditChartView::selectedIndices ( ) const
inline

◆ selectionChanged

void openswmmvis::ui::CurveEditChartView::selectionChanged ( const QVector< int > &  indices)
signal
Here is the caller graph for this function:

◆ setAxisFormatController()

void openswmmvis::ui::CurveEditChartView::setAxisFormatController ( ChartAxisFormatController c)
inline

Bind the per-chart axis number-format controller so the context menu can offer "Chart Properties…". Not owned.

◆ setEditMode()

void openswmmvis::ui::CurveEditChartView::setEditMode ( EditMode  m)
Here is the call graph for this function:

◆ setLockX()

void openswmmvis::ui::CurveEditChartView::setLockX ( bool  on)
Here is the call graph for this function:

◆ setLockY()

void openswmmvis::ui::CurveEditChartView::setLockY ( bool  on)
Here is the call graph for this function:

◆ setProvider()

void openswmmvis::ui::CurveEditChartView::setProvider ( openswmmvis::curve::CurveProvider p)
Here is the call graph for this function:

◆ setSelection()

void openswmmvis::ui::CurveEditChartView::setSelection ( QVector< int >  indices)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setUndoStack()

void openswmmvis::ui::CurveEditChartView::setUndoStack ( QUndoStack *  stack)

Bind the undo stack for drag-completion commands.

◆ undoStack()

QUndoStack * openswmmvis::ui::CurveEditChartView::undoStack ( ) const
inlinenoexcept

The documentation for this class was generated from the following files: