X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcomposite-undo-stack-observer.h;h=cd00d421115f8274b2861699d2957e281dfc3b8f;hb=99f8079bc0a32aef279e4af06de4cbf4bd853563;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..cd00d4211 100644 --- a/src/composite-undo-stack-observer.h +++ b/src/composite-undo-stack-observer.h @@ -85,19 +85,39 @@ 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. */ CompositeUndoStackObserver(); - ~CompositeUndoStackObserver(); + virtual ~CompositeUndoStackObserver(); /** * Add an UndoStackObserver. @@ -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);