diff -r 000000000000 -r 2f259fa3e83a classicui_pub/buttons_api/tsrc/src/testsdkbuttonsblockseiklbbut.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/classicui_pub/buttons_api/tsrc/src/testsdkbuttonsblockseiklbbut.cpp Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,399 @@ +/* +* 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 eiklbbut.h +* +*/ + + + +// [INCLUDE FILES] +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "testsdkbuttons.h" + + +// CONSTANTS +const TInt KArraySize = 10; + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtConstructorL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtConstructorL( CStifItemParser& /*aItem*/ ) + { + CEikLabeledButton* labelbutton = new ( ELeave ) CEikLabeledButton; + CleanupStack::PushL( labelbutton ); + STIF_ASSERT_NOT_NULL( labelbutton ); + CleanupStack::PopAndDestroy(); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtConstructL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtConstructL( CStifItemParser& /*aItem*/ ) + { + TInt hotKeyCode = 1; + TInt flags = 1; + CEikLabeledButton* labelbutton = new ( ELeave ) CEikLabeledButton; + CleanupStack::PushL( labelbutton ); + CEikCommandButton* commandbutton = new( ELeave )CEikCommandButton(); + CleanupStack::PushL( commandbutton ); + labelbutton->ConstructL( commandbutton, hotKeyCode, flags ); + CleanupStack::Pop( commandbutton ); + CleanupStack::PopAndDestroy( labelbutton ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtConstructFromResourceL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtConstructFromResourceL( CStifItemParser& /*aItem*/ ) + { + CEikLabeledButton* labelbutton = new ( ELeave ) CEikLabeledButton; + CleanupStack::PushL( labelbutton ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_LABELBUTTON ); + labelbutton->ConstructFromResourceL( reader ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtButtonoL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtButtonoL( CStifItemParser& /*aItem*/ ) + { + TInt hotKeyCode = 1; + TInt flags = 1; + CEikLabeledButton* labelbutton = new ( ELeave ) CEikLabeledButton; + CleanupStack::PushL( labelbutton ); + CEikCommandButton* commandbutton = new( ELeave )CEikCommandButton(); + CleanupStack::PushL( commandbutton ); + labelbutton->ConstructL( commandbutton, hotKeyCode, flags ); + CleanupStack::Pop( commandbutton ); + + CEikCommandButtonBase* temp = NULL; + temp = labelbutton->Button(); + STIF_ASSERT_NOT_NULL( temp ); + + CleanupStack::PopAndDestroy( labelbutton ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtLabelL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtLabelL( CStifItemParser& /*aItem*/ ) + { + TInt hotKeyCode = 1; + TInt flags = 1; + CEikLabeledButton* labelbutton = new ( ELeave ) CEikLabeledButton; + CleanupStack::PushL( labelbutton ); + CEikCommandButton* commandButton = new( ELeave )CEikCommandButton(); + CleanupStack::PushL( commandButton ); + labelbutton->ConstructL( commandButton, hotKeyCode, flags ); + CleanupStack::Pop( commandButton ); + + CEikLabel* temp = NULL; + temp = labelbutton->Label(); + STIF_ASSERT_NOT_NULL( temp ); + + CleanupStack::PopAndDestroy( labelbutton ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtHotKeyFunctionsL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtHotKeyFunctionsL( CStifItemParser& /*aItem*/ ) + { + TInt hotKeyCode = 97; + TInt flags = 1; + CEikLabeledButton* labelbutton = new ( ELeave ) CEikLabeledButton; + CleanupStack::PushL( labelbutton ); + CEikCommandButton* commandButton = new( ELeave )CEikCommandButton(); + CleanupStack::PushL( commandButton ); + labelbutton->ConstructL( commandButton, hotKeyCode, flags ); + CleanupStack::Pop( commandButton ); + labelbutton->HotKeyCode(); + labelbutton->ShowsHotKey(); + labelbutton->PlainHotKey(); + + hotKeyCode++; + labelbutton->UpdateHotKey( hotKeyCode, CEikLabeledButton::EPlainHotKey ); + STIF_ASSERT_EQUALS( hotKeyCode, labelbutton->HotKeyCode() ); + STIF_ASSERT_FALSE( labelbutton->ShowsHotKey() ); + STIF_ASSERT_TRUE( labelbutton->PlainHotKey() ); + + + CleanupStack::PopAndDestroy( labelbutton ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtAnimateL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtAnimateL( CStifItemParser& /*aItem*/ ) + { + CEikLabeledButton* labelbutton = new ( ELeave ) CEikLabeledButton; + CleanupStack::PushL( labelbutton ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_LABELBUTTON ); + labelbutton->ConstructFromResourceL( reader ); + + labelbutton->Animate(); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtOfferKeyEvnetL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtOfferKeyEvnetL( CStifItemParser& /*aItem*/ ) + { + CEikLabeledButton* labelbutton = new ( ELeave ) CEikLabeledButton; + CleanupStack::PushL( labelbutton ); + labelbutton->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_LABELBUTTON ); + labelbutton->ConstructFromResourceL( reader ); + TKeyEvent keyevent = { EKeyEnter, EStdKeyEnter, 0, 0 }; + TEventCode type = EEventKey; + TKeyResponse result = labelbutton->OfferKeyEventL( keyevent, type ); + STIF_ASSERT_EQUALS( EKeyWasNotConsumed, result ); + + TPointerEvent event; + labelbutton->HandlePointerEventL( event ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtSetContainerWindowL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtSetContainerWindowL( CStifItemParser& /*aItem*/ ) + { + CEikLabeledButton* labelbutton = new ( ELeave ) CEikLabeledButton; + CleanupStack::PushL( labelbutton ); + labelbutton->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_LABELBUTTON ); + labelbutton->ConstructFromResourceL( reader ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtMiniSizeL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtMiniSizeL( CStifItemParser& /*aItem*/ ) + { + CEikLabeledButton* labelbutton = new ( ELeave ) CEikLabeledButton; + CleanupStack::PushL( labelbutton ); + labelbutton->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_LABELBUTTON ); + labelbutton->ConstructFromResourceL( reader ); + TSize size( 0, 0 ); + size = labelbutton->MinimumSize(); + STIF_ASSERT_NOT_EQUALS( 0, size.iWidth ); + STIF_ASSERT_NOT_EQUALS( 0, size.iHeight ); + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtSetdimL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtSetdimL( CStifItemParser& /*aItem*/ ) + { + CEikLabeledButton* labelbutton = new ( ELeave ) CEikLabeledButton; + CleanupStack::PushL( labelbutton ); + labelbutton->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_LABELBUTTON ); + labelbutton->ConstructFromResourceL( reader ); + labelbutton->SetDimmed( EFalse ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtHandleResourceChangeL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtHandleResourceChangeL( CStifItemParser& /*aItem*/ ) + { + CEikLabeledButton* labelbutton = new ( ELeave ) CEikLabeledButton; + CleanupStack::PushL( labelbutton ); + labelbutton->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_LABELBUTTON ); + labelbutton->ConstructFromResourceL( reader ); + TInt type = 0; + labelbutton->HandleResourceChange( type ); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtInputCapabilitiesL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtInputCapabilitiesL( CStifItemParser& /*aItem*/ ) + { + CEikLabeledButton* labelbutton = new ( ELeave ) CEikLabeledButton; + CleanupStack::PushL( labelbutton ); + labelbutton->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_LABELBUTTON ); + labelbutton->ConstructFromResourceL( reader ); + labelbutton->InputCapabilities(); + + CleanupStack::PopAndDestroy( 2 ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtGetColorUseListL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtGetColorUseListL( CStifItemParser& /*aItem*/ ) + { + CEikLabeledButton* labelbutton = new ( ELeave ) CEikLabeledButton; + CleanupStack::PushL( labelbutton ); + labelbutton->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_LABELBUTTON ); + labelbutton->ConstructFromResourceL( reader ); + CArrayFixFlat* array = new (ELeave) CArrayFixFlat( KArraySize ); + CleanupStack::PushL( array ); + labelbutton->GetColorUseListL( *array ); + STIF_ASSERT_EQUALS( 0, array->Count() ); + + CleanupStack::PopAndDestroy( 3 ); + + return KErrNone; + } +// ----------------------------------------------------------------------------- +// CTestSDKButtons::TestLabelBtWriteInternalStateL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKButtons::TestLabelBtWriteInternalStateL( CStifItemParser& /*aItem*/ ) + { + class CTestEikLabeledButton : public MCoeControlObserver, public CEikLabeledButton + { + public: + /*Constructor*/ + CTestEikLabeledButton(){} + /*Deconstructor*/ + ~CTestEikLabeledButton(){} + void DoWriteInternalStateL( RWriteStream aStream ) + { + WriteInternalStateL( aStream ); + } + public: + /** + * From CCoeControl + * Returns the number of component controls + * @return Number of component controls + */ + TInt CountComponentControls() const{ return 0; } + + /** + * From CCoeControl + * Return a pointer to the component control at the give index. + * @return Pointer to the conponent control.No ownership is transferred + */ + CCoeControl* ComponentControl(TInt /*aIndex*/) const{ return NULL; } + /** + * From CCoeControl + */ + void SizeChanged(){} + /** + * From CCoeControl + */ + void Reserved_2(){} + /** + * from MCoeControlObserver + */ + void HandleControlEventL(CCoeControl* /*aControl*/, + TCoeEvent /*aEventType*/){} + }; + + CTestEikLabeledButton* labelbutton = new ( ELeave ) CTestEikLabeledButton; + CleanupStack::PushL( labelbutton ); + labelbutton->SetContainerWindowL( *iContainer ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_LABELBUTTON ); + labelbutton->ConstructFromResourceL( reader ); + const TInt KHBufSize = 4096; + HBufC8* buf = HBufC8::NewL( KHBufSize ); + CleanupStack::PushL( buf ); + TPtr8 ptr = buf->Des(); + RDesWriteStream stream; + CleanupClosePushL( stream ); + stream.Open( ptr ); + labelbutton->DoWriteInternalStateL( stream ); + stream.CommitL(); + stream.Close(); + + CleanupStack::PopAndDestroy( 4 );// labelbutton, reader, buf, stream + + return KErrNone; + + } + +// End of file +