blob: b61949ffb50b5cb13c2016e459d03535fa3a3da7 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_CONSUMER_H_
#define IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_CONSUMER_H_
#import <Foundation/Foundation.h>
@protocol PopupMenuItem;
@class TableViewItem;
// Consumer protocol for the popup menu.
@protocol PopupMenuConsumer
// Item to be highlighted. Nil if no item should be highlighted. Must be set
// after the popup menu items.
@property(nonatomic, weak) TableViewItem<PopupMenuItem>* itemToHighlight;
// Sets the |items| to be displayed by this Consumer. Removes all the currently
// presented items.
- (void)setPopupMenuItems:
(NSArray<NSArray<TableViewItem<PopupMenuItem>*>*>*)items;
// Notifies the consumer that |items| have changed.
- (void)itemsHaveChanged:(NSArray<TableViewItem<PopupMenuItem>*>*)items;
@end
#endif // IOS_CHROME_BROWSER_UI_POPUP_MENU_PUBLIC_POPUP_MENU_CONSUMER_H_