diff -r 4ea6f81c838a -r 0e9bb658ef58 mmuifw_plat/mul_sliderwidget_api/inc/mul/imulsliderwidget.h --- /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 +#include +#include +#include +#include +#include +#include +//osn includes +#include +#include + +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. + *
    + *
  • Handle (The position of the handle shows the current tick position)
  • + *
  • Track (Place holder for Handle)
  • + *
+ * + * + * A slider widget is used along with photos,coverflow and list widget. + *
    + *
  • template 1 is used i.e. in 2D coverflow as a navigational component. + * + *
  • template 3 is used i.e. in Photos as a pop-up zoom slider. + * + *
  • 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. + * + *
+ * 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