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

Side by Side Diff: ash/wm/panels/panel_layout_manager.cc

Issue 2899253002: chromeos: Rename ash::WmShelf to Shelf (Closed)
Patch Set: rebase Created 3 years, 7 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 unified diff | Download patch
« no previous file with comments | « ash/wm/panels/panel_layout_manager.h ('k') | ash/wm/panels/panel_layout_manager_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ash/wm/panels/panel_layout_manager.h" 5 #include "ash/wm/panels/panel_layout_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 #include <utility> 9 #include <utility>
10 10
11 #include "ash/keyboard/keyboard_observer_register.h" 11 #include "ash/keyboard/keyboard_observer_register.h"
12 #include "ash/public/cpp/shell_window_ids.h" 12 #include "ash/public/cpp/shell_window_ids.h"
13 #include "ash/public/cpp/window_properties.h" 13 #include "ash/public/cpp/window_properties.h"
14 #include "ash/root_window_controller.h" 14 #include "ash/root_window_controller.h"
15 #include "ash/shelf/wm_shelf.h" 15 #include "ash/shelf/shelf.h"
16 #include "ash/shell.h" 16 #include "ash/shell.h"
17 #include "ash/shell_port.h" 17 #include "ash/shell_port.h"
18 #include "ash/wm/overview/window_selector_controller.h" 18 #include "ash/wm/overview/window_selector_controller.h"
19 #include "ash/wm/window_animation_types.h" 19 #include "ash/wm/window_animation_types.h"
20 #include "ash/wm/window_parenting_utils.h" 20 #include "ash/wm/window_parenting_utils.h"
21 #include "ash/wm/window_properties.h" 21 #include "ash/wm/window_properties.h"
22 #include "ash/wm/window_state.h" 22 #include "ash/wm/window_state.h"
23 #include "ash/wm/window_util.h" 23 #include "ash/wm/window_util.h"
24 #include "ash/wm_window.h" 24 #include "ash/wm_window.h"
25 #include "base/auto_reset.h" 25 #include "base/auto_reset.h"
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 182
183 } // namespace 183 } // namespace
184 184
185 class PanelCalloutWidget : public views::Widget { 185 class PanelCalloutWidget : public views::Widget {
186 public: 186 public:
187 explicit PanelCalloutWidget(Window* container) : background_(nullptr) { 187 explicit PanelCalloutWidget(Window* container) : background_(nullptr) {
188 InitWidget(container); 188 InitWidget(container);
189 } 189 }
190 190
191 // Updates the bounds based on the shelf alignment. 191 // Updates the bounds based on the shelf alignment.
192 void UpdateBounds(WmShelf* shelf) { 192 void UpdateBounds(Shelf* shelf) {
193 Window* window = this->GetNativeWindow(); 193 Window* window = this->GetNativeWindow();
194 gfx::Rect callout_bounds = window->bounds(); 194 gfx::Rect callout_bounds = window->bounds();
195 if (shelf->IsHorizontalAlignment()) { 195 if (shelf->IsHorizontalAlignment()) {
196 callout_bounds.set_width(kArrowWidth); 196 callout_bounds.set_width(kArrowWidth);
197 callout_bounds.set_height(kArrowHeight); 197 callout_bounds.set_height(kArrowHeight);
198 } else { 198 } else {
199 callout_bounds.set_width(kArrowHeight); 199 callout_bounds.set_width(kArrowHeight);
200 callout_bounds.set_height(kArrowWidth); 200 callout_bounds.set_height(kArrowWidth);
201 } 201 }
202 Window* parent = window->parent(); 202 Window* parent = window->parent();
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 DCHECK(!dragged_panel_); 298 DCHECK(!dragged_panel_);
299 dragged_panel_ = panel; 299 dragged_panel_ = panel;
300 Relayout(); 300 Relayout();
301 } 301 }
302 302
303 void PanelLayoutManager::FinishDragging() { 303 void PanelLayoutManager::FinishDragging() {
304 dragged_panel_ = nullptr; 304 dragged_panel_ = nullptr;
305 Relayout(); 305 Relayout();
306 } 306 }
307 307
308 void PanelLayoutManager::SetShelf(WmShelf* shelf) { 308 void PanelLayoutManager::SetShelf(Shelf* shelf) {
309 DCHECK(!shelf_); 309 DCHECK(!shelf_);
310 shelf_ = shelf; 310 shelf_ = shelf;
311 shelf_->AddObserver(this); 311 shelf_->AddObserver(this);
312 WillChangeVisibilityState(shelf_->GetVisibilityState()); 312 WillChangeVisibilityState(shelf_->GetVisibilityState());
313 } 313 }
314 314
315 void PanelLayoutManager::ToggleMinimize(Window* panel) { 315 void PanelLayoutManager::ToggleMinimize(Window* panel) {
316 DCHECK(panel->parent() == panel_container_); 316 DCHECK(panel->parent() == panel_container_);
317 wm::WindowState* window_state = wm::GetWindowState(panel); 317 wm::WindowState* window_state = wm::GetWindowState(panel);
318 if (window_state->IsMinimized()) 318 if (window_state->IsMinimized())
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 577
578 ::wm::SetWindowVisibilityAnimationType( 578 ::wm::SetWindowVisibilityAnimationType(
579 panel, wm::WINDOW_VISIBILITY_ANIMATION_TYPE_MINIMIZE); 579 panel, wm::WINDOW_VISIBILITY_ANIMATION_TYPE_MINIMIZE);
580 ui::Layer* layer = panel->layer(); 580 ui::Layer* layer = panel->layer();
581 ui::ScopedLayerAnimationSettings panel_slide_settings(layer->GetAnimator()); 581 ui::ScopedLayerAnimationSettings panel_slide_settings(layer->GetAnimator());
582 panel_slide_settings.SetPreemptionStrategy( 582 panel_slide_settings.SetPreemptionStrategy(
583 ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET); 583 ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET);
584 panel_slide_settings.SetTransitionDuration( 584 panel_slide_settings.SetTransitionDuration(
585 base::TimeDelta::FromMilliseconds(kPanelSlideDurationMilliseconds)); 585 base::TimeDelta::FromMilliseconds(kPanelSlideDurationMilliseconds));
586 gfx::Rect bounds(panel->bounds()); 586 gfx::Rect bounds(panel->bounds());
587 bounds.Offset(GetSlideInAnimationOffset(shelf_->GetAlignment())); 587 bounds.Offset(GetSlideInAnimationOffset(shelf_->alignment()));
588 SetChildBoundsDirect(panel, bounds); 588 SetChildBoundsDirect(panel, bounds);
589 panel->Hide(); 589 panel->Hide();
590 layer->SetOpacity(0); 590 layer->SetOpacity(0);
591 if (::wm::IsActiveWindow(panel)) 591 if (::wm::IsActiveWindow(panel))
592 ::wm::DeactivateWindow(panel); 592 ::wm::DeactivateWindow(panel);
593 Relayout(); 593 Relayout();
594 } 594 }
595 595
596 void PanelLayoutManager::RestorePanel(Window* panel) { 596 void PanelLayoutManager::RestorePanel(Window* panel) {
597 PanelList::iterator found = 597 PanelList::iterator found =
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
851 std::max(current_bounds.x() - callout_bounds.x(), 851 std::max(current_bounds.x() - callout_bounds.x(),
852 callout_bounds.right() - current_bounds.right()); 852 callout_bounds.right() - current_bounds.right());
853 } else { 853 } else {
854 callout_bounds.set_y(icon_bounds.y() + 854 callout_bounds.set_y(icon_bounds.y() +
855 (icon_bounds.height() - callout_bounds.height()) / 855 (icon_bounds.height() - callout_bounds.height()) /
856 2); 856 2);
857 distance_until_over_panel = 857 distance_until_over_panel =
858 std::max(current_bounds.y() - callout_bounds.y(), 858 std::max(current_bounds.y() - callout_bounds.y(),
859 callout_bounds.bottom() - current_bounds.bottom()); 859 callout_bounds.bottom() - current_bounds.bottom());
860 } 860 }
861 if (shelf_->GetAlignment() == SHELF_ALIGNMENT_LEFT) 861 if (shelf_->alignment() == SHELF_ALIGNMENT_LEFT)
862 callout_bounds.set_x(bounds.x() - callout_bounds.width()); 862 callout_bounds.set_x(bounds.x() - callout_bounds.width());
863 else if (shelf_->GetAlignment() == SHELF_ALIGNMENT_RIGHT) 863 else if (shelf_->alignment() == SHELF_ALIGNMENT_RIGHT)
864 callout_bounds.set_x(bounds.right()); 864 callout_bounds.set_x(bounds.right());
865 else 865 else
866 callout_bounds.set_y(bounds.bottom()); 866 callout_bounds.set_y(bounds.bottom());
867 ::wm::ConvertRectFromScreen(callout_widget_window->parent(), 867 ::wm::ConvertRectFromScreen(callout_widget_window->parent(),
868 &callout_bounds); 868 &callout_bounds);
869 869
870 SetChildBoundsDirect(callout_widget_window, callout_bounds); 870 SetChildBoundsDirect(callout_widget_window, callout_bounds);
871 DCHECK_EQ(panel_container_, callout_widget_window->parent()); 871 DCHECK_EQ(panel_container_, callout_widget_window->parent());
872 DCHECK_EQ(panel_container_, panel->parent()); 872 DCHECK_EQ(panel_container_, panel->parent());
873 panel_container_->StackChildAbove(callout_widget_window, panel); 873 panel_container_->StackChildAbove(callout_widget_window, panel);
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
937 // This bounds change will have caused a change to the Shelf which does not 937 // This bounds change will have caused a change to the Shelf which does not
938 // propogate automatically to this class, so manually recalculate bounds. 938 // propogate automatically to this class, so manually recalculate bounds.
939 OnWindowResized(); 939 OnWindowResized();
940 } 940 }
941 941
942 void PanelLayoutManager::OnKeyboardClosed() { 942 void PanelLayoutManager::OnKeyboardClosed() {
943 keyboard_observer_.RemoveAll(); 943 keyboard_observer_.RemoveAll();
944 } 944 }
945 945
946 } // namespace ash 946 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/panels/panel_layout_manager.h ('k') | ash/wm/panels/panel_layout_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698