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

Side by Side Diff: ash/shelf/shelf_view.cc

Issue 68243002: ash: Rename LauncherModelObserver to ShelfModelObserver. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « ash/shelf/shelf_view.h ('k') | chrome/browser/ui/ash/launcher/chrome_launcher_controller.h » ('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/shelf/shelf_view.h" 5 #include "ash/shelf/shelf_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "ash/ash_constants.h" 9 #include "ash/ash_constants.h"
10 #include "ash/ash_switches.h" 10 #include "ash/ash_switches.h"
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 void ShelfView::Init() { 421 void ShelfView::Init() {
422 model_->AddObserver(this); 422 model_->AddObserver(this);
423 423
424 const LauncherItems& items(model_->items()); 424 const LauncherItems& items(model_->items());
425 for (LauncherItems::const_iterator i = items.begin(); i != items.end(); ++i) { 425 for (LauncherItems::const_iterator i = items.begin(); i != items.end(); ++i) {
426 views::View* child = CreateViewForItem(*i); 426 views::View* child = CreateViewForItem(*i);
427 child->SetPaintToLayer(true); 427 child->SetPaintToLayer(true);
428 view_model_->Add(child, static_cast<int>(i - items.begin())); 428 view_model_->Add(child, static_cast<int>(i - items.begin()));
429 AddChildView(child); 429 AddChildView(child);
430 } 430 }
431 LauncherStatusChanged(); 431 ShelfStatusChanged();
432 overflow_button_ = new OverflowButton(this); 432 overflow_button_ = new OverflowButton(this);
433 overflow_button_->set_context_menu_controller(this); 433 overflow_button_->set_context_menu_controller(this);
434 ConfigureChildView(overflow_button_); 434 ConfigureChildView(overflow_button_);
435 AddChildView(overflow_button_); 435 AddChildView(overflow_button_);
436 UpdateFirstButtonPadding(); 436 UpdateFirstButtonPadding();
437 437
438 // We'll layout when our bounds change. 438 // We'll layout when our bounds change.
439 } 439 }
440 440
441 void ShelfView::OnShelfAlignmentChanged() { 441 void ShelfView::OnShelfAlignmentChanged() {
(...skipping 941 matching lines...) Expand 10 before | Expand all | Expand 10 after
1383 void ShelfView::GetAccessibleState(ui::AccessibleViewState* state) { 1383 void ShelfView::GetAccessibleState(ui::AccessibleViewState* state) {
1384 state->role = ui::AccessibilityTypes::ROLE_TOOLBAR; 1384 state->role = ui::AccessibilityTypes::ROLE_TOOLBAR;
1385 state->name = l10n_util::GetStringUTF16(IDS_ASH_SHELF_ACCESSIBLE_NAME); 1385 state->name = l10n_util::GetStringUTF16(IDS_ASH_SHELF_ACCESSIBLE_NAME);
1386 } 1386 }
1387 1387
1388 void ShelfView::OnGestureEvent(ui::GestureEvent* event) { 1388 void ShelfView::OnGestureEvent(ui::GestureEvent* event) {
1389 if (gesture_handler_.ProcessGestureEvent(*event)) 1389 if (gesture_handler_.ProcessGestureEvent(*event))
1390 event->StopPropagation(); 1390 event->StopPropagation();
1391 } 1391 }
1392 1392
1393 void ShelfView::LauncherItemAdded(int model_index) { 1393 void ShelfView::ShelfItemAdded(int model_index) {
1394 { 1394 {
1395 base::AutoReset<bool> cancelling_drag( 1395 base::AutoReset<bool> cancelling_drag(
1396 &cancelling_drag_model_changed_, true); 1396 &cancelling_drag_model_changed_, true);
1397 model_index = CancelDrag(model_index); 1397 model_index = CancelDrag(model_index);
1398 } 1398 }
1399 views::View* view = CreateViewForItem(model_->items()[model_index]); 1399 views::View* view = CreateViewForItem(model_->items()[model_index]);
1400 AddChildView(view); 1400 AddChildView(view);
1401 // Hide the view, it'll be made visible when the animation is done. Using 1401 // Hide the view, it'll be made visible when the animation is done. Using
1402 // opacity 0 here to avoid messing with CalculateIdealBounds which touches 1402 // opacity 0 here to avoid messing with CalculateIdealBounds which touches
1403 // the view's visibility. 1403 // the view's visibility.
(...skipping 15 matching lines...) Expand all
1419 if (model_index <= last_visible_index_ || 1419 if (model_index <= last_visible_index_ ||
1420 model_index >= model_->FirstPanelIndex()) { 1420 model_index >= model_->FirstPanelIndex()) {
1421 bounds_animator_->SetAnimationDelegate( 1421 bounds_animator_->SetAnimationDelegate(
1422 view, new StartFadeAnimationDelegate(this, view), true); 1422 view, new StartFadeAnimationDelegate(this, view), true);
1423 } else { 1423 } else {
1424 // Undo the hiding if animation does not run. 1424 // Undo the hiding if animation does not run.
1425 view->layer()->SetOpacity(1.0f); 1425 view->layer()->SetOpacity(1.0f);
1426 } 1426 }
1427 } 1427 }
1428 1428
1429 void ShelfView::LauncherItemRemoved(int model_index, LauncherID id) { 1429 void ShelfView::ShelfItemRemoved(int model_index, LauncherID id) {
1430 if (id == context_menu_id_) 1430 if (id == context_menu_id_)
1431 launcher_menu_runner_.reset(); 1431 launcher_menu_runner_.reset();
1432 { 1432 {
1433 base::AutoReset<bool> cancelling_drag( 1433 base::AutoReset<bool> cancelling_drag(
1434 &cancelling_drag_model_changed_, true); 1434 &cancelling_drag_model_changed_, true);
1435 model_index = CancelDrag(model_index); 1435 model_index = CancelDrag(model_index);
1436 } 1436 }
1437 views::View* view = view_model_->view_at(model_index); 1437 views::View* view = view_model_->view_at(model_index);
1438 view_model_->Remove(model_index); 1438 view_model_->Remove(model_index);
1439 1439
(...skipping 19 matching lines...) Expand all
1459 // item is ripped out from the shelf, its |view| is already invisible. 1459 // item is ripped out from the shelf, its |view| is already invisible.
1460 AnimateToIdealBounds(); 1460 AnimateToIdealBounds();
1461 } 1461 }
1462 1462
1463 // Close the tooltip because it isn't needed any longer and its anchor view 1463 // Close the tooltip because it isn't needed any longer and its anchor view
1464 // will be deleted soon. 1464 // will be deleted soon.
1465 if (tooltip_->GetCurrentAnchorView() == view) 1465 if (tooltip_->GetCurrentAnchorView() == view)
1466 tooltip_->Close(); 1466 tooltip_->Close();
1467 } 1467 }
1468 1468
1469 void ShelfView::LauncherItemChanged(int model_index, 1469 void ShelfView::ShelfItemChanged(int model_index,
1470 const ash::LauncherItem& old_item) { 1470 const LauncherItem& old_item) {
1471 const LauncherItem& item(model_->items()[model_index]); 1471 const LauncherItem& item(model_->items()[model_index]);
1472 if (old_item.type != item.type) { 1472 if (old_item.type != item.type) {
1473 // Type changed, swap the views. 1473 // Type changed, swap the views.
1474 model_index = CancelDrag(model_index); 1474 model_index = CancelDrag(model_index);
1475 scoped_ptr<views::View> old_view(view_model_->view_at(model_index)); 1475 scoped_ptr<views::View> old_view(view_model_->view_at(model_index));
1476 bounds_animator_->StopAnimatingView(old_view.get()); 1476 bounds_animator_->StopAnimatingView(old_view.get());
1477 // Removing and re-inserting a view in our view model will strip the ideal 1477 // Removing and re-inserting a view in our view model will strip the ideal
1478 // bounds from the item. To avoid recalculation of everything the bounds 1478 // bounds from the item. To avoid recalculation of everything the bounds
1479 // get remembered and restored after the insertion to the previous value. 1479 // get remembered and restored after the insertion to the previous value.
1480 gfx::Rect old_ideal_bounds = view_model_->ideal_bounds(model_index); 1480 gfx::Rect old_ideal_bounds = view_model_->ideal_bounds(model_index);
(...skipping 23 matching lines...) Expand all
1504 button->SetImage(item.image); 1504 button->SetImage(item.image);
1505 button->SchedulePaint(); 1505 button->SchedulePaint();
1506 break; 1506 break;
1507 } 1507 }
1508 1508
1509 default: 1509 default:
1510 break; 1510 break;
1511 } 1511 }
1512 } 1512 }
1513 1513
1514 void ShelfView::LauncherItemMoved(int start_index, int target_index) { 1514 void ShelfView::ShelfItemMoved(int start_index, int target_index) {
1515 view_model_->Move(start_index, target_index); 1515 view_model_->Move(start_index, target_index);
1516 // When cancelling a drag due to a launcher item being added, the currently 1516 // When cancelling a drag due to a launcher item being added, the currently
1517 // dragged item is moved back to its initial position. AnimateToIdealBounds 1517 // dragged item is moved back to its initial position. AnimateToIdealBounds
1518 // will be called again when the new item is added to the |view_model_| but 1518 // will be called again when the new item is added to the |view_model_| but
1519 // at this time the |view_model_| is inconsistent with the |model_|. 1519 // at this time the |view_model_| is inconsistent with the |model_|.
1520 if (!cancelling_drag_model_changed_) 1520 if (!cancelling_drag_model_changed_)
1521 AnimateToIdealBounds(); 1521 AnimateToIdealBounds();
1522 } 1522 }
1523 1523
1524 void ShelfView::LauncherStatusChanged() { 1524 void ShelfView::ShelfStatusChanged() {
1525 if (ash::switches::UseAlternateShelfLayout()) 1525 if (ash::switches::UseAlternateShelfLayout())
1526 return; 1526 return;
1527 AppListButton* app_list_button = 1527 AppListButton* app_list_button =
1528 static_cast<AppListButton*>(GetAppListButtonView()); 1528 static_cast<AppListButton*>(GetAppListButtonView());
1529 if (model_->status() == LauncherModel::STATUS_LOADING) 1529 if (model_->status() == LauncherModel::STATUS_LOADING)
1530 app_list_button->StartLoadingAnimation(); 1530 app_list_button->StartLoadingAnimation();
1531 else 1531 else
1532 app_list_button->StopLoadingAnimation(); 1532 app_list_button->StopLoadingAnimation();
1533 } 1533 }
1534 1534
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
1899 break; 1899 break;
1900 case ash::SHELF_ALIGNMENT_TOP: 1900 case ash::SHELF_ALIGNMENT_TOP:
1901 distance = coordinate.y() - bounds.bottom(); 1901 distance = coordinate.y() - bounds.bottom();
1902 break; 1902 break;
1903 } 1903 }
1904 return distance > 0 ? distance : 0; 1904 return distance > 0 ? distance : 0;
1905 } 1905 }
1906 1906
1907 } // namespace internal 1907 } // namespace internal
1908 } // namespace ash 1908 } // namespace ash
OLDNEW
« no previous file with comments | « ash/shelf/shelf_view.h ('k') | chrome/browser/ui/ash/launcher/chrome_launcher_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698