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
profilepathpickerdialog.h
Go to the documentation of this file.
1
16#ifndef PROFILEPATHPICKERDIALOG_H
17#define PROFILEPATHPICKERDIALOG_H
18
19#include "plot/profilerouter.h"
20
21#include <QDialog>
22#include <QVector>
23
24class QTableWidget;
25class QDialogButtonBox;
26class SWMMModelLayer;
27
28class ProfilePathPickerDialog : public QDialog
29{
30 Q_OBJECT
31
32public:
34 const QVector<ProfileRouter::Path> &paths,
35 bool truncated = false,
36 QWidget *parent = nullptr);
37
42 [[nodiscard]] int selectedPathIndex() const;
43
44signals:
51
57
58private slots:
59 void onCurrentRowChanged(int currentRow, int previousRow);
60
61private:
62 void populateTable();
63 void summarizePath(int pathIdx,
64 double &lengthOut,
65 int &conduitsOut,
66 int &nonConduitsOut,
67 double &dropOut) const;
68
69 SWMMModelLayer *m_model = nullptr;
70 QVector<ProfileRouter::Path> m_paths;
71 QTableWidget *m_table = nullptr;
72 QDialogButtonBox *m_buttons = nullptr;
73 int m_selectedIdx = -1;
74};
75
76#endif // PROFILEPATHPICKERDIALOG_H
Definition profilepathpickerdialog.h:29
void zoomToPathRequested(int index)
Emitted on row double-click — the host listens to zoom the main map to that candidate path's extent.
int selectedPathIndex() const
Index (0-based) of the path the user accepted, or -1 when the dialog was cancelled.
Definition profilepathpickerdialog.cpp:119
void hoveredPathChanged(int index)
Emitted whenever the focused/selected row changes — the host listens to update the map overlay's high...
Renders the SWMM network elements (nodes, links, subcatchments, rain gages) for one OpenSWMMEngine mo...
Definition swmmmodellayer.h:133
int index
Position in m_quadRegions / m_quadReports.
Definition meshgenerator.cpp:153
Path-routing primitives over an abstract weighted graph, used by Slice BC's profile-path picker.
QVector< Path > paths
Definition pslgminsize.cpp:560
QVector< int > parent
union-find
Definition pslgminsize.cpp:176