Chromium Code Reviews| 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_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 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 81 enum class ProcessMenuAcceleratorResult { | 81 enum class ProcessMenuAcceleratorResult { |
| 82 // The accelerator was handled while the menu was showing. No further action | 82 // The accelerator was handled while the menu was showing. No further action |
| 83 // is needed and the menu should be kept open. | 83 // is needed and the menu should be kept open. |
| 84 LEAVE_MENU_OPEN, | 84 LEAVE_MENU_OPEN, |
| 85 | 85 |
| 86 // The accelerator was not handled. Menu should be closed and the | 86 // The accelerator was not handled. Menu should be closed and the |
| 87 // accelerator will be reposted to be handled after the menu closes. | 87 // accelerator will be reposted to be handled after the menu closes. |
| 88 CLOSE_MENU | 88 CLOSE_MENU |
| 89 }; | 89 }; |
| 90 | 90 |
| 91 enum class InsetsMetric { | |
|
sky
2017/02/17 20:50:46
optional: move this and SpacingMetric outside of V
kylix_rd
2017/02/17 21:40:51
I added them based on the precedent set by Process
sky
2017/02/17 22:39:03
For enums that are used extensively, like I think
| |
| 92 // The insets that should be applied around a DialogClientView. Note that | |
| 93 // the top inset is used for the distance between the buttons and the | |
| 94 // DialogClientView's content view. | |
| 95 DIALOG_BUTTON, | |
| 96 // The insets that should be applied around a dialog's frame view. | |
| 97 DIALOG_FRAME_VIEW, | |
| 98 // The margins that should be applied around a bubble dialog. | |
| 99 BUBBLE_DIALOG, | |
| 100 }; | |
| 101 | |
| 102 enum class SpacingMetric { | |
| 103 // The distance between a dialog's edge and the close button in the upper | |
| 104 // trailing corner. | |
| 105 CLOSE_BUTTON_MARGIN, | |
| 106 // The spacing between a pair of related horizontal buttons, used for | |
| 107 // dialog layout. | |
| 108 RELATED_HORIZONTAL_BUTTON, | |
| 109 // The spacing between a pair of related vertical controls, used for | |
| 110 // dialog layout. | |
| 111 RELATED_VERTICAL_CONTROL, | |
| 112 // The spacing between the image on a label button and its associated | |
| 113 // text. | |
| 114 ICON_TO_TEXT, | |
| 115 }; | |
| 116 | |
| 91 virtual ~ViewsDelegate(); | 117 virtual ~ViewsDelegate(); |
| 92 | 118 |
| 93 // Returns the ViewsDelegate instance if there is one, or nullptr otherwise. | 119 // Returns the ViewsDelegate instance if there is one, or nullptr otherwise. |
| 94 static ViewsDelegate* GetInstance(); | 120 static ViewsDelegate* GetInstance(); |
| 95 | 121 |
| 96 // Call this method to set a factory callback that will be used to construct | 122 // Call this method to set a factory callback that will be used to construct |
| 97 // NativeWidget implementations overriding the platform defaults. | 123 // NativeWidget implementations overriding the platform defaults. |
| 98 void set_native_widget_factory(NativeWidgetFactory factory) { | 124 void set_native_widget_factory(NativeWidgetFactory factory) { |
| 99 native_widget_factory_ = factory; | 125 native_widget_factory_ = factory; |
| 100 } | 126 } |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 189 // not changed, |callback| is never run. | 215 // not changed, |callback| is never run. |
| 190 // | 216 // |
| 191 // The return value is a bitmask of AppbarAutohideEdge. | 217 // The return value is a bitmask of AppbarAutohideEdge. |
| 192 virtual int GetAppbarAutohideEdges(HMONITOR monitor, | 218 virtual int GetAppbarAutohideEdges(HMONITOR monitor, |
| 193 const base::Closure& callback); | 219 const base::Closure& callback); |
| 194 #endif | 220 #endif |
| 195 | 221 |
| 196 // Returns a blocking pool task runner given a TaskRunnerType. | 222 // Returns a blocking pool task runner given a TaskRunnerType. |
| 197 virtual scoped_refptr<base::TaskRunner> GetBlockingPoolTaskRunner(); | 223 virtual scoped_refptr<base::TaskRunner> GetBlockingPoolTaskRunner(); |
| 198 | 224 |
| 199 // Returns the insets that should be applied around a DialogClientView. Note | 225 // 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 | 226 virtual gfx::Insets GetInsetsMetric(InsetsMetric metric) const; |
| 201 // DialogClientView's content view. | |
| 202 virtual gfx::Insets GetDialogButtonInsets() const; | |
| 203 | 227 |
| 204 // Returns the distance between a dialog's edge and the close button in the | 228 // Returns the spacing metric according to the given enumeration element. |
| 205 // upper trailing corner. | 229 virtual int GetSpacingMetric(SpacingMetric metric) const; |
| 206 virtual int GetDialogCloseButtonMargin() 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 | 230 |
| 222 protected: | 231 protected: |
| 223 ViewsDelegate(); | 232 ViewsDelegate(); |
| 224 | 233 |
| 225 private: | 234 private: |
| 226 std::unique_ptr<ViewsTouchEditingControllerFactory> views_tsc_factory_; | 235 std::unique_ptr<ViewsTouchEditingControllerFactory> views_tsc_factory_; |
| 227 | 236 |
| 228 #if defined(USE_AURA) | 237 #if defined(USE_AURA) |
| 229 std::unique_ptr<TouchSelectionMenuRunnerViews> touch_selection_menu_runner_; | 238 std::unique_ptr<TouchSelectionMenuRunnerViews> touch_selection_menu_runner_; |
| 230 #endif | 239 #endif |
| 231 | 240 |
| 232 NativeWidgetFactory native_widget_factory_; | 241 NativeWidgetFactory native_widget_factory_; |
| 233 | 242 |
| 234 DISALLOW_COPY_AND_ASSIGN(ViewsDelegate); | 243 DISALLOW_COPY_AND_ASSIGN(ViewsDelegate); |
| 235 }; | 244 }; |
| 236 | 245 |
| 237 } // namespace views | 246 } // namespace views |
| 238 | 247 |
| 239 #endif // UI_VIEWS_VIEWS_DELEGATE_H_ | 248 #endif // UI_VIEWS_VIEWS_DELEGATE_H_ |
| OLD | NEW |