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
EventSignalAdapter.hpp
Go to the documentation of this file.
1
13#pragma once
14
15#include "sdk/IModelEvents.hpp"
16#include <QObject>
17
18namespace OpenSWMM::Sdk
19{
32class EventSignalAdapter final : public QObject
33{
34 Q_OBJECT
35public:
41 explicit EventSignalAdapter(IModelEvents *source, const EventFilter &filter = {},
42 QObject *parent = nullptr);
44 ~EventSignalAdapter() override;
47 [[nodiscard]] bool isSubscribed() const;
50 void disconnect();
51
52signals:
55 void occurred(const OpenSWMM::Sdk::Event &event);
61 quint64 sequence);
67 quint64 sequence);
71 void resultsChanged(const OpenSWMM::Sdk::ResultsEvent &event, quint64 sequence);
75 void runsChanged(const OpenSWMM::Sdk::RunsEvent &event, quint64 sequence);
79 void settingsChanged(const OpenSWMM::Sdk::SettingsEvent &event, quint64 sequence);
83 void themeChanged(const OpenSWMM::Sdk::ThemeEvent &event, quint64 sequence);
87 void jobProgress(const OpenSWMM::Sdk::JobProgressEvent &event, quint64 sequence);
91 void jobFinished(const OpenSWMM::Sdk::JobFinishedEvent &event, quint64 sequence);
92
93private:
96 void dispatch(const Event &event);
97 ScopedEventSubscription mSubscription;
98};
99}
Versioned, typed observations of GUI extension host state.
Consumer-owned typed Qt signals backed by one managed host subscription.
Definition EventSignalAdapter.hpp:33
void resultsChanged(const OpenSWMM::Sdk::ResultsEvent &event, quint64 sequence)
Deliver active results-source invalidation.
void runsChanged(const OpenSWMM::Sdk::RunsEvent &event, quint64 sequence)
Request a fresh Simulation Status snapshot.
void settingsChanged(const OpenSWMM::Sdk::SettingsEvent &event, quint64 sequence)
Deliver this extension's settings-key/group invalidation.
void themeChanged(const OpenSWMM::Sdk::ThemeEvent &event, quint64 sequence)
Request a fresh host palette/token snapshot.
~EventSignalAdapter() override
Disconnect the source subscription before QObject teardown.
Definition EventSignalAdapter.cpp:38
void spatialChanged(OpenSWMM::Sdk::EventKind kind, const OpenSWMM::Sdk::SpatialEvent &event, quint64 sequence)
Deliver viewport, canvas membership or watched boundary invalidation.
void modelChanged(OpenSWMM::Sdk::EventKind kind, const OpenSWMM::Sdk::ModelEvent &event, quint64 sequence)
Deliver discovery, closing, activation, selection, edits or authored attributes.
void jobFinished(const OpenSWMM::Sdk::JobFinishedEvent &event, quint64 sequence)
Deliver completion from one of this extension's workers.
bool isSubscribed() const
Inspect the managed source connection handle.
Definition EventSignalAdapter.cpp:43
void disconnect()
Disconnect the managed source subscription.
Definition EventSignalAdapter.cpp:48
void jobProgress(const OpenSWMM::Sdk::JobProgressEvent &event, quint64 sequence)
Deliver progress from one of this extension's workers.
void occurred(const OpenSWMM::Sdk::Event &event)
Deliver the complete typed observation before its domain projection.
Optional, frozen interface for receiver-scoped typed GUI observations.
Definition IModelEvents.hpp:165
Move-only owner that disconnects a Qt subscription when its scope ends.
Definition IModelEvents.hpp:194
QPointer< OpenSWMMVisLayer > source
Definition maskclipresolver.cpp:34
Public header-only ABI for independently compiled native GUI extensions.
Definition ExtensionHost.hpp:24
EventKind
Existing host observations with explicit, stable numeric identities.
Definition IModelEvents.hpp:37
int parent
Definition planning.cpp:199
TokenKind kind
Definition queryparser.cpp:53
Immutable-at-registration selection of event kinds and a model identity.
Definition IModelEvents.hpp:145
One typed observation published by an extension's host facade.
Definition IModelEvents.hpp:118
Copied completion status from one of the owning extension's background jobs.
Definition IModelEvents.hpp:100
Copied progress from one of the owning extension's background jobs.
Definition IModelEvents.hpp:93
Model discovery, closing, activation, selection, edit or attribute observation.
Definition IModelEvents.hpp:61
Active result-source observation without result-reader ownership.
Definition IModelEvents.hpp:74
Simulation Status invalidation; query the run registry for current rows.
Definition IModelEvents.hpp:80
One owning extension's settings invalidation.
Definition IModelEvents.hpp:84
Visible-area, canvas membership or watched vector-boundary observation.
Definition IModelEvents.hpp:68
Palette invalidation; query current host theme tokens.
Definition IModelEvents.hpp:89