videditor/VideoEditorUiComponents/inc/VeiTimeLabelNavi.h
changeset 0 951a5db380a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videditor/VideoEditorUiComponents/inc/VeiTimeLabelNavi.h	Fri Jan 29 14:08:33 2010 +0200
@@ -0,0 +1,185 @@
+/*
+* Copyright (c) 2010 Ixonos Plc.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the "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:
+* Ixonos Plc
+*
+* Description:  
+*
+*/
+
+#ifndef TIMELABELNAVI_H
+#define TIMELABELNAVI_H
+
+// INCLUDES
+#include <coecntrl.h>
+#include <aknutils.h>
+
+
+// FORWARD DECLARATIONS
+class CFbsBitmap;
+class MTimeLabelNaviObserver;
+#ifdef RD_TACTILE_FEEDBACK 
+class MTouchFeedback; 
+#endif /* RD_TACTILE_FEEDBACK  */
+
+// CLASS DECLARATION
+
+/**
+ * CTimeLabelNavi
+ */
+class CVeiTimeLabelNavi : public CCoeControl
+{
+	public: // Constructors and destructor
+		/**
+		 *  Destructor      
+		 */
+		IMPORT_C virtual ~CVeiTimeLabelNavi();
+
+		/**
+		 *  Constructors.
+ 		 */
+		IMPORT_C static CVeiTimeLabelNavi* NewL();
+		IMPORT_C static CVeiTimeLabelNavi* NewLC();
+
+
+	public: // New functions
+		/**
+         * Changes navipane label.
+         * @param aLabel label text
+         */
+		IMPORT_C void SetLabelL(const TDesC& aLabel);
+		
+		/**
+         * Sets left navipane arrow visibility
+         * @param aVisible Whether to show or not.
+         * @return -
+         */
+		IMPORT_C void SetLeftArrowVisibilityL(TBool aVisible);
+
+		/**
+         * Sets right navipane arrow visibility
+         * @param aVisible Whether to show or not.
+         * @return -
+         */
+		IMPORT_C void SetRightArrowVisibilityL(TBool aVisible);
+
+		/**
+         * Sets volume icon visibility
+         * @param aVisible Whether to show or not.
+         * @return -
+         */
+		IMPORT_C void SetVolumeIconVisibilityL(TBool aVisible);
+		
+		/**
+		* Sets pause icon visibility
+		* @param aVisible whether to show or not.
+		* @return -
+		*/
+		IMPORT_C void SetPauseIconVisibilityL(TBool aVisible);
+
+		/**
+		* SetNaviObserver
+		* @param aObserver Observer.
+		*/		
+		void SetNaviObserver(MTimeLabelNaviObserver* aObserver)
+		    {
+		    iObserver = aObserver;
+		    };
+
+	protected: // Functions from base classes   
+
+		/**
+		* From CCoeControl. Handle the size change events.
+		*/
+		void SizeChanged();
+
+		/**
+		* From CCoeControl.  Draw a control.  
+		* @param aRect The region of the control to be redrawn.   
+		*/
+		void Draw(const TRect& aRect) const;
+
+		/**
+		* From CCoeControl. Handles a change to the control's resources.  
+		* @param aType A message UID value.
+	 	*/
+		void HandleResourceChange(TInt aType); 
+		
+		/**
+		* From CCoeControl. Handles a control's pointer events.  
+		* @param aPointerEvent  pointer event.
+	 	*/		
+		void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+
+	private: // Constructors and destructor
+
+		/**
+		 * Constructor.
+		 */
+		CVeiTimeLabelNavi();
+
+		/**
+ 		 * EPOC 2nd phase constructor.
+		 */
+		void ConstructL();
+
+		/**
+ 		 * Load the icon bitmaps.
+		 */
+		void LoadBitmapsL();
+
+		/**
+ 		 * Delete the icon bitmaps.
+		 */
+		void DeleteBitmaps();
+	
+	private:    // Data
+	    /// Own: Volume bitmap
+	    CFbsBitmap* iVolumeBitmap;
+	    CFbsBitmap* iVolumeBitmapMask;
+	    
+	    /// Own: Arrow bitmap
+		CFbsBitmap* iArrowBitmap;
+		CFbsBitmap* iArrowBitmapMask;
+
+		/// Own: Muted bitmap
+		CFbsBitmap* iMutedBitmap;
+		CFbsBitmap* iMutedBitmapMask;
+		
+		/// Own: Paused bitmap
+		CFbsBitmap* iPausedBitmap;
+		CFbsBitmap* iPausedBitmapMask;
+		
+		TBool iArrowVisible;
+		TBool iVolumeIconVisible;
+		TBool iPauseIconVisible;
+
+		TBuf<32> iLabel;
+
+		/// Rectangle where label is drawn
+		TAknLayoutText iTextLayout;
+		/// Layout array for volume/muted, array and paused items 
+		TAknLayoutRect iBitmapLayout[3];
+		
+		/// Ref: to observer
+		MTimeLabelNaviObserver* iObserver;
+
+    	// Feedback for screen touch:
+#ifdef RD_TACTILE_FEEDBACK 
+		MTouchFeedback* iTouchFeedBack;
+#endif /* RD_TACTILE_FEEDBACK  */ 
+
+};
+
+#endif // VEITIMELABELNAVI_H
+
+// End of file