diff -r 000000000000 -r 72b543305e3a email/mail/ViewerSrc/CMailMsgBaseControlAdapter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/mail/ViewerSrc/CMailMsgBaseControlAdapter.cpp Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,221 @@ +/* +* Copyright (c) 2002 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: BaseControl adapter +* +*/ + + + +// INCLUDE FILES +#include "MailLog.h" +#include "CMailMsgBaseControlAdapter.h" +#include "MMailMsgBaseControl.h" +#include +#include // CMsgEditorView +#include + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CMailMsgBaseControlAdapter::CMailMsgBaseControlAdapter +// C++ constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CMailMsgBaseControlAdapter::CMailMsgBaseControlAdapter( + MMailMsgBaseControl& aBaseControl) + :iBaseControl(aBaseControl) + { + } + +// ----------------------------------------------------------------------------- +// CMailMsgBaseControlAdapter::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CMailMsgBaseControlAdapter::ConstructL() + { + iControlType = EMsgBodyControl; + } + +// ----------------------------------------------------------------------------- +// CMailMsgBaseControlAdapter::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CMailMsgBaseControlAdapter* CMailMsgBaseControlAdapter::NewL( + CCoeControl* /*aParent*/, + MMailMsgBaseControl& aControl) + { + CMailMsgBaseControlAdapter* self = new( + ELeave ) CMailMsgBaseControlAdapter(aControl); + + CleanupStack::PushL( self ); + self->ConstructL(); +// aControl.SetContainerWindowL(*aParent); + CleanupStack::Pop(); // self + return self; + } + + +// Destructor +CMailMsgBaseControlAdapter::~CMailMsgBaseControlAdapter() + { + } + +// ----------------------------------------------------------------------------- +// CMailMsgBaseControlAdapter::NotifyViewEvent +// ----------------------------------------------------------------------------- +// +void CMailMsgBaseControlAdapter::NotifyViewEvent( + TMsgViewEvent LOGPARAM_ONLY( aEvent ), TInt LOGPARAM_ONLY( aParam ) ) + { + LOG2("CMailMsgBaseControlAdapter::NotifyViewEvent aEvent:%d aParam:%d", + aEvent, aParam); + TPoint pos = Position(); + TSize sis = Size(); + /* switch( aEvent ) + { + case EMsgViewEventPrepareFocusTransitionUp: + case EMsgViewEventPrepareFocusTransitionDown: + case EMsgViewEventPrepareForViewing: + case EMsgViewEventPrepareForZooming: + case EMsgViewEventFormHeightChanged: + case EMsgViewEventFormScrolled: + case EMsgViewEventSetCursorFirstPos: + case EMsgViewEventSetCursorLastPos: + default: + };*/ + } + +// ----------------------------------------------------------------------------- +// CMailMsgBaseControlAdapter::CurrentLineRect +// ----------------------------------------------------------------------------- +// +TRect CMailMsgBaseControlAdapter::CurrentLineRect() + { + return iBaseControl.CurrentLineRect(); + } + +void CMailMsgBaseControlAdapter::SetAndGetSizeL(TSize& aSize) + { + iBaseControl.SetAndGetSizeL( aSize ); + SetSize( aSize ); + } +void CMailMsgBaseControlAdapter::ClipboardL(TMsgClipboardFunc aFunc) + { + iBaseControl.ClipboardL( aFunc ); + } +void CMailMsgBaseControlAdapter::EditL(TMsgEditFunc aFunc) + { + iBaseControl.EditL( aFunc ); + } + +// ----------------------------------------------------------------------------- +// CMailMsgBaseControlAdapter::IsFocusChangePossible +// ----------------------------------------------------------------------------- +// +TBool CMailMsgBaseControlAdapter::IsFocusChangePossible( + TMsgFocusDirection aDirection) const + { + return iBaseControl.IsFocusChangePossible( aDirection ); + } + +// ----------------------------------------------------------------------------- +// CMailMsgBaseControlAdapter::IsCursorLocation +// ----------------------------------------------------------------------------- +// +TBool CMailMsgBaseControlAdapter::IsCursorLocation( + TMsgCursorLocation aLocation) const + { + return iBaseControl.IsCursorLocation( aLocation ); + } +TUint32 CMailMsgBaseControlAdapter::EditPermission() const + { + return iBaseControl.EditPermission(); + } + +TInt CMailMsgBaseControlAdapter::CountComponentControls() const + { + return iBaseControl.CountPluginComponentControls(); + } + +CCoeControl* CMailMsgBaseControlAdapter::ComponentControl(TInt aIndex) const + { + return iBaseControl.PluginComponentControl( aIndex ); + } + +void CMailMsgBaseControlAdapter::SizeChanged() + { + LOG2("CMailMsgBaseControlAdapter::SizeChanged Position:%d iY:%d", + Position().iX, Position().iY); + LOG2("CMailMsgBaseControlAdapter::SizeChanged Size w:%d h:%d", + Size().iWidth, Size().iHeight); + TPoint editorPosition( Position() ); + TRect viewRect(0,0,0,0); + if (iBaseControlObserver) + { + viewRect = iBaseControlObserver->ViewRect(); + } + editorPosition.iY += viewRect.iTl.iY; + iBaseControl.SetPluginExtent( editorPosition, Size() ); + } + +void CMailMsgBaseControlAdapter::FocusChanged(TDrawNow aDrawNow) + { + iBaseControl.PluginFocusChanged(aDrawNow); + } + +void CMailMsgBaseControlAdapter::SetExtent( + const TPoint& LOGPARAM_ONLY( aPosition ),const TSize& /*aSize*/) + { + LOG2("CMailMsgBaseControlAdapter::SetExtent iX:%d iY:%d", + aPosition.iX, aPosition.iY); + } + +void CMailMsgBaseControlAdapter::SetPosition( + const TPoint& LOGPARAM_ONLY( aPosition ) ) + { + LOG2("CMailMsgBaseControlAdapter::SetPosition iX:%d iY:%d", + aPosition.iX, aPosition.iY); + } + +TInt CMailMsgBaseControlAdapter::VirtualHeight() + { + return iBaseControl.VirtualHeight(); + } + +TInt CMailMsgBaseControlAdapter::VirtualVisibleTop() + { + return iBaseControl.VirtualVisibleTop(); + } + +void CMailMsgBaseControlAdapter::HandleResourceChange(TInt aType) + { + iBaseControl.PluginHandleResourceChange( aType ); + } + +TKeyResponse CMailMsgBaseControlAdapter::OfferKeyEventL( + const TKeyEvent& aKeyEvent,TEventCode aType) + { + return iBaseControl.PluginOfferKeyEventL(aKeyEvent, aType); + } + +void CMailMsgBaseControlAdapter::PrepareForReadOnly(TBool aReadOnly) + { + iBaseControl.PrepareForReadOnly( aReadOnly ); + } + +// End of File