mmuifw_plat/alf_scrollbarwidget_api/inc/alf/ialfscrollbardefaultbaseelement.h
branchRCL_3
changeset 20 0e9bb658ef58
parent 0 e83bab7cf002
--- /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 <alf/ialfelement.h>
+#include <alf/ialfwidget.h>
+#include <alf/ialfinterfacebase.h>
+#include <alf/alfevent.h>
+#include <alf/alfwidgetevents.h>
+
+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<IAlfScrollBarBaseElement*> ( 
+     * 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