OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_PANELS_PANEL_LAYOUT_MANAGER_H_ | 5 #ifndef ASH_WM_PANELS_PANEL_LAYOUT_MANAGER_H_ |
6 #define ASH_WM_PANELS_PANEL_LAYOUT_MANAGER_H_ | 6 #define ASH_WM_PANELS_PANEL_LAYOUT_MANAGER_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 | 9 |
10 #include "ash/ash_export.h" | 10 #include "ash/ash_export.h" |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 | 145 |
146 // Update the callout arrows for all managed panels. | 146 // Update the callout arrows for all managed panels. |
147 void UpdateCallouts(); | 147 void UpdateCallouts(); |
148 | 148 |
149 // Overridden from keyboard::KeyboardControllerObserver: | 149 // Overridden from keyboard::KeyboardControllerObserver: |
150 virtual void OnKeyboardBoundsChanging( | 150 virtual void OnKeyboardBoundsChanging( |
151 const gfx::Rect& keyboard_bounds) OVERRIDE; | 151 const gfx::Rect& keyboard_bounds) OVERRIDE; |
152 | 152 |
153 // Parent window associated with this layout manager. | 153 // Parent window associated with this layout manager. |
154 aura::Window* panel_container_; | 154 aura::Window* panel_container_; |
| 155 // Protect against recursive calls to OnWindowAddedToLayout(). |
| 156 bool in_add_window_; |
155 // Protect against recursive calls to Relayout(). | 157 // Protect against recursive calls to Relayout(). |
156 bool in_layout_; | 158 bool in_layout_; |
157 // Ordered list of unowned pointers to panel windows. | 159 // Ordered list of unowned pointers to panel windows. |
158 PanelList panel_windows_; | 160 PanelList panel_windows_; |
159 // The panel being dragged. | 161 // The panel being dragged. |
160 aura::Window* dragged_panel_; | 162 aura::Window* dragged_panel_; |
161 // The launcher we are observing for launcher icon changes. | 163 // The launcher we are observing for launcher icon changes. |
162 Launcher* launcher_; | 164 Launcher* launcher_; |
163 // The shelf layout manager being observed for visibility changes. | 165 // The shelf layout manager being observed for visibility changes. |
164 ShelfLayoutManager* shelf_layout_manager_; | 166 ShelfLayoutManager* shelf_layout_manager_; |
165 // Tracks the visibility of the shelf. Defaults to false when there is no | 167 // Tracks the visibility of the shelf. Defaults to false when there is no |
166 // shelf. | 168 // shelf. |
167 bool shelf_hidden_; | 169 bool shelf_hidden_; |
168 // The last active panel. Used to maintain stacking even if no panels are | 170 // The last active panel. Used to maintain stacking even if no panels are |
169 // currently focused. | 171 // currently focused. |
170 aura::Window* last_active_panel_; | 172 aura::Window* last_active_panel_; |
171 base::WeakPtrFactory<PanelLayoutManager> weak_factory_; | 173 base::WeakPtrFactory<PanelLayoutManager> weak_factory_; |
172 | 174 |
173 DISALLOW_COPY_AND_ASSIGN(PanelLayoutManager); | 175 DISALLOW_COPY_AND_ASSIGN(PanelLayoutManager); |
174 }; | 176 }; |
175 | 177 |
176 } // namespace internal | 178 } // namespace internal |
177 } // namespace ash | 179 } // namespace ash |
178 | 180 |
179 #endif // ASH_WM_PANELS_PANEL_LAYOUT_MANAGER_H_ | 181 #endif // ASH_WM_PANELS_PANEL_LAYOUT_MANAGER_H_ |
OLD | NEW |