00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 00019 #ifndef VERBOSELIMITEDLINEARUNDO_H_HEADER_INCLUDED_C16E96 00020 #define VERBOSELIMITEDLINEARUNDO_H_HEADER_INCLUDED_C16E96 00021 00022 // MITK header 00023 #include "mitkCommon.h" 00024 #include "mitkLimitedLinearUndo.h" 00025 // STL header 00026 #include <vector> 00027 #include <list> 00028 #include <utility> 00029 #include <string> 00030 00031 namespace mitk { 00032 00033 class UndoStackItem; 00034 00041 class MITK_CORE_EXPORT VerboseLimitedLinearUndo : public LimitedLinearUndo 00042 { 00043 public: 00044 mitkClassMacro(VerboseLimitedLinearUndo, LimitedLinearUndo); 00045 itkNewMacro(Self); 00046 00047 typedef std::pair<int,std::string> StackDescriptionItem; 00048 typedef std::vector<StackDescriptionItem> StackDescription; 00049 00050 virtual bool SetOperationEvent(UndoStackItem* undoStackItem); 00051 00052 virtual StackDescription GetUndoDescriptions(); 00053 virtual StackDescription GetRedoDescriptions(); 00054 00055 protected: 00056 VerboseLimitedLinearUndo(); 00057 virtual ~VerboseLimitedLinearUndo(); 00058 00059 }; 00060 00061 } // namespace mitk 00062 00063 #endif /* VERBOSELIMITEDLINEARUNDO_H_HEADER_INCLUDED_C16E96 */