1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
/***************************************************************
* Name: CanvasState.h
* Purpose: Defines container for stored canvas state
* Author: Michal Bližňák (michal.bliznak@tiscali.cz)
* Created: 2007-07-22
* Copyright: Michal Bližňák
* License: wxWidgets license (www.wxwidgets.org)
* Notes:
**************************************************************/
#ifndef _WXSFCANVASSTATE_H
#define _WXSFCANVASSTATE_H
#include <wx/wxprec.h>
#include <wx/wxsf/Defs.h>
#include <wx/wxsf/DiagramManager.h>
class wxSFShapeCanvas;
/*! \brief
* Class which stores one saved state of the shape canvas. The instaces of this
* class are managed by the wxSFCanvasHistory class which performs all related Undo/Redo
* operations.
* \sa wxSFShapeCanvas
*/
class wxSFCanvasState : public wxObject
{
friend class wxSFCanvasHistory;
public:
/*! \brief
* Constructor for 'histUSE_SERIALIZATION' mode.
* \param data Pointer to the stream buffer containig serialized content of the shape canvas
*/
wxSFCanvasState(wxStreamBuffer* data);
/*! \brief
* Constructor for 'histUSE_CLONING' mode.
* \param data Pointer to temporal data manager
*/
wxSFCanvasState(wxSFDiagramManager *data);
/*! \brief Destructor. */
~wxSFCanvasState(void);
protected:
// protected functions
/*! \brief
* Restore stored canvas state.
* \param canvas Pointer to the shape canvas which content will be replaced by the stored one
*/
void Restore(wxSFShapeCanvas* canvas);
// protected data members
/*! \brief Memory buffer used during the serialization/deserialization operations. */
wxMemoryBuffer m_dataBuffer;
/*! \brief Data manager used for storing of temporal canvas state. */
wxSFDiagramManager *m_pDataManager;
};
WX_DECLARE_LIST(wxSFCanvasState, StateList);
#endif //_WXSFCANVASSTATE_H
|