basiclocationinfodisplay/blid/ui/inc/CBlidBaseContainer.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:31:27 +0100
branchRCL_3
changeset 18 870918037e16
parent 0 522cd55cc3d7
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* 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:  Blid application location request view's container 
*                class definition.
*
*/

#ifndef CBLIDBASECONTAINER_H
#define CBLIDBASECONTAINER_H

// INCLUDES
#include <coecntrl.h>
 
// FORWARD DECLARATIONS
class MKeyProcessor;
class CAknNavigationDecorator;
class CAknIconArray;
class CEikStatusPane;
class CEikListBox;
class CAknNavigationControlContainer;
class TAknsItemID;
class CAknTabGroup;

// CLASS DECLARATION
/**
*  CBlidBaseContainer  container control class.
*  
*/
class CBlidBaseContainer : public CCoeControl
    {
    public: // Constructors and destructor   
        /**
        * Destructor.
        */
        ~CBlidBaseContainer();

    protected: // construction
        CBlidBaseContainer( MKeyProcessor& aKeyProcessor, 
                            const TDesC& aHelpContext );

    public: // new functions
        /**
         * Activate navigation decorator.
         * Method can called if tab needs to be refreshed.
         * @param aNaviDecorator    navigation decorator
         * @param aTabId            activated tabulator id             
         */
        void ActivateTabL( CAknNavigationDecorator& aNaviDecorator, 
                            TInt aTabId );

    public: // from CCoeControl
        void GetHelpContext( TCoeHelpContext& aContext ) const;
        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
                                    TEventCode aType);
        void HandleResourceChange(TInt aType);
       
    protected: // new functions
        /**
         * Create CAknNavigationDecorator, ownership passed to caller.
         * @param aDefaultNaviPane, ETrue if default, EFalse if tabgroup
         * @return new instance of object. NULL, if something fails
         */
        CAknNavigationDecorator* CreateNaviPaneL( TBool aDefaultNaviPane );
        
        /**
         *  Append icon to icon array. CAknIconArray owns icons so it is 
         *  easier to it leave safely.
         *
         *  @param aIcons                 Icon array
         *  @param aSkinID                TAknsItemID
         *  @param aIconFileWithPath      Icon file name with path
         *  @param aIconGraphicsIndex     Picture index.
         *  @param aIconGraphicsMaskIndex Mask index.
         */
        void AddIconL( CAknIconArray* aIcons,
                       const TAknsItemID aSkinID,
                       const TDesC& aIconFileWithPath,
                       TInt aIconGraphicsIndex,
                       TInt aIconGraphicsMaskIndex );

        /**
         * Make title
         * @param aResourceText resource to create title
         */
        void MakeTitleL( TInt aResourceText );
        
        /**
         * Make title
         * @param aListbox, listbox instance
         * @param aResourceText, resourse id
         */
        void MakeEmptyTextListBoxL( 
                CEikListBox* aListBox,
                TInt aResourceText );

        /**
         * Appui's status pane getter
         * @return Statuspane pointer
         */
        CEikStatusPane* StatusPane();

        /** 
         * Add new tabs to tabgroup
         * @param aTabGroup
         */
        void AddTabsL(CAknTabGroup& aTabGroup);
        
    public:        
        static void SetGPSAvailability(const TBool aAvailability);
        static TBool IsGPSAvailable();
        
    protected: //data
        MKeyProcessor& iKeyProcessor;
        TCoeContextName iContextName;
        static TBool iGPSAvailability;
    };
#endif // CBLIDBASECONTAINER_H


// End of File