//------------------------------------------------------------------------------ // $Workfile: Handler.h $ // $Header: $ // // Copyright � 2008 SbjCat // All rights reserved. // // // *** Authors *** // Steve Johnson // // $Revision: $ // //----------------------------------------------------------------------------- #pragma once namespace SbjCore { namespace UndoRedo { /** Handler is a pure virtual base class. Derivatives handle the details of performing any undo or redo of an action. Derivatives should make their dtor protected to force dynamic allocation as these are pushed onto the UndoRedoMgr's stack, and once there, the manager handles deletion once the Handler is no longer part of the UndoRedo process. */ class AFX_EXT_CLASS Handler { public: virtual ~Handler(void); public: bool HandleUndo(); bool HandleRedo(); LPCTSTR GetHandlerName() const; private: virtual bool OnHandleUndo() = 0; virtual bool OnHandleRedo() = 0; virtual LPCTSTR OnGetHandlerName() const = 0; }; } } //*** Modification History *** // $Log: $
By viewing downloads associated with this article you agree to the Terms of use and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.
This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)
Skills that self-taught computer programmers lack