diff -r 000000000000 -r 5f000ab63145 phoneapp/phoneuivoipextension/inc/cphonetransferdialercontroller.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneuivoipextension/inc/cphonetransferdialercontroller.h Mon Jan 18 20:18:27 2010 +0200 @@ -0,0 +1,139 @@ +/* +* Copyright (c) 2008 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: +* Unattended transfer dialer customization +* controller +* +*/ + + +#ifndef CPHONETRANSFERDIALERCONTROLLER_H_ +#define CPHONETRANSFERDIALERCONTROLLER_H_ + +// INCLUDES +#include +#include "mphonedialercontroller.h" + +// FORWARD DECLARATIONS +class CAknToolbar; + +/** +* VoIP unattended transfer dialer customization +*/ +NONSHARABLE_CLASS( CPhoneTransferDialerController ): public CBase, + public MPhoneDialerController + { + public: + + static CPhoneTransferDialerController* NewL(); + + /** + * Destructor. + */ + virtual ~CPhoneTransferDialerController(); + + public: // From MDialerController + + + /** + * Initializes the controller. + * @param aToolbar CAknToolbar instance. + * @since S60 v5.1 + */ + void InitializeL( CAknToolbar& aToolbar ); + + /** + * Returns Cba resource id + * @return Resource Id of the softkeys + * @since S60 v5.1 + */ + TInt CbaResourceId() const; + + /** + * Returns Menu resource id + * @return Id of the menu resource + * @since S60 v5.1 + */ + TInt MenuResourceId() const; + + /** + * Returns number entry prompt text + * @return Reference to text to be shown on number entry + * @since S60 v5.1 + */ + const TDesC& NumberEntryPromptTextL(); + + /** + * Handles the number entry empty event + * @param aEmpty ETrue if numberentry is empty + * @since S60 v5.1 + */ + void HandleNumberEntryIsEmpty( TBool aEmpty ); + + /** + * Sets visibility of buttons created by the implementation + * @param aShow ETrue if numberentry is empty + * @since S60 v5.1 + */ + void ShowButtons( TBool aShow ); + + private: + + /** + * Creates instance of CAKnButton + * @param aNormalIconId Button normal icon id + * @param aNormalMaskId Mask id + * @param aTooltipText Reference to tooltip text + * @param aSkinIconId Skin icon id + * @return Pointer to created button instance + */ + CAknButton* CreateButtonLC( TInt aNormalIconId, + TInt aNormalMaskId, + const TDesC& aTooltipText, + const TAknsItemID& aSkinIconId ) const; + + /** + * Returns tool tip for specific command + * @param aCommandId Command id which the tooltip text + * is needed + * @return Pointer to descriptor containing tooltip text + */ + HBufC* GetTooltipTextL( TInt aCommandId ) const; + + TAknsItemID SkinId( TInt aIconIndex ) const; + + protected: + + /** + * By default EPOC constructor is private. + */ + CPhoneTransferDialerController(); + + private: // Data + + // Pointer to CAknToolbar, Not own + CAknToolbar* iToolbar; + + // ETrue if number entry input field is empty + TBool iNumberEntryIsEmpty; + + // Number entry prompt text ("Address:") + HBufC* iNumberEntryPromptText; + + // ETrue if initialized + TBool iIsInitialized; + + }; + +#endif /*CPHONETRANSFERDIALERCONTROLLER_H_*/