textinput/peninputcommonctrls/src/peninputdropdownlist/peninputdropdownlist.cpp
changeset 40 2cb9bae34d17
parent 31 f1bdd6b078d1
child 49 37f5d84451bd
--- a/textinput/peninputcommonctrls/src/peninputdropdownlist/peninputdropdownlist.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2292 +0,0 @@
-/*
-* Copyright (c) 2002-2005 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:  drop-down list control
-*
-*/
-
-
-// INCLUDE FILES
-
-
-#include "peninputlistmanager.h"
-#include "peninputbitmapdb.h"
-#include "peninputcandidate.h"
-#include "peninputpages.h"
-#include "peninputlayoutbubblectrl.h"
-
-// added by txin
-//#include "peninputlistmultirowrollwithicon.h"
-// end
-#include "peninputlist.h"
-#include <peninputlayoutrootctrl.h>
-#include <peninputlayoutbasecontrol.h>
-#include <peninputlayout.h>
-#include <peninputdropdownlist.h>
-#include <coemain.h>
-#include <AknUtils.h>
-
-// constant definition
-const TInt32 KInvalidResId = -1;
-
-// added by txin
-const TInt KInvalidCandIndex = -1;
-// end adding
-
-const TInt KPreviewBubbleOffset = 20;
-
-// ======== MEMBER FUNCTIONS ========
-
-// Implementation of Class CFepCtrlDropdownList 
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::NewL
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CFepCtrlDropdownList* CFepCtrlDropdownList::NewL( const TPoint& aTopLeftPoint,
-                                                           CFepUiLayout* aUiLayout,
-                                                           TInt aControlId,
-                                                           TResourceReader& aReader,
-                                                           const TInt aCellWidth,
-                                                           const TInt aCellHeight,
-                                                           const TInt aNaviWidth,
-                                                           const TInt aColNum,
-                                                           const TInt aRowNum,
-                                                           const CFont* aFont,
-                                                           MListEventHandler* aHandler,
-                                                           const CGraphicsContext::TTextAlign aAlignment,
-                                                           const TInt aTextMargin,
-                                                           const TRgb aBorderColor,
-                                                           const TRgb aBgColor,
-                                                           const TRgb aNavigationBgColor,
-                                                           const TRgb aTextColor,
-                                                           const TRgb aSpecialTextColor,
-                                                           const TRgb aHighLightTextColor,
-                                                           const TRgb aHighLightBgColor,
-                                                           const TRgb aButtonDownBgColor )
-    {
-    CFepCtrlDropdownList* self = NewLC(aTopLeftPoint,
-                                       aUiLayout,
-                                       aControlId,
-                                       aReader,
-                                       aCellWidth,
-                                       aCellHeight,
-                                       aNaviWidth,
-                                       aColNum,
-                                       aRowNum,
-                                       aFont,
-                                       aHandler,
-                                       aAlignment,
-                                       aTextMargin,                                       
-                                       aBorderColor,
-                                       aBgColor,
-                                       aNavigationBgColor,
-                                       aTextColor,
-                                       aSpecialTextColor,
-                                       aHighLightTextColor,
-                                       aHighLightBgColor,
-                                       aButtonDownBgColor);
-    CleanupStack::Pop();
-    return self;  
-    } 
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::NewLC
-// factory function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-
-EXPORT_C CFepCtrlDropdownList* CFepCtrlDropdownList::NewLC(const TPoint& aTopLeftPoint,
-                                                           CFepUiLayout* aUiLayout,
-                                                           TInt aControlId,
-                                                           TResourceReader& aReader,
-                                                           const TInt aCellWidth,
-                                                           const TInt aCellHeight,
-                                                           const TInt aNaviWidth,
-                                                           const TInt aColNum,
-                                                           const TInt aRowNum,
-                                                           const CFont* aFont,
-                                                           MListEventHandler* aHandler,
-                                                     const CGraphicsContext::TTextAlign aAlignment,
-                                                           const TInt aTextMargin,
-                                                           const TRgb aBorderColor,
-                                                           const TRgb aBgColor,
-                                                           const TRgb aNavigationBgColor,
-                                                           const TRgb aTextColor,
-                                                           const TRgb aSpecialTextColor,
-                                                           const TRgb aHighLightTextColor,
-                                                           const TRgb aHighLightBgColor,
-                                                           const TRgb aButtonDownBgColor)
-    {
-    CFepCtrlDropdownList* self = new (ELeave) CFepCtrlDropdownList(aTopLeftPoint,
-                                                                  aUiLayout,
-                                                                  aControlId,
-                                                                  aCellWidth,
-                                                                  aCellHeight,
-                                                                  aNaviWidth,
-                                                                  aColNum,
-                                                                  aRowNum,
-                                                                  aFont,
-                                                                  aHandler,
-                                                                  aAlignment,
-                                                                  aTextMargin,
-                                                                  aBorderColor,
-                                                                  aBgColor,
-                                                                  aNavigationBgColor,
-                                                                  aTextColor,
-                                                                  aSpecialTextColor,
-                                                                  aHighLightTextColor,
-                                                                  aHighLightBgColor,
-                                                                  aButtonDownBgColor);
-    CleanupStack::PushL(self);
-    self->ConstructL(aTopLeftPoint,aReader);
-    return self;  
-    } 
-    
-// txin
-EXPORT_C CFepCtrlDropdownList* CFepCtrlDropdownList::NewL(CFepUiLayout* aUiLayout,
-                                                          TInt aControlId,
-                                                          TInt aResId,
-                                                          TPoint aTopLeftPoint,
-                                                          TSize aCellSize,
-                                                          TInt aColNum,
-                                                          TInt aRowNum)
-    {
-    CFepCtrlDropdownList* self = new (ELeave) CFepCtrlDropdownList(aUiLayout,
-                                                                   aControlId,
-                                                                   aTopLeftPoint,
-                                                                   aCellSize,
-                                                                   aColNum,
-                                                                   aRowNum);
-    CleanupStack::PushL(self);
-    self->ConstructL(aTopLeftPoint, aResId);
-    CleanupStack::Pop(self);
-    return self;
-    }
-    
-EXPORT_C CFepCtrlDropdownList* CFepCtrlDropdownList::NewL(CFepUiLayout* aUiLayout,
-                                                          TInt aControlId,
-                                                          TInt aResId,
-                                                          TPoint aTopLeftPoint,
-                                                          const CFont* aFont,
-                                                          TSize aCellSize,
-                                                          TInt aNaviWidth,
-                                                          TInt aColNum,
-                                                          TInt aRowNum,
-                                                          TInt aSpinBtnHeight,
-                                                          TInt aHorizontalCellMargin,
-                                                          TInt aVerticalCellMargin,
-                                                          THDirection aDirection,
-                                                          TBool aPageShown)
-    {
-    CFepCtrlDropdownList* self = new (ELeave) CFepCtrlDropdownList(aUiLayout,
-                                                                   aControlId,
-                                                                   aResId,
-                                                                   aTopLeftPoint,
-                                                                   aFont,
-                                                                   aCellSize,
-                                                                   aNaviWidth,
-                                                                   aColNum,
-                                                                   aRowNum,
-                                                                   aSpinBtnHeight,
-                                                                   aHorizontalCellMargin,
-                                                                   aVerticalCellMargin,
-                                                                   aDirection,
-                                                                   aPageShown);
-    CleanupStack::PushL(self);
-    self->ConstructL(aTopLeftPoint, aResId);
-    CleanupStack::Pop(self);
-    return self;
-    }
-    
-    
-// end
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::CFepCtrlDropdownList
-// construtor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-CFepCtrlDropdownList::CFepCtrlDropdownList(const TPoint& aTopLeftPoint,
-                                           CFepUiLayout* aUiLayout,
-                                           TInt aControlId,                           
-                                           const TInt aCellWidth,
-                                           const TInt aCellHeight,
-                                           const TInt aNaviWidth,                               
-                                           const TInt aColNum,
-                                           const TInt aRowNum,
-                                           const CFont* aFont,
-                                           MListEventHandler* aHandler,
-                                           const CGraphicsContext::TTextAlign aAlignment,
-                                           const TInt aTextMargin,
-                                           const TRgb aBorderColor,
-                                           const TRgb aBgColor,
-                                           const TRgb aNavigationBgColor,
-                                           const TRgb aTextColor,
-                                           const TRgb aSpecialTextColor,
-                                           const TRgb aHighLightTextColor,
-                                           const TRgb aHighLightBgColor,
-                                           const TRgb aButtonDownBgColor)
-    : CFepUiBaseCtrl(TRect(), aUiLayout, aControlId),
-    iEnableSecondary(EFalse),
-    iFirstCandidateIndex(0),
-    iLastCandidateIndex(0),
-    iFont(aFont), iCellWidth(aCellWidth), iCellHeight(aCellHeight), iNaviWidth(aNaviWidth),
-    iSpinBtnHeight(aCellHeight), 
-    iCellHorizontalMargin(0),
-    iCellVerticalMargin(0),
-    iOriginalCandIdx(KInvalidCandIndex),
-    iOriginalFirstCandIdx(KInvalidCandIndex),
-    iUpdateListReDraw(ETrue),
-    iAlignment(aAlignment), iTextMargin(aTextMargin), iColNum(aColNum), iRowNum(aRowNum), 
-    iBorderColor(aBorderColor), iBgColor(aBgColor), iNavigationBgColor(aNavigationBgColor),
-    iTextColor(aTextColor), iSpecialTextColor(aSpecialTextColor), 
-    iHighLightTextColor(aHighLightTextColor),
-    iHighLightBgColor(aHighLightBgColor), iButtonDownBgColor(aButtonDownBgColor), 
-    iTopLeftPoint(aTopLeftPoint), 
-    iEventIdForCandidateSelected(-1),
-    iEventIdForNextPageCandidate(-1),
-    iEventIdForPreviousPageCandidate(-1),
-    iEventIdForCandidateExisted(-1),
-    iListEventHandler(aHandler), iFirstTimeConstruct(ETrue), iListType(EListNoExpandable), 
-    iFuzzyBoundry(0),
-    iCandExpandType(ECandExpandDownward),
-    iCandHDirection(ECandFromLToR),
-    iPageCtrlShown(ETrue)
-    {
-    SetControlType(KDropDownListCtrlType);
-    }
-
-// txin
-CFepCtrlDropdownList::CFepCtrlDropdownList(CFepUiLayout* aUiLayout,
-                                           TInt aControlId,
-                                           TPoint aTopLeftPoint,
-                                           TSize aCellSize,
-                                           TInt aColNum,
-                                           TInt aRowNum)
-    : CFepUiBaseCtrl(TRect(), aUiLayout, aControlId),
-    iEnableSecondary(EFalse),
-    iFirstCandidateIndex(0),
-    iLastCandidateIndex(0),
-    iCellWidth(aCellSize.iWidth), iCellHeight(aCellSize.iHeight), iNaviWidth(iCellWidth),
-    iSpinBtnHeight(iCellHeight), 
-    iCellHorizontalMargin(0),
-    iCellVerticalMargin(0),
-    iOriginalCandIdx(KInvalidCandIndex),
-    iOriginalFirstCandIdx(KInvalidCandIndex),
-    iUpdateListReDraw(ETrue),
-    iAlignment(CGraphicsContext::ECenter), iTextMargin(3), iColNum(aColNum), iRowNum(aRowNum), 
-    iBorderColor(KRgbBlack), iBgColor(TRgb(0xeeeeee)), iNavigationBgColor(TRgb(0xeeeeee)),
-    iTextColor(KRgbBlack), iSpecialTextColor(KRgbBlack), iHighLightTextColor(KRgbBlack),
-    iHighLightBgColor(TRgb(0xcccccc)), iButtonDownBgColor(KRgbGray), iTopLeftPoint(aTopLeftPoint), 
-    iEventIdForCandidateSelected(-1),
-    iEventIdForNextPageCandidate(-1),
-    iEventIdForPreviousPageCandidate(-1),
-    iEventIdForCandidateExisted(-1),
-    iFirstTimeConstruct(ETrue), iListType(EListNoExpandable), 
-    iFuzzyBoundry(0),
-    iCandExpandType(ECandExpandDownward),
-    iCandHDirection(ECandFromLToR),
-    iPageCtrlShown(ETrue)
-    {
-    SetControlType(KDropDownListCtrlType);
-    }
-
-CFepCtrlDropdownList::CFepCtrlDropdownList(CFepUiLayout* aUiLayout,
-                         TInt aControlId,
-                         TInt /*aResId*/,
-                         TPoint aTopLeftPoint,
-                         const CFont* /*aFont*/,
-                         TSize aCellSize,
-                         TInt aNaviWidth,
-                         TInt aColNum,
-                         TInt aRowNum,
-                         TInt aSpinBtnHeight,
-                         TInt aHorizontalCellMargin,
-                         TInt aVerticalCellMargin,
-                                               THDirection aDirection,
-                                               TBool aPageShown)
-    : CFepUiBaseCtrl(TRect(), aUiLayout, aControlId),
-    iEnableSecondary(EFalse),
-    iFirstCandidateIndex(0),
-    iLastCandidateIndex(0),
-    iCellWidth(aCellSize.iWidth), iCellHeight(aCellSize.iHeight), iNaviWidth(aNaviWidth),
-    iSpinBtnHeight(aSpinBtnHeight), 
-    iCellHorizontalMargin(aHorizontalCellMargin),
-    iCellVerticalMargin(aVerticalCellMargin),
-    iOriginalCandIdx(KInvalidCandIndex),
-    iOriginalFirstCandIdx(KInvalidCandIndex),
-    iUpdateListReDraw(ETrue),
-    iAlignment(CGraphicsContext::ECenter), iTextMargin(3), iColNum(aColNum), iRowNum(aRowNum), 
-    iBorderColor(KRgbBlack), iBgColor(TRgb(0xeeeeee)), iNavigationBgColor(TRgb(0xeeeeee)),
-    iTextColor(KRgbBlack), iSpecialTextColor(KRgbBlack), iHighLightTextColor(KRgbBlack),
-    iHighLightBgColor(TRgb(0xcccccc)), iButtonDownBgColor(KRgbGray), iTopLeftPoint(aTopLeftPoint), 
-    iEventIdForCandidateSelected(-1),
-    iEventIdForNextPageCandidate(-1),
-    iEventIdForPreviousPageCandidate(-1),
-    iEventIdForCandidateExisted(-1),
-    iFirstTimeConstruct(ETrue), iListType(EListNoExpandable), 
-    iFuzzyBoundry(0),
-    iCandExpandType(ECandExpandDownward),
-    iCandHDirection(aDirection),
-    iPageCtrlShown(aPageShown)
-    {
-    SetControlType(KDropDownListCtrlType);
-    }
-
-// end
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ConstructL
-// 2nd construct function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::ConstructL(const TPoint& aTopLeftPoint, TResourceReader& aReader)
-    {
-    BaseConstructL();
-
-    iBitmapDb = CBitmapDb::NewL(aReader, 
-                                TSize(iCellWidth, iCellHeight),
-                                TSize(iNaviWidth, iCellHeight),
-                                TSize(iNaviWidth, iSpinBtnHeight));
-
-    SetTextColor(iBitmapDb->TextColor());
-    SetBorderColor(iBitmapDb->FrameColor());
-    iFirstTimeConstruct = EFalse;
-
-    iPages = CPages::NewL();
-
-    iListManager = CListManager::NewL(this);
-
-    iListManager->SetActiveList(iListManager->ListOneRowWithoutIcon());
-
-    SetRect( iListManager->ActiveList()->Rect() );
-
-    const TSize& size = Rect().Size();
-    TRect rect(aTopLeftPoint,size);
-    SetRect(rect);
-    }
-    
-// txin
-void CFepCtrlDropdownList::ConstructL(TPoint aTopLeftPoint, TInt aResId)
-    {
-    SetResourceId(aResId);
-
-    TResourceReader reader;
-    CCoeEnv::Static()->CreateResourceReaderLC(reader, aResId);
-    ConstructL(aTopLeftPoint, reader);
-    CleanupStack::PopAndDestroy(); // reader
-    }
-// end    
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::~CFepCtrlDropdownList
-// destructor function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C CFepCtrlDropdownList::~CFepCtrlDropdownList()
-    {
-    delete iBubbleCtrl;
-    
-    // destroy list objects
-    delete iListManager;
-
-    // Delete bitmapDb
-    delete iBitmapDb;
-    
-    // Delete pages
-    delete iPages;
-    
-    // Delete all candidate
-    iCandidatelist.ResetAndDestroy();
-    
-    // Clear and close iSecondaryList
-    iSecondaryList.Close();   
-
-    // Clear and close iHighlightList
-    iHighlightList.Close();       
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SizeChanged
-// size change function
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C void CFepCtrlDropdownList::SizeChanged(const TInt aCellWidth,
-                                                 const TInt aCellHeight,
-                                                 const TInt aNaviWidth,
-                                                 const TPoint aTopLeftPoint,
-                                                 const TInt aColNum,
-                                                 const TInt aRowNum)
-    {
-    iCellWidth = aCellWidth; 
-    iCellHeight = aCellHeight; 
-    iNaviWidth = aNaviWidth;
-    iSpinBtnHeight = aCellHeight;
-    
-    iBitmapDb->SizeChanged(TSize(aNaviWidth, aCellHeight));
-    
-    if ( aTopLeftPoint != TPoint(0,0) )
-        {
-        iTopLeftPoint = aTopLeftPoint;        
-        }
-    
-    if ( aColNum )
-        iColNum = aColNum;
-    if ( aRowNum )
-        iRowNum = aRowNum;  
-    
-    iListManager->SizeChanged();
-    
-	switch ( iListType )
-		{
-		case EListNoExpandable:
-	        ChangeActiveList( iListManager->ListOneRowWithoutIcon() );
-			break;
-		case EListNoExpandableWithBubble:
-	        {
-	        ChangeActiveList(iListManager->ListOneRowWithoutIconWithBubble());
-	        }
-		    break;
-		case EListExpandable:
-		case EListExpandableWithoutIcon:
-            {
-            ChangeActiveList(iListManager->ListOneRowWithIcon());
-            }
-            break;
-		case EListExpandableWithBubble:
-		    {
-		    ChangeActiveList(iListManager->ListOneRowWithIconWithBubble());
-            }
-            break;
-		// txin
-		case EListExpandableRollWithIcon:
-            {
-            TInt onerowCandIdx = OneRowStartCandIdx();
-
-            if (onerowCandIdx != KInvalidCandIndex)
-                {
-                ChangeActiveList(iListManager->ListOneRowRollWithIcon(), onerowCandIdx);
-                return;
-                }
-
-            ChangeActiveList(iListManager->ListOneRowRollWithIcon());
-            }
-	        break;
-		case EListExpandableRollWithIconWithBubble:
-            {
-            TInt onerowCandIdx = OneRowStartCandIdx();
-
-            if (onerowCandIdx != KInvalidCandIndex)
-                {
-                ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble(), onerowCandIdx);
-                return;
-                }
-
-            ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble());
-            }
-	        break;
-	        
-        case EListExpandableMultiRowWithoutIcon:
-            {
-            ChangeActiveList(iListManager->ListExpandableMultiRowWithoutIcon());
-            }
-            break;            
-	    default:
-	    	__ASSERT_DEBUG( EFalse, 
-	    			User::Panic( _L("TListType Error::SizeChanged()"), 0 ) );
-	    	break;
-		}
-    }
-
-// ---------------------------------------------------------------------------
-// CFepUiBaseCtrl::HandlePointerDownEventL
-// Handle pointer down event
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//      
-EXPORT_C CFepUiBaseCtrl* CFepCtrlDropdownList::HandlePointerDownEventL(const TPoint& aPoint)
-    {
-    CFepUiBaseCtrl::HandlePointerDownEventL(aPoint);
-    
-    iListManager->ActiveList()->HandlePointerDownL(aPoint);
-    
-    return this;
-    }
-
-// ---------------------------------------------------------------------------
-// CFepUiBaseCtrl::HandlePointerUpEventL
-// Handle pointer up event
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C CFepUiBaseCtrl*  CFepCtrlDropdownList::HandlePointerUpEventL(const TPoint& aPoint)
-    {
-    CFepUiBaseCtrl::HandlePointerUpEventL(aPoint);
-    
-    iListManager->ActiveList()->HandlePointerUpL(aPoint);
-    
-    return this;
-    }
-
-// ---------------------------------------------------------------------------
-// CFepUiBaseCtrl::HandlePointerMoveEventL
-// Handle pointer move event
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CFepUiBaseCtrl* CFepCtrlDropdownList::HandlePointerMoveEventL(const TPoint& aPoint)
-    {
-    
-    if(!PointerDown())
-        {
-        return NULL;
-        }
-    
-    iListManager->ActiveList()->HandlePointerDragL(aPoint);
-    
-    return this;
-    }
-
-EXPORT_C void CFepCtrlDropdownList::HandlePointerLeave(const TPoint& aPoint)
-    {
-    CFepUiBaseCtrl::HandlePointerLeave(aPoint);
-    if(!Hiden())
-        iListManager->ActiveList()->HandlePointerLeave(aPoint);
-    ClearBubble();
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::AddCandidatesL
-// Add candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C void CFepCtrlDropdownList::AddCandidatesL(const RPointerArray<HBufC>& aCandidates,
-                                                   const TListType /*aListType*/)
-    {
-    // add new candidates
-    for (TInt i = iCandidatelist.Count(); i < aCandidates.Count(); i++)
-        {
-        CCandidate* candidate = CCandidate::NewL(*aCandidates[i], this);
-
-        if (iCandidatelist.Append(candidate) != KErrNone)
-            {
-            delete candidate;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetCandidatesL
-// Set candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C void CFepCtrlDropdownList::SetCandidatesL(const RPointerArray<HBufC>& aCandidates, 
-                                                   const TListType aListType,
-                                                   const TDesC& aFixedText)
-    {
-    //clear last candidates which had been set    
-    iCandidatelist.ResetAndDestroy();
-    
-	iListManager->ResetStatus();        
-	
-    iHighlightList.Reset();
-    
-    iFixedText.Zero();
-    iFixedText.Append(aFixedText);
-    
-    iFirstCandidateIndex = 0;
-    iLastCandidateIndex = 0;
-    // create or add new ones
-    for( TInt i=0; i < aCandidates.Count(); i++ )
-        {
-        // CCandidate is s.c. self-containing class
-        CCandidate* candidate = CCandidate::NewL(*aCandidates[i], this);
-        // referring to memory object
-        iCandidatelist.Append(candidate);
-        }
-    
-	iListType = aListType;
-
-	switch ( aListType )
-		{
-		case EListNoExpandable:
-		    {
-		    ChangeActiveList( iListManager->ListOneRowWithoutIcon() );
-		    }
-			break;
-		case EListNoExpandableWithBubble:
-		    {
-		    ChangeActiveList( iListManager->ListOneRowWithoutIconWithBubble() );
-		    }
-			break;
-		case EListExpandable:
-		case EListExpandableWithoutIcon:
-		    {
-		    ChangeActiveList(iListManager->ListOneRowWithIcon());
-		    }
-		    break;
-		case EListExpandableWithBubble:
-		    {
-		    ChangeActiveList(iListManager->ListOneRowWithIconWithBubble());
-		    }
-		    break;
-		    
-		// txin
-		case EListExpandableRollWithIcon:
-		    {
-            SetOneRowStartCandIdx(KInvalidCandIndex);
-            SetOriginalFirstCandIdx(KInvalidCandIndex);
-
-            ChangeActiveList(iListManager->ListOneRowRollWithIcon());
-		    }
-	        break;
-		case EListExpandableRollWithIconWithBubble:
-		    {
-            SetOneRowStartCandIdx(KInvalidCandIndex);
-            SetOriginalFirstCandIdx(KInvalidCandIndex);
-
-            ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble());
-		    }
-	        break;
-	        
-		case EListExpandableMultiRowWithoutIcon:
-		    {
-            ChangeActiveList( iListManager->ListExpandableMultiRowWithoutIcon() );
-		    }
-            break;        
-	    default:
-	    	__ASSERT_DEBUG( EFalse, 
-	    			User::Panic( _L("TListType Error::SetCandidatesL()"), 0 ) );
-	    	break;
-		}
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::Move
-// when the control is moved, the function will be called
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::Move(const TPoint& aOffset)
-    {
-    ClearRect(Rect());
-    Invalidate(Rect(),ETrue);    
-    iListManager->Move(aOffset);
-    SetRect(iListManager->ActiveList()->Rect());
-    iListManager->ActiveList()->Draw();
-    Invalidate(iListManager->ActiveList()->Rect());
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::OnDeActivate
-// when the control is hide, the function will be called
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::OnDeActivate()
-    {
-	iListManager->ResetStatus();
-    }
-
-// ---------------------------------------------------------------------------
-// Hide or show dropdown list.
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CFepCtrlDropdownList::Hide( TBool aFlag )
-    {
-    ClearBubble();
-    CFepUiBaseCtrl::Hide( aFlag );
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::FoldList
-// fold the drop down list control
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::FoldList()
-    {
-    if ((iListManager->ActiveList() == iListManager->ListMultiRowWithIcon()) 
-    	|| (iListManager->ActiveList() == iListManager->ListMultiRowWithoutIcon()))
-        {
-        ChangeActiveList(iListManager->ListOneRowWithIcon(), iFirstCandidateIndex);            
-        }
-    // added by txin    
-    else if (iListManager->ActiveList() == iListManager->ListMultiRowRollWithIcon())
-        {
-        TInt onerowCandIdx = OneRowStartCandIdx();
-
-        if (onerowCandIdx != KInvalidCandIndex)
-            {
-            ChangeActiveList(iListManager->ListOneRowRollWithIcon(), onerowCandIdx);
-            return;
-            }
-
-        ChangeActiveList(iListManager->ListOneRowRollWithIcon(), iFirstCandidateIndex);
-        }
-    else if (iListManager->ActiveList() == iListManager->ListMultiRowRollWithIconWithBubble())
-        {
-        TInt onerowCandIdx = OneRowStartCandIdx();
-
-        if (onerowCandIdx != KInvalidCandIndex)
-            {
-            ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble(), onerowCandIdx);
-            return;
-            }
-
-        ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble(), iFirstCandidateIndex);
-        }
-    else if(iListManager->ActiveList() == iListManager->ListMultiRowWithIconWithBubble())
-        {
-        ChangeActiveList(iListManager->ListOneRowWithIconWithBubble(), iFirstCandidateIndex);
-        }
-    // end    
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ResetAndClear
-// reset and clear and redraw the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//        
-EXPORT_C void CFepCtrlDropdownList::ResetAndClear(const TListType aListType)
-    {
-    //clear last candidates which had been set
-    iCandidatelist.ResetAndDestroy();
-    
-    iFixedText.Zero();
-   
-    iFirstCandidateIndex = 0;
-    iLastCandidateIndex = 0;
-    
-	switch ( aListType )
-		{
-		case EListNoExpandable:
-	        ChangeActiveList( iListManager->ListOneRowWithoutIcon() );
-			break;
-		case EListNoExpandableWithBubble:
-	        ChangeActiveList( iListManager->ListOneRowWithoutIconWithBubble() );
-			break;
-			
-		case EListExpandable:
-		case EListExpandableWithoutIcon:
-			{
-		    ChangeActiveList(iListManager->ListOneRowWithIcon());
-		    NotifyClosePage();
-			}
-		    break;
-		case EListExpandableWithBubble:
-			{
-		    ChangeActiveList(iListManager->ListOneRowWithIconWithBubble());
-		    NotifyClosePage();
-			}
-		    break;
-		    
-		// txin
-		case EListExpandableRollWithIcon:
-		    {
-		    ChangeActiveList(iListManager->ListOneRowRollWithIcon());
-		    NotifyClosePage();
-		    }
-	        break;
-		// end
-		case EListExpandableRollWithIconWithBubble:
-		    {
-		    ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble());
-		    NotifyClosePage();
-		    }
-	        break;
-		case EListExpandableMultiRowWithoutIcon:
-		    {
-            ChangeActiveList(iListManager->ListExpandableMultiRowWithoutIcon());
-            NotifyClosePage();		    
-		    }
-		    break;
-	    default:
-	    	__ASSERT_DEBUG( EFalse, 
-	    			User::Panic( _L("TListType Error::ResetAndClear()"), 0 ) );
-	    	break;
-		}
-    }
-
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::HandleEvent
-// when there is out event coming, the function will be called
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::HandleControlEvent(TInt aEventType, 
-                                                       CFepUiBaseCtrl* aCtrl, 
-                                                       const TDesC& aEventData)
-    {
-    if ( iListEventHandler )
-        {
-        iListEventHandler->HandleListOuterEvent(aEventType, aCtrl, aEventData);        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::Draw
-// draw the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::Draw()
-    {   
-	if(!AbleToDraw())
-        return;
-    
-    if (!iFirstTimeConstruct)
-    	{
-        // if construct is not finished, then no need to draw
-///DrawOpaqueMaskBackground();
-        
-        //ActivateBitmapContext();
-        
-  	    iListManager->ActiveList()->Draw();
-  	    Invalidate(iListManager->ActiveList()->Rect());
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetHighlightCell
-// set or unset the high light effect for the cell
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetHighlightCell(const TInt aCellIndex, 
-                                                     TBool aHighlight, 
-                                                     const TBool aIsDraw)
-    {
-    if (aHighlight)
-        {
-
-        iHighlightList.Reset();
-
-        iHighlightList.Append(aCellIndex);
-        
-        if ((iListType == EListExpandableRollWithIcon ||
-            iListType == EListExpandableRollWithIconWithBubble) && 
-            (aCellIndex == GetFirstCandidateIndex()))
-            {
-            SetOneRowStartCandIdx(GetFirstCandidateIndex());
-            }
-        }
-    else
-        {
-        TInt index = iHighlightList.Find(aCellIndex);
-        
-        if ( index != KErrNotFound )
-            {
-            iHighlightList.Remove(index);            
-            }
-        }
-        
-    if( aIsDraw )
-        {
-        iListManager->ActiveList()->SetHighlightCell(aCellIndex, aHighlight, EFalse);
-        
-        Draw();
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::Rect
-// get the rect of the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C const TRect& CFepCtrlDropdownList::Rect()
-    {
-    return iListManager->ActiveList()->Rect();
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetEventIdForCandidateSelected
-// set event id when candidate is selected
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetEventIdForCandidateSelected(TInt aEventId)
-    {
-    iEventIdForCandidateSelected = aEventId;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetEventIdForNextPageCandidate
-// set event id when need get next page candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetEventIdForNextPageCandidate(TInt aEventId)
-    {
-	  iEventIdForNextPageCandidate = aEventId;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetEventIdForPreviousPageCandidate
-// set event id when need get previous page candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetEventIdForPreviousPageCandidate(TInt aEventId)
-    {
-	  iEventIdForPreviousPageCandidate = aEventId;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetEventIdForCandidateExisted
-// set event id when need judge if candidate exist
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetEventIdForCandidateExisted(TInt aEventId)
-    {
-    iEventIdForCandidateExisted = aEventId;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetTopLeftPoint
-// set top left point of the list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetTopLeftPoint(const TPoint aTopLeftPoint)
-    {
-    SizeChanged(iCellWidth, iCellHeight, iNaviWidth, aTopLeftPoint);
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetCellWidth
-// set cell width
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetCellWidth(const TInt aCellWidth)
-    {
-    SizeChanged(aCellWidth, iCellHeight, iNaviWidth);
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetCellHeight
-// set cell height
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetCellHeight(const TInt aCellHeight)
-    {
-    SizeChanged(iCellWidth, aCellHeight, iNaviWidth);
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetNaviWidth
-// set navigation width
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetNaviWidth(const TInt aNaviWidth)      
-    {
-    SizeChanged(iCellWidth, iCellHeight, aNaviWidth);    
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetColNum
-// set columns number
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetColNum(const TInt aColNum)
-    {
-    SizeChanged(iCellWidth, iCellHeight, iNaviWidth, iTopLeftPoint, aColNum);
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetRowNum
-// Set rows number
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetRowNum(const TInt aRowNum)
-    {
-    SizeChanged(iCellWidth, iCellHeight, iNaviWidth, iTopLeftPoint, iColNum, aRowNum);    
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetBorderColor
-// Set border color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetBorderColor(TRgb aBorderColor, TBool aReDraw)
-    {
-    iBorderColor = aBorderColor;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetBgColor
-// Set background color for the whole DDl (drop down list)
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetBgColor(TRgb aBgColor, TBool aReDraw)
-    {
-    iBgColor = aBgColor;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }    
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetNavigationBgColor
-// set background color for navigation area
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetNavigationBgColor(TRgb aNavigationBgColor, TBool aReDraw)
-    {
-    iNavigationBgColor = aNavigationBgColor;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetTextColor
-// set text color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetTextColor(TRgb aTextColor, TBool aReDraw)
-    {
-    iTextColor = aTextColor;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetSpecialTextColor
-// set special text color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetSpecialTextColor(TRgb aSpecialTextColor, TBool aReDraw)
-    {
-    iSpecialTextColor = aSpecialTextColor;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetHighLightTextColor
-// set text color for highlight
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetHighLightTextColor(TRgb aHighLightTextColor, TBool aReDraw)
-    {
-    iHighLightTextColor = aHighLightTextColor;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetHighLightBgColor
-// set background color for highlight
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetHighLightBgColor(TRgb aHighLightBgColor, TBool aReDraw)
-    {
-    iHighLightBgColor = aHighLightBgColor;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetTextAlighment
-// set text alignment
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetTextAlighment(const CGraphicsContext::TTextAlign aAlignment,
-                                                     TBool aReDraw)
-    {
-    iAlignment = aAlignment;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetTextAlighment
-// set text alignment
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetTextMargin(const TInt aTextMargin, TBool aReDraw)
-    {
-    iTextMargin = aTextMargin;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetCellColor
-// set cell color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetSecondaryList(RArray<TInt>& aIndexList, TBool aReDraw)
-    {
-    iSecondaryList.Reset();
-    for (TInt i=0; i < aIndexList.Count(); i++)
-        {
-        iSecondaryList.Append(aIndexList[i]);
-        }
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetFont
-// set text font
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetFont(const CFont* aFont, TBool aReDraw)
-    {
-    iFont = aFont;
-    
-    if ( aReDraw )
-        {
-		switch ( iListType )
-			{
-			case EListNoExpandable:
-		        ChangeActiveList( iListManager->ListOneRowWithoutIcon() );
-				break;
-			case EListExpandable:
-			case EListExpandableWithoutIcon:
-			    ChangeActiveList(iListManager->ListOneRowWithIcon());
-			    break;
-			// txin
-			case EListExpandableRollWithIcon:
-		        ChangeActiveList(iListManager->ListOneRowRollWithIcon());
-		        break;
-			case EListExpandableRollWithIconWithBubble:
-			    ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble());
-			    break;
-			case EListExpandableMultiRowWithoutIcon:
-			    {
-                ChangeActiveList( iListManager->ListExpandableMultiRowWithoutIcon() );
-			    }
-                break;			    
-		    default:
-		    	__ASSERT_DEBUG( EFalse, 
-		    			User::Panic( _L("TListType Error::SetFont()"), 0 ) );
-		    	break;
-			}
-        }     
-    } 
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetListEventHandler
-// set list event handler
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::SetListEventHandler(MListEventHandler* aHandler)
-    {
-    iListEventHandler = aHandler;
-    }
-                            
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::CandidateCount
-// get candidate count
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C TInt CFepCtrlDropdownList::CandidateCount() const
-    {
-    return iCandidatelist.Count(); 
-    }                              
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetCellColorList
-// get multi color list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-const RArray<TInt>& CFepCtrlDropdownList::GetSecondaryList() const
-    {
-    return iSecondaryList; 
-    }
-                                              
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::EnableMultiColor
-// enable multi color or not 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C void CFepCtrlDropdownList::EnableSecondary(TBool aEnable, TBool aReDraw)
-    {
-    iEnableSecondary = aEnable;
-    
-    if ( aReDraw )
-        {
-        Draw();
-        }    
-    }
-                                             
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::IsEnableSecondary
-// get multi color is enable or disable
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-EXPORT_C TBool CFepCtrlDropdownList::IsEnableSecondary() const
-    {
-    return iEnableSecondary;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::DrawMask
-// draw mask
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//        
-void CFepCtrlDropdownList::DrawMask(TRect aRect)
-    {
-    Gc()->Activate( MaskBitmapDevice() );
-    Gc()->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    Gc()->SetBrushColor( TRgb(KOpaqueColor) );
-    Gc()->SetPenSize(PenSize());
-    Gc()->SetPenColor( TRgb(KOpaqueColor) );
-    Gc()->DrawRect(aRect);    
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ActivateBitmapContext
-// active bitmap context
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-void CFepCtrlDropdownList::ActivateBitmapContext()
-    {
-    Gc()->Activate(BitmapDevice());
-    } 
-        
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::Gc
-// return the graphics context
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-CFbsBitGc* CFepCtrlDropdownList::Gc()
-    {
-    return static_cast<CFbsBitGc*>(BitGc());
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetFirstCandidateIndex
-// get FirstCandidateIndex
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetFirstCandidateIndex()
-    {
-    return iFirstCandidateIndex;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetLastCandidateIndex
-// get LastCandidateIndex
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetLastCandidateIndex()
-    {
-    return iLastCandidateIndex;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetFirstCandidateIndex
-// set FirstCandidateIndex
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-void CFepCtrlDropdownList::SetFirstCandidateIndex(TInt aFirstIndex)
-    {
-    iFirstCandidateIndex = aFirstIndex;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetLastCandidateIndex
-// Set LastCandidateIndex
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-void CFepCtrlDropdownList::SetLastCandidateIndex(TInt aLastIndex)
-    {
-    iLastCandidateIndex = aLastIndex;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetCandidate
-// get candidate
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-CCandidate* CFepCtrlDropdownList::GetCandidate(TInt aIndex)
-    {
-    if ( ( aIndex >= 0 ) && ( aIndex < iCandidatelist.Count() ) )
-        {
-        return iCandidatelist[aIndex];
-        }
-        
-    return NULL;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetTopLeftPoint
-// get Top Left Point
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TPoint CFepCtrlDropdownList::GetTopLeftPoint()
-    {
-    return iTopLeftPoint;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetCellWidth
-// get width
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetCellWidth()
-    {
-    return iCellWidth;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetCellHeight
-// get cell height
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetCellHeight()
-    {
-    return iCellHeight;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetNaviWidth
-// get navigation width
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetNaviWidth()
-    {
-    return iNaviWidth;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetColNum
-// get columns number
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetColNum()
-    {
-    return iColNum;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetRowNum
-// get rows number
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetRowNum()
-    {
-    return iRowNum;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetFont
-// get text font
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-const CFont* CFepCtrlDropdownList::GetFont()
-    {
-    return iFont;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetAlignment
-// get alignment
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-CGraphicsContext::TTextAlign CFepCtrlDropdownList::GetAlignment()
-    {
-    return iAlignment;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetAlignment
-// get alignment
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt CFepCtrlDropdownList::GetTextMargin()
-    {
-    return iTextMargin;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetBgColor
-// get background color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TRgb CFepCtrlDropdownList::GetBgColor()
-    {
-    return iBgColor;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetButtonDownBgColor
-// get button down color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TRgb CFepCtrlDropdownList::GetButtonDownBgColor()
-    {
-    return iButtonDownBgColor;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetBorderColor
-// get border color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-TRgb CFepCtrlDropdownList::GetBorderColor()
-    {
-    return iBorderColor;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetTextColor
-// get text color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TRgb CFepCtrlDropdownList::GetTextColor()
-    {
-    return iTextColor;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetHighLightBgColor
-// get highlight background color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TRgb CFepCtrlDropdownList::GetHighLightBgColor()
-    {
-    return iHighLightBgColor;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetHighLightTextColor
-// get highlignt text color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TRgb CFepCtrlDropdownList::GetHighLightTextColor()
-    {
-    return iHighLightTextColor;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetSpecialTextColor
-// get special text color
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TRgb CFepCtrlDropdownList::GetSpecialTextColor()
-    {
-    return iSpecialTextColor;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetFixedText
-// get fixed text
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TDesC CFepCtrlDropdownList::GetFixedText()
-    {
-    return iFixedText;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetHighlightList
-// get bitmap manager
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-const RArray<TInt>& CFepCtrlDropdownList::GetHighlightList() const
-    {
-    return iHighlightList;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetPages
-// get page manager
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-CPages* CFepCtrlDropdownList::GetPages()
-    {
-    return iPages;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetBitmapDb
-// get bitmap manager
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-CBitmapDb* CFepCtrlDropdownList::GetBitmapDb()
-    {
-    return iBitmapDb;
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ReportCandidateSelectEvent
-// report candidate selected event
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-void CFepCtrlDropdownList::ReportCandidateSelectEventL(const TDesC& aCandidate,
-                                                      const TInt aSelectedIndex)
-    {
-    HBufC* bufc = HBufC::NewL( aCandidate.Length() + 1 );    
-    TPtr ptr = bufc->Des();
-    ptr.Copy( aCandidate );
-    ptr.Append( (TUint16*)&aSelectedIndex, 1 );
-    ReportEvent(iEventIdForCandidateSelected, *bufc);
-    delete bufc;
-    bufc = NULL;
-    }
-        
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::Invalidate
-// update the animation
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//      
-void CFepCtrlDropdownList::Invalidate(const TRect& aRect, TBool aUpdateAll)
-    {
-    RootControl()->UpdateArea(aRect,aUpdateAll);
-    }    
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ChangeActiveList
-// change active list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::ChangeActiveList(CList* aList, TInt aLastIndex)
-    {
-    TRect rect = Rect();       
-        
-    CList* beforeList = iListManager->ActiveList();
-    
-    if( RootControl()->CtrlCapPointer() == this)
-        {
-        SetCapture(EFalse);
-        }
-    
-	switch ( iListType )
-		{
-		case EListNoExpandable:
-		case EListNoExpandableWithBubble:
-	        EnableSecondary(ETrue);
-			break;
-		case EListExpandable:
-		case EListExpandableWithBubble:
-		case EListExpandableWithoutIcon:
-		// txin
-		case EListExpandableRollWithIcon:
-		case EListExpandableRollWithIconWithBubble:
-		// end
-	        EnableSecondary(EFalse);
-	        break;
-		case EListExpandableMultiRowWithoutIcon:
-		    break;
-	    default:
-	    	__ASSERT_DEBUG( EFalse, 
-	    			User::Panic( _L("TListType Error::ChangeActiveList()"), 0 ) );
-	    	break;
-		}
-    
-    iListManager->SetActiveList(aList);
-    SetRect(iListManager->ActiveList()->Rect());      
-    
-    if ( aLastIndex )
-        {
-        SetLastCandidateIndex(aLastIndex); 
-        }
-    else
-        {
-        GetPages()->Reset();
-        SetFirstCandidateIndex(0);
-        SetLastCandidateIndex(0);
-        }
-        
-    if(!Hiden() && Ready())
-        {
-        TRAP_IGNORE(iListManager->ActiveList()->UpdateListL());
-        }
-    
-	// If the list is shrink, then redraw
-    // txin
-	if ( ( ( beforeList == iListManager->ListMultiRowWithIcon() )
-		&& ( aList != iListManager->ListMultiRowWithIcon() ) ) 
-		|| ( ( ( beforeList == iListManager->ListMultiRowWithoutIcon() )
-	     && ( aList != iListManager->ListMultiRowWithoutIcon() ) ) ) 
-	    || ( ( ( beforeList == iListManager->ListMultiRowRollWithIcon())
-	     && ( aList != iListManager->ListMultiRowRollWithIcon() ) ) ) 
-	     || ( ( ( beforeList == iListManager->ListExpandableMultiRowWithoutIcon() )
-	     && ( aList != iListManager->ListExpandableMultiRowWithoutIcon() ) ) )
-	     || ( ( ( beforeList == iListManager->ListMultiRowWithIconWithBubble() ))
-	     && (aList != iListManager->ListMultiRowWithIconWithBubble() ) )
-	     || ( ( ( beforeList == iListManager->ListMultiRowRollWithIconWithBubble() ))
-	     && (aList != iListManager->ListMultiRowRollWithIconWithBubble() ) ) )
-		{
-	    rect.Shrink(TSize(0,-1));
-	    RootControl()->ReDrawRect(rect);
-	    Invalidate(rect,ETrue);			
-		}
-    // end
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::GetPenSize
-// get pen size
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TSize CFepCtrlDropdownList::GetPenSize()
-    {
-    return PenSize();
-    }
-
-void CFepCtrlDropdownList::SetCapture(TBool aFlag)
-    {
-    CapturePointer(aFlag);
-    }
-    
-// ---------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetActive
-// Set active for the button
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetActive(TBool aActiveFlag)
-    {
-    if(IsActive() != aActiveFlag)
-        {
-        CFepUiBaseCtrl::SetActive(aActiveFlag);    
-        /*Draw();
-        UpdateArea(Rect(),EFalse);*/
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CFepCtrlDropdownList::ConstructFromResourceL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::ConstructFromResourceL()
-	{
-    if (iResourceId == KInvalidResId)
-    	{
-    	User::Leave(KErrArgument);
-    	}
-    
-    // first time construct will not go this way
-    // only useful for skin change
-    if (!iFirstTimeConstruct)
-    	{
-        TResourceReader reader;
-        CCoeEnv::Static()->CreateResourceReaderLC(reader, iResourceId);
-	    iBitmapDb->ConstructFromResourceL(reader, 
-	                                      TSize(iCellWidth, iCellHeight),
-	                                      TSize(iNaviWidth, iCellHeight),
-	                                      TSize(iNaviWidth, iSpinBtnHeight));
-	    CleanupStack::PopAndDestroy(); // reader
-        SetTextColor(iBitmapDb->TextColor());
-        SetBorderColor(iBitmapDb->FrameColor());
-        iListManager->ActiveList()->UpdateListL(AbleToDraw(),EFalse);
-	    Draw();
-    	}
-    
-    iFirstTimeConstruct = EFalse;	
-	}
-	
-// ---------------------------------------------------------------------------
-// CFepCtrlDropdownList::NotifyGetNextPage
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::NotifyGetNextPage()
-    {
-    ReportEvent(iEventIdForNextPageCandidate);
-    }
-    
-// ---------------------------------------------------------------------------
-// CFepCtrlDropdownList::NotifyGetPreviousPage
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::NotifyGetPreviousPage()
-    {
-    ReportEvent(iEventIdForPreviousPageCandidate);
-    } 
-    
-// ---------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetFlagCandidateExist
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetFlagCandidateExist(TBool aFlag)
-    {
-    iCandidateExisted = aFlag;
-    }
-    
-// ---------------------------------------------------------------------------
-// CFepCtrlDropdownList::NextCandidateExist
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-TBool CFepCtrlDropdownList::NextCandidateExist()
-    {
-    ReportEvent(iEventIdForCandidateExisted);
-    
-    return iCandidateExisted;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::AutoChangeActiveList
-// change active list
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::AutoChangeActiveList( TInt aLastIndex )
-	{
-	switch ( iListType )
-		{
-		case EListExpandable:
-			if ( iListManager->ActiveList() 
-					== iListManager->ListOneRowWithIcon() )
-				{
-				ChangeActiveList( iListManager->ListMultiRowWithIcon(), aLastIndex );
-				BringToTop();
-				}
-			else
-				{
-				BringToBack();
-				ChangeActiveList( iListManager->ListOneRowWithIcon(), aLastIndex );
-				NotifyClosePage();
-				}
-			break;
-		case EListExpandableWithoutIcon:
-			if ( iListManager->ActiveList() 
-					== iListManager->ListOneRowWithIcon() )
-				{
-				ChangeActiveList( iListManager->ListMultiRowWithoutIcon(), aLastIndex );
-				BringToTop();
-				}
-			else
-				{
-				BringToBack();
-				ChangeActiveList( iListManager->ListOneRowWithIcon(), aLastIndex );
-				}
-			break;
-        // txin
-		case EListExpandableRollWithIcon:
-		    {
-			if (iListManager->ActiveList() == iListManager->ListOneRowRollWithIcon())
-				{
-				ChangeActiveList(iListManager->ListMultiRowRollWithIcon(), aLastIndex);
-				BringToTop();
-				}
-			else
-				{
-				BringToBack();
-				ChangeActiveList(iListManager->ListOneRowRollWithIcon(), aLastIndex);
-				NotifyClosePage();
-				}
-		    }
-		    break;
-		case EListExpandableRollWithIconWithBubble:
-		    {
-			if (iListManager->ActiveList() == iListManager->ListOneRowRollWithIconWithBubble())
-				{
-				ChangeActiveList(iListManager->ListMultiRowRollWithIconWithBubble(), aLastIndex);
-				BringToTop();
-				}
-			else
-				{
-				BringToBack();
-				ChangeActiveList(iListManager->ListOneRowRollWithIconWithBubble(), aLastIndex);
-				NotifyClosePage();
-				}
-		    }
-		    break;
-		    
-		case EListExpandableWithBubble:
-		    {
-			if ( iListManager->ActiveList() 
-					== iListManager->ListOneRowWithIconWithBubble() )
-				{
-				ChangeActiveList( iListManager->ListMultiRowWithIconWithBubble(), aLastIndex );
-				BringToTop();
-				}
-			else
-				{
-				BringToBack();
-				ChangeActiveList( iListManager->ListOneRowWithIconWithBubble(), aLastIndex );
-				NotifyClosePage();
-				}
-		    }
-		    break;
-        case EListExpandableMultiRowWithoutIcon:
-            break;              
-		case EListNoExpandable:
-		case EListNoExpandableWithBubble:
-			break;
-	    default:
-	    	__ASSERT_DEBUG( EFalse, 
-	    			User::Panic( _L("TListType Error::AutoChangeActiveList()"), 0 ) );
-	    	break;
-		}
-
-	}
-
-// added by txin in 2007.06.07
-EXPORT_C void CFepCtrlDropdownList::SetSpinBtnHeight(const TInt aHeight)
-    {
-    // make sure navi next, navi previous plus close, do not beyond row count 
-    TInt minExpandHeight = 2 * aHeight + GetCellHeight() + 4 * GetCellVerticalMargin();
-    TInt realExpandHeight = GetCellHeight() * GetRowNum() + 
-                            (GetRowNum() + 1) * GetCellVerticalMargin();
-
-    if ((aHeight > 0) && (minExpandHeight <= realExpandHeight))
-        {
-        iSpinBtnHeight = aHeight;
-        SizeChanged(iCellWidth, iCellHeight, iNaviWidth);
-        }
-    }
-
-EXPORT_C void CFepCtrlDropdownList::SetCellMargin(const TInt aHorizontalMargin, 
-                                                  const TInt aVerticalMargin)
-    {
-    if (((aHorizontalMargin > 0) && (aHorizontalMargin != iCellHorizontalMargin)) || 
-        ((aVerticalMargin > 0) && (aVerticalMargin != iCellVerticalMargin)))
-        {
-        iCellHorizontalMargin = aHorizontalMargin;
-        iCellVerticalMargin = aVerticalMargin;
-
-        SizeChanged(iCellWidth, iCellHeight, iNaviWidth); 
-        }
-    }
-    
-TInt CFepCtrlDropdownList::GetSpinBtnHeight()
-    {
-    return iSpinBtnHeight;
-    }
-
-TInt CFepCtrlDropdownList::GetCellHorizontalMargin()
-    {
-    return iCellHorizontalMargin;
-    }
-
-TInt CFepCtrlDropdownList::GetCellVerticalMargin()
-    {
-    return iCellVerticalMargin;
-    }
-
-TInt CFepCtrlDropdownList::ListType()
-    {
-    return iListType;
-    }
-    
-TInt CFepCtrlDropdownList::OneRowStartCandIdx()
-    {
-    return iOriginalCandIdx;
-    }
-    
-void CFepCtrlDropdownList::SetOneRowStartCandIdx(TInt aOriginalCandIdx)
-    {
-    iOriginalCandIdx = aOriginalCandIdx;
-    }
-
-TInt CFepCtrlDropdownList::GetOriginalFirstCandIdx()
-    {
-    return iOriginalFirstCandIdx;
-    }
-
-void CFepCtrlDropdownList::SetOriginalFirstCandIdx(TInt aOriginalFirstCandIdx)
-    {
-    iOriginalFirstCandIdx = aOriginalFirstCandIdx;
-    }
-    
-EXPORT_C void CFepCtrlDropdownList::SetCandTruncateType(const TCandTruncateType aTruncateType)
-    {
-    iCandTruncateType = aTruncateType;
-    }
-    
-TInt CFepCtrlDropdownList::CandTruncateType()
-    {
-    return iCandTruncateType;
-    }
-    
-CList* CFepCtrlDropdownList::ActiveList()
-    {
-    return iListManager->ActiveList();
-    }
-
-void CFepCtrlDropdownList::SetUpdateListReDrawFlag(TBool aReDraw)
-    {
-    iUpdateListReDraw = aReDraw;
-    }
-
-TBool CFepCtrlDropdownList::GetUpdateListRedrawFlag()
-    {
-    return iUpdateListReDraw;
-    }
-
-EXPORT_C void CFepCtrlDropdownList::SetFuzzyBoundry(TInt aFuzzyBoundry)
-    {
-    if (aFuzzyBoundry != iFuzzyBoundry && aFuzzyBoundry >= 0)
-        {
-        iFuzzyBoundry = aFuzzyBoundry;
-        }
-    }
-
-TInt CFepCtrlDropdownList::FuzzyBoundry()
-    {
-    return iFuzzyBoundry;
-    }
-
-EXPORT_C void CFepCtrlDropdownList::SetCandExpandType(const TExpandType aType)
-    {
-    if (aType != iCandExpandType)
-        {
-        iCandExpandType = aType;
-        }
-    }
-
-TInt CFepCtrlDropdownList::CandExpandType()
-    {
-    return iCandExpandType;
-    }
-
-void CFepCtrlDropdownList::NotifyClosePage()
-	{
-	UiLayout()->RootControl()->Draw();
-	}
-	
-EXPORT_C void CFepCtrlDropdownList::SetDropdownListImgID(
-              TDropdownListDrawInfo aDropdownListDrawInfo)
-	{
-	iListManager->ListOneRowWithIcon()->SetDropdownListImgID(aDropdownListDrawInfo);
-	
-	iListManager->ListOneRowWithIconWithBubble()->SetDropdownListImgID(aDropdownListDrawInfo);
-													 
-	iListManager->ListMultiRowWithIcon()->SetDropdownListImgID(aDropdownListDrawInfo);		
-	
-	iListManager->ListMultiRowWithIconWithBubble()->SetDropdownListImgID(aDropdownListDrawInfo);	
-													 
-	iListManager->ListOneRowWithoutIcon()->SetDropdownListImgID(aDropdownListDrawInfo);		
-	
-    iListManager->ListOneRowWithoutIconWithBubble()->SetDropdownListImgID(aDropdownListDrawInfo);			
-													 
-	iListManager->ListOneRowRollWithIcon()->SetDropdownListImgID(aDropdownListDrawInfo);
-			
-	iListManager->ListOneRowRollWithIconWithBubble()->SetDropdownListImgID(aDropdownListDrawInfo);		
-													 
-	iListManager->ListMultiRowRollWithIcon()->SetDropdownListImgID(aDropdownListDrawInfo);
-	
-	iListManager->ListMultiRowRollWithIconWithBubble()->SetDropdownListImgID(aDropdownListDrawInfo);
-	
-	iListManager->ListExpandableMultiRowWithoutIcon()->SetDropdownListImgID(aDropdownListDrawInfo);
-	}
-
-CFepUiLayout* CFepCtrlDropdownList::UiLayout()
-    {
-    return CFepUiBaseCtrl::UiLayout();
-    }
-
-TInt CFepCtrlDropdownList::CandHDirection()
-    {
-    return iCandHDirection;
-    }
-
-TBool CFepCtrlDropdownList::PageCtrlShown()
-    {
-    return iPageCtrlShown;
-    }
-    
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ShowBubble
-// Set show preview bubble on/off
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::ShowBubble(TBool aFlag)
-    {  
-    TBool flag = iBubbleCtrl ? ETrue : EFalse;
-    iIsShowBubble = aFlag;
-    if ( flag != aFlag )
-        {
-        if(!flag)
-            {
-            TRAP_IGNORE(iBubbleCtrl = CBubbleCtrl::NewL(TRect(0,0,0,0),UiLayout(),-0xFFFF));
-            }
-        }
-    }    
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetBubbleBitmapParam
-// Set preview bubble bitmap
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetBubbleBitmapParam(CFbsBitmap* aBmpId,
-                                                     CFbsBitmap* aMaskBmpId ,
-                                                     TAknsItemID aBgSkinId )
-    {
-    if ( iBubbleCtrl )
-        {
-        iBubbleCtrl->SetBitmapParam(aBmpId,aMaskBmpId,aBgSkinId);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetBubbleTextFont
-// Set preview bubble text font
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetBubbleTextFont(const CFont* aFont)
-    {
-    if ( iBubbleCtrl )
-        {
-        iBubbleFont = aFont;    
-        }
-    }
-       
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetTextFormat
-// Set preview bubble text format
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetTextFormat(TAknTextLineLayout aTextFormat)
-    {
-    if ( iBubbleCtrl )
-        {
-        iBubbleCtrl->SetTextFormat(aTextFormat);   
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetBubbleSize
-// Set preview bubble size
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetFrameDiff(TInt aLeftDiff, TInt aTopDiff,
-                                             TInt aRightDiff,TInt aBottomDiff)
-    {
-    if ( iBubbleCtrl )
-        {
-        iBubbleCtrl->SetFrameDiff(aLeftDiff,aTopDiff,aRightDiff,aBottomDiff);    
-        }        
-    }    
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::SetBubbleSize
-// Set preview bubble size
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::SetBubbleSize(const TSize& aSize)
-    {
-    iBubbleSize = aSize;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::DrawBubble
-// Show preview bubble
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::DrawBubble(const TRect aRect, const TDesC& aText)
-    {
-    if ( iBubbleCtrl && iIsShowBubble && !(iBubbleCtrl->IsShowing()))
-        {
-        if(iBubbleFont)
-            {
-            iBubbleSize.iWidth = iBubbleFont->TextWidthInPixels(aText) + KPreviewBubbleOffset;
-            }
-            
-        if(iBubbleSize.iWidth < aRect.Width() + KPreviewBubbleOffset )
-            {
-            iBubbleSize.iWidth = aRect.Width() + KPreviewBubbleOffset;
-            }
-         
-        
-        TRect rect = iBubbleCtrl->Rect();
-        TRect parentWndRect = Rect();       
-        TInt x1 = aRect.iTl.iX - ( iBubbleSize.iWidth - aRect.Width() ) / 2;
-        TInt x2 = aRect.iBr.iX + ( iBubbleSize.iWidth - aRect.Width() ) / 2;
-        
-        TRect screenRect;
-        AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, screenRect); 
-        if ( x1 < 0 )
-            {
-            rect.iTl.iX = screenRect.iTl.iX;     
-            rect.iBr.iX = screenRect.iTl.iX + iBubbleSize.iWidth; 
-            }
-        else if ( x2 > screenRect.iBr.iX )
-            {
-            rect.iTl.iX = screenRect.iBr.iX - iBubbleSize.iWidth;     
-            rect.iBr.iX = screenRect.iBr.iX;                 
-            }
-        else
-            {
-            rect.iTl.iX = x1;     
-            rect.iBr.iX = x2;                 
-            }
-        
-        rect.iTl.iY = iBubbleVerticalMargin + aRect.iTl.iY - 
-                      iBubbleSize.iHeight;
-        rect.iBr.iY = iBubbleVerticalMargin + aRect.iTl.iY;
-		
-		TRAP_IGNORE(iBubbleCtrl->SetTextL(aText));		
-	
-        iBubbleCtrl->Popup(rect);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ClearBubble
-// Hide preview bubble
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::ClearBubble()
-    {
-    if ( iBubbleCtrl && iBubbleCtrl->IsShowing())
-        {
-        iBubbleCtrl->Close();
-        }
-    }
-       
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ReDrawBubble
-// ReDraw preview bubble
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CFepCtrlDropdownList::ReDrawBubble()
-    {
-    if(iBubbleCtrl && iBubbleCtrl->IsShowing())
-        {
-        iBubbleCtrl->Draw();
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CFepCtrlDropdownList::ReDrawRect
-// ReDraw Dropdown list rect
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CFepCtrlDropdownList::ReDrawRect(const TRect& /*aRect*/)
-    {   
-	if(!AbleToDraw())
-        return;
-    
-    if (!iFirstTimeConstruct)
-    	{
-  	    iListManager->ActiveList()->Draw();
-    	}
-    } 
-	
-// end adding
-
-// End Of File