| Index: ui/views/controls/menu/menu_controller.h
|
| diff --git a/ui/views/controls/menu/menu_controller.h b/ui/views/controls/menu/menu_controller.h
|
| index e9354293e922245a2234b553e5aab5baebafe917..e19bcd5b3b4494414f81fb3481e4ba09adcd6d7f 100644
|
| --- a/ui/views/controls/menu/menu_controller.h
|
| +++ b/ui/views/controls/menu/menu_controller.h
|
| @@ -51,6 +51,10 @@ class MenuMessagePumpDispatcher;
|
| class MenuRunnerImpl;
|
| }
|
|
|
| +namespace test {
|
| +class MenuControllerTest;
|
| +}
|
| +
|
| // MenuController -------------------------------------------------------------
|
|
|
| // MenuController is used internally by the various menu classes to manage
|
| @@ -183,7 +187,7 @@ class VIEWS_EXPORT MenuController : public WidgetObserver {
|
| friend class internal::MenuEventDispatcher;
|
| friend class internal::MenuMessagePumpDispatcher;
|
| friend class internal::MenuRunnerImpl;
|
| - friend class MenuControllerTest;
|
| + friend class test::MenuControllerTest;
|
| friend class MenuHostRootView;
|
| friend class MenuItemView;
|
| friend class SubmenuView;
|
| @@ -220,6 +224,15 @@ class VIEWS_EXPORT MenuController : public WidgetObserver {
|
| ACCELERATOR_PROCESSED_EXIT
|
| };
|
|
|
| + // Direction for IncrementSelection and FindInitialSelectableMenuItem.
|
| + enum SelectionIncrementDirectionType {
|
| + // Navigate the menu up.
|
| + INCREMENT_SELECTION_UP,
|
| +
|
| + // Navigate the menu down.
|
| + INCREMENT_SELECTION_DOWN,
|
| + };
|
| +
|
| // Tracks selection information.
|
| struct State {
|
| State();
|
| @@ -432,19 +445,23 @@ class VIEWS_EXPORT MenuController : public WidgetObserver {
|
| // Returns the depth of the menu.
|
| static int MenuDepth(MenuItemView* item);
|
|
|
| - // Selects the next/previous menu item.
|
| - void IncrementSelection(int delta);
|
| + // Selects the next or previous (depending on |direction|) menu item.
|
| + void IncrementSelection(SelectionIncrementDirectionType direction);
|
|
|
| - // Returns the first selectable child menu item of |parent|. If there are no
|
| - // selectable menu items NULL is returned.
|
| - MenuItemView* FindFirstSelectableMenuItem(MenuItemView* parent);
|
| + // Returns the first (|direction| == NAVIGATE_SELECTION_DOWN) or the last
|
| + // (|direction| == INCREMENT_SELECTION_UP) selectable child menu item of
|
| + // |parent|. If there are no selectable items returns NULL.
|
| + MenuItemView* FindInitialSelectableMenuItem(
|
| + MenuItemView* parent,
|
| + SelectionIncrementDirectionType direction);
|
|
|
| - // Returns the next selectable child menu item of |parent| starting at |index|
|
| - // and incrementing index by |delta|. If there are no more selectable menu
|
| - // items NULL is returned.
|
| - MenuItemView* FindNextSelectableMenuItem(MenuItemView* parent,
|
| - int index,
|
| - int delta);
|
| + // Returns the next or previous selectable child menu item of |parent|
|
| + // starting at |index| and incrementing or decrementing index by 1 depending
|
| + // on |direction|. If there are no more selectable items NULL is returned.
|
| + MenuItemView* FindNextSelectableMenuItem(
|
| + MenuItemView* parent,
|
| + int index,
|
| + SelectionIncrementDirectionType direction);
|
|
|
| // If the selected item has a submenu and it isn't currently open, the
|
| // the selection is changed such that the menu opens immediately.
|
|
|