diff -r 652028158792 -r 5e6c08e98dbf history.h --- a/history.h Wed Apr 10 02:22:35 2013 +0300 +++ b/history.h Wed Apr 10 02:40:52 2013 +0300 @@ -28,8 +28,12 @@ enum HistoryType_e { HISTORY_Delete, + HISTORY_SetColor, }; +// ============================================================================= +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +// ============================================================================= class HistoryEntry { public: virtual void undo () {} @@ -41,6 +45,9 @@ }; }; +// ============================================================================= +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +// ============================================================================= class DeleteHistory : public HistoryEntry { public: IMPLEMENT_HISTORY_TYPE (Delete) @@ -55,6 +62,27 @@ virtual void redo (); }; +// ============================================================================= +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +// ============================================================================= +class SetColorHistory : public HistoryEntry { +public: + IMPLEMENT_HISTORY_TYPE (SetColor) + + vector ulaIndices; + vector daColors; + short dNewColor; + + SetColorHistory (vector ulaIndices, vector daColors, short dNewColor) : + ulaIndices (ulaIndices), daColors (daColors), dNewColor (dNewColor) {} + virtual ~SetColorHistory () {} + virtual void undo (); + virtual void redo (); +}; + +// ============================================================================= +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +// ============================================================================= namespace History { extern std::vector entries;