#include <profileplotdialog.h>
|
| void | plotAttributeRequested (const SWMMObjectRef &ref, const openswmmvis::plot::ResultDescriptor &descriptor) |
| | Emitted when the user picks a specific variable from the "Plot Time Series…" submenu on a node / link right-click. Mirrors the map view's plotAttributeRequested so both entry points share the same ComparisonPlotDialog routing in SWMMVis. The descriptor carries a fixed attribute or a species BY NAME (Y2b-2, amendment D-Y4); an INVALID descriptor is the "All attributes" sentinel and the handler fans out one series per variable valid for the kind, species included.
|
| |
|
| | ProfilePlotDialog (SWMMModelLayer *model, AnimationController *anim, const ProfileRouter::Path &path, SWMMVisProjectWindow *projectWindow, QWidget *parent=nullptr) |
| | Constructs the dialog and binds it to the given path on the active model. Result sources are auto-discovered from anim 's primary and secondary layers; the primary controller drives the animation cursor.
|
| |
| | ~ProfilePlotDialog () override |
| | Sever every external signal/slot connection while children are still alive so that any cross-window teardown order (e.g. SWMMVis-level closeEvent → project close → dialog close all in one event-loop iteration) cannot deliver a signal into a half-destroyed dialog.
|
| |
|
| void | showEvent (QShowEvent *event) override |
| | After DialogLayoutWatcher restores the splitter state on this first Show, makes sure a shown attribute-tracks pane actually has height (a persisted zero-height split would otherwise read as the tracks never appearing).
|
| |
| bool | eventFilter (QObject *watched, QEvent *event) override |
| | Watches the tracks widget for resizes so the profile's right gutter can absorb the tracks scroll area's vertical scrollbar (see syncTracksGutter).
|
| |
◆ ProfilePlotDialog()
Constructs the dialog and binds it to the given path on the active model. Result sources are auto-discovered from anim 's primary and secondary layers; the primary controller drives the animation cursor.
- Parameters
-
| terrain | Optional DEM raster; when non-null the dialog samples it at each path-node coordinate and uses the resulting elevations as the ground line. Pass nullptr to fall back to invert + maxDepth. |
| canvasSRS | CRS of terrain's containing canvas; required only when terrain is non-null. |
◆ ~ProfilePlotDialog()
| ProfilePlotDialog::~ProfilePlotDialog |
( |
| ) |
|
|
override |
Sever every external signal/slot connection while children are still alive so that any cross-window teardown order (e.g. SWMMVis-level closeEvent → project close → dialog close all in one event-loop iteration) cannot deliver a signal into a half-destroyed dialog.
◆ eventFilter()
| bool ProfilePlotDialog::eventFilter |
( |
QObject * |
watched, |
|
|
QEvent * |
event |
|
) |
| |
|
overrideprotected |
Watches the tracks widget for resizes so the profile's right gutter can absorb the tracks scroll area's vertical scrollbar (see syncTracksGutter).
◆ plotAttributeRequested
Emitted when the user picks a specific variable from the "Plot Time Series…" submenu on a node / link right-click. Mirrors the map view's plotAttributeRequested so both entry points share the same ComparisonPlotDialog routing in SWMMVis. The descriptor carries a fixed attribute or a species BY NAME (Y2b-2, amendment D-Y4); an INVALID descriptor is the "All attributes" sentinel and the handler fans out one series per variable valid for the kind, species included.
◆ showEvent()
| void ProfilePlotDialog::showEvent |
( |
QShowEvent * |
event | ) |
|
|
overrideprotected |
After DialogLayoutWatcher restores the splitter state on this first Show, makes sure a shown attribute-tracks pane actually has height (a persisted zero-height split would otherwise read as the tracks never appearing).
The documentation for this class was generated from the following files: