1 // Copyright 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_SUGGESTION_CONTAINER_H_ 6 #define CHROME_BROWSER_UI_COCOA_AUTOFILL_AUTOFILL_SUGGESTION_CONTAINER_H_ 7 8 #import <Cocoa/Cocoa.h> 9 10 #include "base/mac/scoped_nsobject.h" 11 #import "chrome/browser/ui/cocoa/autofill/autofill_layout.h" 12 13 namespace autofill { 14 class AutofillDialogViewDelegate; 15 } 16 17 @class AutofillTextField; 18 19 // Container for the data suggested for a particular input section. 20 @interface AutofillSuggestionContainer : NSViewController<AutofillLayout> { 21 @private 22 // The spacer at the top of the suggestion. 23 base::scoped_nsobject<NSBox> spacer_; 24 25 // The label that holds the suggestion description text. 26 base::scoped_nsobject<NSTextView> label_; 27 28 // The input set by ShowTextfield. 29 base::scoped_nsobject<AutofillTextField> inputField_; 30 31 autofill::AutofillDialogViewDelegate* delegate_; // Not owned. 32 } 33 34 // Auxiliary textfield. See showInputField: for details. 35 @property (readonly, nonatomic) AutofillTextField* inputField; 36 37 // Set the main suggestion text and the corresponding |icon|. The text is set to 38 // |verticallyCompactText| if that can fit without wrapping. Otherwise, the text 39 // is set to |horizontallyCompactText|, with possibly additional wrapping 40 // imposed by the dialog's size constraints. 41 // NOTE: The implementation assumes that all other elements' sizes are already 42 // known. Hence, -showInputField:withIcon: should be called prior to calling 43 // this method, if it is going to be called at all. 44 - (void) 45 setSuggestionWithVerticallyCompactText:(NSString*)verticallyCompactText 46 horizontallyCompactText:(NSString*)horizontallyCompactText 47 icon:(NSImage*)icon 48 maxWidth:(CGFloat)maxWidth; 49 50 // Shows an auxiliary textfield to the right of the suggestion icon and 51 // text. This is currently only used to show a CVC field for the CC section. 52 - (void)showInputField:(NSString*)text withIcon:(NSImage*)icon; 53 54 @end 55 56 #endif // CHROME_BROWSER_UI_COCOA_AUTOFILL_AUTOFILL_SUGGESTION_CONTAINER_H_ 57