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
openswmmvis::ExtensionActivityUi Class Referencefinal

One extension's scoped UI projection over a shared native MDI tracker. More...

#include <extensionactivityui.h>

Inheritance diagram for openswmmvis::ExtensionActivityUi:
Collaboration diagram for openswmmvis::ExtensionActivityUi:

Classes

struct  Data
 Private scoped native records and copied metadata for one host lifetime. More...
 

Public Member Functions

 ExtensionActivityUi (GuiExtensionHost *host, ExtensionStateRegistry *registry, const QUuid &ownerId, const QString &pluginId, QMainWindow *window, QMdiArea *mdi, const ExtensionUiBridge &callbacks)
 Install native observers and copy initial scoped metadata.
 
 ~ExtensionActivityUi () override
 Stop all per-host observation before releasing private metadata.
 
QUuid windowId () const
 Read the identity established during construction.
 
void registerCommand (const QString &id, QAction *action)
 Track an explicitly registered own action after native registration succeeds.
 
void removeCommand (const QString &id)
 Retire an own action registration without deleting its QAction.
 
void registerDock (const QString &id, QDockWidget *dock)
 Track an explicitly mounted own dock.
 
void removeDock (const QString &id)
 Retire an own dock registration before native destruction.
 
void attachDocument (QMdiSubWindow *sub, const QUuid &sessionId, const QString &ownerPluginId)
 Annotate an already mounted extension document in the canonical MDI tracker.
 
bool execute (const OpenSWMM::Sdk::UiActivityCommand &command, QString *error)
 Validate runtime target identities and invoke a supported native UI route.
 
void stop ()
 Disconnect per-host hooks and suppress all later publication.
 

Detailed Description

One extension's scoped UI projection over a shared native MDI tracker.

Constructor & Destructor Documentation

◆ ExtensionActivityUi()

openswmmvis::ExtensionActivityUi::ExtensionActivityUi ( GuiExtensionHost *  host,
ExtensionStateRegistry *  registry,
const QUuid &  ownerId,
const QString &  pluginId,
QMainWindow *  window,
QMdiArea *  mdi,
const ExtensionUiBridge &  callbacks 
)

Install native observers and copy initial scoped metadata.

Parameters
[in]hostBorrowed host and QObject parent.
[in]registryShared application registry, guarded through teardown.
[in]ownerIdPrivate host-lifetime scope.
[in]pluginIdConfigured extension identity for document ownership metadata.
[in]windowBorrowed main window.
[in]mdiBorrowed central document area, possibly null.
[in]callbacksNative approved-command catalogue and controller callbacks.
Here is the call graph for this function:

◆ ~ExtensionActivityUi()

openswmmvis::ExtensionActivityUi::~ExtensionActivityUi ( )
override

Stop all per-host observation before releasing private metadata.

Member Function Documentation

◆ attachDocument()

void openswmmvis::ExtensionActivityUi::attachDocument ( QMdiSubWindow *  sub,
const QUuid &  sessionId,
const QString &  ownerPluginId 
)

Annotate an already mounted extension document in the canonical MDI tracker.

Parameters
[in]subNative current MDI member.
[in]sessionIdExplicit associated model lifetime, null for independent utility views.
[in]ownerPluginIdOwning extension identity.

◆ execute()

bool openswmmvis::ExtensionActivityUi::execute ( const OpenSWMM::Sdk::UiActivityCommand &  command,
QString *  error 
)

Validate runtime target identities and invoke a supported native UI route.

Parameters
[in]commandCurrent window/document/dock/command request.
[out]errorOptional refusal diagnostic, cleared on success.
Returns
True for accepted/no-op, false for unavailable/stale/foreign targets.

◆ registerCommand()

void openswmmvis::ExtensionActivityUi::registerCommand ( const QString &  id,
QAction *  action 
)

Track an explicitly registered own action after native registration succeeds.

Parameters
[in]idExtension-local command key.
[in]actionBorrowed current QAction.

◆ registerDock()

void openswmmvis::ExtensionActivityUi::registerDock ( const QString &  id,
QDockWidget *  dock 
)

Track an explicitly mounted own dock.

Parameters
[in]idExtension-local dock key.
[in]dockBorrowed native dock.

◆ removeCommand()

void openswmmvis::ExtensionActivityUi::removeCommand ( const QString &  id)

Retire an own action registration without deleting its QAction.

Parameters
[in]idExtension-local key.

◆ removeDock()

void openswmmvis::ExtensionActivityUi::removeDock ( const QString &  id)

Retire an own dock registration before native destruction.

Parameters
[in]idExtension-local key.

◆ stop()

void openswmmvis::ExtensionActivityUi::stop ( )

Disconnect per-host hooks and suppress all later publication.

Note
The shared window-owned MDI tracker remains available to other hosts.
Here is the caller graph for this function:

◆ windowId()

QUuid openswmmvis::ExtensionActivityUi::windowId ( ) const

Read the identity established during construction.

Returns
Main-window UUID, null without a window.

The documentation for this class was generated from the following files: