25#ifndef OPENSWMM_GUI_FILE_FILTER_REGISTRY_H
26#define OPENSWMM_GUI_FILE_FILTER_REGISTRY_H
33#include <openswmm/plugin_sdk/IPluginComponentInfo.hpp>
151 void registerBuiltinFilters();
152 void registerEngineFilters();
154 static FilterKind kindForRole(openswmm::PluginRole
role)
noexcept;
156 QList<Entry> entries_;
Process-wide registry of file filters, populated from engine plugins + built-ins.
Definition filefilterregistry.h:60
static FileFilterRegistry * instance()
Process-wide singleton.
Definition filefilterregistry.cpp:23
QStringList patternsFor(FilterKind kind) const
Glob patterns for a kind, deduplicated.
Definition filefilterregistry.cpp:229
QString filterFor(FilterKind kind) const
Qt filter string for a kind. "All Supported" first, "All Files (*)" last.
Definition filefilterregistry.cpp:161
static bool isWriteKind(FilterKind kind) noexcept
Project sentinel kind for filters that participate in a "Save As" decision (Project / Input / Map Exp...
Definition filefilterregistry.cpp:289
QString saveAsFilter() const
Combined filter string for the Save As dialog.
Definition filefilterregistry.cpp:195
QList< Entry > allEntries() const
Snapshot of all entries — for the Plugins dialog.
Definition filefilterregistry.h:119
QList< Entry > entriesFor(FilterKind kind) const
Snapshot filtered by kind.
Definition filefilterregistry.cpp:259
void rescan()
Rebuild from engine discovery + built-in tables. Idempotent.
Definition filefilterregistry.cpp:35
static const char * kindLabel(FilterKind kind) noexcept
Stable display label for a kind (for menus, dialogs, logs).
Definition filefilterregistry.cpp:267
SWMM_FilePathRole role
Definition ioportabilitynormalizer.cpp:22
Definition aquiferprovider.h:21
FilterKind
GUI-side filter category. Superset of openswmm::PluginRole.
Definition filefilterregistry.h:40
@ ComponentConfigRead
Process-component config sidecars (*.rxn, *.ard, *.lard, *.heat, *.age, *.i2d). GUI-only (G-D1).
@ MapExportWrite
Map export (*.png, *.svg, *.dxf, *.emf, …). GUI-only.
@ ProjectWrite
SWMMVis project sidecar (*.oswp). GUI-only.
@ ReportWrite
SWMM summary report (*.rpt). Engine-backed (REPORT_WRITE).
@ RasterRead
GIS raster layer (GeoTIFF, ASCII grid, NetCDF, …). GUI-only.
@ StateRead
Hot-start input. Engine-backed (STATE_READ).
@ StateWrite
Hot-start output. Engine-backed (STATE_WRITE).
@ VectorRead
GIS vector layer (Shapefile, GeoJSON, GeoPackage, …). GUI-only.
@ InputRead
SWMM model input (*.inp, …). Engine-backed.
@ TabularRead
Observed / tabular data (*.csv, *.tsv, …). GUI-only.
@ ResultsWrite
SWMM binary output (*.out, …). Engine-backed (OUTPUT_WRITE).
@ ProjectRead
SWMMVis project sidecar (*.oswp). GUI-only.
@ ResultsRead
SWMM binary output (*.out). GUI-only — engine writes, GUI reads.
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
TokenKind kind
Definition queryparser.cpp:34
One row in the registry.
Definition filefilterregistry.h:68
QString pluginId
Empty for built-in entries.
Definition filefilterregistry.h:72
QStringList patterns
Glob patterns, e.g. {"*.inp"}.
Definition filefilterregistry.h:70
FilterKind kind
Definition filefilterregistry.h:71
QString description
Human-readable name, e.g. "SWMM Input File".
Definition filefilterregistry.h:69
bool canRead
Definition filefilterregistry.h:73
bool canWrite
Definition filefilterregistry.h:74
bool enabled
Definition filefilterregistry.h:75