| OLD | NEW |
| 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 #ifndef UI_VIEWS_VIEW_H_ | 5 #ifndef UI_VIEWS_VIEW_H_ |
| 6 #define UI_VIEWS_VIEW_H_ | 6 #define UI_VIEWS_VIEW_H_ |
| 7 | 7 |
| 8 #include <algorithm> | 8 #include <algorithm> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 class LayoutManager; | 67 class LayoutManager; |
| 68 class NativeViewAccessibility; | 68 class NativeViewAccessibility; |
| 69 class ScrollView; | 69 class ScrollView; |
| 70 class Widget; | 70 class Widget; |
| 71 | 71 |
| 72 namespace internal { | 72 namespace internal { |
| 73 class PostEventDispatchHandler; | 73 class PostEventDispatchHandler; |
| 74 class RootView; | 74 class RootView; |
| 75 } | 75 } |
| 76 | 76 |
| 77 class VIEWS_EXPORT ScopedMaybeLayout { |
| 78 public: |
| 79 ScopedMaybeLayout(views::View* view); |
| 80 ~ScopedMaybeLayout(); |
| 81 |
| 82 private: |
| 83 views::View* view_; |
| 84 }; |
| 85 |
| 77 ///////////////////////////////////////////////////////////////////////////// | 86 ///////////////////////////////////////////////////////////////////////////// |
| 78 // | 87 // |
| 79 // View class | 88 // View class |
| 80 // | 89 // |
| 81 // A View is a rectangle within the views View hierarchy. It is the base | 90 // A View is a rectangle within the views View hierarchy. It is the base |
| 82 // class for all Views. | 91 // class for all Views. |
| 83 // | 92 // |
| 84 // A View is a container of other Views (there is no such thing as a Leaf | 93 // A View is a container of other Views (there is no such thing as a Leaf |
| 85 // View - makes code simpler, reduces type conversion headaches, design | 94 // View - makes code simpler, reduces type conversion headaches, design |
| 86 // mistakes etc) | 95 // mistakes etc) |
| (...skipping 881 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 968 // Whether the press may generate a drag. | 977 // Whether the press may generate a drag. |
| 969 bool possible_drag; | 978 bool possible_drag; |
| 970 | 979 |
| 971 // Coordinates of the mouse press. | 980 // Coordinates of the mouse press. |
| 972 gfx::Point start_pt; | 981 gfx::Point start_pt; |
| 973 }; | 982 }; |
| 974 | 983 |
| 975 // Size and disposition ------------------------------------------------------ | 984 // Size and disposition ------------------------------------------------------ |
| 976 | 985 |
| 977 // Override to be notified when the bounds of the view have changed. | 986 // Override to be notified when the bounds of the view have changed. |
| 978 virtual void OnBoundsChanged(const gfx::Rect& previous_bounds); | 987 virtual void OnBoundsChanged(const gfx::Rect& previous_bounds) {} |
| 979 | 988 |
| 980 // Called when the preferred size of a child view changed. This gives the | 989 // Called when the preferred size of a child view changed. This gives the |
| 981 // parent an opportunity to do a fresh layout if that makes sense. | 990 // parent an opportunity to do a fresh layout if that makes sense. |
| 982 virtual void ChildPreferredSizeChanged(View* child) {} | 991 virtual void ChildPreferredSizeChanged(View* child); |
| 983 | 992 |
| 984 // Called when the visibility of a child view changed. This gives the parent | 993 // Called when the visibility of a child view changed. This gives the parent |
| 985 // an opportunity to do a fresh layout if that makes sense. | 994 // an opportunity to do a fresh layout if that makes sense. |
| 986 virtual void ChildVisibilityChanged(View* child) {} | 995 virtual void ChildVisibilityChanged(View* child) {} |
| 987 | 996 |
| 988 // Invalidates the layout and calls ChildPreferredSizeChanged on the parent | 997 // Invalidates the layout and calls ChildPreferredSizeChanged on the parent |
| 989 // if there is one. Be sure to call View::PreferredSizeChanged when | 998 // if there is one. Be sure to call View::PreferredSizeChanged when |
| 990 // overriding such that the layout is properly invalidated. | 999 // overriding such that the layout is properly invalidated. |
| 991 virtual void PreferredSizeChanged(); | 1000 virtual void PreferredSizeChanged(); |
| 992 | 1001 |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1191 // the views hierarchy. The above function gives the class the flexibility to | 1200 // the views hierarchy. The above function gives the class the flexibility to |
| 1192 // decide which object should be used to obtain the children, but this | 1201 // decide which object should be used to obtain the children, but this |
| 1193 // function makes the decision explicit. | 1202 // function makes the decision explicit. |
| 1194 std::string DoPrintViewGraph(bool first, View* view_with_children); | 1203 std::string DoPrintViewGraph(bool first, View* view_with_children); |
| 1195 #endif | 1204 #endif |
| 1196 | 1205 |
| 1197 private: | 1206 private: |
| 1198 friend class internal::PostEventDispatchHandler; | 1207 friend class internal::PostEventDispatchHandler; |
| 1199 friend class internal::RootView; | 1208 friend class internal::RootView; |
| 1200 friend class FocusManager; | 1209 friend class FocusManager; |
| 1210 friend class LayoutManager; |
| 1211 friend class ScopedMaybeLayout; |
| 1201 friend class Widget; | 1212 friend class Widget; |
| 1202 | 1213 |
| 1203 // Painting ----------------------------------------------------------------- | 1214 // Painting ----------------------------------------------------------------- |
| 1204 | 1215 |
| 1205 enum SchedulePaintType { | 1216 enum SchedulePaintType { |
| 1206 // Indicates the size is the same (only the origin changed). | 1217 // Indicates the size is the same (only the origin changed). |
| 1207 SCHEDULE_PAINT_SIZE_SAME, | 1218 SCHEDULE_PAINT_SIZE_SAME, |
| 1208 | 1219 |
| 1209 // Indicates the size changed (and possibly the origin). | 1220 // Indicates the size changed (and possibly the origin). |
| 1210 SCHEDULE_PAINT_SIZE_CHANGED | 1221 SCHEDULE_PAINT_SIZE_CHANGED |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1538 // Belongs to this view, but it's reference-counted on some platforms | 1549 // Belongs to this view, but it's reference-counted on some platforms |
| 1539 // so we can't use a scoped_ptr. It's dereferenced in the destructor. | 1550 // so we can't use a scoped_ptr. It's dereferenced in the destructor. |
| 1540 NativeViewAccessibility* native_view_accessibility_; | 1551 NativeViewAccessibility* native_view_accessibility_; |
| 1541 | 1552 |
| 1542 DISALLOW_COPY_AND_ASSIGN(View); | 1553 DISALLOW_COPY_AND_ASSIGN(View); |
| 1543 }; | 1554 }; |
| 1544 | 1555 |
| 1545 } // namespace views | 1556 } // namespace views |
| 1546 | 1557 |
| 1547 #endif // UI_VIEWS_VIEW_H_ | 1558 #endif // UI_VIEWS_VIEW_H_ |
| OLD | NEW |