imstutils/imconversationview/imcvuiapp/src/cimcvapplayoutinfo.cpp
changeset 0 5e5d6b214f4f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/imstutils/imconversationview/imcvuiapp/src/cimcvapplayoutinfo.cpp	Tue Feb 02 10:12:18 2010 +0200
@@ -0,0 +1,863 @@
+/*
+* Copyright (c) 2007-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:  layout info class
+*
+*/
+
+
+
+// INCLUDE FILES
+#include	"cimcvapplayoutinfo.h"
+#include	<AknUtils.h>
+#include	<applayout.cdl.h> //cdl
+#include	<f32file.h>
+#include    <aknlayoutscalable_apps.cdl.h>
+#include 	"imcvlogger.h"
+
+// CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+// -----------------------------------------------------------------------------
+// CIMCVAppLayoutInfo::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CIMCVAppLayoutInfo* CIMCVAppLayoutInfo::NewL( TChatListBoxLayout::TLayout aLayoutID )
+    {
+    IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::NewL()	start" ));
+    CIMCVAppLayoutInfo* self = new (ELeave) CIMCVAppLayoutInfo( aLayoutID );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::NewL()	end" ));
+    return self;
+  
+    }
+
+// -----------------------------------------------------------------------------
+// CIMCVAppLayoutInfo::~CIMCVAppLayoutInfo
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CIMCVAppLayoutInfo::~CIMCVAppLayoutInfo()
+    {
+	if ( iReadingPane )
+		{
+		iReadingPane->Reset();
+		delete iReadingPane;
+		}
+
+	if ( iWrittingPane )
+		{
+		iWrittingPane->Reset();
+		delete iWrittingPane;
+		}
+
+	if ( iReadingField )
+		{
+		iReadingField->Reset();
+		delete iReadingField;
+		}
+
+	if ( iReadingPaneTextsLine1 )
+		{
+		iReadingPaneTextsLine1->Reset();
+		delete iReadingPaneTextsLine1;
+		}
+
+	if ( iIMTextElements )
+		{
+		iIMTextElements->Reset();
+		delete iIMTextElements;
+		}
+
+	if ( iWrittingPaneTextsLine )
+		{
+		iWrittingPaneTextsLine->Reset();
+		delete iWrittingPaneTextsLine;
+		}
+
+	if ( iIMWritingFieldLine1 )
+		{
+		iIMWritingFieldLine1->Reset();
+		delete iIMWritingFieldLine1;
+		}
+
+	if ( iIMWritingFieldLine3 )
+		{
+		iIMWritingFieldLine3->Reset();
+		delete iIMWritingFieldLine3;
+		}
+
+	if ( iIMNaviPaneTextsLine1 )
+		{
+		iIMNaviPaneTextsLine1->Reset();
+		delete iIMNaviPaneTextsLine1;
+		}
+
+	if ( iIMNaviPaneTextsLine2 )
+		{
+		iIMNaviPaneTextsLine2->Reset();
+		delete iIMNaviPaneTextsLine2;
+		}
+    }
+
+// -----------------------------------------------------------------------------
+// CIMCVAppLayoutInfo::CIMCVAppLayoutInfo
+// C++ constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+CIMCVAppLayoutInfo::CIMCVAppLayoutInfo( TChatListBoxLayout::TLayout aLayoutID ) :
+	iLayoutID( aLayoutID )
+    {
+    IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::CIMCVAppLayoutInfo()	start" ));
+    IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::CIMCVAppLayoutInfo()	end" ));
+    }
+
+// -----------------------------------------------------------------------------
+// CIMCVAppLayoutInfo::ConstructL
+// Second phase constructor
+// -----------------------------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::ConstructL()
+    {
+    IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::ConstructL()	start" ));
+	SetupMainPaneRect();
+	FillLayoutL();
+	LogLayoutL();
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::ConstructL()	end" ));
+    }
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::LayoutChangedL
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::LayoutChangedL( TInt /*aType = 0*/ )
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::LayoutChangedL()	start" ));
+	FillLayoutL();
+
+	TAknLayoutRect myLayoutRect;
+
+	TAknLayoutRect myLine;
+
+	//update MainPaneRect
+	SetupMainPaneRect();
+
+	TAknWindowLineLayout readingPane = im_reading_pane( iLayoutID );
+
+	myLayoutRect.LayoutRect( iMainPaneRect, readingPane );
+
+	//line height
+	TAknWindowLineLayout lineLayout = im_reading_field( 0 );
+
+	myLine.LayoutRect( myLayoutRect.Rect(), lineLayout );
+
+	TAknTextLineLayout myMessageHeaderLayout =
+		IM_reading_pane_texts_Line_1( 1 );
+		
+	TAknLayoutText myTextLayout;
+	TAknLayoutText myTextLayout2;
+
+	myTextLayout.LayoutText( myLine.Rect(), myMessageHeaderLayout);
+
+	// IconSkip
+	myMessageHeaderLayout = IM_reading_pane_texts_Line_1( 2 );
+
+	myTextLayout2.LayoutText( myLine.Rect(), myMessageHeaderLayout);
+
+	// MsgFont
+
+	TAknTextLineLayout myMessageLayout = IM_reading_pane_texts_Line_2();
+
+	//normal message text with indent
+	myTextLayout.LayoutText( myLine.Rect(), myMessageLayout);
+
+	//header with full width
+	myMessageHeaderLayout = IM_reading_pane_texts_Line_1( 1 );
+	myTextLayout2.LayoutText( myLine.Rect(), myMessageHeaderLayout);
+
+	
+	// MaxNickWidth
+
+	myMessageHeaderLayout = IM_reading_pane_texts_Line_1( 0 );
+
+	myTextLayout.LayoutText( myLine.Rect(), myMessageHeaderLayout);
+
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::LayoutChangedL()	end" ));
+	}
+
+
+// CIMCVAppLayoutInfo::MainPaneRect
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TRect CIMCVAppLayoutInfo::MainPaneRect()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::MainPaneRect()	start" ));
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::MainPaneRect()	end" ));
+	return TRect( iMainPaneRect );
+	}
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::SetLayoutID
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::SetLayoutID( TChatListBoxLayout::TLayout aLayout )
+	{
+	iLayoutID = aLayout;
+	TRAPD( err, LayoutChangedL() );
+	if( err != KErrNone )
+		{
+		CActiveScheduler::Current()->Error( err );
+		}
+	}
+
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::ScreenRect
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TRect CIMCVAppLayoutInfo::ScreenRect()
+	{
+	return iScreenRect;
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::SetEditorVisibility
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::SetEditorVisibility( TBool aVisible )
+	{
+	iEditorVisibility = aVisible;
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::EditorVisibility
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool CIMCVAppLayoutInfo::EditorVisibility()
+	{
+	return iEditorVisibility;
+	}
+
+// CIMCVAppLayoutInfo::SetupMainPaneRect
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::SetupMainPaneRect()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::SetupMainPaneRect()	start" ));
+	AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
+		iMainPaneRect );
+	_LIT( KMain, "MainPane");
+
+	iMainPaneRect.Move( -iMainPaneRect.iTl.iX, -iMainPaneRect.iTl.iY );
+
+	DPRect( KMain, iMainPaneRect );
+
+	TRect myControlPane;
+	AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EControlPane,
+		myControlPane );
+	_LIT( KControlPane, "ControlPane");
+	DPRect( KControlPane, myControlPane );
+	//this is screen relative lets move back to origin.
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::SetupMainPaneRect()	end" ));
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::im_reading_pane
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TAknWindowLineLayout CIMCVAppLayoutInfo::im_reading_pane(TInt aIndex_H)
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::im_reading_pane()	start" ));
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::im_reading_pane()	end" ));
+	return (*iReadingPane)[ aIndex_H ];
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::im_reading_field
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TAknWindowLineLayout CIMCVAppLayoutInfo::im_reading_field(TInt aIndex_t)
+	{
+	return (*iReadingField)[ aIndex_t ];
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::IM_text_elements
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TAknWindowLineLayout CIMCVAppLayoutInfo::IM_text_elements(TInt aLineIndex)
+	{
+	return (*iIMTextElements)[ aLineIndex ];
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::IM_reading_pane_texts_Line_1
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TAknTextLineLayout CIMCVAppLayoutInfo::IM_reading_pane_texts_Line_1(TInt aCommon1)
+	{
+	return (*iReadingPaneTextsLine1)[ aCommon1 ];
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::IM_reading_pane_texts_Line_2
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TAknTextLineLayout CIMCVAppLayoutInfo::IM_reading_pane_texts_Line_2()
+	{
+	return iReadingPaneTextsLine2;
+	}
+
+// CIMCVAppLayoutInfo::im_writing_pane
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TAknWindowLineLayout CIMCVAppLayoutInfo::im_writing_pane( TInt aCommon1 )
+	{
+	return (*iWrittingPane)[ aCommon1 ];
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::IM_writing_field_elements_Line_1
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TAknWindowLineLayout CIMCVAppLayoutInfo::IM_writing_field_elements_Line_1(
+		TInt aIndex_H )
+	{
+	return (*iIMWritingFieldLine1)[ aIndex_H ];
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::IM_writing_field_elements_Line_2
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TAknWindowLineLayout CIMCVAppLayoutInfo::IM_writing_field_elements_Line_2()
+	{
+	return iIMWritingFieldLine2;
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::IM_writing_field_elements_Line_3
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TAknWindowLineLayout CIMCVAppLayoutInfo::IM_writing_field_elements_Line_3(
+		TInt aIndex_H )
+	{
+	return (*iIMWritingFieldLine3)[ aIndex_H ];
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::Multiline_IM_writing_pane_texts_Line_1
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TAknMultiLineTextLayout CIMCVAppLayoutInfo::Multiline_IM_writing_pane_texts_Line_1(
+		TInt aNumberOfLinesShown)
+	{
+	return (*iWrittingPaneTextsLine)[ aNumberOfLinesShown ];
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::IM_navi_pane_texts_Line_1
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TAknTextLineLayout CIMCVAppLayoutInfo::IM_navi_pane_texts_Line_1(
+		TInt aIndex_C, TInt /*aIndex_W*/)
+	{
+	return (*iIMNaviPaneTextsLine1)[ aIndex_C ];
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::LogLayout
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::LogLayoutL()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::LogLayoutL()	start" ));
+#ifdef _DEBUG
+
+	_LIT( K1,"im_reading_pane( 0 ) ");
+	DPLayout( K1, AppLayout::im_reading_pane( 0 ) );
+	DPLayout( K1, im_reading_pane( 0 ) );
+	_LIT( K2,"im_reading_pane( 1 ) ");
+	DPLayout( K2, AppLayout::im_reading_pane( 1 ) );
+	DPLayout( K2, im_reading_pane( 1 ) );
+	_LIT( K3,"im_reading_pane( 2 ) ");
+	DPLayout( K3, AppLayout::im_reading_pane( 2 ) );
+	DPLayout( K3, im_reading_pane( 2 ) );
+
+	_LIT( KWP1,"im_writing_pane( 0 )");
+	DPLayout( KWP1, AppLayout::im_writing_pane( 0 ) );
+	DPLayout( KWP1, im_writing_pane( 0 ) );
+	_LIT( KWP2,"im_writing_pane( 1 )");
+	DPLayout( KWP2, AppLayout::im_writing_pane( 1 ) );
+	DPLayout( KWP2, im_writing_pane( 1 ) );
+
+	_LIT( K4,"im_reading_field( 0 ) ");
+	DPLayout( K4, AppLayout::im_reading_field( 0 ) );
+	DPLayout( K4, im_reading_field( 0 ) );
+	_LIT( K5,"im_reading_field( 1 ) ");
+	DPLayout( K5, AppLayout::im_reading_field( 1 ) );
+	DPLayout( K5, im_reading_field( 1 ) );
+	_LIT( K6,"im_reading_field( 2 ) ");
+	DPLayout( K6, AppLayout::im_reading_field( 2 ) );
+	DPLayout( K6, im_reading_field( 2 ) );
+	_LIT( K7,"im_reading_field( 3 ) ");
+	DPLayout( K7, AppLayout::im_reading_field( 3 ) );
+	DPLayout( K7, im_reading_field( 3 ) );
+	_LIT( K8,"im_reading_field( 4 ) ");
+	DPLayout( K8, AppLayout::im_reading_field( 4 ) );
+	DPLayout( K8, im_reading_field( 4 ) );
+	_LIT( K9,"im_reading_field( 5 ) ");
+	DPLayout( K9, AppLayout::im_reading_field( 5 ) );
+	DPLayout( K9, im_reading_field( 5 ) );
+	_LIT( K10,"im_reading_field( 6 ) ");
+	DPLayout( K10, AppLayout::im_reading_field( 6 ) );
+	DPLayout( K10, im_reading_field( 6 ) );
+	
+    TAknLayoutScalableParameterLimits limits( 
+        AknLayoutScalable_Apps::list_im_single_pane_ParamLimits() );
+
+    if( 7 <= limits.LastRow() )
+        {
+        _LIT( K11,"im_reading_field( 7 ) ");
+    	DPLayout( K11, AppLayout::im_reading_field( 7 ) );
+    	DPLayout( K11, im_reading_field( 7 ) );    
+        }
+
+	_LIT( KRPT0,"IM_reading_pane_texts_Line_1( 0 )");
+	DPLayout( KRPT0, AppLayout::IM_reading_pane_texts_Line_1( 0 ) );
+	DPLayout( KRPT0, IM_reading_pane_texts_Line_1( 0 ) );
+	_LIT( KRPT1,"IM_reading_pane_texts_Line_1( 1 )");
+	DPLayout( KRPT1, AppLayout::IM_reading_pane_texts_Line_1( 1 ) );
+	DPLayout( KRPT1, IM_reading_pane_texts_Line_1( 1 ) );
+	_LIT( KRPT2,"IM_reading_pane_texts_Line_1( 2 )");
+	DPLayout( KRPT2, AppLayout::IM_reading_pane_texts_Line_1( 2 ) );
+	DPLayout( KRPT2, IM_reading_pane_texts_Line_1( 2 ) );
+	_LIT( KRPT3,"IM_reading_pane_texts_Line_2()");
+	DPLayout( KRPT3, AppLayout::IM_reading_pane_texts_Line_2() );
+	DPLayout( KRPT3, IM_reading_pane_texts_Line_2() );
+
+	_LIT( KIMT1,"IM_text_elements( 0 )");
+	DPLayout( KIMT1, AppLayout::IM_text_elements( 0 ) );
+	DPLayout( KIMT1, IM_text_elements( 0 ) );
+	_LIT( KIMT2,"IM_text_elements( 1 )");
+	DPLayout( KIMT2, AppLayout::IM_text_elements( 1 ) );
+	DPLayout( KIMT2, IM_text_elements( 1 ) );
+	_LIT( KIMT3,"IM_text_elements( 2 )");
+	DPLayout( KIMT3, AppLayout::IM_text_elements( 2 ) );
+	DPLayout( KIMT3, IM_text_elements( 2 ) );
+
+	_LIT( KMWPT0,"Multiline_IM_writing_pane_texts_Line_1( 0 )");
+	DPLayout( KMWPT0, AppLayout::Multiline_IM_writing_pane_texts_Line_1( 0 ) );
+	DPLayout( KMWPT0, Multiline_IM_writing_pane_texts_Line_1( 0 ) );
+
+	_LIT( KMWPT1,"Multiline_IM_writing_pane_texts_Line_1( 1 )");
+	DPLayout( KMWPT1, AppLayout::Multiline_IM_writing_pane_texts_Line_1( 1 ) );
+	DPLayout( KMWPT1, Multiline_IM_writing_pane_texts_Line_1( 1 ) );
+
+	_LIT( KMWPT2,"Multiline_IM_writing_pane_texts_Line_1( 2 )");
+	DPLayout( KMWPT2, AppLayout::Multiline_IM_writing_pane_texts_Line_1( 2 ) );
+	DPLayout( KMWPT2, Multiline_IM_writing_pane_texts_Line_1( 2 ) );
+
+	_LIT( KWFL10,"IM_writing_field_elements_Line_1( 0 )");
+	DPLayout( KWFL10, AppLayout::IM_writing_field_elements_Line_1( 0 ) );
+	DPLayout( KWFL10, IM_writing_field_elements_Line_1( 0 ) );
+
+	_LIT( KWFL11,"IM_writing_field_elements_Line_1( 1 )");
+	DPLayout( KWFL11, AppLayout::IM_writing_field_elements_Line_1( 1 ) );
+	DPLayout( KWFL11, IM_writing_field_elements_Line_1( 1 ) );
+
+	_LIT( KWFL2,"IM_writing_field_elements_Line_2()");
+	DPLayout( KWFL2, AppLayout::IM_writing_field_elements_Line_2() );
+	DPLayout( KWFL2, IM_writing_field_elements_Line_2() );
+
+	_LIT( KWFL30,"IM_writing_field_elements_Line_3( 0 )");
+	DPLayout( KWFL30, AppLayout::IM_writing_field_elements_Line_3( 0 ) );
+	DPLayout( KWFL30, IM_writing_field_elements_Line_3( 0 ) );
+
+	_LIT( KWFL31,"IM_writing_field_elements_Line_3( 1 )");
+	DPLayout( KWFL31, AppLayout::IM_writing_field_elements_Line_3( 1 ) );
+	DPLayout( KWFL31, IM_writing_field_elements_Line_3( 1 ) );
+
+	HBufC* myStr = HBufC::NewLC( 60 );
+	TPtr myPtr = myStr->Des();
+
+	_LIT( KNPTL,"IM_navi_pane_texts_Line_1( ");
+	_LIT( KNPTL0,"AppLayout::");
+	_LIT( KNPTL1,", 0 )");
+	_LIT( KNPTL2,", 1 )");
+	TInt i(0);
+	for( i=0; i<10; i++ )
+		{
+		myPtr.Copy( KNPTL0() );
+		myPtr.Append( KNPTL() );
+		myPtr.AppendNum( i );
+		myPtr.Append( KNPTL1() );
+		DPLayout( myPtr, IM_navi_pane_texts_Line_1( i ,0 ) );
+
+		myPtr.Copy( KNPTL() );
+		myPtr.AppendNum( i );
+		myPtr.Append( KNPTL1() );
+		DPLayout( myPtr, IM_navi_pane_texts_Line_1( i ,0 ) );
+		}
+	for( i =0; i<10; i++ )
+		{
+		myPtr.Copy( KNPTL0() );
+		myPtr.Append( KNPTL() );
+		myPtr.AppendNum( i );
+		myPtr.Append( KNPTL2() );
+		DPLayout( myPtr, IM_navi_pane_texts_Line_1( i ,1 ) );
+
+		myPtr.Copy( KNPTL() );
+		myPtr.AppendNum( i );
+		myPtr.Append( KNPTL2() );
+		DPLayout( myPtr, IM_navi_pane_texts_Line_1( i ,1 ) );
+		}
+
+	CleanupStack::PopAndDestroy( myStr );
+
+#endif // _DEBUG
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::LogLayoutL()	end" ));
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::DPLayout
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::DPLayout( const TDesC& /*aStr*/, const TAknTextLineLayout /*aLayout*/ )
+	{
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::DPLayout
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::DPLayout( const TDesC& /*aStr*/,
+		const TAknWindowLineLayout /*aLayout*/ )
+	{
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::DPRect
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::DPRect( const TDesC& /*aStr*/, const TRect& /*aRect*/ )
+	{
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::FillLayoutL
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::FillLayoutL()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillLayoutL()	start" ));
+	AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, iScreenRect );
+	if ( iLastScreenRect != iScreenRect )
+		{
+		FillReadingPaneL();
+		FillWrittingPaneL();
+		FillReadingFieldL();
+		FillReadingPaneTextsLine1L();
+		FillReadingPaneTextsLine2();
+		FillIMTextElementsL();
+		FillWrittingPaneTextsLineL();
+		FillIMWritingFieldLine1L();
+		FillIMWritingFieldLine2();
+		FillIMWritingFieldLine3L();
+		FillIMNaviPaneTextsLineL();
+		}
+	iLastScreenRect = iScreenRect;
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillLayoutL()	end" ));
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::FillReadingPaneL
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::FillReadingPaneL()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillReadingPaneL()	start" ));
+	if ( iReadingPane )
+		{
+		iReadingPane->Reset();
+		delete iReadingPane;
+		iReadingPane = NULL;
+		}
+
+	iReadingPane = new( ELeave )CArrayFixFlat<TAknWindowLineLayout>( 3 );
+	for( TInt i(0); i < 3; i++ )
+		{
+		iReadingPane->AppendL( AppLayout::im_reading_pane( i ) );
+		}
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillReadingPaneL()	end" ));
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::FillReadingFieldL
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::FillReadingFieldL()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillReadingFieldL()	start" ));
+	if ( iReadingField )
+		{
+		iReadingField->Reset();
+		delete iReadingField;
+		iReadingField = NULL;
+		}
+
+    TAknLayoutScalableParameterLimits limits( 
+        AknLayoutScalable_Apps::list_im_single_pane_ParamLimits() );
+
+    // items from FirstRow to LastRow
+	iReadingField = new( ELeave )CArrayFixFlat<TAknWindowLineLayout>( 
+	        limits.LastRow() - limits.FirstRow() + 1 );
+    
+	for( TInt i( limits.FirstRow() ); i <= limits.LastRow(); ++i )
+		{
+		iReadingField->AppendL( AppLayout::im_reading_field( i ) );
+		}
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillReadingFieldL()	end" ));
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::FillReadingPaneTextsLine1
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::FillReadingPaneTextsLine1L()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillReadingPaneTextsLine1L()	start" ));
+	if ( iReadingPaneTextsLine1 )
+		{
+		iReadingPaneTextsLine1->Reset();
+		delete iReadingPaneTextsLine1;
+		iReadingPaneTextsLine1 = NULL;
+		}
+
+	iReadingPaneTextsLine1 = new( ELeave )CArrayFixFlat<TAknTextLineLayout>( 3 );
+	for( TInt i(0); i < 3; i++ )
+		{
+		iReadingPaneTextsLine1->AppendL(
+			AppLayout::IM_reading_pane_texts_Line_1( i ) );
+		}
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillReadingPaneTextsLine1L()	end" ));
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::FillIMTextElementsL
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::FillIMTextElementsL()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillIMTextElementsL()	start" ));
+	if ( iIMTextElements )
+		{
+		iIMTextElements->Reset();
+		delete iIMTextElements;
+		iIMTextElements = NULL;
+		}
+
+	iIMTextElements = new( ELeave )CArrayFixFlat<TAknWindowLineLayout>( 3 );
+	for( TInt i(0); i < 3; i++ )
+		{
+		iIMTextElements->AppendL( AppLayout::IM_text_elements( i ) );
+		}
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillIMTextElementsL()	end" ));
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::FillReadingPaneTextsLine2
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::FillReadingPaneTextsLine2()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillReadingPaneTextsLine2()	start" ));
+	iReadingPaneTextsLine2 = AppLayout::IM_reading_pane_texts_Line_2();
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillReadingPaneTextsLine2()	end" ));
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::FillWrittingPaneTextsLineL
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::FillWrittingPaneTextsLineL()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillWrittingPaneTextsLineL()	start" ));
+	if ( iWrittingPaneTextsLine )
+		{
+		iWrittingPaneTextsLine->Reset();
+		delete iWrittingPaneTextsLine;
+		iWrittingPaneTextsLine = NULL;
+		}
+
+	iWrittingPaneTextsLine = new( ELeave )CArrayFixFlat<TAknMultiLineTextLayout>( 3 );
+	for( TInt i(0); i < 3; i++ )
+		{
+		iWrittingPaneTextsLine->AppendL(
+			AppLayout::Multiline_IM_writing_pane_texts_Line_1( i ) );
+		}
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillWrittingPaneTextsLineL()	end" ));
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::FillIMWritingFieldLine1
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::FillIMWritingFieldLine1L()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillIMWritingFieldLine1L()	start" ));
+	if ( iIMWritingFieldLine1 )
+		{
+		iIMWritingFieldLine1->Reset();
+		delete iIMWritingFieldLine1;
+		iIMWritingFieldLine1 = NULL;
+		}
+
+	iIMWritingFieldLine1 = new( ELeave )CArrayFixFlat<TAknWindowLineLayout>( 3 );
+	for( TInt i(0); i < 2; i++ )
+		{
+		iIMWritingFieldLine1->AppendL(
+			AppLayout::IM_writing_field_elements_Line_1( i ) );
+		}
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillIMWritingFieldLine1L()	end" ));
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::FillIMWritingFieldLine2
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::FillIMWritingFieldLine2()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillIMWritingFieldLine2()	start" ));
+	iIMWritingFieldLine2 =
+		AppLayout::IM_writing_field_elements_Line_2();
+	iIMWritingFieldLine2.iH = 1;
+	iIMWritingFieldLine2.iW = ELayoutP;
+	iIMWritingFieldLine2.iC = 221;
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillIMWritingFieldLine2()	end" ));
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::FillIMWritingFieldLine3L
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::FillIMWritingFieldLine3L()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillIMWritingFieldLine3L()	start" ));
+	if ( iIMWritingFieldLine3 )
+		{
+		iIMWritingFieldLine3->Reset();
+		delete iIMWritingFieldLine3;
+		iIMWritingFieldLine3 = NULL;
+		}
+
+	iIMWritingFieldLine3 = new ( ELeave ) CArrayFixFlat< TAknWindowLineLayout >(
+		 3 );
+	for( TInt i(0); i < 2; i++ )
+		{
+		iIMWritingFieldLine3->AppendL(
+			AppLayout::IM_writing_field_elements_Line_3( i ) );
+		}
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillIMWritingFieldLine3L()	end" ));
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::FillWrittingPaneL
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::FillWrittingPaneL()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillWrittingPaneL()	start" ));
+	if ( iWrittingPane )
+		{
+		iWrittingPane->Reset();
+		delete iWrittingPane;
+		iWrittingPane = NULL;
+		}
+
+	iWrittingPane = new( ELeave )CArrayFixFlat<TAknWindowLineLayout>( 2 );
+	for( TInt i(0); i < 2; i++ )
+		{
+		iWrittingPane->AppendL( AppLayout::im_writing_pane( i ) );
+		}
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillWrittingPaneL()	end" ));
+	}
+
+// ---------------------------------------------------------
+// CIMCVAppLayoutInfo::FillIMNaviPaneTextsLine
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CIMCVAppLayoutInfo::FillIMNaviPaneTextsLineL()
+	{
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillIMNaviPaneTextsLineL()	start" ));
+	// fader colors from LAF. These are hardcoded as the LAF (impl.) adviced. 
+	const TInt16 colors[] = { 234, 232, 230, 228, 226, 0, 226, 227, 228, 229 };
+
+	if ( iIMNaviPaneTextsLine1 )
+		{
+		iIMNaviPaneTextsLine1->Reset();
+		delete iIMNaviPaneTextsLine1;
+		iIMNaviPaneTextsLine1 = NULL;
+		}
+
+	iIMNaviPaneTextsLine1 = 
+	    new ( ELeave ) CArrayFixFlat<TAknTextLineLayout>( 10 );
+    
+    TAknTextLineLayout text;
+	for( TInt i(0); i < 10; i++ )
+		{
+		text = AknLayoutScalable_Apps::navi_pane_im_t1();
+		text.iC = colors[ i ];
+		iIMNaviPaneTextsLine1->AppendL( text );
+		}
+	IM_CV_LOGS(TXT("CIMCVAppLayoutInfo::FillIMNaviPaneTextsLineL()	end" ));
+	}
+
+// End of File