diff -r 000000000000 -r 8466d47a6819 emailuis/uicomponents/src/fslayoutmanager.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailuis/uicomponents/src/fslayoutmanager.cpp Thu Dec 17 08:39:21 2009 +0200 @@ -0,0 +1,708 @@ +/* +* 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: This file implements class CFsLayoutManager. +* +*/ + + +#include "emailtrace.h" +#include +#include +#include +#include +#include +#include +#include +#include +// SF +#include +#include +// +#include +#include + +// As a device user, I want Message List items to follow platform layouts to be consistent with other apps +#include +// + +// +//A lot of stuff removed, dependencies to FSLayout REMOVED!! +// + +#include "fslayoutmanager.h" + +// Layout file to use if a supported one wasn't found. +// S60 UID update +//_LIT( KFsLayoutpackFile, "2001E284.dll" ); +// S60 UID update + + +// ======== LOCAL FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// Release given pointer. +// --------------------------------------------------------------------------- +// +void CleanupLayoutPack( TAny* /*aPtr*/ ) + { + } + + +// ======== MEMBER FUNCTIONS ======== + + +EXPORT_C CFsLayoutManager::CFsLayoutManager() + { + FUNC_LOG; + } + +// --------------------------------------------------------------------------- +// Determine if the mirroring is in use. +// --------------------------------------------------------------------------- +// +EXPORT_C TBool CFsLayoutManager::IsMirrored() + { + FUNC_LOG; + return Layout_Meta_Data::IsMirrored(); + } + +// --------------------------------------------------------------------------- +// Fills given TRect with rectangle for given layout component. Returns EFalse +// for status pane descendants if requested layout component is not available +// in current layout. For other components returns always ETrue (returned +// rectangle is from layout definition). +// --------------------------------------------------------------------------- +// +EXPORT_C TBool CFsLayoutManager::LayoutMetricsRect( + const TRect &aParent, + TFsLayoutMetrics aParam, + TRect& aRect, + TInt aVariety, + TInt aRow, + TInt /*aCol*/ ) + { + FUNC_LOG; + + // + + TBool retVal( ETrue ); + TAknLayoutRect rect; + + switch ( aParam ) + { + case EFsLmScreen: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::Screen().LayoutLine() ); + break; + case EFsLmApplicationWindow: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::application_window().LayoutLine() ); + break; + case EFsLmAreaTopPane: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::area_top_pane( aVariety ).LayoutLine() ); + break; + case EFsLmBgSpFsCtrlbarPane: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::bg_sp_fs_ctrlbar_pane( aVariety ).LayoutLine() ); + break; +/* case EFsLmListMediumLine: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line().LayoutLine() ); + break;*/ + case EFsLmListMediumLineG1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_g1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineG2G1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_g2_g1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineG2G2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_g2_g2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineG3G1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_g3_g1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineG3G2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_g3_g2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineG3G3: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_g3_g3( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineRightIconG1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_right_icon_g1().LayoutLine() ); + break; + case EFsLmListMediumLineRightIconx2G1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_right_iconx2_g1().LayoutLine() ); + break; + case EFsLmListMediumLineRightIconx2G2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_right_iconx2_g2().LayoutLine() ); + break; + case EFsLmListMediumLineT2G1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_g1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT2G2G1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_g2_g1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT2G2G2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_g2_g2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT2G3G1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_g3_g1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT2G3G2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_g3_g2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT2G3G3: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_g3_g3( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT2RightIconG1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_right_icon_g1().LayoutLine() ); + break; + case EFsLmListMediumLineT2RightIconx2G1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_right_iconx2_g1().LayoutLine() ); + break; + case EFsLmListMediumLineT2RightIconx2G2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_right_iconx2_g2().LayoutLine() ); + break; + case EFsLmListMediumLineT3G1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_g1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT3G2G1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_g2_g1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT3G2G2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_g2_g2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT3G3G1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_g3_g1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT3G3G2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_g3_g2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT3G3G3: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_g3_g3( aVariety ).LayoutLine() ); + break; + case EFsLmFolderListMediumLineG1: // Values for folderlist + rect.LayoutRect( aParent, AknLayoutScalable_Avkon::list_single_large_graphic_pane_g1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT3RightIconx2G1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_right_iconx2_g1().LayoutLine() ); + break; + case EFsLmListMediumLineT3RightIconx2G2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_right_iconx2_g2().LayoutLine() ); + break; + case EFsLmListMediumLineX2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_x2().LayoutLine() ); + break; + case EFsLmListMediumLineX2G1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_g1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T3G3G1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t3_g3_g1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T3G3G2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t3_g3_g2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T3G3G3: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t3_g3_g3( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T3G4G1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t3_g4_g1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T3G4G2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t3_g4_g2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T3G4G3: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t3_g4_g3( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T4G4G4: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t4_g4_g4( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX3: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_x3().LayoutLine() ); + break; + case EFsLmListMediumLineX3T4G4G4: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_medium_line_x3_t4_g4_g4( aVariety ).LayoutLine() ); + break; + case EFsLmListSingleDycRowPane: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_single_dyc_row_pane( aVariety, 0, aRow ).LayoutLine() ); + break; + case EFsLmListSingleDycRowPaneG1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_single_dyc_row_pane_g1( aVariety ).LayoutLine() ); + break; + case EFsLmListSingleDycRowPaneG2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_single_dyc_row_pane_g2( aVariety ).LayoutLine() ); + break; + case EFsLmListSingleDycRowPaneG3: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_single_dyc_row_pane_g3( aVariety ).LayoutLine() ); + break; + case EFsLmListSingleDycRowPaneG4: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_single_dyc_row_pane_g4( aVariety ).LayoutLine() ); + break; + case EFsLmListSingleDycRowTextPane: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_single_dyc_row_text_pane( aVariety ).LayoutLine() ); + break; + case EFsLmListSingleFsDycPane: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::list_single_fs_dyc_pane( aVariety ).LayoutLine() ); + break; + case EFsLmMainPane: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::main_pane( aVariety ).LayoutLine() ); + break; + case EFsLmMainSpFsCtrlbarButtonPaneCp01: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::main_sp_fs_ctrlbar_button_pane_cp01().LayoutLine() ); + break; + case EFsLmMainSpFsCtrlbarDdmenuPane: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::main_sp_fs_ctrlbar_ddmenu_pane().LayoutLine() ); + break; + case EFsLmMainSpFsCtrlbarDdmenuPaneG1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::main_sp_fs_ctrlbar_ddmenu_pane_g1( aVariety ).LayoutLine() ); + break; + case EFsLmMainSpFsCtrlbarDdmenuPaneG2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::main_sp_fs_ctrlbar_ddmenu_pane_g2( aVariety ).LayoutLine() ); + break; + case EFsLmMainSpFsCtrlbarPane: + { + const TInt variety( Layout_Meta_Data::IsPenEnabled() ? 2 : 0 ); + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane( variety ).LayoutLine() ); + } + break; + case EFsLmMainSpFsCtrlbarPaneG1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane_g1().LayoutLine() ); + break; + case EFsLmMainSpFsCtrlbarPaneG2: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::main_sp_fs_ctrlbar_pane_g2().LayoutLine() ); + break; + case EFsLmMainSpFsListscrollPaneTe: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::main_sp_fs_listscroll_pane_te().LayoutLine() ); + break; + case EFsLmPopupSpFsActionMenuPane: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::popup_sp_fs_action_menu_pane( aVariety ).LayoutLine() ); + break; + case EFsLmMainSpFsListPane: + rect.LayoutRect( aParent, AknLayoutScalable_Avkon::list_gen_pane( aVariety ).LayoutLine() ); + break; + case EFsLmSpFsScrollPane: + rect.LayoutRect( aParent, AknLayoutScalable_Avkon::scroll_pane( aVariety ).LayoutLine() ); + break; + case EFsLmSpFsActionMenuListGenePaneG1: + rect.LayoutRect( aParent, + AknLayoutScalable_Apps::sp_fs_action_menu_list_gene_pane_g1( aVariety ).LayoutLine() ); + break; + + // + + default: + // This is error case + retVal = EFalse; + break; + } + + if ( retVal ) + { + aRect = rect.Rect(); + } + + return retVal; + } + + +// --------------------------------------------------------------------------- +// This method returns size of rectangle for given layout component. Returns +// EFalse for status pane descendants if requested layout component is not +// available in current layout. For other components returns always ETrue +// (returned size is from layout definition). +// --------------------------------------------------------------------------- +// +EXPORT_C TBool CFsLayoutManager::LayoutMetricsSize( + const TRect &aParent, + TFsLayoutMetrics aParam, + TSize& aSize, + TInt aVariety, + TInt aRow, + TInt aCol ) + { + FUNC_LOG; + TRect rect; + TBool retVal( + LayoutMetricsRect( aParent, aParam, rect, aVariety, aRow, aCol ) ); + aSize = rect.Size(); + return retVal; + } + + +// --------------------------------------------------------------------------- +// This method returns position of top left corner for given layout component. +// Returns EFalse for status pane descendants if requested layout component is +// not available in current layout. For other components returns always ETrue +// (returned position is from layout definition). +// --------------------------------------------------------------------------- +// +EXPORT_C TBool CFsLayoutManager::LayoutMetricsPosition( + const TRect &aParent, + TFsLayoutMetrics aParam, + TPoint& aPos, + TInt aVariety, + TInt aRow, + TInt aCol ) + { + FUNC_LOG; + TRect rect; + TBool retVal( + LayoutMetricsRect( aParent, aParam, rect, aVariety, aRow, aCol ) ); + aPos = rect.iTl; + return retVal; + } + +// --------------------------------------------------------------------------- +// This method returns text position and font information of given layout +// component. Returns EFalse for status pane descendants if requested layout +// component is not available in current layout. For other components returns +// always ETrue (returned position is from layout definition). +// --------------------------------------------------------------------------- +// +/* +TRect ListSingleDycRow( const TRect& aParent, TInt aRows, TInt aRow ) + { + TAknLayoutRect layoutRect; + layoutRect.LayoutRect(aParent, AknLayoutScalable_Apps::list_single_dyc_row_pane(aRows - 1, 0, aRow - 1).LayoutLine()); + return layoutRect.Rect(); + }*/ + +// --------------------------------------------------------------------------- +// This method returns text position and font information of given layout +// component. Returns EFalse for status pane descendants if requested layout +// component is not available in current layout. For other components returns +// always ETrue (returned position is from layout definition). +// --------------------------------------------------------------------------- +// +EXPORT_C TBool CFsLayoutManager::LayoutMetricsText( + const TRect &aParent, + TFsLayoutMetrics aParam, + TFsText& aText, + TInt aVariety, + TInt /*aRow*/ ) + { + FUNC_LOG; + + // + + TBool retVal( ETrue ); + TAknLayoutText textLayout; + + switch ( aParam ) + { + case EFsLmListMediumLineG2T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_g2_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT2RightIconT1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_right_icon_t1().LayoutLine() ); + break; + case EFsLmListMediumLineT2RightIconT2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_right_icon_t2().LayoutLine() ); + break; + case EFsLmListMediumLineX2T3G3T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t3_g3_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T3G3T2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t3_g3_t2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T3G2T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t3_g2_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T3G2T2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t3_g2_t2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T2G4T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t2_g4_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T2G3T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t2_g3_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T2G2T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t2_g2_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T3T3: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t3_t3().LayoutLine() ); + break; + case EFsLmListMediumLineT4G4T3: + /* + TAknLayoutRect textParent; + textParent.LayoutRect(ListSingleDycRow(aParent, 3, 3), + AknLayoutScalable_Apps::list_single_dyc_row_text_pane( 5 ).LayoutLine()); + textLayout.LayoutText( textParent.Rect(), + AknLayoutScalable_Apps::list_single_dyc_row_text_pane_t1( 5 ).LayoutLine() ); //list_medium_line_t4_g4_t3*/ + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t4_g4_t3( aVariety ).LayoutLine() ); //list_medium_line_t4_g4_t3*/ + break; + case EFsLmListMediumLineX3T4G4T2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_x3_t4_g4_t2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX3T4G4T3: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_x3_t4_g4_t3( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX3T4G4T4: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_x3_t4_g4_t4( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT3RightIconx2T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_right_iconx2_t1().LayoutLine() ); + break; + case EFsLmListMediumLineT3RightIconx2T2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_right_iconx2_t2().LayoutLine() ); + break; + case EFsLmListMediumLineT2RightIconx2T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_right_iconx2_t1().LayoutLine() ); + break; + case EFsLmListMediumLineT2RightIconx2T2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_right_iconx2_t2().LayoutLine() ); + break; + case EFsLmListMediumLineRightIconx2T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_right_iconx2_t1().LayoutLine() ); + break; + case EFsLmListMediumLineT3G3T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_g3_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT3G3T2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_g3_t2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT3G3T3: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_g3_t3( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT2G3T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_g3_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT2G3T2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_g3_t2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineG3T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_g3_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLinePlainT1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_plain_t1().LayoutLine() ); + break; + case EFsLmListMediumLineT3T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT3T2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_t2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT3T3: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_t3( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT2T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT2T2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_t2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineRightIconT1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_right_icon_t1().LayoutLine() ); + break; + case EFsLmListMediumLineT3G2T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_g2_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT3G2T2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_g2_t2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT3G2T3: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t3_g2_t3( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT2G2T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_g2_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineT2G2T2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t2_g2_t2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T3G4T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t3_g4_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T3G4T2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t3_g4_t2( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLineX2T3G4T3: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_x2_t3_g4_t3( aVariety ).LayoutLine() ); + break; + case EFsLmListMediumLinePlainT3T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_plain_t3_t1().LayoutLine() ); + break; + case EFsLmListMediumLinePlainT3T2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_plain_t3_t2().LayoutLine() ); + break; + case EFsLmListMediumLinePlainT3T3: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_plain_t3_t3().LayoutLine() ); + break; + case EFsLmListMediumLinePlainT2T1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_plain_t2_t1().LayoutLine() ); + break; + case EFsLmListMediumLinePlainT2T2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_plain_t2_t2().LayoutLine() ); + break; + case EFsLmListMediumLineT1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_medium_line_t1( aVariety ).LayoutLine() ); + break; + case EFsLmFolderListMediumLineT1: // Values for folderlist + textLayout.LayoutText( aParent, AknLayoutScalable_Avkon::list_single_large_graphic_pane_t1( aVariety ).LayoutLine() ); + break; + case EFsLmMainSpFsCtrlbarDdmenuPaneT1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::main_sp_fs_ctrlbar_ddmenu_pane_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListSingleDycRowTextPaneT1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_single_dyc_row_text_pane_t1( aVariety ).LayoutLine() ); + break; + case EFsLmListSingleDycRowTextPaneT2: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_single_dyc_row_text_pane_t2( aVariety ).LayoutLine() ); + break; + case EFsLmListSingleDycRowTextPaneT3: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::list_single_dyc_row_text_pane_t3( aVariety ).LayoutLine() ); + break; + case EFsLmSpFsActionMenuListGenePaneT1: + textLayout.LayoutText( aParent, + AknLayoutScalable_Apps::sp_fs_action_menu_list_gene_pane_t1( aVariety ).LayoutLine() ); + break; + + // + + + default: + retVal = EFalse; + break; + } + + if ( retVal ) + { + aText.iTextRect = textLayout.TextRect(); + aText.iFont = textLayout.Font(); + //aText.iColor = textLayout.Color(); + const CAknLayoutFont* layoutFont( + CAknLayoutFont::AsCAknLayoutFontOrNull( aText.iFont ) ); + //TInt textPaneHeight( 0 ); + TInt textPaneAscent( 0 ); + if ( layoutFont ) + { + textPaneAscent = layoutFont->TextPaneTopToBaseline(); + } + else + { + textPaneAscent = aText.iFont->AscentInPixels(); + } + aText.iOffset = textPaneAscent; + aText.iAlign = textLayout.Align(); + } + + return retVal; + } +