OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_CONTROLLER_H_ | 5 #ifndef IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_CONTROLLER_H_ |
6 #define IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_CONTROLLER_H_ | 6 #define IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_CONTROLLER_H_ |
7 | 7 |
8 #import <UIKit/UIKit.h> | 8 #import <UIKit/UIKit.h> |
9 | 9 |
10 @class PopupMenuController; | 10 @class PopupMenuController; |
11 @class PopupMenuView; | 11 @class PopupMenuView; |
12 | 12 |
13 // A protocol required by delegates of the PopupMenuController. | 13 // A protocol required by delegates of the PopupMenuController. |
14 @protocol PopupMenuDelegate | 14 @protocol PopupMenuDelegate |
15 // Instructs the delegate the PopupMenuController is done and should be | 15 // Instructs the delegate the PopupMenuController is done and should be |
16 // dismissed. | 16 // dismissed. |
17 - (void)dismissPopupMenu:(PopupMenuController*)controller; | 17 - (void)dismissPopupMenu:(PopupMenuController*)controller; |
18 @end | 18 @end |
19 | 19 |
20 // The base view controller for popup menus within the top toolbar like the | 20 // The base view controller for popup menus within the top toolbar like the |
21 // Tools menu. | 21 // Tools menu. |
22 @interface PopupMenuController : NSObject | 22 @interface PopupMenuController : NSObject |
23 | 23 |
24 // View that contains all subviews. Subclasses should add their views to | 24 // View that contains all subviews. Subclasses should add their views to |
25 // |containerView_|. | 25 // |containerView_|. |
26 @property(nonatomic, readonly, retain) UIView* containerView; | 26 @property(nonatomic, readonly, strong) UIView* containerView; |
27 // Displays the background and border of the popup. | 27 // Displays the background and border of the popup. |
28 @property(nonatomic, readonly, retain) PopupMenuView* popupContainer; | 28 @property(nonatomic, readonly, strong) PopupMenuView* popupContainer; |
29 // Button used to dismiss the popup. Covers the entire window behind the popup | 29 // Button used to dismiss the popup. Covers the entire window behind the popup |
30 // menu. Catches any touch events outside of the popup and invokes | 30 // menu. Catches any touch events outside of the popup and invokes |
31 // |-tappedBehindPopup:| if there are any. | 31 // |-tappedBehindPopup:| if there are any. |
32 @property(nonatomic, readonly, retain) UIButton* backgroundButton; | 32 @property(nonatomic, readonly, strong) UIButton* backgroundButton; |
33 // Delegate for the popup menu. | 33 // Delegate for the popup menu. |
34 @property(nonatomic, assign) id<PopupMenuDelegate> delegate; | 34 @property(nonatomic, weak) id<PopupMenuDelegate> delegate; |
35 | 35 |
36 // Initializes the PopupMenuController and adds its views inside of parent. | 36 // Initializes the PopupMenuController and adds its views inside of parent. |
37 - (id)initWithParentView:(UIView*)parent; | 37 - (id)initWithParentView:(UIView*)parent; |
38 | 38 |
39 // The designated initializer. | 39 // The designated initializer. |
40 // Initializes the PopupMenuController and adds its views inside of parent. | 40 // Initializes the PopupMenuController and adds its views inside of parent. |
41 // Additional backgroundButton params are used to change the look and behavior | 41 // Additional backgroundButton params are used to change the look and behavior |
42 // of |backgroundButton_|. | 42 // of |backgroundButton_|. |
43 // backgroundButtonParent is the view to add |backgroundButton_| to. If nil, | 43 // backgroundButtonParent is the view to add |backgroundButton_| to. If nil, |
44 // |backgroundButton_| is added to |containerView_|. | 44 // |backgroundButton_| is added to |containerView_|. |
(...skipping 23 matching lines...) Expand all Loading... |
68 toDestination:(CGPoint)destination; | 68 toDestination:(CGPoint)destination; |
69 - (void)dismissAnimatedWithCompletion:(void (^)(void))completion; | 69 - (void)dismissAnimatedWithCompletion:(void (^)(void))completion; |
70 | 70 |
71 // Called to display the popup with a fade in animation. |completionBlock| is | 71 // Called to display the popup with a fade in animation. |completionBlock| is |
72 // executed once the fade animation is complete. | 72 // executed once the fade animation is complete. |
73 - (void)fadeInPopup:(void (^)(BOOL finished))completionBlock; | 73 - (void)fadeInPopup:(void (^)(BOOL finished))completionBlock; |
74 | 74 |
75 @end | 75 @end |
76 | 76 |
77 #endif // IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_CONTROLLER_H_ | 77 #endif // IOS_CHROME_BROWSER_UI_POPUP_MENU_POPUP_MENU_CONTROLLER_H_ |
OLD | NEW |