--- /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 <MsgBaseControl.h>
+#include <MsgEditorView.h> // CMsgEditorView
+#include <MsgEditorCommon.h>
+
+
+// ============================ 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