--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emailcontacts/remotecontactlookup/engine/src/cpbkxrclresultinfolistbox.cpp Thu Dec 17 08:39:21 2009 +0200
@@ -0,0 +1,179 @@
+/*
+* Copyright (c) 2007 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: Definition of the class CPbkxRclResultInfoListBox.
+*
+*/
+
+
+#include "emailtrace.h"
+#include <AknsUtils.h>
+#include <eikfrlbd.h>
+
+#include "cpbkxrclresultinfolistbox.h"
+
+////////////////////////////////////////////////////////////////////////////
+// CPbkxRclResultInfoListBox
+////////////////////////////////////////////////////////////////////////////
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CPbkxRclResultInfoListBox::CPbkxRclResultInfoListBox
+// ---------------------------------------------------------------------------
+//
+CPbkxRclResultInfoListBox::CPbkxRclResultInfoListBox() :
+ CAknDoubleStyleListBox()
+ {
+ FUNC_LOG;
+ }
+
+// ---------------------------------------------------------------------------
+// CPbkxRclResultInfoListBox::~CPbkxRclResultInfoListBox
+// ---------------------------------------------------------------------------
+//
+CPbkxRclResultInfoListBox::~CPbkxRclResultInfoListBox()
+ {
+ FUNC_LOG;
+ }
+
+// ---------------------------------------------------------------------------
+// CPbkxRclResultInfoListBox::CreateItemDrawerL
+// ---------------------------------------------------------------------------
+//
+void CPbkxRclResultInfoListBox::CreateItemDrawerL()
+ {
+ FUNC_LOG;
+ CFormattedCellListBoxData* data = CFormattedCellListBoxData::NewL();
+ CleanupStack::PushL( data );
+ iItemDrawer = new ( ELeave ) CPbkxRclResultInfoItemDrawer(
+ Model(),
+ iEikonEnv->NormalFont(),
+ data );
+ data->SetSkinEnabledL( ETrue );
+ CleanupStack::Pop( data );
+ }
+
+
+////////////////////////////////////////////////////////////////////////////
+// CPbkxRclResultInfoItemDrawer
+////////////////////////////////////////////////////////////////////////////
+
+
+// ---------------------------------------------------------------------------
+// CPbkxRclResultInfoItemDrawer::CPbkxRclResultInfoItemDrawer
+// ---------------------------------------------------------------------------
+//
+CPbkxRclResultInfoItemDrawer::CPbkxRclResultInfoItemDrawer(
+ MTextListBoxModel* aTextListBoxModel,
+ const CFont* aFont,
+ CFormattedCellListBoxData* aFormattedCellData ) :
+ CFormattedCellListBoxItemDrawer(
+ aTextListBoxModel,
+ aFont,
+ aFormattedCellData )
+ {
+ FUNC_LOG;
+ }
+
+// ---------------------------------------------------------------------------
+// CPbkxRclResultInfoItemDrawer::~CPbkxRclResultInfoItemDrawer
+// ---------------------------------------------------------------------------
+//
+CPbkxRclResultInfoItemDrawer::~CPbkxRclResultInfoItemDrawer()
+ {
+ FUNC_LOG;
+ }
+
+// ---------------------------------------------------------------------------
+// CPbkxRclResultInfoItemDrawer::SetHighlightColor
+// ---------------------------------------------------------------------------
+//
+void CPbkxRclResultInfoItemDrawer::SetHighlightColor( TRgb aColor )
+ {
+ FUNC_LOG;
+ iHighlightColor = aColor;
+ iColorsSet = iColorsSet | EHighlighColorSet;
+ }
+
+// ---------------------------------------------------------------------------
+// CPbkxRclResultInfoItemDrawer::SetColor
+// ---------------------------------------------------------------------------
+//
+void CPbkxRclResultInfoItemDrawer::SetColor( TRgb aColor )
+ {
+ FUNC_LOG;
+ iColor = aColor;
+ iColorsSet = iColorsSet | EColorSet;
+ }
+
+// ---------------------------------------------------------------------------
+// CPbkxRclResultInfoItemDrawer::ResetColors
+// ---------------------------------------------------------------------------
+//
+void CPbkxRclResultInfoItemDrawer::ResetColors( TBool aHighlightColor )
+ {
+ FUNC_LOG;
+ if ( aHighlightColor )
+ {
+ iColorsSet = iColorsSet & ( ~EHighlighColorSet );
+ }
+ else
+ {
+ iColorsSet = iColorsSet & ( ~EColorSet );
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CPbkxRclResultInfoItemDrawer::DrawItemText
+// ---------------------------------------------------------------------------
+//
+void CPbkxRclResultInfoItemDrawer::DrawItemText(
+ TInt aItemIndex,
+ const TRect& aItemTextRect,
+ TBool aItemIsCurrent,
+ TBool aViewIsEmphasized,
+ TBool aItemIsSelected ) const
+ {
+ FUNC_LOG;
+
+ // force our own colors to itemdrawer
+ CPbkxRclResultInfoItemDrawer* ptr =
+ const_cast<CPbkxRclResultInfoItemDrawer*>( this );
+
+ if ( iColorsSet & EColorSet )
+ {
+ ptr->iTextColor = iColor;
+ }
+
+ if ( iColorsSet & EHighlighColorSet )
+ {
+ ptr->iHighlightedTextColor = iHighlightColor;
+ }
+
+ // Disable AVKON skinning so that our own color definitions apply
+ TBool skinEnabled = AknsUtils::AvkonSkinEnabled();
+ // Safe to ignore error
+ TRAP_IGNORE( AknsUtils::SetAvkonSkinEnabledL( EFalse ) );
+ CFormattedCellListBoxItemDrawer::DrawItemText(
+ aItemIndex,
+ aItemTextRect,
+ aItemIsCurrent,
+ aViewIsEmphasized,
+ aItemIsSelected );
+ // Safe to ignore error
+ TRAP_IGNORE( AknsUtils::SetAvkonSkinEnabledL( skinEnabled ) );
+
+ }
+