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

Unified Diff: ash/wm/panel_layout_manager.h

Issue 9808026: Layout panels on top of their launcher icons (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Patch for review Created 8 years, 9 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
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);
};

Powered by Google App Engine
This is Rietveld 408576698