blob: b78f1036ae0f88f5f4282dc6ca92a6b79c19734d [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_UNDO_UNDO_OPERATION_H_
#define COMPONENTS_UNDO_UNDO_OPERATION_H_
// Base class for all undo operations.
class UndoOperation {
public:
virtual ~UndoOperation() {}
virtual void Undo() = 0;
// Returns the resource string id describing the undo/redo of this operation
// for use as labels in the UI.
// Note: The labels describe the original user action, this may result in
// the meaning of the redo label being reversed. For example, an
// UndoOperation representing a deletion would have been created in order to
// redo an addition by the user. In this case, the redo label string for the
// UndoOperation of delete would be "Redo add".
virtual int GetUndoLabelId() const = 0;
virtual int GetRedoLabelId() const = 0;
};
#endif // COMPONENTS_UNDO_UNDO_OPERATION_H_