Classical GoF observer pattern (Subject + IObserver) used by MNE-CPP's non-QObject model classes.
More...


Go to the source code of this file.
Classes | |
| class | UTILSLIB::IObserver |
| The IObserver interface provides the base class of every observer of the observer design pattern. More... | |
| class | UTILSLIB::Subject |
| The Subject class provides the base class of every subject of the observer design pattern. More... | |
Namespaces | |
| namespace | UTILSLIB |
| Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms). | |
Classical GoF observer pattern (Subject + IObserver) used by MNE-CPP's non-QObject model classes.
SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2017-2026 MNE-CPP Authors
Qt's QObject signal/slot machinery is the preferred change notification mechanism, but a number of model classes in FIFFLIB, FSLIB and INVERSELIB are deliberately kept free of the moc dependency so they remain header-only or usable from static-library and WebAssembly builds. Those classes derive from UTILSLIB::Subject to publish change notifications to any number of UTILSLIB::IObserver listeners without dragging the QObject machinery in.
The static notifyEnabled flag exists so callers performing bulk updates (e.g. fitting a forward solution) can suspend notifications until the batch completes and prevent a storm of redundant repaints in connected views.
Definition in file observerpattern.h.