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

Side by Side Diff: ash/wm/dock/docked_window_layout_manager.h

Issue 19054013: Implement automatic layout and stacking for docked windows (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@issue_233331_sized
Patch Set: Implement automatic layout and stacking (test on win_aura) Created 7 years, 5 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 unified diff | Download patch
« no previous file with comments | « no previous file | ash/wm/dock/docked_window_layout_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef ASH_WM_DOCK_DOCKED_WINDOW_LAYOUT_MANAGER_H_ 5 #ifndef ASH_WM_DOCK_DOCKED_WINDOW_LAYOUT_MANAGER_H_
6 #define ASH_WM_DOCK_DOCKED_WINDOW_LAYOUT_MANAGER_H_ 6 #define ASH_WM_DOCK_DOCKED_WINDOW_LAYOUT_MANAGER_H_
7 7
8 #include "ash/ash_export.h" 8 #include "ash/ash_export.h"
9 #include "ash/shelf/shelf_layout_manager_observer.h" 9 #include "ash/shelf/shelf_layout_manager_observer.h"
10 #include "ash/shell_observer.h" 10 #include "ash/shell_observer.h"
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 virtual void SetChildBounds(aura::Window* child, 96 virtual void SetChildBounds(aura::Window* child,
97 const gfx::Rect& requested_bounds) OVERRIDE; 97 const gfx::Rect& requested_bounds) OVERRIDE;
98 98
99 // ash::ShellObserver: 99 // ash::ShellObserver:
100 virtual void OnShelfAlignmentChanged(aura::RootWindow* root_window) OVERRIDE; 100 virtual void OnShelfAlignmentChanged(aura::RootWindow* root_window) OVERRIDE;
101 101
102 // aura::WindowObserver: 102 // aura::WindowObserver:
103 virtual void OnWindowPropertyChanged(aura::Window* window, 103 virtual void OnWindowPropertyChanged(aura::Window* window,
104 const void* key, 104 const void* key,
105 intptr_t old) OVERRIDE; 105 intptr_t old) OVERRIDE;
106 virtual void OnWindowBoundsChanged(aura::Window* window,
107 const gfx::Rect& old_bounds,
108 const gfx::Rect& new_bounds) OVERRIDE;
109 virtual void OnWindowDestroying(aura::Window* window) OVERRIDE;
106 110
107 // aura::client::ActivationChangeObserver: 111 // aura::client::ActivationChangeObserver:
108 virtual void OnWindowActivated(aura::Window* gained_active, 112 virtual void OnWindowActivated(aura::Window* gained_active,
109 aura::Window* lost_active) OVERRIDE; 113 aura::Window* lost_active) OVERRIDE;
110 114
111 // ShelfLayoutManagerObserver: 115 // ShelfLayoutManagerObserver:
112 virtual void WillChangeVisibilityState( 116 virtual void WillChangeVisibilityState(
113 ShelfVisibilityState new_state) OVERRIDE; 117 ShelfVisibilityState new_state) OVERRIDE;
114 118
115 private: 119 private:
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 bool shelf_hidden_; 171 bool shelf_hidden_;
168 // Current width of the dock. 172 // Current width of the dock.
169 int docked_width_; 173 int docked_width_;
170 174
171 // Last bounds that were sent to observers. 175 // Last bounds that were sent to observers.
172 gfx::Rect docked_bounds_; 176 gfx::Rect docked_bounds_;
173 177
174 // Side of the screen that the dock is positioned at. 178 // Side of the screen that the dock is positioned at.
175 DockedAlignment alignment_; 179 DockedAlignment alignment_;
176 180
181 // The last active window. Used to maintain stacking order even if no windows
182 // are currently focused.
183 aura::Window* last_active_window_;
184
177 // Observers of dock bounds changes. 185 // Observers of dock bounds changes.
178 ObserverList<DockedWindowLayoutManagerObserver> observer_list_; 186 ObserverList<DockedWindowLayoutManagerObserver> observer_list_;
179 187
180 DISALLOW_COPY_AND_ASSIGN(DockedWindowLayoutManager); 188 DISALLOW_COPY_AND_ASSIGN(DockedWindowLayoutManager);
181 }; 189 };
182 190
183 } // namespace internal 191 } // namespace internal
184 } // namespace ash 192 } // namespace ash
185 193
186 #endif // ASH_WM_DOCK_DOCKED_WINDOW_LAYOUT_MANAGER_H_ 194 #endif // ASH_WM_DOCK_DOCKED_WINDOW_LAYOUT_MANAGER_H_
OLDNEW
« no previous file with comments | « no previous file | ash/wm/dock/docked_window_layout_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698