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_WIDGET_WIDGET_H_ | 5 #ifndef UI_VIEWS_WIDGET_WIDGET_H_ |
6 #define UI_VIEWS_WIDGET_WIDGET_H_ | 6 #define UI_VIEWS_WIDGET_WIDGET_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <stack> | 9 #include <stack> |
10 #include <vector> | 10 #include <vector> |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 // Infer fully opaque or not. For WinAura, top-level windows that are not | 155 // Infer fully opaque or not. For WinAura, top-level windows that are not |
156 // of TYPE_WINDOW are translucent so that they can be made to fade in. In | 156 // of TYPE_WINDOW are translucent so that they can be made to fade in. In |
157 // all other cases, windows are fully opaque. | 157 // all other cases, windows are fully opaque. |
158 INFER_OPACITY, | 158 INFER_OPACITY, |
159 // Fully opaque. | 159 // Fully opaque. |
160 OPAQUE_WINDOW, | 160 OPAQUE_WINDOW, |
161 // Possibly translucent/transparent. | 161 // Possibly translucent/transparent. |
162 TRANSLUCENT_WINDOW, | 162 TRANSLUCENT_WINDOW, |
163 }; | 163 }; |
164 | 164 |
165 enum Activatable { | |
166 // Infer whether the window should be activatable from the window type. | |
167 ACTIVATABLE_DEFAULT, | |
168 | |
169 ACTIVATABLE_YES, | |
170 ACTIVATABLE_NO | |
171 }; | |
172 | |
173 enum Ownership { | 165 enum Ownership { |
174 // Default. Creator is not responsible for managing the lifetime of the | 166 // Default. Creator is not responsible for managing the lifetime of the |
175 // Widget, it is destroyed when the corresponding NativeWidget is | 167 // Widget, it is destroyed when the corresponding NativeWidget is |
176 // destroyed. | 168 // destroyed. |
177 NATIVE_WIDGET_OWNS_WIDGET, | 169 NATIVE_WIDGET_OWNS_WIDGET, |
178 // Used when the Widget is owned by someone other than the NativeWidget, | 170 // Used when the Widget is owned by someone other than the NativeWidget, |
179 // e.g. a scoped_ptr in tests. | 171 // e.g. a scoped_ptr in tests. |
180 WIDGET_OWNS_NATIVE_WIDGET | 172 WIDGET_OWNS_NATIVE_WIDGET |
181 }; | 173 }; |
182 | 174 |
183 InitParams(); | 175 InitParams(); |
184 explicit InitParams(Type type); | 176 explicit InitParams(Type type); |
185 ~InitParams(); | 177 ~InitParams(); |
186 | 178 |
187 Type type; | 179 Type type; |
188 // If NULL, a default implementation will be constructed. | 180 // If NULL, a default implementation will be constructed. |
189 WidgetDelegate* delegate; | 181 WidgetDelegate* delegate; |
190 bool child; | 182 bool child; |
191 // If TRANSLUCENT_WINDOW, the widget may be fully or partially transparent. | 183 // If TRANSLUCENT_WINDOW, the widget may be fully or partially transparent. |
192 // If OPAQUE_WINDOW, we can perform optimizations based on the widget being | 184 // If OPAQUE_WINDOW, we can perform optimizations based on the widget being |
193 // fully opaque. Defaults to TRANSLUCENT_WINDOW if | 185 // fully opaque. Defaults to TRANSLUCENT_WINDOW if |
194 // ViewsDelegate::UseTransparentWindows(). Defaults to OPAQUE_WINDOW for | 186 // ViewsDelegate::UseTransparentWindows(). Defaults to OPAQUE_WINDOW for |
195 // non-window widgets. | 187 // non-window widgets. |
196 WindowOpacity opacity; | 188 WindowOpacity opacity; |
197 bool accept_events; | 189 bool accept_events; |
198 Activatable activatable; | 190 bool can_activate; |
199 bool keep_on_top; | 191 bool keep_on_top; |
200 bool visible_on_all_workspaces; | 192 bool visible_on_all_workspaces; |
201 Ownership ownership; | 193 Ownership ownership; |
202 bool mirror_origin_in_rtl; | 194 bool mirror_origin_in_rtl; |
203 bool has_dropshadow; | 195 bool has_dropshadow; |
204 // Specifies that the system default caption and icon should not be | 196 // Specifies that the system default caption and icon should not be |
205 // rendered, and that the client area should be equivalent to the window | 197 // rendered, and that the client area should be equivalent to the window |
206 // area. Only used on some platforms (Windows and Linux). | 198 // area. Only used on some platforms (Windows and Linux). |
207 bool remove_standard_frame; | 199 bool remove_standard_frame; |
208 // Only used by ShellWindow on Windows. Specifies that the default icon of | 200 // Only used by ShellWindow on Windows. Specifies that the default icon of |
(...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
875 bool widget_closed_; | 867 bool widget_closed_; |
876 | 868 |
877 // The saved "show" state for this window. See note in SetInitialBounds | 869 // The saved "show" state for this window. See note in SetInitialBounds |
878 // that explains why we save this. | 870 // that explains why we save this. |
879 ui::WindowShowState saved_show_state_; | 871 ui::WindowShowState saved_show_state_; |
880 | 872 |
881 // The restored bounds used for the initial show. This is only used if | 873 // The restored bounds used for the initial show. This is only used if |
882 // |saved_show_state_| is maximized. | 874 // |saved_show_state_| is maximized. |
883 gfx::Rect initial_restored_bounds_; | 875 gfx::Rect initial_restored_bounds_; |
884 | 876 |
885 // True if the widget can be activated. | |
886 bool can_activate_; | |
887 | |
888 // Focus is automatically set to the view provided by the delegate | 877 // Focus is automatically set to the view provided by the delegate |
889 // when the widget is shown. Set this value to false to override | 878 // when the widget is shown. Set this value to false to override |
890 // initial focus for the widget. | 879 // initial focus for the widget. |
891 bool focus_on_creation_; | 880 bool focus_on_creation_; |
892 | 881 |
893 mutable scoped_ptr<InputMethod> input_method_; | 882 mutable scoped_ptr<InputMethod> input_method_; |
894 | 883 |
895 // See |is_top_level()| accessor. | 884 // See |is_top_level()| accessor. |
896 bool is_top_level_; | 885 bool is_top_level_; |
897 | 886 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
930 bool movement_disabled_; | 919 bool movement_disabled_; |
931 | 920 |
932 ScopedObserver<ui::NativeTheme, ui::NativeThemeObserver> observer_manager_; | 921 ScopedObserver<ui::NativeTheme, ui::NativeThemeObserver> observer_manager_; |
933 | 922 |
934 DISALLOW_COPY_AND_ASSIGN(Widget); | 923 DISALLOW_COPY_AND_ASSIGN(Widget); |
935 }; | 924 }; |
936 | 925 |
937 } // namespace views | 926 } // namespace views |
938 | 927 |
939 #endif // UI_VIEWS_WIDGET_WIDGET_H_ | 928 #endif // UI_VIEWS_WIDGET_WIDGET_H_ |
OLD | NEW |