diff -r 000000000000 -r eb1f2e154e89 textinput/peninputcommonctrls/inc/peninputbuttons/peninputbutton.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/textinput/peninputcommonctrls/inc/peninputbuttons/peninputbutton.h Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,175 @@ +/* +* Copyright (c) 2002-2005 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: Interface of normal button and multidisplay button +* +*/ + + +#ifndef C_CAKNFEPCTRLBUTTON_H +#define C_CAKNFEPCTRLBUTTON_H + +// system includes +#include +#include + +// forward declarations +class TResourceReader; + +// class declarations +/** + * Basic functionality for graphic buttons + * It provides creation from resource and can react according to SizeChanged Msg + * + * @lib fepcommonctrls.lib + * @since S60 v3.2 + */ +class CAknFepCtrlButton : public CButtonBase + { +public: + + /** + * Two-phased constructor. + * + * @since S60 v3.2 + * @param aUiLayout An instance of CFepUiLayout + * @param aControlId The control id of input range button + * @return The pointer point to CAknFepCtrlButton type object + */ + IMPORT_C static CAknFepCtrlButton* NewL(CFepUiLayout* aUiLayout, TInt aControlId); + + /** + * Two-phased constructor. + * + * @since S60 v3.2 + * @param aUiLayout An instance of CFepUiLayout + * @param aControlId The control id of input range button + * @return The pointer point to CAknFepCtrlButton type object + */ + IMPORT_C static CAknFepCtrlButton* NewLC(CFepUiLayout* aUiLayout, TInt aControlId); + + /** + * Destructor. + * + * @since S60 v3.2 + */ + IMPORT_C virtual ~CAknFepCtrlButton(); + + /** + * This function creates the input range button from resource. + * + * @since S60 v3.2 + * @param aReader A Reader which is created against the AKN_FEP_BUTTON resource type + * @return None + */ + IMPORT_C void ConstructFromResourceL(TResourceReader& aReader); + + /** + * This function creates the input range button from resource, + * before calling this function, caller should set resource id of + * range button first + * + * @since S60 v3.2 + * @return None + */ + IMPORT_C void ConstructFromResourceL(); + + /** + * This function handles the SizeChanged event, it resizes all images and rects + * + * @since S60 v3.2 + * @param aRect New button extent + * @param aIsReloadImages Whether resize images as well, + * if only the position of the button changed, no need to reset the images as well + * @return Nothing + */ + IMPORT_C void SizeChanged(TRect aRect, TBool aIsReloadImages = EFalse); + + /** + * Draws UI + * + * @since S60 v3.2 + * @return None + */ + IMPORT_C void Draw(); + + /** + * Set active for this button + * + * @since S60 v3.2 + * @param aActiveFlag active the button or desactive it + * @return None + */ + IMPORT_C void SetActive(TBool aActiveFlag); + + /** + * Set high light for the button + * + * @since S60 v3.2 + * @param aIsHighlight highlight the button or cancel high light it + * @return None + */ + IMPORT_C void SetHighlight(TBool aIsHighlight); + + /** + * From CFepUiBaseCtrl + * Handle pointer levae event. + * This will be called only when it's got pointer down event before and + * now pointer leaves without pointer up event + * + * @since S60 V4.0 + * @param aPoint current pointer position + */ + virtual void HandlePointerLeave(const TPoint& aPoint); + +protected: + + /** + * C++ default constructor. + * + * @since S60 v3.2 + * @param aUiLayout An instance of CFepUiLayout + * @param aControlId The control id of input range button + */ + IMPORT_C CAknFepCtrlButton(CFepUiLayout* aUiLayout, TInt aControlId); + + void ResizeBitmaps(TSize aSize); + +protected: + + /** + * The first time construct flag of button + */ + TBool iFirstTimeConstruct; + +private: + + /** + * Array of background bmp (not own) + */ + RPointerArray iBmpList; + + /** + * Array of background mask bmp (not own) + */ + RPointerArray iMaskBmpList; + + /** + * The highlight flag of the button + */ + TBool iHighlight; + }; + +#endif // C_CAKNFEPCTRLBUTTON_H + +// End Of File