diff -r 000000000000 -r f0cf47e981f9 mmsharing/mmshui/inc/musuisendviewcontainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/mmshui/inc/musuisendviewcontainer.h Thu Dec 17 08:44:37 2009 +0200 @@ -0,0 +1,134 @@ +/* +* Copyright (c) 2005 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: The MUS application's UI class. +* +*/ + + + +#ifndef MUSUISENDVIEWCONTAINER_H +#define MUSUISENDVIEWCONTAINER_H + + +#include "musuiviewcontainer.h" +#include "musuilevelindicatorobserver.h" + +#include + +class MAknsControlContext; +class CMusUiGeneralView; +class CAknWaitDialog; +class CMusUiLevelIndicator; +class CMusUiSendController; + +/** + * + * + */ +class CMusUiSendViewContainer : public CMusUiViewContainer, + public MMusUiLevelIndicatorObserver + { + +public: // constructors and destructor + + /** + * Destructor. + */ + ~CMusUiSendViewContainer(); + +public: // new functions + + /** + * Return pointer to view class. User needs to type cast to + * appropriate concrete view class. + * + * @return handle to view + */ + CMusUiGeneralView* MusUiView() const; + + /** + * @param Pointer to instance of controller who is notified about changes in + * indicator. NULL if notifications are to be suppressed. + */ + void SetController( CMusUiSendController* aController ); + + +protected: // constructors + + /** + * Meant to be a base class, no instantiation + */ + CMusUiSendViewContainer(); + + /** + * Symbian second-phase constructor. + * + * @param aView Parent view of container. + * @param aRect Frame rectangle for container. + * @param aInputParams Packaged data. + */ + void ConstructL( CMusUiGeneralView* aView, + const TRect& aRect, + TAknOrientation aIndicatorLayout ); + + +private: // from base class CCoeControl + + /** + * Gets called by the application framework when drawing is + * needed. + * + * @param aRect The rectangle that needs to be drawn. + */ + virtual void Draw( const TRect& aRect ) const; + + virtual void SizeChanged(); + + virtual TTypeUid::Ptr MopSupplyObject( TTypeUid aId ); + + +private: // MMusUiLevelIndicatorObserver + + virtual void SetLevelIndicatorVisibility( TBool aVisible ); + + virtual void IndicatorLevelChanged( TInt aNewLevel ); + + +protected: // data + + CMusUiLevelIndicator* iIndicator; + + +private: // data + + /** Background skin control context. */ + MAknsControlContext* iBackGround; + + /** Handle to the view that owns of this container. Not own. */ + CMusUiGeneralView* iView; + + /** + * Engine DSA area + */ + TRect iVideoRect; + + // Can be NULL + CMusUiSendController* iSendController; + + }; + + +#endif // MUSUISENDVIEWCONTAINER_H + +// end of file