| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2013 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 CHROME_BROWSER_UI_COCOA_AUTOFILL_AUTOFILL_DETAILS_CONTAINER_H_ | |
| 6 #define CHROME_BROWSER_UI_COCOA_AUTOFILL_AUTOFILL_DETAILS_CONTAINER_H_ | |
| 7 | |
| 8 #import <Cocoa/Cocoa.h> | |
| 9 | |
| 10 #include "base/mac/scoped_nsobject.h" | |
| 11 #include "chrome/browser/ui/autofill/autofill_dialog_types.h" | |
| 12 #import "chrome/browser/ui/cocoa/autofill/autofill_layout.h" | |
| 13 #import "chrome/browser/ui/cocoa/autofill/autofill_section_container.h" | |
| 14 | |
| 15 | |
| 16 namespace autofill { | |
| 17 class AutofillDialogViewDelegate; | |
| 18 } | |
| 19 | |
| 20 @class InfoBubbleView; | |
| 21 @class AutofillBubbleController; | |
| 22 | |
| 23 // UI controller for details for current payment instrument. | |
| 24 @interface AutofillDetailsContainer | |
| 25 : NSViewController<AutofillLayout, | |
| 26 AutofillValidationDisplay> { | |
| 27 @private | |
| 28 // Scroll view containing all detail sections. | |
| 29 base::scoped_nsobject<NSScrollView> scrollView_; | |
| 30 | |
| 31 // The individual detail sections. | |
| 32 base::scoped_nsobject<NSMutableArray> details_; | |
| 33 | |
| 34 // An info bubble to display validation errors. | |
| 35 base::scoped_nsobject<InfoBubbleView> errorBubble_; | |
| 36 | |
| 37 AutofillBubbleController* errorBubbleController_; | |
| 38 | |
| 39 // The view the current error bubble is anchored to. | |
| 40 NSView* errorBubbleAnchorView_; | |
| 41 | |
| 42 autofill::AutofillDialogViewDelegate* delegate_; // Not owned. | |
| 43 } | |
| 44 | |
| 45 // Designated initializer. | |
| 46 - (id)initWithDelegate:(autofill::AutofillDialogViewDelegate*)delegate; | |
| 47 | |
| 48 // Retrieve the container for the specified |section|. | |
| 49 - (AutofillSectionContainer*)sectionForId:(autofill::DialogSection)section; | |
| 50 | |
| 51 // Called when |errorBubble_| needs to be updated. | |
| 52 - (void)updateErrorBubble; | |
| 53 | |
| 54 // Called when the delegate-maintained suggestions model has changed. | |
| 55 - (void)modelChanged; | |
| 56 | |
| 57 // Validate every visible details section. | |
| 58 - (BOOL)validate; | |
| 59 | |
| 60 // Find the first visible and invalid user input field. Returns nil if no field | |
| 61 // is found. Looks at both direct input fields and input fields in suggestions. | |
| 62 - (NSControl*)firstInvalidField; | |
| 63 | |
| 64 // Finds the first visible user input field. Returns nil if no field is found. | |
| 65 // Looks at both direct input fields and input fields in suggestions. | |
| 66 - (NSControl*)firstVisibleField; | |
| 67 | |
| 68 // Positions the scrollview so that given |field| is visible. | |
| 69 - (void)scrollToView:(NSView*)field; | |
| 70 | |
| 71 @end | |
| 72 | |
| 73 #endif // CHROME_BROWSER_UI_COCOA_AUTOFILL_AUTOFILL_DETAILS_CONTAINER_H_ | |
| OLD | NEW |