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

Unified Diff: chrome/browser/autofill/autofill_address_model_mac.h

Issue 558066: Autofill dialog for the Mac. This is UI only at this point. The UI is not h... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/app/nibs/Preferences.xib ('k') | chrome/browser/autofill/autofill_address_model_mac.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/autofill/autofill_address_model_mac.h
===================================================================
--- chrome/browser/autofill/autofill_address_model_mac.h (revision 0)
+++ chrome/browser/autofill/autofill_address_model_mac.h (revision 0)
@@ -0,0 +1,77 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_AUTOFILL_AUTOFILL_ADDRESS_MODEL_MAC_
+#define CHROME_BROWSER_AUTOFILL_AUTOFILL_ADDRESS_MODEL_MAC_
+
+#import <Cocoa/Cocoa.h>
+
+class AutoFillProfile;
+
+// A "model" class used with bindings mechanism and the
+// |AutoFillAddressViewController| to achieve the form-like view
+// of autofill data in the Chrome options UI.
+// Note that |summary| is a derived property.
+// Model objects are initialized from a given profile using the designated
+// initializer |initWithProfile:|.
+// Users of this class must be prepared to handle nil string return values.
+// The KVO/bindings mechanisms expect this and deal with nil string values
+// appropriately.
+@interface AutoFillAddressModel : NSObject {
+ @private
+ // These are not scoped_nsobjects because we use them via KVO/bindings.
+ NSString* label_;
+ NSString* firstName_;
+ NSString* middleName_;
+ NSString* lastName_;
+ NSString* email_;
+ NSString* companyName_;
+ NSString* addressLine1_;
+ NSString* addressLine2_;
+ NSString* city_;
+ NSString* state_;
+ NSString* zip_;
+ NSString* country_;
+ NSString* phoneCountryCode_;
+ NSString* phoneAreaCode_;
+ NSString* phoneNumber_;
+ NSString* faxCountryCode_;
+ NSString* faxAreaCode_;
+ NSString* faxNumber_;
+}
+
+// |summary| is a derived property based on |firstName|, |lastName| and
+// |addressLine1|. KVO observers receive change notifications for |summary|
+// when any of these properties change.
+@property (readonly) NSString* summary;
+@property (nonatomic, copy) NSString* label;
+@property (nonatomic, copy) NSString* firstName;
+@property (nonatomic, copy) NSString* middleName;
+@property (nonatomic, copy) NSString* lastName;
+@property (nonatomic, copy) NSString* email;
+@property (nonatomic, copy) NSString* companyName;
+@property (nonatomic, copy) NSString* addressLine1;
+@property (nonatomic, copy) NSString* addressLine2;
+@property (nonatomic, copy) NSString* city;
+@property (nonatomic, copy) NSString* state;
+@property (nonatomic, copy) NSString* zip;
+@property (nonatomic, copy) NSString* country;
+@property (nonatomic, copy) NSString* phoneCountryCode;
+@property (nonatomic, copy) NSString* phoneAreaCode;
+@property (nonatomic, copy) NSString* phoneNumber;
+@property (nonatomic, copy) NSString* faxCountryCode;
+@property (nonatomic, copy) NSString* faxAreaCode;
+@property (nonatomic, copy) NSString* faxNumber;
+
+// The designated initializer. Initializes the property strings to values
+// retrieved from the |profile|.
+- (id)initWithProfile:(const AutoFillProfile&)profile;
+
+// This method copies internal NSString property values into the
+// |profile| object's fields as appropriate. |profile| should never be NULL.
+- (void)copyModelToProfile:(AutoFillProfile*)profile;
+
+@end
+
+#endif // CHROME_BROWSER_AUTOFILL_AUTOFILL_ADDRESS_MODEL_MAC_
« no previous file with comments | « chrome/app/nibs/Preferences.xib ('k') | chrome/browser/autofill/autofill_address_model_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698