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
extensionactivityui.h
Go to the documentation of this file.
1
10#pragma once
13#include <QObject>
14#include <memory>
15
16class QAction;
17class QDockWidget;
18class QMainWindow;
19class QMdiArea;
20class QMdiSubWindow;
21
22namespace openswmmvis
23{
24class GuiExtensionHost;
25class ExtensionStateRegistry;
26struct ExtensionUiBridge;
27
31QUuid ensureActivityWindowId(QMainWindow *window);
32
34class ExtensionActivityUi final : public QObject
35{
36public:
46 const QUuid &ownerId, const QString &pluginId, QMainWindow *window,
47 QMdiArea *mdi, const ExtensionUiBridge &callbacks);
49 ~ExtensionActivityUi() override;
52 QUuid windowId() const;
56 void registerCommand(const QString &id, QAction *action);
59 void removeCommand(const QString &id);
63 void registerDock(const QString &id, QDockWidget *dock);
66 void removeDock(const QString &id);
71 void attachDocument(QMdiSubWindow *sub, const QUuid &sessionId, const QString &ownerPluginId);
76 bool execute(const OpenSWMM::Sdk::UiActivityCommand &command, QString *error);
79 void stop();
80
81private:
82 struct Data;
83 std::unique_ptr<Data> mData;
84};
85}
Versioned identity-checked process cancellation/start and scoped UI commands.
Versioned process attempts and scoped UI lifecycle observations.
One extension's scoped UI projection over a shared native MDI tracker.
Definition extensionactivityui.h:35
void removeDock(const QString &id)
Retire an own dock registration before native destruction.
Definition extensionactivityui.cpp:576
void attachDocument(QMdiSubWindow *sub, const QUuid &sessionId, const QString &ownerPluginId)
Annotate an already mounted extension document in the canonical MDI tracker.
Definition extensionactivityui.cpp:580
QUuid windowId() const
Read the identity established during construction.
Definition extensionactivityui.cpp:538
bool execute(const OpenSWMM::Sdk::UiActivityCommand &command, QString *error)
Validate runtime target identities and invoke a supported native UI route.
Definition extensionactivityui.cpp:586
void registerDock(const QString &id, QDockWidget *dock)
Track an explicitly mounted own dock.
Definition extensionactivityui.cpp:550
void stop()
Disconnect per-host hooks and suppress all later publication.
Definition extensionactivityui.cpp:674
void registerCommand(const QString &id, QAction *action)
Track an explicitly registered own action after native registration succeeds.
Definition extensionactivityui.cpp:542
void removeCommand(const QString &id)
Retire an own action registration without deleting its QAction.
Definition extensionactivityui.cpp:546
~ExtensionActivityUi() override
Stop all per-host observation before releasing private metadata.
Definition extensionactivityui.cpp:534
GUI-thread session registry shared by every plugin host in the application.
Definition extensionstateregistry.h:32
Definition guiextensionhost.h:99
std::vector< std::array< int, 3 > > sub
sub-triangle fan
Definition mesh2dresultsexport.cpp:135
Definition aquiferprovider.h:24
QUuid ensureActivityWindowId(QMainWindow *window)
Establish a main-window runtime identity at an explicit native registration boundary.
Definition extensionactivityui.cpp:54
Owning explicit UI action; observers should defer their own state-changing work.
Definition IActivityControls.hpp:29
Private scoped native records and copied metadata for one host lifetime.
Definition extensionactivityui.cpp:287
Application callbacks keeping the generic host independent of concrete GUI registries.
Definition guiextensionhost.h:42
double error
Definition terrainerrorfield.cpp:42