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
transectchartview.h File Reference

Slice BQ Phase 6.7.4 — interactive cross-section preview chart. More...

#include <QChartView>
#include <QPointer>
#include <QPointF>
Include dependency graph for transectchartview.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openswmmvis::ui::TransectChartView
 

Namespaces

namespace  openswmmvis
 
namespace  openswmmvis::transect
 
namespace  openswmmvis::ui
 

Detailed Description

Slice BQ Phase 6.7.4 — interactive cross-section preview chart.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Date
2026
License\n GPL-3.0-or-later

Subclasses QChartView (not InteractiveChartView — the existing modes Select/Pan/ZoomIn/ZoomOut don't compose with an EditPoints handle drag, and stacking two competing mouse-event regimes is more friction than value here). Implements the legacy Dprevplot.pas series set plus modern additions:

  • QAreaSeries m_groundFill — semi-transparent fill below the bank line
  • QLineSeries m_leftOverbankLine — from leftmost station to xLeftBank
  • QLineSeries m_rightOverbankLine — from xRightBank to rightmost station
  • QLineSeries m_channelLine — slice between xLeftBank and xRightBank
  • QScatterSeries m_handles — one marker per station; the drag layer
  • QLineSeries dotted overlays at xLeftBank / xRightBank (bank markers)

Always-on: mouse-wheel zoom about cursor; middle-button drag = pan.

Toolbar / programmatic toggles:

  • Pan mode — left-button drag pans
  • EditPoints mode — left-button hit-test on m_handles drags a station (monotonicity clamped via TransectProvider::setPointLive; Shift = Y-only; Ctrl = X-only)
  • Zoom-to-extent — fits both axes to the provider's bounding box +10%
  • Reset zoom — calls QChart::zoomReset

Right-click emits contextMenuRequestedAt(globalPos) so the parent dialog can build a menu (Chart properties… / Zoom to extent / Reset zoom / Copy data… / Export PNG…).