| OLD | NEW |
| (Empty) | |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_SECTION_IN
FORMATION_H_ |
| 6 #define IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_SECTION_IN
FORMATION_H_ |
| 7 |
| 8 #import <Foundation/Foundation.h> |
| 9 |
| 10 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" |
| 11 |
| 12 // Layout for the section and its items. |
| 13 typedef NS_ENUM(NSInteger, ContentSuggestionsSectionLayout) { |
| 14 // Follows the card layout. |
| 15 ContentSuggestionsSectionLayoutCard, |
| 16 // No specific layout. |
| 17 ContentSuggestionsSectionLayoutCustom, |
| 18 }; |
| 19 |
| 20 // This enum is used for ordering the sections and as ID for the section. Make |
| 21 // all sections in the same collection have different ID. |
| 22 // When adding a new kind of suggestions, add a new corresponding section. The |
| 23 // ordering is not persisted between launch, reordering is possible. |
| 24 typedef NS_ENUM(NSInteger, ContentSuggestionsSectionID) { |
| 25 ContentSuggestionsSectionBookmarks = 0, |
| 26 ContentSuggestionsSectionArticles = 1, |
| 27 |
| 28 // Do not use this. It will trigger a DCHECK. |
| 29 // Do not add value after this one. |
| 30 ContentSuggestionsSectionCount |
| 31 }; |
| 32 |
| 33 // Contains the information needed to display the section. |
| 34 @interface ContentSuggestionsSectionInformation : NSObject |
| 35 |
| 36 - (instancetype)initWithID:(ContentSuggestionsSectionID)ID |
| 37 emptyCell:(CollectionViewItem*)emptyCell |
| 38 layout:(ContentSuggestionsSectionLayout)layout |
| 39 title:(NSString*)title NS_DESIGNATED_INITIALIZER; |
| 40 - (instancetype)init NS_UNAVAILABLE; |
| 41 |
| 42 // Item to display when the section is empty. If nil the section should not be |
| 43 // displayed when empty. |
| 44 @property(nonatomic, strong, readonly) CollectionViewItem* emptyCell; |
| 45 // Layout to display the content of the section. |
| 46 @property(nonatomic, assign, readonly) ContentSuggestionsSectionLayout layout; |
| 47 // ID of the section. Used for ordering. |
| 48 @property(nonatomic, assign, readonly) ContentSuggestionsSectionID ID; |
| 49 // Title for the section. |
| 50 @property(nonatomic, copy, readonly) NSString* title; |
| 51 |
| 52 @end |
| 53 |
| 54 #endif // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_SECTION
_INFORMATION_H_ |
| OLD | NEW |