--- a/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/aknfepuictrleepcontrol.cpp Fri Jul 23 16:49:01 2010 +0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,736 +0,0 @@
-/*
-* Copyright (c) 2008 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:
- * Provides the CAknFepUICtrlEEPControl definition
- *
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#include <eikappui.h>
-#include <eikenv.h>
-#include <AknUtils.h>
-#include <AknBidiTextUtils.h> //AknBidiTextUtils
-#include <bidivisual.h> //TBidiLogicalToVisual
-#include <AknsSkinInstance.h>
-#include <AknsDrawUtils.h>
-#include <skinlayout.cdl.h>
-#include "aknlayoutscalable_avkon.cdl.h"
-
-#include "aknfepuictrleepcontrol.h"
-#include "insertionpoint.h"
-#include "aknfepuilayoutdatamgr.h"
-#include "aknfepchineseuidataconv.h"
-
-const TInt KMaxDispNum = 100;
-
-// ---------------------------------------------------------
-// NewL function.
-// ---------------------------------------------------------
-//
-CAknFepUICtrlEEPControl* CAknFepUICtrlEEPControl::NewL( RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr )
- {
- CAknFepUICtrlEEPControl* self= CAknFepUICtrlEEPControl::NewLC( aParent, aLafDataMgr );
- CleanupStack::Pop( self ); // self;
- return self;
- }
-
-// ---------------------------------------------------------
-// NewLC function.
-// ---------------------------------------------------------
-//
-CAknFepUICtrlEEPControl* CAknFepUICtrlEEPControl::NewLC( RWindow& aParent, CAknFepUiLayoutDataMgr* aLafDataMgr )
- {
- CAknFepUICtrlEEPControl* self = new ( ELeave ) CAknFepUICtrlEEPControl(aLafDataMgr);
- CleanupStack::PushL( self ) ;
- self->ConstructL( aParent );
- return self;
- }
-
-// ---------------------------------------------------------
-// Cancel and destroy.
-// ---------------------------------------------------------
-//
-CAknFepUICtrlEEPControl::~CAknFepUICtrlEEPControl( )
- {
- if ( iBuffer )
- {
- delete iBuffer;
- iBuffer = NULL;
- }
- if ( iInsertionPoint )
- {
- delete iInsertionPoint;
- iInsertionPoint = NULL;
- }
- iArray.ResetAndDestroy( );
- }
-
-// ---------------------------------------------------------
-// Draw the control.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::Draw( const TRect& /*aRect*/ ) const
- {
- CWindowGc& gc = SystemGc( );
- TAknTextLineLayout textPaneTextLayout;
- gc.Clear( Rect( ) ) ;
- gc.SetPenStyle( CGraphicsContext::ESolidPen ) ;
- TInt fontWidth = 0;
- TRect editRectTmp;
- MAknsSkinInstance* skin = AknsUtils::SkinInstance( );
- TRect outerRect;
- TRect innerRect;
- CalculateFrameRects( outerRect, innerRect ) ;
-
- AknsDrawUtils::DrawFrame( skin, gc, outerRect, innerRect,
- KAknsIIDQsnFrPopupSub, KAknsIIDQsnFrPopupCenterSubmenu ) ;
-
- TRect textrect;
- textrect.iTl = Rect().iTl + TPoint( Rect().Width( )*KLROffset/KDenominator, 3 ) ;
- textrect.SetHeight( Rect().Height( ) ) ;
- textrect.SetWidth( Rect().Width( )- Rect().Width( )*KLROffset/KDenominator * 2 ) ;
-
- TAknLayoutText layoutText;
- TAknTextLineLayout
- textLayout=
- AKN_LAYOUT_TEXT_Chinese_universal_FEP_entry_pane_texts_Line_1( 0);
- layoutText.LayoutText( textrect, textLayout ) ;
- const CFont* font = layoutText.Font( );
- gc.UseFont( font ) ;
- TInt baseLine = font->AscentInPixels( )/2 + Rect().Height( )/2 - 2;
-
- TInt arrayCount = iArray.Count( );
- TInt beg = 0;
- TInt end = iBuffer->Length( ) - 1;
-
- for ( TInt i = 0; i < arrayCount; i++ )
- {
- TSegment* tmp = iArray[i];
- fontWidth = font->TextWidthInPixels( iBuffer->Left( beg ) ) ;
- editRectTmp = textrect;
- editRectTmp.iTl.iX = textrect.iTl.iX + fontWidth;
- gc.SetPenColor( iDefaultTextColor ) ;
- gc.SetUnderlineStyle( EUnderlineOff ) ;
- gc.DrawText( iBuffer->Mid( beg, tmp->iBegin - beg ) , editRectTmp,
- baseLine ) ;
- fontWidth = font->TextWidthInPixels( iBuffer->Left( tmp->iBegin ) ) ;
- editRectTmp = textrect;
- editRectTmp.iTl.iX = textrect.iTl.iX + fontWidth;
- if ( tmp->iStyle == EHighlight )
- {
- gc.SetPenColor( iHighlightColor ) ;
- }
- else if ( tmp->iStyle == EUnderline )
- {
- gc.SetUnderlineStyle( EUnderlineOn ) ;
- }
- else if ( tmp->iStyle == EUnderlineHighlight )
- {
- gc.SetPenColor( iHighlightColor ) ;
- gc.SetUnderlineStyle( EUnderlineOn ) ;
- }
- gc.DrawText(
- iBuffer->Mid( tmp->iBegin, tmp->iEnd - tmp->iBegin + 1 ) ,
- editRectTmp, baseLine ) ;
- beg = tmp->iEnd + 1;
- }
- gc.SetPenColor( iDefaultTextColor ) ;
- gc.SetUnderlineStyle( EUnderlineOff ) ;
- fontWidth = font->TextWidthInPixels( iBuffer->Left( beg ) ) ;
- editRectTmp = textrect;
- editRectTmp.iTl.iX = textrect.iTl.iX + fontWidth;
- gc.DrawText( iBuffer->Right( end - beg + 1 ) , editRectTmp, baseLine ) ;
- gc.DiscardFont( );
-
- if ( isCursorDraw )
- {
- iInsertionPoint->SetTextRect( textrect ) ;
- //iInsertionPoint->SetHeight( font->HeightInPixels( ) + 4 ) ;
- iInsertionPoint->SetHeight();
- iInsertionPoint->Draw( gc ) ;
- }
- }
-
-// ---------------------------------------------------------
-// From CCoeControl.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::SizeChanged( )
- {
- }
-
-// ---------------------------------------------------------
-// Set the visual text and store it into member data buffer.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::SetText( const TDesC& aDes )
- {
- ResetAll( );
- * (this->iBuffer ) = aDes;
- }
-
-// ---------------------------------------------------------
-// Set the cursor position in the visual text rect.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlEEPControl::SetCursorPosition( TInt aIndex )
- {
- if ( aIndex < 0 || aIndex> iBuffer->Length() + 1 )
- {
- return -1;
- }
- else
- {
- iCursorPosition = aIndex;
- TInt offSetInPixel = 0;
- TAknTextLineLayout textPaneTextLayout =
- CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData( EEEPTextLine ));
- const CFont* font = AknLayoutUtils::FontFromId ( textPaneTextLayout.iFont,
- NULL );
- offSetInPixel = font->TextWidthInPixels ( iBuffer->Left ( iCursorPosition ) );
- this->iInsertionPoint->SetPosition ( offSetInPixel );
- return 0;
- }
- }
-
-// ---------------------------------------------------------
-// Get the cursor position in visual text.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlEEPControl::GetCursorPosition( )
- {
- return iCursorPosition;
- }
-
-// ---------------------------------------------------------
-// Set the underlined text beginning index and ending index.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlEEPControl::SetUnderline( TInt aBeg, TInt aEnd )
- {
- if ( aBeg> aEnd
- || ( aBeg < 0 || aBeg> iBuffer->Length() )
- || ( aEnd < 0 || aEnd> iBuffer->Length() ))
- {
- return -1;
- }
- else
- {
- SetSegment ( aBeg, aEnd, EUnderline );
- return 0;
- }
- }
-
-// ---------------------------------------------------------
-// Set the highlighted text beginning index and ending index.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlEEPControl::SetHighlight( TInt aBeg, TInt aEnd )
- {
- if ( aBeg> aEnd
- || ( aBeg < 0 || aBeg> iBuffer->Length() )
- || ( aEnd < 0 || aEnd> iBuffer->Length() ))
- {
- return -1;
- }
- else
- {
- SetSegment ( aBeg, aEnd, EHighlight );
- return 0;
- }
- }
-
-// ---------------------------------------------------------
-// Add a TSegment into iArray to identify the segment with a specified style.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::SetSegmentL ( TInt aBeg, TInt aEnd, TDspStyle aStyle )
- {
- TInt left = aBeg;
- TInt right = aEnd;
- TSegment* tmp;
- TSegment* newSeg;
- RPointerArray<TSegment> newArray;
- TBool consumed = EFalse;
-
- if ( iArray.Count() == 0 )
- {
- tmp = new ( ELeave )TSegment ( aBeg, aEnd, aStyle );
- TLinearOrder<TSegment> orderByBegIndex(TSegment::CompareByBegIndex);
- iArray.InsertInOrder ( tmp, orderByBegIndex );
- consumed = ETrue;
- return;
- }
-
- for ( TInt i = 0; i < iArray.Count(); i++ )
- {
- tmp = iArray[i];
- if ( left > tmp->iBegin && left < tmp->iEnd
- && right > tmp->iEnd )
- {
- if ( aStyle == tmp->iStyle )
- {
- left = tmp->iEnd + 1;
- }
- else
- {
- TInt tmpIndex = tmp->iEnd;
- tmp->iEnd = left - 1;
- newSeg = new ( ELeave ) TSegment ( left, tmpIndex, EUnderlineHighlight );
- CleanupStack::PushL( newSeg );
- newArray.AppendL( newSeg );
- CleanupStack::Pop( newSeg );
- left = tmpIndex + 1;
- }
- }
- else if ( left < tmp->iBegin
- && right > tmp->iBegin && right < tmp->iEnd )
- {
- if ( aStyle == tmp->iStyle )
- {
- tmp->iBegin = left;
- consumed = ETrue;
- break;
- }
- else
- {
- newSeg = new ( ELeave ) TSegment ( left, tmp->iBegin - 1, aStyle );
- CleanupStack::PushL(newSeg);
- newArray.AppendL( newSeg );
- CleanupStack::Pop(newSeg);
- newSeg = new ( ELeave ) TSegment ( tmp->iBegin, right, EUnderlineHighlight );
- CleanupStack::PushL(newSeg);
- newArray.AppendL( newSeg );
- CleanupStack::Pop(newSeg);
- tmp->iBegin = right + 1;
- consumed = ETrue;
- break;
- }
- }
- else if ( left > tmp->iBegin && left < tmp->iEnd
- && right > tmp->iBegin && right < tmp->iEnd )
- {
- if ( aStyle == tmp->iStyle )
- {
- consumed = ETrue;
- break;
- }
- else
- {
- newSeg = new ( ELeave ) TSegment ( tmp->iBegin, left - 1, tmp->iStyle );
- CleanupStack::PushL(newSeg);
- newArray.AppendL( newSeg );
- CleanupStack::Pop(newSeg);
- newSeg = new ( ELeave ) TSegment ( left, right, EUnderlineHighlight );
- CleanupStack::PushL(newSeg);
- newArray.AppendL( newSeg );
- CleanupStack::Pop(newSeg);
- tmp->iBegin = right + 1;
- consumed = ETrue;
- break;
- }
- }
- else if ( left < tmp->iBegin && right > tmp->iEnd )
- {
- if ( aStyle == tmp->iStyle )
- {
- tmp->iBegin = left;
- left = tmp->iEnd + 1;
- }
- else
- {
- newSeg = new ( ELeave ) TSegment ( left, tmp->iBegin - 1, aStyle );
- CleanupStack::PushL(newSeg);
- newArray.AppendL( newSeg );
- CleanupStack::Pop(newSeg);
- tmp->iStyle = EUnderlineHighlight;
- left = tmp->iEnd + 1;
- }
- }
- else if ( left < tmp->iBegin && right < tmp->iBegin )
- {
- newSeg = new ( ELeave ) TSegment ( left, right, aStyle );
- CleanupStack::PushL(newSeg);
- newArray.AppendL( newSeg );
- CleanupStack::Pop(newSeg);
- consumed = ETrue;
- break;
- }
- else if ( left > tmp->iEnd && right > tmp->iEnd )
- {
- if ( i == ( iArray.Count() - 1 )
- || right < iArray[i+1]->iBegin )
- {
- newSeg = new ( ELeave ) TSegment ( left, right, aStyle );
- CleanupStack::PushL(newSeg);
- newArray.AppendL( newSeg );
- CleanupStack::Pop(newSeg);
- consumed = ETrue;
- break;
- }
- }
- else if (left == tmp->iBegin && right < tmp->iEnd )
- {
- if ( aStyle == tmp->iStyle )
- {
- consumed = ETrue;
- break;
- }
- else
- {
- newSeg = new ( ELeave ) TSegment ( left, right, EUnderlineHighlight );
- CleanupStack::PushL(newSeg);
- newArray.AppendL( newSeg );
- CleanupStack::Pop(newSeg);
- tmp->iBegin = right + 1;
- consumed = ETrue;
- break;
- }
- }
- else if (left > tmp->iBegin && right == tmp->iEnd )
- {
- if ( aStyle == tmp->iStyle )
- {
- consumed = ETrue;
- break;
- }
- else
- {
- newSeg = new ( ELeave ) TSegment ( left, right, EUnderlineHighlight );
- CleanupStack::PushL(newSeg);
- newArray.AppendL( newSeg );
- CleanupStack::Pop(newSeg);
- tmp->iEnd = left - 1;
- consumed = ETrue;
- break;
- }
- }
- else if (left == tmp->iBegin && right == tmp->iEnd )
- {
- if ( aStyle == tmp->iStyle )
- {
- consumed = ETrue;
- break;
- }
- else
- {
- tmp->iStyle = EUnderlineHighlight;
- consumed = ETrue;
- break;
- }
- }
- else if (left == tmp->iBegin && right > tmp->iEnd )
- {
- if ( aStyle == tmp->iStyle )
- {
- left = tmp->iEnd + 1;
- }
- else
- {
- tmp->iStyle = EUnderlineHighlight;
- left = tmp->iEnd + 1;
- }
- }
- else if (left < tmp->iBegin && right == tmp->iEnd )
- {
- if ( aStyle == tmp->iStyle )
- {
- tmp->iBegin = left;
- consumed = ETrue;
- break;
- }
- else
- {
- newSeg = new ( ELeave ) TSegment ( left, tmp->iBegin - 1, aStyle );
- CleanupStack::PushL(newSeg);
- newArray.AppendL( newSeg );
- CleanupStack::Pop(newSeg);
- tmp->iStyle = EUnderlineHighlight;
- consumed = ETrue;
- break;
- }
- }
- else if (left == tmp->iEnd && tmp->iBegin < left )
- {
- if ( aStyle == tmp->iStyle )
- {
- left = tmp->iEnd + 1;
- }
- else
- {
- tmp->iEnd = tmp->iEnd - 1;
- newSeg = new ( ELeave ) TSegment ( left, left, EUnderlineHighlight );
- CleanupStack::PushL(newSeg);
- newArray.AppendL( newSeg );
- CleanupStack::Pop(newSeg);
- left = left + 1;
- }
- }
- else if (right == tmp->iBegin && tmp->iEnd > right )
- {
- if ( aStyle == tmp->iStyle )
- {
- tmp->iBegin = left;
- consumed = ETrue;
- break;
- }
- else
- {
- tmp->iBegin = tmp->iBegin + 1;
- newSeg = new ( ELeave ) TSegment ( right, right, EUnderlineHighlight );
- CleanupStack::PushL(newSeg);
- newArray.AppendL( newSeg );
- CleanupStack::Pop(newSeg);
- right = right - 1;
- }
- }
- }
-
- if ( consumed == EFalse )
- {
- newSeg = new ( ELeave ) TSegment ( left, right, aStyle );
- CleanupStack::PushL(newSeg);
- newArray.AppendL( newSeg );
- CleanupStack::Pop(newSeg);
- consumed = ETrue;
- }
-
- for ( TInt ii = 0; ii < newArray.Count(); ii++ )
- {
- TLinearOrder<TSegment> orderByBegIndex(TSegment::CompareByBegIndex);
- TSegment* tmp1 = newArray[ii];
- TInt err = 0;
- err = iArray.InsertInOrder ( newArray[ii], orderByBegIndex );
- if ( err == KErrAlreadyExists )
- {
- delete tmp1;
- }
- }
- newArray.Reset();
-
- for ( TInt ii = 0; ii < iArray.Count() - 1; )
- {
- if ( iArray[ii]->iStyle == iArray[ii + 1]->iStyle
- && iArray[ii]->iEnd + 1 == iArray[ii + 1]->iBegin )
- {
- iArray[ii]->iEnd = iArray[ii + 1]->iEnd;
- TSegment* tmp1 = iArray[ii + 1];
- iArray.Remove(ii + 1);
- delete tmp1;
- }
- else
- {
- ii ++;
- }
- }
- return;
- }
-
-// ---------------------------------------------------------
-// Add a TSegment into iArray to identify the segment with a specified style.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::SetSegment( TInt aBeg, TInt aEnd, TDspStyle aStyle )
- {
- TRAP_IGNORE( SetSegmentL( aBeg,aEnd,aStyle ) );
- }
-
-// ---------------------------------------------------------
-// Active the cursor,the cursor will be appeared with a glint.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::ActiveCursor( )
- {
- iInsertionPoint->Active( );
- }
-
-// ---------------------------------------------------------
-// Deactive the cursor, the cursor will be gray and with no glint.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::DeactiveCursor( )
- {
- iInsertionPoint->Deactive( );
- }
-
-// ---------------------------------------------------------
-// Enable the cursor.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::EnableCursor()
- {
- isCursorDraw = ETrue;
- DrawDeferred();
- }
-
-// ---------------------------------------------------------
-// Disable the cursor.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::DisableCursor()
- {
- isCursorDraw = EFalse;
- DrawDeferred();
- }
-
-// ---------------------------------------------------------
-// Move cursor to the left by a specified stride.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlEEPControl::MoveCursorLeft( TInt aStride )
- {
- TRect panerect = Rect( );
- TAknTextLineLayout textPaneTextLayout =
- CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData( EEEPTextLine ));
- const CFont* font = AknLayoutUtils::FontFromId(
- textPaneTextLayout.iFont, NULL ) ;
- if ( iCursorPosition - aStride >= 0
- && font->TextWidthInPixels( iBuffer->Left( iCursorPosition - aStride ) ) >= panerect.Width() * KLROffset / KDenominator)
- {
- iCursorPosition = iCursorPosition - aStride;
- TInt offSetInPixel = 0;
- offSetInPixel
- = font->TextWidthInPixels( iBuffer->Left( iCursorPosition ) ) ;
- this->iInsertionPoint->SetPosition( offSetInPixel ) ;
- return 0;
- }
- else
- {
- return -1;
- }
- }
-
-// ---------------------------------------------------------
-// Move cursor to the right by a specified stride.
-// ---------------------------------------------------------
-//
-TInt CAknFepUICtrlEEPControl::MoveCursorRight( TInt aStride )
- {
- TRect panerect = Rect( );
- TAknTextLineLayout textPaneTextLayout =
- CAknFepChineseUIDataConv::AnyToTextLine( iLafDataMgr->RequestData( EEEPTextLine ));
- const CFont* font = AknLayoutUtils::FontFromId(
- textPaneTextLayout.iFont, NULL ) ;
- TInt lenBegToCursor = font->TextWidthInPixels( iBuffer->Left( iCursorPosition + aStride ) );
- if ( iBuffer->Length( ) >= iCursorPosition + aStride
- && lenBegToCursor < panerect.Width() * KCursorResetStartOffset / KDenominator
- )
- {
- iCursorPosition = iCursorPosition + aStride;
- TInt offSetInPixel = 0;
- offSetInPixel
- = font->TextWidthInPixels( iBuffer->Left( iCursorPosition ) );
- this->iInsertionPoint->SetPosition( offSetInPixel ) ;
- return 0;
- }
- else
- {
- return -1;
- }
- }
-
-// ---------------------------------------------------------
-// Called by the cursor object.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::Refresh( )
- {
- this->DrawDeferred( );
- }
-
-// ---------------------------------------------------------
-// C++ constructor.
-// ---------------------------------------------------------
-//
-CAknFepUICtrlEEPControl::CAknFepUICtrlEEPControl( CAknFepUiLayoutDataMgr* aLafDataMgr )
- {
- iBuffer = NULL;
- iInsertionPoint = NULL;
- iCursorPosition = 0;
- isCursorDraw = ETrue;
- iLafDataMgr = aLafDataMgr;
- }
-
-// ---------------------------------------------------------
-// Two-phrase constructor.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::ConstructL( RWindow& aParent )
- {
- SetContainerWindowL( aParent );
- this->iBuffer = HBufC::New( KMaxDispNum ) ;
- this->iInsertionPoint = CInsertionPoint::NewL( iLafDataMgr );
- this->iInsertionPoint->SetRefreshObserver( this ) ;
- iHighlightColor = KRgbRed;
- iDefaultTextColor = KRgbBlack;
- }
-
-// ---------------------------------------------------------
-// Reset all its member data to initialized state.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::ResetAll( )
- {
- iBuffer->Des().Zero( );
- iArray.ResetAndDestroy( );
- iCursorPosition = 0;
- isCursorDraw = ETrue;
- this->iInsertionPoint->SetPosition( 0 );
- }
-
-// ---------------------------------------------------------
-// Calculate the frame rect.
-// ---------------------------------------------------------
-//
-void CAknFepUICtrlEEPControl::CalculateFrameRects( TRect& aOuterRect,
- TRect& aInnerRect ) const
- {
- TRect windowRect = CAknFepChineseUIDataConv::AnyToRect( iLafDataMgr->RequestData( EPopupRectEEP ));
- TAknLayoutRect eepFirstHorizLineLayoutRect = CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( EEEPFirstHorizLine ));
- TAknLayoutRect eepSecondHorizLineLayoutRect = CAknFepChineseUIDataConv::AnyToLayoutRect( iLafDataMgr->RequestData( EEEPSecondHorizLine ));
- TRect eepFirstHorizLineRect = eepFirstHorizLineLayoutRect.Rect();
- TRect eepSecondHorizLineRect = eepSecondHorizLineLayoutRect.Rect();
- TInt rectHeight = eepFirstHorizLineRect.iTl.iY - windowRect.iTl.iY;
- //TInt rectHeight = eepSecondHorizLineRect.iTl.iY - windowRect.iTl.iY - 1;
- TInt rectWidth = windowRect.Width( );
- windowRect.iTl.iX = 0;
- windowRect.iTl.iY = 0;
- windowRect.SetHeight( rectHeight ) ;
- windowRect.SetWidth( rectWidth ) ;
- TAknLayoutRect topLeft;
- topLeft.LayoutRect( windowRect,
- SkinLayout::Submenu_skin_placing_Line_2( ) ) ;
-
- TAknLayoutRect bottomRight;
- bottomRight.LayoutRect( windowRect,
- SkinLayout::Submenu_skin_placing_Line_5( ) ) ;
-
- aOuterRect = TRect( topLeft.Rect().iTl, bottomRight.Rect().iBr ) ;
- aInnerRect = TRect( topLeft.Rect().iBr, bottomRight.Rect().iTl ) ;
-// aOuterRect.SetHeight();
-// aInnerRect = aOuterRect;
- aInnerRect.iBr.iY = aOuterRect.iBr.iY;
- }
-
-// End of file