1 #ifndef GUI_CORE___UNDO_MANAGER__HPP
2 #define GUI_CORE___UNDO_MANAGER__HPP
51 : m_Document(document), m_MaxBufferSize(maxBufferSize), m_LockCounter(0), m_ExclusiveEdit() {}
54 virtual void Undo(wxWindow* window = 0);
55 virtual void Redo(wxWindow* window = 0);
83 void ShowErrorMsg (
IEditCommand* pCommand,
const string& errMsg);
84 void x_SendChangingEvent();
85 void x_SendChangedEvent();
88 bool x_LockDocument();
90 void x_ShowExclusiveEditDlg();
CUndoManager & m_UndoManager
CWriteLockGuard(CUndoManager &undoManager)
CUndoManager(size_t maxBufferSize=0, CGBDocument *document=0)
wxWindow * m_ExclusiveEdit
list< CIRef< IEditCommand > > TCommands
virtual void ExecuteUnlock()=0
virtual bool ExecuteLock()=0
Interface (functor) for object editing.
virtual bool RequestExclusiveEdit(wxWindow *window, const string &descr)=0
virtual bool ReleaseExclusiveEdit(wxWindow *window)=0
virtual void Undo(wxWindow *window=0)=0
virtual string GetRedoLabel()=0
virtual string GetUndoLabel()=0
virtual void Redo(wxWindow *window=0)=0
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_GUICORE_EXPORT
Defines to provide correct exporting from DLLs in Windows.
string Execute(const string &cmmd, const vector< string > &args, const string &data=kEmptyStr)
Multi-threading – mutexes; rw-locks; semaphore.