00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __MYGUI_TEXT_CHANGE_HISTORY_H__
00024 #define __MYGUI_TEXT_CHANGE_HISTORY_H__
00025
00026 #include "MyGUI_Prerequest.h"
00027 #include "MyGUI_Common.h"
00028
00029 namespace MyGUI
00030 {
00031
00032
00033 struct TextCommandInfo
00034 {
00035
00036 enum CommandType
00037 {
00038 COMMAND_POSITION,
00039 COMMAND_INSERT,
00040 COMMAND_ERASE
00041 };
00042
00043
00044 TextCommandInfo(const UString& _text, size_t _start, CommandType _type)
00045 : text(_text), type(_type), start(_start), undo(ITEM_NONE), redo(ITEM_NONE), length(ITEM_NONE) { }
00046
00047 TextCommandInfo(size_t _undo, size_t _redo, size_t _length)
00048 : type(COMMAND_POSITION), start(ITEM_NONE), undo(_undo), redo(_redo), length(_length) { }
00049
00050
00051 UString text;
00052
00053 CommandType type;
00054
00055 size_t start;
00056
00057 size_t undo, redo, length;
00058 };
00059
00060 typedef std::vector<TextCommandInfo> VectorChangeInfo;
00061 typedef std::deque<VectorChangeInfo> DequeUndoRedoInfo;
00062
00063 }
00064
00065 #endif // __MYGUI_TEXT_CHANGE_HISTORY_H__