31 virtual QUuid
id()
const = 0;
33 virtual QString
title()
const = 0;
52 virtual void select(
const QList<QVariantMap> &objects) = 0;
63 virtual QVariantMap
attributes(
const QString &category,
const QString &name)
const = 0;
70 virtual QList<QVariantMap>
results()
const = 0;
77 QString *
error =
nullptr) = 0;
84 QString *
error =
nullptr) = 0;
89 virtual std::unique_ptr<IEditScope>
edit(
const QString &
label, QString *
error =
nullptr) = 0;
Layer-side seam for "what attributes can I theme by?" — Slice DM.1.
Read-only model attributes contributed by an independently built extension.
Mediated undoable model editing through the GUI property and apply paths.
RAII read/write access to the GUI-owned engine image.
Borrowed provider of derived attributes on authored model objects.
Definition IComputedAttributeProvider.hpp:20
Definition IModelInstance.hpp:25
virtual QList< QVariantMap > selection() const =0
Copy the cross-view selection shared by the map, tables and property panels.
virtual IAttributeProvider * attributeProvider() const =0
Access the layer's canonical attribute field metadata.
virtual void unregisterAttributeProvider(const QString &id)=0
Remove this extension's provider and refresh its model views.
virtual QString inpPath() const =0
Read the current model input path.
virtual std::unique_ptr< INativeEditScope > nativeEdit(const QString &label, QString *error=nullptr)=0
Begin a snapshot-backed native engine transaction under an exclusive lease.
virtual QString snapshot(QString *error=nullptr) const =0
Write a reviewable INP snapshot and its companions under the project directory.
virtual QVariantMap attributes(const QString &category, const QString &name) const =0
Read the same model attributes used by identify and property views.
virtual QString engineVersion() const =0
Read the selected simulation engine version.
virtual QString title() const =0
Read the current window caption.
virtual bool isOpen() const =0
Test model availability.
virtual QUuid id() const =0
Identify the model across project save/restore.
virtual void select(const QList< QVariantMap > &objects)=0
Replace the cross-view selection using stable object identities.
virtual void refreshAttributeProvider(const QString &id)=0
Refresh derived values after an extension changes its calculation inputs.
virtual IProject * project() const =0
Access the containing project facade.
virtual ~IModelInstance()=default
Destroy a facade; extensions borrow the host-owned instance.
virtual std::unique_ptr< IEditScope > edit(const QString &label, QString *error=nullptr)=0
Begin one undoable transaction through the existing GUI edit paths.
virtual bool registerAttributeProvider(const QString &id, IComputedAttributeProvider *provider, QObject *context, QString *error=nullptr)=0
Register read-only model attributes shared by identify, tables and symbology.
virtual QList< QVariantMap > results() const =0
Copy metadata for loaded 1D and 2D result layers.
virtual QObject * lifetime() const =0
Obtain the model window as a lifetime signal context.
virtual std::unique_ptr< IEngineLease > acquireLease(LeaseKind kind, QString *error=nullptr)=0
Acquire shared read access or exclusive write access to the live engine.
Definition IProject.hpp:19
OpenSWMM::Sdk::IComputedAttributeProvider * provider
Borrowed while context lives.
Definition extensionattributes.cpp:32
QPointer< QObject > context
Required provider lifetime guard.
Definition extensionattributes.cpp:31
const char * label
Human label for the filter entry.
Definition gdaldrivers.cpp:28
Public header-only ABI for independently compiled native GUI extensions.
Definition ExtensionHost.hpp:24
LeaseKind
Requested access to a GUI-owned model engine.
Definition IEngineLease.hpp:14
TokenKind kind
Definition queryparser.cpp:53
double error
Definition terrainerrorfield.cpp:42