OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 VIEWS_WIDGET_WIDGET_H_ | 5 #ifndef VIEWS_WIDGET_WIDGET_H_ |
6 #define VIEWS_WIDGET_WIDGET_H_ | 6 #define VIEWS_WIDGET_WIDGET_H_ |
7 | 7 |
8 #include "base/gfx/native_widget_types.h" | 8 #include "base/gfx/native_widget_types.h" |
9 | 9 |
10 class ThemeProvider; | 10 class ThemeProvider; |
(...skipping 25 matching lines...) Expand all Loading... |
36 // | 36 // |
37 // The Widget is responsible for handling various system events and forwarding | 37 // The Widget is responsible for handling various system events and forwarding |
38 // them to the appropriate view. | 38 // them to the appropriate view. |
39 // | 39 // |
40 ///////////////////////////////////////////////////////////////////////////// | 40 ///////////////////////////////////////////////////////////////////////////// |
41 | 41 |
42 class Widget { | 42 class Widget { |
43 public: | 43 public: |
44 virtual ~Widget() { } | 44 virtual ~Widget() { } |
45 | 45 |
| 46 // Creates a transparent popup widget specific to the current platform useful |
| 47 // for transient status notifications. |
| 48 static Widget* CreateTransparentPopupWidget(bool delete_on_destroy); |
| 49 |
| 50 // Initialize the Widget with a parent and an initial desired size. |
| 51 // |contents_view| is the view that will be the single child of RootView |
| 52 // within this Widget. As contents_view is inserted into RootView's tree, |
| 53 // RootView assumes ownership of this view and cleaning it up. If you remove |
| 54 // this view, you are responsible for its destruction. If this value is NULL, |
| 55 // the caller is responsible for populating the RootView, and sizing its |
| 56 // contents as the window is sized. |
| 57 virtual void Init(gfx::NativeView parent, const gfx::Rect& bounds) = 0; |
| 58 |
| 59 // Sets the specified view as the contents of this Widget. There can only |
| 60 // be one contnets view child of this Widget's RootView. This view is sized to |
| 61 // fit the entire size of the RootView. The RootView takes ownership of this |
| 62 // View, unless it is set as not being parent-owned. |
| 63 virtual void SetContentsView(View* view) = 0; |
| 64 |
46 // Returns the bounds of this Widget in the screen coordinate system. | 65 // Returns the bounds of this Widget in the screen coordinate system. |
47 // If the receiving Widget is a frame which is larger than its client area, | 66 // If the receiving Widget is a frame which is larger than its client area, |
48 // this method returns the client area if including_frame is false and the | 67 // this method returns the client area if including_frame is false and the |
49 // frame bounds otherwise. If the receiving Widget is not a frame, | 68 // frame bounds otherwise. If the receiving Widget is not a frame, |
50 // including_frame is ignored. | 69 // including_frame is ignored. |
51 virtual void GetBounds(gfx::Rect* out, bool including_frame) const = 0; | 70 virtual void GetBounds(gfx::Rect* out, bool including_frame) const = 0; |
52 | 71 |
53 // Sizes and/or places the widget to the specified bounds, size or position. | 72 // Sizes and/or places the widget to the specified bounds, size or position. |
54 virtual void SetBounds(const gfx::Rect& bounds) = 0; | 73 virtual void SetBounds(const gfx::Rect& bounds) = 0; |
55 | 74 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 virtual ThemeProvider* GetDefaultThemeProvider() { return NULL; } | 141 virtual ThemeProvider* GetDefaultThemeProvider() { return NULL; } |
123 | 142 |
124 // Returns the FocusManager for this widget. | 143 // Returns the FocusManager for this widget. |
125 // Note that all widgets in a widget hierarchy share the same focus manager. | 144 // Note that all widgets in a widget hierarchy share the same focus manager. |
126 virtual FocusManager* GetFocusManager() { return NULL; } | 145 virtual FocusManager* GetFocusManager() { return NULL; } |
127 }; | 146 }; |
128 | 147 |
129 } // namespace views | 148 } // namespace views |
130 | 149 |
131 #endif // VIEWS_WIDGET_WIDGET_H_ | 150 #endif // VIEWS_WIDGET_WIDGET_H_ |
OLD | NEW |