Chromium Code Reviews| 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..78febaea063978419908b839b915e763fefe9d91 |
| --- /dev/null |
| +++ b/ios/chrome/browser/ui/suggestions/suggestions_expandable_item.h |
| @@ -0,0 +1,43 @@ |
| +// 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" |
| + |
| +// 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. |
| +- (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; |
| + |
| +// The collectionView displaying this article. Its layout will be invalidated |
| +// when the article is expanded/retracted. |
| +@property(nonatomic, assign) UICollectionView* collectionView; |
|
lpromero
2017/01/11 13:19:20
Don't depend on the collection like this. Have a d
gambard
2017/01/12 14:39:40
It means inspecting the type of every cell in the
lpromero
2017/01/12 16:44:38
Don't check the cell type, check the ItemType for
|
| + |
| +@end |
| + |
| +// Corresponding cell of an expandable article. |
| +@interface SuggestionsExpandableCell : MDCCollectionViewCell |
| + |
| +@property(nonatomic, assign) SuggestionsExpandableItem* item; |
|
lpromero
2017/01/11 13:19:20
I'd remove this and keep the item just as a data h
gambard
2017/01/12 14:39:40
The item needs to know if the cell has been expand
lpromero
2017/01/12 16:44:38
The item should hold that knowledge. In its public
|
| +@property(nonatomic, copy) NSString* title; |
| +@property(nonatomic, copy) NSString* subtitle; |
| +@property(nonatomic, copy) NSString* detail; |
| +@property(nonatomic, retain) UIImage* image; |
| + |
| +@end |
| + |
| +#endif // IOS_CHROME_BROWSER_UI_SUGGESTIONS_SUGGESTIONS_EXPANDABLE_ITEM_H_ |