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

Side by Side Diff: ui/views/controls/button/menu_button.h

Issue 2832823002: Update avatar button to MD (Closed)
Patch Set: Fixed bad merge that duplicated the GetMinimizeButtonHeight() method in some files Created 3 years, 7 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_BUTTON_MENU_BUTTON_H_ 5 #ifndef UI_VIEWS_CONTROLS_BUTTON_MENU_BUTTON_H_
6 #define UI_VIEWS_CONTROLS_BUTTON_MENU_BUTTON_H_ 6 #define UI_VIEWS_CONTROLS_BUTTON_MENU_BUTTON_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 14 matching lines...) Expand all
25 // A button that shows a menu when the left mouse button is pushed 25 // A button that shows a menu when the left mouse button is pushed
26 // 26 //
27 //////////////////////////////////////////////////////////////////////////////// 27 ////////////////////////////////////////////////////////////////////////////////
28 class VIEWS_EXPORT MenuButton : public LabelButton { 28 class VIEWS_EXPORT MenuButton : public LabelButton {
29 public: 29 public:
30 // A scoped lock for keeping the MenuButton in STATE_PRESSED e.g., while a 30 // A scoped lock for keeping the MenuButton in STATE_PRESSED e.g., while a
31 // menu is running. These are cumulative. 31 // menu is running. These are cumulative.
32 class VIEWS_EXPORT PressedLock { 32 class VIEWS_EXPORT PressedLock {
33 public: 33 public:
34 explicit PressedLock(MenuButton* menu_button); 34 explicit PressedLock(MenuButton* menu_button);
35 PressedLock(MenuButton* menu_button, bool is_sibling_menu_show); 35 // |event| is the event that caused the button to be pressed. May be null.
36 PressedLock(MenuButton* menu_button,
37 bool is_sibling_menu_show,
38 const ui::LocatedEvent* event);
36 ~PressedLock(); 39 ~PressedLock();
37 40
38 private: 41 private:
39 base::WeakPtr<MenuButton> menu_button_; 42 base::WeakPtr<MenuButton> menu_button_;
40 43
41 DISALLOW_COPY_AND_ASSIGN(PressedLock); 44 DISALLOW_COPY_AND_ASSIGN(PressedLock);
42 }; 45 };
43 46
44 static const char kViewClassName[]; 47 static const char kViewClassName[];
45 48
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 104
102 // Offset of the associated menu position. 105 // Offset of the associated menu position.
103 gfx::Point menu_offset_; 106 gfx::Point menu_offset_;
104 107
105 private: 108 private:
106 friend class PressedLock; 109 friend class PressedLock;
107 110
108 // Increment/decrement the number of "pressed" locks this button has, and 111 // Increment/decrement the number of "pressed" locks this button has, and
109 // set the state accordingly. The ink drop is snapped to the final ACTIVATED 112 // set the state accordingly. The ink drop is snapped to the final ACTIVATED
110 // state if |snap_ink_drop_to_activated| is true, otherwise the ink drop will 113 // state if |snap_ink_drop_to_activated| is true, otherwise the ink drop will
111 // be animated to the ACTIVATED node_data. 114 // be animated to the ACTIVATED node_data. The ink drop is animated at the
112 void IncrementPressedLocked(bool snap_ink_drop_to_activated); 115 // location of |event| if non-null, otherwise at the default location.
116 void IncrementPressedLocked(bool snap_ink_drop_to_activated,
117 const ui::LocatedEvent* event);
113 void DecrementPressedLocked(); 118 void DecrementPressedLocked();
114 119
115 // Compute the maximum X coordinate for the current screen. MenuButtons 120 // Compute the maximum X coordinate for the current screen. MenuButtons
116 // use this to make sure a menu is never shown off screen. 121 // use this to make sure a menu is never shown off screen.
117 int GetMaximumScreenXCoordinate(); 122 int GetMaximumScreenXCoordinate();
118 123
119 // We use a time object in order to keep track of when the menu was closed. 124 // We use a time object in order to keep track of when the menu was closed.
120 // The time is used for simulating menu behavior for the menu button; that 125 // The time is used for simulating menu behavior for the menu button; that
121 // is, if the menu is shown and the button is pressed, we need to close the 126 // is, if the menu is shown and the button is pressed, we need to close the
122 // menu. There is no clean way to get the second click event because the 127 // menu. There is no clean way to get the second click event because the
(...skipping 26 matching lines...) Expand all
149 bool should_disable_after_press_; 154 bool should_disable_after_press_;
150 155
151 base::WeakPtrFactory<MenuButton> weak_factory_; 156 base::WeakPtrFactory<MenuButton> weak_factory_;
152 157
153 DISALLOW_COPY_AND_ASSIGN(MenuButton); 158 DISALLOW_COPY_AND_ASSIGN(MenuButton);
154 }; 159 };
155 160
156 } // namespace views 161 } // namespace views
157 162
158 #endif // UI_VIEWS_CONTROLS_BUTTON_MENU_BUTTON_H_ 163 #endif // UI_VIEWS_CONTROLS_BUTTON_MENU_BUTTON_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698