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
importtargetregistry.h
Go to the documentation of this file.
1
20#ifndef OPENSWMMVIS_UI_DIALOGS_IMPORT_IMPORTTARGETREGISTRY_H
21#define OPENSWMMVIS_UI_DIALOGS_IMPORT_IMPORTTARGETREGISTRY_H
22
23#include <QCoreApplication>
24#include <QMetaType>
25#include <QString>
26#include <QVector>
27
28namespace openswmmvis::import {
29
32enum class TargetKind {
33 Junction = 0, Outfall, Storage, Divider, RainGage, // points
34 Conduit, Pump, Orifice, Weir, Outlet // polylines
35};
36
39struct EnumChoice {
40 QString label;
41 int code;
42};
43
46 QString key;
47 QString label;
48 QMetaType::Type type = QMetaType::Double;
49 bool required = false;
51 QVector<EnumChoice> enumChoices;
52};
53
55{
56 Q_DECLARE_TR_FUNCTIONS(ImportTargetRegistry)
57public:
59
61 [[nodiscard]] static QVector<TargetKind> allKinds();
62
64 [[nodiscard]] static QString kindLabel(TargetKind k);
65
68 [[nodiscard]] static bool isNodeKind(TargetKind k);
69 [[nodiscard]] static bool isLinkKind(TargetKind k);
71 [[nodiscard]] static bool isPointKind(TargetKind k);
72
75 [[nodiscard]] static int swmmNodeType(TargetKind k);
78 [[nodiscard]] static int swmmLinkType(TargetKind k);
79
85 [[nodiscard]] static QVector<TargetAttribute> attributesFor(TargetKind kind);
86
89 [[nodiscard]] static TargetAttribute attribute(TargetKind kind,
90 const QString &key);
91};
92
93} // namespace openswmmvis::import
94
95#endif // OPENSWMMVIS_UI_DIALOGS_IMPORT_IMPORTTARGETREGISTRY_H
Definition importtargetregistry.h:55
static int swmmNodeType(TargetKind k)
Definition importtargetregistry.cpp:157
static QVector< TargetKind > allKinds()
Definition importtargetregistry.cpp:114
static bool isLinkKind(TargetKind k)
Definition importtargetregistry.cpp:145
static QString kindLabel(TargetKind k)
Definition importtargetregistry.cpp:122
static TargetAttribute attribute(TargetKind kind, const QString &key)
Definition importtargetregistry.cpp:317
static int swmmLinkType(TargetKind k)
Definition importtargetregistry.cpp:168
static bool isNodeKind(TargetKind k)
Definition importtargetregistry.cpp:139
static bool isPointKind(TargetKind k)
Definition importtargetregistry.cpp:152
static QVector< TargetAttribute > attributesFor(TargetKind kind)
Definition importtargetregistry.cpp:180
int k
Definition mesh2dresultsexport.cpp:549
const char * key
Definition meshcellparams.cpp:24
Definition featurelayerimporter.h:39
TargetKind
Definition importtargetregistry.h:32
TokenKind kind
Definition queryparser.cpp:34
Definition importtargetregistry.h:39
int code
engine integer written through the adapter
Definition importtargetregistry.h:41
QString label
canonical key, e.g. "FREE" — matched case-insensitively
Definition importtargetregistry.h:40
Definition importtargetregistry.h:45
bool required
must be mapped for import
Definition importtargetregistry.h:49
QVector< EnumChoice > enumChoices
non-empty ⇒ enum-typed (type == Int)
Definition importtargetregistry.h:51
QMetaType::Type type
Double / QString / Int.
Definition importtargetregistry.h:48
QString adapterProperty
Q_PROPERTY name; empty = ctor-consumed.
Definition importtargetregistry.h:50
QString key
stable id, e.g. "invertElev"
Definition importtargetregistry.h:46
QString label
translated display label
Definition importtargetregistry.h:47