fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlExactWordPopupContent.cpp
changeset 40 2cb9bae34d17
parent 31 f1bdd6b078d1
child 49 37f5d84451bd
--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/AknFepUiAvkonCtrlExactWordPopupContent.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-/*
-* 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:             Contents of the exact word tooltip shown above inline editor
-*                when the exact word differs from the inline word in Western
-*                QWERTY predictive mode.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <eiklabel.h>
-#include <AknUtils.h>
-#include <AknsUtils.h>
-#include <AknPreviewPopUpController.h>
-#include "AknFepUiAvkonCtrlExactWordPopupContent.h"
-
-
-const TInt KArrowWidth = 10;
-const TInt KArrowHeight = 5;
-
-CAknFepExactWordPopupContent* CAknFepExactWordPopupContent::NewL()
-    {
-    CAknFepExactWordPopupContent* self = new (ELeave) CAknFepExactWordPopupContent;
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-    
-    
-CAknFepExactWordPopupContent::CAknFepExactWordPopupContent()
-    : iIsPopUpVisible(EFalse)
-    , iLabel( NULL )
-    , iPopupController( NULL )
-    , iArrowDirection( EUpwards )
-    {
-    }
-
-
-void CAknFepExactWordPopupContent::ConstructL()
-    {
-    iLabel = new (ELeave) CEikLabel;
-    iLabel->SetTextL(KNullDesC);
-
-  	const CFont* font = AknLayoutUtils::FontFromId( AknLayout::Link_shortcut_title_texts_Line_1().FontId() );
-    iLabel->SetFont(font);
-
-    TRgb textColor(KRgbBlack);
-    iLabel->GetColor(EColorLabelText, textColor);
-    AknsUtils::GetCachedColor(AknsUtils::SkinInstance(), textColor, 
-                              KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG20);
-    TRAP_IGNORE( AknLayoutUtils::OverrideControlColorL(*iLabel, EColorLabelText, textColor) );
-    
-    TRect screenRect;
- 	AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screenRect );
-    iLabel->SetRect( screenRect );
-    SetRect( screenRect ); 
-     
-    iPopupController = CAknPreviewPopUpController::NewL( *this, 
-                                                        CAknPreviewPopUpController::EPermanentMode );
-    iPopupController->SetPopUpShowDelay(0);   
-    }
-
-MAknFepUiWordPopupContent::~MAknFepUiWordPopupContent()
-	{
-		
-	}
-    
-CAknFepExactWordPopupContent::~CAknFepExactWordPopupContent()
-    {
-    delete iLabel;
-    delete iPopupController;
-    }
-    
-        
-void CAknFepExactWordPopupContent::SetTextL( const TDesC& aText )
-    {
-    iLabel->SetTextL(aText);
-    }
-
-
-void CAknFepExactWordPopupContent::SetArrowDirection( MAknFepUiWordPopupContent::TArrowDirection aDirection )
-    {
-    iArrowDirection = aDirection;
-    }
-
-
-TSize CAknFepExactWordPopupContent::MinimumSize()
-    {
-    // Ensure we are on top. Otherwise the popup would be left on background in many applications
-    // (e.g. Notes, ActiveNotes, Messaging, Contacts).
-    Window().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront);
-
-    TSize minSize = iLabel->MinimumSize();
-    //minSize.iHeight *= 2;
-    return minSize;
-    }
-    
-        
-void CAknFepExactWordPopupContent::Draw( const TRect& aRect ) const
-    {
-    TRect labelRect(aRect);
-
-    if ( iPopupController )
-        {
-        labelRect.SetSize( iPopupController->Size() );
-        }
-    
-    // Reserve some space for the arrow, if it is going to be shown below the text
-    if ( iArrowDirection == EUpwards )
-        {
-        labelRect.iTl.iY -= KArrowHeight;
-        }
-        
-    iLabel->SetRect( labelRect );
-    iLabel->Draw( labelRect );
-
-    TRAP_IGNORE( DrawArrowL( aRect ) );
-    }
-        
-
-void CAknFepExactWordPopupContent::DrawArrowL( const TRect& aTextRect ) const
-    {
-    CWindowGc& gc = SystemGc();
-    gc.SetPenColor( iEikonEnv->ControlColor(EColorLabelText,*this) );
-    gc.SetBrushColor( iEikonEnv->ControlColor(EColorControlBackground,*this) );
-    gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-            
-    CArrayFix<TPoint>* arrow = new (ELeave) CArrayFixFlat<TPoint>(3);
-    CleanupStack::PushL(arrow);
-
-    TPoint offset( aTextRect.iTl.iX + aTextRect.Width()/2 - KArrowWidth/2, 0 );
-
-    TPoint angle1;
-    TPoint angle2;
-    TPoint angle3;
-
-
-    if ( iArrowDirection == EDownwards )
-        {
-        offset.iY = aTextRect.iTl.iY - KArrowHeight;
-        angle1.SetXY( 0, 0 );
-        angle2.SetXY( KArrowWidth, 0 );
-        angle3.SetXY( KArrowWidth/2, KArrowHeight );
-        }
-    else // EUpwards
-        {
-        offset.iY = aTextRect.iBr.iY;
-        angle1.SetXY( 0, KArrowHeight );
-        angle2.SetXY( KArrowWidth, KArrowHeight );
-        angle3.SetXY( KArrowWidth/2, 0 );
-        }
-
-    arrow->AppendL( angle1 + offset );
-    arrow->AppendL( angle2 + offset );
-    arrow->AppendL( angle3 + offset );
-
-    gc.DrawPolygon(arrow);
-    CleanupStack::PopAndDestroy(arrow);
-    }
-
-void CAknFepExactWordPopupContent::SetPopUpShowDelay( const TTimeIntervalMicroSeconds32& aDelay )
-	{
-	iPopupController->SetPopUpShowDelay( aDelay );
-	}
-void CAknFepExactWordPopupContent::ShowPopUp()
-	{
-	iIsPopUpVisible = ETrue;
-	iPopupController->ShowPopUp();
-	}
-void CAknFepExactWordPopupContent::HidePopUp()
-	{
-	iIsPopUpVisible = EFalse;
-	iPopupController->HidePopUp();	
-	}
-void CAknFepExactWordPopupContent::SetPosition( const TPoint& aPoint )
-	{
-	iPopupController->SetPosition( aPoint );
-	}
-void CAknFepExactWordPopupContent::UpdateContentSize()
-	{
-	iPopupController->UpdateContentSize();	
-	}
-TSize CAknFepExactWordPopupContent::Size() const 
-	{
-	return iPopupController->Size();
-	}
-TBool CAknFepExactWordPopupContent::IsPopUpVisible()
-	{
-	return iIsPopUpVisible;	
-	}
-	
-void CAknFepExactWordPopupContent::HandlePointerEventL( const TPointerEvent& aPointerEvent )	
-	{
-	if( !AknLayoutUtils::PenEnabled() )
-		{
-		return;
-		}
-
-	if (TPointerEvent::EButton1Down == aPointerEvent.iType)
-		{
-       	TKeyEvent keyUp = {EKeyUpArrow, EStdKeyUpArrow, 0, 0};
-    	CCoeEnv::Static()->WsSession().SimulateKeyEvent(keyUp);
-		}
-	}