diff -r 000000000000 -r 2f259fa3e83a classicui_pub/lists_api/tsrc/src/testsdklistsblockseikclbd.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/classicui_pub/lists_api/tsrc/src/testsdklistsblockseikclbd.cpp Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,2472 @@ +/* +* Copyright (c) 2002 - 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: Test eikclbd.h +* +*/ + +// [INCLUDE FILES] +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "testsdklists.h" +#include "testsdkcontainer.h" +#include "testsdklistsclbdata.h" + +const TInt KColumn = 1; +const TInt KTen = 10; +_LIT( KColumnDataText, "Test text for DrawText" ); +_LIT( KClippedText, "Test text" ); + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDTColorsL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDTColorsL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDTColorsL, "In TestCLBDTColorsL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDTColorsL ); + // Print to log file + iLog->Log( KTestCLBDTColorsL ); + + CColumnListBoxData::TColors* color = new( ELeave ) CColumnListBoxData::TColors(); + CleanupStack::PushL( color ); + STIF_ASSERT_NOT_NULL( color ); + CleanupStack::PopAndDestroy( color ); + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDNewL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDNewL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDNewL, "In TestCLBDNewL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDNewL ); + // Print to log file + iLog->Log( KTestCLBDNewL ); + + CColumnListBoxData* data = CColumnListBoxData::NewL(); + CleanupStack::PushL( data ); + STIF_ASSERT_NOT_NULL( data ); + CleanupStack::PopAndDestroy( data ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDDestructorL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDDestructorL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDDestructorL, "In TestCLBDDestructorL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDDestructorL ); + // Print to log file + iLog->Log( KTestCLBDDestructorL ); + + CColumnListBoxData* data = CColumnListBoxData::NewL(); + CleanupStack::PushL( data ); + STIF_ASSERT_NOT_NULL( data ); + CleanupStack::Pop( data ); + delete data; + data = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDLastColumnL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDLastColumnL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDLastColumnL, "In TestCLBDLastColumnL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDLastColumnL ); + // Print to log file + iLog->Log( KTestCLBDLastColumnL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + STIF_ASSERT_NOT_NULL( data ); + TInt column = data->LastColumn(); + STIF_ASSERT_TRUE( column > 0 ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDColumnWidthPixelL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDColumnWidthPixelL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDColumnWidthPixelL, "In TestCLBDColumnWidthPixelL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDColumnWidthPixelL ); + // Print to log file + iLog->Log( KTestCLBDColumnWidthPixelL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->ColumnWidthPixel( 0 ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetColumnWidthPixelLL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetColumnWidthPixelL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDLastColumnL, "In TestCLBDLastColumnL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDLastColumnL ); + // Print to log file + iLog->Log( KTestCLBDLastColumnL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->SetColumnWidthPixelL( KColumn, 1 ); + TInt column = data->ColumnWidthPixel( 1 ); + STIF_ASSERT_EQUALS( KColumn, column ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDColumnHorizontalGapL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDColumnHorizontalGapL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDColumnHorizontalGapL, "In TestCLBDColumnHorizontalGapL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDColumnHorizontalGapL ); + // Print to log file + iLog->Log( KTestCLBDColumnHorizontalGapL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->ColumnHorizontalGap( 0 ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetColumnHorizontalGapL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetColumnHorizontalGapL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetColumnHorizontalGapL, "In TestCLBDSetColumnHorizontalGapL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetColumnHorizontalGapL ); + // Print to log file + iLog->Log( KTestCLBDSetColumnHorizontalGapL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->SetColumnHorizontalGapL( 0, KColumn ); + TInt gap = data->ColumnHorizontalGap( 0 ); + STIF_ASSERT_EQUALS( KColumn, gap ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDColumnBaselinePosL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDColumnBaselinePosL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDColumnBaselinePosL, "In TestCLBDColumnBaselinePosL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDColumnBaselinePosL ); + // Print to log file + iLog->Log( KTestCLBDColumnBaselinePosL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->ColumnBaselinePos( 0 ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetColumnBaselinePosL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetColumnBaselinePosL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetColumnBaselinePosL, "In TestCLBDSetColumnBaselinePosL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetColumnBaselinePosL ); + // Print to log file + iLog->Log( KTestCLBDSetColumnBaselinePosL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->SetColumnBaselinePosL( 0 , KColumn ); + TInt pos = data->ColumnBaselinePos( 0 ); + STIF_ASSERT_EQUALS( KColumn, pos ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDColumnMarginsL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDColumnMarginsL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDColumnMarginsL, "In TestCLBDColumnMarginsL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDColumnMarginsL ); + // Print to log file + iLog->Log( KTestCLBDColumnMarginsL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->ColumnMargins( 0 ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetColumnMarginsL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetColumnMarginsL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetColumnMarginsL, "In TestCLBDSetColumnMarginsL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetColumnMarginsL ); + // Print to log file + iLog->Log( KTestCLBDSetColumnMarginsL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + TMargins setMargins; + setMargins.iBottom = 1; + setMargins.iLeft = 1; + setMargins.iRight = 1; + setMargins.iTop = 1; + data->SetColumnMarginsL( 0, setMargins ); + TMargins margins = data->ColumnMargins( 0 ); + STIF_ASSERT_TRUE( setMargins == margins ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDColumnFontL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDColumnFontL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDColumnFontL, "In TestCLBDColumnFontL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDColumnFontL ); + // Print to log file + iLog->Log( KTestCLBDColumnFontL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->ColumnFont( 0 ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetColumnFontL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetColumnFontL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetColumnFontL, "In TestCLBDSetColumnFontL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetColumnFontL ); + // Print to log file + iLog->Log( KTestCLBDSetColumnFontL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + const CFont* setFont = CCoeEnv::Static()->NormalFont(); + data->SetColumnFontL( 0, setFont ); + const CFont* font = data->ColumnFont( 0 ); + STIF_ASSERT_TRUE( setFont == font ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDColumnAlignmentL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDColumnAlignmentL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDColumnAlignmentL, "In TestCLBDColumnAlignmentL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDColumnAlignmentL ); + // Print to log file + iLog->Log( KTestCLBDColumnAlignmentL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->ColumnAlignment( 0 ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetColumnAlignmentL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetColumnAlignmentL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetColumnAlignmentL, "In TestCLBDSetColumnAlignmentL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetColumnAlignmentL ); + // Print to log file + iLog->Log( KTestCLBDSetColumnAlignmentL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + CGraphicsContext::TTextAlign setAlign = CGraphicsContext::ELeft; + data->SetColumnAlignmentL( 0, setAlign ); + CGraphicsContext::TTextAlign align = data->ColumnAlignment( 0 ); + STIF_ASSERT_TRUE( setAlign == align ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDColumnSeparatorStyleL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDColumnSeparatorStyleL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDColumnSeparatorStyleL, "In TestCLBDColumnSeparatorStyleL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDColumnSeparatorStyleL ); + // Print to log file + iLog->Log( KTestCLBDColumnSeparatorStyleL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->ColumnSeparatorStyle( 0 ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetColumnSeparatorStyleL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetColumnSeparatorStyleL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetColumnSeparatorStyleL, "In TestCLBDSetColumnSeparatorStyleL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetColumnSeparatorStyleL ); + // Print to log file + iLog->Log( KTestCLBDSetColumnSeparatorStyleL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + CGraphicsContext::TPenStyle setPenStyle = CGraphicsContext::ENullPen; + data->SetColumnSeparatorStyleL( 0, setPenStyle ); + CGraphicsContext::TPenStyle penStyle = data->ColumnSeparatorStyle( 0 ); + STIF_ASSERT_TRUE( setPenStyle == penStyle ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDColumnIsOptionalL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDColumnIsOptionalL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDColumnIsOptionalL, "In TestCLBDColumnIsOptionalL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDColumnIsOptionalL ); + // Print to log file + iLog->Log( KTestCLBDColumnIsOptionalL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->ColumnIsOptional( 0 ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetOptionalColumnL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetOptionalColumnL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetOptionalColumnL, "In TestCLBDSetOptionalColumnL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetOptionalColumnL ); + // Print to log file + iLog->Log( KTestCLBDSetOptionalColumnL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + TBool optional = ETrue; + data->SetOptionalColumnL( 0, optional ); + TBool isOptional = data->ColumnIsOptional( 0 ); + STIF_ASSERT_TRUE( optional == isOptional ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDColumnIsGraphicsL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDColumnIsGraphicsL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDColumnIsGraphicsL, "In TestCLBDColumnIsGraphicsL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDColumnIsGraphicsL ); + // Print to log file + iLog->Log( KTestCLBDColumnIsGraphicsL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->ColumnIsGraphics( 0 ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetGraphicsColumnL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetGraphicsColumnL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetGraphicsColumnL, "In TestCLBDSetGraphicsColumnL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetGraphicsColumnL ); + // Print to log file + iLog->Log( KTestCLBDSetGraphicsColumnL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + TBool graphics = ETrue; + data->SetGraphicsColumnL( 0, graphics ); + TBool isGraphics = data->ColumnIsGraphics( 0 ); + STIF_ASSERT_TRUE( graphics == isGraphics ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDColumnIsNumberL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDColumnIsNumberL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDColumnIsNumberL, "In TestCLBDColumnIsNumberL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDColumnIsNumberL ); + // Print to log file + iLog->Log( KTestCLBDColumnIsNumberL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->ColumnIsNumber( 0 ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetNumberColumnL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetNumberColumnL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetNumberColumnL, "In TestCLBDSetNumberColumnL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetNumberColumnL ); + // Print to log file + iLog->Log( KTestCLBDSetNumberColumnL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + TInt setIsNumber = ETrue; + data->SetNumberColumnL( 0, setIsNumber ); + TInt isNumber = data->ColumnIsNumber( 0 ); + STIF_ASSERT_TRUE( setIsNumber == isNumber ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDIconArrayL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDIconArrayL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDIconArrayL, "In TestCLBDIconArrayL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDIconArrayL ); + // Print to log file + iLog->Log( KTestCLBDIconArrayL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->IconArray(); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetIconArrayL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetIconArrayL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetIconArrayL, "In TestCLBDSetIconArrayL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetIconArrayL ); + // Print to log file + iLog->Log( KTestCLBDSetIconArrayL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + CArrayPtr* icons = new( ELeave ) CArrayPtrFlat( KTen ); + CleanupStack::PushL( icons ); + data->SetIconArray( icons ); + CArrayPtr* getIcons = data->IconArray(); + STIF_ASSERT_TRUE( icons == getIcons ); + + iContainer->ResetControl(); + CleanupStack::Pop( icons ); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + icons = NULL; + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDColumnTextClipGapL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDColumnTextClipGapL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDColumnTextClipGapL, "In TestCLBDColumnTextClipGapL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDColumnTextClipGapL ); + // Print to log file + iLog->Log( KTestCLBDColumnTextClipGapL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->ColumnTextClipGap( 0 ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetColumnTextClipGapL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetColumnTextClipGapL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetColumnTextClipGapL, "In TestCLBDSetColumnTextClipGapL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetColumnTextClipGapL ); + // Print to log file + iLog->Log( KTestCLBDSetColumnTextClipGapL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->SetColumnTextClipGapL( 0, KColumn ); + TInt textClipGap = data->ColumnTextClipGap( 0 ); + STIF_ASSERT_EQUALS( KColumn, textClipGap ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDFontL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDFontL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDFontL, "In TestCLBDFontL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDFontL ); + // Print to log file + iLog->Log( KTestCLBDFontL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + const CFont* setFont = CCoeEnv::Static()->NormalFont(); + data->SetColumnFontL( 0, setFont ); + TListItemProperties* property = new( ELeave ) TListItemProperties(); + CleanupStack::PushL( property ); + CFont* font = data->Font( *property, 0 ); + STIF_ASSERT_NOT_NULL( font ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy( 2 ); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDMakeColumnRectL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDMakeColumnRectL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDMakeColumnRectL, "In TestCLBDMakeColumnRectL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDMakeColumnRectL ); + // Print to log file + iLog->Log( KTestCLBDMakeColumnRectL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + TRect rect = colListBox->Rect(); + TBool flag = data->MakeColumnRect( 0, rect ); + STIF_ASSERT_TRUE( flag ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDDrawL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDDrawL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDDrawL, "In TestCLBDDrawL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDDrawL ); + // Print to log file + iLog->Log( KTestCLBDDrawL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TListItemProperties* property = new( ELeave ) TListItemProperties(); + CleanupStack::PushL( property ); + iContainer->ActivateGc(); + CWindowGc& gc = iContainer->SystemGc(); + gc.UseFont( CCoeEnv::Static()->NormalFont() ); + HBufC* buf = StringLoader::LoadLC( R_TESTLIST_DRAWBUFF ); + TRect rect = colListBox->Rect(); + TBool highlight = ETrue; + CColumnListBoxData::TColors color; + + data->Draw( *property, gc, buf, rect, highlight, color ); + + iContainer->ResetControl(); + iContainer->DeactivateGc(); + CleanupStack::PopAndDestroy( 3 ); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetSeparatorLinePositionL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetSeparatorLinePositionL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetSeparatorLinePositionL, "In TestCLBDSetSeparatorLinePositionL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetSeparatorLinePositionL ); + // Print to log file + iLog->Log( KTestCLBDSetSeparatorLinePositionL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->SetSeparatorLinePosition( ENoLine ); + iContainer->ResetControl(); + + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSeparatorLinePositionL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSeparatorLinePositionL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSeparatorLinePositionL, "In TestCLBDSeparatorLinePositionL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSeparatorLinePositionL ); + // Print to log file + iLog->Log( KTestCLBDSeparatorLinePositionL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->SetSeparatorLinePosition( ENoLine ); + TAknSeparatorLinePosition linePos = data->SeparatorLinePosition(); + STIF_ASSERT_EQUALS( linePos, ENoLine ); + iContainer->ResetControl(); + + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDLayoutDataL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDLayoutDataL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDLayoutDataL, "In TestCLBDLayoutDataL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDLayoutDataL ); + // Print to log file + iLog->Log( KTestCLBDLayoutDataL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + CAknLayoutData* layout = data->LayoutData(); + STIF_ASSERT_NULL( layout ); + iContainer->ResetControl(); + + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDLayoutInitL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDLayoutInitL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDLayoutInitL, "In TestCLBDLayoutInitL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDLayoutInitL ); + // Print to log file + iLog->Log( KTestCLBDLayoutInitL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->SetLayoutInit( ETrue ); + TBool flag = data->LayoutInit(); + STIF_ASSERT_FALSE( flag ); + iContainer->ResetControl(); + + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetLayoutInitL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetLayoutInitL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetLayoutInitL, "In TestCLBDSetLayoutInitL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetLayoutInitL ); + // Print to log file + iLog->Log( KTestCLBDSetLayoutInitL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + data->SetLayoutInit( ETrue ); + iContainer->ResetControl(); + + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetColumnUnderlinedL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetColumnUnderlinedL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetColumnUnderlinedL, "In TestCLBDSetColumnUnderlinedL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetColumnUnderlinedL ); + // Print to log file + iLog->Log( KTestCLBDSetColumnUnderlinedL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + TBitFlags32 flags; + data->SetColumnUnderlined( flags ); + iContainer->ResetControl(); + + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDControlL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDControlL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDControlL, "In TestCLBDControlL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDControlL ); + // Print to log file + iLog->Log( KTestCLBDControlL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + CEikColumnListBox* listBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( listBox ); + data->SetControl( listBox ); + CCoeControl* control = data->Control(); + STIF_ASSERT_TRUE( listBox == control ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy( 2 ); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetControlL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetControlL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetControlL, "In TestCLBDSetControlL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetControlL ); + // Print to log file + iLog->Log( KTestCLBDSetControlL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + CEikColumnListBox* listBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( listBox ); + data->SetControl( listBox ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy( 2 ); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSkinBackgroundContextL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSkinBackgroundContextL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSkinBackgroundContextL, "In TestCLBDSkinBackgroundContextL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSkinBackgroundContextL ); + // Print to log file + iLog->Log( KTestCLBDSkinBackgroundContextL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + data->SetSkinEnabledL( ETrue ); + MAknsControlContext* context = data->SkinBackgroundContext(); + STIF_ASSERT_NOT_NULL( context ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetSkinStyleL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetSkinStyleL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetSkinStyleL, "In TestCLBDSetSkinStyleL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetSkinStyleL ); + // Print to log file + iLog->Log( KTestCLBDSetSkinStyleL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TAknsItemID itemID; + itemID.Set( 0x2001CB80, 1 ); + TRect rect = colListBox->Rect(); + data->SetSkinStyle( &itemID, rect ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetListEndSkinStyleL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetListEndSkinStyleL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetListEndSkinStyleL, "In TestCLBDSetListEndSkinStyleL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetListEndSkinStyleL ); + // Print to log file + iLog->Log( KTestCLBDSetListEndSkinStyleL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TAknsItemID itemID; + itemID.Set( 0x2001CB80, 1 ); + TRect rect = colListBox->Rect(); + data->SetListEndSkinStyle( &itemID, rect ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetSkinHighlightFrameL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetSkinHighlightFrameL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetSkinHighlightFrameL, "In TestCLBDSetSkinHighlightFrameL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetSkinHighlightFrameL ); + // Print to log file + iLog->Log( KTestCLBDSetSkinHighlightFrameL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TAknsItemID itemID; + itemID.Set( 0x2001CB80, 1 ); + TRect rect = colListBox->Rect(); + data->SetSkinHighlightFrame( &itemID, &itemID ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetSkinEnabledL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetSkinEnabledL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetSkinEnabledL, "In TestCLBDSetSkinEnabledL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetSkinEnabledL ); + // Print to log file + iLog->Log( KTestCLBDSetSkinEnabledL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + data->SetSkinEnabledL( ETrue ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDEnableMarqueeL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDEnableMarqueeL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDEnableMarqueeL, "In TestCLBDEnableMarqueeL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDEnableMarqueeL ); + // Print to log file + iLog->Log( KTestCLBDEnableMarqueeL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + data->EnableMarqueeL( ETrue ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetColumnFontForRowL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetColumnFontForRowL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetColumnFontForRowL, "In TestCLBDSetColumnFontForRowL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetColumnFontForRowL ); + // Print to log file + iLog->Log( KTestCLBDSetColumnFontForRowL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + data->SetColumnFontForRowL( 0, 0, CCoeEnv::Static()->NormalFont() ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDRowAndColumnFontL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDRowAndColumnFontL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDRowAndColumnFontL, "In TestCLBDRowAndColumnFontL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDRowAndColumnFontL ); + // Print to log file + iLog->Log( KTestCLBDRowAndColumnFontL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + const CFont* setFont = CCoeEnv::Static()->NormalFont(); + data->SetColumnFontForRowL( 0, 0, setFont ); + const CFont* font = data->RowAndColumnFont( 0, 0 ); + STIF_ASSERT_TRUE( setFont == font ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetSubCellIconSizeL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetSubCellIconSizeL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetSubCellIconSizeL, "In TestCLBDSetSubCellIconSizeL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetSubCellIconSizeL ); + // Print to log file + iLog->Log( KTestCLBDSetSubCellIconSizeL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TSize size; + size.iHeight = 1; + size.iWidth = 1; + data->SetSubCellIconSize( 0, size ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDHighlightAnimL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDHighlightAnimL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDHighlightAnimL, "In TestCLBDHighlightAnimL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDHighlightAnimL ); + // Print to log file + iLog->Log( KTestCLBDHighlightAnimL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + data->HighlightAnim(); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDAboutToDrawHighlightAnimL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDAboutToDrawHighlightAnimL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDAboutToDrawHighlightAnimL, "In TestCLBDAboutToDrawHighlightAnimL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDAboutToDrawHighlightAnimL ); + // Print to log file + iLog->Log( KTestCLBDAboutToDrawHighlightAnimL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + data->AboutToDrawHighlightAnim(); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetHighlightAnimBackgroundDrawerL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetHighlightAnimBackgroundDrawerL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetHighlightAnimBackgroundDrawerL, "In TestCLBDSetHighlightAnimBackgroundDrawerL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetHighlightAnimBackgroundDrawerL ); + // Print to log file + iLog->Log( KTestCLBDSetHighlightAnimBackgroundDrawerL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TTestListBoxAnimBgDrawer drawer; + data->SetHighlightAnimBackgroundDrawer( &drawer ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetItemCellSizeL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetItemCellSizeL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetItemCellSizeL, "In TestCLBDSetItemCellSizeL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetItemCellSizeL ); + // Print to log file + iLog->Log( KTestCLBDSetItemCellSizeL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TSize sizeInPixels; + sizeInPixels.SetSize( 1, 1 ); + data->SetItemCellSize( sizeInPixels ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDHasHighlightAnimL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDHasHighlightAnimL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDHasHighlightAnimL, "In TestCLBDHasHighlightAnimL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDHasHighlightAnimL ); + // Print to log file + iLog->Log( KTestCLBDHasHighlightAnimL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + data->HasHighlightAnim(); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDDrawHighlightAnimL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDDrawHighlightAnimL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDDrawHighlightAnimL, "In TestCLBDDrawHighlightAnimL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDDrawHighlightAnimL ); + // Print to log file + iLog->Log( KTestCLBDDrawHighlightAnimL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TRect rect = colListBox->Rect(); + CFbsBitGc* bitGc = CFbsBitGc ::NewL(); + CleanupStack::PushL( bitGc ); + data->DrawHighlightAnim( *bitGc, rect ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy( 2 ); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetGraphicSubCellL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetGraphicSubCellL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetGraphicSubCellL, "In TestCLBDSetGraphicSubCellL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetGraphicSubCellL ); + // Print to log file + iLog->Log( KTestCLBDSetGraphicSubCellL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TInt err = KErrNone; + TAknWindowLineLayout layout; + TRAP( err, data->SetGraphicSubCellL( 0, layout ) ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return err; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetTextSubCellL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetTextSubCellL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetTextSubCellL, "In TestCLBDSetTextSubCellL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetTextSubCellL ); + // Print to log file + iLog->Log( KTestCLBDSetTextSubCellL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TInt err = KErrNone; + TAknTextLineLayout layout; + TRAP( err, data->SetTextSubCellL( 0, layout ) ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return err; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetConditionalSubCellL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetConditionalSubCellL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetConditionalSubCellL, "In TestCLBDSetConditionalSubCellL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetConditionalSubCellL ); + // Print to log file + iLog->Log( KTestCLBDSetConditionalSubCellL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TInt err = KErrNone; + TAknTextLineLayout layout; + TRAP( err, data->SetConditionalSubCellL( 0, layout, 0 ) ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return err; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSubCellsMightIntersectL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSubCellsMightIntersectL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSubCellsMightIntersectL, "In TestCLBDSubCellsMightIntersectL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSubCellsMightIntersectL ); + // Print to log file + iLog->Log( KTestCLBDSubCellsMightIntersectL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + data->SubCellsMightIntersect( ETrue ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetStretchableGraphicSubCellL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetStretchableGraphicSubCellL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetStretchableGraphicSubCellL, "In TestCLBDSetStretchableGraphicSubCellL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetStretchableGraphicSubCellL ); + // Print to log file + iLog->Log( KTestCLBDSetStretchableGraphicSubCellL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TAknWindowComponentLayout comLayout; + TInt err = KErrNone; + TRAP( err, data->SetStretchableGraphicSubCellL( 0, comLayout, comLayout ) ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return err; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDResetSLSubCellArrayL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDResetSLSubCellArrayL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDResetSLSubCellArrayL, "In TestCLBDResetSLSubCellArrayL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDResetSLSubCellArrayL ); + // Print to log file + iLog->Log( KTestCLBDResetSLSubCellArrayL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + data->ResetSLSubCellArray(); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDStretchingEnabledL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDStretchingEnabledL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDStretchingEnabledL, "In TestCLBDStretchingEnabledL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDStretchingEnabledL ); + // Print to log file + iLog->Log( KTestCLBDStretchingEnabledL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TBool flag = data->StretchingEnabled(); + STIF_ASSERT_TRUE( flag ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetMarqueeParamsL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetMarqueeParamsL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetMarqueeParamsL, "In TestCLBDSetMarqueeParamsL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetMarqueeParamsL ); + // Print to log file + iLog->Log( KTestCLBDSetMarqueeParamsL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + data->SetMarqueeParams( 1, 6, 1000000 ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetMarqueeParamsWithIntervalL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetMarqueeParamsWithIntervalL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetMarqueeParamsWithIntervalL, "In TestCLBDSetMarqueeParamsWithIntervalL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetMarqueeParamsWithIntervalL ); + // Print to log file + iLog->Log( KTestCLBDSetMarqueeParamsWithIntervalL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + data->SetMarqueeParams( 2, 8, 1000000, 100000 ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDCurrentItemTextWasClippedL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDCurrentItemTextWasClippedL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDCurrentItemTextWasClippedL, "In TestCLBDCurrentItemTextWasClippedL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDCurrentItemTextWasClippedL ); + // Print to log file + iLog->Log( KTestCLBDCurrentItemTextWasClippedL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + data->CurrentItemTextWasClipped(); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetStretchableTextSubCellL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetStretchableTextSubCellL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDSetStretchableTextSubCellL, "In TestCLBDSetStretchableTextSubCellL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDSetStretchableTextSubCellL ); + // Print to log file + iLog->Log( KTestCLBDSetStretchableTextSubCellL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TAknTextComponentLayout comLayout; + TInt err = KErrNone; + TRAP( err, data->SetStretchableTextSubCellL( 0, comLayout, comLayout ) ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return err; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDSetStretchableConditionalSubCellL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDSetStretchableConditionalSubCellL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDConditionalSubCellL, "In TestCLBDSetStretchableConditionalSubCellL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDConditionalSubCellL ); + // Print to log file + iLog->Log( KTestCLBDConditionalSubCellL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_LISTBOX ); + colListBox->ConstructFromResourceL( reader ); + + iContainer->SetControlL( colListBox ); + CColumnListBoxData* data = colListBox->ItemDrawer()->ColumnData(); + + TAknTextComponentLayout comLayout; + TInt err = KErrNone; + TRAP( err, data->SetStretchableConditionalSubCellL( 0, comLayout, comLayout, 0, 0 ) ); + + iContainer->ResetControl(); + CleanupStack::PopAndDestroy(); + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return err; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDConstructorL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDConstructorL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDConstructorL, "In TestCLBDConstructorL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDConstructorL ); + // Print to log file + iLog->Log( KTestCLBDConstructorL ); + + CTestSDKColumnListBoxData* data = new( ELeave ) CTestSDKColumnListBoxData(); + CleanupStack::PushL( data ); + STIF_ASSERT_NOT_NULL( data ); + CleanupStack::PopAndDestroy( data ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDConstructLDL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDConstructLDL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDConstructLDL, "In TestCLBDConstructLDL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDConstructLDL ); + // Print to log file + iLog->Log( KTestCLBDConstructLDL ); + + CTestSDKColumnListBoxData* data = new( ELeave ) CTestSDKColumnListBoxData(); + CleanupStack::PushL( data ); + STIF_ASSERT_NOT_NULL( data ); + TInt err = KErrNone; + TRAP( err, data->ConstructLD() ); + if ( err == KErrNone ) + { + CleanupStack::PopAndDestroy( data ); + } + else + { + CleanupStack::Pop( data ); + data = NULL; + } + + return err; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDConstructLDWithParaL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDConstructLDWithParaL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDConstructLDWithParaL, "In TestCLBDConstructLDWithParaL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDConstructLDWithParaL ); + // Print to log file + iLog->Log( KTestCLBDConstructLDWithParaL ); + + CTestSDKColumnListBoxData* data = new( ELeave ) CTestSDKColumnListBoxData(); + CleanupStack::PushL( data ); + STIF_ASSERT_NOT_NULL( data ); + TAknsItemID itemID; + itemID.Set( 0x2001CB80, 1 ); + TInt err = KErrNone; + TRAP( err, data->ConstructLD( itemID ) ); + if ( err == KErrNone ) + { + CleanupStack::PopAndDestroy( data ); + } + else + { + CleanupStack::Pop( data ); + data = NULL; + } + + return err; + } + +// ----------------------------------------------------------------------------- +// CTestSDKLists::TestCLBDDrawTextL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKLists::TestCLBDDrawTextL( CStifItemParser& /*aItem*/ ) + { + // Print to UI + _LIT( KTestModule, "EIKCLBTestModule" ); + _LIT( KTestCLBDDrawTextL, "In TestCLBDDrawTextL" ); + TestModuleIf().Printf( 0, KTestModule, KTestCLBDDrawTextL ); + // Print to log file + iLog->Log( KTestCLBDDrawTextL ); + + CEikColumnListBox* colListBox = new( ELeave ) CAknSingleStyleListBox(); + CleanupStack::PushL( colListBox ); + + colListBox->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TESTLIST_SINGLE_STYLE ); + colListBox->ConstructFromResourceL( reader ); + CleanupStack::PopAndDestroy(); + + iContainer->SetControlL( colListBox ); + + CTestSDKColumnListBoxData* data = new( ELeave ) CTestSDKColumnListBoxData(); + CleanupStack::PushL( data ); + TInt err = KErrNone; + TAknsItemID itemID; + itemID.Set( 0x2001CB80, 1 ); + TRAP( err, data->ConstructLD( itemID ) ); + if ( err != KErrNone ) + { + CleanupStack::Pop( data ); + data = NULL; + return err; + } + + CColumnListBoxData* listBoxData = colListBox->ItemDrawer()->ColumnData(); + STIF_ASSERT_NOT_NULL( listBoxData ); + delete listBoxData; + listBoxData = NULL; + colListBox->ItemDrawer()->SetData( data ); + + iContainer->ActivateGc(); + CWindowGc& gc = iContainer->SystemGc(); + gc.UseFont( CCoeEnv::Static()->NormalFont() ); + TRect rect = iContainer->Rect(); + rect.iBr.iX = rect.iTl.iX + + colListBox->ItemDrawer()->ItemCellSize().iWidth; + rect.iBr.iY = rect.iTl.iY + + colListBox->ItemDrawer()->ItemCellSize().iHeight; + + data->DrawText( gc, rect, KColumnDataText, KClippedText, + 0, CGraphicsContext::ELeft, *CCoeEnv::Static()->NormalFont(), ETrue, EFalse ); + iContainer->ResetControl(); + iContainer->DeactivateGc(); + CleanupStack::Pop( data ); + data = NULL; + CleanupStack::Pop( colListBox ); + colListBox = NULL; + + return KErrNone; + }