--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/meetingrequest/mrgui/mrfieldbuildercommon/src/cesmrborderlayer.cpp Thu Dec 17 08:39:21 2009 +0200
@@ -0,0 +1,207 @@
+/*
+* 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: Class draws focus for the fields
+*
+*/
+
+#include "emailtrace.h"
+#include "cesmrborderlayer.h"
+
+#include <AknUtils.h>
+#include <AknsConstants.h>
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CESMRBorderLayer::NewL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CESMRBorderLayer* CESMRBorderLayer::NewL(
+ CCoeControl* aExt, TESMRFieldFocusType aFocusType )
+ {
+ FUNC_LOG;
+ CESMRBorderLayer* self = new (ELeave) CESMRBorderLayer( aExt, aFocusType );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRBorderLayer::CESMRBorderLayer
+// ---------------------------------------------------------------------------
+//
+CESMRBorderLayer::CESMRBorderLayer(
+ CCoeControl* aExtControl,
+ TESMRFieldFocusType aFocusType )
+ :iExtControl( aExtControl ),
+ iFocus( EFalse ),
+ iFocusType( aFocusType )
+ {
+ FUNC_LOG;
+ // Do nothing
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRBorderLayer::~CESMRBorderLayer
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CESMRBorderLayer::~CESMRBorderLayer()
+ {
+ FUNC_LOG;
+ delete iExtControl;
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRBorderLayer::ConstructL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CESMRBorderLayer::ConstructL() // codescanner::LFunctionCantLeave
+ {
+ FUNC_LOG;
+ SetBackground( this );
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRBorderLayer::SetContainerWindowL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CESMRBorderLayer::SetContainerWindowL(
+ const CCoeControl& aContainer)
+ {
+ FUNC_LOG;
+ CCoeControl::SetContainerWindowL( aContainer );
+ if ( iExtControl )
+ {
+ iExtControl->SetContainerWindowL( aContainer );
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRBorderLayer::SetOutlineFocusL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CESMRBorderLayer::SetOutlineFocusL( // codescanner::LFunctionCantLeave
+ TBool aFocus )
+ {
+ FUNC_LOG;
+ iFocus = aFocus;
+ if ( iExtControl )
+ {
+ iExtControl->SetFocus( aFocus );
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRBorderLayer::HasFocus
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TBool CESMRBorderLayer::HasFocus() const
+ {
+ FUNC_LOG;
+ return iFocus;
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRBorderLayer::Draw
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CESMRBorderLayer::Draw(
+ CWindowGc &/*aGc*/,
+ const CCoeControl &/*aControl*/,
+ const TRect& /*aRect*/) const
+ {
+ FUNC_LOG;
+ // Do nothing. Deprecated.
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRBorderLayer::GetTextDrawer
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CESMRBorderLayer::GetTextDrawer(
+ CCoeTextDrawerBase*& /*aTextDrawer*/,
+ const CCoeControl* /*aDrawingControl*/) const
+ {
+ FUNC_LOG;
+ // Do nothing
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRBorderLayer::CountComponentControls
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CESMRBorderLayer::CountComponentControls() const
+ {
+ FUNC_LOG;
+ TInt count( 0 );
+ if ( iExtControl )
+ {
+ ++count;
+ }
+ return count;
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRBorderLayer::ComponentControl
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CCoeControl* CESMRBorderLayer::ComponentControl( TInt /*aInd*/ ) const
+ {
+ FUNC_LOG;
+ return iExtControl;
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRBorderLayer::SizeChanged
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CESMRBorderLayer::SizeChanged()
+ {
+ FUNC_LOG;
+ TRect rect = Rect();
+ if ( iExtControl )
+ {
+ iExtControl->SetRect( rect );
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRBorderLayer::OfferKeyEventL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TKeyResponse CESMRBorderLayer::OfferKeyEventL(
+ const TKeyEvent& aEvent, TEventCode aType )
+ {
+ FUNC_LOG;
+ if ( iExtControl )
+ {
+ return iExtControl->OfferKeyEventL( aEvent, aType );
+ }
+ return EKeyWasNotConsumed;
+ }
+
+// ---------------------------------------------------------------------------
+// CESMRBorderLayer::SetLayoutManager()
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CESMRBorderLayer::SetLayoutManager(
+ CESMRLayoutManager* aLayout )
+ {
+ FUNC_LOG;
+ iLayout = aLayout;
+ }
+
+// EOF
+