textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmultirowrollwithicon.h
changeset 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmultirowrollwithicon.h	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2009 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:
+*
+*/
+#ifndef C_CLISTMULTIROWROLLWITHICON_H
+#define C_CLISTMULTIROWROLLWITHICON_H
+
+#include "peninputlistmultirowwithicon.h"
+
+// forward declaration
+class MFepCtrlDropdownListContext;
+
+NONSHARABLE_CLASS(CListMultiRowRollWithIcon) : public CListMultiRowWithIcon
+    {
+public: // Methods
+
+    static CListMultiRowRollWithIcon* NewL(CListManager* aManager, 
+                                           MFepCtrlDropdownListContext* iOwner);
+    
+    virtual ~CListMultiRowRollWithIcon();
+
+    // txin
+    virtual void HandlePointerDownL(const TPoint& aPoint);
+    // end
+
+    virtual void HandlePointerUpL(const TPoint& aPoint);
+
+    virtual void SetNextPageHighlightCellAfterOnePageL(const TInt aCellIndex);
+    
+    virtual void UpdateListL(TBool aDrawFlag = ETrue, TBool aRecalculate = ETrue);
+
+protected: // Methods
+
+    CListMultiRowRollWithIcon(CListManager* aManager, MFepCtrlDropdownListContext* aOwner);
+
+protected:
+
+    typedef struct TLineCandidateTag
+        {
+        TInt iStartIdx;
+        TInt iEndIdx;
+        } TLineCandidate;
+
+    TInt StartCandIdxOfLine(TInt aCandIndex);
+    
+    void ResetStatus();
+
+private:
+
+    virtual TInt CalculatePositionsL();
+    
+private: // Data member
+
+    // added by txin
+    RArray<TLineCandidate> iLines;
+    // end adding
+    };
+
+#endif // C_CLISTMULTIROWROLLWITHICON_H
\ No newline at end of file