31#ifndef OPENSWMMVIS_UI_DIALOGS_INLETPROPERTYBAG_H
32#define OPENSWMMVIS_UI_DIALOGS_INLETPROPERTYBAG_H
107 Q_DECLARE_FLAGS(Groups,
Group)
149 double slotWidth() const noexcept {
return m_slotWidth; }
182 void onProviderParamsChanged_();
185 void refreshFromProvider_();
195 QPointer<inlet::InletProvider> m_provider;
199 double m_grateLength = 0.0;
200 double m_grateWidth = 0.0;
201 double m_openFraction = 0.0;
202 double m_splashVelocity = 0.0;
203 double m_curbLength = 0.0;
204 double m_curbHeight = 0.0;
206 double m_slotLength = 0.0;
207 double m_slotWidth = 0.0;
211 bool m_suppressPush =
false;
216Q_DECLARE_OPERATORS_FOR_FLAGS(openswmmvis::ui::InletPropertyBag::Groups)
Definition inletprovider.h:95
Definition inletpropertybag.h:45
double curbLength() const noexcept
Definition inletpropertybag.h:145
CurveKindQ curveKind() const noexcept
Definition inletpropertybag.h:150
void openFractionChanged(double)
double openFraction
Definition inletpropertybag.h:52
void bind(inlet::InletProvider *p)
Definition inletpropertybag.cpp:36
QString curveId
Definition inletpropertybag.h:66
void grateWidthChanged(double)
void grateLengthChanged(double)
void setCommitHandler(CommitFn fn)
Definition inletpropertybag.cpp:52
ThroatTypeQ throatAngle() const noexcept
Definition inletpropertybag.h:147
double curbLength
Definition inletpropertybag.h:56
double grateLength() const noexcept
Definition inletpropertybag.h:141
void setSplashVelocity(double v)
Definition inletpropertybag.cpp:258
QString curveId() const
Definition inletpropertybag.h:151
void splashVelocityChanged(double)
ThroatTypeQ throatAngle
Definition inletpropertybag.h:58
ThroatTypeQ
Definition inletpropertybag.h:85
void setOpenFraction(double v)
Definition inletpropertybag.cpp:250
void setSlotLength(double v)
Definition inletpropertybag.cpp:290
void setGrateWidth(double v)
Definition inletpropertybag.cpp:242
Q_INVOKABLE bool isPropertyVisible(const QString &property) const
Row-level visibility: group visibility plus the two legacy exceptions (open fraction / splash-over ve...
Definition inletpropertybag.cpp:104
void setGrateLength(double v)
Definition inletpropertybag.cpp:234
double splashVelocity
Definition inletpropertybag.h:53
CurveKindQ
Definition inletpropertybag.h:92
Group
Legacy tab-visibility groups (Dinlet.pas:241-298).
Definition inletpropertybag.h:100
@ CurbGroup
Definition inletpropertybag.h:103
@ SlottedGroup
Definition inletpropertybag.h:104
@ NoGroup
Definition inletpropertybag.h:101
@ CustomGroup
Definition inletpropertybag.h:105
@ GrateGroup
Definition inletpropertybag.h:102
void curveIdChanged(const QString &)
double slotLength() const noexcept
Definition inletpropertybag.h:148
Q_INVOKABLE QString displayLabelFor(const QString &property) const
Group-prefixed, unit-suffixed label for the QPropertyModel row. Empty for an unknown name so the gene...
Definition inletpropertybag.cpp:121
inlet::InletProvider * provider() const noexcept
Definition inletpropertybag.cpp:47
void throatAngleChanged(ThroatTypeQ)
double splashVelocity() const noexcept
Definition inletpropertybag.h:144
void setCurveId(const QString &v)
Definition inletpropertybag.cpp:314
static Groups groupsFor(inlet::InletType t)
Groups that apply to t. Pure — used by the tests.
Definition inletpropertybag.cpp:59
void setGrateType(GrateTypeQ v)
Definition inletpropertybag.cpp:226
GrateTypeQ
Q_ENUM mirrors of the openswmmvis::inlet design enums so QPropertyModel renders a combo-box for each....
Definition inletpropertybag.h:73
void setSlotWidth(double v)
Definition inletpropertybag.cpp:298
CurveKindQ curveKind
Definition inletpropertybag.h:65
double curbHeight() const noexcept
Definition inletpropertybag.h:146
void setThroatAngle(ThroatTypeQ v)
Definition inletpropertybag.cpp:282
double slotWidth
Definition inletpropertybag.h:62
void setCurbHeight(double v)
Definition inletpropertybag.cpp:274
double curbHeight
Definition inletpropertybag.h:57
GrateTypeQ grateType
Definition inletpropertybag.h:49
double grateLength
Definition inletpropertybag.h:50
void slotWidthChanged(double)
void curbLengthChanged(double)
void curveKindChanged(CurveKindQ)
double slotWidth() const noexcept
Definition inletpropertybag.h:149
std::function< void(const inlet::InletDesignData &before, const inlet::InletDesignData &after)> CommitFn
Commit hook. When installed, a bag edit is handed to the host (which wraps it in a SetInletParamsComm...
Definition inletpropertybag.h:113
void slotLengthChanged(double)
static Group groupOf(const QString &property)
The group a raw Q_PROPERTY name belongs to.
Definition inletpropertybag.cpp:79
double grateWidth
Definition inletpropertybag.h:51
double openFraction() const noexcept
Definition inletpropertybag.h:143
double grateWidth() const noexcept
Definition inletpropertybag.h:142
void grateTypeChanged(GrateTypeQ)
Groups visibleGroups() const
Groups that apply to the bound design's type.
Definition inletpropertybag.cpp:73
double slotLength
Definition inletpropertybag.h:61
void setCurbLength(double v)
Definition inletpropertybag.cpp:266
void setCurveKind(CurveKindQ v)
Definition inletpropertybag.cpp:306
void curbHeightChanged(double)
DiagramType t
Definition diagramspec.cpp:20
MVC model for a single SWMM inlet design ([INLETS]).
ArrowPlacement p
Definition linesymbollayer.cpp:27
@ Diversion
captured flow vs approach flow
@ Rating
captured flow vs water depth
Definition openswmmvislayer.h:43
QVector< int > v
pool vertex indices
Definition pslgminsize.cpp:159
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
Every parameter of one inlet design, mirroring SWMM_InletDesign. Snapshot type for the undo commands ...
Definition inletprovider.h:70