diff -r 4ea6f81c838a -r 0e9bb658ef58 mmuifw_plat/alf_scrollbarwidget_api/inc/alf/ialfscrollbardefaultbaseelement.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmuifw_plat/alf_scrollbarwidget_api/inc/alf/ialfscrollbardefaultbaseelement.h Wed Sep 01 12:23:18 2010 +0100 @@ -0,0 +1,149 @@ +/* +* Copyright (c) 2007 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 for the scrollbar default lct base element. +* +*/ + +#ifndef I_ALF_SCROLLBARDEFAULTLCTBASEELEMENT_H +#define I_ALF_SCROLLBARDEFAULTLCTBASEELEMENT_H + +#include +#include +#include +#include +#include + +using namespace osncore; + +namespace Alf + { + /** + * @namespace alfscrollbardefaultbaseelement + * + * ident specifies the unique identifier for the base-element. + */ + namespace alfscrollbardefaultbaseelement + { + static const IfId ident = + { + 0,"BaseElement" + }; + } +/** + * An interface for the default base element of the scrollbar. + * + * The default base element is an interface that contains the basic layouting and scrolling logic of the scrollbar widget. + * The base element provides a simple scrollbar visualization. + * It allows the user to: + * 1. Specify the TotalLength ViewLength and ThumbWidth + * 2. Specify the opacity of thumb with respect to widget opacity + * + * The default base element of the scrollbar uses Anchor Layout + * + * The default base element also acts as an eventhandler and currently listens to following events: + * 1. EEventModelChanged, EEventScrollBarClicked + * + * default base element handles EEventScrollBarClicked event(Custom Event) which are convetred to higher level events + * like EEventScrollUp ,EEventScrollDown,EEventScrollLeft,EEventScrollRight , + * On receiving these events, the default base element accordingly changes the position of the thumb + * + * + * @lib alfscrollbarwidget.lib + + * @since S60 ?S60_version + */ +class IAlfScrollBarDefaultBaseElement: public IAlfInterfaceBase + { + +public: + + /** + * Getter for the type identifier of this interface. + * Usage: + * @code + * IAlfElement* element; + * IAlfBaseElement* baseElement = + * static_cast ( + * element->makeInterface (IAlfScrollBarBaseElement::type() ) ); + * @endcode + * @see \link IAlfInterfaceBase \endlink for + * \link IAlfInterfaceBase::makeInterface \endlink + * The above code provides all the interfaces of ScrollBar base element. + * @since S60 ?S60_version + * @return Identifier of this interface. + */ + static inline const IfId& type() + { + return alfscrollbardefaultbaseelement :: ident; + } + + + /** + * Sets the animation time for the thumb movement + * Controls the movement of the thumb in the context of + * scroll + * @param aTime, Animation time in milliseconds + */ + virtual void setThumbAnimationTime ( int aTime ) = 0; + + /** + * Gets the Thumb animation time. + * + * @return Animation time. + */ + virtual int getThumbAnimationTime() const = 0; + + /** + * This function is deprecated. Use attribute APIs to set or get opacity. + * Sets the Opacity of widget. + * Default value of scrollbar opacity is 1.0. + * + * @param aOpacity Opacity of the scrollbar. The value should be between 0.0 + * to 1.0. + * + * @exception AlfException + */ + virtual void setOpacity(float aOpacity)=0; + + /** + * This function is deprecated. Use attribute APIs to set or get opacity. + * Gets the Opacity of widget. + * + * @return: Thumb opacity + */ + virtual float getOpacity() const=0; + + /** + * Sets the Opacity of thumb. This is relative to widget opacity.Default value is 1.0. + * The value of aOpacity should be between 0.0 to 1.0 + * @param aOpacity Opacity of the thumb + */ + virtual void setThumbOpacity ( float aOpacity ) = 0; + + /** + * Gets the Opacity of thumb. + * + * @return: Thumb opacity + */ + virtual float getThumbOpacity() const = 0; + + + /** + * Destructor. + */ + virtual ~IAlfScrollBarDefaultBaseElement() {} + }; // class IAlfScrollBarDefaultBaseElement + } // namespace Alf + +#endif // IALF_SCROLLBARDEFAULTLCTBASEELEMENT_H