phonebookui/Speeddial/VPbkControlInc/SpdiaIndexDataVPbk.h
changeset 0 e686773b3f54
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookui/Speeddial/VPbkControlInc/SpdiaIndexDataVPbk.h	Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,270 @@
+/*
+* 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:     Declares index data for SpdCtrl.
+*
+*/
+
+
+
+
+
+
+#ifndef SPDIAINDEXDATAVPBK_H
+#define SPDIAINDEXDATAVPBK_H
+
+// INCLUDES
+#include <e32std.h>
+
+#include <PhCltTypes.h>
+#include <TPbk2IconId.h>
+#include <MVPbkContactLink.h>
+#include <MVPbkStoreContact.h>
+#include <MVPbkContactOperationBase.h>
+
+
+// FORWARD DECLARATIONS
+class CGulIcon;
+class MPbk2ImageOperation;
+class MVPbkStoreContact;
+class MVPbkContactOperationBase;
+class MVPbkStoreContactField;
+
+// CLASS DECLARATION
+
+/**
+*  TSpdiaIndexDataVPbk application class.
+*
+*  @lib SpdCtrl.DLL
+*  @since 
+*/
+class TSpdiaIndexDataVPbk
+    {
+
+    public:     // Constructors and destructor
+        /**
+        * C++ default constructor.
+        */
+        TSpdiaIndexDataVPbk();
+        
+    public:     // New function
+    
+        /**
+        * Sets a SpeedDial list box index.
+        *
+        * @param aIndex : SpeedDial list box index
+        */
+        inline void SetIndex(TInt aIndex);
+
+        /**
+        * Returns SpeedDial list box index.
+        */
+        inline TInt Index() const;
+
+        /**
+        * Sets a SpeedDial list box index.
+        *
+        * @param aIndex : SpeedDial list box index
+        */
+        inline void SetNumber(TInt aNumber);
+
+        /**
+        * Return SpeedDial list box index.
+        */
+        inline TInt Number() const;
+
+        /**
+        * Sets a link file name.
+        *
+        * @param aFileName      a link file name
+        */
+        inline void SetPhoneNumber(const TDesC& aPoneNumber);
+
+        /**
+        * Returns Link Phone number.
+        */
+        inline const TDesC& PhoneNumber() const;
+
+        /**
+        * Returns Link Telphone number(remove invalid chars).
+        */
+        inline const TDesC& TelNumber() const;
+
+
+        /**
+        * Sets a icon index number
+        * A flag is stood, when SpeedDial data is compared
+        * with a directory entry and there is an addition.
+        *
+        * @param aFlag      Update flag
+        */
+
+        inline void SetIconIndex(TInt aIndex);
+        /**
+        * Returns icon index number
+        */
+        inline TInt IconIndex() const;
+                
+        /**
+        * Sets a thumb index number
+        * A flag is stood, when SpeedDial data is compared
+        * with a directory entry and there is an addition.
+        *
+        * @param aIndex     a index of control data
+        * @param aBitmap
+        */
+        inline void SetThumbIndex(TInt aIndex, const CFbsBitmap* aBitmap);
+
+       /**
+        * Returns thumbnail index number.
+        */
+        inline TInt ThumbIndex() const;
+
+       /**
+        * Reset thumbnail index data
+        */
+        inline void ResetThumbIndex();
+
+        /**
+        * Returns thumbnail Size
+        */
+        inline TSize ThumbSize() const;
+
+
+        /**
+        * Returns Operation
+        */
+        inline MPbk2ImageOperation* ImageOperation();
+        
+        
+
+        /**
+        * Sets operation
+        */
+        inline void SetImageOperation(MPbk2ImageOperation* aOperation);
+        
+        /**
+        * ETrue is returned if it is the last thumbnail
+        */
+        inline TBool LastThumb();
+
+        /**
+        * Sets last Thumbnail flag
+        */
+        inline void SetLastThumb(TBool aLast);
+
+
+        
+        /**
+        * Gets icon id.
+        */
+        inline TPbk2IconId IconId();
+        
+        inline void SetIconId(TPbk2IconId& aId);
+         
+        /**
+        * Sets a SpeedDial Field.
+        *
+        * @param aContactField     SpeedDial ContactField
+        */
+        inline void SetContactLink(const MVPbkContactLink* aContactLink);
+        /**
+        * Returns field id.
+        */
+        inline MVPbkStoreContactField* Field() const;
+        
+        /**
+        * Store the contact
+        */
+        inline void SetContact(MVPbkStoreContact* aContact);
+        
+        /**
+        * Retrieve the contact
+        */        
+        inline MVPbkStoreContact* Contact() const;
+        
+        void Reset();
+        
+
+        enum TDataIndex
+            {
+            EIndex,
+            ENumber,
+            EContact,
+            EPhoneNumber,
+            ETelNumber,
+            EContactField,
+            EOperationInfo,
+            ELastThumb
+            };
+            
+        enum TOperation
+        {
+        	OPERATION_NONE = 0,
+        	OPERATION_RETRIEVE,
+        	OPERATION_ASSIGN,
+        	OPERATION_REMOVE,
+        	OPERATION_ASSIGN_CONTACT
+        };  
+          
+        struct TOperationInfo
+        {
+        	MVPbkContactOperationBase* iContactOperation;
+        	TOperation iOperation; 
+        	TOperationInfo(); 	       	
+        };
+        
+        // Modify these to have more than one operation info..
+        /**
+        * Sets operation			
+        */
+        inline void SetOperation(MVPbkContactOperationBase* aContactOperation,TOperation aOperation);
+        
+        inline TBool HasOperation(MVPbkContactOperationBase* aContactOperation);
+        
+        inline TOperation Operation();
+
+
+        /**
+        * Returns offset address of member data 
+        */
+        static TInt OffsetValue(TDataIndex aIndex);
+
+    private:    // Data
+        TInt iIndex;
+        TInt iNumber;
+
+        TPhCltTelephoneNumber iPhoneNumber;
+        TPhCltTelephoneNumber iTelNumber;
+        TInt iIconIndex;
+        TInt iThumbIndex;
+        TSize iThumbSize;
+        
+        const MVPbkContactLink* iContactLink;
+        MVPbkStoreContact* iContact;
+        
+        MPbk2ImageOperation* iImageOperation;
+        
+        TOperationInfo iOperationInfo;
+        
+        TBool iLastThumb;
+        TInt iFieldId;
+        TPbk2IconId iIconId;
+       };
+
+    #include "SpdiaIndexDataVPbk.inl"
+
+#endif // SPDIAINDEXDATA_H
+
+// End of File
+