--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmuifw_plat/mul_sliderwidget_api/inc/mul/imulsliderwidget.h Wed Sep 01 12:23:18 2010 +0100
@@ -0,0 +1,193 @@
+/*
+* 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: Widget interface with utilities for slider widget.
+*
+*/
+
+#ifndef I_MUL_SLIDERWIDGET_H
+#define I_MUL_SLIDERWIDGET_H
+
+//WidgetModel includes
+#include <alf/ialfwidget.h>
+#include <alf/alfevent.h>
+#include <alf/alfwidgetevents.h>
+#include <alf/ialfwidgetfactory.h>
+#include <mul/imulslidermodel.h>
+#include <alf/alflayout.h>
+#include<alf/ialfwidgeteventhandler.h>
+//osn includes
+#include <osn/osndefines.h>
+#include <osn/ustring.h>
+
+namespace Alf
+ {
+namespace mulsliderwidget
+ {
+ /**
+ * @namespace mulsliderwidget
+ *
+ * ident specifies the unique identifier for the grid widget.
+ */
+ static const IfId ident =
+ {
+ 0, "mulsliderwidget"
+ };
+ static const Utf8* const KBaseElementName = "BaseElement";
+ }
+
+
+
+/**
+ * The data which can be used as last (optional) paramenter of
+ * IAlfWidgetFactory::createWidget function while creating the slider widget
+ * imperatively. If this data is not passed, default values are used
+ * to create visualization.
+ *
+ */
+class MulSliderInitData : public AlfCustomInitDataBase
+ {
+public:
+ /**
+ * mBaseElementLoadId visualization base element is created
+ * using Load ID.
+ */
+ const char* mBaseElementLoadId;
+
+ /* mBaseElementData pointed to baseElement custom data
+ * All baseelement related data are in this class
+ */
+
+ AlfCustomInitDataBase *mBaseElementData;
+ };
+
+
+/**
+ * Interface for the slider widget.
+ *
+ *
+ * Default visualization of slider contains following components.
+ * <ul>
+ * <li>Handle (The position of the handle shows the current tick position)</li>
+ * <li>Track (Place holder for Handle)</li>
+ * </ul>
+ *
+ *
+ * A slider widget is used along with photos,coverflow and list widget.
+ * <ul>
+ * <li> template 1 is used i.e. in 2D coverflow as a navigational component.
+ *
+ * <li> template 3 is used i.e. in Photos as a pop-up zoom slider.
+ *
+ * <li> template 7 is used i.e. in Video Centre list view as a progressive
+ * downloading track counter/progress bar.
+ * There is no potrait version of this template.
+ *
+ * </ul>
+ * The communication between slider and the widgets happens by means of an
+ * event ETypePrimaryValueChange from slider and in response widgets directly
+ * update slider's model.
+ * Slider handles both Key and Pointer Events.
+ *
+ * KeyEvents : EStdKeyRightArrow,EStdKeyLeftArrow,EEventKeyDown,EEventKeyUp.
+ * PointerEvents : EButton1Down,EDrag.
+ *
+ *
+ */
+class IMulSliderWidget: public IAlfWidget
+ {
+public:
+ /**
+ * Get the type of widget.
+ *
+ * @return The type of widget
+ */
+ static const IfId& type()
+ {
+ return mulsliderwidget::ident;
+ }
+
+ /**
+ * Gets the Base Element Name.
+ *
+ * @return The base element's name
+ */
+ static inline const char* baseElementName()
+ {
+ return mulsliderwidget::KBaseElementName;
+ }
+ /**
+ * Get the model for widget.
+ *
+ * @return model of the slider widget
+ */
+ virtual IMulSliderModel& SliderModel() = 0;
+
+ /**
+ * Set the transparency for the background of the slider widget.
+ *
+ * @param True, to set background as transparent
+ * @param False, to set background as opaque
+ */
+ virtual void MakeTransparent( bool aTransparent ) = 0;
+
+ /**
+ * Enable/Disable key handling .
+ *
+ * @param aVal: True, to handle keyevents by Application
+ * False, to handle keyevents as defined in the control
+ */
+ virtual void SetHandleKeyEvent( bool aVal ) = 0;
+ /**
+ * Hide or Show widget .
+ *
+ * @param aShow: True, Shows the widget
+ * False, Hides the widget
+ * @param aTransitionTime: Transition time to show/Hide.
+ */
+ virtual void ShowWidget(bool aShow, int aTransitionTime =0) = 0;
+ /**
+ * Returns the state of the Widget(Hide/show).
+ *
+ */
+ virtual bool IsHidden() = 0;
+
+ /**
+ * Returns the container layout.
+ *
+ */
+ virtual const CAlfLayout& ContainerLayout() = 0;
+ /**
+ * Add an observer to widget inorder to get event notifications
+ * from the widget. Widget can have multiple observersers.
+ *
+ * @param aObserver Observer of widget.
+ **/
+ virtual void AddEventHandler( IAlfWidgetEventHandler& aObserver) = 0;
+ /**
+ * Remove an observer to widget
+ *
+ * @param aObserver Observer of widget.
+ */
+ virtual void RemoveEventHandler( IAlfWidgetEventHandler& aObserver) = 0;
+ /**
+ * Destructor.
+ */
+ virtual ~IMulSliderWidget() {}
+
+ };
+
+ } // namespace Alf
+
+#endif // I_MUL_SLIDERWIDGET_H
+//End Of File