| Index: ui/aura_shell/workspace_controller.cc
|
| ===================================================================
|
| --- ui/aura_shell/workspace_controller.cc (revision 115655)
|
| +++ ui/aura_shell/workspace_controller.cc (working copy)
|
| @@ -1,127 +0,0 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "ui/aura_shell/workspace_controller.h"
|
| -
|
| -#include "ui/aura/client/activation_client.h"
|
| -#include "ui/aura/client/aura_constants.h"
|
| -#include "ui/aura/root_window.h"
|
| -#include "ui/aura/window.h"
|
| -#include "ui/aura_shell/default_container_layout_manager.h"
|
| -#include "ui/aura_shell/launcher/launcher.h"
|
| -#include "ui/aura_shell/launcher/launcher_model.h"
|
| -#include "ui/aura_shell/shell.h"
|
| -#include "ui/aura_shell/window_util.h"
|
| -#include "ui/aura_shell/workspace/workspace.h"
|
| -#include "ui/aura_shell/workspace/workspace_manager.h"
|
| -
|
| -namespace aura_shell {
|
| -namespace internal {
|
| -
|
| -WorkspaceController::WorkspaceController(aura::Window* viewport)
|
| - : workspace_manager_(new WorkspaceManager(viewport)),
|
| - launcher_model_(NULL),
|
| - ignore_move_event_(false) {
|
| - workspace_manager_->AddObserver(this);
|
| - aura::RootWindow::GetInstance()->AddRootWindowObserver(this);
|
| - aura::RootWindow::GetInstance()->AddObserver(this);
|
| -}
|
| -
|
| -WorkspaceController::~WorkspaceController() {
|
| - workspace_manager_->RemoveObserver(this);
|
| - if (launcher_model_)
|
| - launcher_model_->RemoveObserver(this);
|
| - aura::RootWindow::GetInstance()->RemoveObserver(this);
|
| - aura::RootWindow::GetInstance()->RemoveRootWindowObserver(this);
|
| -}
|
| -
|
| -void WorkspaceController::ToggleOverview() {
|
| - workspace_manager_->SetOverview(!workspace_manager_->is_overview());
|
| -}
|
| -
|
| -void WorkspaceController::SetLauncherModel(LauncherModel* launcher_model) {
|
| - DCHECK(!launcher_model_);
|
| - launcher_model_ = launcher_model;
|
| - launcher_model_->AddObserver(this);
|
| -}
|
| -
|
| -////////////////////////////////////////////////////////////////////////////////
|
| -// WorkspaceController, aura::RootWindowObserver overrides:
|
| -
|
| -void WorkspaceController::OnRootWindowResized(const gfx::Size& new_size) {
|
| - workspace_manager_->SetWorkspaceSize(new_size);
|
| -}
|
| -
|
| -////////////////////////////////////////////////////////////////////////////////
|
| -// WorkspaceController, aura::WindowObserver overrides:
|
| -
|
| -void WorkspaceController::OnWindowPropertyChanged(aura::Window* window,
|
| - const char* key,
|
| - void* old) {
|
| - if (key == aura::client::kRootWindowActiveWindow) {
|
| - // FindBy handles NULL.
|
| - Workspace* workspace = workspace_manager_->FindBy(GetActiveWindow());
|
| - if (workspace)
|
| - workspace->Activate();
|
| - }
|
| -}
|
| -
|
| -////////////////////////////////////////////////////////////////////////////////
|
| -// WorkspaceController, aura_shell::internal::WorkspaceObserver overrides:
|
| -
|
| -void WorkspaceController::WindowMoved(WorkspaceManager* manager,
|
| - aura::Window* source,
|
| - aura::Window* target) {
|
| - if (ignore_move_event_ || !launcher_model_)
|
| - return;
|
| - int start_index = launcher_model_->ItemIndexByWindow(source);
|
| - int target_index = launcher_model_->ItemIndexByWindow(target);
|
| - // The following condition may not be hold depending on future
|
| - // launcher design. Using DCHECK so that we can catch such change.
|
| - DCHECK(start_index >=0);
|
| - DCHECK(target_index >=0);
|
| -
|
| - ignore_move_event_ = true;
|
| - launcher_model_->Move(start_index, target_index);
|
| - ignore_move_event_ = false;
|
| -}
|
| -
|
| -void WorkspaceController::ActiveWorkspaceChanged(WorkspaceManager* manager,
|
| - Workspace* old) {
|
| - // TODO(oshima): Update Launcher and Status area state when the active
|
| - // workspace's fullscreen state changes.
|
| - //NOTIMPLEMENTED();
|
| -}
|
| -
|
| -////////////////////////////////////////////////////////////////////////////////
|
| -// WorkspaceController, aura_shell::LauncherModelObserver overrides:
|
| -
|
| -void WorkspaceController::LauncherItemAdded(int index) {
|
| -}
|
| -
|
| -void WorkspaceController::LauncherItemRemoved(int index) {
|
| -}
|
| -
|
| -void WorkspaceController::LauncherItemMoved(int start_index, int target_index) {
|
| - if (ignore_move_event_)
|
| - return;
|
| - DCHECK(launcher_model_);
|
| - // Adjust target/source indices as the item positions in |launcher_model_|
|
| - // has already been updated.
|
| - aura::Window* start = launcher_model_->items()[target_index].window;
|
| - size_t target_index_in_model =
|
| - start_index < target_index ? target_index - 1 : target_index + 1;
|
| - DCHECK_LE(target_index_in_model, launcher_model_->items().size());
|
| - aura::Window* target = launcher_model_->items()[target_index_in_model].window;
|
| -
|
| - ignore_move_event_ = true;
|
| - workspace_manager_->RotateWindows(start, target);
|
| - ignore_move_event_ = false;
|
| -}
|
| -
|
| -void WorkspaceController::LauncherItemImagesChanged(int index) {
|
| -}
|
| -
|
| -} // namespace internal
|
| -} // namespace aura_shell
|
|
|