blob: b78f1036ae0f88f5f4282dc6ca92a6b79c19734d [file] [log] [blame]
[email protected]be5cf822013-07-10 16:36:211// 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
sdefresnec083d1f2015-04-17 21:12:185#ifndef COMPONENTS_UNDO_UNDO_OPERATION_H_
6#define COMPONENTS_UNDO_UNDO_OPERATION_H_
[email protected]be5cf822013-07-10 16:36:217
8// Base class for all undo operations.
9class UndoOperation {
10 public:
11 virtual ~UndoOperation() {}
12
13 virtual void Undo() = 0;
[email protected]7d63a262013-12-17 17:15:5514
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;
[email protected]be5cf822013-07-10 16:36:2124};
25
sdefresnec083d1f2015-04-17 21:12:1826#endif // COMPONENTS_UNDO_UNDO_OPERATION_H_