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::ExtensionLayerBridge::Data Struct Reference

Private per-session attachment map and guarded native signal wiring. More...

Collaboration diagram for openswmmvis::ExtensionLayerBridge::Data:

Classes

struct  Entry
 Current membership and its semantic change-comparison caches. More...
 

Public Member Functions

bool available () const
 Verify that native state remains usable for an ordinary observation.
 
Entry * entry (OpenSWMMVisLayer *key)
 Resolve one tracked and currently attached native identity.
 
void publish (OpenSWMMVisLayer *key, ViewEventKind kind, const QStringList &keys={})
 Send one owning observation after checking current attachment membership.
 
template<class Sender , class Signal , class Callback >
void watch (Entry &current, Sender *sender, Signal signal, Callback callback)
 Attach one native signal to this membership's managed connection list.
 
void watchSublayers (OpenSWMMVisLayer *key)
 Rebind authored sublayer observers after structural changes.
 
QList< QUuid > order () const
 Copy tracked top-level attachment order without inventing identities.
 
void attach (OpenSWMMVisLayer *layer, bool announce)
 Wire a new attachment, optionally reporting its committed insertion.
 
void detach (OpenSWMMVisLayer *layer)
 Disconnect and retire a membership before reporting historical removal.
 

Public Attributes

ExtensionLayerBridge * bridge
 Owning QObject connection context.
 
QPointer< SWMMVisProjectWindow > window
 Guarded native session owner.
 
QPointer< MapCanvas > canvas
 Guarded canvas with externally owned layer pointers.
 
ViewEventSink changed
 Canonical coordinator callback.
 
std::map< OpenSWMMVisLayer *, Entry > entries
 Current memberships only.
 
QList< QUuid > lastOrder
 Last observed top-level attachment order.
 

Detailed Description

Private per-session attachment map and guarded native signal wiring.

Member Function Documentation

◆ attach()

void openswmmvis::ExtensionLayerBridge::Data::attach ( OpenSWMMVisLayer *  layer,
bool  announce 
)
inline

Wire a new attachment, optionally reporting its committed insertion.

Parameters
[in]layerBorrowed newly attached native layer.
[in]announceFalse while constructing the initial tracker.

◆ available()

bool openswmmvis::ExtensionLayerBridge::Data::available ( ) const
inline

Verify that native state remains usable for an ordinary observation.

Returns
True while the model window/canvas remain available and not closing.
Here is the caller graph for this function:

◆ detach()

void openswmmvis::ExtensionLayerBridge::Data::detach ( OpenSWMMVisLayer *  layer)
inline

Disconnect and retire a membership before reporting historical removal.

Parameters
[in]layerNon-dereferenced native identity, possibly already destroyed.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ entry()

Entry * openswmmvis::ExtensionLayerBridge::Data::entry ( OpenSWMMVisLayer *  key)
inline

Resolve one tracked and currently attached native identity.

Parameters
[in]keyNon-dereferenced native pointer identity.
Returns
Current entry or null after removal/destruction/window close.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ order()

QList< QUuid > openswmmvis::ExtensionLayerBridge::Data::order ( ) const
inline

Copy tracked top-level attachment order without inventing identities.

Returns
Current bottom-to-top runtime identities, excluding unavailable pointers.
Here is the caller graph for this function:

◆ publish()

void openswmmvis::ExtensionLayerBridge::Data::publish ( OpenSWMMVisLayer *  key,
ViewEventKind  kind,
const QStringList &  keys = {} 
)
inline

Send one owning observation after checking current attachment membership.

Parameters
[in]keyTracked native identity.
[in]kindSemantic invalidation reason.
[in]keysOptional bounded semantic child identities.
Here is the caller graph for this function:

◆ watch()

template<class Sender , class Signal , class Callback >
void openswmmvis::ExtensionLayerBridge::Data::watch ( Entry &  current,
Sender *  sender,
Signal  signal,
Callback  callback 
)
inline

Attach one native signal to this membership's managed connection list.

Template Parameters
SenderNative QObject type.
SignalTyped native member-signal pointer.
CallbackZero-argument semantic observer.
Parameters
[in,out]currentOwning membership record.
[in]senderBorrowed required native signal source.
[in]signalTyped native signal.
[in]callbackGUI-thread receiver action.
Here is the caller graph for this function:

◆ watchSublayers()

void openswmmvis::ExtensionLayerBridge::Data::watchSublayers ( OpenSWMMVisLayer *  key)
inline

Rebind authored sublayer observers after structural changes.

Parameters
[in]keyTracked native attachment identity.
Note
Dynamic invalidation alone produces no event unless authored metadata changed.
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ bridge

ExtensionLayerBridge* openswmmvis::ExtensionLayerBridge::Data::bridge

Owning QObject connection context.

◆ canvas

QPointer<MapCanvas> openswmmvis::ExtensionLayerBridge::Data::canvas

Guarded canvas with externally owned layer pointers.

◆ changed

ViewEventSink openswmmvis::ExtensionLayerBridge::Data::changed

Canonical coordinator callback.

◆ entries

std::map<OpenSWMMVisLayer *, Entry> openswmmvis::ExtensionLayerBridge::Data::entries

Current memberships only.

◆ lastOrder

QList<QUuid> openswmmvis::ExtensionLayerBridge::Data::lastOrder

Last observed top-level attachment order.

◆ window

QPointer<SWMMVisProjectWindow> openswmmvis::ExtensionLayerBridge::Data::window

Guarded native session owner.


The documentation for this struct was generated from the following file: