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
extensionattributes.h
Go to the documentation of this file.
1
12#pragma once
14#include <QObject>
15#include <functional>
16
17namespace openswmmvis
18{
27bool registerExtensionAttributes(QObject *layer, const QString &id,
29 QObject *context, std::function<void(bool)> changed,
30 QString *error = nullptr);
34void unregisterExtensionAttributes(QObject *layer, const QString &id);
38void refreshExtensionAttributes(QObject *layer, const QString &id);
43QVector<OpenSWMM::Render::AttributeField>
52QVariantMap extensionAttributeValues(const QObject *layer, OpenSWMMVis::SwmmCategory category,
53 const QString &name, const QVariantMap &base);
54}
Read-only model attributes contributed by an independently built extension.
Borrowed provider of derived attributes on authored model objects.
Definition IComputedAttributeProvider.hpp:20
OpenSWMM::Sdk::IComputedAttributeProvider * provider
Borrowed while context lives.
Definition extensionattributes.cpp:32
QPointer< QObject > context
Required provider lifetime guard.
Definition extensionattributes.cpp:31
std::function< void(bool)> changed
Guarded layer refresh callback.
Definition extensionattributes.cpp:36
SwmmCategory
Stable ordinal categorising every SWMM-element kind that has per-kind styling, per-kind tree rows,...
Definition SwmmCategory.hpp:31
Definition aquiferprovider.h:24
bool registerExtensionAttributes(QObject *layer, const QString &id, OpenSWMM::Sdk::IComputedAttributeProvider *provider, QObject *context, std::function< void(bool)> changed, QString *error=nullptr)
Atomically register one guarded provider on a layer.
Definition extensionattributes.cpp:49
QVector< OpenSWMM::Render::AttributeField > extensionAttributeFields(const QObject *layer, OpenSWMMVis::SwmmCategory category)
Read validated, qualified field descriptors in deterministic provider order.
Definition extensionattributes.cpp:128
void unregisterExtensionAttributes(QObject *layer, const QString &id)
Remove a provider and notify its live layer.
Definition extensionattributes.cpp:104
void refreshExtensionAttributes(QObject *layer, const QString &id)
Invalidate provider values, allowing retry after a calculation exception.
Definition extensionattributes.cpp:117
QVariantMap extensionAttributeValues(const QObject *layer, OpenSWMMVis::SwmmCategory category, const QString &name, const QVariantMap &base)
Merge derived values into a base model-object attribute snapshot.
Definition extensionattributes.cpp:143
double error
Definition terrainerrorfield.cpp:42
TraceAnalysisLayer * layer
Definition traceanalysislayer.cpp:162
int base
Definition vectorexport.cpp:212