|
virtual const QObject * | getQObject () const =0 |
|
virtual uint | reserve (const QString &name)=0 |
|
virtual bool | release (uint u)=0 |
|
virtual bool | check (const QString &name)=0 |
| Checks to see if string name has already been reserved (given and ID number).
|
|
virtual uint | find (const QString &name)=0 |
|
virtual void | tag (uint u, bool modelChanged=true)=0 |
| Tags ID u as having been changed, which will be sent out in the next notify() call.
|
|
virtual void | notify ()=0 |
|
virtual uint | getUpdateInterval () const =0 |
| Returns the Update Interval notice - sent to indicate that an update interval has occurred during cycling.
|
|
virtual uint | getFISHSymbolNotice () const =0 |
| Returns the notice code used to indicate that a FISH symbol has changed.
|
|
virtual void | notification (QSet< uint > set)=0 |
| This signal is emitted to notify that a given event has occurred. See notify()
|
|
virtual void | cycleCompleted (const quint64 &step)=0 |
| This signal is emitted when a cycle is completed.
|
|
Interface to the notification system.
This is a central place for change notifications to occur. The idea is that the engine can quickly tag things as being changed, but the notification to the GUI (or whoever) doesn't happen until later. Then at distinct times (for efficiency) the GUI can be notified of all the changes at once. This allows every zone (for instance) to notify the system that stresses have changed, without burdening the GUI (and engine) with 20,000 notification messages. The basic idea is that tag() is fast, and notify() is slow.
This class is used by registering a notification type (identified by a string), which returns an ID uniquely identifying that notice.
To indicate that something has changed, call the tag() method with the ID returned from reserve(). The notify() method notifies all observers of all changes since the last notify() call.