Code

OCAL. Fix for Bug #638844 (Errors printed to console if openclipart search fails).
[inkscape.git] / src / undo-stack-observer.h
index f9e3d9dd04bb6de0f0ac4c7146289046d7668f4c..5bf405f7f290f210d3695c2e1d0d155b2ac80ea4 100644 (file)
 #ifndef __UNDO_COMMIT_OBSERVER_H__
 #define __UNDO_COMMIT_OBSERVER_H__
 
-namespace Inkscape {
+#include "gc-managed.h"
 
-namespace XML {
+namespace Inkscape {
 
 class Event;
 
-}
-
 /**
  * Observes changes made to the undo and redo stacks.
  *
@@ -36,7 +34,7 @@ class Event;
  * UndoStackObservers should not be used on their own.  Instead, they should be registered
  * with a CompositeUndoStackObserver.
  */
-class UndoStackObserver {
+class UndoStackObserver : public GC::Managed<> {
 public:
        UndoStackObserver() { }
        virtual ~UndoStackObserver() { }
@@ -44,23 +42,34 @@ public:
        /**
         * Triggered when the user issues an undo command.
         *
-        * \param log Pointer to an XML::Event describing the undone event.
+        * \param log Pointer to an Event describing the undone event.
         */
-       virtual void notifyUndoEvent(XML::Event* log) = 0;
+       virtual void notifyUndoEvent(Event* log) = 0;
 
        /**
         * Triggered when the user issues a redo command.
         *
-        * \param log Pointer to an XML::Event describing the redone event.
+        * \param log Pointer to an Event describing the redone event.
         */
-       virtual void notifyRedoEvent(XML::Event* log) = 0;
+       virtual void notifyRedoEvent(Event* log) = 0;
 
        /**
         * Triggered when a set of transactions is committed to the undo log.
         *
-        * \param log Pointer to an XML::Event describing the committed events.
+        * \param log Pointer to an Event describing the committed events.
         */
-       virtual void notifyUndoCommitEvent(XML::Event* log) = 0;
+       virtual void notifyUndoCommitEvent(Event* log) = 0;
+
+       /**
+        * Triggered when the undo log is cleared.
+        */
+       virtual void notifyClearUndoEvent() = 0;
+
+       /**
+        * Triggered when the redo log is cleared.
+        */
+       virtual void notifyClearRedoEvent() = 0;
+
 };
 
 }