--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingappbase/msgeditor/viewinc/MsgAddressControlEditorField.h Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,213 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: MsgAddressControlEditorField declaration
+*
+*/
+
+
+
+#ifndef INC_MSGADDRESSCONTROLEDITORFIELD_H
+#define INC_MSGADDRESSCONTROLEDITORFIELD_H
+
+// ========== INCLUDE FILES ================================
+#include <fldbase.h> // for CTextField and MTextFieldFactory
+
+// ========== CONSTANTS ====================================
+
+const TUid KMsgAddressControlEditorFieldUid = { 0x100000 };
+
+const TInt KMsgMaxStringLength = 1000; // Maximum length of strings for iAddress and iName.
+const TInt KMsgMaxFieldLength = 100; // Maximum length of the field.
+
+// ========== MACROS =======================================
+
+// ========== DATA TYPES ===================================
+
+// ========== FUNCTION PROTOTYPES ==========================
+
+// ========== FORWARD DECLARATIONS =========================
+class MVPbkContactLink;
+
+// ========== CLASS DECLARATION ============================
+
+/**
+ * Defines a text field for the address control editor. This kind of field is used
+ * to indicate that recipient's address has been verified i.e. found from the
+ * contact database.
+ *
+ */
+class CMsgAddressControlEditorField : public CTextField
+{
+
+public:
+
+ /**
+ * Constructor.
+ */
+ CMsgAddressControlEditorField();
+
+ /**
+ * Destructor.
+ */
+ ~CMsgAddressControlEditorField();
+
+ /**
+ *
+ * @param aEntryString
+ */
+ void SetEntryStringL(const TDesC& aEntryString);
+
+ /**
+ *
+ * @param aName
+ */
+ void SetNameL(const TDesC& aName);
+
+ /**
+ *
+ * @param aAddress
+ */
+ void SetAddressL(const TDesC& aAddress);
+
+ /**
+ *
+ * @param aVerified
+ */
+ void SetVerified(TBool aVerified);
+
+ /**
+ *
+ * @param aValidated
+ */
+ void SetValidated(TBool aValidated);
+
+ /**
+ *
+ * @param aId
+ */
+ void SetContactLink ( const MVPbkContactLink* aContactLink );
+ /**
+ *
+ * @return
+ */
+ const MVPbkContactLink* ContactLink() const;
+
+ /**
+ *
+ * @return
+ */
+ HBufC* Name() const;
+
+ /**
+ *
+ * @return
+ */
+ HBufC* Address() const;
+
+ /**
+ *
+ * @return
+ */
+ TBool IsVerified() const;
+
+ /**
+ *
+ * @return
+ */
+ TBool IsValidated() const;
+
+
+public: // from TTextField
+
+ /**
+ *
+ * @param aValueText
+ * @return
+ */
+ TInt Value(TPtr& aValueText);
+
+ /**
+ *
+ * @param aStream
+ */
+ void InternalizeL(RReadStream& aStream);
+
+ /**
+ *
+ * @param aStream
+ */
+ void ExternalizeL(RWriteStream& aStream) const;
+
+ /**
+ *
+ * @return
+ */
+ TUid Type() const;
+
+protected:
+ HBufC* iEntryString;
+ HBufC* iName;
+ HBufC* iAddress;
+ TBool iVerified;
+ TBool iValidated;
+ const MVPbkContactLink* iContactLink;
+};
+
+// =========================================================
+
+/**
+ * Defines a text field factory for the address control editor.
+ *
+ */
+class TMsgAddressControlEditorFieldFactory : public MTextFieldFactory
+{
+
+public:
+
+ /**
+ * Constructor.
+ */
+ TMsgAddressControlEditorFieldFactory();
+
+ /**
+ * Destructor.
+ */
+ virtual ~TMsgAddressControlEditorFieldFactory();
+
+public: // from MTextFieldFactory
+
+ /**
+ *
+ * @param aFieldType
+ * @return
+ */
+ CTextField* NewFieldL(TUid aFieldType);
+
+private:
+
+ /**
+ * Copy constructor (not available).
+ */
+ TMsgAddressControlEditorFieldFactory(const TMsgAddressControlEditorFieldFactory& aSource);
+
+ /**
+ * Assignment operator (not available).
+ */
+ const TMsgAddressControlEditorFieldFactory& operator=(const TMsgAddressControlEditorFieldFactory& aSource);
+
+};
+
+#endif
+
+// End of File