Click here to Skip to main content
15,881,856 members
Articles / Programming Languages / C++

A Simple, Action Based, Undo/Redo Framework

Rate me:
Please Sign up or sign in to vote.
4.51/5 (38 votes)
16 Feb 2013CPOL5 min read 97.2K   1.9K   104  
How to use a simple, action based, undo/redo framework
/*
***************************************************************************

kis v 1

(c) 2006, Florin DUMITRESCU

mailto: fdproxy@gmail.com

$Workfile: _Factory.h $ 

***************************************************************************
*/


#pragma once


//-------------------------------------------------------------------------
/** Class C_Factory encapsulates the actions creators. */
class C_Factory
{

public:

  C_Factory();
  virtual ~C_Factory();

  kis::SP_Action CreateAction( UINT a_Id, class CKisActionDemoDoc* a_pDoc, class CKisActionDemoView* a_pView );
  kis::SP_Action CreateAction_AddEllipse( class CKisActionDemoDoc* a_pDoc, class CKisActionDemoView* a_pView );
  kis::SP_Action CreateAction_AddRandomSegment( class CKisActionDemoDoc* a_pDoc );
  kis::SP_Action CreateAction_AddRectangle( class CKisActionDemoDoc* a_pDoc, class CKisActionDemoView* a_pView );
  kis::SP_Action CreateAction_AddSegment( class CKisActionDemoDoc* a_pDoc, class CKisActionDemoView* a_pView );
  kis::SP_Action CreateAction_ClearDrawing( class CKisActionDemoDoc* a_pDoc );
  kis::SP_Action CreateAction_ClearDrawing();
  kis::SP_ActionExecutor CreateActionExecutor();

};

By viewing downloads associated with this article you agree to the Terms of Service 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.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
zdf
Romania Romania
Just a humble programmer.

Comments and Discussions