1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_UNDO_UNDO_OPERATION_H_ 6 #define CHROME_BROWSER_UNDO_UNDO_OPERATION_H_ 7 8 // Base class for all undo operations. 9 class UndoOperation { 10 public: 11 virtual ~UndoOperation() {} 12 13 virtual void Undo() = 0; 14 15 // Returns the resource string id describing the undo/redo of this operation 16 // for use as labels in the UI. 17 // Note: The labels describe the original user action, this may result in 18 // the meaning of the redo label being reversed. For example, an 19 // UndoOperation representing a deletion would have been created in order to 20 // redo an addition by the user. In this case, the redo label string for the 21 // UndoOperation of delete would be "Redo add". 22 virtual int GetUndoLabelId() const = 0; 23 virtual int GetRedoLabelId() const = 0; 24 }; 25 26 #endif // CHROME_BROWSER_UNDO_UNDO_OPERATION_H_ 27