• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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:
~UndoOperation()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