--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uiservicetab/vimpstdetailsviewplugin/inc/cvimpstfieldproperty.h Wed Sep 01 12:33:36 2010 +0100
@@ -0,0 +1,148 @@
+/*
+* Copyright (c) 2008 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: a single field with property
+ *
+*/
+
+
+#ifndef CVIMPSTFIELDPROPERTY_H
+#define CVIMPSTFIELDPROPERTY_H
+
+// INCLUDE FILES
+#include <e32base.h>
+
+// FORWARD DECLARATIONS
+class TResourceReader;
+class MVPbkFieldTypeList;
+class CVIMPSTFieldPropertyArray;
+class MVPbkStoreContactField;
+class MVPbkFieldType;
+class MVPbkBaseContactField;
+
+//class MVPbkContactFieldData;
+/**
+ * details view field property.
+ * Field property for a im details field type.
+ * Field property contains data for contact field presentation
+ * in the UI.
+ * @since s60 v5.0
+ */
+class CVIMPSTFieldProperty : public CBase
+ {
+ friend class CVIMPSTFieldPropertyArray;
+
+ public: // Construction and destruction
+
+ /**
+ * Creates a new instance of this class.
+ *
+ * @param aFieldId field id
+ * @param aIconId icon id
+ * @param aMaxLength max lable length
+ * @param aDefaultLabel default label
+ * @return A new instance of this class.
+ * @since s60 v5.0
+ */
+ static CVIMPSTFieldProperty* NewLC(TInt aFieldId, TInt aIconId, TInt aMaxLength, const TDesC& aDefaultLabel );
+
+ /**
+ * Destructor.
+ * @since s60 v5.0
+ */
+ ~CVIMPSTFieldProperty();
+
+ public: // Interface
+
+
+ /**
+ * set the MVPbkStoreContactField
+ * @param aField, to set
+ * @since s60 v5.0
+ */
+ void SetStoredFieldL(MVPbkStoreContactField& aField ) ;
+
+ public: // From MPbk2FieldProperty
+
+
+ /**
+ * @return icon id
+ * @since s60 v5.0
+ */
+ TInt IconId() ;
+
+ /**
+ * @return default label if exist other wise field label
+ * @since s60 v5.0
+ */
+ const TDesC& DefaultLabelL() ;
+
+ /**
+ * @return field id
+ * @since s60 v5.0
+ */
+ TInt FieldId() ;
+
+ /**
+ * @return field data
+ * @since s60 v5.0
+ */
+ const TDesC& FieldDataL();
+
+ /**
+ * Set the field data
+ * @param aText, to set
+ * @since s60 v5.0
+ */
+ void SetFieldTextL(const TDesC& aText );
+
+ private: // Implementation
+ /**
+ * default constructor
+ * @param aFieldId field id
+ * @param aIconId icon id
+ * @param aMaxLength max lable length
+ * @param aDefaultLabel default label
+ * @since s60 v5.0
+ */
+ CVIMPSTFieldProperty(TInt aFieldId, TInt aIconId, TInt aMaxLength );
+
+ /**
+ * provide two phase contructions
+ * @param aReader Resource reader pointed to a
+ * VIMPST_FIELD_PROPERTY
+ * structure.
+ * @param aSupportedFieldTypeList List of supported field types.
+ * @since s60 v5.0
+ */
+ void ConstructL(const TDesC& aDefaultLabel);
+
+ private: // Data
+ // owns : field id
+ TInt iFieldId;
+ /// Own: Index of an icon
+ TInt iIconId; // STRUCT iconId
+ // owns : max lable length
+ TInt iMaxLength;
+ // Own: Default label for the field
+ HBufC* iDefaultLabel; // LTEXT defaultLabel
+ // owns : virtual pbk field
+ MVPbkStoreContactField* iField;
+ /// Own: field data
+ HBufC* iFieldData;
+
+ };
+
+#endif // CVIMPSTFIELDPROPERTY_H
+
+// End of File