diff -r 000000000000 -r 307788aac0a8 realtimenetprots/sipfw/SampleApp/gameUI_techview/Inc/SIPExGameContainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/sipfw/SampleApp/gameUI_techview/Inc/SIPExGameContainer.h Tue Feb 02 01:03:15 2010 +0200 @@ -0,0 +1,190 @@ + +/* +* Copyright (c) 2004-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: +* +*/ + + + +#ifndef __CSIPLINEGAMECONTAINER_H__ +#define __CSIPLINEGAMECONTAINER_H__ + +// INCLUDES +#include "SIPExStateViewNotifier.h" +#include +#include + +// FORWARD DECLARATIONS +class CEikTextListBox; +class CSIPExGameView; +class CEikLabel; +class CSIPExEngine; +class CEikGlobalTextEditor; + +// CLASS DECLARATIONS +/** +* A container class for some associated view +*/ +class CSIPExGameContainer +: public CEikBorderedControl, + public MCoeView, + public MSIPExStateViewNotifier + { + public: + + /** + * Static constructor for CSIPExGameContainer + * @param aRect the rectangle this view will be drawn to + * @param aGameData The reference to the application engine + * @return An instance of CSIPExGameContainer. + * The ownership is transferred. + */ + static CSIPExGameContainer* NewL( const TRect& aRect, CSIPExEngine& aGameData ); + + /** + * Static constructor for CSIPExGameContainer. On return the instance is left to + * the CleanupStack. + * @param aRect the rectangle this view will be drawn to + * @param aGameData The reference to the application engine + * @return An instance of CSIPExGameContainer. + * The ownership is transferred. + */ + static CSIPExGameContainer* NewLC( const TRect& aRect, CSIPExEngine& aGameData ); + + /** + * Destructor + */ + ~CSIPExGameContainer(); + + private: + + /** + * Static constructor for CSIPExGameContainer + * @param aRect Frame rectangle for container. + * @param aGameData The reference to the application engine + */ + void ConstructL( const TRect& aRect, CSIPExEngine& aGameData ); + + /** + * C++ default constructor + */ + CSIPExGameContainer(); + + public: // from CCoeControl + + /** + * From CCoeControl. + */ + TInt CountComponentControls() const; + + /** + * From CCoeControl + */ + CCoeControl* ComponentControl(TInt aIndex) const; + + /** + * From CCoeControl + */ + void Draw(const TRect& aRect) const; + + /** + * From CCoeControl + */ + void SizeChanged(); + + /** + * From CCoeControl + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType ); + + public: // from MCoeView + /** + * From MCoeView + */ + virtual TVwsViewId ViewId() const; + + /** + * From MCoeView + */ + virtual void ViewActivatedL(const TVwsViewId& aPrevViewId, + TUid aCustomMessageId,const TDesC8& aCustomMessage); + + /** + * From MCoeView + */ + virtual void ViewDeactivated(); + + public: // From MStateViewNotifier + + /** + * From MStateViewNotifier + * Shows the text in the info editor (CEikGlobalTextEditor) + * @param aText A 16-bit text to be set to the info view. + */ + void ShowInfoL( const TDesC& aText ); + + /** + * From MStateViewNotifier + * Shows the text in the info editor (CEikGlobalTextEditor) + * @param aText A 8-bit text to be set to the info view. + */ + void ShowInfoL( const TDesC8& aText ); + + /** + * From MStateViewNotifier + * Shows the text in the status view editor (CEikLabel) + * @param aText The text to be set to the status view. + */ + void ShowStatusInfoL( const TDesC& aText ); + + private: // New functions + /** + * Counts the rects for components. + */ + void CountRects(); + + /** + * Creates the text editor and status label. + */ + void CreateStateViewEditorL(); + + /** + * Creates the game view. + */ + void CreateGameViewL(); + + private: // Data + + // Component areas + TRect iGameAreaRect; + TRect iStatusLblRect; + TRect iEditorRect; + + // Info text area. Area where all info texts can be drawn. + CEikGlobalTextEditor* iEditor; + + // Label where game state text can be set. + CEikLabel* iStatusLbl; + + // The game board view. + CSIPExGameView* iGameView; + + // Not owned: The pointer to the game engine. + CSIPExEngine* iGameEngine; + }; + +#endif // __CSIPLINEGAMECONTAINER_H__ + +// End of file