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
statusreportdialog.h
Go to the documentation of this file.
1
17#ifndef OPENSWMMVIS_UI_DIALOGS_STATUSREPORTDIALOG_H
18#define OPENSWMMVIS_UI_DIALOGS_STATUSREPORTDIALOG_H
19
20#include "io/rptparser.h"
21
22#include <QDialog>
23#include <QString>
24#include <QVector>
25
26class QCheckBox;
27class QComboBox;
28class QLabel;
29class QLineEdit;
30class QListView;
31class QSortFilterProxyModel;
32class QStandardItemModel;
33class QSplitter;
34class QPlainTextEdit;
35class QSyntaxHighlighter;
36
37namespace openswmmvis::ui {
38
42 QString label;
43 QString path;
44};
45
46class StatusReportDialog : public QDialog
47{
48 Q_OBJECT
49public:
50 explicit StatusReportDialog(const QString &rptPath, QWidget *parent = nullptr);
51
54 explicit StatusReportDialog(const QVector<ReportSource> &sources,
55 int initialIndex = 0,
56 QWidget *parent = nullptr);
58
59private slots:
60 void onSearchChanged();
61 void onSearchNext();
62 void onSearchPrev();
63 void onSectionFilterChanged(const QString &text);
64 void onSectionActivated(const QModelIndex &proxyIdx);
65
66private:
67 void buildUi();
68 void loadReport(int sourceIndex);
69 void populateText(const QVector<openswmmvis::io::RptSection> &sections,
70 const QString &reportText);
71 void runFind(bool backwards);
72 void updateMatchCounter();
73
74 QVector<ReportSource> m_sources;
75 QString m_path;
76
77 QComboBox *m_runCombo = nullptr;
78
79 QSplitter *m_splitter = nullptr;
80
81 QListView *m_sectionList = nullptr;
82 QLineEdit *m_sectionFilter = nullptr;
83 QStandardItemModel *m_sectionsModel = nullptr;
84 QSortFilterProxyModel *m_sectionsProxy = nullptr;
85
86 QPlainTextEdit *m_viewer = nullptr;
87 QSyntaxHighlighter *m_highlighter = nullptr;
88
89 QLineEdit *m_searchEdit = nullptr;
90 QCheckBox *m_regexToggle = nullptr;
91 QLabel *m_searchStatus = nullptr;
92
93 QLabel *m_continuityBanner = nullptr;
94
95 // Per-section anchor positions inside m_viewer (start of section title in
96 // the concatenated text). Index matches m_sectionsModel rows.
97 QVector<int> m_sectionAnchors;
98};
99
100// Slice GUI-2026-05-30 §6 — alias documents the intended name.
102
103} // namespace openswmmvis::ui
104
105#endif // OPENSWMMVIS_UI_DIALOGS_STATUSREPORTDIALOG_H
Definition statusreportdialog.h:47
Definition openswmmvislayer.h:43
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
QString text
Definition queryparser.cpp:35
Slice BE — section-aware .rpt parser for the Status Report Viewer.
Definition statusreportdialog.h:41
QString path
absolute .rpt path.
Definition statusreportdialog.h:43
QString label
user-visible run / scenario name.
Definition statusreportdialog.h:42