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

Side by Side Diff: ui/views/view.cc

Issue 2881183003: Add views::View::set_preferred_size, use it in a few places. (Closed)
Patch Set: auto* 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 | « ui/views/view.h ('k') | no next file » | 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 #define _USE_MATH_DEFINES // For VC++ to get M_PI. This has to be first. 5 #define _USE_MATH_DEFINES // For VC++ to get M_PI. This has to be first.
6 6
7 #include "ui/views/view.h" 7 #include "ui/views/view.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <cmath> 10 #include <cmath>
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 return gfx::ToEnclosingRect(views_vis_bounds); 415 return gfx::ToEnclosingRect(views_vis_bounds);
416 } 416 }
417 417
418 gfx::Rect View::GetBoundsInScreen() const { 418 gfx::Rect View::GetBoundsInScreen() const {
419 gfx::Point origin; 419 gfx::Point origin;
420 View::ConvertPointToScreen(this, &origin); 420 View::ConvertPointToScreen(this, &origin);
421 return gfx::Rect(origin, size()); 421 return gfx::Rect(origin, size());
422 } 422 }
423 423
424 gfx::Size View::GetPreferredSize() const { 424 gfx::Size View::GetPreferredSize() const {
425 if (preferred_size_)
426 return *preferred_size_;
425 if (layout_manager_.get()) 427 if (layout_manager_.get())
426 return layout_manager_->GetPreferredSize(this); 428 return layout_manager_->GetPreferredSize(this);
427 return gfx::Size(); 429 return CalculatePreferredSize();
428 } 430 }
429 431
430 int View::GetBaseline() const { 432 int View::GetBaseline() const {
431 return -1; 433 return -1;
432 } 434 }
433 435
434 void View::SizeToPreferredSize() { 436 void View::SizeToPreferredSize() {
435 gfx::Size prefsize = GetPreferredSize(); 437 gfx::Size prefsize = GetPreferredSize();
436 if ((prefsize.width() != width()) || (prefsize.height() != height())) 438 if ((prefsize.width() != width()) || (prefsize.height() != height()))
437 SetBounds(x(), y(), prefsize.width(), prefsize.height()); 439 SetBounds(x(), y(), prefsize.width(), prefsize.height());
(...skipping 1032 matching lines...) Expand 10 before | Expand all | Expand 10 after
1470 1472
1471 bool View::HasObserver(const ViewObserver* observer) const { 1473 bool View::HasObserver(const ViewObserver* observer) const {
1472 return observers_.HasObserver(observer); 1474 return observers_.HasObserver(observer);
1473 } 1475 }
1474 1476
1475 //////////////////////////////////////////////////////////////////////////////// 1477 ////////////////////////////////////////////////////////////////////////////////
1476 // View, protected: 1478 // View, protected:
1477 1479
1478 // Size and disposition -------------------------------------------------------- 1480 // Size and disposition --------------------------------------------------------
1479 1481
1482 gfx::Size View::CalculatePreferredSize() const {
1483 return gfx::Size();
1484 }
1485
1480 void View::OnBoundsChanged(const gfx::Rect& previous_bounds) { 1486 void View::OnBoundsChanged(const gfx::Rect& previous_bounds) {
1481 } 1487 }
1482 1488
1483 void View::PreferredSizeChanged() { 1489 void View::PreferredSizeChanged() {
1484 InvalidateLayout(); 1490 InvalidateLayout();
1485 if (parent_) 1491 if (parent_)
1486 parent_->ChildPreferredSizeChanged(this); 1492 parent_->ChildPreferredSizeChanged(this);
1487 } 1493 }
1488 1494
1489 bool View::GetNeedsNotificationWhenVisibleBoundsChange() const { 1495 bool View::GetNeedsNotificationWhenVisibleBoundsChange() const {
(...skipping 1174 matching lines...) Expand 10 before | Expand all | Expand 10 after
2664 // Message the RootView to do the drag and drop. That way if we're removed 2670 // Message the RootView to do the drag and drop. That way if we're removed
2665 // the RootView can detect it and avoid calling us back. 2671 // the RootView can detect it and avoid calling us back.
2666 gfx::Point widget_location(event.location()); 2672 gfx::Point widget_location(event.location());
2667 ConvertPointToWidget(this, &widget_location); 2673 ConvertPointToWidget(this, &widget_location);
2668 widget->RunShellDrag(this, data, widget_location, drag_operations, source); 2674 widget->RunShellDrag(this, data, widget_location, drag_operations, source);
2669 // WARNING: we may have been deleted. 2675 // WARNING: we may have been deleted.
2670 return true; 2676 return true;
2671 } 2677 }
2672 2678
2673 } // namespace views 2679 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698