voicerecorder/RecViewSrc/CVRButtonPanel.h
branchRCL_3
changeset 20 072a5fa0c63b
parent 19 2f5c9ee7098c
child 21 c6bafb5162d8
--- a/voicerecorder/RecViewSrc/CVRButtonPanel.h	Thu Aug 19 09:57:40 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,294 +0,0 @@
-/*
-* Copyright (c) 2002 - 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: 
-*     A compound control class. It is responsible for drawing and updating
-*     a set of buttons. Button selections are also handled and forwarded
-*     as commands to the AppUi.
-*
-*/
-
-
-#ifndef __CVRBUTTONPANEL_H__
-#define __CVRBUTTONPANEL_H__
-
-// INCLUDES
-#include <coecntrl.h>
-#include <AknUtils.h>
-#include <coecobs.h>	// MCoeControlObserver
-
-#include "MVRObserver.h"
-
-// FORWARD DECLARATIONS
-class MVRButtonPanelModel;
-class MAknsSkinInstance;
-class CApaMaskedBitmap;
-class TAknsItemID;
-class CAknButton;
-
-// CLASS DEFINITION
-/**
-* A compound control class. It is responsible for drawing and updating
-* a set of buttons. Button selections are also handled and forwarded
-* as commands to the AppUi.
-*/
-NONSHARABLE_CLASS( CVRButtonPanel )
-	: 	public CCoeControl, 
-		public MVRObserver, 
-		public MCoeControlObserver,
-		public MCoeControlBackground
-	{
-	public: // data types
-	    enum TFocusChange 
-	        {
-	        EFocusUp = -1,
-	        EFocusDown = 1,
-	        EFocusInvalid = 2
-	        };
-	
-	// pointer event types used in VR        
-	enum TLastPointerEventType
-	        {
-	        EVRButtonDownEvent,
-	        EVRButtonDragOutsideEvent,
-	        EVRButtonUpEvent
-	        };
-	        
-	public: // constructors and destructor
-		
-		/**
-		* Constructor.
-		* @param aModel Pointer to the button panel model.
-		* Ownership is not transferred.
-		*/
-		CVRButtonPanel( MVRButtonPanelModel* aModel );
-
-		/**
-		* Constructor.
-		* @param aModel Pointer to the button panel model.
-		* @param aParentViewUid Uid of CVRRecView for fast swap
-		* Ownership is not transferred.
-		*/
-		CVRButtonPanel( MVRButtonPanelModel* aModel, TUid aParentViewUid );
-
-		/**
-		* Destructor
-		*/
-		virtual ~CVRButtonPanel();
-
-		/**
-		* 2nd phase constructor.
-		*/
-		void ConstructL();
-
-	private: // constructors
-
-		/**
-		* Default constructor. Not implemented.
-		*/
-		CVRButtonPanel();
-		
-		/**
-		* Creates control buttons from given resources
-		* @param aButtonsResourceId The resource used in buttons' construction.
-		*/
-		void CreateButtonsFromResourcesL( TInt aButtonsResourceId );
-
-	public:
-		
-		/**
-		* Updates the layout of all child controls to current active
-		* layout (Euro, Apac, Arabic/Hebrew)
-		*/		
-		void UpdateLayoutL( );
-
-		/**
-		* Handles a change to the application's resources
-		* @param aType The type of changed resource
-		*/
-		void HandleResourceChangeL( TInt aType );
-		
-	public: // from CCoeControl
-
-		/*
-		* From CCoeControl
-		* @see CCoeControl
-		*/
-		void SizeChanged();
-
-		/**
-		* When a key event occurs, the control framework calls this function
-		* for each control on the control stack, until one of them can process
-		* the key event (and returns EKeyWasConsumed).
-		* @param aKeyEvent The key event.
-		* @param aType The type of key event: EEventKey, EEventKeyUp
-		*              or EEventKeyDown
-		* @return Indicates whether or not the key event was used by this
-		*         control
-		*/
-		TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-									 TEventCode aType );
-		
-		/**
-		* Gets called whenever a pointer event occurs.
-		* @param aPointerEvent The pointer event to handle.
-		*/							 
-		void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-		
-	public:	// from MVRObserver
-
-		/**
-		* Called to notify a change in the observed subject's state.
-		*/
-		void Update( TVRUpdateCommand aCommand );
-	
-	public:	// from MCoeControlObserver
-		
-		/**
-		* This function is called when a control for which this control is the observer 
-		* calls CCoeControl::ReportEventL(). In VoiceRecorder button pointer events are
-		* handled here.
-		* @param aControl The control that sent the event.
-		* @param aEventType The event type. 
-		*/
-		void HandleControlEventL(CCoeControl *aControl, TCoeEvent aEventType);
-	
-	private:  // from MCoeControlBackground
-		
-		/*
-		* From MCoeControlBackground
-		* @see MCoeControlBackground
-		*/
-		void Draw(CWindowGc& aGc, const CCoeControl& aControl, const TRect& aRect) const;								 
-
-	public:		// new methods
-		
-		/*
-		* Checks which button is currently focused and returns the index
-		* value of that
-		* @return The index for the currently focused button
-		*/
-		TInt FocusedButton() const;
-	
-	private: // from CCoeControl
-
-		/**
-		* Draws this control.
-		* @param aRect The area that needs updating. Ignored.
-		*/
-		void Draw( const TRect& aRect ) const;
-		
-		/**
-		* Called by the framework to get the number of sub-components
-		* contained in this component. 
-		* @return The number of component controls contained by this control
-		*/
-		TInt CountComponentControls() const;
-		
-		/**
-		* Called by the framework to get a specified sub-component
-		* of this component.
-		* @param aIndex The index of the component to get.
-		* @return The component control with an index of aIndex.
-		*/
-		CCoeControl* ComponentControl( TInt aIndex ) const;
-		                          	  
-	private: // new methods
-
-		/**
-		* Moves focus to the next non-dimmed button.
-		* @param aDirection EFocusDown to move downwards, EFocusUp upwards
-		*/
-		void MoveFocus( const TFocusChange aDirection, TBool aDrawNow );
-
-		/**
-		* Updates buttons by changing their state
-		*/
-		void UpdateButtons();
-		
-		/**
-		* Draws highlight rectangle for the focused button.
-		* @param aGc Current Graphic Context in use.
-		*/
-		void DrawFocus( CWindowGc& aGc ) const;
-		
-		/**
-		* Creates and starts a CPeriodic timer object
-		* with a resolution of KVRFastForwUpdateDelay
-		*/
-		void StartTimerL();
-		
-		/**
-		* Stops and deletes the timer object.
-		*/
-		void StopTimer();
-		
-		/**
-		* Called by the CPeriodic timer to handle a tick.
-		* Uses HandleTimerCallBack() to do the actual work.
-		* @param aButtonPanel Always a valid pointer to CVRButtonPanel object
-		* @return ETrue to indicate that the timer should continue.
-		*/	
-		static TInt TimerCallBack( TAny* aButtonPanel );
-		
-		/**
-		* Non-static variant of TimerCallBack (more convinient to implement).
-		*/
-		void HandleTimerCallBack();
-		
-		/**
-		* Search corresponding command of the focused/pressed button and 
-		* sends it to active view 
-		*/
-		void FetchAndSendCommandL();
-		
-		/**
-		* Handles special cases concerning button focus
-		*/
-		void TuneButtonFocus();
-		
-		
-	private: // data
-
-		/**
-		* Pointer to the button panel model. Not owned.
-		*/
-		MVRButtonPanelModel* iModel;
-
-		/**
-		* The index of the currently focused button.
-		*/
-		TInt iFocusedButton;
-
-		// Skin instance. Not owned.
-		MAknsSkinInstance* iSkin;
-
-		// Uid of the parent view
-		TUid iParentViewUid;
-
-		/**
-		* Pointer to the timer object. Owned.
-		*/
-		CPeriodic* iTimer;
-		
-		// Button panel's button controls. Owned.
-		CArrayPtrFlat< CAknButton > iVRButtons;
-		
-		/**
-		* Tells what pointer event is the last that has happened
-		*/
-		TLastPointerEventType iLastPointerEvent;	
-		
-	};
-
-#endif // __CVRBUTTONPANEL_H__