X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fcomposite-undo-stack-observer.h;h=e24561ace61ca5467887c77fea9b2f2227ea4258;hb=7cdcd76996e5e33b0ce8bea84fa8dc68024ebdfb;hp=2de64898b75e7b5b5a0d9a0b47fdab981265ec3a;hpb=6fc0377a854f075dab521ea0a648c3f4117a68aa;p=inkscape.git diff --git a/src/composite-undo-stack-observer.h b/src/composite-undo-stack-observer.h index 2de64898b..e24561ace 100644 --- a/src/composite-undo-stack-observer.h +++ b/src/composite-undo-stack-observer.h @@ -85,12 +85,32 @@ public: this->_observer.notifyUndoCommitEvent(log); } + /** + * Issue a clear undo event to the UndoStackObserver + * that is associated with this + * UndoStackObserverRecord. + */ + void issueClearUndo() + { + this->_observer.notifyClearUndoEvent(); + } + + /** + * Issue a clear redo event to the UndoStackObserver + * that is associated with this + * UndoStackObserverRecord. + */ + void issueClearRedo() + { + this->_observer.notifyClearRedoEvent(); + } + private: UndoStackObserver& _observer; }; /// A list of UndoStackObserverRecords, used to aggregate multiple UndoStackObservers. - typedef std::list< UndoStackObserverRecord > UndoObserverRecordList; + typedef std::list< UndoStackObserverRecord, GC::Alloc< UndoStackObserverRecord, GC::MANUAL > > UndoObserverRecordList; /** * Constructor. @@ -134,6 +154,9 @@ public: */ void notifyUndoCommitEvent(Event* log); + virtual void notifyClearUndoEvent(); + virtual void notifyClearRedoEvent(); + private: // Remove an observer from a given list bool _remove_one(UndoObserverRecordList& list, UndoStackObserver& rec);