| Index: ui/aura_shell/shelf_layout_manager.h
|
| diff --git a/ui/aura_shell/shelf_layout_controller.h b/ui/aura_shell/shelf_layout_manager.h
|
| similarity index 59%
|
| rename from ui/aura_shell/shelf_layout_controller.h
|
| rename to ui/aura_shell/shelf_layout_manager.h
|
| index a675699e5e1fa67c97d914d01ba41c82802e4c39..2c46867ba3fdf42f5f39e06d09370a063d5f8592 100644
|
| --- a/ui/aura_shell/shelf_layout_controller.h
|
| +++ b/ui/aura_shell/shelf_layout_manager.h
|
| @@ -2,12 +2,13 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef UI_AURA_SHELL_SHELF_LAYOUT_CONTROLLER_H_
|
| -#define UI_AURA_SHELL_SHELF_LAYOUT_CONTROLLER_H_
|
| +#ifndef UI_AURA_SHELL_SHELF_LAYOUT_MANAGER_H_
|
| +#define UI_AURA_SHELL_SHELF_LAYOUT_MANAGER_H_
|
| #pragma once
|
|
|
| #include "base/basictypes.h"
|
| #include "base/compiler_specific.h"
|
| +#include "ui/aura/layout_manager.h"
|
| #include "ui/gfx/compositor/layer_animation_observer.h"
|
| #include "ui/gfx/insets.h"
|
| #include "ui/gfx/rect.h"
|
| @@ -19,13 +20,17 @@ class Widget;
|
| namespace aura_shell {
|
| namespace internal {
|
|
|
| -// ShelfLayoutController is responsible for showing and hiding the launcher and
|
| -// status area as well as positioning them.
|
| -class ShelfLayoutController : public ui::LayerAnimationObserver {
|
| +// ShelfLayoutManager is a layout manager responsible for the launcher.
|
| +// Also supports showing and hiding the launcher/status area
|
| +// as well as positioning them.
|
| +class ShelfLayoutManager : public aura::LayoutManager,
|
| + public ui::LayerAnimationObserver {
|
| public:
|
| - ShelfLayoutController(views::Widget* launcher,
|
| - views::Widget* status);
|
| - virtual ~ShelfLayoutController();
|
| + ShelfLayoutManager(views::Widget* launcher,
|
| + views::Widget* status);
|
| + virtual ~ShelfLayoutManager();
|
| +
|
| + bool in_layout() const { return in_layout_; }
|
|
|
| // Stops any animations and sets the bounds of the launcher and status
|
| // widgets.
|
| @@ -34,6 +39,15 @@ class ShelfLayoutController : public ui::LayerAnimationObserver {
|
| // Sets the visbility of the shelf to |visible|.
|
| void SetVisible(bool visible);
|
|
|
| + // Overridden from aura::LayoutManager:
|
| + virtual void OnWindowResized() OVERRIDE;
|
| + virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE;
|
| + virtual void OnWillRemoveWindowFromLayout(aura::Window* child) OVERRIDE;
|
| + virtual void OnChildWindowVisibilityChanged(aura::Window* child,
|
| + bool visible) OVERRIDE;
|
| + virtual void SetChildBounds(aura::Window* child,
|
| + const gfx::Rect& requested_bounds) OVERRIDE;
|
| +
|
| private:
|
| struct TargetBounds {
|
| gfx::Rect launcher_bounds;
|
| @@ -64,6 +78,10 @@ class ShelfLayoutController : public ui::LayerAnimationObserver {
|
| // Are we animating?
|
| bool animating_;
|
|
|
| + // True when inside LayoutShelf method. Used to prevent calling LayoutShelf
|
| + // again from SetChildBounds().
|
| + bool in_layout_;
|
| +
|
| // Current visibility. When the visibility changes this field is reset once
|
| // the animation completes.
|
| bool visible_;
|
| @@ -74,10 +92,10 @@ class ShelfLayoutController : public ui::LayerAnimationObserver {
|
| views::Widget* launcher_;
|
| views::Widget* status_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(ShelfLayoutController);
|
| + DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager);
|
| };
|
|
|
| } // namespace internal
|
| } // namespace aura_shell
|
|
|
| -#endif // UI_AURA_SHELL_SHELF_LAYOUT_CONTROLLER_H_
|
| +#endif // UI_AURA_SHELL_SHELF_LAYOUT_MANAGER_H_
|
|
|