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
guiextensionhost.cpp File Reference

Host-owned extension UI, persistence, preferences, console and jobs. More...

#include "plugins/guiextensionhost.h"
#include "plugins/extensionevents.h"
#include "plugins/extensionstateregistry.h"
#include "plugins/extensionactivityui.h"
#include "plugins/extensionpreferences.h"
#include "plugins/extensionnetwork.h"
#include <QApplication>
#include <QDebug>
#include <QDialog>
#include <QDockWidget>
#include <QEvent>
#include <QJsonArray>
#include <QMenu>
#include <QMenuBar>
#include <QMessageBox>
#include <QMouseEvent>
#include <QMdiSubWindow>
#include <QPlainTextEdit>
#include <QRunnable>
#include <QStatusBar>
#include <QThread>
#include <QTabWidget>
#include <QProgressDialog>
#include <QTextBlock>
#include <QTextCharFormat>
#include <QUuid>
#include <algorithm>
#include <atomic>
#include <cmath>
#include <exception>
#include <mutex>
#include <utility>
Include dependency graph for guiextensionhost.cpp:

Classes

struct  openswmmvis::GuiExtensionHost::Job
 Host-owned job state shared between its worker and queued GUI continuations. More...
 

Namespaces

namespace  openswmmvis
 

Detailed Description

Host-owned extension UI, persistence, preferences, console and jobs.

One host instance isolates each plugin's contribution IDs, preferences, network policy client and bounded output channel. Application-specific work is delegated through ExtensionUiBridge callbacks; concrete model access is installed separately.

Document factories remain borrowed while registered. Created widgets transfer to the host, and unknown persisted document kinds remain pending until their factory appears. Model lifetime signals close associated views before their model facade becomes unavailable.

Worker callbacks are marshalled to the GUI thread. Shutdown first suppresses continuations, requests cancellation and joins workers; the manager then calls plugin shutdown. Host destruction removes preferences pages, views, docks, ribbon tabs and actions in dependency order. Native libraries stay pinned, so retained Qt callback code cannot be unloaded.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Date
2026
License
GPL-3.0-or-later

Variable Documentation

◆ line

int line

One-based source line.

◆ path

QString path

Exact source path supplied by the extension.