--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/meetingrequest/mrgui/mrfieldbuildercommon/src/cesmrviewerlabelfield.cpp Thu Dec 17 08:39:21 2009 +0200
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2007-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: Base class for most of the fields in viewer
+*
+*/
+
+
+#include "emailtrace.h"
+#include <eiklabel.h>
+#include <caluser.h>
+#include <calalarm.h>
+#include <avkon.rsg>
+#include <calentry.h>
+#include <eikenv.h>
+#include <eikedwin.h>
+#include <StringLoader.h>
+#include <avkon.hrh>
+#include <AknUtils.h>
+
+#include <esmrgui.rsg>
+//<cmail>
+#include "esmrdef.h"
+//</cmail>
+#include "cesmrviewerlabelfield.h"
+#include "cesmreditor.h"
+#include "mesmrlistobserver.h"
+
+// ---------------------------------------------------------------------------
+// CESMRViewerLabelField::NewL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CESMRViewerLabelField* CESMRViewerLabelField::NewL()
+ {
+ FUNC_LOG;
+ CESMRViewerLabelField* self = new (ELeave) CESMRViewerLabelField();
+ CleanupStack::PushL( self );
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRViewerLabelField::~CESMRViewerLabelField
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CESMRViewerLabelField::~CESMRViewerLabelField()
+ {
+ FUNC_LOG;
+ // Do nothing
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRViewerLabelField::CESMRViewerLabelField
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CESMRViewerLabelField::CESMRViewerLabelField()
+ {
+ FUNC_LOG;
+ // Do nothing
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRViewerLabelField::InitializeL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CESMRViewerLabelField::InitializeL()
+ {
+ FUNC_LOG;
+ iLabel->SetFont( iLayout->Font( iCoeEnv, iFieldId ));
+
+ if( CESMRLayoutManager::IsMirrored() )
+ {
+ iLabel->iMargin.iRight = iLayout->TextSideMargin();
+ }
+ else
+ {
+ iLabel->iMargin.iLeft = iLayout->TextSideMargin();
+ }
+
+ // Set the text color.
+ if ( IsFocused() )
+ {
+ AknLayoutUtils::OverrideControlColorL( *iLabel, EColorLabelText,
+ iLayout->ViewerListAreaHighlightedTextColor() );
+ }
+ else
+ {
+ AknLayoutUtils::OverrideControlColorL( *iLabel, EColorLabelText,
+ iLayout->ViewerListAreaTextColor() );
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRViewerLabelField::ConstructL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CESMRViewerLabelField::ConstructL( TAknsItemID aIconID )
+ {
+ FUNC_LOG;
+ // If field id is not specified, make this field a "basic" field:
+ // Basic field can't be hidden from the list.
+ if( iFieldId == 0 )
+ {
+ SetFieldId( EESMRFieldViewerBasic );
+ }
+
+ iLabel = new (ELeave) CEikLabel();
+ iLabel->SetLabelAlignment(CESMRLayoutManager::IsMirrored() ?
+ ELayoutAlignRight :
+ ELayoutAlignLeft );
+
+ _LIT( KEmptyText, "" );
+ iLabel->SetTextL( KEmptyText );
+ CESMRIconField::ConstructL( aIconID, iLabel, EESMRHighlightFocus );
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRViewerLabelField::FocusChanged
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CESMRViewerLabelField::FocusChanged( TDrawNow /*aDrawNow*/ )
+ {
+ FUNC_LOG;
+ // Focus received
+ if ( IsFocused() )
+ {
+ // If function leaves we continue w/o changing the color
+ TRAP_IGNORE( AknLayoutUtils::OverrideControlColorL(
+ *iLabel, EColorLabelText,
+ iLayout->ViewerListAreaHighlightedTextColor() ) );
+ DrawDeferred();
+ }
+ else
+ {
+ // If function leaves we continue w/o changing the color
+ TRAP_IGNORE( AknLayoutUtils::OverrideControlColorL(
+ *iLabel, EColorLabelText,
+ iLayout->ViewerListAreaTextColor() ) );
+ DrawDeferred();
+ }
+ }
+
+// EOF
+