diff -r 73a1feb507fb -r bc78a40cd63c mmsharing/mmshui/inc/musuistatuspanehandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/mmshui/inc/musuistatuspanehandler.h Wed Sep 01 12:31:01 2010 +0100 @@ -0,0 +1,170 @@ +/* +* 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: +* +*/ + + + +#ifndef MUSUISTATUSPANEHANDLER_H +#define MUSUISTATUSPANEHANDLER_H + + +#include "musuinavimediadecorator.h" + +#include // Tab group +#include // Title pane +#include // Context pane +#include // Indicator container +#include +#include // CAknNavigationDecorator + + +class CAknNavigationControlContainer; +class CAknVolumePopup; + +/** + * Handles status, title and contextpane operations. + * + * @lib musui.exe + */ +class CMusUiStatusPaneHandler : public CBase + { + +public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CMusUiStatusPaneHandler* NewL( CEikonEnv& aEikonEnv ); + + /** + * Destructor. + */ + virtual ~CMusUiStatusPaneHandler(); + +private: + + /** + * C++ default constructor. + */ + CMusUiStatusPaneHandler( CEikonEnv& aEikonEnv ); + + /** + * Symbian 2nd-phase constructor. + */ + void ConstructL(); + + +public: // New functions + + /** + * Sets statuspane icons. + * + * @param aIconId ID of icon from .mbg file. + * @param aIconMaskId ID of icon mask from .mbg file. + */ + void SetStatusPaneIconsL( TInt32 aIconId, TInt32 aIconMaskId ); + + /** + * Sets statuspane icons. + * + */ + void SetStatusPaneIconsL( CFbsBitmap* aBitmap ); + + /** + * Hides navi-pane decorators and clears text + */ + void ClearNaviPaneL(); + + /** + * Sets title-pane text + * + * @param aTitle Title text + */ + void SetTitleL( const TDesC& aTitle ); + + /** + * Sets title-pane text + * + */ + void SetTitleFromResourceL( TInt aResourceId ); + + /** + * Get the current volume setting. + * + * @return Current volume. + */ + TInt GetVolumeControlValue() const; + + /** + * Activates volume control. + * + * @return Volume controller. + */ + void ActivateVolumeControlL( TInt aVolume, TBool aOnlyIfVisible ); + + /** + * Activate media navi pane. + */ + void ActivateNaviPaneMediaL(); + + /** + * + */ + void ShowNaviPaneIconL( TMusUiNaviMediaDecorator aIcon ); + + /** + * Set text in media navi pane. + * + * @param aLabel New label of media navi pane control + */ + void SetLeftLabelL( const TDesC& aLabel ); + + /** + * Set text in media navi pane. + * + * @param aLabel New label of media navi pane control + */ + void SetRightLabelL( const TDesC& aLabel ); + + /** + * Create media navi pane. + */ + CAknNavigationDecorator* CreateMediaNaviL(); + + /** + * Get Volume popup control pointer + * @return pointer of VolumePopup control + */ + CAknVolumePopup* GetVolumePopup() const; + + +private: // data + + CEikonEnv& iEikonEnvironment; + + // UI controls + CAknNavigationControlContainer* iNaviPane; + CAknTitlePane* iTitlePane; + CAknContextPane* iContextPane; + CAknNavigationDecorator* iNaviPaneText; + CAknVolumePopup* iVolumePopup; + // Navi pane media control + CAknNavigationDecorator* iMediaControl; + }; + +#endif // MUSUISTATUSPANEHANDLER_H + +// end of file