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
runpathresolver.h File Reference
#include <QString>
Include dependency graph for runpathresolver.h:
This graph shows which files directly or indirectly include this file:

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)
 

Detailed Description

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

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.