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

Unified Diff: views/view.cc

Issue 7057014: Variety of tweaks to View API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « views/view.h ('k') | views/widget/root_view.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: views/view.cc
===================================================================
--- views/view.cc (revision 86084)
+++ views/view.cc (working copy)
@@ -99,9 +99,9 @@
group_(-1),
focusable_(false),
accessibility_focusable_(false),
- is_parent_owned_(true),
+ parent_owned_(true),
parent_(NULL),
- is_visible_(true),
+ visible_(true),
registered_for_visible_bounds_notification_(false),
clip_x_(0.0),
clip_y_(0.0),
@@ -126,8 +126,8 @@
int c = static_cast<int>(children_.size());
while (--c >= 0) {
- children_[c]->SetParent(NULL);
- if (children_[c]->IsParentOwned())
+ children_[c]->parent_ = NULL;
+ if (children_[c]->parent_owned())
delete children_[c];
}
@@ -148,6 +148,15 @@
return const_cast<Widget*>(const_cast<const View*>(this)->GetWidget());
}
+const Window* View::GetWindow() const {
+ const Widget* widget = GetWidget();
+ return widget ? widget->GetContainingWindow() : NULL;
+}
+
+Window* View::GetWindow() {
+ return const_cast<Window*>(const_cast<const View*>(this)->GetWindow());
+}
+
void View::AddChildView(View* view) {
AddChildViewAt(view, child_count());
}
@@ -164,7 +173,7 @@
// Let's insert the view.
children_.insert(children_.begin() + index, view);
- view->SetParent(this);
+ view->parent_ = this;
for (View* p = this; p; p = p->parent())
p->ViewHierarchyChangedImpl(false, true, this, view);
@@ -213,17 +222,6 @@
}
// TODO(beng): remove
-const Window* View::GetWindow() const {
- const Widget* widget = GetWidget();
- return widget ? widget->GetContainingWindow() : NULL;
-}
-
-// TODO(beng): remove
-Window* View::GetWindow() {
- return const_cast<Window*>(const_cast<const View*>(this)->GetWindow());
-}
-
-// TODO(beng): remove
bool View::ContainsNativeView(gfx::NativeView native_view) const {
for (int i = 0, count = child_count(); i < count; ++i) {
if (GetChildViewAt(i)->ContainsNativeView(native_view))
@@ -352,45 +350,6 @@
return GetPreferredSize().height();
}
-void View::SetVisible(bool flag) {
- if (flag != is_visible_) {
- // If the tab is currently visible, schedule paint to
- // refresh parent
- if (IsVisible())
- SchedulePaint();
- else
- ResetTexture();
-
- is_visible_ = flag;
-
- // This notifies all sub-views recursively.
- PropagateVisibilityNotifications(this, flag);
-
- // If we are newly visible, schedule paint.
- if (IsVisible())
- SchedulePaint();
- }
-}
-
-bool View::IsVisible() const {
- return is_visible_;
-}
-
-bool View::IsVisibleInRootView() const {
- return IsVisible() && parent() ? parent()->IsVisibleInRootView() : false;
-}
-
-void View::SetEnabled(bool state) {
- if (enabled_ != state) {
- enabled_ = state;
- SchedulePaint();
- }
-}
-
-bool View::IsEnabled() const {
- return enabled_;
-}
-
// Transformations -------------------------------------------------------------
const ui::Transform& View::GetTransform() const {
@@ -494,6 +453,41 @@
// Attributes ------------------------------------------------------------------
+void View::SetVisible(bool flag) {
+ if (flag != visible_) {
+ // If the tab is currently visible, schedule paint to
+ // refresh parent
+ if (visible())
+ SchedulePaint();
+ else
+ ResetTexture();
+
+ visible_ = flag;
+
+ // This notifies all sub-views recursively.
+ PropagateVisibilityNotifications(this, flag);
+
+ // If we are newly visible, schedule paint.
+ if (visible())
+ SchedulePaint();
+ }
+}
+
+bool View::IsVisibleInRootView() const {
+ return visible() && parent() ? parent()->IsVisibleInRootView() : false;
+}
+
+bool View::IsEnabled() const {
+ return enabled_;
+}
+
+void View::SetEnabled(bool enabled) {
+ if (enabled_ != enabled) {
+ enabled_ = enabled;
+ SchedulePaint();
+ }
+}
+
std::string View::GetClassName() const {
return kViewClassName;
}
@@ -522,39 +516,26 @@
return const_cast<View*>(const_cast<const View*>(this)->GetViewByID(id));
}
-void View::SetID(int id) {
- id_ = id;
+void View::set_group(int group) {
+ DCHECK(group_ == -1 || group_ == group);
+ group_ = group;
}
-int View::GetID() const {
- return id_;
-}
-
-void View::SetGroup(int gid) {
- // Don't change the group id once it's set.
- DCHECK(group_ == -1 || group_ == gid);
- group_ = gid;
-}
-
-int View::GetGroup() const {
- return group_;
-}
-
bool View::IsGroupFocusTraversable() const {
return true;
}
-void View::GetViewsWithGroup(int group_id, std::vector<View*>* out) {
- if (group_ == group_id)
+void View::GetViewsInGroup(int group, std::vector<View*>* out) {
+ if (group_ == group)
out->push_back(this);
for (int i = 0, count = child_count(); i < count; ++i)
- GetChildViewAt(i)->GetViewsWithGroup(group_id, out);
+ GetChildViewAt(i)->GetViewsInGroup(group, out);
}
-View* View::GetSelectedViewForGroup(int group_id) {
+View* View::GetSelectedViewForGroup(int group) {
std::vector<View*> views;
- GetWidget()->GetRootView()->GetViewsWithGroup(group_id, &views);
+ GetWidget()->GetRootView()->GetViewsInGroup(group, &views);
return views.empty() ? NULL : views[0];
}
@@ -612,7 +593,7 @@
}
void View::SchedulePaintInRect(const gfx::Rect& rect) {
- if (!IsVisible())
+ if (!visible())
return;
if (parent_) {
@@ -625,7 +606,7 @@
}
void View::Paint(gfx::Canvas* canvas) {
- if (!IsVisible())
+ if (!visible())
return;
ScopedCanvas scoped_canvas(NULL);
@@ -746,7 +727,7 @@
// tightly encloses the specified point.
for (int i = child_count() - 1; i >= 0; --i) {
View* child = GetChildViewAt(i);
- if (!child->IsVisible())
+ if (!child->visible())
continue;
gfx::Point point_in_child_coords(point);
@@ -917,10 +898,6 @@
next_focusable_view_ = view;
}
-void View::SetFocusable(bool focusable) {
- focusable_ = focusable;
-}
-
bool View::IsFocusableInRootView() const {
return IsFocusable() && IsVisibleInRootView();
}
@@ -1150,7 +1127,7 @@
}
#else
void View::PaintComposite() {
- if (!IsVisible())
+ if (!visible())
return;
if (texture_.get()) {
@@ -1165,7 +1142,7 @@
}
void View::PaintToTexture(const gfx::Rect& dirty_region) {
- if (!IsVisible())
+ if (!visible())
return;
if (ShouldPaintToTexture() && texture_needs_updating_) {
@@ -1212,7 +1189,7 @@
// Focus -----------------------------------------------------------------------
bool View::IsFocusable() const {
- return focusable_ && IsEnabled() && IsVisible();
+ return focusable_ && IsEnabled() && visible();
}
void View::OnFocus() {
@@ -1319,9 +1296,9 @@
UnregisterChildrenForVisibleBoundsNotification(view);
view->ResetTexture();
view->PropagateRemoveNotifications(this);
- view->SetParent(NULL);
+ view->parent_ = NULL;
- if (delete_removed_view && view->IsParentOwned())
+ if (delete_removed_view && view->parent_owned())
view_to_be_deleted.reset(view);
children_.erase(i);
@@ -1334,11 +1311,6 @@
layout_manager_->ViewRemoved(this, view);
}
-void View::SetParent(View* parent) {
- if (parent != parent_)
- parent_ = parent;
-}
-
void View::PropagateRemoveNotifications(View* parent) {
for (int i = 0, count = child_count(); i < count; ++i)
GetChildViewAt(i)->PropagateRemoveNotifications(parent);
@@ -1410,7 +1382,7 @@
canvas_.reset(gfx::Canvas::CreateCanvas(width(), height(), false));
#endif
- if (IsVisible()) {
+ if (visible()) {
if (parent_) {
// Paint the old bounds.
if (base::i18n::IsRTL()) {
« no previous file with comments | « views/view.h ('k') | views/widget/root_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698