Index: chrome/browser/undo/undo_manager.h |
diff --git a/chrome/browser/undo/undo_manager.h b/chrome/browser/undo/undo_manager.h |
deleted file mode 100644 |
index 443d2d743657dc58c9c066f56625e3dc7fc3dcd0..0000000000000000000000000000000000000000 |
--- a/chrome/browser/undo/undo_manager.h |
+++ /dev/null |
@@ -1,134 +0,0 @@ |
-// 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 CHROME_BROWSER_UNDO_UNDO_MANAGER_H_ |
-#define CHROME_BROWSER_UNDO_UNDO_MANAGER_H_ |
- |
-#include "base/basictypes.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/memory/scoped_vector.h" |
-#include "base/observer_list.h" |
-#include "base/strings/string16.h" |
- |
-class UndoManagerObserver; |
-class UndoOperation; |
- |
-// UndoGroup ------------------------------------------------------------------ |
- |
-// UndoGroup represents a user action and stores all the operations that |
-// make that action. Typically there is only one operation per UndoGroup. |
-class UndoGroup { |
- public: |
- UndoGroup(); |
- ~UndoGroup(); |
- |
- void AddOperation(scoped_ptr<UndoOperation> operation); |
- const std::vector<UndoOperation*>& undo_operations() { |
- return operations_.get(); |
- } |
- void Undo(); |
- |
- // The resource string id describing the undo and redo action. |
- int get_undo_label_id() const { return undo_label_id_; } |
- void set_undo_label_id(int label_id) { undo_label_id_ = label_id; } |
- |
- int get_redo_label_id() const { return redo_label_id_; } |
- void set_redo_label_id(int label_id) { redo_label_id_ = label_id; } |
- |
- private: |
- ScopedVector<UndoOperation> operations_; |
- |
- // The resource string id describing the undo and redo action. |
- int undo_label_id_; |
- int redo_label_id_; |
- |
- DISALLOW_COPY_AND_ASSIGN(UndoGroup); |
-}; |
- |
-// UndoManager ---------------------------------------------------------------- |
- |
-// Maintains user actions as a group of operations that store enough info to |
-// undo and redo those operations. |
-class UndoManager { |
- public: |
- UndoManager(); |
- ~UndoManager(); |
- |
- // Perform an undo or redo operation. |
- void Undo(); |
- void Redo(); |
- |
- size_t undo_count() const { return undo_actions_.size(); } |
- size_t redo_count() const { return redo_actions_.size(); } |
- |
- base::string16 GetUndoLabel() const; |
- base::string16 GetRedoLabel() const; |
- |
- void AddUndoOperation(scoped_ptr<UndoOperation> operation); |
- |
- // Group multiple operations into one undoable action. |
- void StartGroupingActions(); |
- void EndGroupingActions(); |
- |
- // Suspend undo tracking while processing non-user initiated changes such as |
- // profile synchonization. |
- void SuspendUndoTracking(); |
- void ResumeUndoTracking(); |
- bool IsUndoTrakingSuspended() const; |
- |
- // Returns all UndoOperations that are awaiting Undo or Redo. Note that |
- // ownership of the UndoOperations is retained by UndoManager. |
- std::vector<UndoOperation*> GetAllUndoOperations() const; |
- |
- // Remove all undo and redo operations. Note that grouping of actions and |
- // suspension of undo tracking states are left unchanged. |
- void RemoveAllOperations(); |
- |
- // Observers are notified when the internal state of this class changes. |
- void AddObserver(UndoManagerObserver* observer); |
- void RemoveObserver(UndoManagerObserver* observer); |
- |
- private: |
- void Undo(bool* performing_indicator, |
- ScopedVector<UndoGroup>* active_undo_group); |
- bool is_user_action() const { return !performing_undo_ && !performing_redo_; } |
- |
- // Notifies the observers that the undo manager's state has changed. |
- void NotifyOnUndoManagerStateChange(); |
- |
- // Handle the addition of |new_undo_group| to the active undo group container. |
- void AddUndoGroup(UndoGroup* new_undo_group); |
- |
- // Returns the undo or redo UndoGroup container that should store the next |
- // change taking into account if an undo or redo is being executed. |
- ScopedVector<UndoGroup>* GetActiveUndoGroup(); |
- |
- // Containers of user actions ready for an undo or redo treated as a stack. |
- ScopedVector<UndoGroup> undo_actions_; |
- ScopedVector<UndoGroup> redo_actions_; |
- |
- // The observers to notify when internal state changes. |
- ObserverList<UndoManagerObserver> observers_; |
- |
- // Supports grouping operations into a single undo action. |
- int group_actions_count_; |
- |
- // The container that is used when actions are grouped. |
- scoped_ptr<UndoGroup> pending_grouped_action_; |
- |
- // The action that is in the process of being undone. |
- UndoGroup* undo_in_progress_action_; |
- |
- // Supports the suspension of undo tracking. |
- int undo_suspended_count_; |
- |
- // Set when executing Undo or Redo so that incoming changes are correctly |
- // processed. |
- bool performing_undo_; |
- bool performing_redo_; |
- |
- DISALLOW_COPY_AND_ASSIGN(UndoManager); |
-}; |
- |
-#endif // CHROME_BROWSER_UNDO_UNDO_MANAGER_H_ |