phoneapp/phoneuivoipextension/inc/cphonetransferdialercontroller.h
branchRCL_3
changeset 61 41a7f70b3818
parent 9 8871b09be73b
child 62 5266b1f337bd
--- a/phoneapp/phoneuivoipextension/inc/cphonetransferdialercontroller.h	Thu Aug 19 09:54:27 2010 +0300
+++ b/phoneapp/phoneuivoipextension/inc/cphonetransferdialercontroller.h	Tue Aug 31 15:14:29 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008, 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* 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"
@@ -23,7 +23,7 @@
 
 // INCLUDES
 #include <aknbutton.h>
-#include "cphonedialercontroller.h"
+#include "mphonedialercontroller.h"
 
 // FORWARD DECLARATIONS
 class CAknToolbar; 
@@ -31,7 +31,8 @@
 /**
 *  VoIP unattended transfer dialer customization
 */
-NONSHARABLE_CLASS( CPhoneTransferDialerController ): public CPhoneDialerController
+NONSHARABLE_CLASS( CPhoneTransferDialerController ): public CBase,
+                                       public MPhoneDialerController
     {
     public:      
 
@@ -44,6 +45,14 @@
 
     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
@@ -66,28 +75,35 @@
         const TDesC& NumberEntryPromptTextL();
         
         /**
-         * @see MPhoneDialerController
-         */
-        TInt GetButtonData( TButtonIndex aIndex, RPointerArray<CButtonData>& aData ) const;
+        * Handles the number entry empty event
+        * @param aEmpty ETrue if numberentry is empty
+        * @since S60 v5.1
+        */
+        void HandleNumberEntryIsEmpty( TBool aEmpty );
         
         /**
-         * @see MPhoneDialerController
-         */
-        TInt ButtonState( TButtonIndex aIndex ) const;
-        
-        /**
-         * @see MPhoneDialerController
-         */
-        TBool ButtonDimmed( TButtonIndex aIndex ) const;
-        
-        /**
-         * @see MPhoneDialerController
-         */
-        TBool EasyDialingAllowed() const;
+        * 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
@@ -97,10 +113,6 @@
         
         TAknsItemID SkinId( TInt aIconIndex ) const;
 
-        CButtonData* CreateButtonDataL(
-                TInt aCommandId,
-                TInt aNormalIconId,
-                TInt aNormalMaskId ) const;
     protected:
 
         /**
@@ -110,8 +122,17 @@
             
     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;
       
     };