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_CONTROLS_MENU_MENU_CONTROLLER_H_ | 5 #ifndef UI_VIEWS_CONTROLS_MENU_MENU_CONTROLLER_H_ |
6 #define UI_VIEWS_CONTROLS_MENU_MENU_CONTROLLER_H_ | 6 #define UI_VIEWS_CONTROLS_MENU_MENU_CONTROLLER_H_ |
7 | 7 |
8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
9 | 9 |
10 #include <stddef.h> | 10 #include <stddef.h> |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
144 // | 144 // |
145 // NOTE: the coordinates of the events are in that of the | 145 // NOTE: the coordinates of the events are in that of the |
146 // MenuScrollViewContainer. | 146 // MenuScrollViewContainer. |
147 bool OnMousePressed(SubmenuView* source, const ui::MouseEvent& event); | 147 bool OnMousePressed(SubmenuView* source, const ui::MouseEvent& event); |
148 bool OnMouseDragged(SubmenuView* source, const ui::MouseEvent& event); | 148 bool OnMouseDragged(SubmenuView* source, const ui::MouseEvent& event); |
149 void OnMouseReleased(SubmenuView* source, const ui::MouseEvent& event); | 149 void OnMouseReleased(SubmenuView* source, const ui::MouseEvent& event); |
150 void OnMouseMoved(SubmenuView* source, const ui::MouseEvent& event); | 150 void OnMouseMoved(SubmenuView* source, const ui::MouseEvent& event); |
151 void OnMouseEntered(SubmenuView* source, const ui::MouseEvent& event); | 151 void OnMouseEntered(SubmenuView* source, const ui::MouseEvent& event); |
152 bool OnMouseWheel(SubmenuView* source, const ui::MouseWheelEvent& event); | 152 bool OnMouseWheel(SubmenuView* source, const ui::MouseWheelEvent& event); |
153 void OnGestureEvent(SubmenuView* source, ui::GestureEvent* event); | 153 void OnGestureEvent(SubmenuView* source, ui::GestureEvent* event); |
154 void OnTouchEvent(SubmenuView* source, ui::TouchEvent* event); | |
154 View* GetTooltipHandlerForPoint(SubmenuView* source, const gfx::Point& point); | 155 View* GetTooltipHandlerForPoint(SubmenuView* source, const gfx::Point& point); |
155 void ViewHierarchyChanged(SubmenuView* source, | 156 void ViewHierarchyChanged(SubmenuView* source, |
156 const View::ViewHierarchyChangedDetails& details); | 157 const View::ViewHierarchyChangedDetails& details); |
157 | 158 |
158 bool GetDropFormats(SubmenuView* source, | 159 bool GetDropFormats(SubmenuView* source, |
159 int* formats, | 160 int* formats, |
160 std::set<ui::Clipboard::FormatType>* format_types); | 161 std::set<ui::Clipboard::FormatType>* format_types); |
161 bool AreDropTypesRequired(SubmenuView* source); | 162 bool AreDropTypesRequired(SubmenuView* source); |
162 bool CanDrop(SubmenuView* source, const ui::OSExchangeData& data); | 163 bool CanDrop(SubmenuView* source, const ui::OSExchangeData& data); |
163 void OnDragEntered(SubmenuView* source, const ui::DropTargetEvent& event); | 164 void OnDragEntered(SubmenuView* source, const ui::DropTargetEvent& event); |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
299 | 300 |
300 // Sets the selection to |menu_item|. A value of NULL unselects | 301 // Sets the selection to |menu_item|. A value of NULL unselects |
301 // everything. |types| is a bitmask of |SetSelectionTypes|. | 302 // everything. |types| is a bitmask of |SetSelectionTypes|. |
302 // | 303 // |
303 // Internally this updates pending_state_ immediatley. state_ is only updated | 304 // Internally this updates pending_state_ immediatley. state_ is only updated |
304 // immediately if SELECTION_UPDATE_IMMEDIATELY is set. If | 305 // immediately if SELECTION_UPDATE_IMMEDIATELY is set. If |
305 // SELECTION_UPDATE_IMMEDIATELY is not set CommitPendingSelection is invoked | 306 // SELECTION_UPDATE_IMMEDIATELY is not set CommitPendingSelection is invoked |
306 // to show/hide submenus and update state_. | 307 // to show/hide submenus and update state_. |
307 void SetSelection(MenuItemView* menu_item, int types); | 308 void SetSelection(MenuItemView* menu_item, int types); |
308 | 309 |
310 // The |EventType| template argument indicates the type of the event. | |
311 // For e.g. MouseEvent, TouchEvent, etc. | |
312 template<class EventType> | |
309 void SetSelectionOnPointerDown(SubmenuView* source, | 313 void SetSelectionOnPointerDown(SubmenuView* source, |
310 const ui::LocatedEvent& event); | 314 const EventType& event); |
311 void StartDrag(SubmenuView* source, const gfx::Point& location); | 315 void StartDrag(SubmenuView* source, const gfx::Point& location); |
312 | 316 |
313 // Key processing. | 317 // Key processing. |
314 void OnKeyDown(ui::KeyboardCode key_code); | 318 void OnKeyDown(ui::KeyboardCode key_code); |
315 | 319 |
316 // Creates a MenuController. If |blocking| is true a nested message loop is | 320 // Creates a MenuController. If |blocking| is true a nested message loop is |
317 // started in |Run|. | 321 // started in |Run|. |
318 MenuController(bool blocking, | 322 MenuController(bool blocking, |
319 internal::MenuControllerDelegate* delegate); | 323 internal::MenuControllerDelegate* delegate); |
320 | 324 |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
495 // Selects by mnemonic, and if that doesn't work tries the first character of | 499 // Selects by mnemonic, and if that doesn't work tries the first character of |
496 // the title. | 500 // the title. |
497 void SelectByChar(base::char16 key); | 501 void SelectByChar(base::char16 key); |
498 | 502 |
499 // For Windows and Aura we repost an event for some events that dismiss | 503 // For Windows and Aura we repost an event for some events that dismiss |
500 // the context menu. The event is then reprocessed to cause its result | 504 // the context menu. The event is then reprocessed to cause its result |
501 // if the context menu had not been present. | 505 // if the context menu had not been present. |
502 // On non-aura Windows, a new mouse event is generated and posted to | 506 // On non-aura Windows, a new mouse event is generated and posted to |
503 // the window (if there is one) at the location of the event. On | 507 // the window (if there is one) at the location of the event. On |
504 // aura, the event is reposted on the RootWindow. | 508 // aura, the event is reposted on the RootWindow. |
505 void RepostEvent(SubmenuView* source, const ui::LocatedEvent& event); | 509 // The |EventType| template argument indicates the type of the event. |
510 // For e.g. MouseEvent, TouchEvent, etc. | |
511 template<class EventType> | |
sky
2016/01/12 21:16:42
I'm not seeing why you need the template args.
ananta
2016/01/13 01:21:24
Replaced with LocatedEvent* here and other places.
| |
512 void RepostEvent(SubmenuView* source, const EventType& event); | |
506 | 513 |
507 // Sets the drop target to new_item. | 514 // Sets the drop target to new_item. |
508 void SetDropMenuItem(MenuItemView* new_item, | 515 void SetDropMenuItem(MenuItemView* new_item, |
509 MenuDelegate::DropPosition position); | 516 MenuDelegate::DropPosition position); |
510 | 517 |
511 // Starts/stops scrolling as appropriate. part gives the part the mouse is | 518 // Starts/stops scrolling as appropriate. part gives the part the mouse is |
512 // over. | 519 // over. |
513 void UpdateScrolling(const MenuPart& part); | 520 void UpdateScrolling(const MenuPart& part); |
514 | 521 |
515 // Stops scrolling. | 522 // Stops scrolling. |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
688 int current_mouse_pressed_state_; | 695 int current_mouse_pressed_state_; |
689 | 696 |
690 scoped_ptr<MenuMessageLoop> message_loop_; | 697 scoped_ptr<MenuMessageLoop> message_loop_; |
691 | 698 |
692 DISALLOW_COPY_AND_ASSIGN(MenuController); | 699 DISALLOW_COPY_AND_ASSIGN(MenuController); |
693 }; | 700 }; |
694 | 701 |
695 } // namespace views | 702 } // namespace views |
696 | 703 |
697 #endif // UI_VIEWS_CONTROLS_MENU_MENU_CONTROLLER_H_ | 704 #endif // UI_VIEWS_CONTROLS_MENU_MENU_CONTROLLER_H_ |
OLD | NEW |