You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.8 KiB
62 lines
1.8 KiB
/*************************************************************** |
|
* 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
|
|
|