![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
#include <QString>Go to the source code of this file.
Namespaces | |
| namespace | openswmmvis |
Enumerations | |
| enum class | openswmmvis::RunOutputKind { openswmmvis::Rpt , openswmmvis::Out } |
Functions | |
| QString | openswmmvis::resolveRunOutputPath (const QString &inpPath, const QString &override_, RunOutputKind kind) |
| QString | openswmmvis::resolveRunOutputPathFromSettings (const QString &inpPath, RunOutputKind kind) |
Slice QB.2 — Strategy C (GUI-only, no engine [OPTIONS] persistence).
Resolves the .rpt / .out path SimulationRunner should write to. Today SWMMVis::runActiveProject hard-codes those as <inp-basename>.rpt / <inp-basename>.out, ignoring the Simulation Options → Output tab overrides that Slice AA-4 already round-trips through QSettings under SWMMVis/Project/<inpPath>/ReportFilePath and OutputFilePath. This helper consults the QSettings override first, then falls back to the sibling default, so the user's existing override actually takes effect when they hit Run.
Strategy C scope (per §Q.5 of GUI_IMPLEMENTATION_PLAN.md): no engine surface, no .inp persistence — the override stays a per-machine preference. A future Strategy A (new OUT_FILE_PATH / RPT_FILE_PATH OPTIONS keys) would extend this resolver with a third tier without breaking callers.
The function is intentionally pure over (inpPath, override, kind) so tests can hit every precedence branch without spinning up the full SimulationOptionsDialog + QSettings store.