diff -r a3a1ae9acec6 -r da5135c61bad meetingrequest/mrgui/inc/cmrnaviarrow.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meetingrequest/mrgui/inc/cmrnaviarrow.h Wed Mar 31 21:08:33 2010 +0300 @@ -0,0 +1,100 @@ +/* +* Copyright (c) 2009 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: Navigation arrows used to replace the navipane. +* +*/ + +#ifndef CMRNAVIARROW_H_ +#define CMRNAVIARROW_H_ + +#include + +class CGulIcon; +class CAknButton; +class MESMRNaviArrowEventObserver; + + +NONSHARABLE_CLASS( CMRNaviArrow ) : + public CCoeControl + { +public: + enum TArrowType { + EMRArrowLeft, + EMRArrowRight + }; +public: + /** + * Two-phased constructor. + */ + static CMRNaviArrow* NewL( const CCoeControl* aParent, TArrowType aType, + MESMRNaviArrowEventObserver* aObserver, + TSize aIconSize ); + + /** + * Destructor. + */ + virtual ~CMRNaviArrow(); + +private: + /** + * Default c++ constuctor + */ + CMRNaviArrow( MESMRNaviArrowEventObserver* aObserver, TArrowType aType, TSize aIconSize ); + /** + * Second phase constructor + */ + void ConstructL( const CCoeControl* aParent ); + +public: // From CCoeControl + TInt CountComponentControls() const; + CCoeControl* ComponentControl( TInt aInd ) const; + void SizeChanged(); + void HandlePointerEventL( + const TPointerEvent &aPointerEvent ); + void Draw(const TRect& aRect) const; + +public: + /** + * Set the navi arrow's visibility. + * @param aVisible Indicate if the arrow visible + */ + void SetNaviArrowStatus( TBool aVisible ); + +private: + /** + * Init the navi arrow buttons. + */ + void InitNaviArrowsL(); + /** + * Create a semi-transparent Icon. + * @param aBitMap The bitmap source + * @param aBitMapMask The bitmap mask source + */ + CGulIcon* CreateSemiTransparentIconL( CFbsBitmap* aBitMap, + CFbsBitmap* aBitMapMask); + +private: + /// Own: Left arrow button + CAknButton* iArrow; + /// Ref: Navi arrow event observer + MESMRNaviArrowEventObserver* iObserver; + /// Own: Left arrow visibility status + TBool iArrowVisibility; + /// Own: Store the type of such arrow + TArrowType iArrowType; + /// Own: Store the size of such arrow + TSize iIconSize; + }; + +#endif /* CMRNAVIARROW_H_ */