| Index: views/view.h
|
| ===================================================================
|
| --- views/view.h (revision 74231)
|
| +++ views/view.h (working copy)
|
| @@ -1,4 +1,4 @@
|
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// 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.
|
|
|
| @@ -191,63 +191,58 @@
|
|
|
| // Tree operations -----------------------------------------------------------
|
|
|
| - // Add a child View.
|
| - void AddChildView(View* v);
|
| + // Get the Widget that hosts this View, if any.
|
| + virtual const Widget* GetWidget() const;
|
| + virtual Widget* GetWidget();
|
|
|
| - // Adds a child View at the specified position.
|
| - void AddChildView(int index, View* v);
|
| + // Add a child View, optionally at |index|.
|
| + void AddChildView(View* view);
|
| + void AddChildViewAt(View* view, int index);
|
|
|
| - // Get the child View at the specified index.
|
| - View* GetChildViewAt(int index) const;
|
| + // Remove a child view from this view. The view's parent will change to NULL.
|
| + void RemoveChildView(View* views);
|
|
|
| - // Remove a child view from this view. v's parent will change to NULL
|
| - void RemoveChildView(View *v);
|
| -
|
| // Remove all child view from this view. If |delete_views| is true, the views
|
| // are deleted, unless marked as not parent owned.
|
| void RemoveAllChildViews(bool delete_views);
|
|
|
| + // Returns the View at the specified |index|.
|
| + const View* GetChildViewAt(int index) const;
|
| + View* GetChildViewAt(int index);
|
| +
|
| // Get the number of child Views.
|
| - int GetChildViewCount() const;
|
| + int child_count() const { return static_cast<int>(children_.size()); }
|
| + bool has_children() const { return !children_.empty(); }
|
|
|
| - // Tests if this view has a given view as direct child.
|
| - bool HasChildView(View* a_view);
|
| + // Get the parent View
|
| + const View* parent() const { return parent_; }
|
| + View* parent() { return parent_; }
|
|
|
| - // Get the Widget that hosts this View, if any.
|
| - virtual Widget* GetWidget() const;
|
| + // Returns true if |child| is contained within this View's hierarchy, even as
|
| + // an indirect descendant. Will return true if child is also this View.
|
| + bool Contains(const View* view) const;
|
|
|
| + // Returns the index of the specified |view| in this view's children, or -1
|
| + // if the specified view is not a child of this view.
|
| + int GetIndexOf(const View* view) const;
|
| +
|
| + // TODO(beng): REMOVE (Views need not know about Window).
|
| // Gets the Widget that most closely contains this View, if any.
|
| // NOTE: almost all views displayed on screen have a Widget, but not
|
| // necessarily a Window. This is due to widgets being able to create top
|
| // level windows (as is done for popups, bubbles and menus).
|
| - virtual Window* GetWindow() const;
|
| + virtual const Window* GetWindow() const;
|
| + virtual Window* GetWindow();
|
|
|
| + // TODO(beng): REMOVE (TBD)
|
| // Returns true if the native view |native_view| is contained in the view
|
| // hierarchy beneath this view.
|
| virtual bool ContainsNativeView(gfx::NativeView native_view) const;
|
|
|
| + // TODO(beng): REMOVE (RootView->internal API)
|
| // Get the containing RootView
|
| virtual RootView* GetRootView();
|
|
|
| - // Get the parent View
|
| - View* GetParent() const { return parent_; }
|
| -
|
| - // Returns the index of the specified |view| in this view's children, or -1
|
| - // if the specified view is not a child of this view.
|
| - int GetChildIndex(const View* v) const;
|
| -
|
| - // Returns true if the specified view is a direct or indirect child of this
|
| - // view.
|
| - bool IsParentOf(View* v) const;
|
| -
|
| -#ifndef NDEBUG
|
| - // Debug method that logs the view hierarchy to the output.
|
| - void PrintViewHierarchy();
|
| -
|
| - // Debug method that logs the focus traversal hierarchy to the output.
|
| - void PrintFocusHierarchy();
|
| -#endif
|
| -
|
| // Size and disposition ------------------------------------------------------
|
| // Methods for obtaining and modifying the position and size of the view.
|
| // Position is in the coordinate system of the view's parent.
|
| @@ -417,7 +412,8 @@
|
| // Recursively descends the view tree starting at this view, and returns
|
| // the first child that it encounters that has the given ID.
|
| // Returns NULL if no matching child view is found.
|
| - virtual View* GetViewByID(int id) const;
|
| + virtual const View* GetViewByID(int id) const;
|
| + virtual View* GetViewByID(int id);
|
|
|
| // Sets and gets the ID for this view. ID should be unique within the subtree
|
| // that you intend to search for it. 0 is the default ID for views.
|
| @@ -704,6 +700,7 @@
|
|
|
| // Returns the view that should be selected next when pressing Tab.
|
| View* GetNextFocusableView();
|
| + const View* GetNextFocusableView() const;
|
|
|
| // Returns the view that should be selected next when pressing Shift-Tab.
|
| View* GetPreviousFocusableView();
|
| @@ -1194,10 +1191,6 @@
|
| View* parent,
|
| View* child);
|
|
|
| - // Actual implementation of PrintFocusHierarchy.
|
| - void PrintViewHierarchyImp(int indent);
|
| - void PrintFocusHierarchyImp(int indent);
|
| -
|
| // Size and disposition ------------------------------------------------------
|
|
|
| // Call VisibilityChanged() recursively for all children.
|
| @@ -1305,8 +1298,8 @@
|
| View* parent_;
|
|
|
| // This view's children.
|
| - typedef std::vector<View*> ViewList;
|
| - ViewList child_views_;
|
| + typedef std::vector<View*> ViewVector;
|
| + ViewVector children_;
|
|
|
| // Size and disposition ------------------------------------------------------
|
|
|
| @@ -1324,7 +1317,7 @@
|
| bool registered_for_visible_bounds_notification_;
|
|
|
| // List of descendants wanting notification when their visible bounds change.
|
| - scoped_ptr<ViewList> descendants_to_notify_;
|
| + scoped_ptr<ViewVector> descendants_to_notify_;
|
|
|
| // Layout --------------------------------------------------------------------
|
|
|
|
|