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

Unified Diff: ash/wm/overview/window_selector.h

Issue 251103005: Added arrow key navigation to Overview Mode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Starting again from design doc Created 6 years, 7 months 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/overview/window_selector.h
diff --git a/ash/wm/overview/window_selector.h b/ash/wm/overview/window_selector.h
index bfb0c143f9d2e81c53ae0457556db87c230bcfb2..f1d27bcbac326be57a8bc45759b67d2299fd1948 100644
--- a/ash/wm/overview/window_selector.h
+++ b/ash/wm/overview/window_selector.h
@@ -39,6 +39,7 @@ namespace ash {
class WindowSelectorDelegate;
class WindowSelectorItem;
class WindowSelectorTest;
+class WindowGrid;
// The WindowSelector shows a grid of all of your windows, allowing to select
// one by clicking or tapping on it.
@@ -48,6 +49,13 @@ class ASH_EXPORT WindowSelector
public aura::WindowObserver,
public aura::client::ActivationChangeObserver {
public:
+ enum Direction {
+ RIGHT,
+ DOWN,
+ LEFT,
+ UP
+ };
+
typedef std::vector<aura::Window*> WindowList;
typedef ScopedVector<WindowSelectorItem> WindowSelectorItemList;
@@ -93,10 +101,11 @@ class ASH_EXPORT WindowSelector
// Begins positioning windows such that all windows are visible on the screen.
void StartOverview();
- // Position all of the windows based on the current selection mode.
+ // Position all of the windows in the overview.
void PositionWindows(bool animate);
- // Position all of the windows from |root_window| on |root_window|.
- void PositionWindowsFromRoot(aura::Window* root_window, bool animate);
+
+ // Creates the WindowGrid objects and populates them with the current windows.
+ void CreateWindowGrids();
// Resets the stored window from RemoveFocusAndSetRestoreWindow to NULL. If
// Hide and track all hidden windows not in overview.
@@ -133,6 +142,9 @@ class ASH_EXPORT WindowSelector
// used to prevent handling the resulting expected activation.
bool ignore_activations_;
+ // List of all the window overview grids, one for each window.
tdanderson 2014/05/28 16:01:19 One for each root window?
Nina 2014/05/29 17:12:24 Yes. Modified comment.
+ ScopedVector<WindowGrid> grid_list_;
+
// The cursor client used to lock the current cursor during overview.
aura::client::CursorClient* cursor_client_;
@@ -143,6 +155,9 @@ class ASH_EXPORT WindowSelector
// overview.
aura::WindowTracker hidden_windows_;
+ // Tracks the index of the root window the selection widget is in.
+ size_t root_index_;
+
DISALLOW_COPY_AND_ASSIGN(WindowSelector);
};

Powered by Google App Engine
This is Rietveld 408576698