diff -r 000000000000 -r 2f259fa3e83a classicui_pub/buttons_api/tsrc/src/testsdkbuttonsblockseikcmbut.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/classicui_pub/buttons_api/tsrc/src/testsdkbuttonsblockseikcmbut.cpp Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,1345 @@ +/* +* 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 api in eikcmbut.h +* +*/ + + + +// [INCLUDE FILES] +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "testsdkbuttons.h" +#include "testsdkbuttons.hrh" + +// CONSTANTS +const TInt KArraySize = 10; +const TInt KHBufSize = 20000; +const TInt KBufSize = 64; +_LIT( KBitmapFile, "Z:\\resource\\apps\\avkon2.mbm" ); + +// FORWARD DECLARATIONS +// This class is used for testing functions in CEikCommandButtonBase +// because it's constructor is protected. +class CTestCmdBtBase : public CEikCommandButtonBase + { +public: + /* + * constructor + * */ + CTestCmdBtBase(); + /* + * deconstructor + * */ + ~CTestCmdBtBase(); + + // test protect functon + // test StateChanged + void DoStateChanged(); + + // test Draw + void DoDraw(const TRect& aRect); + + // test WriteInternalStateL + void DoWriteInternalStateL( RWriteStream& aStream ); + + // test SetTextL + void DoSetTextL( const TDesC& aText ); + + // test SetPictureL + void DoSetPictureL( const CFbsBitmap* aMain,const CFbsBitmap* aMask ); + + // test SetPictureFromFileL + void DoSetPictureFromFileL( const TDesC& aFilename,TInt aMain,TInt aMask ); + + // set components, aIndex is a number in array. The value is 0 or 1. + TInt SetComponentsL( TInt aIndex ); + + }; +// ----------------------------------------------------------------------------- +// CTestCmdBtBase::CTestCmdBtBase +// ----------------------------------------------------------------------------- +// +CTestCmdBtBase::CTestCmdBtBase(){} + +// ----------------------------------------------------------------------------- +// CTestCmdBtBase::~CTestCmdBtBase +// ----------------------------------------------------------------------------- +// +CTestCmdBtBase::~CTestCmdBtBase(){} + +// ----------------------------------------------------------------------------- +// CTestCmdBtBase::DoStateChanged +// ----------------------------------------------------------------------------- +// +void CTestCmdBtBase::DoStateChanged() + { + StateChanged(); + } +// ----------------------------------------------------------------------------- +// CTestCmdBtBase::DoWriteInternalStateL +// ----------------------------------------------------------------------------- +// +void CTestCmdBtBase::DoWriteInternalStateL( RWriteStream& aStream ) + { + WriteInternalStateL( aStream ); + } + +// ----------------------------------------------------------------------------- +// CTestCmdBtBase::DoSetTextL +// ----------------------------------------------------------------------------- +// +void CTestCmdBtBase::DoSetTextL( const TDesC& aText ) + { + SetTextL( aText, iComponents[0] ); + } + +// ----------------------------------------------------------------------------- +// CTestCmdBtBase::DoSetPictureL +// ----------------------------------------------------------------------------- +// +void CTestCmdBtBase::DoSetPictureL( const CFbsBitmap* aMain,const CFbsBitmap* aMask ) + { + SetPictureL( aMain, aMask, iComponents[0] ); + } + +// ----------------------------------------------------------------------------- +// CTestCmdBtBase::DoSetPictureFromFileL +// ----------------------------------------------------------------------------- +// +void CTestCmdBtBase::DoSetPictureFromFileL( const TDesC& aFilename,TInt aMain,TInt aMask ) + { + SetPictureFromFileL( aFilename, aMain, aMask, iComponents[0] ); + } + + +// ----------------------------------------------------------------------------- +// CTestCmdBtBase::DoDraw +// ----------------------------------------------------------------------------- +// +void CTestCmdBtBase::DoDraw(const TRect& aRect) + { + Draw( aRect ); + } + +// ----------------------------------------------------------------------------- +// CTestCmdBtBase::SetComponentsL +// ----------------------------------------------------------------------------- +// +TInt CTestCmdBtBase::SetComponentsL( TInt aIndex ) + { + const TInt marginsize = 2; + switch ( aIndex ) + { + case 0: + { + CEikAlignedControl* component = new ( ELeave ) CEikAlignedControl; + component->SetAllMarginsTo( marginsize ); + component->SetAlignment( EHLeftVCenter ); + iComponents[0] = component; + break; + } + case 1: + { + CEikAlignedControl* component = new ( ELeave ) CEikAlignedControl; + component->SetAllMarginsTo( marginsize ); + component->SetAlignment( EHLeftVCenter ); + iComponents[1] = component; + break; + } + default: + return -1; + } + return 0; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseConstrutorL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseConstrutorL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + STIF_ASSERT_NOT_NULL( cmdbtbase ); + CleanupStack::PopAndDestroy( cmdbtbase ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseSetButtonLayoutL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseSetButtonLayoutL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + CEikCommandButtonBase::TLayout layout = CEikCommandButtonBase::EFirstRightSecondLeft; + cmdbtbase->SetButtonLayout( layout ); + CleanupStack::PopAndDestroy(); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseSetExcessSpaceL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseSetExcessSpaceL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + CEikCommandButtonBase::TExcess excess = CEikCommandButtonBase::EToFirst; + cmdbtbase->SetExcessSpace( excess ); + CleanupStack::PopAndDestroy(); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseSetDisplayContentL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseSetDisplayContentL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + CEikCommandButtonBase::TDisplayContent content = CEikCommandButtonBase::EFirstOnly; + cmdbtbase->SetDisplayContent( content ); + CleanupStack::PopAndDestroy(); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseLayoutComponentsL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseLayoutComponentsL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON); + cmdbtbase->StartConstructFromResourceL( reader ); + cmdbtbase->SetComponentsL( 0 ); + cmdbtbase->LayoutComponents(); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseStartConstructFromResourceL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseStartConstructFromResourceL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON); + cmdbtbase->StartConstructFromResourceL( reader ); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseConstructLabelAndImageFromResourceL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseConstructLabelAndImageFromResourceL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructLabelFromResourceL( reader, CEikCommandButtonBase::EFirst ); + CleanupStack::PopAndDestroy(); + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructImageFromResourceL( reader, CEikCommandButtonBase::EFirst ); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseUpdateComponentAlignmentL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseUpdateComponentAlignmentL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + cmdbtbase->SetComponentsL( 0 ); + cmdbtbase->UpdateComponentAlignment(); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseSetDefaultL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseSetDefaultL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + cmdbtbase->SetDefault( EFalse ); + cmdbtbase->SetDefault( ETrue ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseSetDimmedL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseSetDimmedL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + cmdbtbase->SetDimmed( EFalse ); + cmdbtbase->SetDimmed( ETrue ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseMinimumSizeL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseMinimumSizeL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + TSize size( 0, 0 ); + size = cmdbtbase->MinimumSize(); + if ( size.iHeight == 0 || size.iWidth == 0 ) + { + CleanupStack::PopAndDestroy( 2 ); + return KErrCorrupt; + } + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseCountComponentControlsL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseCountComponentControlsL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + cmdbtbase->SetComponentsL( 0 ); + TInt num = cmdbtbase->CountComponentControls(); + CleanupStack::PopAndDestroy( 2 ); + const TInt controlnum = 1; + STIF_ASSERT_EQUALS( controlnum, num ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseComponentControlL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseComponentControlL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + + cmdbtbase->SetComponentsL( 0 ); + CCoeControl* control = cmdbtbase->ComponentControl( 0 ); + STIF_ASSERT_NOT_NULL( control ); + + CleanupStack::PopAndDestroy( cmdbtbase ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseSetContainerWindowLAndActivateL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseSetContainerWindowLAndActivateL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + cmdbtbase->SetContainerWindowL( *iContainer ); + cmdbtbase->SetComponentsL( 0 ); + cmdbtbase->ActivateL(); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseFocusChangedL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseFocusChangedL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + cmdbtbase->SetContainerWindowL( *iContainer ); + cmdbtbase->SetComponentsL( 0 ); + cmdbtbase->ActivateL(); + + cmdbtbase->FocusChanged( ENoDrawNow ); + cmdbtbase->FocusChanged( EDrawNow ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseOfferKeyEventL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseOfferKeyEventL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + cmdbtbase->SetContainerWindowL( *iContainer ); + + cmdbtbase->SetComponentsL( 0 ); + cmdbtbase->ActivateL(); + TKeyEvent keyevent; + keyevent.iCode = EKeyDevice3; + cmdbtbase->OfferKeyEventL( keyevent, EEventKey ); + TPointerEvent event; + cmdbtbase->HandlePointerEventL( event ); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseGetColorUseListL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseGetColorUseListL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + cmdbtbase->SetContainerWindowL( *iContainer ); + cmdbtbase->SetComponentsL( 0 ); + cmdbtbase->ActivateL(); + CArrayFixFlat* array = new (ELeave) CArrayFixFlat( KArraySize ); + CleanupStack::PushL( array ); + cmdbtbase->GetColorUseListL( *array ); + CleanupStack::PopAndDestroy( 3 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseHandleResourceChangeL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseHandleResourceChangeL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + cmdbtbase->SetContainerWindowL( *iContainer ); + cmdbtbase->SetComponentsL( 0 ); + cmdbtbase->ActivateL(); + cmdbtbase->HandleResourceChange( 0 ); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseStateChangedL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseStateChangedL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + cmdbtbase->SetContainerWindowL( *iContainer ); + cmdbtbase->SetComponentsL( 0 ); + cmdbtbase->ActivateL(); + cmdbtbase->DoStateChanged(); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseSetTextL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseSetTextL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + cmdbtbase->SetContainerWindowL( *iContainer ); + _LIT( KBtText, "testcommondbutton" ); + TBuf buf( KBtText ); + cmdbtbase->DoSetTextL( buf ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseSetPictureL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseSetPictureL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + cmdbtbase->SetContainerWindowL( *iContainer ); + cmdbtbase->SetComponentsL( 0 ); + cmdbtbase->ActivateL(); + CFbsBitmap* bitmap = NULL; + CFbsBitmap* mask = NULL; + AknIconUtils::CreateIconL( bitmap, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + CleanupStack::PushL( bitmap ); + CleanupStack::PushL( mask ); + cmdbtbase->DoSetPictureL( bitmap, mask ); + CleanupStack::Pop( mask ); + CleanupStack::Pop( bitmap ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseSetPictureFromFileL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseSetPictureFromFileL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + CleanupStack::PopAndDestroy(); //reader + cmdbtbase->SetContainerWindowL( *iContainer ); + cmdbtbase->SetComponentsL( 0 ); + cmdbtbase->ActivateL(); + TRect rect( 0, 0, 1, 1 ); + cmdbtbase->DoSetPictureFromFileL( KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + iContainer->ActivateGc(); + cmdbtbase->DoDraw( rect ); + iContainer->DeactivateGc(); + CleanupStack::PopAndDestroy( cmdbtbase ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseDrawL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseDrawL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + cmdbtbase->SetButtonLayout( CEikCommandButtonBase::EFirstRightSecondLeft ); + cmdbtbase->SetExcessSpace( CEikCommandButtonBase::EShare ); + cmdbtbase->SetDisplayContent( CEikCommandButtonBase::EFirstOnly ); + cmdbtbase->SetContainerWindowL( *iContainer ); + iContainer->ActivateL(); + cmdbtbase->SetComponentsL( 0 ); + cmdbtbase->ActivateL(); + iContainer->DrawNow(); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtBaseWriteInternalStateL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtBaseWriteInternalStateL( CStifItemParser& /*aItem*/ ) + { + CTestCmdBtBase* cmdbtbase = new ( ELeave ) CTestCmdBtBase; + CleanupStack::PushL( cmdbtbase ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMDBUTTON ); + cmdbtbase->ConstructFromResourceL( reader ); + cmdbtbase->SetContainerWindowL( *iContainer ); + cmdbtbase->SetComponentsL( 0 ); + cmdbtbase->ActivateL(); + + RDesWriteStream stream; + CleanupClosePushL( stream ); + HBufC8* hbuf = HBufC8::NewL( KHBufSize ); + CleanupStack::PushL( hbuf ); + TPtr8 ptr = hbuf->Des(); + stream.Open( ptr ); + cmdbtbase->DoWriteInternalStateL( stream ); + stream.CommitL(); + stream.Close(); + + CleanupStack::PopAndDestroy( 4 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtConstructorL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtConstructorL( CStifItemParser& /*aItem*/ ) + { + CEikCommandButton* cmdbt = new ( ELeave ) CEikCommandButton; + CleanupStack::PushL( cmdbt ); + STIF_ASSERT_NOT_NULL( cmdbt ); + CleanupStack::PopAndDestroy( cmdbt ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtConstructFromResourceL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtConstructFromResourceL( CStifItemParser& /*aItem*/ ) + { + CEikCommandButton* cmdbt = new ( ELeave ) CEikCommandButton; + CleanupStack::PushL( cmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMBUT_BUTTON ); + cmdbt->ConstructFromResourceL( reader ); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtSetPictureL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtSetPictureL( CStifItemParser& aItem ) + { + TInt num = 0; + TInt err = aItem.GetNextInt( num ); + if ( err != KErrNone ) + { + return err; + } + CEikCommandButton* cmdbt = new ( ELeave ) CEikCommandButton; + CleanupStack::PushL( cmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMBUT_BUTTON ); + cmdbt->ConstructFromResourceL( reader ); + CEikImage* image = NULL; + switch ( num ) + { + case 1: + { + CFbsBitmap* main = NULL; + CFbsBitmap* mask = NULL; + AknIconUtils::CreateIconL( main, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + cmdbt->SetPictureL( main, mask ); + image = cmdbt->Picture(); + STIF_ASSERT_NOT_NULL( image ); + CleanupStack::PopAndDestroy(); + break; + } + case 2: + { + cmdbt->SetPictureFromFileL( KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + image = cmdbt->Picture(); + STIF_ASSERT_NOT_NULL( image ); + CleanupStack::PopAndDestroy(); + break; + } + default: + CleanupStack::PopAndDestroy( cmdbt ); + return KErrNotSupported; + } + + CleanupStack::PopAndDestroy( cmdbt ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtSetThreeEnumL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtSetThreeEnumL( CStifItemParser& /*aItem*/ ) + { + CEikCommandButton* cmdbt = new ( ELeave ) CEikCommandButton; + CleanupStack::PushL( cmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMBUT_BUTTON ); + cmdbt->ConstructFromResourceL( reader ); + cmdbt->SetButtonLayout( CEikCommandButton::ETextRightPictureLeft ); + cmdbt->SetButtonLayout( CEikCommandButton::ETextBottomPictureTop ); + cmdbt->SetButtonLayout( CEikCommandButton::ETextTopPictureBottom ); + cmdbt->SetButtonLayout( CEikCommandButton::ETextLeftPictureRight ); + cmdbt->SetExcessSpace( CEikCommandButton::EShare ); + cmdbt->SetExcessSpace( CEikCommandButton::EToText ); + cmdbt->SetExcessSpace( CEikCommandButton::EToPicture ); + cmdbt->SetDisplayContent( CEikCommandButton::ETextOnly ); + cmdbt->SetDisplayContent( CEikCommandButton::ETextOnly ); + cmdbt->SetDisplayContent( CEikCommandButton::ETextAndPicture ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtSetTextL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtSetTextL( CStifItemParser& /*aItem*/ ) + { + CEikCommandButton* cmdbt = new ( ELeave ) CEikCommandButton; + CleanupStack::PushL( cmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMBUT_BUTTON ); + cmdbt->ConstructFromResourceL( reader ); + _LIT( KText, "settext" ); + cmdbt->SetTextL( KText ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtLabelL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtLabelL( CStifItemParser& /*aItem*/ ) + { + CEikCommandButton* cmdbt = new ( ELeave ) CEikCommandButton; + CleanupStack::PushL( cmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMBUT_BUTTON ); + cmdbt->ConstructFromResourceL( reader ); + CEikLabel* label = NULL; + label = cmdbt->Label(); + STIF_ASSERT_NOT_NULL( label ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtCmdSetL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtCmdSetL( CStifItemParser& /*aItem*/ ) + { + CEikCommandButton* cmdbt = new ( ELeave ) CEikCommandButton; + CleanupStack::PushL( cmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMBUT_BUTTON ); + cmdbt->ConstructFromResourceL( reader ); + CFbsBitmap* main = NULL; + CFbsBitmap* mask = NULL; + _LIT( KText, "settext" ); + AknIconUtils::CreateIconL( main, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + CleanupStack::PushL( main ); + CleanupStack::PushL( mask ); + cmdbt->SetCommandL( ELeftBt, &KText, main, mask ); + CleanupStack::Pop( mask ); + CleanupStack::Pop( main ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtUpdateComponentAlignmentL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtUpdateComponentAlignmentL( CStifItemParser& /*aItem*/ ) + { + CEikCommandButton* cmdbt = new ( ELeave ) CEikCommandButton; + CleanupStack::PushL( cmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMBUT_BUTTON ); + cmdbt->ConstructFromResourceL( reader ); + cmdbt->UpdateComponentAlignment(); + + TPointerEvent event; + cmdbt->HandlePointerEventL( event ); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikTwoPicCmdBtConstructorL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikTwoPicCmdBtConstructorL( CStifItemParser& /*aItem*/ ) + { + CEikTwoPictureCommandButton* piccmdbt = new ( ELeave ) CEikTwoPictureCommandButton; + CleanupStack::PushL( piccmdbt ); + STIF_ASSERT_NOT_NULL( piccmdbt ); + CleanupStack::PopAndDestroy( piccmdbt ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikTwoPicCmdBtConstructFromResourceL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikTwoPicCmdBtConstructFromResourceL( CStifItemParser& /*aItem*/ ) + { + CEikTwoPictureCommandButton* piccmdbt = new ( ELeave ) CEikTwoPictureCommandButton; + CleanupStack::PushL( piccmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TWOPICBT_BUTTON ); + piccmdbt->ConstructFromResourceL( reader ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikTwoPicCmdBtIsSecondPictureOwnedExternallyL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikTwoPicCmdBtIsSecondPictureOwnedExternallyL( CStifItemParser& /*aItem*/ ) + { + CEikTwoPictureCommandButton* piccmdbt = new ( ELeave ) CEikTwoPictureCommandButton; + CleanupStack::PushL( piccmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TWOPICBT_BUTTON ); + piccmdbt->ConstructFromResourceL( reader ); + CFbsBitmap* main = NULL; + CFbsBitmap* mask = NULL; + CFbsBitmap* secondmain = NULL; + CFbsBitmap* secondmask = NULL; + AknIconUtils::CreateIconL( main, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + AknIconUtils::CreateIconL( secondmain, secondmask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + piccmdbt->SetTwoPicturesL( main, mask, secondmain, secondmask ); + piccmdbt->IsSecondPictureOwnedExternally(); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikTwoPicCmdBtPictureL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikTwoPicCmdBtPictureL( CStifItemParser& /*aItem*/ ) + { + CEikTwoPictureCommandButton* piccmdbt = new ( ELeave ) CEikTwoPictureCommandButton; + CleanupStack::PushL( piccmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TWOPICBT_BUTTON ); + piccmdbt->ConstructFromResourceL( reader ); + CFbsBitmap* main = NULL; + CFbsBitmap* mask = NULL; + CFbsBitmap* secondmain = NULL; + CFbsBitmap* secondmask = NULL; + AknIconUtils::CreateIconL( main, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + AknIconUtils::CreateIconL( secondmain, secondmask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + piccmdbt->SetTwoPicturesL( main, mask, secondmain, secondmask ); + CEikImage* image = NULL; + image = piccmdbt->Picture(); + STIF_ASSERT_NOT_NULL( image ); + + TPointerEvent event; + piccmdbt->HandlePointerEventL( event ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikTwoPicCmdBtSetTextL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikTwoPicCmdBtSetTextL( CStifItemParser& /*aItem*/ ) + { + CEikTwoPictureCommandButton* piccmdbt = new ( ELeave ) CEikTwoPictureCommandButton; + CleanupStack::PushL( piccmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TWOPICBT_BUTTON ); + piccmdbt->ConstructFromResourceL( reader ); + _LIT( KText, "settext" ); + piccmdbt->SetTextL( KText ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikTwoPicCmdBtPictureSetL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikTwoPicCmdBtPictureSetL( CStifItemParser& /*aItem*/ ) + { + CEikTwoPictureCommandButton* piccmdbt = new ( ELeave ) CEikTwoPictureCommandButton; + CleanupStack::PushL( piccmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TWOPICBT_BUTTON ); + piccmdbt->ConstructFromResourceL( reader ); + piccmdbt->SetContainerWindowL( *iContainer ); + CFbsBitmap* main = NULL; + CFbsBitmap* mask = NULL; + CFbsBitmap* secondmain = NULL; + CFbsBitmap* secondmask = NULL; + AknIconUtils::CreateIconL( main, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + AknIconUtils::CreateIconL( secondmain, secondmask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + piccmdbt->SetTwoPicturesL( main, mask, secondmain, secondmask ); + secondmain = NULL; + secondmask = NULL; + AknIconUtils::CreateIconL( secondmain, secondmask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + piccmdbt->SetSecondPicture( secondmain, secondmain ); + piccmdbt->SetPictureFromFileL( KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + TRAPD( err, piccmdbt->SetSecondPictureFromFileL( KBitmapFile, EMbmAvkonQgn_graf_tab_21, EMbmAvkonQgn_graf_tab_21_mask ) ); + CleanupStack::PopAndDestroy( 2 ); + if ( err != KErrNone ) + { + err = KErrNone; + } + return err; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikTwoPicCmdBtConstructImagesFromResourceL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikTwoPicCmdBtConstructImagesFromResourceL( CStifItemParser& /*aItem*/ ) + { + CEikTwoPictureCommandButton* piccmdbt = new ( ELeave ) CEikTwoPictureCommandButton; + CleanupStack::PushL( piccmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TWOPICBT_BUTTON ); +// TRAPD( err, piccmdbt->ConstructImagesFromResourceL( reader, CEikCommandButtonBase::ESecond ) ); +// if ( err != KErrNone ) +// { +// return KErrNone; +// } + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikTwoPicCmdBtSetSecondPictureOwnedExternallyL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikTwoPicCmdBtSetSecondPictureOwnedExternallyL( CStifItemParser& /*aItem*/ ) + { + CEikTwoPictureCommandButton* piccmdbt = new ( ELeave ) CEikTwoPictureCommandButton; + CleanupStack::PushL( piccmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TWOPICBT_BUTTON ); + piccmdbt->ConstructFromResourceL( reader ); + piccmdbt->SetContainerWindowL( *iContainer ); + piccmdbt->SetSecondPictureOwnedExternally( ETrue ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikTwoPicCmdBtActivateL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikTwoPicCmdBtActivateL( CStifItemParser& /*aItem*/ ) + { + CEikTwoPictureCommandButton* piccmdbt = new ( ELeave ) CEikTwoPictureCommandButton; + CleanupStack::PushL( piccmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TWOPICBT_BUTTON ); + piccmdbt->ConstructFromResourceL( reader ); + CFbsBitmap* main = NULL; + CFbsBitmap* mask = NULL; + CFbsBitmap* secondmain = NULL; + CFbsBitmap* secondmask = NULL; + AknIconUtils::CreateIconL( main, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + AknIconUtils::CreateIconL( secondmain, secondmask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + piccmdbt->SetTwoPicturesL( main, mask, secondmain, secondmask ); + iContainer->ActivateGc(); + piccmdbt->ActivateL(); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikTwoPicCmdBtWriteInternalStateL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikTwoPicCmdBtWriteInternalStateL( CStifItemParser& /*aItem*/ ) + { + //new a class for test only one protected function + class CTestTwoPicBt : public CEikTwoPictureCommandButton + { + public: + CTestTwoPicBt(){} + ~CTestTwoPicBt(){} + void DoWriteInternalStateL( RWriteStream& aStream ){ WriteInternalStateL( aStream ); } + TInt SetComponents( TInt aIndex ) + { + const TInt marginsize = 2; + switch ( aIndex ) + { + case 0: + { + CEikAlignedControl* component = new ( ELeave ) CEikAlignedControl; + component->SetAllMarginsTo( marginsize ); + component->SetAlignment( EHLeftVCenter ); + iComponents[0] = component; + break; + } + case 1: + { + CEikAlignedControl* component = new ( ELeave ) CEikAlignedControl; + component->SetAllMarginsTo( marginsize ); + component->SetAlignment( EHLeftVCenter ); + iComponents[1] = component; + break; + } + default: + return -1; + } + return 0; + } + }; + CTestTwoPicBt* piccmdbt = new ( ELeave ) CTestTwoPicBt; + CleanupStack::PushL( piccmdbt ); + piccmdbt->SetComponents( 0 ); + piccmdbt->SetComponents( 1 ); + CFbsBitmap* main = NULL; + CFbsBitmap* mask = NULL; + CFbsBitmap* secondmain = NULL; + CFbsBitmap* secondmask = NULL; + AknIconUtils::CreateIconL( main, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + AknIconUtils::CreateIconL( secondmain, secondmask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + piccmdbt->SetTwoPicturesL( main, mask, secondmain, secondmask ); + HBufC8* buf = HBufC8::NewL( KHBufSize ); + CleanupStack::PushL( buf ); + TPtr8 ptr = buf->Des(); + + RDesWriteStream stream; + CleanupClosePushL( stream ); + stream.Open( ptr ); + // crash when reading bitmap data + TRAPD( err, piccmdbt->DoWriteInternalStateL( stream ) ); + stream.CommitL(); + stream.Close(); + CleanupStack::PopAndDestroy( 3 );//piccmdbt, buf, stream + if ( err != KErrNone ) + { + err = KErrNone; + } + return err; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikInverterCmdBtConstructorL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikInverterCmdBtConstructorL( CStifItemParser& /*aItem*/ ) + { + CEikInverterCommandButton* invertcmdbt = new ( ELeave ) CEikInverterCommandButton; + CleanupStack::PushL( invertcmdbt ); + STIF_ASSERT_NOT_NULL( invertcmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMBUT_BUTTON ); + invertcmdbt->ConstructFromResourceL( reader ); + TPointerEvent event; + invertcmdbt->HandlePointerEventL( event ); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikInverterCmdBtWriteInternalStateL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikInverterCmdBtWriteInternalStateL( CStifItemParser& /*aItem*/ ) + { + //new a class for test only one protected function + class CTestInvertCmdBt : public CEikInverterCommandButton + { + public: + CTestInvertCmdBt(){} + ~CTestInvertCmdBt(){} + void DoWriteInternalStateL( RWriteStream& aStream ){ WriteInternalStateL( aStream ); } + }; + CTestInvertCmdBt* invertcmdbt = new ( ELeave ) CTestInvertCmdBt; + CleanupStack::PushL( invertcmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMBUT_BUTTON ); + invertcmdbt->ConstructFromResourceL( reader ); + HBufC8* buf = HBufC8::NewL( KHBufSize ); + TPtr8 ptr = buf->Des(); + CleanupStack::PushL( buf ); + RDesWriteStream stream; + CleanupClosePushL( stream ); + stream.Open( ptr ); + invertcmdbt->DoWriteInternalStateL( stream ); + stream.CommitL(); + stream.Close(); + CleanupStack::PopAndDestroy( 4 );//invertcmdbt, reader, buf, stream + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikTxtBtConstructorL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikTxtBtConstructorL( CStifItemParser& /*aItem*/ ) + { + CEikTextButton* txtbt = new ( ELeave ) CEikTextButton; + CleanupStack::PushL( txtbt ); + STIF_ASSERT_NOT_NULL( txtbt ); + CleanupStack::PopAndDestroy( txtbt ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikTxtBtConstructFromResourceL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikTxtBtConstructFromResourceL( CStifItemParser& /*aItem*/ ) + { + CEikTextButton* txtbt = new ( ELeave ) CEikTextButton; + CleanupStack::PushL( txtbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TXTBT_BUTTON ); + txtbt->ConstructFromResourceL( reader ); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikTxtBtSetTextL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikTxtBtSetTextL( CStifItemParser& /*aItem*/ ) + { + CEikTextButton* txtbt = new ( ELeave ) CEikTextButton; + CleanupStack::PushL( txtbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TXTBT_BUTTON ); + txtbt->ConstructFromResourceL( reader ); + _LIT( KText, "test" ); + txtbt->SetTextL( KText ); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikTxtBtSetTextL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikTxtBtLabelL( CStifItemParser& /*aItem*/ ) + { + CEikTextButton* txtbt = new ( ELeave ) CEikTextButton; + CleanupStack::PushL( txtbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_TXTBT_BUTTON ); + txtbt->ConstructFromResourceL( reader ); + CEikLabel* label = NULL; + label = txtbt->Label(); + STIF_ASSERT_NOT_NULL( label ); + TPointerEvent event; + txtbt->HandlePointerEventL( event ); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikBmpBtConstructorL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikBmpBtConstructorL( CStifItemParser& /*aItem*/ ) + { + CEikBitmapButton* bmpbt = new ( ELeave ) CEikBitmapButton; + CleanupStack::PushL( bmpbt ); + STIF_ASSERT_NOT_NULL( bmpbt ); + CleanupStack::PopAndDestroy( bmpbt ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikBmpBtConstructFromResourceL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikBmpBtConstructFromResourceL( CStifItemParser& /*aItem*/ ) + { + CEikBitmapButton* bmpbt = new ( ELeave ) CEikBitmapButton; + CleanupStack::PushL( bmpbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_BITMAPBT_BUTTON ); + bmpbt->ConstructFromResourceL( reader ); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikBmpBtPictureSetL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikBmpBtPictureSetL( CStifItemParser& /*aItem*/ ) + { + CEikBitmapButton* bmpbt = new ( ELeave ) CEikBitmapButton; + CleanupStack::PushL( bmpbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_BITMAPBT_BUTTON ); + bmpbt->ConstructFromResourceL( reader ); + CFbsBitmap* main = NULL; + CFbsBitmap* mask = NULL; + AknIconUtils::CreateIconL( main, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + bmpbt->SetPictureL( main, mask ); + bmpbt->SetPictureFromFileL( KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + CEikImage* image = NULL; + image = bmpbt->Picture(); + STIF_ASSERT_NOT_NULL( image ); + + TPointerEvent event; + bmpbt->HandlePointerEventL( event ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestCEikCmdBtProcessCmdStackL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestCEikCmdBtProcessCmdStackL( CStifItemParser& /*aItem*/ ) + { + CEikCommandButton* cmdbt = new ( ELeave ) CEikCommandButton; + CleanupStack::PushL( cmdbt ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_CMBUT_BUTTON ); + cmdbt->ConstructFromResourceL( reader ); + CleanupStack::PopAndDestroy(); + CFbsBitmap* main = NULL; + CFbsBitmap* mask = NULL; + AknIconUtils::CreateIconL( main, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + CleanupStack::PushL( main ); + CleanupStack::PushL( mask ); + _LIT( KText, "settext" ); + cmdbt->AddCommandToStackL( ESingle, &KText, main, mask ); + cmdbt->PopCommandFromStack(); + CleanupStack::Pop( mask ); + CleanupStack::Pop( main ); + AknIconUtils::CreateIconL( main, mask, KBitmapFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + CleanupStack::PushL( main ); + CleanupStack::PushL( mask ); + cmdbt->AddCommandToStackL( EBckBt, &KText, main, mask ); + cmdbt->RemoveCommandFromStack( EBckBt ); + CleanupStack::Pop( mask ); + CleanupStack::Pop( main ); + + CleanupStack::PopAndDestroy( cmdbt ); + + return KErrNone; + } +// End of file