diff -r 000000000000 -r 2f259fa3e83a lafagnosticuifoundation/cone/tef/TMenu1Step.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lafagnosticuifoundation/cone/tef/TMenu1Step.h Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,192 @@ +// Copyright (c) 2006-2009 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: +// + +/** + @file + @test + @internalComponent - Internal Symbian test code +*/ + +#if !defined(__TMENU1STEP_H__) +#define __TMENU1STEP_H__ + +#include +#include "TMenuTestServer.h" +#include "appfwk_test_AppUi.h" +#include "TMENUASI.H" + + +enum TMenuCommand + { + EMenuCommandBold=EStyleElementBold, + EMenuCommandItalic=EStyleElementItalic, + EMenuCommandUnderline=EStyleElementUnderline, + EMenuCommandStrikethrough=EStyleElementStrikethrough, + EMenuCommandAddWindow, + EMenuCommandRemoveWindow, + EMenuCommandDrag, + EMenuCommandColor, + EMenuCommandPlaySound, + EMenuCommandExit + }; + + + +class CTMenu1Step : public CTmsTestStep + { +public: + CTMenu1Step(); + ~CTMenu1Step(); + virtual TVerdict doTestStepL(); + void ConstructAppL(CCoeEnv* aCoe); + }; + + + +class MTestMenu1MenuObserver + { +public: + virtual void MenuSelectionMadeL(TMenuCommand aSelection)=0; + }; + + + +class TSimpleMenuItem + { +private: + enum { ENominalTextLength=80 }; +public: + TMenuCommand iCommand; + TBuf iText; // less than this actually stored +public: + TInt RealLengthOfData() const; + }; + + + +class CTestMenu1 : public CCoeControl + { +public: + ~CTestMenu1(); + void ConstructL(MTestMenu1MenuObserver* aObserver,CCoeAppUi* aStack); + void CreateMenuL(); + void ReportSelectionMadeL(); + void CloseMenu(); + void HighlightTo(TInt aNewItemSelected); + TInt iItemSelected; +private: // framework + TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); + void HandlePointerEventL(const TPointerEvent& aPointerEvent); + void Draw(const TRect& aRect) const; +private: // new functions + void InitializeHotKeyCommands(); + void CreateFontL(); + void LoadDataL(); + void DoLoadDataL(); + void FreeData(); + void AddMenuItemL(TMenuCommand aCommand,const TDesC& aText); + void PrepareGcForDrawingItems() const; + void DrawItem(TInt aItem,TInt aHighlight) const; + void CalculateSize(TSize& aSize); +private: + enum { EBorderWidth=2 }; + MTestMenu1MenuObserver* iObserver; + CFont* iFont; + CCoeAppUi* iStack; + TBool iDisplayed; + TMenuCommand iHotKeyCommand[27]; + CArrayVarFlat* iItemArray; + }; + + + +class CMenu1MessageControl : public CCoeControl + { +public: + ~CMenu1MessageControl(); + void ConstructL(); + void ToggleFontStyleL(TMessageControlFontStyle aStyleElement); + void ToggleDragState(); + void SetMessage(const TDesC8& aMessage); + //static TInt Execute(TAny* aApplication); + //TInt DoExecute(); + void MoveWindow(TInt aStepX, TInt aStepY); + +private: // framework + TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); + void HandlePointerEventL(const TPointerEvent& aPointerEvent); + void Draw(const TRect& aRect) const; + void FocusChanged(TDrawNow aDrawNow); +private: // new functions + void DrawBorder() const; + void SetFontL(const TFontSpec& aFontSpec); + void DrawMessage() const; + void DrawMessageNow() const; +private: + TBuf8<40> iMessage; + TFontSpec iFontSpec; + TFontUnderline iFontUnderline; + TFontStrikethrough iFontStrikethrough; + CFbsFont* iFont; + TBool iDragsEnabled; + }; + + + +class CTrivialWindow : public CCoeControl + { +public: + void ConstructL(const TPoint& aPoint,const TSize& aSize); +private: + void Draw(const TRect& aRect) const; + }; + + + +class CTestMenu1AppUi : public CTestCoeAppUi, public MCoeMessageObserver, public MTestMenu1MenuObserver + { +public: + CTestMenu1AppUi(CTmsTestStep* aStep); + ~CTestMenu1AppUi(); + void ConstructL(); +private: // from MTestMenu1MenuObserver + void MenuSelectionMadeL(TMenuCommand aSelection); +private: // from CCoeAppUi + void HandleApplicationSpecificEventL(TInt aType,const TWsEvent& aEvent); +private: // from MCoeMessageObserver + MCoeMessageObserver::TMessageResponse HandleMessageL(TUint32 aClientHandleOfTargetWindowGroup, TUid aMessageUid, const TDesC8& aMessageParameters); +private: // new functions + void AddWindowL(); + void RemoveWindow(); + void TestColorOverridesL(); + void TestPlaySoundL(); + void DoTestSoundsL(); + void Wait(); + static TInt TimerCallBack(TAny* aSelf); + void DoAddWindowL(CTrivialWindow* aWindow,const TPoint& aPoint,const TSize& aSize); + void RunTestStepL(TInt aNextStep); +private: + CArrayFixFlat* iWindows; + CPeriodic* iTimer; +public: + CMenu1MessageControl* iMessageControl; + CTestMenu1* iMenu; + }; + +_LIT(KTMenu1Step,"TMenu1"); + +#endif + +