Home | History | Annotate | Download | only in undo
      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