mmsharing/mmshui/inc/musuistatuspanehandler.h
branchRCL_3
changeset 33 bc78a40cd63c
--- /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 <akntabgrp.h>              // Tab group
+#include <akntitle.h>               // Title pane
+#include <akncontext.h>             // Context pane
+#include <AknIndicatorContainer.h>  // Indicator container
+#include <aknEditStateIndicator.h>
+#include <aknnavide.h>              // 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