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

Side by Side Diff: ui/views/views_delegate.h

Issue 2696263002: Refactor ViewsDelegate and MD-ify the icon-to-text spacing for checkbox and radiobutton (Closed)
Patch Set: Used ifdef instead of duplicated code for delegate initialization Created 3 years, 9 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
« no previous file with comments | « ui/views/layout/layout_constants.h ('k') | ui/views/views_delegate.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_VIEWS_DELEGATE_H_ 5 #ifndef UI_VIEWS_VIEWS_DELEGATE_H_
6 #define UI_VIEWS_VIEWS_DELEGATE_H_ 6 #define UI_VIEWS_VIEWS_DELEGATE_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #if defined(OS_WIN) 10 #if defined(OS_WIN)
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 class Widget; 51 class Widget;
52 52
53 #if defined(USE_AURA) 53 #if defined(USE_AURA)
54 class TouchSelectionMenuRunnerViews; 54 class TouchSelectionMenuRunnerViews;
55 #endif 55 #endif
56 56
57 namespace internal { 57 namespace internal {
58 class NativeWidgetDelegate; 58 class NativeWidgetDelegate;
59 } 59 }
60 60
61 enum class InsetsMetric {
62 // The margins that should be applied around a bubble dialog.
63 BUBBLE_DIALOG,
64 // The insets that should be applied around a DialogClientView. Note that
65 // the top inset is used for the distance between the buttons and the
66 // DialogClientView's content view.
67 DIALOG_BUTTON,
68 // The insets that should be applied around a dialog's frame view.
69 DIALOG_FRAME_VIEW,
70 };
71
72 enum class DistanceMetric {
73 // The default padding to add on each side of a button's label.
74 BUTTON_HORIZONTAL_PADDING,
75 // The distance between a dialog's edge and the close button in the upper
76 // trailing corner.
77 CLOSE_BUTTON_MARGIN,
78 // The default minimum width of a dialog button.
79 DIALOG_BUTTON_MINIMUM_WIDTH,
80 // The spacing between a pair of related horizontal buttons, used for
81 // dialog layout.
82 RELATED_BUTTON_HORIZONTAL,
83 // Horizontal spacing between controls that are logically related.
84 RELATED_CONTROL_HORIZONTAL,
85 // The spacing between a pair of related vertical controls, used for
86 // dialog layout.
87 RELATED_CONTROL_VERTICAL,
88 };
89
61 // ViewsDelegate is an interface implemented by an object using the views 90 // ViewsDelegate is an interface implemented by an object using the views
62 // framework. It is used to obtain various high level application utilities 91 // framework. It is used to obtain various high level application utilities
63 // and perform some actions such as window placement saving. 92 // and perform some actions such as window placement saving.
64 // 93 //
65 // The embedding app must set the ViewsDelegate instance by instantiating an 94 // The embedding app must set the ViewsDelegate instance by instantiating an
66 // implementation of ViewsDelegate (the constructor will set the instance). 95 // implementation of ViewsDelegate (the constructor will set the instance).
67 class VIEWS_EXPORT ViewsDelegate { 96 class VIEWS_EXPORT ViewsDelegate {
68 public: 97 public:
69 using NativeWidgetFactory = 98 using NativeWidgetFactory =
70 base::Callback<NativeWidget*(const Widget::InitParams&, 99 base::Callback<NativeWidget*(const Widget::InitParams&,
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 // not changed, |callback| is never run. 218 // not changed, |callback| is never run.
190 // 219 //
191 // The return value is a bitmask of AppbarAutohideEdge. 220 // The return value is a bitmask of AppbarAutohideEdge.
192 virtual int GetAppbarAutohideEdges(HMONITOR monitor, 221 virtual int GetAppbarAutohideEdges(HMONITOR monitor,
193 const base::Closure& callback); 222 const base::Closure& callback);
194 #endif 223 #endif
195 224
196 // Returns a blocking pool task runner given a TaskRunnerType. 225 // Returns a blocking pool task runner given a TaskRunnerType.
197 virtual scoped_refptr<base::TaskRunner> GetBlockingPoolTaskRunner(); 226 virtual scoped_refptr<base::TaskRunner> GetBlockingPoolTaskRunner();
198 227
199 // Returns the insets that should be applied around a DialogClientView. Note 228 // Returns the insets metric according to the given enumeration element.
200 // that the top inset is used for the distance between the buttons and the 229 virtual gfx::Insets GetInsetsMetric(InsetsMetric metric) const;
201 // DialogClientView's content view.
202 virtual gfx::Insets GetDialogButtonInsets() const;
203 230
204 // Returns the distance between a dialog's edge and the close button in the 231 // Returns the distance metric between elements according to the given
205 // upper trailing corner. 232 // enumeration element.
206 virtual int GetDialogCloseButtonMargin() const; 233 virtual int GetDistanceMetric(DistanceMetric metric) const;
207
208 // Returns the spacing between a pair of related horizontal buttons, used for
209 // dialog layout.
210 virtual int GetDialogRelatedButtonHorizontalSpacing() const;
211
212 // Returns the spacing between a pair of related vertical controls, used for
213 // dialog layout.
214 virtual int GetDialogRelatedControlVerticalSpacing() const;
215
216 // Returns the insets that should be applied around a dialog's frame view.
217 virtual gfx::Insets GetDialogFrameViewInsets() const;
218
219 // Returns the margins that should be applied around a bubble dialog.
220 virtual gfx::Insets GetBubbleDialogMargins() const;
221
222 // Returns the default minimum width of a button.
223 virtual int GetButtonMinimumWidth() const;
224
225 // Returns the minimum width of a dialog button.
226 virtual int GetDialogButtonMinimumWidth() const;
227
228 // Returns the default padding to add on each side of a button's label.
229 virtual int GetButtonHorizontalPadding() const;
230 234
231 protected: 235 protected:
232 ViewsDelegate(); 236 ViewsDelegate();
233 237
234 private: 238 private:
235 std::unique_ptr<ViewsTouchEditingControllerFactory> views_tsc_factory_; 239 std::unique_ptr<ViewsTouchEditingControllerFactory> views_tsc_factory_;
236 240
237 #if defined(USE_AURA) 241 #if defined(USE_AURA)
238 std::unique_ptr<TouchSelectionMenuRunnerViews> touch_selection_menu_runner_; 242 std::unique_ptr<TouchSelectionMenuRunnerViews> touch_selection_menu_runner_;
239 #endif 243 #endif
240 244
241 NativeWidgetFactory native_widget_factory_; 245 NativeWidgetFactory native_widget_factory_;
242 246
243 DISALLOW_COPY_AND_ASSIGN(ViewsDelegate); 247 DISALLOW_COPY_AND_ASSIGN(ViewsDelegate);
244 }; 248 };
245 249
246 } // namespace views 250 } // namespace views
247 251
248 #endif // UI_VIEWS_VIEWS_DELEGATE_H_ 252 #endif // UI_VIEWS_VIEWS_DELEGATE_H_
OLDNEW
« no previous file with comments | « ui/views/layout/layout_constants.h ('k') | ui/views/views_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698