Chromium Code Reviews| Index: chrome/browser/ui/views/payments/payment_request_item_list.h |
| diff --git a/chrome/browser/ui/views/payments/payment_request_item_list.h b/chrome/browser/ui/views/payments/payment_request_item_list.h |
| index 71f4c04812d6eb0903b96538f6c6f5dab4fb23ab..900ae464f40feadb4cccf56eabb5be4665a0d6f5 100644 |
| --- a/chrome/browser/ui/views/payments/payment_request_item_list.h |
| +++ b/chrome/browser/ui/views/payments/payment_request_item_list.h |
| @@ -19,14 +19,16 @@ namespace payments { |
| // A control representing a list of selectable items in the PaymentRequest |
| // dialog. These lists enforce that only one of their elements be selectable at |
| // a time and that "incomplete" items (for example, a credit card with no known |
| -// expriration date) behave differently when selected. Most of the time, this |
| +// expiration date) behave differently when selected. Most of the time, this |
| // behavior is to show an editor screen. |
| class PaymentRequestItemList { |
| public: |
| // Represents an item in the item list. |
| class Item { |
| public: |
| - Item(); |
| + // Creates an item that will be owned by |list| with the initial state set |
| + // to |selected|. |
| + Item(PaymentRequestItemList* list, bool selected); |
| virtual ~Item(); |
| // Gets the view associated with this item. It's owned by this object so |
| @@ -34,12 +36,27 @@ class PaymentRequestItemList { |
| // view. |
| views::View* GetItemView(); |
| + bool selected() const { return selected_; } |
| + // Changes the selected state of this item to |selected| and calls |
| + // SelectedStateChanged. |
| + void SetSelected(bool selected); |
| + |
| + // Returns a pointer to the PaymentRequestItemList that owns this object. |
| + PaymentRequestItemList* list() { return list_; } |
| + |
| protected: |
| // Creates and returns the view associated with this list item. |
| virtual std::unique_ptr<views::View> CreateItemView() = 0; |
| + // Called when the selected state of this item changes. Subclasses may |
| + // assume that they are the only selected item in |list| when this is |
| + // called. |
| + virtual void SelectedStateChanged() = 0; |
| + |
| private: |
| std::unique_ptr<views::View> item_view_; |
| + PaymentRequestItemList* list_; |
| + bool selected_; |
| DISALLOW_COPY_AND_ASSIGN(Item); |
| }; |
| @@ -47,7 +64,7 @@ class PaymentRequestItemList { |
| PaymentRequestItemList(); |
| ~PaymentRequestItemList(); |
| - // Adds an item to this list. |
| + // Adds an item to this list. |item->list()| should be equal to this object. |
|
please use gerrit instead
2017/02/24 14:56:53
Please remove the words "equal to" to avoid confus
anthonyvd
2017/02/24 16:36:58
Done.
|
| void AddItem(std::unique_ptr<Item> item); |
| // Creates and returns the UI representation of this list. It iterates over |
| @@ -55,6 +72,9 @@ class PaymentRequestItemList { |
| // hierarchy. |
| std::unique_ptr<views::View> CreateListView(); |
| + // Deselects the currently selected item and selects |item| instead. |
| + void SelectItem(Item* item); |
| + |
| private: |
| std::vector<std::unique_ptr<Item>> items_; |