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

Side by Side Diff: ui/views/controls/combobox/combobox.h

Issue 2383243002: Refactor MdFocusRing to make it easier to reuse on other controls. (Closed)
Patch Set: explicit onfocus Created 4 years, 2 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 unified diff | Download patch
OLDNEW
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_CONTROLS_COMBOBOX_COMBOBOX_H_ 5 #ifndef UI_VIEWS_CONTROLS_COMBOBOX_COMBOBOX_H_
6 #define UI_VIEWS_CONTROLS_COMBOBOX_COMBOBOX_H_ 6 #define UI_VIEWS_CONTROLS_COMBOBOX_COMBOBOX_H_
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
10 #include "base/strings/string16.h" 10 #include "base/strings/string16.h"
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 202
203 // The transparent buttons to handle events and render buttons. These are 203 // The transparent buttons to handle events and render buttons. These are
204 // placed on top of this combobox as child views, accept event and manage the 204 // placed on top of this combobox as child views, accept event and manage the
205 // button states. These are not rendered but when |style_| is 205 // button states. These are not rendered but when |style_| is
206 // STYLE_NOTIFY_ON_CLICK, a Combobox renders the button images according to 206 // STYLE_NOTIFY_ON_CLICK, a Combobox renders the button images according to
207 // these button states. 207 // these button states.
208 // The base View takes the ownerships of these as child views. 208 // The base View takes the ownerships of these as child views.
209 CustomButton* text_button_; 209 CustomButton* text_button_;
210 CustomButton* arrow_button_; 210 CustomButton* arrow_button_;
211 211
212 // A child that indicates focus.
213 View* focus_ring_;
214
212 // Set while the dropdown is showing. Ensures the menu is closed if |this| is 215 // Set while the dropdown is showing. Ensures the menu is closed if |this| is
213 // destroyed. 216 // destroyed.
214 std::unique_ptr<MenuModelAdapter> menu_model_adapter_; 217 std::unique_ptr<MenuModelAdapter> menu_model_adapter_;
215 std::unique_ptr<MenuRunner> menu_runner_; 218 std::unique_ptr<MenuRunner> menu_runner_;
216 219
217 // The image to be drawn for this combobox's arrow. 220 // The image to be drawn for this combobox's arrow.
218 gfx::ImageSkia arrow_image_; 221 gfx::ImageSkia arrow_image_;
219 222
220 // When true, the size of contents is defined by the selected label. 223 // When true, the size of contents is defined by the selected label.
221 // Otherwise, it's defined by the widest label in the menu. If this is set to 224 // Otherwise, it's defined by the widest label in the menu. If this is set to
222 // true, the parent view must relayout in ChildPreferredSizeChanged(). 225 // true, the parent view must relayout in ChildPreferredSizeChanged().
223 bool size_to_largest_label_; 226 bool size_to_largest_label_;
224 227
225 // Used for making calbacks. 228 // Used for making calbacks.
226 base::WeakPtrFactory<Combobox> weak_ptr_factory_; 229 base::WeakPtrFactory<Combobox> weak_ptr_factory_;
227 230
228 DISALLOW_COPY_AND_ASSIGN(Combobox); 231 DISALLOW_COPY_AND_ASSIGN(Combobox);
229 }; 232 };
230 233
231 } // namespace views 234 } // namespace views
232 235
233 #endif // UI_VIEWS_CONTROLS_COMBOBOX_COMBOBOX_H_ 236 #endif // UI_VIEWS_CONTROLS_COMBOBOX_COMBOBOX_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698