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

Unified Diff: ash/wm/window_selector.h

Issue 22778002: Revert 216874 - Use overview mode for alt-tab cycling. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 years, 4 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
« no previous file with comments | « ash/accelerators/accelerator_controller.cc ('k') | ash/wm/window_selector.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/wm/window_selector.h
===================================================================
--- ash/wm/window_selector.h (revision 216889)
+++ ash/wm/window_selector.h (working copy)
@@ -8,8 +8,6 @@
#include <vector>
#include "base/compiler_specific.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/memory/scoped_vector.h"
#include "ui/aura/window_observer.h"
#include "ui/base/events/event_handler.h"
#include "ui/gfx/transform.h"
@@ -18,49 +16,21 @@
class RootWindow;
}
-namespace ui {
-class LocatedEvent;
-}
-
-namespace views {
-class Widget;
-}
-
namespace ash {
class WindowSelectorDelegate;
-class WindowSelectorWindow;
// The WindowSelector shows a grid of all of your windows and allows selecting
-// a window by clicking or tapping on it (OVERVIEW mode) or by alt-tabbing to
-// it (CYCLE mode).
+// a window by clicking or tapping on it.
class WindowSelector : public ui::EventHandler,
public aura::WindowObserver {
public:
- enum Direction {
- FORWARD,
- BACKWARD
- };
- enum Mode {
- CYCLE,
- OVERVIEW
- };
-
typedef std::vector<aura::Window*> WindowList;
WindowSelector(const WindowList& windows,
- Mode mode,
WindowSelectorDelegate* delegate);
virtual ~WindowSelector();
- // Step to the next window in |direction|.
- void Step(Direction direction);
-
- // Select the current window.
- void SelectWindow();
-
- Mode mode() { return mode_; }
-
// ui::EventHandler:
virtual void OnEvent(ui::Event* event) OVERRIDE;
virtual void OnMouseEvent(ui::MouseEvent* event) OVERRIDE;
@@ -70,48 +40,37 @@
virtual void OnWindowDestroyed(aura::Window* window) OVERRIDE;
private:
- // Returns the target of |event| or NULL if the event is not targeted at
- // any of the windows in the selector.
- WindowSelectorWindow* GetEventTarget(ui::LocatedEvent* event);
+ struct WindowDetails {
+ WindowDetails() : window(NULL), minimized(false) {}
- // Handles a selection event for |target|.
- void HandleSelectionEvent(WindowSelectorWindow* target);
+ bool operator==(const aura::Window* other_window) const {
+ return window == other_window;
+ }
- // Position all of the windows based on the current selection mode.
- void PositionWindows();
- // Position all of the windows from |root_window| on |root_window|.
- void PositionWindowsFromRoot(aura::RootWindow* root_window);
- // Position all of the |windows| to fit on the |root_window|.
- void PositionWindowsOnRoot(aura::RootWindow* root_window,
- const std::vector<WindowSelectorWindow*>& windows);
+ // A weak pointer to the window.
+ aura::Window* window;
- void InitializeSelectionWidget();
+ // If true, the window was minimized and this should be restored if the
+ // window was not selected.
+ bool minimized;
- // Updates the selection widget's location to the currently selected window.
- // If |animate| the transition to the new location is animated.
- void UpdateSelectionLocation(bool animate);
+ // The original transform of the window before entering overview mode.
+ gfx::Transform original_transform;
+ };
- // The collection of windows in the overview wrapped by a helper class which
- // restores their state and helps transform them to other root windows.
- ScopedVector<WindowSelectorWindow> windows_;
+ void HandleSelectionEvent(ui::Event* event);
+ void PositionWindows();
+ void PositionWindowsOnRoot(aura::RootWindow* root_window);
- // The window selection mode.
- Mode mode_;
+ void SelectWindow(aura::Window*);
+ // List of weak pointers of windows to select from.
+ std::vector<WindowDetails> windows_;
+
// Weak pointer to the selector delegate which will be called when a
// selection is made.
WindowSelectorDelegate* delegate_;
- // Index of the currently selected window if the mode is CYCLE.
- size_t selected_window_;
-
- // Widget indicating which window is currently selected.
- scoped_ptr<views::Widget> selection_widget_;
-
- // In CYCLE mode, the root window in which selection is taking place.
- // NULL otherwise.
- aura::RootWindow* selection_root_;
-
DISALLOW_COPY_AND_ASSIGN(WindowSelector);
};
« no previous file with comments | « ash/accelerators/accelerator_controller.cc ('k') | ash/wm/window_selector.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698