Chromium Code Reviews| Index: ash/wm/panel_layout_manager.h |
| diff --git a/ash/wm/panel_layout_manager.h b/ash/wm/panel_layout_manager.h |
| index 6951c296822cdf8882ecb9cc47be3442fd39b1fb..4a2f7fee53ecee897626378f1da58e8a68064e0e 100644 |
| --- a/ash/wm/panel_layout_manager.h |
| +++ b/ash/wm/panel_layout_manager.h |
| @@ -9,6 +9,7 @@ |
| #include <list> |
| #include "ash/ash_export.h" |
| +#include "ash/launcher/launcher_icons_observer.h" |
| #include "base/basictypes.h" |
| #include "base/compiler_specific.h" |
| #include "ui/aura/layout_manager.h" |
| @@ -22,6 +23,8 @@ class Rect; |
| } |
| namespace ash { |
| +class Launcher; |
| + |
| namespace internal { |
| // PanelLayoutManager is responsible for organizing panels within the |
| @@ -43,6 +46,8 @@ class ASH_EXPORT PanelLayoutManager : public aura::LayoutManager { |
| void ToggleMinimize(aura::Window* panel); |
| + void SetLauncher(ash::Launcher* launcher); |
| + |
| // Overridden from aura::LayoutManager: |
| virtual void OnWindowResized() OVERRIDE; |
| virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE; |
| @@ -53,6 +58,15 @@ class ASH_EXPORT PanelLayoutManager : public aura::LayoutManager { |
| const gfx::Rect& requested_bounds) OVERRIDE; |
| private: |
| + class LauncherIconsObserver : public ash::LauncherIconsObserver { |
|
sky
2012/04/03 20:39:37
Any reason you don't make PanelLayoutManager direc
Dmitry Lomov (no reviews)
2012/04/03 20:50:07
The fact that PanelLayoutManager observes launcher
sky
2012/04/03 20:57:18
There are a plethora of classes in Chrome that fit
Dmitry Lomov (no reviews)
2012/04/03 21:18:23
Widespread use of errant practice does not make it
stevenjb
2012/04/03 22:09:29
I have to agree with sky here - we make "correctne
|
| + public: |
| + LauncherIconsObserver(PanelLayoutManager* layout_manager); |
| + |
| + virtual void OnLauncherIconPositionsChanged() OVERRIDE; |
| + private: |
| + PanelLayoutManager* layout_manager_; |
| + }; |
| + |
| typedef std::list<aura::Window*> PanelList; |
| // Called whenever the panel layout might change. |
| @@ -67,6 +81,8 @@ class ASH_EXPORT PanelLayoutManager : public aura::LayoutManager { |
| aura::Window* dragged_panel_; |
| + LauncherIconsObserver launcher_icons_observer_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(PanelLayoutManager); |
| }; |