diff -r 000000000000 -r 951a5db380a0 videditor/VideoEditorUiComponents/inc/VeiTimeLabelNavi.h --- /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 +#include + + +// 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