diff options
author | pkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-24 10:38:49 +0000 |
---|---|---|
committer | pkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-24 10:38:49 +0000 |
commit | e08341ed0a10027243a1b8ffc434fcb4d100dd81 (patch) | |
tree | 9e2494d29e62cceebbaac59bb7b1766f7e0ed45a /athena | |
parent | e840d26a9bbda5d2e97564c80b4dc9cee17163b4 (diff) | |
download | chromium_src-e08341ed0a10027243a1b8ffc434fcb4d100dd81.zip chromium_src-e08341ed0a10027243a1b8ffc434fcb4d100dd81.tar.gz chromium_src-e08341ed0a10027243a1b8ffc434fcb4d100dd81.tar.bz2 |
Cleanup athena's WindowManagerImpl
This CL moves the method implementations out of the WindowManagerImpl class
declaration.
BUG=None
R=flackr
TBR=oshima
Review URL: https://codereview.chromium.org/406393003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285172 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'athena')
-rw-r--r-- | athena/wm/window_manager_impl.cc | 177 |
1 files changed, 111 insertions, 66 deletions
diff --git a/athena/wm/window_manager_impl.cc b/athena/wm/window_manager_impl.cc index d90f34c..7f659e1 100644 --- a/athena/wm/window_manager_impl.cc +++ b/athena/wm/window_manager_impl.cc @@ -31,68 +31,29 @@ class WindowManagerImpl : public WindowManager, void Layout(); // WindowManager: - virtual void ToggleOverview() OVERRIDE { - if (overview_) { - overview_.reset(); - FOR_EACH_OBSERVER(WindowManagerObserver, observers_, - OnOverviewModeExit()); - } else { - overview_ = WindowOverviewMode::Create(container_.get(), this); - FOR_EACH_OBSERVER(WindowManagerObserver, observers_, - OnOverviewModeEnter()); - } - } + virtual void ToggleOverview() OVERRIDE; private: enum Command { COMMAND_TOGGLE_OVERVIEW, }; - void InstallAccelerators() { - const AcceleratorData accelerator_data[] = { - {TRIGGER_ON_PRESS, ui::VKEY_F6, ui::EF_NONE, COMMAND_TOGGLE_OVERVIEW, - AF_NONE}, - }; - AcceleratorManager::Get()->RegisterAccelerators( - accelerator_data, arraysize(accelerator_data), this); - } + void InstallAccelerators(); // WindowManager: - virtual void AddObserver(WindowManagerObserver* observer) OVERRIDE { - observers_.AddObserver(observer); - } - - virtual void RemoveObserver(WindowManagerObserver* observer) OVERRIDE { - observers_.RemoveObserver(observer); - } + virtual void AddObserver(WindowManagerObserver* observer) OVERRIDE; + virtual void RemoveObserver(WindowManagerObserver* observer) OVERRIDE; // WindowOverviewModeDelegate: - virtual void OnSelectWindow(aura::Window* window) OVERRIDE { - CHECK_EQ(container_.get(), window->parent()); - container_->StackChildAtTop(window); - wm::ActivateWindow(window); - overview_.reset(); - FOR_EACH_OBSERVER(WindowManagerObserver, observers_, - OnOverviewModeExit()); - } + virtual void OnSelectWindow(aura::Window* window) OVERRIDE; // aura::WindowObserver - virtual void OnWindowDestroying(aura::Window* window) OVERRIDE { - if (window == container_) - container_.reset(); - } + virtual void OnWindowDestroying(aura::Window* window) OVERRIDE; // AcceleratorHandler: - virtual bool IsCommandEnabled(int command_id) const OVERRIDE { return true; } + virtual bool IsCommandEnabled(int command_id) const OVERRIDE; virtual bool OnAcceleratorFired(int command_id, - const ui::Accelerator& accelerator) OVERRIDE { - switch (command_id) { - case COMMAND_TOGGLE_OVERVIEW: - ToggleOverview(); - break; - } - return true; - } + const ui::Accelerator& accelerator) OVERRIDE; scoped_ptr<aura::Window> container_; scoped_ptr<WindowOverviewMode> overview_; @@ -103,36 +64,27 @@ class WindowManagerImpl : public WindowManager, DISALLOW_COPY_AND_ASSIGN(WindowManagerImpl); }; -class WindowManagerImpl* instance = NULL; - class AthenaContainerLayoutManager : public aura::LayoutManager { public: - AthenaContainerLayoutManager() {} - virtual ~AthenaContainerLayoutManager() {} + AthenaContainerLayoutManager(); + virtual ~AthenaContainerLayoutManager(); private: // aura::LayoutManager: - virtual void OnWindowResized() OVERRIDE { instance->Layout(); } - virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE { - instance->Layout(); - } - virtual void OnWillRemoveWindowFromLayout(aura::Window* child) OVERRIDE {} - virtual void OnWindowRemovedFromLayout(aura::Window* child) OVERRIDE { - instance->Layout(); - } + virtual void OnWindowResized() OVERRIDE; + virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE; + virtual void OnWillRemoveWindowFromLayout(aura::Window* child) OVERRIDE; + virtual void OnWindowRemovedFromLayout(aura::Window* child) OVERRIDE; virtual void OnChildWindowVisibilityChanged(aura::Window* child, - bool visible) OVERRIDE { - instance->Layout(); - } + bool visible) OVERRIDE; virtual void SetChildBounds(aura::Window* child, - const gfx::Rect& requested_bounds) OVERRIDE { - if (!requested_bounds.IsEmpty()) - SetChildBoundsDirect(child, requested_bounds); - } + const gfx::Rect& requested_bounds) OVERRIDE; DISALLOW_COPY_AND_ASSIGN(AthenaContainerLayoutManager); }; +class WindowManagerImpl* instance = NULL; + WindowManagerImpl::WindowManagerImpl() { ScreenManager::ContainerParams params("DefaultContainer"); params.can_activate_children = true; @@ -170,6 +122,99 @@ void WindowManagerImpl::Layout() { } } +void WindowManagerImpl::ToggleOverview() { + if (overview_) { + overview_.reset(); + FOR_EACH_OBSERVER(WindowManagerObserver, observers_, + OnOverviewModeExit()); + } else { + overview_ = WindowOverviewMode::Create(container_.get(), this); + FOR_EACH_OBSERVER(WindowManagerObserver, observers_, + OnOverviewModeEnter()); + } +} + +void WindowManagerImpl::InstallAccelerators() { + const AcceleratorData accelerator_data[] = { + {TRIGGER_ON_PRESS, ui::VKEY_F6, ui::EF_NONE, COMMAND_TOGGLE_OVERVIEW, + AF_NONE}, + }; + AcceleratorManager::Get()->RegisterAccelerators( + accelerator_data, arraysize(accelerator_data), this); +} + +void WindowManagerImpl::AddObserver(WindowManagerObserver* observer) { + observers_.AddObserver(observer); +} + +void WindowManagerImpl::RemoveObserver(WindowManagerObserver* observer) { + observers_.RemoveObserver(observer); +} + +void WindowManagerImpl::OnSelectWindow(aura::Window* window) { + CHECK_EQ(container_.get(), window->parent()); + container_->StackChildAtTop(window); + wm::ActivateWindow(window); + overview_.reset(); + FOR_EACH_OBSERVER(WindowManagerObserver, observers_, + OnOverviewModeExit()); +} + +void WindowManagerImpl::OnWindowDestroying(aura::Window* window) { + if (window == container_) + container_.reset(); +} + +bool WindowManagerImpl::IsCommandEnabled(int command_id) const { + return true; +} + +bool WindowManagerImpl::OnAcceleratorFired(int command_id, + const ui::Accelerator& accelerator) { + switch (command_id) { + case COMMAND_TOGGLE_OVERVIEW: + ToggleOverview(); + break; + } + return true; +} + +AthenaContainerLayoutManager::AthenaContainerLayoutManager() { +} + +AthenaContainerLayoutManager::~AthenaContainerLayoutManager() { +} + +void AthenaContainerLayoutManager::OnWindowResized() { + instance->Layout(); +} + +void AthenaContainerLayoutManager::OnWindowAddedToLayout(aura::Window* child) { + instance->Layout(); +} + +void AthenaContainerLayoutManager::OnWillRemoveWindowFromLayout( + aura::Window* child) { +} + +void AthenaContainerLayoutManager::OnWindowRemovedFromLayout( + aura::Window* child) { + instance->Layout(); +} + +void AthenaContainerLayoutManager::OnChildWindowVisibilityChanged( + aura::Window* child, + bool visible) { + instance->Layout(); +} + +void AthenaContainerLayoutManager::SetChildBounds( + aura::Window* child, + const gfx::Rect& requested_bounds) { + if (!requested_bounds.IsEmpty()) + SetChildBoundsDirect(child, requested_bounds); +} + } // namespace // static |