vtuis/videotelui/inc/features/toolbar/cvtuitoolbarbutton.h
branchRCL_3
changeset 25 779871d1e4f4
parent 0 ed9695c8bcbe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vtuis/videotelui/inc/features/toolbar/cvtuitoolbarbutton.h	Wed Sep 01 12:29:12 2010 +0100
@@ -0,0 +1,131 @@
+/*
+* Copyright (c) 2006 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:  CVtUiToolbarButton class definition.
+*
+*/
+
+
+#ifndef C_VTUITOOLBARBUTTON_H
+#define C_VTUITOOLBARBUTTON_H
+
+#include <aknbutton.h> 
+
+class CVtUiAppUi;
+
+/**
+*  CVtUiToolbarButton
+*
+*  Toolbar button class definition.
+*
+*  @since S60 3.2
+*/
+class CVtUiToolbarButton : public CAknButton
+    {
+    public:
+    
+        /**
+        * Static constructor.
+        * @param aResourceId Resource id.
+        * @param aAppUi Reference to appui.
+        * @param aCmdId Reference to command id.
+        */
+    	static CVtUiToolbarButton* NewL( TInt aResourceId, 
+		    CVtUiAppUi& aAppUi, TInt aCmdId );
+		
+		 /**
+        * Static constructor.
+        * @param aResourceId Resource id.
+        * @param aAppUi Reference to appui.
+        * @param aCmdId Reference to command id.
+        */
+    	static CVtUiToolbarButton* NewLC( TInt aResourceId, 
+		    CVtUiAppUi& aAppUi, TInt aCmdId );
+		
+        /**
+        * C++ destructor.
+        */
+		~CVtUiToolbarButton();
+		
+        /*  
+        * Shows help text for a certain period of time.              	
+        */
+        void ShowHelpL(); 
+          
+        /*  
+        * Return commmand id
+        */           
+        TInt CmdId() const;   
+        
+        /*
+        * Starts or stops to block pointer events
+        * @param aIsBlocking ETrue if events are blocked
+        * otherwise EFalse
+        */
+        void BlockPointerEvents( TBool aIsBlocking );
+           
+        /*
+        * Starts or stops to block key events
+        * @param aIsBlocking ETrue if events are blocked
+        * otherwise EFalse
+        */
+        void BlockKeyEvents( TBool aIsBlocking );      
+        
+        
+        /* @see CAknButton::OfferKeyEventL */
+        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
+            TEventCode aType );
+        
+        /* @see CAknButton::HandlePointerEventL */
+        void HandlePointerEventL( const TPointerEvent&
+            aPointerEvent );                                  	
+
+        /* @see CAknButton::StatesCount */
+        TInt StatesCount() const;
+
+    private:
+    
+        /**
+        * Constructor
+        */
+        CVtUiToolbarButton( CVtUiAppUi& aAppUi, TInt aCmdId );
+        	 
+    private:
+        
+        /**
+        * Checks whether key events should be blocked.
+        */
+        TBool IsCommandActive() const;  
+        
+    private: 
+         
+         // reference to appui
+         CVtUiAppUi& iAppUi;
+         
+         // command id
+         TInt iCmdId;
+         
+         // Flag to indicate is key event  blocking on
+         TBool iIsBlockingKeyEvents;
+         
+         // Flag to indicate is pointer event blocking on
+         TBool iIsBlockingPointerEvents;
+         
+         // time stamp to limit pointerevents
+         TTime iTimeStamp;
+         
+         TBool isLimitingPointers;
+         
+    };
+
+#endif // C_VTUITOOLBARBUTTON_H