Index: ios/chrome/browser/ui/suggestions/suggestions_expandable_item.h |
diff --git a/ios/chrome/browser/ui/suggestions/suggestions_expandable_item.h b/ios/chrome/browser/ui/suggestions/suggestions_expandable_item.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f6dc0cb6baabf79656391b2b46bfed90c38e77a8 |
--- /dev/null |
+++ b/ios/chrome/browser/ui/suggestions/suggestions_expandable_item.h |
@@ -0,0 +1,59 @@ |
+// Copyright 2017 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_SUGGESTIONS_SUGGESTIONS_EXPANDABLE_ITEM_H_ |
+#define IOS_CHROME_BROWSER_UI_SUGGESTIONS_SUGGESTIONS_EXPANDABLE_ITEM_H_ |
+ |
+#import "ios/third_party/material_components_ios/src/components/CollectionCells/src/MaterialCollectionCells.h" |
+ |
+#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" |
+ |
+@class SuggestionsExpandableCell; |
+ |
+// Delegate for the SuggestionsExpandableCell. The delegate will take care of |
+// the expansion/retractation of the cell. |
marq (ping after 24h)
2017/01/16 17:16:41
Perfer 'collapse' as the opposite to 'expand' inst
gambard
2017/01/17 09:59:00
Done.
|
+@protocol SuggestionsExpandableCellDelegate |
+ |
+- (void)expandCell:(UICollectionViewCell*)cell; |
+- (void)retractCell:(UICollectionViewCell*)cell; |
+ |
+@end |
+ |
+// Item for an expandable article in the suggestions. An expandable article can |
+// be expanded, displaying more informations/interactions. |
+@interface SuggestionsExpandableItem : CollectionViewItem |
+ |
+// Init the article with a |title|, a |subtitle| an |image| and some |detail| |
+// displayed only when the article is expanded. |type| is the type of the item. |
marq (ping after 24h)
2017/01/16 17:16:41
Does |type| vary orthogonally to the expandable/no
gambard
2017/01/17 09:59:00
It is independent. All expandable items can have t
lpromero
2017/01/17 10:38:49
And in the other direction, the group of expandabl
|
+- (instancetype)initWithType:(NSInteger)type |
+ title:(NSString*)title |
+ subtitle:(NSString*)subtitle |
+ image:(UIImage*)image |
+ detailText:(NSString*)detail NS_DESIGNATED_INITIALIZER; |
+ |
+- (instancetype)initWithType:(NSInteger)type NS_UNAVAILABLE; |
+ |
+// Delegate for the configured cells. |
marq (ping after 24h)
2017/01/16 17:16:41
each CollectionViewItem configures only a single c
gambard
2017/01/17 09:59:00
The item configure the cell for displaying on the
|
+@property(nonatomic, weak) id<SuggestionsExpandableCellDelegate> delegate; |
+ |
+// Whether the cells should be in expanded mode. |
+@property(nonatomic) BOOL expanded; |
+ |
+@end |
+ |
+// Corresponding cell of an expandable article. |
+@interface SuggestionsExpandableCell : MDCCollectionViewCell |
+ |
+@property(nonatomic, weak) id<SuggestionsExpandableCellDelegate> delegate; |
+@property(nonatomic, readonly, strong) UILabel* titleLabel; |
+@property(nonatomic, readonly, strong) UILabel* subtitleLabel; |
+@property(nonatomic, readonly, strong) UILabel* detailLabel; |
+@property(nonatomic, strong) UIImageView* imageView; |
+ |
+- (void)expand; |
+- (void)retract; |
+ |
+@end |
+ |
+#endif // IOS_CHROME_BROWSER_UI_SUGGESTIONS_SUGGESTIONS_EXPANDABLE_ITEM_H_ |