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

Side by Side Diff: mash/wm/shelf_layout_manager.h

Issue 2010473003: Wires up shelf to panel and dock layoutmanagers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: moar Created 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 MASH_WM_SHELF_LAYOUT_MANAGER_H_ 5 #ifndef MASH_WM_SHELF_LAYOUT_MANAGER_H_
6 #define MASH_WM_SHELF_LAYOUT_MANAGER_H_ 6 #define MASH_WM_SHELF_LAYOUT_MANAGER_H_
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "mash/shelf/public/interfaces/shelf_constants.mojom.h" 9 #include "mash/shelf/public/interfaces/shelf_constants.mojom.h"
10 #include "mash/wm/layout_manager.h" 10 #include "mash/wm/layout_manager.h"
11 11
12 namespace mash { 12 namespace mash {
13 namespace wm { 13 namespace wm {
14 14
15 class ShelfLayoutManagerDelegate;
16
15 // Lays out the shelf within shelf containers. 17 // Lays out the shelf within shelf containers.
16 class ShelfLayoutManager : public LayoutManager { 18 class ShelfLayoutManager : public LayoutManager {
17 public: 19 public:
18 explicit ShelfLayoutManager(mus::Window* owner); 20 ShelfLayoutManager(mus::Window* owner, ShelfLayoutManagerDelegate* delegate);
19 ~ShelfLayoutManager() override; 21 ~ShelfLayoutManager() override;
20 22
21 // Returns the shelf, which may be null. 23 // Returns the shelf, which may be null.
22 mus::Window* GetShelfWindow(); 24 mus::Window* GetShelfWindow();
23 25
24 void SetAlignment(shelf::mojom::Alignment alignment); 26 void SetAlignment(shelf::mojom::Alignment alignment);
25 void SetAutoHideBehavior(shelf::mojom::AutoHideBehavior auto_hide); 27 void SetAutoHideBehavior(shelf::mojom::AutoHideBehavior auto_hide);
26 28
27 shelf::mojom::Alignment alignment() const { return alignment_; } 29 shelf::mojom::Alignment alignment() const { return alignment_; }
28 shelf::mojom::AutoHideBehavior auto_hide_behavior() const { 30 shelf::mojom::AutoHideBehavior auto_hide_behavior() const {
29 return auto_hide_behavior_; 31 return auto_hide_behavior_;
30 } 32 }
31 33
32 private: 34 private:
33 // Overridden from LayoutManager: 35 // Overridden from LayoutManager:
34 void LayoutWindow(mus::Window* window) override; 36 void LayoutWindow(mus::Window* window) override;
37 void WindowAdded(mus::Window* window) override;
35 38
39 ShelfLayoutManagerDelegate* delegate_;
36 shelf::mojom::Alignment alignment_; 40 shelf::mojom::Alignment alignment_;
37 shelf::mojom::AutoHideBehavior auto_hide_behavior_; 41 shelf::mojom::AutoHideBehavior auto_hide_behavior_;
38 42
39 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager); 43 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager);
40 }; 44 };
41 45
42 } // namespace wm 46 } // namespace wm
43 } // namespace mash 47 } // namespace mash
44 48
45 #endif // MASH_WM_SHELF_LAYOUT_MANAGER_H_ 49 #endif // MASH_WM_SHELF_LAYOUT_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698