Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1588)

Unified Diff: ash/wm/workspace/workspace_manager.h

Issue 11417150: Implement workspace scrubbing (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ash/wm/workspace/workspace_manager.h
diff --git a/ash/wm/workspace/workspace_manager.h b/ash/wm/workspace/workspace_manager.h
index e59eada1c6ea9d7d1c4898926fc050fcfde8b101..983328eb8547b71030d0f2326be9099f168a8a4b 100644
--- a/ash/wm/workspace/workspace_manager.h
+++ b/ash/wm/workspace/workspace_manager.h
@@ -53,6 +53,12 @@ class Workspace;
// are maximized and restored they are reparented to the right Window.
class ASH_EXPORT WorkspaceManager : public ash::ShellObserver {
public:
+
sky 2012/11/28 15:15:34 remove newline.
+ enum Direction {
+ WORKSPACE_ABOVE,
sky 2012/11/28 15:15:34 Above and below are not clear in this content. How
+ WORKSPACE_BELOW
+ };
+
explicit WorkspaceManager(aura::Window* viewport);
virtual ~WorkspaceManager();
@@ -78,9 +84,17 @@ class ASH_EXPORT WorkspaceManager : public ash::ShellObserver {
// when a new Window is being added.
aura::Window* GetParentForNewWindow(aura::Window* window);
+ // Called by the workspace cycler to activate the next workspace in
+ // |direction|. Returns false if there are no more workspaces to cycle
+ // to in |direction|.
+ bool CycleToWorkspace(Direction direction);
+
// Starts the animation that occurs on first login.
void DoInitialAnimation();
+ // Returns the window of the currently active workspace.
+ aura::Window* GetActiveWorkspaceWindow() const;
sky 2012/11/28 15:15:34 Should either return const or not be const.
+
// ShellObserver overrides:
virtual void OnAppTerminating() OVERRIDE;
@@ -106,6 +120,9 @@ class ASH_EXPORT WorkspaceManager : public ash::ShellObserver {
// rather we run the animations as if a switch occurred.
SWITCH_INITIAL,
+ // Switch as the result of cycling through workspaces.
+ SWITCH_CYCLE_WORKSPACE,
+
// Edge case. See comment in OnWorkspaceWindowShowStateChanged(). Don't
// make other types randomly use this!
SWITCH_OTHER,
@@ -147,8 +164,8 @@ class ASH_EXPORT WorkspaceManager : public ash::ShellObserver {
// windows. If |stack_beneath| is non-NULL the windows are stacked beneath it.
void MoveChildrenToDesktop(aura::Window* window, aura::Window* stack_beneath);
- // Selects the next workspace.
- void SelectNextWorkspace(SwitchReason reason);
+ // Selects the workspace below the active workspace if any.
+ void SelectWorkspaceBelow(SwitchReason reason);
sky 2012/11/28 15:15:34 Keep the old name, its clearer since below doesn't
// Schedules |workspace| for deletion when it no longer contains any layers.
// See comments above |to_delete_| as to why we do this.

Powered by Google App Engine
This is Rietveld 408576698