Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(516)

Side by Side Diff: ios/chrome/browser/payments/cells/payment_method_item.h

Issue 2825483002: [Payment Request] Protocol for payments items with accessoryType property (Closed)
Patch Set: Initial Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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_PAYMENTS_CELLS_PAYMENT_METHOD_ITEM_H_ 5 #ifndef IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAYMENT_METHOD_ITEM_H_
6 #define IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAYMENT_METHOD_ITEM_H_ 6 #define IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAYMENT_METHOD_ITEM_H_
7 7
8 #import <UIKit/UIKit.h> 8 #import <UIKit/UIKit.h>
9 9
10 #import "ios/chrome/browser/payments/cells/payments_has_accessory_type.h"
10 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" 11 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
11 #import "ios/third_party/material_components_ios/src/components/CollectionCells/ src/MaterialCollectionCells.h" 12 #import "ios/third_party/material_components_ios/src/components/CollectionCells/ src/MaterialCollectionCells.h"
12 13
13 // PaymentMethodItem is the model class corresponding to PaymentMethodCell. 14 // PaymentMethodItem is the model class corresponding to PaymentMethodCell.
14 @interface PaymentMethodItem : CollectionViewItem 15 @interface PaymentMethodItem : CollectionViewItem<PaymentsHasAccessoryType>
15 16
16 // A unique identifier for the payment method (for example, the type and last 4 17 // A unique identifier for the payment method (for example, the type and last 4
17 // digits of a credit card). 18 // digits of a credit card).
18 @property(nonatomic, copy) NSString* methodID; 19 @property(nonatomic, copy) NSString* methodID;
19 20
20 // Additional details about the payment method (for example, the name of the 21 // Additional details about the payment method (for example, the name of the
21 // credit card holder). 22 // credit card holder).
22 @property(nonatomic, copy) NSString* methodDetail; 23 @property(nonatomic, copy) NSString* methodDetail;
23 24
24 // The address associated with the the payment method (for example, credit 25 // The address associated with the the payment method (for example, credit
25 // card's billing address). 26 // card's billing address).
26 @property(nonatomic, copy) NSString* methodAddress; 27 @property(nonatomic, copy) NSString* methodAddress;
27 28
28 // The notification message. 29 // The notification message.
29 @property(nonatomic, copy) NSString* notification; 30 @property(nonatomic, copy) NSString* notification;
30 31
31 // An image corresponding to the type of the payment method. 32 // An image corresponding to the type of the payment method.
32 @property(nonatomic, strong) UIImage* methodTypeIcon; 33 @property(nonatomic, strong) UIImage* methodTypeIcon;
33 34
34 // If YES, reserves room for the accessory type view regardless of whether the 35 // If YES, reserves room for the accessory type view regardless of whether the
35 // item has an accessory type. This is used to ensure the content area always 36 // item has an accessory type. This is used to ensure the content area always
36 // has the same size regardless of whether the accessory type is set. 37 // has the same size regardless of whether the accessory type is set.
37 @property(nonatomic, assign) BOOL reserveRoomForAccessoryType; 38 @property(nonatomic, assign) BOOL reserveRoomForAccessoryType;
38 39
39 // The accessory type to be shown in the cell.
40 @property(nonatomic) MDCCollectionViewCellAccessoryType accessoryType;
41
42 @end 40 @end
43 41
44 // PaymentMethodCell implements an MDCCollectionViewCell subclass containing 42 // PaymentMethodCell implements an MDCCollectionViewCell subclass containing
45 // four optional text labels identifying and providing details about a payment 43 // four optional text labels identifying and providing details about a payment
46 // method and an image view displaying an icon representing the payment method's 44 // method and an image view displaying an icon representing the payment method's
47 // type. The image is laid out on the trailing edge of the cell while the labels 45 // type. The image is laid out on the trailing edge of the cell while the labels
48 // are laid out on the leading edge of the cell up to the leading edge of the 46 // are laid out on the leading edge of the cell up to the leading edge of the
49 // image view. The labels are truncated if necessary. 47 // image view. The labels are truncated if necessary.
50 @interface PaymentMethodCell : MDCCollectionViewCell 48 @interface PaymentMethodCell : MDCCollectionViewCell
51 49
52 // UILabels corresponding to |methodID|, |methodDetail|, |methodAddress|, and 50 // UILabels corresponding to |methodID|, |methodDetail|, |methodAddress|, and
53 // |notification|. 51 // |notification|.
54 @property(nonatomic, readonly, strong) UILabel* methodIDLabel; 52 @property(nonatomic, readonly, strong) UILabel* methodIDLabel;
55 @property(nonatomic, readonly, strong) UILabel* methodDetailLabel; 53 @property(nonatomic, readonly, strong) UILabel* methodDetailLabel;
56 @property(nonatomic, readonly, strong) UILabel* methodAddressLabel; 54 @property(nonatomic, readonly, strong) UILabel* methodAddressLabel;
57 @property(nonatomic, readonly, strong) UILabel* notificationLabel; 55 @property(nonatomic, readonly, strong) UILabel* notificationLabel;
58 56
59 @property(nonatomic, assign) BOOL reserveRoomForAccessoryType; 57 @property(nonatomic, assign) BOOL reserveRoomForAccessoryType;
60 58
61 // UIImageView containing the payment method type icon. 59 // UIImageView containing the payment method type icon.
62 @property(nonatomic, readonly, strong) UIImageView* methodTypeIconView; 60 @property(nonatomic, readonly, strong) UIImageView* methodTypeIconView;
63 61
64 @end 62 @end
65 63
66 #endif // IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAYMENT_METHOD_ITEM_H_ 64 #endif // IOS_CHROME_BROWSER_PAYMENTS_CELLS_PAYMENT_METHOD_ITEM_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698