Revision: 201015 default
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 16 Apr 2010 15:29:43 +0300
changeset 17 3eca7e70b1b8
parent 3 4526337fb576
Revision: 201015 Kit: 201015
alfwidgetutils/bwins/alfwidgetutilsu.def
alfwidgetutils/eabi/alfwidgetutilsu.def
alfwidgetutils/group/alfwidgetutils.mmp
alfwidgetutils/group/bld.inf
alfwidgetutils/inc/alfexceptionstrings.h
alfwidgetutils/inc/alffactorypluginloaderimpl.h
alfwidgetutils/inc/alfwidgetfactoryloaderimpl.h
alfwidgetutils/src/alfattributeexception.cpp
alfwidgetutils/src/alfdataexception.cpp
alfwidgetutils/src/alfelementexception.cpp
alfwidgetutils/src/alfexception.cpp
alfwidgetutils/src/alffactorypluginloader.cpp
alfwidgetutils/src/alffactorypluginloaderimpl.cpp
alfwidgetutils/src/alfvisualexception.cpp
alfwidgetutils/src/alfwidgetexception.cpp
alfwidgetutils/src/alfwidgetfactoryloader.cpp
alfwidgetutils/src/alfwidgetfactoryloaderimpl.cpp
group/bld.inf
inc/alf/alfanchorlayoutattributesetter.h
inc/alf/alfattribute.h
inc/alf/alfattributecontainer.h
inc/alf/alfattributevaluetype.h
inc/alf/alfcommonattributesetter.h
inc/alf/alfcommonlayoutattributesetter.h
inc/alf/alfcommonvisualattributesetter.h
inc/alf/alfcurvepathlayoutattributesetter.h
inc/alf/alfdecklayoutattributesetter.h
inc/alf/alfecompluginfactory.h
inc/alf/alfecompluginfactoryuid.rh
inc/alf/alfelement.h
inc/alf/alfflowlayoutattributesetter.h
inc/alf/alfgridlayoutattributesetter.h
inc/alf/alfimagevisualattributesetter.h
inc/alf/alflctanchorlayoutattributesetter.h
inc/alf/alflctgridlayoutattributesetter.h
inc/alf/alflctimagevisualattributesetter.h
inc/alf/alflcttextvisualattributesetter.h
inc/alf/alflinevisualattributesetter.h
inc/alf/alfmeshvisualattributesetter.h
inc/alf/alfmodeloperation.h
inc/alf/alfrecyclinggridelement.h
inc/alf/alfreferencetovisual.h
inc/alf/alfsettertype.h
inc/alf/alftextvisualattributesetter.h
inc/alf/alfviewportlayoutattributesetter.h
inc/alf/alfvisualtemplate.h
inc/alf/alfwidget.h
inc/alf/alfwidgetmodeldefines.hrh
inc/alf/ialfattributeowner.h
inc/alf/ialfattributesetter.h
inc/alf/ialfcontainerwidget.h
inc/alf/ialfvisualtemplate.h
inc/mul/imulmodelaccessor.h
inc/mul/mulmodelutility.h
layers.sysdef.xml
mmuifw_plat/alf_containerwidget_api/alf_containerwidget_api.metaxml
mmuifw_plat/alf_containerwidget_api/group/bld.inf
mmuifw_plat/alf_containerwidget_api/inc/alf/alfcontainerwidgetexception.h
mmuifw_plat/alf_containerwidget_api/inc/alf/ialfcontainerwidget.h
mmuifw_plat/alf_customlayoutmanagers_api/alf_customlayoutmanagers_api.metaxml
mmuifw_plat/alf_customlayoutmanagers_api/group/bld.inf
mmuifw_plat/alf_customlayoutmanagers_api/inc/alf/alflctanchorlayoutmanager.h
mmuifw_plat/alf_customlayoutmanagers_api/inc/alf/ialflctanchorlayoutpolicy.h
mmuifw_plat/alf_resourcepool_api/alf_resourcepool_api.metaxml
mmuifw_plat/alf_resourcepool_api/group/bld.inf
mmuifw_plat/alf_resourcepool_api/inc/alf/alfresourcepool.h
mmuifw_plat/alf_scrollbarwidget_api/alf_scrollbarwidget_api.metaxml
mmuifw_plat/alf_scrollbarwidget_api/group/bld.inf
mmuifw_plat/alf_scrollbarwidget_api/inc/alf/alfscrollbarproductids.h
mmuifw_plat/alf_scrollbarwidget_api/inc/alf/alfscrollevents.h
mmuifw_plat/alf_scrollbarwidget_api/inc/alf/ialfscrollbardefaultbaseelement.h
mmuifw_plat/alf_scrollbarwidget_api/inc/alf/ialfscrollbarmodel.h
mmuifw_plat/alf_scrollbarwidget_api/inc/alf/ialfscrollbarwidget.h
mmuifw_plat/alf_viewwidget_api/alf_viewwidget_api.metaxml
mmuifw_plat/alf_viewwidget_api/group/bld.inf
mmuifw_plat/alf_viewwidget_api/inc/alf/alfviewwidgetexception.h
mmuifw_plat/alf_viewwidget_api/inc/alf/ialfviewwidget.h
mmuifw_plat/alf_widgetfactory_api/alf_widgetfactory_api.metaxml
mmuifw_plat/alf_widgetfactory_api/group/bld.inf
mmuifw_plat/alf_widgetfactory_api/inc/alf/ialfwidgetfactory.h
mmuifw_plat/alf_widgetmodel_api/alf_widgetmodel_api.metaxml
mmuifw_plat/alf_widgetmodel_api/group/bld.inf
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfanchorlayoutmanager.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfelement.inl
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfeventoutputsignalsubscriber.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfflowlayoutmanager.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfgridlayoutmanager.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/alflayoutmanager.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfmodel.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfmodel.inl
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfvarianttype.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidget.inl
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidgetcommand.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidgetcontrol.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidgetcontrol.inl
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidgetenvextension.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidgeteventhandler.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidgeteventhandler.inl
mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidgetevents.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/attrproperty.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfappeventlistener.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfbranch.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfcontainer.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfelement.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfflowlayoutpolicy.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfgridlayoutpolicy.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfinterfacebase.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialflayoutmanager.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialflayoutpreferences.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfmap.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfmodel.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfmodelbase.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfmodelchangeobserver.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfnavigation.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfsortfunction.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfvarianttype.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfwidget.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfwidgetcontrol.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfwidgetcontroldescriptor.h
mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfwidgeteventhandler.h
mmuifw_plat/alf_widgetutils_api/alf_widgetutils_api.metaxml
mmuifw_plat/alf_widgetutils_api/group/bld.inf
mmuifw_plat/alf_widgetutils_api/inc/alf/alfattributeexception.h
mmuifw_plat/alf_widgetutils_api/inc/alf/alfdataexception.h
mmuifw_plat/alf_widgetutils_api/inc/alf/alfelementexception.h
mmuifw_plat/alf_widgetutils_api/inc/alf/alfexception.h
mmuifw_plat/alf_widgetutils_api/inc/alf/alfexceptions.h
mmuifw_plat/alf_widgetutils_api/inc/alf/alffactorypluginloader.h
mmuifw_plat/alf_widgetutils_api/inc/alf/alftypes.h
mmuifw_plat/alf_widgetutils_api/inc/alf/alfvisualexception.h
mmuifw_plat/alf_widgetutils_api/inc/alf/alfwidgetexception.h
mmuifw_plat/alf_widgetutils_api/inc/alf/alfwidgetfactoryloader.h
mmuifw_plat/alf_widgetutils_api/inc/alf/ialffactoryplugin.h
mmuifw_plat/alfexport.hrh
mmuifw_plat/gesturehelper_api/gesturehelper_api.metaxml
mmuifw_plat/gesturehelper_api/group/bld.inf
mmuifw_plat/gesturehelper_api/inc/gesturecontrol.h
mmuifw_plat/gesturehelper_api/inc/gesturehelper.h
mmuifw_plat/gesturehelper_api/inc/gestureobserver.h
mmuifw_plat/group/Doxyfile.txt
mmuifw_plat/group/Doxyfile_osn.txt
mmuifw_plat/group/bld.inf
mmuifw_plat/mul_coverflowwidget_api/group/bld.inf
mmuifw_plat/mul_coverflowwidget_api/inc/mul/imulcoverflowwidget.h
mmuifw_plat/mul_coverflowwidget_api/mul_coverflowwidget_api.metaxml
mmuifw_plat/mul_datamodel_api/group/bld.inf
mmuifw_plat/mul_datamodel_api/inc/mul/imulmodel.h
mmuifw_plat/mul_datamodel_api/inc/mul/imulmodelaccessor.h
mmuifw_plat/mul_datamodel_api/inc/mul/imulmodelbase.h
mmuifw_plat/mul_datamodel_api/inc/mul/imulmodelprovider.h
mmuifw_plat/mul_datamodel_api/inc/mul/imulsingleitemmodel.h
mmuifw_plat/mul_datamodel_api/inc/mul/imulvarianttype.h
mmuifw_plat/mul_datamodel_api/inc/mul/muldatapath.h
mmuifw_plat/mul_datamodel_api/inc/mul/mulkeyboardutility.h
mmuifw_plat/mul_datamodel_api/inc/mul/mulmodelutility.h
mmuifw_plat/mul_datamodel_api/inc/mul/mulutility.h
mmuifw_plat/mul_datamodel_api/inc/mul/mulvarianttype.h
mmuifw_plat/mul_datamodel_api/inc/mul/mulvisualitem.h
mmuifw_plat/mul_datamodel_api/mul_datamodel_api.metaxml
mmuifw_plat/mul_sliderwidget_api/group/bld.inf
mmuifw_plat/mul_sliderwidget_api/inc/mul/imulslidermodel.h
mmuifw_plat/mul_sliderwidget_api/inc/mul/imulsliderwidget.h
mmuifw_plat/mul_sliderwidget_api/inc/mul/mulsliderproductids.h
mmuifw_plat/mul_sliderwidget_api/mul_sliderwidget_api.metaxml
mmuifw_plat/mul_widget_api/group/bld.inf
mmuifw_plat/mul_widget_api/inc/mul/imulmultiitemwidget.h
mmuifw_plat/mul_widget_api/inc/mul/imulwidget.h
mmuifw_plat/mul_widget_api/inc/mul/imulwidgetdef.h
mmuifw_plat/mul_widget_api/inc/mul/mulevent.h
mmuifw_plat/mul_widget_api/inc/mul/muluiaccelinc.h
mmuifw_plat/mul_widget_api/mul_widget_api.metaxml
mmuifw_plat/osn_container_api/group/bld.inf
mmuifw_plat/osn_container_api/inc/osn/alfptrvector.h
mmuifw_plat/osn_container_api/inc/osn/alfptrvectorimpl.h
mmuifw_plat/osn_container_api/osn_container_api.metaxml
mmuifw_plat/osn_global_api/group/bld.inf
mmuifw_plat/osn_global_api/inc/osn/osncommon.h
mmuifw_plat/osn_global_api/inc/osn/osndefines.h
mmuifw_plat/osn_global_api/inc/osn/osnnew.h
mmuifw_plat/osn_global_api/inc/osn/osntypes.h
mmuifw_plat/osn_global_api/inc/osn/osntypes.inl
mmuifw_plat/osn_global_api/osn_global_api.metaxml
mmuifw_plat/osn_string_api/group/bld.inf
mmuifw_plat/osn_string_api/inc/osn/ustring.h
mmuifw_plat/osn_string_api/osn_string_api.metaxml
mulwidgets/alfcontainerwidget/group/alfcontainerwidget.mmp
mulwidgets/alfcontainerwidget/group/alfcontainerwidgetstatic.mmp
mulwidgets/alfcontainerwidget/group/bld.inf
mulwidgets/alfcontainerwidget/group/mmp_common.inc
mulwidgets/alfcontainerwidget/inc/alfcontainercontrol.h
mulwidgets/alfcontainerwidget/inc/alfcontainerwidget.h
mulwidgets/alfcontainerwidget/inc/alfcontainerwidgetexception.h
mulwidgets/alfcontainerwidget/inc/alfcontainerwidgetfactoryplugin.h
mulwidgets/alfcontainerwidget/src/200100fe.rss
mulwidgets/alfcontainerwidget/src/alfcontainercontrol.cpp
mulwidgets/alfcontainerwidget/src/alfcontainerwidget.cpp
mulwidgets/alfcontainerwidget/src/alfcontainerwidgetexception.cpp
mulwidgets/alfcontainerwidget/src/alfcontainerwidgetfactoryplugin.cpp
mulwidgets/alfscrollbarwidget/group/alfscrollbarwidget.mmp
mulwidgets/alfscrollbarwidget/group/bld.inf
mulwidgets/alfscrollbarwidget/inc/alfscrollbarcontrol.h
mulwidgets/alfscrollbarwidget/inc/alfscrollbardefaultbaseelement.h
mulwidgets/alfscrollbarwidget/inc/alfscrollbarlongtaptimer.h
mulwidgets/alfscrollbarwidget/inc/alfscrollbarmodel.h
mulwidgets/alfscrollbarwidget/inc/alfscrollbarwidget.h
mulwidgets/alfscrollbarwidget/inc/alfscrollbarwidgetfactoryplugin.h
mulwidgets/alfscrollbarwidget/inc/ialfscrollbarbaseelementinternal.h
mulwidgets/alfscrollbarwidget/src/20010105.rss
mulwidgets/alfscrollbarwidget/src/alfscrollbarcontrol.cpp
mulwidgets/alfscrollbarwidget/src/alfscrollbardefaultbaseelement.cpp
mulwidgets/alfscrollbarwidget/src/alfscrollbarlongtaptimer.cpp
mulwidgets/alfscrollbarwidget/src/alfscrollbarmodel.cpp
mulwidgets/alfscrollbarwidget/src/alfscrollbarwidget.cpp
mulwidgets/alfscrollbarwidget/src/alfscrollbarwidgetfactoryplugin.cpp
mulwidgets/alfviewwidget/group/alfviewwidget.mmp
mulwidgets/alfviewwidget/group/bld.inf
mulwidgets/alfviewwidget/inc/alfviewcontrol.h
mulwidgets/alfviewwidget/inc/alfviewwidget.h
mulwidgets/alfviewwidget/inc/alfviewwidgetexception.h
mulwidgets/alfviewwidget/inc/alfviewwidgetfactoryplugin.h
mulwidgets/alfviewwidget/src/20010103.rss
mulwidgets/alfviewwidget/src/alfviewcontrol.cpp
mulwidgets/alfviewwidget/src/alfviewwidget.cpp
mulwidgets/alfviewwidget/src/alfviewwidgetexception.cpp
mulwidgets/alfviewwidget/src/alfviewwidgetfactoryplugin.cpp
mulwidgets/common/bwins/mulutilityu.def
mulwidgets/common/eabi/mulutilityu.def
mulwidgets/common/group/bld.inf
mulwidgets/common/group/mulxmlutility.mmp
mulwidgets/common/inc/imulembedablewidget.h
mulwidgets/common/inc/imulmodelobserver.h
mulwidgets/common/inc/mulassert.h
mulwidgets/common/inc/mulimagevisualattributesetter.h
mulwidgets/common/inc/mulitemdefinitions.h
mulwidgets/common/inc/mulkeyboardutility.h
mulwidgets/common/inc/mulleave.h
mulwidgets/common/inc/multemplateinterface.h
mulwidgets/common/inc/mului.hrh
mulwidgets/common/inc/mulutility.h
mulwidgets/common/inc/mulvisualutility.h
mulwidgets/common/rom/mulutility.iby
mulwidgets/common/src/mulimagevisualattributesetter.cpp
mulwidgets/common/src/mulkeyboardutility.cpp
mulwidgets/common/src/mulutility.cpp
mulwidgets/common/src/mulvisualutility.cpp
mulwidgets/gesturehelper/bwins/gesturehelperu.def
mulwidgets/gesturehelper/eabi/gesturehelperu.def
mulwidgets/gesturehelper/group/all.cmd
mulwidgets/gesturehelper/group/arm.cmd
mulwidgets/gesturehelper/group/bld.inf
mulwidgets/gesturehelper/group/clean.cmd
mulwidgets/gesturehelper/group/freeze.cmd
mulwidgets/gesturehelper/group/gesturehelper.mmp
mulwidgets/gesturehelper/group/tarm.cmd
mulwidgets/gesturehelper/group/twins.cmd
mulwidgets/gesturehelper/group/wins.cmd
mulwidgets/gesturehelper/rom/gesturehelper.iby
mulwidgets/gesturehelper/src/gesture.cpp
mulwidgets/gesturehelper/src/gesture.h
mulwidgets/gesturehelper/src/gesturecontrol.cpp
mulwidgets/gesturehelper/src/gesturedefs.h
mulwidgets/gesturehelper/src/gesturehelper.cpp
mulwidgets/gesturehelper/src/gesturehelperimpl.cpp
mulwidgets/gesturehelper/src/gesturehelperimpl.h
mulwidgets/gesturehelper/src/gesturerecogniser.cpp
mulwidgets/gesturehelper/src/gesturerecogniser.h
mulwidgets/gesturehelper/src/hittest.cpp
mulwidgets/gesturehelper/src/pointarray.cpp
mulwidgets/gesturehelper/src/pointarray.h
mulwidgets/gesturehelper/src/pointercapturer.cpp
mulwidgets/gesturehelper/src/pointercapturer.h
mulwidgets/gesturehelper/src/utils.cpp
mulwidgets/gesturehelper/src/utils.h
mulwidgets/group/bld.inf
mulwidgets/mulcoverflowwidget/group/bld.inf
mulwidgets/mulcoverflowwidget/group/mulcoverflowwidget.mmp
mulwidgets/mulcoverflowwidget/inc/imullogicaltemplate.h
mulwidgets/mulcoverflowwidget/inc/mulbaseelement.h
mulwidgets/mulcoverflowwidget/inc/mulcoverflowao.h
mulwidgets/mulcoverflowwidget/inc/mulcoverflowcontrol.h
mulwidgets/mulcoverflowwidget/inc/mulcoverflowdefinitions.h
mulwidgets/mulcoverflowwidget/inc/mulcoverflowenhancedtemplate.h
mulwidgets/mulcoverflowwidget/inc/mulcoverflowitemelement.h
mulwidgets/mulcoverflowwidget/inc/mulcoverflowtemplate.h
mulwidgets/mulcoverflowwidget/inc/mulcoverflowwidget.h
mulwidgets/mulcoverflowwidget/inc/mulcoverflowwidgetfactoryplugin.h
mulwidgets/mulcoverflowwidget/rom/mulcoverflowwidget.iby
mulwidgets/mulcoverflowwidget/src/2000D240.rss
mulwidgets/mulcoverflowwidget/src/mulbaseelement.cpp
mulwidgets/mulcoverflowwidget/src/mulcoverflowao.cpp
mulwidgets/mulcoverflowwidget/src/mulcoverflowcontrol.cpp
mulwidgets/mulcoverflowwidget/src/mulcoverflowenhancedtemplate.cpp
mulwidgets/mulcoverflowwidget/src/mulcoverflowitemelement.cpp
mulwidgets/mulcoverflowwidget/src/mulcoverflowtemplate.cpp
mulwidgets/mulcoverflowwidget/src/mulcoverflowwidget.cpp
mulwidgets/mulcoverflowwidget/src/mulcoverflowwidgetfactoryplugin.cpp
mulwidgets/mulcoverflowwidget/src/mulcoverlogicaltemplatebase.cpp
mulwidgets/mulcoverflowwidget/src/mulcovertemplate1.cpp
mulwidgets/mulcoverflowwidget/src/mulcovertemplate2.cpp
mulwidgets/mulcoverflowwidget/src/mulcovertemplate3.cpp
mulwidgets/mulcoverflowwidget/src/mulcovertemplate4.cpp
mulwidgets/muldatamodel/bwins/muldatamodelu.def
mulwidgets/muldatamodel/bwins/mulmodelutilityu.def
mulwidgets/muldatamodel/data/2000d23e.rss
mulwidgets/muldatamodel/eabi/muldatamodelu.def
mulwidgets/muldatamodel/eabi/mulmodelutilityu.def
mulwidgets/muldatamodel/group/bld.inf
mulwidgets/muldatamodel/group/muldatamodel.mmp
mulwidgets/muldatamodel/group/muldatamodelplugin.mmp
mulwidgets/muldatamodel/group/mulmodelutility.mmp
mulwidgets/muldatamodel/inc/mulactionitem.h
mulwidgets/muldatamodel/inc/mulasyncdataprovider.h
mulwidgets/muldatamodel/inc/mulcachemanager.h
mulwidgets/muldatamodel/inc/mulcallback.h
mulwidgets/muldatamodel/inc/muldatawindow.h
mulwidgets/muldatamodel/inc/mulfilterao.h
mulwidgets/muldatamodel/inc/mulmodeldef.h
mulwidgets/muldatamodel/inc/mulmodelfactoryplugin.h
mulwidgets/muldatamodel/inc/mulmodelimpl.h
mulwidgets/muldatamodel/inc/mulpagedatawindow.h
mulwidgets/muldatamodel/inc/mulpullmode.h
mulwidgets/muldatamodel/inc/mulpushmode.h
mulwidgets/muldatamodel/inc/multree.h
mulwidgets/muldatamodel/inc/mulvectoradaptor.h
mulwidgets/muldatamodel/rom/muldatamodel.iby
mulwidgets/muldatamodel/src/mulactionitem.cpp
mulwidgets/muldatamodel/src/mulasyncdataprovider.cpp
mulwidgets/muldatamodel/src/mulcachemanager.cpp
mulwidgets/muldatamodel/src/muldatapath.cpp
mulwidgets/muldatamodel/src/muldatawindow.cpp
mulwidgets/muldatamodel/src/mulmodelfactoryplugin.cpp
mulwidgets/muldatamodel/src/mulmodelimpl.cpp
mulwidgets/muldatamodel/src/mulmodelutility.cpp
mulwidgets/muldatamodel/src/mulpagedatawindow.cpp
mulwidgets/muldatamodel/src/mulpullmode.cpp
mulwidgets/muldatamodel/src/mulpushmode.cpp
mulwidgets/muldatamodel/src/multree.cpp
mulwidgets/muldatamodel/src/mulvarianttype.cpp
mulwidgets/muldatamodel/src/mulvisualitem.cpp
mulwidgets/mullogging/bwins/mulloggingu.def
mulwidgets/mullogging/eabi/mulloggingu.def
mulwidgets/mullogging/group/bld.inf
mulwidgets/mullogging/group/mullogging.mmp
mulwidgets/mullogging/inc/mullog.h
mulwidgets/mullogging/inc/mullogchunk.h
mulwidgets/mullogging/inc/mullogger.h
mulwidgets/mullogging/src/mullogchunk.cpp
mulwidgets/mullogging/src/mullogger.cpp
mulwidgets/mulsliderwidget/data/mui_cover_handle.svg
mulwidgets/mulsliderwidget/data/mui_dl_progress_lsc.svg
mulwidgets/mulsliderwidget/data/mui_handle.png
mulwidgets/mulsliderwidget/data/mui_slider_lsc.svg
mulwidgets/mulsliderwidget/data/mui_slider_progress.svg
mulwidgets/mulsliderwidget/data/mui_slider_prt.svg
mulwidgets/mulsliderwidget/data/qgn_indi_slider_zoom_in.svg
mulwidgets/mulsliderwidget/data/qgn_indi_slider_zoom_out.svg
mulwidgets/mulsliderwidget/data/qgn_indi_volumeslider_audio_off.svg
mulwidgets/mulsliderwidget/data/qgn_indi_volumeslider_audio_on.svg
mulwidgets/mulsliderwidget/data/qgn_indi_volumeslider_minus.svg
mulwidgets/mulsliderwidget/data/qgn_indi_volumeslider_plus.svg
mulwidgets/mulsliderwidget/group/bld.inf
mulwidgets/mulsliderwidget/group/iconlist.txt
mulwidgets/mulsliderwidget/group/mulsliderwidget.mmp
mulwidgets/mulsliderwidget/inc/imulsliderbaseelementinternal.h
mulwidgets/mulsliderwidget/inc/mulprogressbarslider.h
mulwidgets/mulsliderwidget/inc/mulslidercontrol.h
mulwidgets/mulsliderwidget/inc/mulsliderdefinitions.h
mulwidgets/mulsliderwidget/inc/mulsliderhorizontal.h
mulwidgets/mulsliderwidget/inc/mulsliderlongtaptimer.h
mulwidgets/mulsliderwidget/inc/mulslidermodel.h
mulwidgets/mulsliderwidget/inc/mulsliderutils.h
mulwidgets/mulsliderwidget/inc/mulslidervertical.h
mulwidgets/mulsliderwidget/inc/mulsliderwidget.h
mulwidgets/mulsliderwidget/inc/mulsliderwidgetfactoryplugin.h
mulwidgets/mulsliderwidget/rom/mulsliderwidget.iby
mulwidgets/mulsliderwidget/src/2000FA7F.rss
mulwidgets/mulsliderwidget/src/mulhorizontalslider.cpp
mulwidgets/mulsliderwidget/src/mulprogressbarslider.cpp
mulwidgets/mulsliderwidget/src/mulslidercontrol.cpp
mulwidgets/mulsliderwidget/src/mulsliderlongtaptimer.cpp
mulwidgets/mulsliderwidget/src/mulslidermodel.cpp
mulwidgets/mulsliderwidget/src/mulsliderutils.cpp
mulwidgets/mulsliderwidget/src/mulsliderwidget.cpp
mulwidgets/mulsliderwidget/src/mulsliderwidgetfactoryplugin.cpp
mulwidgets/mulsliderwidget/src/mulverticalslider.cpp
mulwidgets/sis/ListTest.pkg
mulwidgets/sis/RDTest_02.key
mulwidgets/sis/aakash.bat
mulwidgets/sis/aakash.pkg
mulwidgets/sis/aakash_udeb.bat
mulwidgets/sis/aakash_udeb.pkg
mulwidgets/sis/coverflow_test.pkg
mulwidgets/sis/coverflow_test_udeb.pkg
mulwidgets/sis/coverflow_testapp .bat
mulwidgets/sis/gesturetest.pkg
mulwidgets/sis/grid_test.pkg
mulwidgets/sis/metapane_test.pkg
mulwidgets/sis/mullistapp_test.pkg
mulwidgets/sis/slider_test.pkg
mulwidgets/sis/softkeytest.pkg
mulwidgets/sis/test .bat
mulwidgets/sis/test_udeb.bat
mulwidgets/sis/toolbar_test.pkg
osncore/group/Doxyfile.txt
osncore/group/bld.inf
osncore/osncore/bwins/osncoreu.def
osncore/osncore/eabi/osncoreu.def
osncore/osncore/group/bld.inf
osncore/osncore/group/osncore.mmp
osncore/osncore/inc/alfstringdata.h
osncore/osncore/inc/stringmacros.h
osncore/osncore/inc/ustringimpl.h
osncore/osncore/src/alfptrvectorimpl.cpp
osncore/osncore/src/alfstring.cpp
osncore/osncore/src/alfstringdata.cpp
osncore/osncore/src/alfstringpool.cpp
osncore/osncore/src/osnnew.cpp
osncore/osncore/src/ustring.cpp
osncore/osncore/src/ustringimpl.cpp
osncore/osncore/src/ustringutil.cpp
osncore/sis/createsisx.bat
osncore/sis/osncore.pkg
package_definition.xml
resourcepool/bwins/alfresourcepoolu.def
resourcepool/eabi/alfresourcepoolu.def
resourcepool/group/alfresourcepool.mmp
resourcepool/group/bld.inf
resourcepool/inc/alfresourcepoolimpl.h
resourcepool/sis/alfresourcepool.pkg
resourcepool/sis/createsisx.bat
resourcepool/src/alfresourcepool.cpp
resourcepool/src/alfresourcepoolimpl.cpp
rom/aakash.iby
rom/alfcollect.iby
rom/alfeditors.iby
rom/alfred.iby
rom/alfresourcepool.iby
rom/alftranseffectplugin.iby
rom/alfwidgets.iby
rom/declarativeui.iby
rom/lctmanager.iby
rom/osncore.iby
rom/thememanagement.iby
rom/uimodel.iby
rom/widgetmodel.iby
sysdef_1_4_0.dtd
systemDefinition.xml
systemDefinitionLayer.xml
widgetmodel/alfwidgetfactory/group/alfwidgetfactory.mmp
widgetmodel/alfwidgetfactory/group/bld.inf
widgetmodel/alfwidgetfactory/inc/alfwidgetfactory.h
widgetmodel/alfwidgetfactory/inc/alfwidgetfactoryplugin.h
widgetmodel/alfwidgetfactory/src/10282329.rss
widgetmodel/alfwidgetfactory/src/alfwidgetfactory.cpp
widgetmodel/alfwidgetfactory/src/alfwidgetfactoryplugin.cpp
widgetmodel/alfwidgetmodel/bwins/alfwidgetmodelu.def
widgetmodel/alfwidgetmodel/eabi/alfwidgetmodelu.def
widgetmodel/alfwidgetmodel/group/alfwidgetmodel.mmp
widgetmodel/alfwidgetmodel/group/bld.inf
widgetmodel/alfwidgetmodel/inc/alfanchorlayoutmanagerimpl.h
widgetmodel/alfwidgetmodel/inc/alfanimationoutput.h
widgetmodel/alfwidgetmodel/inc/alfelementattributeownerimpl.h
widgetmodel/alfwidgetmodel/inc/alfenumvalue.h
widgetmodel/alfwidgetmodel/inc/alfeventinput.h
widgetmodel/alfwidgetmodel/inc/alfeventoutput.h
widgetmodel/alfwidgetmodel/inc/alfflowlayoutpolicyimpl.h
widgetmodel/alfwidgetmodel/inc/alfflowlayoutpreferencesimpl.h
widgetmodel/alfwidgetmodel/inc/alfgridlayoutmanagerimpl.h
widgetmodel/alfwidgetmodel/inc/alfgridlayoutpolicyimpl.h
widgetmodel/alfwidgetmodel/inc/alfhostapiimpl.h
widgetmodel/alfwidgetmodel/inc/alflayoutmanagerimpl.h
widgetmodel/alfwidgetmodel/inc/alflctattributesetterutils.h
widgetmodel/alfwidgetmodel/inc/alfrealvalue.h
widgetmodel/alfwidgetmodel/inc/alfrecyclinggridelementimpl.h
widgetmodel/alfwidgetmodel/inc/alfsort.h
widgetmodel/alfwidgetmodel/inc/alfstringvalue.h
widgetmodel/alfwidgetmodel/inc/alfwidgetattributeownerimpl.h
widgetmodel/alfwidgetmodel/inc/alfwidgetcontroleventfilter.h
widgetmodel/alfwidgetmodel/inc/alfwidgeteventhandlerimpl.h
widgetmodel/alfwidgetmodel/inc/alfwidgetimpl.h
widgetmodel/alfwidgetmodel/inc/autoarrayptr.h
widgetmodel/alfwidgetmodel/inc/ialfhostapi.h
widgetmodel/alfwidgetmodel/src/alfanchorlayoutattributesetter.cpp
widgetmodel/alfwidgetmodel/src/alfanchorlayoutmanager.cpp
widgetmodel/alfwidgetmodel/src/alfanchorlayoutmanagerimpl.cpp
widgetmodel/alfwidgetmodel/src/alfanimationoutput.cpp
widgetmodel/alfwidgetmodel/src/alfattribute.cpp
widgetmodel/alfwidgetmodel/src/alfattributecontainer.cpp
widgetmodel/alfwidgetmodel/src/alfattributevaluetype.cpp
widgetmodel/alfwidgetmodel/src/alfcommonattributesetter.cpp
widgetmodel/alfwidgetmodel/src/alfcommonlayoutattributesetter.cpp
widgetmodel/alfwidgetmodel/src/alfcommonvisualattributesetter.cpp
widgetmodel/alfwidgetmodel/src/alfcurvepathlayoutattributesetter.cpp
widgetmodel/alfwidgetmodel/src/alfdecklayoutattributesetter.cpp
widgetmodel/alfwidgetmodel/src/alfelement.cpp
widgetmodel/alfwidgetmodel/src/alfelementattributeownerimpl.cpp
widgetmodel/alfwidgetmodel/src/alfenumvalue.cpp
widgetmodel/alfwidgetmodel/src/alfeventinput.cpp
widgetmodel/alfwidgetmodel/src/alfeventoutput.cpp
widgetmodel/alfwidgetmodel/src/alfflowlayoutattributesetter.cpp
widgetmodel/alfwidgetmodel/src/alfflowlayoutmanager.cpp
widgetmodel/alfwidgetmodel/src/alfflowlayoutpolicyimpl.cpp
widgetmodel/alfwidgetmodel/src/alfflowlayoutpreferencesimpl.cpp
widgetmodel/alfwidgetmodel/src/alfgridlayoutattributesetter.cpp
widgetmodel/alfwidgetmodel/src/alfgridlayoutmanager.cpp
widgetmodel/alfwidgetmodel/src/alfgridlayoutmanagerimpl.cpp
widgetmodel/alfwidgetmodel/src/alfgridlayoutpolicyimpl.cpp
widgetmodel/alfwidgetmodel/src/alfhostapiimpl.cpp
widgetmodel/alfwidgetmodel/src/alfimagevisualattributesetter.cpp
widgetmodel/alfwidgetmodel/src/alflayoutmanager.cpp
widgetmodel/alfwidgetmodel/src/alflayoutmanagerimpl.cpp
widgetmodel/alfwidgetmodel/src/alflctanchorlayoutattributesetter.cpp
widgetmodel/alfwidgetmodel/src/alflinevisualattributesetter.cpp
widgetmodel/alfwidgetmodel/src/alfmeshvisualattributesetter.cpp
widgetmodel/alfwidgetmodel/src/alfmodel.cpp
widgetmodel/alfwidgetmodel/src/alfmodeloperation.cpp
widgetmodel/alfwidgetmodel/src/alfrealvalue.cpp
widgetmodel/alfwidgetmodel/src/alfrecyclinggridelement.cpp
widgetmodel/alfwidgetmodel/src/alfrecyclinggridelementimpl.cpp
widgetmodel/alfwidgetmodel/src/alfreferencetovisual.cpp
widgetmodel/alfwidgetmodel/src/alfsort.cpp
widgetmodel/alfwidgetmodel/src/alfstringvalue.cpp
widgetmodel/alfwidgetmodel/src/alftextvisualattributesetter.cpp
widgetmodel/alfwidgetmodel/src/alfthememanagerutil.cpp
widgetmodel/alfwidgetmodel/src/alfvarianttype.cpp
widgetmodel/alfwidgetmodel/src/alfviewportlayoutattributesetter.cpp
widgetmodel/alfwidgetmodel/src/alfvisualtemplate.cpp
widgetmodel/alfwidgetmodel/src/alfwidget.cpp
widgetmodel/alfwidgetmodel/src/alfwidgetattributeownerimpl.cpp
widgetmodel/alfwidgetmodel/src/alfwidgetcommand.cpp
widgetmodel/alfwidgetmodel/src/alfwidgetcontrol.cpp
widgetmodel/alfwidgetmodel/src/alfwidgetcontroleventfilter.cpp
widgetmodel/alfwidgetmodel/src/alfwidgetenvextension.cpp
widgetmodel/alfwidgetmodel/src/alfwidgeteventhandler.cpp
widgetmodel/alfwidgetmodel/src/alfwidgeteventhandlerimpl.cpp
widgetmodel/alfwidgetmodel/src/alfwidgetimpl.cpp
widgetmodel/group/bld.inf
widgetmodel/sis/createsisx.bat
widgetmodel/sis/widgetmodel.pkg
--- a/alfwidgetutils/bwins/alfwidgetutilsu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-EXPORTS
-	??0AlfAttributeException@osncore@@QAE@H@Z @ 1 NONAME ; osncore::AlfAttributeException::AlfAttributeException(int)
-	??0AlfAttributeException@osncore@@QAE@HPBD0@Z @ 2 NONAME ; osncore::AlfAttributeException::AlfAttributeException(int, char const *, char const *)
-	??0AlfDataException@osncore@@QAE@H@Z @ 3 NONAME ; osncore::AlfDataException::AlfDataException(int)
-	??0AlfDataException@osncore@@QAE@HPBD0@Z @ 4 NONAME ; osncore::AlfDataException::AlfDataException(int, char const *, char const *)
-	??0AlfElementException@osncore@@QAE@H@Z @ 5 NONAME ; osncore::AlfElementException::AlfElementException(int)
-	??0AlfElementException@osncore@@QAE@HPBD0@Z @ 6 NONAME ; osncore::AlfElementException::AlfElementException(int, char const *, char const *)
-	??0AlfException@osncore@@QAE@H@Z @ 7 NONAME ; osncore::AlfException::AlfException(int)
-	??0AlfException@osncore@@QAE@HPBD0@Z @ 8 NONAME ; osncore::AlfException::AlfException(int, char const *, char const *)
-	??0AlfException@osncore@@QAE@HPBD@Z @ 9 NONAME ; osncore::AlfException::AlfException(int, char const *)
-	??0AlfFactoryPluginLoader@Alf@@QAE@XZ @ 10 NONAME ; Alf::AlfFactoryPluginLoader::AlfFactoryPluginLoader(void)
-	??0AlfVisualException@osncore@@QAE@H@Z @ 11 NONAME ; osncore::AlfVisualException::AlfVisualException(int)
-	??0AlfVisualException@osncore@@QAE@HPBD0@Z @ 12 NONAME ; osncore::AlfVisualException::AlfVisualException(int, char const *, char const *)
-	??0AlfWidgetException@osncore@@QAE@H@Z @ 13 NONAME ; osncore::AlfWidgetException::AlfWidgetException(int)
-	??0AlfWidgetException@osncore@@QAE@HPBD0@Z @ 14 NONAME ; osncore::AlfWidgetException::AlfWidgetException(int, char const *, char const *)
-	??0AlfWidgetFactoryLoader@Alf@@QAE@XZ @ 15 NONAME ; Alf::AlfWidgetFactoryLoader::AlfWidgetFactoryLoader(void)
-	??1AlfAttributeException@osncore@@UAE@XZ @ 16 NONAME ; osncore::AlfAttributeException::~AlfAttributeException(void)
-	??1AlfDataException@osncore@@UAE@XZ @ 17 NONAME ; osncore::AlfDataException::~AlfDataException(void)
-	??1AlfElementException@osncore@@UAE@XZ @ 18 NONAME ; osncore::AlfElementException::~AlfElementException(void)
-	??1AlfException@osncore@@UAE@XZ @ 19 NONAME ; osncore::AlfException::~AlfException(void)
-	??1AlfFactoryPluginLoader@Alf@@UAE@XZ @ 20 NONAME ; Alf::AlfFactoryPluginLoader::~AlfFactoryPluginLoader(void)
-	??1AlfVisualException@osncore@@UAE@XZ @ 21 NONAME ; osncore::AlfVisualException::~AlfVisualException(void)
-	??1AlfWidgetException@osncore@@UAE@XZ @ 22 NONAME ; osncore::AlfWidgetException::~AlfWidgetException(void)
-	??1AlfWidgetFactoryLoader@Alf@@UAE@XZ @ 23 NONAME ; Alf::AlfWidgetFactoryLoader::~AlfWidgetFactoryLoader(void)
-	?errorCode@AlfException@osncore@@UBEHXZ @ 24 NONAME ; int osncore::AlfException::errorCode(void) const
-	?fileAndLine@AlfException@osncore@@QBEPBDXZ @ 25 NONAME ; char const * osncore::AlfException::fileAndLine(void) const
-	?info@AlfException@osncore@@UBEPBDXZ @ 26 NONAME ; char const * osncore::AlfException::info(void) const
-	?loadFactoryPlugin@AlfFactoryPluginLoader@Alf@@QAEPAVIAlfFactoryPlugin@2@PBD@Z @ 27 NONAME ; class Alf::IAlfFactoryPlugin * Alf::AlfFactoryPluginLoader::loadFactoryPlugin(char const *)
-	?loadWidgetFactory@AlfWidgetFactoryLoader@Alf@@QAEPAVIAlfWidgetFactory@2@AAVCAlfEnv@@@Z @ 28 NONAME ; class Alf::IAlfWidgetFactory * Alf::AlfWidgetFactoryLoader::loadWidgetFactory(class CAlfEnv &)
-	?what@AlfAttributeException@osncore@@UBEPBDXZ @ 29 NONAME ; char const * osncore::AlfAttributeException::what(void) const
-	?what@AlfDataException@osncore@@UBEPBDXZ @ 30 NONAME ; char const * osncore::AlfDataException::what(void) const
-	?what@AlfElementException@osncore@@UBEPBDXZ @ 31 NONAME ; char const * osncore::AlfElementException::what(void) const
-	?what@AlfException@osncore@@UBEPBDXZ @ 32 NONAME ; char const * osncore::AlfException::what(void) const
-	?what@AlfVisualException@osncore@@UBEPBDXZ @ 33 NONAME ; char const * osncore::AlfVisualException::what(void) const
-	?what@AlfWidgetException@osncore@@UBEPBDXZ @ 34 NONAME ; char const * osncore::AlfWidgetException::what(void) const
-
--- a/alfwidgetutils/eabi/alfwidgetutilsu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-EXPORTS
-	_ZN3Alf22AlfFactoryPluginLoader17loadFactoryPluginEPKc @ 1 NONAME
-	_ZN3Alf22AlfFactoryPluginLoaderC1Ev @ 2 NONAME
-	_ZN3Alf22AlfFactoryPluginLoaderC2Ev @ 3 NONAME
-	_ZN3Alf22AlfFactoryPluginLoaderD0Ev @ 4 NONAME
-	_ZN3Alf22AlfFactoryPluginLoaderD1Ev @ 5 NONAME
-	_ZN3Alf22AlfFactoryPluginLoaderD2Ev @ 6 NONAME
-	_ZN3Alf22AlfWidgetFactoryLoader17loadWidgetFactoryER7CAlfEnv @ 7 NONAME
-	_ZN3Alf22AlfWidgetFactoryLoaderC1Ev @ 8 NONAME
-	_ZN3Alf22AlfWidgetFactoryLoaderC2Ev @ 9 NONAME
-	_ZN3Alf22AlfWidgetFactoryLoaderD0Ev @ 10 NONAME
-	_ZN3Alf22AlfWidgetFactoryLoaderD1Ev @ 11 NONAME
-	_ZN3Alf22AlfWidgetFactoryLoaderD2Ev @ 12 NONAME
-	_ZN7osncore12AlfExceptionC1Ei @ 13 NONAME
-	_ZN7osncore12AlfExceptionC1EiPKc @ 14 NONAME
-	_ZN7osncore12AlfExceptionC1EiPKcS2_ @ 15 NONAME
-	_ZN7osncore12AlfExceptionC2Ei @ 16 NONAME
-	_ZN7osncore12AlfExceptionC2EiPKc @ 17 NONAME
-	_ZN7osncore12AlfExceptionC2EiPKcS2_ @ 18 NONAME
-	_ZN7osncore12AlfExceptionD0Ev @ 19 NONAME
-	_ZN7osncore12AlfExceptionD1Ev @ 20 NONAME
-	_ZN7osncore12AlfExceptionD2Ev @ 21 NONAME
-	_ZN7osncore16AlfDataExceptionC1Ei @ 22 NONAME
-	_ZN7osncore16AlfDataExceptionC1EiPKcS2_ @ 23 NONAME
-	_ZN7osncore16AlfDataExceptionC2Ei @ 24 NONAME
-	_ZN7osncore16AlfDataExceptionC2EiPKcS2_ @ 25 NONAME
-	_ZN7osncore16AlfDataExceptionD0Ev @ 26 NONAME
-	_ZN7osncore16AlfDataExceptionD1Ev @ 27 NONAME
-	_ZN7osncore16AlfDataExceptionD2Ev @ 28 NONAME
-	_ZN7osncore18AlfVisualExceptionC1Ei @ 29 NONAME
-	_ZN7osncore18AlfVisualExceptionC1EiPKcS2_ @ 30 NONAME
-	_ZN7osncore18AlfVisualExceptionC2Ei @ 31 NONAME
-	_ZN7osncore18AlfVisualExceptionC2EiPKcS2_ @ 32 NONAME
-	_ZN7osncore18AlfVisualExceptionD0Ev @ 33 NONAME
-	_ZN7osncore18AlfVisualExceptionD1Ev @ 34 NONAME
-	_ZN7osncore18AlfVisualExceptionD2Ev @ 35 NONAME
-	_ZN7osncore18AlfWidgetExceptionC1Ei @ 36 NONAME
-	_ZN7osncore18AlfWidgetExceptionC1EiPKcS2_ @ 37 NONAME
-	_ZN7osncore18AlfWidgetExceptionC2Ei @ 38 NONAME
-	_ZN7osncore18AlfWidgetExceptionC2EiPKcS2_ @ 39 NONAME
-	_ZN7osncore18AlfWidgetExceptionD0Ev @ 40 NONAME
-	_ZN7osncore18AlfWidgetExceptionD1Ev @ 41 NONAME
-	_ZN7osncore18AlfWidgetExceptionD2Ev @ 42 NONAME
-	_ZN7osncore19AlfElementExceptionC1Ei @ 43 NONAME
-	_ZN7osncore19AlfElementExceptionC1EiPKcS2_ @ 44 NONAME
-	_ZN7osncore19AlfElementExceptionC2Ei @ 45 NONAME
-	_ZN7osncore19AlfElementExceptionC2EiPKcS2_ @ 46 NONAME
-	_ZN7osncore19AlfElementExceptionD0Ev @ 47 NONAME
-	_ZN7osncore19AlfElementExceptionD1Ev @ 48 NONAME
-	_ZN7osncore19AlfElementExceptionD2Ev @ 49 NONAME
-	_ZN7osncore21AlfAttributeExceptionC1Ei @ 50 NONAME
-	_ZN7osncore21AlfAttributeExceptionC1EiPKcS2_ @ 51 NONAME
-	_ZN7osncore21AlfAttributeExceptionC2Ei @ 52 NONAME
-	_ZN7osncore21AlfAttributeExceptionC2EiPKcS2_ @ 53 NONAME
-	_ZN7osncore21AlfAttributeExceptionD0Ev @ 54 NONAME
-	_ZN7osncore21AlfAttributeExceptionD1Ev @ 55 NONAME
-	_ZN7osncore21AlfAttributeExceptionD2Ev @ 56 NONAME
-	_ZNK7osncore12AlfException11fileAndLineEv @ 57 NONAME
-	_ZNK7osncore12AlfException4infoEv @ 58 NONAME
-	_ZNK7osncore12AlfException4whatEv @ 59 NONAME
-	_ZNK7osncore12AlfException9errorCodeEv @ 60 NONAME
-	_ZNK7osncore16AlfDataException4whatEv @ 61 NONAME
-	_ZNK7osncore18AlfVisualException4whatEv @ 62 NONAME
-	_ZNK7osncore18AlfWidgetException4whatEv @ 63 NONAME
-	_ZNK7osncore19AlfElementException4whatEv @ 64 NONAME
-	_ZNK7osncore21AlfAttributeException4whatEv @ 65 NONAME
-	_ZTIN3Alf22AlfFactoryPluginLoaderE @ 66 NONAME ; #<TI>#
-	_ZTIN3Alf22AlfWidgetFactoryLoaderE @ 67 NONAME ; #<TI>#
-	_ZTIN3Alf26AlfFactoryPluginLoaderImplE @ 68 NONAME ; #<TI>#
-	_ZTIN3Alf26AlfWidgetFactoryLoaderImplE @ 69 NONAME ; #<TI>#
-	_ZTIN7osncore12AlfExceptionE @ 70 NONAME ; #<TI>#
-	_ZTIN7osncore16AlfDataExceptionE @ 71 NONAME ; #<TI>#
-	_ZTIN7osncore18AlfVisualExceptionE @ 72 NONAME ; #<TI>#
-	_ZTIN7osncore18AlfWidgetExceptionE @ 73 NONAME ; #<TI>#
-	_ZTIN7osncore19AlfElementExceptionE @ 74 NONAME ; #<TI>#
-	_ZTIN7osncore21AlfAttributeExceptionE @ 75 NONAME ; #<TI>#
-	_ZTVN3Alf22AlfFactoryPluginLoaderE @ 76 NONAME ; #<VT>#
-	_ZTVN3Alf22AlfWidgetFactoryLoaderE @ 77 NONAME ; #<VT>#
-	_ZTVN3Alf26AlfFactoryPluginLoaderImplE @ 78 NONAME ; #<VT>#
-	_ZTVN3Alf26AlfWidgetFactoryLoaderImplE @ 79 NONAME ; #<VT>#
-	_ZTVN7osncore12AlfExceptionE @ 80 NONAME ; #<VT>#
-	_ZTVN7osncore16AlfDataExceptionE @ 81 NONAME ; #<VT>#
-	_ZTVN7osncore18AlfVisualExceptionE @ 82 NONAME ; #<VT>#
-	_ZTVN7osncore18AlfWidgetExceptionE @ 83 NONAME ; #<VT>#
-	_ZTVN7osncore19AlfElementExceptionE @ 84 NONAME ; #<VT>#
-	_ZTVN7osncore21AlfAttributeExceptionE @ 85 NONAME ; #<VT>#
-
--- a/alfwidgetutils/group/alfwidgetutils.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* 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:  mmp file
-*
-*/
-
-#include <platform_paths.hrh>
-
-TARGET          alfwidgetutils.dll
-TARGETTYPE      DLL
-
-
-
-CAPABILITY      CAP_GENERAL_DLL
-VENDORID        VID_DEFAULT
-
-#ifndef __WINSCW__
-EPOCALLOWDLLDATA
-#endif
-
-
-SOURCEPATH      ../src 
-
-SOURCE          alffactorypluginloader.cpp
-SOURCE          alffactorypluginloaderimpl.cpp
-SOURCE          alfwidgetfactoryloader.cpp
-SOURCE          alfwidgetfactoryloaderimpl.cpp
-
-SOURCE          alfexception.cpp
-SOURCE          alfattributeexception.cpp
-SOURCE          alfvisualexception.cpp
-SOURCE          alfelementexception.cpp
-SOURCE          alfdataexception.cpp
-SOURCE          alfwidgetexception.cpp
-
-USERINCLUDE     ../inc 
-USERINCLUDE     ../../inc
-
-
-MW_LAYER_SYSTEMINCLUDE
-
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-LIBRARY         euser.lib
-LIBRARY         ecom.lib
-LIBRARY       osncore.lib
-LIBRARY					        libstdcpp.lib
-
-#define ALF_LINK_STDCPP_DLL
-// following include must be after definition
-
-LIBRARY                 libpthread.lib
-LIBRARY                 libc.lib
-LANG            SC
-// End of file
--- a/alfwidgetutils/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* 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:   Builds alfwidgetutils.
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-alfwidgetutils.mmp
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
-
-
-//  End of File  
-
--- a/alfwidgetutils/inc/alfexceptionstrings.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* 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:  error codes and descrptions for erros
-*
-*/
-
-
-
-#ifndef ALFEXCEPTIONSTRINGS_H
-#define ALFEXCEPTIONSTRINGS_H
-
-namespace osncore
-    {
-static const char* const KErrorUndefinedException 
-                            = "Undefined Exception";
-static const char* const KErrorInvalidAttribute 
-                            = "Invalid Attribute";
-static const char* const KErrorInvalidAttributeValue 
-                            = "Invalid Attribute Value";
-static const char* const KErrorIncompleteAttributeValues 
-                            = "Incomplete Attribute Values";
-static const char* const KErrorInvalidVisual 
-                            = "Invalid Visual";
-static const char* const KErrorCanNotCreateVisual 
-                            = "Can Not Create Visual";
-static const char* const KErrorInvalidVisualValue 
-                            = "Invalid Visual Value";
-static const char* const KErrorInvalidElement 
-                            = "Invalid Element";
-
-//Data Type Exception Strings
-static const char* const KErrorInvalidVariantDataType 
-                            = "Invalid Variant Data Type";
-static const char* const KErrorInvalidArrayIndex 
-                            = "Invalid Array Index";
-static const char* const KErrorInvalidContainerOperation 
-                            = "Invalid Conatiner Operation";
-static const char* const KErrorInvalidMapOperation 
-                            = "Invalid Map Operation";
-static const char* const KErrorInvalidBranchOperation 
-                            = "Invalid Branch Operation";
-static const char* const KErrorInvalidModelOperation 
-                            = "Invalid Model Operation";
-static const char* const KErrorInvalidWidget 
-                            = "Invalid Widget";
-
-    } //namespace
-
-#endif //ALFEXCEPTIONSTRINGS_H
-
-// End of File
--- a/alfwidgetutils/inc/alffactorypluginloaderimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* 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:  Factory plugin loader implementation
-*
-*/
-
-
-
-#ifndef ALFFACTORYPLUGINLOADERIMPL_H
-#define ALFFACTORYPLUGINLOADERIMPL_H
-
-#include <osn/alfptrvector.h>
-
-using namespace osncore;
-
-namespace Alf
-    {
-
-class IAlfFactoryPlugin;
-class AlfFactoryPluginMap;
-
-
-/**
- *  @class AlfFactoryPluginLoaderImpl AlfFactoryPluginLoaderImpl.h "alf/alffactorypluginloaderimpl.h" 
- *
- *  Factory plugin loader loads factory plugins.
- *
- *  @lib alfwidgetutils.lib
- *  @since S60 ?S60_version
- *  @status Draft 
- */
-class AlfFactoryPluginLoaderImpl
-    {
-public:  // Constructors and destructor
-
-    /**
-     * Constructor
-     */
-    AlfFactoryPluginLoaderImpl();
-
-    /**
-     * Destructor.
-     */
-    virtual ~AlfFactoryPluginLoaderImpl();
-
-public:
-
-    /**
-     * Load a factory plugin.
-     *
-     * @param aLoadId Factory plugin identifier
-     * @since S60 5.0
-     * @return Pointer to IAlfFactoryPlugin or NULL. 
-     *         Ownership is transferred to caller.
-     */
-    IAlfFactoryPlugin* load(const char* aLoadId);
-
-private:
-    /**
-     * Owned factory plugins.
-     */
-    AlfPtrVector<AlfFactoryPluginMap>   mFactoryPluginList;
-
-    };
-    }
-
-#endif
-
-// End of File
--- a/alfwidgetutils/inc/alfwidgetfactoryloaderimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* 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 factory plugin loader implementation
-*
-*/
-
-
-
-#ifndef ALFWIDGETFACTORYLOADERIMPL_H
-#define ALFWIDGETFACTORYLOADERIMPL_H
-
-
-
-class CAlfEnv;
-
-namespace Alf
-    {
-class IAlfFactoryPlugin;
-class IAlfWidgetFactory;
-
-
-/**
- *
- *  @class AlfWidgetFactoryLoaderImpl AlfWidgetFactoryLoaderImpl.h "alf/alfwidgetfactoryloaderimpl.h"
- *
- *  Factory plugin loader loads factory plugins.
- *
- *  @lib alfwidgetutils.lib
- *  @since S60 ?S60_version
- *  @status Draft 
- */
-class AlfWidgetFactoryLoaderImpl
-    {
-public:  // Constructors and destructor
-
-    /**
-     * Constructor
-     */
-    AlfWidgetFactoryLoaderImpl();
-
-    /**
-     * Destructor.
-     */
-    virtual ~AlfWidgetFactoryLoaderImpl();
-
-public:
-
-    /**
-     * Loads a widget factory plugin.
-     *
-     * @since S60 5.0
-     * @return Pointer to IAlfWidgetFactory or NULL. 
-     *         Ownership is not transferred to caller.
-     */
-    IAlfWidgetFactory* load(CAlfEnv& aEnv);
-
-private:
-    IAlfFactoryPlugin* mFactoryPlugin;
-    IAlfWidgetFactory* mWidgetFactory;
-    int mDtorKey;
-
-    };
-    }
-
-#endif
-
-// End of File
--- a/alfwidgetutils/src/alfattributeexception.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* 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:  The implementation for attribute exception class.
-*
-*/
-
-
-
-#include <alf/alfattributeexception.h>
-#include "alfexceptionstrings.h"
-
-using namespace osncore;
-
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttributeException::AlfAttributeException( int aErrorCode ) throw() :
-        AlfException( aErrorCode )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttributeException::AlfAttributeException(
-    int aErrorCode, const char* aInfo, const char* aFileAndLine ) throw() :
-        AlfException( aErrorCode, aInfo, aFileAndLine )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttributeException::~AlfAttributeException() throw()
-    {
-// nothing to do!
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the error information in c-string style.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const char* AlfAttributeException::what() const throw()
-    {
-    switch ( errorCode() )
-        {
-        case EInvalidAttribute:
-            return KErrorInvalidAttribute;
-        case EInvalidAttributeValue:
-            return KErrorInvalidAttributeValue;
-        case EIncompleteAttributeValues:
-            return KErrorIncompleteAttributeValues;
-        default:
-            return KErrorUndefinedException;
-        }
-    }
-
-// End of File
--- a/alfwidgetutils/src/alfdataexception.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* 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:  element exception class.
-*
-*/
-
-
-
-#include <alf/alfdataexception.h>
-#include "alfexceptionstrings.h"
-
-using namespace osncore;
-
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfDataException::AlfDataException( int aErrorCode ) throw() :
-        AlfException( aErrorCode )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfDataException::AlfDataException(
-    int aErrorCode, const char* aInfo, const char* aFileAndLine ) throw() :
-        AlfException( aErrorCode, aInfo, aFileAndLine )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfDataException::~AlfDataException() throw()
-    {
-// nothing to do!
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the error information in c-string style.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const char* AlfDataException::what() const throw()
-    {
-    switch ( errorCode() )
-        {
-        case EInvalidVariantDataType:
-            return KErrorInvalidVariantDataType;
-
-        case EInvalidArrayIndex:
-            return KErrorInvalidArrayIndex;
-
-        case EInvalidContainerOperation:
-            return KErrorInvalidContainerOperation;
-
-        case EInvalidMapOperation:
-            return KErrorInvalidMapOperation;
-
-        case EInvalidBranchOperation:
-            return KErrorInvalidBranchOperation;
-
-        case EInvalidModelOperation:
-            return KErrorInvalidModelOperation;
-
-        default:
-            return KErrorUndefinedException;
-        }
-    }
-
-// End of File
--- a/alfwidgetutils/src/alfelementexception.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* 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:  element exception class.
-*
-*/
-
-
-
-#include <alf/alfelementexception.h>
-#include "alfexceptionstrings.h"
-
-using namespace osncore;
-
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfElementException::AlfElementException( int aErrorCode ) throw() :
-        AlfException( aErrorCode )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfElementException::AlfElementException(
-    int aErrorCode, const char* aInfo, const char* aFileAndLine ) throw() :
-        AlfException( aErrorCode, aInfo, aFileAndLine )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfElementException::~AlfElementException() throw()
-    {
-// nothing to do!
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the error information in c-string style.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const char* AlfElementException::what() const throw()
-    {
-    switch ( errorCode() )
-        {
-        case EInvalidElement:
-            return KErrorInvalidElement;
-        default:
-            return KErrorUndefinedException;
-        }
-    }
-
-// End of File
--- a/alfwidgetutils/src/alfexception.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* 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:  The basic implementation for presentation elements.
-*
-*/
-
-
-
-#include <alf/alfexception.h>
-
-using namespace std;
-using namespace osncore;
-
-
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfException::AlfException( const int aErrorCode ) throw()
-    {
-    mErrorCode = aErrorCode;
-    mInfo = 0;
-    mFileAndLine = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfException::AlfException(
-    int aErrorCode, const char* aInfo ) throw()
-    {
-    mErrorCode = aErrorCode;
-    mInfo = aInfo;
-    mFileAndLine = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfException::AlfException(
-    int aErrorCode, const char* aInfo, const char* aFileAndLine ) throw()
-    {
-    mErrorCode = aErrorCode;
-    mInfo = aInfo;
-    mFileAndLine = aFileAndLine;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfException::~AlfException() throw()
-    {
-    // nothing to do!
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the error information in c-string style.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const char* AlfException::what() const throw()
-    {
-    return "";
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the error information in integer type
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfException::errorCode() const throw()
-    {
-    return mErrorCode;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the error information in integer type
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const char* AlfException::info() const throw()
-    {
-    if ( mInfo )
-        {
-        return mInfo;
-        }
-    return "";
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the file and line information
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const char* AlfException::fileAndLine() const throw()
-    {
-    if ( mFileAndLine )
-        {
-        return mFileAndLine;
-        }
-    return "";
-    }
-
-// End of File
--- a/alfwidgetutils/src/alffactorypluginloader.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* 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:  Encapsulates factory plugin loading mechanism
-*
-*/
-
-#include <osn/osnnew.h>
-#include <alf/alffactorypluginloader.h>
-#include "alffactorypluginloaderimpl.h"
-
-namespace Alf
-    {
-
-
-OSN_EXPORT AlfFactoryPluginLoader::AlfFactoryPluginLoader():
-        mImpl(new (EMM)AlfFactoryPluginLoaderImpl())
-    {
-
-    }
-
-OSN_EXPORT AlfFactoryPluginLoader::~AlfFactoryPluginLoader()
-    {
-
-    }
-
-OSN_EXPORT IAlfFactoryPlugin* AlfFactoryPluginLoader::loadFactoryPlugin(
-    const char*  aLoadId)
-    {
-    return mImpl->load(aLoadId);
-    }
-
-    }
-
-// End of File
--- a/alfwidgetutils/src/alffactorypluginloaderimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/*
-* 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:  Encapsulates factory plugin loading mechanism
-*
-*/
-
-
-
-#include <ecom/ecom.h>
-//#include <alf/alfecompluginfactoryuid.rh>
-#include <alf/ialffactoryplugin.h>
-#include <string.h>
-#include <memory>
-#include <osn/osnnew.h>
-#include <stdexcept>
-
-#include "alf/alfecompluginfactoryuid.rh"
-#include "alffactorypluginloaderimpl.h"
-
-using namespace std;
-
-namespace Alf
-    {
-
-
-
-class AlfFactoryPluginMap
-    {
-public:
-    AlfFactoryPluginMap();
-    ~AlfFactoryPluginMap();
-
-    /**
-     * Owned factory plugin.
-     */
-    IAlfFactoryPlugin*  mFactoryPlugin;
-    /**
-     * ECom destructor handle.
-     */
-    int    mDtorKey;
-    };
-
-static bool loadPluginIntoMap(
-    AlfFactoryPluginMap*& aMap,
-    const char* aProduct)
-    {
-    TEComResolverParams resolverParams;
-    resolverParams.SetDataType(TPtrC8((TUint8*)aProduct));
-    resolverParams.SetWildcardMatch(ETrue);
-
-    TAny* plugin = NULL;
-    TUid tmpDtor;
-
-    TRAPD(err,plugin = REComSession::CreateImplementationL(
-                           TUid::Uid(KFactoryPluginUid),
-                           tmpDtor,resolverParams))
-
-
-    if (!err)
-        {
-        aMap->mDtorKey = tmpDtor.iUid;
-        aMap->mFactoryPlugin = reinterpret_cast<IAlfFactoryPlugin*>(
-                                                            plugin);
-        return true;
-        }
-
-    return false;
-    }
-
-AlfFactoryPluginMap::AlfFactoryPluginMap()
-        :mFactoryPlugin(0),mDtorKey(0)
-    {
-
-    }
-
-AlfFactoryPluginMap::~AlfFactoryPluginMap()
-    {
-    if (mFactoryPlugin)
-        {
-        REComSession::DestroyedImplementation(TUid::Uid(mDtorKey));
-        delete mFactoryPlugin;
-        }
-    }
-
-AlfFactoryPluginLoaderImpl::AlfFactoryPluginLoaderImpl()
-    {
-
-    }
-
-AlfFactoryPluginLoaderImpl::~AlfFactoryPluginLoaderImpl()
-    {
-    mFactoryPluginList.clear();
-
-    }
-
-IAlfFactoryPlugin* AlfFactoryPluginLoaderImpl::load(
-    const char*  aLoadId)
-    {
-    IAlfFactoryPlugin* ret(0);
-    IAlfFactoryPlugin* tmp(0);
-    // Do we have it already?
-    unsigned int itemCount(mFactoryPluginList.count());
-
-    for (int i=0;i<itemCount && !ret;i++)
-        {
-        tmp = mFactoryPluginList.at(i)->mFactoryPlugin;
-        int productCount = tmp->productCount();
-        for (int j=0;j<productCount && !ret;j++)
-            {
-            if (!strcmp(tmp->productInfo(j),aLoadId ))
-                {
-                ret = tmp;
-                }
-            }
-        }
-    if (!ret)
-        {
-        auto_ptr<AlfFactoryPluginMap> mapPtr(new(EMM)AlfFactoryPluginMap());
-        AlfFactoryPluginMap* map = mapPtr.get();
-
-        if (loadPluginIntoMap(map,aLoadId))
-            {
-            ret = mapPtr->mFactoryPlugin;
-            mFactoryPluginList.resize(itemCount+1);
-            mFactoryPluginList.insert(itemCount,map);
-
-            mapPtr.release();
-
-            }
-
-        }
-
-    return ret;
-
-    }
-    
-    }
-
-// End of File
--- a/alfwidgetutils/src/alfvisualexception.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* 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:  The implementation for presentation elements.
-*
-*/
-
-
-
-#include <alf/alfvisualexception.h>
-#include "alfexceptionstrings.h"
-
-using namespace osncore;
-
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfVisualException::AlfVisualException( int aErrorCode ) throw() :
-        AlfException( aErrorCode )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfVisualException::AlfVisualException(
-    int aErrorCode, const char* aInfo, const char* aFileAndLine ) throw() :
-        AlfException( aErrorCode, aInfo, aFileAndLine )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfVisualException::~AlfVisualException() throw()
-    {
-// nothing to do!
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the error information in c-string style.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const char* AlfVisualException::what() const throw()
-    {
-    switch ( errorCode() )
-        {
-        case EInvalidVisual:
-            return KErrorInvalidVisual;
-        case EInvalidVisualValue:
-            return KErrorInvalidVisualValue;
-        default:
-            return KErrorUndefinedException;
-        }
-    }
-
-// End of File
--- a/alfwidgetutils/src/alfwidgetexception.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* 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:  The implementation for widget exception class.
-*
-*/
-
-
-
-#include <alf/alfwidgetexception.h>
-#include "alfexceptionstrings.h"
-
-using namespace osncore;
-
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfWidgetException::AlfWidgetException( int aErrorCode ) throw() :
-        AlfException( aErrorCode )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfWidgetException::AlfWidgetException(
-    int aErrorCode, const char* aInfo, const char* aFileAndLine ) throw() :
-        AlfException( aErrorCode, aInfo, aFileAndLine )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfWidgetException::~AlfWidgetException() throw()
-    {
-// nothing to do!
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the error information in c-string style.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const char* AlfWidgetException::what() const throw()
-    {
-    switch ( errorCode() )
-        {
-        case EInvalidWidget:
-            return KErrorInvalidWidget;
-        default:
-            return KErrorUndefinedException;
-        }
-    }
-
-// End of File
--- a/alfwidgetutils/src/alfwidgetfactoryloader.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* 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:  Encapsulates widget factory plugin loading mechanism
-*
-*/
-
-#include <osn/osnnew.h>
-#include <alf/alfwidgetfactoryloader.h>
-#include "alfwidgetfactoryloaderimpl.h"
-
-namespace Alf
-    {
-
-OSN_EXPORT AlfWidgetFactoryLoader::AlfWidgetFactoryLoader():
-        mImpl(new (EMM)AlfWidgetFactoryLoaderImpl())
-    {
-
-    }
-
-OSN_EXPORT AlfWidgetFactoryLoader::~AlfWidgetFactoryLoader()
-    {
-
-    }
-
-OSN_EXPORT IAlfWidgetFactory* AlfWidgetFactoryLoader::loadWidgetFactory(
-    CAlfEnv& aEnv)
-    {
-    return mImpl->load(aEnv);
-    }
-
-    }
-
-
-// End of File
-
--- a/alfwidgetutils/src/alfwidgetfactoryloaderimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* 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:  Encapsulates factory plugin loading mechanism
-*
-*/
-
-
-
-#include <ecom/ecom.h>
-//#include <alf/alfecompluginfactoryuid.rh>
-#include <alf/ialfwidgetfactory.h>
-#include <alf/ialffactoryplugin.h>
-#include <osn/osnnew.h>
-
-#include "alf/alfecompluginfactoryuid.rh"
-#include "alfwidgetfactoryloaderimpl.h"
-
-using namespace std;
-
-namespace Alf
-    {
-
-static const char* const KWidgetFactory ="alfwidgetfactory";
-const int KPluginIuid = 0x11201113;
-
-AlfWidgetFactoryLoaderImpl::AlfWidgetFactoryLoaderImpl():
-        mFactoryPlugin(0),
-        mWidgetFactory(0),
-        mDtorKey(0)
-    {
-
-    }
-
-AlfWidgetFactoryLoaderImpl::~AlfWidgetFactoryLoaderImpl()
-    {
-    delete mWidgetFactory;
-    if (mFactoryPlugin)
-        {
-        delete mFactoryPlugin;
-        REComSession::DestroyedImplementation(TUid::Uid(mDtorKey));
-        }
-
-    }
-
-IAlfWidgetFactory* AlfWidgetFactoryLoaderImpl::load(CAlfEnv& aEnv)
-    {
-    if (!mWidgetFactory)
-        {
-        TEComResolverParams resolverParams;
-        resolverParams.SetDataType(TPtrC8((TUint8*)KWidgetFactory));
-        resolverParams.SetWildcardMatch(ETrue);
-
-        TAny* plugin = NULL;
-
-        TUid tmpDtor;
-
-        TRAPD(err,plugin = REComSession::CreateImplementationL(
-                               TUid::Uid(KPluginIuid),tmpDtor,
-                               resolverParams))
-
-
-        if (!err)
-            {
-            mDtorKey = tmpDtor.iUid;
-            mFactoryPlugin = reinterpret_cast<IAlfFactoryPlugin*>(plugin);
-            IAlfInterfaceBase* tmp(0);
-            tmp = mFactoryPlugin->createProduct(KWidgetFactory,&aEnv);
-            mWidgetFactory = 
-                IAlfInterfaceBase::makeInterface<IAlfWidgetFactory>(tmp);
-            }
-        }
-
-    return mWidgetFactory;
-    }
-
-    }
-
-
-// End of File
-
--- a/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Build information file for UI Accelerator Architetecture Domain 
-*
-*/
-
-#include <platform_paths.hrh>
-// notice, that the build order is important.
-
-#include "../mmuifw_plat/group/bld.inf"
-
-#include "../osncore/group/bld.inf"
-#include "../alfwidgetutils/group/bld.inf"
-#include "../resourcepool/group/bld.inf"
-#include "../widgetmodel/group/bld.inf"
-
-#include "../mulwidgets/group/bld.inf"
-
-
-
-
-PRJ_EXPORTS
-
-../rom/alfcollect.iby CORE_MW_LAYER_IBY_EXPORT_PATH(alfcollect.iby)
-../rom/alfwidgets.iby CORE_MW_LAYER_IBY_EXPORT_PATH(alfwidgets.iby) 
\ No newline at end of file
--- a/inc/alf/alfanchorlayoutattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* 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:  Anchor layout attribute setter header.
-*
-*/
-
-
-#ifndef ALFANCHORLAYOUTATTRIBUTESETTER_H
-#define ALFANCHORLAYOUTATTRIBUTESETTER_H
-
-//includes
-
-//widget model includes
-#include "alf/alfcommonlayoutattributesetter.h"
-
-//osn includes
-#include <osn/osndefines.h>
-
-
-namespace Alf
-    {
-
-/**
- *  @class AlfAnchorLayoutAttributeSetter alfanchorlayoutattributesetter.h "alf/alfanchorlayoutattributesetter.h"
- *  The implementation of the attribute setter for setting anchor layout attributes.
- *  @see IAlfAttributeSetter
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- *  @interfaces IAlfAttributeSetter
- */
-class AlfAnchorLayoutAttributeSetter : public AlfCommonLayoutAttributeSetter
-    {
-
-public:
-
-    /**
-     * Constructor.
-     *
-     */
-    OSN_IMPORT AlfAnchorLayoutAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfAnchorLayoutAttributeSetter();
-
-    /**
-     * Sets the attribute values to the target visual.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if aVisual is not 
-     *                                        an anchor layout.
-     * @exception osncore::AlfVisualException Thrown with Symbian error code if anchor point attachment fails.
-     * @exception std::bad_alloc
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the value of the attributes.
-     *        Ownership of the object is not transferred.
-     * @param aData Used with data attributes to fetch the data.
-     */
-    OSN_IMPORT virtual void setAttributeValue (
-        CAlfVisual &aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData );
-
-    /**
-     * Depracated! Do not use!
-     * Creates a command to change the value of an attribute in the target visual gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute. Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual.
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand (
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData,
-        int aTransitionTime = 0,
-        CAlfVisual* aRefVisual = NULL );
-
-    /**
-     * Creates commands to change the given attribute values in the target visual gradually with a transition.
-     * Then sends the commands via the ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     * used by the attribute setter. Ownership is not transferred. The container
-     * can hold new values for multiple different attributes, in which case several
-     * commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands (
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        CAlfVisual* aRefVisual = NULL );
-
-
-protected:
-    /**
-     * Sets an dynamic attribute value in the target visual using transitions defined in attributes
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     */
-    void handleDynamicAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer);
-
-    /**
-     * Sets an value for static attribute in the target visual immediately without a transition using data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData
-     */
-    void handleStaticDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData );
-
-    /**
-     * Sets an value for dynamic attribute value in the target visual using transitions and data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData
-     */
-    void handleDynamicDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData );
-
-    /**
-     * Sets an value of a static attribute to target visual immediately without a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData
-     */
-    void handleStaticAttribute( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer);
-
-private:
-
-    /**
-     * Sets an value of a static attribute to target visual immediately without a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data. if not NULL, attribute value is fetched from the map.
-     *        Ownership of the object is not transferred.
-     */
-    bool doHandleStaticAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-private: // data
-    };
-
-    } // namespace Alf
-
-#endif // C_ALFANCHORLAYOUTATTRIBUTESETTER_H
-// End of file
-
-
--- a/inc/alf/alfattribute.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,461 +0,0 @@
-/*
-* 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:  A class for attribute.
-*
-*/
-
-
-#ifndef ALFATTRIBUTE_H
-#define ALFATTRIBUTE_H
-
-//INCLUDES
-#include <osn/osndefines.h>
-#include <memory>
-#include <osn/osntypes.h>
-#include <alf/alfmetric.h>
-#include <alf/alftimedvalue.h>
-#include "alf/alfattributevaluetype.h"
-
-using namespace osncore;
-
-// FORWARD DECLARATIONS
-
-namespace osncore
-    {
-class UString;
-    }
-using std::auto_ptr;
-
-namespace Alf
-    {
-
-class AlfAttributeImpl;
-class AlfAttributeValueType;
-
-/**
- *  @class AlfAttribute alfattribute.h "alf/alfattribute.h"
- *  Class for holding attributes. 
- *  AlfAttribute is a receptacle for holding data that can be applied to  
- *  visuals/visual templates via the attribute setters. 
- *  They can also be used hold data for properties of widgets or widget parts
- *  implement the IAlfAttributeOwner interface. 
- *  An attribute can have one or more attribute value types. 
- *  Attributes can be bunched together in attribute containers.
- *  @see IAlfAttributeSetter
- *  @see IAlfAttributeOwner
- *  @see AlfAttributeValueType
- *  @see AlfAtributeContainer
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */ 
-class AlfAttribute
-    {
-public:
-
-    /* See Declarative Hitchcock language specification
-       for more detail of attribute categories */
-    enum attributecategory
-        {
-        EStatic,     /* static attribute */
-        EDynamic,    /* dynamic attribute */
-        EStaticData, /* static dataattribute  */
-        EDynamicData /* dynamic dataattribute */
-        };
-
-    /**
-     * Constructor.
-     * @exception std::bad_alloc
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfAttribute();
-
-    /**
-     * Constructor.
-     * @exception std::bad_alloc
-     *
-     * @param aName Attribute name. Makes a copy of the name.
-     * @param aCategory Attribute category.
-     * @return New object.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfAttribute(const char* aName, attributecategory aCategory);
-
-    /**
-     * Constructor.
-     * @exception std::bad_alloc
-     *
-     * @param aName Attribute name. Makes a copy of the name.
-     * @param aTargetValue The target value of the child attribute.
-     * @param aUnit Unit of the value.
-     * @param aCategory Attribute category.
-     * @return New object.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfAttribute(const char* aName, int aTargetValue,
-                            TAlfUnit aUnit = EAlfUnitPixel,
-                            attributecategory aCategory = EStatic);
-
-    /**
-     * Constructor.
-     * @exception std::bad_alloc
-     *
-     * @param aName Attribute name. Makes a copy of the name.
-     * @param aTargetValue The target value of the child attribute.
-     * @param aUnit Unit of the value.
-     * @param aCategory Attribute category.
-     * @return New object.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfAttribute(const char* aName, float aTargetValue,
-                            TAlfUnit aUnit = EAlfUnitNormalized,
-                            attributecategory aCategory = EStatic);
-
-    /**
-     * Constructor.
-     * @exception std::bad_alloc
-     *
-     * @param aName Attribute name. Makes a copy of the name.
-     * @param aTargetValue The target value of the child attribute. Makes a copy of the value.
-     * @param aCategory Attribute category.
-     * @return New object.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfAttribute(const char* aName, const UString& aTargetValue,
-                            attributecategory aCategory = EStatic);
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfAttribute();
-
-    /**
-     * Assignment operation. Assigns all the member variables
-     * to the values in the reference attribute.
-     * @exception std::bad_alloc
-     *
-     * @param aAttribute The source attribute.
-     * @return Reference to the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfAttribute& operator=(const AlfAttribute& aAttribute);
-
-    /**
-     * Clones the attribute.
-     * @exception std::bad_alloc
-     *
-     * @return The cloned attribute. Ownership is transferred to the caller.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfAttribute* clone();
-
-    /**
-     * Gets the name of the attribute.
-     *
-     * @return The name of the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT const char* name() const;
-
-    /**
-     * Gets the category of the attribute.
-     *
-     * @return The category of the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT attributecategory category() const;
-
-    /**
-     * Gets the type of the attribute.
-     * @exception osncore::AlfAttributeException Thrown with error code osncore::EInvalidAttribute if aIndex is invalid. 
-     *
-     * @return The type of the attribute target value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfAttributeValueType::Type type(unsigned int aIndex = 0) const;
-
-    /**
-     * Gets the int target value. Use this method only if the attribute type is EInt.
-     * @exception osncore::AlfAttributeException Thrown with error code osncore::EInvalidAttribute if aIndex is invalid. 
-     * @param aIndex The index of the attribute value.
-     * @return The integer value of the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT int intValue(unsigned int aIndex = 0) const;
-
-    /**
-     * Gets the real target value. Use this method only if the attribute type is EFloat.
-     * @exception osncore::AlfAttributeException Thrown with error code osncore::EInvalidAttribute if aIndex is invalid. 
-     *
-     * @param aIndex The index of the attribute value.
-     * @return The float value of the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT float realValue(unsigned int aIndex = 0) const;
-
-    /**
-     * Gets the string target value. Use this method only if the attribute type is EString.
-     * @exception osncore::AlfAttributeException Thrown with error code osncore::EInvalidAttribute if aIndex is invalid. 
-     *
-     * @param aIndex The index of the attribute value.
-     * @return The string value of the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT const UString& stringValue(unsigned int aIndex = 0) const;
-
-    /**
-     * Returns true if the attribute value is set.
-     *
-     * @return The value state.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT bool isValueSet() const;
-
-    /**
-     * Gets the unit of the value.
-     * @exception osncore::AlfAttributeException Thrown with error code osncore::EInvalidAttribute if aIndex is invalid. 
-     *
-     * @param aIndex The index of the attribute value.
-     * @return The unit.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT virtual TAlfUnit unit(unsigned int aIndex = 0) const;
-
-    /**
-     * Adds a new target value to the attribute.
-     *
-     * @param aValue New value to be added.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void addTargetValue(AlfAttributeValueType* aValue);
-
-    /**
-     * Gets target value count.
-     * @exception osncore::AlfAttributeException Thrown with error code osncore::EInvalidAttribute if aIndex is invalid. 
-     *
-     * @return Value count.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT unsigned int getTargetValueCount() const;
-
-    /**
-     * Sets the target value of the attribute.
-     *
-     * @param aIndex The index of the attribute value.
-     * @param aValue The target value of the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void setTargetValue(AlfAttributeValueType* aValue,
-                                   unsigned int aIndex = 0);
-
-    /**
-     * Gets the target value of the attribute.
-     *
-     * @param aIndex The index of the attribute value.
-     * @return The target value of the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfAttributeValueType* getTargetValue(
-        unsigned int aIndex = 0) const;
-
-    /**
-     * Removes the target value of the attribute.
-     * @exception osncore::AlfAttributeException Thrown with error code osncore::EInvalidAttribute if aIndex is invalid. 
-     *
-     * @param aIndex The index of the attribute value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void removeTargetValue(unsigned int aIndex = 0);
-
-    /**
-     * Adds a new source value to the attribute.
-     *
-     * @param aValue New value to be added.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void addSourceValue(AlfAttributeValueType* aValue);
-
-    /**
-     * Gets source value count.
-     * @exception osncore::AlfAttributeException Thrown with error code osncore::EInvalidAttribute if aIndex is invalid. 
-     *
-     * @return The source value count.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT unsigned int getSourceValueCount() const;
-
-    /**
-     * Sets the source value of the attribute.
-     *
-     * @param aIndex The index of the attribute value.
-     * @param aValue The source value of the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void setSourceValue(AlfAttributeValueType* aValue,
-                                   unsigned int aIndex = 0);
-
-    /**
-     * Gets the source value of the attribute.
-     *
-     * @param aIndex The index of the attribute value.
-     * @return The source value of the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfAttributeValueType* getSourceValue(
-        unsigned int aIndex = 0) const;
-
-    /**
-     * Removes the source value of the attribute.
-     * @exception osncore::AlfAttributeException Thrown with error code osncore::EInvalidAttribute if aIndex is invalid. 
-     *
-     * @param aIndex The index of the attribute value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void removeSourceValue(unsigned int aIndex = 0);
-
-    /**
-     * Sets the interpolation style of the attribute.
-     *
-     * @param aInterpolationStyle The interpolation style.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void setInterpolationStyle(TAlfInterpolationStyle aInterpolationStyle);
-
-    /**
-     * Gets the interpolation style of the attribute.
-     *
-     * @return The interpolation style of the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT TAlfInterpolationStyle getInterpolationStyle() const;
-
-    /**
-     * Sets the transition time for the attribute.
-     *
-     * @param aTime The transition time for the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void setTime(int aTime);
-
-    /**
-     * Gets the transition time for the attribute.
-     *
-     * @return The transition time for the attribute.
-     */
-    OSN_IMPORT int getTime() const;
-
-    /**
-     * Sets the mapping function id for the attribute.
-     *
-     * @param aId The mapping function id for the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void setMappingFunctionId(int aId);
-
-    /**
-     * Gets the mapping function id for the attribute.
-     *
-     * @return The mapping function id for the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT int getMappingFunctionId() const;
-
-    /**
-     * Sets the datafield for the attribute.
-     *
-     * @param aDataField The datafield for the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void setDataField(const char* aDataField);
-
-    /**
-     * Gets the datafield for the attribute.
-     *
-     * @return The datafield for the attribute.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT const char* getDataField() const;
-
-    /**
-     * Sets the delay before the transition.
-     *
-     * @param aDelay The delay before the transition.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void setDelay(int aDelay);
-
-    /**
-     * Gets the delay before the transition.
-     *
-     * @return The delay before the transition.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT int getDelay() const;
-
-    /**
-     * Gets the dirty information
-     *
-     * @return whether dirty or not
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT bool isDirty( ) const;
-
-    /**
-     * Sets the dirty information
-     *
-     * @param flag indicates whether remove or set dirtiness
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void setDirty(bool aFlag );
-
-private:
-
-    /**
-    * Resets the data.
-    *
-     * @param aName Attribute name.
-     * @param aValue The value of the attribute.
-     * @param aCategory Attribute category.
-     * @since S60 ?S60_version
-    */
-    void reset(const char* aName, AlfAttributeValueType* aValue,
-               attributecategory aCategory);
-
-    /**
-     * Declaring private copy construction to prevent usage.
-     *
-     * @param aAttribute The attribute.
-     * @since S60 ?S60_version
-     */
-    AlfAttribute(const AlfAttribute& attribute);
-
-    /**
-     * Helper function for cloning value type.
-     * @exception std::bad_alloc
-     *
-     * @param aValue The source attribute value.
-     * @since S60 ?S60_version
-     */
-    AlfAttributeValueType* cloneValueType(AlfAttributeValueType* aValue) const;
-
-private:    // data
-
-    // Implementation data
-    auto_ptr<AlfAttributeImpl> mData;
-    };
-
-    } // namespace Alf
-
-#endif //ALFATTRIBUTE_H
\ No newline at end of file
--- a/inc/alf/alfattributecontainer.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* 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:  Attribute container.
-*
-*/
-
-
-#ifndef ALFATTRIBUTECONTAINER_H
-#define ALFATTRIBUTECONTAINER_H
-
-#include <osn/osndefines.h>
-#include <memory>
-
-namespace Alf
-    {
-
-class AlfAttribute;
-class AlfAttributeContainerImpl;
-
-/**
- *  @class AlfAttributeContainer alfattributecontainer.h "alf/alfattributecontainer.h"
- *  AlfAttributeContainer is a collection of attributes. It is used to bunch up a set 
- *  of attributes. Attribute setters and implementations of the IAlfAttributeOwner interface
- *  can work with attribute containers.
- *  @see IAlfAttributeSetter
- *  @see IAlfAttributeOwner
- *  @see AlfAttribute 
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */ 
-class AlfAttributeContainer
-    {
-public:
-
-    /** Type enumeration. */
-    enum Type
-        {
-        EAlfCommonAttributeContainer = 0,
-
-        EAlfSetFlagAttributeContainer,
-        EAlfClearFlagAttributeContainer,
-
-        EAlfOpacityAttributeContainer,
-        EAlfXPosAttributeContainer,
-        EAlfYPosAttributeContainer,
-        EAlfWidthAttributeContainer,
-        EAlfHeightAttributeContainer,
-        EAlfDepthOffsetAttributeContainer,
-        EAlfScrollAttributeContainer, //not used yet
-        EAlfExpandAttributeContainer,
-        EAlfRowsAttributeContainer,
-        EAlfColumnsAttributeContainer,
-        EAlfAnchorPointAttributeContainer,
-        EAlfScalingAttributeContainer,
-        EAlfImageSecondaryAlphaAttributeContainer,
-
-        EAlfPositionAttributeContainer,
-        EAlfSizeAttributeContainer,
-        EAlfScrollOffsetAttributeContainer,
-        EAlfTranslationAttributeContainer,//not implemented still
-        EAlfRotationXYZAAttributeContainer,//not implemented still
-
-        EAlfPrimaryImageAttributeContainer,
-        EAlfSecondaryImageAttributeContainer,
-        EAlfTextAttributeContainer,
-
-        EAlfViewportSizeAttributeContainer,
-        EAlfViewportVirtualSizeAttributeContainer,
-        EAlfViewportPosAttributeContainer,
-        EAlfSkinImageIDAttributeContainer,
-        EAlfSkinTextColorAttributeContainer,
-        };
-
-    /**
-     * Constructor.
-     * @exception std::bad_alloc
-     *
-     * @param aType a type of container.
-     */
-    OSN_IMPORT AlfAttributeContainer(Type aType = EAlfCommonAttributeContainer);
-
-    /**
-    * Destructor.
-    */
-    OSN_IMPORT ~AlfAttributeContainer();
-
-    /**
-     * Gets the type of the container.
-     *
-     * @return The type of the container.
-     */
-    OSN_IMPORT Type type() const;
-
-    /**
-     * Adds a new attribute to the container.
-     * @exception std::bad_alloc
-     *
-     * @param aAttribute The new attribute, takes ownership.
-     */
-    OSN_IMPORT void addAttribute( AlfAttribute* aAttribute);
-
-    /**
-     * Returns the attribute count.
-     *
-     * @return the attribute count.
-     */
-    OSN_IMPORT unsigned int attributeCount() const;
-
-    /**
-     * Returns reference to the attribute.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidAttribute if aIndex is invalid. 
-     *
-     * @param aIndex index of the attribute.
-     * @return The attribute. Throws CAlfDataException if index is invalid.
-     *         Ownership is not transferred.
-     */
-    OSN_IMPORT AlfAttribute& getAttribute(unsigned int aIndex) const;
-
-    /**
-     * Returns the attribute.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidAttribute if aName is not found among attributes contained in the container. 
-     *
-     * @param aName name of the attribute.
-     * @return the attribute. Throws CAlfDataException if attribute is not found.
-     *         Ownership is not transferred.
-     */
-    OSN_IMPORT AlfAttribute& getAttributeByName(const char* aName) const;
-
-    /**
-     * Removes the attribute. Throws CAlfDataException if index is invalid.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidAttribute if aIndex is invalid. 
-     *
-     * @param aIndex index of the attribute.
-     */
-    OSN_IMPORT void removeAttribute(unsigned int aIndex);
-
-    /**
-     * Sets the animation time of the attribute container.
-     *
-     * @param The time value (milliseconds).
-     */
-    OSN_IMPORT void setTime(unsigned int aTime);
-
-    /**
-     * Returns the animation time of the attribute container.
-     *
-     * @return The time value (milliseconds).
-     */
-    OSN_IMPORT unsigned int getTime() const;
-
-private:
-
-    /**
-     * Copy construction, not implemented.
-     */
-    AlfAttributeContainer(const AlfAttributeContainer&);
-
-    /**
-     * Assigment operation, not implemented.
-     */
-    AlfAttributeContainer& operator=(const AlfAttributeContainer&);
-
-private:
-
-    // Implementation data
-    std::auto_ptr<AlfAttributeContainerImpl> mData;
-    };
-
-    }   // namespace Alf
-
-#endif // ALFATTRIBUTECONTAINER_H
--- a/inc/alf/alfattributevaluetype.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
-* 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:  attribute value type header.
-*
-*/
-
-
-#ifndef ALFATTRIBUTEVALUETYPE_H
-#define ALFATTRIBUTEVALUETYPE_H
-
-#include <osn/osndefines.h>
-#include <memory>
-#include <alf/alfmetric.h>
-
-namespace osncore
-    {
-class UString;
-    }
-using namespace osncore;
-using std::auto_ptr;
-
-namespace Alf
-    {
-
-class AlfAttributeValueTypeImpl;
-
-/**
- *  @class AlfAttributeValueType alfattributevaluetype.h "alf/alfattributevaluetype.h"
- *  A class for attribute value type. Attributes are constructed using 
- *  AlfAttributeValueType objects. AlfAttributeValueType can store integer,float,string,
- *  enum and RGB data.   
- *  @see AlfAttribute
- * 
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfAttributeValueType
-    {
-
-public:
-
-    /** Type enumeration. */
-    enum Type
-        {
-        EInt, EFloat, EString
-        };
-
-    /**
-     * Constructor.
-     * @exception std::bad_alloc
-     *
-     * @param aValue The value of the attribute.
-     * @param aUnit Unit of the value.
-     */
-    OSN_IMPORT AlfAttributeValueType(int aValue,
-                                     TAlfUnit aUnit = EAlfUnitPixel);
-
-    /**
-     * Constructor.
-     * @exception std::bad_alloc
-     *
-     * @param aValue The value of the attribute.
-     * @param aUnit Unit of the value.
-     */
-    OSN_IMPORT AlfAttributeValueType(float aValue,
-                                     TAlfUnit aUnit = EAlfUnitNormalized);
-
-    /**
-     * Constructor.
-     * @exception std::bad_alloc     
-     *
-     * @param aValue The value of the attribute. Takes a copy of the object.
-     */
-    OSN_IMPORT AlfAttributeValueType(const UString& aValue);
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfAttributeValueType();
-
-    /**
-     * Gets the enum value.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidAttributeValue
-     *                                      if the attribute value type is not of enum type. 
-     *
-     * @return The integer value.
-     */
-    OSN_IMPORT virtual int enumValue() const;
-
-    /**
-     * Gets the string value.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidAttributeValue
-     *                                      if the attribute value type is not of string type. 
-     *
-     * @return The string value.
-     */
-    OSN_IMPORT virtual const UString& stringValue() const;
-
-    /**
-     * Gets the integer value.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidAttributeValue
-     *                                      if the attribute value type is not of integer type. 
-     *
-     * @return The integer value.
-     */
-    OSN_IMPORT virtual int intValue() const;
-
-    /**
-     * Gets the real value.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidAttributeValue
-     *                                      if the attribute value type is not of float type. 
-     *
-     * @return The real value.
-     */
-    OSN_IMPORT virtual float realValue() const;
-
-    /**
-     * Gets the RGB value.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidAttributeValue
-     *                                      if the attribute value type is not of float type. 
-     *
-     * @return The RGB value.
-     */
-    OSN_IMPORT virtual float rgbValue() const;
-
-    /**
-     * Gets the type of the attribute value.
-     *
-     * @return The type of the attribute value.
-     */
-    OSN_IMPORT virtual Type type() const;
-
-    /**
-     * Gets the unit of the value.
-     *
-     * @return The unit of the value.
-     */
-    OSN_IMPORT virtual TAlfUnit unit() const;
-
-protected:
-
-    /**
-     * Constructor.
-     */
-    AlfAttributeValueType();
-
-private:    // data
-
-    auto_ptr<AlfAttributeValueTypeImpl> mData;
-
-    };
-
-    } // namespace Alf
-
-#endif // ALFATTRIBUTEVALUETYPE_H
--- a/inc/alf/alfcommonattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-/*
-* 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:   attribute setter base implementation header.
-*
-*/
-
-
-#ifndef ALFCOMMONATTRIBUTESETTER_H
-#define ALFCOMMONATTRIBUTESETTER_H
-
-#include "alf/ialfattributesetter.h"
-
-namespace Alf
-    {
-
-/**
- *  @class AlfCommonAttributeSetter alfcommonattributesetter.h "alf/alfcommonattributesetter.h"
- *  Base implementation for attribute setters.
- *  @see IAlfAttributeSetter 
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- *  @interfaces IAlfAttributeSetter
- */
-class AlfCommonAttributeSetter : public IAlfAttributeSetter
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @param aType Type of the attribute setter.
-     */
-    OSN_IMPORT AlfCommonAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfCommonAttributeSetter();
-
-    // from base class IAlfAttributeSetter
-
-    /**
-     * Returns the type of the attribute setter.
-     *
-     * @return The type of the attribute setter.
-     */
-    OSN_IMPORT virtual SetterType setterType();
-
-    /**
-     * Sets an attribute value in the target visual immediately without a transition.
-     * @exception osncore::AlfAttributeException Thrown with error code osncore::EInvalidAttribute if aContainer is invalid. 
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *        Ownership of the object is not transferred.
-     */
-    OSN_IMPORT virtual void setAttributeValue(
-        CAlfVisual &aVisual, AlfAttributeContainer* aContainer, IAlfMap* aData);
-
-    /**
-     * Creates a command to change the value of an attribute in the target visual
-     * gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *        Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value
-     *        of the attribute is defined by adding the value specific by aContainer
-     *        to the corresponding attribute value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual.
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand(
-        CAlfVisual& aVisual, AlfAttributeContainer* aContainer, IAlfMap* aData,
-        int aTransitionTime = 0, CAlfVisual* aRefVisual = NULL);
-
-    /**
-     * Creates commands to change the given attribute values in the target visual
-     * gradually with a transition.Then sends the commands via the ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     * used by the attribute setter. Ownership is not transferred. The container
-     * can hold new values for multiple different attributes, in which case several
-     * commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value
-     *        of the attribute is defined by adding the value specific by aContainer
-     *        to the corresponding attribute value in the reference visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands(CAlfVisual& aVisual,
-            AlfAttributeContainer* aContainer, CAlfVisual* aRefVisual = NULL);
-
-// from base class IAlfInterfaceBase
-
-    /**
-     * From IAlfInterfaceBase.
-     * Getter for interfaces provided by the element classes.
-     * Derived classes should always call the base class method
-     * from the overridden makeInterface.
-     *
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    OSN_IMPORT IAlfInterfaceBase* makeInterface(const IfId& aType);
-
-    /**
-     * Converts text between Unicode (UCS-2) and the Unicode transformation format UTF-8.
-     *
-     * @param aSrc The source string.
-     * @return Converted string.
-     */
-    HBufC* convertToUnicodeFromUtf8(const TPtrC8& aSrc) const;
-
-    /**
-     * Sets Dirty check flag.
-     *
-     * @param aCheck whether dirty check should be enabled or not.
-     */
-    OSN_IMPORT void enableDirtyCheck(bool aCheck);
-protected:
-
-    /**
-     * Sets a value of a static attribute to target visual immediately without a transition.
-     *
-     * @param aVisual The target visual. Ownership not passed.
-     * @param aAttr The attribute to process. Ownership not passed.
-     * @param aContainer The container holding attributes. Ownership not passed.
-     */
-    virtual void handleStaticAttribute(CAlfVisual& aVisual, AlfAttribute& aAttr,
-                                       AlfAttributeContainer& aContainer);
-
-    /**
-     * Sets a dynamic attribute value in the target visual using transitions defined in attributes
-     *
-     * @param aVisual The target visual. Ownership not passed.
-     * @param aAttr The attribute to process. Ownership not passed.
-     * @param aContainer The container holding attributes. Ownership not passed.
-     */
-    virtual void handleDynamicAttribute(CAlfVisual& aVisual, AlfAttribute& aAttr,
-                                        AlfAttributeContainer& aContainer);
-
-    /**
-     * Sets a value for static data attribute in the target visual
-     * immediately without a transition using data in map.
-     *
-     * @param aVisual The target visual. Ownership not passed.
-     * @param aAttr The attribute to process. Ownership not passed.
-     * @param aContainer The container holding attributes. Ownership not passed.
-     * @param aData Contains data. Ownership not passed.
-     */
-    virtual void handleStaticDataAttribute(CAlfVisual& aVisual, AlfAttribute& aAttr,
-                                           AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-    /**
-      * Sets a value for dynamic data attribute value in the target visual using transitions and data in map.
-      *
-      * @param aVisual The target visual. Ownership not passed.
-      * @param aAttr The attribute to process. Ownership not passed.
-      * @param aContainer The container holding attributes. Ownership not passed.
-      * @param aData Contains data. Ownership not passed.
-      */
-    virtual void handleDynamicDataAttribute(CAlfVisual& aVisual, AlfAttribute& aAttr,
-                                            AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-private: // data
-    bool mDoDirtycheck;
-    };
-
-    } // namespace Alf
-
-#endif // ALFCOMMONATTRIBUTESETTER_H
--- a/inc/alf/alfcommonlayoutattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* 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:   layout attribute setters base implementation header.
-*
-*/
-
-
-#ifndef ALFCOMMONLAYOUTATTRIBUTESETTER_H
-#define ALFCOMMONLAYOUTATTRIBUTESETTER_H
-
-#include <osn/osndefines.h>
-#include <memory>
-#include <osn/ustring.h>
-#include "alf/alfcommonvisualattributesetter.h"
-
-using namespace osncore;
-
-using std::auto_ptr;
-
-namespace Alf
-    {
-
-/**
- *  @class AlfCommonLayoutAttributeSetter alfcommonlayoutattributesetter.h "alf/alfcommonlayoutattributesetter.h"
- *  Base implementation for layout attribute setters. Attribute setters for custom layouts can derive from this 
- *  class.
- *  @see IAlfAttributeSetter 
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- *  @interfaces IAlfAttributeSetter
- */
-class AlfCommonLayoutAttributeSetter : public AlfCommonVisualAttributeSetter
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @param aType Type of the attribute setter.
-     */
-    OSN_IMPORT AlfCommonLayoutAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfCommonLayoutAttributeSetter();
-
-    /**
-     * Sets the attribute values to the target visual.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if aVisual is not 
-     *                                        a layout.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the value of the attributes.
-     *        Ownership of the object is not transferred.
-     * @param aData Used with data attributes to fetch the data.
-     */
-    OSN_IMPORT virtual void setAttributeValue (
-        CAlfVisual &aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData );
-
-    /**
-     * Creates a command to change the value of an attribute in the target visual gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute. Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual.
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand(
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData,
-        int aTransitionTime = 0,
-        CAlfVisual* aRefVisual = NULL );
-
-    /**
-     * Creates commands to change the given attribute values in the target visual gradually with a transition.
-     * Then sends the commands via the ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     * used by the attribute setter. Ownership is not transferred. The container
-     * can hold new values for multiple different attributes, in which case several
-     * commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands(
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        CAlfVisual* aRefVisual = NULL );
-
-
-
-protected:
-
-    /**
-     * From AlfCommonVisualAttributeSetter
-     * Sets an value of a static attribute to target visual immediately without a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     */
-    void handleStaticAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr,
-                               AlfAttributeContainer& aContainer);
-
-    /**
-     * From AlfCommonVisualAttributeSetter
-     * Sets an dynamic attribute value in the target visual using transitions defined in attributes
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     */
-    void handleDynamicAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr,
-                                AlfAttributeContainer& aContainer);
-
-    /**
-     * From AlfCommonVisualAttributeSetter
-     * Sets an value for static attribute in the target visual immediately without a transition using data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    void handleStaticDataAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr,
-                                   AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-    /**
-     * From AlfCommonVisualAttributeSetter
-     * Sets an value for dynamic attribute value in the target visual using transitions and data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    void handleDynamicDataAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr,
-                                    AlfAttributeContainer& aContainer, IAlfMap* aData);
-    };
-
-    } // namespace Alf
-
-#endif // ALFCOMMONLAYOUTATTRIBUTESETTER_H
-
--- a/inc/alf/alfcommonvisualattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +0,0 @@
-/*
-* 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:  attributesetter for common visual attributes
-*
-*/
-
-
-#ifndef ALFCOMMONVISUALATTRIBUTESETTER_H
-#define ALFCOMMONVISUALATTRIBUTESETTER_H
-
-#include <osn/osndefines.h>
-#include <memory>
-#include <osn/ustring.h>
-#include "alf/alfcommonattributesetter.h"
-
-using namespace osncore;
-
-using std::auto_ptr;
-
-namespace Alf
-    {
-
-/**
- *  @class AlfCommonVisualAttributeSetter alfcommonvisualattributesetter.h "alf/alfcommonvisualattributesetter.h"
- *  Base implementation for visual attribute setters. Attribute setters for custom visuals can derive from this 
- *  class.
- *  @see IAlfAttributeSetter 
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- *  @interfaces IAlfAttributeSetter
- */
-class AlfCommonVisualAttributeSetter : public AlfCommonAttributeSetter
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     */
-    OSN_IMPORT AlfCommonVisualAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfCommonVisualAttributeSetter();
-
-    /**
-     * Creates a command to change the value of an attribute
-     * in the target visual gradually with a transition.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *        Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL,
-     *        the target value of the attribute is defined by adding
-     *        the value specific by aContainer to the corresponding
-     *        attribute value in the reference visual.
-     * @return The command to gradually change the attribute in the target visual.
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand(
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData,
-        int aTransitionTime = 0,
-        CAlfVisual* aRefVisual = NULL );
-
-    /**
-     * Creates commands to change the given attribute values
-     * in the target visual gradually with a transition.
-     * Then sends the commands via the ALF environment.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     *        used by the attribute setter. Ownership is not transferred.
-     *        The container can hold new values for multiple different
-     *        attributes, in which case several commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL,
-     *        the target value of the attribute is defined by adding the value
-     *        specific by aContainer to the corresponding attribute value
-     *        in the reference visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands(
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        CAlfVisual* aRefVisual = NULL );
-
-protected:
-
-    /**
-     * From AlfCommonAttributeSetter
-     * Sets a value of a static attribute to target visual immediately without a transition.
-     *
-     * @param aVisual The target visual. Ownership not passed.
-     * @param aAttr The attribute to process. Ownership not passed.
-     * @param aContainer The container holding attributes. Ownership not passed.
-     */
-    virtual void handleStaticAttribute(CAlfVisual& aVisual, AlfAttribute& aAttr,
-                                       AlfAttributeContainer& aContainer);
-
-    /**
-     * From AlfCommonAttributeSetter
-     * Sets a dynamic attribute value in the target visual using transitions defined in attributes
-     *
-     * @param aVisual The target visual. Ownership not passed.
-     * @param aAttr The attribute to process. Ownership not passed.
-     * @param aContainer The container holding attributes. Ownership not passed.
-     */
-    virtual void handleDynamicAttribute(CAlfVisual& aVisual, AlfAttribute& aAttr,
-                                        AlfAttributeContainer& aContainer);
-
-    /**
-     * From AlfCommonAttributeSetter
-     * Sets a value for static data attribute in the target visual
-     * immediately without a transition using data in map.
-     *
-     * @param aVisual The target visual. Ownership not passed.
-     * @param aAttr The attribute to process. Ownership not passed.
-     * @param aContainer The container holding attributes. Ownership not passed.
-     * @param aData Contains data. Ownership not passed.
-     */
-    virtual void handleStaticDataAttribute(CAlfVisual& aVisual, AlfAttribute& aAttr,
-                                           AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-    /**
-      * From AlfCommonAttributeSetter
-      * Sets a value for dynamic data attribute value in the target visual using transitions and data in map.
-      *
-      * @param aVisual The target visual. Ownership not passed.
-      * @param aAttr The attribute to process. Ownership not passed.
-      * @param aContainer The container holding attributes. Ownership not passed.
-      * @param aData Contains data. Ownership not passed.
-      */
-    virtual void handleDynamicDataAttribute(CAlfVisual& aVisual, AlfAttribute& aAttr,
-                                            AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-private:
-
-    /**
-     * Sets an dynamic attribute value in the target visual using transitions defined in attributes
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     * @param aImmediate if true, the change is immediate and time value of the attribute is not used.
-     * @return true, if attribute was handled, false otherwise.
-     */
-    bool doHandleDynamicAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr,
-                                  AlfAttributeContainer& aContainer, bool aImmediate = false);
-
-    /**
-     * Sets an value for dynamic attribute value in the target visual using transitions and data in map.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     * @param aImmediate if true, the change is immediate and time value of the attribute is not used.
-     */
-    bool doHandleDynamicDataAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr,
-                                      AlfAttributeContainer& aContainer, IAlfMap* aData, bool aImmediate = false);
-
-    /**
-     * Creates commands to change the given attribute values in the target visual gradually with a transition.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     * used by the attribute setter. Ownership is not transferred.
-     * @param aAttr main attribute, from which the command is created.
-       The function can also use other attributes found in the aContainer.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     */
-    void sendCommandsForAttribute(CAlfVisual& aVisual,
-                                  AlfAttributeContainer& aContainer, AlfAttribute& aAttr,
-                                  CAlfVisual* aRefVisual);
-
-    /**
-     * Sets an value of a static attribute to target visual immediately without a transition.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    void setPadding(CAlfVisual &aVisual,AlfAttributeContainer& aContainer,IAlfMap* aData);
-    /**
-     * Sets an value of a static attribute to target visual immediately without a transition.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    void setMinSize(CAlfVisual &aVisual,AlfAttributeContainer& aContainer,IAlfMap* aData);
-    /**
-     * Sets an value of a static attribute to target visual immediately without a transition.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    void setMaxSize(CAlfVisual &aVisual,AlfAttributeContainer& aContainer,IAlfMap* aData);
-
-    /**
-     * Sets an dynamic attribute value in the target visual using transitions defined in attributes.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-
-    void setPos(CAlfVisual &aVisual,AlfAttributeContainer& aContainer,IAlfMap* aData,bool aImmediate);
-    /**
-     * Sets an dynamic attribute value in the target visual using transitions defined in attributes.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-
-    void setSize(CAlfVisual &aVisual,AlfAttributeContainer& aContainer,IAlfMap* aData,bool aImmediate);
-    /**
-     * Sets an dynamic attribute value in the target visual using transitions defined in attributes.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-
-    void setRect(CAlfVisual &aVisual,AlfAttributeContainer& aContainer,IAlfMap* aData,bool aImmediate);
-
-	void setTactileFeedback(CAlfVisual &aVisual,AlfAttributeContainer& aContainer,IAlfMap* aData);
-    
-private: // data
-    };
-
-    } // namespace Alf
-
-#endif // ALFCOMMONVISUALATTRIBUTESETTER_H
-
--- a/inc/alf/alfcurvepathlayoutattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,218 +0,0 @@
-/*
-* 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:   curve path layout attribute setter header.
-*
-*/
-
-
-#ifndef ALFCURVEPATHLAYOUTATTRIBUTESETTER_H
-#define ALFCURVEPATHLAYOUTATTRIBUTESETTER_H
-
-//includes
-
-//widget model includes
-#include "alf/alfcommonlayoutattributesetter.h"
-
-//osn includes
-#include <osn/osndefines.h>
-
-
-namespace Alf
-    {
-
-/**
- *  @class AlfCurvePathLayoutAttributeSetter alfcurvepathlayoutattributesetter.h "alf/alfcurvepathlayoutattributesetter.h"
- *  The implementation of the attribute setter for setting curve path layout attributes.
- *  @see IAlfAttributeSetter
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- *  @interfaces IAlfAttributeSetter
- */
-class AlfCurvePathLayoutAttributeSetter : public AlfCommonLayoutAttributeSetter
-    {
-
-public:
-
-    /**
-     * Constructor.
-     *
-     * @param aType Type of the attribute setter.
-     */
-    OSN_IMPORT AlfCurvePathLayoutAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfCurvePathLayoutAttributeSetter();
-
-    /**
-     * Sets an attribute value in the target visual immediately without
-     * a transition.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if aVisual 
-     *                                        is not a curvepath layout.
-     * @exception osncore::AlfDataException   Thrown with error code osncore::ECommonError if the data field  
-     *                                        for data attributes is 0.
-     * @exception osncore::AlfDataException   Thrown with error code osncore::ECommonError if aData  
-     *                                        for data attributes is 0.
-     * @exception osncore::AlfAttributeException Thrown with error code osncore::EInvalidAttribute if an  
-     *                                        attempt is made to set a line attribute to a curvepath layout
-     *                                        with incomplete data. See language specification on how to 
-     *                                        create this attribute.
-     * @exception osncore::AlfAttributeException Thrown with error code osncore::EInvalidAttribute if an  
-     *                                        attempt is made to set an arc attribute to a curvepath layout
-     *                                        with incomplete data. See language specification on how to 
-     *                                        create this attribute.
-     * @exception osncore::AlfDataException   Thrown with error code osncore::ECommonError if the attribute
-     *                                        (or aData in case of data attributes) contains invalid data types
-     *                                        while setting a line or arc to a curvepath layout.  
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *                   Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     */
-    OSN_IMPORT virtual void setAttributeValue (
-        CAlfVisual &aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData );
-
-    /**
-     * Deprecated! Do not use!
-     * Creates a command to change the value of an attribute in the target
-     * visual gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the
-     *      attribute.Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target
-     *       value of the attribute is defined by adding the value
-     *       specific by aContainer to the corresponding attribute
-     *      value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand (
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData,
-        int aTransitionTime = 0,
-        CAlfVisual* aRefVisual = NULL );
-
-    /**
-     * Creates commands to change the given attribute values in the target
-     * visual gradually with a transition.
-     * Then sends the commands via the ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding attribute value(s)
-     *       used by the attribute setter. Ownership is not
-     *      transferred. The container can hold new values for
-     *       multiple different attributes, in which case several
-     *       commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target
-     *                   value of the attribute is defined by adding the value
-     *                   specific by aContainer to the corresponding attribute
-     *      value in the reference visual
-     */
-    OSN_IMPORT virtual void createAndSendCommands (
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        CAlfVisual* aRefVisual = NULL );
-
-
-protected:
-    /**
-     * Sets an dynamic attribute value in the target visual using transitions
-     * defined in attributes
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *      object is not transferred.
-     */
-    virtual void handleDynamicAttribute (
-        CAlfVisual &aVisual,
-        AlfAttribute& aAttr,
-        AlfAttributeContainer& aContainer);
-
-    /**
-     * Sets an value for static attribute in the target visual immediately
-     * without a transition using data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object
-     *                   is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticDataAttribute ( CAlfVisual &aVisual,
-            AlfAttribute& aAttr,
-            AlfAttributeContainer& aContainer,
-            IAlfMap* aData );
-
-    /**
-     * Sets an value for dynamic attribute value in the target visual using transitions and data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicDataAttribute ( CAlfVisual &aVisual,
-            AlfAttribute& aAttr,
-            AlfAttributeContainer& aContainer,
-            IAlfMap* aData );
-
-    /**
-     * Sets an value of a static attribute to target visual immediately without a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     */
-    virtual void handleStaticAttribute ( CAlfVisual &aVisual,
-                                         AlfAttribute& aAttr,
-                                         AlfAttributeContainer& aContainer);
-
-    /**
-     * Check if data in the attribute is int or float.
-     * Return the value as a float value
-     *
-     * @param aAttr The attribute containing the value
-     * @param aIndex The index of the value to be checked
-     * return Content of the attribute
-     */
-    float floatOrInt(const AlfAttribute& aAttr, int aIndex);
-
-    /**
-     * Check if data in the attribute is int or float.
-     * Return the value as a float value
-     *
-     * @param aData The variant type containing the value
-     * return Content of the variant type
-     */
-    float floatOrIntFromData(IAlfVariantType* aData);
-
-private: // data
-    };
-
-    } // namespace Alf
-
-#endif // ALFCURVEPATHLAYOUTATTRIBUTESETTER_H
-// End of file
-
-
--- a/inc/alf/alfdecklayoutattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* 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:   Deck layout attribute setter Header.
-*
-*/
-
-
-#ifndef ALFDECKLAYOUTATTRIBUTESETTER_H
-#define ALFDECKLAYOUTATTRIBUTESETTER_H
-
-//includes
-
-//widget model includes
-#include "alf/alfcommonlayoutattributesetter.h"
-
-//osn includes
-#include <osn/osndefines.h>
-
-
-namespace Alf
-    {
-
-/**
- *  @class AlfDeckLayoutAttributeSetter alfdecklayoutattributesetter.h "alf/alfdecklayoutattributesetter.h"
- *  The implementation of the attribute setter for setting curve path layout attributes.
- *  @see IAlfAttributeSetter
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- *  @interfaces IAlfAttributeSetter
- */
- class AlfDeckLayoutAttributeSetter : public AlfCommonLayoutAttributeSetter
-    {
-
-public:
-
-    /**
-     * Constructor.
-     */
-    OSN_IMPORT AlfDeckLayoutAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfDeckLayoutAttributeSetter();
-
-
-    /**
-     * Sets an attribute value in the target visual immediately without a transition.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if aVisual 
-     *                                        is not a deck layout.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *      Ownership of the object is not transferred.
-     * @param aData Used with data attributes to fetch the data.
-     */
-    OSN_IMPORT virtual void setAttributeValue (CAlfVisual &aVisual,
-            AlfAttributeContainer* aContainer, IAlfMap* aData );
-
-    /**
-     * Depracated! Do not use!
-     * Creates a command to change the value of an attribute in the target visual
-     * gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *      Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target
-     *      value of the attribute is defined by adding the value
-     *      specific by aContainer to the corresponding attribute
-     *      value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual.
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand (CAlfVisual& aVisual,
-            AlfAttributeContainer* aContainer, IAlfMap* aData,
-            int aTransitionTime = 0, CAlfVisual* aRefVisual = NULL );
-
-    /**
-     * Creates commands to change the given attribute values in the target
-     * visual gradually with a transition.
-     * Then sends the commands via the ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     *      used by the attribute setter. Ownership is not transferred.
-     *     The container can hold new values for multiple different
-     *     attributes, in which case several commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target
-     *      value of the attribute is defined by adding the value
-     *      specific by aContainer to the corresponding attribute
-     *      value in the reference visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands (
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        CAlfVisual* aRefVisual = NULL );
-
-protected:
-
-    /**
-     * Sets a value of a static attribute to target visual immediately without a transition.
-     *
-     * @param aVisual The target visual. Ownership not passed.
-     * @param aAttr The attribute to process. Ownership not passed.
-     * @param aContainer The container holding attributes. Ownership not passed.
-     */
-    virtual void handleStaticAttribute(CAlfVisual& aVisual, AlfAttribute& aAttr,
-                                       AlfAttributeContainer& aContainer);
-
-    /**
-     * Sets a dynamic attribute value in the target visual using transitions defined in attributes
-     *
-     * @param aVisual The target visual. Ownership not passed.
-     * @param aAttr The attribute to process. Ownership not passed.
-     * @param aContainer The container holding attributes. Ownership not passed.
-     */
-    virtual void handleDynamicAttribute(CAlfVisual& aVisual, AlfAttribute& aAttr,
-                                        AlfAttributeContainer& aContainer);
-
-    /**
-     * Sets a value for static data attribute in the target visual
-     * immediately without a transition using data in map.
-     *
-     * @param aVisual The target visual. Ownership not passed.
-     * @param aAttr The attribute to process. Ownership not passed.
-     * @param aContainer The container holding attributes. Ownership not passed.
-     * @param aData Contains data. Ownership not passed.
-     */
-    virtual void handleStaticDataAttribute(CAlfVisual& aVisual, AlfAttribute& aAttr,
-                                           AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-    /**
-      * Sets a value for dynamic data attribute value in the target visual using transitions and data in map.
-      *
-      * @param aVisual The target visual. Ownership not passed.
-      * @param aAttr The attribute to process. Ownership not passed.
-      * @param aContainer The container holding attributes. Ownership not passed.
-      * @param aData Contains data. Ownership not passed.
-      */
-    virtual void handleDynamicDataAttribute(CAlfVisual& aVisual, AlfAttribute& aAttr,
-                                            AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-private:// data
-    };
-
-    }// namespace Alf
-
-#endif // ALFDECKLAYOUTATTRIBUTESETTER_H
-// End of file
-
--- a/inc/alf/alfecompluginfactory.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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:  Ecom plugin Factory header.
-*
-*/
-
-
-#ifndef C_ALFECOMPLUGINFACTORY_H
-#define C_ALFECOMPLUGINFACTORY_H
-
-#include <e32base.h>
-#include <ecom/implementationinformation.h> // for typedeffed RImplInfoPtrArray
-#include <alf/ialfinterfacebase.h>
-
-namespace Alf
-    {
-
-/**
- *  @class CAlfEComPluginFactory alfecompluginfactory.h "alf/alfecompluginfactory.h"
- *  Base class for Ecom plugins. Takes care of ecom housekeeping.
- *
- *  @lib alfwidgetutils.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class CAlfEComPluginFactory : public CBase, public IAlfInterfaceBase
-    {
-public:  // Constructors and destructor
-
-    /**
-    * Factory method to create plugin for given interface
-    * @param aInterfaceUid UID of interface being queried/created.
-    * @param aImplKey Implementation Key
-    * @return An ecom plugin factory.
-    */
-    IMPORT_C static CAlfEComPluginFactory* createPluginFactory(
-                        TUid aInterfaceUid,const char* aImplKey);
-
-    /**
-    * Destructor.
-    */
-    IMPORT_C virtual ~CAlfEComPluginFactory();
-    
-public:
-    /**
-     * List available interface implementations.
-     * @since Series 60 3.2
-     * @param aInterfaceUid: Interface Uid
-     * @param aImplInfoArray: Place holder which gets populated 
-     *                        after function call
-     */
-    IMPORT_C static void getImplementationsL(
-                             TUid aInterfaceUid,
-                             RImplInfoPtrArray& aImplInfoArray);
-
-    /**
-     * List available interface implementations.
-     * @since Series 60 3.2
-     * @param aInterfaceUid: Interface Uid
-     * @param aImplKey Implementation Key
-     * @param aImplInfoArray: Place holder which gets populated after 
-     *                        function call
-     */
-    IMPORT_C static void getImplementationsL(TUid aInterfaceUid,
-            const char* aImplKey,
-            RImplInfoPtrArray& aImplInfoArray);
-
-protected:
-
-    /**
-    * C++ default constructor.
-    */
-    IMPORT_C CAlfEComPluginFactory();
-
-private:    // Data
-    // Ecom instance release key
-    TUid mDtorKey;
-    };
-    }
-
-#endif
-
-// End of File
--- a/inc/alf/alfecompluginfactoryuid.rh	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2009 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: Ecom Plugin factory UID
-*
-*/
-
-
-#ifndef RH_ALFECOMPLUGINFACTORY_H
-#define RH_ALFECOMPLUGINFACTORY_H
-
-#define KFactoryPluginUid 0x10201112
-//#define KWidgetFactoryUid 0x11201113
-//#define KCustomWidgetFactoryUid 0x11112222
-
-
-#endif      
-            
-// End of File
--- a/inc/alf/alfelement.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,423 +0,0 @@
-/*
-* 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:  The interface and the basic implementation for presentation elements.
-*
-*/
-
-
-#ifndef ALFELEMENT_H
-#define ALFELEMENT_H
-
-#include <osn/osndefines.h>
-#include <memory>
-#include <alf/ialfelement.h>
-#include <osn/alfptrvector.h>
-
-using osncore::AlfPtrVector;
-using std::auto_ptr;
-
-class CAlfVisual;
-class CAlfLayout;
-
-namespace Alf
-    {
-class CAlfWidgetControl;
-class IAlfVariantType;
-class AlfReferenceToVisual;
-class IAlfVisualTemplate;
-class AlfElementImpl;
-class IfId;
-
-/** @class AlfElement alfelement.h "alf/alfelement.h"
- *  The implementation of a generic element. Elements can be used,
- *  e.g., from declaration, to describe a specific part of
- *  the presentation of a component. The presentation may
- *  be predefined, or it may depend on the component data.
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- *  @interfaces IAlfAttributeOwner, IAlfElement
- *	@attributes duiuimodel::tactileattributes::KEventInput\n
- *				duiuimodel::tactileattributes::KFeedbackType\n
- *				duiuimodel::commonvisualattributes::KOpacity\n
- *				duiuimodel::layoutattributes::KPositionX\n
- *				duiuimodel::layoutattributes::KPositionY\n
- *				duiuimodel::layoutattributes::KWidth\n
- *				duiuimodel::layoutattributes::KHeight\n
- *				duiuimodel::layoutattributes::KMaxWidth\n
- *				duiuimodel::layoutattributes::KMaxHeight\n
- *				duiuimodel::layoutattributes::KMinWidth\n
- *				duiuimodel::layoutattributes::KMinHeight
- */
-class AlfElement : public IAlfElement
-    {
-public:
-
-
-    /**
-     * Static cnstructor. The new element is left on the cleanup stack.
-     *
-     * @since S60 ?S60_version
-     * @param aControl  The owner control.
-     * @param aName     The name of the element.
-     * @return New object. Should be added to the control.
-     */
-    OSN_IMPORT AlfElement(CAlfWidgetControl& aControl, const char* aName);
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfElement();
-
-    /**
-     * Returns name of element set via Constructor.
-     *
-     * @since S60 ?S60_version
-     * @return name of element.
-     */
-    OSN_IMPORT const char* name() const;
-
-    /**
-     * Creates a visual tree in given element.
-     *
-     * @since S60 ?S60_version
-     * @param aElement Element for which visual tree will be created
-     * @param aChildData Data for visual tree to be created
-     * @param aData Data for parent visual tree
-     * @param aIndex Position in parent layout at which new visual tree will be added
-     * @param aDataID Parent visual tree's data id
-     */
-    OSN_IMPORT virtual void createChildVisualTree( IAlfElement* aElement,
-                                                  IAlfVariantType& aChildData,
-                                                  IAlfBranch& aData,
-                                                  int aIndex, uint aDataID );
-
-    /**
-     * Creates a visual tree with the data given for visuals.
-     *
-     * @exception osncore::AlfElementException Thrown with the error code osncore::EInvalidElement\n 
-     *										  when creation of visual tree fails.
-     * @since S60 ?S60_version
-     * @param aChildData Data for visual tree to be created
-     * @param aParentData Data for parent visual tree
-     * @param aIndex Position in parent layout at which new visual tree will be added
-     * @param aParentDataID Parent visual tree's data id
-     * @param aParentLayout Parent layout to which newly created visual tree will be added
-     * @param aLayoutIndex Position in parent layout at which new visual tree will be added
-     */
-    OSN_IMPORT virtual CAlfVisual* createVisualTree(
-        IAlfVariantType& aChildData, IAlfBranch& aParentData, int aIndex,
-        uint aParentDataID, CAlfLayout* aParentLayout, int aLayoutIndex );
-
-    /**
-     * Creates a visual tree with the data given for visuals.
-     *
-     * @exception std::bad_alloc 
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::ECanNotCreateVisual\n 
-     *										  when creation of visual fails.
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::EInvalidElement\n 
-     *										  when wrond data id is supplied.
-	 * @exception std::bad_alloc     
-     * @since S60 ?S60_version
-     * @param aData Data for visual tree to be created
-     * @param aDataID Parent visual tree's data id
-     * @param aParentLayout Parent layout to which newly created visual tree will be added
-     * @param aLayoutIndex Position in parent layout at which new visual tree will be added
-     */
-    OSN_IMPORT virtual CAlfVisual* createVisualTree(
-        IAlfVariantType& aData, uint aDataID,
-        CAlfLayout* aParentLayout, int aLayoutIndex );
-
-    /**
-     * Removes visual tree from given element.
-     *
-     * @since S60 ?S60_version
-     * @param aElement Element from which visual tree is to be removed
-     * @param aData
-     * @param aIndex 
-     * @param aDataID 
-     */
-    OSN_IMPORT virtual void removeChildVisualTree( IAlfElement* aElement,
-                                                  IAlfBranch& aData,
-                                                  int aIndex, uint aDataID );
-
-    /**
-     * Removes visual tree.
-     *
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::EInvalidElement\n 
-     *										  when removal of visual tree fails.
-     * @since S60 ?S60_version
-     * @param aParentData
-     * @param aIndex 
-     * @param aParentDataID 
-     */
-    OSN_IMPORT virtual void removeVisualTree( IAlfBranch& aParentData,
-                                             int aIndex, uint aParentDataID );
-
-    /**
-     * Removes visual tree.
-     *
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::EInvalidElement\n 
-     *										  when removal of visual tree fails.
-     * @since S60 ?S60_version
-     * @param aData
-     * @param aDataID 
-     */
-    OSN_IMPORT virtual void removeVisualTree( IAlfVariantType& aData,
-                                             uint aDataID );
-
-    /**
-     * Updates the visual tree.
-     *
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::EInvalidElement\n 
-     *										  when a visual can not be created.
-     * @since S60 ?S60_version
-     * @param aNewData
-     * @param aOldData 
-     * @param aDataID 
-     */
-    OSN_IMPORT virtual void updateVisualTree( IAlfVariantType& aNewData,
-                                                  IAlfVariantType& aOldData,
-                                             uint aDataID );
-
-    /**
-     * Replaces the visual tree.
-     *
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::EInvalidElement\n 
-     *										  when old data id is wrong.
-     * @since S60 ?S60_version
-     * @param aData
-     * @param aDataID 
-     * @param aOldDataID 
-     */
-    OSN_IMPORT void replaceVisualTree( IAlfVariantType& aData, 
-                                       uint aDataID, uint aOldDataID );
-
-    /**
-     * Add a new visual tree to the element.
-     * Used by derived classes.
-     *
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::EInvalidElement\n 
-     *										  when either the visual is NULL or data id is wrong.
-     * @exception std::bad_alloc 
-     * @since S60 ?S60_version
-     * @param aVisualTree visual to be appended.
-     * @param aDataID   data id of the visual.
-     */
-    OSN_IMPORT void addVisualTree(CAlfVisual* aVisualTree, uint aDataID);
-
-    /**
-     * Updates the Data ids in an the element.
-     *
-     * @since S60 ?S60_version
-     * @param aParentBranch Data in which IDs to be updated
-     * @param aStartIndex Index from which IDs to be updated
-     * @param aOffset Amount by which IDs are increased/decreased
-     * @param aOldParentDataId Not used.
-     * @param aParentDataID Parent data id of the element
-     */
-    OSN_IMPORT void updateDataIDs( IAlfBranch& aParentBranch, int aStartIndex,
-                                 int aOffset, uint aOldParentDataId, uint aParentDataID );
-
-    /**
-     * Returns the default parent layout of visual tree in an element.
-     *
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::EInvalidVisual\n 
-     *										  when wrong data id is supplied.
-     * @since S60 ?S60_version
-     * @param aParentDataIS
-     * @return Parent layout
-     */
-    OSN_IMPORT CAlfLayout* defaultParentLayout(uint aParentDataID);
-
-    /**
-     * Set reference to the default parent layout.
-     *
-     * @since S60 ?S60_version
-     * @param aReference The reference to the default parent layout.
-     */
-    OSN_IMPORT void setDefaultParentLayout(AlfReferenceToVisual* aReference);
-
-    /**
-     * Finds visual with the given name and id in visual tree of element.
-     *
-     * @since S60 ?S60_version
-     * @param aName Name of the visual
-     * @param aDataID Data id of the visual
-     * @return Visual.Returns NULL if no matching visual is found.
-     */
-    OSN_IMPORT CAlfVisual* findVisual(const char* aName, uint aDataID);
-
-    /**
-     * Get visual from the data id.
-     *
-     * @since S60 ?S60_version
-     * @param aDataID data id of the visual.
-     */
-    OSN_IMPORT CAlfVisual* findVisual(uint aDataID);
-    
-    /**
-     * Returns the data id of given visual.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual Reference to visual whose data id is needed.
-     * @return Data id of the visual
-     */
-    OSN_IMPORT uint dataID(const CAlfVisual& aVisual) const;
-
-    /**
-     * Returns parent element of the element.
-     *
-     * @since S60 ?S60_version
-     * @return Parent element. NULL, if there is no parent element.
-     */
-    OSN_IMPORT const IAlfElement* parentElement() const;
-
-    /**
-     * Makes the element child of given element.
-     *
-     * @since S60 ?S60_version
-     * @param aParent Parent element.
-     */
-    OSN_IMPORT void setParentElement(IAlfElement& aParent);
-    
-    /**
-     * Sets the visual template for the element. This element
-     * will acquire ownership of the visual template hierarchy
-     * under the given visual template.
-     * Call to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     * @param aTemplate Root of the visual template hierarchy to be set
-     *                  into the widget element.
-     */
-    OSN_IMPORT void setVisualTemplate(IAlfVisualTemplate& aTemplate) throw();
-    
-    /**
-     * Returns the root visual template of the visual template hierarchy
-     * owned by this element. Call to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    OSN_IMPORT IAlfVisualTemplate* getVisualTemplate() const throw();
-        
-    /**
-     * Destroyes the visual template object assigned to this element and the whole
-     * visual template hierarchy under it.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void destroyVisualTemplate() throw();
-
-     /**
-     * Removes the visual template from this element. Returns pointer to the removed visual
-     * template object. The ownership of the visual template object is transferred to the
-     * caller. Call to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfVisualTemplate* removeVisualTemplate() throw();
-    
-    /**
-     * Getter for the type identifier of this class.
-     *
-     * @since S60 ?S60_version
-     * @return A descriptor to identify the type of this class.
-     */
-
-    /**
-     * Template getter for interfaces provided by the element classes.
-     * The type of the queried interface is specified by the
-     * template parameter.
-     *
-     * @since S60 ?S60_version
-     * @param aElement The element to get the interface for.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    template <class T>
-    static T* makeInterface( AlfElement* aElement );
-
-// from base class IAlfInterfaceBase
-
-    /**
-     * From IAlfInterfaceBase.
-     * Getter for interfaces provided by the element classes.
-     * Derived classes should always call the base class method
-     * from the overridden MakeInterface.
-     *
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    OSN_IMPORT virtual IAlfInterfaceBase* makeInterface( const IfId& aType );
-    
-    /**
-     * removes and destroys all the visuals in the element.
-     *
-     * @since S60 ?S60_version
-     * @param aTimeMilliseconds the animation time for remove.
-     */    
-    OSN_IMPORT void removeAndDestroyVisuals( int aTimeMilliseconds );
-
-    /**
-     * from IAlfElement
-     */
-    OSN_IMPORT bool contains(CAlfVisual& aVisual) const;
-    
-protected:
-
-    /**
-     * The protected constructor.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfElement();
-
-    /**
-     * The second phase constructor.
-     * The element is added to the control.
-     *
-	 * @exception std::bad_alloc     
-     * @since S60 ?S60_version
-     * @param aControl  The owner control.
-     * @param aName     The name of the element.
-     */
-    OSN_IMPORT void construct( CAlfWidgetControl& aControl, const char* aName );
-
-    /**
-     * APi to get the control containing the element.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT CAlfWidgetControl& control();
-
-private:
-
-    int findFromArray( uint aDataID ) const;
-    
-private: // data
-
-    auto_ptr<AlfElementImpl> mData;
-    };
-
-#include "alf/alfelement.inl"
-
-    } // namespace Alf
-#endif // ALFELEMENT_H
--- a/inc/alf/alfflowlayoutattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-/*
-* 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:   Flow Layout attribute setter Header.
-*
-*/
-
-
-#ifndef ALFFLOWLAYOUTATTRIBUTESETTER_H
-#define ALFFLOWLAYOUTATTRIBUTESETTER_H
-
-#include <osn/osndefines.h>
-#include "alf/alfcommonlayoutattributesetter.h"
-
-
-namespace Alf
-    {
-
-/** @class AlfFlowLayoutAttributeSetter alfflowlayoutattributesetter.h 
- *  "alf/alfflowlayoutattributesetter.h"
- *  The implementation of the attribute setter.
- *
- *  @interfaces IAlfAttributeSetter
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfFlowLayoutAttributeSetter : public AlfCommonLayoutAttributeSetter
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @param aType Type of the attribute setter.
-     */
-    OSN_IMPORT AlfFlowLayoutAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfFlowLayoutAttributeSetter();
-
-    /**
-     * Sets the attribute values to the target visual.
-     *
-     * @exception osncore::AlfVisualException Thrown with the error code 
-     *            osncore::EInvalidVisual when supplied visual is not a 
-     *            flow layout visual.
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the value of the attributes.
-     *        Ownership of the object is not transferred.
-     * @param aData Used with data attributes to fetch the data.
-     */
-    OSN_IMPORT virtual void setAttributeValue (
-                                CAlfVisual &aVisual,
-                                AlfAttributeContainer* aContainer,
-                                IAlfMap* aData );
-
-    /**
-     * Depracated! Do not use! 
-     * Creates a command to change the value of an attribute in the target 
-     * visual gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *                   Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target
-     *                   value of the attribute is defined by adding the value
-     *                   specific by aContainer to the corresponding attribute
-     *                   value in the reference visual.
-     *
-     * @ret The command to gradually change the attribute in the target visual.
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand(
-                                        CAlfVisual& aVisual,
-                                        AlfAttributeContainer* aContainer,
-                                        IAlfMap* aData,
-                                        int aTransitionTime = 0,
-                                        CAlfVisual* aRefVisual = NULL );
-
-    /**
-     * Creates commands to change the given attribute values in the target 
-     * visual gradually with a transition.Then sends the commands via the
-     * ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     * used by the attribute setter. Ownership is not transferred. The 
-     * container can hold new values for multiple different attributes, in 
-     * which case several commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target 
-     *                   value of the attribute is defined by adding the value
-     *                   specific by aContainer to the corresponding attribute
-     *                   value in the reference visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands(
-                                CAlfVisual& aVisual,
-                                AlfAttributeContainer* aContainer,
-                                CAlfVisual* aRefVisual = NULL );
-
-protected:
-
-    /**
-     * AlfCommonLayoutAttributeSetter
-     * Sets an dynamic attribute value in the target visual using transitions 
-     * defined in attributes
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. 
-     * Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicAttribute(
-                     CAlfVisual &aVisual,
-                     AlfAttribute& aAttr,
-                     AlfAttributeContainer& aContainer);
-
-    /**
-     * AlfCommonLayoutAttributeSetter
-     * Sets an value for static attribute in the target visual immediately 
-     * without a transition using data in map.
-     * 
-     * @exception osncore::AlfDataException Thrown with the error code
-     *            osncore::EInvalidVariantDataType when no data is supplied.
-     * @exception osncore::AlfDataException Thrown with the error code 
-     *            osncore::EInvalidAttribute when empty attribute is supplied.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes.
-     *                   Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticDataAttribute(
-                     CAlfVisual &aVisual, AlfAttribute& aAttr,
-                     AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-    /**
-      * AlfCommonLayoutAttributeSetter
-      * Sets an value for dynamic attribute value in the target visual using 
-      * transitions and data in map.
-      *
-      * @param aVisual The target visual. Doesn't take ownership
-      * @param aAttr The attribute to process. Doesn't take ownership
-      * @param aContainer The container holding attributes. 
-      *                   Ownership of the object is not transferred.
-      * @param aData Contains data.Ownership of the object is not transferred.
-      */
-    virtual void handleDynamicDataAttribute(
-                     CAlfVisual &aVisual, AlfAttribute& aAttr,
-                     AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-    /**
-     * AlfCommonLayoutAttributeSetter
-     * Sets an value of a static attribute to target visual immediately
-     * without a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. 
-     *                   Ownership of the object is not transferred.
-     */
-    virtual void handleStaticAttribute(
-                     CAlfVisual &aVisual, AlfAttribute& aAttr,
-                     AlfAttributeContainer& aContainer);
-
-private: // data
-    };
-
-    } // namespace Alf
-
-#endif // ALFFLOWLAYOUTATTRIBUTESETTER_H
-
--- a/inc/alf/alfgridlayoutattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* 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:   Grid layout attribute setter Header.
-*
-*/
-
-
-#ifndef ALFGRIDLAYOUTATTRIBUTESETTER_H
-#define ALFGRIDLAYOUTATTRIBUTESETTER_H
-
-//includes
-
-//widget model includes
-#include "alf/alfcommonlayoutattributesetter.h"
-
-//osn includes
-#include <osn/osndefines.h>
-
-namespace Alf
-    {
-
-/** @class AlfGridLayoutAttributeSetter alfgridlayoutattributesetter.h "alf/alfgridlayoutattributesetter.h"
- *  The implementation of the grid attribute setter.
- *
- *  @interfaces IAlfAttributeSetter
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-
-class AlfGridLayoutAttributeSetter : public AlfCommonLayoutAttributeSetter
-    {
-
-public:
-
-    /**
-     * Constructor.
-     *
-     * @param aType Type of the attribute setter.
-     */
-    OSN_IMPORT AlfGridLayoutAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfGridLayoutAttributeSetter();
-
-
-    /**
-     * Sets the attribute values to the target visual.
-     *
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::EInvalidVisual\n 
-     *										  when supplied visual is not a grid layout visual.
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the value of the attributes.
-     *        Ownership of the object is not transferred.
-     * @param aData Used with data attributes to fetch the data.
-     */
-    OSN_IMPORT virtual void setAttributeValue (
-        CAlfVisual &aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData );
-
-    /**
-     * Creates a command to change the value of an attribute in the target visual gradually with a transition.
-     *
-     * @deprecated use createAndSendCommands instead.
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute. Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     * @return The command to gradually change the attribute in the target visual.
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand (
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData,
-        int aTransitionTime = 0,
-        CAlfVisual* aRefVisual = 0);
-
-    /**
-     * Creates commands to change the given attribute values in the target visual gradually with a transition.
-     * Then sends the commands via the ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     * used by the attribute setter. Ownership is not transferred. The container
-     * can hold new values for multiple different attributes, in which case several
-     * commands are executed.
-     * @param aRefVisual Optional reference visual. If valid pointer, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands (
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        CAlfVisual* aRefVisual = 0);
-
-protected:
-    /**
-     * From AlfCommonLayoutAttributeSetter
-     * Sets an dynamic attribute value in the target visual using transitions defined in attributes
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer);
-
-    /**
-     * From AlfCommonLayoutAttributeSetter
-     * Sets an value for static attribute in the target visual immediately without a transition using data in map.
-     *
-     * @exception osncore::AlfDataException Thrown with the error code osncore::ECommonError\n 
-     *										  when invalid data is supplied for grid layout.
-     * @exception osncore::AlfException Thrown with the error code osncore::ECommonError\n 
-     *										  when there is an exception in setting attributes for grid layout.
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData );
-
-    /**
-     * From AlfCommonLayoutAttributeSetter
-     * Sets an value for dynamic attribute value in the target visual using transitions and data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData );
-
-    /**
-     * From AlfCommonLayoutAttributeSetter
-     * Sets an value of a static attribute to target visual immediately without a transition.
-     *
-     * @exception osncore::AlfException Thrown with the error code osncore::ECommonError\n 
-     *										  when there is an exception in setting attributes for grid layout.
-     * @exception osncore::AlfAttributeException Thrown with the error code osncore::EInvalidAttribute\n 
-     *										  when invalid attributes are supplied for grid layout.
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer);
-
-private: // data
-    };
-
-    } // namespace Alf
-
-#endif // ALFGRIDLAYOUTATTRIBUTESETTER_H
-// End of file
-
-
--- a/inc/alf/alfimagevisualattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,208 +0,0 @@
-/*
-* 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:   Image visual attribute setter Header.
-*
-*/
-
-
-#ifndef ALFIMAGEVISUALATTRIBUTESETTER_H
-#define ALFIMAGEVISUALATTRIBUTESETTER_H
-
-#include <osn/osndefines.h>
-#include "alf/alfcommonvisualattributesetter.h"
-
-class CAlfImageVisual;
-
-namespace Alf
-    {
-class AlfImageVisualAttributeSetterImpl;
-class IAlfVariantType;
-class ResourcePool;
-
-/**
- *  @class AlfImageVisualAttributeSetter alfimagevisualattributesetter.h "alf/alfimagevisualattributesetter.h"
- *  The implementation of the attribute setter for setting image visual attributes.
- *  @see IAlfAttributeSetter
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- *  @interfaces IAlfAttributeSetter
- */
-class AlfImageVisualAttributeSetter : public AlfCommonVisualAttributeSetter
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @param aType Type of the attribute setter.
-     */
-    OSN_IMPORT AlfImageVisualAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfImageVisualAttributeSetter();
-
-    /**
-     * Sets the attribute values to the target visual.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if aVisual 
-     *                                        is not an image visual.
-     * @exception osncore::AlfDataException   Thrown with error code osncore::EInvalidAttribute if the data field  
-     *                                        for data attributes is 0.
-     * @exception osncore::AlfDataException   Thrown with error code osncore::EInvalidVariantDataType if aData  
-     *                                        for data attributes is 0.
-     * @exception osncore::AlfDataException   Thrown with error code osncore::EIncompleteAttributeValues if an  
-     *                                        attempt is made to set a color attribute with insufficient data. 
-     *                                        See language specification on how to create this attribute.
-     * @exception osncore::AlfDataException   Thrown with error code osncore::EInvalidAttribute if an  
-     *                                        attempt is made to set a color attribute with incompatible data types. 
-     *                                        See language specification on how to create this attribute.
-     * @exception osncore::AlfDataException   Thrown with error code osncore::EInvalidAttribute if an  
-     *                                        attempt is made to set a drop shadow attribute with incompatible data. 
-     *                                        See language specification on how to create this attribute.
-     * @exception osncore::AlfDataException   Thrown with Symbian error code if the skin animation ID cannot be retreived 
-     *                                        while setting an animated skin image.
-     * @exception osncore::AlfDataException   Thrown with Symbian error code if the skin frame ID cannot be retreived 
-     *                                        while setting an skin frame image.
-     * @exception osncore::ThemeException     Thrown when skinid is not found.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership.
-     * @param aContainer The container holding the value of the attributes.
-     *        Ownership of the object is not transferred.
-     * @param aData Used with data attributes to fetch the data.
-     */
-    OSN_IMPORT virtual void setAttributeValue (
-        CAlfVisual &aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData );
-
-    /**
-     * Creates a command to change the value of an attribute in the target visual gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute. Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual.
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand(
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData,
-        int aTransitionTime = 0,
-        CAlfVisual* aRefVisual = NULL );
-
-    /**
-     * Creates commands to change the given attribute values in the target visual gradually with a transition.
-     * Then sends the commands via the ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     * used by the attribute setter. Ownership is not transferred. The container
-     * can hold new values for multiple different attributes, in which case several
-     * commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands(
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        CAlfVisual* aRefVisual = NULL );
-
-protected:
-
-    /**
-     * From AlfCommonVisualAttributeSetter
-     * Sets an value of a static attribute to target visual immediately without a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer);
-
-    /**
-     * From AlfCommonVisualAttributeSetter
-     * Sets an dynamic attribute value in the target visual using transitions defined in attributes
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer);
-
-    /**
-     * From AlfCommonVisualAttributeSetter
-     * Sets an value for static attribute in the target visual immediately without a transition using data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticDataAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-    /**
-     * From AlfCommonVisualAttributeSetter
-     * Sets an value for dynamic attribute value in the target visual using transitions and data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicDataAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-private:
-    /**
-     * Sets FrameImage for aVisual using the frame skin id stored in aAttr
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aSkinFrameImage LogicalName for the frame image. Ownership of the object is not transferred
-	 * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-	 * @param aData datamap used in staticdata case. Ownership of the object is not transferred.
-	 *
-	 * @exception osncore::ThemeException  Thrown when SkinId is not found. 
-     */
-    void setFrameImage(CAlfVisual& aVisual,const Utf8* aSkinFrameID, const AlfAttributeContainer& aContainer,IAlfMap* aData=NULL);
-    /**
-     * Gets the attribute value based on whether attribute type is static or staticdata.
-	 *
-     * @param aAttr The attribute to process. Doesn't take ownership.
-     * @param aData datamap used in staticdata case. Doesn't take ownership
-     *
-     * @return returns the attributeValue.. 	 
-     */ 
-    int getValueFromAttribute(const AlfAttribute& aAttr,IAlfMap* aData) const;
-
-    void HandleImagePathAttribute(
-        const TPtrC8& aStringValue,
-        CAlfImageVisual* aImageVisual,
-        bool aPrimary );
-
-private: // data
-    auto_ptr<AlfImageVisualAttributeSetterImpl> mImpl;
-    };
-
-    } // namespace Alf
-
-#endif // ALFIMAGEVISUALATTRIBUTESETTER_H
-
--- a/inc/alf/alflctanchorlayoutattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* 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:   Lct anchor layout attribute setter Header
-*
-*/
-
-
-#ifndef ALFLCTANCHORLAYOUTATTRIBUTESETTER_H
-#define ALFLCTANCHORLAYOUTATTRIBUTESETTER_H
-
-//includes
-
-//widget model includes
-#include "alf/alfanchorlayoutattributesetter.h"
-
-//osn includes
-#include <osn/osndefines.h>
-
-
-namespace Alf
-    {
-
-/**
- *  @class AlfLCTAnchorLayoutAttributeSetter alflctanchorlayoutattributesetter.h "alf/alflctanchorlayoutattributesetter.h"
- *  The implementation of the attribute setter for setting lct anchor layout attributes.
- *  @see IAlfAttributeSetter
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- *  @interfaces IAlfAttributeSetter
- */
-class AlfLCTAnchorLayoutAttributeSetter : public AlfAnchorLayoutAttributeSetter
-    {
-
-public:
-
-    /**
-     * Constructor.
-     *
-     */
-    OSN_IMPORT AlfLCTAnchorLayoutAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfLCTAnchorLayoutAttributeSetter();
-
-    /**
-     * Sets an attribute value in the target visual immediately without a transition.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if aVisual is not 
-     *                                        an lct anchor layout.
-     * @exception osncore::AlfVisualException Thrown with Symbian error code if anchor point attachment fails.
-     * @exception std::bad_alloc
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *                   Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    OSN_IMPORT virtual void setAttributeValue (CAlfVisual &aVisual,
-            AlfAttributeContainer* aContainer, IAlfMap* aData );
-
-    /**
-     * Depracated! Do not use!
-     * Creates a command to change the value of an attribute in the target
-     * visual gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *      Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target
-     *      value of the attribute is defined by adding the
-     *      value specific by aContainer to the corresponding
-     *      attribute value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual.
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand (CAlfVisual& aVisual,
-            AlfAttributeContainer* aContainer, IAlfMap* aData,
-            int aTransitionTime = 0, CAlfVisual* aRefVisual = 0 );
-
-    /**
-     * Creates commands to change the given attribute values in the target
-     * visual gradually with a transition. Then sends the commands via the
-     * ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     *      used by the attribute setter. Ownership is not
-     *      transferred. The container can hold new values for
-     *      multiple different attributes, in which case several
-     *       commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target
-     *      value of the attribute is defined by adding the value
-     *      specific by aContainer to the corresponding attribute
-     *      value in the reference visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands (CAlfVisual& aVisual,
-            AlfAttributeContainer* aContainer, CAlfVisual* aRefVisual = 0 );
-
-
-protected:
-    /**
-     * Sets a dynamic attribute value in the target visual using transitions defined in attributes
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *      object is not transferred.
-     */
-    virtual void handleDynamicAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr,
-                                          AlfAttributeContainer& aContainer);
-
-    /**
-     * Sets an value for static attribute in the target visual immediately
-     * without a transition using data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *      object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr,
-            AlfAttributeContainer& aContainer, IAlfMap* aData );
-
-    /**
-     * Sets an value for dynamic attribute value in the target visual using
-     * transitions and data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *                   object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr,
-            AlfAttributeContainer& aContainer, IAlfMap* aData );
-
-    /**
-     * Sets an value of a static attribute to target visual immediately without a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *      object is not transferred.
-     */
-    virtual void handleStaticAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr,
-                                         AlfAttributeContainer& aContainer);
-
-private: // data
-    };
-
-    } // namespace Alf
-
-#endif // ALFLCTANCHORLAYOUTATTRIBUTESETTER_H
-// End of file
-
-
--- a/inc/alf/alflctgridlayoutattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* 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:   LCT grid layout attribute setter header.
-*
-*/
-
-
-#ifndef ALFLCTGRIDLAYOUTATTRIBUTESETTER_H
-#define ALFLCTGRIDLAYOUTATTRIBUTESETTER_H
-
-//includes
-
-//widget model includes
-#include "alf/alfgridlayoutattributesetter.h"
-
-//osn includes
-#include <osn/osndefines.h>
-
-
-namespace Alf
-    {
-
-
-
-/**
- *  @class AlfLCTGridLayoutAttributeSetter alflctgridlayoutattributesetter.h "alf/alflctgridlayoutattributesetter.h"
- *  The implementation of the attribute setter for setting lct grid layout attributes.
- *  @see IAlfAttributeSetter
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- *  @interfaces IAlfAttributeSetter
- */
-class AlfLCTGridLayoutAttributeSetter : public AlfGridLayoutAttributeSetter
-    {
-
-public:
-
-    /**
-     * Constructor.
-     *
-     * @param aType Type of the attribute setter.
-     */
-    OSN_IMPORT AlfLCTGridLayoutAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfLCTGridLayoutAttributeSetter();
-
-    /**
-     * Sets the attribute values to the target visual.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if aVisual is not 
-     *                                        an lct grid layout.
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the value of the attributes.
-     *        Ownership of the object is not transferred.
-     * @param aData Used with data attributes to fetch the data.
-     */
-    OSN_IMPORT void setAttributeValue (
-        CAlfVisual &aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData );
-
-    /**
-     * Depracated! Do not use!
-     * Creates a command to change the value of an attribute in the target visual gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute. Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual.
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand (
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData,
-        int aTransitionTime = 0,
-        CAlfVisual* aRefVisual = NULL );
-
-    /**
-     * Creates commands to change the given attribute values in the target visual gradually with a transition.
-     * Then sends the commands via the ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     * used by the attribute setter. Ownership is not transferred. The container
-     * can hold new values for multiple different attributes, in which case several
-     * commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands (
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        CAlfVisual* aRefVisual = NULL );
-
-
-protected:
-    /**
-     * Sets an dynamic attribute value in the target visual using transitions defined in attributes
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer);
-
-    /**
-     * Sets an value for static attribute in the target visual immediately without a transition using data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData );
-
-    /**
-     * Sets an value for dynamic attribute value in the target visual using transitions and data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData );
-
-    /**
-     * Sets an value of a static attribute to target visual immediately without a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     */
-    virtual void handleStaticAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer );
-
-private: // data
-    };
-
-    } // namespace Alf
-
-#endif // ALFLCTGRIDLAYOUTATTRIBUTESETTER_H
-// End of file
--- a/inc/alf/alflctimagevisualattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* 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:   Lct image Visual attribute setter Header.
-*
-*/
-
-
-#ifndef ALFLCTIMAGEVISUALATTRIBUTESETTER_H
-#define ALFLCTIMAGEVISUALATTRIBUTESETTER_H
-
-#include "alf/alfimagevisualattributesetter.h"
-
-namespace Alf
-    {
-
-/** @class AlfLctImageVisualAttributeSetter alflctimagevisualattributesetter.h "alf/alflctimagevisualattributesetter.h"
- *  The implementation of the attribute setter.
- *
- *  @interfaces IAlfAttributeSetter
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfLctImageVisualAttributeSetter : public AlfImageVisualAttributeSetter
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @param aType Type of the attribute setter.
-     */
-    OSN_IMPORT AlfLctImageVisualAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfLctImageVisualAttributeSetter();
-
-// from base class MAlfAttributeSetter
-
-    /**
-     * Creates a command to change the value of an attribute in the target visual
-     * gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *        Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value
-     *        of the attribute is defined by adding the value specific by aContainer
-     *        to the corresponding attribute value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual.
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand(
-        CAlfVisual& aVisual, AlfAttributeContainer* aContainer, IAlfMap* aData,
-        int aTransitionTime = 0, CAlfVisual* aRefVisual = NULL);
-
-    /**
-     * Creates commands to change the given attribute values in the target visual
-     * gradually with a transition.Then sends the commands via the ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     * used by the attribute setter. Ownership is not transferred. The container
-     * can hold new values for multiple different attributes, in which case several
-     * commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value
-     *        of the attribute is defined by adding the value specific by aContainer
-     *        to the corresponding attribute value in the reference visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands(CAlfVisual& aVisual,
-            AlfAttributeContainer* aContainer, CAlfVisual* aRefVisual = NULL);
-
-protected:
-
-    /**
-     * Sets an dynamic attribute value in the target visual
-     * using transitions defined in attributes.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes.
-     *        Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicAttribute(CAlfVisual &aVisual,
-                                        AlfAttribute& aAttr, AlfAttributeContainer& aContainer);
-
-    /**
-     * Sets an value for static attribute in the target visual immediately
-     * without a transition using data in map.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes.
-     *        Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticDataAttribute(CAlfVisual &aVisual,
-                                           AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-    /**
-     * Sets an value for dynamic attribute value in the target visual
-     * using transitions and data in map.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes.
-     *        Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicDataAttribute(CAlfVisual &aVisual,
-                                            AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-    /**
-     * Sets an value of a static attribute to target visual immediately
-     * without a transition.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes.
-     *        Ownership of the object is not transferred.
-     */
-    virtual void handleStaticAttribute(CAlfVisual &aVisual,
-                                       AlfAttribute& aAttr, AlfAttributeContainer& aContainer);
-
-private: // data
-    };
-
-    } // namespace Alf
-
-#endif // ALFLCTIMAGEVISUALATTRIBUTESETTER_H
-
--- a/inc/alf/alflcttextvisualattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* 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:   Text visual attribute setter header.
-*
-*/
-
-
-#ifndef ALFLCTTEXTVISUALATTRIBUTESETTER_H
-#define ALFLCTTEXTVISUALATTRIBUTESETTER_H
-
-#include "alf/alftextvisualattributesetter.h"
-
-namespace Alf
-    {
-
-/** @class AlfLctTextVisualAttributeSetter alflcttextvisualattributesetter.h "alf/alflcttextvisualattributesetter.h"
- *  The implementation of the attribute setter.
- *
- *  @interfaces IAlfAttributeSetter
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfLctTextVisualAttributeSetter : public AlfTextVisualAttributeSetter
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @param aType Type of the attribute setter.
-     */
-    OSN_IMPORT AlfLctTextVisualAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfLctTextVisualAttributeSetter();
-
-
-// from base class MAlfAttributeSetter
-
-    /**
-     * Sets the attribute values to the target visual.
-     *
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::EInvalidVisual\n 
-     *										  when supplied visual is not a lct text visual.
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the value of the attributes.
-     *        Ownership of the object is not transferred.
-     * @param aData Used with data attributes to fetch the data.
-     */
-    OSN_IMPORT void setAttributeValue (
-        CAlfVisual &aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData );
-
-    /**
-     * Creates a command to change the value of an attribute in the target visual
-     * gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *        Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value
-     *        of the attribute is defined by adding the value specific by aContainer
-     *        to the corresponding attribute value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual.
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand(
-        CAlfVisual& aVisual, AlfAttributeContainer* aContainer, IAlfMap* aData,
-        int aTransitionTime = 0, CAlfVisual* aRefVisual = NULL);
-
-    /**
-     * Creates commands to change the given attribute values in the target visual
-     * gradually with a transition.Then sends the commands via the ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     * used by the attribute setter. Ownership is not transferred. The container
-     * can hold new values for multiple different attributes, in which case several
-     * commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value
-     *        of the attribute is defined by adding the value specific by aContainer
-     *        to the corresponding attribute value in the reference visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands(CAlfVisual& aVisual,
-            AlfAttributeContainer* aContainer, CAlfVisual* aRefVisual = NULL);
-
-protected:
-
-    /**
-     * Sets an dynamic attribute value in the target visual
-     * using transitions defined in attributes.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes.
-     *        Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicAttribute(CAlfVisual &aVisual,
-                                        AlfAttribute& aAttr, AlfAttributeContainer& aContainer);
-
-    /**
-     * Sets an value for static attribute in the target visual immediately
-     * without a transition using data in map.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes.
-     *        Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticDataAttribute(CAlfVisual &aVisual,
-                                           AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-    /**
-     * Sets an value for dynamic attribute value in the target visual
-     * using transitions and data in map.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes.
-     *        Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicDataAttribute(CAlfVisual &aVisual,
-                                            AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-    /**
-     * Sets an value of a static attribute to target visual immediately
-     * without a transition.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes.
-     *        Ownership of the object is not transferred.
-     */
-    virtual void handleStaticAttribute(CAlfVisual &aVisual,
-                                       AlfAttribute& aAttr, AlfAttributeContainer& aContainer);
-
-private: // data
-    };
-
-    } // namespace Alf
-
-#endif // ALFLCTTEXTVISUALATTRIBUTESETTER_H
-
--- a/inc/alf/alflinevisualattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,267 +0,0 @@
-/*
-* 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:   Line visual attribute setter Header.
-*
-*/
-
-
-#ifndef ALFLINEVISUALATTRIBUTESETTER_H
-#define ALFLINEVISUALATTRIBUTESETTER_H
-
-#include <osn/osndefines.h>
-#include "alf/alfcommonvisualattributesetter.h"
-
-class CAlfCurvePath;
-class CAlfLineVisual;
-
-namespace Alf
-    {
-
-class AlfLineVisualAttributeSetterImpl;
-
-/** @class AlfLineVisualAttributeSetter alflinevisualattributesetter.h 
- *  "alf/alflinevisualattributesetter.h"
- *  The implementation of the attribute setter.
- *
- *  @interfaces IAlfAttributeSetter
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfLineVisualAttributeSetter : public AlfCommonVisualAttributeSetter
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-	 * @exception std::bad_alloc     
-     * @param aType Type of the attribute setter.
-     */
-    OSN_IMPORT AlfLineVisualAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfLineVisualAttributeSetter();
-
-    /**
-     * Sets an attribute value in the target visual immediately without
-     * a transition.
-     *
-     * @exception osncore::AlfVisualException Thrown with the error code 
-     *     osncore::EInvalidVisual when supplied visual is not a line visual.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *      Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     */
-    OSN_IMPORT virtual void setAttributeValue(
-        CAlfVisual &aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData);
-
-    /**
-     * Deprecated! Do not use!
-     * Creates a command to change the value of an attribute in the target
-     * visual gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the
-     *      attribute.Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target
-     *       value of the attribute is defined by adding the value
-     *       specific by aContainer to the corresponding attribute
-     *      value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand(
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData,
-        int aTransitionTime = 0,
-        CAlfVisual* aRefVisual = NULL );
-
-    /**
-     * Creates commands to change the given attribute values in the target
-     * visual gradually with a transition.
-     * Then sends the commands via the ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding attribute value(s)
-     *       used by the attribute setter. Ownership is not
-     *       transferred. The container can hold new values for
-     *       multiple different attributes, in which case several
-     *       commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target
-     *       value of the attribute is defined by adding the value specific by
-     *       aContainer to the corresponding attribute value in the reference
-     *       visual
-     */
-    OSN_IMPORT virtual void createAndSendCommands(
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        CAlfVisual* aRefVisual = NULL );
-
-protected:
-    /**
-     * Sets an dynamic attribute value in the target visual using transitions
-     * defined in attributes
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *      object is not transferred.
-     */
-    virtual void handleDynamicAttribute (
-        CAlfVisual &aVisual,
-        AlfAttribute& aAttr,
-        AlfAttributeContainer& aContainer);
-
-    /**
-     * Sets a value for static attribute in the target visual immediately 
-     * without any transition using data in map.
-     *
-     * @exception osncore::AlfDataException Thrown with the error code 
-     *     osncore::ECommonError when empty attribute for line visual 
-     *     is supplied .
-     * @exception osncore::AlfAttributeException Thrown with the error code 
-     *     osncore::EInvalidAttribute when wrong attribute for line visual 
-     *     is supplied .
-     * @exception osncore::AlfAttributeException Thrown with the error code 
-     *     osncore::EIncompleteAttributeValues when all values of an attribute
-     *     for line visual are not supplied .
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the 
-     *                   object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticDataAttribute ( CAlfVisual &aVisual,
-        AlfAttribute& aAttr,
-        AlfAttributeContainer& aContainer,
-        IAlfMap* aData );
-
-    /**
-     * Sets a value for dynamic attribute value in the target visual using 
-     * transitions and data in map.
-     *
-     * @exception osncore::AlfDataException Thrown with the error code 
-     *     osncore::ECommonError when empty attribute for line visual 
-     *     is supplied .
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *                   object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicDataAttribute (
-        CAlfVisual &aVisual,
-        AlfAttribute& aAttr,
-        AlfAttributeContainer& aContainer,
-        IAlfMap* aData );
-
-    /**
-     * Sets a value of a static attribute to target visual immediately without
-     * any transition.
-     *
-     * @exception osncore::AlfAttributeException Thrown with the error code 
-     *     osncore::EInvalidAttribute when wrong attribute data for line visual
-     *     is supplied .
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the 
-     *                   object is not transferred.
-     */
-    virtual void handleStaticAttribute (
-        CAlfVisual &aVisual,
-        AlfAttribute& aAttr,
-        AlfAttributeContainer& aContainer);
-
-private:
-
-    /**
-     * Creates and returns a toolkit defined mappping function based on the
-     * attribute content.
-     * The int value-mapping function mapping is the following:
-     * 0 - KConstMappingFunction
-     * 1 - KLinearMappingFunction
-     * 2 - KSineMappingFunction
-     * 3 - KCosineMappingFunction
-     * @param aAttribute Attribute containing the deciding int value and data
-     *                   required for construction of the mapping function.
-     * @param aEnv       Environment
-     * @result The mapping function pointer
-     */
-    MAlfMappingFunction* getMappingFunction(
-        AlfAttribute& aAttribute ,
-        CAlfEnv& aEnv);
-
-    /**
-     * Creates and returns a toolkit defined mappping function based on the
-     * container content.
-     * The int value-mapping function mapping is the following:
-     * 0 - KConstMappingFunction
-     * 1 - KLinearMappingFunction
-     * 2 - KSineMappingFunction
-     * 3 - KCosineMappingFunction
-     * @param aContainer Container containing the deciding int value and data
-     *                   required for construction of the mapping function.
-     * @param aEnv       Environment
-     * @result The mapping function pointer
-     */
-    MAlfMappingFunction* getMappingFunctionFromContainer(
-        IAlfContainer* aContainer,
-        CAlfEnv& aEnv);
-
-
-    /**
-     * Gets the path from the line visual or creates it if does not exist
-     * @param aLineVisual Line Visual
-     * @result The curvepath
-     */
-    CAlfCurvePath* getCurvePath(CAlfLineVisual* aLineVisual);
-
-    /**
-     * Check if data in the attribute is int or float.
-     * Return the value as a float value
-     *
-     * @param aAttr The attribute containing the value
-     * @param aIndex The index of the value to be checked
-     * return Content of the attribute
-     */
-    float floatOrInt(const AlfAttribute& aAttr, int aIndex);
-
-    /**
-     * Check if data in the variant type is int or float.
-     * Return the value as a float value
-     *
-     * @param aData The variant type containing the value
-     * return Content of the variant type
-     */
-    float floatOrIntFromData(IAlfVariantType* aData);
-
-
-
-private: // data
-    auto_ptr<AlfLineVisualAttributeSetterImpl> mImpl;
-    };
-
-    } // namespace Alf
-
-#endif // ALFLINEVISUALATTRIBUTESETTER_H
-
--- a/inc/alf/alfmeshvisualattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-/*
-* 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:   Mesh visual attribute setter header.
-*
-*/
-
-
-#ifndef ALFMESHVISUALATTRIBUTESETTER_H
-#define ALFMESHVISUALATTRIBUTESETTER_H
-
-#include <osn/osndefines.h>
-#include "alf/alfcommonvisualattributesetter.h"
-
-class CAlfMeshVisual;
-
-namespace Alf
-    {
-class AlfMeshVisualAttributeSetterImpl;
-class AlfAttribute;
-
-/** @class AlfMeshVisualAttributeSetter alfmeshvisualattributesetter.h "alf/alfmeshvisualattributesetter.h"
- *  The implementation of the attribute setter.
- *
- *  @interfaces IAlfAttributeSetter
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfMeshVisualAttributeSetter : public AlfCommonVisualAttributeSetter
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-	 * @exception std::bad_alloc     
-     * @param aType Type of the attribute setter.
-     */
-    OSN_IMPORT AlfMeshVisualAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfMeshVisualAttributeSetter();
-
-    /**
-     * Sets an attribute value in the target visual .
-     *
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::EInvalidVisual\n 
-     *										  when supplied visual is not a Mesh visual.
-     * @exception osncore::AlfDataException Thrown with the error code osncore::EInvalidVariantDataType\n 
-     *										  when no data for line visual is supplied.
-     * @exception osncore::AlfDataException Thrown with the error code osncore::EInvalidAttribute\n 
-     *										  when wrong data for line visual is supplied.
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *        Ownership of the object is not transferred.
-     * @param aData Used with data attributes to fetch the data.
-     */
-    OSN_IMPORT virtual void setAttributeValue(
-        CAlfVisual &aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData);
-
-    /**
-     * Creates a command to change the value of an attribute in the target
-     * visual gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *      Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target
-     *      value of the attribute is defined by adding the value
-     *      specific by aContainer to the corresponding attribute
-     *      value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand(
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData,
-        int aTransitionTime = 0,
-        CAlfVisual* aRefVisual = NULL );
-
-    /**
-     * Creates commands to change the given attribute values in the target
-     * visual gradually with a transition.Then sends the commands via the
-     * ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute
-     *      value(s) used by the attribute setter. Ownership
-     *      is not transferred. The container can hold new values
-     *      for multiple different attributes, in which case
-     *      several commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target
-     *      value of the attribute is defined by adding the value
-     *      specific by aContainer to the corresponding attribute
-     *      value in the reference visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands(
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        CAlfVisual* aRefVisual = NULL );
-
-protected:
-
-    /**
-     * Sets an dynamic attribute value in the target visual using transitions
-     * defined in attributes
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *      object is not transferred.
-     */
-    virtual void handleDynamicAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr,
-                                        AlfAttributeContainer& aContainer);
-
-    /**
-     * Sets an value for static attribute in the target visual immediately
-     * without a transition using data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *      object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticDataAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr,
-                                           AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-    /**
-     * Sets an value for dynamic attribute value in the target visual using
-     * transitions and data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *       object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicDataAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr,
-                                            AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-    /**
-     * Sets an value of a static attribute to target visual immediately without a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     */
-    virtual void handleStaticAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr,
-                                       AlfAttributeContainer& aContainer);
-
-private:
-
-    /**
-     * Sets an dynamic attribute value in the target visual using transitions
-     * defined in attributes
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *      object is not transferred.
-     * @param aImmediate if true, the change is immediate and time value of
-     *      the attribute is not used.
-     */
-    bool doHandleDynamicAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr,
-                                  AlfAttributeContainer& aContainer, bool aImmediate = false);
-
-
-    /**
-     * Sets an value for dynamic attribute value in the target visual using
-     * transitions and data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *       object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     * @param aImmediate if true, the change is immediate and time value of
-     *       the attribute is not used.
-     */
-    bool doHandleDynamicDataAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr,
-                                      AlfAttributeContainer& aContainer, IAlfMap* aData, bool aImmediate = false);
-
-    /**
-     * Gets the data from map pointed by attribute's field name.
-     *
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aData Contains data.Ownership of the object is not transferred.
-     *
-     * @return pointer to the data from map pointed by attribute's field name.
-     */
-    IAlfVariantType* getData(AlfAttribute& aAttr, IAlfMap* aData);
-
-    /**
-     * gets the time from attribute safely.
-     *
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aImmediate if true, returns 0 else the time set for the attribute
-     */
-    int getTime(const AlfAttribute& aAttr, bool aImmediate = false);
-
-    enum imageCategory
-        {
-        primary,
-        secondary,
-        specular
-        };
-
-    void HandleImagePathAttribute(
-        const TPtrC8& aStringValue,
-        CAlfMeshVisual* aImageVisual,
-        imageCategory aImageCategory );
-
-private: // data
-    auto_ptr<AlfMeshVisualAttributeSetterImpl> mImpl;
-
-    };
-
-    } // namespace Alf
-
-#endif // ALFMESHVISUALATTRIBUTESETTER_H
-
--- a/inc/alf/alfmodeloperation.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/*
-* Copyright (c) 2004 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:  This interface defines a generic data type
-*
-*/
-
-
-
-
-#ifndef ALFMODELOPERATION_H
-#define ALFMODELOPERATION_H
-
-
-//INCLUDES
-#include <osn/osndefines.h>
-#include <osn/ustring.h>
-
-using namespace osncore;
-
-namespace Alf
-    {
-
-/* Forward declarations*/
-class IAlfVariantType;
-
-/** @class AlfModelOperation alfmodeloperation.h "alf/alfmodeloperation.h"
-*  A class for storing information about changes in the model.
-*  CAlfModelOperation can be used to make changes in a batch mode,
-*  i.e., executing multiple changes in one call.
-*  @lib hitchcockwidgetmodel.lib
-*  @since S60 ?S60_version
-*  @status Draft
-*/
-class AlfModelOperation
-    {
-public:
-
-    /** The operation constants. */
-    enum OperationType{EOperationAdd, EOperationRemove, EOperationUpdate};
-
-    /**
-     * constructor. The new operation is left on the cleanup stack.
-     *
-	 * @exception std::bad_alloc     
-     * @since S60 ?S60_version
-     * @param aOperation The operation to be performed.
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices The container indices to find the correct location
-     *                          in the data hierarchy. The ownership is transferred.
-     * @param aData The new data in EOperationAdd and EOperationUpdate operations.
-     *              The ownership is transferred.
-     */
-    OSN_IMPORT static AlfModelOperation* create( OperationType aOperation,
-            int aNumContainerIndices,
-            int* aContainerIndices,
-            IAlfVariantType* aData = 0 );
-
-    /**
-     * constructor for adding or updating a map item.
-     * The new operation is left on the cleanup stack.
-     *
-	 * @exception std::bad_alloc     
-     * @since S60 ?S60_version
-     * @param aOperation The operation to be performed.
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices The container indices to find the correct location
-     *                          in the data hierarchy. The ownership is transferred.
-     * @param aData The new data. The ownership is transferred.
-     * @param aDataName The name of the new data in EOperationAdd and EOperationUpdate
-     *                  operations. Only needed when adding or updating a map item.
-     */
-    OSN_IMPORT static AlfModelOperation* create( OperationType aOperation,
-            int aNumContainerIndices,
-            int* aContainerIndices,
-            IAlfVariantType* aData,
-            const UString& aDataName );
-
-    /** Destructor.*/
-    OSN_IMPORT ~AlfModelOperation();
-
-    /**
-     * Get the name of the new data field in the container map.
-     * Panics if the operation is EOperationRemove.
-     *
-     * @exception osncore::AlfDataException Thrown with the error code osncore::EInvalidModelOperation\n 
-     *										  when wrong operation is performed on Model.
-     * @return The new data.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT const UString& newDataName() const;
-
-    /**
-     * Get the new data used in EOperationAdd or EOperationUpdate operations.
-     * Panics if the operation is EOperationRemove.
-     *
-     * @exception osncore::AlfDataException Thrown with the error code osncore::EInvalidModelOperation\n 
-     *										  when wrong operation is performed on Model.
-     * @return The new data.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfVariantType& newData() const;
-
-    /**
-     * Get the new data used in EOperationAdd or EOperationUpdate operations.
-     * Panics if the operation is EOperationRemove.
-     * The ownership of the data is transferred to the caller,
-     * and the data of this operation is set to NULL.
-     *
-     * @exception osncore::AlfDataException Thrown with the error code osncore::EInvalidModelOperation\n 
-     *										  when wrong operation is performed on Model.
-     * @return The new data.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfVariantType* getNewData();
-
-    /**
-     * Get the Operation.
-     *
-     * @return The new data.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfModelOperation::OperationType operation() const;
-
-    /**
-     * Get the parent data for the operation. The parent data
-     * is a container for the data to be added, removed or updated.
-     * The index of the data can be queried using Index().
-     *
-     * @exception osncore::AlfDataException Thrown with the error code osncore::EInvalidContainerOperation\n 
-     *										  when wrong operation is performed on Model.
-     * @param aRoot The root of the data hierarchy to perform the operation.
-     * @return The parent data.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfVariantType* parentData(IAlfVariantType& aRoot ) const;
-
-    /**
-     * Get the index of the data inside the parent container.
-     * The parent container can be queried using ParentData().
-     * If the parent container is a branch, index 0 refers to
-     * the branch data, and index 1 refers to the child data.
-     *
-     * @return The new data.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT int index() const;
-
-    /**
-     * Get the number of container indices to find the
-     * location in the data hierarchy.
-     *
-     * @return The number of container indices.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT int numContainerIndices() const;
-
-    /**
-     * Get the container index to traverse through the data hierarchy.
-     * If the container in the hierarchy is a branch, index 0 refers to
-     * the branch data, and index 1 refers to the child data.
-     *
-     * @return The container index.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT int containerIndex( int aIndex ) const;
-
-private:
-
-    AlfModelOperation(
-        OperationType aOperation,
-        int aNumContainerIndices,
-        int* aContainerIndices,
-        IAlfVariantType* aData = 0 );
-
-    AlfModelOperation(
-        OperationType aOperation,
-        int aNumContainerIndices,
-        int* aContainerIndices,
-        IAlfVariantType* aData,
-        const UString& aDataName );
-
-private: // data
-
-    // Target location in the data hierarchy
-    int mNumContainerIndices;
-    int* mContainerIndices;
-
-    // The new data
-    IAlfVariantType* mData;
-    // The name of the new data, if adding or updating a map item
-    UString mDataName;
-
-    // The operation to be performed
-    OperationType mOperation;
-    };
-
-    } // namespace Alf
-
-#endif // ALFMODELOPERATION_H
--- a/inc/alf/alfrecyclinggridelement.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* 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:  The implementation for presentation elements.
-*
-*/
-
-
-#ifndef ALF_RECYCLINGGRIDELEMENT_H
-#define ALF_RECYCLINGGRIDELEMENT_H
-
-
-//INCLUDES
-#include <e32cmn.h> // TPoint
-#include <osn/osndefines.h>
-#include "alf/alfelement.h"
-#include <alf/ialfwidgeteventhandler.h>
-
-class CAlfControl;
-
-
-namespace Alf
-    {
-class CAlfWidgetControl;
-class AlfRecyclingGridElementImpl;
-
-namespace alfrecyclinggridelement
-    {
-static const IfId Ident=
-    {
-    0,"alfrecyclinggridelement"
-    };
-    }
-
-/** @class AlfRecyclingGridElement alfrecyclinggridelement.h "alf/alfrecyclinggridelement.h"
- * The implementation of a generic element with a functionality
- * for recyclign the created visual trees. This is commonly used
- * in scrolling list-like components, where only few of the items
- * are visible at the same time. Scrolling is supported in both
- * dimensions (rows / columns).
- *
- *  @interfaces IAlfElement
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfRecyclingGridElement : public AlfElement, public IAlfWidgetEventHandler
-    {
-public:
-    static inline const IfId& type()
-        {
-        return alfrecyclinggridelement::Ident;
-        }
-    /**
-     * Enumerations of the Fill Style
-     */
-    OSN_IMPORT enum FillStyle{EColumnsFirst, ERowsFirst};
-
-
-
-    /**
-     * Constructor.
-	 * @exception std::bad_alloc     
-     * @param aControl - Widget Control
-     * @param aName    - Name of the Recycling grid element
-     * @param aNumColumns - Number of Columns
-     * @param aNumRows  - Number of Rows
-     * @since S60 ?S60_version
-     * @return New object. The widgets are owned by Alfred. The objects is pushed on to the cleanup stack
-     */
-    OSN_IMPORT AlfRecyclingGridElement(CAlfWidgetControl& aControl, const char* aName, int aNumColumns, int aNumRows);
-
-
-    /** Class Destructor estructor.
-    *
-    *  @since S60 ?S60_version
-    */
-    OSN_IMPORT virtual ~AlfRecyclingGridElement();
-
-    /**
-     * Constructor.
-     * @param aFillStyle - style to be used to fill the grid
-     * @param aFillStyleParam -
-     * @since S60 ?S60_version
-     * @return New object. The widgets are owned by Alfred. The objects is pushed on to the cleanup stack
-     */
-    OSN_IMPORT void setFillStyle(FillStyle aFillStyle, int aFillStyleParam);
-    /*
-     * Sets the animation times for diferent visual changes
-     * @param aScrollingTime - animation time while scrolling
-     * @param aFadeInTime - amination time for fading in 
-     * @param aFadeinDelay - a delay time after which fade in starts
-     * @param aFadeOutTime - animation time for fading out
-     * @param aFadeOutDelay - a delay time after which fade out will start
-     */ 
-
-    OSN_IMPORT void setAnimationTimes( int aScrollingTime,
-                                       int aFadeInTime, int aFadeInDelay,
-                                       int aFadeOutTime, int aFadeOutDelay );
-
-    /**
-     * Creates a visual tree with the data given for visuals.
-     *
-     * @exception std::bad_alloc 
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::ECanNotCreateVisual\n 
-     *                                        when creation of visual fails.
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::EInvalidElement\n 
-     *                                        when wrond data id is supplied.
-     * @exception std::bad_alloc     
-     * @since S60 ?S60_version
-     * @param aData Data for visual tree to be created
-     * @param aDataID Parent visual tree's data id
-     * @param aParentLayout Parent layout to which newly created visual tree will be added
-     * @param aLayoutIndex Position in parent layout at which new visual tree will be added
-     */
-
-    OSN_IMPORT virtual CAlfVisual* createVisualTree(
-        IAlfVariantType& aData, uint aDataID,
-        CAlfLayout* aParentLayout, int aLayoutIndex );
-
-    //Implementation of IAlfWidgetEventHandler
-
-    /**
-     * Used to identify event handlers that are capable of handling
-     * a specified key or custom event. Pointer event handlers cannot be
-     * identified directly, since they are dependent on the presentation.
-     * Therefore, pointer event handlers should be associated with
-     * a custom event ID that can be used to simulate the actual pointer event.
-     *
-     * @since S60 ?S60_version
-     * @param aEvent The event.
-     * @return <code>ETrue</code> if the event can be processed. Otherwise <code>EFalse</code>.
-     */
-    OSN_IMPORT virtual bool accept( CAlfWidgetControl& aControl, const TAlfEvent& aEvent ) const;
-
-    /**
-     * Called when an input event is being offered to this event handler.
-     * The return value is used to indicate if the event was processed.
-     * Processed events may not be offered to other event handlers.
-     *
-     * @since S60 ?S60_version
-     * @param aControl The parent control of this event handler.
-     * @param aEvent The event.
-     * @return Result of event processing. See AlfEventStatus.
-     */
-   OSN_IMPORT AlfEventStatus offerEvent( CAlfWidgetControl& aControl,const TAlfEvent& aEvent );
-   
-    /**
-     * @see MAlfWidgetEventHandler
-     */
-    OSN_IMPORT void setActiveStates( unsigned int aStates );
-    
-    /**
-     * Sets AlfWidgetEventHandlerInitData to event handler.
-     *
-     * @param aData A data structure which contains for example id of the event
-     * handler.
-     */
-    OSN_IMPORT void setEventHandlerData( const AlfWidgetEventHandlerInitData& aData );
-    
-    /**
-     * Returns AlfWidgetEventHandlerInitData.
-     *
-     * @return  A pointer to AlfWidgetEventHandlerInitData structure which contains
-     * for example id of the event handler.
-     */
-    OSN_IMPORT AlfWidgetEventHandlerInitData* eventHandlerData();
-
-    /**
-     * Returns the type of EventHandler. 
-     * @see IAlfWidgetEventHandler::AlfEventHandlerType
-     *
-     * @return The type of event handler.
-     */
-    IAlfWidgetEventHandler::AlfEventHandlerType eventHandlerType();
-
-    /**
-     * Returns information about the phase in the event handling cycle in
-     * which the event hadler will be executed.
-     * @see IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase
-     *
-     * @return Event handler execution phase.
-     */
-    IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase eventExecutionPhase();
-
-    /**
-     * From @see MAlfInterfaceBase.
-     * @since S60 ?S60_version
-     * @param aType The type of interface requested.
-    * @return Returns the new Interface
-     */
-    OSN_IMPORT virtual  IAlfInterfaceBase* makeInterface( const IfId& aType );
-
-
-    /**
-     * Creates a visual tree with the data given for visuals.
-     *
-     * @exception std::bad_alloc 
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::ECanNotCreateVisual\n 
-     *                                        when creation of visual fails.
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::EInvalidElement\n 
-     *                                        when wrond data id is supplied.
-     * @exception std::bad_alloc     
-     * @since S60 ?S60_version
-     * @param aData Data for visual tree to be created
-     * @param aDataID Parent visual tree's data id
-     * @param aParentLayout Parent layout to which newly created visual tree will be added
-     * @param aLayoutIndex Position in parent layout at which new visual tree will be added
-     */
-    OSN_IMPORT virtual void createChildVisualTree( IAlfElement* aElement,
-            IAlfVariantType& aChildData,
-            IAlfBranch& aData,
-            int aIndex, uint aDataID );
-    /**
-     * Removes visual tree from given element.
-     *
-     * @since S60 ?S60_version
-     * @param aElement Element from which visual tree is to be removed
-     * @param aData
-     * @param aIndex 
-     * @param aDataID 
-     */
-    OSN_IMPORT virtual void removeChildVisualTree( IAlfElement* aElement, IAlfBranch& aData, int aIndex, uint aDataID );
-
-    /**
-     * removes and destroys all the visuals.
-     *
-     * @param aTimeMilliseconds animation time for remove.
-     */
-    OSN_IMPORT void removeAndDestroyVisuals( int aTimeMilliseconds );
-
-private:
-    friend class AlfRecyclingGridElementImpl;
-    auto_ptr<AlfRecyclingGridElementImpl> mImpl;
-    };
-
-    } // namespace
-
-#endif // ALF_RECYCLINGGRIDELEMENT_H
--- a/inc/alf/alfreferencetovisual.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-/*
-* 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:  Visual class for alfred widget model.
-      This class queries the visual by name and ID.
-*
-*/
-
-
-#ifndef ALFREFERENCETOVISUAL_H
-#define ALFREFERENCETOVISUAL_H
-
-//INCLUDES
-#include <osn/osndefines.h>
-#include <osn/ustring.h>
-// FORWARD DECLARATIONS
-class CAlfControl;
-class CAlfVisual;
-
-
-using namespace osncore;
-
-namespace Alf
-    {
-class CAlfWidgetControl;
-
-/** @class AlfReferenceToVisual alfreferencetovisual.h "alf/alfreferencetovisual.h"
- * A class for finding a specific visual according to
- * the name of the visual, name of the parent element,
- * and the associated data ID. The number of visual
- * trees created by an element may depend on the data.
- * Therefore, the visual structure is not always known
- * beforehand. CAlfControl::FindElement() and MAlfElement::FindVisual
- * can be used to find elements and visuals even in dynamic
- * conditions.
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfReferenceToVisual
-    {
-public:
-
-    /**
-     * constructor.
-     *
-	 * @exception std::bad_alloc     
-     * @since S60 ?S60_version
-     * @param aElementName The name of the element that is responsible
-    *      for creating the visual.
-     * @param aVisualName The name of the visual.
-     * @param aUseDataID Deprecated and not used. The given data ID is always
-     * used when resolving the visual. Only if the visual is not found with
-     * the given data ID, then the data ID zero is tested for global visuals.
-     * @return New object.
-     */
-    OSN_IMPORT static AlfReferenceToVisual* create(
-        const char* aElementName,const char* aVisualName, bool aUseDataID);
-
-    /** Destructor. No derived classes, therefore not virtual. */
-    OSN_IMPORT ~AlfReferenceToVisual();
-
-
-    /**
-     * Find the referenced visual according to the given data ID.
-     *
-     * @exception osncore::AlfVisualException Thrown with the error code osncore::ECommonError\n 
-     *										  when some operation performed on visual fails.
-     * @since S60 ?S60_version
-     * @param aControl  The control containing the associated element.
-     * @param aDataID  The data ID used to create the visual. The caller
-     *      is responsible for determining what data ID
-     *      is related to this reference. If the visual is not found with
-     * the given data ID, then the data ID zero is tried for global visuals.
-     * @return The resolved visual.
-     */
-    OSN_IMPORT CAlfVisual* resolve(CAlfWidgetControl& aControl, unsigned int aDataID);
-
-    /**
-     * Finds the referenced visual according to given pointer to visual
-     *
-        * @since S60 ?S60_version
-        * @param aControl      The control containing the associated element.
-        * @param aSourceVisual  Pointer to visual that needs to be queried.
-        */
-    OSN_IMPORT CAlfVisual* resolve(CAlfWidgetControl &aControl, CAlfVisual* aSourceVisual);
-private:
-    /**
-     * constructor
-     */
-    AlfReferenceToVisual(const char* aElementName,const char* aVisualName, bool aUseDataID);
-
-private:
-    // The element name. Owned.
-    UString mElementName;
-    // The visual name. Owned.
-    UString mVisualName;
-    // The associated data ID.
-    bool mUseDataID;
-    };
-
-    } // namespace Alf
-
-#endif //ALFREFERENCETOVISUAL_H
-
--- a/inc/alf/alfsettertype.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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:   Setter type Header.
-*
-*/
-
-
-#ifndef ALFSETTERTYPE_H
-#define ALFSETTERTYPE_H
-
-#include <e32def.h>
-
-enum SetterType
-    {
-    ECommandAttributeSetter,
-    EVisualAttributeSetter,
-    ELayoutAttributeSetter,
-    EWidgetAttributeSetter,
-    ECustomAttributeSetter
-    };
-
-#endif // ALFSETTERTYPE_H
--- a/inc/alf/alftextvisualattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
-* 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:   Text visual attribute setter Header.
-*
-*/
-
-
-#ifndef ALFTEXTVISUALATTRIBUTESETTER_H
-#define ALFTEXTVISUALATTRIBUTESETTER_H
-
-//includes
-
-//widget model includes
-#include "alf/alfcommonvisualattributesetter.h"
-
-//osn includes
-#include <osn/osndefines.h>
-
-namespace Alf
-    {
-
-/**
- *  @class AlfTextVisualAttributeSetter alftextvisualattributesetter.h "alf/alftextvisualattributesetter.h"
- *  The implementation of the attribute setter for setting text visual attributes.
- *  @see IAlfAttributeSetter
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- *  @interfaces IAlfAttributeSetter
- */
-class AlfTextVisualAttributeSetter : public AlfCommonVisualAttributeSetter
-    {
-
-public:
-
-    /**
-     * Constructor.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if aVisual is not 
-     *                                        a text visual.
-     * @exception osncore::AlfDataException   Thrown with error code osncore::EInvalidAttribute if the data field  
-     *                                        for data attributes is 0.
-     * @exception osncore::AlfDataException   Thrown with error code osncore::EInvalidVariantDataType if aData  
-     *                                        for data attributes is 0.
-     * @exception osncore::AlfDataException   Thrown with error code osncore::ECommonError if setting of text color
-     *                                        from skin fails.
-     * @exception osncore::AlfAttributeException   Thrown with error code osncore::EInvalidAttribute if there are 
-     *                                        invalid number or type of attributes while attempting to set text color.
-     *                                        See language specification on how to create these attributes.
-     * @exception osncore::AlfDataException   Thrown with error code osncore::ECommonError if setting text to the  
-     *                                        text visual fails.
-     * @exception osncore::AlfDataException   Thrown with error code osncore::EInvalidVariantDataType if aData  
-     *                                        for data attributes is 0.
-     *
-     * @param aType Type of the attribute setter.
-     */
-    OSN_IMPORT AlfTextVisualAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfTextVisualAttributeSetter();
-
-    /**
-     * Sets the attribute values to the target visual.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the value of the attributes.
-     *        Ownership of the object is not transferred.
-     * @param aData Used with data attributes to fetch the data.
-     */
-    OSN_IMPORT virtual void setAttributeValue (
-        CAlfVisual &aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData );
-
-    /**
-     * Depracated! Do not use!
-     * Creates a command to change the value of an attribute in the target visual gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute. Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual.
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand (
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData,
-        int aTransitionTime = 0,
-        CAlfVisual* aRefVisual = NULL );
-
-    /**
-     * Creates commands to change the given attribute values in the target visual gradually with a transition.
-     * Then sends the commands via the ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     * used by the attribute setter. Ownership is not transferred. The container
-     * can hold new values for multiple different attributes, in which case several
-     * commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands (
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        CAlfVisual* aRefVisual = NULL );
-protected:
-
-    /**
-     * From CAlfCommonVisualAttributeSetter
-     * Sets an value of a static attribute to target visual immediately without a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer);
-
-    /**
-     * From CAlfCommonVisualAttributeSetter
-     * Sets an dynamic attribute value in the target visual using transitions defined in attributes
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer);
-
-    /**
-     * From CAlfCommonVisualAttributeSetter
-     * Sets an value for static attribute in the target visual immediately without a transition using data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData );
-
-    /**
-     * From CAlfCommonVisualAttributeSetter
-     * Sets an value for dynamic attribute value in the target visual using transitions and data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData );
-
-private: // data
-	
-	/**
-	 * Localisation attribute setter helper method. Helper Method.
-	 *
-	 * @aLocId localisationid defined in .loc files.
-	 * @aLang  Required language for the text.
-	 *
-	 */
-	 
-	void setLocalisedText(CAlfVisual& aVisual,const char* aLocId,AlfAttribute* aLangAttr,AlfAttribute* aVarArgsAttr);
-
-	/**
-	 * Helper method to set Text Visual color.
-	 * 
-	 * @aTextVisual TextVisual to which Color has to be set.
-	 * @aColorTable Logicalname for colortable.
-	 * @aColorIndex Color Index for the colortable.
-	 * 
-	 * @exception osncore::ThemeException   Thrown when skinID is not found.
-	 *
-	 */
-	void setTextSkinColor(CAlfTextVisual& aTextVisual, const Utf8* aColorTable, 
-													   const char* aColorIndex=NULL);
-
-    };
-
-    } // namespace Alf
-
-#endif // ALFIMAGEVISUALATTRIBUTESETTER_H
-// End of file
-
-
--- a/inc/alf/alfviewportlayoutattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* 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:   Viewport layout attribute setter header.
-*
-*/
-
-
-#ifndef ALFVIEWPORTLAYOUTATTRIBUTESETTER_H
-#define ALFVIEWPORTLAYOUTATTRIBUTESETTER_H
-
-//includes
-
-//widget model includes
-#include "alf/alfcommonlayoutattributesetter.h"
-
-//osn includes
-#include <osn/osndefines.h>
-
-
-namespace Alf
-    {
-
-/**
- *  @class AlfViewportLayoutAttributeSetter alfviewportlayoutattributesetter.h
- *  "alf/alfviewportlayoutattributesetter.h"
- *
- *  The implementation of the attribute setter for setting viewport 
- *  layout attributes.
- *
- *  @see IAlfAttributeSetter
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- *  @interfaces IAlfAttributeSetter
- */
-class AlfViewportLayoutAttributeSetter : public AlfCommonLayoutAttributeSetter
-    {
-
-public:
-
-    /**
-     * Constructor.
-     */
-    OSN_IMPORT AlfViewportLayoutAttributeSetter();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfViewportLayoutAttributeSetter();
-
-
-    /**
-     * Sets an attribute value in the target visual immediately without a transition.
-     * @exception osncore::AlfVisualException Thrown with error code 
-     *     osncore::EInvalidVisual if aVisual is not viewport layout.
-     * @exception osncore::AlfDataException Thrown with error code 
-     *     osncore::EInvalidVariantDataType if aData  for data attributes is 0.
-     * @exception osncore::AlfDataException Thrown with error code 
-     *     osncore::EIncompleteAttributeValues if the aContainer contains an
-     *     incomplete set of attributes. See language specification on creating
-     *     attributes for viewport layout. 
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *      Ownership of the object is not transferred.
-     * @param aData Used with data attributes to fetch the data.
-     */
-    OSN_IMPORT virtual void setAttributeValue (
-                                CAlfVisual &aVisual,
-                                AlfAttributeContainer* aContainer,
-                                IAlfMap* aData );
-
-    /**
-     * Depracated! Do not use!
-     * Creates a command to change the value of an attribute in the target
-     * visual gradually with a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute.
-     *      Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target
-     *      value of the attribute is defined by adding the value
-     *      specific by aContainer to the corresponding attribute
-     *      value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual.
-     */
-    OSN_IMPORT virtual TAlfCommand* createCommand (
-                                        CAlfVisual& aVisual,
-                                        AlfAttributeContainer* aContainer,
-                                        IAlfMap* aData,
-                                        int aTransitionTime = 0,
-                                        CAlfVisual* aRefVisual = NULL );
-
-    /**
-     * Creates commands to change the given attribute values in the target
-     * visual gradually with a transition. Then sends the commands via the
-     * ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     *     used by the attribute setter. Ownership is not transferred.The
-     *     container can hold new values for multiple different attributes, in
-     *     which case several commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target
-     *     value of the attribute is defined by adding the value specific by 
-     *     aContainer to the corresponding attribute value in the reference
-     *     visual.
-     */
-    OSN_IMPORT virtual void createAndSendCommands (
-                                CAlfVisual& aVisual,
-                                AlfAttributeContainer* aContainer,
-                                CAlfVisual* aRefVisual = NULL );
-
-
-protected:
-
-    /**
-     * Sets a dynamic attribute value in the target visual using transitions
-     * defined in attributes
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *      object is not transferred.
-     */
-    virtual void handleDynamicAttribute (
-                     CAlfVisual &aVisual,
-                     AlfAttribute& aAttr,
-                     AlfAttributeContainer& aContainer);
-
-    /**
-     * Sets a value for static attribute in the target visual immediately
-     * without a transition using data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *      object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticDataAttribute (
-                     CAlfVisual &aVisual, AlfAttribute& aAttr,
-                     AlfAttributeContainer& aContainer, IAlfMap* aData );
-
-    /**
-     * Sets a value for dynamic attribute value in the target visual using
-     * transitions and data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *      object is not transferred.
-        * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleDynamicDataAttribute (
-                     CAlfVisual &aVisual, AlfAttribute& aAttr,
-                     AlfAttributeContainer& aContainer, IAlfMap* aData);
-
-    /**
-     * Sets a value of a static attribute to target visual immediately without
-     * a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *      object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     */
-    virtual void handleStaticAttribute (
-                     CAlfVisual &aVisual, AlfAttribute& aAttr,
-                     AlfAttributeContainer& aContainer);
-
-private:
-
-    /**
-     * Sets a dynamic attribute value in the target visual using transitions
-     * defined in attributes
-     *
-     * @since S60 ?S60_version
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *      object is not transferred.
-     * @param aImmediate if true, the change is immediate and time value of
-     *      the attribute is not used.
-     */
-    bool doHandleDynamicAttribute (
-            CAlfVisual &aVisual, AlfAttribute& aAttr,
-            AlfAttributeContainer& aContainer, bool aImmediate = false);
-
-    /**
-     * Sets a value for dynamic attribute value in the target visual using
-     * transitions and data in map.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aAttr The attribute to process. Doesn't take ownership
-     * @param aContainer The container holding attributes. Ownership of the
-     *      object is not transferred.
-     * @param aData Contains data.Ownership of the object is not transferred.
-     * @param aImmediate if true, the change is immediate and time value of
-     *      the attribute is not used.
-     */
-    bool doHandleDynamicDataAttribute (
-             CAlfVisual &aVisual, AlfAttribute& aAttr,
-             AlfAttributeContainer& aContainer, IAlfMap* aData,
-             bool aImmediate = false);
-
-    /**
-    * Gets the data from map pointed by attribute's field name.
-    *
-    * @param aAttr The attribute to process. Doesn't take ownership
-    * @param aData Contains data.Ownership of the object is not transferred.
-    *
-    * @return pointer to the data from map pointed by attribute's field name.
-    */
-    IAlfVariantType* getData(AlfAttribute& aAttr, IAlfMap* aData);
-
-    /**
-    * gets the time from attribute safely.
-    *
-    * @param aAttr The attribute to process. Doesn't take ownership
-    * @param aImmediate if true, returns 0 else the time set for the attribute
-    */
-    int getTime(const AlfAttribute& aAttr, bool aImmediate = false);
-
-private: // data
-    };
-
-    } // namespace Alf
-
-#endif // ALFVIEWPORTLAYOUTATTRIBUTESETTER_H
-// End of file
-
-
--- a/inc/alf/alfvisualtemplate.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,651 +0,0 @@
-/*
-* 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:  Visual template class for alfred widget model.
-*      This class creates and updates visual tree.
-*
-*/
-
-
-#ifndef ALF_VISUALTEMPLATE_H
-#define ALF_VISUALTEMPLATE_H
-
-#include <osn/osndefines.h>
-#include <alf/alflayout.h>
-#include "alf/ialfvisualtemplate.h"
-#include <osn/ustring.h>
-#include <osn/alfptrvector.h>
-#include <alf/ialfinterfacebase.h>
-#include <vector>
-
-class CAlfControl;
-class CAlfBrush;
-class CAlfVisual;
-
-using namespace osncore;
-
-namespace Alf
-    {
-// FORWARD DECLARATIONS
-class IAlfMap;
-class IAlfAttributeSetter;
-class AlfAttributeContainer;
-
-/**
- * @class AlfVisualTemplate alfvisualtemplate.h "alf/alfvisualtemplate.h"
- * A generic visual template for creating or updating a visual tree.
- * The visual templates may form a tree structure that matches
- * the visual tree to be created or updated. Each template is
- * responsible for creating and initializing a single visual.
- * Visual templates contain a number of attribute setters
- * to initialize or update the visuals. Attribute setters use values
- * from the corresponding attribute containers.
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- * @interfaces IAlfVisualTemplate
- */
-class AlfVisualTemplate : public IAlfVisualTemplate
-    {
-public:
-
-    /**
-     * Constructor for a template for creating a visual.
-     * @exception std::bad_alloc
-     *            
-     * @since S60 ?S60_version
-     *
-     * @param aType  The type of the visual to create.
-     */
-    OSN_IMPORT static AlfVisualTemplate* create(TAlfVisualType aType);
-
-    /**
-     * Constructor for a template for creating a layout.
-     * @exception std::bad_alloc
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aType  The type of the layout to create.
-     */
-    OSN_IMPORT static AlfVisualTemplate* create(TAlfLayoutType aType);
-
-    /**
-     * Constructor for an empty template.
-     * @exception std::bad_alloc
-     *
-     * @since S60 ?S60_version
-     *
-     */
-    OSN_IMPORT static AlfVisualTemplate* create();
-
-    // Destructor.
-    OSN_IMPORT virtual ~AlfVisualTemplate();
-
-	//From IAlfVisualTemplate
-         
-    /**
-     * Sets the owner element. User should not call this method directly. It will
-     * be called implicitly by Alf::IAlfElement::setVisualTemplate() method.
-     * Call to this method cannot throw an exception.
-     *
-     * @see Alf::IAlfElement::setVisualTemplate()
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aOwner Element that owns this root visual template.
-     */
-    OSN_IMPORT void setOwner(IAlfElement* aElement) throw();
-    
-    /**
-     * Returns the owner element. Call to this method cannot
-     * throw an exception.
-     *
-     * @see Alf::IAlfElement::setVisualTemplate()
-     *
-     * @since S60 ?S60_version
-     *
-     * @return The owner element of a visual template, if this visual template is owned
-     *         by an element. NULL if visual template is not owned by an element.
-     */
-    OSN_IMPORT IAlfElement* owner() const throw();
-
-    /**
-     * Set name of the visual. This name is used when creating
-     * concrete visual trees. Name is assigned to each of the produced concrete
-     * visuals as a tag. Note thus that all concrete visual
-     * trees produced from this visual template share the same tag.
-     *
-     * @see name()
-     *
-     * @exception std::bad_alloc thrown if heap memory allocation fails.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aName The name of the visual.
-     */
-    OSN_IMPORT void setName(const char* aName);
-    
-    /**
-     * Returns the name of the visual. Call to this method
-     * cannot throw an exception.
-     *
-     * @see setName()
-     *
-     * @since S60 ?S60_version
-     *
-     * @return aName The name of the visual.
-     */
-    OSN_IMPORT const char* name() const throw();
-
-    /**
-     * Get the number of child visual templates.
-     * This returns the number of child visual templates directly
-     * under this visual template in the visual template
-     * hierarchy. Call to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     *
-     * @return The number of direct child visual templates
-     *         under this visual template in the visual template hierarchy.
-     */
-    OSN_IMPORT int numChildTemplates() const throw();
-
-    /**
-     * Returns a child visual template at a given index.
-     *
-     * @exception osncore::AlfException thrown with error code osncore::EInvalidArrayIndex if
-     *            the index is out of bounds.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aIndex The index of the child visual template.
-     *
-     * @return Reference to the child visual template object.
-     */
-    OSN_IMPORT IAlfVisualTemplate& childTemplate(int aIndex) const;
-
-    /**
-     * Add a child visual template. The visual templates may form
-     * a tree structure to create and update a visual tree. The visuals
-     * created by children are added to the layout created by this
-     * visual template. This visual template acquires the ownership for the
-     * child visual template passed as an argument.
-     *
-     * If a visual template added as a child to this visual template is owned
-     * by an Alf::IAlfElement the connection between the child visual template
-     * and its owner element is implicitly removed in this call when a 
-     * parent-child connection is created. Effectively having a parent visual
-     * template or being owned by an element are mutually exclusive properties
-     * for a visual template. Elements can own only root visual templates and
-     * if an owned root visual template becomes a child of another visual 
-     * template the visual template will be removed from the associated owner
-     * element.
-     *
-     * @see insertChildTemplate()
-     *
-     * @exception std::bad_alloc Thrown if memory allocation fails in appending the child
-     *            visual template to child array of this visual template.
-     * @exception osncore::AlfException thrown with error code osncore::EInvalidHierarchy if
-     *            the call to this method would result in an invalid visual template hierarchy.
-     *            This can occur if a child is added to a non-layout visual template or if a
-     *            call would result in a parent becoming a descendant of it's child (a recursive
-     *            tree).
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aChild Child visual template to be appended to the children of this visual template.
-     */
-    OSN_IMPORT void addChildTemplate(IAlfVisualTemplate& aChild);
-    
-    /**
-     * Inserts a child visual template at given index. The visual templates may form
-     * a tree structure to create and update a concrete visual tree. The concrete visuals
-     * created by children are added to the layout created by this
-     * visual template. This visual template acquires the ownership of the inserted
-     * child visual template.
-     *
-     * @see addChildTemplate()
-     *     
-     * @exception std::bad_alloc thrown if memory allocation fails in inserting the child visual
-     *            template to the child list of this visual template.
-     * @exception osncore::AlfException thrown with error code osncore::EInvalidArrayIndex when
-     *            index supplied is out of range for array of visual templates.
-     * @exception osncore::AlfException thrown with error code osncore::EInvalidHierarchy if
-     *            the call to this method would result in an invalid visual template hierarchy.
-     *            This can occur if a child is added to a non-layout visual template or if a
-     *            call would result in a parent becoming a descendant of it's child (a recursive
-     *            tree) or if the same child visual template is added to the hierarchy twice.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aChild  The child visual template.
-     * @param aIndex  Position at which child template is to be added.
-     */
-    OSN_IMPORT void insertChildTemplate(IAlfVisualTemplate& aChild, int aIndex);
-
-    /**
-     * Removes and destroyes a child visual template from an index in the child list
-     * of this visual template. This will recursively also destroy all child visual templates
-     * in the hierarchy below the destroyed child visual template. This call is silently
-     * ignored if the index is out of bounds. Call to this method cannot throw an
-     * exception.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aIndex Position from which child visual template is to be removed.
-     */
-    OSN_IMPORT void destroyChildTemplate(int aIndex) throw();
-
-    /**
-     * Destroyes a child visual template with the given name and removes it from the children
-     * of this visual template. This will recursively also destroy all child visual templates
-     * in the hierarchy below the destroyed child visual template. This call is silently
-     * ignored if a child visual template with the given name is not found. Call
-     * to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aName Name of child visual template to be destroyed.
-     */
-    OSN_IMPORT void destroyChildTemplate(const char* aName) throw();
-
-    /**
-     * Add a new attribute setter and associated attribute container to set visual attributes
-     * of the concrete visual hierarchies created or updated with this visual template hierarchy.
-     * This visual template object acquires ownership of both the passed attribute setter as well
-     * as the attribute container. Attribute containers in a visual template are iterated through
-     * whenever concrete visual trees are created or updated. Concrete visual tree attributes
-     * are set from the data passed in through the createVisualTree() and updateVisualTree() methods
-     * using the attribute setters and containers added into the visual template using this method.
-     *
-     * @see createVisualTree()
-     * @see updateVisualTree()
-     *
-     * @exception std::bad_alloc thrown if heap memory allocation fails.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aSetter Attribute setter that will be used to set the attributes in the passed in
-     *                container to concrete visuals.
-     * @param aContainer Container holding the attribute value used by the attribute setter.
-     */
-    OSN_IMPORT void addAttributeSetter(IAlfAttributeSetter* aSetter,
-                                       AlfAttributeContainer* aContainer);
-
-    /**
-     * Get the number of the attribute setters and the corresponding attribute containers.
-     * Call to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     *
-     * @return The number of the attribute setters and containers.
-     */
-    OSN_IMPORT int numAttributeSetters() const throw();
-
-    /**
-     * Returns an attribute setter maintained in this visual template from the given index.
-     *
-     * @exception osncore::AlfException thrown with error code osncore::EInvalidArrayIndex if
-     *            the given index is out of bounds.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aIndex The index of the visual attribute setter.
-     * @return Reference to the attribute setter object.
-     */
-    OSN_IMPORT IAlfAttributeSetter& attributeSetter( int aIndex ) const;
-
-    /**
-     * Returns an attribute container maintained in this visual template from the given index.
-     *
-     * @exception osncore::AlfException thrown with error code osncore::EInvalidArrayIndex if
-     *            the given index is out of bounds.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aIndex The index of the visual attribute container.
-     * @return Reference to the attribute container object.
-     */
-    OSN_IMPORT AlfAttributeContainer& attributeContainer( int aIndex ) const;
-
-    /**
-     * Update an existing concrete visual tree with new values. The existing visual tree
-     * should be produced from this visual template hierarchy using the createVisualTree() -
-     * method.
-     * 
-     * @see createVisualTree()
-     * @see setSelectChildMode()
-     * @see addAttributeSetter()
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aData A map containing new data for the visuals.
-     * @param aOldData Old data, that will be replaced. This is used to for instance tear down
-     *                 the old selected child branch before creating a new branch in the selected
-     *                 child mode.
-     * @param aVisual The root of the concrete visual tree that will be updated. This root visual
-     *                needs to match this visual template and should have been created using this
-     *                visual template.
-     * @return Root visual of the updated concrete visual tree.
-     */
-    OSN_IMPORT CAlfVisual* updateVisualTree(IAlfMap* aData,
-                                            IAlfMap* aOldData, CAlfVisual& aVisual);
-
-    /**
-     * Creates a new concrete visual tree from this visual template hierarchy and initializes the visuals.
-     * Created visual tree matches the visual template hierarchy under this visual template.
-     *
-     * @see updateVisualTree()
-     * @see setSelectChildMode()
-     * @see addAttributeSetter()
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aControl The owner control of the new concrete visual hierarchy.
-     * @param aData A map containing data for the visuals. This is used to set the attributes of the
-     *              produced concrete visuals using the attribute containers and attribute setters
-     *              added through the addAttributeSetter() - method.
-     * @param aParentLayout Concrete layout visual to insert the created concrete visual tree into.
-     *                      Parent layout for a created visual.
-     * @param aLayoutIndex Ordinal index, into where the created visual should be placed in the parent layout.
-     *
-     * @return Pointer to the root visual object of the concrete visual hierarchy that was constructed.
-     */
-    OSN_IMPORT CAlfVisual* createVisualTree(CAlfControl& aControl,
-                                            IAlfMap* aData, CAlfLayout* aParentLayout, int aLayoutIndex);
-
-    /**
-     * Set the visual type. Every visual template maps to
-     * one concrete visual or layout type. Each visual template
-     * node in the visual template hierarchy can produce
-     * only visuals that match its type. Container nodes
-     * in the visual template hierarchy map to layouts
-     * and leaf visual template nodes map to visuals.
-     *
-     * Call to this method will make this visual template 
-     * a visual type. The type can thus change from layout
-     * type to a visual type.
-     *
-     * @see setLayoutType()
-     * @see visualType()
-     * @see layoutType()
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aType Type of visual
-     */
-    OSN_IMPORT void setVisualType(TAlfVisualType aType);
-
-    /**
-     * Get the visual type
-     *
-     * @since S60 ?S60_version
-     *
-     * @return aType Type of visual
-     */
-    OSN_IMPORT int visualType() const throw();
-
-    /**
-     * Set the layout type. Every visual template maps to
-     * one concrete visual or layout type. Each visual template
-     * node in the visual template hierarchy can produce
-     * only visuals that match its type. Container nodes
-     * in the visual template hierarchy map to layouts
-     * and leaf visual template nodes map to visuals.
-     *
-     * Call to this method will make this visual template 
-     * a layout type. The type can thus change from visual
-     * producer to a layout producer.
-     *
-     * @see setVisualType()
-     * @see visualType()
-     * @see layoutType()
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aType Type of layout
-     */
-    OSN_IMPORT void setLayoutType(TAlfLayoutType aType);
-
-    /**
-     * Get the layout type or a negative integer
-     * if this visual template is of visual type.
-     * Call to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     *
-     * @return Type of layout that this visual template produces
-     *         or a negative integer if this visual template
-     *         produces visuals.
-     */
-    OSN_IMPORT int layoutType() const throw();
-
-    /**
-     * Adds brush to the brush array.
-     *
-     * All brushes added to a visual template will be applied to
-     * the produced concrete visual when one is produced. The same
-     * brush array is shared across all concrete visual instancies
-     * created from same visual template.
-     * 
-     * @see brush()
-     * @see numBrushes()
-     *
-     * @exception std::bad_alloc thrown if a heap memory allocation fails.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aBrush Brush to be added
-     */
-    OSN_IMPORT void addBrush(CAlfBrush& aBrush);
-
-    /**
-     * Get the munber of brushes
-     *
-     * @since S60 ?S60_version
-     *
-     * @return The number of brushes
-     */
-    OSN_IMPORT int numBrushes() const;
-
-    /**
-     * Returns a brush instance from the array of brushes.
-     *
-     * @see addBrush()
-     * @see numBrushes()
-     *
-     * @exception osncore::AlfException thrown with error code osncore::EInvalidArrayIndex if
-     *            the given index is out of bounds.
-     *     
-     * @since S60 ?S60_version
-     *
-     * @param aIndex The index into the array of brushes.
-     *
-     * @return Reference to the brush object instance at the given array index.
-     */
-    OSN_IMPORT CAlfBrush& brush(int aIndex) const;
-
-    /**
-     * Enables or disables selected child mode. By default
-     * this is disabled and thus visual template creates or updates
-     * all its children when createVisualTree() or updateVisualTree()
-     * is called. If selected child mode is enabled the visual template 
-     * will create or update only the selected child. The child which 
-     * is affected in selected child mode is determined in the data passed
-     * in the createVisualTree() or updateVisualTree() method. In the 
-     * passed data map a search is done to match the child index 
-     * field name with the keys in the map. If an entry is found its value
-     * is used as an index to determine the child branch that is to be 
-     * created or updated.
-     *
-     * @see createVisualTree()
-     * @see updateVisualTree()
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aSelectChild Set to true to enable the child mode or false to disable the child mode.
-     * @param aChildIndFieldName Key in data map, from which entry the index of
-     *                           the selected child is fetched.
-     */
-    OSN_IMPORT void setSelectChildMode(bool aSelectChild,
-                                       const UString& aChildIndFieldName );
-
-    //From IAlfInterfaceBase
-    /**
-     * From IAlfInterfaceBase.
-     * Getter for interfaces provided by the visual template.
-     * Derived classes should always call the base class method
-     * from the overridden makeInterface.
-     *
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    OSN_IMPORT virtual IAlfInterfaceBase* makeInterface( const IfId& aType );
-
-    /**
-     * Removes the given child visual template from this visual template.
-     * Call to this method is silently ignored if the given visual template
-     * is not found from children. The parent template of the removed child
-     * is set to null. Ownership of the removed child visual template is
-     * transferred to the caller of this method. Call to this method cannot
-     * throw an exception.
-     *
-     * @see setParent()
-     * @see parent()
-     *
-     * @param aChild Reference to the child visual template that is located
-     *               and removed from this visual template.
-     */
-    void removeChildTemplate(IAlfVisualTemplate& aChild) throw();
-    
-    /**
-     * Retrieves pointer to the parent visual template.
-     * Returns NULL if this is a root visual template of a visual template
-     * hierarchy. Call to this method cannot throw an exception.
-     *
-     * @see addChildTemplate()
-     * @see insertChildTemplate()
-     * @see Alf::IAlfElement::setVisualTemplate()
-     *
-     * @return Pointer to a Alf::IAlfVisualTemplate object that this visual template
-     *         is a child of.
-     */
-    OSN_IMPORT IAlfVisualTemplate* parent() const throw();
-        
-    /**
-     * Sets the parent visual template.
-     *
-     * User should not call this method directly. It will be called implicitly
-     * by addChildTemplate() or insertChildTemplate() methods of
-     * the parent visual template into which this visual template is
-     * added to.
-     *
-     * Parent visual template and owner element are mutually exclusive.
-     * If a visual template is added under another visual template
-     * in a visual template hierarchy the connection to owner element
-     * is implicitly removed. Alf::IAlfElement objects can thus own only
-     * roots of visual template hierarchies.
-     *
-     * Call to this method cannot throw an exception.
-     * 
-     * @see addChildTemplate()
-     * @see insertChildTemplate()
-     * @see parent()
-     * @see Alf::IAlfElement::setVisualTemplate()
-     *
-     * @param aParent Pointer to a parent visual template under which this
-     *                visual template is located in in the visual template
-     *                hierarchy or null, if the visual template is removed from
-     *                a visual template hierarchy.
-     */
-    OSN_IMPORT void setParent(IAlfVisualTemplate* aParent) throw();
-
-protected:
-    /**
-     * c++-constructor for a template for creating a visual.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aType  The type of the visual to create.
-     */
-    OSN_IMPORT AlfVisualTemplate(TAlfVisualType aType);
-
-    /**
-     * c++-constructor for a template for creating a layout.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aType  The type of the layout to create.
-     */
-    OSN_IMPORT AlfVisualTemplate(TAlfLayoutType aType);
-
-    /**
-     * c++-constructor for an empty template.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfVisualTemplate();
-
-private:
-    /**
-     * returns the index to child, that should be created. The index is
-     * fetched from the data.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aData data-map, where the index is fetched.
-     * @return  index to child, that should be created.
-     */
-    int selectedChildInd(IAlfMap* aData);
-    
-private:
-
-    // Type of the visual to create.
-    // Negative values are layout types, positive values visual types.
-    int mVisualType;
-
-    // The array containing child visual templates. Owned.
-    std::vector<IAlfVisualTemplate*> mChildren;
-
-    // The tag of the visual to create.
-    UString mVisualName;
-
-    // The array containing visual attribute setters. Owned.
-    AlfPtrVector<IAlfAttributeSetter> mAttributeArray;
-
-    // The array containing attribute containers.
-    AlfPtrVector<AlfAttributeContainer> mContainerArray;
-
-    //The array containing brushes. Owned.
-    AlfPtrVector<CAlfBrush> mBrushArray;
-
-    //if true, creates only one child visual tree.
-    bool mSelectOneChild;
-
-    //field name in data where child index is read.
-    //if iSelectOneChild is true, index points to child in childarray, to create.
-    UString mChildIndFieldName;
-    
-    // Owner element of this visual template. Not owned.
-	IAlfElement* mOwner;
-	
-	// Pointer to the parent visual template.
-	IAlfVisualTemplate* mParent;
-    };
-
-    } // namespace Alf
-
-#endif //ALF_VISUALTEMPLATE_H
--- a/inc/alf/alfwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,332 +0,0 @@
-/*
-* 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:  The base class for all widgets.
-*
-*/
-
-
-#ifndef ALFWIDGET_H
-#define ALFWIDGET_H
-
-#include <osn/osndefines.h>
-#include <alf/ialfwidget.h>
-#include <memory>
-#include <osn/ustring.h>
-#include "alf/ialfcontainerwidget.h"
-#include <alf/alfwidgetcontrol.h>
-
-#include <vector>
-
-
-class CAlfEnv;
-class CAlfDisplay;
-
-namespace osncore
-    {
-template <class T> class AlfPtrVector;
-    }
-
-using namespace std;
-using namespace osncore;
-
-
-namespace Alf
-    {
-
-//class CAlfWidgetControl;
-class IAlfModel;
-class IAlfWidgetFactory;
-class AlfWidgetImpl;
-
-
-/**
- * @class AlfWidget alfwidget.h "alf/alfwidget.h"
- * The base class for widgets.
- * @see IAlfWidget IAlfContainerWidget IAlfHostApi
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- * @interfaces IAlfWidget,IAlfAttributeOwner,IAlfContainerWidget,IAlfWidgetControl,IAlfHostAPI,
- *             All interfaces returned by the elements associated with the widget's control,
- *             All interfaces returned by the layout manager associated widget control ,  
- *             All interfaces returned by the model assoiated with the widget.
- */ 
-class AlfWidget : public IAlfContainerWidget
-    {
-public:
-    /**
-     * Constructor.
-     *
-     * This will create a default control to the widget to enable the widget
-     * containment hierarchy from the beginning. User can replace the default
-     * control with custom control by calling the setControl() - method.
-     * @exception std::bad_alloc
-     *
-     * @see setControl()
-     *
-     * @param aWidgetName The name of the widget.
-     * @param aContainer  Container widget that will contain this widget.
-     * @param aEnv        Toolkit environment object that will be used to create the
-     *                    default control.
-     */
-    OSN_IMPORT AlfWidget(const char* aWidgetName, IAlfContainerWidget& aContainer, CAlfEnv& aEnv);
-
-    /**
-     * Constructor to be used only by view widget.
-     * All the other widgets should use the other public constructor to ensure
-     * widget hierarchy consistency from start.
-     * @exception std::bad_alloc
-     *
-     * @see AlfWidget(const char*, IAlfContainerWidget&, CAlfEnv&)
-     *
-     * @param aWidgetName The name of the widget.
-     */
-    OSN_IMPORT AlfWidget(const char* aWidgetName);
-
-    /**
-     * Destructor.
-     *
-     * It also takes care that all the child widgets contained by this widget
-     * are destroyed correctly, provided that they have been instantiated correctly
-     * (e.g. through widget factory) and thus added to the ALF environment (CAlfEnv).
-     *
-     * In other words, client code does not need to take care of destroying the child
-     * widgets contained by a container widget.
-     */
-    OSN_IMPORT virtual ~AlfWidget();
-
-    /**
-     * Constructor. The new widget is left on the cleanup stack.
-     *
-     * @since S60 ?S60_version
-     * @param aWidgetName The name of the widget.
-     * @return New object. The widgets are owned by Alfred.
-     */
-    OSN_IMPORT CAlfWidgetControl* control() const;
-    
-    /**
-     * Getter for the parent container. The ownership is not passed.
-     *
-     * @return the parent container or 0 if the widget is the root-widget.
-     */
-    OSN_IMPORT IAlfContainerWidget* parent() const;
-
-    /**
-     * Sets new widget control to this widget.
-     * @exception osncore::AlfException Thrown with error code osncore::EInvalidArgument if aControl is  
-     *                                  alreasy associated with another widget.      
-     * @see IAlfWidget::setControl()
-     *
-     * @since S60 ?S60_version
-     * @param aControl Control to be set to the widget.
-     * @param aDeletePreviousControl If true, the previous widget control is destroyed. 
-     */
-    OSN_IMPORT void setControl(CAlfWidgetControl* aControl, bool aDeletePreviousControl = true);
-
-    /**
-     * Constructor. The new widget is left on the cleanup stack.
-     *
-     * @since S60 ?S60_version
-     * @param aWidgetName The name of the widget.
-     * @return New object. The widgets are owned by Alfred.
-     */
-    OSN_IMPORT IAlfModel* model();
-
-    /**
-     * Sets the model for the Widget.
-     *
-     * @since S60 ?S60_version
-     * @param aModel Model to be set to this widget.
-     * @param aTakeOwnership Whether takes ownership or not.
-     */
-    OSN_IMPORT void setModel( IAlfModel* aModel,bool aTakeOwnerShip=true );
-
-    /**
-     * Constructor. The new widget is left on the cleanup stack.
-     *
-     * @since S60 ?S60_version
-     * @param aWidgetName The name of the widget.
-     * @return New object. The widgets are owned by Alfred.
-     */
-    OSN_IMPORT const char* widgetName() const;
-
-    //From IAlfInterfaceBase
-    /**
-     * Getter for interfaces provided by the widget, the control,
-     * or the model.
-     *
-     * @since S60 ?S60_version
-     * @param aWidget   The widget to get the interface for.
-     * @param aType     The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    OSN_IMPORT static IAlfInterfaceBase* makeInterface( AlfWidget* aWidget, const IfId& aType );
-
-    /**
-     * Template getter for interfaces provided by the widget, the control,
-     * or the model. The type of the queried interface is specified by the
-     * template parameter.
-     *
-     * @since S60 ?S60_version
-     * @param aWidget The widget to get the interface for.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    template <class T>
-    static T* makeInterface( AlfWidget* aWidget );
-
-    // from base class IAlfInterfaceBase
-
-    /**
-     * From IAlfInterfaceBase.
-     * Getter for interfaces provided by the widget classes.
-     * Derived classes should always call the base class method
-     * from the overridden MakeInterface.
-     *
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    OSN_IMPORT virtual IAlfInterfaceBase* makeInterface( const IfId& aType );
-
-    // from base class IAlfContainerWidget
-
-    /**
-     * Returns total number of widgets contained by this container.
-     *
-     * @return int Total number of widgets.
-     */
-    OSN_IMPORT int widgetCount() const;
-
-    /**
-     * Adds a child widget to the container.
-     *
-     * @param  aWidget Child widget to be added to container.
-     * return void
-     */
-    OSN_IMPORT void addWidget(IAlfWidget& aWidget);
-
-    /**
-     * Returns child widget at given index.If index is not found return null.
-     *
-     * @param  aIndex Index of widget to be returned.
-     * @return Widget at given index
-     */
-    OSN_IMPORT IAlfWidget* getWidget(int aIndex) const;
-    
-    /**
-     * Returns the child index, when given the child widget.
-     *
-     * @param  aWidget child widget, which index is returned 
-     * @return the index of the child widget, or -1, if widget is not child of this container.
-     */
-    OSN_IMPORT int getWidgetIndex(IAlfWidget& aWidget) const;
-
-    /**
-     * Removes the child widget from given index.
-     *
-     * @param aIndex Index from which widget has to be removed.
-     * return void
-     */
-    void removeWidget(int aIndex);
-
-    /**
-     * Sets the base layout of container widget.
-     *
-     * @param aLayout New base layout of container widget.
-     * return void
-     */
-    OSN_IMPORT void applyLayout(IAlfLayoutManager& aLayout);
-
-    //from IAlfWidget
-
-    /**
-     * Sets/Releases the Focus from child widget of container.
-     * Does not set the actual focused status in roster.
-     *
-     * @since S60 ?S60_version
-     * @param aFocus boolean value for focused status
-     * return void
-     */
-    OSN_IMPORT void setChildFocus(bool aFocus);
-    
-    /**
-     * Removes the given widget from this widget's child widget
-     * array. Does not modify control connections or control
-     * group containment.
-     *
-     * Does nothing if the given widget is not found from
-     * widget array.
-     *
-     * @param aWidget Reference to a widget that is searched
-     *                from the widget array of this widget and removed
-     *                of found.
-     */    
-    OSN_IMPORT void removeWidget(IAlfWidget& aWidget);
-
-    /** 
-     * Sets the presentation for the widget using presentation XML file.
-     * Destroys any existing presentation.
-     * @param aFilePath Path to XML file describing the presentation 
-     *                  of the widget. Not Owned.
-     * @exception AlfWidgetException if no visualization node available 
-     *                               in Presentation XML or if no control
-     *                               is associated with the widget.
-     * @exception bad_alloc 
-     * @since S60 ?S60_version
-     * @return void.
-     */
-    OSN_IMPORT void setPresentation(const char* aFilePath);
-    
-protected:
-
-    /**
-     * The protected constructor.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfWidget();
-
-private:
-
-    /**
-     * Adds the Common Properties for the widget
-     *
-     * @since S60 ?S60_version
-     */
-    void addCommonWidgetProperties();
-    
-    /**
-     * Removes reference from this widget's control to this
-     * widget.
-     */
-    void removeReferenceFromControl();
-
-private: // data
-
-    auto_ptr<AlfWidgetImpl> mImpl;
-    };
-
-using namespace osncore;
-
-#include "alf/alfwidget.inl"
-
-    } // namespace Alf
-
-#endif // ALFWIDGET_H
-
-// End of File
--- a/inc/alf/alfwidgetmodeldefines.hrh	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* 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:  Defines flags to enable debug macros
-*
-*/
-
-
-#ifndef ALFWIDGETMODELDEFINES_HRH
-#define ALFWIDGETMODELDEFINES_HRH
-
-//Enable description in errors thrown
-#define ALF_DEBUG_EXCEPTIONS 
-
-//Enable performance logs
-//#define ALF_DEBUG_PERFORMANCE  
-        
-
-#endif //ALFWIDGETMODELDEFINES_HRH
\ No newline at end of file
--- a/inc/alf/ialfattributeowner.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +0,0 @@
-/*
-* 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:  An interface for querying and setting attributes.
-*
-*/
-
-
-#ifndef I_ALFATTRIBUTEOWNER_H
-#define I_ALFATTRIBUTEOWNER_H
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-
-namespace osncore
-    {
-class UString;
-    }
-
-using namespace osncore;
-
-namespace Alf
-    {
-
-class AlfAttribute;
-class AlfAttributeValueType;
-class AlfAttributeContainer;
-
-namespace alfattributeowner
-    {
-static const IfId ident =
-    {
-    0, "alfattributeowner"
-    };
-    }
-
-/**
- *  An interface for querying and setting attributes.
- *  The interface defines a generic functionality for setting
- *  any attributes of the implementing class. It can be used
- *  also to query the available set of attributes.
- *
- *  The interface should by implemented by all widget classes.
- *  It can be also used by element classes.
- *  Widget attributes have often corresponding data fields in the
- *  model. In this case, setting new values should also update
- *  the model. If an attribute is related to the presentation of
- *  the widget, the presentation is updated when a new value is set
- *  for the attribute.
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class IAlfAttributeOwner : public IAlfInterfaceBase
-    {
-public:
-    /**
-     * Virtual destructor.
-     */
-    virtual ~IAlfAttributeOwner() {}
-
-    /**
-     * Get the number of available attributes.
-     *
-     * @return The number of attributes.
-     */
-    virtual int attributeCount() const = 0;
-
-    /**
-     * Gets the attribute with the given name.
-     * The returned attribute instance is owned by the widget and
-     * should not be deleted.
-     * Also the returned attribute instance should not be modified.
-     * Use SetAttribute for that.
-     *
-     * @param aAttribName The name of the attribute.
-     * @return The attribute, or 0 if the attribute was not found.
-     */
-    virtual const AlfAttribute* getAttribute( const UString& aAttribName ) const = 0;
-
-    /**
-     * Set a value of an attribute.
-     *
-     * If no value is present in passed attribute parameter,
-     * an AlfAttributeException-exception
-     * is thrown with EInvalidAttribute error code.
-     *
-     * @param aAttribute Reference attribute, the data is copied from it.
-     * The ownership is not transferred.
-     * @return True if the attribute was supported, false if not.
-     *         Attribute is added to container even if it not supported.
-     */
-    virtual bool setAttribute( const AlfAttribute& aAttribute ) = 0; 
-
-    /**
-     * Set a value of an attribute.
-     * This SetAttribute variant is for simple non animated attributes 
-     * that only have name and value.
-     *
-     * If no value is present in passed attributevalue parameter,
-     * an AlfAttributeException-exception
-     * is thrown with EInvalidAttribute error code.
-     *
-     * @param aAttribName Name of the attribute.
-     * @param aValue Value of the attribute. Ownership is transferred 
-     * @return True if the attribute was supported, false if not.
-     *         Attribute is added to container even if it not supported.
-     */    
-    virtual bool setAttribute( const UString& aAttribName, 
-        AlfAttributeValueType* aValue ) = 0; 
-    /**
-     * Sets values of each attribute in given container 
-     *
-     * If no value is present in an attribute in the container,
-     * an AlfAttributeException-exception
-     * is thrown with EInvalidAttribute error code.
-     *
-     * @param aAttributeContainer Reference attributeContainer, All attributes
-     *        in the container are handled. The ownership is not transferred.
-     * @return True if all attributes were supported, false if at least 1 attribute was not supported
-     */    
-    virtual bool setAttributeContainer( AlfAttributeContainer& aAttributeContainer ) = 0; 
-
-   /**
-     * Sets a value of an attribute to a specific target. 
-     * The target is identified by using aTargetId parameter.
-     *
-     * If no value is present in passed attribute parameter,
-     * an AlfAttributeException-exception
-     * is thrown with EInvalidAttribute error code.
-     *
-     * @param aTargetId  Name of the target widget part, e.g element class tag.
-     * @param aAttribute Reference attribute, the data is copied from it.
-     *                   The ownership is not transferred.
-     * @return True if the attribute was supported, false if not.
-     */    
-    virtual bool setAttribute( const UString& aTargetId , 
-                               AlfAttribute& aAttribute ) = 0; 
-
-
- 
-  /**
-     * Sets a value of an static attribute.
-     * This SetAttribute variant is for simple non animated attributes 
-     * that only have name and value.
-     *
-     * If no value is present in passed attributevalue parameter,
-     * an AlfAttributeException-exception
-     * is thrown with EInvalidAttribute error code.
-     *
-     * @param aTargetId   The name of the target widget part, e.g. element class
-     * @param aAttribName Name of the attribute.
-     * @param aValue      Value of the attribute. Ownership is transferred
-     * @return True if the attribute was supported, false if not.
-     */
-    virtual bool setAttribute( const UString& aTargetId, 
-                               const UString& aAttribName, 
-                               AlfAttributeValueType* aValue ) = 0;
- 
-   /**
-     * Sets values of each attribute in given container to a specific target. 
-     * The target is identified by using aTargetId parameter.
-     *
-     * If no value is present in an attribute in the container,
-     * an AlfAttributeException-exception
-     * is thrown with EInvalidAttribute error code.
-     *
-     * @param aTargetId  Name of the target widget part, e.g element class tag.
-     * @param aAttributeContainer Reference attributeContainer, All attributes
-     *        in the container are handled. The ownership is not transferred.
-     * @return True if all attributes were supported, false if at least 1 attribute was not supported
-     */    
-    virtual bool setAttributeContainer( const UString& aTargetId , 
-                               AlfAttributeContainer& aAttributeContainer ) = 0; 
-
-		/**
-     * Gets the attribute with the given name from specific target.
-     * The returned attribute instance is owned by the widget and
-     * should not be deleted.
-     * Also the returned attribute instance should not be modified.
-     * Use SetAttribute for that.
-     *
-     * @param aTargetId   The name of the target widget part, e.g. element class
-     * @param aAttribName The name of the attribute.
-     * @return A pointer to the attribute, or 0 if the attribute was not found.
-     */
-    virtual const AlfAttribute* getAttribute( const UString& aTargetId ,
-                                              const UString& aAttribName ) const = 0;
-
-
-
-    /**
-     * Getter for the type identifier of this interface.
-     *
-     * @since S60 ?S60_versio
-     * @return Identifier of this interface.
-     */
-    static inline const IfId& type()
-        {
-        return alfattributeowner::ident;
-        }
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFATTRIBUTEOWNER_H
--- a/inc/alf/ialfattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* 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:   Attribute setter Interface header.
-*
-*/
-
-
-#ifndef I_ALFATTRIBUTESETTER_H
-#define I_ALFATTRIBUTESETTER_H
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-#include "alf/alfsettertype.h"
-#include <alf/alfvisual.h>
-#include <alf/alfvarianttype.h>
-#include <alf/alfcommand.h>
-#include <osn/osntypes.h>
-
-namespace Alf
-    {
-
-class CAlfWidgetControl;
-class AlfAttribute;
-class AlfAttributeContainer;
-namespace alfattributesetter
-    {
-static const IfId ident =
-    {
-    0, "alfattributesetter"
-    };
-    }
-/**
- * The interface for attribute setters used by widget controls.
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfAttributeSetter : public IAlfInterfaceBase
-    {
-public:
-
-    static inline const IfId& type()
-        {
-        return alfattributesetter::ident;
-        }
-
-    virtual inline ~IAlfAttributeSetter() {}
-
-    /**
-     * Returns the type of the attribute setter.
-     *
-     * @return The type of the attribute setter.
-     */
-    virtual SetterType setterType() = 0;
-
-    /**
-     * Sets an attribute value in the target visual immediately without a transition.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute. Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     */
-    virtual void setAttributeValue(
-        CAlfVisual& aVisual, AlfAttributeContainer* aContainer, IAlfMap* aData ) = 0;
-
-    /**
-     * Creates a command to change the value of an attribute in the target visual gradually with a transition.
-     *
-     * @deprecated USE CREATEANDSENDCOMMANDS INSTEAD!!!
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The container holding the new value of the attribute. Ownership of the object is not transferred.
-     * @param aData Not used currently.
-     * @param aTransitionTime Time used for the transition.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     * @ret The command to gradually change the attribute in the target visual.
-     */
-    virtual  TAlfCommand* createCommand(
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        IAlfMap* aData,
-        int aTransitionTime = 0,
-        CAlfVisual* aRefVisual = NULL ) = 0;
-
-    /**
-     * Creates commands to change the given attribute values in the target visual gradually with a transition.
-     * Then sends the commands via the ALF environment.
-     *
-     * @param aVisual The target visual. Doesn't take ownership
-     * @param aContainer The attribute container holding the attribute value(s)
-     * used by the attribute setter. Ownership is not transferred. The container
-     * can hold new values for multiple different attributes, in which case several
-     * commands are executed.
-     * @param aRefVisual Optional reference visual. If not NULL, the target value of the attribute is defined by adding
-     * the value specific by aContainer to the corresponding attribute value in the reference visual.
-     */
-    virtual void createAndSendCommands(
-        CAlfVisual& aVisual,
-        AlfAttributeContainer* aContainer,
-        CAlfVisual* aRefVisual = NULL ) = 0;
-
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFATTRIBUTESETTER_H
-
-// End of File
--- a/inc/alf/ialfcontainerwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* 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:  Base interface for all container widgets
-*
-*/
-
-
-#ifndef I_ALFCONTAINERWIDGET_H
-#define I_ALFCONTAINERWIDGET_H
-
-#include <alf/ialfwidget.h>
-class CAlfLayout;
-
-namespace Alf
-    {
-class IAlfLayoutManager;
-
-namespace ialfcontainerwidget
-    {
-static const IfId ident =
-    {
-    0, "container"
-    };
-    }
-    
-/**
- * The interface for container widget.
- * 
- * Container widget maintains it's own control group. When a widget control is set to container
- * widget throught the IAlfWidget::setControl() - method the control is automatically appended to the 
- * container widget's control group. If the control that is being set to the container widget is 
- * already part of another control group it will be removed from the previous control group and appended
- * to the container widget's control group.
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfContainerWidget : public IAlfWidget
-    {
-public:
-
-    static inline const IfId& type()
-        {
-        return ialfcontainerwidget::ident;
-        }
-
-    virtual ~IAlfContainerWidget() {}
-
-    /**
-     * Returns total number of widgets contained by this container.
-     *
-     * @return int Total number of widgets.
-     */
-    virtual int widgetCount() const = 0;
-
-    /**
-     * Adds a child widget to the container.
-     *
-     * This will throw an osncore::AlfException exception with error code 
-     * osncore::EInvalidArgument if the aWidget is the same widget that the container
-     * widget itself or if user tries to add a view widget into a container
-     * widget.
-     *
-     * Adding a widget instance that is already added will be silently
-     * ignored.
-     *
-     * @exception osncore::AlfException with error code osncore::EInvalidArgument if the
-     *            aWidget is the same widget as the container widget or when
-     *            a view widget is attempted to be added to a container.
-     *
-     * @param  aWidget Child widget to be added to container.
-     */
-    virtual void addWidget(IAlfWidget& aWidget) = 0;
-
-    /**
-     * Returns child widget at given index. If index is not found return null.
-     *
-     * @param  aIndex Index of widget to be returned.
-     * @return Widget at given index or null if the widget is not found.
-     */
-    virtual IAlfWidget* getWidget(int aIndex) const = 0;
-    
-    /**
-     * Returns the child index, when given the child widget.
-     *
-     * @param  aWidget child widget, which index is returned 
-     * @return the index of the child widget, or -1, if widget is not child of this container.
-     */
-    virtual int getWidgetIndex(IAlfWidget& aWidget) const = 0; 
-
-    /**
-     * Removes the child widget from given index.
-     *
-     * If widget for the given index is not found then the call
-     * is silently ignored.
-     *
-     * @param aIndex Index from which widget has to be removed.
-     */
-    virtual void removeWidget(int aIndex) = 0;
-
-    /**
-     * Sets the base layout of container widget. Ownership of the
-     * layout manager is transferred to container widget.
-     *
-     * @param aLayout New base layout of container widget.
-     */
-    virtual void applyLayout(IAlfLayoutManager& aLayout) = 0;
-
-
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFCONTAINERWIDGET_H
--- a/inc/alf/ialfvisualtemplate.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,614 +0,0 @@
-/*
-* 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:  Visual template class for alfred widget model.
-*      This class creates and updates visual tree.
-*
-*/
-
-
-#ifndef I_ALFVISUALTEMPLATE_H
-#define I_ALFVISUALTEMPLATE_H
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-#include <osn/ustring.h>
-#include <alf/alflayout.h>
-
-class CAlfVisual;
-class CAlfControl;
-class CAlfBrush;
-class CAlfLayout;
-
-namespace duiuimodel
-    {
-    //FORWARD DECLARATIONS
-    class DuiNode;	
-    }	
-using namespace duiuimodel;
-using namespace osncore;
-    
-namespace Alf
-    {
-// FORWARD DECLARATIONS
-class IAlfMap;
-class IAlfAttributeSetter;
-class IAlfElement;
-class AlfAttributeContainer;
-class AlfCustomInitDataBase;  
-
-namespace alfvisualtemplate
-    {
-static const IfId ident =
-    {
-    0, "alfvisualtemplate"
-    };
-    }
-    
-//INTERFACE DECLARATIONS
-
-/**
- * An interface for visual templates.
- *
- * A visual template hierarchy can be formed using visual template objects. From a visual template
- * hierarchy a concrete visual tree can be constructed that composes of toolkit visuals.
- * Produced concrete visual tree will match the visual template hierarchy constructed by
- * adding visual templates as children of each other. User can create any number of identical 
- * visual trees from one visual template hierarchy. Each visual template object creates 
- * one visual in the produced concrete visual tree.
- *
- * A visual template can be owned by a widget element (Alf::IAlfElement).
- * Only root visual templates of a visual template hierarchy can be owned by an element.
- * As a consequence of this an owner element of a visual template and a parent visual template
- * are mutually exclusive properties. That is, if a visual template is a child of
- * another visual template it cannot be owned by an element. Also if an element
- * owns a visual template it cannot be a child of another visual template.
- *
- * If a child visual template is set to an element the connection between child visual template
- * and its parent is removed thus making the visual template a root of the visual template hierarchy
- * below it. Similarly if a visual template owned by an element is set as a child to a visual template
- * the ownership of that visual template by its element is removed leaving the element with no visual
- * template. 
- *
- * Concrete visual trees can be produced using createVisualTree() method. Existing concrete visual
- * trees can be updated using the updateVisualTree() method. Attributes of the produced concrete 
- * visuals can be manipulated through attribute setters and containers assigned to visual template
- * using method addAttributeSetter(). Data that is passed to the createVisualTree() and updateVisualTree()
- * methods contain the attribute values that are set to the concrete visuals giving users a 
- * possibility to customize the produced concrete visual trees.
- *
- * @see Alf::IAlfElement
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfVisualTemplate : public IAlfInterfaceBase
-    {
-public:
-    /**
-     * Getter for the type identifier of this interface.
-     *
-     * @since S60 ?S60_version
-     * @return Identifier of this interface.
-     */
-    static inline const IfId& type()
-        {
-        return alfvisualtemplate::ident;
-        }
-
-    /** Virtual destructor. */
-    virtual ~IAlfVisualTemplate() {}
-    
-    /**
-     * Sets the owner element. User should not call this method directly. It will
-     * be called implicitly by Alf::IAlfElement::setVisualTemplate() method.
-     * Call to this method cannot throw an exception.
-     *
-     * @see Alf::IAlfElement::setVisualTemplate()
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aOwner Element that owns this root visual template.
-     */
-    virtual void setOwner(IAlfElement* aElement) throw() = 0;
-    
-    /**
-     * Returns the owner element. Call to this method cannot
-     * throw an exception.
-     *
-     * @see Alf::IAlfElement::setVisualTemplate()
-     *
-     * @since S60 ?S60_version
-     *
-     * @return The owner element of a visual template, if this visual template is owned
-     *         by an element. NULL if visual template is not owned by an element.
-     */
-    virtual IAlfElement* owner() const throw() = 0;
-    
-    /**
-     * Set name of the visual. This name is used when creating
-     * concrete visual trees. Name is assigned to each of the produced concrete
-     * visuals as a tag. Note thus that all concrete visual
-     * trees produced from this visual template share the same tag.
-     *
-     * @see name()
-     *
-     * @exception std::bad_alloc thrown if heap memory allocation fails.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aName The name of the visual.
-     */
-    virtual void setName(const char* aName) = 0;
-    
-    /**
-     * Returns the name of the visual. Call to this method
-     * cannot throw an exception.
-     *
-     * @see setName()
-     *
-     * @since S60 ?S60_version
-     *
-     * @return aName The name of the visual.
-     */
-    virtual const char* name() const throw() = 0;
-
-    /**
-     * Get the number of child visual templates.
-     * This returns the number of child visual templates directly
-     * under this visual template in the visual template
-     * hierarchy. Call to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     *
-     * @return The number of direct child visual templates
-     *         under this visual template in the visual template hierarchy.
-     */
-    virtual int numChildTemplates() const throw() = 0;
-
-    /**
-     * Returns a child visual template at a given index.
-     *
-     * @exception osncore::AlfException thrown with error code osncore::EInvalidArrayIndex if
-     *            the index is out of bounds.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aIndex The index of the child visual template.
-     *
-     * @return Reference to the child visual template object.
-     */
-    virtual IAlfVisualTemplate& childTemplate(int aIndex) const = 0;
-    
-    /**
-     * Set the visual type. Every visual template maps to
-     * one concrete visual or layout type. Each visual template
-     * node in the visual template hierarchy can produce
-     * only visuals that match its type. Container nodes
-     * in the visual template hierarchy map to layouts
-     * and leaf visual template nodes map to visuals.
-     *
-     * Call to this method will make this visual template 
-     * a visual type. The type can thus change from layout
-     * type to a visual type.
-     *
-     * @see setLayoutType()
-     * @see visualType()
-     * @see layoutType()
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aType Type of visual
-     */
-    virtual void setVisualType(TAlfVisualType aType) = 0;
-
-    /**
-     * Get the visual type or a negative integer
-     * if this visual template is of layout type.
-     * Call to this method cannot throw an exception.
-     *
-     * @see setVisualType()
-     *
-     * @since S60 ?S60_version
-     *
-     * @return Type of visual that this visual template produces
-     *         or a negative integer if this visual template
-     *         produces layouts.
-     */
-    virtual int visualType() const throw() = 0;
-
-    /**
-     * Set the layout type. Every visual template maps to
-     * one concrete visual or layout type. Each visual template
-     * node in the visual template hierarchy can produce
-     * only visuals that match its type. Container nodes
-     * in the visual template hierarchy map to layouts
-     * and leaf visual template nodes map to visuals.
-     *
-     * Call to this method will make this visual template 
-     * a layout type. The type can thus change from visual
-     * producer to a layout producer.
-     *
-     * @see setVisualType()
-     * @see visualType()
-     * @see layoutType()
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aType Type of layout
-     */
-    virtual void setLayoutType(TAlfLayoutType aType) = 0;
-
-    /**
-     * Get the layout type or a negative integer
-     * if this visual template is of visual type.
-     * Call to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     *
-     * @return Type of layout that this visual template produces
-     *         or a negative integer if this visual template
-     *         produces visuals.
-     */
-    virtual int layoutType() const throw() = 0;
-
-    /**
-     * Adds brush to the brush array.
-     *
-     * All brushes added to a visual template will be applied to
-     * the produced concrete visual when one is produced. The same
-     * brush array is shared across all concrete visual instancies
-     * created from same visual template.
-     * 
-     * @see brush()
-     * @see numBrushes()
-     *
-     * @exception std::bad_alloc thrown if a heap memory allocation fails.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aBrush Brush to be added
-     */
-    virtual void addBrush(CAlfBrush& aBrush) = 0;
-
-    /**
-     * Returns the number of brushes in the brush array.
-     *
-     * @since S60 ?S60_version
-     *
-     * @return The number of brushes
-     */
-    virtual int numBrushes() const = 0;
-
-    /**
-     * Returns a brush instance from the array of brushes.
-     *
-     * @see addBrush()
-     * @see numBrushes()
-     *
-     * @exception osncore::AlfException thrown with error code osncore::EInvalidArrayIndex if
-     *            the given index is out of bounds.
-     *     
-     * @since S60 ?S60_version
-     *
-     * @param aIndex The index into the array of brushes.
-     *
-     * @return Reference to the brush object instance at the given array index.
-     */
-    virtual CAlfBrush& brush(int aIndex) const = 0;
-
-    /**
-     * Enables or disables selected child mode. By default
-     * this is disabled and thus visual template creates or updates
-     * all its children when createVisualTree() or updateVisualTree()
-     * is called. If selected child mode is enabled the visual template 
-     * will create or update only the selected child. The child which 
-     * is affected in selected child mode is determined in the data passed
-     * in the createVisualTree() or updateVisualTree() method. In the 
-     * passed data map a search is done to match the child index 
-     * field name with the keys in the map. If an entry is found its value
-     * is used as an index to determine the child branch that is to be 
-     * created or updated.
-     *
-     * @see createVisualTree()
-     * @see updateVisualTree()
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aSelectChild Set to true to enable the child mode or false to disable the child mode.
-     * @param aChildIndFieldName Key in data map, from which entry the index of
-     *                           the selected child is fetched.
-     */
-    virtual void setSelectChildMode(bool aSelectChild, const UString& aChildIndFieldName) = 0;
-
-    /**
-     * Add a child visual template. The visual templates may form
-     * a tree structure to create and update a visual tree. The visuals
-     * created by children are added to the layout created by this
-     * visual template. This visual template acquires the ownership for the
-     * child visual template passed as an argument.
-     *
-     * If a visual template added as a child to this visual template is owned
-     * by an Alf::IAlfElement the connection between the child visual template
-     * and its owner element is implicitly removed in this call when a 
-     * parent-child connection is created. Effectively having a parent visual
-     * template or being owned by an element are mutually exclusive properties
-     * for a visual template. Elements can own only root visual templates and
-     * if an owned root visual template becomes a child of another visual 
-     * template the visual template will be removed from the associated owner
-     * element.
-     *
-     * @see insertChildTemplate()
-     *
-     * @exception std::bad_alloc Thrown if memory allocation fails in appending the child
-     *            visual template to child array of this visual template.
-     * @exception osncore::AlfException thrown with error code osncore::EInvalidHierarchy if
-     *            the call to this method would result in an invalid visual template hierarchy.
-     *            This can occur if a child is added to a non-layout visual template or if a
-     *            call would result in a parent becoming a descendant of it's child (a recursive
-     *            tree).
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aChild Child visual template to be appended to the children of this visual template.
-     */
-    virtual void addChildTemplate(IAlfVisualTemplate& aChild) = 0;
-
-    /**
-     * Inserts a child visual template at given index. The visual templates may form
-     * a tree structure to create and update a concrete visual tree. The concrete visuals
-     * created by children are added to the layout created by this
-     * visual template. This visual template acquires the ownership of the inserted
-     * child visual template.
-     *
-     * @see addChildTemplate()
-     *     
-     * @exception std::bad_alloc thrown if memory allocation fails in inserting the child visual
-     *            template to the child list of this visual template.
-     * @exception osncore::AlfException thrown with error code osncore::EInvalidArrayIndex when
-     *            index supplied is out of range for array of visual templates.
-     * @exception osncore::AlfException thrown with error code osncore::EInvalidHierarchy if
-     *            the call to this method would result in an invalid visual template hierarchy.
-     *            This can occur if a child is added to a non-layout visual template or if a
-     *            call would result in a parent becoming a descendant of it's child (a recursive
-     *            tree) or if the same child visual template is added to the hierarchy twice.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aChild  The child visual template.
-     * @param aIndex  Position at which child template is to be added.
-     */
-    virtual void insertChildTemplate(IAlfVisualTemplate& aChild, int aIndex) = 0;
-
-    /**
-     * Removes and destroyes a child visual template from an index in the child list
-     * of this visual template. This will recursively also destroy all child visual templates
-     * in the hierarchy below the destroyed child visual template. This call is silently
-     * ignored if the index is out of bounds. Call to this method cannot throw an
-     * exception.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aIndex Position from which child visual template is to be removed.
-     */
-    virtual void destroyChildTemplate(int aIndex) throw() = 0;
-
-    /**
-     * Destroyes a child visual template with the given name and removes it from the children
-     * of this visual template. This will recursively also destroy all child visual templates
-     * in the hierarchy below the destroyed child visual template. This call is silently
-     * ignored if a child visual template with the given name is not found. Call
-     * to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aName Name of child visual template to be destroyed.
-     */
-    virtual void destroyChildTemplate(const char* aName) throw() = 0;
-
-    /**
-     * Update an existing concrete visual tree with new values. The existing visual tree
-     * should be produced from this visual template hierarchy using the createVisualTree() -
-     * method.
-     * 
-     * @see createVisualTree()
-     * @see setSelectChildMode()
-     * @see addAttributeSetter()
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aData A map containing new data for the visuals.
-     * @param aOldData Old data, that will be replaced. This is used to for instance tear down
-     *                 the old selected child branch before creating a new branch in the selected
-     *                 child mode.
-     * @param aVisual The root of the concrete visual tree that will be updated. This root visual
-     *                needs to match this visual template and should have been created using this
-     *                visual template.
-     * @return Root visual of the updated concrete visual tree.
-     */
-    virtual CAlfVisual* updateVisualTree(IAlfMap* aData, IAlfMap* aOldData, CAlfVisual& aVisual) = 0;
-
-    /**
-     * Creates a new concrete visual tree from this visual template hierarchy and initializes the visuals.
-     * Created visual tree matches the visual template hierarchy under this visual template.
-     *
-     * @see updateVisualTree()
-     * @see setSelectChildMode()
-     * @see addAttributeSetter()
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aControl The owner control of the new concrete visual hierarchy.
-     * @param aData A map containing data for the visuals. This is used to set the attributes of the
-     *              produced concrete visuals using the attribute containers and attribute setters
-     *              added through the addAttributeSetter() - method.
-     * @param aParentLayout Concrete layout visual to insert the created concrete visual tree into.
-     *                      Parent layout for a created visual.
-     * @param aLayoutIndex Ordinal index, into where the created visual should be placed in the parent layout.
-     *
-     * @return Pointer to the root visual object of the concrete visual hierarchy that was constructed.
-     */
-    virtual CAlfVisual* createVisualTree(CAlfControl& aControl,
-                                         IAlfMap* aData, CAlfLayout* aParentLayout, int aLayoutIndex) = 0;
-
-    /**
-     * Add a new attribute setter and associated attribute container to set visual attributes
-     * of the concrete visual hierarchies created or updated with this visual template hierarchy.
-     * This visual template object acquires ownership of both the passed attribute setter as well
-     * as the attribute container. Attribute containers in a visual template are iterated through
-     * whenever concrete visual trees are created or updated. Concrete visual tree attributes
-     * are set from the data passed in through the createVisualTree() and updateVisualTree() methods
-     * using the attribute setters and containers added into the visual template using this method.
-     *
-     * @see createVisualTree()
-     * @see updateVisualTree()
-     *
-     * @exception std::bad_alloc thrown if heap memory allocation fails.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aSetter Attribute setter that will be used to set the attributes in the passed in
-     *                container to concrete visuals.
-     * @param aContainer Container holding the attribute value used by the attribute setter.
-     */
-    virtual void addAttributeSetter(IAlfAttributeSetter* aSetter, AlfAttributeContainer* aContainer) = 0;
-
-    /**
-     * Get the number of the attribute setters and the corresponding attribute containers.
-     * Call to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     *
-     * @return The number of the attribute setters and containers.
-     */
-    virtual int numAttributeSetters() const throw() = 0;
-
-    /**
-     * Returns an attribute setter maintained in this visual template from the given index.
-     *
-     * @exception osncore::AlfException thrown with error code osncore::EInvalidArrayIndex if
-     *            the given index is out of bounds.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aIndex The index of the visual attribute setter.
-     * @return Reference to the attribute setter object.
-     */
-    virtual IAlfAttributeSetter& attributeSetter(int aIndex) const = 0;
-
-    /**
-     * Returns an attribute container maintained in this visual template from the given index.
-     *
-     * @exception osncore::AlfException thrown with error code osncore::EInvalidArrayIndex if
-     *            the given index is out of bounds.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aIndex The index of the visual attribute container.
-     * @return Reference to the attribute container object.
-     */
-    virtual AlfAttributeContainer& attributeContainer(int aIndex) const = 0;
-         
-    /**
-     * Retrieves pointer to the parent visual template.
-     * Returns NULL if this is a root visual template of a visual template
-     * hierarchy. Call to this method cannot throw an exception.
-     *
-     * @see addChildTemplate()
-     * @see insertChildTemplate()
-     * @see Alf::IAlfElement::setVisualTemplate()
-     *
-     * @return Pointer to a Alf::IAlfVisualTemplate object that this visual template
-     *         is a child of.
-     */
-    virtual IAlfVisualTemplate* parent() const throw() = 0;
-    
-    /**
-     * Removes the given child visual template from this visual template.
-     * Call to this method is silently ignored if the given visual template
-     * is not found from children. The parent template of the removed child
-     * is set to null. Ownership of the removed child visual template is
-     * transferred to the caller of this method. Call to this method cannot
-     * throw an exception.
-     *
-     * @see setParent()
-     * @see parent()
-     *
-     * @param aChild Reference to the child visual template that is located
-     *               and removed from this visual template.
-     */
-    virtual void removeChildTemplate(IAlfVisualTemplate& aChild) throw() = 0;    
-
-    /**
-     * Sets the parent visual template.
-     *
-     * User should not call this method directly. It will be called implicitly
-     * by addChildTemplate() or insertChildTemplate() methods of
-     * the parent visual template into which this visual template is
-     * added to.
-     *
-     * Parent visual template and owner element are mutually exclusive.
-     * If a visual template is added under another visual template
-     * in a visual template hierarchy the connection to owner element
-     * is implicitly removed. Alf::IAlfElement objects can thus own only
-     * roots of visual template hierarchies.
-     *
-     * Call to this method cannot throw an exception.
-     * 
-     * @see addChildTemplate()
-     * @see insertChildTemplate()
-     * @see parent()
-     * @see Alf::IAlfElement::setVisualTemplate()
-     *
-     * @param aParent Pointer to a parent visual template under which this
-     *                visual template is located in in the visual template
-     *                hierarchy or null, if the visual template is removed from
-     *                a visual template hierarchy.
-     */
-    virtual void setParent(IAlfVisualTemplate* aParent) throw() = 0;
-    
-    };
-    
-/**
- * Placeholder for information required to instantiate a visual template
- * via the widget factory mechanism.
- * A pointer to this structure is casted to a void pointer and sent to the
- * factory plugin.
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-struct AlfVisualTemplateInitData
-    {
-    /**
-     * Visual template instance ID.This uniquely identifies every visual template instance
-     */
-    char* mVisualTemplateId;
-
-    /**
-     * Pointer to node in declaration containing information for the widget.
-     */
-    DuiNode* mNode;
-
-    /**
-     * Pointer to custom data passed via factory mechanism
-     * Not Owned.
-     */
-    AlfCustomInitDataBase* mCustomData;  
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFVISUALTEMPLATE_H
-
-// End of File
--- a/inc/mul/imulmodelaccessor.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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 model accessor
- *
-*/
-
-
-#ifndef I_MULMODELACCESSOR_H
-#define I_MULMODELACCESSOR_H
-
-//Includes
-#include <alf/ialfmodel.h>
-#include <mul/imulwidgetdef.h>
-#include <mul/imulwidget.h>
-
-#include <vector>
-
-namespace osncore
-	{
-	class UString;
-	}
-using namespace osncore;
-
-namespace Alf
-	{
-
-	/* Forward declarations*/
-	class MulVisualItem;
-	class IMulModelObserver;
-
-	/**
-	 *  An interface for accessing data model. Widgets use this interface to interact with Model.
-	 *  Data model implements this interface.
-	 *  @lib 
-	 */
-	class IMulModelAccessor : public IAlfModel
-		{
-	public:
-
-	/**
-	 * The function to set a particular item as highlighted.
-	 * 
-	 * @param aIndex Index of the item to be highlighted.
-	 * @throws Invalid_argument Throws this exception if index is not a valid index.
-	 */
-	virtual void SetHighlight( int aItemIndex ) = 0;
-	
-	/**
-	 * Scroll Window to mention item index 
-	 * it will check that data window needs to be updated or not 
-	 * and if required it update data window
-	 *
-	 * @aItemIndex item index
-	 * @throws invaid_argument exception
-	 */
-	virtual void ScrollWindow( int aItemIndex ) = 0;
-
-	/**
-	 * Function to get the highlighted item index.
-	 * 
-	 * @return Index of the highlighted index.
-	 */
-	virtual int Highlight() = 0;
-          
-    /**
-     * Function to get the count of items currently present in the model. 
-     * This includes hidden items.
-     * 
-     * @return Count of items existing in the model.
-     */ 
-     virtual int CurrentItemCount() = 0;
-     
-    /**
-     * Set visible data window for model.
-     * 
-     * @param aVisibleWindow No of visuals that widget can display at a time on screen.
-     */ 
-     virtual void SetVisibleWindow( int aWindowSize, int aPageTopIndex = -1 ) = 0;
-     	 
-     /**
- 	 * Returns relative index from absolute index.
- 	 * 
- 	 * @param aAbsoluteIndex Abosulte index
- 	 * @return Returns relative index from absolute index.
- 	 */
-	 virtual int RelativeIndex( int aAbsoluteIndex ) const = 0;
-	 	 
-	/**
-	 * Return visible window top offset
-	 * 
-	 * @return Current window top offset
-	 */
-	 virtual int TopWindowOffset() const= 0;
-	
-	/**
-	 * Return visible window bottom offset
-	 * 
-	 *  @return Current window bottom offset
-	 */
-	 virtual int BottomWindowOffset() const = 0;
-	 	 
-	/**
-	 * Return visible window top offset
-	 * 
-	 * @return Current window top offset
-	 */
-	 virtual int TopOffset() const= 0;
-	
-	/**
-	 * Return visible window bottom offset
-	 * 
-	 *  @return Current window bottom offset
-	 */
-	 virtual int BottomOffset() const = 0;
-
-	/**
-	 * Return rear buffer top offset
-	 * 
-	 * @return Current window top offset
-	 */	
-	virtual int RearTopOffset() const = 0;
-
-	/**
-	 * Return rear buffer bottom offset
-	 * 
-	 * @return Current window top offset
-	 */	
-	virtual int RearBottomOffset() const = 0;
-		 	 
-	 /**
-	  * Check weather item at specified index is marked or not.
-	  * 
-	  * @param aIndex Absolute index of item
-	  * @return true if seleccted else otherwise
-	  */
-	 virtual bool IsItemMarked( int aIndex ) = 0; 
-	   
-    /**
-	 * Function for setting the item Marked or Unmarked. For mark and
-	 * unmark operations, index of item should be provided.
-	 * 
-	 * @param aType Type of marking operation to be performed. 
-	 * @param aItemsIndex Indices of the items to be changed
-	 * @throw Invalid Argument, if type is specified as mark-all and unmark-all. 
-	 */ 
-	 virtual void SetMarkedIndex( MulWidgetDef::TMulWidgetMarkingType aType, int aIndex ) = 0;
-	 	 
-	 /**
-	  * Returns the visual item at the specified absolute index
-	  * 
-	  * @param aIndex Absolute index of item
-	  */
-	 virtual const MulVisualItem& Item( int aAbsoluteIndex ) = 0;
-	 
-	/**
-	 * Returns Absolute index from relative index
-	 *
-	 * @param aRelativeIndex Relative index
-	 * @return Absolute index
-	 */
-	 virtual int AbsoluteIndex( int aRelativeIndex ) = 0;
-	 
-	 /**
-	  * Return whather currently looping is on or not
-	  * 
-	  * @return true if looping is on false otherwise
-	  */
-	 virtual bool IsLoopingOn() = 0;
-	 	 
-	 /**
-	  * Add model state change observer.
-	  * 
-	  * @param aObserver Observer- ownserhip is not transferred
-	  */
-	 virtual void AddModelObserver( IMulModelObserver* aObserver ) = 0;
-	 
-	 /**
-      * Eemove model state change observer.
-      * 
-      * @param aObserver Observer- ownserhip is not transferred
-      */
-	 virtual void RemoveModelObserver( IMulModelObserver* aObserver )= 0;
-	 
-	 /**
-      * Return default template
-      * 
-      * @return Default template
-      */
-    virtual mulwidget::TLogicalTemplate Template( ) = 0;
-	 
-    };
-
-
-    } // namespace Alf
-
-#endif // I_MULMODELACCESSOR_H
--- a/inc/mul/mulmodelutility.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Utility class for data model
-*
-*/
-
-
-#ifndef MULMODELUTILITY_H_
-#define MULMODELUTILITY_H_
-
-#include <alf/alfvarianttype.h>
-#include <osn/osndefines.h>
-#include <e32cmn.h>
-#include <osn/ustring.h>
-
-#include "mul/imulwidget.h"
-
-namespace osncore
-    {
-    class UString;
-    }
-using namespace osncore;
-
-namespace Alf
-	{
-	
-//Forward Declaration
-class MulVisualItem;
-class MulModelUtility
-    {
-public:
-
-	/**
-	 * Create new Variant data from existing variant data.
-	 * 
-	 * @param aValue Existing variant data;
-	 * 
-	 * @reutrn new variant data, Ownership is transferred
-	 */
-    OSN_IMPORT static IAlfVariantType* CreateVariantType( IAlfVariantType& aValue );
-    
-    /**
-	 * Convert map of visual item to map of alf map.
-	 * Ite create new Map and while returning new map owner ship of map is transfered
-	 * 
-	 * @param aVisualItem Map of visual item
-	 * @return Map
-	 */
-     OSN_IMPORT static std::auto_ptr<IAlfMap> ConvertVisualItemToMap( MulVisualItem& aVisualItem );
-	
-	/**
-     * 
-     * Convert AlfMap to visual item
-     * 
-     * @param aMap IAlfMAP
-     * @return MulVisualItem ownership is trsnaferred
-     */
-    OSN_IMPORT static std::auto_ptr<MulVisualItem> ConvertMapToVisualItem( IAlfMap& aMap );
-    
-	/**
-	 * Check the prefix of the name to see whether they can be added in alfmodel
-	 * 
-	 * @param aName Name whose prefix is to be checked
-	 */
-	static bool CheckNamePrefix( UString aName ) ;
-    
-    /**
-     * Convert UString to CAlfString
-     * 
-     * @param aUString UString instance to convert to CAlfSTring
-
-     * @return Converted CAlfString
-     */
-    OSN_IMPORT static UString UStringToAlfString(const UString& aUString);
-    
-    /**
-    * Convsert CAlfString to UString
-    * 
-    * @param aUString CAlfSTring instance to convert to UString
-
-    * @return Converted UString
-    */
-    OSN_IMPORT static UString AlfStringToUString(const UString& aAlfString);
-    
-    /**
-     * Covert integer to AlfString
-     * 
-     * @param aNumber number to convert
-     * @return AlfString
-     */
-    OSN_IMPORT static UString IntToUString( int aNumber );
-    
-    /**
-     * Convert TDes to UString
-     *
-     * @param aDes a TDes type string to be converted
-     * @param aString the converted Ustring
-     */
-    OSN_IMPORT static void ConvertTDesToUString (const TDesC& aDes, UString& aString);
-    
-    /**
-     * Convert TDes8 to UString
-     *
-     * @param aDes a TDes8 type string to be converted
-     * @param aString the converted Ustring
-     */
-    OSN_IMPORT static void ConvertTDes8ToUString (const TDesC8& aDes, UString& aString);
-    
-    /**
-     * Convert UString to TDes
-     *     
-     * @param aString a UString type string to be converted
-     * @param aDes the TDes type converted string
-     */
-    OSN_IMPORT static void ConvertUStringToTDes (const UString& aString, TDes& aDes);    
-    
-    /**
-     * Convert UString to TDes8
-     *     
-     * @param aString a UString type string to be converted
-     * @param aDes the TDes8 type converted string
-     */
-     OSN_IMPORT static void ConvertUStringToTDes8 (const UString& aString, TDes8& aDes);    
-    
-    /**
-     * Create a visualitem and set its default template
-     *     
-     * @param aDefaultTemplate defaultTemplate for that visual item
-     */
-    OSN_IMPORT static std::auto_ptr<MulVisualItem> CreateVisualItem( mulwidget::TLogicalTemplate aDefaultTemplate ); 
-    
-                   
-    };
-	    
-    } //namespace Alf
-
-#endif /*MULMODELUTILITY_H_*/
-
-//End of file
-
-
--- a/layers.sysdef.xml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
-  <!ENTITY layer_real_source_path "sf/mw/mmuifw" >
-]>
-
-<SystemDefinition name="mmuifw" schema="1.4.0">
-  <systemModel>
-    <layer name="mw_layer">
-      <module name="mmuifw">
-        <unit unitID="uxdo.mmuifw" mrp="" bldFile="&layer_real_source_path;/group" name="mmuifw" />
-      </module>
-    </layer>
-  </systemModel>
-</SystemDefinition>
\ No newline at end of file
--- a/mmuifw_plat/alf_containerwidget_api/alf_containerwidget_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" ?>
-<api id="0ff82d657909a3953b9d3b79f9001310" dataversion="1.0">
-<name>alf containerwidget api</name>
-<description>API for AlfContainerWidget</description>
-<type>c++</type>
-<subsystem>alfcontainerwidget</subsystem>
-<libs></libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/alf_containerwidget_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* 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:  File that exports the files belonging to 
-:                ALF container widget API.
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/alf/ialfcontainerwidget.h		      MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfcontainerwidget.h)
-../inc/alf/alfcontainerwidgetexception.h	MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfcontainerwidgetexception.h)
--- a/mmuifw_plat/alf_containerwidget_api/inc/alf/alfcontainerwidgetexception.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* 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:  Container widget exception class.
-*
-*/
-
-
-#ifndef ALFCONTAINERWIDGETEXCEPTION_H
-#define ALFCONTAINERWIDGETEXCEPTION_H
-
-// INCLUDES
-#include <alf/alfexception.h>
-#include <osn/ustring.h>
-
-namespace Alf
-    {
-
-/**
- * Error codes used with AlfContainerWidgetException.
- *
- * There is an offset in AlfContainerWidgetException error codes, so that
- * AlfContainerWidget specific exceptions can be separated from
- * osncore::AlfException base exceptions and exceptions of other widgets.
- */
-enum TAlfContainerWidgetErrorCode
-    {
-    /**
-     * Error occured in construction or initialization of the container
-     * widget.
-     */
-    EInitializationError = 500
-    };
-
-/**
- * AlfContainerWidgetException is a base class for all container widget
- * exceptions.
- *
- */
-class AlfContainerWidgetException : public osncore::AlfException
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Constructor with AlfContainerWidget specific error code.
-     *
-     * Error code has to be one of the error codes specified in
-     * Alf::TAlfContainerWidgetErrorCode or a system-wide error code
-     * represented by negative integer.
-     *
-     * @see osncore::AlfException::errorCode()
-     *
-     * @param aError Error code to describe the occured exception.
-     */
-    AlfContainerWidgetException(int aError) throw();
-
-    /**
-     * Constructor with AlfContainerWidget specific error code
-     * and additional information.
-     *
-     * Error code has to be one of the error codes specified in
-     * Alf::TAlfContainerWidgetErrorCode or a system-wide error code
-     * represented by negative integer.
-     *
-     * @see osncore::AlfException::errorCode()
-     *
-     * @param aError Error code to describe the occured exception.
-     * @param aInfo Optional additional information or NULL.
-        */
-    AlfContainerWidgetException(int aError, const char* aInfo) throw();
-
-    /**
-     * Constructor with AlfContainerWidget specific error code,
-     * additional information, source file and line of code.
-     *
-     * Error code has to be one of the error codes specified in
-     * Alf::TAlfContainerWidgetErrorCode or a system-wide error code
-     * represented by negative integer.
-     *
-     * @see osncore::AlfException::errorCode()
-     *
-     * @param aError Error code to describe the occured exception.
-     * @param aInfo Optional additional information or NULL.
-        * @param aFileAndLine Optional file and line information or NULL.
-        */
-    AlfContainerWidgetException(int aError, const char* aInfo, const char* aFileAndLine) throw();
-
-    /**
-     * Default destructor.
-     */
-    virtual ~AlfContainerWidgetException() throw();
-
-    /**
-     * Returns the description of the exception.
-     * @ret The description of the exception.
-     */
-    const char* what() const throw();
-
-private:
-
-    /**
-     * Error description
-     */
-    osncore::UString mDescription;
-
-    };
-
-    } // Namespace Alf
-
-#endif // ALFCONTAINERWIDGETEXCEPTION_H
--- a/mmuifw_plat/alf_containerwidget_api/inc/alf/ialfcontainerwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* 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:  Base interface for all container widgets
-*
-*/
-
-
-#ifndef I_ALFCONTAINERWIDGET_H
-#define I_ALFCONTAINERWIDGET_H
-
-#include <alf/ialfwidget.h>
-class CAlfLayout;
-
-namespace Alf
-    {
-class IAlfLayoutManager;
-
-namespace ialfcontainerwidget
-    {
-static const IfId ident =
-    {
-    0, "container"
-    };
-    }
-    
-/**
- * The interface for container widget.
- * 
- * Container widget maintains it's own control group. When a widget control is set to container
- * widget throught the IAlfWidget::setControl() - method the control is automatically appended to the 
- * container widget's control group. If the control that is being set to the container widget is 
- * already part of another control group it will be removed from the previous control group and appended
- * to the container widget's control group.
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfContainerWidget : public IAlfWidget
-    {
-public:
-
-    static inline const IfId& type()
-        {
-        return ialfcontainerwidget::ident;
-        }
-
-    virtual ~IAlfContainerWidget() {}
-
-    /**
-     * Returns total number of widgets contained by this container.
-     *
-     * @return int Total number of widgets.
-     */
-    virtual int widgetCount() const = 0;
-
-    /**
-     * Adds a child widget to the container.
-     *
-     * This will throw an osncore::AlfException exception with error code 
-     * osncore::EInvalidArgument if the aWidget is the same widget that the container
-     * widget itself or if user tries to add a view widget into a container
-     * widget.
-     *
-     * Adding a widget instance that is already added will be silently
-     * ignored.
-     *
-     * @exception osncore::AlfException with error code osncore::EInvalidArgument if the
-     *            aWidget is the same widget as the container widget or when
-     *            a view widget is attempted to be added to a container.
-     *
-     * @param  aWidget Child widget to be added to container.
-     */
-    virtual void addWidget(IAlfWidget& aWidget) = 0;
-
-    /**
-     * Returns child widget at given index. If index is not found return null.
-     *
-     * @param  aIndex Index of widget to be returned.
-     * @return Widget at given index or null if the widget is not found.
-     */
-    virtual IAlfWidget* getWidget(int aIndex) const = 0;
-    
-    /**
-     * Returns the child index, when given the child widget.
-     *
-     * @param  aWidget child widget, which index is returned 
-     * @return the index of the child widget, or -1, if widget is not child of this container.
-     */
-    virtual int getWidgetIndex(IAlfWidget& aWidget) const = 0; 
-
-    /**
-     * Removes the child widget from given index.
-     *
-     * If widget for the given index is not found then the call
-     * is silently ignored.
-     *
-     * @param aIndex Index from which widget has to be removed.
-     */
-    virtual void removeWidget(int aIndex) = 0;
-
-    /**
-     * Sets the base layout of container widget. Ownership of the
-     * layout manager is transferred to container widget.
-     *
-     * @param aLayout New base layout of container widget.
-     */
-    virtual void applyLayout(IAlfLayoutManager& aLayout) = 0;
-
-
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFCONTAINERWIDGET_H
--- a/mmuifw_plat/alf_customlayoutmanagers_api/alf_customlayoutmanagers_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" ?>
-<api id="cc286ba3e80897c374bcd9fb641d3a4e" dataversion="1.0">
-<name>alf customlayoutmanagers api</name>
-<description>API for alfcustomlayoutmanagers</description>
-<type>c++</type>
-<subsystem>alfcustomlayoutmanagers</subsystem>
-<libs></libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/alf_customlayoutmanagers_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2008 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:  File that exports the files belonging to 
-:                ALF custom layout managers
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-// To be removed once migration to the new internal export dir has been done
-
-../inc/alf/ialflctanchorlayoutpolicy.h    MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialflctanchorlayoutpolicy.h)
-../inc/alf/alflctanchorlayoutmanager.h    MW_LAYER_PLATFORM_EXPORT_PATH(alf/alflctanchorlayoutmanager.h)
--- a/mmuifw_plat/alf_customlayoutmanagers_api/inc/alf/alflctanchorlayoutmanager.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* 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:  grid layout manager
-*
-*/
-
-
-#ifndef ALFLCTANCHORLAYOUTMANAGER_H
-#define ALFLCTANCHORLAYOUTMANAGER_H
-
-#include <osn/osndefines.h>
-#include <osn/osntypes.h>
-#include <memory>
-#include <alf/alflayoutmanager.h>
-#include <alf/alflayout.h>
-
-using std::auto_ptr;
-
-namespace Alf
-    {
-class IAlfWidgetControl;
-class AlfLCTAnchorLayoutPreferencesImpl;
-class AlfLCTAnchorLayoutPolicyImpl;
-
-/**
- * Grid layout manager
- *
- * Layout manager handles the layouting of child widgets in the container widget.
- * It uses IAlfLayoutPreferences-interface (@see IAlfLayoutPreferences) 
- * of child widgets as a guide for laying out the widgets. The layoutmanager 
- * is set to the IAlfHostApi- interface (@see IAlfHostApi::setBaseLayout)
- * createLayout-method should be the first call after creating the layoutmanager. 
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-class AlfLCTAnchorLayoutManager : public AlfLayoutManager
-    {
-    friend class AlfLCTAnchorLayoutPreferencesImpl;
-    friend class AlfLCTAnchorLayoutPolicyImpl;
-
-public:
-
-    /**
-     * layout manager constructor
-     *
-     */
-    AlfLCTAnchorLayoutManager();
-        
-    /**
-     * virtual destructor
-     */
-    virtual ~AlfLCTAnchorLayoutManager();
-    
-public:
-    //from IAlfLayoutManager
-            
-    /**
-     * from IAlfLayoutManager
-     * Notifies the layout manager, that the child control's layout
-     * must be updated
-     * 
-     * @param aControl control, which size has changed.
-     * @throw AlfVisualException(EInvalidVisual), if layout is not created.
-     */
-     virtual void updateChildLayout(CAlfWidgetControl* aControl);
-    
-    /**
-     * from IAlfLayoutManager
-     * Notifies the layout manager, that the control's has been
-     * removed from the layout.
-     * 
-     * @param aControl control, which has been removed from the layout.
-     * @throw AlfVisualException(EInvalidVisual), if layout is not created.
-     */    
-    virtual void childRemoved(CAlfWidgetControl* aControl);
-public:
-protected:
- 
-    void doUpdateChildLayout(CAlfWidgetControl* aControl);
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType );
-
-private: // data
-    auto_ptr<AlfLCTAnchorLayoutPreferencesImpl> mDataPreferences;
-    auto_ptr<AlfLCTAnchorLayoutPolicyImpl> mDataPolicy;
-    };
-
-    } // namespace Alf
-
-#endif // ALFLCTANCHORLAYOUTMANAGER_H
--- a/mmuifw_plat/alf_customlayoutmanagers_api/inc/alf/ialflctanchorlayoutpolicy.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2008 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 layout policy
-*
-*/
-
-
-#ifndef I_ALFLCTANCHORLAYOUTMANAGER
-#define I_ALFLCTANCHORLAYOUTMANAGER
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-
-namespace osncore
-    {
-class UString;
-    }
-    
-class CAlfControl;
-class TAknLayoutHierarchyComponentHandle;
-
-namespace Alf
-    {
-
-class CAlfWidgetControl;
-
-namespace ialflctanchorlayoutpolicy
-    {
-     static const IfId Ident =
-        {
-        0, "lctanchorlayoutpolicy"
-        };
-    }
-
-using namespace osncore;    
-using Alf::CAlfWidgetControl;
-
-
-
-/**
- * The interface for grid layout policy
- *
- * Provides grid specific layout APIs
- * 
- * @code
- * // Create layout manager interface.
- * IAlfLayoutManager* layoutManager = IAlfInterfaceBase::makeInterface<IAlfLayoutManager>(control);
- *
- * // See if layout policy is supported in the given layout manager.
- * IAlfLCTAnchorLayoutPolicy* layoutPolicy = IAlfInterfaceBase::makeInterface<IAlfLCTAnchorLayoutPolicy>(layoutManager);
- *
- * if(layoutPolicy != 0)
- *     {
- *     int rows = layoutPolicy->Attach(componentHandle);
- *     }
- * @endcode
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-class IAlfLCTAnchorLayoutPolicy : public IAlfInterfaceBase
-    {
-public:
-       
-    static inline const IfId& type()
-        {       
-        return ialflctanchorlayoutpolicy::Ident;
-        }
-        
-    virtual inline ~IAlfLCTAnchorLayoutPolicy() {}
-
-
-   /**
-    * attach the anchors needed for a child visual, according to the layout data 
-    * corresponding to the component handle.
-    *
-    * @note this should can be used for layout text components, but also use IAlfLCTTextLayoutPolicy 
-    * with the contained text visual to set the text style and alignment
-    *
-    * @param aOrdinal the child visual index
-    * @param aComponentHandle the layout data to use
-    */ 
-    virtual void Attach (int aOrdinal, const UString& aLCTString, int aVarietyIndex) = 0;
-    
-
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType ) = 0;
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFLCTANCHORLAYOUTMANAGER
--- a/mmuifw_plat/alf_resourcepool_api/alf_resourcepool_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="efaf9c300bc51c617245721716b0cc1a" dataversion="1.0">
-<name>alf resourcepool api</name>
-<description>Alf Resource Pool API</description>
-<type>c++</type>
-<subsystem>alfresourcepool</subsystem>
-<libs><lib name="alfresourcepool.lib"/>
-</libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/alf_resourcepool_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2008 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:  File that exports the files belonging to 
-:                ALF resouce pool API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-// To be removed once migration to the new internal export dir has been done
-
-../inc/alf/alfresourcepool.h     MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfresourcepool.h)
-
--- a/mmuifw_plat/alf_resourcepool_api/inc/alf/alfresourcepool.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,283 +0,0 @@
-/*
-* Copyright (c) 2008 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:  API for handling alf graphic resources
-*
-*/
-
-
-#ifndef ALF_RESOURCEPOOL_H
-#define ALF_RESOURCEPOOL_H
-
-#include <osn/osndefines.h>
-#include <osn/ustring.h>
-
-#include <alf/alftexture.h>
-class TAlfImage;
-class CAlfTextureManager;
-struct TAlfXYMetric;
-
-namespace Alf 
-{
-
-#define KResourcePoolThemeDefinitionPrefixS60 "s60"
-
-using namespace osncore;
-
-class ResourcePoolImpl;
- 
-/**
- *  Resoure pool is responsible of controlling commonly used image resources
- *  in an application. The resources will be indentified by tags, which are not
- *  case sensitive. 
- *
- *  @code
- *   // create image resources
- *   resourcePool->createLogicalImageResource( "qgn_indi_find_glass" );
- *   resourcePool->setInitialSize( "qgn_indi_find_glass", XYMetric( 64, 64 ) );
- *   resourcePool->setAspectRatio( "qgn_indi_find_glass", ResourcePool::aspectRatioPreserved );
- *
- *   resourcePool->createImageResource(
- *       "my_face",
- *       pic0001.jpg );
- *
- *   // utilize the resource
- *   imageVisual->setImage( 
- *       resourcePool->getImageResource( "qgn_indi_find_glass" ) );
- *
- *   sharpImageVisual->setImage( 
- *       resourcePool->getImageResource( "my_face" ),
- *       XYMetric( 256, 256 ) );
- *
- *   // when the resource in not used anymore, the resource can be deleted
- *   resourcePool->deleteImageResource( "qgn_indi_find_glass" );
- *   resourcePool->deleteImageResource( "my_face" );
- *   
- *  @endcode
- *
- *  @lib alfresourcepool.lib
- *  @since S60 v5.0.1
- */
-class ResourcePool
-    {
-public:
-
-    // Aspect ratio of the image resource
-    // @see setAspectRatio
-    enum AspectRatio
-        {
-        /*
-        * Scales the icon to the maximum size that fits in the given size,
-        * whilst preserving the aspect ratio of the icon. The sizes of the resulting
-        * bitmaps are exactly of the given size. If the aspect ratio of
-        * the given size differs from the aspect ratio of the icon,
-        * the resulting bitmaps will contain an unused area.
-        */
-        aspectRatioPreserved = 0,
-
-        /*
-        * Scales the icon to the maximum size that fits in the given size,
-        * whilst preserving the aspect ratio of the icon. The resulting bitmaps
-        * are resized so that any unused portion of the given size is not
-        * present in them.
-        *
-        * This mode should be used when only the height or the width of the icon
-        * is known and the other should be based on the aspect ratio of the icon.
-        * The unknown dimension should be defined high enough so
-        * that it does not limit the scaling based on the aspect ratio of the icon.
-        */
-        aspectRatioPreservedAndUnusedSpaceRemoved = 1,
-
-        /*
-        * Scales the icon exactly to the given size. Does not preserve the aspect
-        * ratio of the icon.
-        */
-        aspectRatioNotPreserved = 2,
-            
-        /*
-        * Scales the icon to the minimum size that covers the given size,
-        * whilst preserving the aspect ratio of the icon. The sizes of the resulting
-        * bitmaps are exactly of the given size. If the aspect ratio of
-        * the given size differs from the aspect ratio of the icon, some parts of the 
-        * icon will be sliced from the resulting bitmaps.
-        */
-        aspectRatioPreservedSlice = 3
-        };
-    
-public:
-
-    /** 
-     * Constructs a resource pool
-     *
-     * @param aTextureManager Used texture manager.
-     * @param aParentPool Chained parent pool (optional) - not supported currently
-     */
-    OSN_IMPORT ResourcePool( 
-        CAlfTextureManager& aTextureManager,
-        ResourcePool* aParentPool = NULL);
-    
-    /**
-     * Destructor 
-     */
-    OSN_IMPORT ~ResourcePool();
-    
-public: 
-    
-    /**
-     * Creates an image resource based on a logical name. The name will
-     * be also used as the image resource tag because the logical name
-     * is unique in the system.
-     *
-     * The logical name should be format "qgn_xxx_xxx" i.e. as stated
-     * in the S60 reference icons document.
-     *
-     * @note The KAknsIIDQgnXxxXxx format works for a while but it will be 
-     *       deprecated -> use the qgn_xxx_xxx format.
-     *
-     * @param aTag Resource tag. NULL terminated 8-bit string
-     *
-     * @exception invalid_argument if the tag cannot be matched with any 
-     *                              logical name
-     */
-    OSN_IMPORT void createLogicalImageResource( const Utf8* aTag );
-    
-    /**
-     * Creates an image resource based on a theme definition. This definition
-     * may concists of several different theme systems.
-     * 
-     * Currently supported formats:
-     * #1 S60 Skin; 
-     *    s60;mifFilePath;mifImageIndex;mifMaskIndex;majorID;minorId
-     *
-     *    s60:          literal "s60", which specifies that the following
-     *                  item definition is based on the S60 Skin system
-     *    mifFilePath:  literal into the multibitmap file (mif/mbm). Can be empty. 
-     *    mifImageIndex:unsigned integer which is the index to the mifFilePath. Only used if mifFilePath is given.
-     *    mifMaskIndex: unsigned integer which is the mask index to the mifFilePath. Only used if mifFilePath is given.
-     *    majorID:      unsigned integer or hexadecimal starting with 0x of the Major skin ID. Can be empty.
-     *    minorId:      unsigned integer or hexadecimal starting with 0x of the Minor skin ID. Only used if majorID is given.
-     *    
-     *    examples:     "s60;;;;268457670;76" // 0x100056c6;0x4c -> KAknsIIDQgnIndiFindGlass
-     *                  "s60;c:\myFile.mif;1;2;;"
-     *                  "s60;myMbmFile.mbm;435;;2342345;234" // If skin ID not found, use mbm file with index 435 (no mask)
-     *
-     * @param aTag Resource tag.
-     * @param aThemeDefinition Definition of the theme element.
-     *
-     * @exception invalid_argument theme definition is not supported.
-     */
-    OSN_IMPORT void createThemeImageResource( 
-        const Utf8* aTag,
-        const UString& aThemeDefinition );
-    
-    /**
-     * Creates an image resource based on a file name.
-     * The aFileName can be a full path with the drive letter or it
-     * can be relative path to the texture manager defaul path
-     *
-     * @param aTag Resource tag.
-     * @param aFileName File name.
-     * @param aFlag How to convert the bitmap to texture
-     *               default all fileimages will be treated as nonanimated
-     * @see TextureManager::setImagePath()
-     */
-    OSN_IMPORT void createFileImageResource( 
-        const Utf8* aTag,
-        const UString& aFileName ,TAlfTextureFlags aFlag = EAlfTextureFlagLoadAnimAsImage );
-    
-    /**
-     * Deletes image resource
-     *
-     * @param aTag Resource tag.
-     */    
-    OSN_IMPORT void deleteImageResource( const Utf8* aTag );
-    
-    /**
-     * Checks if the given resource identifier exists.
-     *
-     * @param aTag Resource tag.
-     *
-     * @return 'true' if the indentified resource exists.
-     */
-    OSN_IMPORT bool hasImageResource( const Utf8* aTag ) const;
-    
-    /**
-     * Sets initial/default loading size for the image resource. The given size
-     * is only a hint and the resource pool may used it or ignore it. Without the 
-     * initial size hint, the image will be rasterized to size determined by the 
-     * resource pool. The initial size hint can be overridden with the appropriate
-     * getImageResource() function.
-     *
-     * @param aTag Resource tag.
-     * @param aInitialSizeHint Initial/default size hint (only Pixel and RelativeToDisplay supported)
-     */    
-    OSN_IMPORT void setInitialSize( 
-        const Utf8* aTag, 
-        const TAlfXYMetric& aInitialSizeHint );
-        
-    /**
-     * Sets aspect ratio mode. This affects to the aspect ratio of the loaded image
-     * resource. The new setting will take place when the image resource is loaded.
-     *
-     * @note Currently only SVG icons are supported. For file image loading, the aspect ratio
-     *       is preserved.
-     *
-     * @note The blitting of the image resource can still scale and change the aspect ratio
-     *       of the drawn image. @see ImageVisual::setScaleMode
-     *
-     * @param aTag Resource tag.
-     * @param aAspectRatio Used aspect ratio.
-     */    
-    OSN_IMPORT void setAspectRatio( 
-        const Utf8* aTag, 
-        AspectRatio aAspectRatio );
-
-    /**
-     * Finds a image resource with the given tag. The initial size or system
-     * default size is used.
-     *
-     * If the given resource is not found, the Image::hasTexture() returns false.
-     *
-     * @param aTag Resource tag.
-     * 
-     * @return Image which can be passed to any visual/brush.
-     *
-     * @exception invalid_argument if the resource is found but cannot be instantiated
-     */
-    OSN_IMPORT TAlfImage getImageResource( const Utf8* aTag );
-
-    /**
-     * Finds a image resouce with the given tag. The size hint may be
-     * used to find/re-rasterize the image resource. 
-     * 
-     * If the given resource is not found, the Image::hasTexture() returns false.
-     *
-     * @param aTag Resource tag.
-     * @param aSizeHint Rasteration size hint (only Pixel and RelativeToDisplay supported)
-     * 
-     * @return Image which can be passed to any visual/brush.
-     *
-     * @exception invalid_argument if the resource is found but cannot be instantiated
-     */
-    OSN_IMPORT TAlfImage getImageResource( 
-        const Utf8* aTag, 
-        const TAlfXYMetric& aSizeHint );
-    
-private:
-   
-    auto_ptr<ResourcePoolImpl> mResourcePoolImpl;
-    };
-
-} // namespace Alf
-
-#endif // ALF_RESOURCEPOOL_H
--- a/mmuifw_plat/alf_scrollbarwidget_api/alf_scrollbarwidget_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" ?>
-<api id="001bb4a510beadc7dbb6f1bca5f14de2" dataversion="1.0">
-<name>alf scrollbarwidget api</name>
-<description>API for alfscrollbarwidget</description>
-<type>c++</type>
-<subsystem>alfscrollbarwidget</subsystem>
-<libs></libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/alf_scrollbarwidget_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2006 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:  File that exports the files belonging to 
-:                ALF widget factory API
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-//../inc/alf/ialfscrollbararrowbaseelement	MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfscrollbararrowbaseelement)
-//../inc/alf/ialfscrollbarconstantthumbbaseelement.h	MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfscrollbarconstantthumbbaseelement.h)
-../inc/alf/ialfscrollbardefaultbaseelement.h	MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfscrollbardefaultbaseelement.h)
-../inc/alf/ialfscrollbarmodel.h			MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfscrollbarmodel.h)
-../inc/alf/ialfscrollbarwidget.h		MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfscrollbarwidget.h)
-../inc/alf/alfscrollevents.h		MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfscrollevents.h)
-../inc/alf/alfscrollbarproductids.h     MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfscrollbarproductids.h)
--- a/mmuifw_plat/alf_scrollbarwidget_api/inc/alf/alfscrollbarproductids.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* 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 scrollbar widget.
-*
-*/
-
-#ifndef ALF_SCROLLBARPRODUCTIDS_H
-#define ALF_SCROLLBARPRODUCTIDS_H
-
-static const char* const KScrollBarWidget = "scrollbarwidget";
-static const char* const KScrollBarModel = "scrollbarmodel";
-static const char* const KScrollBarDefaultBaseElement    = 
-                         "scrollbardefaultbaseelement";
-#endif // ALF_SCROLLBARPRODUCTIDS_H
-//End Of File
--- a/mmuifw_plat/alf_scrollbarwidget_api/inc/alf/alfscrollevents.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* 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 scrollbar widget.
- *
-*/
-
-
-#ifndef ALF_SCROLLEVENTS_H
-#define ALF_SCROLLEVENTS_H
-
-// WidgetModel Includes
-#include <alf/alfwidgetevents.h>
-
-// Widget Includes
-#include <alf/ialfscrollbarwidget.h>
-#include <alf/ialfscrollbardefaultbaseelement.h>
-
-namespace Alf
-    {
-    // forward declaration
-    class IAlfScrollBarDefaultBaseElement;    
-
-    /**
-     *  Flags to indicate the changes being done in the scrollbar model
-     *  ENoChange Flag to indicate no scrollbar model data is changed 
-     *  ESpanChanged Flag to indicate Span is changed
-     *  EViewLengthChanged Flag to indicate view length is changed
-     *  EViewStartPosChanged Flag to indicate view start position is changed
-     *  EFocusPosChanged Flag to indicate focus position is changed
-     *
-     *  @since S60 ?S60_version
-     */
-    enum ScrollModelChangeMask
-        {
-        ENoChange             = 0, // Flag if scrollbar model data is changed
-        ESpanChanged          = 1, // Flag to indicate Span is changed 
-        EViewLengthChanged    = 2, // Flag to indicate view length is changed
-        EViewStartPosChanged  = 4, // Flag if view start position is changed 
-        };
-
-    /**
-     *  This structure is used to send data along with 
-     * EEventScrollModelChanged scroll event
-     *
-     *  @since S60 ?S60_version
-     */
-    struct ScrollModelChangedEventData
-        {
-        int mSpan;          // Span 
-        int mViewLength;    // View Length 
-        int mViewStartPos;  // View Start position 
-        int mChangedMask;   // combination (ORing) of one or more 
-                            // TScrollModelChangeMask enums
-        };
-
-    } // namespace Alf
-
-#endif // IALF_SCROLLEVENTS_H
-//End Of File
--- a/mmuifw_plat/alf_scrollbarwidget_api/inc/alf/ialfscrollbardefaultbaseelement.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* 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
--- a/mmuifw_plat/alf_scrollbarwidget_api/inc/alf/ialfscrollbarmodel.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/*
-* 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:  Model interface with utilities for scrollbar widget.
-*
-*/
-
-
-#ifndef IALF_SCROLLBARMODEL_H
-#define IALF_SCROLLBARMODEL_H
-
-
-//WidgetModel Includes
-#include <alf/ialfmodel.h>
-
-using namespace osncore;
-
-namespace Alf
-    {
-
-namespace alfscrollbarmodel
-    {
-    static const IfId ident =
-        {
-        0, "alfscrollbarmodel"
-        };
-    }
-
-/**
- *  An interface of the scrollbar model.
- */
-class IAlfScrollBarModel : public IAlfModel
-    {
-
-public:
-
-    /**
-     * Getter for the type identifier of this interface.
-     *
-     * @return A descriptor to identify the type of this interface.
-     */
-    static inline const IfId& type()
-        {
-        return alfscrollbarmodel::ident;
-        } 
-
-    /**
-     * Function for initializing the model.
-     * 
-     * The unit of paremeters aTotalLength, aViewLength, aViewStartPosition 
-     * depends on the user of scrollbar. For example editor may 
-     * decide to support scrolling by line,means in case of editor 
-     * aTotalLenght can be total number of lines in the document, 
-     * aViewlength can be the number of lines which fit inside a page/view,
-     * aViewstartPosition can be the line number from which view starts and 
-     *  
-     * (currently no visualization is there for focus position inside scrollbar)
-     *
-     * @param aTotalLength - Total length of the content or document if it 
-     *                       were laid out. Minimum Value of total length can be
-     *                       1. If a value less than 1 is passed it is converted 
-     *                       to 1 automatically.
-     *
-     * @param aViewLength - Amount of TotalLength which is viewable. Minmum 
-     *                      value of viewlength is 1 and maximum value is equal 
-     *                      to total length. If a value less than 1 is passed
-     *                      it is converted to 1 similarly, if a value greater 
-     *                      than aTotalLength is passed it is converted to 
-     *                      aTotalLength.
-     * @param aViewStartPosition - view start position. This can be between 0 
-     *                             and (aTotalLength - aViewLength). As in 
-     *                             case of total length and view length, if a 
-     *                             value out side range is passed it is convered
-     *                             to the nearest boundary value (0 or 
-     *                             aTotalLength - aViewLength).
-     * @return void.
-     */
-    virtual void initializeData(
-        int aTotalLength,
-        int aViewLength,
-        int aViewStartPosition) = 0;
-
-    /**
-     * Sets the Total Length for the Scrollbar
-     * which is the length of the document or viewable data.
-     *
-     * Arbitrary units are used, but the same units as the rest of the model.
-     * This length is best current estimate of the length of the entire 
-     * viewable data in this model's direction.(i.e, vertical, horizontal).
-     * It represents physical extent (e.g. could be pixels), not logical size
-     * of the data.
-     * It is understood to represent the physical laid out size of the data 
-     * if it were possible to view it all at once.
-     *
-     * @param aTotalLength - Total length of the content or document. Minimum 
-     *                       Value of total length can be 1. If a value less 
-     *                       than 1 is passed, it is converted to 1 
-     *                       automatically.
-     *                       If the value passed is less than the current view 
-     *                       length, current view length is also changed to the 
-     *                       passed total length so that view length is still
-     *                       valid. Similarly if required, view start position
-     *                       is also changed so that it is still valid. 
-     *                       See the documentation of initializeData() to know
-     *                       valid values of each model data. If change of more
-     *                       than one model data is required, use changeData() 
-     *                       function.
-     *
-     * @return void.
-     */
-    virtual void setTotalLength(int aTotalLength) = 0;
-
-    /**
-     * Sets the View Length for the Scrollbar
-     * For horizontal models, this is the width of the view.
-     * For veritcal, this is the height of the view.
-     *
-     * Note the units are arbitrary but uniform with the rest of the model.
-     * Note that this measure is proportional to the physical width or height
-     * of the view.This metric is sometimes called the Thumb size.
-     * @param aViewLegth - Amount of Total Length which is viewable. Minmum 
-     *                     value of viewlength is 1 and maximum value is equal 
-     *                     to total length. If a value out of range is passed
-     *                     it is converted to the nearest boundary (1 or total
-     *                     length).
-     *                     See the documentation of initializeData() to know
-     *                     valid values of each model data. If change of more
-     *                     than one model data is required, use changeData() 
-     *                     function.
-     * @return void.
-     */
-    virtual void setViewLength(int aViewLength) = 0;
-
-    /**
-     * Sets the View Start Position for the Scrollbar
-     * Position in arbitrary units of the start of the currently viewed data.
-     * For horizontal models, this is the position of the left of the view 
-     * relative to the far left end of the document.
-     * For veritcal, this is the position of the top of the view from the 
-     * top of the viewable data.
-     *
-     * Note the units are arbitrary but uniform with the rest of the model.
-     * Position is in physical space as if the entire data were laid out.
-     * This metric is sometimes called the Thumb position.
-     *
-     * @param aViewStartPosition - start position of the viewable area. This can
-     *                             be between 0 and (aTotalLength - aViewLength  
-     *                             ). If a value out side range is passed, it
-     *                             is convered to the nearest boundary value (0
-     *                             or totalLength - viewLength)
-     *                             See the documentation of initializeData() to 
-     *                             know valid values of each model data. If 
-     *                             change of more than one model data is 
-     *                             required, use changeData() function.     
-     *                             
-     * @return void.
-     */
-    virtual void setViewStartPosition(int aViewStartPosition) = 0;
-
-    /**
-     * Sets TotalLength, View length and ViewStartPosition for the Scrollbar.
-     *
-     * See the documentation of initializeData() to know valid values of each 
-     * model data. If the value passed are not valid, they are changed to the 
-     * closest valid value.
-     *
-     * @param aTotalLength - total length
-     * @param aViewLength - view Length
-     * @param aViewStartPosition - View Start Position
-     * @return void.
-     */
-    virtual void changeData(
-        int aTotalLength,
-        int aViewLength,
-        int aViewStartPosition) = 0;
-
-    /**
-     * Length of the document or viewable data.
-     * (refer setter function for detailed concept).
-     * @return length in arbitrary units of the viewable data 
-     */
-    virtual int getTotalLength() const = 0;
-
-    /**
-     * Length of the view (refer setter function for detailed concept).
-     *
-     * @return view length
-     */
-    virtual int getViewLength() const = 0;
-
-    /**
-     * Position in arbitrary units of the start of the currently viewed data 
-     * (refer setter function for detailed concept).
-     * @return position of the start of the view
-     */
-    virtual int getViewStartPosition() const = 0;
-
-    };
-
-    } // namespace Alf
-
-#endif // IALF_SCROLLBARMODEL_H
-//End Of File
--- a/mmuifw_plat/alf_scrollbarwidget_api/inc/alf/ialfscrollbarwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
-* 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 scrollbar widget.
-*
-*/
-
-#ifndef I_ALF_SCROLLBARWIDGET_H
-#define I_ALF_SCROLLBARWIDGET_H
-
-//WidgetModel includes
-#include <alf/ialfwidget.h>
-#include <alf/alfevent.h>
-#include <alf/alfwidgetevents.h>
-#include <alf/ialfwidgetfactory.h>
-
-//osn includes
-#include <osn/osndefines.h>
-#include <osn/ustring.h>
-
-namespace Alf
-    {
-namespace alfscrollbarwidget
-    {
-    /**
-     * @namespace alfscrollbarwidget
-     * 
-     * ident specifies the unique identifier for the grid widget.
-     */
-    static const IfId ident =
-        {
-        0, "alfscrollbarwidget"
-        };
-    static const Utf8* const KBaseElementName = "BaseElement";
-    }
-
-/**
- * Enumeration of selectionchanged events generated by the grid widget.
- */
-enum
-    {
-    EEventScrollBarClicked = ELastCommonWidgetEvent+1111,
-    EEventScrollBarTouchDown,
-    EEventScrollBarDrag
-    };
-    
-    
-/**
- * Interface for the scrollbar widget.
- *
- * Default visualization of scrollbar contains following components.
- * <ul>
- * <li>Thumb (The size of the Thumb shows the amount of scrollable content)</li>
- * <li>Track (Place holder for Thumb)</li>
- * </ul>
- * 
- * A scrollbar widget is used along with a scrollable widget,  
- * <ul> 
- * <li>to show the amount of scrollable content inside scrollable widget by 
- * means of thumb size</li>
- * <li>to generate scroll events(MoveUp and Movedown, PageUp PageDown and drag)
- * </li>
- * <li>to show the view start position in the scrollbale content</li>
- * </ul>
- *
- * The communication between scrollbar and scrollable widget happens through 
- * events. Scrollbar handles only pointer events which are converted to higher
- * level events like <b>EEventScrollUp, EEventScrollDown, EEventScrollLeft,
- * EEventScrollRight, EEventScrollPageUp, EEventScrollPageDown, 
- * EEventScrollPageLeft and EEventScrollPageRight</b>
- * and sent to scrollable widget.Scrollable widget can also generate similar 
- * higher level events in response to key and pointer events.In which case it 
- * is scrollable widget's resposibility to send these events to scrollbar.
- *
- */
-class IAlfScrollBarWidget: public IAlfWidget
-    {
-public:
-    /**
-     * Get the type of widget.
-     * 
-     * @return The type of widget
-     */
-    static  const IfId& type()
-        {
-        return alfscrollbarwidget::ident;
-        }
-
-    /**
-     * Gets the Base Element Name.
-     *
-     * @return The base element's name
-     */
-    static inline const char* baseElementName()
-        {
-        return alfscrollbarwidget::KBaseElementName;
-        }
-        
-    /**
-     * Destructor.
-     */	
-    virtual ~IAlfScrollBarWidget() {}
-    /**
-     * Sets whether or not tactile feedback is enabled.
-     *
-     * @param aFlag Whether or not tactile is enabled.
-     */
-    virtual void enableTactile(bool aFlag) = 0; 
-    
-    /**
-     * Returns the state of tactile feedback whether it is enabled/disabled.
-     *
-     * @param aEnabled Whether or not tactile is enabled.
-     */
-    virtual bool IsTactileEnabled() = 0;
-
-    };
-
-    } // namespace Alf
-
-#endif // IALF_SCROLLBARWIDGET_H
-//End Of File
--- a/mmuifw_plat/alf_viewwidget_api/alf_viewwidget_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" ?>
-<api id="1bcc7436185f77adc4ac26a6839e264f" dataversion="1.0">
-<name>alf viewwidget api</name>
-<description>Alf View Widget API</description>
-<type>c++</type>
-<subsystem>alfviewwidget</subsystem>
-<libs></libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/alf_viewwidget_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2006 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:  File that exports the files belonging to 
-:                ALF widget factory API
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/alf/ialfviewwidget.h    			    MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfviewwidget.h)
-../inc/alf/alfviewwidgetexception.h			MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfviewwidgetexception.h)
--- a/mmuifw_plat/alf_viewwidget_api/inc/alf/alfviewwidgetexception.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* 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:  View widget exception class.
-*
-*/
-
-
-#ifndef ALFVIEWWIDGETEXCEPTION_H
-#define ALFVIEWWIDGETEXCEPTION_H
-
-// INCLUDES
-#include <alf/alfexception.h>
-#include <osn/ustring.h>
-
-namespace Alf
-    {
-
-/**
- * Error codes used with AlfViewWidgetException.
- *
- * There is an offset in AlfViewWidgetException error codes, so that
- * AlfViewWidget specific exceptions can be separated from
- * osncore::AlfException base exceptions and exceptions of other widgets.
- */
-enum TAlfViewWidgetErrorCode
-    {
-    /**
-     * Error occured in construction or initialization of the view
-     * widget.
-     */
-    EInitializationError = 600,
-
-    /**
-     * Handle to status pane not found
-     */
-    EStatusPaneError,
-
-    /**
-     * Handle to control pane not found
-     */
-    EControlPaneError,
-    
-    /**
-     * Control group id specified in the viewwidget constructor
-     * already reserved.
-     */
-    EControlGroupAlreadyExists
-    };
-
-/**
- * AlfViewWidgetException is a base class for all view widget
- * exceptions.
- *
- */
-class AlfViewWidgetException : public osncore::AlfException
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Constructor with AlfViewWidget specific error code.
-     *
-     * Error code has to be one of the error codes specified in
-     * Alf::TAlfViewWidgetErrorCode or a system-wide error code
-     * represented by negative integer.
-     *
-     * @see osncore::AlfException::errorCode()
-     *
-     * @param aError Error code to describe the occured exception.
-     */
-    AlfViewWidgetException(int aError) throw();
-
-    /**
-     * Constructor with AlfViewWidget specific error code
-     * and additional information.
-     *
-     * Error code has to be one of the error codes specified in
-     * Alf::TAlfViewWidgetErrorCode or a system-wide error code
-     * represented by negative integer.
-     *
-     * @see osncore::AlfException::errorCode()
-     *
-     * @param aError Error code to describe the occured exception.
-     * @param aInfo Optional additional information or NULL.
-        */
-    AlfViewWidgetException(int aError, const char* aInfo) throw();
-
-    /**
-     * Constructor with AlfViewWidget specific error code,
-     * additional information, source file and line of code.
-     *
-     * Error code has to be one of the error codes specified in
-     * Alf::TAlfViewWidgetErrorCode or a system-wide error code
-     * represented by negative integer.
-     *
-     * @see osncore::AlfException::errorCode()
-     *
-     * @param aError Error code to describe the occured exception.
-     * @param aInfo Optional additional information or NULL.
-        * @param aFileAndLine Optional file and line information or NULL.
-        */
-    AlfViewWidgetException(int aError, const char* aInfo, const char* aFileAndLine) throw();
-
-    /**
-     * Default destructor.
-     */
-    virtual ~AlfViewWidgetException() throw();
-
-    /**
-     * Returns the description of the exception.
-     * @ret The description of the exception.
-     */
-    const char* what() const throw();
-
-private:
-
-    /**
-     * Error description
-     */
-    osncore::UString mDescription;
-
-    };
-
-    } // Namespace Alf
-
-#endif // ALFVIEWWIDGETEXCEPTION_H
--- a/mmuifw_plat/alf_viewwidget_api/inc/alf/ialfviewwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,274 +0,0 @@
-/*
-* 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:   View widget interface.
-*
-*/
-
-
-#ifndef IALF_VIEWWIDGET_H
-#define IALF_VIEWWIDGET_H
-
-#include <e32base.h>
-#include <alf/ialfcontainerwidget.h>
-
-//Forward Declaration
-class TAknsItemID;
-class CAlfDisplay;
-
-namespace Alf
-    {
-
-namespace alfviewwidget
-    {
-static const IfId ident =
-    {
-    0, "viewwidget"
-    };
-
-    }
-
-/**
- * An interface for the view widget.
- *
- *  @since S60 ?S60_version
- */
-
-class IAlfViewWidget : public IAlfContainerWidget
-    {
-
-public:
-    /**
-     * Getter for the type identifier of this interface.
-     * @return A descriptor to identify the type of this interface.
-     *
-     * @since S60 ?S60_version
-     */
-    static inline const IfId& type()
-        {
-        return alfviewwidget::ident;
-        }
-
-
-    /**
-     * This will show the view widget. The view widget will be
-     * shown on the top of the view stack. If the view was already
-     * shown it will be moved on top of the view stack.
-     *
-     * @see getViewStackPosition()
-     *
-     * @param aShow true if the view is to be shown, false if
-     *              the view will be hidden. The view is not shown, 
-     *              till this api is called with true parameter.
-     * @since S60 ?S60_version
-     */
-    virtual void show(bool aShow = true) = 0 ;
-	
-    /**
-     * API to make the view widget accept events.
-     *
-     * @param aAccept true if the view is to accept inputs, else false
-     *     default value is true
-     * @since S60 ?S60_version
-     */
-    virtual void acceptEvents(bool aAccept = true) = 0 ;
-
-    /**
-     * API to enable/disable Avkon status pane
-     *
-     * @param aEnable true to enable the status pane, else false
-     *     the default value is true.
-     * @since S60 ?S60_version
-     */
-    virtual void enableStatusPane(bool aEnable = true) = 0;
-
-    /**
-     * API to hide/show Avkon control pane
-     * If the AlfDisplay bound to the view widget does not occupy the 
-     * entire client rectangle, this API has no effect.
-     *
-     * @param aEnable true to enable the control pane, else false
-     *     the default value is true.
-     * @since S60 ?S60_version
-     */
-    virtual void enableControlPane(bool aEnable = true) = 0;
-
-    /**
-     * API to enable/disable Avkon Skin to be used as view widget's background.
-     *
-     * @param aSkinBackground true if the view has to use Avkon Skin as background.
-     *                        false otherwise.
-     * @since S60 ?S60_version
-     */
-    virtual void useSkinBackground(bool aSkinBackground = true) = 0;
-
-    /**
-     * API to use Skin with the given ID to be used as view widget's background.
-     * Also enables skin background. See IAlfViewWidget::useSkinBackground()     
-     *
-     * @param aID Skin id of the graphics to be used in the texture.
-     *
-     * @since S60 ?S60_version
-     */
-    virtual void setSkinBackground(TAknsItemID aSkinID) = 0;
-
-    /**
-     * API to check whether the view is shown
-     *
-     * @return true if the view is shown, else false
-     *
-     * @since S60 ?S60_version
-     */
-    virtual bool shown() = 0;
-    
-    /**
-     * Returns the position of the view on the view stack.
-     * This tells the view Z-coordinate position relative to other views.
-     * Top-most view returns zero. Views under that have a growing
-     * number of position. If the view is hidden -1 is returned.
-     * Only view widgets are taken into consideration in the position calculation.
-     * Other control groups in the display roster are ignored. For example,
-     * position zero doesn't mean that the control group of this view would be
-     * top-most.
-     *
-     * Only top-most view is activate while all other views are being deactivate.
-     *
-     * @see show()
-     * 
-     * @return Position of the view, -1 if view is hidden.
-     */    
-    virtual int getViewStackPosition() const = 0;
-
-    /**
-     * API to check whether the view accepts events
-     *
-     * @return true if the view accepts events, else false
-     *
-     * @since S60 ?S60_version
-     */
-    virtual bool eventsAccepted() = 0;
-
-    /**
-     * API to check whether the status pane is enabled
-     *
-     * @return true if the status pane is enabled, else false
-     *
-     * @since S60 ?S60_version
-     */
-    virtual bool statusPaneEnabled() = 0;
-
-    /**
-     * API to check whether the control pane is enabled
-     *
-     * @return true if the control pane is enabled, else false
-     *
-     * @since S60 ?S60_version
-     */
-    virtual bool controlPaneEnabled() = 0;
-
-    /**
-     * API to check whether skin info is being used for background
-     * or not
-     *
-     * @return true if the skin info is being used, else false
-     *
-     * @since S60 ?S60_version
-     */
-    virtual bool usingSkinBackground() = 0;
-
-    /**
-     * API to get the Avkon Skin ID being used as view widget's background.
-     * Use IAlfViewWidget::usingSkinBackground() to check if this is
-     * being used.
-     *
-     * @return Avkon Skin ID being used for view's background.
-     *         Returns an ID with major and minor fields=-1 if
-     *         this info was never set.
-     *         See IAlfViewWidget::setSkinBackground()
-     *
-     * @since S60 ?S60_version
-     */
-    virtual TAknsItemID skinBackground() = 0;
-    
-    /**
-     * API to Set the display area of the view widget.
-     * This will set the alfdisplay area with param passed
-     * Client need to call this api with screen/apprect to make 
-     * view full screen or application rect
-     *
-     * @param aDisplayRect: the area in which view widget should be
-     *                      displayed
-     *
-     * @since S60 ?S60_version
-     */
-    virtual void setRect(const TRect& aDisplayRect) = 0;
-
-    /**
-     * Virtual destructor.
-     */
-    virtual ~IAlfViewWidget () {}
-
-    };
-	
-/**
- *  Structure to store information required to instantiate a view widget
- *  via the widget factory mechanism.
- *  A pointer to this structure is casted to a void pointer and sent to the
- *  factory plugin during the view widget construction.
- */
-struct AlfViewWidgetInitData
-    {
-    /**
-     * Owner environment for the widget
-     */
-    CAlfEnv* mEnv;
-
-    /**
-     * Display pointer
-     */
-    CAlfDisplay* mDisplay;
-
-    /**
-     * Widget instance ID.This uniquely identifies every widget instance
-     * and is its name.
-     * @see AlfWidget::Widgetname()
-     */
-    const char* mWidgetId;
-    
-    /**
-     * Control group ID that will be used to create a new control group
-     * and append the view widget into. 
-     */
-    int mControlGroupId;
-
-    /**
-     * Pointer to node in declaration containing information for the widget.
-     */
-    DuiNode* mNode;
-    
-    /**
-     * XML file name containing the declaration for the presention of the widget. 
-     */
-    const char* mFilePath;
-
-    /**
-     * Pointer to custom data passed via factory mechanism
-     * Not Owned.
-     */
-    AlfCustomInitDataBase* mCustomData;  
-    };	
-
-	}//end of namespace
-
-#endif // IALF_VIEWWIDGET_H
-//End Of File
--- a/mmuifw_plat/alf_widgetfactory_api/alf_widgetfactory_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" ?>
-<api id="2e83a08df571f254641c882d64e63fc8" dataversion="1.0">
-<name>alf widgetfactory api</name>
-<description>API for AlfWidgetFactory</description>
-<type>c++</type>
-<subsystem>alfwidgetfactory</subsystem>
-<libs></libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/alf_widgetfactory_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2006 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:  File that exports the files belonging to 
-:                ALF widget factory API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-// To be removed once migration to the new internal export dir has been done
-
-../inc/alf/ialfwidgetfactory.h     MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfwidgetfactory.h)
-
--- a/mmuifw_plat/alf_widgetfactory_api/inc/alf/ialfwidgetfactory.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,567 +0,0 @@
-/*
-* 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:  Custom widget factories are registered into factory chain
-*
-*/
-
-
-#ifndef I_ALFWIDGETFACTORY_H
-#define I_ALFWIDGETFACTORY_H
-
-//Widget Utils includes
-#include <alf/alftypes.h>
-
-//Widget Model Includes
-#include <alf/ialfinterfacebase.h>
-
-//Forward declaration
-class CAlfDisplay;  
-
-//Namespaces
-namespace duiuimodel
-    {
-    class DuiNode;        
-    }
-
-using namespace duiuimodel;
-    
-namespace Alf
-    {
-
-//Forward declarations
-class IAlfWidget;
-class IAlfModel;
-class IAlfWidgetControl;
-class IAlfElement;
-class IAlfVisualTemplate;
-class IAlfWidgetEventHandler;
-class IAlfFactoryPlugin;
-class IAlfViewWidget;
-class IAlfContainerWidget;
-class IAlfLayoutManager;
-
-//Namespace
-namespace category
-    {
-    static const char* const KWidget = "widget";
-    static const char* const KModel = "model";
-    static const char* const KControl ="control";
-    static const char* const KElement ="element";
-    static const char* const KVisualTemplate ="visualtemplate";
-    static const char* const KEventHandler = "eventhandler";        
-    }    
-
-namespace alfwidgetfactory
-    {
-     static const IfId ident=
-        {
-        0,"alfwidgetfactory"
-        };
-    
-    }
-
-/**
- *  @class AlfCustomInitDataBase ialfwidgetfactory.h "alf/ialfwidgetfactory.h"
- *
- *  Empty placeholder for custom data to be plumbed through the factory while 
- *  creating widgets or widget parts.
- *  Derive from this class to pass custom data via the factory.
- *
- *  @lib alfwidgetfactory.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfCustomInitDataBase
-    {
-public:
-
-   /**
-    * Virtual destructor.
-    */
-    virtual ~AlfCustomInitDataBase() {}
-    };
-
-
-/**
- *  @class IAlfWidgetFactory ialfwidgetfactory.h "alf/ialfwidgetfactory.h"
- *
- *  Interface to create widgets, register custom widget factories and query 
- *  factory products.
- *
- *  Widget factory provides methods to create widgets, event handlers, 
- *  controls, visual templates and elements through a factory chain.
- *  @code
- *  MAlfListWidget* list = widgetFactory.CreateWidget<MAlfListWidget>(
- *                                                     "alflistwidget");
- *  if( list )
- *      {
- *      // do operations with widget
- *      }
- *  @endcode
- *
- *  @lib alfwidgetfactory.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class IAlfWidgetFactory: public IAlfInterfaceBase
-    {
-public:
-    static inline const IfId& type()
-        {
-        return alfwidgetfactory::ident;    
-        }
-
-    /**
-     * Destructor
-     */
-    virtual ~IAlfWidgetFactory() {}
-
-    // Templates
-    
-    /**
-     * Constructs a new widget.
-     *
-     * Each widget will have to be added into a container widget. The root 
-     * container widget of an application user interface view can be created 
-     * with the createViewWidget() method. The widget hierarchy can be 
-     * constructed from the root container widget by using container and leaf 
-     * widgets. When a new widget is created a container has to be specified 
-     * that is going to contain the created widget. The container can be a 
-     * root container widget or some of the inner container widgets in the 
-     * widget containment hierarchy.
-     *
-     * Widget's control is bound to a display object when this widget is first 
-     * shown. The widget is bound to the same display that was given in the 
-     * constructor of its containing view.
-     *
-     * @see createViewWidget()
-     * @see Alf::IAlfContainerWidget
-     *
-     * @exception osncore::AlfWidgetException Thrown with error code 
-     *            osncore::EInvalidArgument if both node and declaration file 
-     *            path have non-null value at the same time.
-     * @exception osncore::AlfWidgetException Thrown with error code 
-     *            osncore::EInvalidWidgetInstanceId if an attempt is made to 
-     *            create a widget with the Instance ID of an existing widget.     
-     *
-     * @param aLoadId           Widget type identifier.
-     * @param aInstanceId       Id or name of the widget to be created.
-     * @param aContainerWidget  Reference to a container widget that will 
-     *                          contain the created widget.
-     * @param aNode             Declarative UI node which is used to construct
-     *                          and configure this widget from a declaration. 
-     *                          Default implementation if aNode is NULL.
-     * @param aFilePath         File handle to an XML file describing the 
-     *                          presentation of the widget. Both aNode and 
-     *                          aFilePath cannot be non-null values at the 
-     *                          same time.                             
-     * @param aCustomData       Custom data to be passed to the widget during 
-     *                          construction. 
-     *
-     * @return Pointer to the created widget or 0. The created widget is 
-     *         maintained in the UI Accelerator Toolkit environment.
-     */
-    template<class T>
-    T* createWidget(
-        const char* aLoadId, const char* aInstanceId, 
-        IAlfContainerWidget& aContainerWidget,
-        DuiNode* aNode=0, const char* aFilePath=0, 
-        AlfCustomInitDataBase* aCustomData=0)
-        {
-        return static_cast<T*>(
-        createWidget(aLoadId,aInstanceId,aContainerWidget,
-                     aNode,aFilePath,aCustomData));
-        }
-
-    /**
-     * Destroy widget
-     *
-     * @param aWidget A widget to be destroyed.
-     * @return Error code, if widget was not found, 0 otherwise.
-     */
-    template<class T>
-    int destroyWidget(T* aWidget)
-        {
-        return destroyWidget(static_cast<IAlfWidget*>(aWidget));
-        }
-    
-    /**
-     * Create a widget model
-     *
-     * @param aLoadId Implementation to load
-     * @param aCustomData  Custom data to be passed to the model during 
-     *                     construction. 
-     * @return Pointer to model or 0. 
-     */
-    template<class T>
-    T* createModel(const char* aLoadId, AlfCustomInitDataBase* aCustomData=0)
-        {
-        return static_cast<T*>(createModel(aLoadId,aCustomData));      
-        }
-        
-    /**
-     * Create a control
-     *
-     * @param aLoadId Load identifier
-     * @param aInstanceId Instance identifier
-     * @param aDisplay Display where control is bound
-     * @param aCustomData Custom data to be passed to the control during 
-     *                    construction. 
-     * @return Pointer to control or 0.
-     */
-    template<class T> T* createControl(
-        const char* aLoadId, const char* aInstanceId, 
-        CAlfDisplay* aDisplay=0, AlfCustomInitDataBase* aCustomData=0)
-        {
-        return static_cast<T*>(
-        createControl(aLoadId,aInstanceId,aDisplay,aCustomData));
-        } 
-           
-    /**
-     * Create an element
-     *
-     * @param aLoadId Load identifier
-     * @param aInstanceId Instance identifier
-     * @param aControl Control Use by element contructor
-     * @param aCustomData  Custom data to be passed to the element during 
-     *                     construction. 
-     * @return Pointer to element or 0.
-     */
-    template<class T> T* createElement(
-        const char* aLoadId, const char* aInstanceId, 
-        IAlfWidgetControl& aControl, DuiNode* aNode=0, 
-        AlfCustomInitDataBase* aCustomData=0)
-        {
-        return static_cast<T*>(
-        createElement(aLoadId,aInstanceId,aControl,aNode,aCustomData));
-        }     
-
-    /**
-     * Create a visual template
-     *
-     * @param aLoadId Load identifier
-     * @param aInstanceId Instance identifier
-     * @param aCustomData  Custom data to be passed to the visual template 
-     *                     during construction. 
-     * @return Pointer to visual template or 0.
-     */
-    template<class T> T* createVisualTemplate(
-        const char* aLoadId, const char* aInstanceId, 
-        DuiNode* aNode=0, AlfCustomInitDataBase* aCustomData=0)
-        {
-        return static_cast<T*>(
-        createVisualTemplate(aLoadId,aInstanceId,aNode,aCustomData));
-        }
-        
-    /**
-     * Create an event handler
-     *
-     * @param aLoadId Load identifier
-     * @param aInstanceId Instance identifier
-     * @param aCustomData  Custom data to be passed to the event handler 
-     *                     during construction. 
-     * @return Pointer to event handler or 0.
-     */
-    template<class T> T* createEventHandler(
-        const char* aLoadId,
-        const char* aInstanceId,
-        DuiNode* aNode=0, 
-        AlfCustomInitDataBase* aCustomData=0)
-        {
-        return static_cast<T*>(
-        createEventHandler(aLoadId,aInstanceId,aNode,aCustomData));
-        }      
-
-    /**
-     * Create an layoutmanager.
-     *
-     * @param aLoadId Load identifier
-     * @param aInstanceId Instance identifier
-     * @param aNode declaration node.
-     * @param aCustomData Custom data to be passed to the layout manager 
-     *                    during construction. 
-     * @return Pointer to instance or NULL
-     */
-    template<class T> T* createLayoutManager(
-        const char* aLoadId, 
-        const char* aInstanceId, 
-        DuiNode* aNode=0, 
-        AlfCustomInitDataBase* aCustomData=0)
-        {
-        return static_cast<T*>(
-        createLayoutManager(aLoadId,aInstanceId,aNode,aCustomData));
-        }
-        
-public:
-
-    /**
-     * Constructs a new view widget.
-     *
-     * Application user interface contains always at least one view widget.
-     *
-     * View widget is a container widget that can be used to contain other 
-     * container or leaf widgets. View widget is the root of the application 
-     * user interface view into which the widget hierarchy can be built.
-     *
-     * View widget control is appended in a control group. Each view will be 
-     * associated with a unique control group. A unique, unreserved control 
-     * group ID should be passed through this construction method. 
-     * Construction method will then create a new control group for the given 
-     * ID and append the view widget's control into the control group. When 
-     * the view widget is destroyed also its control group is destroyed and 
-     * the control group ID is free to be used again. If an already reserved 
-     * control group ID is passed an osncore::AlfException is thrown with 
-     * error code osncore::EInvalidArgument.
-     *
-     * If the application contains multiple views it is possible to apply 
-     * transitions from a view widget to another by manipulating the 
-     * associated control groups.
-     *
-     * View widget is bound to a single display. If no display is given as a 
-     * construction parameter then primary display of the UI Accelerator 
-     * Toolkit environment is used. If no display is given and there is no 
-     * primary display in the environment an osncore::AlfException is thrown 
-     * with error code osncore::EDisplayNotFound.
-     *
-     * @see Alf::IAlfViewWidget
-     * @see Alf::IAlfContainerWidget
-     * @see CAlfControlGroup
-     *
-     * @exception osncore::AlfException Thrown with error code 
-     *            osncore::EInvalidArgument if a control group with the 
-     *            provided id already exists and with error code 
-     *            osncore::EDisplayNotFound if no display object is provided 
-     *            and there is no primary display.
-     *
-     * @exception osncore::AlfWidgetException Thrown with error code 
-     *            osncore::EInvalidArgument if both node and declaration 
-     *            file path have non-null value at the same time.
-     * @exception osncore::AlfWidgetException Thrown with error code 
-     *            osncore::EInvalidWidgetInstanceId if an attempt is made to 
-     *            create a view widget with the Instance ID of an existing widget.
-     *
-     * @param aInstanceId      Id or name of the view widget to be created.
-     * @param aControlGroupId  Id of the control group to be created. This has
-     *                         to be unique and unreserved control group id.
-     * @param aNode            Declarative UI node which is used to construct 
-     *                         and configure this widget from a declaration. 
-     *                         Default implementation if aNode is NULL.
-     * @param aDisplay         Display in which the view widget is maintained.
-     *                         Primary display is used if no display is 
-     *                         provided.
-     * @param aFilePath        File handle to an XML file describing the 
-     *                         presentation of the view widget. Both aNode and 
-     *                         aFilePath cannot be non-null values at the same 
-     *                         time. 
-     * @param aCustomData      Custom data to be passed to the widget during 
-     *                         construction. 
-     *
-     * @return Pointer to a new view widget or 0. The created widget is 
-     *         maintained in the UI Accelerator Toolkit environment.
-     */
-    virtual IAlfViewWidget* createViewWidget(
-        const char* aInstanceId, 
-        int aControlGroupId, 
-        DuiNode* aNode=0, 
-        CAlfDisplay* aDisplay=0, 
-        const char* aFilePath=0,
-        AlfCustomInitDataBase* aCustomData=0) = 0;
-    
-    /**
-     * Constructs a new widget.
-     *
-     * Each widget will have to be added into a container widget. The root 
-     * container widget of an application user interface view can be created 
-     * with the createViewWidget() method. The widget hierarchy can be 
-     * constructed from the root container widget by using container and leaf 
-     * widgets. When a new widget is created a container has to be specified 
-     * that is going to contain the created widget. The container can be a 
-     * root container widget or some of the inner container widgets in the 
-     * widget containment hierarchy.
-     *
-     * Widget's control is bound to a display object when this widget is first 
-     * shown. The widget is bound to the same display that was given in the 
-     * constructor of its containing view.
-     *
-     * @see createViewWidget()
-     * @see Alf::IAlfContainerWidget
-     *
-     * @exception osncore::AlfWidgetException Thrown with error code 
-     *            osncore::EInvalidArgument if both node and declaration file 
-     *            path have non-null value at the same time.
-     * @exception osncore::AlfWidgetException Thrown with error code 
-     *            osncore::EInvalidWidgetInstanceId if an attempt is made to 
-     *            create a widget with the Instance ID of an existing widget.     
-     *
-     * @param aLoadId           Widget type identifier.
-     * @param aInstanceId       Id or name of the widget to be created.
-     * @param aContainerWidget  Reference to a container widget that will 
-     *                          contain the created widget.
-     * @param aNode             Declarative UI node which is used to construct 
-     *                          and configure this widget from a declaration. 
-     *                          Default implementation if aNode is NULL.
-     * @param aFilePath         File handle to an XML file describing the 
-     *                          presentation of the widget. Both aNode and 
-     *                          aFilePath cannot be non-null
-     *                          values at the same time.                             
-     * @param aCustomData       Custom data to be passed to the widget during 
-     *                          construction. 
-     *
-     * @return Pointer to the created widget or 0. The created widget is 
-     *         maintained in the UI Accelerator Toolkit environment.
-     */
-    virtual IAlfWidget* createWidget(
-        const char* aLoadId,
-        const char* aInstanceId,
-        IAlfContainerWidget& aContainerWidget,
-        DuiNode* aNode=0, 
-        const char* aFilePath=0, 
-        AlfCustomInitDataBase* aCustomData=0) = 0;
-
-    /**
-     * Destroy widget
-     *
-     * @param aWidget A widget to be destroyed.
-     * @return -1, if widget was not found, 0 otherwise.
-     */
-    virtual int destroyWidget(IAlfWidget* aWidget) = 0;
-    
-    /**
-     * Find named widgets owned by the factory
-     *
-     * @param aWidgetName A widget name to be found.
-     *
-     * @return The widget pointer if it is found, 0 otherwise.
-     */
-    virtual IAlfWidget* findWidget(const char* aWidgetName)const = 0;
-    
-    
-    /**
-     * Append widgets into the widget factory
-     *
-     * @param aWidget A widget to be added 
-     *
-     * @return -1, if widget was already added to the factory, 0 otherwise.
-     */
-    virtual int appendWidget(IAlfWidget* aWidget) = 0;
-    
-    /**
-     * Create a widget model
-     *
-     * @param aLoadId Implementation to load
-     * @param aCustomData  Custom data to be passed to the model during 
-     *                     construction. 
-     * @return Pointer to widget or 0. Ownership is transferred to caller.
-     */
-    virtual IAlfModel* createModel(
-        const char* aLoadId, 
-        AlfCustomInitDataBase* aCustomData=0) = 0;
-    
-    /**
-     * Create a control
-     *
-     * @param aLoadId Load identifier
-     * @param aInstanceId Instance identifier
-     * @param aDisplay Display where control is bound
-     * @param aCustomData  Custom data to be passed to the control during 
-     *                     construction. 
-     * @return Pointer to created control or 0.
-     */
-    virtual IAlfWidgetControl* createControl(
-        const char* aLoadId,
-        const char* aInstanceId,
-        CAlfDisplay* aDisplay=0, 
-        AlfCustomInitDataBase* aCustomData=0) = 0;
-   
-    /**
-     * Create an element
-     *
-     * @param aLoadId Load identifier
-     * @param aInstanceId Instance identifier
-     * @param aControl Control Use by element contructor
-     * @param aCustomData  Custom data to be passed to the element during 
-     *                     construction. 
-     * @return Pointer to created element or 0.
-     */
-    virtual IAlfElement* createElement(
-        const char* aLoadId, 
-        const char* aInstanceId, 
-        IAlfWidgetControl& aControl,
-        DuiNode* aNode=0, 
-        AlfCustomInitDataBase* aCustomData=0) = 0;
-    
-    /**
-     * Create a visual template
-     *
-     * @param aLoadId Load identifier
-     * @param aInstanceId Instance identifier
-     * @param aCustomData  Custom data to be passed to the visual template 
-     *                     during construction. 
-     * @return Pointer to created visual template or 0.
-     */
-    virtual IAlfVisualTemplate* createVisualTemplate(
-        const char* aLoadId, 
-        const char* aInstanceId,
-        DuiNode* aNode=0, 
-        AlfCustomInitDataBase* aCustomData=0) = 0;
-    
-    /**
-     * Create an event handler
-     *
-     * @param aLoadId Load identifier
-     * @param aInstanceId Instance identifier
-     * @param aCustomData  Custom data to be passed to the event handler 
-     *                     during construction. 
-     * @return Pointer to created event handler or 0.
-     */
-    virtual IAlfWidgetEventHandler* createEventHandler(
-        const char* aLoadId, 
-        const char* aInstanceId,
-        DuiNode* aNode=0, 
-        AlfCustomInitDataBase* aCustomData=0) = 0;
-    
-    /**
-     * Create an layoutmanager.
-     *
-     * @param aLoadId Load identifier
-     * @param aInstanceId Instance identifier
-     * @param aNode declaration node.
-     * @param aCustomData Possible custom initialization data for the 
-     *                    layoutmanager.
-     * @return Pointer to created layout manager or 0.
-     */
-    virtual IAlfLayoutManager* createLayoutManager(
-        const char* aLoadId, 
-        const char* aInstanceId, 
-        DuiNode* aNode=0, 
-        AlfCustomInitDataBase* aCustomData=0) = 0;
-
-    /**
-     * Application can register a custom factory to create custom factory 
-     * products.
-     * Ownership is transferred to a widget factory chain, 
-     * if call is successfull. 
-     *
-     * @exception std::bad_alloc
-     * @param aFactory Custom factory
-     * @return void
-     */
-    virtual void registerCustomWidgetFactory(IAlfFactoryPlugin* aFactory) = 0;
-    };
-
-    } // namespace Alf
-    
-#endif 
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/alf_widgetmodel_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="50965c680089dd7c554b4cac018089b6" dataversion="1.0">
-<name>alf widgetmodel api</name>
-<description>Alf WidgetModel API</description>
-<type>c++</type>
-<subsystem>alfwidgetmodel</subsystem>
-<libs><lib name="alfwidgetmodel.lib"/>
-</libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/alf_widgetmodel_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2006 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:  File that exports the files belonging to 
-:                ALF widget model API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-// To be removed once migration to the new internal export dir has been done
-
-../inc/alf/ialfbranch.h                         MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfbranch.h)
-../inc/alf/ialfcontainer.h                      MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfcontainer.h)
-../inc/alf/ialfelement.h                        MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfelement.h)
-
-../inc/alf/ialfwidget.h                         MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfwidget.h)
-../inc/alf/ialfinterfacebase.h                  MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfinterfacebase.h)
-../inc/alf/alfvarianttype.h                     MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfvarianttype.h)
-
-../inc/alf/ialfmap.h                            MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfmap.h)
-../inc/alf/ialfmodel.h                          MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfmodel.h)
-../inc/alf/ialfmodelchangeobserver.h            MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfmodelchangeobserver.h)
-../inc/alf/ialfnavigation.h                     MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfnavigation.h)
-
-../inc/alf/ialflayoutmanager.h                  MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialflayoutmanager.h)
-../inc/alf/alflayoutmanager.h                   MW_LAYER_PLATFORM_EXPORT_PATH(alf/alflayoutmanager.h)
-../inc/alf/alfgridlayoutmanager.h               MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfgridlayoutmanager.h)
-../inc/alf/alfanchorlayoutmanager.h             MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfanchorlayoutmanager.h)
-../inc/alf/ialflayoutpreferences.h              MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialflayoutpreferences.h)
-../inc/alf/ialfvarianttype.h                    MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfvarianttype.h)
-../inc/alf/ialfsortfunction.h                   MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfsortfunction.h)
-
-
-../inc/alf/ialfwidgetcontrol.h                  MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfwidgetcontrol.h)
-../inc/alf/ialfwidgeteventhandler.h             MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfwidgeteventhandler.h)
-../inc/alf/alfwidgetcontrol.h                   MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfwidgetcontrol.h)
-../inc/alf/alfmodel.h                           MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfmodel.h)
-../inc/alf/alfmodel.inl                         MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfmodel.inl)
-
-../inc/alf/alfwidget.inl                        MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfwidget.inl)
-../inc/alf/alfwidgetcontrol.inl                 MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfwidgetcontrol.inl)
-
-
-../inc/alf/alfeventoutputsignalsubscriber.h     MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfeventoutputsignalsubscriber.h)
-
-../inc/alf/alfelement.inl                       MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfelement.inl)
-
-../inc/alf/alfwidgeteventhandler.h              MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfwidgeteventhandler.h)
-../inc/alf/alfwidgeteventhandler.inl            MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfwidgeteventhandler.inl)
-
-
-../inc/alf/alfwidgetevents.h                    MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfwidgetevents.h)
-../inc/alf/ialfmodelbase.h                      MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfmodelbase.h)
-
-../inc/alf/alfwidgetenvextension.h              MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfwidgetenvextension.h)
-../inc/alf/alfwidgetcommand.h                   MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfwidgetcommand.h)
-../inc/alf/ialfgridlayoutpolicy.h               MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfgridlayoutpolicy.h)
-../inc/alf/alfflowlayoutmanager.h               MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfflowlayoutmanager.h)
-../inc/alf/ialfflowlayoutpolicy.h               MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfflowlayoutpolicy.h)
-../inc/alf/ialfappeventlistener.h               MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialfappeventlistener.h)
-../inc/alf/attrproperty.h                       MW_LAYER_PLATFORM_EXPORT_PATH(alf/attrproperty.h)
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfanchorlayoutmanager.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* 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:  anchor layout manager
-*
-*/
-
-
-#ifndef ALFANCHORLAYOUTMANAGER_H
-#define ALFANCHORLAYOUTMANAGER_H
-
-#include <osn/osndefines.h>
-#include <osn/osntypes.h>
-#include <memory>
-#include <alf/alflayoutmanager.h>
-#include <alf/alflayout.h>
-
-using std::auto_ptr;
-
-namespace Alf
-    {
-class IAlfWidgetControl;
-class AlfAnchorLayoutManagerImpl;
-
-/**
- * @class AlfAnchorLayoutManager alfanchorlayoutmanager.h "alf/alfanchorlayoutmanager.h"
- * Anchor layout manager
- * Layout manager handles the layouting of child widgets in the container widget.
- * It uses IAlfLayoutPreferences-interface (@see IAlfLayoutPreferences) 
- * of child widgets as a guide for laying out the widgets. The layoutmanager 
- * is set to the IAlfHostApi- interface (@see IAlfHostApi::setBaseLayout)
- * createLayout-method should be the first call after creating the layoutmanager. 
- * @see IAlfLayoutPreferences
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- * @interfaces IAlfLayoutManager, IAlfLayoutPreferences
- */
-class AlfAnchorLayoutManager : public AlfLayoutManager
-    {
-    friend class AlfAnchorLayoutManagerImpl;
-public:
-
-    /**
-     * Layout manager constructor
-     * @exception std::bad_alloc
-     */
-    OSN_IMPORT AlfAnchorLayoutManager();
-        
-    /**
-     * virtual destructor
-     */
-    OSN_IMPORT virtual ~AlfAnchorLayoutManager();
-    
-public:
-    //from IAlfLayoutManager
-            
-    /**
-     * from IAlfLayoutManager
-     * Notifies the layout manager, that the child control's layout
-     * must be updated
-     * 
-     * @param aControl control, which size has changed.
-     * @throw AlfVisualException(EInvalidVisual), if layout is not created.
-     */
-     virtual void updateChildLayout(CAlfWidgetControl* aControl);
-    
-    /**
-     * from IAlfLayoutManager
-     * Notifies the layout manager, that the control's has been
-     * removed from the layout.
-     * 
-     * @param aControl control, which has been removed from the layout.
-     * @throw AlfVisualException(EInvalidVisual), if layout is not created.
-     */    
-    virtual void childRemoved(CAlfWidgetControl* aControl);
-public:
-protected:
- 
-    OSN_IMPORT void doUpdateChildLayout(CAlfWidgetControl* aControl);
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    OSN_IMPORT virtual IAlfInterfaceBase* makeInterface( const IfId& aType );
-
-private: // data
-    auto_ptr<AlfAnchorLayoutManagerImpl> mData;
-    };
-
-    } // namespace Alf
-
-#endif // ALFANCHORLAYOUTMANAGER_H
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfelement.inl	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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:  Template interface getter for CAlfElement class.
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// Template getter for interfaces provided by the the element classes.
-// The type of the queried interface is specified by the
-// template parameter.
-// -----------------------------------------------------------------------------
-//
-template <class T>
-T* AlfElement::makeInterface( AlfElement* aElement )
-    {
-    if (aElement)
-        {
-        return static_cast< T* >( aElement->makeInterface( T::type() ) );
-        }
-    return 0;
-    }
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfeventoutputsignalsubscriber.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2008 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:   Event output signal subscriber interface
-*
-*/
-
-
-#ifndef ALFEVENTOUTPUTSIGNALSUBSCRIBER_H
-#define ALFEVENTOUTPUTSIGNALSUBSCRIBER_H
-
-#include <osn/osndefines.h>
-//using namespace osncore;
-
-namespace Alf
-    {
-
-/**
- *  Event output signal subscriber interface. 
- */
-class IAlfEventOutputSignalSubscriber
-	{
-public:
-    /**
-    * Called by event output signal. This method calls subscriber's callback method.
-    */
-	virtual void receiveSignal() = 0;
-	virtual ~IAlfEventOutputSignalSubscriber() {}
-	};
-
-/**
- *  Event output signal subscriber. 
- */	
-template <class T>
-OSN_NONSHARABLE_CLASS( AlfEventOutputSignalSubscriber )
-	: public IAlfEventOutputSignalSubscriber
-	{
-public:
-	explicit AlfEventOutputSignalSubscriber(T& aSubscriber, void (T::*aFnc)(void))
-		:mSubscriber(aSubscriber), mFnc(aFnc) {}
-
-	void receiveSignal() {(mSubscriber.*mFnc)();}
-
-private: // data
-	// Subscriber
-	T& mSubscriber;
-	// Callback
-	void (T::*mFnc)(void);
-	};
-
-    } // namespace Alf
-
-#endif // ALFEVENTOUTPUTSIGNALSUBSCRIBER_H
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfflowlayoutmanager.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* 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:  flow layoutmanager.
-*
-*/
-
-
-#ifndef ALFFLOWLAYOUTMANAGER
-#define ALFFLOWLAYOUTMANAGER
-
-#include <alf/alflayout.h>
-#include <osn/osndefines.h>
-#include <osn/osntypes.h>
-#include <memory>
-#include <alf/alflayoutmanager.h>
-
-using std::auto_ptr;
-
-namespace Alf
-    {
-class AlfFlowLayoutPolicyImpl;
-class AlfFlowLayoutPreferencesImpl;
-
-/** @class AlfFlowLayoutManager alfflowlayoutmanager.h "alf/alfflowlayoutmanager.h"
- * Flow layout manager positions children next to each other either horizontally or
- * vertically. The manager sizes the children by using the preferred sizes of the
- * children. @see IAlfLayoutPreferences::getPreferredSize()  
- *
- *
- * Flow layout manager takes system wide layout mirroring into consideration. 
- * In western locales the visuals are layed out from left to right whereas
- * in arabic locale for instance the visuals are layed out from right to left.
- * Mirroring is considered only when the flow is horizontal. The layout manager
- * will always lay its children from top to bottom.
- *
- * @interfaces IAlfLayoutManager, IAlfLayoutPreferences
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
- 
-class AlfFlowLayoutManager : public AlfLayoutManager
-    {
-public:
-    friend class AlfFlowLayoutPolicyImpl;
-    friend class AlfFlowLayoutPreferencesImpl;
-public:
-
-    /**
-     * layout manager constructor
-     *
-	 * @exception std::bad_alloc     
-     * @param aLayoutType type of layout used by this manager.
-     */
-    OSN_IMPORT AlfFlowLayoutManager();
-        
-    /**
-     * virtual destructor
-     */
-    OSN_IMPORT virtual ~AlfFlowLayoutManager();
-    
-public:
-    //from AlfLayoutManager
-    
-    /**
-     * from AlfLayoutManager
-     * Notifies the layout manager, that the child control's layout
-     * must be updated.
-     * 
-     * @param aControl control, which size has changed.
-     */
-    OSN_IMPORT virtual void updateChildLayout(CAlfWidgetControl* aControl);
-    
-public:
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    OSN_IMPORT virtual IAlfInterfaceBase* makeInterface( const IfId& aType );
-protected:
-    
-private: // data
-
-    auto_ptr<AlfFlowLayoutPolicyImpl> mData;
-    auto_ptr<AlfFlowLayoutPreferencesImpl> mPrefImpl;
-    };
-
-    } // namespace Alf
-
-#endif // ALFFLOWLAYOUTMANAGER
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfgridlayoutmanager.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* 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:  grid layout manager
-*
-*/
-
-
-#ifndef ALFGRIDLAYOUTMANAGER_H
-#define ALFGRIDLAYOUTMANAGER_H
-
-#include <osn/osndefines.h>
-#include <osn/osntypes.h>
-#include <memory>
-#include <alf/alflayoutmanager.h>
-#include <alf/alflayout.h>
-
-using std::auto_ptr;
-
-namespace Alf
-    {
-class IAlfWidgetControl;
-class AlfGridLayoutManagerImpl;
-class AlfGridLayoutPolicyImpl;
-
-/**
- * @class AlfGridLayoutManager alfgridlayoutmanager.h "alf/alfgridlayoutmanager.h"
- * Grid layout manager
- * Layout manager handles the layouting of child widgets in the container widget.
- * It uses IAlfLayoutPreferences-interface (@see IAlfLayoutPreferences) 
- * of child widgets as a guide for laying out the widgets. The layoutmanager 
- * is set to the IAlfHostApi- interface (@see IAlfHostApi::setBaseLayout)
- * createLayout-method should be the first call after creating the layoutmanager. 
- * @see IAlfLayoutPreferences
- * @see IAlfGridLayoutPolicy
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- * @interfaces IAlfLayoutManager, IAlfLayoutPreferences, IAlfGridLayoutPolicy
- */
-class AlfGridLayoutManager : public AlfLayoutManager
-    {
-    friend class AlfGridLayoutManagerImpl;
-    friend class AlfGridLayoutPolicyImpl;
-public:
-
-    /**
-     * Layout manager constructor
-     * @exception std::bad_alloc
-     */
-    OSN_IMPORT AlfGridLayoutManager();
-        
-    /**
-     * virtual destructor
-     */
-    OSN_IMPORT virtual ~AlfGridLayoutManager();
-    
-public:
-    //from IAlfLayoutManager
-            
-    /**
-     * from IAlfLayoutManager
-     * Notifies the layout manager, that the child control's layout
-     * must be updated
-     * 
-     * @param aControl control, which size has changed.
-     * @throw AlfVisualException(EInvalidVisual), if layout is not created.
-     */
-     virtual void updateChildLayout(CAlfWidgetControl* aControl);
-    
-    /**
-     * from IAlfLayoutManager
-     * Notifies the layout manager, that the control's has been
-     * removed from the layout.
-     * 
-     * @param aControl control, which has been removed from the layout.
-     * @throw AlfVisualException(EInvalidVisual), if layout is not created.
-     */    
-    virtual void childRemoved(CAlfWidgetControl* aControl);
-public:
-protected:
- 
-    OSN_IMPORT void doUpdateChildLayout(CAlfWidgetControl* aControl);
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    OSN_IMPORT virtual IAlfInterfaceBase* makeInterface( const IfId& aType );
-
-private: // data
-    auto_ptr<AlfGridLayoutManagerImpl> mData;
-    auto_ptr<AlfGridLayoutPolicyImpl> mDataPolicy;
-    };
-
-    } // namespace Alf
-
-#endif // ALFGRIDLAYOUTMANAGER_H
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alflayoutmanager.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-/*
-* 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 layout managers
-*
-*/
-
-
-#ifndef ALFLAYOUTMANAGER
-#define ALFLAYOUTMANAGER
-
-#include <osn/osndefines.h>
-#include <osn/osntypes.h>
-#include <memory>
-#include <alf/ialflayoutmanager.h>
-#include <alf/alflayout.h>
-
-using std::auto_ptr;
-
-namespace Alf
-    {
-class IAlfWidgetControl;
-class AlfLayoutManagerImpl;
-class IAlfLayoutPreferences;
-
-
-/**
- * @class AlfLayoutManager alflayoutmanager.h "alf/alflayoutmanager.h"
- * The interface for layout managers
- *
- * Layout manager handles the layouting of child widgets in the container widget.
- * It uses IAlfLayoutPreferences-interface (@see IAlfLayoutPreferences) 
- * of child widgets as a guide for laying out the widgets. The layoutmanager 
- * is set to the IAlfHostApi- interface (@see IAlfHostApi::setBaseLayout)
- * createLayout-method should be the first call after creating the layoutmanager.
- *
- * Layout manager may also provide information about the layout preferences of its
- * children. If this is supported the layout manager will combine the layout preferences
- * of its children taking into consideration the technique used to lay out the children
- * using the layout manager. This will provide information about the whole display area
- * occupied by the layout manager. For instance vertical flow layout manager will provide
- * preferred size area of its children by summing their heights and providing the maximum
- * width among the children.
- *
- * @code
- * // Create layout manager interface.
- * IAlfLayoutManager* layoutManager = IAlfInterfaceBase::makeInterface<IAlfLayoutManager>(control);
- *
- * // See if layout preferences is supported in the given layout manager.
- * IAlfLayoutPreferences* layoutPreferences = IAlfInterfaceBase::makeInterface<IAlfLayoutPreferences>(layoutManager);
- *
- * if(layoutPreferences != 0)
- *     {
- *     TAlfXYMetric preferredSize;
- *     // This will report the preferred size of the layout by combining together preferred sizes of its children.
- *     bool result = layoutPreferences->getPreferredSize(preferredSize);
- *     }
- * @endcode
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- * @interfaces IAlfLayoutManager, IAlfLayoutPreferences
- */
-class AlfLayoutManager : public IAlfLayoutManager
-    {
-public:
-
-    /**
-     * layout manager constructor
-     *
-     * @param aLayoutType type of layout used by this manager.
-     */
-    OSN_IMPORT AlfLayoutManager(TAlfLayoutType aLayoutType);
-        
-    /**
-     * virtual destructor
-     */
-    OSN_IMPORT virtual ~AlfLayoutManager();
-    
-public:
-
-    /**
-     * @return the owner control of the layoutmanager.
-     */        
-    OSN_IMPORT CAlfWidgetControl& owner() const;
-
-    /**
-     * returns the control at aIndex.
-     *
-     * @param aIndex index for the control.
-     * @return control at aIndex
-     */
-    OSN_IMPORT CAlfWidgetControl* getControl(int aIndex) const;
-    
-    /**
-     * returns the count of controls inside layoutmanager.
-     *
-     * @return count of controls inside layoutmanager
-     */
-    OSN_IMPORT int count() const;
-    
-public:
-    //from IAlfLayoutManager
-        
-    /**
-     * creates the layout used by this layoutmanager.
-     *
-     * @param aOwner, owner-control of the the created layout.
-     * @param aParentLayout parent for the created layout
-     * @param aLayoutIndex index, where created visual should be placed in the parent layout.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if aLayoutIndex is out of bounds.     
-     * @exception osncore::AlfVisualException Thrown with error code osncore::ECanNotCreateVisual if the layout creation failed.
-     */    
-    OSN_IMPORT virtual void createLayout(CAlfWidgetControl& aOwner,
-        CAlfLayout* aParentLayout, int aLayoutIndex);
-            
-    /**
-     * from IAlfLayoutManager
-     * Returns the layout used by this layoutmanager.
-     *
-     * @return layout used by this layoutmanager.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if layout is not created.
-     */
-    OSN_IMPORT virtual CAlfLayout& getLayout() const;
-    
-    /**
-     * from IAlfLayoutManager
-     * Notifies the layout manager, that the child control's layout
-     * must be updated
-     * 
-     * @param aControl control, which size has changed.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if layout is not created.
-     *
-     */
-    OSN_IMPORT virtual void updateChildLayout(CAlfWidgetControl* aControl);
-    
-    /**
-     * from IAlfLayoutManager
-     * Notifies the layout manager, that all the child control's layouts
-     * must be updated.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if layout is not created.     
-     */
-    OSN_IMPORT virtual void updateChildrenLayout();
-    
-    /**
-     * from IAlfLayoutManager
-     * Notifies the layout manager, that the control's has been
-     * removed from the layout.
-     * 
-     * @param aControl control, which has been removed from the layout.
-     * @exception osncore::AlfVisualException Thrown with error code osncore::EInvalidVisual if layout is not created.     
-     */    
-    OSN_IMPORT virtual void childRemoved(CAlfWidgetControl* aControl);
-    
-protected:
-    /**
-     * Notifies the layout manager, that the child control's layout
-     * must be updated. Called in updateChildLayout for the updated control
-     * and in updateChildrenLayout for all the controls in the layout.
-     * 
-     * @param aControl control, which size has changed.    
-     */
-    OSN_IMPORT virtual void doUpdateChildLayout(CAlfWidgetControl* aControl);
-    
-    /**
-     * returns the rect of the control.
-     *
-     * @param aControl, control, which size is queried.
-     * @param aRect will receive the rect of aControl, if return value is true.
-     * @return true, if control rect was fetched, false, if the control hasn't 
-     * got a visualization.
-     */    
-    OSN_IMPORT bool controlRect(
-        CAlfWidgetControl& aControl, TAlfRealRect& aRect);
-        
-    /**
-     * sets the size and position to the control
-     *
-     * @param aControl, control, which size and position is being set.
-     * @param aRect, rect for aControl
-     */        
-    OSN_IMPORT void setControlRect(
-        CAlfWidgetControl& aControl, const TAlfRealRect &aRect);
-
-    /**
-     * sets the position to the control
-     *
-     * @param aControl, control, which position is being set.
-     * @param aPos, position for aControl
-     */
-    OSN_IMPORT void setControlPosition(
-        CAlfWidgetControl& aControl, const TAlfRealPoint& aPos);
-        
-    /**
-     * sets the size to control
-     *
-     * @param aControl, control, which size is being set.
-     * @param aSize, new size for aControl.
-     */        
-    OSN_IMPORT void setControlSize(
-        CAlfWidgetControl& aControl, const TAlfRealPoint &aSize);
-    
-    /**
-     * returns layout preferences for aControl
-     *
-     * @return layout preferences for aControl.
-     */
-    OSN_IMPORT const IAlfLayoutPreferences* getLayoutPreferences(
-        CAlfWidgetControl* aControl) const;
-
-public:
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    OSN_IMPORT virtual IAlfInterfaceBase* makeInterface( const IfId& aType );
-private: // data
-
-    auto_ptr<AlfLayoutManagerImpl> mData;
-    
-    };
-
-    } // namespace Alf
-
-#endif // ALFLAYOUTMANAGER
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfmodel.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-/*
-* Copyright (c) 2004 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:  This interface defines a generic data type
-*
-*/
-
-
-
-
-#ifndef ALFMODEL_H
-#define ALFMODEL_H
-
-
-//INCLUDES
-#include <osn/osncommon.h>
-#include <osn/osndefines.h>
-#include <alf/ialfmodel.h>
-#include <memory>
-namespace osncore
-    {
-template <class T> class AlfPtrVector;
-    }
-namespace std
-    {
-template <class T> class auto_ptr;
-    }
-
-using namespace osncore;
-using namespace std;
-
-namespace Alf
-    {
-
-/* Forward declarations*/
-class IAlfVariantType;
-class IAlfModelChangeObserver;
-class AlfModelOperation;
-class AlfWidgetImpl;
-class AlfModelImpl;
-class IfId;
-
-
-/** @class AlfModel alfmodel.h "alf/alfmodel.h"
- * Concerete implementation of the IAlfModel
- *
- *  @interfaces IAlfModel
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfModel : public IAlfModel
-    {
-public:
-
-    /**
-     * Constructor.
-     * @exception std::bad_alloc
-     *
-     * @param aDataSource - datasource from where the model is initialized,
-     *        ownership is transferred to the model
-     * @since S60 ?S60_version
-     * @return New object.
-     */
-    OSN_IMPORT AlfModel( IAlfVariantType* aDataSource);
-
-
-    /**
-     * The Default constructor.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfModel();
-
-    /**
-     * Class Destructor.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT virtual ~AlfModel();
-
-
-    //IAlfModel virtual Methods
-    
-    /**
-     * From IAlfModel.
-     * Add a new observer to be notified of any changes in the model.
-     *
-     * @exception std::bad_alloc
-     *
-     * @since S60 ?S60_version
-     * @param aObserver The model change observer to be added.
-     *
-     * @return void
-     */
-    OSN_IMPORT virtual void addModelChangeObserver(
-                           IAlfModelChangeObserver &aObserver);
-
-    /**
-     * From IAlfModel.
-     * Remove an observer which is added to get notified of any changes 
-     * in the model.
-     *
-     * @since S60 ?S60_version
-     * @param aObserver The model change observer to be removed.
-     *
-     * @return void
-     */
-    OSN_IMPORT virtual void removeModelChangeObserver(
-                           IAlfModelChangeObserver &aObserver);
-
-
-    /**
-     * From IAlfModel.
-     * Get the root data object of this model.
-     *
-     * @since S60 ?S60_version
-     * @return The root data object.
-     */
-    OSN_IMPORT virtual IAlfVariantType* data() const;
-
-    /**
-     * From IAlfModel.
-     * Clears the Model.
-     *
-     * @since S60 ?S60_version
-     * @return void
-     */
-    OSN_IMPORT virtual void clearModel();
-
-
-    /**
-     * Api to change the model completely at one short. From IAlfModel
-     *
-     * @since S60 ?S60_version
-     * @param aData The new data.
-     */
-    OSN_IMPORT void setData(IAlfVariantType* aData);
-
-    /**
-     * Change a given  of data fields in the model . All model change
-     * observers are notified about the change.
-     * @exception osncore::AlfDataException Thrown with the error code 
-     *     osncore::EInvalidModelOperation when the operation fails.
-     *
-     * @since S60 ?S60_version
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices The container indices to find the correct
-     *            location in the data hierarchy. The ownership is transferred.
-     * @param aData - The new data to be set
-     */
-    OSN_IMPORT void updateData(
-                   int aNumContainerIndices,
-                   int* aContainerIndices,
-                   IAlfVariantType* aData ) ;
-
-    /**
-     * Add a  number of data fields in the model data. All model change
-     * observers are notified about the change.
-     *
-     * @exception osncore::AlfDataException Thrown with the error code 
-     *     osncore::EInvalidModelOperation when the operation fails.
-     *
-     * @since S60 ?S60_version
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices The container indices to find the correct 
-     *            location in the data hierarchy. The ownership is transferred.
-     *
-     * @param aData The new data.
-     */
-    OSN_IMPORT void addData(
-                   int aNumContainerIndices,
-                   int* aContainerIndices,
-                   IAlfVariantType* aData );
-
-    /**
-     * Remove a  number of data fields in the model data. All model change
-     * observers are notified about the change.
-     * @exception osncore::AlfDataException Thrown with the error code 
-     *     osncore::EInvalidModelOperation when the operation fails.
-     *
-     * @since S60 ?S60_version
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices The container indices to find the correct
-     *            location in the data hierarchy. The ownership is transferred.
-     */
-    OSN_IMPORT void removeData(
-                   int aNumContainerIndices,
-                   int* aContainerIndices) ;
-
-    /**
-     * Api for executing batch operations
-     *
-     * @exception osncore::AlfDataException Thrown with the error code 
-     *     osncore::EInvalidModelOperation when the operation fails.
-     *
-     * @since S60 ?S60_version
-     * @param aOperationsArray  - An RPOinterArray containing the list of 
-     *            operations to be executed in batch.
-     */
-    OSN_IMPORT  void executeOperations(
-                    AlfPtrVector<AlfModelOperation>&  aOperationsArray);
-
-    /**
-     * Api for executing one operation at a Time
-     *
-     * @since S60 ?S60_version
-     * @param aOperation    - An Operation to be executed on the model.
-     */
-    OSN_IMPORT void executeOperation(AlfModelOperation* aOperation);
-
-    /**
-     * Notifies the observers, that the model has changed.
-     */
-    OSN_IMPORT void notifyModelChanged();
-
-    
-// from base class IAlfInterfaceBase
-
-    /**
-     * From IAlfInterfaceBase.
-     * Getter for interfaces provided by the widget classes.
-     * Derived classes should always call the base class method
-     * from the overridden makeInterface.
-     *
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     *
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType );
-
-
-protected:
-
-private:
-    /**
-     * Internal addDataL method .
-     * @param aAddOperation - An Addoperation
-     * @since S60 ?S60_version
-     */
-    void addData(AlfModelOperation* aAddOperation);
-
-    /**
-     * Internal removeDataL method .
-     * @param aRemoveOperation - A remove operation
-     * @since S60 ?S60_version
-     */
-    void removeData(AlfModelOperation* aRemoveOperation);
-
-    /**
-     * Internal updateDataL method .
-     * @param aUpdateOperation - An update operation
-     * @since S60 ?S60_version
-     */
-    void updateData(AlfModelOperation* aUpdateOperation);
-
-private:
-
-    auto_ptr<AlfModelImpl> mData;
-
-    };
-
-    } // namespace Alf
-
-#endif // ALFMODEL_H
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfmodel.inl	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* 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:  The base class for all widgets.
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// Template getter for interfaces provided by the widget, the control,
-// or the model. The type of the queried interface is specified by the
-// template parameter.
-// -----------------------------------------------------------------------------
-//
-template <class T>
-T* AlfModel::makeInterface( AlfModel* aWidget )
-    {
-    return static_cast< T* >( AlfModel::makeInterface( aWidget, T::type() ) );
-    }
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfvarianttype.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1102 +0,0 @@
-/*
-* Copyright (c) 2004 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:  This interface defines a generic data type
-*
-*/
-
-
-
-#ifndef ALFVARIANTTYPE_H
-#define ALFVARIANTTYPE_H
-
-
-//  INCLUDES
-#include <e32def.h>
-#include <osn/osndefines.h>
-#include <osn/osncommon.h>
-#include <alf/ialfvarianttype.h>
-#include <alf/ialfcontainer.h>
-#include <alf/ialfmap.h>
-#include <alf/ialfbranch.h>
-#include <memory>
-#include <alf/ialfsortfunction.h>
-
-
-namespace osncore
-    {
-class UString;
-    }
-namespace std
-    {
-template <class T> class auto_ptr;
-    }
-
-using namespace osncore;
-using std::auto_ptr;
-
-namespace Alf
-    {
-
-// FORWARD DECLARATIONS
-class IAlfContainer;
-class IAlfMap;
-class AlfBranch;
-class AlfVariantDataImpl;
-class AlfContainerDataImpl;
-class AlfMapDataImpl;
-class AlfBranchDataImpl;
-class IAlfModelBase;
-// CLASS DECLARATIONS
-
-/**
- *  @class AlfVariantType alfvarianttype.h "alf/alfvarianttype.h"
- *  Concrete implementation of the variant data type interface. 
- *  AlfVariantType can hold data of integer,real,string and unsigned integer types.
- *  @see IAlfVariantType
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfVariantType: public IAlfVariantType
-    {
-public:
-
-    /**
-     * Constructor for variant data type creation for a descriprtor type of data
-     * @exception std::bad_alloc
-     *
-     * @param aValue - Descriptor to be assigned for the variant data
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  AlfVariantType(const UString& aValue);
-
-
-    /**
-     * Constructor for variant data type creation for a integer type of data
-     * @exception std::bad_alloc
-     *
-     * @param aValue - integer to be assigned for the variant data
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT   AlfVariantType(const int& aValue);
-
-
-    /**
-     * Constructor for variant data type creation for a Unsigned integer type of data
-     * @exception std::bad_alloc
-     *
-     * @param aValue - unsigned integer to be assigned for the variant data
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  AlfVariantType(const uint& aValue);
-
-
-    /**
-     * Constructor for variant data type creation for a real type of data
-     * @exception std::bad_alloc
-     *
-     * @param aValue - Real value to be assigned for the variant data
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT   AlfVariantType(const double& aValue);
-
-
-    /**
-      * Constructor for variant data type creation for a user defined type of data
-      * @exception std::bad_alloc
-      *
-      * @param aValue - IAlfModelBase* to be assigned for the variant data
-      * @since S60 ?S60_version
-      */
-    OSN_IMPORT  AlfVariantType(IAlfModelBase* aValue) ;
-
-    /**
-     * Constructor for variant data type creation for a bool type of data
-     * @exception std::bad_alloc
-     *
-     * @param aValue - Boolean value to be assigned for the variant data
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  AlfVariantType(const bool& aValue);
-
-    //from IAlfVariantType Interface
-    /**
-     * Set the Data the variantData. From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is of invalid type.  
-     * @exception std::bad_alloc
-     *
-     * @param aValue    The new value.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void set(IAlfVariantType& aValue);
-
-    /**
-     * Get the data type.From IAlfVariantType Interface
-     *
-     * @since S60 ?S60_version
-     * @return The data type.
-     */
-    OSN_IMPORT    IAlfVariantType::Type type() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is not of boolean type.  
-     *
-     * @return bool data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    bool boolean() const;
-
-    /**
-     * Get the data value as an Integer .From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is not of integer type.  
-     *
-     * @return Integer data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    int integer() const;
-
-    /**
-     * Get the data value as unsigned  int.From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is not of unsigned integer type.  
-     *
-     * @return unsigned integer value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    uint uinteger() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is not of real type.  
-     *
-     * @return real data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    double real() const;
-
-    /**
-     * Get the data value as an Descriptor .From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is not of string type.  
-     *
-     * @return string data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    const UString& string() const;
-
-    /**
-     * Get the data value as an Container .From IAlfVariantType Interface. 
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfVariantType is not a container.   
-     * 
-     * @return AlfContainer .
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfContainer* container();
-
-    /**
-     * Get the data value as Map .From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfVariantType is not a map.   
-     *
-     * @return Map
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfMap* map() ;
-
-    /**
-     * Get the data value as Branch .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfVariantType is not a branch.   
-     *
-     * @return Map
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfBranch* branch() ;
-
-    /**
-     * Get the data value as a User Defined Data Pointer.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is not of custom type.  
-     *
-     * @return IAlfModelBase interface.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfModelBase* customData();
-
-    /**
-     * Destructor
-     *
-     * @return
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT ~AlfVariantType();
-
-
-    /**
-     * The default constructor.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfVariantType();
-
-    /**
-     * Equality comparison operator.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is of invalid type.  
-     *
-     * @param aOther object to compare against.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT bool operator==(const IAlfVariantType& aOther) const;
-
-private:
-
-
-    /**
-     * 2nd Phase Constructor
-     *
-     * @since S60 ?S60_version
-     * @param aType
-     */
-    void  construct(Type aType);
-
-
-private:
-    //data owned
-    auto_ptr<AlfVariantDataImpl> mVarData;
-
-    };
-
-
-/**
- *  @class AlfVariantType alfvarianttype.h "alf/alfvarianttype.h"
- *  Concrete implementation of the variant data type interface. 
- *  Simple default container of variant types.
- *  @see IAlfContainer
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfContainer : public IAlfContainer
-    {
-public:
-
-     /**
-     * Constructor for creating a variant data type which can store a alfcontainer
-     * @exception std::bad_alloc
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  AlfContainer();
-
-    /**
-     * Destructor
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  ~AlfContainer();
-
-    //IAlfContainer APIs
-
-    /**
-     * Adds a variantData item into the container .From IAlfContainer interface
-     * @aData variant data to be added into the container. Ownership is transferred
-     * if the method completes without exceptions. If there is an exception
-     * (e.g. due to out of memory), the client code is responsible for cleaning up the object.
-     * @exception std::bad_alloc
-     *
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void addItem(IAlfVariantType* aData);
-
-    /**
-     * Adds a variantData item into the container .From IAlfContainer interface
-     * @aIndex index where the data is added
-     * @aData variant data to be added into the container. Ownership is transferred
-     * if the method completes without exceptions. If there is an exception
-     * (e.g. due to out of memory), the client code is responsible for cleaning up the object.
-     * @exception std::bad_alloc
-     *
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void addItem(uint aIndex, IAlfVariantType* aData);
-
-    /**
-     * Gets the Number of items in  the container . From IAlfContainer interface
-     *
-     * @return number of items in the container
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT int count();
-
-    /**
-     * Gets the Item at a given index in  the container From IAlfContainer interface
-     * @param aIndex - index at which the element is required
-     * @return item as a MlfVariantType
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfVariantType* item(uint aIndex);
-
-    /**
-     * Clones the  entire container From IAlfContainer interface
-     * @exception std::bad_alloc
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if 
-     *                                      there is an invalid data type in the container.   
-     *
-     * @return the cloned container
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfContainer* clone();
-
-
-    /**
-     * Removes  an item from  given index in  the container. From IAlfContainer interface
-     * @param aIndex - index at which the element is to be removed.
-     * @return item as a IAlfVariantType
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void removeItem(uint aIndex);
-
-    /**
-     * Clear the Container. From IAlfContainer interface
-     *
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void clear() ;
-
-    /**
-     * Replace  an item from  given index in  the container.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidContainerOperation if
-     *                                      the replaceItem fails.   
-     *
-     * @param aIndex - index at which the element is to be replaced
-     * @param aNewData - new Data to be replaced
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void replaceItem(uint aIndex, IAlfVariantType* aNewData );
-
-    /**
-     * sorts the container using user defined sort function.
-     *
-     * @param aSortFunction - sort function.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void sort( const IAlfSortFunction& aSortFunction );
-
-    //from IAlfVariantType Interface
-    /**
-     * Set the Data the variantData. From IAlfVariantType Interface.
-     * Always throws an exception always.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidContainerOperation always. 
-     *                                      Use the addItem API.   
-     *
-     * @param aValue    The new value.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void set(IAlfVariantType& aValue);
-
-    /**
-     * Get the data type.From IAlfVariantType Interface
-     *
-     * @return The data type.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfVariantType::Type type() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not boolean.   
-     *
-     * @return bool data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT bool boolean() const;
-
-    /**
-     * Get the data value as an Integer .From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not an integer.   
-     *
-     * @return Integer data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  int integer() const;
-
-    /**
-     * Get the data value as unsigned  int.From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not an unsigned integer.   
-     *
-     * @return unsigned integer data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  uint uinteger() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not a real value.   
-     *
-     * @return real data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT double real() const;
-
-    /**
-     * Get the data value as an Descriptor .From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not a string.   
-     *
-     * @return string data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  const UString& string() const;
-
-    /**
-     * Get the data value as an Conatiner .From IAlfVariantType Interface.
-     *
-     * @return AlfContainer .
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfContainer* container();
-
-    /**
-     * Get the data value as Map .From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not a map.   
-     *
-     * @return Map
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfMap* map();
-
-    /**
-     * Get the data value as Branch .From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not a map.   
-     *
-     * @return Map
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfBranch* branch();
-
-    /**
-     * Get the data value as a User Defined Data Pointer.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not a custom data type.   
-     *
-     * @return IAlfModelBase interface.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfModelBase* customData();
-
-    /**
-     * Equality comparison operator.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidContainerOperation always.
-     *
-     * @param aOther object to compare against.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT bool operator==(const IAlfVariantType& aOther) const;
-private:
-    void construct();
-    //Data owned
-    auto_ptr<AlfContainerDataImpl> mContainerData;
-
-    };
-
-/**
- *  @class AlfMap alfvarianttype.h "alf/alfvarianttype.h"
- *  Concrete implementation of the variant data type interface. 
- *  Simple map of variant types.The map is contains data and a key.
- *  @see IAlfMap
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft 
- */
-class AlfMap : public IAlfMap
-    {
-public:
-
-
-    /**
-     * 1st phase Constructor for creating a variant data type which can store a AlfMap
-     * @exception std::bad_alloc
-     * 
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  AlfMap();
-
-
-
-    //IAlfContainer APIs
-
-    /**
-     * Gets the Number of items in  the container . From IAlfContainer interface
-     *
-     * @return number of items in the container
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    int count() const;
-
-    /**
-     * Gets the Item at a given index in  the container From IAlfContainer interface
-     * @param aIndex - index at which the element is required
-     * @return item as a MlfVariantType
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfVariantType* item(uint aIndex);
-
-    /**
-     * Clones the  entire container From IAlfContainer interface
-     * @exception std::bad_alloc
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if 
-     *                                      there is an invalid data type in the container.   
-     *
-     * @return the cloned container
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfMap* clone();
-
-
-    /**
-     * Removes  an item from  given index in  the container. From IAlfContainer interface.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidMapOperation if
-     *                                      the removeItem fails.   
-     *     
-     * @param aIndex - index at which the element is to be removed
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void removeItem(uint aIndex);
-
-    /**
-     * Clear the Container. From IAlfContainer interface
-     *
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void clear() ;
-
-    /**
-     * Replace  an item from  given index in  the container
-     * @exception std::bad_alloc
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidMapOperation if
-     *                                      the replaceItem fails.   
-     * @param aIndex - index at which the element is to be replaced
-     * @param aNewData - new Data to be replaced
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void replaceItem(uint aIndex, IAlfVariantType* aNewData );
-
-
-
-    //IAlfMap Interface APis
-
-    /**
-     * Gets the Item for a given name  in  the map. From IAlfContainer interface
-     * @param aName - name of the element that is required
-     * @return item as a IAlfVariantType
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfVariantType* item(const UString& aName);
-
-    /**
-     * Gets the index of the item by the given name.
-     * @param aName The name associated with requested item.
-     * @return The index corresponding to the name of the item.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    int itemIndex(const UString& aName);
-
-    /**
-     * Removes  an item for a given Name in map. From IAlfContainer interface
-     * @exception std::bad_alloc
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidMapOperation if
-     *                                      the removeItem fails.   
-     *
-     * @param aName - name of the element that is to be removed
-     * @return item as a MlfVariantType
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void removeItem(const UString& aName);
-
-    /**
-     * Replace  an item for a given name in  the container
-     * @exception std::bad_alloc
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidMapOperation if
-     *                                      the replaceItem fails.   
-     *
-     * @param aName - name  of the element that is to be replaced
-     * @param aNewData - new Data to be replaced
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void replaceItem(const UString& aName,IAlfVariantType* aNewData);
-
-    /**
-     * Adds a variantData item into the container .From IAlfContainer interface
-     * @exception std::bad_alloc
-     *
-     * @param aName - name of the data that needs to be added
-     * @param aData- variant data to be added into the container. Ownership is transferred
-     * if the method completes without exceptions. If there is an exception
-     * (e.g. due to out of memory), the client code is responsible for cleaning up the object.
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void addItem(IAlfVariantType* aData, const UString& aName);
-
-    /**
-     * Adds a variantData item into the container .From IAlfContainer interface
-     * @exception std::bad_alloc
-     *
-     * @aIndex index where the data is added
-     * @param aName - name of the data that needs to be added
-     * @param aData- variant data to be added into the container. Ownership is transferred
-     * if the method completes without exceptions. If there is an exception
-     * (e.g. due to out of memory), the client code is responsible for cleaning up the object.
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void addItem(uint aIndex, IAlfVariantType* aData, const UString& aName);
-
-    /**
-     * Gets the Name at a given index in  the container
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidArrayIndex if
-     *                                      aIndex is invalid.   
-     *
-     * @param aIndex - index at which the name of the element in the map  is required
-     * @return item name as a TPtr
-     * @since S60 ?S60_version
-     */
-    const UString& name(uint aIndex) const;
-
-    //class methods
-    /**
-     * Destructor
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT ~AlfMap();
-
-
-    //from IAlfVariantType Interface
-    /**
-     * Set the Data the variantData. From IAlfVariantType Interface.
-     * Always throws an exception always.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidMapOperation always. 
-     *                                      Use the addItem API.   
-     * @param aValue    The new value.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void set(IAlfVariantType& aValue);
-
-    /**
-     * Get the data type.From IAlfVariantType Interface
-     *
-     * @return The data type.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfVariantType::Type type() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not boolean.   
-     *
-     * @return bool data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    bool boolean() const;
-
-    /**
-     * Get the data value as an Integer .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not an integer.   
-     *
-     * @return Integer data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    int integer() const;
-
-    /**
-     * Get the data value as unsigned  int.From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not an unsigned integer.   
-     *
-     * @return unsigned integer data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    uint uinteger() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not a real value.   
-     *
-     * @return double data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    double real() const;
-
-    /**
-     * Get the data value as an Descriptor .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not a string value.   
-     *
-     * @return string data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    const UString& string() const;
-
-    /**
-     * Get the data value as an Conatiner .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not a container.   
-     *
-     * @return AlfContiner .
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfContainer* container();
-
-    /**
-     * Get the data value as Map .From IAlfVariantType Interface
-     *
-     * @return Map
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfMap* map();
-
-    /**
-     * Get the data value as Branch .From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not a branch.   
-     *
-     * @return Branch
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfBranch* branch();
-
-    /**
-     * Get the data value as a User Defined Data Pointer.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not a custom data type.   
-     *
-     * @return IAlfModelBase interface.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfModelBase* customData();
-
-    /**
-     * Equality comparison operator.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT bool operator==(const IAlfVariantType& aOther) const;
-
-private:
-    void construct();
-    //data
-    auto_ptr<AlfMapDataImpl> mMapDataImpl;
-    };
-
-/**
- *  @class AlfBranch alfvarianttype.h "alf/alfvarianttype.h"
- *  Concrete implementation of the variant data type interface. 
- *  @see IAlfBranch
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft 
- */
-class AlfBranch: public IAlfBranch
-    {
-public:
-
-
-    /**
-     * Parameterized Constructor
-     * @exception std::bad_alloc
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    AlfBranch( IAlfMap* aData, IAlfMap* aChildData);
-
-    /**
-     * Default Constructor
-     * @exception std::bad_alloc
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    AlfBranch();
-
-    /**
-     *
-     * @return
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfMap* data();
-
-    /**
-     *
-     * @param  aData -
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void setData( IAlfMap* aData );
-
-    /**
-     *
-     * @param  aIndex -
-     * @return .
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfVariantType* childData(int aIndex);
-
-    /**
-     *
-     * @param  aIndex -
-     * @return .
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    const UString& childName(int aIndex);
-
-    /**
-     *
-     * @return .
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfMap* childData();
-
-    /**
-     *
-     * @param  aChildData -
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void setChildData( IAlfMap* aChildData );
-
-    /**
-     *
-     * @return
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    uint childrenCount();
-
-    /**
-     * Destructor
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT ~AlfBranch();
-
-    /**
-     * sorts the branch using user defined sort function.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidBranchOperation if
-     *                                      sorting fails.   
-     *
-     * @param aSortFunction - sort function.
-     * return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void sort( const IAlfSortFunction& aSortFunction );
-
-    /**
-     * Function to Clone the Branch
-     * @exception std::bad_alloc
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidBranchOperation if
-     *                                      cloning fails.   
-     * 
-     * @return
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfBranch*  clone();
-
-
-    //from IAlfVariantType Interface
-    /**
-     * Set the Data the variantData. From IAlfVariantType Interface
-     * Always throws an exception always.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidBranchOperation always. 
-     *                                      Use the setData API.   
-     *
-     * @param aValue    The new value.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void set(IAlfVariantType& aValue);
-
-    /**
-     * Get the data type.From IAlfVariantType Interface
-     *
-     * @return The data type.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfVariantType::Type type() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not boolean.   
-     * @return bool data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    bool boolean() const;
-
-    /**
-     * Get the data value as an Integer .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not an integer.   
-     * 
-     * @return Integer data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    int integer() const;
-
-    /**
-     * Get the data value as unsigned  int.From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not an unsigned integer.   
-     * 
-     * @return unsigned integer data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    uint uinteger() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not a real value.   
-     * 
-     * @return real data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    double real() const;
-
-    /**
-     * Get the data value as an Descriptor .From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not a string value.   
-     * 
-     * @return string data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    const UString& string() const;
-
-    /**
-     * Get the data value as an Conatiner. From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not a container.   
-     * 
-     * @return AlfContiner .
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfContainer* container();
-
-    /**
-     * Get the data value as Map. From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not a map.   
-     * 
-     * @return Map
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfMap* map();
-
-    /**
-     * Get the data value as Branch. From IAlfVariantType Interface
-     * 
-     * @return Map
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfBranch* branch();
-
-    /**
-     * Get the data value as a User Defined Data Pointer.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not a custom value.   
-     * 
-     * @return IAlfModelBase interface.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfModelBase* customData();
-
-    /**
-     * Equality comparison operator.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidBranchOperation always.
-     * 
-     * @param aOther object to compare against.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT bool operator==(const IAlfVariantType& aOther) const;
-private:
-    /**
-     * 2nd Phase Constructor
-     * @return
-     * @since S60 ?S60_version
-     */
-    void construct( IAlfMap* aData, IAlfMap* aChildData);
-
-private:
-
-    //Data - owned
-    auto_ptr<AlfBranchDataImpl> mBranchData;
-
-
-    };
-
-    } // namespace Alf
-
-#endif // ALFVARIANTTYPE_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidget.inl	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* 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:  Template interface getter for CAlfWidget class.
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// Template getter for interfaces provided by the widget, the control,
-// or the model. The type of the queried interface is specified by the
-// template parameter.
-// -----------------------------------------------------------------------------
-//
-template <class T>
-T* AlfWidget::makeInterface( AlfWidget* aWidget )
-    {
-    return static_cast< T* >( AlfWidget::makeInterface( aWidget, T::type() ) );
-    }
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidgetcommand.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* 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 commands
-*
-*/
-
-
-#ifndef ALFWIDGETCOMMAND_H
-#define ALFWIDGETCOMMAND_H
-
-#include <alf/alfcommand.h>
-#include <osn/ustring.h>
-
-using namespace osncore;
-
-namespace Alf
-    {
-
-// FORWARD DECLARATIONS
-    class AlfAttribute;
-    class AlfWidget;
-
-/**
- * @class TAlfWidgetAttributeCommand alfwidgetcommand.h "alf/alfwidgetcommand.h"
- *
- * AlfCommand type for carrying an attribute and delivering 
- * it to a presentation element of a recipient widget.
- *
- * @see AlfAttribute
- * @since S60 ?S60_version
- */
-class TAlfWidgetAttributeCommand : public TAlfObjectCommand
-    {
-    public:
-    /**
-     * Constructor.
-     *
-     * @param aAttribute The attributes to be set
-     * @param aTarget Name of the target AlfElement instance 
-     * @param aRecipient Widget that the command is to be executed on
-     * @since S60 ?S60_version
-     */
-    TAlfWidgetAttributeCommand( 
-        AlfAttribute* aAttribute, 
-        UString& aTarget,
-        AlfWidget* aRecipient );
-        
-    /**
-     * Destructor
-     */
-    ~TAlfWidgetAttributeCommand();
-    
-    /* Implementation of TAlfCommand::ExecuteL(). */
-    void ExecuteL(CAlfEnv& aEnv) const;
-    
-    /* Implementation of TAlfCommand::Size(). */
-    TInt Size() const;
-
-    public:
-    AlfAttribute* mOwnedAttribute; // Owned
-    UString mTarget;
-    };
-       
-
-    } // namespace Alf
-
-#endif // ALFWIDGETCOMMAND_H
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidgetcontrol.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,718 +0,0 @@
-/*
-* 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:  The base class for all widget controls.
-*
-*/
-
-
-#ifndef ALFWIDGETCONTROL_H
-#define ALFWIDGETCONTROL_H
-
-#include <osn/osndefines.h>
-#include <osn/osnnew.h> // for OSN operator new parameter types
-#include <alf/ialfwidgetcontrol.h>
-#include <alf/alfcontrol.h>
-#include <alf/ialfmodelchangeobserver.h>
-#include <memory>
-namespace osncore
-    {
-template <class T> class AlfPtrVector;
-    }
-
-namespace std
-    {
-template <class T> class auto_ptr;
-    }
-
-using namespace osncore;
-using namespace std;
-
-namespace Alf
-    {
-class IAlfContainerWidget;
-class IAlfWidgetEventHandler;
-class IAlfElement;
-class AlfWidget;
-class IAlfMap;
-class IAlfVariantType;
-class AlfWidgetControlImpl;
-class IAlfHostAPI;
-class IfId;
-class ElementData;
-
-/** @class CAlfWidgetControl alfwidgetcontrol.h "alf/alfwidgetcontrol.h"
- *  The base class for all widget controls.
- *  Widget controls are derived from Alfred controls, and owned by
- *  the Alfred environment or control groups. Controls are responsible
- *  for the widget logic, i.e., storing and controlling the state of
- *  the widget. This usually includes input event handling, updating
- *  the presentation, and communication with the model, the application,
- *  and other controls. Event handlers can be used to implement parts
- *  of the widget logic.
- *
- *  @interfaces IAlfWidgetControl, IAlfHostAPI, IAlfAttributeOwner
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class CAlfWidgetControl :
-            public CAlfControl,
-            public IAlfModelChangeObserver,
-            public IAlfWidgetControl
-    {
-public:
-
-    /**
-     * The constructor.
-     *
-     * @since S60 ?S60_version
-     * @param aEnv      The Alfred environment.
-     */
-    OSN_IMPORT CAlfWidgetControl(CAlfEnv& aEnv);
-
-
-    /**
-     * operator new method to ensure correct OS-neutral handling of failure to
-     * allocate memory.
-     *
-     * This operator will throw std::bad_alloc if memory cannot be allocated.
-     * If memory is successfully allocated, it will fill all bytes of allocated
-     * memory with zero.
-     * 
-     * Note that the parameter list below is not relevant to the actual usage 
-     * which is typically:
-     *
-     *   auto_ptr<CAlfWidgetControl> control(new(EMM) CAlfWidgetControl(aEnv));
-     * or
-     *   CAlfWidgetControl* mControl = new(EMM) CAlfWidgetControl(aEnv);
-     * 
-     * @exception Throws std::bad_alloc if there is a failure to allocate 
-     *                memory for the object under construction.
-     *
-     * @param aSize The number of bytes required for an instance of the class.
-     *            This parameter is supplied automatically.
-     * @param aEnumValue An enumeration value of newarg. Always use EMM.
-     * @return a pointer to the zero-ed memory allocated on the heap. 
-     *             Ownership transferred to caller.
-     */
-    OSN_IMPORT void* operator new(size_t aSize, newarg aEnumValue) 
-                                  throw (std::bad_alloc);
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~CAlfWidgetControl();
-
-    /**
-     * Set the owner widget of this control.
-     * Called by AlfWidget::setControlL().
-     *
-     * @since S60 ?S60_version
-     * @param aWidget The owner widget of this control.
-     */
-    void setOwnerWidget( AlfWidget* aWidget );
-    
-    /**
-     * Returns top level layout. Returns NULL if this control does not
-     * 
-     * @return Pointer to top level layout, or NULL if not available.
-     */
-    OSN_IMPORT CAlfLayout* ContainerLayout(
-                   const CAlfControl* /*aConnected*/) const;
-    
-    /**
-     * state.
-     */
-    OSN_IMPORT uint state() const;
-    
-    /**
-     * sets the state.
-     */
-    OSN_IMPORT void setState( uint aState );
-    
-    /**
-     * enables State.
-     */
-    OSN_IMPORT void enableState( uint aState );
-    
-    /**
-     * disables State.
-     */
-    OSN_IMPORT void disableState( uint aState );
-    
-    /**
-     * checks  State.
-     */
-    OSN_IMPORT bool checkState( uint aState ) const;
-    
-    /**
-     * returns no of event handlers.
-     */
-    OSN_IMPORT int numEventHandlers() const;
-    
-    /**
-     * returns the event handlers at the index.
-     */
-    OSN_IMPORT IAlfWidgetEventHandler& eventHandler( int aIndex );
-    
-    /**
-     * returns event handler index.
-     */
-    OSN_IMPORT int eventHandlerIndex(
-                   IAlfWidgetEventHandler& aEventHandler ) const;
-    
-    /**
-     * returns finds the event handler .
-     */
-    OSN_IMPORT IAlfWidgetEventHandler* findEventHandler(
-                   const TAlfEvent& aEvent );
-    
-    /**
-     * adds an event handler.
-     * @exception osncore::AlfWidgetException Thrown with the error code 
-     *     osncore::ECommonError when user tries to add an event handler at an
-     *     index but it fails.
-     */
-    OSN_IMPORT void addEventHandler(
-                   IAlfWidgetEventHandler* aEventHandler,
-                   int aIndex = -1 );
-    
-    /**
-     * removes an event handlers.
-     */
-    OSN_IMPORT void removeAndDestroyEventHandler(
-                   IAlfWidgetEventHandler& aEventHandler );
-    
-    /**
-     * returns no of event handlers.
-     */
-    OSN_IMPORT void removeEventHandler(
-                   IAlfWidgetEventHandler& aEventHandler );
-    
-    /**
-     * Remove and destroy an event handler from the control bases on its name.
-     *
-     * @since S60 ?S60_version
-     * @param aHandlerId The name/Id of the event handler to be removed
-     *                   and destroyed.
-     */
-    OSN_IMPORT void removeAndDestroyEventHandler( const UString& aHandlerId );
-    
-    /**
-     * Remove and destroy an event handler from the control bases on its name.
-     *
-     * @since S60 ?S60_version
-     * @param aHandlerId The name/Id of the event handler to be removed 
-     *                   and destroyed.
-     */
-    OSN_IMPORT void removeAndDestroyEventHandler( UString& aHandlerId );
-    
-    /**
-     * Remove and destroy all event handlers associated with presentation 
-     * elements.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void removeAndDestroyPresentationEventHandlers();
-    
-    /**
-     * Removes all event handlers associated with presentation elements from 
-     * this control.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void removePresentationEventHandlers();
-    
-    /**
-     * Returns no of elements.
-     */
-    OSN_IMPORT int numElements() const;
-    
-    /**
-     * Returns an element at the index.
-     */
-    OSN_IMPORT IAlfElement& element( int aIndex );
-    
-    /**
-     * Finds an element with specified name.
-     */
-    OSN_IMPORT IAlfElement* findElement( const char* aName );
-    
-    /**
-     * Adds an element in the end.
-     * @exception std::bad_alloc
-     * @exception osncore::AlfException Thrown with the error code 
-     *     osncore::ECommonError if the given element object has been added 
-     *     in the widget control already.
-     *
-     * @param aElement Element to be added.
-     * Ownership is transferred iff no exception is thrown.
-     */
-    OSN_IMPORT void addElement( IAlfElement* aElement );
-    
-    /**
-     * removes and destroys an element.
-     */
-    OSN_IMPORT void removeAndDestroyElement( const IAlfElement& aElement );
-
-   /**
-     * removes an element but does not destroy it.
-     */
-    OSN_IMPORT void removeElement( const IAlfElement& aElement ); 
-       
-    /**
-     * Returns the data id of an element.
-     */
-    OSN_IMPORT virtual uint elementDataId(
-                           const IAlfElement& aElement,
-                           uint aIndex,
-                           uint aParentDataId );
-    
-    /**
-     * Returns the data id of the parent element of an element.
-     */
-    OSN_IMPORT virtual uint parentElementDataId(
-                           const IAlfElement& aElement,
-                           uint aDataId );
-    
-    /**
-     * Returns index corresponding to a data id.
-     */
-    OSN_IMPORT virtual uint dataIdToIndex(
-                           const IAlfElement& aElement,
-                           uint aDataId );
-    
-    /**
-     * Returns data of an element.
-     */
-    OSN_IMPORT IAlfVariantType* elementData(
-                   const IAlfElement& aElement,
-                   uint aDataId );
-    
-    /**
-     * Sets the data id range of an element.
-     */
-    OSN_IMPORT void setDataIdRange( const IAlfElement& aElement, uint aRange );
-    
-    /**
-     * Returns the data id range of an element.
-     */
-    OSN_IMPORT uint dataIdRange( const IAlfElement& aElement );
-    
-    /**
-     * Updates presentation.
-     * @exception osncore::AlfVisualException Thrown with the error code
-     *    osncore::ECanNotCreateVisual when during updation of presentation, 
-     *    visual trees are created and an error occurs during the creation of
-     *    visuals.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void updatePresentation();
-    
-    /**
-     * Destroys presentation (visual trees under elements).
-     */
-    OSN_IMPORT void destroyPresentation( int aTimeMilliseconds = 0 );
-    
-    /**
-     * Destroys all visuals and elements.
-     */
-    OSN_IMPORT void destroyVisualsAndElements( int aTimeMilliseconds = 0 ); 
-    
-    /**
-     * Return the owner widget of this control .
-     */
-    OSN_IMPORT AlfWidget* widget();
-
-    /*
-     * Notifies the parent control that the layout should be recalculated.
-     * If there is no parent, nothing is done.
-     */
-    OSN_IMPORT void updateParentLayout();
-    
-    /*
-     * @return true if the control acts as a container for other widgets.
-     * 
-     */
-    OSN_IMPORT bool isContainer() const;
-    
-    /*
-     * @return true if the control is focusable, false otherwise.
-     */
-    OSN_IMPORT bool isFocusable() const;
-    
-    /**
-     * Template getter for interfaces provided by the control classes.
-     * The type of the queried interface is specified by the
-     * template parameter.
-     *
-     * @exception std::bad_alloc 
-     *
-     * @since S60 ?S60_version
-     * @param aControl The control to get the interface for.
-     *
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    template <class T>
-    static T* makeInterface( CAlfWidgetControl* aControl );
-
-    /**
-     * Handles events sent to widget control.
-     * <b> Widgets can override this. </b>
-     * The default implementation tunnels key events towards the 
-     * focussed child widget. If custom events EEventFocusNextWidget/
-     * EEventFocusPreviousWidget are received the default implementation
-     * attempts to switch focus to the next/previous child widget.
-     * 
-     * @since S60 ?S60_version
-     * @param aEvent The event to be handled.
-     *
-     * @return Result of event processing. See AlfEventStatus.
-     */
-    OSN_IMPORT virtual AlfEventStatus handleEvent( const TAlfEvent& aEvent );
-    
-    /**
-     * Processes the events sent to this control.
-     * The events are passed to the tunnelling phase event handlers,
-     * handleEvent method and the bubbling phase event handlers in 
-     * that order till one of them consumes the event.
-     *
-     * @since S60 ?S60_version
-     * @param aEvent The event to be handled.
-     *
-     * @return Result of event processing. See AlfEventStatus.
-     */
-    OSN_IMPORT AlfEventStatus processEvent( const TAlfEvent& aEvent );
-
-// from base class IAlfModelChangeObserver
-
-    /**
-     * From IAlfInterfaceBase.
-     * Update the control according to the changed model.
-     * Destroy existing visuals and cancel all animation commands. 
-     * Create new visuals according to the data in the new model.
-     *
-     * @since S60 ?S60_version
-     * @param aModel The new model.
-     */
-    OSN_IMPORT virtual void modelChanged( IAlfModel& aModel );
-
-    /**
-     * Update the presentation according to the data changes.
-     *
-     * @since S60 ?S60_version
-     * @param aArrayOfOperation An Array containing the operations performed 
-     *                          on the model.
-     */
-    OSN_IMPORT virtual void dataChanging(
-                          const AlfPtrVector<AlfModelOperation>& aOperations );
-
-    /**
-     * Update the presentation according to the data changes.
-     *
-     * @exception osncore::AlfVisualException Thrown with the error code 
-     *     osncore::ECanNotCreateVisual when adding the visual tree through
-     *     adding the data for it in the model but the creation of visual tree
-     *     is failed.
-     *
-     * @since S60 ?S60_version
-     * @param aOperation An operation performed on the model.
-     */
-    OSN_IMPORT virtual void dataChanging(
-                           const AlfModelOperation& aOperation );
-
-    /**
-     * The default implementation is empty.
-     * Derived classes may update the state of the
-     * control according to the changed data.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT virtual void dataChanged();
-
-// from base class IAlfInterfaceBase
-
-    /**
-     * From IAlfInterfaceBase.
-     * Getter for interfaces provided by the control classes.
-     * Derived classes should always call the base class method
-     * from the overridden MakeInterface.
-     *
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     *
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    OSN_IMPORT virtual IAlfInterfaceBase* makeInterface( const IfId& aType );
-
-public:
-
-// New non-virtual methods
-
-    /**
-     * Resets control group of this control. If the control is in a
-     * control group it will be removed from its currect control group
-     * and appended to the given control group.
-     *
-     * @param Reference to the control group to which this control is appended.
-     */
-    void resetControlGroup(CAlfControlGroup& aControlGroup);
-
-    /**
-     * Resets control group of this control and the whole hierarchy of
-     * controls that are connected to this control or its children with
-     * connections.
-     *
-     * This control and the tree of controls below it are removed from
-     * their previous control groups.
-     *
-     * @since S60 ?S60_version
-     * @param Reference to the control group to which controls are appended.
-     *        This control group replaces control groups to which the controls
-     *        in this control hierarchy belong before the call is made.
-     */
-    void resetHierarchyControlGroup(CAlfControlGroup& aControlGroup);
-    
-    /**
-     * Attempt to acquire focus for this control.
-     */
-    OSN_IMPORT void AcquireFocus();
-    
-    /**
-     * Attempt to relinquish focus for this control.
-     */ 
-    OSN_IMPORT void RelinquishFocus();
-    
-    /**
-     * returns hostApi for this control.
-     * 
-     * @return hostApi-instance.
-     */
-    IAlfHostAPI& hostAPI();
-
-protected:
-
-    /**
-     * The protected constructor.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT CAlfWidgetControl();
-
-
-    /**
-     * The constructor.
-     *
-     * @since S60 ?S60_version
-     * @param aEnv The Alfred environment.
-     */
-    OSN_IMPORT void construct(CAlfEnv& aEnv);
-    
-    /**
-     * handles focusing to next control. 
-     * Handles the container inside container cases. If next focusable
-     * control is not found, moves focus to upper level container, if no
-     * next focusable controls found in any of the upper level
-     * containers, loops back to the first control.
-     *
-     * @since S60 ?S60_version
-     * @return true, if focus was changed.
-     */    
-    OSN_IMPORT bool handleFocusNext();
-    
-    /**
-     * handles focusing to previous control.
-     * Handles also the container inside container cases. If next focusable
-     * control is not found, moves focus to upper lever container, if no
-     * previous focusable controls found in any of the upper level 
-     * containers, loops back to the last control.
-     *
-     * @since S60 ?S60_version
-     * @return true, if focus was changed.
-     */        
-    OSN_IMPORT bool handleFocusPrevious();
-        
-    /**
-     * return the first focusable child control.
-     * First focusable is also the default control to get the focus.
-     *
-     * @since S60 ?S60_version
-     * @param aHostApi hostapi-instance. Use: for iterating the connected 
-     *                 controls.
-     * @return control, which should be the first to get the focus. 
-     */        
-    OSN_IMPORT virtual CAlfWidgetControl* getFirstFocusable(
-                                              IAlfContainerWidget& aContainer);
-
-    /**
-     * return the last focusable child control.
-     *
-     * @since S60 ?S60_version
-     * @param aHostApi hostapi-instance. Use: for iterating the connected
-     *                 controls.
-     * @return control, which should be the last one to get the focus
-     */
-    OSN_IMPORT virtual CAlfWidgetControl* getLastFocusable(
-                                              IAlfContainerWidget& aContainer);
-        
-    /**
-     * return next focusable control right after aControl
-     *
-     * @since S60 ?S60_version
-     * @param aHostApi hostapi-instance. Use: for iterating the connected
-     *                 controls.
-     * @param aControl reference control
-     * @return control, which should be focused right after aControl.
-     *      If no focusable control left, should return 0.
-     */
-    OSN_IMPORT virtual CAlfWidgetControl* getFocusableAfter(
-                                              IAlfContainerWidget& aContainer, 
-                                              CAlfWidgetControl& aControl);
-    
-    /**
-     * return next focusable control right before aControl.
-     *
-     * @since S60 ?S60_version
-     * @param aHostApi hostapi-instance. Use: for iterating the connected
-     *                 controls.
-     * @param aControl reference control.
-     * @return control, which should be focused right before aControl.
-     *      If no focusable control left, should return 0.
-     */
-    OSN_IMPORT virtual CAlfWidgetControl* getFocusableBefore(
-                                             IAlfContainerWidget& aContainer,
-                                             CAlfWidgetControl& aControl);
-
-    /**
-     * Called when the control's focus state changes.
-     */    
-    OSN_IMPORT void FocusChanged(CAlfDisplay& aDisplay, TBool aFocused);
-
-private:
-
-    // from base class MAlfEventHandler
-
-    /**
-     * Sends the event to processEvent method.
-     * <b>Widgets are discouraged from overriding this method.</b>
-     * Leaves with exception description if processEvent throws.
-     * 
-     * @since S60 ?S60_version
-     * @param aEvent The event to be handled.
-     * 
-     * @return  <code>ETrue</code>, if the event was handled.
-     *          Otherwise <code>EFalse</code>.
-     *
-     */
-    OSN_IMPORT virtual TBool OfferEventL( const TAlfEvent& aEvent );
-    
-    /**
-     * Calculate the child index inside a map.
-     * In the data hierarchy, map items may by children
-     * or containers of children. In order to calculate the
-     * absolute child index, all previous map items need to be
-     * considered. If the map is the root data, child items
-     * with different element names are not considered.
-     *
-     * @since S60 ?S60_version
-     * @param aMap              The map containing the children.
-     * @param aMapIndex         The index inside the map.
-     * @param aContainerIndex   The index inside the container.
-     * @param aRoot             Is the map the root data.
-     *
-     * @return The child index.
-     */
-    uint childIndex( IAlfMap& aMap, uint aMapIndex, 
-             uint aContainerIndex, bool aRoot );
-                     
-    /**
-     * returns next control, that can be focused in relation to
-     * the aControl.
-     *
-     * @since S60 ?S60_version
-     * @param aControl reference control. 
-     *
-     * @return next focusable control, if aControl == 0, first focusable 
-     *         control should be returned.
-     */
-    CAlfWidgetControl* nextFocusableControl(CAlfWidgetControl* aControl);
-        
-    /**
-     * returns previous control, that can be focused in relation to
-     * the aControl.
-     *
-     * @since S60 ?S60_version
-     * @param aControl reference control, 
-     *
-     * @return previous focusable control, if aControl == 0, last focusable
-     *         control should be returned.
-     */
-    CAlfWidgetControl* previousFocusableControl(CAlfWidgetControl* aControl);
-        
-    // Private state handler methods
-
-    void enableStateVisible();
-    void disableStateVisible();
-    void enableStateEnabled();
-    void disableStateEnabled();
-    void enableStateFocused();
-    void disableStateFocused();
-    void enableStateFocusable();
-    void disableStateFocusable();
-
-    // Tools for checking state invariants
-    static void checkStateInvariants(uint aNewState);
-    void predictAndCheckStateInvariants(
-             uint aChangePattern, bool aEnabling) const;
-
-    /**
-     * Removes presentaion elements that is associated with 
-     * the eventhandler.This will remove the element reference from the 
-     * element array .
-     *
-     * @since S60 ?S60_version
-     * @param aEventHandler A reference to event handler associated with
-     *                      presentation element.
-     *
-     * @return the pointer to element data holding the pointer to the element
-     *         if it is found, else null
-     */
-    ElementData* removePesentationElementData(
-                    IAlfWidgetEventHandler& aEventHandler );
-
-    /**
-     * Constants for aPhase parameter in function ProcessEventHandlingPhase.
-     */
-    static const int tunneling = 0;
-    static const int bubbling = 1;
-
-    /**
-     * Goes through all the event handlers in either tunneling or 
-     * bubbling phase.
-     */
-    AlfEventStatus ProcessEventHandlingPhase(
-        int aPhase,
-        const TAlfEvent& aEvent );
-
-private: // data
-    auto_ptr<AlfWidgetControlImpl> mWdgtControlData;
-    };
-
-#include "alf/alfwidgetcontrol.inl"
-
-    } // namespace Alf
-
-#endif // ALFWIDGETCONTROL_H
-
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidgetcontrol.inl	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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:  Template interface getter for CAlfWidgetControl class.
-*
-*/
-
-
-// -----------------------------------------------------------------------------
-// Template getter for interfaces provided by the the control classes.
-// The type of the queried interface is specified by the
-// template parameter.
-// -----------------------------------------------------------------------------
-//
-template <class T>
-T* CAlfWidgetControl::makeInterface( CAlfWidgetControl* aControl )
-    {
-    if (aControl)
-        {
-        return static_cast< T* >( aControl->makeInterface( T::type() ) );
-        }
-    return NULL;
-    }
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidgetenvextension.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Utilities to create and access widget model extensions to AlfEnv
-*
-*/
-
-
-#ifndef ALFWIDGETENVEXTENSION_H
-#define ALFWIDGETENVEXTENSION_H
-
-#include <osn/osndefines.h>
-
-class CAlfEnv;
-
-namespace Alf
-    {
-    class ResourcePool;
-    class IAlfWidgetFactory;
-    class AlfThemeManagerUtil;
-    }
-namespace Alf
-    {
-
-/** 
- *  @class AlfWidgetEnvExtension alfwidgetenvextension.h "alf/alfwidgetenvextension.h"
- *  class with methods to access extensions in AlfEnv
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfWidgetEnvExtension
-    {
-public:
-
-    /**
-     * Initialize the singleton objects that are required for the widget model
-     *
-     * @exception osncore::AlfWidgetException Thrown with the error code
-     *                osncore::ECommonError when the resource pool extension
-     *                can not be hooked to Alf environment.
-     * @exception osncore::AlfWidgetException Thrown with the error code 
-     *                osncore::ECommonError when the factory extension can
-     *                not be hooked to Alf environment.
-     * @exception osncore::AlfWidgetException Thrown with the error code
-     *                osncore::ECommonError when the widget factory cannot
-     *                be created. 
-     * 
-     * @param aEnv   Alf environment object.
-     */
-    OSN_IMPORT static void initializeEnvironment(CAlfEnv& aEnv);
-    
-    /**
-     * Initialize the singleton object for the resource pool required for the
-     * widget model 
-     *
-     * @param aEnv   Alf environment object
-     */
-    static void initializeEnvironmentForResourcePool(CAlfEnv& aEnv);
-    
-    /**
-    * Initializes environment with Theme Manager extension
-    * 
-    * @param aEnv   Alf environment object
-    */    
-    static void AlfWidgetEnvExtension::initializeEnvironmentForTheme(CAlfEnv& aEnv);
-    
-    /**
-     * Initialize the singleton object for the widget factory required for 
-     * the widget model
-     * 
-     * @param aEnv   Alf environment object
-     */
-    static void initializeEnvironmentForFactory(CAlfEnv& aEnv);
-
-    /**
-     * Access to the application-level resource pool
-     * It also initializes the environment with resource pool extension,
-     * if it was not initialized earlier
-     *
-     * @exception osncore::AlfWidgetException Thrown with the error code
-     *                osncore::ECommonError when the extension can not be 
-     *                hooked to Alf environment.
-     * @param aEnv  The Alf environment object in which to find the pool
-     * @return ref to the application-level resource pool
-     */
-    OSN_IMPORT static ResourcePool& resourcePool(CAlfEnv& aEnv);
-    
-    
-    /**
-     * Access to the widget factory
-     * It also initializes the environment with widget factory extension,
-     * if it was not initialized earlier
-     *
-     * @exception osncore::AlfWidgetException Thrown with the error code 
-     *                osncore::ECommonError when the extension can not be 
-     *                hooked to Alf environment.
-     * @exception osncore::AlfWidgetException Thrown with the error code
-     *                osncore::ECommonError when the widget factory cannot
-     *                be created.
-     * @param aEnv  The Alf environment object in which to find the 
-     *              widget factory
-     * @return ref to the widget factory
-     */
-    OSN_IMPORT static IAlfWidgetFactory& widgetFactory( CAlfEnv& aEnv);
-	/**
-     * Access to the application-level Thememanager.
-     * 
-     * @param aEnv  The Alf environment object in which to find the thememanager.
-     * @return ref to the application-level ThemeManager.
-     */
-    OSN_IMPORT static AlfThemeManagerUtil& themeManagerUtil(CAlfEnv& aEnv);
-
-    };
-
-    }
-#endif // ALFWIDGETENVEXTENSION_H
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidgeteventhandler.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,424 +0,0 @@
-/*
-* 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:   Header for generic event handler for alf widgets
-*
-*/
-
-
-#ifndef ALFWIDGETEVENTHANDLER_H
-#define ALFWIDGETEVENTHANDLER_H
-
-
-#include <osn/osndefines.h>
-#include <osn/osncommon.h>
-#include <alf/alfevent.h>
-#include <alf/alfcommand.h>
-#include <alf/ialfwidgeteventhandler.h>
-#include <alf/alfwidgetevents.h>
-using namespace osncore;
-
-#include <memory>
-using namespace std;
-
-namespace osncore
-    {
-class UString;
-    }
-
-using osncore::UString;
-
-namespace Alf
-    {
-class CAlfWidgetControl;
-class AlfWidget;
-class AlfReferenceToVisual;
-class IAlfAttributeSetter;
-class AlfAttributeContainer;
-class AlfWidgetEventHandlerImpl;
-class AlfAttribute;
-class AlfAttributeValueType;
-class IfId;
-class IAlfEventOutputSignalSubscriber;
-class IAlfAppEventListener;
-
-// Custom event IDs defined by the event handling framework.
-enum
-    {
-    EActivateState = 1000000,
-    EDeactivateState
-    };
-
-enum WidgetTactileFeedbackType
-    {
-    tactileFeedbackNone,
-    tactileFeedbackBasic,
-    tactileFeedbackSensitive
-    };
-
-/** @class AlfWidgetEventHandler alfwidgeteventhandler.h "alf/alfwidgeteventhandler.h"
- *  A generic event handler for alf widgets.
- *  One AlfWidgetEventHandler instance is meant to handle one or more event
- *  inputs, which result in the same event output. When any of the event inputs
- *  accept the given event, all the event outputs and event cancel outputs are
- *  executed. However, animation event outputs and cancel outputs are executed
- *  only in response to custom events, not pointer or key events.
- *  If an animation command is required in response to a key or pointer event,
- *  the event handler handling those should generate a custom event and then
- *  the event handler handling that should generate an animation command.
- *
- *  @code
- *   ?good_class_usage_example(s)
- *  @endcode
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-OSN_NONSHARABLE_CLASS( AlfWidgetEventHandler ) :  public IAlfWidgetEventHandler
-    {
-public:
-
-    /**
-     * Constructor.
-     * @param IAlfWidgetEventHandler::AlfEventHandlerType type whe
-     * @param aEventHandlerType            Event handler type. 
-     *                                     It can be presentaion related or logical.
-     * @param aEventHandlerExecutionPhase  Event handler exceution phase. 
-     *                                     It can be tunneling phase/bubbling phase/both.   
-     */
-    OSN_IMPORT AlfWidgetEventHandler( 
-               IAlfWidgetEventHandler::AlfEventHandlerType 
-                       aEventHandlerType = ELogicalEventHandler,
-               IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase 
-                       aEventHandlerExecutionPhase = ETunnellingPhaseEventHandler );
-
-    /**
-    * Destructor.
-    */
-    virtual ~AlfWidgetEventHandler();
-
-    /**
-     * Adds a key event input to the event handler.
-     *
-     * @exception std::bad_alloc     
-     * @param aEventID The key code
-     * @param aEventTypeFlags Event type flags.
-     * @param aKeyEventModifiers Bitmask of the possible modifiers of the key event.
-     * This event handler is triggered only if the received key event contains these modifiers.
-     * See enumeration KeyEventModifiers for the possible bit values.
-     */
-    OSN_IMPORT void addKeyInput(
-        int aEventID,
-        EventTypeFlags aEventTypeFlags = keyDown,
-        uint aKeyEventModifiers = 0 );
-
-    /**
-     * Adds a custom event input to the event handler.
-     *
-	 * @exception std::bad_alloc     
-     * @param aEventID The event ID.
-     * @param aUseEventData Use the custom event data to determine the accepted events.
-     * @param aEventData The accepted custom event data value. Only used if
-     *                   aUseEventData is true.
-     */
-    OSN_IMPORT void addCustomInput( int aEventID, bool aUseEventData = EFalse,
-                                    int aEventData = 0 );
-
-    /**
-     * Adds a pointer event input in the event handler.
-     *
-	 * @exception std::bad_alloc     
-     * @param aElementName The name of the element.
-     * @param aVisualName The name of the visual.
-     * @param aEvent 
-     */
-    OSN_IMPORT void addPointerInput(
-        const char* aElementName, const char* aVisualName, 
-        WidgetPointerEvent aEvent = pointerEventUp );
-
-    /**
-     * Adds an event output in the event handler.
-     *
-	 * @exception std::bad_alloc     
-     * @param aEventType The event type. The only accepted types are
-     * TAlfEvent::ETypeCustom and TAlfEvent::ETypeKey.
-     * @param aEventID The event ID.
-     * @param aTargetWidget The name of the target widget.
-     * In the case of custom events, it can be an empty string, which means
-     * that the event is to be broadcast to all the event handlers.
-     * Key event outputs must always define a target widget.
-     * @param aDelay Delay in microseconds before sending the command.
-     * The default value of zero means that the command is scheduled immediately.
-     * Currently, key event outputs are always executed immediately.
-     */
-    OSN_IMPORT void addOutput(
-        int aEventType,
-        int aEventID,
-        const char* aTargetWidget,
-        unsigned int aDelay = 0 );
-
-    /**
-     * Adds an animation output in the event handler.
-     *
-	 * @exception std::bad_alloc     
-     * @param aTargetVisual Reference to the animated visual.
-     * @param aReferenceVisual Reference to the visual with the
-     * reference value, or NULL if no reference value is used.
-     *
-     * @param aAttributeSetter The attribute setter for animating
-     * the attribute using Hitchcock commands. Ownership is transferred,
-     * if the method does not throw an exception.
-     *
-     * @param aAttributeContainer The attribute container holding the attribute
-     * value(s) used by the attribute setter. Ownership is transferred, if the method does not
-     * throw an exception. The container can hold new values for multiple different
-     * attributes, in which case all of them are applied when the animation output
-     * is triggered.
-     *
-     * @param aAnimationTime The duration of the animation. Note that this parameter
-     * is used only if the transition time parameter is not defined in the
-     * corresponding attribute in the attribute container.
-     *
-     * @param aDelay The delay in microseconds before starting the animation.
-     * Note that this parameter is used only if the delay parameter is not defined in the
-     * corresponding attribute in the attribute container.
-     */
-    OSN_IMPORT void addAnimationOutput(
-        AlfReferenceToVisual* aTargetVisual,
-        AlfReferenceToVisual* aReferenceVisual,
-        IAlfAttributeSetter* aAttributeSetter,
-        AlfAttributeContainer* aAttributeContainer,
-        unsigned int aAnimationTime,
-        unsigned int aDelay );
-
-    /**
-     * Adds an event output for canceling timed custom events
-     * in the event handler.
-     *
-	 * @exception std::bad_alloc     
-     * @param aTargetWidget The name of the target widget.
-     * @param aEventID The event ID of the event to be canceled.
-     * @param aCancelAll Whether to cancel all the custom commands that are
-     * scheduled to be sent to the widget or not. If this is ETrue,
-     * the aEventID parameter is ignored.
-     */
-    OSN_IMPORT void addCancelOutput(
-        const char* aTargetWidget, int aEventID, bool aCancelAll );
-
-    /**
-     * Adds an event output for canceling timed animation events
-     * in the event handler.
-     *
-	 * @exception std::bad_alloc     
-     * @param aElementName Element name.
-     * @param aVisualName Visual name.
-     * @param aOperation Identifies the operation of the command to be canceled.
-     * @param aCancelAll Whether to cancel all the animation commands that are
-     * scheduled to be sent to the widget or not. If this is ETrue,
-     * the aOperation parameter is ignored.
-     */
-    OSN_IMPORT void addAnimationCancelOutput(
-        const char* aElementName,
-        const char* aVisualName,
-        TAlfOp aOperation,
-        bool aCancelAll );
-
-    /**
-     * Adds an event output for changing the value of a certain attribute
-     * of the widget.
-     *
-	 * @exception std::bad_alloc     
-     * @param aAttribute The attribute
-     * object is transferred and this function takes care of deleting it
-     * even if the function leaves. Thus, it should not be in the cleanup stack
-     * when calling this function, to avoid potential double deletion.
-     */
-    OSN_IMPORT void addWidgetAttributeOutput( AlfAttribute& aAttribute,
-        const char* aWidgetId = 0 );
-
-    /**
-     * Adds an event output for changing the value of a certain attribute
-     * of the widget.
-     *
-	 * @exception std::bad_alloc     
-     * @param aName Name of the attribute
-     * @param aValue Value of the attribute
-     * object is transferred and this function takes care of deleting it
-     * even if the function leaves. Thus, it should not be in the cleanup stack
-     * when calling this function, to avoid potential double deletion.
-     */
-    OSN_IMPORT void addWidgetAttributeOutput( UString& aName,
-        AlfAttributeValueType* aValue, const char* aWidgetId = 0 );
-            
-    /**
-     * Adds an event output for changing the value of a certain attribute
-     * of the widget.
-     *
-	 * @exception std::bad_alloc     
-     * @param aName Name of the attribute
-     * @param aValue Value of the attribute
-     * object is transferred and this function takes care of deleting it
-     * even if the function leaves. Thus, it should not be in the cleanup stack
-     * when calling this function, to avoid potential double deletion.
-     */
-    OSN_IMPORT void addWidgetAttributeInput( UString& aName,
-        AlfAttributeValueType* aValue, const char* aElementId = 0 );
-
-    /**
-     * Adds an event output for launching tactile feedback (instant feedback).
-     * Note that the implementation of this function is flagged
-     * with RD_TACTILE_FEEDBACK, i.e. if RD_TACTILE_FEEDBACK is not defined
-     * the method does nothing --> no output added.
-     *
-	 * @exception std::bad_alloc     
-     * @param aFeedbackType The type of the tactile feedback that should 
-     * be used in the output.
-     */
-    OSN_IMPORT void addTactileOutput( 
-        WidgetTactileFeedbackType aFeedbackType );
-
-    /**
-     * Adds an event output for event passing.
-     *
-     * @param aSourceWidget
-     * @param aTargetWidget 
-     * be used in the output.
-     */
-    OSN_IMPORT void addEventPasserOutput( 
-    	const char* aSourceWidget , const char* aTargetWidget );	
-    	
-    /**
-     * Adds an event output for event passing. 
-     *
-     * @param aSourceWidget defines source widget
-     * @param aTargetWidget defines target widget. ie. Event is offered for the target widget
-     * @param aNewEventId Event is mapped to this type of event.
-     * @param aNewEventCustomData New event custom data
-     * be used in the output.
-     */
-    OSN_IMPORT void addEventPasserOutput( 
-      const char* aSourceWidget , const char* aTargetWidget, int aNewEventId, int aNewEventCustomData );
-    /**
-     * Adds an event input for event passing. 
-     * @param aEventId integer contains the specific event id. 
-     * @param aCustomData Event specific integer data
-     */		
-    OSN_IMPORT void addEventPasserInput (
-	    int aEventId, int aCustomData );
-    /**
-     * Adds a subscriber to be notified when event handler's input is received.
-     *
-     * @param aSubscriber Object containing knowledge of the subscribing class and 
-     * its callback method.
-     */
-    OSN_IMPORT void addWidgetEventOutputSignalSubscriber( IAlfEventOutputSignalSubscriber& aSubscriber );
-
-    /**
-     * Adds an event output for changing the state of a widget
-     *
-     * @exception Alf::AlfWidgetException value osncore::EInvalidWidget 
-     *     if aTargetWidget is NULL or empty.
-     * @exception Alf::AlfWidgetException value osncore::EInvalidArgument 
-     *     if aDisableStates and aEnableStates have a common bit set. 
-     *
-	 * @exception std::bad_alloc     
-     * @param aName Id of the target widget instance
-     * @param aEnableStates mask of states to be set to true
-     * @param aDisableStates mask of states to be cleared
-     */
-    OSN_IMPORT void addWidgetStateOutput( const UString& aTargetWidget,
-        uint aEnableStates, uint aDisableStates );     
-        
-    /**
-     * Adds application event output for event passing.
-     *
-     * @exception std::bad_alloc
-     * @param aCmd command
-     * @param aAppEvent subscriber
-     */
-    OSN_IMPORT void addAppEventOutput(const UString& aCmd , IAlfAppEventListener& aAppEvent ); 
-
-// from base class IAlfWidgetEventHandler
-
-    /**
-     * @see IAlfWidgetEventHandler.
-     */
-    virtual AlfEventStatus offerEvent( CAlfWidgetControl& aControl,const TAlfEvent& aEvent);
-
-
-    /**
-     * @see IAlfWidgetEventHandler.
-     */
-    bool accept( CAlfWidgetControl& aControl, const TAlfEvent& aEvent ) const;
-
-    /**
-     * @see IAlfWidgetEventHandler.
-     */
-    void setActiveStates( unsigned int aStates );
-
-    /**
-     * @see IAlfWidgetEventHandler.
-     */
-    void setCapturing( bool aCapturing );
-
-    /**
-     * @see IAlfWidgetEventHandler.
-     */
-    bool capturing() const;
-    
-    /**
-     * @see IAlfWidgetEventHandler.
-     * Calls to this API will overwrite previous set values.
-     */
-    void setEventHandlerData( const AlfWidgetEventHandlerInitData& aData );
-    
-    /**
-     * @see IAlfWidgetEventHandler.
-     */
-    AlfWidgetEventHandlerInitData* eventHandlerData();
-
-    /**
-     * Returns the type of EventHandler. 
-     * @see IAlfWidgetEventHandler::AlfEventHandlerType
-     *
-     * @return The type of event handler.
-     */
-    IAlfWidgetEventHandler::AlfEventHandlerType eventHandlerType();
-
-    /**
-     * Returns information about the phase in the event handling cycle in
-     * which the event hadler will be executed.
-     * @see IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase
-     *
-     * @return Event handler execution phase.
-     */
-    IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase eventExecutionPhase();
-
-// from base class IAlfInterfaceBase
-
-    /**
-     * @see IAlfInterfaceBase.
-     */
-    IAlfInterfaceBase* makeInterface( const IfId& aType );
-
-
-private: // data
-
-    auto_ptr<AlfWidgetEventHandlerImpl> mImpl;
-    };
-
-    } // namespace Alf
-
-#endif // C_ALFWIDGETEVENTHANDLER_H
-
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidgeteventhandler.inl	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* 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:   Alfwidgethandler inline file.
-*
-*/
-
-
-template <class T>
-    T* AlfWidgetEventHandler::makeInterface( IAlfInterfaceBase* aThis )
-    {        
-    if ( aThis && aThis->type() == T::type() )
-        {
-        return static_cast<T*>( this );
-        }
-    return NULL;
-    }
-
-// End of File
\ No newline at end of file
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfwidgetevents.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* 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:  Definition of the commonly used custom event ids.
-*
-*/
-
-
-#ifndef ALFWIDGETEVENTS_H
-#define ALFWIDGETEVENTS_H
-
-namespace Alf
-    {
-/**
- * The list of commonly used custom event ids.
- * The widget-specific ids should use values from ELastCommonWidgetEvent.
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-enum CommonWidgetEvent
-    {
-    EEventActivateState             = 0,
-    EEventDeactivateState           = 1,
-    EEventWidgetInitialized         = 2,
-    EEventSetFocus                  = 3,
-    EEventClearFocus                = 4,
-    EEventFocusedItemTypeChanged    = 5,
-    EEventItemSelected              = 6,
-    EEventNavigatePrimaryNext       = 7,
-    EEventNavigatePrimaryPrev       = 8,
-    EEventNavigateSecondaryNext     = 9,
-    EEventNavigateSecondaryPrev     = 10,
-    EEventNavigateLeft              = 11,
-    EEventNavigateRight             = 12,
-    EEventNavigateUp                = 13,
-    EEventNavigateDown              = 14,
-    EEventScrollToTarget            = 15,
-    EEventScrollPrimaryNext         = 16,
-    EEventScrollPrimaryPrev         = 17,
-    EEventScrollSecondaryNext       = 18,
-    EEventScrollSecondaryPrev       = 19,
-    EEventScrollToFirst             = 20,
-    EEventScrollToLast              = 21,
-    EEventScrollUp                  = 22,
-    EEventScrollDown                = 23,
-    EEventScrollLeft                = 24,
-    EEventScrollRight               = 25,
-    EEventScrollPageUp              = 26,
-    EEventScrollPageDown            = 27,
-    EEventScrollPageLeft            = 28,
-    EEventScrollPageRight           = 29,
-    EEventScrollBarModelChanged     = 30,
-    EEventFocusNextWidget           = 31,
-    EEventFocusPreviousWidget       = 32,
-    EEventWidgetGainedFocus         = 33,
-    EEventWidgetLostFocus           = 34,
-    EEventWidgetAttributeChanged    = 35,
-    EEventWidgetPresentationDestroyed = 36,
-    EEventDragVertical              = 37,
-    EEventDragHorizontal            = 38,
-    EEventMissedPointerUp           = 39,
-    ELastCommonWidgetEvent          = 99
-    };
-
-/**
- * OSN pointer event enumeration.
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-enum WidgetPointerEvent
-    {
-    pointerEventDown = ELastCommonWidgetEvent + 1,
-    pointerEventUp,
-    pointerEventDrag
-    };
-
-/**
- * Event type flags.
- */
-enum EventTypeFlags
-    {
-    custom       = 0x0001,   // custom event
-    keyDown      = 0x0002,   // key down event, key repeat generates this event also
-    keyUp	     = 0x0004,   // key up event
-
-   /** Flag to indicate that the custom event data
-     * should be used to determine the accepted events.
-     * Can not be used with key events.
-     */
-    useEventData  = 0x8000
-    };
-
-/**
- * Key event modifiers.
- */
-enum KeyEventModifiers
-    {
-    alt                     = 0x0001,
-    ctrl                    = 0x0002,
-    shift                   = 0x0004,
-    func                    = 0x0008,
-    capsLock                = 0x0010,
-    numLock                 = 0x0020,
-    scrollLock              = 0x0040
-    };
-
-    } // namespace Alf
-
-#endif // ALFWIDGETEVENTS_H
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/attrproperty.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1040 +0,0 @@
-/*
-* 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:  Contains common properties used in DUI UI Model
-*
-*/
-
-
-#ifndef DUIPROPERTY_H
-#define DUIPROPERTY_H
-
-namespace duiuimodel
-    {
-
-// DUI XML namespace.
-const char KDefaultNameSpaceUri[] = "http://www.series60.com/xml/dhuiml/1";
-
-namespace nodetypes
-    {
-    static const char KImageVisual[] =      "imagevisual";
-    static const char KTextVisual[] =       "textvisual";
-    static const char KMeshVisual[] =       "meshvisual";
-    static const char KLineVisual[] =       "linevisual";
-    static const char KLayout[] =           "layout";
-    static const char KGridLayout[] =       "gridlayout";
-    static const char KFlowLayout[] =  "flowlayout";
-    static const char KDeckLayout[] =  "decklayout";
-    static const char KCurvePathLayout[] =  "curvepathlayout";
-    static const char KCurvePath[] =        "curvepath";
-    static const char KLine[] =             "line";
-    static const char KArc[] =              "arc";
-    static const char KColor[] =            "color";
-    static const char KViewportLayout[] =   "viewportlayout";
-    static const char KAttributeSetter[] =  "attributesetter";
-    static const char KAttributeCreator[] =  "attributecreator";
-    static const char KDataAttributeSetter[] =  "dataattributesetter";
-    static const char KAnchorLayout[] =     "anchorlayout";
-    static const char KAnchorLayoutInput[] ="anchorlayoutinput";
-    static const char KEventHandler[] =     "eventhandler";
-    static const char KEventInput[] =       "eventinput";
-    static const char KEventOutput[] =      "eventoutput";
-    static const char KCondition[] =        "condition";
-    static const char KConditionGroup[] =        "conditiongroup";
-    static const char KProperty[] =         "property";
-    static const char KVisualConnection[] = "visualconnection";
-    static const char KListFlowElement[] =  "listflowelement";
-    static const char KAnchor[] =           "anchor";
-    static const char KMetric[] =           "metric";
-    static const char KRect[] =             "rect";
-    static const char KLCTImageVisual[] =      "lctimagevisual";
-    static const char KLCTTextVisual[] =       "lcttextvisual";
-    static const char KLCTAnchorLayout[] =     "lctanchorlayout";
-    static const char KLCTGridLayout[] =     "lctgridlayout";
-    static const char KPadding[] =          "padding";
-    static const char KFrameBrush[] =    "framebrush";
-    static const char KBorderBrush[] =   "borderbrush";
-    static const char KDropShadowBrush[] =  "dropshadowbrush";
-    static const char KGradientBrush[] =  "gradientbrush";
-    static const char KImageBrush[] =   "imagebrush";
-    static const char KShadowBorderBrush[] ="shadowborderbrush";
-    static const char KVisualization[] = "visualization";
-    static const char KImageResource[] = "imageresource";
-    static const char KResources[] = "resources";
-    static const char KElement[] = "element";
-    static const char KTactile[] = "tactile";
-    static const char KButtonControl[] = "buttoncontrol";
-    static const char KButtonWidgetControl[] = "buttonwidgetcontrol";
-    static const char KListControl[] = "listcontrol";
-    static const char KGridControl[] = "gridcontrol";
-    static const char KGridContainerControl[] = "gridcontainercontrol";
-    static const char KGridDefaultBaseElement[] = "griddefaultbaseelement";
-    static const char KGridDefaultFocusElement[] = "griddefaultfocuselement";
-    static const char KGridDefaultTextItemElement[] = "griddefaulttextitemelement";
-    static const char KGridDefaultImageElement[] = "griddefaultimageelement";
-    static const char KGridDefaultImagetextElement[] = "griddefaultimagetextitemelement";
-    static const char KLayoutManager[] = "layoutmanager";
-    static const char KConnection[] = "connection";
-    static const char KMapToEvent[] = "maptoevent";
-    static const char KAppEvents[] = "appevents";
-    static const char KButtonWidget[] = "buttonwidget";
-    static const char KListWidget[] = "listwidget";
-    static const char KGridWidget[] = "gridwidget";
-    static const char KScrollbarWidget[] = "scrollbarwidget";
-    static const char KWidget[] = "widget";
-    static const char KAppData[] = "appdata";
-    static const char KApplication[] = "application";
-    static const char KContainer[] = "container";
-    static const char KView[] = "view";
-    static const char KDhuiml[] = "dhuiml";
-    static const char KVersion[] = "version";
-    }
-
-namespace commonattributevalues
-    {
-    static const char KTrue[] = "true";
-    static const char KFalse[] = "false";
-    }
-
-namespace commonattributes
-    {
-    static const char KId[] = "id";
-    static const char KRef[] = "ref";
-    static const char KClass[] = "class";
-    }
-
-namespace commonvisualattributes
-    {
-    // deprecated
-    static const char KFocusable[] = "focusable";
-    static const char KDisabled[] = "disabled";
-    static const char KParentVisual[] = "parentvisual";
-    static const char KOpacity[] = "opacity";
-    static const char KTurnAngle[] = "turnangle";
-    // end deprecated
-
-    
-    static const char KSetFlags[] = "setflags";
-    static const char KClearFlags[] = "clearflags";
-
-    namespace visualflags
-        {
-        static const char KManualSize[] = "ManualSize";
-        static const char KAlfVisualFlagManualPosition[] = "AlfVisualFlagManualPosition";
-        static const char KAlfVisualFlagManualLayout[] = "AlfVisualFlagManualLayout";
-        static const char KAlfVisualFlagLayoutUpdateNotification[] = "AlfVisualFlagLayoutUpdateNotification";
-        static const char KAlfVisualFlag3DProjection[] = "AlfVisualFlag3DProjection";
-        static const char KAlfVisualFlagNoDepthOcclusion[] = "AlfVisualFlagNoDepthOcclusion";
-        static const char KAlfVisualFlagLocalHorizon[] = "AlfVisualFlagLocalHorizon";
-        static const char KAlfVisualFlagClipping[] = "AlfVisualFlagClipping";
-        static const char KAlfVisualFlagHOriginCenter[] = "AlfVisualFlagHOriginCenter";
-        static const char KAlfVisualFlagHOriginRight[] = "AlfVisualFlagHOriginRight";
-        static const char KAlfVisualFlagVOriginCenter[] = "AlfVisualFlagVOriginCenter";
-        static const char KAlfVisualFlagVOriginBottom[] = "AlfVisualFlagVOriginBottom";
-        static const char KAlfVisualChanged[] = "AlfVisualChanged";
-        static const char KAlfVisualFlagNoDepthUpdate[] = "AlfVisualFlagNoDepthUpdate";
-        static const char KAlfVisualFlagManualTransitionTime[] = "AlfVisualFlagManualTransitionTime";
-        static const char KAlfVisualFlagDrawAfterOthers[] = "AlfVisualFlagDrawAfterOthers";
-        static const char KAlfVisualFlagFreezeLayout[] = "AlfVisualFlagFreezeLayout";
-        static const char KAlfVisualFlagIgnorePointer[] = "AlfVisualFlagIgnorePointer";
-        static const char KAlfVisualFlagAutomaticLocaleMirroringEnabled[] = "AlfVisualFlagAutomaticLocaleMirroringEnabled";
-        static const char KAlfVisualFlagLast[] = "AlfVisualFlagLast";
-        }
-    }
-
-namespace commonbrushattributes
-    {
-    static const char KOwnerVisual[] = "ownervisual";
-    static const char KOpacity[] = "opacity";
-    static const char KSecondaryAlpha[] = "secondaryalpha";
-    static const char KLayer[] = "layer";
-
-    namespace layertypes
-        {
-        static const char KBrushLayerBackGround[] = "brushlayerbackground";
-        static const char KBrushLayerForeGround[] = "brushlayerforeground";
-        }
-    }
-
-namespace borderbrushattributes
-    {
-    static const char KImage[] = "image";
-    static const char KThicknessWidth[] = "thicknesswidth";
-    static const char KThicknessHeight[] = "thicknessheight";
-    static const char KImageOffsetX[] = "imageoffsetx";
-    static const char KImageOffsetY[] = "imageoffsety";
-    static const char KEdgeOffsetX[] = "edgeoffsetx";
-    static const char KEdgeOffsetY[] = "edgeoffsety";
-    }
-
-namespace dropshadowbrushattributes
-    {
-    static const char KSoftness[] = "softness";
-    static const char KDepth[] = "depth";
-    }
-
-namespace framebrushattributes
-    {
-    static const char KSkinID[] = "skinid";
-    }
-
-namespace gradientbrushattributes
-    {
-    static const char KImage[] = "image";
-    static const char KDirection[] = "direction";
-
-    namespace directiontypes
-        {
-        static const char KUp[] = "up";
-        static const char KDown[] = "down";
-        static const char KLeft[] = "left";
-        static const char KRight[] = "right";
-        }
-    }
-
-namespace imagebrushattributes
-    {
-    static const char KImage[] = "image";
-    static const char KImageScaleMode[] = "imagescalemode";
-    static const char KOffsetX[] = "offsetx";
-    static const char KOffsetY[] = "offsety";
-    static const char KScale[] = "scale";
-    }
-
-namespace shadowborderbrushattributes
-    {
-    static const char KBorderWitdh[] = "borderwitdh";
-    }
-
-namespace rect
-    {
-    static const char KTopLeftX[] = "topleftx";
-    static const char KTopLeftY[] = "toplefty";
-    static const char KBottomRightX[] = "bottomrightx";
-    static const char KBottomRightY[] = "bottomrighty";
-    }
-
-namespace padding
-    {
-    static const char KPaddingTop[] = "padding-top";
-    static const char KPaddingRight[] = "padding-right";
-    static const char KPaddingBottom[] = "padding-bottom";
-    static const char KPaddingLeft[] = "padding-left";
-    }
-
-namespace color
-    {
-    static const char KAlpha[] = "sca";
-    static const char KBlue[] = "scb";
-    static const char KGreen[] = "scg";
-    static const char KRed[] = "scr";
-    }
-
-namespace layoutattributes
-    {
-    static const char KParentLayout[] = "parentlayout";
-    static const char KHeight[] = "height";
-    static const char KWidth[] = "width";
-    static const char KMaxHeight[] = "maxheight";
-    static const char KMaxWidth[] = "maxwidth";
-    static const char KMinHeight[] = "minheight";
-    static const char KMinWidth[] = "minwidth";
-    
-    static const char KUpdateLayoutTime[] = "updatelayouttime";
-    static const char KTransitionTime[] = "transitiontime"; // will replace updatelayouttime
-    static const char KScrolling[] = "scrolling";
-    static const char KAutomaticLocaleMirroring[] = "automirroring";
-    static const char KBaseUnitX[] = "baseunitx";
-    static const char KBaseUnitY[] = "baseunity";
-    static const char KPositionX[] = "positionx";
-    static const char KPositionY[] = "positiony";
-    static const char KInnerPaddingVertical[]="innerpadding-vertical";
-    static const char KInnerPaddingHoriz[]="innerpadding-horizontal";
-    static const char KLayoutScrollOffsetX[]="scrolloffsetx";
-    static const char KLayoutScrollOffsetY[]="scrolloffsety";
-    static const char KExpansionFlag[] = "expansion flag";
-
-    namespace grid
-        {
-        static const char KRows[] = "rows";
-        static const char KColumns[] = "columns";
-        static const char KRowWeight[] = "rowweight";
-        static const char KColumnWeight[] = "columnweight";
-        static const char KSetLayoutModeFlag[] = "setlayoutmodeflag";
-        static const char KClearLayoutModeFlag[] = "clearlayoutmodeflag";
-        }
-
-    namespace flow
-        {
-        static const char KFlowDirection[] = "flowdirection";
-        static const char KLayoutMode[] = "layoutmode";
-        static const char KLayoutCentering[] = "layoutcentering";
-
-        namespace flowdirectionvalues
-            {
-            static const char KHorizontal[] = "horizontal";
-            static const char KVertical[] = "vertical";
-            }
-
-        namespace layoutmodevalues
-            {
-            static const char KCenterperpendicular[] = "centerperpendicular";
-            static const char KFitperpendicular[] = "fitperpendicular";
-            }
-        }
-
-    namespace viewport
-        {
-        static const char KVirtualHeight[] = "virtualheight";
-        static const char KVirtualWidth[] = "virtualwidth";
-        static const char KViewportHeight[] = "viewportheight";
-        static const char KViewportWidth[] = "viewportwidth";
-        static const char KViewportPositionX[] = "viewportpositionx";
-        static const char KViewportPositionY[] = "viewportpositiony";
-        }
-    }
-
-namespace property
-    {
-    static const char KName[] = "name";
-    static const char KValue[] = "value";
-    }
-    
-namespace textvisualattributes
-    {
-    static const char KLineWrap[] = "linewrap";
-    static const char KText[] = "text";
-    static const char KBackgroundType[] = "backgroundtype";
-    static const char KLineSpacing[] = "linespacing";
-    static const char KLineSpacingUnits[] = "linespacingunits";
-    static const char KFont[] = "font";
-    static const char KHorizontalAlign[] = "horizontalalign";
-    static const char KVerticalAlign[] = "verticalalign";
-    static const char KMaxLineCount[] = "maxlinecount";
-    static const char KStyle[] = "style";
-    static const char KPreconfiguredStyle[] = "preconfiguredstyle";
-    static const char KShadowOpacity[] = "shadowopacity";
-    static const char KTextSkinColorId[] = "textskincolorid";
-    static const char KTextColorSkinIndex[] = "textcolorskinindex";
-    static const char KEnableShadow[]= "enableshadow";
-    static const char KTextColor[]= "textcolor";
-    static const char KLocalisationText[] = "localisedtext"; //for localisation
-    static const char KLang[] = "localisedlanguage";    //for localisation
-    static const char KVarArgs[] = "varargs";    //for localisation
-
-    namespace linewrapvalue
-        {
-        static const char KManual[] = "manual";
-        static const char KTruncate[] = "truncate";
-        static const char KBreak[] = "break";
-        }
-
-    namespace backgroundtypevalue
-        {
-        static const char KDark[] = "dark";
-        static const char KLight[] = "light";
-        }
-
-    namespace linespacingvalue
-        {
-        static const char KPixel[] = "pixel";
-        static const char KTwips[] = "twips";
-        }
-
-    namespace horizontalalignvalue
-        {
-        static const char KLeft[] = "left";
-        static const char KCenter[] = "center";
-        static const char KRight[] = "right";
-        static const char KLocale[] = "locale";
-        static const char KLocaleMirrored[] = "localemirrored";
-        }
-
-    namespace verticalalignvalue
-        {
-        static const char KTop[] = "top";
-        static const char KCenter[] = "center";
-        static const char KBottom[] = "bottom";
-        }
-
-    namespace preconfiguredstylevalue
-        {
-        static const char KNormal[] = "normal";
-        static const char KNormalItalic[] = "normalitalic";
-        static const char KMenuItem[] = "menuitem";
-        static const char KSmall[] = "small";
-        static const char KMenuSmall[] = "menusmall";
-        static const char KMenuTitle[] = "menutitle";
-        static const char KLarge[] = "large";
-        static const char KSoftkey[] = "softkey";
-        static const char KSupplement[] = "supplement";
-        static const char KTitle[] = "title";
-        }
-    }
-
-namespace lctvisualattributes
-    {
-    static const char KLCT[] = "lct";
-    static const char KLCTNoSize[] = "lctnosize";
-    static const char KVariety[] = "variety";
-    static const char KAdditionalIcon[] = "additionalicon";
-    static const char KAdditionalIconCount[] = "additionaliconcount";
-    }
-
-namespace linevisualattributes
-    {
-    static const char KImagePath[] = "imagepath";
-    static const char KThickness[] = "thickness";
-    static const char KShadowThickness[] = "shadowthickness";
-    static const char KStartPos[] = "startposition";
-    static const char KEndPos[] = "endposition";
-    static const char KColor[] = "color";
-    static const char KAlphaMappingFunction[] = "alphamappingfunction";
-    static const char KWidthMappingFunction[] = "widthmappingfunction";
-    }
-
-namespace tactileattributes
-    {
-    static const char KEventInput[] = "eventinput";
-    static const char KFeedbackType[] = "feedbacktype";
-
-    namespace eventinputvalues
-        {
-        static const char KStylusDown[] = "stylusdown";
-        static const char KStylusUp[] = "stylysup";
-        }
-
-    namespace feedbacktypevalues
-        {
-        static const char KBasic[] = "basic";
-        static const char KSensitive[] = "sensitive";
-        }
-    }
-
-namespace mappingfunctions
-    {
-    static const char KConst[] = "constantmappingfunction";
-    static const char KLinear[] = "linearmappingfunction";
-    static const char KSine[] = "sinemappingfunction";
-    static const char KCosine[] = "cosinemappingfunction";
-    }
-
-
-namespace imagevisualattributes
-    {
-    static const char KImageScaleMode[] = "imagescalemode";
-    static const char KImageColorMode[] = "imagecolormode";
-    static const char KSecondaryAlpha[] = "secondaryalpha";
-    static const char KDropShadow[] = "dropshadow";
-    static const char KImagePath[] = "imagepath";
-    static const char KSecondaryImagePath[] = "secondaryimagepath";
-    static const char KScale[] = "scale";
-    static const char KOffset[] = "offset";
-    static const char KStretchMode[] = "stretchmode";
-    static const char KOffsetX[] = "offsetx";
-    static const char KOffsetY[] = "offsety";
-    static const char KSkinImagePath[] = "skinimagepath";
-    static const char KSecondarySkinImagePath[] = "skinsecondaryimage";
-    static const char KImageResourceRef[] = "imageresourceref";
-    static const char KSecondaryImageResourceRef[] = "secondaryimageresourceref";
-    static const char KImageWidth[] = "imagewidth";
-    static const char KImageHeight[] = "imageheight";
-    static const char KColor[] = "color";
-    static const char KSkinFrameImage[] = "skinframeimage";
-    static const char KAnimatedSkinImage[] = "animationimage";
-    static const char KFrameOuterRectTLX[] = "frameouterrecttlx";
-    static const char KFrameOuterRectTLY[] = "frameouterrecttly";
-    static const char KFrameOuterRectBRX[] = "frameouterrectbrx";
-    static const char KFrameOuterRectBRY[] = "frameouterrectbry";
-    static const char KFrameInnerRectTLX[] = "frameinnerrecttlx";
-    static const char KFrameInnerRectTLY[] = "frameinnerrecttly";
-    static const char KFrameInnerRectBRX[] = "frameinnerrectbrx";
-    static const char KFrameInnerRectBRY[] = "frameinnerrectbry";
-    static const char KLctFrameInnerrectId[] = "lctframeinnerrectid";
-
-    namespace imagescalemodevalue
-        {
-        static const char KNormal[] = "normal";
-        static const char KFitWidth[] = "fitwidth";
-        static const char KFitHeight[] = "fitheight";
-        static const char KCover[] = "cover";
-        static const char KFit[] = "fit";
-        static const char KFitInside[] = "fitinside";
-        }
-
-    namespace imagecolormodevalue
-        {
-        static const char KColorModulate[] = "colormodulate";
-        static const char KColorDimmed[] = "colordimmed";
-        }
-
-    namespace stretchmodevalue
-        {
-        static const char KNone[] = "none";
-        static const char KHorizontal[] = "horizontal";
-        static const char KVertical[] = "vertical";
-        static const char KFull[] = "full";
-        }
-
-    }
-
-namespace meshvisualattributes
-    {
-    static const char KMeshType[] = "meshtype";
-    static const char KImagePath[] = "imagepath";
-    static const char KSecondaryImagePath[] = "secondaryimagepath";
-    static const char KSpecularImagePath[] = "specularimagepath";
-    static const char KSecondaryAlpha[] = "secondaryalpha";
-    static const char KYawAngle[] = "yawangle";
-    static const char KPitchAngle[] = "pitchangle";
-    static const char KScale[] = "scale";
-
-    namespace meshtypevalue
-        {
-        static const char KProcedural[] = "procedural";
-        static const char KM3g[] = "m3g";
-        }
-    }
-
-namespace attributesetter
-    {
-    static const char KName[] = "name";
-    static const char KTargetValue[] = "targetvalue";
-    static const char KSourceValue[] = "sourcevalue";
-    static const char KInterpolationStyle[] = "interpolationstyle";
-    static const char KTime[] = "time";
-    static const char KTimeToTarget[] = "timetotarget";
-    static const char KMappingFunctionId[] = "mappingfunctionid";
-    static const char KType[] = "type";
-    static const char KDataField[] = "datafield";
-
-    namespace interpolationstylevalues
-        {
-        static const char KStyleSystemDefault[] = "stylesystemdefault";
-        static const char KStyleNone[] = "stylenone";
-        static const char KStyleLinear[] = "stylelinear";
-        static const char KSineWave[] = "sinewave";
-        static const char KDecelerate[] = "decelerate";
-        static const char KStyleAccelerate[] = "styleaccelerate";
-        static const char KStyleAdaptive[] = "styleadaptive";
-        static const char KStyleImpulse[] = "styleimpulse";
-        static const char KStyleLast[] = "stylelast";
-        }
-
-    namespace categoryvalues
-        {
-        static const char KData[] = "data";
-        }
-
-    namespace typevalues
-        {
-        static const char KStatic[] = "static";
-        static const char KDynamic[] = "dynamic";
-        }
-    }
-
-namespace curvepathattributes
-    {
-    static const char KEnableLoop[] = "enableloop";
-    static const char KOrigin[] = "origin";
-    static const char KOffsetX[] = "offsetx";
-    static const char KOffsetY[] = "offsety";
-    static const char KLine[] = "line";
-    static const char KArc[] = "arc";
-
-    namespace line
-        {
-        static const char KStartX[] = "startx";
-        static const char KStartY[] = "starty";
-        static const char KEndX[] = "endx";
-        static const char KEndY[] = "endy";
-        static const char KLength[] = "length";
-        }
-
-    namespace arc
-        {
-        static const char KOriginX[] = "originx";
-        static const char KOriginY[] = "originy";
-        static const char KHorizontalRadius[] = "horizontalradius";
-        static const char KVerticalRadius[] = "verticalradius";
-        static const char KStartAngle[] = "startangle";
-        static const char KEndAngle[] = "endangle";
-        static const char KLength[] = "length";
-        }
-    }
-
-namespace anchorlayoutinput
-    {
-    static const char KChildOrdinal[] = "childordinal";
-    static const char KAttachmentOrdinal[] = "attachmentordinal";
-    }
-
-namespace eventhandler
-    {
-    static const char KPriority[] =     "priority";
-    static const char KType[] =         "type";
-    static const char KState[] =        "state";
-    static const char KCapture[] =      "capture";
-    static const char KOwner[] =        "owner";
-    }
-
-namespace eventinput
-    {
-    static const char KName[] = "name";
-    static const char KElementName[] = "elementname";
-
-    namespace namevalue
-        {
-        static const char KKeyEvent[] =     "keyevent";
-        static const char KStylus[] =       "stylus";
-        static const char KCustomEvent[] =  "customevent";
-        static const char KEventPasserInput[] = "eventpasserinput";
-        static const char KPropertyInput[] =    "attributeinput";
-
-        namespace keyeventvalue
-            {
-            static const char KScanCode[] = "scancode";
-            static const char KKeyCode[] =  "keycode";
-            static const char KModifier[] = "modifier";
-            static const char KType[] = "type";
-            }
-
-        namespace keyeventtype
-            {
-            static const char KKeyUp[] = "keyup";
-            static const char KKeyDown[] = "keydown";
-            }
-
-        namespace stylusvalue
-            {
-            static const char KElementName[] =  "elementname";
-            static const char KVisualName[] =   "visualname";
-            }
-
-        namespace customeventvalue
-            {
-            static const char KEventId[] =  "eventid";
-            static const char KUserData[] = "userdata";
-            }
-
-        namespace propertyinput
-            {
-            static const char KPropertyName[] =     "propertyname";
-            }
-        }
-    }
-
-namespace eventoutput
-    {
-    static const char KName[] = "name";
-
-    namespace namevalue
-        {
-        static const char KCustomEvent[] =      "customevent";
-        static const char KCancelEvent[] =      "cancelevent";
-        static const char KAnimationCancel[] =  "animationcancel";
-        static const char KAnimation[] =        "animation";
-        static const char KPropertyOutput[] =   "attributeoutput";
-        static const char KTactile[] =     "tactile";
-        static const char KEventPasserOutput[] = "eventpasseroutput";
-        static const char KAppEvent[] =         "appevent";
-
-        namespace customevent
-            {
-            static const char KEventId[] =      "eventid";
-            static const char KEventType[] =    "eventtype";
-            static const char KWidgetName[] =   "widgetname";
-            static const char KDelay[] =        "delay";
-            }
-
-        namespace cancelevent
-            {
-            static const char KEventId[] =      "eventid";
-            static const char KWidgetName[] =   "widgetname";
-            static const char KCancelAll[] = "cancelall";
-            }
-
-        namespace animationcancel
-            {
-            static const char KElementName[] =      "elementname";
-            static const char KVisualName[] =       "visualname";
-            static const char KOperationType[] =    "operationtype";
-            static const char KCancelAll[] =  "cancelall";
-            }
-
-        namespace animation
-            {
-            static const char KAnimationTime[] =    "animationtime";
-            static const char KDelay[] =            "delay";
-            }
-            
-        namespace propertyoutput
-            {
-            static const char KTargetWidget[] =     "targetwidget";
-            }
-
-        namespace tactile
-            {
-            static const char KFeedbackType[] =     "feedbacktype";
-            }
-
-        namespace eventpasseroutput
-            {
-            static const char KSourceWidgetId[] = "sourcewidget";
-            static const char KTargetWidgetId[] = "targetwidget";
-            static const char KMapsTo[] = "mapsto";
-            static const char KMapToEventCustomData[] = "customdata";
-            }
-        }
-    }
-
-namespace operationname
-    {
-    static const char KNone[] = "none";
-    static const char KHide[] = "hide";
-    static const char KShow[] = "show";
-    static const char KEnableInput[] = "enableinput";
-    static const char KDisableInput[] = "disableinput";
-    static const char KRemoveAndDestroyAll[] = "removeanddestroyall";
-    static const char KModifyFlags[] = "modifyflags";
-    static const char KSetPrimaryImage[] = "setprimaryimage";
-    static const char KSetSecondaryImage[] = "setsecondaryimage";
-    static const char KSetText[] = "settext";
-    static const char KEnableTransformation[] = "enabletransformation";
-    static const char KDisableTransformation[] = "disabletransformation";
-    static const char KSet[] = "set";
-    static const char KSetWithSpeed[] = "setwithspeed";
-    static const char KSetStyle[] = "setstyle";
-    static const char KLoadIdentity[] = "loadidentity";
-    static const char KTranslate[] = "translate";
-    static const char KScale[] = "scale";
-    static const char KRotate[] = "rotate";
-    static const char KReplaceStep[] = "replacestep";
-    }
-
-namespace keyeventmodifier
-    {
-    static const char KAlt[] = "alt";
-    static const char KCtrl[] = "ctrl";
-    static const char KShift[] = "shift";
-    static const char KFunc[] = "func";
-    static const char KCapsLock[] = "capslock";
-    static const char KNumLock[] = "numlock";
-    static const char KScrollLock[] = "scrolllock";
-    }
-
-namespace visualconnection
-    {
-    static const char KTargetWidget[] =     "targetwidget";
-    static const char KTargetElement[] =    "targetelement";
-    static const char KTargetVisual[] =     "targetvisual";
-    static const char KSourceWidget[] =     "sourcewidget";
-    static const char KSourceElement[] =    "sourceelement";
-    static const char KSourceVisual[] =     "sourcevisual";
-    }
-
-
-namespace listcontrolattributes
-    {
-    static const char KFocusloop[] = "focusloop";
-    static const char KPagescroll[] = "pagescroll";
-    static const char KExpandItemDelay[] = "expanditemdelay";
-    static const char KMarkable[] = "markable";
-    static const char KTactile[] = "tactile";
-    static const char KScrollbarMode[] = "scrollbarmode";
-
-    namespace markablevalue
-        {
-        static const char KNone[] = "none";
-        static const char KSingle[] = "single";
-        static const char KMulti[] = "multi";
-        }
-
-    namespace tactilevalue
-        {
-        static const char KEnabled[] = "enabled";
-        static const char KDisabled[] = "disabled";
-        }
-
-    namespace scrollbarmodevalue
-        {
-        static const char KHide[] = "hide";
-        static const char KShow[] = "show";
-        static const char KAuto[] = "auto";
-        }
-    }
-
-namespace listflowelement
-    {
-    static const char KParentElement[] = "parentelement";
-    static const char KDefaultParentLayout[] = "defaultparentlayout";
-    static const char KScrollingTime[] = "scrollingtime";
-    static const char KPageScrollingTime[] = "pagescrollingtime";
-    static const char KInsertingTime[] = "insertingtime";
-    static const char KRemovingTime[] = "removingtime";
-    static const char KChangingTime[] = "changingtime";
-    static const char KFadeInTime[] = "fadeintime";
-    static const char KFadeInDelay[] = "fadeindelay";
-    static const char KFadeOutDelay[] = "fadeoutdelay";
-    static const char KFadeOutTime[] = "fadeouttime";
-    static const char KPartialsOpacity[] = "partialsopacity";
-    static const char KItemHeight[] = "itemheight";
-    static const char KItemWidth[] = "itemwidth";
-    static const char KHorizontalAlign[] = "horizontalalign";
-    static const char KScrollOffsetY[] = "scrolloffsety";
-    static const char KVerticalOffset[] = "verticaloffset";
-    static const char KFocusInFront[] = "focusinfront";
-    }
-
-namespace gridcontrolattributes
-    {
-    static const char KTactile[] = "tactile";
-
-    namespace tactile
-        {
-        static const char KTactileOn[] = "on";
-        static const char KTactileOff[] = "off";
-        }
-    }
-
-namespace griddefaultbaseelement
-    {
-    static const char KLooping[] = "looping";
-    static const char KFadingEffect[] = "fadingeffect";
-    static const char KDefaultAnimationTime[] = "defaultanimationtime";
-    static const char KSingleRow[] = "singlerow";
-    static const char KSingleTapSelect[] = "singletapselect";
-    static const char KFocussedIndex[] = "focussedindex";
-    static const char KHorizScrollbarMode[] = "horizontalscrollbarmode";
-    static const char KVertScrollbarMode[] = "verticalscrollbarmode";
-    static const char KCellWidth[] = "cellwidth";
-    static const char KCellHeight[] = "cellheight";
-    static const char KMaxColumns[] = "maxcolumns";   
-
-    namespace looping
-        {
-        static const char KLoopingOn[] = "on";
-        static const char KLoopingOff[] = "off";
-        }
-
-    namespace singletapselect
-        {
-        static const char KSingleTapSelectOn[] = "on";
-        static const char KSingleTapSelectOff[] = "off";
-        }
-
-    namespace fading
-        {
-        static const char KFadingOn[] = "on";
-        static const char KFadingOff[] = "off";
-        }
-
-    namespace scrollbarmodevalue
-        {
-        static const char KHide[] = "hide";
-        static const char KShow[] = "show";
-        static const char KAuto[] = "auto";
-        }
-    }
-
-namespace griddefaultfocuselement
-    {
-    static const char KImagePath[] = "imagepath";
-    static const char KSkinImagePath[] = "skinimagepath";
-    static const char KSkinFrameImage[] = "skinframeimage";
-    }
-
-namespace griddefaultitemelement
-    {
-    static const char KState[] = "state";
-    static const char KSkinEnabled[] = "skinenabled";
-
-    namespace itemstate
-        {
-        static const char KEnabled[] = "enabled";
-        static const char KDisabled[] = "disabled";
-        }
-    }
-
-namespace gridpinningbaseelement
-    {
-    static const char KOrientation[] = "orientation";
-    static const char KFocussedIndex[] = "focussedindex";
-    static const char KPinnedPosition[] = "pinnedposition";
-    static const char KPinnedItemSize[] = "pinneditemsize";
-    static const char KDefaultAnimationTime[] = "defaultanimationtime";
-    static const char KCellWidth[] = "cellwidth";
-    static const char KCellHeight[] = "cellheight";
-    static const char KArrow[] = "arrow";
-
-    namespace orientation
-        {
-        static const char KHorizontal[] = "horizontal";
-        static const char KVertical[] = "vertical";
-        }
-    namespace arrow
-    	{
-        static const char KEnableArrow[] = "enable";
-        static const char KDisableArrow[] = "disable";    	
-    	}
-    }
-
-namespace scrollbarcontrolattributes
-    {
-    static const char KTactile[] = "tactile";
-
-    namespace tactile
-        {
-        static const char KTactileOn[] = "on";
-        static const char KTactileOff[] = "off";
-        }
-    }
-    
-namespace scrollbardefaultbaseelement
-    {
-    static const char KEnableArrows[] = "enablearrows";
-    static const char KAlignment[] = "alignment";
-    static const char KOrientation[] = "orientation";
-
-    // Thumb specific Attributes
-    static const char KThumbWidth[] = "thumbwidth";
-    static const char KThumbOpacity[] = "thumbopacity";
-    static const char KThumbMinimumSize[] = "thumbminimumsize";
-    static const char KThumbAnimationTime[] = "thumbanimationtime";
-
-    // image attributes
-    static const char KTrackStartImage[] = "trackstartimage";
-    static const char KTrackMiddleImage[] = "trackmiddleimage";
-    static const char KTrackEndImage[] = "trackendimage";
-    static const char KThumbStartImage[] = "thumbstartimage";
-    static const char KThumbMiddleImage[] = "thumbmiddleimage";
-    static const char KThumbEndImage[] = "thumbendimage";
-    static const char KTrackStartImagePressed[] = "trackstartimagepressed";
-    static const char KTrackMiddleImagePressed[] = "trackmiddleimagepressed";
-    static const char KTrackEndImagePressed[] = "trackendimagepressed";
-    static const char KThumbStartImagePressed[] = "thumbstartimagepressed";
-    static const char KThumbMiddleImagePressed[] = "thumbmiddleimagepressed";
-    static const char KThumbEndImagePressed[] = "thumbendimagepressed";
-    static const char KStartArrowImage[] = "startarrowimage";
-    static const char KEndArrowImage[] = "endarrowimage";
-
-    namespace alignment
-        {
-        static const char KLeft[] = "left";
-        static const char KRight[] = "right";
-        static const char KTop[] = "top";
-        static const char KBottom[] = "bottom";
-        }
-
-    namespace orientation
-        {
-        static const char KHorizontal[] = "horizontal";
-        static const char KVertical[] = "vertical";
-        }
-    }
-
-namespace anchor
-    {
-    static const char KAnchorType[] = "anchortype";
-    static const char KAttachmentOrigin[] = "attachmentorigin";
-
-    namespace anchortypevalue
-        {
-        static const char KAnchorTypeNone[] = "anchortypenone";
-        static const char KAnchorTypeWidth[] = "anchortypewidth";
-        static const char KAnchorTypeLeft[] = "anchortypeleft";
-        static const char KAnchorTypeHCenter[] = "anchortypehcenter";
-        static const char KAnchorTypeRight[] = "anchortyperight";
-        static const char KAnchorTypeHeight[] = "anchortypeheight";
-        static const char KAnchorTypeTop[] = "anchortypetop";
-        static const char KAnchorTypeVCenter[] = "anchortypevcenter";
-        static const char KAnchorTypeBottom[] = "anchortypebottom";
-        static const char KAnchorTypeSize[] = "anchortypesize";
-        static const char KAnchorTypeTopLeft[] = "anchortypetopleft";
-        static const char KAnchorTypeTopCenter[] = "anchortypetopcenter";
-        static const char KAnchorTypeTopRight[] = "anchortypetopright";
-        static const char KAnchorTypeCenterLeft[] = "anchortypecenterleft";
-        static const char KAnchorTypeCenter[] = "anchortypecenter";
-        static const char KAnchorTypeCenterRight[] = "anchortypecenterright";
-        static const char KAnchorTypeBottomLeft[] = "anchortypebottomleft";
-        static const char KAnchorTypeBottomCenter[] = "anchortypebottomcenter";
-        static const char KAnchorTypeBottomRight[] = "anchortypebottomright";
-        }
-
-    namespace attachmentoriginvalue
-        {
-        static const char KAnchorAttachmentOriginNone[] = "anchorattachmentoriginnone";
-        static const char KAnchorAttachmentOriginLeft[] = "anchorattachmentoriginleft";
-        static const char KAnchorAttachmentOriginHCenter[] = "anchorattachmentoriginhcenter";
-        static const char KAnchorAttachmentOriginRight[] = "anchorattachmentoriginright";
-        static const char KAnchorAttachmentOriginTop[] = "anchorattachmentorigintop";
-        static const char KAnchorAttachmentOriginVCenter[] = "anchorattachmentoriginvcenter";
-        static const char KAnchorAttachmentOriginBottom[] = "anchorattachmentoriginbottom";
-        static const char KAnchorAttachmentOriginTopLeft[] = "anchorattachmentorigintopleft";
-        static const char KAnchorAttachmentOriginTopCenter[] = "anchorattachmentorigintopcenter";
-        static const char KAnchorAttachmentOriginTopRight[] = "anchorattachmentorigintopright";
-        static const char KAnchorAttachmentOriginCenterLeft[] = "anchorattachmentorigincenterleft";
-        static const char KAnchorAttachmentOriginCenter[] = "anchorattachmentorigincenter";
-        static const char KAnchorAttachmentOriginCenterRight[] = "anchorattachmentorigincenterright";
-        static const char KAnchorAttachmentOriginBottomLeft[] = "anchorattachmentoriginbottomleft";
-        static const char KAnchorAttachmentOriginBottomCenter[] = "anchorattachmentoriginbottomcenter";
-        static const char KAnchorAttachmentOriginBottomRight[] = "anchorattachmentoriginbottomright";
-        }
-    }
-
-namespace metric
-    {
-    static const char KMagnitude[] = "magnitude";
-    static const char KTextStyleId[] = "textstyleid";
-    }
-
-namespace imageresource
-    {
-    static const char KLogicalName[] = "logicalname";
-    static const char KResourceName[] = "resourcename";
-    static const char KResourceType[] = "resourcetype";
-
-    namespace resourcetypevalue
-        {
-        static const char KTheme[] = "theme";
-        static const char KFile[] = "file";
-        }
-    }
-
-namespace controlattributes
-    {
-    static const char KType[] =         "type";
-    static const char KScrollType[] =   "scrolltype";
-    static const char KItemType[] = "itemtype";
-    static const char KFocusLoop[] = "focusloop";
-    static const char KPageScroll[] = "pagescroll";
-    static const char KSelectionType[] = "selectiontype";
-    static const char KNumModes[] = "nummodes";
-    static const char KEnable[] = "enable";
-    static const char KFocus[] = "focus";
-    static const char KMarkable[] = "markable";
-    }
-
-namespace layoutmanager
-    {
-    static const char KType[] = "type";
-    static const char KId[] = "id";
-
-    namespace lctanchorlayout
-        {
-        static const char KWidgetAnchor[] = "widgetanchor";
-        }
-    }
-
-    } // namespace duiuimodel
-#endif // DUIPROPERTY_H
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfappeventlistener.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2007,2008 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:  Provides system state information
-*
-*/
-
-
-#ifndef IALFAPPEVENTLISTENER_H
-#define IALFAPPEVENTLISTENER_H
-
-class TAlfEvent;
-
-namespace osncore
-    {
-    class UString;
-    }
-
-using namespace osncore;
-
-namespace Alf
-{
-/**
- *  @class IAlfAppEvent
- *
- *  @discussion Provides function to handle application events.  
- *
- */
-class IAlfAppEventListener
-    {
-public: 
-   /**
-    * @function handleApplicationEvent
-    *
-    * Function will be called when application event triggers.
-    * Application has to register itself to listen events by
-    * using duiengine's subscribeAppEvent function
-    *
-    * example:
-    * <appevents>
-    *   <eventhandler id="pressed" owner="gridwidget1">
-    *     <eventinput id="pressedinput" name="customevent">
-    *       <property name="eventid" value="1333" />
-    *       <!-- value 1333 is selection changed in grid widget -->
-    *     </eventinput>
-    *     <eventoutput name="appevent"> 
-    *       <property value="itemclicked"/>
-    *     </eventoutput>
-    *   </eventhandler>
-    * </appevents>
-    *
-    * Register your application to listen application events via IDuiEngineConstruction:
-    * duiEngineConstructionInterface->subscribeAppEvents(*this);
-    *
-    * aCmd is the value you have set on property's value attribute, in this case
-    * "itemclicked"
-    *
-    * @param aCmd command which is specified to eventoutput
-    * @param aEvent contains event specific data
-    * @return void
-    */ 
-    virtual void handleApplicationEvent(const UString& aCmd, const TAlfEvent& aEvent) = 0;
-    };
-}
-        
-
-#endif 
-            
-// End of File
\ No newline at end of file
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfbranch.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* Copyright (c) 2004 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:  Defines a branch data type for the data hierarchy
-*
-*/
-
-
-
-#ifndef I_ALFBRANCH_H
-#define I_ALFBRANCH_H
-
-
-//  INCLUDES
-#include <alf/ialfvarianttype.h>
-
-namespace osncore
-    {
-class UString;
-    }
-
-using osncore::UString;
-
-namespace Alf
-    {
-class IAlfMap;
-class IAlfSortFunction;
-
-/**
- * An interface for Container data type.
- *
- * @lib hitchcockwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfBranch : public IAlfVariantType
-    {
-public:
-
-    /**
-     * The data for this branch
-     *
-     * @return the data for this branch as a Map Interface pointer
-     * @since S60 ?S60_version
-     */
-    virtual IAlfMap* data() = 0;
-
-    /**
-     * Set the data for this branch.
-     * @param aData The new data for this branch.
-     * @since S60 ?S60_version
-     */
-    virtual void setData( IAlfMap* aData ) = 0;
-
-    /**
-     * The data for a child at a given index
-     * @param aIndex- index of the child at which the data needs to be fetched
-     * @return the data for its children as a Map Interface pointer
-     * @since S60 ?S60_version
-     */
-    virtual IAlfVariantType* childData(int aIndex) = 0;
-
-    /**
-     * APi to get the childName
-     * @param aIndex- index of the child at which the data needs to be fetched
-     * @return the name  for the child at the given index
-     * @since S60 ?S60_version
-     */
-    virtual const UString& childName(int aIndex) = 0;
-
-    /**
-     * The data for all children.
-     * @return the data for its children as a Map Interface pointer
-     * @since S60 ?S60_version
-     */
-    virtual IAlfMap* childData() = 0;
-
-    /**
-     * Set the data for children of this branch.
-     * @param aChildData The new data for the children.
-     * @since S60 ?S60_version
-     */
-    virtual void setChildData( IAlfMap* aChildData ) = 0;
-
-    /**
-     * Get the number of children in this branch
-     * @return The number of children
-     * @since S60 ?S60_version
-     */
-    virtual uint childrenCount() = 0;
-
-    /**
-     * Destructor
-     * @since S60 ?S60_version
-     */
-    virtual ~IAlfBranch() {};
-
-    /**
-     * Sorts the branch using user defined sort function.
-     *
-     * @param aSortFunction - sort function.
-     * @since S60 ?S60_version
-     */
-    virtual void sort( const IAlfSortFunction& aSortFunction ) = 0;
-
-    /**
-     * Function to Clone the Branch
-     * @since S60 ?S60_version
-     * @return The clone
-     */
-    virtual IAlfBranch* clone() = 0;
-
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFBRANCH_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfcontainer.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 2004 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:  This interface defines a generic data type
-*
-*/
-
-
-
-#ifndef I_ALFCONTAINER_H
-#define I_ALFCONTAINER_H
-
-
-//  INCLUDES
-#include <alf/ialfvarianttype.h>
-
-namespace Alf
-    {
-
-// FORWARD DECLARATIONS
-class IAlfSortFunction;
-
-/**
- * An interface for Container data type.
- * @lib hitchcockwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfContainer : public IAlfVariantType
-    {
-public:
-
-    /**
-     * Adds a variantData item into the container
-     * @param aData variant data to be added into the container
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    virtual void addItem(IAlfVariantType* aData)=0;
-
-    /**
-     * Adds a variantData item into the container
-     * @param aIndex index where the data is added
-     * @param aData variant data to be added into the container
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    virtual void addItem(uint aIndex, IAlfVariantType* aData)=0;
-
-    /**
-     * Gets the Number of items in  the container
-     *
-     * @return number of items in the container
-     * @since S60 ?S60_version
-     */
-    virtual int count() = 0;
-
-    /**
-     * Gets the Item at a given index in  the container
-     * @param aIndex - index at which the element is required
-     * @return item as a MlfVariantType
-     * @since S60 ?S60_version
-     */
-    virtual IAlfVariantType* item(uint aIndex) = 0;
-
-    /**
-     * Clones the  entire container
-     *
-     * @return the cloned container
-     * @since S60 ?S60_version
-     */
-    virtual IAlfContainer* clone() = 0;
-
-
-    /**
-     * Removes  an item from  given index in  the container
-     * @param aIndex - index at which the element is to be removed
-     * @return item as a MlfVariantType
-     * @since S60 ?S60_version
-     */
-    virtual void removeItem(uint aIndex) = 0;
-
-    /**
-     * Clear the Container
-     *
-     * @return void
-     * @since S60 ?S60_version
-     */
-    virtual void clear() = 0;
-
-    /**
-     * Replace  an item from  given index in  the container
-     * @param aIndex - index at which the element is to be replaced
-     * @param aNewData - new Data to be replaced
-     * @return void
-     * @since S60 ?S60_version
-     */
-    virtual void replaceItem(uint aIndex, IAlfVariantType* aNewData ) = 0;
-
-    /**
-     * sorts the container using user defined sort function.
-     *
-     * @param aSortFunction - sort function.
-     * @since S60 ?S60_version
-     */
-    virtual void sort( const IAlfSortFunction& aSortFunction ) = 0;
-
-    /**
-     * Destructor
-     *
-     * @since S60 ?S60_version
-     */
-    virtual ~IAlfContainer(){}
-    };
-
-
-    } // namespace Alf
-
-#endif // I_ALFCONTAINER_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfelement.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,373 +0,0 @@
-/*
-* 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:  The interface and the basic implementation for presentation elements.
-*
-*/
-
-
-#ifndef I_ALFELEMENT_H
-#define I_ALFELEMENT_H
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-#include <osn/osntypes.h>
-
-class CAlfVisual;
-class CAlfLayout;
-
-using namespace osncore;
-
-namespace duiuimodel
-    {
-class DuiNode;
-    }
-using namespace duiuimodel;
-
-namespace Alf
-    {
-//FORWARD DECLARATION    
-class IAlfVariantType;
-class IAlfBranch;
-class IAlfWidgetControl;
-class AlfCustomInitDataBase;  
-class IAlfVisualTemplate;
-
-namespace alfelement
-    {
-static const IfId ident=
-    {
-    0,"alfelement"
-    };
-    }
-
-/**
- *  The interface for presentation elements.
- *  The presentation of a widget can be divided into parts by using
- *  elements. Each element is responsible for populating and maintaining
- *  a specific part of the presentation. The element creates and updates
- *  visual trees according  to the data provided by the control. Elements
- *  may also implement presentation logic, such as visual lifetime and
- *  resource management, scrolling, and animations.
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class IAlfElement : public IAlfInterfaceBase
-    {
-public:
-    static inline const IfId& type()
-        {
-        return alfelement::ident;
-        }
-    /**
-     * Get the name of the element.
-     *
-     * @since S60 ?S60_version
-     * @return The name of the element.
-     */
-    virtual const char* name() const = 0;
-
-    /**
-     * Create a new visual tree to the child element of this element.
-     * Some elements, e.g., CAlfRecyclingGridElement and CAlfRecyclingCurvePathElement
-     * implement visual lifetime management to control the creation of the
-     * visual trees in the child elements. This method can be implemented to
-     * control, if the visual tree should be created or not.
-     *
-     * @since S60 ?S60_version
-     * @param aElement The child element.
-     * @param aChildData The data for the new visual tree.
-     * @param aData The parent branch of the added data. Used to determine the
-     *              visual trees that have outdated data IDs.
-     *
-     * @param aIndex The index of the new data .
-     */
-    virtual void createChildVisualTree( IAlfElement* aElement,
-                                        IAlfVariantType& aChildData,
-                                        IAlfBranch& aData,
-                                        int aIndex, uint aDataID ) = 0;
-
-    /**
-     *
-     *
-     * @since S60 ?S60_version
-     * @param  aData
-     * @param  aParentData
-     * @param  aIndex
-     * @param  aParentDataID
-     * @param  aParentLayout
-     * @param  aLayoutIndex
-     * @return
-     */
-    virtual CAlfVisual* createVisualTree( IAlfVariantType& aData,
-                                          IAlfBranch& aParentData,
-                                          int aIndex, uint aParentDataID,
-                                          CAlfLayout* aParentLayout,
-                                          int aLayoutIndex ) = 0;
-
-    /**
-     *
-     *
-     * @since S60 ?S60_version
-     * @param  aData
-     * @param  aDataID
-     * @param  aParentLayout
-     * @param  aLayoutIndex
-     * @return
-     */
-    virtual CAlfVisual* createVisualTree( IAlfVariantType& aData,
-                                          uint aDataID,
-                                          CAlfLayout* aParentLayout,
-                                          int aLayoutIndex ) = 0;
-
-    /**
-     *
-     *
-     * @since S60 ?S60_version
-     * @param  aElement
-     * @param  aData
-     * @param  aIndex
-     * @param  aDataID
-     * @return void
-     */
-    virtual void removeChildVisualTree( IAlfElement* aElement,
-                                        IAlfBranch& aData,
-                                        int aIndex, uint aDataID ) = 0;
-
-    /**
-     *
-     *
-     * @since S60 ?S60_version
-     * @param  aParentData
-     * @param  aIndex
-     * @param  aParentDataID
-     * @return void
-     */
-    virtual void removeVisualTree( IAlfBranch& aParentData, int aIndex,
-                                   uint aParentDataID ) = 0;
-
-    /**
-     *
-     *
-     * @since S60 ?S60_version
-     * @param  aData
-     * @param  aDataID
-     * @return void
-     */
-    virtual void removeVisualTree( IAlfVariantType& aData, uint aDataID ) = 0;
-
-    /**
-     * Create or update a visual tree according to the given data. A data id is assigned
-     * to the created visual tree. If a visual tree with the given data id already
-     * exists, the visuals are just updated. The caller is responsible for providing
-     * the parent layout for the visual tree. The default parent layout may or may not
-     * be used.
-     *
-     * @since S60 ?S60_version
-     * @param aData         The data for the visuals.
-     * @param aOldData      the old data for the visuals. The data, that is replaced.
-     * @param aDataID       The data id for the visual tree.
-     * @return The created or updated visual tree.
-     */
-    virtual void updateVisualTree( IAlfVariantType& aNewData,
-                                   IAlfVariantType& aOldData,
-                                   uint aDataID ) = 0;
-
-    /**
-     * Replace an existing visual tree with a new one. A data id is used
-     * to find the visual tree to be replaced. A new data id is assigned
-     * to the visual tree, and the visuals are updated according to the
-     * given data. The method is used for recycling visual trees for
-     * a large number of presentation instances (@see CAlfRecyclingGridElement).
-     * The structure of the new visual tree should match the structure
-     * of the replaced visual tree. Otherwise, the visuals structure
-     * needs to be modified by creating and destroying visuals. The visual
-     * tree remains in the same layout as it was before.
-     *
-     * @since S60 ?S60_version
-     * @param aData         The data for the new visuals.
-     * @param aDataID       The data id for the new visual tree.
-     * @param aOldDataID    The data id of the visual tree to be replaced.
-     */
-    virtual void replaceVisualTree( IAlfVariantType& aData,
-                                    uint aDataID, uint aOldDataID ) = 0;
-
-    /**
-     *
-     *
-     * @since S60 ?S60_version
-     * @param  aParentBranch
-     * @param  aStartIndex
-     * @param  aOffset
-     * @param  aOldParentDataId
-     * @param  aParentDataID
-     * @return void
-     */
-    virtual void updateDataIDs( IAlfBranch& aParentBranch, int aStartIndex,
-                                int aOffset, uint aOldParentDataId,
-                                uint aParentDataID ) = 0;
-
-    /**
-     * Get the default parent layout for the visual trees created by this element.
-     * The default parent layout is used for all root level elements (@see RootElement()).
-     *
-     * @since S60 ?S60_version
-     * @param aParentDataID The data id associated with the parent element instance.
-     * @return The default layout for the visual trees created by this element, or NULL
-     *         if the default layout does not exist.
-     */
-    virtual CAlfLayout* defaultParentLayout(uint aParentDataID) = 0;
-
-    /**
-     * Find a visual according to the name of the visual and the data id
-     * used to create the visual tree.
-     *
-     * @param aName     The name of the visual.
-     * @param aDataID   The data id associated with the visual tree.
-     * @return The default layout for the visual trees created by this element.
-     */
-    virtual CAlfVisual* findVisual(const char* aName, uint aDataID) = 0;
-
-    /**
-     * Get the data id of a visual tree created by this element.
-     *
-     * @param aVisual   The root of the visual tree.
-     * @return The data id associated with the visual tree.
-     */
-    virtual uint dataID(const CAlfVisual& aVisual) const = 0;
-
-    /**
-     * Get the parent element of this element. Some elements may have
-     * child elements (@see CAlfRecyclingGridElement). In this case,
-     * the parent element is responsible for populating the child elements.
-     * Elements with no parent element are called root elements and
-     * populated directly by the control.
-     *
-     * @since S60 ?S60_version
-     * @return The parent element, or NULL if this is a root element.
-     */
-    virtual const IAlfElement* parentElement() const = 0 ;
-
-    /**
-     * Set the parent element for this element.
-     *
-     * @since S60 ?S60_version
-     * @param aParent The parent element of this element.
-     */
-    virtual void setParentElement(IAlfElement& aParent) = 0;
-
-    /**
-     * removes and destroys all the visuals
-     *
-     * @since S60 ?S60_version
-     * @param aTimeMilliseconds the animation time for remove.
-     */
-    virtual void removeAndDestroyVisuals( int aTimeMilliseconds ) = 0;
-
-    /**
-     * Checks if referred visual is part of this element.
-     *
-     * @since S60 ?S60_version
-     * @param aVisual reference to visual under inspection.
-     */
-    virtual bool contains(CAlfVisual& aVisual) const = 0;
-
-    /**
-     * Sets the visual template for the element. This element
-     * will acquire ownership of the visual template hierarchy
-     * under the given visual template.
-     * Call to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     * @param aTemplate Root of the visual template hierarchy to be set
-     *                  into the widget element.
-     */
-    virtual void setVisualTemplate(IAlfVisualTemplate& aTemplate) throw() = 0;
-    
-    /**
-     * Returns the root visual template of the visual template hierarchy
-     * owned by this element. Call to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    virtual IAlfVisualTemplate* getVisualTemplate() const throw() = 0;
-
-    /**
-     * Destroyes the visual template object assigned to this element and the whole
-     * visual template hierarchy under it. Call to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     */
-    virtual void destroyVisualTemplate() throw() = 0;
-
-    /**
-     * Removes the visual template from this element. Returns pointer to the removed visual
-     * template object. The ownership of the visual template object is transferred to the
-     * caller. Call to this method cannot throw an exception.
-     *
-     * @since S60 ?S60_version
-     *
-     * @return The visual template object that was owned by this element. NULL if no visual
-     *         template hierarchy was owned by this element.
-     */
-    virtual IAlfVisualTemplate* removeVisualTemplate() throw() = 0;
-
-    /**
-     * Destructor
-     */
-    virtual ~IAlfElement(){}
-    };
-
-
-/**
- *  Placeholder for information required to instantiate an element
- *  via the widget factory mechanism.
- *  A pointer to this structure is casted to a void pointer and sent to the
- *  factory plugin.
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- */
-struct AlfElementInitData
-    {
-    /**
-     * Owner control for the element.
-     */
-    IAlfWidgetControl* mControl;
-    /**
-     * Element instance ID.This uniquely identifies every element instance
-     * and is its name. Also see AlfElement::name().
-     */
-    char* mElementId;
-    
-    /**
-     * Pointer to node in declaration containing information for the element.
-     */
-    DuiNode* mNode;
-
-    /**
-     * Pointer to custom data passed via factory mechanism
-     * Not Owned.
-     */
-    AlfCustomInitDataBase* mCustomData;  
-    };
-
-
-    } // namespace Alf
-#endif // I_ALFELEMENT_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfflowlayoutpolicy.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* 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:  flow layout policy.
-*
-*/
-
-
-#ifndef I_ALFFLOWLAYOUTPOLICY
-#define I_ALFFLOWLAYOUTPOLICY
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-
-namespace Alf
-    {
-
-namespace ialfflowlayoutpolicy
-    {
-     static const IfId Ident =
-        {
-        0, "flowlayoutpolicy"
-        };
-    }
-
-/**
- * interface for flow layout policy. The policy-interface can be queried
- * from the layoutmanager using the makeInterface- call. 
- * @see IAlfLayoutManager
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfFlowLayoutPolicy : public IAlfInterfaceBase
-    {
-public:
-
-    /** Flow directions. */
-    enum flowDirection
-        {
-        /**
-         * Flow horizontally. System wide layout mirroring is considered
-         * to determine whether visuals are layed from left to right
-         * or from right to left.
-         */
-        EFlowHorizontal,
-        
-        /** Flow vertically. */
-        EFlowVertical
-        };
-        
-    /** Mode flags that specify how the flow is laid out. */
-    enum flowModeFlags
-        {
-        /** Center the children perpendicular to the flow direction.
-            For example, if the flow direction is horizontal (left->right)
-            this flag will center the children vertically along the flow. */
-        EFlowModeCenterPerpendicular = 0x1,
-        
-        /** Fit the children perpendicular to the flow direction.
-            For example, if the flow direction is horizontal, the children
-            will be vertically resized to fit the layout's rectangle. */
-        EFlowModeFitPerpendicular = 0x2
-        };
-public:
-       
-    static inline const IfId& type()
-        {
-        return ialfflowlayoutpolicy::Ident;
-        }
-        
-    virtual inline ~IAlfFlowLayoutPolicy() {}
-    
-    /**
-     * Sets the direction of the flow.
-     *
-     * @param aDirection  Flow direction.
-     */    
-    virtual void setFlowDirection(enum flowDirection aDirection) = 0;
-    
-    /**
-     * returns the flow direction
-     *
-     * @param aDirection  Flow direction.
-     */    
-    virtual enum flowDirection flowDirection() const = 0;
-    
-    /**
-     * Sets the mode of the flow. The mode flags determine how the flow layout
-     * behaves.
-     *
-     * @param aMode  Mode flags (OR'd together).
-     *
-     * @see IAlfFlowLayoutPolicy::flowModeFlags
-     */
-    virtual void setMode(int aMode) = 0;
-    
-    /**
-     * Returns the mode flags of the flow.
-     *
-     * @see IAlfFlowLayoutPolicy::flowModeFlags
-     *
-     * @return  Returns the current mode flags.
-     */
-    virtual int mode() const = 0;
-
-public:
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType ) = 0;
-    };
-    
-    } // namespace Alf
-
-#endif // I_ALFFLOWLAYOUTPOLICY
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfgridlayoutpolicy.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +0,0 @@
-/*
-* Copyright (c) 2008 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 layout policy
-*
-*/
-
-
-#ifndef I_ALFGRIDLAYOUTMANAGER
-#define I_ALFGRIDLAYOUTMANAGER
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-
-class CAlfLayout;
-class CAlfControl;
-
-namespace Alf
-    {
-
-class CAlfWidgetControl;
-
-namespace ialfgridlayoutpolicy
-    {
-     static const IfId Ident =
-        {
-        0, "gridlayoutpolicy"
-        };
-    }
-    
-using Alf::CAlfWidgetControl;
-
-
-
-/**
- * The interface for grid layout policy
- *
- * Provides grid specific layout APIs
- * 
- * @code
- * // Create layout manager interface.
- * IAlfLayoutManager* layoutManager = IAlfInterfaceBase::makeInterface<IAlfLayoutManager>(control);
- *
- * // See if layout policy is supported in the given layout manager.
- * IAlfGridLayoutPolicy* layoutPolicy = IAlfInterfaceBase::makeInterface<IAlfGridLayoutPolicy>(layoutManager);
- *
- * if(layoutPreferences != 0)
- *     {
- *     int rows = layoutPolicy->dimensionCount(EAlfGridDimensionRow);
- *     }
- * @endcode
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfGridLayoutPolicy : public IAlfInterfaceBase
-    {
-public:
-       
-    static inline const IfId& type()
-        {       
-        return ialfgridlayoutpolicy::Ident;
-        }
-        
-    virtual inline ~IAlfGridLayoutPolicy() {}
-    
-public:
-    /* Each dimension corresponds to a different axis for the grid blocks */
-    enum gridLayoutDimension
-        {
-        EGridDimensionColumn = 0,
-        EGridDimensionRow
-        };
-
-public:
-    
-    /**
-     * Sets the number and weights of blocks in this grid layout in the direction of the specified
-     * dimension. Each block's weight will be set to equal the supplied value, the result
-     * of which is that all blocks will be equally spaced, whatever the units. 
-     *
-     * @see appendWeight; for more information on how weights are used to calculate layout positions.
-     *
-     * @note This API could be useful if then subsequent calls to @c replaceWeight are made to 
-     * change specific values, depending on how many of the values are different. 
-     * @note Calling this with aCount set to 0 will clear all of the existing weights in the direction
-     * of the specified dimension.
-     * @note this is the same as using metrics with unit type EAlfUnitWeight.
-     *
-     * @param aDim the dimension along which to fill
-     * @param aCount The number of lines of blocks to fill
-     * @param aWeight the weights to be used for all blocks
-     * @throw AlfVisualException
-     */    
-    virtual void fillWeights(gridLayoutDimension aDim, int aCount, const TAlfMetric& aWeight) = 0;
-
-    /**
-     * Add a new line of blocks to this grid layout at the last position in the direction of the 
-     * specified dimension. It will have the supplied weight. Weights can be any metric value, 
-     * hence different units can be used for each block. In particular, EAlfUnitWeight can be used 
-     * to represent weight values in aribtrary proportional units.
-     *
-     * In the case of proportional weights, the effect of this will be to cause the other blocks to 
-     * resize according to the new total weight.
-     *
-     * @note If non-relative coordinates are specified (e.g., real pixels), the combined blocks might not 
-     *      fill the entire layout area. However, weights will always stretch to fill all available space 
-     *      after the fixed units have been determined. Therefore, depending on circumstances it may
-     *      be better to use EAlfUnitWeight
-     * @note For example [2 weights, 1 weight, 2 weights] in a layout of 100 pixels would result 
-     *      in [40 pixels, 20 pixels, 40 pixels]. 
-     * @note For example [10 pixels, 1 weight, 15 pixels] in a layout of 100 pixels would result 
-     *      in [10 pixels, 75 pixels, 15 pixels]. 
-     *
-     * @param aDim the dimension to which the weight corresponds
-     * @param aWeight the weight to be used for the block in the specified dimension, 
-     *          replacing any previously existing weight for that block
-     * @throw AlfVisualException
-     */
-    virtual void appendWeight(gridLayoutDimension aDim, const TAlfMetric& aWeight) = 0;
-
-    /**
-     * Add a new line of blocks to this grid layout at the specified position in the direciton of 
-     * the specified dimension. It will have the supplied weight. In the case of proportional 
-     * weights, the effect of this will be to cause the other blocks to resize according to the new 
-     * total weight. It will also mean that many child visuals will now occupy different blocks within
-     * the grid according to how the blocks wrap.
-     *
-     * @note will leave if the specified position is greater than the number of objects currently in the array, 
-     * so check first by calling @c preferredDimensionCount
-     * @see appendWeight for more information on how weights are used to calculate layout positions.
-     *
-     * @param aDim the dimension to which the weight corresponds
-     * @param aWeight the weight to be used for the block in the specified dimension, 
-     *          replacing any previously existing weight for that block
-     * @param aPos the index of the block
-     * @throw AlfVisualException
-     */
-    virtual void insertWeight(gridLayoutDimension aDim, const TAlfMetric& aWeight, int aPos) = 0;
-    
-    /**
-     * Sets the weight of a specific line of blocks in this grid layout, in the direction of the supplied dimension.
-     * In the case of proportional weights, the effect of this will be to cause the 
-     * other blocks to resize according to the new total weight. 
-     *
-     * @see appendWeight for more information on how weights are used to calculate layout positions.
-     *
-     * @param aDim the dimension to which the weight corresponds
-     * @param aWeight the weight to be used for the block in the specified dimension, 
-     *          replacing any previously existing weight for that cell
-     * @param aPos the index of the cell
-     * @throw AlfVisualException
-     */
-    virtual void replaceWeight(gridLayoutDimension aDim, const TAlfMetric& aWeight, int aPos) = 0;
-
-    /**
-     * Remove a line of blocks from this grid layout at the specified position in the 
-     * specified dimension. In the case of proportional weights, the effect of this will 
-     * be to cause the other blocks to resize according to the new total weight. It will also mean 
-     * that many child visuals will now occupy different blocks within the grid according to how 
-     * the blocks wrap.
-     *
-     * @see appendWeight for more information on how weights are used to calculate layout positions.
-     *
-     * @param aDim the dimension to which the weight corresponds
-     * @param aPos the index of the cell
-     * @throw AlfVisualException
-     */
-    virtual void removeWeight(gridLayoutDimension aDim, int aPos) = 0;
-
-    /**
-     * Returns the weight of a specific line of blocks in this grid layout, in the
-     * specified dimension. 
-     *
-     * @see appendWeight for more information on how weights are used to calculate layout positions.
-     *
-     * @param aDim the dimension to which the weight corresponds
-     * @param aPos the index of the cell
-     * @return the weight being used for the cell in the specified dimension, will be 0 magnitude if not set
-     * @throw AlfVisualException
-     */
-    virtual TAlfMetric weight(gridLayoutDimension aDim, int aPos) const = 0;
-        
-    /**
-     * Return the number of lines of blocks in this grid, along the specified dimension
-     *
-     * @param aDim the dimension along which to count
-     * @return The number of lines of blocks in this grid.
-     */        
-    virtual int count(gridLayoutDimension aDim) const = 0;
-    
-public:
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType ) = 0;
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFGRIDLAYOUTMANAGER
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfinterfacebase.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* 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:  The base class for interfaces provided by widget classes.
-*
-*/
-
-
-#ifndef I_ALFINTERFACEBASE_H
-#define I_ALFINTERFACEBASE_H
-
-
-
-namespace Alf
-    {
-
-struct IfId;
-/**
- *  The base class for interfaces provided by
- *  widget classes, including CAlfWidget, CAlfModel,
- *  CAlfWidgetControl, MAlfWidgetEventHandler,
- *  MAlfElement and derived classes.
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class IAlfInterfaceBase
-    {
-public:
-    /**
-     * Default virtual destructor.
-     */
-    virtual ~IAlfInterfaceBase() {}
-
-    /**
-     * Interface getter with casting.
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    template <class T>
-    static T* makeInterface(IAlfInterfaceBase* aBase)
-        {
-        return (aBase? static_cast<T*>(aBase->makeInterface(T::type())): 0);
-        }
-
-
-    /**
-     * Interface getter.
-     * Derived classes should always call the base class method
-     * from the overridden MakeInterface.
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType ) = 0;
-
-
-    };
-
-    }
-
-#endif // I_ALFINTERFACEBASE_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialflayoutmanager.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,185 +0,0 @@
-/*
-* 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 layout managers
-*
-*/
-
-
-#ifndef I_ALFLAYOUTMANAGER
-#define I_ALFLAYOUTMANAGER
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-
-class CAlfLayout;
-class CAlfControl;
-
-namespace duiuimodel
-    {
-class DuiNode;
-    }
-using namespace duiuimodel;
-
-namespace Alf
-    {
-
-class CAlfWidgetControl;
-class AlfCustomInitDataBase;
-
-namespace ialflayoutmanager
-    {
-     static const IfId Ident =
-        {
-        0, "ialflayoutmanager"
-        };
-    } 
-
-/**
- * The interface for layout managers
- *
- * Layout manager handles the layouting of child widgets in the container widget.
- * It uses IAlfLayoutPreferences-interface (@see IAlfLayoutPreferences) 
- * of child widgets as a guide for laying out the widgets. The layoutmanager 
- * is set to the IAlfHostApi- interface (@see IAlfHostApi::setBaseLayout)
- * createLayout-method should be the first call after creating the layoutmanager. 
- *
- * Layout manager may also provide information about the layout preferences of its
- * children. If this is supported the layout manager will combine the layout preferences
- * of its children taking into consideration the technique used to lay out the children
- * using the layout manager. This will provide information about the whole display area
- * occupied by the layout manager. For instance vertical flow layout manager will provide
- * preferred size area of its children by summing their heights and providing the maximum
- * width among the children.
- *
- * @code
- * // Create layout manager interface.
- * IAlfLayoutManager* layoutManager = IAlfInterfaceBase::makeInterface<IAlfLayoutManager>(control);
- *
- * // See if layout preferences is supported in the given layout manager.
- * IAlfLayoutPreferences* layoutPreferences = IAlfInterfaceBase::makeInterface<IAlfLayoutPreferences>(layoutManager);
- *
- * if(layoutPreferences != 0)
- *     {
- *     TAlfXYMetric preferredSize;
- *     // This will report the preferred size of the layout by combining together preferred sizes of its children.
- *     bool result = layoutPreferences->getPreferredSize(preferredSize);
- *     }
- * @endcode
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfLayoutManager : public IAlfInterfaceBase
-    {
-public:
-       
-    static inline const IfId& type()
-        {       
-        return ialflayoutmanager::Ident;
-        }
-        
-    virtual inline ~IAlfLayoutManager() {}
-    
-    /**
-     * Creates the layout used by this layoutmanager.
-     *
-     * @param aOwner owner-control of the the created layout.
-     * @param aParentLayout parent for the created layout
-     * @param aLayoutIndex index, where created visual should be placed in the parent layout.
-     * @throw AlfVisualException(EInvalidArrayIndex), if aLayoutIndex is out of bounds
-     *        AlfVisualException(ECanNotCreateVisual), if the layout creation failed.
-     */    
-    virtual void createLayout(CAlfWidgetControl& aOwner, 
-        CAlfLayout* aParentLayout, int aLayoutIndex) = 0;
-    
-    /**
-     * Returns the layout used by this layoutmanager.
-     *
-     * @return layout used by this layoutmanager.
-     * @throw AlfVisualException(EInvalidVisual), if layout is not created.
-     */
-    virtual CAlfLayout& getLayout()const  = 0;
-    
-    /**
-     * Notifies the layout manager, that the child control's layout
-     * must be updated
-     * 
-     * @param aControl control, which size has changed.
-     * @throw AlfVisualException(EInvalidVisual), if layout is not created.
-     */    
-    virtual void updateChildLayout(CAlfWidgetControl* aControl) = 0;
-    
-    /**
-     * Notifies the layout manager, that all the child control's layouts
-     * must be updated.
-     * @throw AlfVisualException(EInvalidVisual), if layout is not created.
-     */    
-    virtual void updateChildrenLayout() = 0;
-    
-    /**
-     * Notifies the layout manager, that the control's has been
-     * removed from the layout.
-     * 
-     * @param aControl control, which has been removed from the layout.
-     * @throw AlfVisualException(EInvalidVisual), if layout is not created.
-     */    
-    virtual void childRemoved(CAlfWidgetControl* aControl) = 0;
-    
-public:
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType ) = 0;
-    };
-    
-/**
- * Placeholder for information required to instantiate an layoutmanager
- * via the widget factory mechanism.
- * A pointer to this structure is casted to a void pointer and sent to the
- * factory plugin.
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-struct AlfLayoutManagerInitData
-    {
-    /**
-     * Event handler instance ID.This uniquely identifies every event handler instance.
-     */
-    char* mLayoutManagerId;
-    
-    /**
-     * Pointer to node in declaration containing information for the widget.
-     */
-    DuiNode* mNode;
-
-    /**
-     * Pointer to custom data passed via factory mechanism
-     * Not Owned.
-     */
-    AlfCustomInitDataBase* mCustomData;
-    };
-
-
-    } // namespace Alf
-
-#endif // I_ALFLAYOUTMANAGER
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialflayoutpreferences.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* 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:  The interface for inquiring the layout preferences of a laid-out object
-*
-*/
-
-
-#ifndef I_ALFLAYOUTPERENCES_H
-#define I_ALFLAYOUTPERENCES_H
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-#include <alf/alfmetric.h>
-#include <osn/osntypes.h>
-
-using namespace osncore;
-
-namespace Alf
-    {
-
-class IAlfLayoutManager;
-
-namespace alflayoutpreferences
-    {
-     static const IfId Ident=
-        {
-        0,"alflayoutpreferences"
-        };
-    }
-
-/**
- * The interface for finding the layout preferences for an Alf widget model 
- * presentation object.
- * 
- * This interface is called by layout managers (implementors of @c IAlfLayoutManager)
- * in order to find out information about their contained presentation objects.
- * 
- * It is implemented by presentation objects in order to report to the layout manager
- * what sizes objects prefer.
- * 
- * The layout manager is responsible for finding out layout preferences for all the
- * AlfElement instances in the next level down of containment - the "child" elements.
- * It calls @c makeInterface<IAlfLayoutPreferences> on these elements.
- * The layout manager uses its knowledge about how these child elements relate to 
- * each other geometrically to come up with a decision on how many child elements
- * can be shown, where they are to be positioned, and how big they should be.
- * @see IAlfLayoutManager
- * 
- * @c AlfElements that represent contained sets of visuals - those that take up 
- * space within the visual containment - should implement @c IAlfLayoutPreferences,
- * or defer its implementation to another presentation object which is capable 
- * of reporting layout preferences.
- *
- * The following units are allowed to be used in the returned parameter values:
- *  EAlfUnitPixel - pixels
- *  EAlfUnitDisplaySize - units relative to the display
- *  EAlfS60Unit - S60 layout specification units
- *
- * Other units do not make sense, since the metric is being passed
- * to a different layout context. Furthermore, the reason for this API
- * is for the implementing object to state its own, internal, preferences
- * without recourse to its containment. This implies the use of the more
- * absolute units.
- * 
- * The units used for the returned @c TAlfXYMetric objects are chosen independently 
- * by the implementations of each API. They do not have to be return the same units.
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfLayoutPreferences : public IAlfInterfaceBase
-    {
-public:
-    static inline const IfId& type()
-        {
-        return alflayoutpreferences::Ident;    
-        }
-
-    /**
-     * Return the minimum desirable size of a presentation object.
-     * 
-     * Minimum size should mean the size at which the visual would start to become 
-     * unreadable in the case of text, or too difficult to see with sufficient 
-     * clarity in the case of graphics.
-     * 
-     * false is to be returned if the implementing presentation object does
-     * not care how small it is made.
-     *
-     * @param aMinSize The minimum size that the object would like to be laid out to
-     * @return false iff the object queried does not care about a minimum size
-     */
-    virtual bool getMinimumSize( TAlfXYMetric& aMinSize ) const = 0;
-
-    /**
-     * Return the maximum size desired by a presentation object.
-     * 
-     * There may often be no preference as to maximum size. The implementation
-     * should then return false.
-     * 
-     * @param aMaxSize The maximum size that the object would like to be laid out to
-     * @return false iff the object queried does not care about a maximum size
-     */
-    virtual bool getMaximumSize( TAlfXYMetric& aMaxSize ) const = 0;
-
-    /**
-     * Return the preferred size for a presentation object.
-     * 
-     * The preferred size is the optimum size of the object in the absence
-     * of external factors.
-     *
-     * The value returned should greater than or equal in size to a value
-     * returned by getMinimumSize()
-     *
-     * The value returned should less than or equal in size to a value
-     * returned by getMaximumSize()
-     *
-     * @param aPreferredSize The size that the object would like to be laid out to
-     * @return false iff the object queried does not have a preferred size
-     */
-    virtual bool getPreferredSize( TAlfXYMetric& aPreferredSize ) const = 0;
-    
-    /**
-     * Set the preferred size into a presentation object.
-     * 
-     * The preferred size is being dictated by external code in this case.
-     * This new value should over-ride any internal preferred size.
-     *
-     * Calling this API has several side-effects.  Subsequent calls to 
-     * getPreferredSize should return @c true and return the new preferred
-     * size.
-     *
-     * Subsequent calls to getMinimumSize must return either @c false, or return
-     * @c true with a value less than or equal to the preferred size.
-     *
-     * Subsequent calls to getMaximumSize must return either @c false, or return
-     * @c true with a value greater than or equal to the preferred size.
-     *
-     * @param aPreferredSize The new preferred size for the laid-out object
-     */
-    virtual void setPreferredSize( const TAlfXYMetric& aPreferredSize ) = 0;
-
-    };
-
-    } // namespace Alf
-#endif // I_ALFLAYOUTPERENCES_H
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfmap.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
-* Copyright (c) 2004 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:  This interface defines a generic data type
-*
-*/
-
-
-
-#ifndef I_ALFMAP_H
-#define I_ALFMAP_H
-
-
-//  INCLUDES
-#include <alf/ialfvarianttype.h>
-#include <osn/osntypes.h>
-
-namespace osncore
-    {
-class UString;
-    }
-
-using osncore::UString;
-
-namespace Alf
-    {
-/**
- * An interface for Container data type.
- *
- * @lib hitchcockwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfMap : public IAlfVariantType
-    {
-public:
-
-
-    /**
-     * Gets the Number of items in  the container
-     *
-     * @return number of items in the container
-     * @since S60 ?S60_version
-     */
-    virtual int count() const = 0;
-
-    /**
-     * Gets the Item at a given index in  the container
-     * @param aIndex - index at which the element is required
-     * @return item as a MlfVariantType
-     * @since S60 ?S60_version
-     */
-    virtual IAlfVariantType* item(uint aIndex) = 0;
-
-    /**
-     * Gets the Name at a given index in  the container
-     * @param aIndex - index at which the name of the element in the map  is required
-     * @return item name as a TDesC8
-     * @since S60 ?S60_version
-     */
-    virtual const UString& name(uint aIndex) const = 0;
-
-    /**
-     * Clones the  entire container
-     *
-     * @return the cloned container
-     * @since S60 ?S60_version
-     */
-    virtual IAlfMap* clone() = 0;
-
-    /**
-     * Removes  an item from  given index in  the container
-     * @param aIndex - index at which the element is to be removed
-     * @return item as a MlfVariantType
-     * @since S60 ?S60_version
-     */
-    virtual void removeItem(uint aIndex) = 0;
-
-    /**
-     * Clear the Container
-     *
-     * @return void
-     * @since S60 ?S60_version
-     */
-    virtual void clear() = 0;
-
-    /**
-     * Replace  an item from  given index in  the container
-     * @param aIndex - index at which the element is to be replaced
-     * @param aNewData - new Data to be replaced
-     * @return void
-     * @since S60 ?S60_version
-     */
-    virtual void replaceItem(uint aIndex, IAlfVariantType* aNewData ) = 0;
-
-    /**
-     * Adds a variantData item into the container
-     * @param aData - varaint Data Item to be added into the container
-     * @param @Name - Name associated with this Variant Data Item.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    virtual void addItem(IAlfVariantType* aData, const UString& aName)=0;
-
-    /**
-     * Adds a variantData item into the container
-     * @param aIndex index where the data is added
-     * @param aData - variant Data Item to be added into the container
-     * @param @Name - Name associated with this Variant Data Item.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    virtual void addItem(uint aIndex, IAlfVariantType* aData, const UString& aName)=0;
-
-    /**
-     * Gets the item by the given name.
-     * @param aName The name associated with requested item.
-     * @return The value corresponding to the name of the item.
-     * @since S60 ?S60_version
-     */
-    virtual IAlfVariantType* item(const UString& aName) = 0;
-
-    /**
-     * Gets the index of the item by the given name.
-     * @param aName The name associated with requested item.
-     * @return The index corresponding to the name of the item, or -1 if not found.
-     * @since S60 ?S60_version
-     */
-    virtual int itemIndex(const UString& aName) = 0;
-
-    /**
-     * Removes the Item associated with a name
-     * @param aName - Name associated with this Variant Data Item that is required to be removed in the map
-     * @return void
-     * @since S60 ?S60_version
-     */
-    virtual void removeItem(const UString& aName) = 0;
-
-    /**
-     * Replaces the Item associated with a name in the container with a new variant data type
-     * @param aName - Name associated with this Variant Data Item that is required to be replaced in the map
-     * @aNewData     - New Data to be set
-     * @return void
-     * @since S60 ?S60_version
-     */
-    virtual void replaceItem(const UString& aName,IAlfVariantType* aNewData) = 0;
-
-    /**
-     * Destructor
-     *
-     * @since S60 ?S60_version
-     */
-    virtual ~IAlfMap(){}
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFMAP_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfmodel.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
-* Copyright (c) 2004 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:  This interface defines a generic data type
-*
-*/
-
-
-
-
-#ifndef I_ALFMODEL_H
-#define I_ALFMODEL_H
-
-
-//INCLUDES
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-
-namespace osncore
-    {
-template <class T> class AlfPtrVector;
-    }
-using namespace osncore;
-
-namespace Alf
-    {
-
-/* Forward declarations*/
-class IAlfModelChangeObserver;
-class IAlfVariantType;
-class AlfModelOperation;
-class AlfCustomInitDataBase;
-
-
-namespace alfmodel
-    {
-static const IfId ident=
-    {
-    0,"alfmodel"
-    };
-    }
-
-/**
- * An interface of the component model.
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-
-class IAlfModel: public IAlfInterfaceBase
-    {
-public:
-    static inline const IfId& type()
-        {
-        return alfmodel::ident;
-        }
-        
-    /**
-     * Virtual destructor.
-     *
-     * @since S60 ?S60_version
-     */
-    virtual ~IAlfModel() {}
-
-    /**
-     * Add a new observer to be notified of any changes in the model.
-     *
-     * @exception std::bad_alloc
-     *
-     * @param aObserver The model change observer to be added.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    virtual void addModelChangeObserver(
-                IAlfModelChangeObserver& aObserver ) = 0;
-
-
-    /**
-     * Remove an observer which is added to get notifications.
-     *
-     * @param aObserver The model change observer to be removed.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    virtual void removeModelChangeObserver(
-                IAlfModelChangeObserver& aObserver )=0;
-
-    /**
-     * Api to change the model completely at one short. From IAlfModel
-     *
-     * @param aData  The new data.
-     * @since S60 ?S60_version
-     */
-    virtual void setData( IAlfVariantType* aData ) = 0;
-
-    /**
-     * Change a given  of data fields in the model . All model change
-     * observers are notified about the change.
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices The container indices to find the correct
-     *            location in the data hierarchy. The ownership is transferred.
-     * @param aData - The new data to be set
-     * @since S60 ?S60_version
-     */
-    virtual void updateData(
-                int aNumContainerIndices,int* aContainerIndices,
-                IAlfVariantType* aData ) = 0;
-
-    /**
-     * Add a  number of data fields in the model data. All model change
-     * observers are notified about the change.
-     *
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices The container indices to find the correct
-     *            location in the data hierarchy. The ownership is transferred.
-     * @param aData The new data.
-     * @since S60 ?S60_version
-     */
-    virtual void addData(
-                int aNumContainerIndices,int* aContainerIndices,
-                IAlfVariantType* aData ) = 0;
-
-    /**
-     * Remove a  number of data fields in the model data. All model change
-     * observers are notified about the change.
-     *
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices The container indices to find the correct
-     *            location in the data hierarchy. The ownership is transferred.
-     * @since S60 ?S60_version
-     */
-    virtual void removeData(
-            int aNumContainerIndices,
-            int* aContainerIndices ) = 0;
-
-    /**
-     * Api for executing batch operations
-     *
-     * @param aOperationsArray  - An RPOinterArray containing the list of 
-     *            operations to be executed in batch.
-     * @since S60 ?S60_version
-     */
-    virtual void executeOperations(
-                AlfPtrVector<AlfModelOperation>&  aOperationsArray) = 0;
-
-    /**
-     * Api for executing one operation at a Time
-     *
-     * @param aOperation    - An Operation to be executed on the model.
-     * @since S60 ?S60_version
-     */
-    virtual void executeOperation(AlfModelOperation* aOperation) = 0;
-
-    /**
-     * Clears the Model.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    virtual void clearModel() = 0;
-    /**
-     * Get the root data object of this model.
-     *
-     * @return The root data object.
-     * @since S60 ?S60_version
-     */
-    virtual IAlfVariantType* data() const = 0;
-
-    };
-
-/**
- *  Placeholder for information required to instantiate a model
- *  via the widget factory mechanism.
- *  A pointer to this structure is casted to a void pointer and sent to the
- *  factory plugin.
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- */
-struct AlfModelInitData
-    {
-    /**
-     * Pointer to custom data passed via factory mechanism
-     * Not Owned.
-     */
-    AlfCustomInitDataBase* mCustomData;  
-    };
-    
-    } // namespace Alf
-
-#endif // I_ALFMODEL_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfmodelbase.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2004 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:  This interface defines a generic data type
-*
-*/
-
-
-
-
-#ifndef I_ALFMODELBASE_H
-#define I_ALFMODELBASE_H
-
-namespace osncore
-    {
-class UString;
-    }
-
-using osncore::UString;
-
-namespace Alf
-    {
-// CLASS DECLARATIONS
-
-/**
- * Base class for setting custom data to a variant type.
- * Derive from this class if you want to store custom data in
- * a variant type.
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfModelBase
-    {
-public:
-    virtual ~IAlfModelBase() {}
-    virtual const UString& Type() = 0;
-    };
-
-    }// namespace Alf
-
-#endif // I_ALFMODEL_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfmodelchangeobserver.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2004 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:  This interface defines a generic data type
-*
-*/
-
-
-#ifndef I_ALFMODELCHANGEOBSERVER_H
-#define I_ALFMODELCHANGEOBSERVER_H
-
-//INCLUDES
-
-namespace osncore
-    {
-template <class T> class AlfPtrVector;
-    }
-using namespace osncore;
-
-namespace Alf
-    {
-
-/* Forward declarations*/
-class IAlfModel;
-class AlfModelOperation;
-
-/**
-*  An interface for observing the changes in the model.
-*  @lib hitchcockwidgetmodel.lib
-*  @since S60 ?S60_version
-* @status Draft
-*/
-class IAlfModelChangeObserver
-    {
-public:
-    /** Virtual destructor.*/
-    virtual ~IAlfModelChangeObserver() {}
-
-    /**
-     * Notify the observer that the model has changed.
-     *
-     * @param aModel    The new model.
-     * @since S60 ?S60_version
-     */
-    virtual void modelChanged( IAlfModel& aModel ) = 0;
-
-    /**
-     * Notify the observers that a number of change operations
-     * are about to be performed on the model.
-     *
-     * @param aArrayOfOperation An Array containing the operations performed on the model.
-     * @since S60 ?S60_version
-     */
-    virtual void dataChanging( const AlfPtrVector<AlfModelOperation>& aArrayOfOperation ) = 0;
-
-    /**
-     * Notify the observers that a change operation
-     * is about to be performed on the model.
-     *
-     * @param aOperation    An operation performed on the model.
-     * @since S60 ?S60_version
-     */
-    virtual void dataChanging( const AlfModelOperation& aOperation ) = 0;
-
-    /**
-     * Notify the observers that the data of the model has been changed.
-     * This is called automatically after any DataChangingL() call.
-     *
-     * @since S60 ?S60_version
-     */
-    virtual void dataChanged() = 0;
-    };
-
-
-    } // namespace Alf
-
-#endif // I_ALFMODELCHANGEOBSERVER_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfnavigation.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,290 +0,0 @@
-/*
-* 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:  Navigation interface for list-like widgets.
-*
-*/
-
-
-
-#ifndef I_ALFNAVIGATION_H
-#define I_ALFNAVIGATION_H
-
-#include <alf/ialfinterfacebase.h>
-
-namespace Alf
-    {
-
-namespace alfnavigation
-    {
-static const IfId ident =
-    {
-    0, "alfnavigation"
-    };
-    }
-
-/**
-*  An interface that defines functionality for navigation in a
-*  one-dimensional array of items. In addition to the normal
-*  one-dimansional behavior, a common use case is to have
-*  a two-dimensional layout and navigation model for the items.
-*  Therefore, both one- and two-dimensional navigation models are
-*  supported by the interface.
-*
-*  Since the logical behavior is decoupled from the presentation,
-*  the navigation is controlled in terms of logical dimensions,
-*  namely the primary and the secondary dimensions. The primary
-*  dimension is the dimension in which the navigation space
-*  expands when new items are inserted. In a one-dimensional layout,
-*  only the primary dimension is needed. The secondary dimension
-*  is used with two-dimensional layouts and navigation models.
-*  The size of the navigation space in the secondary dimension
-*  should be a constant.
-*
-*  The navigation interface consists of navigation parameters,
-*  scrolling parameters, and orientation parameters. The navigation
-*  parameters are used to control the focused item in the logical
-*  navigation events. The scrolling parameters are used to send
-*  scrolling events according to the focused item. The orientation
-*  parameters are used to convert directional navigation events
-*  to the logical navigation events. In addition, the usage of
-*  default navigation key events, i.e., arrow keys, can be enabled
-*  or disabled.
-*
-*  @lib alfwidgetmodel.lib
-*  @since S60 ?S60_version
-*  @status Draft
-*/
-class IAlfNavigation : public IAlfInterfaceBase
-    {
-public:
-    /**
-     * Getter for the type identifier of this interface.
-     *
-     * @since S60 ?S60_version
-     * @return A descriptor to identify the type of this interface.
-     */
-    static inline const IfId& type()
-        {
-        return alfnavigation::ident;
-        }
-
-    /**
-     * Getter for the index of the currently focused item.
-     *
-     * @since S60 ?S60_version
-     * @return An index of the currently focused item.
-     */
-    virtual int focusedIndex() const = 0;
-
-    /**
-     * Setter for the index of the currently focused item.
-     * If the given index is outside the range of items,
-     * the index is set to the first or the last index.
-     *
-     * @since S60 ?S60_version
-     * @param aIndex The new index of the focused item.
-     */
-    virtual void setFocusedIndex( int aIndex ) = 0;
-
-    /**
-     * Getter for the size of the page in primary dimension.
-     * The page size is used for EEventNavigatePrimaryPageUp and
-     * EEventNavigatePrimaryPageDown events, as well as for scrolling
-     * in primary dimension.
-     *
-     * @since S60 ?S60_version
-     * @return The page size in primary dimension.
-     */
-    virtual int primaryPageSize() const = 0;
-
-    /**
-     * Getter for the size of the page in secondary dimension.
-     * The page size is used for EEventNavigateSecondaryPageUp and
-     * EEventNavigateSecondaryPageDown events, as well as for scrolling
-     * in secondary dimension.
-     *
-     * @since S60 ?S60_version
-     * @return The page size in secondary dimension.
-     */
-    virtual int secondaryPageSize() const = 0;
-
-    /**
-     * Getter for the size of the navigation space in secondary dimension.
-     * One step in the primary dimension changes the index of the focused
-     * item by the secondary size. The size is also used for scrolling
-     * in secondary dimension. The secondary size of a one-dimensional
-     * list should be one.
-     *
-     * @since S60 ?S60_version
-     * @return The size in secondary dimension.
-     */
-    virtual int secondarySize() const = 0;
-
-    /**
-     * Getter for looping in primary dimension.
-     *
-     * @since S60 ?S60_version
-     * @return <code>true</code> if the looping is enabled,
-     *         <code>false</code> otherwise.
-     */
-    virtual bool primaryLooping() const = 0;
-
-    /**
-     * Getter for looping in secondary dimension.
-     *
-     * @since S60 ?S60_version
-     * @return <code>true</code> if the looping is enabled,
-     *         <code>false</code> otherwise.
-     */
-    virtual bool secondaryLooping() const = 0;
-
-    /**
-     * Set the navigation parameters for one-dimensional navigation.
-     * The secondary size and the secondary page size are set to one,
-     * to indicate that navigation and scrolling in secondary direction
-     * is disabled. Also the secondary looping is disabled.
-     *
-     * @since S60 ?S60_version
-     * @param aPrimaryPageSize The page size in primary dimension.
-     * @param aPrimaryLooping Enable or disable looping.
-     */
-    virtual void setNavigationParams( int aPrimaryPageSize,
-                                      bool aPrimaryLooping ) = 0;
-
-    /**
-     * Set the navigation parameters for two-dimensional navigation.
-     * The parameters determine the behavior of all navigation events.
-     * Navigation and scrolling are supported in both dimensions.
-     * If the secondary page size is equal to the size of the whole
-     * navigation space, the scrolling in secondary dimension is disabled.
-     *
-     * @since S60 ?S60_version
-     * @param aPrimaryPageSize The page size in primary dimension.
-     * @param aPrimaryLooping Enable or disable looping.
-     */
-    virtual void setNavigationParams( int aPrimaryPageSize,
-                                      int aSecondarySize,
-                                      int aSecondaryPageSize,
-                                      bool aPrimaryLooping,
-                                      bool aSecondaryLooping ) = 0;
-
-    /**
-     * Getter for scrolling distance in primary dimension.
-     * The scrolling distance is the minimum number of items before
-     * the first or the last visible item. For example, the scrolling
-     * distance of one defines that the focus should never get to the
-     * first or the last visible item, except in the beginning or the
-     * end of the list.
-     *
-     * @since S60 ?S60_version
-     * @return The scrolling distance in primary dimension.
-     */
-    virtual int primaryScrollingDist() const = 0;
-
-    /**
-     * Getter for scrolling distance in secondary dimension.
-     *
-     * @since S60 ?S60_version
-     * @return The scrolling distance in secondary dimension.
-     */
-    virtual int secondaryScrollingDist() const = 0;
-
-    /**
-     * Set the scrolling distances for the list control.
-     * The scrolling distances are used to determine when
-     * to start scrolling. The scrolling distance of zero
-     * indicates that the scrolling should start if the focus
-     * is moved outside of the visible items. Similarly,
-     * the scrolling distance of one indicates that the
-     * scrolling should start when the first or the last
-     * visible item is focused.
-     *
-     * @param aPrimaryScrollingDist The minimum number of items before the first
-     *                              or the last visible item in primary dimension.
-     * @param aSecondaryScrollingDist The minimum number of items before the first
-     *                                or the last visible item in secondary dimension.
-     * @since S60 ?S60_version
-     */
-    virtual void setScrollingParams( int aPrimaryScrollingDist,
-                                     int aSecondaryScrollingDist ) = 0;
-
-    /**
-     * Determine if the primary dimension on the screen is vertical.
-     * This is used to convert directional navigation events to the
-     * logical navigation events.
-     *
-     * @since S60 ?S60_version
-     * @return <code>true</code> if the primary dimension is vertical,
-     *         <code>false</code> if the primary dimension is horizontal.
-     */
-    virtual bool verticalPrimary() const = 0;
-
-    /**
-     * Determine if the indices in the navigation space
-     * increase from left to right. This is used to determine
-     * the direction of the horizontal navigation events.
-     *
-     * @since S60 ?S60_version
-     * @return <code>true</code> if the indices increase from left to right,
-     *         <code>false</code> if the indices increase from right to left.
-     */
-    virtual bool leftToRight() const = 0;
-
-    /**
-     * Determine if the indices in the navigation space
-     * increase from up to down. This is used to determine
-     * the direction of the vertical navigation events.
-     *
-     * @since S60 ?S60_version
-     * @return <code>true</code> if the indices increase from up to down,
-     *         <code>false</code> if the indices increase from down to up.
-     */
-    virtual bool upToDown() const = 0;
-
-    /**
-     * Set the orientation parameters.
-     * The orientation parameters are used to convert directional
-     * navigation events to logical navigation events.
-     *
-     * @since S60 ?S60_version
-     * @param aVerticalPrimary Specify the orientation of the primary dimension.
-     * @param aLeftToRight Specify the increasing order of horizontal indices.
-     * @param aUpToDown Specify the increasing order of vertical indices.
-     */
-    virtual void setOrientationParams( bool aVerticalPrimary,
-                                       bool aLeftToRight, bool aUpToDown ) = 0;
-
-    /**
-     * Determine if the default key events are used for navigation.
-     *
-     * @since S60 ?S60_version
-     * @return <code>true</code> if the default key events are used,
-     *         <code>false</code> otherwise.
-     */
-    virtual bool defaultKeysEnabled() const = 0;
-
-    /**
-     * Enable or disable the default key events.
-     *
-     * @since S60 ?S60_version
-     * @param aEnable The usage of the default key events.
-     */
-    virtual void enableDefaultKeys( bool aEnable ) = 0;
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFNAVIGATION_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfsortfunction.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2004 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:  callback interface for sort.
-*
-*/
-
-
-#ifndef I_ALFSORTFUNCTION
-#define I_ALFSORTFUNCTION
-
-// CLASS DECLARATIONS
-namespace Alf
-    {
-    
-class IAlfMap;
-
-/**
- * callback- interface for sort.
- * 
- * @since S60 ?S60_version  
- * @status Draft
- */
-class IAlfSortFunction
-    {
-public:
-    /**
-     * compares two leafs
-     *
-     * @param aFirst first parameter for comparison
-     * @param aSecond second parameter for comparison
-     * @return < 0, if aFirst is less than aSecond, > 0 if aFirst is more than aSecond,
-                0, if aFirst equals aSecond.
-     * @since S60 ?S60_version
-     */ 
-    virtual int compareLeafs( const IAlfMap* aFirst, const IAlfMap* aSecond ) const = 0;
-    
-    };
-    
-    }
-#endif
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfvarianttype.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
-* Copyright (c) 2004 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:  This interface defines a generic data type
-*
-*/
-
-
-
-#ifndef I_ALFVARIANTTYPE_H
-#define I_ALFVARIANTTYPE_H
-
-
-//  INCLUDES
-
-#include <osn/osntypes.h>
-#include <alf/ialfmodelbase.h>
-
-namespace osncore
-    {
-class UString;
-    }
-
-using namespace osncore;
-
-namespace Alf
-    {
-
-// FORWARD DECLARATIONS
-class IAlfContainer;
-class IAlfMap;
-class IAlfBranch;
-class IAlfModelBase;
-
-//INTERFACE DECLARATIONS
-
-/**
- * An interface for variant data type.
- * Application-specific data source classes may implement
- * this interface. Alternatively, a wrapper class may
- * be implemented to convert data fields from application source
- * to some IAlfVariantType implementation (e.g., CAlfVariantType).
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfVariantType
-    {
-public:
-    /** Type enumeration. */
-    enum Type{EBool, EInt, EUint, EReal, EString, EContainer, EMap, EBranch,ECustomData};
-
-    /** Virtual destructor. */
-    virtual ~IAlfVariantType() {}
-
-    /**
-     * Set the Data the variantData
-     *
-     * @param aValue The new value.
-     * @since S60 ?S60_version
-     */
-    virtual void set(IAlfVariantType& aValue) = 0;
-
-    /**
-     * Get the data type.
-     *
-     * @return The data type.
-     * @since S60 ?S60_version
-     */
-    virtual Type type() const = 0;
-
-    /**
-     * Get the data value as an bool .
-     *
-     * @exception osncore:AlfDataException Thrown if type() is not EBool.
-     * @return bool data value.
-     * @since S60 ?S60_version
-     */
-    virtual bool boolean() const = 0;
-
-    /**
-     * Get the data value as an integer.
-     *
-     * @exception osncore:AlfDataException Thrown if type() is not EInt.
-     * @return Integer data value.
-     * @since S60 ?S60_version
-     */
-    virtual int integer() const = 0;
-
-    /**
-     * Get the data value as an unsigned integer.
-     *
-     * @exception osncore:AlfDataException Thrown if type() is not EUInt.
-     * @return Unsigned integer data value.
-     * @since S60 ?S60_version
-     */
-    virtual uint uinteger() const = 0;
-
-    /**
-     * Get the data value as a real number.
-     *
-     * @exception osncore:AlfDataException Thrown if type() is not EReal.
-     * @return Real data value.
-     * @since S60 ?S60_version
-     */
-    virtual double real() const = 0;
-
-    /**
-     * Get the data value as a descriptor.
-     *
-     * @exception osncore:AlfDataException Thrown if type() is not EString.
-     * @return string value.
-     * @since S60 ?S60_version
-     */
-    virtual const UString& string() const = 0;
-
-    /**
-     * Get the data value as a container interface.
-     *
-     * @exception osncore:AlfDataException Thrown if type() is not EContainer.
-     * @return Container interface.
-     * @since S60 ?S60_version
-     */
-    virtual IAlfContainer* container() = 0;
-
-    /**
-     * Get the data value as a map interface.
-     *
-     * @exception osncore:AlfDataException Thrown if type() is not EMap.
-     * @return Map interface.
-     * @since S60 ?S60_version
-     */
-    virtual IAlfMap* map() = 0;
-
-    /**
-     * Get the data value as a Branch interface.
-     *
-     * @exception osncore:AlfDataException Thrown if type() is not EBranch.
-     * @return Branch interface.
-     * @since S60 ?S60_version
-     */
-    virtual IAlfBranch* branch() = 0;
-
-    /**
-     * Get the data value as a User Defined Data Pointer.
-     *
-     * @exception osncore:AlfDataException Thrown if type() is not ECustomData.
-     * @return CAlfModelBase interface.
-     * @since S60 ?S60_version
-     */
-    virtual IAlfModelBase* customData() = 0;
-
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFVARIANTTYPE_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,234 +0,0 @@
-/*
-* 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:  The base class for all widgets.
-*
-*/
-
-
-#ifndef I_ALFWIDGET_H
-#define I_ALFWIDGET_H
-
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-#include <alf/alfvarianttype.h>
-
-namespace duiuimodel
-    {
-class DuiNode;
-    }
-
-using namespace duiuimodel;
-
-class CAlfEnv;
-
-namespace Alf
-    {
-
-class CAlfWidgetControl;
-class IAlfModel;
-class IAlfWidgetFactory;
-class IAlfContainerWidget;
-class AlfCustomInitDataBase;  
-
-
-namespace alfwidget
-    {
-static const IfId ident=
-    {
-    0,"alfwidget"
-    };
-    }
-/**
- *  An interface for all widgets.
- *  Widgets consist of a model and a control.
- *  The model is owned by the widget, but all
- *  controls are owned by Alfred environment.
- *  The widget can be queried for interfaces provided
- *  by derived widget classes, the control or the model.
- *  Widgets can be constructed using the widget factory.
- *  Widgets are owned and accessed using the Alfred
- *  environment.
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class IAlfWidget : public IAlfInterfaceBase
-    {
-public:
-    static inline const IfId& type()
-        {
-        return alfwidget::ident;
-        }
-
-    /** Virtual destructor. */
-    virtual ~IAlfWidget() {}
-
-    /**
-     * Getter for the control. The ownership is not passed.
-     *
-     * @since S60 ?S60_version
-     * @return The control of this widget, or NULL if the control is not specified.
-     */
-    virtual CAlfWidgetControl* control() const = 0;
-    
-    /**
-     * Getter for the parent container. The ownership is not passed.
-     *
-     * @return the parent container or 0 if the widget is the root-widget.
-     */
-    virtual IAlfContainerWidget* parent() const = 0;
-
-    /**
-     * Sets a new widget control. After this call has been succesfully executed, the control is 
-     * owned by this widget. When a new widget control is set to a widget the previously set widget
-     * control is removed.
-     *
-     * Through the aDeletePreviousControl - parameter user can specify whether the previously set 
-     * control is destroyed when new control is set. Otherwise the previous control is left on the
-     * ownership of the caller. The caller has to manually delete the control or reset it to another
-     * widget or control group.
-     *
-     * If the control passed through this method exists in a control group it is appended to the
-     * control group of the view where this widget is contained in and removed from its previous
-     * control group.
-     *
-     * Widget should always have a valid control. An osncore::AlfException is thrown with error code
-     * osncore::EInvalidArgument if a control that is already used in another widget is attempted to
-     * be used with this widget. You have to replace the control in the source widget first
-     * before you can reuse that control in the target widget. See two code snippets below for details:
-     *
-     * @code
-     * // This will throw an osncore::AlfException with error code osncore::EInvalidArgument.
-     * targetWidget.setControl(sourceWidget.control());
-     * @endcode
-     *
-     * @code
-     * CAlfWidgetControl* control = sourceWidget.control();
-     * sourceWidget.setControl(newControl, false);
-     * // This is ok, since control is not set in sourceWidget anymore.
-     * targetWidget.setControl(control);
-     * @endcode
-     *
-     * @see IAlfViewWidget
-     *
-     * @param aControl                The new widget control to be used with this widget.
-     * @param aDeletePreviousControl  If set to true will destroy the previously set control from UI Accelerator Toolkit Environment.
-     *
-     * @exception osncore::AlfException If the given control is already set to another widget an osncore::AlfException
-     *                                  is thrown with error code osncore::EInvalidArgument.
-     */
-    virtual void setControl( CAlfWidgetControl* aControl, bool aDeletePreviousControl = true ) = 0;
-
-    /**
-     * Getter for the model. The ownership is not passed.
-     *
-     * @since S60 ?S60_version
-     * @return The model of this widget, or NULL if the model is not specified.
-     */
-    virtual IAlfModel* model() = 0;
-
-    /**
-     * Setter for the model. Ownership is passed and the old model is released.
-     *
-     * @since S60 ?S60_version
-     * @param aModel The model for this widget.
-     * @param aTakeOwnership Whether takes ownership of model or not
-     * return void
-     */
-    virtual void setModel( IAlfModel* aModel,bool aTakeOwnership = true) = 0;
-
-    /**
-     * Get the name of the widget instance.
-     *
-     * @since S60 ?S60_version
-     * @return Widget name
-     */
-    virtual const char* widgetName() const = 0;
-
-    /**
-     * Sets/Releases the Focus from child widget of container.
-     * Does not set the actual focused status in roster.
-     *
-     * @since S60 ?S60_version
-     * @param aFocus boolean value for focused status
-     * return void
-     */
-    virtual void setChildFocus(bool aFocus) = 0;
-
-    /** 
-     * Sets the presentation for the widget using presentation XML file.
-     * Destroys any existing presentation.
-     * @param aFilePath Path to XML file describing the presentation 
-     *                  of the widget. Not Owned.
-     * @exception AlfWidgetException if no visualization node available 
-     *                               in Presentation XML or if no control
-     *                               is associated with the widget.
-     * @exception bad_alloc 
-     * @since S60 ?S60_version
-     * @return void.
-     */
-    virtual void setPresentation(const char* aFilePath) = 0;    
-    };
-
-/**
- * Placeholder for information required to instantiate a widget
- *  via the widget factory mechanism.
- *  A pointer to this structure is casted to a void pointer and sent to the
- *  factory plugin.
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- */
-struct AlfWidgetInitData
-    {
-    /**
-     * Owner environment for the widget
-     */
-    CAlfEnv* mEnv;
-
-    /**
-     * Container widget pointer that is going to contain the created widget.
-     */
-    IAlfContainerWidget* mContainerWidget;
-     
-    /**
-     * Widget instance ID.This uniquely identifies every widget instance
-     * and is its name. Also see AlfWidget::Widgetname().
-     */
-    char*     mWidgetId;
-
-    /**
-     * Pointer to node in declaration containing information for the widget.
-     */
-    DuiNode* mNode;
-    
-    /**
-     * XML file name containing the declaration for the presention of the widget. 
-     */
-    const char* mFilePath;
-    
-    /**
-     * Pointer to custom data passed via factory mechanism
-     * Not Owned.
-     */
-    AlfCustomInitDataBase* mCustomData;  
-    };
-
-
-    } // namespace Alf
-
-#endif // I_ALFWIDGET_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfwidgetcontrol.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,506 +0,0 @@
-/*
-* 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:  The base class for all widgets.
-*
-*/
-
-
-#ifndef I_ALFWIDGETCONTROL_H
-#define I_ALFWIDGETCONTROL_H
-
-#include <osn/osntypes.h>
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-
-//FORWARD DECLARATION
-class TAlfEvent;
-class CAlfDisplay;
-
-namespace osncore
-    {
-    class UString;
-    }
-using namespace osncore;
-
-namespace Alf
-    {
-//FORWARD DECLARATIONS    
-class IAlfWidgetEventHandler;
-class IAlfElement;
-class AlfWidget;
-class IAlfVariantType;
-class AlfCustomInitDataBase;
- 
-
-namespace alfwidgetcontrol
-    {
-static const IfId ident=
-    {
-    0,"alfwidgetcontrol"
-    };
-    }
-
-/**
- *  The interface for widget controls.
- *  Widget controls are derived from Alfred controls. This is
- *  the primary interface to access the widget control functionality.
- *  Alfred control interface can be queried, but direct access should not
- *  be needed. Widget controls are responsible for the widget logic, i.e.,
- *  storing and controlling the state of the widget. This usually includes
- *  input event handling, updating the presentation, and communication with
- *  the model, the application, and other controls. Event handlers can be
- *  used to implement parts of the widget logic.
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class IAlfWidgetControl : public IAlfInterfaceBase
-    {
-public:
-
-    /**
-     * Defines the bitflags used with the state interfaces.
-     */
-
-    // Visible is set if the widget control is currently intended to be visible
-    static const uint Visible = 0x0001;
-
-    // Enabled is set if the widget control is to be responsive to user input
-    // Note: Presentation may render this control in some way to indicate that
-    // it is disabled
-    static const uint Enabled = 0x0002;
-    
-    // Focused is set if the control is to be currently attracting key events 
-    static const uint Focused = 0x0004;
-    
-    // Focusable is set iff the widget control is to allow focus to be put
-    // on it
-    static const uint Focusable = 0x0008;
-
-public:
-    static inline const IfId& type()
-        {
-        return alfwidgetcontrol::ident;
-        }
-    /**
-     * Virtual destructor.
-     *
-     * @since S60 ?S60_version
-     */
-    virtual ~IAlfWidgetControl() {}
-
-    /**
-     * Get the state of the control.
-     * The state is a combination of binary state flags.
-     *
-     * The individual aspects of the state can be queried by testing 
-     * for the bits in the return value.
-     *
-     * @since S60 ?S60_version
-     * @return The bit-pattern encoding the state
-     */
-    virtual uint state() const = 0;
-
-    /**
-     * Sets the widget control's state.
-     *
-     * The entire state of the widget is set to the passed-in value. 
-     * 
-     * The new state must conform to the following invariants:
-     *
-     * If IAlfWidgetControl::Focus is set, then IAlfWidgetControl::Focusable must also be set
-     * If IAlfWidgetControl::Focusable is set, then IAlfWidgetControl::Enabled must also be set
-     *
-     * If these invariants are violated, then this method will throw AlfException::EInvalidArgument
-     *
-     * @since S60 ?S60_version
-     * @param aState The new state of the control.
-     */
-    virtual void setState( uint aState ) = 0;
-
-    /**
-     * Enable given states.
-     *
-     * This method modifies a state by enabling bits. No bits are disabled.
-     * This is equal to <code>SetState( State() | aState )</code>.
-     *
-     * The resulting state is tested for the invariants documented with setState() 
-     * and throws the same exceptions.
-     *
-     * @since S60 ?S60_version
-     * @param aState The states to be enabled.
-     */
-    virtual void enableState( uint aState ) = 0;
-
-    /**
-     * Disable given states.
-     *
-     * This method modifies a state by clearing bits. No bits are set.
-     * This is equal to <code>SetState( State() & ( 0xFFFFFFFF ^ aState ) )</code>.
-     *
-     * The resulting state is tested for the invariants documented with setState() 
-     * and throws the same exceptions.
-     *
-     * @since S60 ?S60_version
-     * @param aState The states to be disabled.
-     */
-    virtual void disableState( uint aState ) = 0;
-
-    /**
-     * Checks the current state of the widget control for a single aspect.
-     * This is equal to <code>enabled = State() & aState</code>
-     * 
-     * The parameter passed in should usually be a single bit state aspect 
-     * e.g. <code>IAlfWidgetControl::Focusable</code>
-     * If a pattern with more than one bit set is passed in, the result
-     * is not easily usable.
-     *
-     * @since S60 ?S60_version
-     * @param aState a state bit pattern to test
-     * @return true if and only one of the passed-in bits is set in the state
-     */
-    virtual bool checkState( uint aState ) const = 0;
-
-    /**
-     * Get the number of event handlers in the control.
-     *
-     * @since S60 ?S60_version
-     * @return The number of event handlers.
-     */
-    virtual int numEventHandlers() const = 0;
-
-    /**
-     * Get an event handler by index.
-     *
-     * @since S60 ?S60_version
-     * @param aIndex The index of the event handler to get.
-     *
-     * @return The event handler at the given index.
-     */
-    virtual IAlfWidgetEventHandler& eventHandler( int aIndex ) = 0;
-
-    /**
-     * Get the index of the given event handler.
-     * The index specifies the order in which
-     * the event handlers are processed.
-     *
-     * @since S60 ?S60_version
-     * @param aEventHandler The event handler.
-     *
-     * @return The index of the event handler, or -1 if the event handler 
-     *         does not exist.
-     */
-    virtual int eventHandlerIndex( 
-                    IAlfWidgetEventHandler& aEventHandler ) const = 0;
-
-
-    /**
-     * Find an event handler responsible for the given event.
-     *
-     * @since S60 ?S60_version
-     * @param aEvent The event.
-     *
-     * @return The first event handler to handle the given event, or NULL 
-     *         if not found.
-     */
-    virtual IAlfWidgetEventHandler* findEventHandler(
-                                        const TAlfEvent& aEvent ) = 0;
-
-    /**
-     * Add a new event handler.
-     * The control takes the ownership of the event handler.
-     *
-     * @since S60 ?S60_version
-     * @param aEventHandler The event handler to be added.
-     * @param aIndex The index of the new event handler,
-     *               or -1 to append the event handler after the existing
-     *               event handlers.
-     */
-    virtual void addEventHandler(
-                     IAlfWidgetEventHandler* aEventHandler,
-                     int aIndex = -1 ) = 0;
-
-    /**
-     * Remove and destroy an event handler.
-     *
-     * @since S60 ?S60_version
-     * @param aEventHandler The event handler to be removed and destroyed.
-     */
-    virtual void removeAndDestroyEventHandler(
-                     IAlfWidgetEventHandler& aEventHandler ) = 0;
-
-    /**
-     * Remove and destroy an event handler from the control bases on its name.
-     *
-     * @since S60 ?S60_version
-     * @param aHandlerId The name/Id of the event handler to be removed
-     *                   and destroyed.
-     */
-    virtual void removeAndDestroyEventHandler( const UString& aHandlerId ) = 0;
-   
-  
-    /**
-     * Remove and destroy an event handler.
-     *
-     * @since S60 ?S60_version
-     * @param aEventHandler The event handler to be removed and destroyed.
-     */
-    virtual void removeEventHandler(
-                     IAlfWidgetEventHandler& aEventHandler ) = 0;
-    
-    
-    /**
-     * Remove and destroy all event handlers associated with presentation.
-     *
-     * @since S60 ?S60_version
-     */
-    virtual void removeAndDestroyPresentationEventHandlers() = 0;
-    
-    /**
-     * Removes all event handlers associated with presentation from 
-     * this control.
-     *
-     * @since S60 ?S60_version
-     */ 
-    virtual void removePresentationEventHandlers() = 0;
-    
-    /**
-     * Get the number of elements in the control.
-     *
-     * @since S60 ?S60_version
-     * @return The number of elements.
-     */
-    virtual int numElements() const = 0;
-
-    /**
-     * Get an element by index.
-     *
-     * @since S60 ?S60_version
-     * @param aIndex The index of the element to get.
-     *
-     * @return The element at the given index.
-     */
-    virtual IAlfElement& element( int aIndex ) = 0;
-
-    /**
-     * Find an element by name.
-     *
-     * @since S60 ?S60_version
-     * @param aName The name of the element to find.
-     *
-     * @return The found element, or NULL if not found.
-     */
-    virtual IAlfElement* findElement( const char* aName ) = 0;
-
-    /**
-     * Add a new element.
-     * The control takes the ownership of the element.
-     *
-     * @since S60 ?S60_version
-     * @param aElement The element to be added.
-     */
-    virtual void addElement( IAlfElement* aElement ) = 0;
-
-    /**
-     * Remove and destroy an element. All visuals created by the
-     * element are destroyed.
-     *
-     * @since S60 ?S60_version
-     * @param aElement The element to be removed and destroyed.
-     */
-    virtual void removeAndDestroyElement( const IAlfElement& aElement ) = 0;
-    
-    /**
-     * Remove an element.
-     *
-     * @since S60 ?S60_version
-     * @param aElement The element to be removed.
-     */
-    virtual void removeElement( const IAlfElement& aElement ) = 0; 
-
-    /**
-     * Get an id for mapping data to a visual tree created by an element.
-     * The data id is required to be unique withing the scope of the element.
-     * The parent data id and data id ranges specified by SetDataIdRange can
-     * be used to calculate data ids in hierarchical element structures.
-     * In the default implementation, the data id is calculated as follows:
-     * \f[
-     * data id = aParentDataId * DataIdRange( aElement ) + aIndex
-     * \f]
-     *
-     * @since S60 ?S60_version
-     * @param aElement      The element to associate the data id with.
-     * @param aIndex        The index of the data field.
-     * @param aParentDataId The parent data id in the data hierarchy.
-     * @return A unique data id for mapping data to a visual tree.
-     */
-    virtual uint elementDataId(
-                     const IAlfElement& aElement,
-                     uint aIndex,
-                     uint aParentDataId ) = 0;
-
-    /**
-     * Get the parent data id from the given data id.
-     * In the default implementation, the parent data id is calculated 
-     * as follows:
-     * \f[
-     * parent data id = aDataId / DataIdRange( aElement )
-     * \f]
-     * The implementation should match the functionality of ElementDataId().
-     *
-     * @since S60 ?S60_version
-     * @param aElement  The element associated with the given data id.
-     * @param aDataId   The data id.
-     * @return The parent data id.
-     */
-    virtual uint parentElementDataId(
-                     const IAlfElement& aElement,
-                     uint aDataId ) = 0;
-
-    /**
-     * Get the index of the given child data id in the parent data container.
-     * In the default implementation, the parent data id is calculated
-     * as follows:
-     * \f[
-     * index = aDataId % DataIdRange( aElement )
-     * \f]
-     * The implementation should match the functionality of ElementDataId().
-     *
-     * @since S60 ?S60_version
-     * @param aElement  The element associated with the given data id.
-     * @param aDataId   The data id.
-     * @return The parent data id.
-     */
-    virtual uint dataIdToIndex(
-                     const IAlfElement& aElement,
-                     uint aDataId ) = 0;
-                     
-    /**
-     * Get data for a visual tree created by the given element.
-     *
-     * @since S60 ?S60_version
-     * @param aElement  The element containing the visual tree.
-     * @param aDataId   The data id of the visual tree.
-     * @return Data for the visual tree.
-     */
-    virtual IAlfVariantType* elementData(
-                                 const IAlfElement& aElement,
-                                 uint aDataId ) = 0;
-
-    /**
-     * Set the range of data ids for an element.
-     * The range is used for data mapping in ElementDataId() and ElementData().
-     * The default range for all elements is 0xFFFFFFFF. The ranges need to be
-     * adjusted for child elements in hierarchical element structures.
-     * Otherwise,the data ids will overflow and not remain unique.
-     * @see ElementDataId().
-     *
-     * @since S60 ?S60_version
-     * @param aElement  The element.
-     * @param aRange    The range of data ids.
-     */
-    virtual void setDataIdRange(
-                     const IAlfElement& aElement,
-                     uint aRange ) = 0;
-
-    /**
-     * Get the range of data ids for the given element.
-     * The range is used for data mapping in ElementDataId() and ElementData().
-     * @see SetDataIdRange().
-     *
-     * @since S60 ?S60_version
-     * @param aElement  The element.
-     * @return The range of data ids for the element.
-     */
-    virtual uint dataIdRange( const IAlfElement& aElement ) = 0;
-
-    /**
-     * Create or update the presentation for the widget.
-     *
-     * @since S60 ?S60_version
-     */
-    virtual void updatePresentation() = 0;
-
-    /**
-     * Remove visuals from all elements. The visuals are destroyed
-     * after the given delay. This allows executing an animation
-     * sequence before the actual destruction of visuals.
-     *
-     * @since S60 ?S60_version
-     * @param aTimeMilliseconds The remaining time to destruction of 
-     *                          all visuals.
-     */
-    virtual void destroyPresentation( int aTimeMilliseconds ) = 0;
-    
-    /**
-     * Remove visuals from all elements and destroy all elements.
-     * The visuals and elements are destroyed after the given delay.
-     * This allows executing an animation sequence before the actual
-     * destruction of visuals.
-     *
-     * @since S60 ?S60_version
-     * @param aTimeMilliseconds The remaining time to destruction of 
-     *                          all visuals.
-     */    
-    virtual void destroyVisualsAndElements( int aTimeMilliseconds = 0 ) = 0;
-
-    /**
-     * Get the owner widget of this control.
-     *
-     * @since S60 ?S60_version
-     * @return The owner widget, or NULL if this control does not belong to
-     *         any widget.
-     */
-    virtual AlfWidget* widget() = 0;
-    
-    /**
-     * Handles events sent to widget control.
-     *
-     * @since S60 ?S60_version
-     * @param aEvent The event to be handled.
-     * @return Result of event processing. See AlfEventStatus.
-     */
-    virtual AlfEventStatus handleEvent( const TAlfEvent& aEvent ) = 0;
-    
-    };
-
-/**
- *  Placeholder for information required to instantiate a widgetcontrol
- *  via the widget factory mechanism.
- *  A pointer to this structure is casted to a void pointer and sent to the
- *  factory plugin.
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- */
-struct AlfWidgetControlInitData
-    {
-
-    /**
-     * Display pointer
-     */
-    CAlfDisplay* mDisplay;
-    
-    /**
-     * Pointer to custom data passed via factory mechanism
-     * Not Owned.
-     */
-    AlfCustomInitDataBase* mCustomData;  
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFWIDGETCONTROL_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfwidgetcontroldescriptor.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
-* 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:  An interface used by design tools to get a description of the control.
-*
-*/
-
-
-#ifndef I_ALFWIDGETCONTROLDESCRIPTOR_H
-#define I_ALFWIDGETCONTROLDESCRIPTOR_H
-
-#include <e32base.h>
-
-#include <alf/ialfinterfacebase.h>
-
-namespace Alf
-    {
-
-/**
- *  An interface used by design tools to get a description of the control.
- *  The description may include a generic description of the control, and
- *  descriptions of the event handlers and elements used by the control.
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class IAlfWidgetControlDescription : public IAlfInterfaceBase
-    {
-public:
-    /**
-     * Get the description of the control.
-     *
-     * @since S60 ?S60_version
-     * @return The description of the control.
-     */
-    virtual const TDesC8& controlDescription() const = 0;
-
-    /**
-     * Get the number of required elements in the control.
-     *
-     * @since S60 ?S60_version
-     * @return The number of required elements.
-     */
-    virtual int numRequiredElements() const = 0;
-
-    /**
-     * Get the name of a required element by index.
-     *
-     * @since S60 ?S60_version
-     * @param aIndex The index of the element.
-     * @return The name of the element at the given index.
-     */
-    virtual const TDesC8& elementName(int aIndex) const = 0;
-
-    /**
-     * Get the description of a required element by index.
-     *
-     * @since S60 ?S60_version
-     * @param aIndex The index of the element.
-     * @return The description of the element at the given index.
-     */
-    virtual const TDesC8& elementDescription(int aIndex) const = 0;
-
-    /**
-     * Get the number of required event handlers in the control.
-     *
-     * @since S60 ?S60_version
-     * @return The number of required event handlers.
-     */
-    virtual int numRequiredEventHandlers() const = 0;
-
-    /**
-     * Get the event id of a required event handler by index.
-     * The event id may be a custaom event id or a key event id.
-     *
-     * @since S60 ?S60_version
-     * @param aIndex The index of the event handler.
-     * @return The name of the event handler at the given index.
-     */
-    virtual uint eventHandlerId(int aIndex) const = 0;
-
-    /**
-     * Determine the type of a required event handler by index.
-     * The event type may be a custom event or a key event.
-     *
-     * @note Pointer event handlers cannot be identified without
-     * an associated custom event id. Therefore, pointer event handlers
-     * are visible as custom event handlers.
-     *
-     * @since S60 ?S60_version
-     * @param aIndex The index of the event handler.
-     * @return <code>ETrue</code> if the event handler is a key event handler.
-     *         <code>EFalse</code> if the event handler is a custom event handler.
-     */
-    virtual bool keyEventHandler(int aIndex) const = 0;
-
-    /**
-     * Get the name of a required event handler by index.
-     *
-     * @since S60 ?S60_version
-     * @param aIndex The index of the event handler.
-     * @return The name of the event handler at the given index.
-     */
-    virtual const TDesC8& eventHandlerName(int aIndex) const = 0;
-
-    /**
-     * Get the description of a required event handler by index.
-     *
-     * @since S60 ?S60_version
-     * @param aIndex The index of the event handler.
-     * @return The description of the event handler at the given index.
-     */
-    virtual const TDesC8& eventHandlerDescription(int aIndex) const = 0;
-
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFWIDGETCONTROLDESCRIPTOR_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/ialfwidgeteventhandler.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,220 +0,0 @@
-/*
-* 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 control event handler interface.
-*
-*/
-
-
-#ifndef I_ALFWIDGETEVENTHANDLER_H
-#define I_ALFWIDGETEVENTHANDLER_H
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-
-
-class TAlfEvent;
-
-namespace duiuimodel
-    {
-class DuiNode;
-    }
-using namespace duiuimodel;
-
-namespace Alf
-    {
-//FORWARD DECLARATIONS
-class CAlfWidgetControl;
-class AlfCustomInitDataBase; 
-struct AlfWidgetEventHandlerInitData; 
-
-
-namespace alfwidgeteventhandler
-    {
-static const IfId ident =
-    {
-    0, "alfwidgeteventhandler"
-    };
-    }
-    
-/**
- *  The interface for event handlers used by
- *  widget controls. The event handlers are
- *  used for handling any Alfred events, including
- *  key events, pointer events and custom events.
- *  Interfaces provided by the event handlers can
- *  be accessed using IAlfInterfaceBase::MakeInterface().
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class IAlfWidgetEventHandler : public IAlfInterfaceBase
-    {
-public:
-    enum AlfEventHandlerType
-        {
-        /**
-         * Presentation related event handlers. These will be deleted when the 
-         * presentation is destroyed.
-         * @see: IAlfWigetControl::destroyPresentation
-         * @see: IAlfWiget::setPresentation
-         */ 
-        EPresentationEventHandler,
-        /**
-         * Logical event handlers. These event handlers are not presentation related and
-         * will not be destroyed during the destruction of the presentation.
-         */
-        ELogicalEventHandler,   
-        };
-    
-    /**
-     * Phase in which event handlers are executed.
-     */
-    enum AlfEventHandlerExecutionPhase
-        {
-        /**
-         * Tunneling event handlers are executed only in the tunnelling phase of the 
-         * event handling cycle. Tunnelling event handlers are executed before
-         * IAlfWidgetControl::HandleEvent is executed.
-         * @see IAlfWidgetControl::HandleEvent
-         */ 
-        ETunnellingPhaseEventHandler,
-    
-        /**
-         * Bubbling event handlers are executed only in the bubbling phase of the 
-         * event handling cycle. Bubbling event handlers are executed after
-         * IAlfWidgetControl::HandleEvent is executed.
-         * @see IAlfWidgetControl::HandleEvent
-         */ 
-        EBubblingPhaseEventHandler,     
-    
-        /**
-         * These event handlers are executed both in the tunneling and bubbling phase 
-         * of the event handling cycle i.e both before and after IAlfWidgetControl::HandleEvent
-         * is executed.
-         * @see IAlfWidgetControl::HandleEvent
-         */ 
-        ETunnellingAndBubblingPhaseEventHandler,        
-        };
-        
-    static inline const IfId& type()
-        {
-        return alfwidgeteventhandler::ident;
-        }
-
-    virtual inline ~IAlfWidgetEventHandler() {}
-
-    /**
-     * Used to identify event handlers that are capable of handling
-     * a specified key or custom event. Pointer event handlers cannot be
-     * identified directly, since they are dependent on the presentation.
-     * Therefore, pointer event handlers should be associated with
-     * a custom event ID that can be used to simulate the actual pointer event.
-     *
-     * @since S60 ?S60_version
-     * @param aEvent The event.
-     * @return <code>ETrue</code> if the event can be processed. Otherwise <code>EFalse</code>.
-     */
-    virtual bool accept( CAlfWidgetControl& aControl, const TAlfEvent& aEvent ) const = 0;
-
-    /**
-     * Called when an input event is being offered to this event handler.
-     * The return value is used to indicate if the event was processed.
-     * Processed events may not be offered to other event handlers.
-     *
-     * @since S60 ?S60_version
-     * @param aControl The parent control of this event handler.
-     * @param aEvent The event.
-     * @return Result of event processing. See AlfEventStatus.
-     */
-    virtual AlfEventStatus offerEvent( CAlfWidgetControl& aControl,const TAlfEvent& aEvent) = 0;
-
-    /**
-     * Defines the widget states, where the event handler is active.
-     * By default, if this method is not called, the event handler is expected
-     * to be active in all states.
-     *
-     * @param aStates A bitmask defining the widget states, where the event
-     * handler is active. The low 16 bits are reserved for the states
-     * defined by the framework in . The high 16 bits are
-     * available for states defined by the client code.
-     */
-    virtual void setActiveStates( unsigned int aStates ) = 0;
-    
-    /**
-     * Sets AlfWidgetEventHandlerInitData to event handler.
-     *
-     * @param aData A data structure which contains for example id of the event
-     * handler.
-     */
-    virtual void setEventHandlerData( const AlfWidgetEventHandlerInitData& aData ) = 0;
-    
-    /**
-     * Returns AlfWidgetEventHandlerInitData.
-     *
-     * @return  A pointer to AlfWidgetEventHandlerInitData structure which contains
-     * for example id of the event handler.
-     */
-    virtual AlfWidgetEventHandlerInitData* eventHandlerData() = 0;
-
-    /**
-     * Returns the type of EventHandler. 
-     * @see IAlfWidgetEventHandler::AlfEventHandlerType
-     *
-     * @return The type of event handler.
-     */
-    virtual AlfEventHandlerType eventHandlerType() = 0;
-
-    /**
-     * Returns information about the phase in the event handling cycle in
-     * which the event hadler will be executed.
-     * @see IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase
-     *
-     * @return Event handler execution phase.
-     */
-    virtual AlfEventHandlerExecutionPhase eventExecutionPhase() = 0;
-    };
-
-/**
- * Placeholder for information required to instantiate an event handler
- * via the widget factory mechanism.
- * A pointer to this structure is casted to a void pointer and sent to the
- * factory plugin.
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-struct AlfWidgetEventHandlerInitData
-    {
-    /**
-     * Event handler instance ID.This uniquely identifies every event handler instance.
-     */
-    char* mWidgetEventHandlerId;
-    
-    /**
-     * Pointer to node in declaration containing information for the widget.
-     */
-    DuiNode* mNode;
-
-    /**
-     * Pointer to custom data passed via factory mechanism
-     * Not Owned.
-     */
-    AlfCustomInitDataBase* mCustomData;  
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFWIDGETEVENTHANDLER_H
-
-// End of File
--- a/mmuifw_plat/alf_widgetutils_api/alf_widgetutils_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="abd160d0b243761794701909ff0acef6" dataversion="1.0">
-<name>alf widgetutils api</name>
-<description>Alf WidgetUtils API</description>
-<type>c++</type>
-<subsystem>alfwidgetutils</subsystem>
-<libs><lib name="alfwidgetutils.lib"/>
-</libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/alf_widgetutils_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2006 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:  File that exports the files belonging to 
-:                ALF widget factory API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-// To be removed once migration to the new internal export dir has been done
-
-../inc/alf/alffactorypluginloader.h     MW_LAYER_PLATFORM_EXPORT_PATH(alf/alffactorypluginloader.h)
-../inc/alf/alftypes.h                   MW_LAYER_PLATFORM_EXPORT_PATH(alf/alftypes.h)
-../inc/alf/ialffactoryplugin.h          MW_LAYER_PLATFORM_EXPORT_PATH(alf/ialffactoryplugin.h)
-../inc/alf/alfwidgetfactoryloader.h     MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfwidgetfactoryloader.h)
-../inc/alf/alfexception.h               MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfexception.h)
-../inc/alf/alfattributeexception.h      MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfattributeexception.h)
-../inc/alf/alfvisualexception.h         MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfvisualexception.h)
-../inc/alf/alfelementexception.h        MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfelementexception.h)
-../inc/alf/alfwidgetexception.h         MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfwidgetexception.h)
-../inc/alf/alfdataexception.h           MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfdataexception.h)
-../inc/alf/alfexceptions.h              MW_LAYER_PLATFORM_EXPORT_PATH(alf/alfexceptions.h)
-
--- a/mmuifw_plat/alf_widgetutils_api/inc/alf/alfattributeexception.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* 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:  attribute exception
-*
-*/
-
-
-
-
-#ifndef ALFATTRIBUTEEXCEPTION_H_
-#define ALFATTRIBUTEEXCEPTION_H_
-
-#include <alf/alfexception.h>
-
-using namespace std;
-
-namespace osncore
-    {
-
-
-/**
- *  UI library attribute exception class.
- *
- *  @lib core.lib
- *  @since S60 ?S60_version
- */
-class AlfAttributeException : public AlfException
-    {
-public:
-    /**
-    * Constructor.
-    * @param aErrorCode Error code
-    */
-    OSN_IMPORT AlfAttributeException( const int aErrorCode ) throw();
-
-    /**
-      * Constructor.
-      * @param aErrorCode Error code
-      * @param aInfo Optional additional information or NULL
-      * @param aFileAndLine Optional file and line information or NULL
-      */
-    OSN_IMPORT  AlfAttributeException(
-        int aErrorCode, const char* aInfo, const char* aFileAndLine ) throw();
-
-    /**
-    *  Class Destructor.
-    */
-    OSN_IMPORT virtual ~AlfAttributeException() throw();
-
-    /**
-    * Returns the description of the exception.
-    * @return The description of the exception.
-    */
-    OSN_IMPORT virtual const char* what() const throw();
-    };
-
-    }
-
-#endif //ALFATTRIBUTEEXCEPTION_H_
-
-// End of File
--- a/mmuifw_plat/alf_widgetutils_api/inc/alf/alfdataexception.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* 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:  data exception
-*
-*/
-
-
-
-
-#ifndef ALFDATAEXCEPTION_H_
-#define ALFDATAEXCEPTION_H_
-
-#include <alf/alfexception.h>
-
-
-namespace osncore
-    {
-
-
-/**
- *  @class AlfDataException alfdataexception.h "alf/alfdataexception.h"
- *  Exception class used with invalid data exceptions.
- *
- *  @lib alfwidgetutils.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfDataException : public AlfException
-    {
-public:
-
-    /**
-    * Constructor.
-    * @param aErrorCode Error code
-    */
-    OSN_IMPORT AlfDataException( const int aErrorCode ) throw();
-
-    /**
-      * Constructor.
-      * @param aErrorCode Error code
-      * @param aInfo Optional additional information or NULL
-      * @param aFileAndLine Optional file and line information or NULL
-      */
-    OSN_IMPORT  AlfDataException(
-        int aErrorCode, const char* aInfo, const char* aFileAndLine ) throw();
-
-    /**
-    *  Class Destructor.
-    */
-    OSN_IMPORT virtual ~AlfDataException() throw();
-
-    /**
-    * Returns the description of the exception.
-    * @ret The description of the exception.
-    */
-    OSN_IMPORT virtual const char* what() const throw();
-    };
-
-    }
-
-#endif //ALFDATAEXCEPTION_H_
-
-// End of File
--- a/mmuifw_plat/alf_widgetutils_api/inc/alf/alfelementexception.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* 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:  element exception
-*
-*/
-
-
-
-
-#ifndef ALFELEMENTEXCEPTION_H_
-#define ALFELEMENTEXCEPTION_H_
-
-#include <alf/alfexception.h>
-
-
-namespace osncore
-    {
-
-/**
- *  @class AlfElementException alfelementexception.h "alf/alfelementexception.h"
- *  Element exception class.
- *
- *  @lib alfwidgetutils.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfElementException : public AlfException
-    {
-public:
-    /**
-    * Constructor.
-    * @param aErrorCode Error code
-    */
-    OSN_IMPORT AlfElementException( const int aErrorCode ) throw();
-
-    /**
-      * Constructor.
-      * @param aErrorCode Error code
-      * @param aInfo Optional additional information or NULL
-      * @param aFileAndLine Optional file and line information or NULL
-      */
-    OSN_IMPORT  AlfElementException(
-        int aErrorCode, const char* aInfo, const char* aFileAndLine ) throw();
-
-    /**
-    *  Class Destructor.
-    */
-    OSN_IMPORT virtual ~AlfElementException() throw();
-
-    /**
-    * Returns the description of the exception.
-    * @return The description of the exception.
-    */
-    OSN_IMPORT virtual const char* what() const throw();
-    };
-
-    }
-
-#endif //ALFELEMENTEXCEPTION_H_
-
-// End of File
--- a/mmuifw_plat/alf_widgetutils_api/inc/alf/alfexception.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +0,0 @@
-/*
-* 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:  bad alloc eception interface
-*
-*/
-
-
-
-
-#ifndef ALFEXCEPTION_H_
-#define ALFEXCEPTION_H_
-
-#include <osn/osncommon.h>
-#include <stdexcept>
-
-using namespace std;
-
-namespace osncore
-    {
-
-#define STRINGIFY(x) #x
-#define TOSTRING(x) STRINGIFY(x)
-
-#ifdef ALF_DEBUG_EXCEPTIONS
-/**
-* Use this macro for throwing exceptions in the widgetmodel code.
-*
-* @param p1 Exception class
-* @param p2 Error code
-* @param p3 Debug information string
-*/
-#define ALF_THROW(p1,p2,p3) \
-{p1 p4= p1(p2,p3, __FILE__ ":" TOSTRING(__LINE__)); throw (p4);}
-#else
-#define ALF_THROW(p1,p2,p3) {p1 p4= p1(p2); throw(p4);}
-#endif // ALF_DEBUG_EXCEPTIONS
-
-
-/**
-* Error codes for Alf Widget Model. These error codes are sent within 
-* AlfException class and they are common across all widgets. Widget specific 
-* exceptions are defined together with widget specific exception classes. 
-* For more information on widget specific errors see widget specific exception 
-* classes (like CAlfButtonException).
-*/
-enum AlfWidgetModelException
-    {
-    ECommonError,
-    
-    /** Passed attribute had no meaning in the object 
-        where it was passed to. */
-    EInvalidAttribute,
-    
-    /* Passed attribute was valid, but the value for the 
-       attribute was invalid. */
-    EInvalidAttributeValue,
-    
-    /** Not enought information provided to affect the specified attribute. */
-    EIncompleteAttributeValues,
-    
-    /** Passed visual was invalid */
-    EInvalidVisual,
-    
-    /** Creation of visual failed */
-    ECanNotCreateVisual,
-    
-    /** Passed visual value was invalid */
-    EInvalidVisualValue,
-    
-    /** Passed Element was invalid */   
-    EInvalidElement,
-    
-    /** Invalid data type in Alf::IAlfVariantType */
-    EInvalidVariantDataType,
-    
-    /** Array Index out of bounds */
-    EInvalidArrayIndex,
-    
-    /** A non-applicable operation was performed on a 
-        Alf::IAlfContainer object. */
-    EInvalidContainerOperation,
-    
-    /** A non-applicable operation was performed on a 
-        Alf::IAlfMap object. */
-    EInvalidMapOperation,
-    
-    /** A non-applicable operation was performed on a 
-        Alf::IAlfBranch object. */
-    EInvalidBranchOperation,
-    
-    /** An invalid operation was perfomed on a 
-        Alf::IAlfModel object. */
-    EInvalidModelOperation,
-    
-    /** Passed Widget was invalid */   
-    EInvalidWidget,
-    
-    /**
-     * An invalid instance ID was supplied to the factory while creating a 
-     * widget. Also used if an attempt is used to create a widget with same 
-     * instance ID as an existing widget.
-     */ 
-    EInvalidWidgetInstanceId,
-    
-    /**
-     * No display was found from the UI Accelerator Toolkit environment in 
-     * which the widget should have been constructed.
-     * See Alf::IAlfWidgetFactory::createWidget() for more information.
-     */
-    EDisplayNotFound,
-
-    /**
-     * EInvalidArgument error code can be used when a user passes an 
-     * argument which is invalid. For example, user tries  to set alignment 
-     * of vertical scrollbar as top or bottom (vertical scrollbar can be left or
-     * right aligned only).
-     */
-    EInvalidArgument,
-
-    /**
-     * Error code used when an operation would result in an invalid object 
-     * hierarchy. There are multiple object hierarchies maintained in widget 
-     * model that this error code can relate to. Widget objects are stored in a
-     * hierarchy under a view widget
-     * (see Alf::IAlfContainerWidget and Alf::IAlfWidget for more information). 
-     * Widget presentation can be constructed from a  hierarchy of visual 
-     * templates (see Alf::IAlfVisualTemplate).
-     */
-    EInvalidHierarchy
-    };
-
-/**
- *  @class AlfException alfexception.h "alf/alfexception.h"
- *  Base exception class.
- *
- *  Exceptions specify an error code, which can be one of the error codes 
- *  defined in osncore::AlfWidgetModelException. Concrete widgets derive their 
- *  own exception classes from this base class. If the exception is thrown from
- *  a concrete widget, the error code can also be one of the widget specific 
- *  error codes.
- *
- *  @lib alfwidgetutils.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfException : public exception
-    {
-public:
-    /**
-      * Constructor.
-      * @param aErrorCode Error code
-      */
-    OSN_IMPORT  AlfException( const int aErrorCode ) throw();
-
-    /**
-      * Constructor.
-      * @param aErrorCode Error code
-      * @param aInfo Optional additional information or NULL
-      */
-    OSN_IMPORT  AlfException( int aErrorCode, const char* aInfo ) throw();
-
-    /**
-      * Constructor.
-      * @param aErrorCode Error code
-      * @param aInfo Optional additional information or NULL
-      * @param aFileAndLine Optional file and line information or NULL
-      */
-    OSN_IMPORT  AlfException(
-        int aErrorCode, const char* aInfo, const char* aFileAndLine ) throw();
-
-    /**
-      *  Class Destructor.
-      */
-    OSN_IMPORT virtual ~AlfException() throw();
-
-    /**
-      * Returns the description of the exception.
-      * @return The description of the exception.
-      */
-    OSN_IMPORT virtual const char* what() const throw();
-
-    /**
-      * Returns the error code of the exception.
-      * @return The error code of the exception.
-      */
-    OSN_IMPORT virtual int errorCode() const throw();
-
-    /**
-      * Returns additional information defined in the exception.
-      * This can be e.g. the name of the class, which has thrown the exception.
-      *
-      * @return Additional information defined in the exception.
-      */
-    OSN_IMPORT virtual const char* info() const throw();
-
-    /**
-      * Returns a string with the filename and the line number of the source code,
-      * which has thrown the exception. If the information does not exist,
-      * an empty string is returned.
-      *
-      * @return A string with the filename and the line number of the source code,
-      * which has thrown the exception.
-      */
-    OSN_IMPORT const char* fileAndLine() const throw();
-
-private: // data
-
-    int mErrorCode;
-    const char* mInfo;
-    const char* mFileAndLine;
-    };
-
-    }
-
-#endif
--- a/mmuifw_plat/alf_widgetutils_api/inc/alf/alfexceptions.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* 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:  includes all exception classes
-*
-*/
-
-
-
-
-#ifndef ALFEXCEPTIONS_H_
-#define ALFEXCEPTIONS_H_
-
-#include <alf/alfattributeexception.h>
-#include <alf/alfvisualexception.h>
-#include <alf/alfelementexception.h>
-#include <alf/alfdataexception.h>
-#include <alf/alfwidgetexception.h>
-
-#endif //ALFEXCEPTIONS_H_
-
-// End of File
--- a/mmuifw_plat/alf_widgetutils_api/inc/alf/alffactorypluginloader.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* 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:  Factory plugin loader
-*
-*/
-
-
-
-#ifndef ALFFACTORYPLUGINLOADER_H
-#define ALFFACTORYPLUGINLOADER_H
-
-#include <osn/osndefines.h>
-#include <memory>
-
-using namespace std;
-
-namespace Alf
-    {
-class IAlfFactoryPlugin;
-class AlfFactoryPluginLoaderImpl;
-
-/**
- *  @class AlfFactoryPluginLoader alffactorypluginloader.h "alf/alffactorypluginloader.h"
- *
- *  Factory plugin loader loads factory plugins. Loader will resolve factory 
- *  plugin based on given string and load factory which can create requested 
- *  product. Loader owns factory plugins. Factory products and their 
- *  derivatives must be destroyed before destroying a loader object.
- *
- *  @lib alfwidgetutils.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfFactoryPluginLoader
-    {
-public:  // Constructors and destructor
-
-    /**
-     * Constructor.
-     *     
-     * @exception std::bad_alloc Thrown if out of memory during the 
-     *                           construction.
-     */
-    OSN_IMPORT AlfFactoryPluginLoader();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfFactoryPluginLoader();
-
-public:
-
-    /**
-     * Load a factory plugin.
-     *
-     * @param aFactoryProduct Factory plugin is loaded based on a given string
-     * @since S60 5.0
-     * @return Pointer to IAlfFactoryPlugin or NULL. Ownership is not 
-     *         transferred to caller.
-     */
-    OSN_IMPORT IAlfFactoryPlugin* loadFactoryPlugin(const char* aFactoryProduct);
-
-private:
-    /**
-     * Copy Constructor
-     */
-    AlfFactoryPluginLoader(const AlfFactoryPluginLoader&);
-
-    /**
-     * Assignment Operator
-     */
-    AlfFactoryPluginLoader& operator=(const AlfFactoryPluginLoader&);
-
-private:    // Data
-    auto_ptr<AlfFactoryPluginLoaderImpl> mImpl;
-    };
-
-    } // namespace Alf
-
-#endif
-
-// End of File
--- a/mmuifw_plat/alf_widgetutils_api/inc/alf/alftypes.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* 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:  Type declarations
-*
-*/
-
-
-
-#ifndef ALFTYPES_H
-#define ALFTYPES_H
-
-namespace Alf
-    {
-struct IfId
-    {
-    unsigned int mIfId;
-    const char*  mImplementationId;
-    };
-    
-
-/**
- * Specfies the result of event processing when an event that 
- * is offered to an event handler.
- */
-enum AlfEventStatus
-    {
-    /**
-     * The event handler did not handle the event.
-     */
-    EEventNotHandled = 0,
-    /**
-     * The event handler handled the event but does not
-     * desire to block the event flow to other interested
-     * entities.
-     */
-    EEventHandled,
-    /**
-     * The event handler consumed the event and wishes to
-     * terminate event flow to other interested enetities.
-     * In other words, the event handler acted as a "filter" 
-     * for the event.
-     */ 
-    EEventConsumed,
-    };
-    }
-
-#endif
-
-// End of File
--- a/mmuifw_plat/alf_widgetutils_api/inc/alf/alfvisualexception.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* 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:  visual exception
-*
-*/
-
-
-
-
-#ifndef ALFVISUALEXCEPTION_H_
-#define ALFVISUALEXCEPTION_H_
-
-#include <alf/alfexception.h>
-
-namespace osncore
-    {
-
-/**
- *  @class AlfVisualException alfvisualexception.h "alf/alfvisualexception.h"
- *  Visual exception class.
- *
- *  @lib alfwidgetutils.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfVisualException : public AlfException
-    {
-public:
-    /**
-    * Constructor.
-    * @param aErrorCode Error code
-    */
-    OSN_IMPORT AlfVisualException( const int aErrorCode ) throw();
-
-    /**
-      * Constructor.
-      * @param aErrorCode Error code
-      * @param aInfo Optional additional information or NULL
-      * @param aFileAndLine Optional file and line information or NULL
-      */
-    OSN_IMPORT  AlfVisualException(
-        int aErrorCode, const char* aInfo, const char* aFileAndLine ) throw();
-
-    /**
-    *  Class Destructor.
-    */
-    OSN_IMPORT virtual ~AlfVisualException() throw();
-
-    /**
-    * Returns the description of the exception.
-    * @ret The description of the exception.
-    */
-    OSN_IMPORT virtual const char* what() const throw();
-    };
-    }
-
-#endif //ALFVISUALEXCEPTION_H_
-
-// End of File
--- a/mmuifw_plat/alf_widgetutils_api/inc/alf/alfwidgetexception.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* 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 exception
-*
-*/
-
-
-
-
-#ifndef ALFWIDGETEXCEPTION_H_
-#define ALFWIDGETEXCEPTION_H_
-
-#include <alf/alfexception.h>
-
-using namespace std;
-
-namespace osncore
-    {
-
-/**
- *  @class AlfWidgetException alfwidgetexception.h "alf/alfwidgetexception.h"
- *  Widget exception class.
- *
- *  @lib alfwidgetutils.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfWidgetException : public AlfException
-    {
-public:
-    /**
-    * Constructor.
-    * @param aErrorCode Error code
-    */
-    OSN_IMPORT AlfWidgetException( const int aErrorCode ) throw();
-
-    /**
-      * Constructor.
-      * @param aErrorCode Error code
-      * @param aInfo Optional additional information or NULL
-      * @param aFileAndLine Optional file and line information or NULL
-      */
-    OSN_IMPORT  AlfWidgetException(
-        int aErrorCode, const char* aInfo, const char* aFileAndLine ) throw();
-
-    /**
-    *  Class Destructor.
-    */
-    OSN_IMPORT virtual ~AlfWidgetException() throw();
-
-    /**
-    * Returns the description of the exception.
-    * @ret The description of the exception.
-    */
-    OSN_IMPORT virtual const char* what() const throw();
-    };
-
-    }
-
-#endif //ALFWIDGETEXCEPTION_H_
-
-// End of File
--- a/mmuifw_plat/alf_widgetutils_api/inc/alf/alfwidgetfactoryloader.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* 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:  Loads widget factory plugin
-*
-*/
-
-
-
-#ifndef I_ALFWIDGETFACTORYLOADER_H
-#define I_ALFWIDGETFACTORYLOADER_H
-
-#include <osn/osndefines.h>
-#include <memory>
-
-using namespace std;
-
-class CAlfEnv;
-
-namespace Alf
-    {
-class IAlfWidgetFactory;
-class AlfWidgetFactoryLoaderImpl;
-
-/**
- *  @class AlfWidgetFactoryLoader alfwidgetfactoryloader.h "alf/alfwidgetfactoryloader.h"
- *
- *  Factory plugin loader loads factory plugins. Loader will resolve factory 
- *  plugin based on given string and load factory which can create requested 
- *  product. Loader owns factory plugins. Factory products and their 
- *  derivatives must be destroyed before destroying a loader object.
- *
- *  @lib alfwidgetutils.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfWidgetFactoryLoader
-    {
-public:  // Constructors and destructor
-
-    /**
-     * Constructor.
-     *
-     * @exception std::bad_alloc Thrown if out of memory during the construction.
-     */
-    OSN_IMPORT AlfWidgetFactoryLoader();
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~AlfWidgetFactoryLoader();
-
-public:
-
-    /**
-     * Loads a widget factory.
-     * 
-     * @param aEnv Alfred Environment
-     * @return Pointer to IAlfWidgetFactory or 0. 
-     *         Ownership is not transferred to caller.
-     */
-    OSN_IMPORT IAlfWidgetFactory* loadWidgetFactory(CAlfEnv& aEnv);
-
-private:
-
-    /**
-     * Copy Constructor
-     */
-    AlfWidgetFactoryLoader( const AlfWidgetFactoryLoader& );
-
-    /**
-     * Assignment Operator
-     */
-    AlfWidgetFactoryLoader& operator=( const AlfWidgetFactoryLoader& );
-
-private:    // Data
-    auto_ptr<AlfWidgetFactoryLoaderImpl> mImpl;
-    };
-    }
-
-#endif
-
-// End of File
--- a/mmuifw_plat/alf_widgetutils_api/inc/alf/ialffactoryplugin.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* 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:  factory plugin interface.
-*
-*/
-
-
-
-#ifndef I_ALFFACTORYPLUGIN_H
-#define I_ALFFACTORYPLUGIN_H
-
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-
-namespace Alf
-    {
-
-namespace alffactoryplugin
-    {
-static const IfId ident=
-    {
-    0,"alffactoryplugin"
-    };
-    }
-
-/**
- *  @class IAlfFactoryPlugin ialffactoryplugin.h "alf/ialffactoryplugin.h"
- *  Base class for factory plugins.
- *
- *  @lib alfwidgetutils.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class IAlfFactoryPlugin : public IAlfInterfaceBase
-    {
-public:
-    static const IfId& type()
-        {
-        return alffactoryplugin::ident;
-        }
-public:
-    /**
-     * Create factory product.
-     * @param aProduct Product to create.
-     * @param aInitData Initialization data for product.
-     * @return Instance or 0.
-     */
-    virtual IAlfInterfaceBase* createProduct( 
-                                   const char* aProduct, void* aInitData ) = 0;
-
-    /**
-     * Count available products.
-     *
-     * @return Product count.
-     */
-    virtual int productCount() const = 0;
-
-    /**
-     * Fetch product info by index.
-     *
-     * @param aIndex List index.
-     * @return String describing product.
-     */
-    virtual const char* productInfo( int aIndex ) const = 0;
-
-    /**
-     * Destructor.
-     */
-    virtual ~IAlfFactoryPlugin() {};
-    };
-    }
-
-#endif
-
-// End of File
--- a/mmuifw_plat/alfexport.hrh	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* 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:  Defines export macros for internal APIs in uiaccelerator.
-*
-*/
-
-
-#ifndef ALFEXPORT_HRH
-#define ALFEXPORT_HRH
-
-#include <platform_paths.hrh>
-
-// Use this macro for exporting currently internal headers in uiaccelerator
-#define ALF_INTERNAL_EXPORT(header) ../inc/##header |../../##header
-
-#endif //ALFEXPORT_HRH
\ No newline at end of file
--- a/mmuifw_plat/gesturehelper_api/gesturehelper_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" ?>
-<api id="28cc48c68e52308ca0b81248e7a3c370" dataversion="1.0">
-<name>gesturehelper api</name>
-<description>API for gesture helper</description>
-<type>c++</type>
-<subsystem>gesturehelper</subsystem>
-<libs></libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/gesturehelper_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Build information 
-*
-*/
-
-#include <platform_paths.hrh>
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/gesturecontrol.h      MW_LAYER_PLATFORM_EXPORT_PATH(gesturecontrol.h)
-../inc/gesturehelper.h       MW_LAYER_PLATFORM_EXPORT_PATH(gesturehelper.h)
-../inc/gestureobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(gestureobserver.h)
--- a/mmuifw_plat/gesturehelper_api/inc/gesturecontrol.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* 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:  Gesture control
-*
-*/
-
-#ifndef _GESTURECONTROL_H_
-#define _GESTURECONTROL_H_
-
-#include <alf/alfcontrol.h>
-
-class CAlfEnv;
-class CAlfDisplay;
-
-namespace GestureHelper
-{
-
-class CGestureHelper;
-class MGestureObserver;
-
-/** 
- * Gesture control provides pointer event forwarding to gesture helper.
- * 
- * Gesture control can be created as
- *  - Stand-alone: This functionality is usable by clients that want to 
- *    capture pointer events from anywhere in the screen. For example, a view 
- *    that wants to know if user tapped anywhere on the screen could use this. 
- *  - Derived: client can use the forward-pointer-events-to-gesture-helper
- *    functionality by deriving from CGestureControl. Client has to create at 
- *    least one visual that captures pointer events. This base class will 
- *    receive the events and forward them to CGestureHelper.
- * 
- * The client can keep other widgets on top of this control, to allow them
- * priority of capturing the pointer events.
- */
-class CGestureControl : public CAlfControl
-    {
-public:
-    /** 
-     * Creates a stand-alone gesture control. 
-     * Creates a full screen visual that captures pointer events. Converts
-     * pointer events to gestures and calls back on aObserver.
-     * @param aFreeControlGroupId control group id that client does not use
-     */
-    IMPORT_C static CGestureControl* NewLC( MGestureObserver& aObserver,
-        CAlfEnv& aEnv, CAlfDisplay& aDisplay, TInt aFreeControlGroupId );
-    
-    /** Destructor */
-    IMPORT_C ~CGestureControl();
-    
-    // From CAlfControl
-    IMPORT_C TBool OfferEventL( const TAlfEvent& aEvent );
-    
-    /** @see CGestureHelper::SetHoldingEnabled */
-    IMPORT_C void SetHoldingEnabled( TBool aEnabled );
-    /** @see CGestureHelper::IsHoldingEnabled */
-    IMPORT_C TBool IsHoldingEnabled() const;    
-    /** @see CGestureHelper::SetDoubleTapEnabled */
-    IMPORT_C void SetDoubleTapEnabled( TBool aEnabled );
-    /** @see CGestureHelper::IsDoubleTapEnabled */
-    IMPORT_C TBool IsDoubleTapEnabled() const;
-        
-protected:
-    /** Constructor */
-    IMPORT_C CGestureControl();
-    
-    /**
-     * Deriving class is expected to create a visual to receive pointer events.
-     * This base class does not create a visual (unless creates via NewLC, i.e.,
-     * in that case this class is not derived from)
-     * @param aFreeControlGroupId control group id that client does not use
-     */
-    IMPORT_C void ConstructL( MGestureObserver& aObserver,
-        CAlfEnv& aEnv, CAlfDisplay& aDisplay, TInt aFreeControlGroupId );
-
-private:
-    /// Helper that provides gestures
-    CGestureHelper* iHelper;
-    };
-
-} // namespace GestureHelper
-
-#endif // _GESTURECONTROL_H_
--- a/mmuifw_plat/gesturehelper_api/inc/gesturehelper.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* 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:  Gesture helper interface
-*
-*/
-
-#ifndef _GESTUREHELPER_H_
-#define _GESTUREHELPER_H_
-
-#include <e32base.h>
-#include <gestureobserver.h>
-
-class CAlfEnv;
-class CAlfDisplay;
-class TAlfEvent;
-struct TPointerEvent;
-
-namespace GestureHelper
-{
-
-class CGestureHelperImpl;
-
-/** 
- * Gesture helper provides functionality to convert a stream of pointer events 
- * into a logical gesture, and to assist clients in calculation of gesture 
- * speed and distance.
- * 
- * Interfaces
- *  - CGestureHelper is a parser of pointer events. Recognises gestures from 
- *    a sequence of pointer events, and converts them to gesture commands. 
- *    For documentation of callbacks, see @ref MGestureObserver. 
- *  - MGestureObserver allows clients to get notified of gestures
- *  - MGestureEvent represents the gesture (event)
- */
-NONSHARABLE_CLASS( CGestureHelper ) : public CBase
-    {
-public:
-    /** 
-     * The helper is expected to be a member variable, hence NewLC is not provided 
-     */
-    IMPORT_C static CGestureHelper* NewL( MGestureObserver& aObserver );
-    
-    /** Destructor */
-    IMPORT_C ~CGestureHelper();
-
-    /**
-     * Specify whether the helper will send hold events. By default, holding is enabled.
-     * "Hold" means user has held stylus/finger on the same position for a longer duration.
-     * 
-     * Clients that require holding to be treated with no special meaning should disable 
-     * holding to simplify their event handling. 
-     * For example, assume the client uses swipe left/right to control navigation, and 
-     * holding is enabled. If user holds, the client gets hold left/right
-     * event, and no swipe event. If user now drags left or right while still pressing 
-     * stylus down, the client will not get a swipe event (since it already received a hold
-     * event). Upon release event, the client no reliable way of knowing whether the 
-     * user swiped left/right or cancelled the swipe. This problem is removed if the
-     * client simply disables holding. In the above scenario while holding disabled,
-     * the client would get only swipe events (and released event).
-     * (Swipe can be cancelled by dragging towards, but not beyond, the starting position.) 
-     */
-    IMPORT_C void SetHoldingEnabled( TBool aEnabled );
-    
-    /**
-     * @return whether sending hold events is currently enabled
-     * ("Hold" means user has held stylus/finger on the same position for a longer duration.)
-     */
-    IMPORT_C TBool IsHoldingEnabled() const;
-    
-    /**
-     * Enables/disables double tap support. Double tap is disabled by default.
-     * When double tap is disabled, gesture helper emits tap events immediately when
-     * user lifts stylus/finger. 
-     * When double tap is enabled, tap events are emitted after the double tap timeout passes. 
-     * The timeout is the maximum time within which the second tap will be treated 
-     * as a double tap. That is, there is a delay (sluggishness) before client receives 
-     * the tap event when double tap is enabled. 
-     * tap + timeout => tap event emitted after timeout
-     * tap + tap before timeout => double tap event emitted immediately after the second tap
-     * tap + swipe => tap + swipe events
-     * (tap + timeout + tap + timeout => two tap events)
-     */
-    IMPORT_C void SetDoubleTapEnabled( TBool aEnabled );
-
-    /**
-     * @return whether double tap is currently enabled. See SetDoubleTapEnabled
-     */
-    IMPORT_C TBool IsDoubleTapEnabled() const;
-    
-    /** 
-     * Initialise pointer capture for Alfred 
-     * This means that helper will receive drag events and pointer events that 
-     * go outside the original visual area
-     */
-    IMPORT_C void InitAlfredPointerCaptureL( CAlfEnv& aEnv, CAlfDisplay& aDisplay,
-        TInt aFreeControlGroupId );
-    
-    /** 
-     * Give a pointer event to the helper, to form a part of a gesture
-     * For AVKON-based client, this interface is the only option.
-     * Alfred-based client should use OfferEventL, as it allows gesture events to
-     * provider the visual on which the pointer event started.
-     * @param aEvent pointer event
-     * @return whether event was consumed or not
-     *         EFalse the event is not a pointer events and if pointer up/drag 
-     *				  event received without pointer down event
-     *         ETrue in all the other cases of pointer event 
-     */
-    IMPORT_C TBool HandlePointerEventL( const TPointerEvent& aEvent );
-    
-    /**
-     * Offer an Alf event. See HandlePointerEventL.
-     * @return whether event was consumed or not
-     *         EFalse the event is not a pointer events and if pointer up/drag 
-     *				  event received without pointer down event
-     *         ETrue in all the other cases of pointer event 
-     */
-    IMPORT_C TBool OfferEventL( const TAlfEvent& aEvent );
-    
-    /** 
-     * Cancel ongoing recognision. Purges all pointer events given earlier, and
-     * starts afresh. It is not necessary to call Cancel before deleting the object.
-     */
-    IMPORT_C void Cancel();
-    
-    /** 
-     * Adds a new observer to gesture helper events. Replaces any earlier observer.
-     * This is to allow sharing of gesture helper between different controls.
-     * The control which is currently shown (control that is on top of the roster) 
-     * will add as an observer and the earlier control which is now not in focus will
-     * automatically be removed as an observer.
-     *
-     * This API should be used only when the gesture helper is shared between more
-     * than one control. Gesture helper can be shared only among the controls within the same roster.
-     * Only required for alf based applications, not required for CCoeControl.
-     * 
-     */
-    IMPORT_C void AddObserver(MGestureObserver* aObserver);    
-        
-private:
-    /// interface implementation
-    CGestureHelperImpl* iImpl;
-    };
-
-} // namespace GestureHelper
-
-#endif // _GESTUREHELPER_H_
--- a/mmuifw_plat/gesturehelper_api/inc/gestureobserver.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-/*
-* Copyright (c) 2008-2008 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:  Gesture helper interface
-*
-*/
-
-#ifndef _GESTUREOBSERVER_H_
-#define _GESTUREOBSERVER_H_
-
-#include <e32std.h>
-
-class CAlfControl;
-class CAlfVisual;
-
-namespace GestureHelper
-{
-
-/// flag that indicates gesture code is a holding code
-/// clients should use MGestureEvent::IsHolding
-const TInt EFlagHold       = 0x10000000;
-
-enum TGestureCode
-    {
-    // states
-    EGestureStart          			= 0x00000001, // gesture just started (user pressed stylus down)
-    EGestureDrag           			= 0x00000002, // user moved stylus (may be holding or not holding)
-    EGestureReleased      		  = 0x00000003, // user lifted stylus while user was holding
-    // gestures
-    EGestureUnknown             = 0x00000005, // gesture was not recognised
-    // these codes are sent when user lifts stylus (if holding not started)
-    EGestureTap                 = 0x00000006,
-    EGestureDoubleTap           = 0x00000007, // only if double tap is enabled 
-                                         // (via CGestureHelper::SetDoubleTapEnabled or
-                                         // CGestureControl::SetDoubleTapEnabled)
-    EGestureSwipeLeft           = 0x00000008,
-    EGestureSwipeRight          = 0x00000009,
-    EGestureSwipeUp             = 0x0000000A,
-    EGestureSwipeDown           = 0x0000000B,
-    
-    // gestures related to advanced pointer events. These codes are sent if the platform supports advanced pointer events.
-    // states
-    EGestureMultiTouchStart     = 0x0000000C, // multitouch gesture just started (user touched 2nd finger down)
-    EGestureMultiTouchReleased  = 0x0000000D, // user released 2nd touch point while still holding the first touch point
-	  // gestures
-    EGesturePinch         		  = 0x0000000E, // This event is sent when the pinch is recognised for 
-    																		 // the first time or when the pinch distance is changing.
-    
-    // these codes are sent when user initiates holding by keeping stylus in
-    // same place for a longer duration
-    EGestureHoldLeft       = EGestureSwipeLeft  | EFlagHold,
-    EGestureHoldRight      = EGestureSwipeRight | EFlagHold,
-    EGestureHoldUp         = EGestureSwipeUp    | EFlagHold,
-    EGestureHoldDown       = EGestureSwipeDown  | EFlagHold
-    };
-
-/**
- * Point of float accuracy
- */
-NONSHARABLE_STRUCT( TRealPoint )
-    {
-    inline TRealPoint();
-    inline TRealPoint( const TRealPoint& aPoint );
-    inline TRealPoint( TReal aX, TReal aY );
-    inline TBool operator==( const TRealPoint& aPoint ) const;
-
-    TReal32 iX;
-    TReal32 iY;
-    };
-
-/**
- * a gesture event
- */
-class MGestureEvent
-    {
-public:
-    /** X and Y axes, or both */
-    enum TAxis
-        {
-        EAxisBoth,
-        EAxisHorizontal,
-        EAxisVertical
-        };
-
-public:
-    /**
-     * @param aRelevantAxis indicates whether only x, y or both coordinates 
-     *        should be considered when determining the code. For example,
-     *        if client specifies EAxisVertical as relevant axis, a swipe
-     *        to left and slightly up would result in an "swipe up" code,
-     *        and not "swipe left" code. If client specifies EAxisHorizontal
-     *        or EAxisBoth, "swipe left" code is returned.
-     * @return gesture code
-     */
-    virtual TGestureCode Code( TAxis aRelevantAxis ) const = 0;
-    
-    /** 
-     * @return ETrue if user has activated holding 
-     *         (by keeping stylus in the same position for longer time)
-     *         EFalse if holding has not been activated
-     */
-    virtual TBool IsHolding() const = 0;
-    
-    /** 
-     * @return position where gesture started, i.e., where stulys 
-     * was pressed down 
-     */
-    virtual TPoint StartPos() const = 0;
-    
-    /** 
-     * @return current position of the stylus
-     */
-    virtual TPoint CurrentPos() const = 0; 
-    
-    /** 
-     * @return speed of a swipe. unit is pixels per second.
-     */
-    virtual TRealPoint Speed() const = 0;
-    
-    /**
-     * Abstracts the algorithm to calculate speed during swipe and hold. This
-     * algorithm (currently) assumes that max speed is achieved at the edges of an
-     * area.
-     * @param aEdges represents the coordinates of the rectange on which speed is 
-     *               calculated. Speed will reach maximum if stylus is on the edge 
-     *               or beyond the rect. In practise, the value should match the
-     *               area of the layout that contains the scrollable visuals.
-     *               For example, if the control area is the whole screen, the
-     *               rect should be the screen rect.
-     * @returns the speed as a percentage between -100% and 100%
-     */
-    virtual TRealPoint SpeedPercent( const TRect& aEdges ) const = 0;
-    
-    /** 
-     * @return Length of gesture from starting position
-     *         (start pos - current pos)
-     */
-    virtual TPoint Distance() const = 0; 
-    
-    /**
-     * @return visual on which the gesture started
-     *         NULL if not known (e.g., AVKON-based client 
-     */
-    virtual CAlfVisual* Visual() const = 0;
-    
-    /**
-     * Pinch distance
-     *
-     * Used only for pinch. Returns 0 for other gestures. 
-     *
-     * @return The ratio of pinch end distance to pinch start distance * 100
-     * 				PinchPercent above 100 for zooming out and below hundred for zooming in
-     */
-    virtual TInt PinchPercent() const = 0;    
-    
-    /**
-     * Centre point of the two touch points
-     *
-     * Used only for pinch. Returns TPoint(0,0) for other gestures. 
-     *
-     * @return the centre point calculated using teh two touch down points
-     * This point will remian the same for one multitouch gesture start to end.
-     * This doesnt vary as the two points move away or closer.
-     */
-    virtual TPoint PinchCentrePoint() const = 0;   
-        
-    };
-    
-/** 
- * Observer that will be notified when user makes gestures
- */
-class MGestureObserver
-    {
-public:
-    /**
-     * Handle the gesture event
-     * @param aEvent event describing the gesture 
-     */
-    virtual void HandleGestureL( const MGestureEvent& aEvent ) = 0;
-    };
-
-/** 
- * static class for finding a visual from a visual tree
- */
-class HitTest
-    {
-public:
-    /** 
-     * @return the leaf-most visual is under aPos, or NULL if not found
-     */
-    IMPORT_C static CAlfVisual* VisualByCoordinates( const CAlfControl& aControl, 
-        const TPoint& aPos );
-    };
-    
-// ----------------------------------------------------------------------------
-// Default constructor for real point
-// ----------------------------------------------------------------------------
-//
-inline TRealPoint::TRealPoint()
-        : iX( 0 ), iY( 0 )
-    {    
-    }
-
-// ----------------------------------------------------------------------------
-// Copy constructor for real point
-// ----------------------------------------------------------------------------
-//
-inline TRealPoint::TRealPoint( const TRealPoint& aPoint )
-        : iX( aPoint.iX ), iY( aPoint.iY )
-    {    
-    }
-
-// ----------------------------------------------------------------------------
-// Copy constructor for real point
-// ----------------------------------------------------------------------------
-//
-inline TRealPoint::TRealPoint( TReal aX, TReal aY )
-        : iX( aX ), iY( aY )
-    {    
-    }
-
-// ----------------------------------------------------------------------------
-// Default constructor for real point
-// ----------------------------------------------------------------------------
-//
-inline TBool TRealPoint::operator==( const TRealPoint& aPoint ) const
-    {    
-    return iX == aPoint.iX && iY == aPoint.iY;
-    }
-
-    
-} // namespace GestureHelper
-
-#endif // _GESTUREOBSERVER_H_
--- a/mmuifw_plat/group/Doxyfile.txt	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1304 +0,0 @@
-# Doxyfile 1.5.2
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file that 
-# follow. The default is UTF-8 which is also the encoding used for all text before 
-# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into 
-# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of 
-# possible encodings.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = "UI Accelerator DeclarativeUi uimodel"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
-# This could be handy for archiving the generated documentation or 
-# if some version control system is used.
-
-PROJECT_NUMBER         = 
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
-# base path where the generated documentation will be put. 
-# If a relative path is entered, it will be relative to the location 
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = ../doc
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
-# 4096 sub-directories (in 2 levels) under the output directory of each output 
-# format and will distribute the generated files over these directories. 
-# Enabling this option can be useful when feeding doxygen a huge amount of 
-# source files, where putting all generated files in the same directory would 
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
-# documentation generated by doxygen is written. Doxygen will use this 
-# information to generate all constant output in the proper language. 
-# The default language is English, other supported languages are: 
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
-# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, 
-# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, 
-# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, 
-# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
-# include brief member descriptions after the members that are listed in 
-# the file and class documentation (similar to JavaDoc). 
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
-# the brief description of a member or function before the detailed description. 
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator 
-# that is used to form the text in various listings. Each string 
-# in this list, if found as the leading text of the brief description, will be 
-# stripped from the text and the result after processing the whole list, is 
-# used as the annotated text. Otherwise, the brief description is used as-is. 
-# If left blank, the following values are used ("$name" is automatically 
-# replaced with the name of the entity): "The $name class" "The $name widget" 
-# "The $name file" "is" "provides" "specifies" "contains" 
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
-# Doxygen will generate a detailed section even if there is only a brief 
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
-# inherited members of a class in the documentation of that class as if those 
-# members were ordinary class members. Constructors, destructors and assignment 
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
-# path before files name in the file list and in the header files. If set 
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
-# can be used to strip a user-defined part of the path. Stripping is 
-# only done if one of the specified strings matches the left-hand part of 
-# the path. The tag can be used to show relative paths in the file list. 
-# If left blank the directory from which doxygen is run is used as the 
-# path to strip.
-
-STRIP_FROM_PATH        = 
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
-# the path mentioned in the documentation of a class, which tells 
-# the reader which header file to include in order to use a class. 
-# If left blank only the name of the header file containing the class 
-# definition is used. Otherwise one should specify the include paths that 
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    = 
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
-# (but less readable) file names. This can be useful is your file systems 
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
-# will interpret the first line (until the first dot) of a JavaDoc-style 
-# comment as the brief description. If set to NO, the JavaDoc 
-# comments will behave just like the Qt-style comments (thus requiring an 
-# explicit @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF      = YES
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
-# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
-# comments) as a brief description. This used to be the default behaviour. 
-# The new default is to treat a multi-line C++ comment block as a detailed 
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member 
-# documentation.
-
-DETAILS_AT_TOP         = YES
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
-# member inherits the documentation from any documented member that it 
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
-# a new page for each member. If set to NO, the documentation of a member will 
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 4
-
-# This tag can be used to specify a number of aliases that acts 
-# as commands in the documentation. An alias has the form "name=value". 
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
-# put the command \sideeffect (or @sideeffect) in the documentation, which 
-# will result in a user-defined paragraph with heading "Side Effects:". 
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                = panic=@exception \
-                         leave=@exception \
-                         "internalTechnology=@par Internal technology" \
-                         "internalComponent=@par Internal component" \
-                         "internalAll=@par Internal all" \
-                         "publishedPartner=@par Published-partner" \
-                         "publishedAll=@par Published-all" \
-                         "prototype=@par Prototype" \
-                         "interim=@par Interim" \
-                         "released=@par Released" \
-                         "removed=@par Removed" \
-                         "test=@par Test" \
-                         "realtime=@par Realtime" \
-                         "status=@par Status:\n"\
-                         "attributes=@par Attributes: \n"\
-                         "interfaces=@par Interfaces: \n"\
-                         "lib=@par Library: \n"\
-                         "events=@par Events: \n"\
-                         "beginAPI=@name Exported API\n @{" \
-                         endAPI=@}
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
-# sources only. Doxygen will then generate output that is more tailored for C. 
-# For instance, some of the names that are used will be different. The list 
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
-# sources only. Doxygen will then generate output that is more tailored for Java. 
-# For instance, namespaces will be presented as packages, qualified scopes 
-# will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to 
-# include (a tag file for) the STL sources as input, then you should 
-# set this tag to YES in order to let doxygen match functions declarations and 
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
-# func(std::string) {}). This also make the inheritance and collaboration 
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT        = NO
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
-# tag is set to YES, then doxygen will reuse the documentation of the first 
-# member in the group (if any) for the other members of the group. By default 
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
-# the same type (for instance a group of public functions) to be put as a 
-# subgroup of that type (e.g. under the Public Functions section). Set it to 
-# NO to prevent subgrouping. Alternatively, this can be done per class using 
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
-# documentation are documented, even if no documentation was available. 
-# Private class members and static file members will be hidden unless 
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = YES
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file 
-# will be included in the documentation.
-
-EXTRACT_STATIC         = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
-# defined locally in source files will be included in the documentation. 
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local 
-# methods, which are defined in the implementation section but not in 
-# the interface are included in the documentation. 
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = YES
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
-# undocumented members of documented classes, files or namespaces. 
-# If set to NO (the default) these members will be included in the 
-# various overviews, but no documentation section is generated. 
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
-# undocumented classes that are normally visible in the class hierarchy. 
-# If set to NO (the default) these classes will be included in the various 
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
-# friend (class|struct|union) declarations. 
-# If set to NO (the default) these declarations will be included in the 
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
-# documentation blocks found inside the body of a function. 
-# If set to NO (the default) these blocks will be appended to the 
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation 
-# that is typed after a \internal command is included. If the tag is set 
-# to NO (the default) then the documentation will be excluded. 
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
-# file names in lower-case letters. If set to YES upper-case letters are also 
-# allowed. This is useful if you have classes or files whose names only differ 
-# in case and if your file system supports case sensitive file names. Windows 
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = NO
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
-# will show members with their full class and namespace scopes in the 
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
-# will put a list of the files that are included by a file in the documentation 
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
-# will sort the (detailed) documentation of file and class members 
-# alphabetically by member name. If set to NO the members will appear in 
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
-# brief documentation of file, namespace and class members alphabetically 
-# by member name. If set to NO (the default) the members will appear in 
-# declaration order.
-
-SORT_BRIEF_DOCS        = YES
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
-# sorted by fully-qualified names, including namespaces. If set to 
-# NO (the default), the class list will be sorted only by class name, 
-# not including the namespace part. 
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the 
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or 
-# disable (NO) the todo list. This list is created by putting \todo 
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or 
-# disable (NO) the test list. This list is created by putting \test 
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or 
-# disable (NO) the bug list. This list is created by putting \bug 
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
-# disable (NO) the deprecated list. This list is created by putting 
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional 
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       = 
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
-# the initial value of a variable or define consists of for it to appear in 
-# the documentation. If the initializer consists of more lines than specified 
-# here it will be hidden. Use a value of 0 to hide initializers completely. 
-# The appearance of the initializer of individual variables and defines in the 
-# documentation can be controlled using \showinitializer or \hideinitializer 
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
-# at the bottom of the documentation of classes and structs. If set to YES the 
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-# If the sources in your project are distributed over multiple directories 
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
-# doxygen should invoke to get the current version for each file (typically from the 
-# version control system). Doxygen will invoke the program by executing (via 
-# popen()) the command <command> <input-file>, where <command> is the value of 
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
-# provided by doxygen. Whatever the program writes to standard output 
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated 
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are 
-# generated by doxygen. Possible values are YES and NO. If left blank 
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
-# potential errors in the documentation, such as not documenting some 
-# parameters in a documented function, or documenting parameters that 
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for 
-# functions that are documented, but have no documentation for their parameters 
-# or return value. If set to NO (the default) doxygen will only warn about 
-# wrong or incomplete parameter documentation, but not about the absence of 
-# documentation.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that 
-# doxygen can produce. The string should contain the $file, $line, and $text 
-# tags, which will be replaced by the file and line number from which the 
-# warning originated and the warning text. Optionally the format may contain 
-# $version, which will be replaced by the version of the file (if it could 
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning 
-# and error messages should be written. If left blank the output is written 
-# to stderr.
-
-WARN_LOGFILE           = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain 
-# documented source files. You may enter file names like "myfile.cpp" or 
-# directories like "/usr/src/myproject". Separate the files or directories 
-# with spaces.
-
-INPUT                  = ../../inc/uimodel_iterator_api/inc/uimodel \
-INPUT                  = ../../inc/uimodel_node_api/inc/uimodel
-
-
-
-# This tag can be used to specify the character encoding of the source files that 
-# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default 
-# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the transcoding. 
-# See http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the 
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank the following patterns are tested: 
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
-
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cpp \
-                         *.h \
-                         *.inl \
-                         *.hh \
-                         *.hrh \
-                         *.dox
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
-# should be searched for input files as well. Possible values are YES and NO. 
-# If left blank NO is used.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should 
-# excluded from the INPUT source files. This way you can easily exclude a 
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                = 
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
-# directories that are symbolic links (a Unix filesystem feature) are excluded 
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the 
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
-# certain files from those directories. Note that the wildcards are matched 
-# against the file with absolute path, so to exclude all test directories 
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       = 
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
-# (namespaces, classes, functions, etc.) that should be excluded from the output. 
-# The symbol name can be a fully qualified name, a word, or if the wildcard * is used, 
-# a substring. Examples: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS        = 
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or 
-# directories that contain example code fragments that are included (see 
-# the \include command).
-
-EXAMPLE_PATH           = 
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank all files are included.
-
-EXAMPLE_PATTERNS       = 
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
-# searched for input files to be used with the \include or \dontinclude 
-# commands irrespective of the value of the RECURSIVE tag. 
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or 
-# directories that contain image that are included in the documentation (see 
-# the \image command).
-
-IMAGE_PATH             = 
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should 
-# invoke to filter for each input file. Doxygen will invoke the filter program 
-# by executing (via popen()) the command <filter> <input-file>, where <filter> 
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
-# input file. Doxygen will then use the output that the filter program writes 
-# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
-# ignored.
-
-INPUT_FILTER           = 
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
-# basis.  Doxygen will compare the file name with each pattern and apply the 
-# filter if there is a match.  The filters are a list of the form: 
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
-# is applied to all files.
-
-FILTER_PATTERNS        = 
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
-# INPUT_FILTER) will be used to filter the input files when producing source 
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
-# be generated. Documented entities will be cross-referenced with these sources. 
-# Note: To get rid of all source code in the generated output, make sure also 
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body 
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
-# doxygen to hide any special comment blocks from generated source code 
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
-# then for each documented function all documented 
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default) 
-# then for each documented function all documented entities 
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = YES
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.  Otherwise they will link to the documentstion.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code 
-# will point to the HTML generated by the htags(1) tool instead of doxygen 
-# built-in source browser. The htags tool is part of GNU's global source 
-# tagging system (see http://www.gnu.org/software/global/global.html). You 
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
-# will generate a verbatim copy of the header file for each class for 
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
-# of all compounds will be generated. Enable this if the project 
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 3
-
-# In case all classes in a project start with a common prefix, all 
-# classes will be put under the same header in the alphabetical index. 
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          = TAlf \
-                         SAlf \
-                         CAlf \
-                         RAlf \
-                         MAlf \
-                         IAlf \
-                         Alf
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
-# generate HTML output.
-
-GENERATE_HTML          = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = doxygen
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard header.
-
-HTML_HEADER            = 
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard footer.
-
-HTML_FOOTER            = 
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
-# style sheet that is used by each HTML page. It can be used to 
-# fine-tune the look of the HTML output. If the tag is left blank doxygen 
-# will generate a default style sheet. Note that doxygen will try to copy 
-# the style sheet file to the HTML output directory, so don't put your own 
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        = 
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
-# files or namespaces will be aligned in HTML using tables. If set to 
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
-# will be generated that can be used as input for tools like the 
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
-# be used to specify the file name of the resulting .chm file. You 
-# can add a path in front of the file if the result should not be 
-# written to the html output directory.
-
-CHM_FILE               = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
-# be used to specify the location (absolute path including file name) of 
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
-# controls if a separate .chi index file is generated (YES) or that 
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
-# controls whether a binary table of contents is generated (YES) or a 
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members 
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
-# top of each HTML page. The value NO (the default) enables the index and 
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# This tag can be used to set the number of enum values (range [1..20]) 
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that 
-# is generated for HTML Help). For this to work a browser that supports 
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
-# probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
-# used to set the initial width (in pixels) of the frame in which the tree 
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
-# generate Latex output.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
-# generate index for LaTeX. If left blank `makeindex' will be used as the 
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
-# LaTeX documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used 
-# by the printer. Possible values are: a4, a4wide, letter, legal and 
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         = 
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
-# the generated latex document. The header should contain everything until 
-# the first chapter. If it is left blank doxygen will generate a 
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           = 
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
-# contain links (just like the HTML output) instead of page references 
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
-# plain latex in the generated Makefile. Set this option to YES to get a 
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
-# command to the generated LaTeX files. This will instruct LaTeX to keep 
-# running if errors occur, instead of asking the user for help. 
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
-# include the index chapters (such as File Index, Compound Index, etc.) 
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
-# The RTF output is optimized for Word 97 and may not look very pretty with 
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
-# RTF documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
-# will contain hyperlink fields. The RTF file will 
-# contain links (just like the HTML output) instead of page references. 
-# This makes the output suitable for online browsing using WORD or other 
-# programs which support those fields. 
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's 
-# config file, i.e. a series of assignments. You only have to provide 
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    = 
-
-# Set optional variables used in the generation of an rtf document. 
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to 
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
-# then it will generate one additional man file for each entity 
-# documented in the real man page(s). These additional files 
-# only source the real man page, but without them the man command 
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will 
-# generate an XML file that captures the structure of 
-# the code including all documentation.
-
-GENERATE_XML           = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema, 
-# which can be used by a validating XML parser to check the 
-# syntax of the XML files.
-
-XML_SCHEMA             = 
-
-# The XML_DTD tag can be used to specify an XML DTD, 
-# which can be used by a validating XML parser to check the 
-# syntax of the XML files.
-
-XML_DTD                = 
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
-# dump the program listings (including syntax highlighting 
-# and cross-referencing information) to the XML output. Note that 
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
-# generate an AutoGen Definitions (see autogen.sf.net) file 
-# that captures the structure of the code including all 
-# documentation. Note that this feature is still experimental 
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
-# generate a Perl module file that captures the structure of 
-# the code including all documentation. Note that this 
-# feature is still experimental and incomplete at the 
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
-# nicely formatted so it can be parsed by a human reader.  This is useful 
-# if you want to understand what is going on.  On the other hand, if this 
-# tag is set to NO the size of the Perl module output will be much smaller 
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file 
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
-# This is useful so different doxyrules.make files included by the same 
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX = 
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
-# evaluate all C-preprocessor directives found in the sources and include 
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
-# names in the source code. If set to NO (the default) only conditional 
-# compilation will be performed. Macro expansion can be done in a controlled 
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = YES
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
-# then the macro expansion is limited to the macros specified with the 
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = YES
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that 
-# contain include files that are not input files but should be processed by 
-# the preprocessor.
-
-INCLUDE_PATH           = 
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
-# patterns (like *.h and *.hpp) to filter out the header-files in the 
-# directories. If left blank, the patterns specified with FILE_PATTERNS will 
-# be used.
-
-INCLUDE_FILE_PATTERNS  = 
-
-# The PREDEFINED tag can be used to specify one or more macro names that 
-# are defined before the preprocessor is started (similar to the -D option of 
-# gcc). The argument of the tag is a list of macros of the form: name 
-# or name=definition (no spaces). If the definition and the = are 
-# omitted =1 is assumed. To prevent a macro definition from being 
-# undefined via #undef or recursively expanded use the := operator 
-# instead of the = operator.
-
-PREDEFINED             = "NONSHARABLE_CLASS(name)=class name" \
-                         "OSN_NONSHARABLE_CLASS(name)=class name" \
-                         "_LIT(name,string)=const static TLitC<sizeof(L##string)/2> name={sizeof(L##string)/2-1,L##string}"
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
-# this tag can be used to specify a list of macro names that should be expanded. 
-# The macro definition that is found in the sources will be used. 
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED      = 
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
-# doxygen's preprocessor will remove all function-like macros that are alone 
-# on a line, have an all uppercase name, and do not end with a semicolon. Such 
-# function macros are typically used for boiler-plate code, and will confuse 
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles. 
-# Optionally an initial location of the external documentation 
-# can be added for each tagfile. The format of a tag file without 
-# this location is as follows: 
-#   TAGFILES = file1 file2 ... 
-# Adding location for the tag files is done as follows: 
-#   TAGFILES = file1=loc1 "file2 = loc2" ... 
-# where "loc1" and "loc2" can be relative or absolute paths or 
-# URLs. If a location is present for each tag, the installdox tool 
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen 
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               = 
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       = 
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
-# in the class index. If set to NO only the inherited external classes 
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
-# in the modules index. If set to NO, only the current project's groups will 
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script 
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
-# or super classes. Setting the tag to NO turns the diagrams off. Note that 
-# this option is superseded by the HAVE_DOT option below. This is only a 
-# fallback. It is recommended to install and use dot, since it yields more 
-# powerful graphs.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc 
-# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to 
-# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to 
-# specify the directory where the mscgen tool resides. If left empty the tool is assumed to 
-# be found in the default search path.
-
-MSCGEN_PATH            = 
-
-# If set to YES, the inheritance and collaboration graphs will hide 
-# inheritance and usage relations if the target is undocumented 
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
-# available from the path. This tool is part of Graphviz, a graph visualization 
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = NO
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect inheritance relations. Setting this tag to YES will force the 
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect implementation dependencies (inheritance, containment, and 
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = NO
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
-# collaboration diagrams in a style similar to the OMG's Unified Modeling 
-# Language.
-
-UML_LOOK               = YES
-
-# If set to YES, the inheritance and collaboration graphs will show the 
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
-# tags are set to YES then doxygen will generate a graph for each documented 
-# file showing the direct and indirect include dependencies of the file with 
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
-# documented header file showing the documented files that directly or 
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
-# generate a call dependency graph for every global function or class method. 
-# Note that enabling this option will significantly increase the time of a run. 
-# So in most cases it will be better to enable call graphs for selected 
-# functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
-# generate a caller dependency graph for every global function or class method. 
-# Note that enabling this option will significantly increase the time of a run. 
-# So in most cases it will be better to enable caller graphs for selected 
-# functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES 
-# then doxygen will show the dependencies a directory has on other directories 
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be 
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               = 
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that 
-# contain dot files that are included in the documentation (see the 
-# \dotfile command).
-
-DOTFILE_DIRS           = 
-
-# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
-# nodes that will be shown in the graph. If the number of nodes in a graph 
-# becomes larger than this value, doxygen will truncate the graph, which is 
-# visualized by representing a node as a red box. Note that doxygen will always 
-# show the root nodes and its direct children regardless of this setting.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
-# background. This is disabled by default, which results in a white background. 
-# Warning: Depending on the platform used, enabling this option may lead to 
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to 
-# read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
-# files in one run (i.e. multiple -o and -T options on the command line). This 
-# makes dot run faster, but since only newer versions of dot (>1.8.10) 
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = NO
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
-# generate a legend page explaining the meaning of the various boxes and 
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
-# remove the intermediate dot files that are used to generate 
-# the various graphs.
-
-DOT_CLEANUP            = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be 
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE           = NO
--- a/mmuifw_plat/group/Doxyfile_osn.txt	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1298 +0,0 @@
-# Doxyfile 1.5.2
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file that 
-# follow. The default is UTF-8 which is also the encoding used for all text before 
-# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into 
-# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of 
-# possible encodings.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = "UI Accelerator Toolkit Operating System Neutrality Layer"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
-# This could be handy for archiving the generated documentation or 
-# if some version control system is used.
-
-PROJECT_NUMBER         = 
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
-# base path where the generated documentation will be put. 
-# If a relative path is entered, it will be relative to the location 
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = ../osn_apidoc
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
-# 4096 sub-directories (in 2 levels) under the output directory of each output 
-# format and will distribute the generated files over these directories. 
-# Enabling this option can be useful when feeding doxygen a huge amount of 
-# source files, where putting all generated files in the same directory would 
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
-# documentation generated by doxygen is written. Doxygen will use this 
-# information to generate all constant output in the proper language. 
-# The default language is English, other supported languages are: 
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
-# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, 
-# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, 
-# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, 
-# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
-# include brief member descriptions after the members that are listed in 
-# the file and class documentation (similar to JavaDoc). 
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
-# the brief description of a member or function before the detailed description. 
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator 
-# that is used to form the text in various listings. Each string 
-# in this list, if found as the leading text of the brief description, will be 
-# stripped from the text and the result after processing the whole list, is 
-# used as the annotated text. Otherwise, the brief description is used as-is. 
-# If left blank, the following values are used ("$name" is automatically 
-# replaced with the name of the entity): "The $name class" "The $name widget" 
-# "The $name file" "is" "provides" "specifies" "contains" 
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
-# Doxygen will generate a detailed section even if there is only a brief 
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
-# inherited members of a class in the documentation of that class as if those 
-# members were ordinary class members. Constructors, destructors and assignment 
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
-# path before files name in the file list and in the header files. If set 
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
-# can be used to strip a user-defined part of the path. Stripping is 
-# only done if one of the specified strings matches the left-hand part of 
-# the path. The tag can be used to show relative paths in the file list. 
-# If left blank the directory from which doxygen is run is used as the 
-# path to strip.
-
-STRIP_FROM_PATH        = 
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
-# the path mentioned in the documentation of a class, which tells 
-# the reader which header file to include in order to use a class. 
-# If left blank only the name of the header file containing the class 
-# definition is used. Otherwise one should specify the include paths that 
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    = 
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
-# (but less readable) file names. This can be useful is your file systems 
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
-# will interpret the first line (until the first dot) of a JavaDoc-style 
-# comment as the brief description. If set to NO, the JavaDoc 
-# comments will behave just like the Qt-style comments (thus requiring an 
-# explicit @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF      = YES
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
-# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
-# comments) as a brief description. This used to be the default behaviour. 
-# The new default is to treat a multi-line C++ comment block as a detailed 
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member 
-# documentation.
-
-DETAILS_AT_TOP         = YES
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
-# member inherits the documentation from any documented member that it 
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
-# a new page for each member. If set to NO, the documentation of a member will 
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 4
-
-# This tag can be used to specify a number of aliases that acts 
-# as commands in the documentation. An alias has the form "name=value". 
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
-# put the command \sideeffect (or @sideeffect) in the documentation, which 
-# will result in a user-defined paragraph with heading "Side Effects:". 
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                = panic=@exception \
-                         leave=@exception \
-                         "internalTechnology=@par Internal technology" \
-                         "internalComponent=@par Internal component" \
-                         "internalAll=@par Internal all" \
-                         "publishedPartner=@par Published-partner" \
-                         "publishedAll=@par Published-all" \
-                         "prototype=@par Prototype" \
-                         "interim=@par Interim" \
-                         "released=@par Released" \
-                         "removed=@par Removed" \
-                         "test=@par Test" \
-                         "realtime=@par Realtime" \
-                         "beginAPI=@name Exported API\n @{" \
-                         endAPI=@}
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
-# sources only. Doxygen will then generate output that is more tailored for C. 
-# For instance, some of the names that are used will be different. The list 
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
-# sources only. Doxygen will then generate output that is more tailored for Java. 
-# For instance, namespaces will be presented as packages, qualified scopes 
-# will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to 
-# include (a tag file for) the STL sources as input, then you should 
-# set this tag to YES in order to let doxygen match functions declarations and 
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
-# func(std::string) {}). This also make the inheritance and collaboration 
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT        = NO
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
-# tag is set to YES, then doxygen will reuse the documentation of the first 
-# member in the group (if any) for the other members of the group. By default 
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
-# the same type (for instance a group of public functions) to be put as a 
-# subgroup of that type (e.g. under the Public Functions section). Set it to 
-# NO to prevent subgrouping. Alternatively, this can be done per class using 
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
-# documentation are documented, even if no documentation was available. 
-# Private class members and static file members will be hidden unless 
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = YES
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file 
-# will be included in the documentation.
-
-EXTRACT_STATIC         = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
-# defined locally in source files will be included in the documentation. 
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local 
-# methods, which are defined in the implementation section but not in 
-# the interface are included in the documentation. 
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = YES
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
-# undocumented members of documented classes, files or namespaces. 
-# If set to NO (the default) these members will be included in the 
-# various overviews, but no documentation section is generated. 
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
-# undocumented classes that are normally visible in the class hierarchy. 
-# If set to NO (the default) these classes will be included in the various 
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
-# friend (class|struct|union) declarations. 
-# If set to NO (the default) these declarations will be included in the 
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
-# documentation blocks found inside the body of a function. 
-# If set to NO (the default) these blocks will be appended to the 
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation 
-# that is typed after a \internal command is included. If the tag is set 
-# to NO (the default) then the documentation will be excluded. 
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
-# file names in lower-case letters. If set to YES upper-case letters are also 
-# allowed. This is useful if you have classes or files whose names only differ 
-# in case and if your file system supports case sensitive file names. Windows 
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = NO
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
-# will show members with their full class and namespace scopes in the 
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
-# will put a list of the files that are included by a file in the documentation 
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
-# will sort the (detailed) documentation of file and class members 
-# alphabetically by member name. If set to NO the members will appear in 
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
-# brief documentation of file, namespace and class members alphabetically 
-# by member name. If set to NO (the default) the members will appear in 
-# declaration order.
-
-SORT_BRIEF_DOCS        = YES
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
-# sorted by fully-qualified names, including namespaces. If set to 
-# NO (the default), the class list will be sorted only by class name, 
-# not including the namespace part. 
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the 
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or 
-# disable (NO) the todo list. This list is created by putting \todo 
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or 
-# disable (NO) the test list. This list is created by putting \test 
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or 
-# disable (NO) the bug list. This list is created by putting \bug 
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
-# disable (NO) the deprecated list. This list is created by putting 
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional 
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       = 
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
-# the initial value of a variable or define consists of for it to appear in 
-# the documentation. If the initializer consists of more lines than specified 
-# here it will be hidden. Use a value of 0 to hide initializers completely. 
-# The appearance of the initializer of individual variables and defines in the 
-# documentation can be controlled using \showinitializer or \hideinitializer 
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
-# at the bottom of the documentation of classes and structs. If set to YES the 
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-# If the sources in your project are distributed over multiple directories 
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
-# doxygen should invoke to get the current version for each file (typically from the 
-# version control system). Doxygen will invoke the program by executing (via 
-# popen()) the command <command> <input-file>, where <command> is the value of 
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
-# provided by doxygen. Whatever the program writes to standard output 
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated 
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are 
-# generated by doxygen. Possible values are YES and NO. If left blank 
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
-# potential errors in the documentation, such as not documenting some 
-# parameters in a documented function, or documenting parameters that 
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for 
-# functions that are documented, but have no documentation for their parameters 
-# or return value. If set to NO (the default) doxygen will only warn about 
-# wrong or incomplete parameter documentation, but not about the absence of 
-# documentation.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that 
-# doxygen can produce. The string should contain the $file, $line, and $text 
-# tags, which will be replaced by the file and line number from which the 
-# warning originated and the warning text. Optionally the format may contain 
-# $version, which will be replaced by the version of the file (if it could 
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning 
-# and error messages should be written. If left blank the output is written 
-# to stderr.
-
-WARN_LOGFILE           = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain 
-# documented source files. You may enter file names like "myfile.cpp" or 
-# directories like "/usr/src/myproject". Separate the files or directories 
-# with spaces.
-
-INPUT                  = ../osn_container_api/inc/osn \
-                         ../osn_exception_api/inc/osn \
-                         ../osn_global_api/inc/osn \
-                         ../osn_smartpointer_api/inc/osn \
-                         ../osn_string_api/inc/osn
-
-# This tag can be used to specify the character encoding of the source files that 
-# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default 
-# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the transcoding. 
-# See http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the 
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank the following patterns are tested: 
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
-
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cpp \
-                         *.h \
-                         *.inl \
-                         *.hh \
-                         *.hrh \
-                         *.dox
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
-# should be searched for input files as well. Possible values are YES and NO. 
-# If left blank NO is used.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should 
-# excluded from the INPUT source files. This way you can easily exclude a 
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                = 
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
-# directories that are symbolic links (a Unix filesystem feature) are excluded 
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the 
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
-# certain files from those directories. Note that the wildcards are matched 
-# against the file with absolute path, so to exclude all test directories 
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       = 
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
-# (namespaces, classes, functions, etc.) that should be excluded from the output. 
-# The symbol name can be a fully qualified name, a word, or if the wildcard * is used, 
-# a substring. Examples: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS        = 
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or 
-# directories that contain example code fragments that are included (see 
-# the \include command).
-
-EXAMPLE_PATH           = 
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank all files are included.
-
-EXAMPLE_PATTERNS       = 
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
-# searched for input files to be used with the \include or \dontinclude 
-# commands irrespective of the value of the RECURSIVE tag. 
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or 
-# directories that contain image that are included in the documentation (see 
-# the \image command).
-
-IMAGE_PATH             = 
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should 
-# invoke to filter for each input file. Doxygen will invoke the filter program 
-# by executing (via popen()) the command <filter> <input-file>, where <filter> 
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
-# input file. Doxygen will then use the output that the filter program writes 
-# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
-# ignored.
-
-INPUT_FILTER           = 
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
-# basis.  Doxygen will compare the file name with each pattern and apply the 
-# filter if there is a match.  The filters are a list of the form: 
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
-# is applied to all files.
-
-FILTER_PATTERNS        = 
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
-# INPUT_FILTER) will be used to filter the input files when producing source 
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
-# be generated. Documented entities will be cross-referenced with these sources. 
-# Note: To get rid of all source code in the generated output, make sure also 
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body 
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
-# doxygen to hide any special comment blocks from generated source code 
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
-# then for each documented function all documented 
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default) 
-# then for each documented function all documented entities 
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = YES
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.  Otherwise they will link to the documentstion.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code 
-# will point to the HTML generated by the htags(1) tool instead of doxygen 
-# built-in source browser. The htags tool is part of GNU's global source 
-# tagging system (see http://www.gnu.org/software/global/global.html). You 
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
-# will generate a verbatim copy of the header file for each class for 
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
-# of all compounds will be generated. Enable this if the project 
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 3
-
-# In case all classes in a project start with a common prefix, all 
-# classes will be put under the same header in the alphabetical index. 
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          = TAlf \
-                         SAlf \
-                         CAlf \
-                         RAlf \
-                         MAlf \
-                         Alf
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
-# generate HTML output.
-
-GENERATE_HTML          = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard header.
-
-HTML_HEADER            = 
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard footer.
-
-HTML_FOOTER            = 
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
-# style sheet that is used by each HTML page. It can be used to 
-# fine-tune the look of the HTML output. If the tag is left blank doxygen 
-# will generate a default style sheet. Note that doxygen will try to copy 
-# the style sheet file to the HTML output directory, so don't put your own 
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        = 
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
-# files or namespaces will be aligned in HTML using tables. If set to 
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
-# will be generated that can be used as input for tools like the 
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
-# be used to specify the file name of the resulting .chm file. You 
-# can add a path in front of the file if the result should not be 
-# written to the html output directory.
-
-CHM_FILE               = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
-# be used to specify the location (absolute path including file name) of 
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
-# controls if a separate .chi index file is generated (YES) or that 
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
-# controls whether a binary table of contents is generated (YES) or a 
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members 
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
-# top of each HTML page. The value NO (the default) enables the index and 
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# This tag can be used to set the number of enum values (range [1..20]) 
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that 
-# is generated for HTML Help). For this to work a browser that supports 
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
-# probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
-# used to set the initial width (in pixels) of the frame in which the tree 
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
-# generate Latex output.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
-# generate index for LaTeX. If left blank `makeindex' will be used as the 
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
-# LaTeX documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used 
-# by the printer. Possible values are: a4, a4wide, letter, legal and 
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         = 
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
-# the generated latex document. The header should contain everything until 
-# the first chapter. If it is left blank doxygen will generate a 
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           = 
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
-# contain links (just like the HTML output) instead of page references 
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
-# plain latex in the generated Makefile. Set this option to YES to get a 
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
-# command to the generated LaTeX files. This will instruct LaTeX to keep 
-# running if errors occur, instead of asking the user for help. 
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
-# include the index chapters (such as File Index, Compound Index, etc.) 
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
-# The RTF output is optimized for Word 97 and may not look very pretty with 
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
-# RTF documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
-# will contain hyperlink fields. The RTF file will 
-# contain links (just like the HTML output) instead of page references. 
-# This makes the output suitable for online browsing using WORD or other 
-# programs which support those fields. 
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's 
-# config file, i.e. a series of assignments. You only have to provide 
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    = 
-
-# Set optional variables used in the generation of an rtf document. 
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to 
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
-# then it will generate one additional man file for each entity 
-# documented in the real man page(s). These additional files 
-# only source the real man page, but without them the man command 
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will 
-# generate an XML file that captures the structure of 
-# the code including all documentation.
-
-GENERATE_XML           = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema, 
-# which can be used by a validating XML parser to check the 
-# syntax of the XML files.
-
-XML_SCHEMA             = 
-
-# The XML_DTD tag can be used to specify an XML DTD, 
-# which can be used by a validating XML parser to check the 
-# syntax of the XML files.
-
-XML_DTD                = 
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
-# dump the program listings (including syntax highlighting 
-# and cross-referencing information) to the XML output. Note that 
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
-# generate an AutoGen Definitions (see autogen.sf.net) file 
-# that captures the structure of the code including all 
-# documentation. Note that this feature is still experimental 
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
-# generate a Perl module file that captures the structure of 
-# the code including all documentation. Note that this 
-# feature is still experimental and incomplete at the 
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
-# nicely formatted so it can be parsed by a human reader.  This is useful 
-# if you want to understand what is going on.  On the other hand, if this 
-# tag is set to NO the size of the Perl module output will be much smaller 
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file 
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
-# This is useful so different doxyrules.make files included by the same 
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX = 
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
-# evaluate all C-preprocessor directives found in the sources and include 
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
-# names in the source code. If set to NO (the default) only conditional 
-# compilation will be performed. Macro expansion can be done in a controlled 
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = YES
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
-# then the macro expansion is limited to the macros specified with the 
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = YES
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that 
-# contain include files that are not input files but should be processed by 
-# the preprocessor.
-
-INCLUDE_PATH           = 
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
-# patterns (like *.h and *.hpp) to filter out the header-files in the 
-# directories. If left blank, the patterns specified with FILE_PATTERNS will 
-# be used.
-
-INCLUDE_FILE_PATTERNS  = 
-
-# The PREDEFINED tag can be used to specify one or more macro names that 
-# are defined before the preprocessor is started (similar to the -D option of 
-# gcc). The argument of the tag is a list of macros of the form: name 
-# or name=definition (no spaces). If the definition and the = are 
-# omitted =1 is assumed. To prevent a macro definition from being 
-# undefined via #undef or recursively expanded use the := operator 
-# instead of the = operator.
-
-PREDEFINED             = "NONSHARABLE_CLASS(name)=class name" \
-                         "_LIT(name,string)=const static TLitC<sizeof(L##string)/2> name={sizeof(L##string)/2-1,L##string}"
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
-# this tag can be used to specify a list of macro names that should be expanded. 
-# The macro definition that is found in the sources will be used. 
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED      = 
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
-# doxygen's preprocessor will remove all function-like macros that are alone 
-# on a line, have an all uppercase name, and do not end with a semicolon. Such 
-# function macros are typically used for boiler-plate code, and will confuse 
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles. 
-# Optionally an initial location of the external documentation 
-# can be added for each tagfile. The format of a tag file without 
-# this location is as follows: 
-#   TAGFILES = file1 file2 ... 
-# Adding location for the tag files is done as follows: 
-#   TAGFILES = file1=loc1 "file2 = loc2" ... 
-# where "loc1" and "loc2" can be relative or absolute paths or 
-# URLs. If a location is present for each tag, the installdox tool 
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen 
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               = 
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       = 
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
-# in the class index. If set to NO only the inherited external classes 
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
-# in the modules index. If set to NO, only the current project's groups will 
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script 
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
-# or super classes. Setting the tag to NO turns the diagrams off. Note that 
-# this option is superseded by the HAVE_DOT option below. This is only a 
-# fallback. It is recommended to install and use dot, since it yields more 
-# powerful graphs.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc 
-# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to 
-# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to 
-# specify the directory where the mscgen tool resides. If left empty the tool is assumed to 
-# be found in the default search path.
-
-MSCGEN_PATH            = 
-
-# If set to YES, the inheritance and collaboration graphs will hide 
-# inheritance and usage relations if the target is undocumented 
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
-# available from the path. This tool is part of Graphviz, a graph visualization 
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = NO
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect inheritance relations. Setting this tag to YES will force the 
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect implementation dependencies (inheritance, containment, and 
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = NO
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
-# collaboration diagrams in a style similar to the OMG's Unified Modeling 
-# Language.
-
-UML_LOOK               = YES
-
-# If set to YES, the inheritance and collaboration graphs will show the 
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
-# tags are set to YES then doxygen will generate a graph for each documented 
-# file showing the direct and indirect include dependencies of the file with 
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
-# documented header file showing the documented files that directly or 
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
-# generate a call dependency graph for every global function or class method. 
-# Note that enabling this option will significantly increase the time of a run. 
-# So in most cases it will be better to enable call graphs for selected 
-# functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
-# generate a caller dependency graph for every global function or class method. 
-# Note that enabling this option will significantly increase the time of a run. 
-# So in most cases it will be better to enable caller graphs for selected 
-# functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES 
-# then doxygen will show the dependencies a directory has on other directories 
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be 
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               = 
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that 
-# contain dot files that are included in the documentation (see the 
-# \dotfile command).
-
-DOTFILE_DIRS           = 
-
-# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
-# nodes that will be shown in the graph. If the number of nodes in a graph 
-# becomes larger than this value, doxygen will truncate the graph, which is 
-# visualized by representing a node as a red box. Note that doxygen will always 
-# show the root nodes and its direct children regardless of this setting.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
-# background. This is disabled by default, which results in a white background. 
-# Warning: Depending on the platform used, enabling this option may lead to 
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to 
-# read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
-# files in one run (i.e. multiple -o and -T options on the command line). This 
-# makes dot run faster, but since only newer versions of dot (>1.8.10) 
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = NO
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
-# generate a legend page explaining the meaning of the various boxes and 
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
-# remove the intermediate dot files that are used to generate 
-# the various graphs.
-
-DOT_CLEANUP            = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be 
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE           = NO
--- a/mmuifw_plat/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Includes all the Domain API specific bld.inf files, which 
-*                export files.
-*
-*/
-
-
-
-#include "../alf_widgetfactory_api/group/bld.inf"
-#include "../alf_widgetutils_api/group/bld.inf"
-#include "../alf_widgetmodel_api/group/bld.inf"
-#include "../osn_container_api/group/bld.inf"
-#include "../osn_global_api/group/bld.inf"
-#include "../osn_string_api/group/bld.inf"
-
-//resource pool
-#include "../alf_resourcepool_api/group/bld.inf"
-
-// widget APIs
-#include "../alf_containerwidget_api/group/bld.inf"
-#include "../alf_viewwidget_api/group/bld.inf"
-#include "../alf_scrollbarwidget_api/group/bld.inf"
-
-#include "../alf_customlayoutmanagers_api/group/bld.inf"
-
-// gesture helper Api's
-#include "../gesturehelper_api/group/bld.inf"
-
-// MUL headers
-#include "../mul_coverflowwidget_api/group/bld.inf"
-#include "../mul_datamodel_api/group/bld.inf"
-#include "../mul_sliderwidget_api/group/bld.inf"
-#include "../mul_widget_api/group/bld.inf"
-
--- a/mmuifw_plat/mul_coverflowwidget_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2006 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:  File that exports the files belonging to 
-:                coverflow widget API
-*
-*/
-
-#include <platform_paths.hrh>
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-../inc/mul/imulcoverflowwidget.h   MW_LAYER_PLATFORM_EXPORT_PATH(mul/imulcoverflowwidget.h)
-
-
-
--- a/mmuifw_plat/mul_coverflowwidget_api/inc/mul/imulcoverflowwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
-* 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:  The interface class for all Multimedia UI Library Cover Flow Widgets.
- *
-*/
-
-#ifndef I_MULCOVERFLOWWIDGET_H
-#define I_MULCOVERFLOWWIDGET_H
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alftypes.h>
-#include <mul/imulmultiitemwidget.h>
-#include <gdi.h>
-#include <AknsItemID.h>
-
-//Gesture Helper namespace 
-namespace GestureHelper
-    {
-    class CGestureHelper;
-    }
-    
-namespace Alf
-	{
-	namespace mulcoverflowwidget
-	    {
-	    static const IfId Ident=
-	    	{
-	    	0, "mulcoverflowwidget"
-	        };      
-		}
-
-	/**
-	 *  An interface for Multimedia coverflow Widget.
-	 *  Widgets consist of control and visualization elements.
-	 * 	
-	 *	Interface paradigm would be used in a restrictive way.
-	 *  Controls are owned by Alfred environment.
-	 *  Widgets can be constructed using the widget factory.
-	 *  Widgets are owned and accessed using the Alfred
-	 *  environment.
-	 *
-	 *  @lib mulcoverflowwidget.lib
-	 */
-    class IMulCoverFlowWidget : public IMulMultiItemWidget
-    	{
-    public:
-
-		/**
-		 * Getter for the type identifier of this interface.
-		 *
-		 * @return A descriptor to identify the type of this interface.
-		 **/
-        static inline const IfId& Type()
-        	{
-        	return mulcoverflowwidget::Ident;
-        	}
-		
-        /**
-         * Setting color as background of the coverflow.
-         * The API should be used in the case when the background type doesn't 
-         * comes along with any extra data. This API should be used when the 
-         * background has to set to Black, White or any other color
-         *
-         * @param aColor RGB color
-         *
-         * <B>Examples:</b>
-         * @code
-         * Set background of the coverflow as red color.
-         *
-         *     mCoverFlowWidget->SetBackground( KRgbRed );
-         * @endcode
-         **/ 
-        virtual void SetBackground( const TRgb& aColor ) = 0;
-
-        /**
-         * Setting Skin id as background of the coverflow.
-         * The API should be used in the case when the background of
-         * Coverflow should come from skin data.
-         *
-         * @param aItemID Skin ID.
-         *
-         * <B>Examples:</b>
-         * @code
-         * Set background of the coverflow as a texture.
-         *
-         *     mCoverFlowWidget->SetBackground( KAknsIIDQsnBgScreenIdle );
-         * 
-         * @endcode
-         **/ 
-        virtual  void SetBackground(const TAknsItemID& aItemID ) = 0;
-        
-		/**
-		 * Setting UIOnOff mode in template4 of the coverflow.
-		 * The API should be in template 4 to hide or show counter as per UI ON/OFF mode.
-		 *
-		 * @param aUIOn true if UIOn mode and counter to be displayed, else false for UIOff.
-		 * @param aTransition transition time to show or hide counter.
-
-		 * <B>Examples:</b>
-		 * @code
-		 * Set UiOnOff mode in coverflow widget. 
-		 *
-		 *     mCoverFlowWidget->SetUIOnOFF( true, 100 );
-		 * 
-		 * @endcode
-		 **/
-        virtual  void SetUIMode(bool aUIOn = false, int aTransition = 0 ) = 0;  
-        
-		/**
-		 * Rotate the highlight image
-		 * The API is supported in template 4(fullscreen templet) to rotate the highlight image as per the 
-		 * direction specified in the param.
-		 * This will rotate the image 90 degree on left or right side.
-		 *
-		 * @param aDirection, Direction of the rotation (ERotateLeft/ERotateRight).
-		 * @param aImageSize, The actual size of the current highlighted image.
-		 * @param aTransition transition time to rotate the image.
-
-		 * <B>Examples:</b>
-		 * @code
-		 * Rotate the highlight image of the coverflow widget. 
-		 *
-		 *     mCoverFlowWidget->RotateImage( IMulWidget::ERotateLeft,TSize(500,400),100 );
-		 * 
-		 * @endcode
-		 **/
-        virtual  void RotateImage(TMulRotation aDirection ,TSize aImageSize,int aAnimationTime) = 0;     
-        
-		/**
-		 * Returns the gesture helper used in coverflow.
-		 * This API is required for sharing the gesture helper between the widget and application.
-		 * The ownership of the gesture helper lies with the widget.
-		 *
-		 * @return CGestureHelper Instance of gesture helper created by the widget.
-
-		 * <B>Examples:</b>
-		 * @code
-		 * Query the gesture helper and use it in application
-		 *
-		 *     CGestureHelper* gestureInstance = mCoverFlowWidget->Gesturehelper();
-		 *     gestureInstance->addObserver(*this);
-		 * 
-		 * @endcode
-		 **/
-        virtual  GestureHelper::CGestureHelper* Gesturehelper() = 0;   
-                     
-     
-		/** 
-		 * Virtual destructor. 
-		 **/
-		virtual ~IMulCoverFlowWidget()
-			{
-			}
-		};
-
-	} // namespace Alf
-
-#endif // I_MULCOVERFLOWWIDGET_H
--- a/mmuifw_plat/mul_coverflowwidget_api/mul_coverflowwidget_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" ?>
-<api id="5be41f5159c711faaa4c9d5052df97bf" dataversion="1.0">
-<name>mul coverflowwidget api</name>
-<description>API for MulCoverFlowWidget</description>
-<type>c++</type>
-<subsystem>mulcoverflowwidget</subsystem>
-<libs></libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/mul_datamodel_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2006 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:  File that exports the files belonging to 
-:                data model API
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-PRJ_EXPORTS
-
-../inc/mul/imulmodelbase.h                  MW_LAYER_PLATFORM_EXPORT_PATH(mul/imulmodelbase.h)
-../inc/mul/imulmodel.h                      MW_LAYER_PLATFORM_EXPORT_PATH(mul/imulmodel.h)
-../inc/mul/imulmodelprovider.h              MW_LAYER_PLATFORM_EXPORT_PATH(mul/imulmodelprovider.h)
-../inc/mul/imulvarianttype.h              	MW_LAYER_PLATFORM_EXPORT_PATH(mul/imulvarianttype.h)
-../inc/mul/mulvisualitem.h                  MW_LAYER_PLATFORM_EXPORT_PATH(mul/mulvisualitem.h)
-../inc/mul/mulvarianttype.h					        MW_LAYER_PLATFORM_EXPORT_PATH(mul/mulvarianttype.h)	
-../inc/mul/muldatapath.h                    MW_LAYER_PLATFORM_EXPORT_PATH(mul/muldatapath.h)
-../inc/mul/mulutility.h                     MW_LAYER_PLATFORM_EXPORT_PATH(mul/mulutility.h)
-../inc/mul/mulkeyboardutility.h             MW_LAYER_PLATFORM_EXPORT_PATH(mul/mulkeyboardutility.h)
-../inc/mul/mulmodelutility.h                MW_LAYER_PLATFORM_EXPORT_PATH(mul/mulmodelutility.h)
--- a/mmuifw_plat/mul_datamodel_api/inc/mul/imulmodel.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,332 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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 model
-*
-*/
-
-
-#ifndef I_MULMODEL_H
-#define I_MULMODEL_H
-
-//Includes
-#include <alf/ialfinterfacebase.h>
-#include <alf/ialfmodel.h>
-#include <alf/alftypes.h>
-#include <mul/imulmodelbase.h>
-#include <mul/imulwidgetdef.h>
-#include <mul/imulwidget.h>
-#include <mul/muldatapath.h>
-#include <vector>
-#include <memory>
-
-namespace osncore
-    {
-    class UString;
-    }
-using namespace osncore;
-
-namespace Alf
-    {
-    
-namespace mulmodel
-    {
-    static const IfId Ident=
-        {
-        0, "mulmodel"
-        };
-   
-    static const char* const KBaseElementName = "base" ;
-    static const char* const KItemElementName = "item" ;
-    }
-
-// Forward Declarations
-class MulVisualItem;
-class MulDataPath;
-class IMulModelProvider;
-
-/*! @class IMulModel
-*
-*  @brief An interface for the data model.   
-*
-*  Client that creates the model own the model.
-*  Client can use this interface to update data model.
-*
-*/
-class IMulModel : public IMulModelBase, public IAlfModel
-    {
-
-public:
-
-	/**
-	 * Getter for the type identifier of this interface.
-	 *
-	 * @return A descriptor to identify the type of this interface.
-	 */
-	static inline const IfId& type()
-	    {
-	    return mulmodel::Ident;    
-	    }
-
-	/** 
-	 * Virtual destructor.
-	 */ 
- 	virtual ~IMulModel() {}
-    
-    /**
-     * Informs the data model that new items have been added to client's
-     * internal model. Data model is expected to sync its indices as a 
-     * result.
-     * <b>Note:</b> This API will never give an exception.
-     * 
-     * @param aIndex Position where items were inserted.
-     * @param aCount Number of items inserted.
-     * @param aPath  Path of parent item in the data hierarchy. 
-     *               Default is Null path i.e. no parent.
-     */ 
-    virtual void Insert( int aIndex, int aCount, 
-                         const MulDataPath& aPath = MulDataPath() ) = 0 ;
-        
-     /**
-      * Informs the data model that items have been removed from the client's.
-      * internal data model. Data model is expected to sync its indices as a 
-      * result.
-      * <b>Note:</b> This API will never give an exception.
-      * 
-      * @param aIndex Position from where items have to be removed.
-      * @param aCount Number of items to be removed.\
-      * @param aPath  Path of parent item in the data hierarchy. 
-      *               Default is Null path i.e. no parent.
-      */ 
-     virtual void Remove( int aIndex, int aCount, 
-    		 			  const MulDataPath& aPath = MulDataPath() ) = 0;
-     
-     /**
-      * Informs the data model that an item has been updated in the client's
-      * internal model. Data model will use to input to determine whether
-      * a visualization change is required. If yes, the model will request the
-      * provider for updated data.
-      * <b>Note:</b> This API will never give an exception.
-      * 
-      * @param aIndex Position from where items have to be updated.
-      * @param aCount Number of items to be updated.
-      * @param aPath  Path of parent item in the data hierarchy. 
-      *               Default is Null path i.e. no parent.
-      */ 
-     virtual void Update( int aIndex, int aCount, 
-                          const MulDataPath& aPath = MulDataPath() ) = 0;
-
-    /**
-      * A refresh data request. Informs that the data model has to be 
-      * repopulated with mentioned number of items. So the data model
-      * will remove all the existing data and issue request to the 
-      * provider for new data.
-      * <b>Note:</b> This API will never give an exception.
-      * 
-      * @param aCount Number of items to be repopulated.
-      * @param aPath  Path of parent item in the data hierarchy. 
-      *               Default is Null path i.e. no parent.
-      */ 
-     virtual void Refresh( int aCount, const MulDataPath& aPath = MulDataPath() ) = 0;
-          
-     /**
-      * Provide data for the specified item. This is a unified API for 
-      * adding & updating data. 
-      *
-      * @param aIndex Position of item to be updated.
-      * @param aVisualItem Collection of attributes. Ownership is transfered.
-      * @param aPath  Path of parent item in the data hierarchy. 
-      *               Default is Null path i.e. no parent.
-      * @throw Invalid Argument, in case index is out of bound or visual 
-      *                         item is NULL.
-      * @throw Logic Error, in case item could not be updated.
-      */ 
-     virtual void SetData( int aIndex, std::auto_ptr<MulVisualItem> aVisualItem, 
-                            const MulDataPath& aPath = MulDataPath() ) = 0;
-     
-     /**
-      * Get the data for item at the specified index.
-      *
-      * @param aIndex Position of item in the data model.
-      * @param aPath  Path of parent item in the data hierarchy. 
-      *               Default is Null path i.e. no parent.
-      * @return A constant reference to the data at the given index.
-      * @throw Invalid Argument, in case index is out of bound.
-      */ 
-     virtual const MulVisualItem* Data( int aIndex, 
-                                		const MulDataPath& aPath = MulDataPath() ) const = 0;
-     
-    /**
-      * Get the count of items in the model.
-      *
-      * @param aPath  Path of parent item in the data hierarchy. 
-      *               Default is Null path i.e. no parent.
-      * @return Count of items in the model.
-      */ 
-     virtual int Count( const MulDataPath& aPath = MulDataPath() ) const = 0; 
-          
-    /**
-     * Set the data provider for the model. 
-     * <b>Note:</b> This API will be removed in future. 
-     * Clients would be able to specify the provider to the model at 
-     * the time of the construction.
-     * 
-     * @param aDataProvider Handle to the data provider.
-     * @throw Logic Error, in case same accessor object is passed again.
-     */ 
-     virtual void SetDataProvider( const IMulModelProvider& aDataProvider ) = 0;
-     
-    /**
-     * Set the default logical template id for widget elements. 
-     * Logical templates map to visualization of the element(s).
-     * 
-     * @param aTemplateId Logical template id for the widget elements.
-     */ 
-     virtual void SetTemplate( mulwidget::TLogicalTemplate aDefaultTemplate ) = 0;
-     
-     /**
-      * Set the logical template id for a specific widget element. 
-      * Logical templates map to visualization of the element.
-      * 
-      * @param aItemIndex Unique id of item of which template needs to be applied.
-      * @param aTemplateId Logical template id for the widget element.
-      * @param aPath  Path of parent item in the data hierarchy. 
-      *               Default is Null path i.e. no parent.
-      * @throw Invalid Argument, in case index is out of bound.
-      */ 
-     virtual void SetTemplate( int aItemIndex, mulwidget::TLogicalTemplate aDefaultTemplate ,
-                                const MulDataPath& aPath = MulDataPath() )=0;
-	 
-    /**
-     * Set the data window/cache size of the Data model.
-     * This API can be used to over-ride the data window size of the data model
-     * already set by the widget. This can be used by clients to set the buffer
-     * size different from what the widget has specified. 
-     * 
-     * @param aSize Size of buffer.
-     * @throw Invalid Argument, incase the buffer size is negative.
-     */ 
-    virtual void SetDataWindow( int aSize ) = 0;
-    
-    /**
-     * Get the buffer size defined for the data model.
-     * 
-     * @return Size of data window.
-     */ 
-    virtual int DataWindow( ) const = 0;        
-    
-     /**
-	  * Set highlighted item in the model.
-      * 
-	  * @param aItemIndex Index of item.
-	  * @param aPath  Path of parent item in the data hierarchy. 
-      *               Default is Null path i.e. no parent.
-	  *
-	  * <B>Examples:</b>
-	  * @code
-	  * Set index of the item to be highlighted.
-	  *
-	  *         mListWidget->SetHighlight(highlight);
-	  * @endcode
-      */ 
-	virtual void SetHighlight( int aItemIndex, const MulDataPath& aPath = MulDataPath() ) = 0; 
-
-    /**
-     * Get the index of the current highlighted item from the model.
-     * 
-     * @return Highlighted item index.
-     *
-	 * <B>Examples:</b>
-	 * @code
-	 * Get index of the highlighted item.
-	 *
-	 *      int highlight = mListWidget->Highlight();
-	 * @endcode
-     */ 
-     virtual int Highlight() = 0;
-     
-    /**
-     * Get the index of the current highlighted item along with the path 
-     * of the root item in the data hierarchy.
-     * 
-     * @param aPath  Path of parent item in the data hierarchy. Out parameter.
-     * @return Highlighted item index.
-     *
-	 * <B>Examples:</b>
-	 * @code
-	 * Get index of the highlighted item.
-	 *
-	 *      int highlight = mListWidget->Highlight();
-	 * @endcode
-     */ 
-     virtual int Highlight( MulDataPath& aPath ) = 0;     
-     
-    /**
-	 * Function for setting the item(s) Marked or Unmarked. For mark and
-	 * unmark operations, indices of items should be provided.
-	 * 
-	 * @param aType Type of marking operation to be performed. 
-	 * @param aItemsIndex Indices of the items to be changed
-	 * @throw Invalid Argument, if type is specified as mark-all and unmark-all. 
-	 *
-	 * <B>Examples:</b>
-	 * @code
-     * Mark the selected item
-     *
-	 *      mListWidget->SetMarkedIndices( MulWidgetDef::EMulMark, itemIndex );
-	 * @endcode
-	 */ 
-	virtual void SetMarkedIndices( MulWidgetDef::TMulWidgetMarkingType aType ,
-								   const std::vector<int>& aItemsIndex,
-								   const MulDataPath& aPath = MulDataPath() ) = 0;
-
-	/**
-	 * Function for setting the item(s) Marked or Unmarked.
-	 * For mark all and unmark all operations use this overloaded version.
-	 * 
-	 * @param aType Type of marking operation to be performed.
-	 * @throw Invalid Argument, if type is specified as mark and unmark. 
-     *
-	 * <B>Examples:</b>
-	 * @code
-	 * Mark all items
-	 *
-	 *      mListWidget->SetSelection( MulWidgetDef::EMulMarkAll );
-	 * @endcode
-	 */		 
-	virtual	void SetMarkedIndices(
-			MulWidgetDef::TMulWidgetMarkingType aType = MulWidgetDef::EMulMarkAll
-			) = 0;
-			
-	/**
-	 * Gets the indices of the currently marked items.
-	 * 
-	 * @return Array of maked indices. This would return an empty container if no items are marked. 
-	 *
-	 * <B>Examples:</b>
-	 * @code
-	 * Get the array of all marked items
-	 *
-	 *      std::vector<int> markedItems = mListWidget->MarkIndices();
-	 * @endcode
-	 */
-	virtual const std::vector<int>& MarkedIndices( const MulDataPath& aPath = MulDataPath() ) = 0;    
-          
-    };
-
-    } // namespace Alf
-
-#endif // I_MULMODEL_H
-
-//End of file
-
--- a/mmuifw_plat/mul_datamodel_api/inc/mul/imulmodelaccessor.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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 model accessor
- *
-*/
-
-
-#ifndef I_MULMODELACCESSOR_H
-#define I_MULMODELACCESSOR_H
-
-//Includes
-#include <alf/ialfmodel.h>
-#include <mul/imulwidgetdef.h>
-#include <mul/imulwidget.h>
-
-#include <vector>
-
-namespace osncore
-	{
-	class UString;
-	}
-using namespace osncore;
-
-namespace Alf
-	{
-
-	/* Forward declarations*/
-	class MulVisualItem;
-	class IMulModelObserver;
-
-	/**
-	 *  An interface for accessing data model. Widgets use this interface to interact with Model.
-	 *  Data model implements this interface.
-	 *  @lib 
-	 */
-	class IMulModelAccessor : public IAlfModel
-		{
-	public:
-
-	/**
-	 * The function to set a particular item as highlighted.
-	 * 
-	 * @param aIndex Index of the item to be highlighted.
-	 * @throws Invalid_argument Throws this exception if index is not a valid index.
-	 */
-	virtual void SetHighlight( int aItemIndex ) = 0;
-	
-	/**
-	 * Scroll Window to mention item index 
-	 * it will check that data window needs to be updated or not 
-	 * and if required it update data window
-	 *
-	 * @aItemIndex item index
-	 * @throws invaid_argument exception
-	 */
-	virtual void ScrollWindow( int aItemIndex ) = 0;
-
-	/**
-	 * Function to get the highlighted item index.
-	 * 
-	 * @return Index of the highlighted index.
-	 */
-	virtual int Highlight() = 0;
-          
-    /**
-     * Function to get the count of items currently present in the model. 
-     * This includes hidden items.
-     * 
-     * @return Count of items existing in the model.
-     */ 
-     virtual int CurrentItemCount() = 0;
-     
-    /**
-     * Set visible data window for model.
-     * 
-     * @param aVisibleWindow No of visuals that widget can display at a time on screen.
-     */ 
-     virtual void SetVisibleWindow( int aWindowSize, int aPageTopIndex = -1 ) = 0;
-     	 
-     /**
- 	 * Returns relative index from absolute index.
- 	 * 
- 	 * @param aAbsoluteIndex Abosulte index
- 	 * @return Returns relative index from absolute index.
- 	 */
-	 virtual int RelativeIndex( int aAbsoluteIndex ) const = 0;
-	 	 
-	/**
-	 * Return visible window top offset
-	 * 
-	 * @return Current window top offset
-	 */
-	 virtual int TopWindowOffset() const= 0;
-	
-	/**
-	 * Return visible window bottom offset
-	 * 
-	 *  @return Current window bottom offset
-	 */
-	 virtual int BottomWindowOffset() const = 0;
-	 	 
-	/**
-	 * Return visible window top offset
-	 * 
-	 * @return Current window top offset
-	 */
-	 virtual int TopOffset() const= 0;
-	
-	/**
-	 * Return visible window bottom offset
-	 * 
-	 *  @return Current window bottom offset
-	 */
-	 virtual int BottomOffset() const = 0;
-
-	/**
-	 * Return rear buffer top offset
-	 * 
-	 * @return Current window top offset
-	 */	
-	virtual int RearTopOffset() const = 0;
-
-	/**
-	 * Return rear buffer bottom offset
-	 * 
-	 * @return Current window top offset
-	 */	
-	virtual int RearBottomOffset() const = 0;
-		 	 
-	 /**
-	  * Check weather item at specified index is marked or not.
-	  * 
-	  * @param aIndex Absolute index of item
-	  * @return true if seleccted else otherwise
-	  */
-	 virtual bool IsItemMarked( int aIndex ) = 0; 
-	   
-    /**
-	 * Function for setting the item Marked or Unmarked. For mark and
-	 * unmark operations, index of item should be provided.
-	 * 
-	 * @param aType Type of marking operation to be performed. 
-	 * @param aItemsIndex Indices of the items to be changed
-	 * @throw Invalid Argument, if type is specified as mark-all and unmark-all. 
-	 */ 
-	 virtual void SetMarkedIndex( MulWidgetDef::TMulWidgetMarkingType aType, int aIndex ) = 0;
-	 	 
-	 /**
-	  * Returns the visual item at the specified absolute index
-	  * 
-	  * @param aIndex Absolute index of item
-	  */
-	 virtual const MulVisualItem& Item( int aAbsoluteIndex ) = 0;
-	 
-	/**
-	 * Returns Absolute index from relative index
-	 *
-	 * @param aRelativeIndex Relative index
-	 * @return Absolute index
-	 */
-	 virtual int AbsoluteIndex( int aRelativeIndex ) = 0;
-	 
-	 /**
-	  * Return whather currently looping is on or not
-	  * 
-	  * @return true if looping is on false otherwise
-	  */
-	 virtual bool IsLoopingOn() = 0;
-	 	 
-	 /**
-	  * Add model state change observer.
-	  * 
-	  * @param aObserver Observer- ownserhip is not transferred
-	  */
-	 virtual void AddModelObserver( IMulModelObserver* aObserver ) = 0;
-	 
-	 /**
-      * Eemove model state change observer.
-      * 
-      * @param aObserver Observer- ownserhip is not transferred
-      */
-	 virtual void RemoveModelObserver( IMulModelObserver* aObserver )= 0;
-	 
-	 /**
-      * Return default template
-      * 
-      * @return Default template
-      */
-    virtual mulwidget::TLogicalTemplate Template( ) = 0;
-	 
-    };
-
-
-    } // namespace Alf
-
-#endif // I_MULMODELACCESSOR_H
--- a/mmuifw_plat/mul_datamodel_api/inc/mul/imulmodelbase.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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 model base
-*
-*/
-
-
-#ifndef I_MULMODELBASE_H
-#define I_MULMODELBASE_H
-
-//Includes
-
-namespace Alf
-    {
-    // Forward Declaration    
-    class IMulModelAccessor; 
-
-   
-    /*! @class IMulModelBase
-     *  @brief An interface for common data model's base class.  
-     *
-     *  Client can query Accessor() interface from this class
-     *  and can set Accessor to Multi-item Widgets.
-     *
-     * <b>Note:</b> <b><i>There has been a change in the way multi-item widget accesses 
-	 * the data model (for other widgets continue to set the model to the widget in the same way). 
-	 * The widget gets a restrictive access to the data model via IMulModelAccessor
-	 * interface. The new way of assigning model to the widget is shown in the
-	 * example given below. The client applications can't access the IMulModelAccessor
-	 * interface anymore as its not export from now on.</i></b>
-     *
-     */
-    class IMulModelBase 
-        {    
-    public:
-
-    	/**
-    	 * Return pointer of accessor interface.
-    	 * This pointer is required to call SetModel Api IMulWidget.
-    	 * Ownership of Accessor is not transferred.
-    	 * 
-    	 * @return IMulModelAccessor Accessor interface.
-    	 * <B>Examples:</b>
-    	 * @code
-    	 * Create the data model using widget factory and assign it to a widget.
-    	 *
-    	 *      mWidgetModel = widgetFactory.createModel<IMulModel> (KLoadNameModel);
-    	 *
-         * Set the default visualization for the list items. If the visualization is not 
-         * specified there will be a panic when the model is assigned to the widget.
-         *
-         *      mWidgetModel->SetTemplate( UString ( mulwidget::KTemplate6));
-         *
-         * Setting the data model to the widget. 
-         * 
-         *      AddItems(10);
-         *      mListWidget->SetModel( mWidgetModel);
-    	 * @endcode
-    	 */
-    	virtual IMulModelAccessor* Accessor() = 0 ;      
-	
-    }; //End of class
-
-    } // namespace Alf
-
-#endif // I_MULMODELBASE_H
-
-//End of file
-
--- a/mmuifw_plat/mul_datamodel_api/inc/mul/imulmodelprovider.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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 requesting data from the provider
-*
-*/
-
-
-#ifndef I_MULMODELPROVIDER_H
-#define I_MULMODELPROVIDER_H
-
-namespace Alf
-    {
-
-// Forward Declarations
-class MulVisualItem;
-class MulDataPath;
-
-/*! @class IMulModelProvider
- *  @brief An interface for requesting the data provider for data.
- *
- *  Application should implement this interface inorder to become a data provider. 
- *  Data model uses this interface to ask the application for data. 
- *
- */
-class IMulModelProvider
-    {
-public:
-
-    /**
-     * Request the data provider for updating data in the model.
-     *
-     * @param aIndex Index at which the item request has been initiated.
-     * @param aCount Number of items requested.
-     * @param aPath  Path of parent item in the data hierarchy.
-     */ 
-    virtual void ProvideData( int aIndex, int aCount, MulDataPath aPath ) = 0;
-            
-    };
-
-
-} // namespace Alf
-
-#endif // I_MULMODELPROVIDER_H
-
-//End of file
-
--- a/mmuifw_plat/mul_datamodel_api/inc/mul/imulsingleitemmodel.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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 single item model
- *
-*/
-
- 
-#ifndef IMULSINGLEITEMMODEL_H_
-#define IMULSINGLEITEMMODEL_H_
-
-// Includes
-#include <alf/ialfmodel.h>
-
-namespace osncore
-    {
-// Forward Declarations
-class UString;
-    }
-using namespace osncore;
-
-namespace Alf
-    {
-
-// Forward Declarations
-class MulVisualItem;
-
-namespace mulsingleitemmodel
-    {
-    static const int KLastIndex = -1;
-    static const int KNumberOfIndices = 4;  
-    
-    static const char* const KBaseElementName = "base";
-
-    static const char* const KInvalidVisualItem = "NULL Visual Item passed";
-    static const char* const KIndexOutOfBound = "Index out of bound";
-    static const char* const KLogicError = "Logic error";
-    }// namespace mulsingleitemmodel
-    
-class IMulSingleItemModel : public IAlfModel
-    {
-
-public:
-    
-    /**
-     * Adds an item into the specified container at the given index.
-     *
-     * @param aItem Item to be added. Takes ownership.
-     * @param aContainerName Name of the container.
-     * @param aIndex Index of the item in the container. By default appends item.
-     * @throw Invalid Argument, incase visual item is NULL or out of bound index.
-     */
-    virtual void AddData(MulVisualItem* aItem, const UString& aContainerName, 
-                         int aIndex = mulsingleitemmodel::KLastIndex) = 0;
-    
-    /**
-     * Update an item within the specified container at the given index.
-     *
-     * @param aItem Item to be updated. Takes ownership.
-     * @param aContainerName Name of the container.
-     * @param aIndex Index of the item in the container.
-     * @throw Invalid Argument, incase visual item is NULL, invalid container or out of bound index.
-     * 		  Logic Error, cannot add data because of invalid internal structure
-     */
-    virtual void UpdateData(MulVisualItem& aItem, const UString& aContainerName, int aIndex) = 0;
-    
-    /**
-     * Removes an item from the specified container at the given index.
-     *
-     * @param aContainerName Name of the container.
-     * @param aIndex Index of the item in the container.
-     * @throw Invalid Argument, incase of invalid container or out of bound index.
-     */
-    virtual void RemoveData(const UString& aContainer, int aIndex) = 0;
-    
-    /**
-     * Returns an item from the specified container at the given index.
-     *
-     * @param aContainerName Name of the container.
-     * @param aIndex Index of the item in the container.
-     * @return Reference to the item.
-     * @throw Invalid Argument, incase of invalid container or out of bound index.
-     */
-    virtual MulVisualItem& Data(const UString& aContainerName, int aIndex) = 0;
-    
-    /**
-     * Returns number of items in the specified container.
-     *
-     * @param aContainerName Name of the container.
-     * @return Number of items
-     * @throw Invalid Argument, incase of invalid container.
-     */
-    virtual int Count(const UString& aContainerName) = 0;
-    
-    /** 
-	 * Virtual destructor.
-	 */
-    virtual ~IMulSingleItemModel() {}
-    
-    };// class IMulSingleItemModel
-        
-    }// namespace Alf
-#endif // IMULSINGLEITEMMODEL_H_
-
-// End of file
--- a/mmuifw_plat/mul_datamodel_api/inc/mul/imulvarianttype.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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 generic data type
-*
-*/
-
-
-#ifndef I_MULVARIANTTYPE_H
-#define I_MULVARIANTTYPE_H
-
-#include <memory>
-//#include <osn/osntypes.h>
-#include <e32cmn.h>
-
-// Forward Declarations
-
-namespace Alf
-    {
-
-// Forward Declarations
- class IAlfMap;
-
-/*! @class IMulVariantType
- *  @brief Interface for mul model data type 
- *
- *  Application should implement this interface if application needs
- * 	to provide custom data type to model.
- *
- */
-class IMulVariantType
-    {
-public:
-    
-    enum TMulType{ EUnknown ,EBool, EInt, EUint, EReal, EDes, EMap, ECustomData };
-
-    /**
-     * Create copy of variant type
-     *
-     * @return Copy of variant type and ownsership is transferred
-     */ 
-    virtual std::auto_ptr< IMulVariantType > Clone() = 0;
-    
-    /**
-     * Get data as symbian descriptior
-     * 
-     * @return Descriptor data value.
-     */
-    virtual const TDesC& DesC() const = 0 ;
-    
-    /**
-     * Type of data
-     * 
-     * @return Data type of Variant Data
-     */
-    virtual TMulType Type() const = 0 ;
-    
-    /**
-     * Destructor
-     */
-    virtual ~IMulVariantType()
-    	{
-    	}
-    
-    /**
-     * Get the data value as an bool .
-     *
-     * @exception osncore:AlfDataException Thrown if type() is not EBool.
-     * @return bool data value.
-     */
-    virtual bool boolean() const = 0;
-
-    /**
-     * Get the data value as an integer.
-     *
-     * @exception osncore:AlfDataException Thrown if type() is not EInt.
-     * @return Integer data value.
-     */
-    virtual int integer() const = 0;
-
-    /**
-     * Get the data value as an unsigned integer.
-     *
-     * @exception osncore:AlfDataException Thrown if type() is not EUInt.
-     * @return Unsigned integer data value.
-     */
-    virtual uint uinteger() const = 0;
-
-    /**
-     * Get the data value as a real number.
-     *
-     * @exception osncore:AlfDataException Thrown if type() is not EReal.
-     * @return Real data value.
-     */
-    virtual double real() const = 0;
-
-    /**
-     * Get the data value as a map interface.
-     *
-     * @exception osncore:AlfDataException Thrown if type() is not EMap.
-     * @return Map interface.
-     * @since S60 ?S60_version
-     */
-    virtual IAlfMap& Map() const = 0 ;
-            
-    };
-
-    } // namespace Alf
-
-#endif // I_MULVARIANTTYPE_H
-
-//End of file
-
--- a/mmuifw_plat/mul_datamodel_api/inc/mul/muldatapath.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Header for MulDataPath
-*
-*/
-
-
-#ifndef MULDATAPATH_H
-#define MULDATAPATH_H
-
-#include <memory>
-#include <osn/osndefines.h>
-
-namespace osncore
-    {
-    class UString;  
-    }
-using namespace osncore;
-
-namespace Alf
-    {
-    
-//Forward Declaration
-class MulDataPathImpl; //store data for MulDataPath class    
-/**
- * @class MulDataPath
- * 
- * MulDataPath represent hierarchy in data model.
- * It stores index of node for each depth.
- */
-class MulDataPath
-	{
-public:
-	/**
-	 * Default constructor
-	 * 
-	 * By default path will point to root node.
-	 */
-	OSN_IMPORT MulDataPath();
-	
-	/**
-	 * Constrctor will create path with depth 1 and store specified index
-	 * at depth1
-	 * 
-	 * @param aIndexForDepth1 Index of node at depth 1
-	 */
-	OSN_IMPORT MulDataPath( int aIndexForDepth1 );
-	
-	/**
-	 * Constrctor will create path with depth 2 and store specified index
-	 * at depth 1 and depth 2
-	 * 
-	 * @param aIndexForDepth1 Index of node at depth 1
- 	 * @param aIndexForDepth2 Index of node at depth 2
-	 */
-	OSN_IMPORT MulDataPath( int aIndexForDepth1, int aIndexForDepth2);
-	
-	/**
-	 * Copy constructor
-	 * 
-	 *  @param aPath Existing path object
-	 */
-	OSN_IMPORT MulDataPath(const MulDataPath& aPath);
-			
-	/**
-	 * Destructor
-	 */
-	OSN_IMPORT ~MulDataPath();
-			
-	/**
-	 * Create new depth and add specified index at created depth.
-	 * 
-	 * @param aIndex position of node at current depth
-	 */
-	OSN_IMPORT void Append(int aIndex);
-		
-	/**
-	 * Depth of path
-	 * 
-	 * @return Depth
-	 */
-	OSN_IMPORT int Depth() const;
-		
-	/**
-	 * Return position/index of node at given depth
-	 * 
-	 * @param aDepth Depth of path
-	 * @return Position/index of node
-	 */
-	OSN_IMPORT int operator[]( int aDepth ) const;
-	
-	/**
-	 * Comparisition operator for Path.
-	 * Comapre that path is less that other path or not
-	 * 
-	 * @param aPath path to wich current path need to be compared
-	 * @return true - if is less ,false otherwise
-	 */
-	bool operator<( MulDataPath& aPath);
-	
-	/**
-	 * return position in current depth. For internal use only
-	 * 
-	 * @param position in current depth
-	 */
-	int Index() const;
-	
-	/**
-	 * Set internal position in current depth
-	 * 
-	 * @param aIndex position in current depth
-	 */
-	void SetIndex( int aIndex );
-	
-	/**
-	 * Check whather both path are equal or not,
-	 *
-	 * 
-	 * @param aPath Path object to compare with
-	 * @return true is equals, false other wise
-	 */
-	bool operator== ( const MulDataPath& aPath);
-	
-	/**
-	 * Check whather both path are equal or not,For internal use only
-	 * 
-	 * @param aPath Path object to compare with
-	 * @return true is equals, false other wise
-	 */
-	bool IsEqual( const MulDataPath& aPath );
-	
-	
-	/**
-	 * Assignment operator 
-	 *
-	 * @param aPath Existing path
-	 */
-	void operator= ( MulDataPath aPath );
-				
-				
-private: //data
-
-	std::auto_ptr<MulDataPathImpl> mData; //own
-	};
-
-	} //namespace Alf
-
-#endif //MULDATAPATH_H
-
-//End of file
--- a/mmuifw_plat/mul_datamodel_api/inc/mul/mulkeyboardutility.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Utility class for keyboard handling  
- *
-*/
-
-
-#ifndef MULKEYBOARDUTILITY_H_
-#define MULKEYBOARDUTILITY_H_
-
-#include <e32base.h>
-#include <e32std.h>
-#include <e32property.h>
-#include <centralrepository.h>
-#include <aknfepinternalcrkeys.h>
-#include <avkoninternalcrkeys.h>   // KAknQwertyInputModeActive
-#include <coemain.h>
-
- class CQwertySubscriber : public CActive
- {
-     public:
-          CQwertySubscriber(TCallBack aCallBack, RProperty& aProperty);
-         ~CQwertySubscriber();
- 
-     public: // New functions
-
-         void SubscribeL();
-         void StopSubscribe();
- 
-     private: // from CActive
-
-         void RunL();
-         void DoCancel();
- 
-     private:
-         TCallBack   iCallBack;
-         RProperty&  iProperty;
- };
-
-class CKeyBoardUtility: public CCoeStatic
-{
-	public:
-		static CKeyBoardUtility* NewL();
-	private: 
-		static TInt QwertyModeChangeNotification(TAny* aObj);
-	private:
-		~CKeyBoardUtility();
-		CKeyBoardUtility(); 
-		bool bQwerty;
-	    /** Qwerty Notification */
-	    CQwertySubscriber* iQwertyModeStatusSubscriber;
-	    RProperty iQwertyModeStatusProperty;
-	    void HandleQwertyModeChangeNotification();
-	public:
-		bool IsQwerty();
-};
-#endif //MULKEYBOARDUTILITY_H_
--- a/mmuifw_plat/mul_datamodel_api/inc/mul/mulmodelutility.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Utility class for data model
-*
-*/
-
-
-#ifndef MULMODELUTILITY_H_
-#define MULMODELUTILITY_H_
-
-#include <alf/alfvarianttype.h>
-#include <osn/osndefines.h>
-#include <e32cmn.h>
-#include <osn/ustring.h>
-
-#include "mul/imulwidget.h"
-
-namespace osncore
-    {
-    class UString;
-    }
-using namespace osncore;
-
-namespace Alf
-	{
-	
-//Forward Declaration
-class MulVisualItem;
-class MulModelUtility
-    {
-public:
-
-	/**
-	 * Create new Variant data from existing variant data.
-	 * 
-	 * @param aValue Existing variant data;
-	 * 
-	 * @reutrn new variant data, Ownership is transferred
-	 */
-    OSN_IMPORT static IAlfVariantType* CreateVariantType( IAlfVariantType& aValue );
-    
-    /**
-	 * Convert map of visual item to map of alf map.
-	 * Ite create new Map and while returning new map owner ship of map is transfered
-	 * 
-	 * @param aVisualItem Map of visual item
-	 * @return Map
-	 */
-     OSN_IMPORT static std::auto_ptr<IAlfMap> ConvertVisualItemToMap( MulVisualItem& aVisualItem );
-	
-	/**
-     * 
-     * Convert AlfMap to visual item
-     * 
-     * @param aMap IAlfMAP
-     * @return MulVisualItem ownership is trsnaferred
-     */
-    OSN_IMPORT static std::auto_ptr<MulVisualItem> ConvertMapToVisualItem( IAlfMap& aMap );
-    
-	/**
-	 * Check the prefix of the name to see whether they can be added in alfmodel
-	 * 
-	 * @param aName Name whose prefix is to be checked
-	 */
-	static bool CheckNamePrefix( UString aName ) ;
-    
-    /**
-     * Convert UString to CAlfString
-     * 
-     * @param aUString UString instance to convert to CAlfSTring
-
-     * @return Converted CAlfString
-     */
-    OSN_IMPORT static UString UStringToAlfString(const UString& aUString);
-    
-    /**
-    * Convsert CAlfString to UString
-    * 
-    * @param aUString CAlfSTring instance to convert to UString
-
-    * @return Converted UString
-    */
-    OSN_IMPORT static UString AlfStringToUString(const UString& aAlfString);
-    
-    /**
-     * Covert integer to AlfString
-     * 
-     * @param aNumber number to convert
-     * @return AlfString
-     */
-    OSN_IMPORT static UString IntToUString( int aNumber );
-    
-    /**
-     * Convert TDes to UString
-     *
-     * @param aDes a TDes type string to be converted
-     * @param aString the converted Ustring
-     */
-    OSN_IMPORT static void ConvertTDesToUString (const TDesC& aDes, UString& aString);
-    
-    /**
-     * Convert TDes8 to UString
-     *
-     * @param aDes a TDes8 type string to be converted
-     * @param aString the converted Ustring
-     */
-    OSN_IMPORT static void ConvertTDes8ToUString (const TDesC8& aDes, UString& aString);
-    
-    /**
-     * Convert UString to TDes
-     *     
-     * @param aString a UString type string to be converted
-     * @param aDes the TDes type converted string
-     */
-    OSN_IMPORT static void ConvertUStringToTDes (const UString& aString, TDes& aDes);    
-    
-    /**
-     * Convert UString to TDes8
-     *     
-     * @param aString a UString type string to be converted
-     * @param aDes the TDes8 type converted string
-     */
-     OSN_IMPORT static void ConvertUStringToTDes8 (const UString& aString, TDes8& aDes);    
-    
-    /**
-     * Create a visualitem and set its default template
-     *     
-     * @param aDefaultTemplate defaultTemplate for that visual item
-     */
-    OSN_IMPORT static std::auto_ptr<MulVisualItem> CreateVisualItem( mulwidget::TLogicalTemplate aDefaultTemplate ); 
-    
-                   
-    };
-	    
-    } //namespace Alf
-
-#endif /*MULMODELUTILITY_H_*/
-
-//End of file
-
-
--- a/mmuifw_plat/mul_datamodel_api/inc/mul/mulutility.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Implementation for utility class
-*
-*/
-
-
-#ifndef MULUTILITY_H_
-#define MULUTILITY_H_
-
-#include <stdexcept>
-#include <string>
-#include <e32cmn.h>
-#include <osn/osndefines.h>
-#include "mulkeyboardutility.h"
-
-namespace osncore
-    {
-    class UString;    
-    }
-
-using namespace osncore;
-    
-namespace Alf
-    {
-    	
-static void MUL_ASSERT(bool aExpression, const char* aExceptionString)
-   {
-   if( aExpression )
-       {
-       throw std::logic_error(aExceptionString);
-       }
-   }
-                               
-class MulUtility
-    {
-public:
-    /**
-     * Converts the relative path to the absolute path.
-     * 
-     * @param aRelativePath Which needs to be changed to the absolutepath.
-     * @return true , if aRelativepath changed to Absoulte path or else false
-     */
-	OSN_IMPORT static bool AbsolutePath(UString& aRelativePath);
-    
-   /**
-    * Checks which orienatation the application is in and returns true if it is in 
-    * Landscape orientation otherwise returns false
-    *
-    */ 
-  OSN_IMPORT static bool IsLandscape();
-  
-     /**
-      * Checks if the given string tag is a pool resource or not
-      *
-      * @param aImageTag Path of the image file,which needs to be checked for resource tag format. 
-      */
-     OSN_IMPORT static bool IsPoolResource(const UString& aImageTag);
-
-     /**
-      * Checks if current KeyBoard is QWERTY
-      * @return true if KeyBoard is QWERTY else false.
-      */
-     OSN_IMPORT static bool IsQwerty();
-     
-private: 
-    /**
-     * Checks the file for its existence
-     *
-     * @param afilePath File to be checked.
-     * @return true, In case file exists or else false. 
-     */
-    static bool IsFileExists(/*const char* afilePath*/const TDesC& aFilePath);
-    
-    
-    
-    };
-    
-    } // namespace Alf
-
-#endif  // MULUTILITY_H_
-
-// End of file
-
--- a/mmuifw_plat/mul_datamodel_api/inc/mul/mulvarianttype.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  MulVarianttype implementation
-*
-*/
-
-#ifndef MULVARIANTTYPE_H
-#define MULVARIANTTYPE_H
-
-#include <mul/imulvarianttype.h>
-#include <alf/alfvarianttype.h>
-
-#include <osn/osndefines.h>
-       
-namespace Alf
-    {       
-// Forward Declarations
-
-/*! @class MulVariantType
- *  @brief To create data for data model
- */  
-class MulVariantType : public IMulVariantType
-    {
-public: //Constructor and Destructor
-
-    /**
-     * The default constructor.
-     */
-    OSN_IMPORT MulVariantType();
-    
-    /**
-     * Constructor for Descriptor
-     * 
-     * @param aDes Descriptor
-     * @return new Object
-     */
-    OSN_IMPORT MulVariantType( const TDesC& aDes );
-            
-    /**
-     * Constructor for variant data type creation for a integer type of data
-     * @param aValue - integer to be assigned for the variant data
-     * @return New object.
-     */
-    OSN_IMPORT MulVariantType(const int& aValue);
-    
-    /**
-     * Constructor for variant data type creation for a Unsigned integer type of data
-     * @param aValue - unsigned integer to be assigned for the variant data
-     * @return New object.
-     */
-    OSN_IMPORT MulVariantType(const uint& aValue);
-        
-    /**
-     * Constructor for variant data type creation for a real type of data
-     * @param aValue - Real value to be assigned for the variant data
-     * @return New object.
-     */
-    OSN_IMPORT MulVariantType(const double& aValue);
-        
-    /**
-     * Constructor for variant data type creation for a bool type of data
-     * @param aValue - Boolean value to be assigned for the variant data
-     * @return New object.
-     */
-    OSN_IMPORT MulVariantType(const bool& aValue);
-    
-    /**
-     * Constructor for variant data type creation for a Alf Variant type of data
-     * @param aData -the variant data
-     * @return New object.
-     */
-    OSN_IMPORT MulVariantType( IAlfMap& aData ); 
-    
-    /**
-     * Destructor
-     */
-    OSN_IMPORT ~MulVariantType();
-    
-public: // From IMulVariantType
-    
-    OSN_IMPORT std::auto_ptr< IMulVariantType > Clone();
-       
-    OSN_IMPORT const TDesC& DesC() const;
-       
-    OSN_IMPORT TMulType Type() const;
-       
-    OSN_IMPORT bool boolean() const ;
-
-    OSN_IMPORT int integer() const ;
-
-    OSN_IMPORT uint uinteger() const ;
-
-    OSN_IMPORT double real() const ;
-
-    OSN_IMPORT IAlfMap& Map() const ;
-    
-private:
-    
-    void Construct( TMulType aType );
-        
-private:
-    
-    class MulVariantTypeImpl;
-    
-private:
-
-    std::auto_ptr<MulVariantTypeImpl> mVarData;
-    
-    };
-    
-    } // namespace Alf  
-
-#endif //I_MULVARIANTTYPE_H
-
-//End of file
--- a/mmuifw_plat/mul_datamodel_api/inc/mul/mulvisualitem.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Visual Item class
- *
-*/
-
-
-#ifndef MULVISUALITEM_H
-#define MULVISUALITEM_H
-
-#include <osn/osndefines.h>
-#include <osn/ustring.h>
-#include <alf/alfvarianttype.h>
-#include <memory>
-#include <map>
-#include <vector>
-#include <e32cmn.h>
-
-namespace osncore
-    {
-    class UString;
-    }
-using namespace osncore;
-using namespace std;
-    
-
-namespace Alf
-    {
-    
-
-//enum mulvisualitem
-namespace mulvisualitem
-    {
-    
-    enum TVisualAttribute
-        {
-        KMulIcon1 = 0,
-        KMulIcon2 ,
-        KMulIcon3 ,
-        KMulTitle ,
-        KMulTitle1 ,
-        KMulTitle2 ,
-        KMulDetail ,
-        KMulDate ,
-        KMulIndicator1 ,
-        KMulIndicator2 ,
-        KMulIndicator3 ,
-        KMulIndicator4 ,
-        KMulIndicator5,
-        KMulIndicator6,
-        KMulActionItem ,
-        KMulEnabled ,
-        KMulSoftkeyTitle ,
-        KMulLatch ,
-        KMulRead ,
-        KMulInputText,
-        KMulEmptyItem ,
-        KVisualItemProperties,
-        KVisualItemAttributes ,   
-        KAttributeTemplate, 
-        KMulMaxRange, 
-		KMulMinRange,
-		KMulTick,
-		KMulPrimaryTick,
-		KMulSecondaryTick, 
-		KMulLeftText, 
-		KMulRightText,  
-		KMulCounter1,
-		KMulCounter2,
-		KMulImage,
-		KMulPercent1,
-		KMulPercent2,
-		KMul_n,
-        KLastAttribute = 100 // reserved 0 to 100
-        };
-    
-    }//namespace mulvisualitem
-    
-/* Forward declarations*/
-class IAlfMap;
-class IAlfContainer;
-class IMulVariantType;
-/**
-/*! @class MulVisualItem
- *  @brief Client need to use this class to add data in data model.
- *
- *  Visual item is set of attributes corresponding to an item in the widget.
- *  The attributes added to visual item get visualized on the widget
- * 
- */  
-class MulVisualItem
-	{
-private:
-
-	class MulAttribute;
-    		
-public:
-
-	/**
-	 * Flags for attribute 
-	 */
-	enum TAttributeFlags
-		{
-		EDisposable = 0x01 // attribute with this flag on can be deleted from item is it is out of visible window
-		};
-		
-	enum TAttributeOwnership
-		{
-		EDoesOwn = 0, //attribute is owned by model
-		EDoesNotOwn	  //attribute is not owned by model
-		};
-	
-public:	//Constructor and Dstructor
-	
-	/**
-	 * C++ constructor.
-	 */
-	OSN_IMPORT MulVisualItem();
-	
-	/**
-	 * C++ constructor.
-	 */
-	OSN_IMPORT MulVisualItem( const MulVisualItem& aVisualData );
-	
-	 /**
- 	 * Destructor.
- 	 */
-	OSN_IMPORT ~MulVisualItem();
-   
-public: // New mehtod
-
-	/**
-	 * Add new attribute to visual item
-	 * 
-	 * @param aName name of attribute
-	 * @param aValue value of attribute
-	 * @param aAttributeFlags property of this attribute
-	 */
-	//OSN_IMPORT void SetAttribute( mulvisualitem::TVisualAttribute aName, const UString& aValue,int aAttributeFlags = 0 );
-	
-	/**
-	 * Add new attribute to visual item
-	 * 
-	 * @param aName name of attribute
-	 * @param aValue value of attribute
-	 * @param aAttributeFlags property of this attribute
-	 */
-	OSN_IMPORT void SetAttribute( mulvisualitem::TVisualAttribute aName, int aValue,int aAttributeFlags = 0 );
-	
-   /**
-     * Add new attribute to visual item
-     * 
-     * @param aName name of attribute
-     * @param aValue value of attribute
-     * @param aAttributeFlags property of this attribute
-     */
-    OSN_IMPORT void SetAttribute( mulvisualitem::TVisualAttribute aName, const TDesC& aValue ,int aAttributeFlags = 0 );
-	
-	/**
-	 * Add new attribute to visual item
-	 * 
-	 * @param aName name of attribute
-	 * @param aValue value of attribute 
-	 * @param aAttributeFlags property of this attribute
-	 * @param aAttributeOwership If the value is EDoesOwn then the ownership 
-	 *  of the attribute transfered to the visual item else not.
-	 */
-	OSN_IMPORT void SetAttribute( mulvisualitem::TVisualAttribute aName, IMulVariantType* aValue, 
-								  int aAttributeFlags = 0,TAttributeOwnership aAttributeOwership = EDoesOwn );
-	
-	/**
-	 * Return Value of specified attribute
-	 * 
-	 * @param aName name of attribute need to retrived
-	 * @return Value of attribute
-	 */
-	OSN_IMPORT IMulVariantType* Attribute( mulvisualitem::TVisualAttribute aName ) const;
-	
-	/**
-	 * Return Value of specified attribute as integer
-	 * 
-	 * @param aName name of attribute need to retrived
-	 * @return Value of attribute
-	 */
-	OSN_IMPORT int AttributeAsInt( mulvisualitem::TVisualAttribute aName ) const;
-	
-	/**
-	 * Return Value of specified attribute as String
-	 * 
-	 * @param aName name of attribute need to retrived
-	 * @return Value of attribute
-	 */
-	OSN_IMPORT const TDesC& AttributeAsString( mulvisualitem::TVisualAttribute aName ) const;
-	  
-	 /**
-	  * Return the existing attributes of the visual item
-	  * @return Vector of the names of the existing attributes
-	  */
-	 OSN_IMPORT const std::vector<mulvisualitem::TVisualAttribute> Attributes() const;
-
-
-	 /**
-	  * Return the bool value if attribute is dirty(updated and not redrawn)
-	  * @return bool Value of attribute dirty status
-	  */
-	 OSN_IMPORT bool IsDirty( mulvisualitem::TVisualAttribute aAttr ) const;
-	 
-	  
-	  /**
-	  * Return the flag of the attributes 
-	  * @param aName name of attribute need to retrived
-	  * @return Value of flag of the attribute 
-	  */
-	  int Flag( mulvisualitem::TVisualAttribute aName );
-	   
-	  /**
-	   * Remove attribute from visual item - required by garbage collector
-	   * 
-	   * @param aName Attribute name to be removed
-	   */
-	  void RemoveAttribute( mulvisualitem::TVisualAttribute aName );
-
-	 /**
-	  * Sets the dirty flag for a Visual attribute
-	  * @param aDirty sets dirty flag to true/false
-	  * @return void
-	  */
-	 void SetDirty(mulvisualitem::TVisualAttribute aAttr, bool aDirty);
-	 
-	 
-	 /**
-	  * Resets the dirty flag for a Visual attribute from input Visual item
-	  * @param const MulVisualItem& Visual item with input dirty flags
-	  * @return void
-	  */
-	 void ResetDirtyAttribute(const MulVisualItem& aVisualItem);
-	 
-	  	 	  
-private:
-
-	std::map< mulvisualitem::TVisualAttribute, MulAttribute* > mVisualItem;
-	// Attribute flags - indicates which attributes are dirty(need redrawing)
-	// Using 2 attributes to store 36 attributes (refer TVisualAttribute)
-	unsigned int mBitAttrFlag1;	// stores dirty bits of first 18 attributes
-	unsigned int mBitAttrFlag2;	// stores dirty bits of second 18 attributes
-	};
-	
-    } // namespace Alf	
-
-#endif //MULVISUALITEM_H
-
-//End of file
--- a/mmuifw_plat/mul_datamodel_api/mul_datamodel_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="8618a03bd07fa81f7fc7a78830f5d71e" dataversion="1.0">
-<name>mul datamodel api</name>
-<description>DataModel API</description>
-<type>c++</type>
-<subsystem>muldatamodel</subsystem>
-<libs><lib name="muldatamodel.lib"/>
-</libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/mul_sliderwidget_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2006 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:  File that exports the files belonging to 
-:                Slider widget API
-*
-*/
-
-#include <platform_paths.hrh>
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-../inc/mul/imulsliderwidget.h    MW_LAYER_PLATFORM_EXPORT_PATH(mul/imulsliderwidget.h)
-../inc/mul/imulslidermodel.h    MW_LAYER_PLATFORM_EXPORT_PATH(mul/imulslidermodel.h)
-../inc/mul/mulsliderproductids.h    MW_LAYER_PLATFORM_EXPORT_PATH(mul/mulsliderproductids.h)
--- a/mmuifw_plat/mul_sliderwidget_api/inc/mul/imulslidermodel.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +0,0 @@
-/*
-* 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:  Model interface with utilities for slider widget.
-*
-*/
-
-
-#ifndef I_MULSLIDERMODEL_H
-#define I_MULSLIDERMODEL_H
-
-
-//WidgetModel Includes
-#include <alf/ialfmodel.h>
-#include <mul/mulvisualitem.h>
-//#include <mul/imulsliderwidget.h>
-
-using namespace osncore;
-
-namespace Alf
-    {
-    	
-enum sliderTemplate
-     {
-     	ESliderTemplate1,
-     	ESliderTemplate2,
-     	ESliderTemplate3,
-     	ESliderTemplate4,
-     	ESliderTemplate5,
-     	ESliderTemplate6,
-     	ESliderTemplate7,
-     	ESliderTemplate8,
-     	ESliderTemplate9,
-     	ESliderTemplateNone
-     };
-namespace mulslidermodel
-    {
-    static const IfId ident =
-        {
-        0, "mulslidermodel"
-        };
-    }
-
-/**
- *  An interface of the slider model.
- */
-class IMulSliderModel : public IAlfModel
-    {
-
-public:
-
-    /**
-     * Getter for the type identifier of this interface.
-     *
-     * @return A descriptor to identify the type of this interface.
-     */
-    static inline const IfId& type()
-        {
-        return mulslidermodel::ident;
-        } 
-        
-   /**
-		 * Change slider related attributes within the model.
-		 *
-		 * @param aSliderItem Slider data to be changed.
-		 *
-		 */
-		virtual void SetData(const MulVisualItem& aSliderItem) = 0;
-
-		/**
-		 * Return a collection of all the slider attributes.
-		 * 
-		 * @return A visual item containing the slider attributes. 
-		 */
-		virtual const MulVisualItem& Data() const = 0;
-		
-   /**
-		 * Set the value of the primary thumb.
-		 *
-		 * @param aValue Position of the primary thumb.
-		 *  
-		 */
-	virtual void SetPrimaryValue(int aValue) = 0;
-
-	/**
-	 * Return the value of the primary thumb of the slider.
-	 *
-	 *  @return Value of the primary thumb.
-	 *  
-	 */
-	virtual int PrimaryValue() const = 0;
-	
-	/**
-	 * Set the value of the secondary thumb.
-	 *
-	 * @param aValue Position of the secondary thumb.
-	 *  
-	 */
-	virtual void SetSecondaryValue(int aValue) = 0;
-
-	/**
-	 * Return the value of the secondary thumb of the slider.
-	 *
-	 *  @return Value of the secondary thumb.
-	 *  
-	 */
-	virtual int SecondaryValue() const = 0;
-
-	/**
-	 * Return the total number of ticks.
-	 *
-	 *  @return Number of ticks (int)
-	 *  
-	 */
-	virtual int TotalTicks() const = 0;
-
-
-	/**
-	 * Set Template that will be used to represent data.
-	 * 
-	 * @param aTemplateId Template associated with the widget.
-	 * 
-	 */
-	 
-	virtual void SetTemplate( sliderTemplate aTemplateId) = 0;
- /**
-	 * Get Template that will be used to represent data.
-	 * 
-	 * @param aTemplateId Template associated with the widget.
-	 * 
-	 */	
-	virtual sliderTemplate GetTemplate() = 0;
- /**
-	 * API to set text on the right side of Slider.
-	 * 
-	 * @param aRightText - Text that has to be Displayed.
-	 * 
-	 */	
-	
-	virtual void SetRightText(char* aRightText) = 0;
-	/**
-	 * API to Get text on the right side of Slider.
-	 * 
-	 */	
-	
-	virtual const char* GetRightText() = 0;
-	/**
-	 * API to set text on the Left side of Slider.
-	 * 
-	 * @param aLeftText - Text that has to be Displayed.
-	 * 
-	 */	
-	
-	virtual void SetLeftText(char* aLeftText) = 0;
-	/**
-	 * API to Get text on the Left side of Slider.
-	 * 
-	 */	
-	virtual const char* GetLeftText() = 0;
-	/**
-	 * API to set the Percentage of Slider movement on Track.
-	 * 
-	 * @param aPercText - Text that has to be Displayed.
-	 * 
-	 */
-	virtual void SetPercentText(char* aPercText) = 0;
-	/**
-	 * API to indicate the percentage movement of Thumb on Track.
-	 * 
-	 */			
-	virtual const char* GetPercentText() = 0;
-	/**
-	 * API to set the Minimum value of Track.
-	 * 
-	 * @param aMinRange - Minimum value for the start of the track.
-	 * 
-	 */
-	virtual void SetMinRange(int aMinRange) = 0;
-	/**
-	 * API to retrieve the Minimum value of Track.
-	 * 
-	 */
-	virtual int MinRange()const = 0;
-	/**
-	 * API to set the Maximum value of Track.
-	 * 
-	 * @param aMaxRange - Maximum value for the start of the track.
-	 * 
-	 */				
-	virtual void SetMaxRange(int aMaxRange) = 0;
-	/**
-	 * API to retrieve the Maximum value of Track.
-	 * 
-	 */
-	
-	virtual int MaxRange()const = 0;
-	/**
-	 * API to set Tick value for Slider.
-	 * 
-	 * @param aTick - Interger value for representing the tick.
-	 * 
-	 */
-	virtual void SetTick(int aTick) = 0;
-	/**
-	 * API to retrieve the tick value.
-	 * 
-	 */
-	virtual int Tick()const = 0;
-    };
-
-    } // namespace Alf
-
-#endif // I_MULSLIDERMODEL_H
-//End Of File
--- a/mmuifw_plat/mul_sliderwidget_api/inc/mul/imulsliderwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +0,0 @@
-/*
-* 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
--- a/mmuifw_plat/mul_sliderwidget_api/inc/mul/mulsliderproductids.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* 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 MUL_SLIDERPRODUCTIDS_H
-#define MUL_SLIDERPRODUCTIDS_H
-
-static const char* const KSliderWidget = "mulsliderwidget";
-static const char* const KSliderModel = "mulslidermodel";
-static const char* const KSliderVerticalElement    = 
-                         "sliderverticalelement";
-static const char* const KSliderHorizontalElement = 
-                         "sliderhorizontalelement";
-static const char* const KSliderProgressbarElement = 
-                         "sliderprogressbarelement";
-#endif // MUL_SLIDERPRODUCTIDS_H
-//End Of File
--- a/mmuifw_plat/mul_sliderwidget_api/mul_sliderwidget_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" ?>
-<api id="89b9b8171e9bb98e77cedc47d0f546fc" dataversion="1.0">
-<name>mul sliderwidget api</name>
-<description>API for MulSliderWidget</description>
-<type>c++</type>
-<subsystem>mulsliderwidget</subsystem>
-<libs></libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/mul_widget_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2006 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:  File that exports the files belonging to 
-:                widget API
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-../inc/mul/imulwidget.h                       MW_LAYER_PLATFORM_EXPORT_PATH(mul/imulwidget.h)
-../inc/mul/imulwidgetdef.h                    MW_LAYER_PLATFORM_EXPORT_PATH(mul/imulwidgetdef.h)
-../inc/mul/imulmultiitemwidget.h              MW_LAYER_PLATFORM_EXPORT_PATH(mul/imulmultiitemwidget.h)
-../inc/mul/mulevent.h                         MW_LAYER_PLATFORM_EXPORT_PATH(mul/mulevent.h)
-
--- a/mmuifw_plat/mul_widget_api/inc/mul/imulmultiitemwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,328 +0,0 @@
-/*
-* 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:  The base class for Multimedia multi-item widgets.
- *
-*/
-
-
-#ifndef I_MULMULTIITEMWIDGET_H
-#define I_MULMULTIITEMWIDGET_H
-
-// Includes
-#include <mul/imulwidget.h>
-
-// Namespaces used
-using namespace osncore;
-
-namespace Alf
-	{
-	    
-    // Forward declaration
-	class IMulModelAccessor;
-	
-	namespace mulmultiitemwidget
-		{
-		static const IfId Ident=
-			{
-			0, "mulmultiitemwidget"
-			};
-		}
-
-	/*! @class IMulMultiItemWidget
-	 *  @brief An interface for all Multimedia multi-item widgets.
-	 */
-	class IMulMultiItemWidget : public IMulWidget
-		{
-	public:
-
-		/*! @enum TMulWidgetPropertiesFlag
-		 * This enumeration defines some properties for the widgets. These can
-		 * be enabled or disabled for individual widget instances.
-		 */
-		enum TMulWidgetPropertiesFlag
-			{
-			EMulWidgetFlagFastScroll = 0x0001, /*!< Enable fast scroll.*/ 
-            EMulWidgetFlagCyclic = 0x0002, /*!< Enable cyclic/looping effect on widget.*/
-            EMulWidgetFlagNaviScroll = 0x0004,  /*!< Enable navi scroll support.*/
-            EMulWidgetFlagCenterFocus = 0x0008, /*!<Deprecated.*/
-            EMulWidgetFlagMultiSelect = 0x0010, /*!< Enable multiple marking/selection in widget. EMulWidgetMarkingMode must be enabled*/
-            EMulWidgetFlagVisible = 0x0020,  /*!< Attribute is of type String.*/
-            EMulWidgetMarkingMode = 0x0040, /*!< Enable marking/selection in widget.Only one item can be marked with this flag*/
-            EMulWidgetFlagDrag = 0x0080, /*!< Enable draging support.*/
-            EMulWidgetImageScaleMode = 0x0100, /*!< Deprecated.*/
-            EMulWidgetFlagSwap = 0x0200, /*!< Applicable only for grid widget for swaping item instead of reorder.*/
-            EMulWidgetFlagSingleTap = 0x0800, /*!< Enable single tap item selection.*/
-            EMulWidgetTitleMarqueeOn = 0x1000, /*!< Enable title marquee for list widget.*/
-            EMulWidgetDoubleTap = 0x0400/*!< Enable double tap .*/ 
-			};
-			
-		/*! @enum TMulAttributeDataType
-	     * This enumeration defines the attribute data types
-	     * 
-	     */
-		enum TMulAttributeDataType
-	    	{
-			EString = 1,    /*!< Attribute is of type String.*/
-			EDate,          /*!< Attribute is of type Date.*/
-			ENumeric        /*!< Attribute is of type Numeric.*/
-    		};
-    	/*! @enum TMulReOrderMode
-    	 *
-    	 *	This enumeration defines the Reorder mode
-    	 */
-    	enum TMulReOrderMode
-    	    {
-    	    EReorderShiftOn =1,   /*!< Switch On the Reorder Mode, and Type will be Shift */
-    	    EReorderSwapOn,		  /*!< Switch On the Reorder Mode, and Type will be Swap */
-  	  		EReorderDone,       /*!< Switch Off the Reorder Mode after committing  the reorder changes.*/
-    	    EReorderCancel        /*!< Switch Off the Reorder Mode, with Last Operation Cancel*/    		    		
-          };	
-    		
-		/**
-		 * Returns the type identifier of this interface.
-		 *
-		 * @return A descriptor to identify the type of this interface.
-		 */
-		static inline const IfId& Type()
-			{
-			return mulmultiitemwidget::Ident;
-		}
-
-		/**
-		 * Set a property or a group of properties. Properties not specified are not changed.
-		 *
-		 * @param aAnyFlag Property flag(s) to be set. To set more than one property,  
-		 *                  flags can be ORed.
-		 * @throw Invalid argument, if unknown/undefined flag is passed.
-		 * @throw Invalid argument, if the property is not supported by the widget.
-		 *
-		 * <B>Examples:</b>
-		 * @code
-		 * Set the flag for selection.
-		 *
-		 *      mListWidget->SetFlags( IMulMultiItemWidget::EMulWidgetFlagMultiSelect );
-		 * @endcode
-		 */
-		virtual void SetFlags(unsigned int aAnyFlag) = 0;
-
-		/**
-		 * Clear a property or a group of properties. Properties not specified are not changed.
-		 *
-		 * @param aAnyFlag  Property flag(s) to be cleared. To clear more than one property,
-		 *                  the flags can be ORed.
-		 * @throw Invalid argument, if unknown/undefined flag is passed.
-		 * @throw Invalid argument, if the property is not supported by the widget.
-		 *
-		 * <B>Examples:</b>
-		 * @code
-		 * Clear the flag for selection.
-		 *
-		 *  	mListWidget->ClearFlags( IMulMultiItemWidget::EMulWidgetFlagMultiSelect );
-		 * @endcode		 
-		 */
-		virtual void ClearFlags(unsigned int aAnyFlag) = 0;
-
-		/**
-		 * Return the status of all the flags. The flags that are set have the 
-		 * corresponding bit ON.
-		 *
-		 * @return All enabled flag(s). The corresponding bit for enabled flag(s) are set to 1.
-		 *
-		 * <B>Examples:</b>
-		 * @code
-		 * Get all flags status.
-		 *
-		 *  	int allFlags = mListWidget->GetFlags();
-		 * @endcode		 
-		 */
-		virtual unsigned int GetFlags() const = 0;
-
-		/**
-		 * Returns the property state, whether flag is on or off for widget.
-		 *
-		 * @param aAnyFlag  Flag to be cross-checked
-		 * @return True if set, False if not set
-		 *
-		 * <B>Examples:</b>
-		 * @code
-		 * Check if the cyclic flag is set
-		 *  
-		 *      if( mListWidget->IsFlagSet( IMulMultiItemWidget::EMulWidgetFlagCyclic ) )
-		 *          {
-		 *          ...
-		 *          }
-		 * @endcode		 
-		 */
-		virtual bool IsFlagSet(TMulWidgetPropertiesFlag aAnyFlag) const = 0;
-		
-        /**
-		 * Provide an empty text for the widget. This text is shown if there is no
-		 * data to be displayed in the widget. Widget makes a copy of the variable
-		 * and it is safe to call it many times.
-		 *
-		 * @param aDefaultText Text to be displayed in empty widget
-		 *
-		 * <B>Examples:</b>
-		 * @code
-		 * Set the empty text to "No Images"
-		 *
-		 *      mListWidget->SetEmptyText( UString("No Images") );
-		 * @endcode
-		 */
-		virtual void SetEmptyText( const UString& aDefaultText ) = 0;
-
-		/**
-		 * Set the data model for this widget. Widget uses the data model via 
-		 * IMulModelBase interface because it needs to know only limited functionality 
-		 * about the data model.
-		 *
-		 * @param aModel  Model to be set for widget.
-		 * @param aOwnership Flag which conveys the widget whether it should take 
-		 * the ownersip of the model or not.
-		 * @throw Logic error, if same accessor object passed again.
-		 *
-		 * <B>Examples:</b>
-		 * @code
-		 * Create the data model using widget factory and assign it to a widget.
-		 *
-		 *      mWidgetModel = widgetFactory.createModel<IMulModel> (KLoadNameModel);
-		 *
-         * Set the default visualization for the list items. If the visualization is not 
-         * specified there will be a panic when the model is assigned to the widget.
-         *
-	     *      mWidgetModel->SetTemplate( UString ( mulwidget::KTemplate6));
-	     *
-	     * Setting the data model to the widget. 
-         * 
-	     *      AddItems(10);
-	     *      mListWidget->SetModel( mWidgetModel);
-		 * @endcode
-		 */
-	//	virtual void SetModel(IMulModelBase* aModel, bool aOwnership) = 0;		
-		
-    	/**
-    	 * Set the state of the mark mode.
-    	 *
-    	 * @param aFlag True means mode is On, False means mode is Off.
-    	 *
-		 * <B>Examples:</b>
-		 * @code
-		 * Switch on the mark mode.
-		 *
-		 *      mListWidget->SetMarkMode(true);
-		 * @endcode
-    	 */
-        virtual void SetMarkMode(bool aFlag) = 0;
-    
-        /**
-    	 * Returns the state of the mark mode.
-    	 *
-    	 * @return  Status of the mark mode.
-    	 *
-		 * <B>Examples:</b>
-		 * @code
-		 * Check if the mark mode is On.
-		 *
-		 *      if( mListWidget->IsMarkMode() )
-		 *          {
-		 *          ...
-		 *          }
-		 * @endcode
-    	 */
-    	virtual bool IsMarkMode()const = 0;
-
-        /**
-    	 * Set the state of the reorder mode.
-    	 *
-    	 * @param aFlag EReorderShiftOn    : Switch on reorder mode in type shift.
-    	 *				EReorderSwapOn     : Switch on reorder mode in type swap.
-    	 *			      EReorderDone       : Switch Off the reorder with operatoin done
-    	 *              EReorderCancel     : Switch off the reorder mode with cancel last operation.
-    	 *
-		 * <B>Examples:</b>
-		 * @code
-		 * Switch on the reorder mode.
-		 *
-		 *      mListWidget->SetReorderMode(IMulMultiItemWidget::EReorderShiftOn);
-		 * @endcode
-    	 */    	
-    	virtual void SetReorderMode(IMulMultiItemWidget::TMulReOrderMode aReorderMode ) = 0;
-		
-		
-		/**
-		 * Returns whether reorder mode on/off.
-		 *
-		 * @return  Reorder Mode On/Off Status.
-		 *
-		 * <B>Examples:</b>
-		 * @code
-		 * Check if the reorder mode is On.
-		 *
-		 *      if( mListWidget->IsReorderModeOn() )
-		 *          {
-		 *          ...
-		 *          }
-		 * @endcode
-		 */    	 
-    	virtual bool IsReorderModeOn()const = 0 ;
-    	
-    		
-    	/**
-    	 * During fast scroll mode, the widget displays an overlay with more info.
-    	 * Setter API for the overlay strip.
-    	 *
-    	 * @param aType Attribute data type
-    	 * @param aAttribute Attribute whose value will be shown in the overlay
-    	 * @param aFormat Format string for formatting the value of the attribute
-    	 *
-    	 * <B>Examples:</b>
-		 * @code
-		 * Set the overlay to display (Month, Year) as more info.
-		 *
-		 *      mListWidget->SetOverlay( IMulMultiItemWidget::EDate, 
-		 *          UString(mulvisualitem::KMulDetail),
-		 *          UString("") );
-		 * @endcode
-    	 */
-    	virtual void SetOverlay(TMulAttributeDataType aType, const UString& aAttribute, const UString& aFormat) = 0 ;
-    	
-		/**
-		 * Sets the default image of the widget.
-		 * This image will be shown when the actual image data is not available
-		 *
-		 * @param aTextureId texture id to be used for default image.
-		 *
-		 * <B>Examples:</b>
-		 * @code
-		 * Set default image in coverflow widget. 
-		 *
-		 *     mCoverFlowWidget->SetDefaultImage( 1000 );
-		 * 
-		 * @endcode
-		 */
-       virtual  void SetDefaultImage(int aTextureId) = 0;          	
-	
-		/** 
-		 * Virtual destructor. 
-		 */
-		virtual ~IMulMultiItemWidget()
-			{
-			}
-
-		};
-
-	} // namespace Alf
-
-#endif // I_MULMULTIITEMWIDGET_H
-
--- a/mmuifw_plat/mul_widget_api/inc/mul/imulwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +0,0 @@
-/*
-* 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:  The base class for all Multimedia widgets.
- *
-*/
-
-
-#ifndef I_MULWIDGET_H
-#define I_MULWIDGET_H
-
-#include <alf/alftypes.h>
-#include <alf/ialfwidgeteventhandler.h>
-#include <alf/ialfinterfacebase.h>
-#include <alf/ialfwidget.h> 
-#include <alf/alflayout.h> 
-#include <mul/mulvisualitem.h>
-#include <e32base.h>
-#include <gdi.h>
-#include <osn/ustring.h>
-
-using namespace osncore;
-
-// Include widget observer 
-
-namespace Alf
-	{
-	class IMulModelAccessor;
-
-	namespace mulwidget
-		{
-		static const IfId Ident=
-			{
-					0, "mulwidget"
-			};
-			
-		enum TLogicalTemplate
-			{
-			KTemplateUnknown = 0,
-			KTemplate1 ,
-			KTemplate2,
-			KTemplate3,
-			KTemplate4,
-			KTemplate5,
-			KTemplate6,
-			KTemplate7,
-			KTemplate8,
-			KTemplate9,
-			KTemplate10,
-			KTemplate11,
-			KTemplate12,
-			KTemplate13,
-			KTemplate14
-			};
-		/*
-		static const char* const KTemplate1 = "logical_template_1";
-		static const char* const KTemplate2 = "logical_template_2";
-		static const char* const KTemplate3 = "logical_template_3";
-		static const char* const KTemplate4 = "logical_template_4";
-		static const char* const KTemplate5 = "logical_template_5";
-		static const char* const KTemplate6 = "logical_template_6";
-		static const char* const KTemplate7 = "logical_template_7";
-		static const char* const KTemplate8 = "logical_template_8";
-		static const char* const KTemplate9 = "logical_template_9";
-		static const char* const KTemplate10 = "logical_template_10";
-		static const char* const KTemplate11 = "logical_template_11";
-		static const char* const KTemplate12 = "logical_template_12";
-		static const char* const KTemplate13 = "logical_template_13";
-		static const char* const KTemplate14 = "logical_template_14";
-		*/
-		}
-
-	/**
-	 *  An interface for all Multimedia widgets.
-	 *  Widgets consist of control and visualization elements.
-	 *  Model owned by the application.
-	 * 	
-	 *	Interface paradigm would be used in a restrictive way.
-	 *  Controls are owned by Alfred environment.
-	 *  Widgets can be constructed using the widget factory.
-	 *  Widgets are owned and accessed using the Alfred
-	 *  environment.
-	 */
-	class IMulWidget : public IAlfWidget // base class 
-		{
-	public:
-	
-		/*! @enum TMulVisualEffect
-		 * This enumeration defines Visual effect that widget support
-		 * 
-		 */
-		enum TMulVisualEffect
-		    {
-			EHighlightTransition = 1    /*!< Highlight transition effect.*/
-	    	};
-
-    	enum TMulVisualType
-			{
-			ETextVisual = 1,    /*!< Color of the text in the widgets.*/
-			ECoverflowCounterVisual,     /*!< Color of the Counter text in the Coverflow Widget.*/
-			EItemBackgroundBrush,         /*!< Color of the Item brush in the Widget.*/  
-			EThumbnailBackgroundBrush		/*!< Color for the background of the thumbnail image. Currently used in list widget only.*/
-			};
-			
-		/*! @enum TMulRotation
-		 * This enumeration defines Rotation effect that widget supports
-		 * 
-		 */		
-		enum TMulRotation
-			{
-			ERotateLeft = 1, /*!< For left rotation*/
-			ERotateRight	/*!< For right rotation*/
-			};	
-    	
-		/**
-		 * Getter for the type identifier of this interface.
-		 *
-		 * @return A descriptor to identify the type of this interface.
-		 **/
-		static inline const IfId& Type()
-			{
-			return mulwidget::Ident;
-			}
-
-		/**
-		 * Set the data model for this widget.  Widget uses the data model via 
-		 * IMulModelAccessor interface. Does not take ownership of the accessor
-		 * and there can be only one accessor to the widget at any point. This 
-		 * will remove the binding to previous accessor, if any. Before 
-		 * deleting the accessor application should remove the binding to 
-		 * widget by calling the api by passing NULL.
-		 *
-		 * @param aAccessor  model to be set for widget
-		 */
-		virtual void SetModel(IMulModelAccessor* aAccessor , bool aFlag = true) = 0;
-
-		/**
-		 * Set the size and position of the widget.All parameter values are in pixels and are relevant 
-		 * to the parent of the widget.
-		 *
-		 * @param aLeftMargin  margin for the left border (top left x co-ordinate value)
-		 * @param aTopmargin   margin for the top border (top left y co-ordinate value)
-		 * @param aHeight      height of widget
-		 * @param aWidth       width of widget
-		 * @param aTransitionTime       Transition Time in MilliSeconds
-		 */
-		virtual void SetRect(int aLeftMargin, int aTopmargin, int aHeight,
-				int aWidth, int aTransitionTime =0) = 0;
-
-		/**
-		 * To hide and unhide Widget.
-		 *
-		 * @param aShow                 value to hide/unhide the Widget 
-		 * @param aTransitionTime       Transition Time in MilliSeconds
-		 */
-		virtual void ShowWidget(bool aShow, int aTransitionTime =0) = 0;
-		
-		/**
-		 * Get the icon size from the template
-		 *
-		 * @param atemplateId           Logical Template Id 
-		 * @param aAttribute            Attribute name of the Icon
-		 * @param aHeight               Height of the Icon
-		 * @param aWidth                Width of the Icon
-		 */
-		virtual void GetIconSize( mulwidget::TLogicalTemplate aTemplateId, 
-		    mulvisualitem::TVisualAttribute aAttribute, int& aHeight, int& aWidth) = 0;
-
-		/**
-		 * Get the icon size from the template
-		 *
-		 * @param aAttribute            Attribute name of the Icon
-		 * @param aHeight               Height of the Icon
-		 * @param aWidth                Width of the Icon
-		 */
-		virtual void GetIconSize( 
-		    mulvisualitem::TVisualAttribute aAttribute, int& aHeight, int& aWidth) = 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;  
-		
-		/**
-		* Get the Container Layout for widget.
-		*
-		* @return Container layout of the widget. This can be used to set the position of widget.
-		*/
-		virtual const CAlfLayout& ContainerLayout() = 0;
-		
-		
-		/**
-		 * Set Transaction/Animation time for variaous visual effect.
-		 *
-		 * @param aVisualEffect         Visual effect to which animation time/transation time to set
-		 * @param aTransitionTime       Transition Time in MilliSeconds
-		 *
-		 * <B>Examples:</b>
-		 * @code
-		 * Set the animation time.
-		 *
-		 *      mListWidget->SetAnimationTime( TMulVisualEffect::EHighlightTransition, 1000 );
-		 * @endcode
-		 */
-		virtual void SetAnimationTime( TMulVisualEffect aVisualEffect, int aTransitionTime = 0 ) = 0;
-		 
-		/**
-		 * Set the color and opacity of the visual for various visuals as per the widget.
-		 *  Also used to set the background transparent.
-		 *
-		 * @param aVisualType visual to which color is to be applied.
-		 * @param aColor RGB color
-		 *
-		 * NOTE: TRgb with the alpha is mandatory .,if application doesnt sets the alpha results in the 0-opacity-Transparent.
-		 *        so applications always should use TRgb with alpha constructor: like- TRgb(TUint32 color,TInt alpha);
-		 * 
-		 * <B>Examples: To Set the color and opacity of the thumbnail background </b>
-		 * @code
-		 * Set the color and alpha of the visual.0x008090 and 0 respectively.
-		 *
-		 * iMyWidget->SetVisualColor( TMulVisualColor::EThumbnailBackgroundColor, TRgb(0x008090,0) );
-		 * Here 0(zero) implies opacity - 1. 
-		 * @endcode
-		 * 
-         * <B>Examples: To make the background Transparent </b>
-         * @code
-         * Set the color and alpha of the visual.0x008090 and 255 respectively.
-         *
-         * iMyWidget->SetVisualColor( TMulVisualColor::EThumbnailBackgroundColor, TRgb(0x008090,255) );
-         * Here 255 alpha implies Transparent Background.No matter what the color is.
-         * @endcode
-		 * 		 
-		 */
-		virtual void SetVisualColor( TMulVisualType aVisualType , const TRgb& aColor ) = 0;
- 
-		    
-		/** 
-		 *
-		 Virtual destructor. 
-		 **/
-		virtual ~IMulWidget()
-			{
-			}
-
-		};
-
-	} // namespace Alf
-
-#endif // I_MULWIDGET_H
-
--- a/mmuifw_plat/mul_widget_api/inc/mul/imulwidgetdef.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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 definations
-*
-*/
-
-
-#ifndef I_MULWIDGETDEF_H_
-#define I_MULWIDGETDEF_H_
-
-namespace Alf
-	{
-	
-class MulWidgetDef
-    {
-
-public: //enum
-    /** Marking enums */        	
-    enum TMulWidgetMarkingType
-        {
-    	EMulMark=1,
-    	EMulUnmark,
-    	EMulMarkAll,
-    	EMulUnmarkAll
-    	};
-    	
-    };
-    
-	}// namespace Alf
-
-#endif // I_MULWIDGETDEF_H_
\ No newline at end of file
--- a/mmuifw_plat/mul_widget_api/inc/mul/mulevent.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Event class.
-*
-*/
-
-
-#ifndef T_MULEVENT_H
-#define T_MULEVENT_H
-
-namespace Alf
-{
-    enum TMulEventType
-        {
-        ETypeHighlight= 200, 		        /*!< A message regarding an item getting highlighted.
-                                         *  Data for the event will be the highlighted index(int).*/
-        ETypeSelect,			        /*!< a message regarding an item getting selected.
-                                         *  Data for the event will be the selected index(int).*/
-        ETypeDoubleTap,			        /*!< a message regarding an item getting double tapped.
-                                         *  Data for the event will be the selected index(int).*/
-        ETypeMark,		                /*!< a message regarding start/stop of marking.
-                                         *  Data for the event will be marking state(TMulMarkState).*/
-        ETypeFastScroll,	            /*!< a message regarding start/stop of fast scrolling
-                                         *  Data for the event will be fast scrolling state(TMulFastScrollState).*/
-        ETypePrimaryValueChange,		/*!< a message regarding slider primary value getting changed
-                                         *  Data for the event will be previous & current value 
-                                         *  encapsulated within TMulSliderPos.*/
-        ETypeSecondaryValueChange,	    /*!< a message regarding slider secondary value getting changed
-                                         *  Data for the event will be previous & current value 
-                                         *  encapsulated within TMulSliderPos.*/
-        ETypeAction,                     /*!< a message regarding an action item being selected
-                                         *  Data for the action event will be encapsulated within TMulActionItem.*/
-                                         
-        ETypeRemove,                     /*!< a message regarding an item has to be removed.
-                                         * Data for the event will be the highlighted index(int).*/
-                                         
-        ECustomEventMarqueeFinished,     /*!< A message regarding marquee Finished.
-                                         *  no custom data required.*/
-        
-        ECustomEventMarqueeStart,        /*!< A message regarding marquee started.
-                                         *  no custom data required.*/ 
-                                         
-        ECustomEventIconClick,            /*!< A message regarding clicking on icon.
-                                         *  no custom data required.*/ 
-                                         
-        EMulEventReorder,                 /*!< Data for the event will be previous and current index
-                                         *  encapsulated within MulReorderValues .*/               
-
-        EMulEventSwap,                    /*!< Data for the event will be previous and current index
-                                         *  encapsulated within MulReorderValues .*/
-
-        EMulEditorUpdated,                /*!< A message regarding plain text editor of an item is changed.
-                                         *  Data for the event will be the item index(int).*/
-                                                                                         
-        ECustomHighlightClearTransition,  /*!< A message regarding transition after clear focus and before set focus finished.
-                                           *  no custom data required.*/
-        
-        ECustomHighlightFocusTransition,   /*!< A message regarding transition after set focus finished.
-                                            *no custom data required.*/
-                                           
-        ETypeItemMarked,                    /*!< a message regarding an item getting marked.
-                                             * Data for the event will be the marked index(int).*/
-                                                 
-        ETypeItemUnmarked,                  	 /*!< a message regarding an item getting unmarked.
-                                            	 * Data for the event will be the unmarked index(int).*/
-                                         
-        ECustomEventTitleMarqueeFinished,     	 /*!< A message regarding title marquee Finished.
-                                         	  	 * no custom data required.*/
-                                         
-        ECustomEventDetailMarqueeStart,    		/*!< A message regarding detail marquee started.
-                                            	 *  no custom data required.*/ 
-                                            	 
-        ECustomEventContinuousScroll, 			/*!< A message regarding Continuous Scrolling.
-                                         		*  Data for the event is the View Start Position.*/
-       
-        ESliderDrag, 				  			/*!< A message regarding Slider starting the drag
-                                         		*/
-			                                   
-		EVideoIconSelect,          				/*!< A message regarding there was tap on the video icon of the Coverflow widget full screen template.
-			                                   	*  no custom data required.*/  
-			                                   	
-		ECustomEventVisiblePageIndexChanged,	/*!< a message regarding change of visible page
-                                               	* Data for the event will be the first index of the new visible page.*/ 
-                                               	
-		ETypeSwitchUiStateOnDrag,                /*!< a message to switch off the ui when drag starts.
-                                               	* no custom data required. This event is specific to coverflow widget*/
-		
-		ECustomEventIconRelease,                /*!< A message regarding release on icon.
-                                                * no custom data required. */   
-		
-		ETypePinch                /*!< A message regarding a multitouch pinch gesture identified in coverflow */                                                 
-        };
-                                                       
-        
-    /*! @enum TMulMarkState
-     * Marking state of the widget.
-     */
-    enum TMulMarkState
-        {
-        EMarkStart,         /*!< A state which indicates that the marking has started.*/
-        EMarkStop           /*!< A state which indicates that the marking has stopped.*/
-        };
-        
-    /*! @enum TMulFastScrollState
-     * Fast Scroll State of the widget.
-     */
-    enum TMulFastScrollState
-        {
-        EScrollStart,       /*!< A state which indicates that the fast scrolling has started.*/
-        EScrollSmallIcon,   /*!< A state which indicates that the fast scrolling is using 
-                             *   the smaller size of the thumbnails.*/
-        EScrollLargeIcon,   /*!< A state which indicates that the fast scrolling is using 
-                             *   the larger size of the thumbnails.*/
-        EScrollStop         /*!< A state which indicates that the fast scrolling has stopped.*/
-        };
-        
-    /*! @struct TMulSliderPos 
-     * The structure holds the data change details of the slider. It stores both the previous
-     * value and current value of the slider thumb.
-     */
-    struct MulSliderPos
-        {
-        /* @var Original value of the slider thumb.*/
-        int mPreviousValue;     
-        
-        /* @var New value of the slider thumb.*/
-        int mCurrentValue;      
-        };
-    
-   struct MulReorderValues
-        {
-        /* @var old value of the item index.*/
-        int mOldIndex;     
-        
-        /* @var New value of the item index */
-        int mNewIndex;      
-        };    
-   
-   struct MulDoubleTapData
-       {
-       TPoint mDoubleTapPoint;
-       TInt mTapVisualIndex;
-       MulDoubleTapData() {
-       mDoubleTapPoint.SetXY(0,0);
-       mTapVisualIndex = -1 ;
-       }
-       }; // end of structure
-       
-        
-}//namespacealf
-#endif // T_MULEVENT_H
--- a/mmuifw_plat/mul_widget_api/inc/mul/muluiaccelinc.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2006 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:  UIAccelerator Include File.
-*
-*/
-
-
-#ifndef MULUIACCELINC_H
-#define MULUIACCELINC_H
-
-#include "../../../../../../../antriksh/group/stdinc.mmh"
-
-#endif // MULUIACCELINC_H
--- a/mmuifw_plat/mul_widget_api/mul_widget_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" ?>
-<api id="8f1254bbe97dc5cf1f41aa8528ac7637" dataversion="1.0">
-<name>mul widget api</name>
-<description>API for mulwidget</description>
-<type>c++</type>
-<subsystem>mulwidget</subsystem>
-<libs></libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/osn_container_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2006 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:  File that exports the files belonging to 
-:                ALF widget factory API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/osn/alfptrvector.h         MW_LAYER_PLATFORM_EXPORT_PATH(osn/alfptrvector.h)
-../inc/osn/alfptrvectorimpl.h     MW_LAYER_PLATFORM_EXPORT_PATH(osn/alfptrvectorimpl.h)
\ No newline at end of file
--- a/mmuifw_plat/osn_container_api/inc/osn/alfptrvector.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +0,0 @@
-/*
-* 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:  vector implementation
- *
-*/
-
-
-#ifndef ALF_PTRVECTOR_H
-#define ALF_PTRVECTOR_H
-
-
-#include <osn/osntypes.h>
-#include <osn/alfptrvectorimpl.h>
-
-namespace osncore
-{
-
-/**
-*  @deprecated Use STL vector
-*  @class AlfPtrVector alfptrvector.h "osn/alfptrvector.h"
-*  Template class for a pointer vector
-*
-*  @lib osncore.lib
-*  @since S60 5.0
-*  @status Draft
-*  @interfaces AlfPtrVector
-*/
-template<class T>
-class AlfPtrVector: public IDeleter
-    {
-public:
-    /**
-     * @deprecated Use STL vector
-     * Default constructor for vector.
-     * By default contents are automatically deleted
-     * when destructor is called.
-     *
-     * @since S60 5.0
-     */
-    AlfPtrVector() : mImpl(*this),mDelItem(true) {}
-
-    /**
-     * @deprecated Use STL vector
-     * Constructor for vector with some default size.
-     * Size can be increased or decreased afterwards.
-     *
-     * @since S60 5.0
-     * @param aSize Default size of vector.
-     */
-    explicit AlfPtrVector(uint aSize) : mImpl(aSize,*this),mDelItem(true) {}
-
-    /**
-     * @deprecated Use STL vector
-     * Destructor.
-     */
-     ~AlfPtrVector()  { if (mDelItem) { mImpl.clear(mDelItem); } }
-
-    /**
-     * @deprecated Use STL vector
-     * Returns the value of auto delete property.
-     *
-     * @since S60 5.0
-     * @return true or false.
-     */
-     bool autoDelete() { return mDelItem; }
-
-    /**
-     * @deprecated Use STL vector
-     * Sets the auto delete property of vector.
-     *
-     * @since S60 5.0
-     * @param aAutoDelete Value(true/false) of the property.Default value is true.
-     */
-     void setAutoDelete(bool aAutoDelete=true) { mDelItem = aAutoDelete; }
-
-    /**
-     * Deletes all items of vector.
-     *
-     * @since S60 5.0
-     */
-     void clear() { mImpl.clear(mDelItem); } 
-
-    /**
-     * @deprecated Use STL vector
-     * Checks if there are some items in vector.
-     *
-     * @since S60 5.0
-     * @return true or false.
-     */
-     bool isEmpty()  const { return mImpl.isEmpty(); } 
-
-    /**
-     * @deprecated Use STL vector
-     * Returns number of items in vector.
-     *
-     * @since S60 5.0
-     * @return number of items in vector.
-     */
-     uint count()  const  { return mImpl.count(); }
-
-    /**
-     * @deprecated Use STL vector
-     * Returns the size in bytes occupied by vector.
-     *
-     * @since S60 5.0
-     * @return number of bytes used by vector.
-     */
-     uint size()  const  { return mImpl.size(); }
-
-    /**
-     * @deprecated Use STL vector
-     * Removes the item from vector at given position.
-     * Item will be automatically deleted if auto delete
-     * property is set to true.
-     *
-     * @since S60 5.0
-     * @param aPos Position of the item to be removed.
-     * @return true/false to indicate if item has been removed.
-     */
-     bool remove(uint aPos) { return mImpl.remove(aPos, mDelItem); }
-
-    /**
-     * @deprecated Use STL vector
-     * Resizes the vector to new size. Existing items in
-     * the vector will be restored if auto delete property is false.
-     *
-     * @since S60 5.0
-     * @param aSize New size in bytes.
-     * @return true/false to indicate if item has been resized.
-     */
-     bool resize(uint aSize) { return mImpl.resize(aSize, mDelItem); }
-
-    /**
-     * @deprecated Use STL vector
-     * Inserts a new item at given position in the vector.
-     *
-     * @since S60 5.0
-     * @param aPos Position at which item has to be inserted.
-     * @param aItem Pointer to the item to be inserted.
-     * @return true/false to indicate if the item has been inserted.
-     */
-     bool insert(uint aPos, T *aItem) { return mImpl.insert(aPos, aItem, mDelItem); }
-
-    /**
-     * @deprecated Use STL vector
-     * Returns pointer to the item at given position in the vector.
-     *
-     * @since S60 5.0
-     * @param aPos Position from which item is queried.
-     * @return Pointer to the item.
-     */
-     T *at(int aPos) const {return (T *)mImpl.at(aPos); }
-
-    /**
-     * @deprecated Use STL vector
-     * Returns pointer to the raw data used by vector to stroe the items.
-     *
-     * @since S60 5.0
-     * @return Pointer to data.
-     */
-     T **data() {return (T **)mImpl.data(); } 
-
-    /**
-     * @deprecated Use STL vector
-     * Returns the position of the item in the vector.
-     *
-     * @since S60 5.0
-     * @param aItem Pointer to the item being searched in the vector.
-     * @return Position of item in the vector.-1 is returned if item is not found.
-     */
-     int findRef(T *aItem){return mImpl.findRef(aItem);}
-
-    /**
-     * @deprecated Use STL vector
-     * Returns the item at given index in the vector.
-     *
-     * @since S60 5.0
-     * @param aPos Position from which item has been queried.
-     * @return Pointer to the item at given position.
-     */
-     T* operator[](uint aPos) const  { return (T *)mImpl.at(aPos); }
-
-private:
-    void deleteItem(void* aItem)
-        {
-        delete (T*) aItem;
-        }
-    AlfPtrVector(const AlfPtrVector&);
-    AlfPtrVector& operator=(const AlfPtrVector&);
-private:
-    /**
-     * Owned body
-     */
-    AlfPtrVectorImpl mImpl;
-    /**
-     * Auto delete
-     */
-    bool mDelItem;
-
-    };
-
-}
-#endif
--- a/mmuifw_plat/osn_container_api/inc/osn/alfptrvectorimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* 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:  vector implementation
- *
-*/
-
-
-
-#ifndef ALFPTRVECTORIMPL_H
-#define ALFPTRVECTORIMPL_H
-
-#include <osn/osndefines.h>
-#include <osn/osntypes.h>
-
-namespace osncore
-{
-
-class IDeleter
-    {
-private:
-    friend class AlfPtrVectorImpl;
-    virtual void deleteItem(void* aItem)=0;
-    };
-
-
-/**
- *  @deprecated Use STL vector
- *  @class AlfPtrVectorImpl alfptrvectorimpl.h "osn/alfptrvectorimpl.h"
- *  Implementation class for AlfPtrVector
- *
- *  @lib osncore.lib
- *  @since S60 5.0
- *  @status Draft
- */
-class AlfPtrVectorImpl
-    {
-public: // constructors / destructor
-
-    /**
-     * @deprecated Use STL vector
-     * Constructor
-     *
-     * @since S60 5.0
-     * @param aDeleter
-     */
-    OSN_IMPORT AlfPtrVectorImpl( IDeleter& aDeleter );
-
-    /**
-     * @deprecated Use STL vector
-     * Constructor
-     *
-     * @since S60 5.0
-     * @param aSize
-     * @param aDeleter
-     */
-    OSN_IMPORT AlfPtrVectorImpl(uint aSize, IDeleter& aDeleter);
-
-    /**
-     * @deprecated Use STL vector
-     * Destructor
-     */
-    OSN_IMPORT ~AlfPtrVectorImpl();
-
-    /**
-     * @deprecated Use STL vector
-     * Clears the vector
-     *
-     * @since S60 5.0
-     * @param aDelItems determines whether the items are deleted
-     */
-    OSN_IMPORT void clear(bool aDelItems);
-
-    /**
-     * @deprecated Use STL vector
-     * Removes an item from the vector
-     *
-     * @since S60 5.0
-     * @param aCount the item to be deleted
-     * @param aDelItems determines whether the item is deleted
-     * @return true/false to indicate if item has been removed.
-     */
-    OSN_IMPORT bool remove(uint aCount, bool aDelItems);
-
-    /**
-     * @deprecated Use STL vector
-     * Resizes the vector to new size. Existing items in
-     * the vector will be restored if auto delete property is false.
-     *
-     * @since S60 5.0
-     * @param aSize New size in bytes.
-     * @param aDelItems determines whether the items are deleted
-     * @return true/false to indicate if item has been resized.
-     */
-    OSN_IMPORT bool resize(uint aSize, bool aDelItems);
-
-    /**
-     * @deprecated Use STL vector
-     * Inserts a new item at given position in the vector.
-     *
-     * @since S60 5.0
-     * @param aCount Position at which item has to be inserted.
-     * @param aItem Pointer to the item to be inserted.
-     * @param aDelItems determines whether the item is deleted, not used!
-     * @return true/false to indicate if the item has been inserted.
-     */
-    OSN_IMPORT bool insert(uint aCount, void *aItem, bool aDelItems);
-
-    /**
-     * @deprecated Use STL vector
-     * Returns the position of the item in the vector.
-     *
-     * @since S60 5.0
-     * @param aItem Pointer to the item being searched in the vector.
-     * @return Position of item in the vector.-1 is returned if item is not found.
-     */
-    OSN_IMPORT int findRef(void *aItem);
-
-public: // inliners
-    bool isEmpty() const { return mcount == 0; }
-    uint count() const { return mcount; }
-    uint size() const { return msize; }
-    void* at(uint aCount) const { return mdata[aCount]; }
-    void** data() { return mdata; }
-
-
-private:
-    AlfPtrVectorImpl& operator=(const AlfPtrVectorImpl&);
-
-    void** mdata;
-    uint msize;
-    uint mcount;
-    IDeleter& mDeleter;
-    };
-
-} // namespace core
-#endif
--- a/mmuifw_plat/osn_container_api/osn_container_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="09dbfd031919147959af91de80496440" dataversion="1.0">
-<name>osn container api</name>
-<description>Osn Container Classes API</description>
-<type>c++</type>
-<subsystem>osncore</subsystem>
-<libs><lib name="osncore.lib"/>
-</libs>
-<release category="sdk" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/osn_global_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2006 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:  File that exports the files belonging to 
-:                OSN common API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/osn/osncommon.h      MW_LAYER_PLATFORM_EXPORT_PATH(osn/osncommon.h)
-../inc/osn/osndefines.h     MW_LAYER_PLATFORM_EXPORT_PATH(osn/osndefines.h)
-../inc/osn/osnnew.h         MW_LAYER_PLATFORM_EXPORT_PATH(osn/osnnew.h)
-../inc/osn/osntypes.h       MW_LAYER_PLATFORM_EXPORT_PATH(osn/osntypes.h)
-../inc/osn/osntypes.inl     MW_LAYER_PLATFORM_EXPORT_PATH(osn/osntypes.inl)
\ No newline at end of file
--- a/mmuifw_plat/osn_global_api/inc/osn/osncommon.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* 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:  Most basic macro definitions
- *
-*/
-
-
-
-#ifndef OSNCOMMON_H
-#define OSNCOMMON_H
-
-#include <osn/osndefines.h>
-#include <osn/osntypes.h>
-
-#ifndef __GNUC__
-#include <osn/osnnew.h>
-#endif
-#endif // OSNDEFINES_H
--- a/mmuifw_plat/osn_global_api/inc/osn/osndefines.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* 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:  Most basic macro definitions
- *
-*/
-
-
-
-#ifndef OSNDEFINES_H
-#define OSNDEFINES_H
-
-
-
-/**
- * Defines Keyword that can be used to check if OSN is in use
- */
-#define __OSN__
-
-#if defined(__VC32__)
-#define OSN_IMPORT __declspec(dllexport)
-#define OSN_EXPORT __declspec(dllexport)
-#endif
-
-#if defined(__CW32__)
-#define OSN_IMPORT __declspec(dllexport)
-#define OSN_EXPORT __declspec(dllexport)
-#define OSN_NONSHARABLE_CLASS(x) class x
-#endif
-
-#if defined(__GNUC__)
-#define OSN_IMPORT
-#define OSN_EXPORT
-#define EXPORT_C
-#define IMPORT_C
-#endif
-
-#if defined(__GCC32__) || defined(__GCCE__)
-#define OSN_IMPORT
-#if !defined(__WINS__) && defined(_WIN32) // VC++ Browser Fix
-#define OSN_EXPORT
-#else
-#define OSN_EXPORT __declspec(dllexport)
-#endif
-#elif defined (__ARMCC_VERSION) // ARM RCVT
-#define OSN_IMPORT __declspec(dllimport)
-#define OSN_EXPORT __declspec(dllexport)
-#define OSN_NONSHARABLE_CLASS(x) class __declspec(notshared) x
-#endif
-
-
-#endif // OSNDEFINES_H
--- a/mmuifw_plat/osn_global_api/inc/osn/osnnew.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* 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:  operator new overloads
- *
-*/
-
-
-
-#ifndef OSNNEW_H
-#define OSNNEW_H
-
-#ifdef __GNUC__
-#include <stdexcept>
-#endif
-#include <osn/osndefines.h>
-
-#ifndef __GNUC__
-namespace std
-    {
-    class bad_alloc;
-    }
-#endif
-enum newarg {EMM};
-
-typedef unsigned int size_t;
-
-/**
- * Overloaded operator new.
- *
- * @since S60 5.0
- * @param s size of the allocation
- * @return void* pointer to allocated object.
- */
-OSN_IMPORT void* operator new(size_t s,newarg) throw (std::bad_alloc);
-
-/**
- * Overloaded operator delete.
- *
- * @since S60 5.0
- * @param ptr pointer to the object to be deleted
- */
-OSN_IMPORT void operator delete(void* ptr,newarg)throw();
-
-/**
- * Overloaded operator new[].
- *
- * @since S60 5.0
- * @param s size of the allocation
- * @return void* pointer to allocated object.
- */
-OSN_IMPORT void* operator new[] (size_t s,newarg) throw (std::bad_alloc);
-
-/**
- * Overloaded operator delete[].
- *
- * @since S60 5.0
- * @param ptr pointer to the object to be deleted
- */
-OSN_IMPORT void operator delete[](void* ptr,newarg)throw();
-
-
-#endif // OSNNEW_H
--- a/mmuifw_plat/osn_global_api/inc/osn/osntypes.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,723 +0,0 @@
-/*
-* 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:  Defines basic types.
- *
-*/
-
-
-
-#ifndef OSNTYPES_H
-#define OSNTYPES_H
-
-namespace osncore
-{
-
-/**
- * Defines a signed 8 bit integer.
- */
-typedef signed char int8;
-
-/**
- * Defines an unsigned 8 bit integer.
- */
-typedef unsigned char uint8;
-
-/**
- * Defines a signed 16 bit integer.
- */
-typedef signed short int int16;
-
-/**
- * Defines an unsigned 16 bit integer.
- */
-typedef unsigned short int uint16;
-
-/**
- * Defines an signed 32 bit integer.
- */
-typedef signed long int int32;
-
-/**
- * Defines an unsigned 32 bit integer.
- */
-typedef unsigned long int uint32;
-
-/**
- * Defines a signed 64 bit integer.
- */
-typedef signed long long int64;
-
-/**
- * Defines an unsigned 64 bit integer.
- */
-typedef unsigned long long uint64;
-
-/**
- * Defines a 32 bit floating point number.
- */
-typedef float float32;
-
-/**
- * Defines a 64 bit floating point number.
- */
-typedef double float64;
-
-/**
- * Defines an 8 bit character (usually ASCII).
- */
-typedef char char8;
-
-/**
- * Defines an system dependent unsigned int
- * (in 32 bit system it is 4 bytes and in 16 bit system it is 2 bytes).
- */
-typedef unsigned int        uint;
-
-/**
- * Defines an 8 bit unsigned char
- */
-typedef unsigned char       uchar;
-
-
-
-/**
- * Defines a 16 bit character (usually unicode).
- */
-#if defined(__VC32__)
-typedef uint16 char16;      //here a uint16 is needed because the vc
-//version of L"..." returns an unsigned short
-#elif defined(__CW32__)
-typedef uint16 char16;      //the same like for __VC32__
-#elif defined(__GCC32__)
-typedef __wchar_t char16;   //when using gcc the wchar_t type must be
-//used or else L in front of ASCI strings
-//(e.g. L"xyz") can't be used to assign a
-//unicode string to a char16[]
-#elif defined(__ARMCC_VERSION) // RVCT ARM COMPILER
-typedef wchar_t char16;
-#elif defined(__GCCE__)
-typedef wchar_t char16;
-#elif defined(__GNUC__)
-typedef uint16 char16;
-#endif
-
-/**
- * Defines a 32 bit boolean.
- */
-typedef int32 bool32;
-
-/**
- * Defines the return code data type.
- */
-typedef int32 ReturnCode;
-
-
-class CPoint;
-
-/**
- *  @class CSize osntypes.h "osn/osntypes.h"
- *  Defines a two dimensional size data type.
- *
- *  @since S60 5.0
- *  @status Draft
- *  @interfaces CSize
- */
-class CSize
-    {
-public:
-    /**
-     * Default constructor, initializing the mX and mY members to zero.
-     */
-    inline CSize();
-
-    /**
-     * Parameterized constructor.
-     *
-     * @param aX The first dimension of the size ( usually the width ).
-     * @param aY The second dimension of the size ( usually the height ).
-     */
-    inline CSize( int32 aX, int32 aY );
-
-    /**
-     * Copy constructor.
-     *
-     * @param aSize The size object to be copied.
-     */
-    inline CSize( const CSize& aSize );
-
-    /**
-     * Gets a CPoint whose coordinates are the width and height of this
-     * CSize.
-     *
-     * @return The coordinates of this CSize converted to a point.
-     */
-    inline CPoint AsPoint();
-
-    /**
-     * Compares this CSize with the specified CSize for equality.
-     *
-     * For two CSizes to be equal, both their width and height values
-     * must be equal.
-     *
-     * @param aSize The CSize to be compared with this CSize.
-     *
-     * @return  TRUE, if the sizes are equal,  FALSE otherwise.
-     */
-    inline bool32 operator==( const CSize& aSize ) const;
-
-    /**
-     * Compares this CSize with the specified CSize for inequality.
-     *
-     * For two CSize to be unequal, either their width or height values
-     * must be different.
-     *
-     * @param aSize The CSize to be compared with this CSize.
-     *
-     * @return  TRUE, if the sizes are different,  FALSE
-     *         otherwise.
-     */
-    inline bool32 operator!=( const CSize& aSize ) const;
-
-    /**
-     * CSize addition assignment operator.
-     *
-     * The operator adds the specified CSize to this CSize, and
-     * assigns the result back to this CSize.
-     *
-     * @param aSize The CSize to be added.
-     *
-     * @return A reference to this point object.
-     */
-    inline CSize& operator+=( const CSize& aSize );
-
-    /**
-     * CSize subtraction assignment operator.
-     *
-     * The operator substracts the specified CSize from this CSize,
-     * and assigns the result back to this CSize.
-     *
-     * @param aSize The CSize to be substracted.
-     *
-     * @return A reference to this point object.
-     */
-    inline CSize& operator-=( const CSize& aSize );
-
-    int32 mX; ///< The first dimension.
-    int32 mY; ///< The second dimension.
-    };
-
-/**
- * CSize addition operator.
- *
- * Calculates the sum of two CSize objects
- *
- * @param aLeftHandSide The left addend.
- * @param aRightHandSide The right addend.
- *
- * @return The sum.
- *
- */
-inline const CSize operator+( const CSize& aLeftHandSide,
-                              const CSize& aRightHandSide );
-
-/**
- * CSize substraction operator.
- *
- * Calculates the difference of two CSize objects
- *
- * @param aLeftHandSide The minuend.
- * @param aRightHandSide The subtrahend.
- *
- * @return The difference.
- *
- */
-inline const CSize operator-( const CSize& aLeftHandSide,
-                              const CSize& aRightHandSide );
-
-
-/**
- *  @class CPoint osntypes.h "osn/osntypes.h"
- *  Defines a two dimensional point data type.
- *
- *  @since S60 5.0
- *  @status Draft
- *  @interfaces CPoint
- */
-class CPoint
-    {
-public:
-    /**
-     * Default constructor, initializing the mX and mY members to zero.
-     */
-    inline CPoint(  );
-
-    /**
-     * Parameterized constructor.
-     *
-     * @param aX The first coordinate of the point.
-     * @param aY The second coordinate of the point.
-     */
-    inline CPoint( int32 aX, int32 aY );
-
-    /**
-     * Copy constructor.
-     *
-     * @param aPoint The point object to be copied.
-     */
-    inline CPoint( const CPoint& aPoint );
-
-    /**
-     * Gets a CSize whose width and height are the coordinates of this
-     * CPoint.
-     *
-     * @return The width and height of this CPoint converted to a size.
-     */
-    inline CSize AsSize();
-
-    /**
-     * Compares two points for equality.
-     *
-     * For two points to be equal, both their x and y coordinate values
-     * must be equal.
-     *
-     * @param aPoint The point to be compared with this point.
-     *
-     * @return  TRUE, if the points are equal,  FALSE otherwise.
-     */
-    inline bool32 operator==( const CPoint& aPoint ) const;
-
-    /**
-     * Compares two points for inequality.
-     *
-     * For two points to be unequal, either their x or their y
-     * coordinate values must be different.
-     *
-     * @param aPoint The point to be compared with this point.
-     *
-     * @return  TRUE, if the points are different,  FALSE
-     *         otherwise.
-     */
-    inline bool32 operator!=( const CPoint& aPoint ) const;
-
-    /**
-     * CPoint addition assignment operator.
-     *
-     * The operator adds the specified CPoint to this CPoint, and
-     * assigns the result back to this CPoint.
-     *
-     * @param aPoint The CPoint to be added.
-     *
-     * @return A reference to this point object.
-     */
-    inline CPoint& operator+=( const CPoint& aPoint );
-
-    /**
-     * CPoint subtraction assignment operator.
-     *
-     * The operator substracts the specified CPoint from this CPoint,
-     * and assigns the result back to this CPoint.
-     *
-     * @param aPoint The CPoint to be substracted.
-     *
-     * @return A reference to this point object.
-     */
-    inline CPoint& operator-=( const CPoint& aPoint );
-
-    int32 mX; ///< The x-coordinate position of the point.
-    int32 mY; ///< The y-coordinate position of the point.
-    };
-
-/**
- * CPoint addition operator.
- *
- * Calculates the sum of two CPoint objects
- *
- * @param aLeftHandSide The left addend.
- * @param aRightHandSide The right addend.
- *
- * @return The sum.
- *
- */
-inline const CPoint operator+( const CPoint& aLeftHandSide,
-                               const CPoint& aRightHandSide );
-
-/**
- * CPoint substraction operator.
- *
- * Calculates the difference of two CPoint objects
- *
- * @param aLeftHandSide The minuend.
- * @param aRightHandSide The subtrahend.
- *
- * @return The difference.
- *
- */
-inline const CPoint operator-( const CPoint& aLeftHandSide,
-                               const CPoint& aRightHandSide );
-
-/**
- *  @class CRect osntypes.h "osn/osntypes.h"
- *  Defines a two dimensional rectangle data type.
- *
- *  @since S60 5.0
- *  @status Draft
- *  @interfaces CRect
- */
-class CRect
-    {
-public:
-    /**
-     * Default constructor, initializing the coordinates of the top left
-     * corner and the size to ( 0,0 ).
-     */
-    inline CRect();
-
-    /**
-     * Parameterized constructor.
-     *
-     * @param aX The first coordinate of the rectangle's top left point.
-     * @param aY The second coordinate of the rectangle's top left
-     *           point.
-     * @param aWidth The width of the rectangle.
-     * @param aHeight The height of the rectangle.
-     */
-    inline CRect( int32 aX, int32 aY, int32 aWidth, int32 aHeight );
-
-    /**
-     * Parameterized constructor.
-     *
-     * Constructs the rectangle with a point ( top left corner ) and a
-     * size.
-     *
-     * @param aTopLeft The top left point of the rectangle.
-     * @param aSize The size of the rectangle.
-     */
-    inline CRect( const CPoint& aTopLeft, const CSize& aSize );
-
-    /**
-     * Parameterized constructor.
-     *
-     * Constructs the rectangle with a size. The top left corner is set
-     * to (0,0).
-     *
-     * @param aSize The size of the rectangle.
-     */
-    inline CRect( const CSize& aSize );
-
-    /**
-     * Copy constructor.
-     *
-     * @param aRect The rectangle object to be copied.
-     */
-    inline CRect( const CRect& aRect );
-
-    /**
-     * Determines whether the area covered by the rectangle is zero.
-     *
-     * @return  TRUE, if the rectangle is empty,  FALSE
-     *         otherwise.
-     */
-    inline bool32 IsEmpty() const;
-
-    /**
-     * Tests whether this rectangle overlaps with the specified
-     * rectangle.
-     *
-     * Two rectangles overlap if any point is located within both
-     * rectangles. There is no intersection if two adjacent sides touch
-     * without overlapping, or if either rectangle is empty.
-     *
-     * @param aRect The rectangle to compare with this rectangle for an
-     *              intersection.
-     *
-     * @return  TRUE, if the two rectangles overlap,  FALSE
-     *         otherwise.
-     */
-    inline bool32 Intersects( CRect aRect ) const;
-
-    /**
-     * Tests whether this normalized rectangle overlaps with the
-     * specified normalized rectangle.
-     *
-     * Two rectangles overlap if any point is located within both
-     * rectangles. There is no intersection if two adjacent sides touch
-     * without overlapping, or if either rectangle is empty.
-     * If one of the rectangles isn't normalized, then the function also
-     * returns  FALSE,
-     *
-     * Because of performance reasons this function should favored over
-     * the Intersects function, when it is certain that both rectangles
-     * are normalized.
-     *
-     * @param aRect The rectangle to compare with this rectangle for an
-     *              intersection.
-     *
-     * @return  TRUE, if the two rectangles are normalized and
-     *         overlap,  FALSE otherwise.
-     */
-    inline bool32 FastIntersects( const CRect& aRect ) const;
-
-    /**
-     * Gets the normalized area of intersection between this rectangle
-     * and the specified rectangle, and assigns it to this rectangle.
-     *
-     * If the two rectangles do not intersect, then, on return, this
-     * rectangle is set to be empty.
-     *
-     * @param aRect The rectangle to be used with this rectangle to get
-     *              the area of intersection.
-     */
-    inline void Intersection( CRect aRect );
-
-    /**
-     * Gets the normalized area of intersection between this normalized
-     * rectangle and the specified normalized rectangle, and assigns it
-     * to this rectangle.
-     *
-     * If the two rectangles do not intersect or are not normalized,
-     * then, on return, this rectangle is set to be empty.
-     *
-     * Because of performance reasons this function should be favored
-     * over the Intersection() function, when it is certain that both
-     * rectangles are normalized.
-     *
-     * @param aRect The rectangle to be used with this rectangle to get
-     *              the area of intersection.
-     */
-    inline void FastIntersection( const CRect& aRect );
-
-    /**
-     * Ensures that the rectangle's width and height have positive
-     * values.
-     *
-     * For example, if the rectangle's co-ordinates are such that the
-     * top is below the bottom, or the right hand side is to the left of
-     * the left hand side, normalisation swaps the co-ordinates of the
-     * top and bottom or of the left and right.
-     */
-    inline void Normalize();
-
-    /**
-     * Tests whether the rectangle is normalized.
-     *
-     * A rectangle is normalized, when its width and height are both
-     * greater than or equal to zero.
-     */
-    inline bool32 IsNormalized() const;
-
-    /**
-     * Compares two rectangles for equality.
-     *
-     * For two rectangles to be equal, the coordinates of their top left
-     * corners and their sizes must be equal.
-     *
-     * @param aRect The rectangle to compare with this rectangle.
-     *
-     * @return  TRUE, if the rectangles are equal,  FALSE
-     *         otherwise.
-     */
-    inline bool32 operator==( const CRect& aRect ) const;
-
-    /**
-     * Compares two rectangles for inequality.
-     *
-     * Two rectangles are unequal if the coordinates of their top left
-     * corners or their sizes differ.
-     *
-     * @param aRect The rectangle to compare with this rectangle.
-     *
-     * @return  TRUE, if the rectangles are different,  FALSE
-     *         otherwise.
-     */
-    inline bool32 operator!=( const CRect& aRect ) const;
-
-    /**
-     * CPoint addition assignment operator.
-     *
-     * The operator moves this CRect's offset by the given point's
-     * coordinates.
-     *
-     * @param aPoint The CPoint to be added.
-     *
-     * @return A reference to this rectangle object.
-     */
-    inline CRect& operator+=( const CPoint& aPoint );
-
-    /**
-     * CPoint subtraction assignment operator.
-     *
-     * The operator moves this CRect's offset by the given point's
-     * coordinates.
-     *
-     * @param aPoint The CPoint to be substracted.
-     *
-     * @return A reference to this rectangle object.
-     */
-    inline CRect& operator-=( const CPoint& aPoint );
-
-    /**
-     * CSize addition assignment operator.
-     *
-     * The operator increases this CRect's size by the given size.
-     *
-     * @param aSize The CSize to be added.
-     *
-     * @return A reference to this rectangle object.
-     */
-    inline CRect& operator+=( const CSize& aSize );
-
-    /**
-     * CSize subtraction assignment operator.
-     *
-     * The operator decreases this CRect's size by the given size.
-     *
-     * @param aSize The CSize to be substracted.
-     *
-     * @return A reference to this rectangle object.
-     */
-    inline CRect& operator-=( const CSize& aSize );
-
-    int32   mX;      ///< The position of the left-hand side of the
-    ///< rectangle.
-    int32   mY;      ///< The position of the top side of the rectangle.
-    int32   mWidth;  ///< The width of the rectangle.
-    int32   mHeight; ///< The height of the rectangle.
-    };
-
-/**
- * CRect + CPoint addition operator.
- *
- * The operator copies the CRect and moves the copy's offset by the given
- * point's coordinates.
- *
- * @param aRect The CRect addend.
- * @param aPoint The CPoint to be added.
- *
- * @return The moved CRect.
- *
- */
-inline const CRect operator+( const CRect& aRect,
-                              const CPoint& aPoint );
-
-/**
- * CRect - CPoint subtraction operator.
- *
- * The operator copies the CRect and moves the copy's offset by the
- * given point's coordinates.
- *
- * @param aRect The CRect addend.
- * @param aPoint The CPoint to be substracted.
- *
- * @return The moved CRect.
- *
- */
-inline const CRect operator-( const CRect& aRect,
-                              const CPoint& aPoint );
-
-/**
- * CRect + CSize addition operator.
- *
- * The operator copies the CRect and resizes the copy by the given size.
- *
- * @param aRect The CRect addend.
- * @param aSize The CSize to be added.
- *
- * @return The resized CRect.
- *
- * @ingroup Runtime
- */
-inline const CRect operator+( const CRect& aRect,
-                              const CSize& aSize );
-
-/**
- * CRect - CSize subtraction operator.
- *
- * The operator copies the CRect and resizes the copy by the given size.
- *
- * @param aRect The CRect minuend.
- * @param aSize The CSize to be substracted.
- *
- * @return The resized CRect.
- *
- * @ingroup Runtime
- */
-inline const CRect operator-( const CRect& aRect,
-                              const CSize& aSize );
-
-/**
-  * Defines maximum value for a int8 variable
-  */
-const int8 MAX_INT8      = 0x7f;
-
-/**
- * Defines minimum value for a int8 variable
- */
-const int8 MIN_INT8      = 0x80;
-
-/**
- * Defines maximum value for a uint8 variable
- */
-const uint8 MAX_UINT8    = 0xffu;
-
-/**
- * Defines maximum value for a int16 variable
- */
-const int16 MAX_INT16    = 0x7fff;
-
-/**
- * Defines minimum value for a int16 variable
- */
-const int16 MIN_INT16    = 0x8000;
-
-/**
- * Defines maximum value for a uint16 variable
- */
-const uint16 MAX_UINT16  = 0xffffu;
-
-/**
- * Defines maximum value for a int32 variable
- */
-const int32 MAX_INT32    = 0x7fffffff;
-
-/**
- * Defines minimum value for a int32 variable
- */
-const int32 MIN_INT32    = 0x80000000;
-
-/**
- * Defines maximum value for a uint32 variable
- */
-const uint32 MAX_UINT32  = 0xffffffffu;
-
-
-/**
- * Maximum path/filename length including a NULL terminator. A char16*
- * array of this size is guaranteed to accomodate all filenames returned
- * by the system.
- */
-const uint32 MAX_PATH_LENGTH = 257;
-
-/// Filename path delimiter.
-const char16 PATH_DELIMITER = '\\';
-
-/// Filename drive delimiter.
-const char16 DRIVE_DELIMITER = ':';
-
-/// Filename extension delimiter.
-const char16 EXTENSION_DELIMITER = '.';
-
-
-#include <osn/osntypes.inl>
-}
-#endif
--- a/mmuifw_plat/osn_global_api/inc/osn/osntypes.inl	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,576 +0,0 @@
-/*
-* 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:  Defines all inline functions of the osn types.
- *
-*/
-
-
-#ifndef OSNTYPES_INL
-#define OSNTYPES_INL
-
-// ======== GLOBAL FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// CSize operator+
-// -----------------------------------------------------------------------------
-//
-inline const CSize operator+( const CSize& aLeftHandSide,
-                              const CSize& aRightHandSide )
-    {
-    return CSize( aLeftHandSide ) += aRightHandSide;
-    }
-
-// -----------------------------------------------------------------------------
-// CSize operator-
-// -----------------------------------------------------------------------------
-//
-inline const CSize operator-( const CSize& aLeftHandSide,
-                              const CSize& aRightHandSide )
-    {
-    return CSize( aLeftHandSide ) -= aRightHandSide;
-    }
-    
-// -----------------------------------------------------------------------------
-// CPoint operator+
-// -----------------------------------------------------------------------------
-//
-inline const CPoint operator+( const CPoint& aLeftHandSide,
-                               const CPoint& aRightHandSide )
-    {
-    return CPoint( aLeftHandSide ) += aRightHandSide;
-    }
-
-// -----------------------------------------------------------------------------
-// CSize operator-
-// -----------------------------------------------------------------------------
-//
-inline const CPoint operator-( const CPoint& aLeftHandSide,
-                               const CPoint& aRightHandSide )
-    {
-    return CPoint( aLeftHandSide ) -= aRightHandSide;
-    }
-
-// -----------------------------------------------------------------------------
-// CRect + CPoint
-// Point addition.
-// -----------------------------------------------------------------------------
-//
-inline const CRect operator+( const CRect& aRect,
-                              const CPoint& aPoint )
-    {
-    return CRect( aRect ) += aPoint;
-    }
-
-// -----------------------------------------------------------------------------
-// CRect - CPoint
-// Point substraction.
-// -----------------------------------------------------------------------------
-//
-inline const CRect operator-( const CRect& aRect,
-                              const CPoint& aPoint )
-    {
-    return CRect( aRect ) -= aPoint;
-    }
-
-// -----------------------------------------------------------------------------
-// CRect + CSize
-// Size addition.
-// -----------------------------------------------------------------------------
-//
-inline const CRect operator+( const CRect& aRect,
-                              const CSize& aSize )
-    {
-    return CRect( aRect ) += aSize;
-    }
-
-// -----------------------------------------------------------------------------
-// CRect - CSize
-// Size substraction.
-// -----------------------------------------------------------------------------
-//
-inline const CRect operator-( const CRect& aRect,
-                              const CSize& aSize )
-    {
-    return CRect( aRect ) -= aSize;
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// CSize::CSize
-// Default Constructor.
-// -----------------------------------------------------------------------------
-//
-inline CSize::CSize() :
-    mX( 0 ),
-    mY( 0 )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CSize::CSize
-// Parameterized constructor.
-// -----------------------------------------------------------------------------
-//
-inline CSize::CSize( int32 aX, int32 aY ) :
-    mX( aX ),
-    mY( aY )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CSize::CSize
-// Copy Constructor.
-// -----------------------------------------------------------------------------
-//
-inline CSize::CSize( const CSize& aSize ) :
-    mX( aSize.mX ),
-    mY( aSize.mY )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CSize::AsPoint
-// Assignment substraction.
-// -----------------------------------------------------------------------------
-//
-inline CPoint CSize::AsPoint()
-    {
-    return CPoint( mX, mY );
-    }
-
-// -----------------------------------------------------------------------------
-// CSize::operator==
-// Logical comparison.
-// -----------------------------------------------------------------------------
-//
-inline bool32 CSize::operator==( const CSize& aSize ) const
-    {
-    return ( mX == aSize.mX ) && ( mY == aSize.mY );
-    }
-
-// -----------------------------------------------------------------------------
-// CSize::operator!=
-// Logical comparison.
-// -----------------------------------------------------------------------------
-//
-inline bool32 CSize::operator!=( const CSize& aSize ) const
-    {
-    // call operator== and negate it (logically)
-    return !( *this == aSize );
-    }
-
-// -----------------------------------------------------------------------------
-// CSize::operator+=
-// Assignment addition.
-// -----------------------------------------------------------------------------
-//
-inline CSize& CSize::operator+=( const CSize& aSize )
-    {
-    mX += aSize.mX;
-    mY += aSize.mY;
-    return *this;
-    }
-
-// -----------------------------------------------------------------------------
-// CSize::operator-=
-// Assignment substraction.
-// -----------------------------------------------------------------------------
-//
-inline CSize& CSize::operator-=( const CSize& aSize )
-    {
-    mX -= aSize.mX;
-    mY -= aSize.mY;
-    return *this;
-    }
-
-// -----------------------------------------------------------------------------
-// CPoint::CPoint
-// Default Constructor.
-// -----------------------------------------------------------------------------
-//
-inline CPoint::CPoint() :
-    mX( 0 ),
-    mY( 0 )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPoint::CPoint
-// Parameterized Constructor.
-// -----------------------------------------------------------------------------
-//
-inline CPoint::CPoint( int32 aX, int32 aY ) :
-    mX( aX ),
-    mY( aY )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPoint::CPoint
-// Copy Constructor.
-// -----------------------------------------------------------------------------
-//
-inline CPoint::CPoint( const CPoint& aPoint ) :
-    mX( aPoint.mX ),
-    mY( aPoint.mY )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPoint::AsSize
-// Assignment substraction.
-// -----------------------------------------------------------------------------
-//
-inline CSize CPoint::AsSize()
-    {
-    return CSize( mX, mY );
-    }
-
-// -----------------------------------------------------------------------------
-// CPoint::operator==
-// Logical comparison.
-// -----------------------------------------------------------------------------
-//
-inline bool32 CPoint::operator==( const CPoint& aPoint ) const
-    {
-    return ( mX == aPoint.mX ) && ( mY == aPoint.mY );
-    }
-
-// -----------------------------------------------------------------------------
-// CPoint::operator!=
-// Logical comparison.
-// -----------------------------------------------------------------------------
-//
-inline bool32 CPoint::operator!=( const CPoint& aPoint ) const
-    {
-    // call operator== and negate it (logically)
-    return !( *this == aPoint );
-    }
-
-// -----------------------------------------------------------------------------
-// CPoint::operator+=
-// Assignment addition.
-// -----------------------------------------------------------------------------
-//
-inline CPoint& CPoint::operator+=( const CPoint& aPoint )
-    {
-    mX += aPoint.mX;
-    mY += aPoint.mY;
-    return *this;
-    }
-
-// -----------------------------------------------------------------------------
-// CPoint::operator-=
-// Assignment substraction.
-// -----------------------------------------------------------------------------
-//
-inline CPoint& CPoint::operator-=( const CPoint& aPoint )
-    {
-    mX -= aPoint.mX;
-    mY -= aPoint.mY;
-    return *this;
-    }
-
-// -----------------------------------------------------------------------------
-// CRect::CRect
-// Default Constructor.
-// -----------------------------------------------------------------------------
-//
-inline CRect::CRect() :
-    mX( 0 ),
-    mY( 0 ),
-    mWidth( 0 ),
-    mHeight( 0 )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CRect::CRect
-// Parameterized Constructor.
-// -----------------------------------------------------------------------------
-//
-inline CRect::CRect( int32 aX, int32 aY, int32 aWidth, int32 aHeight ) :
-    mX( aX ),
-    mY( aY ),
-    mWidth( aWidth ),
-    mHeight( aHeight )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CRect::CRect
-// Parameterized Constructor.
-// -----------------------------------------------------------------------------
-//
-inline CRect::CRect( const CPoint& aTopLeft, const CSize& aSize ) :
-    mX( aTopLeft.mX ),
-    mY( aTopLeft.mY ),
-    mWidth( aSize.mX ),
-    mHeight( aSize.mY )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CRect::CRect
-// Parameterized Constructor.
-// -----------------------------------------------------------------------------
-//
-inline CRect::CRect( const CSize& aSize ) :
-    mX( 0 ),
-    mY( 0 ),
-    mWidth( aSize.mX ),
-    mHeight( aSize.mY )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CRect::CRect
-// Copy Constructor.
-// -----------------------------------------------------------------------------
-//
-inline CRect::CRect( const CRect& aRect ) :
-    mX( aRect.mX ),
-    mY( aRect.mY ),
-    mWidth( aRect.mWidth ),
-    mHeight( aRect.mHeight )
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CRect::IsEmpty
-// Check for emptyness.
-// -----------------------------------------------------------------------------
-//
-inline bool32 CRect::IsEmpty() const
-    {
-    // is empty if either width or heigth are zero
-    return ( !mHeight ) || ( !mWidth );
-    }
-
-// -----------------------------------------------------------------------------
-// CRect::Intersects
-// Checks whether two rects are intersecting.
-// -----------------------------------------------------------------------------
-//
-inline bool32 CRect::Intersects( CRect aRect ) const
-    {
-    if( IsEmpty() || aRect.IsEmpty() )
-        {
-        return false;
-        }
-    
-    aRect.Normalize();
-    
-    if( ( mWidth >= 0 ) && ( mHeight >= 0 ) )
-        {
-        return FastIntersects( aRect );
-        }
-    else if ( ( mWidth < 0 ) && ( mHeight < 0 ) )
-        {
-        return ( mX > aRect.mX ) &&
-               ( mY > aRect.mY ) &&
-               ( ( mX + mWidth ) < ( aRect.mX + aRect.mWidth ) ) &&
-               ( ( mY + mHeight ) < ( aRect.mY + aRect.mHeight ) );
-        }
-    else if ( ( mWidth >= 0 ) && ( mHeight < 0 ) )
-        {
-        return ( ( mX + mWidth ) > aRect.mX ) &&
-               ( mY > aRect.mY ) &&
-               ( mX < ( aRect.mX + aRect.mWidth ) ) &&
-               ( ( mY + mHeight ) < ( aRect.mY + aRect.mHeight ) );
-        }
-    else // ( mWidth < 0 ) && ( mHeight >= 0 )
-        {
-        return ( mX > aRect.mX ) &&
-               ( ( mY + mHeight ) > aRect.mY ) &&
-               ( ( mX + mWidth ) < ( aRect.mX + aRect.mWidth ) ) &&
-               ( mY < ( aRect.mY + aRect.mHeight ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CRect::FastIntersects
-// Checks whether two normalized rects are intersecting.
-// -----------------------------------------------------------------------------
-//
-inline bool32 CRect::FastIntersects( const CRect& aRect ) const
-    {
-    return !( IsEmpty() ||                          // Empty rects do not
-              aRect.IsEmpty() ||                    // intersect.
-              !IsNormalized() ||                    // Non-normalized rects are
-              !aRect.IsNormalized() ||              // ignored.
-              ( mX + mWidth ) <= aRect.mX ||        // Top or left side of aRect
-              ( mY + mHeight ) <= aRect.mY ||       // inside of this rect?
-              mX >= ( aRect.mX + aRect.mWidth ) ||  // Or the other way
-              mY >= ( aRect.mY + aRect.mHeight ) ); // around?
-    }
-
-// -----------------------------------------------------------------------------
-// CRect::Intersection
-// Changes this rect to become the intersection rect of this rect and aRect.
-// -----------------------------------------------------------------------------
-//
-inline void CRect::Intersection( CRect aRect )
-    {
-    Normalize();
-    aRect.Normalize();
-
-    FastIntersection( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CRect::FastIntersection
-// Changes this rect to become the intersection rect of this rect and aRect.
-// Works only for normalized rectangles.
-// -----------------------------------------------------------------------------
-//
-inline void CRect::FastIntersection( const CRect& aRect )
-    {
-    // if not intersecting at all, the intersection area is zero.
-    if( !FastIntersects( aRect ) )
-        {
-        mX = 0;
-        mY = 0;
-        mWidth = 0;
-        mHeight = 0;
-        return;
-        }
-    // this rect's left side lies left of aRect's left side
-    if( mX < aRect.mX )
-	    {
-		mWidth -= ( aRect.mX - mX ); // adjust this rect's width
-        mX = aRect.mX;               // move this rect's left side
-        }
-    // this rect's top side lies above aRect's top side
-	if( mY < aRect.mY )
-	    {
-		mHeight -= ( aRect.mY - mY ); // adjust this rect's height
-        mY = aRect.mY;                // move this rect's top side
-        }
-    // this rect's right side lies right of aRect's right side
-	if( ( mX + mWidth ) > ( aRect.mX + aRect.mWidth ) )
-	    {
-		mWidth = ( aRect.mX + aRect.mWidth ) - mX; // adjust this rect's width
-        }
-    // this rect's bottom side lies below aRect's bottom side
-	if( ( mY + mHeight ) > ( aRect.mY + aRect.mHeight ) )
-	    {
-		mHeight = ( aRect.mY + aRect.mHeight ) - mY; // adjust this rect's
-                                                     // height
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CRect::Normalize
-// Makes sure the rect has positive width and height.
-// -----------------------------------------------------------------------------
-//
-inline void CRect::Normalize()
-    {
-	if( mWidth < 0 )
-	    {
-		mX += mWidth;
-		mWidth = -mWidth;
-	    }
-	if( mHeight < 0 )
-	    {
-		mY += mHeight;
-		mHeight = -mHeight;
-	    }
-    }
-
-// -----------------------------------------------------------------------------
-// CRect::IsNormalized
-// Tests whether is rectangle is normalized.
-// -----------------------------------------------------------------------------
-//
-inline bool32 CRect::IsNormalized() const
-    {
-	return ( mWidth >= 0 ) && ( mHeight >= 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// CRect::operator==
-// Logical comparison.
-// -----------------------------------------------------------------------------
-//
-inline bool32 CRect::operator==( const CRect& aRect ) const
-    {
-    return ( mY == aRect.mY ) &&
-           ( mX == aRect.mX ) &&
-           ( mHeight == aRect.mHeight ) &&
-           ( mWidth == aRect.mWidth );
-    }
-
-// -----------------------------------------------------------------------------
-// CRect::operator!=
-// Logical comparison.
-// -----------------------------------------------------------------------------
-//
-inline bool32 CRect::operator!=( const CRect& aRect ) const
-    {
-    // is empty, if either width or height are zero
-    return !( *this == aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CPoint::operator+=
-// Point addition.
-// -----------------------------------------------------------------------------
-//
-inline CRect& CRect::operator+=( const CPoint& aPoint )
-    {
-    mX += aPoint.mX;
-    mY += aPoint.mY;
-    return *this;
-    }
-
-// -----------------------------------------------------------------------------
-// CPoint::operator-=
-// Point substraction.
-// -----------------------------------------------------------------------------
-//
-inline CRect& CRect::operator-=( const CPoint& aPoint )
-    {
-    mX -= aPoint.mX;
-    mY -= aPoint.mY;
-    return *this;
-    }
-
-// -----------------------------------------------------------------------------
-// CPoint::operator+=
-// Size addition.
-// -----------------------------------------------------------------------------
-//
-inline CRect& CRect::operator+=( const CSize& aSize )
-    {
-    mWidth += aSize.mX;
-    mHeight += aSize.mY;
-    return *this;
-    }
-
-// -----------------------------------------------------------------------------
-// CPoint::operator-=
-// Size substraction.
-// -----------------------------------------------------------------------------
-//
-inline CRect& CRect::operator-=( const CSize& aSize )
-    {
-    mWidth -= aSize.mX;
-    mHeight -= aSize.mY;
-    return *this;
-    }
-
-#endif // OSNTYPES_INL__
--- a/mmuifw_plat/osn_global_api/osn_global_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="3ce5eb61ce2d1af0afe84ad5ab9ffd98" dataversion="1.0">
-<name>osn global api</name>
-<description>osn global api</description>
-<type>c++</type>
-<subsystem>osncore</subsystem>
-<libs><lib name="osncore.lib"/>
-</libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mmuifw_plat/osn_string_api/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2006 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:  File that exports the files belonging to 
-:                OSN String API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/osn/ustring.h   MW_LAYER_PLATFORM_EXPORT_PATH(osn/ustring.h)
\ No newline at end of file
--- a/mmuifw_plat/osn_string_api/inc/osn/ustring.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,449 +0,0 @@
-/*
-* 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:  String class
-*
-*/
-
-
-
-
-#ifndef USTRING_H
-#define USTRING_H
-
-#include <osn/osndefines.h>
-#include <stdexcept>
-#include <memory>
-#include <string>
-
-using namespace std;
-
-namespace osncore
-{
-
-class UStringImpl;
-
-typedef char Utf8;
-typedef unsigned short Utf16;
-typedef unsigned long Unicode;
-
-/**
- *  @class UString ustring.h "osn/ustring.h"
- *  Class encapsulates utf-8 encoded string. UString has a character based API thus
- *  e.g length will return number of charaters. Unicode operations for utf8 encoded
- *  string can be done using glib unicode manipulation functions and/or using non-member functions for
- *  UString type.
- *
- *  @lib osncore.lib
- *  @since S60 5.0
- *  @status Draft
- *  @interfaces UString
- */
-class UString
-    {
-public:
-    /**
-     * UString exception class
-     * @since S60 5.0
-     */
-    class InvalidUtf8: public invalid_argument
-        {
-    public:
-
-        InvalidUtf8(): invalid_argument("invalid"){}
-        /**
-         * Gets the invalid utf string
-         * @since S60 5.0
-         * @return the class name (InvalidUtf8) as a C-style string.
-         */
-        OSN_IMPORT virtual const char* what()const throw();
-        };
-public:
-    /**
-     * Default constructor.
-     */
-    OSN_IMPORT UString();
-
-    /**
-     * Construct a UString as a copy of given null terminated string.
-     *
-     * @since S60 5.0
-     * @exception std::bad_alloc
-     * @param aStr Utf-8 encoded string
-     */
-    OSN_IMPORT explicit UString(const Utf8* aStr);
-
-    /**
-     * Construct a UString as a copy of given string
-     * with byte length of the source buffer.
-     * Because a length is provided, source doesn't need to be null terminated.
-     *
-     * @since S60 5.0
-     * @exception std::bad_alloc
-     * @param aStr Utf-8 encoded string
-     * @param aByteCount Byte count of Utf-8 encoded string
-     */
-    OSN_IMPORT explicit UString(const Utf8* aStr, int aByteCount);
-
-    /**
-     * Construct a UString from unicode code point. If Unicode is invalid,
-     * @since S60 5.0
-     * @exception std::bad_alloc
-     * @param aCodePoint Unicode code point
-     */
-    OSN_IMPORT explicit UString(Unicode aCodePoint);
-
-    /**
-     * UString copy constructor
-     * @since S60 5.0
-     * @exception std::bad_alloc
-     * @param aUString Copy source
-     */
-    OSN_IMPORT UString(const UString& aUString);
-
-    /**
-     * Copy assignment
-     *
-     * @since S60 5.0
-     * @param aRhs Assignment source
-     */
-    OSN_IMPORT UString& operator=(const UString& aRhs);
-
-    /**
-     * Copy assignment
-     *
-     * @since S60 5.0
-     * @param aRhs Assignment source
-     */
-    OSN_IMPORT UString& operator=(const Utf8* aRhs);
-
-    /**
-     * Destructor.
-     */
-    OSN_IMPORT virtual ~UString();
-
-    /**
-     * Checks whether string is empty.
-     *
-     * @since S60 5.0
-     * @return True if string doesn't have content.
-     */
-    OSN_IMPORT bool isEmpty()const;
-
-    /**
-     * Returns the length of the string in characters.
-     *
-     * @since S60 5.0
-     * @return Length
-     */
-    OSN_IMPORT long getCharLength()const;
-
-    /**
-     * Returns the length of the string in bytes
-     *
-     * @since S60 5.0
-     * @return Bytes
-     */
-    OSN_IMPORT long getByteLength()const;
-
-    /**
-     * Returns utf8 type string
-     *
-     * @since S60 5.0
-     * @return utf8 type string
-     */
-    OSN_IMPORT const Utf8* getUtf8()const;
-
-    /**
-     * Compares two strings using strcmp(). Note that this is not linguistic comparison nor case insensitive.
-     *
-     * @since S60 5.0
-     * @param aUString UString object to compare
-     * @return < 0 if this compares before aRhs, 0 if they compare equal, > 0 if this compares after aRhs.
-     */
-    OSN_IMPORT int compare(const UString& aUString)const;
-
-    /**
-     * Compares two strings using strcmp(). Note that this is not linguistic comparison nor case insensitive.
-     *
-     * @since S60 5.0
-     * @param aStr String to compare
-     * @return < 0 if this compares before aRhs, 0 if they compare equal, > 0 if this compares after aRhs.
-     */
-    OSN_IMPORT int compare(const Utf8* aStr)const;
-
-    /**
-     * Compares two strings for ordering using the linguistically correct rules for the current locale.
-     * When sorting a large number of strings, it will be significantly faster
-     * to obtain collation keys with g_utf8_collate_key()from libglib and compare the keys
-     * with strcmp() when sorting instead of sorting the original strings.
-     *
-     * @since S60 5.0
-     * @param aUString UString object to compare
-     * @return < 0 if this compares before aRhs, 0 if they compare equal, > 0 if this compares after aRhs.
-     */
-    OSN_IMPORT int compareC(const UString& aUString)const;
-
-    /**
-     * Compares two strings for ordering using the linguistically correct rules for the current locale.
-     * When sorting a large number of strings, it will be significantly faster
-     * to obtain collation keys with g_utf8_collate_key() from libglib and compare the keys
-     * with strcmp() when sorting instead of sorting the original strings.
-     * If aStr is invalid utf8, UString::InvalidUtf8 exception is thrown.
-     *
-     *
-     * @since S60 5.0
-     * @param aStr String to compare
-     * @return < 0 if this compares before aRhs, 0 if they compare equal, > 0 if this compares after aRhs.
-     */
-    OSN_IMPORT int compareC(const Utf8* aStr)const;
-
-
-    /**
-     * Compares two strings using strcmp()
-     *
-     * @since S60 5.0
-     * @param aRhs UString object to compare
-     * @return true if they compare equal.
-     */
-    OSN_IMPORT bool operator==(const UString& aRhs)const;
-
-    /**
-     * Compares two strings using strcmp()
-     *
-     * @since S60 5.0
-     * @param aRhs String to compare
-     * @return true if they compare equal.
-     */
-    OSN_IMPORT bool operator==(const Utf8* aRhs) const;
-
-    /**
-     * Adds a string onto the end of string, expanding it if necessary.
-     *
-     * @since S60 5.0
-     * @exception std::bad_alloc
-     * @param aUString String object to append
-     */
-    OSN_IMPORT void append(const UString& aUString);
-
-    /**
-     * Adds a string onto the end of string, expanding it if necessary.
-     *
-     * @since S60 5.0
-     * @exception std::bad_alloc
-     * @param aStr String to append
-     */
-    OSN_IMPORT void append(const Utf8* aStr);
-
-    /**
-     * Inserts aStr into string, expanding it if necessary.
-     * If aPos is -1, bytes are inserted at the end of the string.
-     *
-     * @since S60 5.0
-     * @exception std::bad_alloc
-     * @exception std:out_of_range is thrown if given position is invalid
-     * @param aPos The character position to insert the copy of the string
-     * @param aStr The string to insert
-     */
-    OSN_IMPORT void insert(long aPos, const Utf8* aStr);
-
-    /**
-     * Inserts aStr into string, expanding it if necessary. Because length is
-     * provided, aStr may contain embedded nulls and need not be null terminated.
-     * If aPos is -1, bytes are inserted at the end of the string.
-     *
-     * @since S60 5.0
-     * @exception std::bad_alloc
-     * @exception std:out_of_range is thrown if given position is invalid
-     * @param aPos The character position to insert the copy of the string
-     * @param aStr The string to insert
-     * @param aCharCount Character count.
-     */
-    OSN_IMPORT void insert(long aPos, const Utf8* aStr, long aCharCount);
-
-    /**
-     * Replace a substring with a given string, expanding it if necessary
-     *
-     * @since S60 5.0
-     * @exception std::bad_alloc
-     * @exception std:out_of_range is thrown if given position is invalid
-     * @param aPos The charater position to replace the string
-     * @param aStr The string to insert
-     */
-    OSN_IMPORT void replace(long aPos, const Utf8* aStr);
-
-    /**
-     * Replace a substring with a given string, expanding it if necessary. Because length is
-     * provided, aStr may contain embedded nulls and need not be null terminated.
-     * If aLength is < 0, length is assumed to be aStr's length.
-     *
-     * @since S60 5.0
-     * @exception std::bad_alloc
-     * @exception std:out_of_range is thrown if given position is invalid
-     * @param aPos The character position to replace the string
-     * @param aStr The string to insert
-     * @param aCharCount Character count.
-     */
-    OSN_IMPORT void replace(long aPos, const Utf8* aStr, long aCharCount);
-
-    /**
-     * Erase a substring
-     *
-     * @since S60 5.0
-     * @exception std:out_of_range is thrown if given position is invalid
-     * @param aPos The character position to start erasing from
-     * @param aCharCount number of characters to erase.
-     */
-    OSN_IMPORT void erase(long aPos, long aCharCount);
-
-    /**
-     * Returns unicode at given position in string
-     *
-     * @since S60 5.0
-     * @exception std:out_of_range is thrown if given position is invalid
-     * @param aPos The requested position
-     */
-    OSN_IMPORT Unicode operator[](long aPos);
-
-    /**
-     * Checks whether string is null.
-     *
-     * @since S60 5.0
-     * @return True if string is null.
-     */
-    OSN_IMPORT bool isNull()const;
-
-private: // data
-
-    /**
-     * Implementation.
-     */
-    auto_ptr<UStringImpl> mImpl;
-    };
-
-
-/**
- *  @class UtfProxy ustring.h "osn/ustring.h"
- *  Proxy class to ease utf encoded string memory management.
- *
- *  @lib osncore.lib
- *  @since S60 5.0
- *  @status Draft
- */
-template<typename T>
-class UtfProxy
-    {
-public:
-    /**
-     * Constructor for templated UtfProxy class
-     */
-    explicit UtfProxy(T* aString):iUtf(aString){}
-
-    /**
-     * Destructor
-     */
-    OSN_IMPORT ~UtfProxy();
- 
-    /**
-     * Raw data
-     *
-     * @return const pointer to templated class
-     * @since S60 5.0
-     */
-    const T* getUtf()const{return iUtf;}
-private:
-    /**
-     * Default constructor disabled
-     */
-    UtfProxy();
-    /**
-     * Copy constructor disabled
-     */
-    UtfProxy(const UtfProxy& a);
-    /**
-     * Assignment disabled
-     */
-    UtfProxy& operator=(const UtfProxy& a);
-
-private:
-    /**
-     * pointer to templated class
-     */
-    T* iUtf;
-    };
-
-typedef UtfProxy<Utf16> Utf16Proxy;
-typedef UtfProxy<Utf8> Utf8Proxy;
-
-// Non member functions for UString type
-
-/**
- * Convert a string from UTF-8 to UTF-16. A 0 word will be added to the result after the converted text.
- *
- * @since S60 5.0
- * @param aSourceUtf8 Non empty string object.
- * @return auto_ptr to proxy object holding converted string.
- */
-OSN_IMPORT auto_ptr<Utf16Proxy> toUtf16(const UString& aSourceUtf8);
-
-/**
- * Converts a string to int.If no conversion could be performed, UString::InvalidUtf8 exception is returned.
- *
- * @since S60 5.0
- * @param aSource source string
- * @return integer
- */
-OSN_IMPORT int toInt(const UString& aSource);
-
-/**
- * Normalize a unnormalized text. Characters are decomposed by canonical equivalence e.g û -> u^
- *
- * @since S60 5.0
- * @param aSource source string
- * @return auto_ptr holding UString object.
- */
-OSN_IMPORT auto_ptr<UString> normalizeNFD(const UString& aSource);
-
-/**
- * Normalize a unnormalized text. Does canonical decomposition,followed by canonical composition.
- * Resulting text is to be a canonical equivalent to the original unnormalized text.
- *
- * @since S60 5.0
- * @param aSource source string
- * @return auto_ptr holding UString object.
- */
-OSN_IMPORT auto_ptr<UString> normalizeNFC(const UString& aSource);
-
-/**
- * Normalize a unnormalized text. Does compatibility decomposition.
- * Resulting text is to be a compatibility equivalent to the original unnormalized text.
- *
- * @since S60 5.0
- * @param aSource source string
- * @return auto_ptr holding UString object.
- */
-OSN_IMPORT auto_ptr<UString> normalizeNFKD(const UString& aSource);
-
-/**
- * Normalize a unnormalized text. Does compatibility decomposition,followed by compatibility composition.
- * Resulting text is to be a compatibility equivalent to the original unnormalized text.
- *
- * @since S60 5.0
- * @param aSource source string
- * @return auto_ptr holding UString object.
- */
-OSN_IMPORT auto_ptr<UString> normalizeNFKC(const UString& aSource);
-}
-
-
-#endif
--- a/mmuifw_plat/osn_string_api/osn_string_api.metaxml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="2bf6d4a10c5a142720bc77f4aeef6c87" dataversion="1.0">
-<name>osn string api</name>
-<description>osn string api</description>
-<type>c++</type>
-<subsystem>osncore</subsystem>
-<libs><lib name="osncore.lib"/>
-</libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/mulwidgets/alfcontainerwidget/group/alfcontainerwidget.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* 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:   This is the project specification file for alfcontainerwidget.
-*
-*/
-
-#include <platform_paths.hrh>
-
-TARGET		  			  alfcontainerwidget.dll
-TARGETTYPE	  			PLUGIN
-UID 0x10009d8d 0x200100FE
-
-
-
-
-
-CAPABILITY              CAP_ECOM_PLUGIN
-VENDORID                VID_DEFAULT
-
-#ifndef __WINSCW__
-EPOCALLOWDLLDATA
-#endif
-
-// Common project specification for container widget ECom plugin
-// and static container widget library meant to be linked against EUnit unit tests.
-#include "mmp_common.inc"
-
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-LIBRARY		 			euser.lib 
-LIBRARY					libc.lib
-LIBRARY					alfwidgetutils.lib
-LIBRARY					alfwidgetmodel.lib
-
-#define ALF_LINK_STDCPP_DLL
-// following include must be after definition
-
-LIBRARY     		    libpthread.lib
-LIBRARY                 libstdcpp.lib
-LIBRARY 				alfclient.lib
-LIBRARY					osncore.lib
-SOURCEPATH	  			../src
-LANG 					SC
-
-START RESOURCE 			200100fe.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET 					alfcontainerwidget.rsc
-#endif
-END
-
-
--- a/mulwidgets/alfcontainerwidget/group/alfcontainerwidgetstatic.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* 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:  Project definition file for project alfcontainerwidgetstatic
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET                  alfcontainerwidgetstatic.lib
-TARGETTYPE              lib
-UID                     0x00000000 0x0332F1CB // Random UID
-
-
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-// Common project specification for container widget ECom plugin
-// and static container widget library meant to be linked against EUnit unit tests.
-#include "mmp_common.inc"
-
-#define ALF_LINK_STDCPP_DLL
-// following include must be after definition
-
-
--- a/mulwidgets/alfcontainerwidget/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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:   This file provides the information required for building the
-*       			   whole of a alfcontainerwidget.
-*
-*/
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-alfcontainerwidget.mmp
-
-PRJ_TESTEXPORTS
-
-
-PRJ_TESTMMPFILES
-
-// End of file
--- a/mulwidgets/alfcontainerwidget/group/mmp_common.inc	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-/*
-============================================================================
- Name		: mmp_common.inc
- Author	  : 
- Copyright   : 
- Description : Common project specification for container widget ECom plugin
- and static container widget library meant to be linked against EUnit unit tests.
-============================================================================
-*/
-
-USERINCLUDE	 			      ../inc
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH	  			      ../src
-SOURCE		  			      alfcontainerwidgetfactoryplugin.cpp
-SOURCE					      alfcontainerwidget.cpp
-SOURCE						  alfcontainerwidgetexception.cpp
-SOURCE						  alfcontainercontrol.cpp
-
-USERINCLUDE             ../../../inc
\ No newline at end of file
--- a/mulwidgets/alfcontainerwidget/inc/alfcontainercontrol.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* 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:  Container widget control class.
-*
-*/
-
-
-#ifndef ALFCONTAINERCONTROL_H_
-#define ALFCONTAINERCONTROL_H_
-
-#include <alf/alfwidgetcontrol.h>
-
-namespace Alf
-{
-
-/**
- * Control class of the container widget.
- * 
- * This class implements logic of the container widget.
- * 
- * Container widget automatically creates an AlfContainerControl object
- * for it's control. It is not possible to construct this control through
- * AlfContainerWidgetFactoryPlugin.  
- */
-class AlfContainerControl : public CAlfWidgetControl
-{
-public:
-
-	/**
-	 * Default constructor
-	 * 
-	 * @param aEnv UI Accelerator Toolkit environment where this container widget
-	 * 			   is created.
-	 */
-	AlfContainerControl(CAlfEnv& aEnv);
-	
-	/**
-	 * Default destructor
-	 */
-	virtual ~AlfContainerControl();
-	
-    /**
-     * Handles events sent to widget control.
-     *
-     * @since S60 ?S60_version
-     * @param aEvent The event to be handled.
-     * @return True if the event is handled, false elsevhere.
-     */ 
-	virtual AlfEventStatus handleEvent( const TAlfEvent& aEvent );
-};
-
-}
-
-#endif /*ALFCONTAINERCONTROL_H_*/
--- a/mulwidgets/alfcontainerwidget/inc/alfcontainerwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,267 +0,0 @@
-/*
-* 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 container widget.
-*
-*/
-
-
-#ifndef ALFCONTAINERWIDGET_H
-#define ALFCONTAINERWIDGET_H
-
-#include "alf/ialfcontainerwidget.h"
-#include <alf/alflayout.h>
-
-// Forward declarations
-class CAlfEnv;
-
-namespace Alf
-{
-
-// Forward declarations
-class AlfWidget;
-
-/**
- * Container widget implementation.
- * 
- * Container widget can be used to contain other widgets in an arbitrary layout.
- * To create a container widget see CAlfContainerWidgetFactoryPlugin class.
- * 
- * Container widget creates a control group with ID 0 and stores it's control
- * in it. It will also append all added widget controls into the same control group
- * unless the added widget control is added to its own control group.
- */
-class AlfContainerWidget : public IAlfContainerWidget
-{
-public:
-
-    /**
-     * Default constructor.
-     * 
-     * Use CAlfContainerWidgetFactoryPlugin::CreateProduct() to instantiate a container
-     * widget.
-     * 
-     * @param aWidgetName The widget name or ID to be assigned to this widget.
-     * @param aContainer Container widget in which this container is contained. 
-     * @param aEnv UI Accelerator Environment instance to which the widget is created. 
-     * @param aNode Runtime declaration of the widget 
-     * @param aFilePath Path to XML file describing the presentation of the widget 
-     */
-	AlfContainerWidget(	const char* aWidgetName, 
-						IAlfContainerWidget& aContainer, 
-						CAlfEnv& aEnv,
-						DuiNode* aNode,
-						const char* aFilePath);
-    
-    /**
-     * Default destructor.
-     */
-	virtual ~AlfContainerWidget();
-    
-    // From Alf::IAlfWidget base class
-    
-    /**
-     * Getter for the control. The ownership is not passed.
-     *
-     * @since S60 5.0
-     * @return The control of this widget, or NULL if the control is not specified.
-     */
-    virtual CAlfWidgetControl* control() const;
-    
-    /**
-     * getter for the parent container. The ownership is not passed.
-     * @return the parent container or NULL if the widget is the root-widget.
-     */
-    virtual IAlfContainerWidget* parent() const;
-
-    /**
-     * Setter for the control. The control is owned by the Alfred environment.
-     * The previously set control can be destroyed when new control is set.
-     * 
-     * The set control is added to the control group of this container widget.
-     * The set control is removed from it's previous control group.
-     *
-     * @since S60 5.0
-     * @param aControl The control for this widget.
-     * @param aDeletePreviousControl A boolean to indicate whether the previously set control
-     * 								 is to be destroyed when this method is called.
-     */
-    virtual void setControl(CAlfWidgetControl* aControl, bool aDeletePreviousControl = true);
-
-    /**
-     * Getter for the model. The ownership is not passed.
-     *
-     * @since S60 5.0
-     * @return The model of this widget, or NULL if the model is not specified.
-     */
-    virtual IAlfModel* model();
-
-    /**
-     * Setter for the model. Ownership is passed and the old model is released.
-     *
-     * @since S60 5.0
-     * @param aModel The model for this widget.
-     * @param aTakeOwnership Whether takes ownership of model or not
-     */
-    virtual void setModel(IAlfModel* aModel, bool aTakeOwnership = true);
-    
-    /**
-     * Get the name of the widget instance.
-     *
-     * @since S60 5.0
-     * @return Widget name
-     */
-    virtual const char* widgetName() const;   
-    
-    /**
-     * Sets/Releases the Focus from child widget of container.
-     * Does not set the actual focused status in roster.
-     *
-     * @since S60 5.0
-     * @param aFocus boolean value for focused status
-     */
-    virtual void setChildFocus(bool aFocus);    
-    
-    /** 
-     * Sets the presentation for the widget using presentation XML file.
-     * Destroys any existing presentation.
-     * @param aFilePath Path to XML file describing the presentation 
-     *                  of the widget. Not Owned.
-     * @exception AlfWidgetException if no visualization node available 
-     *                               in Presentation XML or if no control
-     *                               is associated with the widget.
-     * @exception bad_alloc 
-     * @since S60 ?S60_version
-     * @return void.
-     */
-    virtual void setPresentation(const char* aFilePath);      
-
-    // From Alf::IAlfContainerWidget base class
-    
-    /**
-     * Returns total number of widgets contained by this container.
-     *
-     * @return int Total number of widgets.
-     */
-    virtual int widgetCount() const;
-    
-    /**
-     * Adds a child widget to the container.
-     * 
-     * Ownership of the widget is transferred to this container
-     * object.
-     * 
-     * The control of the added widget is appended to the control group of
-     * this container widget unless the control already is appended to
-     * another control group.
-     *
-     * @param  aWidget Child widget to be added to container.
-     */
-    virtual void addWidget(IAlfWidget& aWidget);
-
-    /**
-     * Returns child widget at given index.
-     * 
-     * If index is not found returns null.
-     *
-     * @param  aIndex Index of widget to be returned.
-     * @return Widget at given index or null if not found.
-     */
-    virtual IAlfWidget* getWidget(int aIndex) const;
-    
-    /**
-     * Returns the child index, when given the child widget.
-     *
-     * @param  aWidget child widget, which index is returned 
-     * @return the index of the child widget, or -1, if widget is not child of this container.
-     */
-    virtual int getWidgetIndex(IAlfWidget& aWidget) const;
-
-    /**
-     * Removes the child widget from given index.
-     * 
-     * This will destroy the widget object at the given index.
-     *
-     * @param aIndex Index from which widget has to be removed.
-     */
-    virtual void removeWidget(int aIndex);
-    
-    /**
-     * Sets the base layout of container widget.
-     *
-     * @param aLayout New base layout of container widegt.
-     */
-    virtual void applyLayout(IAlfLayoutManager& aLayout);
-
-    // From Alf::IAlfInterfaceBase base class
-
-    /**
-     * Interface getter.
-     * Derived classes should always call the base class method
-     * from the overridden MakeInterface.
-     *
-     * @since S60 5.0
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    virtual IAlfInterfaceBase* makeInterface(const IfId& aType);
-
-private:
-	/**
-	 * Constructs widget from declaration.
-	 *
-	 * @param aNode declaration node.
-	 */
-	void constructComponentsFromNode();
-
-	/**
-	 * Constructs widget from declaration.
-	 *
-	 * @param aNode declaration node.
-	 */
-	void processTreeRecursively();
-
-	/**
-	 * Constructs widget using the presentation XML.
-	 *
-	 * @param aFilePath Path to XML file describing the presentation of the widget.
-	 */
-	void constructFromPresentationXML(const char *aFilePath);
-
-	/**
-	 * Constructs control for widget
-	 *
-	 */
-	void constructDefault();
-	
-	/**
-     * Sets default layout mgr.
-     */
-    void setDefaultLayoutManager();
-private:
-
-	/** Pointer to the adaptee AlfWidget - object. */
-	auto_ptr<AlfWidget> mWidget;
-	
-	/**
-	 * UI Accelerator Environment where this widget is used.
-	 * Not owned.
-	 */
-	CAlfEnv& mEnv;
-
-};
-
-}
-
-#endif /*ALFCONTAINERWIDGET_H*/
--- a/mulwidgets/alfcontainerwidget/inc/alfcontainerwidgetexception.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* 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:  Container widget exception class.
-*
-*/
-
-
-#ifndef ALFCONTAINERWIDGETEXCEPTION_H
-#define ALFCONTAINERWIDGETEXCEPTION_H
-
-// INCLUDES
-#include <alf/alfexception.h>
-#include <osn/ustring.h>
-
-namespace Alf
-    {
-
-/**
- * Error codes used with AlfContainerWidgetException.
- *
- * There is an offset in AlfContainerWidgetException error codes, so that
- * AlfContainerWidget specific exceptions can be separated from
- * osncore::AlfException base exceptions and exceptions of other widgets.
- */
-enum TAlfContainerWidgetErrorCode
-    {
-    /**
-     * Error occured in construction or initialization of the container
-     * widget.
-     */
-    EInitializationError = 500
-    };
-
-/**
- * AlfContainerWidgetException is a base class for all container widget
- * exceptions.
- *
- */
-class AlfContainerWidgetException : public osncore::AlfException
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Constructor with AlfContainerWidget specific error code.
-     *
-     * Error code has to be one of the error codes specified in
-     * Alf::TAlfContainerWidgetErrorCode or a system-wide error code
-     * represented by negative integer.
-     *
-     * @see osncore::AlfException::errorCode()
-     *
-     * @param aError Error code to describe the occured exception.
-     */
-    AlfContainerWidgetException(int aError) throw();
-
-    /**
-     * Constructor with AlfContainerWidget specific error code
-     * and additional information.
-     *
-     * Error code has to be one of the error codes specified in
-     * Alf::TAlfContainerWidgetErrorCode or a system-wide error code
-     * represented by negative integer.
-     *
-     * @see osncore::AlfException::errorCode()
-     *
-     * @param aError Error code to describe the occured exception.
-     * @param aInfo Optional additional information or NULL.
-        */
-    AlfContainerWidgetException(int aError, const char* aInfo) throw();
-
-    /**
-     * Constructor with AlfContainerWidget specific error code,
-     * additional information, source file and line of code.
-     *
-     * Error code has to be one of the error codes specified in
-     * Alf::TAlfContainerWidgetErrorCode or a system-wide error code
-     * represented by negative integer.
-     *
-     * @see osncore::AlfException::errorCode()
-     *
-     * @param aError Error code to describe the occured exception.
-     * @param aInfo Optional additional information or NULL.
-        * @param aFileAndLine Optional file and line information or NULL.
-        */
-    AlfContainerWidgetException(int aError, const char* aInfo, const char* aFileAndLine) throw();
-
-    /**
-     * Default destructor.
-     */
-    virtual ~AlfContainerWidgetException() throw();
-
-    /**
-     * Returns the description of the exception.
-     * @ret The description of the exception.
-     */
-    const char* what() const throw();
-
-private:
-
-    /**
-     * Error description
-     */
-    osncore::UString mDescription;
-
-    };
-
-    } // Namespace Alf
-
-#endif // ALFCONTAINERWIDGETEXCEPTION_H
--- a/mulwidgets/alfcontainerwidget/inc/alfcontainerwidgetfactoryplugin.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* 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:  Factory plugin implementation that can construct container widgets.
-*
-*/
-
-
-#ifndef ALFCONTAINERWIDGETFACTORYPLUGIN_H
-#define ALFCONTAINERWIDGETFACTORYPLUGIN_H
-
-// INCLUDES
-#include <alf/ialffactoryplugin.h>
-
-namespace Alf
-{
-
-/**
- * AlfContainerWidgetFactoryPlugin is a widget factory plugin implementation
- * that can be used to create container widgets.
- *
- * Can be used to create container widgets and associated products.
- */
-class AlfContainerWidgetFactoryPlugin : public IAlfFactoryPlugin
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Default Symbian constructor to create the factory plugin.
-     */
-    static AlfContainerWidgetFactoryPlugin* newL();
-
-    // From base class MAlfPluginFactory
-
-    /**
-     * Create container widget factory product.
-     * @since Series 60 5.0
-     * @param aProduct Product to create.
-     * @param aInitData Initialization data for product
-     * @return Instance or NULL
-     */ 
-    IAlfInterfaceBase* createProduct( const char* aProduct, void* aInitData );    
-    
-     /**
-      * Count available products this factory can produce.
-      *
-      * @since S60 5.0
-      * @return Product count
-      */
-     int productCount() const;
-
-     /**
-      * Fetch product info by index
-      *
-      * @param aIndex List index
-      * @since S60 5.0
-      * @return Descriptor describing product
-      */
-     const char* productInfo(int aIndex) const;
-      
-     // From base class IAlfInterfaceBase
-
-     /**
-      * Creates interface based on the given type.
-      * 
-      * @since Series 60 5.0
-      * @param aType Interface type to create.
-      * @return Requested interface.
-      */ 
-     IAlfInterfaceBase* makeInterface(const IfId& aType);
-     
-    };
-
-} // Namespace Alf
-
-#endif // ALFCONTAINERWIDGETFACTORYPLUGIN_H
--- a/mulwidgets/alfcontainerwidget/src/200100fe.rss	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2009 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: container widget rss file.
-*
-*/
-
-#include <ecom/registryinfo.rh>
-#include "alf/alfecompluginfactoryuid.rh"
-
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = 0x200100FE;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = KFactoryPluginUid;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = 0x200100FF;
-                version_no = 1;
-                display_name = "";
-                default_data = "container";
-                opaque_data = "";
-                }    
-            };
-        }
-    };
-}
\ No newline at end of file
--- a/mulwidgets/alfcontainerwidget/src/alfcontainercontrol.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* 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:  Container widget control class.
-*
-*/
-
-
-// Local Includes
-#include "../inc/alfcontainercontrol.h"
-
-// AlfClient Includes
-#include <alf/alfevent.h>
-
-// Widget Model
-#include <alf/alfwidgetevents.h>
-
-using namespace Alf;
-
-AlfContainerControl::AlfContainerControl(CAlfEnv& aEnv)
-	: CAlfWidgetControl(aEnv)
-	{
-	}
-
-AlfContainerControl::~AlfContainerControl()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// From base class IAlfWidgetControl
-// Handles events sent to widget control.
-// ---------------------------------------------------------------------------
-//
-AlfEventStatus AlfContainerControl::handleEvent( const TAlfEvent& aEvent )
-	{
-	AlfEventStatus ret = CAlfWidgetControl::handleEvent(aEvent);
-
-    if(ret == EEventNotHandled && aEvent.IsKeyEvent())
-		{
-		if(aEvent.KeyEvent().iScanCode == EStdKeyRightArrow ||
-		   aEvent.KeyEvent().iScanCode == EStdKeyDownArrow )
-			{
-			if(aEvent.Code() == EEventKey)
-				{
-				TAlfEvent focusNext(EEventFocusNextWidget);
-				return CAlfWidgetControl::processEvent(focusNext);							
-				}
-			}
-	    else if(aEvent.KeyEvent().iScanCode == EStdKeyLeftArrow ||
-		        aEvent.KeyEvent().iScanCode == EStdKeyUpArrow)
-			{
-			if(aEvent.Code() == EEventKey)
-				{
-				TAlfEvent focusPrevious(EEventFocusPreviousWidget);
-				return CAlfWidgetControl::processEvent(focusPrevious);
-				}
-			}
-		}
-	
-	return ret;
-	}
--- a/mulwidgets/alfcontainerwidget/src/alfcontainerwidget.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* 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 container widget.
-*
-*/
-
-
-#include "alfcontainerwidget.h"
-#include "alfcontainercontrol.h"
-#include "alfcontainerwidgetexception.h"
-#include <libc/stdio.h>
-#include <libc/string.h>
-#include "alf/alfwidget.h"
-#include <alf/alfenv.h>
-#include <alf/alfmetric.h>
-#include <alf/alfgridlayoutmanager.h>
-#include <alf/ialfgridlayoutpolicy.h>
-
-#include "alf/attrproperty.h"
-
-namespace Alf
-{
-
-AlfContainerWidget::AlfContainerWidget(
-	const char* aWidgetName, 
-	IAlfContainerWidget& aContainer, 
-	CAlfEnv& aEnv, 
-	DuiNode* /*aNode*/,
-	const char* /*aFilePath*/)
-	: mWidget(0), 
-	mEnv(aEnv)
-    {
-    mWidget.reset(new (EMM) AlfWidget(aWidgetName, aContainer, aEnv));
-            
-       
-    
-        constructDefault();
-        setDefaultLayoutManager();
-        
-    }
-
-AlfContainerWidget::~AlfContainerWidget()
-    {
-    }
-
-CAlfWidgetControl* AlfContainerWidget::control() const
-    {
-    return mWidget->control();
-    }
-    
-IAlfContainerWidget* AlfContainerWidget::parent() const
-    {
-    return mWidget->parent();
-    }
-
-void AlfContainerWidget::setControl(CAlfWidgetControl* aControl, bool aDeletePreviousControl)
-    {
-    mWidget->setControl(aControl, aDeletePreviousControl);
-    }
-
-IAlfModel* AlfContainerWidget::model()
-    {
-    return 0;
-    }
-
-void AlfContainerWidget::setModel(IAlfModel* /*aModel*/, bool /*aTakeOwnership*/)
-    {
-    
-    }
-
-const char* AlfContainerWidget::widgetName() const
-    {
-    return mWidget->widgetName();
-    }
-
-void AlfContainerWidget::setChildFocus(bool /*aFocus*/)
-    {
-    
-    }
-
-
-//---------------------------------------------------------------------------
-// Creates the presentation for the widget from XML. Destroys any existing
-// presentation.
-//---------------------------------------------------------------------------
-//    
-void AlfContainerWidget::setPresentation (const char* aFilePath)
-    {
-    if(mWidget.get())
-    	{
-        mWidget->setPresentation(aFilePath);    	
-    	}
-    }    
-
-int AlfContainerWidget::widgetCount() const
-    {
-    return mWidget->widgetCount();
-    }
-
-void AlfContainerWidget::addWidget(IAlfWidget& aWidget)
-    {
-    mWidget->addWidget(aWidget);
-    }
-
-IAlfWidget* AlfContainerWidget::getWidget(int aIndex) const
-    {
-    return mWidget->getWidget(aIndex);
-    }
-    
-int AlfContainerWidget::getWidgetIndex(IAlfWidget& aWidget) const
-    {
-    return mWidget->getWidgetIndex(aWidget);
-    }
-
-void AlfContainerWidget::removeWidget(int aIndex)
-    {
-    mWidget->removeWidget(aIndex);
-    }
-
-void AlfContainerWidget::applyLayout(IAlfLayoutManager& aLayout)
-    {
-    mWidget->applyLayout(aLayout);
-    }
-
-IAlfInterfaceBase* AlfContainerWidget::makeInterface(const IfId& aType)
-    {    
-    // Type cast to IAlfWidget
-    if(!strcmp(aType.mImplementationId, IAlfWidget::type().mImplementationId))
-        {
-        return static_cast<IAlfWidget*>(this);
-        }
-        
-    // Type cast to IAlfContainerWidget        
-    if(!strcmp(aType.mImplementationId, IAlfContainerWidget::type().mImplementationId))
-        {
-        return static_cast<IAlfContainerWidget*>(this); 
-        } 
-    
-    return mWidget->makeInterface ( aType );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//    
-void AlfContainerWidget::constructDefault()
-    {
-    // Create control for the container widget
-    auto_ptr<AlfContainerControl> control(new (EMM) AlfContainerControl(mEnv));    
-    setControl(control.get());
-    control.release();
-   
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//   
-void AlfContainerWidget::setDefaultLayoutManager()
-	{
-	 // Default layout manager provided by the container widget
-    auto_ptr<AlfGridLayoutManager> layoutManager(new (EMM) AlfGridLayoutManager());
-    this->applyLayout(*layoutManager.get());
-    AlfGridLayoutManager* lm = layoutManager.release();
-    
-    IAlfGridLayoutPolicy* gridPolicy = IAlfInterfaceBase::makeInterface<IAlfGridLayoutPolicy>(lm);
-    gridPolicy->fillWeights(IAlfGridLayoutPolicy::EGridDimensionColumn, 1, TAlfMetric(1, EAlfUnitWeight));
-    gridPolicy->fillWeights(IAlfGridLayoutPolicy::EGridDimensionRow, 1, TAlfMetric(1, EAlfUnitWeight));
-	}
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//   
-void AlfContainerWidget::constructComponentsFromNode()
-	{
-	constructDefault();
-    
-    //check, if the layoutmanager is already set.
-    IAlfLayoutManager* layoutManager = IAlfInterfaceBase::makeInterface<IAlfLayoutManager>(control());
-    if (!layoutManager)
-        {
-        setDefaultLayoutManager();
-        }
-	}
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//  
-void AlfContainerWidget::processTreeRecursively()
-    {
-    }
-
-//---------------------------------------------------------------------------
-//---------------------------------------------------------------------------
-//    
-void AlfContainerWidget::constructFromPresentationXML(const char* /*aFilePath*/ )
-    {
-    constructDefault();
-    setDefaultLayoutManager();      
-    }
-}
--- a/mulwidgets/alfcontainerwidget/src/alfcontainerwidgetexception.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* 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:  Container widget exception class.
-*
-*/
-
-
-#include "alfcontainerwidgetexception.h"
-
-using namespace Alf;
-
-AlfContainerWidgetException::AlfContainerWidgetException(int aError) throw()
-	: osncore::AlfException(aError)
-	{
-	}
-
-AlfContainerWidgetException::AlfContainerWidgetException(int aError, const char* aInfo) throw()
-	: osncore::AlfException(aError, aInfo)
-	{
-	mDescription = osncore::UString(aInfo);
-	}
-
-AlfContainerWidgetException::AlfContainerWidgetException(int aError, const char* aInfo, const char* aFileAndLine) throw()
-	: osncore::AlfException(aError, aInfo, aFileAndLine)
-	{
-	mDescription = osncore::UString(aInfo);
-	mDescription.append(aFileAndLine);
-	}
-
-AlfContainerWidgetException::~AlfContainerWidgetException() throw()
-	{
-	}
-
-const char* AlfContainerWidgetException::what() const throw()
-	{
-	return mDescription.getUtf8();
-	}
--- a/mulwidgets/alfcontainerwidget/src/alfcontainerwidgetfactoryplugin.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* 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:   AlfContainerWidgetFactoryPlugin implementation
-*
-*/
-
-#include <osn/osnnew.h>
-#include <ecom/implementationproxy.h>
-#include "alf/ialfcontainerwidget.h"
-#include "alf/alfwidget.h"
-#include <libc/string.h>
-#include "alfcontainerwidget.h"
-#include "alfcontainerwidgetexception.h"
-#include "alfcontainerwidgetfactoryplugin.h"
-
-using namespace Alf;
-
-// UID of the container widget factory plugin.
-const TInt KContainerWidgetFactoryPluginUid = {0x200100FF};
-
-// Amount of products produced by this factory.
-const int KProductCount = 1;
-
-AlfContainerWidgetFactoryPlugin* AlfContainerWidgetFactoryPlugin::newL()
-    {
-    return new (ELeave) AlfContainerWidgetFactoryPlugin();
-    }
-
-IAlfInterfaceBase* AlfContainerWidgetFactoryPlugin::createProduct(const char* aProduct, void* aInitData)
-    {
-    IAlfInterfaceBase* ret(0);
-    
-    if(!strcmp(aProduct, IAlfContainerWidget::type().mImplementationId))
-        {        
-        // Typecast the initialization data
-        AlfWidgetInitData* initData = (AlfWidgetInitData*) aInitData;
-        
-        // Throw exception if init data is null
-        if(initData == 0)
-        	{
-        	ALF_THROW(AlfContainerWidgetException, EInitializationError, "Container widget initialization data was NULL.");
-        	}
-        
-        // Assert that widget id in the initialization data is correct.
-        if(initData->mWidgetId == 0)
-        	{
-        	ALF_THROW(AlfContainerWidgetException, EInitializationError, "Widget ID was NULL.");
-        	}
-        
-        // Assert that the UI Accelerator Toolkit Environment in the initialization data is correct.
-        if(initData->mEnv == 0)
-        	{
-        	ALF_THROW(AlfContainerWidgetException, EInitializationError, "Environment instance was NULL.");
-        	}
-        
-        // Assert that container widget pointer in the initialization data is correct.
-        if(initData->mContainerWidget == 0)
-        	{
-        	ALF_THROW(AlfContainerWidgetException, EInitializationError, "Container widget instance was NULL.");
-        	}
-        
-        // Create container widget
-        ret = new (EMM) AlfContainerWidget(
-        		initData->mWidgetId, *initData->mContainerWidget, *initData->mEnv, initData->mNode, initData->mFilePath);     
-        }
-    
-    return ret;
-    }
-
-int AlfContainerWidgetFactoryPlugin::productCount() const
-    {
-    return KProductCount;
-    }
- 
-const char* AlfContainerWidgetFactoryPlugin::productInfo(int aIndex) const
-    {
-    switch(aIndex)
-        {
-        case 0: return ialfcontainerwidget::ident.mImplementationId;
-        default: break;            
-        }
-
-    return 0;
-    }
- 
-IAlfInterfaceBase* AlfContainerWidgetFactoryPlugin::makeInterface(const IfId& aType)
-    {
-    if(!strcmp(aType.mImplementationId, IAlfFactoryPlugin::type().mImplementationId))
-        {
-        return static_cast<IAlfFactoryPlugin*>(this);
-        }
-    
-    return 0;
-    }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-const TImplementationProxy ImplementationTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY( KContainerWidgetFactoryPluginUid, 
-                                AlfContainerWidgetFactoryPlugin::newL )
-    };
-
-// Entry point for ECom architecture to resolve the instantiation method pointer
-// for a given implementation UID.
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-    return ImplementationTable;
-    }
--- a/mulwidgets/alfscrollbarwidget/group/alfscrollbarwidget.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* 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:  Project definition file 
-*
-*/
-#include <platform_paths.hrh>
-
-#define ALF_LINK_STDCPP_DLL
-
-TARGET                  alfscrollbarwidget.dll
-TARGETTYPE              PLUGIN
-
-UID                     0x10009d8d 0x20010105
-CAPABILITY              CAP_ECOM_PLUGIN
-VENDORID                VID_DEFAULT
-
-
-#ifndef __WINSCW__
-EPOCALLOWDLLDATA
-#endif
-
-
-SOURCEPATH              ../src
-SOURCE                  alfscrollbarwidgetfactoryplugin.cpp
-SOURCE                  alfscrollbarwidget.cpp
-SOURCE                  alfscrollbarcontrol.cpp
-SOURCE                  alfscrollbarmodel.cpp
-SOURCE                  alfscrollbardefaultbaseelement.cpp
-SOURCE                  alfscrollbarlongtaptimer.cpp
-
-
-MW_LAYER_SYSTEMINCLUDE
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-USERINCLUDE             ../inc 
-USERINCLUDE             ../../../inc
-
-
-LIBRARY                 euser.lib
-LIBRARY                 ecom.lib
-LIBRARY			osncore.lib 
-LIBRARY                 alfclient.lib
-LIBRARY                 alfwidgetmodel.lib
-LIBRARY                 alfwidgetutils.lib
-LIBRARY                 charconv.lib 
-LIBRARY                 libc.lib
-LIBRARY                 cone.lib 
-LIBRARY                 gdi.lib 
-LIBRARY     		libpthread.lib
-LIBRARY                 aknlayout2hierarchy.lib
-LIBRARY      		aknlayout2scalable.lib
-LIBRARY                 avkon.lib 
-LIBRARY                 cdlengine.lib
-LIBRARY                 estlib.lib
-LIBRARY                 libstdcpp.lib
-
-#ifdef RD_TACTILE_FEEDBACK
-LIBRARY                 touchfeedback.lib
-#endif // RD_TACTILE_FEEDBACK
-
-LANG                    SC
-START RESOURCE          20010105.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET                  alfscrollbarwidget.rsc
-#endif
-END
-
-             
--- a/mulwidgets/alfscrollbarwidget/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2009 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:  Build information file for scrollbar widget
-*
-*/
-
-#include <platform_paths.hrh>
-
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-//../internal/tsrc/TestScrollBar/rom/testscrollbar.iby  CORE_MW_LAYER_IBY_EXPORT_PATH(testscrollbar.iby)
-PRJ_MMPFILES
-alfscrollbarwidget.mmp
-
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
-
-
--- a/mulwidgets/alfscrollbarwidget/inc/alfscrollbarcontrol.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* Copyright (c) 2009 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:  Control interface with utilities for scrollbar widget.
-*
-*/
-
-#ifndef ALF_SCROLLBARCONTROL_H
-#define ALF_SCROLLBARCONTROL_H
-
-//WidgetModel Includes
-#include <alf/alfwidgetcontrol.h>
-#include <alf/alfwidgeteventhandler.h>
-#include <touchfeedback.h>
-
-//Osn Includes
-#include <osn/ustring.h>
-
-//Internal Includes
-
-using namespace osncore;
-using namespace Alf;
-
-// Forward declarations
-//class TAlfCustomEventCommand;
-
-const float roundOff = 0.5;
-namespace Alf
-    {
-// Forward declaration
-class AlfScrollBarControl : public CAlfWidgetControl
-    {
-public:
-
-    /**
-     * Constructor.
-     */
-    AlfScrollBarControl ( CAlfEnv& aEnv );
-
-    /** 
-     *  Class Destructor.
-     *  @since S60 ?S60_version 
-     */ 
-    virtual ~AlfScrollBarControl();
-
-    /**
-     * Sets whether or not tactile feedback is enabled.
-     *
-     * @param aEnabled Whether or not tactile is enabled.
-     */
-    void EnableTactileFeedback( bool aEnabled );
-    
-    /**
-     * Generates the feedback based on the events recieved
-     * 
-     */
-     void TactileEffectOnTouchandHold();  
-    
-    /**
-     * Generates the feedback based on the events recieved
-     * 
-     * @param aEvent Events recieved by the widget on Drag
-     */ 
-     void TactileEffectOnDrag(TAlfEvent& aEvent);
-     
-     /**
-      * Generates the feedback based on the thumb release
-      * or drag on thumb is stopped 
-      */
-     void TactileEffectOnRelease();
-     
-    
-    /**
-     * Returns the state of tactile feedback whether it is enabled/disabled.
-     *
-     */
-    bool IsTactileFeedbackEnabled();
-
-    // From Base class CAlfControl
-    
-    /**
-     * Notifies the owner that the layout of a visual has been recalculated.
-     * Called only when the EAlfVisualFlagLayoutUpdateNotification flag has
-     * been set for the visual.
-     *
-     * @param aVisual  Visual that has been laid out.
-     */
-    void VisualLayoutUpdated ( CAlfVisual& aVisual );
-
-    /**
-     * Returns top level layout. Returns NULL if this control does not
-     * implement the IAlfHostAPI interface or if there is no base layout.
-     * 
-     * @return Pointer to top level layout, or NULL if not available.
-     */
-    CAlfLayout* ContainerLayout ( const CAlfControl* aConnected ) const;
-
-    // From base class CAlfWidgetControl
-    
-    /**
-     * @see IAlfWidgetControl
-     */
-    AlfEventStatus handleEvent( const TAlfEvent& aEvent );
-
-
-private:
-
-    /**
-     * Rounds float to int
-     * 
-     * @param aFloatValue float value
-     * @return int
-     */
-    inline int roundFloatToInt ( float aFloatValue )
-        {
-        return(int)(aFloatValue + roundOff);
-        }
-
-private:
-
-    /** 
-     * Default contructor
-     */
-    AlfScrollBarControl();
-  
-    /**
-     * height of the Layout.
-     */
-    int mLayoutHeight;
-
-    /**
-     * width of the Layout.
-     */
-    int mLayoutWidth;
-
-    /**
-     * tactile is enabled or not.
-     */
-    bool mEnableTactile;
-    
-    /**
-     * Tactile effect for drag started
-     */
-    bool mDragTactileFeedbackStarted;
-
-    /**
-     * Tactile feedback instance
-     */
-		MTouchFeedback *mTactilefdbInstance;
-		
-    }; // class AlfScrollBarControl
-
-    } // namespace Alf
-
-#endif //ALF_SCROLLBARCONTROL_H
-//End Of File
--- a/mulwidgets/alfscrollbarwidget/inc/alfscrollbardefaultbaseelement.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,451 +0,0 @@
-/*
-* 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:  Header file for presentation elements.
- *
-*/
-
-  
-#ifndef ALF_SCROLLBAR_DEFAULT_BASEELEMENT_H
-#define ALF_SCROLLBAR_DEFAULT_BASEELEMENT_H
-
-//INCLUDES
-#include "alf/alfelement.h"
-#include <alf/alflayout.h>
-#include <alf/alfimagevisual.h>
-
-#include <alf/ialfwidgeteventhandler.h>
-#include <alf/ialfscrollbardefaultbaseelement.h>
-#include "ialfscrollbarbaseelementinternal.h"
-
-#include "alfscrollbarmodel.h"
-#include <AknLayout2Def.h>
-
-using namespace osncore;
-
-namespace Alf
-    {
-   
-enum TOperation
-    {
-    ENop,      // Nothing is going on.
-    EMoveItem   // Item is begin moved.
-    };
-// Forward declarations
-class IAlfWidgetEventHandler;
-class CAlfWidgetControl;
-class AlfScrollBarLongTapTimer;
-
-/**
- * Default Base Element of the Scrollbar.
- */
-class AlfScrollBarDefaultBaseElement : 
-    public IAlfScrollBarDefaultBaseElement, 
-    public AlfElement, 
-    public IAlfWidgetEventHandler,
-    public IAlfScrollBarBaseElementInternal
-    {
-public:
-    
-    /**
-     * Constructor
-     * @param aControl Widget control.
-     * @param aName Name of the item element.
-     * @param aCustomData .
-     * @param mNode .
-     * @since S60 ?S60_version
-     */
-    AlfScrollBarDefaultBaseElement (
-        CAlfWidgetControl& aControl, 
-        const char* aName, 
-        DuiNode* mNode = NULL, 
-        AlfCustomInitDataBase* aCustomData=NULL);
-
-    /**
-     * Destructor 
-     */    
-    virtual ~AlfScrollBarDefaultBaseElement();
-
-    //--------------------------------------------------------------------------
-    // APIs from the IAlfScrollBarDefaultBaseElement for controlling the 
-    // visualization of the scrollbar
-    //--------------------------------------------------------------------------
-
-    /**
-     * Sets the animation time for the thumb movement.
-     * Controls the movement of the thumb in the context of scroll
-     * @since S60 ?S60_version
-     * @param Animation time in milliseconds
-     */
-    void setThumbAnimationTime(int aTime);
-
-    /**
-     * Gets the Thumb animation time.
-     * @since S60 ?S60_version
-     * @return Animation time.
-     */
-    int getThumbAnimationTime() const;
-
-    /**
-     * 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
-     * @since S60 ?S60_version
-     * @param Opacity of the thumb
-     */
-    void setThumbOpacity(float aOpacity);
-
-    /**
-     * Gets the Opacity of thumb.
-     * @since S60 ?S60_version
-     * @return: Thumb opacity
-     */
-    float getThumbOpacity() const;
-    
-    /**
-     * 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
-     */
-    void setOpacity(float aOpacity);
-
-    /**
-     * Gets the Opacity of widget.
-     *
-     * @return: Thumb opacity
-     */
-    float getOpacity() const;
-    
-    //--------------------------------------------------------------------------
-    // APIs from the IAlfScrollBarBaseElement 
-    //--------------------------------------------------------------------------
-    
-
-          
-    //--------------------------------------------------------------------------
-    // Overriden Apis from IAlfWidgetEventHandlers
-    //--------------------------------------------------------------------------
-    //
-
-    /**
-     * Used to identify event handlers that are capable of handling
-     * a specified key or custom event.
-     * Pointer event handlers cannot be identified directly, 
-     * since they are dependent on the presentation.
-     * Therefore, pointer event handlers should be associated with
-     * a custom event ID that can be used to simulate the actual pointer event.
-     * @since S60 ?S60_version
-     * @param aEvent The event.
-     * @param aControl
-     * @return <code>ETrue</code> if the event can be processed. 
-     * Otherwise <code>EFalse</code>.
-     */
-    bool accept(CAlfWidgetControl& aControl, const TAlfEvent& aEvent) const;
-
-    /**
-     * @see IAlfWidgetEventHandler
-     */
-    virtual AlfEventHandlerType eventHandlerType();
-
-    /**
-     * @see IAlfWidgetEventHandler
-     */
-    virtual AlfEventHandlerExecutionPhase eventExecutionPhase();
-    
-    /**
-     * Called when an input event is being offered to this event handler.
-     * The return value is used to indicate if the event was processed.
-     * Processed events may not be offered to other event handlers.
-     * @since S60 ?S60_version
-     * @param aControl    The parent control of this event handler.
-     * @param aEvent    The event.
-     * @return <code>ETrue</code> if the event was processed. 
-     * Otherwise <code>EFalse</code>.
-     */
-    virtual AlfEventStatus offerEvent(
-        CAlfWidgetControl& aControl, 
-        const TAlfEvent& aEvent );
-
-    /**
-     * Defines the widget states, where the event handler is active.
-     * By default, if this method is not called, the event handler is expected
-     * to be active in all states.
-     * @param aStates A bitmask defining the widget states, where the event
-     * handler is active. The low 16 bits are reserved for the states
-     * defined by the framework in <TODO: add reference>. The high 16 bits are
-     * available for states defined by the client code.
-     */
-    void setActiveStates(unsigned int aStates);
-    
-    /**
-     * Sets AlfWidgetEventHandlerInitData to event handler.
-     * @param aData A data structure which contains for example id of the event
-     * handler.
-     */
-    virtual void setEventHandlerData(
-        const AlfWidgetEventHandlerInitData& /*aData*/ )
-        {
-        
-        }
-    
-    /**
-     * Returns AlfWidgetEventHandlerInitData.
-     * @return  A pointer to AlfWidgetEventHandlerInitData structure 
-     * which contains for example id of the event handler.
-     */
-    virtual AlfWidgetEventHandlerInitData* eventHandlerData()
-        {
-          return NULL;
-        }
-
-    /**
-     * Friend class for timer functions.
-     * 
-     */
-    friend class AlfScrollBarLongTapTimer;
-
-    //--------------------------------------------------------------------------
-    //Overriden Apis from IAlfScrollBarBaseElementInternal
-    //--------------------------------------------------------------------------
-    //
-
-    /**
-     * Notified when the base layout of scrollbar changes .
-     * Relayouts all the visuals with respect to the new size.
-     */
-    void baseLayoutSizeChanged();
-    
-    /**
-     * Send the corresponding Custom events to the scrollbar eventhandlers 
-     * according to the visual clicked. 
-     */
-    bool processPointerEvent(TAlfEvent * aPntrEvent); 
-    
-    /**
-      * Creates the Visualization of scrollbar
-      * 
-      */
-    void createVisualization(); 
-    
-    /**
-      * Updates the Visualization of scrollbar
-      * 
-      */
-    void updateVisualization();
-    
-    /**
-      * Destroy the Visualization of scrollbar
-      * 
-      */
-    void destroyVisualization();
-    
-    /**
-     * Returns pointer to AlfScrollBarModel
-     * 
-     */
-    void initializeScrollModel();
-    
-    /**
-     * handles longTap  event
-     */
-    AlfEventStatus handleLongTapEvent();
-    
-    // ---------------------------------------------------------------------------
-    // From class IAlfInterfaceBase.
-    // 
-    // ---------------------------------------------------------------------------
-    //
-    /**
-     * Getter for interfaces provided by the widget.
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    virtual IAlfInterfaceBase* makeInterface(const IfId& aType);
-            
-    
-    //--------------------------------------------------------------------------
-    // Internal member functions AlfScrollBarDefaultBaseElement
-    //--------------------------------------------------------------------------
-    //
- 
-    /**
-     * handles the pointerDown event
-     */
-    bool handlePointerDownEvent(TAlfEvent * aPntrEvent);
-    
-    /**
-     * Sends pageup or pagedown  event according to hit point on track
-     */
-    AlfEventStatus trackVisualHit(CAlfVisual * aHitVisual);
-    
-    /**
-     * handles the pointerUp event
-     */
-    void handlePointerUpEvent();
-    
-    /**
-     * Initializes the scrollbar layouts with LCT layout data
-     */
-    void initializeLayout();
-    
-    /**
-     * Initializes the scrollbar Tracklayout with LCT layout data
-     */
-    void initializeTrackLayout();
-    
-    /**
-     * Initializes the scrollbar Thumblayout with LCT layout data
-     */
-    void initializeThumbLayout();  
-    
-    /**
-     * Sets position and Size on the Visual/layout
-     * @param aVisual   Visual/Layout on which position and size is being set
-     * @param aXVal     Position X value
-     * @param aYVal     Position Y value
-     * @param aWidth    Width 
-     * @param aHeight   Height
-     */
-    void setPositionAndSize(CAlfVisual * aVisual,
-                            int aXVal, int aYVal, 
-                            int aWidth, int aHeight);
-    
-    /**
-     * Set skin images on scrollbar track
-     */
-    void setTrackImage();
-    
-    /**
-     * Set skin images on scrollbar thumb
-     */
-    void setThumbImage();
-    
-    /**
-     * Changes the scrollbar track image, based on the flag state
-     * @param aPressed   false for normal graphics,
-     * 					 true  for pressed graphics
-     */    
-    void changeTrackImage(bool aPressed = false);
-    
-    /**
-     * Changes the scrollbar thumb image, based on the flag state
-     * @param aPressed   false for normal graphics,
-     * 					 true  for pressed graphics
-     */    
-    void changeThumbImage(bool aPressed = false);
-    
-    /**
-     * Calculates the StepSize and thumbLength 
-     */
-    void  calculateStepSizeAndThumbLength();
-    
-    /**
-     * Calculates minimum and maximum thumbLength 
-     */
-    void setThumbMinMaxLength();
- 
-                
-private:
-   
-    /**
-     * handles the scroll bar click event
-     *
-     */
-    AlfEventStatus handleScrollBarClickedEvent(
-            const TAlfEvent& aEvent );
-   /**
-     * Creates the visual template hirarchy of scrollbar.
-     */
-    void createDefaultBaseElement();
-    
-    /**
-     * Sets LctLayoutData on the Visual/layout
-     * @param aRect     	   Parent rect of the visual
-     * @param aWindowLineLayout TAknWindowLineLayout handle which has the LCT values
-     * 						  to be set
-     * @param aVisual         Visual/Layout on which LctLayoutData is being set
-     */
-    void setLCTData(const TRect& aRect ,
-                    TAknWindowLineLayout& aWindowLineLayout,CAlfVisual * aVisual);
-    
-    /**
-     * Initialize drag flags and store drag start point 
-     */
-    bool initializeThumbDragData( const TPoint& aPointerPos );
-    
-    /**
-     * Stop drag 
-     */
-    bool stopDrag(CAlfVisual* aHitVisual, TInt aAnimTime);
- 	
-    /**
-     * changes the graphics of scrollbar to pressed/normal  
-     */
-    void changeGraphics();
-    
-    /**
-     * checks whether it is scrollbar trackVisual or not  
-     */
-    bool isScrollbarTrackVisual(CAlfVisual *aVisual);
-    
-     /**
-     * changes the graphics of scrollbar to pressed/normal  
-     */
-    bool isScrollbarThumbVisual(CAlfVisual *aVisual);
-               
-    /*
-     * Instance of ScrollBarLongTapTimer.
-     */    
-    auto_ptr<AlfScrollBarLongTapTimer> mLongTapTimer;
-    
-    /*
-     *  holds the value if minimum thumb size.
-     */ 
-    TAlfMetric mThumbMinSize;
-
-    /*
-     * holds that value of minimum thumb size specified by the user.
-     */ 
-    TAlfMetric mUserThumbMinSize;
-
-    /*
-     * Flag set to true if minimum thumbsize is set.
-     */ 
-    bool mIsMinSizeFlagSet;
-
-    /*
-     * Flag set to true if longTapObserver is set.
-     */ 
-    bool mIsLongTapObserverSet;
-
-    /*
-     * pointer to scrollbarThumbLCTData.
-     */ 
-    struct ScrollbarThumbLCTData *mLCTData;
-    
-    /*
-     * pointer to ScrollBarDefaultLCTBaseElementData.
-     */     
-    struct ScrollBarBaseElementData *mData;
-   
-    }; // end of class AlfScrollBarDefaultBaseElement
-    
-    } // end of namespace Alf
-    
-#endif //ALF_SCROLLBAR_DEFAULT_BASEELEMENT_H
-//End Of File
--- a/mulwidgets/alfscrollbarwidget/inc/alfscrollbarlongtaptimer.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* 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:    Timer for creating longtap event 
-*
-*/
-
-#ifndef __ALF_SCROLLBARLLONGTAPTIMER_H__
-#define __ALF_SCROLLBARLLONGTAPTIMER_H__
-
-#include <e32std.h>
-#include <e32base.h>
-#include <alf/ialfscrollbardefaultbaseelement.h>
-
-namespace Alf
-    {
-
-// Forward declarations
-class AlfScrollBarBaseElement;
-        
-class AlfScrollBarLongTapTimer: public CActive
-    {
-
-    enum TState
-        {
-        //To indicate the event is in running state.
-        ERunning,
-        
-        //To indicate the event is in stopped state.
-        EStopped
-        };        
-public:
-/**
-  * Constructor
-  * @param aBaseElement .     
-  * @since S60 ?S60_version
-  */
-	AlfScrollBarLongTapTimer(IAlfScrollBarDefaultBaseElement* aBaseElement);
-
-/**
-  * Destructor 
-  */      
-   ~AlfScrollBarLongTapTimer();
-
-/**
-  * Start the Timer. 
-  */    
-    void Start();
-
- /**
-   * Stops the Timer. 
-   */    
-    void Stop();
-   
- /**
-   * user code runs under this active object. 
-   */
-    void RunL();
-    
- /**
-   * Implements cancellation of an outstanding request. 
-   */
-    void DoCancel();        
- 
-private:
-    RTimer iTimer; 
-    TState iState;
-    
-    /**
-    * Instance of IAlfScrollBarBaseElement.
-    */
-	IAlfScrollBarDefaultBaseElement* iBaseElement;
-	
-	/**
-    * Instance of TAlfEvent.
-    */	
-    TAlfEvent* mEvent;
-    };
-
-    }
-
-#endif // __ALF_SCROLLBARLLONGTAPTIMER_H__
--- a/mulwidgets/alfscrollbarwidget/inc/alfscrollbarmodel.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,369 +0,0 @@
-/*
-* Copyright (c) 2009 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:  Model Interface with utilities for scrollbar widget.
-*
-*/
-
-#ifndef ALF_SCROLLBARMODEL_H
-#define ALF_SCROLLBARMODEL_H
-
-// Widget Model and Exported API includes
-#include <alf/ialfscrollbarmodel.h>
-
-// OsnCore includes
-#include <osn/alfptrvector.h>
-#include <osn/ustring.h>
-
-// Namespace
-using namespace osncore;
-
-namespace Alf
-    {
-
-//Forward Declarations
-class AlfModel;
-class AlfScrollBarWidget;
-
-
-
-/**
- *  ScrollBar model implementation.
- *
- *  Implements utility methods to create and update
- *  the data hierarchy of a scrollbar.
- */
-class AlfScrollBarModel : public IAlfScrollBarModel
-    {
-public:
-
-    /**
-     * Constructor.
-     */
-    AlfScrollBarModel(IAlfVariantType* aDataSource = NULL);
-
-    /**
-     * Destructor.
-     */
-    ~AlfScrollBarModel();
-    
-    /** From base class IAlfModel
-     *
-     */
-
-    /**
-     *  Add a new observer to be notified of any changes in the model.
-     *
-     *  @param    aObserver   The model change observer to be added.
-     *  @return void
-     *  @since S60 ?S60_version
-     */
-    void addModelChangeObserver(IAlfModelChangeObserver& aObserver);
-
-    /**
-     *  Remove an observer which is added to get notified of any changes
-     *  in the model.
-     *
-     *  @param aObserver The model change observer to be removed.
-     *  @return void
-     *  @since S60 ?S60_version
-     */
-    void removeModelChangeObserver(IAlfModelChangeObserver& aObserver);
-
-    /**
-     *  API to change the model completely at one short. 
-     *  
-     *  @see IAlfModel
-     *  @param    aData    The new data.
-     *  @return void
-     *  @since S60 ?S60_version
-     */
-    void setData(IAlfVariantType* aData);
-
-    /**
-     * Change a given  of data fields in the model . All model change
-     * observers are notified about the change.
-     *
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices    The container indices to find the correct 
-     *                             location in the data hierarchy.The ownership 
-     *                             is transferred. 
-     * @param aData                The new data to be set.
-     * @since S60 ?S60_version
-     */
-    void updateData(int  aNumContainerIndices,
-        int* aContainerIndices,
-        IAlfVariantType* aData);
-
-    /**
-     * Add a  number of data fields in the model data. All model change
-     * observers are notified about the change.
-     *
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices    The container indices to find the correct 
-     *                             location in the data hierarchy.The ownership
-     *                             is transferred. 
-     * @param aData                The new data.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    void addData(int aNumContainerIndices,
-        int* aContainerIndices,
-        IAlfVariantType* aData);
-
-    /**
-     * Remove a  number of data fields in the model data. All model change
-     * observers are notified about the change.
-     *
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices    The container indices to find the correct 
-     *                             location in the data hierarchy.The ownership
-     *                             is transferred.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    void removeData(int aNumContainerIndices, int* aContainerIndices);
-
-    /**
-     *  API for executing batch operations
-     *
-     *  @param aOperationsArray    An RPOinterArray containing the list of 
-     *                             operations to be executed in batch.
-     *  @return void
-     *  @since S60 ?S60_version
-     */
-    void executeOperations(AlfPtrVector<AlfModelOperation>&  aOperationsArray);
-
-    /**
-     *  API for executing one operation at a Time
-     *
-     *  @param aOperation          An Operation to be executed on the model.
-     *  @since S60 ?S60_version
-     */
-    void executeOperation(AlfModelOperation* aOperation);
-
-    /**
-     *  Clears the Model.
-     *
-     *  @return void
-     *  @since S60 ?S60_version
-     */
-    void clearModel();
-
-    /**
-    *  Get the root data object of this model.
-    *
-    *  @return The root data object.
-    *  @since S60 ?S60_version
-    */
-    IAlfVariantType* data() const;
-    
-    //  From base class IAlfInterfaceBase
-    
-    IAlfInterfaceBase* makeInterface(const IfId& aType);
-
-    //  From base class IAlfScrollBarModel     
-
-	/**
-	 * Create the default data structure for a ScrollBar widget.
-	 * 
-	 * @param       aTotalLengthInSteps
-	 * @param       aViewLengthInSteps
-	 * @param       aViewStartPosition
-	 *
-	 *
-	 * @return      void
-	 * @exception   std::bad_alloc
-	 * @since       S60 ?S60_version
-	 */  
-    void initializeData(int aTotalLengthInSteps,
-           int aViewLengthInSteps,
-           int aViewStartPosition);
-
-    /**
-     * Sets the TotalLength for the Scrollbar. Does not notify observers about this.
-     * 
-     * @param aTotalLength  TotalLength value
-     *
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    void setTotalLength(int aTotalLength);
-
-    /**
-     * Sets the View Length for the Scrollbar. Does not notify observers 
-     * about this.
-     *
-     * @param aViewSize 
-     * 
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    void setViewLength(int aViewSize);
-
-    /**
-     * Sets the View Start Position for the Scrollbar. Does not notify 
-     * observers about this.
-     *
-     * @param aViewStartPosition
-     * 
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    void setViewStartPosition(int aViewStartPosition);
-
-    /**
-         * Sets the TotalLength for the Scrollbar. Does not notify observers about this.
-         *
-         * @param aTotalLength              TotalLength value
-         * @param aViewLength       view length value
-         * @param aViewStartPosition view start position  
-         *
-         * @return void.
-         * @since S60 ?S60_version
-         */
-    void changeData(int aTotalLength,int aViewLength, int aViewStartPosition);   
-        
-    /**
-     * Length of the document or viewable data.
-     *
-     * Arbitrary units are used, but the same units as the rest of the model.
-     * This length is best current estimate of the length of the entire 
-     * viewable data in this model's direction.(i.e, vertical, horizontal).
-     * It represents physical extent (e.g. could be pixels), not logical
-     * size of the data. It is understood to represent the physical laid out 
-     * size of the data if it were possible to view it all at once.
-     *
-     * @return length in arbitrary units of the viewable data
-     * @since S60 ?S60_version
-     */
-    int getTotalLength() const;
-
-    /**
-     * Length of the view.
-     *
-     * For horizontal models, this is the width of the view.
-     * For veritcal, this is the height of the view.
-     *
-     * Note the units are arbitrary but uniform with the rest of the model.
-     * Note that this measure is proportional to the physical width or height
-     * of the view. This metric is sometimes called the Thumb size.
-     *
-     * @return position of the start of the view
-     * @since S60 ?S60_version
-     */
-    int getViewLength() const;
-    /**
-     * Position in arbitrary units of the start of the currently viewed data.
-     *
-     * For horizontal models, this is the position of the left of the view 
-     * relative to the far left end of the document.
-     * For vertical, this is the position of the top of the view from the top
-     * of the viewable data.
-     *
-     * Note the units are arbitrary but uniform with the rest of the model.
-     * Position is in physical space as if the entire data were laid out.
-     * This metric is sometimes called the Thumb position.
-     *
-     * @return position of the start of the view
-     * @since S60 ?S60_version
-     */
-    int getViewStartPosition() const;
-       
-    /**
-     * Updates the model according to the values passed.
-     *
-     * @param       aTotalLengthInSteps
-     * @param       aViewLength
-     * @param       aViewStartPosition
-     *
-     * @return void.
-     * @since S60 ?S60_version
-     *
-     */
-    void updateScrollBarModel(int aTotalLengthInSteps,
-            int aViewLength,
-            int aViewStartPosition);
-     /**
-     * Updates visualization of scrollbar according 
-     * to the model values.
-     */  
-    void updateScrollBarVisualization(); 
-    
-    /**
-     * Stores the scrollbar widget pointer in model
-     */
-    void storeWidget(AlfScrollBarWidget* aWidget);
-    
-private:
-    
-    /** 
-     * This function validates view length passed and changes it if required
-     * 
-     * @param aViewLength - in/out param
-     *
-     * @return bool false, if the data was not valid and changes were made
-     *              else returns true     
-     */
-    bool validateViewLength(int & aViewLength);
-
-    /** 
-     * This function validates view start position passed and changes it if
-     *  required
-     *
-     * @param aViewStartPos - in/out param
-     *
-     * @return bool false, if the data was not valid and changes were made
-     *              else returns true     
-     */
-    bool validateViewStartPos(int & aViewStartPos);
-    
-    /** 
-     * This function validates total length passed and changes it if 
-     * required. This validation can change aViewLength, aViewStartPos
-     * too if reuired.
-     * 
-     * @param aTotalLength - in/out param
-     * @param aViewLength - in/out param
-     * @param aViewStartPos - in/out param
-     *
-     * @return bool false, if the data was not valid and changes were made
-     *              else returns true
-     */
-    bool validateAllData(int & aTotalLength, 
-        int & aViewLength, 
-        int & aViewStartPos);
-
-    /**
-     * Private method to create the ScrollBar Widget.
-     *
-     * @param     aDataSource  Model for the ScrollBar
-     * @return    void
-     * @since S60 ?S60_version
-     * 
-     */
-    void construct ( IAlfVariantType* aDataSource );
-    
-	/*
-     * pointer to scrollbarmodelData.
-     */ 
-    struct ScrollbarModelDataImpl *mModelData;
-
-    AlfModel* mModel;  //Owned
-    AlfScrollBarWidget* mScrollWidget;
-    }; // class AlfScrollBarModel
-
-    } // End of namespace Alf
-
-#endif // ALF_SCROLLBARMODEL_H
-//End Of File
--- a/mulwidgets/alfscrollbarwidget/inc/alfscrollbarwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +0,0 @@
-/*
-* Copyright (c) 2009 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 scrollbar widget.
- *
-*/
-
-
-
-#ifndef ALF_SCROLLBARWIDGET_H
-#define ALF_SCROLLBARWIDGET_H
-
-
-// WidgetModel Includes
-#include <alf/ialfwidgeteventhandler.h>
-#include "alf/alfwidget.h"
-#include <alf/alfexceptions.h>
-
-// Widget Includes
-#include <alf/ialfscrollbarwidget.h>
-#include <alf/ialfscrollbarmodel.h>
-
-
-// Forward Declarations
-class CAlfEnv;
-
-// From namespace Alf
-namespace Alf
-    {
-	// Forward Declarations
-	class CAlfWidgetControl;
-	class IAlfModel;
-    }
-
-//From name space duiuimodel
-namespace duiuimodel
-    {
-class DuiNode;
-    }
-
-namespace Alf
-    {
-
-    /**
-     * A basic scrollbar widget implementation.
-     * Contains methods for creating the default
-     * building blocks for the scrollbar widget.
-     */
-class AlfScrollBarWidget : public IAlfScrollBarWidget
-    {
-public:
-
-    /**
-     * Creator Method.
-     * 
-     * @param aEnv The environment for the widget.
-     * @param aContainer The container widget where this widget is contained.
-     * @param aWidgetId The name of the widget. Not Owned.
-     * @param aFilePath Path to XML file describing the presentation 
-     *                  of the widget. Not Owned.
-     * @param aCustomData Custom data. Not Owned.
-     * @param aNode Node. Not Owned.
-     * @return AlfScrollBarWidget , or NULL if it does not create 
-     */
-    static AlfScrollBarWidget* create(CAlfEnv& aEnv, 
-                                    IAlfContainerWidget& aContainer, 
-                                    const char* aWidgetId, 
-                                    DuiNode *aNode=NULL, 
-                                    const char* aFilePath=NULL, 
-                                    AlfCustomInitDataBase* aCustomData=NULL);
-
-    /**
-     * Virtual Destructor.
-     */ 
-    virtual ~AlfScrollBarWidget();
-
-    // From IAlfInterfaceBase
-    /**
-     * Getter for interfaces provided by the scrollbar widget class.
-     *
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    IAlfInterfaceBase* makeInterface(const IfId& aType);
-
-    // From IAlfWidget
-
-    /**
-     * Return the control
-     */
-    CAlfWidgetControl* control() const;
-    
-    /**
-     * getter for the parent container. The ownership is not passed.
-     * @param none
-     * @return the parent container or NULL if the widget is the root-widget.
-     */
-    virtual IAlfContainerWidget* parent() const;
-
-    /**
-     * Setter for the control. The control is owned by the Alfred environment.
-     *
-     * @since S60 ?S60_version
-     * @param aControl The control for this widget.
-     * @param aDeletePreviousControl delete previous control.TRUE by default.
-     * @return void.
-     */
-    void setControl(CAlfWidgetControl* aControl, 
-                                    bool aDeletePreviousControl = true);
-
-    /**
-     * Gets the model.
-     */
-    IAlfModel* model();
-
-    /** 
-     * Sets the model.
-     
-     * @return void.
-     */
-    void setModel(IAlfModel* aModel, bool /*param*/);
-
-    /** 
-     * Return the widget name
-     */
-    const char* widgetName() const;
-
-    /**
-     * sets the focus to the child.
-     
-     * @return void.
-     */
-    void setChildFocus(bool /*aFocus*/);
-
-    
-    
-    /** 
-     * Sets the presentation for the widget using presentation XML file.
-     
-     * Destroys any existing presentation.
-     * @param aFilePath Path to XML file describing the presentation 
-     *                  of the widget. Not Owned.
-     * @exception AlfWidgetException if no visualization node available 
-     *                               in Presentation XML or if no control
-     *                               is associated with the widget.
-     * @exception bad_alloc 
-     * @since S60 ?S60_version
-     * @return void.
-     */
-    virtual void setPresentation(const char* aFilePath);
-
-	/**
-     * Sets whether or not tactile feedback is enabled.
-     *
-     * @param aFlag Whether or not tactile is enabled.
-     */
-    void enableTactile(bool aFlag);
-
-	/**
-     * Returns the state of tactile feedback whether it is enabled/disabled.
-     *
-     */
-    bool IsTactileEnabled();
-    
-protected:
-
-    /**
-     * C++ constructor.
-     * 
-     * @param aEnv The environment for the widget.
-     * @param aContainer The container widget where this widget is contained.
-     * @param aWidgetId The name of the widget. Not Owned.
-     * @param aFilePath Path to XML file describing the presentation 
-     *                  of the widget. Not Owned.
-     * @param aCustomData Custom data.
-     * @param aNode Node. Not Owned.
-     */
-    AlfScrollBarWidget(CAlfEnv& aEnv, 
-                        IAlfContainerWidget& aContainer, 
-                        const char* aWidgetId, 
-                        DuiNode *aNode=NULL, 
-                        const char *aFilePath=NULL, 
-                        AlfCustomInitDataBase* aCustomData=NULL);
-
-    /**
-     * Methods to create different default elements and control of scroll bar.
-     *
-     * @param aEnv The environment for the widget.
-     * @return void.
-     */
-    void constructDefault(CAlfEnv& aEnv);
-    
-    /**
-     * Creates the default control.
-     *
-     * @param aEnv The environment for the widget.
-     * @return The Control.
-     */
-    CAlfWidgetControl *constructDefaultControl(CAlfEnv& aEnv);
-
-private:
-
-    /**
-     * Base widget. Own.
-     */
-    auto_ptr<AlfWidget> mWidget;
-    
-    IAlfScrollBarModel * mScrollModel; 
-    CAlfWidgetControl * mScrollControl;
-    }; // class AlfScrollBarWidget
-    
-    } // namespace Alf
-
-#endif // C_ALFSCROLLBARWIDGET_H
--- a/mulwidgets/alfscrollbarwidget/inc/alfscrollbarwidgetfactoryplugin.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2007-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:    Scroollbar Widget factory plugin header
-*
-*/
-
-#ifndef ALF_SCROLLBARWIDGETFACTORYPLUGIN_H
-#define ALF_SCROLLBARWIDGETFACTORYPLUGIN_H
-
-// Includes
-#include <ecom/implementationproxy.h>
-#include <alf/ialffactoryplugin.h>
-#include <osn/osndefines.h>
-
-namespace Alf
-    {
-
-class IfId;
-
-    /**
-     *  Plugin factory to create widget factory
-     *
-     *  @lib alfwidgetfactory.dll
-     *  @since S60 5.0
-     */
-class AlfScrollBarWidgetFactoryPlugin: public IAlfFactoryPlugin
-    {
-
-public:
-
-    /**
-     * Two-phased Symbian constructor.
-     */
-    static AlfScrollBarWidgetFactoryPlugin* NewL();
-
-    /**
-     * Destructor 
-     */
-    virtual ~AlfScrollBarWidgetFactoryPlugin();
-
-    // from IAlfFactoryPlugin
-
-    /**
-     * Create factory product.
-     * @since Series 60 5.0
-     * @param aProduct Product to create.
-     * @param aInitData Initialization data for product
-     * @return Instance or NULL
-     */
-    IAlfInterfaceBase* createProduct ( const char* aProduct, void* aInitData );
-
-    /**
-     * Count available products
-     *
-     * @since S60 5.0
-     * @return Product count
-     */
-    int productCount() const;
-
-    /**
-     * Fetch product info by index
-     *
-     * @param aIndex List index
-     * @since S60 5.0
-     * @return Descriptor describing product
-     */
-    const char* productInfo ( int aIndex ) const;
-
-    /**
-     * From IAlfInterfaceBase.
-     * Creates interface based on the given type.
-     */
-    IAlfInterfaceBase* makeInterface ( const IfId& aType );
-    };
-
-    } // namespace Alf
-
-    /**
-     * Exported factory function required by ECOM-framework
-     */
-    OSN_IMPORT const TImplementationProxy* ImplementationGroupProxy( 
-        TInt& aTableCount );
-
-#endif //ALF_SCROLLBARWIDGETFACTORYPLUGIN_H
-//End Of File
--- a/mulwidgets/alfscrollbarwidget/inc/ialfscrollbarbaseelementinternal.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* 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 base element internal functions.
-*
-*/
-
-#ifndef I_ALFSCROLLBARBASEELEMENTINTERNAL_H
-#define I_ALFSCROLLBARBASEELEMENTINTERNAL_H
-
-//Widget Model include
-#include <alf/ialfinterfacebase.h>
-
-//Toolkit include
-#include <alf/alfevent.h>
-
-namespace Alf
-    {
- 
-/**
- * @namespace alfscrollbarbaseelementinternal
- *
- * ident specifies the unique identifier for the scrollbar base-element 
- * internal interface.
- */
-namespace alfscrollbarbaseelementinternal
-    {
-    static const IfId ident =
-        {
-        0,"scrollbarbaseelementinternal" 
-        };
-    }
-
-/**
- * An internal interface to be used by custom scrollbar base element writer.
- *
- * An interface which should be implemented by all the base elements of 
- * scrollbar (e.g. AlfScrollBarDefaltBaseElement, AlfScrollBarArrowBAseElement,
- * AlfScrollBarDefaltLctBaseElement). The interface is exported for the 
- * developers who wants to create their custom scrollbar base element.
- * The functions of this interface are not supposed to be called by scrollbar
- * widget users directly. These functions are called by different part of 
- * scrollbar widget (e.g. scrollbar control, long tap pointer event timer).
- * 
- */
-class IAlfScrollBarBaseElementInternal : public IAlfInterfaceBase 
-    {
-
-public:
-
-    /**
-     * Getter for the type identifier of this interface.
-     * Usage:
-     * @code
-     * IAlfElement* element;
-     * IAlfScrollBarBaseElementInternal* elementInternal = 
-     * static_cast<IAlfScrollBarBaseElementInternal*> ( 
-     * element->makeInterface (IAlfScrollBarBaseElementInternal::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 alfscrollbarbaseelementinternal :: ident;
-        }
-
-    /** 
-     * baseLayoutSizeChanged. 
-     * This function is called by scrollbar control to notify scrollbar base
-     * element the base layout size has been changed ( and so the base element
-     * should relayout its internal visualization).
-     * 
-     * @since S60 ?S60_version
-     */
-    virtual void baseLayoutSizeChanged()=0;
-    
-    /**
-     * Send the corresponding Custom events to the scrollbar eventhandlers 
-     * according to the visual clicked.
-     * 
-     */
-    virtual bool processPointerEvent(TAlfEvent * aPntrEvent)=0;
-    
-    /**
-     * creates the visualization  
-     * 
-     */
-    virtual void createVisualization() = 0;
-    
-    /**
-     * Destroys the visualization 
-     * 
-     */
-    virtual void updateVisualization() = 0;
-    
-    /**
-     * updates the visualization 
-     * 
-     */
-    virtual void destroyVisualization() = 0;
-    
-    /**
-     * Returns pointer to AlfScrollBarModel
-     */
-    virtual void initializeScrollModel() = 0;
-    
-    /**
-     *  Handles Longtap event
-     */
-    virtual AlfEventStatus handleLongTapEvent() = 0;
-    
-    /** 
-     *virtual Destructor.
-     *
-     */
-    virtual ~IAlfScrollBarBaseElementInternal() {}
-
-    }; // end of class IAlfScrollBarBaseElementInternal
-  
-    } // end of namespace Alf
-
-#endif // I_ALFSCROLLBARBASEELEMENTINTERNAL_H
-//End Of File
--- a/mulwidgets/alfscrollbarwidget/src/20010105.rss	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2009 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:    Scrollbar widget Resource file 
-*
-*/
-
-#include <ecom/registryinfo.rh>
-#include "alf/alfecompluginfactoryuid.rh"
-
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = 0x20010105; 
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = KFactoryPluginUid;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = 0x20010106;
-                version_no = 1;
-                display_name = "";
-                default_data = "scrollbarwidget||scrollbarmodel||scrollbardefaultbaseelement";
-                opaque_data = "";
-                }    
-            };
-        }
-    };
-}
\ No newline at end of file
--- a/mulwidgets/alfscrollbarwidget/src/alfscrollbarcontrol.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,267 +0,0 @@
-/*
-* Copyright (c) 2007, 2008 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:  Control Implementation with utilities for scrollbar widget.
-*
-*/
-
-// Toolkit includes
-#include <alf/alfenv.h>
-#include <alf/alfroster.h>
-#include <alf/alfdisplay.h>
-
-// Widget model includes
-#include <alf/alfwidgetevents.h>
-#include <alf/alfcontrolgroup.h>
-
-// Widget includes
-#include <alf/ialfscrollbardefaultbaseelement.h>
-#include "ialfscrollbarbaseelementinternal.h"
-
-// Internal includes
-#include "alfscrollbarcontrol.h"
-#include "alfscrollbarwidget.h"
-
-
-// namespaces
-using namespace osncore;
-using namespace alfscrollbarwidget;
-
-namespace Alf
-    {
-
-// ---------------------------------------------------------------------------
-//  Constructor.
-// ---------------------------------------------------------------------------
-//
-AlfScrollBarControl::AlfScrollBarControl(CAlfEnv& aEnv) : 
-    CAlfWidgetControl(aEnv)
-    {
-    mLayoutHeight = -1; //this means that the first draw is yet to happen.
-    mLayoutWidth = -1;  //this means that the first draw is yet to happen.
-    disableState(IAlfWidgetControl::Focusable);
-    mTactilefdbInstance = NULL;
-    mDragTactileFeedbackStarted = false;
-    mEnableTactile = false; // Next statement will make it true
-    EnableTactileFeedback(true);
-    }
-   
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-AlfScrollBarControl::~AlfScrollBarControl()
-    {
-    }
-   
-// ---------------------------------------------------------------------------
-// 
-// enableTactileFeedback
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarControl::EnableTactileFeedback(bool aEnabled)
-    {
-        if (!mTactilefdbInstance)
-            {
-             mEnableTactile = aEnabled;
-             mTactilefdbInstance = MTouchFeedback::Instance();
-            }
-    }
-
-//-----------------------------------------------------------------------------
-//
-//  TouchTactileEffectOnTouch
-//-----------------------------------------------------------------------------
-
-void AlfScrollBarControl::TactileEffectOnTouchandHold()
-    {
-    if (mTactilefdbInstance)
-        {
-         mTactilefdbInstance->InstantFeedback(ETouchFeedbackSlider);
-        }
-    }
-
-//-------------------------------------------------------------------------------
-//
-//
-//--------------------------------------------------------------------------------     
-            
-void AlfScrollBarControl::TactileEffectOnDrag(TAlfEvent& aEvent)
-{            
- if (mTactilefdbInstance)
-  {
-    CCoeControl* ccoecntrl = static_cast<CCoeControl*>(Display()->ObjectProvider());
-    TInt intensity = 50;
-    TTimeIntervalMicroSeconds32 timespan = 1000000;
-    mTactilefdbInstance->StartFeedback(ccoecntrl,ETouchContinuousSlider,&aEvent.PointerEvent(),intensity,timespan);
-    mDragTactileFeedbackStarted = true;
-  }
-}
-
-//-------------------------------------------------------------------------------
-//
-//   TouchTactileEffectOnRelease
-//--------------------------------------------------------------------------------
-//    
-void AlfScrollBarControl::TactileEffectOnRelease()    
-{
-	if (mTactilefdbInstance)
-	{
-	if ( mDragTactileFeedbackStarted )
-	    {
-	    	// Touch Release on Thumb after drag
-        CCoeControl* ccoecntrl = static_cast<CCoeControl*>(Display()->ObjectProvider());
-	    mTactilefdbInstance->StopFeedback(ccoecntrl);
-	    mDragTactileFeedbackStarted = false;
-	    }
-	else
-	    {
-	    // Touch Release on thumb	
-	    mTactilefdbInstance->InstantFeedback(ETouchFeedbackSlider);
-	    }
-	}
-}
-
-// ---------------------------------------------------------------------------
-//
-// getTactileFeedbackState
-// 
-// ---------------------------------------------------------------------------
-bool AlfScrollBarControl::IsTactileFeedbackEnabled()
-    {
-    return mEnableTactile;
-    }
-
-// ---------------------------------------------------------------------------
-// From Base class CAlfControl
-// Notifies the owner that the layout of a visual has been recalculated.
-// Called only when the EAlfVisualFlagLayoutUpdateNotification flag has
-// been set for the visual.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarControl::VisualLayoutUpdated(CAlfVisual& aVisual)
-    {
-    if((mLayoutWidth == -1 && roundFloatToInt(
-        aVisual.Size().ValueNow().iX) == 0) ||
-        (mLayoutHeight == -1 && roundFloatToInt(
-            aVisual.Size().ValueNow().iY) == 0))
-        {
-        return; /*No size assigned yet*/
-        }
-    else
-        {
-        //do nothing
-        }   
-
-    if(mLayoutWidth == roundFloatToInt(aVisual.Size().ValueNow().iX)  && 
-        mLayoutHeight == roundFloatToInt(aVisual.Size().ValueNow().iY))
-        {
-        //return; /* No change in layout size */
-        }
-        else
-        {
-        //do nothing
-        }
-
-    mLayoutWidth = roundFloatToInt(aVisual.Size().ValueNow().iX);
-    mLayoutHeight = roundFloatToInt(aVisual.Size().ValueNow().iY);
-    IAlfElement* baseelement = findElement ("BaseElement");
-    IAlfScrollBarBaseElementInternal* elementInternal = NULL;
-    if(baseelement)
-	    {
-	    elementInternal = 
-	      static_cast<IAlfScrollBarBaseElementInternal*> (
-	      baseelement->makeInterface(IAlfScrollBarBaseElementInternal::type()));	
-	    }
-	else
-		{
-		// do nothing	
-		}
-    
-    if(elementInternal)
-        {
-        elementInternal->baseLayoutSizeChanged();
-        }
-    else
-        {
-        //do nothing
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Returns top level layout.
-// ---------------------------------------------------------------------------
-//
-CAlfLayout* AlfScrollBarControl::ContainerLayout(
-    const CAlfControl* /*aConnected*/) const
-    {
-    //Return the root layout of the control
-    return(static_cast<CAlfLayout*> (&Visual(0)));
-    }
-
-// ---------------------------------------------------------------------------
-// From base class CAlfWidgetControl
-// Handle Alfred events.
-// ---------------------------------------------------------------------------
-//
-AlfEventStatus AlfScrollBarControl::handleEvent( const TAlfEvent& aEvent )
-    {
-    IAlfElement *base = findElement("BaseElement");
-        
-    if(aEvent.IsCustomEvent())
-        {
-        if(aEvent.CustomParameter() == EEventMissedPointerUp) 
-            {
-            if(base)
-            	{
-            	IAlfWidgetEventHandler* element = 
-	                    static_cast<IAlfWidgetEventHandler*> (
-	                        base->makeInterface(IAlfWidgetEventHandler::type()));
-	            if(element)
-		            {
-		            	element->offerEvent(*this,aEvent);
-		            }
-	            
-            	}
-            }
-        }
-    else if(aEvent.IsPointerEvent())
-        {
-        // if the type of base element is scrollbardefaultbaseelement, then
-        // convert the event to custom event
-        if(base)
-        	{
-         
-	        if(base->makeInterface(
-	            IAlfScrollBarDefaultBaseElement::type()) != NULL)
-	            {
-	            TAlfEvent customevent(EEventScrollBarClicked,(TInt )&aEvent);
-	            return CAlfWidgetControl::processEvent(customevent);	            
-	            }
-	        else // other elements (like AlfElement) dont understand custom events
-	            { // Let them handle the original event in their own way
-	            return CAlfWidgetControl::handleEvent(aEvent);	                       
-		        }
-            }
-        }     
-    //ScrollBar should not handle any key event
-    else
-        { 
-        return EEventNotHandled;
-        }
-    
-    return EEventNotHandled;
-    }
-
-    }//End of namespace Alf
-//End of File
--- a/mulwidgets/alfscrollbarwidget/src/alfscrollbardefaultbaseelement.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1355 +0,0 @@
-/*
-* 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:  The implementation for presentation elements.
-*
-*/
-
-//Toolkit Includes
-#include <alf/alfimagevisual.h>
-#include <alf/alfevent.h>
-#include <alf/alfenv.h>
-#include <AknUtils.h>
-//AknLayout2 includes
-#include <aknlayoutscalable_uiaccel.cdl.h>
-
-// Alfred Client includes
-#include <alf/alfroster.h>
-#include <alf/alfdisplay.h>
-
-//Widget Model Includes
-#include <alf/alflayout.h>
-#include "alf/alfelement.h"
-#include <alf/alfwidgeteventhandler.h>
-#include <alf/alfwidgetenvextension.h>
-#include <alf/ialfmodel.h>
-
-//scrollbar widget includes
-#include <alf/alfscrollevents.h>
-#include "alfscrollbardefaultbaseelement.h"
-#include "alfscrollbarwidget.h"
-#include "alfscrollbarcontrol.h"
-#include "alfscrollbarmodel.h"
-#include "alfscrollbarlongtaptimer.h"
-
-#include <math.h>
-
-enum 
-    {
-    EReleased,
-    ETrackPressed,
-    EThumbPressed
-    };    
-
-// EPSILON is an small constant used to compare two real values
-const float KEpsilon  = 0.000001;
-
-namespace Alf
-    {
-
-// ---------------------------------------------------------------------------
-//  A function to compare two real values. The difference less than aEpsilon
-//  is assumed negligible.
-// ---------------------------------------------------------------------------
-//
-inline int realCompare(float aReal1, float aReal2, float aEpsilon)
-    {
-    if (Abs(aReal1-aReal2) < aEpsilon)
-        {
-        return 0;
-        }
-    else if ((aReal1-aReal2) > 0)
-        {
-        return 1;
-        }
-    else
-        {
-        return -1;
-        }
-    };  
-    
-struct ScrollBarBaseElementData
-    {
-    TOperation mOperation;              // Thumb Drag
-    CAlfVisual* mVisual;                // Hit visual
-    TPoint mDragPoint;                  // Current pointer value
-    TPoint mLongTapPos;                 // Long Tap Point
-    int mDragStartStep;                 // Value of view start position when drag starts
-    int mCurrentState;                  // track or thumb clicked state indicator
-    bool mLongTapStarted;               // Long Tap Timer started ( true if started) 
-   
-    int mViewLength;                    // For avoiding thumb length calculation 
-                                        // everytime when model data changes
-                                        // Stores current viewLength
-    
-    int mTotalLength;                   // For avoiding thumb length calculation 
-                                        // everytime when model data changes
-                                        // Stores current spanLength
-    
-    float mWidgetOpacity;               // default value =1.0.
-    float mThumbOpacity;                // default value =1.0. thumb will eventually have
-                                        // opacity=iWidgetOpacity*iThumbOpacity.
-    
-    int mThumbAnimationTime;            // thumb animation time in milliseconds.
-    float mThumbLength;                 // Length of scrollbar thumb
-    float mThumbMinLength;              // Minimum Length of thumb
-    float mThumbMaxLength;              // Maximum Length of thumb
-    float mStepSize;                    // Step Size
-    bool mThumbSizeChanged;             // flag to indicate whether thumbSize is Changed.
-    int mExtendedTouch;                 // extended area width.
-    AlfScrollBarModel* mScrollbarModel; // Pointer to scrollbar model
-   
-    CAlfLayout* mRootLayout ;           // Layouts and visuals
-    CAlfLayout* mTrackLayout ;
-    CAlfLayout* mExtendedTrackLayout;
-    CAlfLayout* mThumbLayout ;
-    CAlfLayout* mExtendedThumbLayout;
-    
-    CAlfImageVisual* mTrackTopImage ;
-    CAlfImageVisual* mTrackMiddleImage ;
-    CAlfImageVisual* mTrackEndImage ;
-    
-    CAlfImageVisual* mThumbTopImage ;
-    CAlfImageVisual* mThumbMiddleImage ;
-    CAlfImageVisual* mThumbEndImage ;
-    };//End of struct ScrollBarBaseElementData
-        
-struct ScrollbarThumbLCTData
-    {
-    TInt left;      //used to specify left value
-    TInt top;       //used to specify top value
-    TInt right;     //used to specify right value
-    TInt bottom;    //used to specify bottom value
-    TInt height;    //used to specify height value
-    TInt width;     //used to specify width value
-    };
-
-// ---------------------------------------------------------------------------
-//  C++ default constructor.
-// ---------------------------------------------------------------------------
-//
-AlfScrollBarDefaultBaseElement::AlfScrollBarDefaultBaseElement(
-                                    CAlfWidgetControl& aControl,
-                                    const char* aName, 
-                                    DuiNode* /*mNode*/,
-                                    AlfCustomInitDataBase* /*aCustomData*/)
-    : mData(NULL)
-    {
-    try
-        {
-        // Base class (AlfElement) construct
-        construct(aControl, aName);   
-          
-        mLongTapTimer.reset( 
-            new (EMM) AlfScrollBarLongTapTimer(this));
-        
-        mIsLongTapObserverSet=EFalse;
-        //For Imperative construct
-        createDefaultBaseElement();
-        }
-    catch(AlfException& e)
-        {
-        aControl.removeElement(*this);
-        throw;
-        }
-    // AlfScrollBarDefaultBaseElement is an event handler too so it 
-    // should be added to the control
-    aControl.addEventHandler(this);
-    }
-
-// ---------------------------------------------------------------------------
-//  Destructor
-// ---------------------------------------------------------------------------
-//
-AlfScrollBarDefaultBaseElement::~AlfScrollBarDefaultBaseElement()
-    {
-    
-    if(mData)
-        {
-        delete mData;
-        }
-    else
-        {
-        
-        }
-    if(mLCTData)
-        {
-        delete mLCTData;
-        }
-    else
-        {
-        
-        }
-    }//End of Destructor
-
-//--------------------------------------------------------------------------
-// APIs from the IAlfScrollBarDefaultBaseElement for controlling the 
-// visualization of the scrollbar
-//--------------------------------------------------------------------------
-
-
-// ---------------------------------------------------------------------------
-// Sets the thumb animation time.
-// @aTime     : Time in miliseconds
-// @exception : for aTime less then O.0 miliseconds
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::setThumbAnimationTime ( int aTime )
-    {
-    // Sanity check
-    if (aTime < 0)
-    	{
-    	ALF_THROW(AlfException, EInvalidArgument, "AnimationTime is invalid");
-    	}
-    else
-    	{
-    	// do nothing
-    	}	
-    
-    if(mData->mThumbAnimationTime != aTime)
-    	{
-    	mData->mThumbAnimationTime = aTime;
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfScrollBarWdget.
-// ---------------------------------------------------------------------------
-//
-int AlfScrollBarDefaultBaseElement::getThumbAnimationTime() const
-    {
-    return mData->mThumbAnimationTime;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets opacity value for the Thumb.
-// Thumb opacity is relative to the track.
-// @param     : aOpacity float value between 0.0 to 1.0
-// @exception : value of aOpacity more than 1.0 and less than 0.0
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::setThumbOpacity (float aOpacity)
-    {
-    // Sanity check
-   if (realCompare(aOpacity, 0.0, KEpsilon) < 0
-       || realCompare(aOpacity, 1.0, KEpsilon) > 0)
-       {
-       ALF_THROW(AlfException, EInvalidArgument, "Opacity is invalid");
-       }
-   else
-       {
-       // do nothing
-       }
-    // if there is a change, update the visualization
-    if (aOpacity != mData->mThumbOpacity)
-        {
-        mData->mThumbOpacity = aOpacity;
-        const TAlfTimedValue opacity(mData->mThumbOpacity * mData->mWidgetOpacity);
-        if(mData->mThumbLayout)
-            {
-            mData->mThumbLayout->SetOpacity(opacity);
-            control().Visual(0).UpdateChildrenLayout();
-            }
-        }
-    }//End of setThumbOpacity
-
-// ---------------------------------------------------------------------------
-// Returns Thumb opacity is relative to the track.
-// ---------------------------------------------------------------------------
-//
-float AlfScrollBarDefaultBaseElement::getThumbOpacity() const
-    {
-    return mData->mThumbOpacity;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets opacity value for the widget.
-// 
-// @param     : aOpacity float value between 0.0 to 1.0
-// @exception : value of aOpacity more than 1.0 and less than 0.0
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::setOpacity (float aOpacity)
-    {
-    // Sanity check
-   if (realCompare(aOpacity, 0.0, KEpsilon) < 0
-       || realCompare(aOpacity, 1.0, KEpsilon) > 0)
-       {
-       ALF_THROW(AlfException, EInvalidArgument, "Opacity is invalid");
-       }
-   else
-       {
-       // do nothing
-       }
-    // if there is a change, update the visualization
-    if (aOpacity != mData->mWidgetOpacity)
-        {
-        mData->mWidgetOpacity = aOpacity;
-        const TAlfTimedValue opacity(mData->mWidgetOpacity);
-        if(mData->mTrackLayout)
-            {
-            mData->mRootLayout->SetOpacity(opacity);
-            control().Visual(0).UpdateChildrenLayout();
-            }
-        }
-    }//End of setThumbOpacity
-
-// ---------------------------------------------------------------------------
-// Returns Widget opacity is relative to the track.
-// ---------------------------------------------------------------------------
-//
-float AlfScrollBarDefaultBaseElement::getOpacity() const
-    {
-    return mData->mWidgetOpacity;
-    }
-
-//--------------------------------------------------------------------------
-// APIs from the IAlfScrollBarBaseElement 
-//--------------------------------------------------------------------------
-
-// ---------------------------------------------------------------------------
-// Gets called when the parent layout is relayouted.
-// resets all the anchor points and updates the visualization
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::baseLayoutSizeChanged()
-    {
-    initializeLayout();    
-    }
-
-// ---------------------------------------------------------------------------
-// processPointerEvent generates custom events 
-// according the focus visual .
-// ---------------------------------------------------------------------------
-//
-bool AlfScrollBarDefaultBaseElement::processPointerEvent(TAlfEvent * aPntrEvent)
-    {
-    // retrieve pointer event (NULL check not required here)
-    // Get the hit visual
-    CAlfVisual *focusvisual =aPntrEvent->Visual();
-    
-    if ( aPntrEvent->IsPointerEvent()  )
-        {
-        if (aPntrEvent->PointerEvent().iType == TPointerEvent::EButton1Down)
-            {
-            bool ret = handlePointerDownEvent(aPntrEvent);	
-            return ret;
-            }
-        else if (aPntrEvent->PointerEvent().iType == TPointerEvent::EDrag)
-            {
-            if(!mData->mOperation) 
-                {
-                // Drag during tap and hold on track 
-                if(mIsLongTapObserverSet)
-                    {
-                    mData->mLongTapPos=aPntrEvent->PointerEvent().iParentPosition;
-                    }
-                else
-                    {
-                    //Do Nothing.
-                    }    
-                }
-            else
-                {
-                // Drag on thumb
-                if(mIsLongTapObserverSet &&
-                   mData->mVisual && (isScrollbarThumbVisual(focusvisual)) )
-                    {
-                    mData->mLongTapPos= aPntrEvent->PointerEvent().iParentPosition ;
-                    }
-                else
-                    {
-                    // Do nothing
-                    }
-                int dist = aPntrEvent->PointerEvent().iParentPosition.iY - mData->mDragPoint.iY;
-                int steps = ceil(dist / mData->mStepSize) + mData->mDragStartStep;
-                                                
-                // checking steps to avoid negative value, incase of max scrollbar length
-                if(  steps >  mData->mScrollbarModel->getTotalLength() -  mData->mScrollbarModel->getViewLength()) 
-                     {
-                     steps =  mData->mScrollbarModel->getTotalLength() -  mData->mScrollbarModel->getViewLength(); 
-                     }   
-               else if(steps <  0 )   
-                     {
-                     steps =  0;
-                     } 
-                if(steps !=  mData->mScrollbarModel->getViewStartPosition())
-                    {
-                    // send tactile sensitive event
-                    //control().processEvent(TAlfEvent(EEventScrollBarDrag));
-                    TAlfEvent customevent(EEventDragVertical,(TInt )steps);
-                    control().processEvent(customevent);
-                    }
-                // Tactile Feedback for Thumb drag
-                AlfScrollBarControl& slbrcntrl = static_cast<AlfScrollBarControl&>(control());
-                slbrcntrl.TactileEffectOnDrag(*aPntrEvent);
-                }    
-            }
-        
-        else if(aPntrEvent->PointerUp()  )
-            {
-            mData->mLongTapStarted = false;
-            handlePointerUpEvent();
-            }
-        else
-            {
-            //Do Nothing.
-            }
-    }
-    
-    return true;
-    }//End of processPointerEvent
-
-void AlfScrollBarDefaultBaseElement::createVisualization()
-    {
-    initializeScrollModel();
-    CAlfWidgetControl  *ctrl = &control();
-    
-    // Create Root Layout
-    mData->mRootLayout = CAlfLayout::AddNewL(*((CAlfControl*)ctrl),NULL);
-    mData->mRootLayout->SetFlag(EAlfVisualFlagLayoutUpdateNotification);
-    mData->mRootLayout->SetFlag( EAlfVisualFlagAutomaticLocaleMirroringEnabled );	
-                       
-    // Create Track Layout
-    mData->mTrackLayout = CAlfLayout::AddNewL(*((CAlfControl*)ctrl),mData->mRootLayout);
-    mData->mTrackLayout->SetFlag( EAlfVisualFlagAutomaticLocaleMirroringEnabled );
-    mData->mExtendedTrackLayout = CAlfLayout::AddNewL(*((CAlfControl*)ctrl),mData->mTrackLayout);
-    
-    if(mData->mTrackLayout)
-        {
-        mData->mTrackTopImage = CAlfImageVisual::AddNewL(
-            *((CAlfControl*)ctrl),mData->mTrackLayout);
-        mData->mTrackMiddleImage = CAlfImageVisual::AddNewL(
-            *((CAlfControl*)ctrl),mData->mTrackLayout);
-        mData->mTrackEndImage = CAlfImageVisual::AddNewL(
-            *((CAlfControl*)ctrl),mData->mTrackLayout);
-            
-        if(mData->mTrackTopImage && 
-           mData->mTrackMiddleImage && 
-           mData->mTrackEndImage)
-            {
-            setTrackImage();
-            }
-         
-        // Create Thumb Visuals    
-        mData->mThumbLayout = CAlfLayout::AddNewL(*((CAlfControl*)ctrl),
-                                                        mData->mRootLayout);
-        mData->mThumbLayout->SetFlag( EAlfVisualFlagAutomaticLocaleMirroringEnabled );
-        mData->mExtendedThumbLayout = CAlfLayout::AddNewL(*((CAlfControl*)ctrl),
-                                                        mData->mThumbLayout);
-       
-        if(mData->mThumbLayout)
-            {
-            mData->mThumbTopImage = CAlfImageVisual::AddNewL(
-                *((CAlfControl*)ctrl),mData->mThumbLayout);
-            mData->mThumbMiddleImage = CAlfImageVisual::AddNewL(
-                *((CAlfControl*)ctrl),mData->mThumbLayout);
-            mData->mThumbEndImage = CAlfImageVisual::AddNewL(
-                *((CAlfControl*)ctrl),mData->mThumbLayout);
-               
-            if(mData->mThumbTopImage && 
-               mData->mThumbMiddleImage && 
-               mData->mThumbEndImage)
-                {
-                setThumbImage();
-                }
-            }
-        }
-    }
-
-void AlfScrollBarDefaultBaseElement::updateVisualization()
-    {
-    calculateStepSizeAndThumbLength();
-    if(mData->mViewLength !=  mData->mScrollbarModel->getViewLength() || mData->mTotalLength !=  mData->mScrollbarModel->getTotalLength())
-        {
-        mData->mViewLength =  mData->mScrollbarModel->getViewLength();
-        mData->mTotalLength =  mData->mScrollbarModel->getTotalLength();
-        initializeThumbLayout();
-        }
-    TAlfRealPoint thumbPos;
-    thumbPos.iX = mData->mThumbLayout->Pos().iX.ValueNow();        	
-    thumbPos.iY = ceil(mData->mStepSize *  mData->mScrollbarModel->getViewStartPosition());
-    mData->mThumbLayout->SetPos(thumbPos,mData->mThumbAnimationTime);
-    }
-
-void AlfScrollBarDefaultBaseElement::destroyVisualization()
-    {
-    mData->mRootLayout->RemoveAndDestroyAllD();
-    delete mData;
-    delete mLCTData;
-    createDefaultBaseElement();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MAlfInterfaceBase.
-// Getter for interfaces provided by the scrollbar widget.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* AlfScrollBarDefaultBaseElement::makeInterface(
-                        const IfId& aType)
-    {
-    UString param (aType.mImplementationId);
-    if (param == 
-        IAlfScrollBarDefaultBaseElement::type().mImplementationId)
-        {
-        return static_cast<IAlfScrollBarDefaultBaseElement*>(this);
-        }
-    else if (param == IAlfWidgetEventHandler::type().mImplementationId)
-        {
-        return static_cast<IAlfWidgetEventHandler*>(this);
-        }
-
-    else if (param == 
-        IAlfScrollBarBaseElementInternal::type().mImplementationId)
-        {
-        return static_cast<IAlfScrollBarBaseElementInternal*>(this);
-        } 
-    else
-        {
-        //do nothing
-        }
-    return AlfElement::makeInterface(aType);
-    }
-
-// ---------------------------------------------------------------------------
-//  handles the pointerDown event
-// 
-// ---------------------------------------------------------------------------
-//
-bool AlfScrollBarDefaultBaseElement::handlePointerDownEvent(TAlfEvent * aPntrEvent)
-    {
-    CAlfVisual * focusvisual = aPntrEvent->Visual();
-    AlfEventStatus result = EEventNotHandled;
-    
-    if (focusvisual)
-        {
-        mData->mVisual = focusvisual;
-        
-        // Register with the Roster to receive drag Event    
-        control().Display()->Roster().SetPointerEventObservers( 
-           EAlfPointerEventReportDrag ,control());
-        
-        if(!mData->mOperation)
-                {
-                mIsLongTapObserverSet = ETrue;
-                mData->mLongTapPos = aPntrEvent->PointerEvent().iParentPosition;
-                mData->mLongTapStarted = true;
-                control().processEvent(TAlfEvent(EEventScrollBarTouchDown));
-                mLongTapTimer->Start();
-                }
-           
-        // Pointer down on track   
-        if (isScrollbarTrackVisual(focusvisual))
-                {
-                mData->mLongTapStarted = true;
-                return trackVisualHit(focusvisual);
-                }
-        
-        // Pointer down on thumb
-        else if (isScrollbarThumbVisual(focusvisual))
-                {
-                if(!mData->mOperation)
-                    {
-                    initializeThumbDragData( aPntrEvent->PointerEvent().iParentPosition); 
-                    AlfScrollBarControl& slbrcntrl = static_cast<AlfScrollBarControl&>(control());
-                    slbrcntrl.TactileEffectOnTouchandHold();
-                    }
-                result = EEventHandled;
-                }
-        }
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-//  Sends drag Up or Down event, according to the hit position
-//  on track
-// ---------------------------------------------------------------------------
-//
-AlfEventStatus AlfScrollBarDefaultBaseElement::trackVisualHit(CAlfVisual * /*aHitVisual*/)
-    {
-    //Get Co-Ordinates of the click event
-    //Find the thumb Anchor Layout.
-    TAlfTimedPoint thumbVisPos = mData->mThumbLayout->Pos();
-    TAlfTimedPoint thumbVisSize =mData->mThumbLayout->Size();
-    TAlfRealRect rct= mData->mTrackLayout->DisplayRect() ;
-    //Check if click was above/below of thumb
-    if (mData->mLongTapPos.iY - rct.iTl.iY < thumbVisPos.iY.ValueNow())
-        {
-        if(mData->mLongTapStarted)
-            {
-            //control().processEvent(TAlfEvent(EEventScrollBarDrag));
-            control().processEvent(TAlfEvent (EEventScrollPageUp));
-            }
-        }
-    else if (mData->mLongTapPos.iY - rct.iTl.iY > (thumbVisPos.iY.ValueNow() + 
-        thumbVisSize.iY.ValueNow()) )
-        {
-        if(mData->mLongTapStarted)
-            {
-            //control().processEvent(TAlfEvent(EEventScrollBarDrag));
-            control().processEvent(TAlfEvent(EEventScrollPageDown));
-            }
-        }
-    else 
-        {
-        if(mIsLongTapObserverSet)
-            {
-            // Stop the long tap timer
-            mLongTapTimer->Stop();
-            mData->mLongTapStarted = false; 
-            //mIsLongTapObserverSet = EFalse;    
-            }
-        else
-            {
-            //Do Nothing.
-            }                            
-            }
-    return EEventHandled;
-    }  
-
-// ---------------------------------------------------------------------------
-//  handles the pointerUp event
-// 
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::handlePointerUpEvent()
-    {
-    // if thumb or track is clicked, change the graphics
-    if(mData->mCurrentState == ETrackPressed || mData->mCurrentState == EThumbPressed)
-        {
-        mData->mCurrentState = EReleased;
-        changeGraphics();
-        }
-    
-    if(mData->mOperation)
-        {
-        //Somehow missed the Up event 
-        stopDrag(NULL,0);
-        AlfScrollBarControl& slbrcntrl = static_cast<AlfScrollBarControl&>(control());
-        slbrcntrl.TactileEffectOnRelease();
-        }
-    if(mIsLongTapObserverSet)
-        {
-        // Stop the long tap timer
-        mLongTapTimer->Stop();
-        
-        // Un-register with the roster for long tap events 
-        control().Display()->Roster().SetPointerEventObservers(0,
-            control());
-        mIsLongTapObserverSet = EFalse;    
-        }
-    }
-
-AlfEventStatus AlfScrollBarDefaultBaseElement::handleLongTapEvent()
-    {
-    AlfEventStatus ret= EEventNotHandled;
-    
-    if (isScrollbarTrackVisual(mData->mVisual))
-        {
-        mData->mLongTapStarted = true;
-        ret = trackVisualHit(mData->mVisual);
-        // Long tap Tactile feedback 
-        AlfScrollBarControl& slbrcntrl = static_cast<AlfScrollBarControl&>(control());
-        slbrcntrl.TactileEffectOnTouchandHold();
-        }
-    return ret;
-    }
-
-//--------------------------------------------------------------------------
-//Overriden Apis from IAlfWidgetEventHandlers
-//--------------------------------------------------------------------------
-//
-
-// ---------------------------------------------------------------------------
-// From class IAlfWidgetEventHandler.
-// ---------------------------------------------------------------------------
-//
-bool AlfScrollBarDefaultBaseElement::accept(
-        CAlfWidgetControl& /*aControl*/,
-        const TAlfEvent& aEvent ) const
-    {
-    // Scrollbar baseElement handles only EEventScrollBarClicked 
-    // and EEventScrollBarClicked cusbtom events
-    // EEventScrollBarClicked event come from scrollbar control and  
-    // EEventScrollBarModelChanged event comes from scrollable widget
-    if (aEvent.CustomParameter() == EEventScrollBarClicked ||
-        aEvent.CustomParameter() == EEventScrollBarModelChanged)
-        {
-        return true;
-        }
-    return false;
-    }
-
-IAlfWidgetEventHandler::AlfEventHandlerType AlfScrollBarDefaultBaseElement::eventHandlerType()
-    {
-    return IAlfWidgetEventHandler::EPresentationEventHandler;
-    }
-
-IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase AlfScrollBarDefaultBaseElement::eventExecutionPhase()
-    {
-    return IAlfWidgetEventHandler::ETunnellingPhaseEventHandler;
-    }
-
-AlfEventStatus AlfScrollBarDefaultBaseElement::offerEvent(
-            CAlfWidgetControl& /*aControl*/,
-            const TAlfEvent& aEvent )
-    {
-    AlfEventStatus ret= EEventNotHandled;
-    // Dont do event handling incase widget & thumb opacity is zero
-    if(mData->mWidgetOpacity && mData->mThumbOpacity )
-        {
-        if (aEvent.IsCustomEvent())
-        {
-        switch(aEvent.CustomParameter())
-            {
-            // The event is coming from scrollbale widget
-            case EEventScrollBarModelChanged:
-                {
-                if( mData->mScrollbarModel)
-                    {
-                    ScrollModelChangedEventData* scrollEventData = 
-                    (ScrollModelChangedEventData*)aEvent.CustomEventData();  
-                    
-                        // Change the model which intern will update visualization 
-                         mData->mScrollbarModel->changeData(
-                                        scrollEventData->mSpan,
-                                        scrollEventData->mViewLength,
-                                        scrollEventData->mViewStartPos);
-                        ret=EEventHandled;
-                    }
-            }
-            break;
-            
-            case EEventMissedPointerUp:
-                {
-                mData->mLongTapStarted = false;
-                ret=EEventHandled;
-                handlePointerUpEvent();
-                }
-            break;
-            
-            case EEventScrollBarClicked:
-                {
-                ret = handleScrollBarClickedEvent(aEvent);
-                }
-            break;
-            
-            default:
-            break;
-            }
-        }
-    }
-    return ret;
-    }
-
- AlfEventStatus AlfScrollBarDefaultBaseElement::handleScrollBarClickedEvent(
-            const TAlfEvent& aEvent )
-     {
-     AlfEventStatus ret= EEventNotHandled;
-     TAlfEvent * pntrEvent=(TAlfEvent *)aEvent.CustomEventData();
-     if(pntrEvent)
-         {
-         // Get the hit visual
-         CAlfVisual *focusvisual = pntrEvent->Visual();
-         if(focusvisual && 
-                 pntrEvent->PointerEvent().iType == TPointerEvent::EButton1Down)
-                    {
-                    // check if the click is made on thumb
-                    if (isScrollbarThumbVisual(focusvisual))
-                        {
-                        mData->mCurrentState = EThumbPressed;
-                        // Change the graphics to pressed one
-                        changeGraphics();
-                        }
-                    else if (isScrollbarTrackVisual(focusvisual))
-                        {     
-                        mData->mCurrentState  = ETrackPressed;
-                        // Change the graphics to pressed one
-                        changeGraphics();
-                        }
-                    }
-         // Blocking event processing in case of maxthumblength,
-         // case 1 : revert back the graphics change incase of maxscrollbar length
-         if(pntrEvent->PointerUp() &&  mData->mScrollbarModel->getViewLength() >=  mData->mScrollbarModel->getTotalLength())
-             {
-             handlePointerUpEvent();
-             }
-         // case 2 : process the event in all other case except max length
-         else if( mData->mScrollbarModel->getViewLength() !=  mData->mScrollbarModel->getTotalLength())
-             {
-             processPointerEvent(pntrEvent);
-             }
-         // case2 : do nothing incase of maxscrollbar length
-         else
-             {
-             // do nothing
-             }
-             ret = EEventHandled;
-         }
-     else
-         {
-         ret = EEventNotHandled;
-         }
-    
-     return ret;
-    }
-
-void AlfScrollBarDefaultBaseElement::setActiveStates(
-    unsigned int /*aStates*/)
-    {
-    //do nothing
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfScrollBarBaseElementInternal.
-// ---------------------------------------------------------------------------
-//
-
-// ---------------------------------------------------------------------------
-// initializes scrollbar layout 
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::initializeLayout()
-    {
-    setThumbMinMaxLength();
-    calculateStepSizeAndThumbLength();
-    initializeTrackLayout();
-    initializeThumbLayout();
-    }
-
-// ---------------------------------------------------------------------------
-// initializes scrollbar Track layout 
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::initializeTrackLayout()
-    {
-    
-    TAknWindowLineLayout ExtendedTrackLayoutHandle = 
-                AknLayoutScalable_UiAccel::
-                aid_size_touch_aascroll_bar(0).LayoutLine();
-    // negative offset for the extended active area layout.
-    // Width values based on LCT data for extended touch
-    mData->mExtendedTouch = - (ExtendedTrackLayoutHandle.iW -  
-                    mData->mRootLayout->Size().iX.ValueNow());                  
-                    
-    // Create Track Visuals
-    if(mData->mTrackLayout)
-        {
-        TAknWindowLineLayout TrackLayoutHandle = 
-            AknLayoutScalable_UiAccel:: hc_scroll_bg_pane(0).LayoutLine();
-        
-        // Root layout rect, parent rect for track and thumb layout
-        TRect rootLayoutRect(0,
-                             0,
-                             mData->mRootLayout->Size().iX.ValueNow(),
-                             mData->mRootLayout->Size().iY.ValueNow());
-        
-        TAknLayoutRect TracklayoutRect;
-        TracklayoutRect.LayoutRect(rootLayoutRect, TrackLayoutHandle);
-        mData->mTrackLayout->SetRect(TracklayoutRect.Rect(),0.0);
-        
-        // set position and size for extended track layout
-        setPositionAndSize(mData->mExtendedTrackLayout,
-                mData->mExtendedTouch,0 ,
-                mData->mExtendedTouch,
-                mData->mTrackLayout->Size().iY.ValueNow());
-        
-        if(mData->mTrackTopImage && 
-           mData->mTrackMiddleImage && 
-           mData->mTrackEndImage)
-            {
-            // parent rect for track images
-            TRect Trackrect(0,
-                            0,
-                            mData->mTrackLayout->Size().iX.ValueNow(),
-                            mData->mTrackLayout->Size().iY.ValueNow());
-            
-            TAknWindowLineLayout TrackTopHandle = 
-                AknLayoutScalable_UiAccel::hc_scroll_bg_pane_g1(0).LayoutLine();
-            setLCTData(Trackrect,TrackTopHandle,mData->mTrackTopImage);
-           
-            TAknWindowLineLayout TrackMiddleHandle = 
-                AknLayoutScalable_UiAccel::hc_scroll_bg_pane_g2(0).LayoutLine();
-            setLCTData(Trackrect,TrackMiddleHandle,mData->mTrackMiddleImage);
-            
-            TAknWindowLineLayout TrackEndHandle = 
-                AknLayoutScalable_UiAccel::hc_scroll_bg_pane_g3(0).LayoutLine();
-            setLCTData(Trackrect,TrackEndHandle,mData->mTrackEndImage);
-           }
-         }
-    }
-
-// ---------------------------------------------------------------------------
-// initializes scrollbar Thumb layout 
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::initializeThumbLayout()
-    {
-    // Create Track Visuals
-    if(mData->mTrackLayout)
-        {
-        if(mData->mThumbLayout)
-            {
-            // Get thumb WindowLine Layout
-            TAknWindowLineLayout ThumbLayoutHandle = 
-                    AknLayoutScalable_UiAccel::hc_scroll_handle_pane(0).LayoutLine();
-            
-            // Root layout rect, parent rect for track and thumb layout
-            TRect rootLayoutRect(0,
-                                 0,
-                                 mData->mRootLayout->Size().iX.ValueNow(),
-                                 mData->mRootLayout->Size().iY.ValueNow());
-            
-           TAknLayoutRect ThumblayoutRect;
-           ThumblayoutRect.LayoutRect(rootLayoutRect, ThumbLayoutHandle);
-           
-           // set thumb height and thumb start position from model
-           mLCTData->height = mData->mThumbLength;
-                               	   
-           mLCTData->top = 
-                      ceil(mData->mStepSize *  mData->mScrollbarModel->getViewStartPosition());     
-                      
-           setPositionAndSize(mData->mThumbLayout,
-                         ThumblayoutRect.Rect().iTl.iX,
-                         mLCTData->top,
-                         ThumblayoutRect.Rect().Size().iWidth,
-                         mLCTData->height);
-           // Setting position and size for extended thumb layout
-           setPositionAndSize(mData->mExtendedThumbLayout ,
-                         mData->mExtendedTouch ,
-                         0,
-                         mData->mExtendedTouch,
-                         mLCTData->height);
-            
-            if(mData->mThumbTopImage && 
-               mData->mThumbMiddleImage && 
-               mData->mThumbEndImage)
-                {
-               // parent rect for thumb images
-               TRect ThumbRect(0,
-                               0,
-                               mData->mThumbLayout->Size().iX.ValueNow(),
-                               mData->mThumbLayout->Size().iY.ValueNow());
-                
-               TAknWindowLineLayout ThumbTopHandle = 
-                    AknLayoutScalable_UiAccel::hc_scroll_handle_pane_g1(0).LayoutLine();
-               setLCTData(ThumbRect,ThumbTopHandle,mData->mThumbTopImage);
-               
-               TAknWindowLineLayout ThumbMiddleHandle = 
-                    AknLayoutScalable_UiAccel::hc_scroll_handle_pane_g2(0).LayoutLine();
-               setLCTData(ThumbRect,ThumbMiddleHandle,mData->mThumbMiddleImage);
-               
-               TAknWindowLineLayout ThumbEndHandle = 
-                    AknLayoutScalable_UiAccel::hc_scroll_handle_pane_g3(0).LayoutLine();
-               setLCTData(ThumbRect,ThumbEndHandle,mData->mThumbEndImage);
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// sets LCT Data (position and size) for the visual 
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::setLCTData(const TRect& aRect ,
-                                                TAknWindowLineLayout& aWindowLineLayout,
-                                                CAlfVisual * aVisual)
-    {
-    TAknLayoutRect layoutRect;
-    layoutRect.LayoutRect(aRect, aWindowLineLayout);
-         
-    setPositionAndSize(aVisual,layoutRect.Rect().iTl.iX,layoutRect.Rect().iTl.iY,
-                      layoutRect.Rect().Size().iWidth,layoutRect.Rect().Size().iHeight);
-    }
-
-// ---------------------------------------------------------------------------
-// sets position and size for the visual 
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::setPositionAndSize(CAlfVisual * aVisual,
-                                                      int aXVal,int aYVal, 
-                                                      int aWidth,int aHeight)
-    {
-    TAlfRealPoint trackTopPnt(aXVal,aYVal);
-    TAlfRealSize trackTopSize(aWidth,aHeight);
-    aVisual->SetPos(trackTopPnt,0);
-    aVisual->SetSize(trackTopSize,0);
-    }
-
-// ---------------------------------------------------------------------------
-// initializes scrollbar model pointer for further reference 
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::initializeScrollModel()
-    {
-    // Store the ScrollBar Model Pointer;
-    IAlfWidgetFactory& widgetFactory =AlfWidgetEnvExtension::widgetFactory(control().Env());
-    AlfScrollBarWidget* wdgt = static_cast<AlfScrollBarWidget*>(widgetFactory.findWidget(control().widget()->widgetName()));
-    //Get model pointer
-    IAlfScrollBarModel* model = static_cast<IAlfScrollBarModel*>(wdgt->model());
-    mData->mScrollbarModel = static_cast<AlfScrollBarModel*>(model);
-    }
-
-
-// ---------------------------------------------------------------------------
-// Set images for the track 
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::setTrackImage()
-    {
-    TInt flags = EAlfTextureFlagSkinContent;
-    flags |= EAlfTextureFlagAutoSize;
-   
-    // Create skin Image
-    TAlfImage trackTopImage(KAknsIIDQsnCpScrollBgTop,TSize(0,0), 
-                            EAspectRatioNotPreserved,NULL, 
-                            -1,-1,0.f,0.f,1.f,1.f,
-                            (TAlfTextureFlags)flags);
-    TAlfImage trackMiddleImage(KAknsIIDQsnCpScrollBgMiddle, TSize(0,0), 
-                               EAspectRatioNotPreserved, NULL, 
-                               -1, -1, 0.f, 0.f, 1.f, 1.f, 
-                               (TAlfTextureFlags)flags);
-    TAlfImage trackEndImage(KAknsIIDQsnCpScrollBgBottom, TSize(0,0), 
-                            EAspectRatioNotPreserved, NULL, 
-                            -1, -1, 0.f, 0.f, 1.f, 1.f, 
-                            (TAlfTextureFlags)flags);
-    TAlfImage trackTopPressedImage(KAknsIIDQsnCpScrollBgTopPressed,TSize(0,0), 
-                                EAspectRatioNotPreserved,NULL, 
-                                -1,-1,0.f,0.f,1.f,1.f,
-                                (TAlfTextureFlags)flags);
-    TAlfImage trackMiddlePressedImage(KAknsIIDQsnCpScrollBgMiddlePressed, TSize(0,0), 
-                               EAspectRatioNotPreserved, NULL, 
-                               -1, -1, 0.f, 0.f, 1.f, 1.f, 
-                               (TAlfTextureFlags)flags);
-    TAlfImage trackEndPressedImage(KAknsIIDQsnCpScrollBgBottomPressed, TSize(0,0), 
-                            EAspectRatioNotPreserved, NULL, 
-                            -1, -1, 0.f, 0.f, 1.f, 1.f, 
-                            (TAlfTextureFlags)flags);
-    
-    // Set Image on visuals
-    mData->mTrackTopImage->SetImage(trackTopImage);
-    mData->mTrackMiddleImage->SetImage(trackMiddleImage);                        
-    mData->mTrackEndImage->SetImage(trackEndImage);
-    mData->mTrackTopImage->SetSecondaryImage(trackTopPressedImage);
-    mData->mTrackMiddleImage->SetSecondaryImage(trackMiddlePressedImage);                        
-    mData->mTrackEndImage->SetSecondaryImage(trackEndPressedImage);
-    }//End of setImage
-
-// ---------------------------------------------------------------------------
-// Set images for the thumb 
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::setThumbImage()
-    {
-    TInt flags = EAlfTextureFlagSkinContent;
-       flags |= EAlfTextureFlagAutoSize;
-   
-	  TAlfImage thumbTopImage(KAknsIIDQsnCpScrollHandleTop,TSize(0,0), 
-							   EAspectRatioNotPreserved,NULL, 
-							   -1,-1,0.f,0.f,1.f,1.f,
-							   (TAlfTextureFlags)flags);
-	  TAlfImage thumbMiddleImage(KAknsIIDQsnCpScrollHandleMiddle, TSize(0,0), 
-                              EAspectRatioNotPreserved, NULL, 
-                              -1, -1, 0.f, 0.f, 1.f, 1.f, 
-                              (TAlfTextureFlags)flags);
-	  TAlfImage thumbEndImage(KAknsIIDQsnCpScrollHandleBottom, TSize(0,0), 
-	                           EAspectRatioNotPreserved, NULL, 
-	                           -1, -1, 0.f, 0.f, 1.f, 1.f, 
-	                           (TAlfTextureFlags)flags);
-	  TAlfImage thumbTopPressedImage(KAknsIIDQsnCpScrollHandleTopPressed,TSize(0,0), 
-	                           EAspectRatioNotPreserved,NULL, 
-	                           -1,-1,0.f,0.f,1.f,1.f,
-	                           (TAlfTextureFlags)flags);
-      TAlfImage thumbMiddlePressedImage(KAknsIIDQsnCpScrollHandleMiddlePressed, TSize(0,0), 
-                              EAspectRatioNotPreserved, NULL, 
-                              -1, -1, 0.f, 0.f, 1.f, 1.f, 
-                              (TAlfTextureFlags)flags);
-      TAlfImage thumbEndPressedImage(KAknsIIDQsnCpScrollHandleBottomPressed, TSize(0,0), 
-                              EAspectRatioNotPreserved, NULL, 
-                              -1, -1, 0.f, 0.f, 1.f, 1.f, 
-                              (TAlfTextureFlags)flags);
-
-       mData->mThumbTopImage->SetImage(thumbTopImage);
-       mData->mThumbMiddleImage->SetImage(thumbMiddleImage);                        
-       mData->mThumbEndImage->SetImage(thumbEndImage);
-       mData->mThumbTopImage->SetSecondaryImage(thumbTopPressedImage);
-       mData->mThumbMiddleImage->SetSecondaryImage(thumbMiddlePressedImage);                        
-       mData->mThumbEndImage->SetSecondaryImage(thumbEndPressedImage);
- 
-    }//End of setImage
-// ---------------------------------------------------------------------------
-// change images for the track 
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::changeTrackImage(bool aPressed)
-    {
-    if(aPressed)
-    	{
-    	TAlfTimedValue alpha(1.0, 0.0);
-    	mData->mTrackTopImage->SetSecondaryAlpha(alpha);
-	    mData->mTrackMiddleImage->SetSecondaryAlpha(alpha);                        
-	    mData->mTrackEndImage->SetSecondaryAlpha(alpha);
-	    }
-    else
-    	{
-    	TAlfTimedValue alpha(0.0, 0.0);
-    	mData->mTrackTopImage->SetSecondaryAlpha(alpha);
-	    mData->mTrackMiddleImage->SetSecondaryAlpha(alpha);                        
-	    mData->mTrackEndImage->SetSecondaryAlpha(alpha);
-    	
-    	}
-    }
-// ---------------------------------------------------------------------------
-// change images for the thumb 
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::changeThumbImage(bool aPressed)
-    {
-    if(aPressed)
-    	{
-    	TAlfTimedValue alpha(1.0,0.0);
-    	mData->mThumbTopImage->SetSecondaryAlpha(alpha);
-	    mData->mThumbMiddleImage->SetSecondaryAlpha(alpha);                        
-	    mData->mThumbEndImage->SetSecondaryAlpha(alpha);
-	    }
-    else
-    	{
-    	TAlfTimedValue alpha(0.0,0.0);
-    	mData->mThumbTopImage->SetSecondaryAlpha(alpha);
-	    mData->mThumbMiddleImage->SetSecondaryAlpha(alpha);                        
-	    mData->mThumbEndImage->SetSecondaryAlpha(alpha);
-    	}
-    }
-// ---------------------------------------------------------------------------
-// calculates Step size and Thumb length 
-// ---------------------------------------------------------------------------
-//
-void  AlfScrollBarDefaultBaseElement::calculateStepSizeAndThumbLength()
-    {
-    int totalLength =  mData->mScrollbarModel->getTotalLength();
-    int viewLength =  mData->mScrollbarModel->getViewLength();
-    int viewStartPos =  mData->mScrollbarModel->getViewStartPosition();
-    
-    TAlfTimedPoint size = mData->mRootLayout->Size();
-    mData->mThumbLength = ((float)viewLength / 
-                                (float)totalLength) * size.iY.ValueNow();
-    
-    if(mData->mThumbMinLength != 0)
-        {
-        if(mData->mThumbLength<mData->mThumbMinLength)
-            {
-            mData->mThumbLength = mData->mThumbMinLength;
-            }
-        else if(mData->mThumbLength>mData->mThumbMaxLength)
-            {
-            mData->mThumbLength = mData->mThumbMaxLength;
-            }
-        else
-            {
-            
-            }
-        }
-    else
-        {
-        
-        }
-        
-    if(totalLength != viewLength)
-	    {    
-	    mData->mStepSize = (size.iY.ValueNow() - mData->mThumbLength) / 
-	                        (totalLength - viewLength);                       
-	    }
-    else
-	    {
-	    mData->mStepSize = 0.0;	
-	    }
-    }
-// ---------------------------------------------------------------------------
-// set maximum and minimum thumblength value from LCT data 
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::setThumbMinMaxLength()
-    {
-    TAknWindowLineLayout ThumbMinLengthHandle = 
-                AknLayoutScalable_UiAccel::
-                aid_size_min_handle_cp002(0).LayoutLine();
-
-    TAknWindowLineLayout ThumbMaxLengthHandle = 
-                AknLayoutScalable_UiAccel::
-                    aid_hc_size_max_handle(0).LayoutLine();
-    
-    // Since LCT data corresponding to this is very small (20), 
-    // we are hardcoding the value as 30,this has to be removed 
-    // once if we get the correct LCT data
-    // mData->mThumbMinLength = 30;
-    mData->mThumbMinLength = ThumbMinLengthHandle.iH;
-    mData->mThumbMaxLength = mData->mRootLayout->Size().iY.ValueNow() -
-                             ThumbMaxLengthHandle.ib;
-    }
-
-// ---------------------------------------------------------------------------
-// createDefaultBaseElement, initializes class member variables 
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::createDefaultBaseElement()
-    {
-    
-    mData = new (EMM) ScrollBarBaseElementData();
-    mData->mOperation = ENop;
-    mData->mVisual = NULL;
-    mData->mDragPoint = TPoint(0,0);
-    mData->mLongTapPos = TPoint(0,0);
-    mData->mDragStartStep = 0;
-    mData->mViewLength = 0;
-    mData->mThumbLength = 0;
-    mData->mThumbMinLength = 0;
-    mData->mThumbMaxLength = 0;
-    mData->mStepSize = 0;
-    mData->mThumbSizeChanged = false;
-    mData->mWidgetOpacity = 1.0;
-    mData->mThumbOpacity = 1.0;
-    mData->mLongTapStarted = false;
-    mData->mCurrentState = EReleased;
-    mData->mTrackLayout = NULL;
-    mData->mTrackTopImage = NULL ;
-    mData->mTrackMiddleImage = NULL ;
-    mData->mTrackEndImage = NULL ;
-    mData->mThumbLayout = NULL ;
-    mData->mThumbTopImage = NULL ;
-    mData->mThumbMiddleImage = NULL ;
-    mData->mThumbEndImage = NULL ;
-    mData->mExtendedTouch = 0;
-    mData->mScrollbarModel = NULL;
-    mData->mThumbAnimationTime = 0;
-    
-    mLCTData = new ( EMM ) ScrollbarThumbLCTData();
-    mLCTData->left=0;
-    mLCTData->top=0;
-    mLCTData->right=0;
-    mLCTData->bottom=0;
-    mLCTData->height=0;
-    mLCTData->width=0;
-    
-    }//End of createDefaultBaseElement
-
-// ---------------------------------------------------------------------------
-// initializeThumbDragData
-//  
-// ---------------------------------------------------------------------------
-//    
-bool AlfScrollBarDefaultBaseElement::initializeThumbDragData( const TPoint& aPointerPos )
-    {
-    if(mData->mVisual )
-        {
-        mData->mOperation = EMoveItem;
-        mData->mDragPoint = aPointerPos;
-        mData->mDragStartStep = mData->mScrollbarModel->getViewStartPosition();
-        }
-    else
-        {
-        // Do Nothing
-        }   
-    return ETrue;  
-    }
-
-
-// ---------------------------------------------------------------------------
-// stopDrag
-// Stop Dragging 
-// ---------------------------------------------------------------------------
-//
-bool AlfScrollBarDefaultBaseElement::stopDrag( CAlfVisual* /*aHitVisual*/, 
-                                               TInt /*aAnimTime*/)
-    {
-    TRAPD(err,
-          control().Display()->Roster().SetPointerEventObservers(
-          0, 
-          control()));
-    
-    if(err == KErrNone)
-        {
-        if(mData->mVisual)
-            {
-            mData->mVisual = NULL;
-            }
-        mData->mOperation = ENop;
-        return true;
-        }
-    return false;
-    }
-
-// ---------------------------------------------------------------------------
-// changeGraphics
-// change the skin image graphics based on the pressedState
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarDefaultBaseElement::changeGraphics()
-    {
-    if(mData->mCurrentState == EReleased)    // Normal graphics
-        {
-        changeTrackImage(false);
-        changeThumbImage(false);
-        }
-    else if(mData->mCurrentState == EThumbPressed || mData->mCurrentState == ETrackPressed)  // Pressed graphics
-        {
-        if(mData->mCurrentState == EThumbPressed)
-            {
-            // set the index for pressed graphics (thumb and track)
-            changeTrackImage(true);
-            changeThumbImage(true);
-            }
-        else if (mData->mCurrentState == ETrackPressed)
-            {
-            // set the index for pressed graphics (track)
-            changeTrackImage(true);
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// isScrollbarTrackVisual
-// checks whether the visual is scrollbar track visual or not
-// ---------------------------------------------------------------------------
-// 
-bool AlfScrollBarDefaultBaseElement::isScrollbarTrackVisual(CAlfVisual *aVisual)
-    {
-    if(aVisual == mData->mExtendedTrackLayout ||
-       aVisual == mData->mTrackTopImage ||
-       aVisual == mData->mTrackMiddleImage ||
-       aVisual == mData->mTrackEndImage)
-        {
-        return true;
-        }
-     return false;   
-    }  
-
-// ---------------------------------------------------------------------------
-// isScrollbarThumbVisual
-// checks whether the visual is scrollbar thumb visual or not
-// ---------------------------------------------------------------------------
-// 
-bool AlfScrollBarDefaultBaseElement::isScrollbarThumbVisual(CAlfVisual *aVisual)
-    {
-    if(aVisual == mData->mExtendedThumbLayout ||
-       aVisual == mData->mThumbTopImage ||
-       aVisual == mData->mThumbMiddleImage ||
-       aVisual == mData->mThumbEndImage)
-        {
-        return true;
-        }
-     return false;   
-    }  
-
-    }//namespace Alf
-    
-//End Of File
--- a/mulwidgets/alfscrollbarwidget/src/alfscrollbarlongtaptimer.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* 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: Timer for creating longtap event 
-*
-*/
-#include "alfscrollbarlongtaptimer.h"
-#include <alf/ialfscrollbardefaultbaseelement.h>
-#include "ialfscrollbarbaseelementinternal.h"
-
-const int KInitialTimeInterval = 200000;
-const int KTimeInterval =  100000;
-
-namespace Alf
-    {
-
-//---------------------------------------------------------------------------
-// Constructor
-//---------------------------------------------------------------------------
-//        
-AlfScrollBarLongTapTimer::AlfScrollBarLongTapTimer(
-    IAlfScrollBarDefaultBaseElement* aBaseElement):CActive(EPriorityStandard)
-    {
-    iTimer.CreateLocal();
-    iBaseElement = aBaseElement;
-    CActiveScheduler::Add(this);
-    iState = EStopped;
-    }
-
-//---------------------------------------------------------------------------
-// Destructor 
-//---------------------------------------------------------------------------
-//
-AlfScrollBarLongTapTimer::~AlfScrollBarLongTapTimer()
-    {
-    Stop();
-    iTimer.Close();
-    }
-//---------------------------------------------------------------------------
-// Activates the timer. 
-//---------------------------------------------------------------------------
-//  
-void AlfScrollBarLongTapTimer::Start()
-    {
-    if (iState == ERunning)
-        return;
-    if (!IsActive())
-        {
-        iTimer.After(iStatus, TTimeIntervalMicroSeconds32(KInitialTimeInterval));
-        SetActive();
-        }
-    iState = ERunning;    
-    }
-//---------------------------------------------------------------------------
-// stops the timer. 
-//---------------------------------------------------------------------------
-// 
-void AlfScrollBarLongTapTimer::Stop()
-    {
-    Cancel();
-    iState = EStopped;
-    }
-//---------------------------------------------------------------------------
-// Handles an active object's request completion event.
-//---------------------------------------------------------------------------
-//     
-void AlfScrollBarLongTapTimer::RunL()
-    {
-    IAlfScrollBarBaseElementInternal* elementInternal = 
-        static_cast<IAlfScrollBarBaseElementInternal*> (
-        iBaseElement->makeInterface(IAlfScrollBarBaseElementInternal::type()));
-   
-    if (iState == ERunning)
-            {
-            iTimer.After(iStatus, TTimeIntervalMicroSeconds32(KTimeInterval));    
-            SetActive();
-            }
-    if(elementInternal)
-        {
-        elementInternal->handleLongTapEvent();
-        }    
-    }
-
-//---------------------------------------------------------------------------
-// Implements cancellation of an outstanding request.
-//---------------------------------------------------------------------------
-// 
-void AlfScrollBarLongTapTimer::DoCancel()
-    {
-    iTimer.Cancel();
-    }
-
-    }
--- a/mulwidgets/alfscrollbarwidget/src/alfscrollbarmodel.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,554 +0,0 @@
-/*
-* Copyright (c) 2007, 2008 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:  Model implementation with utilities for scrollbar widget.
-*
-*/
-//User Includes
-#include "alfscrollbarmodel.h"
-#include "alfscrollbarwidget.h"
-
-//Widget includes
-#include <alf/ialfscrollbardefaultbaseelement.h>
-#include "ialfscrollbarbaseelementinternal.h"
-#include "alfscrollbardefaultbaseelement.h"
-
-#include <alf/ialfscrollbarwidget.h>
-#include <alf/alfmodel.h>
-#include <alf/alfexception.h>
-
-namespace Alf
-    {
-    	
-/*
- * To store data required in the model class
- */
-struct ScrollbarModelDataImpl
-    {
-    int mTotalLength;
-    int mViewLength;
-    int mViewStartPosition;
-    };
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//  C++ default constructor.
-// ---------------------------------------------------------------------------
-//
-AlfScrollBarModel::AlfScrollBarModel(IAlfVariantType* aDataSource):
-    mModel ( NULL )
-    {
-    construct ( aDataSource );
-    
-     // Create an instance of model specific data
-    mModelData = new (EMM) ScrollbarModelDataImpl();
-    
-    // Initialise model data with default values
-    mModelData->mTotalLength       = 0;
-    mModelData->mViewLength        = 0;
-    mModelData->mViewStartPosition = 0;
-    
-    mScrollWidget = NULL;
-    }//End of AlfScrollBarModel function.
-
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-AlfScrollBarModel::~AlfScrollBarModel()
-    {
-    if(mModelData)
-        delete mModelData;
-        
-    delete mModel;
-    }//End of ~AlfScrollBarModel function.
-
-
-// ---------------------------------------------------------------------------
-//  Second Phase Constructor.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarModel::construct ( IAlfVariantType* /*aDataSource */)
-    {
-
-    }//End of construct function.
-
-
-// ---------------------------------------------------------------------------
-// From class IAlfModel.
-// Add a new observer to be notified of any changes in the model.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarModel::addModelChangeObserver(
-    IAlfModelChangeObserver& /*aObserver*/)
-    {
-    
-    }//End of addModelChangeObserver function.
-
-    
-// ---------------------------------------------------------------------------
-// From class IAlfModel.
-// Add a new observer to be notified of any changes in the model.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarModel::removeModelChangeObserver(
-    IAlfModelChangeObserver& /*aObserver*/ )
-    {
-    
-    }//End of function.
-
-
-// ---------------------------------------------------------------------------
-// From class IAlfModel.
-// Api to change the model completely at one short.
-// ---------------------------------------------------------------------------
-//    
-void AlfScrollBarModel::setData ( IAlfVariantType* /*aData*/ )
-    {
-        
-    }//End of removeModelChangeObserver function.
-
-
-// ---------------------------------------------------------------------------
-// From class IAlfModel.
-// Change a given  of data fields in the model.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarModel::updateData(
-    TInt /*aNumContainerIndices*/,
-    TInt* /*aContainerIndices*/,
-    IAlfVariantType* /*aData*/)
-    {
-    ALF_THROW(AlfException,EInvalidArgument,"updateData")        
-    }//End of updateData function.
-
-    
-// ---------------------------------------------------------------------------
-// From class IAlfModel.
-// Add a number of data fields in the model data.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarModel::addData(
-    TInt /*aNumContainerIndices*/,
-    TInt* /*aContainerIndices*/,
-    IAlfVariantType* /*aData*/)
-    {
-    ALF_THROW(AlfException,EInvalidArgument,"addData")        
-    }//End of addData function.
-
-
-// ---------------------------------------------------------------------------
-// From class IAlfModel.
-// Remove a  number of data fields in the model data.
-// ---------------------------------------------------------------------------
-//  
-void AlfScrollBarModel::removeData(
-    TInt /*aNumContainerIndices*/,
-    TInt* /*aContainerIndices*/ )
-    {
-    ALF_THROW(AlfException,EInvalidArgument,"removeData")        
-    }//End of removeData function.
-
-
-// ---------------------------------------------------------------------------
-// From class IAlfModel.
-// Api for executing batch operations.
-// ---------------------------------------------------------------------------
-//  
-void AlfScrollBarModel::executeOperations(
-    AlfPtrVector<AlfModelOperation>& /*aOperationsArray*/)
-    {
-    ALF_THROW(AlfException,EInvalidArgument,"executeOperations")    
-    }//End of executeOperations function.
-
-
-// ---------------------------------------------------------------------------
-// From class IAlfModel.
-// Api for executing one operation at a Time.
-// ---------------------------------------------------------------------------
-//  
-void AlfScrollBarModel::executeOperation(AlfModelOperation* /*aOperation*/)
-    {
-    ALF_THROW(AlfException,EInvalidArgument,"executeOperation")    
-    }//End of executeOperation function.
-
-
-// ---------------------------------------------------------------------------
-// From class IAlfModel.
-// Clears the Model.
-// ---------------------------------------------------------------------------
-//  
-void AlfScrollBarModel::clearModel()
-    {
-    
-    }//End of clearModel function.
-
-
-// ---------------------------------------------------------------------------
-// From class IAlfModel.
-// Get the root data object of this model.
-// ---------------------------------------------------------------------------
-//  
-IAlfVariantType* AlfScrollBarModel::data() const
-    {
-    return NULL;
-    }//End of data function.
-
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the scrollbar model.
-// ---------------------------------------------------------------------------
-IAlfInterfaceBase* AlfScrollBarModel::makeInterface(const IfId& aType)
-    {
-    IAlfInterfaceBase* ret ( 0 );
-    UString param ( aType.mImplementationId );
-
-    if ( param == IAlfScrollBarModel::type().mImplementationId )
-        {
-        ret = static_cast<IAlfScrollBarModel*>(this);
-        }
-    else if ( param == IAlfModel::type().mImplementationId )
-        {
-        ret = static_cast<IAlfModel*>(this);
-        }
-    else
-        {
-        //do nothing
-        }
-
-    return ret;
-    }//End of makeInterface function.
-
-// ---------------------------------------------------------------------------
-// From class IAlfScrollBarModel.
-// Create the default data structure for a ScrollBar widget.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarModel::initializeData(
-    int aTotalLength,
-    int aViewLengthInSteps,
-    int aViewStartPosition)
-    {
-
-    validateAllData(aTotalLength, 
-        aViewLengthInSteps,
-        aViewStartPosition);
-    
-    // Initialise model with the data provided
-    mModelData->mTotalLength       = aTotalLength;
-    mModelData->mViewLength        = aViewLengthInSteps;
-    mModelData->mViewStartPosition = aViewStartPosition;
-   
-    changeData(
-        mModelData->mTotalLength,
-        mModelData->mViewLength,
-        mModelData->mViewStartPosition);
-
-    }//End of function.
-
-// ---------------------------------------------------------------------------
-// Set Total Length .
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarModel::setTotalLength(int aTotalLength)
-    {
-    int viewLength = getViewLength();
-    int viewStartPos = getViewStartPosition();
-       
-    if (validateAllData(aTotalLength, 
-            viewLength, 
-            viewStartPos))
-        {
-        updateScrollBarModel(aTotalLength, -1, -1 );
-        }
-    else
-        {
-        updateScrollBarModel(aTotalLength, viewLength, viewStartPos);
-        }
-    }//End of setTotalLength function.
-
-// ---------------------------------------------------------------------------
-// Set ViewLength.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarModel::setViewLength(int aViewLengthInSteps)
-    {
-    validateViewLength(aViewLengthInSteps);
-    updateScrollBarModel ( -1, aViewLengthInSteps, -1);
-    
-    }//End of setViewLength function.
-
-
-// ---------------------------------------------------------------------------
-// Set Thumb Position.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarModel::setViewStartPosition ( int aViewStartPosition )
-    {
-    validateViewStartPos(aViewStartPosition);
-    updateScrollBarModel (-1, -1, aViewStartPosition);
-    }//End of setViewStartPosition function.
-
-// ---------------------------------------------------------------------------
-// Changes all the data of model with new values.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarModel::changeData(
-    int aTotalLength,
-    int aViewLength,
-    int aViewStartPosition )
-    {
-    
-    validateAllData(aTotalLength,
-        aViewLength,
-        aViewStartPosition);
-          
-     if(getViewStartPosition() == aViewStartPosition && 
-        getTotalLength() == aTotalLength && 
-        getViewLength() == aViewLength)
-        { 
-        // nothing is changed
-        return ;
-        }
-    else
-	    {
-	    updateScrollBarModel(
-	            aTotalLength,
-	            aViewLength,
-	            aViewStartPosition);
-	    }
-            
-  
-    }//End of changeData function.
-
-// ---------------------------------------------------------------------------
-// getTotalLength.
-// ---------------------------------------------------------------------------
-//
-int AlfScrollBarModel::getTotalLength() const
-    {
-    return mModelData->mTotalLength;
-    }//End of getTotalLength function.
-
-
-// ---------------------------------------------------------------------------
-// Returns ViewLength.
-// ---------------------------------------------------------------------------
-//
-int AlfScrollBarModel::getViewLength() const
-    {
-    
-    return mModelData->mViewLength;
-    }//End of getViewLength function.
-
-    
-// ---------------------------------------------------------------------------
-// Returns ViewStartPosition.
-// ---------------------------------------------------------------------------
-//
-int AlfScrollBarModel::getViewStartPosition() const
-    {
-    return mModelData->mViewStartPosition;
-    }//End of getViewStartPosition function.
-
-// ---------------------------------------------------------------------------
-// Updates the ScrollBar visualization
-// according to the model data.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarModel::updateScrollBarVisualization()
-    {
-     //updateVisualization with new model
-     IAlfElement* element = (mScrollWidget)->control()->findElement("BaseElement");
-     IAlfScrollBarDefaultBaseElement* defaultLCTBaseElement = static_cast<IAlfScrollBarDefaultBaseElement*> (
-    		 element->makeInterface (IAlfScrollBarDefaultBaseElement::type() ) );
-     AlfScrollBarDefaultBaseElement* baseElement = (AlfScrollBarDefaultBaseElement*)defaultLCTBaseElement;
-     
-     baseElement->updateVisualization();
-    }
-
-// ---------------------------------------------------------------------------
-// Updates the ScrollBar model according to the parameters.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarModel::updateScrollBarModel(
-    int aTotalLength,
-    int aViewLength,
-    int aViewStartPosition)
-    {
-    //change only if the parameters are non negative . 
-    
-    if(aTotalLength!=-1)
-        {
-        mModelData->mTotalLength = aTotalLength;
-        }
-    else
-        {
-        // Do Nothing
-        }
-    
-    if(aViewLength!=-1)
-        {
-        mModelData->mViewLength =  aViewLength; 
-        }
-    else
-        {
-        // Do Nothing 
-        }
-        
-    
-    if(aViewStartPosition!=-1)
-        {
-        mModelData->mViewStartPosition = aViewStartPosition;  
-        }
-    else
-        {
-        // Do Nothing  
-        }
- 
-    //updateVisualization with new model    
-    updateScrollBarVisualization();
-    }//End of updateScrollBarModel function.
-
-// ---------------------------------------------------------------------------
-// validateViewLength
-// ---------------------------------------------------------------------------
-//
-bool AlfScrollBarModel::validateViewLength(int & aViewLength)
-    {
-    bool ret = true;
-    
-    if (aViewLength <= 0)
-        {
-        // Minimum view length
-        aViewLength = 1;
-        ret = false;
-        }
-    else
-        {
-        int totalLength = getTotalLength();
-        if (aViewLength > totalLength)
-            {
-            aViewLength = totalLength;
-            ret = false;
-            }
-        else
-            {
-            // do nothing
-            }
-        }
-    
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// validateViewStartPos
-// ---------------------------------------------------------------------------
-//
-bool AlfScrollBarModel::validateViewStartPos(int & aViewStartPos)
-    {
-    bool ret = true;
-    
-    if (aViewStartPos < 0)
-        {
-        aViewStartPos = 0;
-        ret = false;
-        }
-    else
-        {
-        int totalLength = getTotalLength();
-        int viewLength = getViewLength();     
-        if (aViewStartPos > (totalLength-viewLength))
-            {
-            // Maximum value
-            aViewStartPos = totalLength-viewLength;            
-            ret = false;
-            }
-        else
-            {
-            // do nothing
-            }        
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// validateAllData
-// ---------------------------------------------------------------------------
-//    
-bool AlfScrollBarModel::validateAllData(int & aTotalLength, 
-        int & aViewLength, 
-        int & aViewStartPos)
-    {
-     bool ret = true;
-     if (aTotalLength <= 0)
-        {
-        aTotalLength = 1;
-        ret = false;
-        }
-     else
-        {
-        // do nothing
-        }
-     
-     // validate view length   
-     if (aViewLength <= 0)
-        {
-        aViewLength = 1;
-        ret = false;
-        }
-     else if (aViewLength > aTotalLength)
-        {
-        // Setting maximum possible value of View Length
-        aViewLength = aTotalLength;
-        ret = false;
-        }
-     else
-        {
-        // do nothing
-        }
-     
-     // validate view start pos
-     if (aViewStartPos < 0)
-        {
-        aViewStartPos = 0;
-        ret = false;
-        }
-     else if (aViewStartPos > (aTotalLength-aViewLength) )
-        {
-        // Setting maximum possible value of View Length
-        aViewStartPos = aTotalLength-aViewLength;        
-        ret = false;
-        }
-     else
-        {
-        // do nothing
-        }
-        
-     // No need to validate aFocusPos for now
-    return ret;
-    }
-    
-// ---------------------------------------------------------------------------
-// StoreWidget
-// ---------------------------------------------------------------------------
-//    
-void AlfScrollBarModel::storeWidget(AlfScrollBarWidget* aWidget)
-    {
-    mScrollWidget = aWidget;
-    }
-}//Namespace Alf
-    
--- a/mulwidgets/alfscrollbarwidget/src/alfscrollbarwidget.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,307 +0,0 @@
-/*
-* Copyright (c) 2007, 2008 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:  Implementation for scrollbar widget.
- *
-*/
-
-
-// Alfred Client includes
-#include <alf/alfenv.h>
-
-// Widget Model includes
-#include "alf/alfelement.h"
-#include <alf/alfexception.h>
-
-// Widget Includes
-#include <alf/ialfscrollbardefaultbaseelement.h>
-#include <alf/alfscrollbarproductids.h>
-// Internal includes
-
-#include "alfscrollbardefaultbaseelement.h"
-#include "alfscrollbarwidget.h"
-#include "alfscrollbarmodel.h"
-#include "alfscrollbarcontrol.h"
-#include <alf/alfwidgetenvextension.h>
-using namespace alfscrollbarwidget;
-
-using Alf::CommonWidgetEvent;
-namespace Alf
-    {
-
-// ---------------------------------------------------------------------------
-//  Creator Method.
-// ---------------------------------------------------------------------------
-//        
-AlfScrollBarWidget* AlfScrollBarWidget :: create(
-    CAlfEnv& aEnv, 
-    IAlfContainerWidget& aContainer,
-    const char* aWidgetId, 
-    DuiNode *aNode, 
-    const char *aFilePath, 
-    AlfCustomInitDataBase* aCustomData)
-    {
-    return (new( EMM ) AlfScrollBarWidget(aEnv, 
-        aContainer, aWidgetId, aNode, aFilePath, aCustomData));
-    }
-
-
-// ---------------------------------------------------------------------------
-//  Destructor.
-// ---------------------------------------------------------------------------
-//        
-AlfScrollBarWidget::~AlfScrollBarWidget()
-    {
-    if(mScrollModel)
-        {
-        delete mScrollModel;
-        }
-    else 
-        {
-        
-        }
-    }
-    
-    
-    
-// ---------------------------------------------------------------------------
-// From class IAlfWidget.
-// Getter for the parent container. The ownership not passed.
-// ---------------------------------------------------------------------------
-//
-IAlfContainerWidget* AlfScrollBarWidget::parent() const
-    {
-    return mWidget->parent();
-    }
-    
-    
-// From class MAlfInterfaceBase.
-
-// ---------------------------------------------------------------------------
-// Getter for interfaces provided by the scrollbar widget.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* AlfScrollBarWidget :: makeInterface(const IfId& aType)
-    {
-    UString param ( aType.mImplementationId );
-
-    if (param == IAlfScrollBarWidget::type().mImplementationId)
-        {
-        return static_cast<IAlfScrollBarWidget*>(this);
-        }
-    else if (param == IAlfWidget::type().mImplementationId)
-        {
-        return static_cast<IAlfWidget*>(this);
-        }
-    else
-        {
-        //do nothing
-        }
-
-    return mWidget->makeInterface(aType);
-    }
-    
-      
-// From class IAlfWidget.
-    
-// ---------------------------------------------------------------------------
-// Getter for the control. The ownership is not passed.
-// ---------------------------------------------------------------------------
-//
-CAlfWidgetControl* AlfScrollBarWidget :: control() const
-    {
-    return mWidget->control();
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Setter for the control. The control is owned by the Alfred environment.
-// ---------------------------------------------------------------------------
-//    
-void AlfScrollBarWidget :: setControl( 
-    CAlfWidgetControl* aControl, bool /*aDeletePreviousControl*/ )
-    {
-    mScrollControl = aControl;
-    mWidget->setControl(aControl);
-    }
-
-
-// ---------------------------------------------------------------------------
-// Getter for the model. The ownership is not passed.
-// ---------------------------------------------------------------------------
-//
-IAlfModel* AlfScrollBarWidget :: model()
-    {    
-    return mScrollModel;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Setter for the model. Ownership is passed and the old model is released.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarWidget :: setModel( IAlfModel* aModel, bool /*aTakeOwnerShip*/)
-    {
-    IAlfElement* baseelement = control()->findElement ("BaseElement");
-    if(baseelement)
-    	{
-    IAlfScrollBarBaseElementInternal* elementInternal = 
-            static_cast<IAlfScrollBarBaseElementInternal*> (
-    baseelement->makeInterface(
-                    IAlfScrollBarBaseElementInternal::type()));
-            
-    if(aModel==NULL)
-        {
-        if(elementInternal)
-        	{
-        	elementInternal->destroyVisualization();
-        	}
-        delete mScrollModel;
-        mScrollModel = NULL;
-        }
-    else
-        {
-        if(mScrollModel)
-            {
-            delete mScrollModel;
-            mScrollModel = NULL;
-            
-            mScrollModel = static_cast<IAlfScrollBarModel*>( aModel->makeInterface(
-                IAlfScrollBarModel::type()));
-            AlfScrollBarModel* scrollBarModel = (AlfScrollBarModel*)mScrollModel;
-            // Store the widget pointer in model
-            scrollBarModel->storeWidget(this);
-            
-            if(mScrollModel && elementInternal)
-                {
-                elementInternal->initializeScrollModel();
-                elementInternal->updateVisualization();
-                }
-            }
-        else
-            {
-            mScrollModel =static_cast<IAlfScrollBarModel*>( aModel->makeInterface(
-                IAlfScrollBarModel::type()));
-            AlfScrollBarModel* scrollBarModel = (AlfScrollBarModel*)mScrollModel;
-            scrollBarModel->storeWidget(this);
-            
-            if(mScrollModel && elementInternal)
-                {
-                elementInternal->createVisualization();
-                }
-             }
-
-        }
-    	}
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Get the name of the widget instance.
-// ---------------------------------------------------------------------------
-//
-const char* AlfScrollBarWidget :: widgetName() const
-    {
-    return mWidget->widgetName();
-    } 
-    
-    
-// ---------------------------------------------------------------------------
-// Sets/Releases the Focus from child widget of container.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarWidget :: setChildFocus(bool /*aFocus*/)
-    {
-    }
-    
-    
-//---------------------------------------------------------------------------
-// Creates the presentation for the widget from XML. Destroys any existing
-// presentation.
-//---------------------------------------------------------------------------
-//    
-void AlfScrollBarWidget :: setPresentation(const char* /*aFilePath*/)
-    {
-    } 
-
-
-            
-// ---------------------------------------------------------------------------
-//  C++ default constructor.
-// ---------------------------------------------------------------------------
-//
-AlfScrollBarWidget :: AlfScrollBarWidget(
-    CAlfEnv& aEnv, IAlfContainerWidget& aContainer,
-    const char* aWidgetId, DuiNode * /*aNode*/, 
-    const char * /*aFilePath*/,
-    AlfCustomInitDataBase* /*aCustomData*/)
-    { 
-    mScrollModel = NULL;
-    mWidget.reset(new(EMM) AlfWidget(aWidgetId,aContainer,aEnv));
-    // Default Imperative Construction
-    constructDefault(aEnv);
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// Constructs default Visualization for widget.
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarWidget :: constructDefault(CAlfEnv& aEnv)
-    {
-    const char* mBaseElementLoadId=KScrollBarDefaultBaseElement; 
-    
-    // Create Control
-    CAlfWidgetControl* ctrl = constructDefaultControl(aEnv);
-    setControl(ctrl);
-    
-    // Create Element
-    IAlfWidgetFactory& widgetFactory = AlfWidgetEnvExtension::widgetFactory(control()->Env());
-    
-    widgetFactory.createElement<IAlfElement>(mBaseElementLoadId, 
-					         	             baseElementName(),
-					         	             *control());    
-    }
-    
-// ---------------------------------------------------------------------------
-//  Construct and returns Scrollbar Control.
-// ---------------------------------------------------------------------------
-//
-CAlfWidgetControl *AlfScrollBarWidget :: constructDefaultControl(CAlfEnv& aEnv)
-    {
-    return(new(EMM) AlfScrollBarControl(aEnv) );
-    }    
-
-// ---------------------------------------------------------------------------
-//  Enables tactile feedback based on the flag state
-// ---------------------------------------------------------------------------
-//
-void AlfScrollBarWidget ::enableTactile(bool aFlag)
-	{
-	AlfScrollBarControl* scrollControl = (AlfScrollBarControl*)control();
-	scrollControl->EnableTactileFeedback(aFlag);
-	}
-
-// ---------------------------------------------------------------------------
-//  Getter for tactile feedback state
-// ---------------------------------------------------------------------------
-//               
-bool AlfScrollBarWidget ::IsTactileEnabled()
-	{
-	AlfScrollBarControl* scrollControl = (AlfScrollBarControl*)control();
-	return scrollControl->IsTactileFeedbackEnabled();
-	}  
-    
-    }//End of Alf
-    
--- a/mulwidgets/alfscrollbarwidget/src/alfscrollbarwidgetfactoryplugin.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,299 +0,0 @@
-/*
-* Copyright (c) 2009 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:  Plugin factory implementation for scrollbar widget.
-*
-*/
-
-// WidgetModel Includes
-#include "alf/alfwidget.h"
-#include <alf/ialfwidget.h>
-
-// Symbian Includes
-#include <ecom/ecom.h>
-
-// OpenC Includes
-#include <libc/string.h>
-
-// Widget Includes
-#include <alf/ialfscrollbarwidget.h>
-#include <alf/alfscrollbarproductids.h>
-
-//Internal includes
-#include "alfscrollbarwidgetfactoryplugin.h"
-#include "alfscrollbarwidget.h"
-#include "alfscrollbarmodel.h"
-#include "alfscrollbardefaultbaseelement.h"
-
-using namespace osncore;
-
-namespace Alf
-    {
-const TInt KScrollBarWidgetFactoryPluginUid = {0x20010106};
-const int KProductCount = 3;
-
-
-// ---------------------------------------------------------------------------
-// Two-phased Symbian constructor.
-// ---------------------------------------------------------------------------
-//
-AlfScrollBarWidgetFactoryPlugin* AlfScrollBarWidgetFactoryPlugin::NewL()
-    {
-    return new (EMM) AlfScrollBarWidgetFactoryPlugin;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-AlfScrollBarWidgetFactoryPlugin::~AlfScrollBarWidgetFactoryPlugin()
-    {
-
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// Creates either a scrollbar widget or a scrollbar model.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* AlfScrollBarWidgetFactoryPlugin::createProduct(
-    const char* aProduct,
-    void* aInitData)
-    {
-    IAlfInterfaceBase* ret (0);
-    if (aProduct == NULL)
-        {
-        // do nothing
-        }
-    else if (!strcmp(aProduct, KScrollBarWidget))
-        {
-        AlfWidgetInitData* initData = (AlfWidgetInitData*)aInitData;
-       
-        if (initData == 0)
-            {
-            // Throw exception if init data is null
-            ALF_THROW(
-                AlfException, 
-                ECommonError, 
-                "Scrollbar widget initialization data was NULL.");
-            }
-        else
-            {
-            // Do Nothing
-            }
-        
-        if (initData->mWidgetId == 0)
-            {
-            // Assert that widget id in the initialization data is correct.
-            ALF_THROW(
-                AlfException, 
-                ECommonError, 
-                "Widget ID was NULL.");
-            }
-        else
-            {
-            // Do Nothing
-            }
-        
-        if (initData->mEnv == 0)
-            {
-            // Assert that the UI Accelerator Toolkit Environment 
-            // in the initialization data is correct.
-            ALF_THROW(
-                AlfException, 
-                ECommonError, 
-                "Environment instance was NULL.");
-            }
-        else
-            {
-            // Do Nothing
-            }
-        
-        if (initData->mContainerWidget == 0)
-            {
-            // Assert that container widget pointer in the 
-            // initialization data is correct.
-            ALF_THROW(
-                AlfException, 
-                ECommonError, 
-                "Container widget instance was NULL.");
-            }
-        else
-            {
-            // Do Nothing
-            }
-        
-        auto_ptr<AlfScrollBarWidget> widget(AlfScrollBarWidget::create(
-            *initData->mEnv, 
-            *initData->mContainerWidget,
-            initData->mWidgetId,
-            initData->mNode, 
-            initData->mFilePath, 
-            initData->mCustomData));
-            
-        ret = widget->makeInterface (IAlfScrollBarWidget::type());
-        widget.release();
-        }
-    else if (!strcmp(aProduct, KScrollBarModel))
-        {
-        auto_ptr<AlfScrollBarModel> model(new(EMM) AlfScrollBarModel(NULL));
-        ret = model->makeInterface (IAlfScrollBarModel::type());
-        model.release();
-        }
-    else if (!strcmp(aProduct, KScrollBarDefaultBaseElement))
-        {
-        AlfElementInitData* initData = (AlfElementInitData*) aInitData;
-        // TBD: Need to change the exceptions to scrollbar specific exceptions. 
-        // Throw exception if init data is null
-        if (initData == 0)
-            {
-            ALF_THROW(
-                AlfException, 
-                ECommonError, 
-                "Scrollbar widget initialization data was NULL.");
-            }
-        else
-            {
-            // Do Nothing
-            }
-        
-        if (initData->mElementId == 0)
-            {
-            // Assert that element id in the initialization data is correct.
-            ALF_THROW(
-                AlfException, 
-                ECommonError, 
-                "Element ID was NULL.");
-            }
-        else
-            {
-            // Do Nothing
-            }
-        
-        if (initData->mControl == 0)
-            {
-            // Assert that the widget control is correct.
-            ALF_THROW(
-                AlfException, 
-                ECommonError, 
-                "Environment instance was NULL.");
-            }
-        else
-            {
-            // Do Nothing
-            }
-            
-        auto_ptr<AlfScrollBarDefaultBaseElement> element(
-            new(EMM) AlfScrollBarDefaultBaseElement(
-                (CAlfWidgetControl&)(*initData->mControl),
-                initData->mElementId,
-                initData->mNode,initData->mCustomData));
-                
-        ret = element->makeInterface(IAlfScrollBarDefaultBaseElement::type());
-        element.release();
-        }      
-    else
-        {
-        // Do Nothing
-        }
-
-    return ret;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// From IAlfInterfaceBase.
-// Creates interface based on the given type.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* AlfScrollBarWidgetFactoryPlugin::makeInterface(
-    const IfId& /*aType*/)
-    {
-    return NULL;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// Returns the amount of products this factory can produce.
-// ---------------------------------------------------------------------------
-//
-int AlfScrollBarWidgetFactoryPlugin::productCount() const
-    {
-    return KProductCount;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// Returns product information.
-// ---------------------------------------------------------------------------
-//
-const char* AlfScrollBarWidgetFactoryPlugin::productInfo (int aIndex) const
-    {
-    switch (aIndex)
-        {
-    case 0:
-        {
-        return KScrollBarWidget;
-        }    
-
-    case 1:
-        {
-        return KScrollBarModel;
-        }
-
-    case 2:
-        {
-        return KScrollBarDefaultBaseElement;
-        }
-    
-
-    default:
-        break;
-
-        }
-
-    return 0;
-    }
-
-    }// NameSpace 
-
-
-// ---------------------------------------------------------------------------
-// OTHER EXPORTED FUNCTIONS.
-// ---------------------------------------------------------------------------
-//
-
-using namespace Alf;
-const TImplementationProxy ImplementationTable[] =
-    {
-#ifdef __EABI__
-    IMPLEMENTATION_PROXY_ENTRY (
-        KScrollBarWidgetFactoryPluginUid, 
-        AlfScrollBarWidgetFactoryPlugin::NewL)
-#else
-        {
-        {KScrollBarWidgetFactoryPluginUid}, 
-        AlfScrollBarWidgetFactoryPlugin::NewL}
-#endif
-    };
-
-OSN_EXPORT const TImplementationProxy* ImplementationGroupProxy(
-    TInt& aTableCount)
-    {
-    aTableCount = sizeof (ImplementationTable) / sizeof (TImplementationProxy);
-
-    return ImplementationTable;
-    }
-
-
--- a/mulwidgets/alfviewwidget/group/alfviewwidget.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* 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:  Project definition file 
-*
-*/
-
-#include <platform_paths.hrh>
-
-
-
-TARGET                  alfviewwidget.dll
-TARGETTYPE              PLUGIN
-UID                     0x10009d8d 0x20010103 
-
-
-CAPABILITY              CAP_ECOM_PLUGIN
-VENDORID                VID_DEFAULT
-
-#ifndef __WINSCW__
-EPOCALLOWDLLDATA
-#endif
-
-SOURCEPATH              ../src
-SOURCE                  alfviewwidgetfactoryplugin.cpp
-SOURCE                  alfviewwidget.cpp
-SOURCE                  alfviewcontrol.cpp
-SOURCE                  alfviewwidgetexception.cpp
-
-
-USERINCLUDE             ../../../inc
-USERINCLUDE             ../inc
-
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY                 euser.lib
-LIBRARY                 ecom.lib
-LIBRARY                 eikcore.lib  
-LIBRARY                 cone.lib
-LIBRARY                 gdi.lib
-LIBRARY                 fbscli.lib 
-LIBRARY                 alfclient.lib
-LIBRARY                 alfwidgetmodel.lib
-LIBRARY                 alfwidgetutils.lib
-LIBRARY                 osncore.lib
-LIBRARY                 charconv.lib 
-LIBRARY                 libc.lib
-
-
-LIBRARY                 aknskins.lib
-LIBRARY	                aknskinsrv.lib
-LIBRARY	                aknswallpaperutils.lib
-LIBRARY                 aknicon.lib
-LIBRARY                 cdlengine.lib
-LIBRARY                 aknlayout2.lib
-LIBRARY                 aknlayout2scalable.lib
-
-LIBRARY                 eikcoctl.lib
- LIBRARY libstdcpp.lib
-#define ALF_LINK_STDCPP_DLL
-// following include must be after definition
-LIBRARY                 libpthread.lib
-LANG                    SC
-START RESOURCE          20010103.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET                  alfviewwidget.rsc
-#endif
-END
--- a/mulwidgets/alfviewwidget/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2009 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:  Build information file for project ?myapp
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_MMPFILES
-alfviewwidget.mmp
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
--- a/mulwidgets/alfviewwidget/inc/alfviewcontrol.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* 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:   View Widget control Class Header.
-*
-*/
-
-
-#ifndef ALFVIEWCONTROL_H_
-#define ALFVIEWCONTROL_H_
-
-#include <alf/alfwidgetcontrol.h>
-
-namespace Alf
-    {
-class AlfViewWidget;
-    
-/**
- * Control class of the view widget.
- *
- * This class implements logic of the view widget.
- *
- * View widget automatically creates an CAlfViewControl object
- * for it's control.
- */
-class CAlfViewControl : public CAlfWidgetControl
-    {
-public:
-
-    /**
-     * Default constructor
-     *
-     * @param aEnv UI Accelerator Toolkit environment where this view widget
-     *       is created.
-     * @param aViewWidget The view widget with which this control is associated with.
-     */
-    CAlfViewControl(CAlfEnv& aEnv, AlfViewWidget& aViewWidget);
-
-    /**
-     * Default destructor
-     */
-    virtual ~CAlfViewControl();
-    
- // From base class CAlfWidgetControl
-
-    /**
-     * Handles events sent to widget control.
-     *
-     * @since S60 ?S60_version
-     * @param aEvent The event to be handled.
-     * @return see AlfEventStatus.
-     */
-   	virtual AlfEventStatus handleEvent(const TAlfEvent& aEvent);
-   	
-// New methods   	
-   	
-   	/**
-   	 * Returns the view widget associated with this control.
-   	 * The widget() method returns the AlfWidget implementation class
-   	 * object that is used as an adapter in the AlfViewWidget object.
-   	 */
-   	AlfViewWidget& viewWidget();
-   	   	   	
-private:
-
-	/** View widget in which this control is used */
-	AlfViewWidget& mViewWidget;
-   	
-    };
-
-    }
-
-#endif /*ALFVIEWCONTROL_H_*/
--- a/mulwidgets/alfviewwidget/inc/alfviewwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,550 +0,0 @@
-/*
-* 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 class header.
-*
-*/
-
-
-#ifndef ALFVIEWWIDGET_H
-#define ALFVIEWWIDGET_H
-
-#include "alf/alfwidget.h"
-#include <alf/ialfviewwidget.h>
-#include <AknsItemID.h>
-#include <alf/alfeventhandler.h>
-#include <alf/alfenv.h>
-
-#include <osn/ustring.h>
-#include <osn/alfptrvector.h>
-// Forward declarations
-class CAlfControlGroup;
-
-namespace dui
-    {
-    class DuiNode;
-    }
-
-namespace Alf
-{
-
-class AlfWidget;
-class AlfViewWidgetZOrderChangedObserver;
-
-/**
- * View widget implementation.
- *
- * View widget can be used to contain other widgets in an arbitrary layout.
- *
- * View widget creates a control group with ID passed in its constructor and
- * stores it's control in it.
- */
-class AlfViewWidget : public IAlfViewWidget, public MAlfActionObserver,MAlfEventHandler
-{
-public:
-
-    /**
-     * Default constructor.
-     * 
-     * Use AlfViewWidgetFactoryPlugin::CreateProduct() to instantiate a view
-     * widget. View widget will create a new control group from the ID passed to this
-     * constructor and append the view control into the control group.
-     *
-     * @exception AlfException Error code EInvalidArgument is thrown if a control group already
-     *            exists with the given ID.
-     * @exception AlfViewWidgetException with Symbian Error code if the view 
-     *            is unable to register itself as an action observer in the 
-     *            Alfred Environment.
-     * 
-     * @param aWidgetName Name of the constructed view widget.
-     * @param aControlGroupId ID of the control group to append the view widget control into.     
-     * @param aEnv UI Accelerator Toolkit environment in which this widget is defined.
-     * @param aDisplay Display in which this widget is defined.
-     */
-	AlfViewWidget(const char* aWidgetName, int aControlGroupId, CAlfEnv& aEnv, 
-            CAlfDisplay& aDisplay, DuiNode* aNode=NULL, const char *aFilePath=NULL);
-    
-    /**
-     * Default destructor.
-     */
-    virtual ~AlfViewWidget();
-
-    // From Alf::IAlfWidget base class
-
-    /**
-     * Getter for the control. The ownership is not passed.
-     *
-     * @since S60 5.0
-     * @return The control of this widget, or NULL if the control is not specified.
-     */
-    virtual CAlfWidgetControl* control() const;
-    
-    /**
-     * getter for the parent container. The ownership is not passed.
-     * @return the parent container or NULL if the widget is the root-widget.
-     */
-    virtual IAlfContainerWidget* parent() const;
-
-    /**
-     * Setter for the control. The control is owned by the Alfred environment.
-     * The previously set control can be destroyed when new control is set.
-     *
-     * The set control is added to the control group of this view widget.
-     * The set control is removed from it's previous control group.
-     *
-     * @since S60 5.0
-     * @param aControl The control for this widget.
-     * @param aDeletePreviousControl A boolean to indicate whether the previously set control
-     *          is to be destroyed when this method is called.
-     */
-    virtual void setControl(CAlfWidgetControl* aControl, bool aDeletePreviousControl = true);
-
-    /**
-     * Getter for the model. The ownership is not passed.
-     *
-     * @since S60 5.0
-     * @return The model of this widget, or NULL if the model is not specified.
-     */
-    virtual IAlfModel* model();
-
-    /**
-     * Setter for the model. Ownership is passed and the old model is released.
-     *
-     * @since S60 5.0
-     * @param aModel The model for this widget.
-     * @param aTakeOwnership Whether takes ownership of model or not
-     */
-    virtual void setModel(IAlfModel* aModel, bool aTakeOwnership = true);
-
-    /**
-     * Get the name of the widget instance.
-     *
-     * @since S60 5.0
-     * @return Widget name
-     */
-    virtual const char* widgetName() const;
-
-    /**
-     * Sets/Releases the Focus from child widget of view.
-     * Does not set the actual focused status in roster.
-     *
-     * @since S60 5.0
-     * @param aFocus boolean value for focused status
-     */
-    virtual void setChildFocus(bool aFocus);
-
-    // From Alf::IAlfContainerWidget base class
-
-    /**
-     * Returns total number of widgets contained by this view.
-     *
-     * @return int Total number of widgets.
-     */
-    virtual int widgetCount() const;
-
-    /**
-     * Adds a child widget to the view.
-     *
-     * Ownership of the widget is transferred to this view
-     * object.
-     *
-     * @param  aWidget Child widget to be added to view.
-     */
-    virtual void addWidget(IAlfWidget& aWidget);
-
-    /**
-     * Returns child widget at given index.
-     *
-     * If index is not found returns null.
-     *
-     * @param  aIndex Index of widget to be returned.
-     * @return Widget at given index or null if not found.
-     */
-    virtual IAlfWidget* getWidget(int aIndex) const;
-    
-    /**
-     * Returns the child index, when given the child widget.
-     *
-     * @param  aWidget child widget, which index is returned 
-     * @return the index of the child widget, or -1, if widget is not child of this container.
-     */
-    virtual int getWidgetIndex(IAlfWidget& aWidget) const;
-
-    /**
-     * Removes the child widget from given index.
-     *
-     * This will destroy the widget object at the given index.
-     *
-     * @param aIndex Index from which widget has to be removed.
-     */
-    virtual void removeWidget(int aIndex);
-
-    /**
-     * Sets the base layout of view widget.
-     *
-     * @param aLayout New base layout of view widegt.
-     */
-    virtual void applyLayout(IAlfLayoutManager& aLayout);
-
-    /** 
-     * Sets the presentation for the widget using presentation XML file.
-     * Destroys any existing presentation.
-     * @param aFilePath Path to XML file describing the presentation 
-     *                  of the widget. Not Owned.
-     * @exception AlfWidgetException if no visualization node available 
-     *                               in Presentation XML or if no control
-     *                               is associated with the widget.
-     * @exception bad_alloc 
-     * @since S60 ?S60_version
-     * @return void.
-     */
-    virtual void setPresentation(const char* aFilePath);    
-
-
-    //--------------------------------------------------------------------------------------//
-    /* From IAlfViewWidget*/
-    //--------------------------------------------------------------------------------------//
-
-
-	/**
-	 * API to show the view widget.
-	 * @param aShow	true if the view is to be shown, else false
-	 *				The view is not shown, till this api is called 
-	 *              with true parameter.    
-	 * @since S60 ?S60_version
-	 */
-	virtual void show(bool aShow = true);
-
-
-    /**
-     * API to make the view widget accept events.
-     *
-     * @param aAccept true if the view is to accept inputs, else false
-     *     default value is true
-     * @since S60 ?S60_version
-     */
-    virtual void acceptEvents(bool aAccept = true);
-
-    /**
-     * API to hide/show Avkon status pane.
-     * If the AlfDisplay bound to the view widget does not occupy the 
-     * entire client rectangle, this API has no effect. 
-     *
-     * @param aEnable true to enable the status pane, else false
-     *        the default value is true.
-     * @since S60 ?S60_version
-     */
-    virtual void enableStatusPane(bool aEnable = true);
-
-    /**
-     * API to hide/show Avkon control pane
-     * If the AlfDisplay bound to the view widget does not occupy the 
-     * entire client rectangle, this API has no effect.
-     *
-     * @param aEnable true to enable the control pane, else false
-     *     the default value is true.
-     * @since S60 ?S60_version
-     */
-    virtual void enableControlPane(bool aEnable = true);
-
-    /**
-     * API to enable/disable Avkon Skin to be used as view widget's background.
-     *
-     * @param aSkinBackground true if the view has to use Avkon Skin as background.
-     *                        false otherwise.
-     * @since S60 ?S60_version
-     */
-    virtual void useSkinBackground(bool aSkinBackground = true);
-
-    /**
-     * API to use Skin with the given ID to be used as view widget's background.
-     * Also enables skin background. See IAlfViewWidget::useSkinBackground()
-     *
-     * @param aID Skin id of the graphics to be used in the texture.
-     *
-     * @since S60 ?S60_version
-     */
-    virtual void setSkinBackground(TAknsItemID aSkinID);
-
-    /**
-     * API to check whether the view is shown
-     *
-     * @return true if the view is shown, else false
-     *
-     * @since S60 ?S60_version
-     */
-    virtual bool shown();
-    
-    /**
-     * Returns the position of the view on the view stack.
-     * This tells the view Z-coordinate position relative to other views.
-     * Top-most view returns zero. Views under that have a growing
-     * number of position. If the view is hidden -1 is returned.
-     * Only view widgets are taken into consideration in the position calculation.
-     * Other control groups in the display roster are ignored. For example,
-     * position zero doesn't mean that the control group of this view would be
-     * top-most.
-     *
-     * Only top-most view is activate while all other views are being deactivate.
-     * 
-     * @return Position of the view, -1 if view is hidden.
-     */
-    virtual int getViewStackPosition() const;
-
-    /**
-     * API to check whether the view accepts events
-     *
-     * @return true if the view accepts events, else false
-     *
-     * @since S60 ?S60_version
-     */
-    virtual bool eventsAccepted();
-
-    /**
-     * API to check whether the status pane is enabled
-     *
-     * @return true if the status pane is enabled, else false
-     *
-     * @since S60 ?S60_version
-     */
-    virtual bool statusPaneEnabled();
-
-    /**
-     * API to check whether the control pane is enabled
-     *
-     * @return true if the control pane is enabled, else false
-     *
-     * @since S60 ?S60_version
-     */
-    virtual bool controlPaneEnabled();
-    
-	/**
-	 * API to check whether skin info is being used for background
-	 * or not
-	 *
-	 * @return true if the skin info is being used, else false 
-	 *
-	 * @since S60 ?S60_version
-	 */
-	virtual bool usingSkinBackground();
-
-	/**
-     * API to get the Avkon Skin ID being used as view widget's background.
-     * Use IAlfViewWidget::usingSkinBackground() to check if this is 
-     * being used.       
-     * 
-     * @return Avkon Skin ID being used for view's background.
-     *         Returns an ID with major and minor fields=-1 if 
-     *         this info was never set. 
-     *         See IAlfViewWidget::setSkinBackground()
-     *
-     * @since S60 ?S60_version
-	 */
-	virtual TAknsItemID skinBackground();
-
-    // From Alf::IAlfInterfaceBase base class
-
-    /**
-     * Interface getter.
-     * Derived classes should always call the base class method
-     * from the overridden MakeInterface.
-     *
-     * @since S60 5.0
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    virtual IAlfInterfaceBase* makeInterface(const IfId& aType);
-    
-    // New methods
-    
-    /**
-     * Called to notify the view of view activation (view becoming top most in
-     * z-order) or deactivation. The view can be deactivated multiple times
-     * in a row without being reactivated.
-     *
-     * This method is called internally by the view widget itself.
-     * 
-     * @see getViewStackPosition()
-     * 
-     * @param aIsActivated Indicates whether view widget is activated or not
-     */
-    void notifyViewActivated(bool aIsActivated);
-    
-    //From MAlfActionObserver
-    /**
-     * @see MAlfActionObserver
-     */ 
-    void HandleActionL(const TAlfActionCommand& aActionCommand);
-    
-    /**
-     * API to Set the display area of the view widget.
-     * This will set the alfdisplay area with param passed
-     * Client need to call this api with screen/apprect to make 
-     * view full screen or application rect
-     *
-     * @param aDisplayRect: the area in which view widget should be
-     *                      displayed
-     *
-     * @since S60 ?S60_version
-     */
-    void setRect(const TRect& aDisplayRect);
-    
-   /**
-    * Updates the array which contains the name of all the children widgets
-    * 
-    * @param aChildName the name of a child widget
-    */ 
-    void setChildNameToDelete( UString aChildName );
-    
-private:
-
-    /**
-     * Constructs widget from declaration.
-     *
-     * @param aEnv The environment for the widget.
-     * @param aNode declaration node.
-     */
-    void constructComponentsFromNode(CAlfEnv& aEnv);
-    
-    /**
-     * Constructs widget using the presentation XML.
-     *
-     * @param aEnv The environment for the widget.
-     * @param aFilePath Path to XML file describing the presentation of the widget.
-     */
-    void constructFromPresentationXML(CAlfEnv& aEnv, const char *aFilePath);
-
-    /**
-     * Constructs default widget
-     *
-     * @param aEnv The environment for the widget.
-     */
-    void constructDefault(CAlfEnv& aEnv, bool aCreateLM = true);
-
-    /**
-     * Sets default layout mgr.
-     */
-    void setDefaultLayoutManager();
-    
-    /**
-     * Utility function
-     */
-    void updateBackGroundImage();
-    
-    /**
-     * Updates the status pane according to the view settings.
-     */
-    void updateStatusPane();
-    
-    /**
-     * Updates the control pane according to the view settings.
-     */
-    void updateControlPane();
-    
-    /**
-     * Finds the focused control of this view.
-     */
-    CAlfControl* focusedControl();
-    
-    /**
-     * from MAlfEventHandler
-     */
-    TBool OfferEventL(const TAlfEvent& aEvent);
-    
-private:
-
-    /**
-     * AlfWidget instance, owned.
-     */
-    auto_ptr<AlfWidget> mWidget;
-
-    /**
-     * UI Accelerator Environment where this widget is used.
-     * Not owned.
-     */
-    CAlfEnv* mEnv;
-
-    /**
-     * Display to be associated with the view.
-     * Not owned.
-     */
-    CAlfDisplay* mDisplay;
-    
-    /**
-	 * Control group to contain the view widget control in.
-	 * Not owned.
-	 */
-	CAlfControlGroup* mControlGroup;
-	
-	/**
-	 * Control group order changed observer object used to activate
-	 * this view when necessary.
-	 * Owned.
-	 */
-	auto_ptr<AlfViewWidgetZOrderChangedObserver> mZOrderChangedObserver;
-	
-    /**
-	 * Control group resource ID.
-	 */
-	TInt mControlGroupResourceId;
-	
-    /**
-     * Flag to indicate if the view is being shown or not.
-     */
-    bool mShown;
-     
-    /**
-     * Flag to indicate if the Avkon Control Pane is shown or not.
-     */
-    bool mControlPaneEnabled;
-
-    /**
-     * Flag to indicate if the Avkon Status Pane is shown or not.
-     */
-    bool mStatusPaneEnabled;
-
-    /**
-     * Flag to indicate if the view uses skin background or not.
-     */
-    bool mSkinEnabled;
-
-    /**
-     * ID for skin related information to be used for background.
-     */
-    TAknsItemID mSkinId;   
-
-    /**
-     * Cache for ID of the child widget that is currently focused.
-     * This is used to restore focus to the correct child when the view
-     * is shown and to remember the focused child when the view  is hidden.
-     */
-    std::string mFocusedChildWidgetID;
-    
-    TRect mDisplayRect;
-    
-    /**
-     * Stores the naame of all the children widgets
-     */
-    AlfPtrVector<UString> mChildWidgetName;
-    
-    /**
-     * Flag to indicate whether AcquireFocus() has been called on one
-     * of the controls.
-     */
-    TBool mHasFocus;
-    };
-
-    }
-
-#endif /*ALFVIEWWIDGET_H*/
--- a/mulwidgets/alfviewwidget/inc/alfviewwidgetexception.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* 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:  View widget exception class.
-*
-*/
-
-
-#ifndef ALFVIEWWIDGETEXCEPTION_H
-#define ALFVIEWWIDGETEXCEPTION_H
-
-// INCLUDES
-#include <alf/alfexception.h>
-#include <osn/ustring.h>
-
-namespace Alf
-    {
-
-/**
- * Error codes used with AlfViewWidgetException.
- *
- * There is an offset in AlfViewWidgetException error codes, so that
- * AlfViewWidget specific exceptions can be separated from
- * osncore::AlfException base exceptions and exceptions of other widgets.
- */
-enum TAlfViewWidgetErrorCode
-    {
-    /**
-     * Error occured in construction or initialization of the view
-     * widget.
-     */
-    EInitializationError = 600,
-
-    /**
-     * Handle to status pane not found
-     */
-    EStatusPaneError,
-
-    /**
-     * Handle to control pane not found
-     */
-    EControlPaneError,
-    
-    /**
-     * Control group id specified in the viewwidget constructor
-     * already reserved.
-     */
-    EControlGroupAlreadyExists
-    };
-
-/**
- * AlfViewWidgetException is a base class for all view widget
- * exceptions.
- *
- */
-class AlfViewWidgetException : public osncore::AlfException
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Constructor with AlfViewWidget specific error code.
-     *
-     * Error code has to be one of the error codes specified in
-     * Alf::TAlfViewWidgetErrorCode or a system-wide error code
-     * represented by negative integer.
-     *
-     * @see osncore::AlfException::errorCode()
-     *
-     * @param aError Error code to describe the occured exception.
-     */
-    AlfViewWidgetException(int aError) throw();
-
-    /**
-     * Constructor with AlfViewWidget specific error code
-     * and additional information.
-     *
-     * Error code has to be one of the error codes specified in
-     * Alf::TAlfViewWidgetErrorCode or a system-wide error code
-     * represented by negative integer.
-     *
-     * @see osncore::AlfException::errorCode()
-     *
-     * @param aError Error code to describe the occured exception.
-     * @param aInfo Optional additional information or NULL.
-        */
-    AlfViewWidgetException(int aError, const char* aInfo) throw();
-
-    /**
-     * Constructor with AlfViewWidget specific error code,
-     * additional information, source file and line of code.
-     *
-     * Error code has to be one of the error codes specified in
-     * Alf::TAlfViewWidgetErrorCode or a system-wide error code
-     * represented by negative integer.
-     *
-     * @see osncore::AlfException::errorCode()
-     *
-     * @param aError Error code to describe the occured exception.
-     * @param aInfo Optional additional information or NULL.
-        * @param aFileAndLine Optional file and line information or NULL.
-        */
-    AlfViewWidgetException(int aError, const char* aInfo, const char* aFileAndLine) throw();
-
-    /**
-     * Default destructor.
-     */
-    virtual ~AlfViewWidgetException() throw();
-
-    /**
-     * Returns the description of the exception.
-     * @ret The description of the exception.
-     */
-    const char* what() const throw();
-
-private:
-
-    /**
-     * Error description
-     */
-    osncore::UString mDescription;
-
-    };
-
-    } // Namespace Alf
-
-#endif // ALFVIEWWIDGETEXCEPTION_H
--- a/mulwidgets/alfviewwidget/inc/alfviewwidgetfactoryplugin.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* 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:   View Widget factory plugin header.
-*
-*/
-
-
-#ifndef ALFVIEWWIDGETFACTORYPLUGIN_H
-#define ALFVIEWWIDGETFACTORYPLUGIN_H
-
-#include <alf/ialffactoryplugin.h>
-
-namespace Alf
-{
-
-/**
- * AlfViewWidgetFactoryPlugin is a widget factory plugin implementation
- * that can be used to create view widgets.
- *
- * Can be used to create view widgets and associated products.
- */
-class AlfViewWidgetFactoryPlugin : public IAlfFactoryPlugin
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Default Symbian constructor to create the factory plugin.
-     */
-    static AlfViewWidgetFactoryPlugin* newL();
-
-    // From base class IAlfPluginFactory
-
-    /**
-     * Create view widget factory product.
-     * @since Series 60 5.0
-     * @param aProduct Product to create.
-     * @param aInitData Initialization data for product
-     * @return Instance or NULL
-     */
-    IAlfInterfaceBase* createProduct( const char* aProduct, void* aInitData );
-
-    /**
-     * Count available products this factory can produce.
-     *
-     * @since S60 5.0
-     * @return Product count
-     */
-    int productCount() const;
-
-    /**
-     * Fetch product info by index
-     *
-     * @param aIndex List index
-     * @since S60 5.0
-     * @return Descriptor describing product
-     */
-    const char* productInfo(int aIndex) const;
-
-    // From base class IAlfInterfaceBase
-
-    /**
-     * Creates interface based on the given type.
-     *
-     * @since Series 60 5.0
-     * @param aType Interface type to create.
-     * @return Requested interface.
-     */
-    IAlfInterfaceBase* makeInterface(const IfId& aType);
-
-    };
-
-    } // Namespace Alf
-
-#endif // ALFVIEWWIDGETFACTORYPLUGIN_H
-
--- a/mulwidgets/alfviewwidget/src/20010103.rss	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2009 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: View widget rss file.
-*
-*/
-#include <ecom/registryinfo.rh>
-#include "alf/alfecompluginfactoryuid.rh"
-
-//#define DUIEXAMPLE
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = 0x20010103;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = KFactoryPluginUid;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = 0x20010104;
-                version_no = 1;
-                display_name = "";
-#ifndef DUIEXAMPLE
-                default_data = "viewwidget";
-#else
-				default_data = "viewwidget";
-#endif
-                opaque_data = "";
-                }    
-            };
-        }
-    };
-}
\ No newline at end of file
--- a/mulwidgets/alfviewwidget/src/alfviewcontrol.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* 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:  The implementation	for	presentation elements.
-*
-*/
-
-
-// Local Includes
-#include "alfviewcontrol.h"
-#include "alfviewwidget.h"
-
-// AlfClient Includes
-#include <alf/alfevent.h>
-
-// Widget Model
-#include <alf/alfwidgetevents.h>
-
-using namespace Alf;
-
-CAlfViewControl::CAlfViewControl(CAlfEnv& aEnv, AlfViewWidget& aViewWidget)
-    : CAlfWidgetControl(aEnv), mViewWidget(aViewWidget)
-    {
-    }
-
-CAlfViewControl::~CAlfViewControl()
-    {
-    while(mViewWidget.widgetCount())
-	    {
-	    mViewWidget.setChildNameToDelete(UString(mViewWidget.getWidget(0)->widgetName()));
-	    mViewWidget.removeWidget(0);
-	    }
-    }
-
-AlfEventStatus CAlfViewControl::handleEvent(const TAlfEvent& aEvent)
-    {
-    AlfEventStatus ret = CAlfWidgetControl::handleEvent(aEvent);
-    if(ret == EEventNotHandled && aEvent.IsKeyEvent())
-		{
-		if(aEvent.KeyEvent().iScanCode == EStdKeyRightArrow ||
-		   aEvent.KeyEvent().iScanCode == EStdKeyDownArrow )
-			{
-			if(aEvent.Code() == EEventKey)
-				{
-				TAlfEvent focusNext(EEventFocusNextWidget);
-				return CAlfWidgetControl::processEvent(focusNext);							
-				}
-			}
-		else if(aEvent.KeyEvent().iScanCode == EStdKeyLeftArrow ||
-		        aEvent.KeyEvent().iScanCode == EStdKeyUpArrow)
-			{
-			if(aEvent.Code() == EEventKey)
-				{
-				TAlfEvent focusPrevious(EEventFocusPreviousWidget);
-				return CAlfWidgetControl::processEvent(focusPrevious);
-				}
-			}
-		}
-	return ret;
-    }
-
-AlfViewWidget& CAlfViewControl::viewWidget()
-    {
-    return mViewWidget;
-    }
--- a/mulwidgets/alfviewwidget/src/alfviewwidget.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,744 +0,0 @@
-/*
-* 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:  The implementation	for	presentation elements.
-*
-*/
-
-
-
-#include "alfviewwidget.h"
-#include "alfviewcontrol.h"
-#include <e32std.h>
-#include <assert.h>
-#include <memory>
-#include <alf/alfcontrolgroup.h>
-#include <alf/alfenv.h>
-#include <alf/alfdisplay.h>
-#include <alf/alfroster.h>
-#include <alf/alfmetric.h>
-#include "alf/alfwidget.h"
-#include <alf/alfwidgetcontrol.h>
-#include <alf/alfanchorlayoutmanager.h>
-#include <alf/alfgridlayout.h>
-#include <alf/ialfgridlayoutpolicy.h>
-#include <alf/alfwidgetenvextension.h>
-#include <alf/ialfwidgetfactory.h>
-
-#include <alf/alfutil.h>
-
-#include "alfviewwidgetexception.h"
-
-#include <eikbtgpc.h>
-#include <eikspane.h>
-#include <eikmenub.h>
-
-namespace Alf
-    {
-
-/**
- * Observer class to observe changes in the relative order of control groups in associated
- * roster object and to notify view object about possible view activation (view coming
- * top-most) and deactivation.
- *
- * This class is a Symbian - specific implementation class.
- */
-class AlfViewWidgetZOrderChangedObserver : public MAlfControlGroupOrderChangedObserver
-    {
-    public:
-    
-        /**
-         * Default constructor
-         */
-        AlfViewWidgetZOrderChangedObserver(CAlfDisplay& aDisplay, AlfViewWidget& aView)
-            : iDisplay(aDisplay), iView(aView)
-            {
-            aDisplay.Roster().AddControlGroupOrderChangedObserverL(*this);
-            }
-        
-        /**
-         * Default destructor
-         */
-        ~AlfViewWidgetZOrderChangedObserver()
-            {
-            int index = CAlfEnv::Static()->FindDisplayIndex(iDisplay);
-            if(index != -1)
-	            {
-	            iDisplay.Roster().RemoveControlGroupOrderChangedObserver(*this);	
-	            }            
-            }
-        
-        /**
-         * Callback method called by roster when control group order changes.
-         */
-        void NotifyControlGroupOrderChanged()
-            {
-            // If the associated view is on top, notify it about view activation
-            // and the view below it about view deactivation.
-            if(iView.getViewStackPosition() == 0)
-                {               
-                AlfViewWidget* viewBelow = getViewFromStack(1);                
-                if(viewBelow)
-                    {
-                    viewBelow->notifyViewActivated(false);
-                    }
-                
-                iView.notifyViewActivated(true);
-                }
-            }
-                
-    private:
-    
-        /**
-         * Utility method to return view from specified z-position on the view stack.
-         * Returns 0 if the index is out of bounds.
-         */
-        AlfViewWidget* getViewFromStack(int index)
-            {
-            int zPos = 0;
-            
-            // Iterate through the control groups in the roster
-            for(int i = (iDisplay.Roster().Count() - 1); i >= 0; --i)
-            	{
-            	CAlfControlGroup& group = iDisplay.Roster().ControlGroup(i);            	    	
-            	
-            	// Investigate whether this is a control group of a view widget
-            	if(group.Count() > 0)
-            		{
-            		CAlfControl& control = group.Control(0);
-            		CAlfViewControl* viewControl = dynamic_cast<CAlfViewControl*>(&control);
-            		if(viewControl != 0)
-            			{
-            			// View widget found from the roster
-            			if(zPos == index)
-            			    {
-            			    return &viewControl->viewWidget();
-            			    }
-            			zPos++;
-            			}
-            		}
-            	}
-            
-            return 0;
-            }
-    
-        /** Roster to which this callback object is added to. */
-        CAlfDisplay& iDisplay;
-        
-        /** View widget that this observer notifies. */
-        AlfViewWidget& iView;
-            
-    };
-
-
-AlfViewWidget::AlfViewWidget(const char* aWidgetName, int aControlGroupId, CAlfEnv& aEnv, 
-                             CAlfDisplay& aDisplay, DuiNode* aNode, const char *aFilePath) : 
-    mEnv(&aEnv), mDisplay(&aDisplay), mControlGroup(0),
-    mZOrderChangedObserver(0),
-    mControlGroupResourceId(aControlGroupId),
-    mShown(false), mControlPaneEnabled(true), mStatusPaneEnabled(true),
-    mSkinEnabled(false), mSkinId(KAknsIIDQsnBgScreen), mHasFocus(false)
-	{
-	mChildWidgetName.setAutoDelete(true);
-	mWidget.reset(new (EMM) AlfWidget(aWidgetName));
-	
-	TRAPD(err,aEnv.AddActionObserverL(this));
-	if(err!=KErrNone)
-	    {
-	    ALF_THROW(AlfViewWidgetException, err, 
-	        "CAlfEnv::AddActionObserverL() - failed.");
-	    }
-	
-	// By default, we use ClientRect() as the area of the view widget    
-	TRect rect = ((CAknAppUi*)CEikonEnv::Static()->AppUi())->ClientRect();
-	mDisplayRect =  TRect(rect);
-	
-	mZOrderChangedObserver.reset(new (EMM) AlfViewWidgetZOrderChangedObserver(aDisplay, *this));
-	   
-        constructDefault(aEnv);
-    
-	}
-
-AlfViewWidget::~AlfViewWidget()
-	{	
-	//If the view widget is deleted before the AlfEnv is deleted,
-	//the control group needs to be destroyed.
-	if(mEnv->FindControlGroup(mControlGroupResourceId))
-    	{
-    	mEnv->DeleteControlGroup(mControlGroup->ResourceId());		
-    	}
-    
-    mEnv->RemoveActionObserver(this);
-    
-    IAlfWidget* childWidget = NULL;
-    
-    IAlfWidgetFactory& factory = AlfWidgetEnvExtension::widgetFactory(*(CAlfEnv::Static()));
-    for(int i =0 ;i < mChildWidgetName.count();i++)
-	    {
-	    childWidget = factory.findWidget(mChildWidgetName.at(i)->getUtf8());
-	    if(childWidget)
-		    {
-			factory.destroyWidget(childWidget);
-			childWidget = NULL;
-		    }
-	    }
-    mChildWidgetName.clear();
-	}
-
-CAlfWidgetControl* AlfViewWidget::control() const
-	{
-	return mWidget->control();
-	}
-	
-IAlfContainerWidget* AlfViewWidget::parent() const
-    {
-    return mWidget->parent();
-    }	
-
-void AlfViewWidget::setControl(CAlfWidgetControl* aControl, bool aDeletePreviousControl)
-	{
-	CAlfWidgetControl* prevControl = mWidget->control();
-		
-	// Set new control to the widget implementation.
-	// Never delete the previous control in this phase, so that we can
-	// still remove it from the control group if this call is succesfull.
-	mWidget->setControl(aControl, false);		
-	
-	// Remove the previous control from control group.
-	if(prevControl != 0)
-	    {
-	    assert(prevControl->ControlGroup() == mControlGroup);
-	    if(aDeletePreviousControl)
-	        {
-	        mControlGroup->Remove(prevControl);
-	        delete prevControl;
-	        }
-	    }	
-	
-	// Append the new control into the control group.
-    if(aControl)
-    	{
-	    TRAPD(err, mControlGroup->AppendL(aControl));
-	    if(err != KErrNone)
-	    	{
-	    	mWidget->setControl(0, false);
-	    	ALF_THROW(AlfViewWidgetException, err, "CAlfControlGroup::AppendL() - failed.");
-	    	}
-    	}	
-	}
-	
-void AlfViewWidget::setChildNameToDelete( UString aChildName )
-	{
-	UString* childName = new(EMM)UString(aChildName.getUtf8());
-	mChildWidgetName.resize(mChildWidgetName.count()+1);
-	mChildWidgetName.insert(mChildWidgetName.count(),childName);
-	}
-
-IAlfModel* AlfViewWidget::model()
-    {
-    return 0;
-    }
-
-void AlfViewWidget::setModel(IAlfModel* /*aModel*/, bool /*aTakeOwnership*/)
-    {
-    //Do nothing.
-    }
-
-const char* AlfViewWidget::widgetName() const
-    {
-    return mWidget->widgetName();
-    }
-
-void AlfViewWidget::setChildFocus(bool /*aFocus*/)
-    {
-
-    }
-
-//---------------------------------------------------------------------------
-// Creates the presentation for the widget from XML. Destroys any existing
-// presentation.
-//---------------------------------------------------------------------------
-//    
-void AlfViewWidget::setPresentation (const char* aFilePath)
-    {
-    if(mWidget.get())
-    	{
-        mWidget->setPresentation(aFilePath);    	
-    	}
-    }
-
-int AlfViewWidget::widgetCount() const
-    {
-    return mWidget->widgetCount();
-    }
-
-void AlfViewWidget::addWidget(IAlfWidget& aWidget)
-    {
-    mWidget->addWidget(aWidget);
-    }
-
-IAlfWidget* AlfViewWidget::getWidget(int aIndex) const
-    {
-    return mWidget->getWidget(aIndex);
-    }
-    
-int AlfViewWidget::getWidgetIndex(IAlfWidget& aWidget) const
-    {
-    return mWidget->getWidgetIndex(aWidget);
-    }
-
-void AlfViewWidget::removeWidget(int aIndex)
-    {
-    mWidget->removeWidget(aIndex);
-    }
-
-void AlfViewWidget::applyLayout(IAlfLayoutManager& aLayout)
-    {
-    mWidget->applyLayout(aLayout);
-    }
-
-IAlfInterfaceBase* AlfViewWidget::makeInterface(const IfId& aType)
-	{
-    // Type cast to IAlfWidget
-    if(!strcmp(aType.mImplementationId, IAlfWidget::type().mImplementationId))
-        {
-        return static_cast<IAlfWidget*>(this);
-        }
-        
-    // Type cast to IAlfContainerWidget
-    if (!strcmp(aType.mImplementationId, IAlfContainerWidget::type().mImplementationId))
-        {
-        return static_cast<IAlfContainerWidget*>(this);
-        }
-
-    // Type cast to IAlfViewWidget        
-    if(!strcmp(aType.mImplementationId, IAlfViewWidget::type().mImplementationId))
-        {
-        return static_cast<IAlfViewWidget*>(this);
-        }    
-       
-    return mWidget->makeInterface(aType);
-    }
-
-void AlfViewWidget::notifyViewActivated(bool aIsActivated)
-	{
-	if(aIsActivated)
-		{
-        // Update control pane, status pane and background according to state of the view.
-        updateStatusPane();
-        updateControlPane();
-        updateBackGroundImage();
-        // When a view is activated, it sets the size of the display to full screen
-        // This is done so that the view widget gets pointer events in the entire screen
-        TRect screenRect(TPoint(0,0), TSize(AlfUtil::ScreenSize()));
-        control()->Env().PrimaryDisplay().SetVisibleArea(screenRect);
-        setRect(mDisplayRect);
-        
-        // Restore the focus here
-        IAlfWidget* focusedWidget = 0;
-        focusedWidget = AlfWidgetEnvExtension::widgetFactory(*mEnv).findWidget(mFocusedChildWidgetID.c_str());
-        if(focusedWidget == 0 && widgetCount() > 0)
-            {
-            focusedWidget = getWidget(0);
-            }
-        if(!mHasFocus)
-	        {
-	        mHasFocus = true;
-	        if(focusedWidget != 0)
-	            {
-	            focusedWidget->control()->AcquireFocus();
-	            }
-	        else
-	            {
-	            control()->AcquireFocus();
-	            }	
-	        }
-        }
-    else
-        {
-        // Cache and release the focus here
-        // FocusedControl function is not exported from the toolkit
-        CAlfControl* focusedCtrl = focusedControl();
-        if(focusedCtrl)
-            {
-            CAlfWidgetControl* focusedWidgetControl = dynamic_cast<CAlfWidgetControl*>(focusedCtrl);
-            if(focusedWidgetControl != 0)
-                {
-                mFocusedChildWidgetID = focusedWidgetControl->widget()->widgetName();
-                }                        
-            focusedCtrl->RelinquishFocus();
-            }
-        mHasFocus = false;    
-        }
-    }
-        
-CAlfControl* AlfViewWidget::focusedControl()
-    {
-    CAlfControl* focusedconnection = control();
-    
-    // Iterate through the focused connections and return the control
-    // that has the focus.
-    while(focusedconnection != 0)
-        {
-        if(focusedconnection->Focus())
-            {
-            // There should be no connections leading outside from the control
-            // group of the view.
-            assert(focusedconnection->ControlGroup() == mControlGroup);
-            return focusedconnection;
-            }
-        focusedconnection = focusedconnection->FocusedConnection();        
-        }
-        
-    return 0;
-    }
-    
-void AlfViewWidget::show(bool aShow)
-    {
-    mShown = aShow;
-    if (aShow)
-        {   
-        TRAPD(err, mDisplay->Roster().ShowL(*mControlGroup));
-        if (err != KErrNone)
-            {
-            ALF_THROW(AlfViewWidgetException, err, "AlfViewWidget::show(): View Widget Show failed");   
-            }
-        }
-    else
-        {
-        // Notify this view that it is being deactivated.
-        notifyViewActivated(false);
-        
-        // Hide the control group
-        mDisplay->Roster().Hide(*mControlGroup);
-        }
-    }
-
-void AlfViewWidget::acceptEvents(bool aAccept)
-    {
-    assert(mControlGroup);
-    mControlGroup->SetAcceptInput(aAccept);
-    }
-
-void AlfViewWidget::enableStatusPane(bool aEnable)
-    {
-	if(aEnable != mStatusPaneEnabled)
-		{
-	    mStatusPaneEnabled = aEnable;
-	    
-	    // Update status pane and background image state if this view is active.
-	    if(getViewStackPosition() == 0)
-	        {
-	        updateStatusPane();
-            updateBackGroundImage();
-	        }
-		}
-    }
-
-void AlfViewWidget::enableControlPane(bool aEnable)
-    {
-    if (aEnable != mControlPaneEnabled)
-        {
-        mControlPaneEnabled=aEnable;
-        
-	    // Update control pane and background image state if this view is active.
-	    if(getViewStackPosition() == 0)
-	        {        
-            updateControlPane();
-            updateBackGroundImage();
-	        }
-        }
-    }
-
-void AlfViewWidget::useSkinBackground(bool aSkinBackground)
-    {
-    if(mSkinEnabled != aSkinBackground)
-    	{
-    	 mSkinEnabled = aSkinBackground;
-    	 updateBackGroundImage();	
-    	}
-    
-    }
-
-void AlfViewWidget::setSkinBackground(TAknsItemID aSkinID)
-    {
-    mSkinEnabled = true;
-    mSkinId = aSkinID;
-    updateBackGroundImage();
-    }
-
-bool AlfViewWidget::shown()
-    {
-	return mShown;
-	}
-
-int AlfViewWidget::getViewStackPosition() const
-	{
-	int ret = 0;
-    const CAlfRoster& roster = mDisplay->Roster();
-    
-    // Iterate through the control groups in the roster
-    for(int i = (roster.Count() - 1); i >= 0; --i)
-    	{
-    	CAlfControlGroup& group = roster.ControlGroup(i);
-    	    	
-    	// Compare the control group with this view's control group
-    	if(mControlGroup == &group)
-    		{
-    		return ret;
-    		}
-    	
-    	// Investigate whether this is a control group of a view widget
-    	if(group.Count() > 0)
-    		{
-    		CAlfControl& control = group.Control(0);    		
-    		if(dynamic_cast<CAlfViewControl*>(&control) != 0)
-    			{
-    			ret++;
-    			}
-    		}
-    	}
-    
-    return -1;   
-	}
-
-bool AlfViewWidget::eventsAccepted()
-    {
-    assert(mControlGroup);
-    return mControlGroup->AcceptInput();
-    }
-
-bool AlfViewWidget::statusPaneEnabled()
-    {
-    return mStatusPaneEnabled;
-    }
-
-bool AlfViewWidget::controlPaneEnabled()
-    {
-    return mControlPaneEnabled;
-    }
-    
-bool AlfViewWidget::usingSkinBackground()
-	{
-	return mSkinEnabled;	
-	}
-
-TAknsItemID AlfViewWidget::skinBackground()
-	{
-	return mSkinId;	
-	}
-
-// ---------------------------------------------------------------------------
-// Constructs components from node
-// ---------------------------------------------------------------------------
-//  
-void AlfViewWidget::constructComponentsFromNode(CAlfEnv& aEnv)
-    {
-    constructDefault(aEnv, false);
-    
-    //check, if the layoutmanager is already set.
-    IAlfLayoutManager* layoutManager = 
-        IAlfInterfaceBase::makeInterface<IAlfLayoutManager>(control());
-    if (!layoutManager)
-        {
-        setDefaultLayoutManager();
-        }
-    }
-
-//---------------------------------------------------------------------------
-// Constructs widget using the presentation XML. Other widget parts
-// are default.
-//---------------------------------------------------------------------------
-//    
-void AlfViewWidget::constructFromPresentationXML(CAlfEnv& aEnv, const char* /**aFilePath*/)
-    {
-    constructDefault(aEnv, true);
-    }
-
-// ---------------------------------------------------------------------------
-// Imperative construction
-// ---------------------------------------------------------------------------
-//    
-void AlfViewWidget::constructDefault(CAlfEnv& aEnv, bool aCreateLM)
-    {
-    TRAPD( err, 
-         mControlGroup = &aEnv.NewControlGroupL(mControlGroupResourceId);
-         );
-    
-    if(err != KErrNone)
-        {
-        if (err == KErrAlreadyExists)
-            {
-            ALF_THROW(AlfViewWidgetException, 
-                EControlGroupAlreadyExists, "AlfViewWidget::AlfViewWidget() - Tried to create a control group with already existing ID.");
-            }
-        else
-            {
-            ALF_THROW(AlfViewWidgetException, 
-                err, "AlfViewWidget::AlfViewWidget() - Control group creation failed.");
-            }
-        }
-    
-    // Create control for the view widget
-    auto_ptr<CAlfViewControl> control( new (EMM) CAlfViewControl(aEnv, *this) );
-    setControl(control.get());
-    control.release();
-    
-    if (aCreateLM)
-        {
-        setDefaultLayoutManager();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Imperative createDefaultLayoutManager
-// ---------------------------------------------------------------------------
-//
-void AlfViewWidget::setDefaultLayoutManager()
-    {
-  	// A root layout covering the entire display is created to grab all pointer events in the screen
-  	// Note that this layout is just dummy and does not do any actual layouting
-    CAlfControl* ctrl = (CAlfControl*)control();
-    CAlfLayout* fullDisplayLayout = CAlfLayout::AddNewL(*ctrl);
-    
-    // Default layout manager provided by the view widget
-    auto_ptr<AlfAnchorLayoutManager> layoutManager(new (EMM) AlfAnchorLayoutManager());
-    this->applyLayout(*layoutManager.get());
-    
-    layoutManager.release();
-    }
-
-void AlfViewWidget::updateStatusPane()
-	{
-    /*CEikStatusPane *sp = CEikonEnv::Static()->AppUiFactory()->StatusPane();
-    if(sp)  
-        {
-        sp->MakeVisible(mStatusPaneEnabled);
-//        mDisplay->SetVisibleArea(CEikonEnv::Static()->AppUiFactory()->ClientRect());
-        }*/	
-	}
-
-void AlfViewWidget::updateControlPane()
-	{	
-    /*CEikButtonGroupContainer* cba= CEikonEnv::Static()->AppUiFactory()->Cba();
-    if(cba)  
-        {
-        cba->MakeVisible(mControlPaneEnabled);
-//        mDisplay->SetVisibleArea(CEikonEnv::Static()->AppUiFactory()->ClientRect());
-        }*/
-
-    }
-    
-void AlfViewWidget::updateBackGroundImage()
-    {
-    TAknsItemID skinId=KAknsIIDQsnBgScreen;
-    // Do background related stuff only if the view is showing
-    if(mSkinEnabled )
-        {
-        skinId=mSkinId;
-        }
-    if(mShown)
-        {
-        TAlfDisplayBackgroundItem bgItem(mDisplay->VisibleArea(),skinId);
-        RArray<TAlfDisplayBackgroundItem> bgItemArray;
-        bgItemArray.Append(bgItem);
-        TRAPD(err,mDisplay->SetBackgroundItemsL(bgItemArray));
-        if(err!=KErrNone)
-            {
-            ALF_THROW(AlfViewWidgetException, err,"Skin Background could not be set");
-            }
-        bgItemArray.Reset();
-        }
-    
-    }
-    
-
-void AlfViewWidget::HandleActionL(const TAlfActionCommand& aActionCommand)
-    {
-    if(KAlfActionIdDeviceLayoutChanged == aActionCommand.Id())
-        {
-        TAlfCustomEventCommand command(KAlfActionIdDeviceLayoutChanged);
-        control()->Env().Send(command,0);
-        if(mShown && getViewStackPosition() == 0)
-              {
-              TRect screenRect(TPoint(0,0), TSize(AlfUtil::ScreenSize()));
-
-              // SetVisibleArea() only have an effect if the application is on foreground!
-              control()->Env().PrimaryDisplay().SetVisibleArea(screenRect);
-              updateBackGroundImage(); 
-              }
-       
-        }
-    
-    else if(KAlfActionIdForegroundGained == aActionCommand.Id())
-        {
-        
-            TRect screenRect(TPoint(0,0), TSize(AlfUtil::ScreenSize()));
-            
-            // SetVisibleArea() only have an effect if the application is on foreground!
-            
-            control()->Env().PrimaryDisplay().SetVisibleArea(screenRect);
-            
-            updateBackGroundImage(); 
-        
-        } 
-
-    }
-
-TBool AlfViewWidget::OfferEventL(const TAlfEvent& /*aEvent*/)
-    {
-/*    if(aEvent.IsCustomEvent() && aEvent.CustomParameter() ==  KAlfActionIdDeviceLayoutChanged)
-        {
-        if(mShown && getViewStackPosition() == 0)
-              {
-              //need to do this to overwrite the displayrect done by menuApp
-             // TRect rect= control()->Env().PrimaryDisplay().VisibleArea();
-             // control()->Env().PrimaryDisplay().SetVisibleArea(mDisplayRect);
-              updateBackGroundImage();            
-              }
-        return ETrue;
-        }
-  */  return EFalse;
-    }
-  
-void AlfViewWidget::setRect(const TRect& aRect)
-    {
-    mDisplayRect = aRect;
-    
-    IAlfLayoutManager* layoutManager  = IAlfInterfaceBase::makeInterface<IAlfLayoutManager>(control());
-    if (layoutManager)
-    	{
-    	// Set the area of the root layout of the view widget to the one specified
-        CAlfLayout& layout = layoutManager->getLayout();
-        layout.SetFlag(EAlfVisualFlagManualLayout);
-        TAlfRealRect rect(mDisplayRect);
-        layout.SetRect(rect);
-    	}
-    
-    TRect visibleRect = control()->Env().PrimaryDisplay().VisibleArea();
-	TRect screenRect(TPoint(0,0), TSize(AlfUtil::ScreenSize()));
-    
-    if(visibleRect != screenRect && getViewStackPosition() == 0)
-        {
-    	// the display area is required to be full screen, for the pointer grab to work
-    	// check here whether the display area is full screen. If not, set it to full screen
-        control()->Env().PrimaryDisplay().SetVisibleArea(screenRect);
-        updateBackGroundImage(); 
-        }
-    }
-
-    } //Alf
-
-
-//End of file
- 
--- a/mulwidgets/alfviewwidget/src/alfviewwidgetexception.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* 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:  View widget exception class.
-*
-*/
-
-
-#include "alfviewwidgetexception.h"
-
-using namespace Alf;
-
-AlfViewWidgetException::AlfViewWidgetException(int aError) throw()
-        : osncore::AlfException(aError)
-    {
-    }
-
-AlfViewWidgetException::AlfViewWidgetException(int aError, const char* aInfo) throw()
-        : osncore::AlfException(aError, aInfo)
-    {
-    mDescription = osncore::UString(aInfo);
-    }
-
-AlfViewWidgetException::AlfViewWidgetException(int aError, const char* aInfo, const char* aFileAndLine) throw()
-        : osncore::AlfException(aError, aInfo, aFileAndLine)
-    {
-    mDescription = osncore::UString(aInfo);
-    mDescription.append(aFileAndLine);
-    }
-
-AlfViewWidgetException::~AlfViewWidgetException() throw()
-    {
-    }
-
-const char* AlfViewWidgetException::what() const throw()
-    {
-    return mDescription.getUtf8();
-    }
--- a/mulwidgets/alfviewwidget/src/alfviewwidgetfactoryplugin.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2009 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:   view widget factory pluging implementation.
-*
-*/
-
-
-#include <ecom/implementationproxy.h>
-#include <osn/osnnew.h>
-#include <alf/ialfviewwidget.h>
-#include <alf/alfexception.h>
-#include "alfviewwidget.h"
-#include "alfviewwidgetexception.h"
-#include "alfviewwidgetfactoryplugin.h"
-
-using namespace Alf;
-
-// UID of the view widget factory plugin.
-const TInt KViewWidgetFactoryPluginUid = {0x20010104};
-
-// Amount of products produced by this factory.
-const int KProductCount = 1;
-
-AlfViewWidgetFactoryPlugin* AlfViewWidgetFactoryPlugin::newL()
-    {
-    return new (EMM) AlfViewWidgetFactoryPlugin();
-    }
-
-IAlfInterfaceBase* AlfViewWidgetFactoryPlugin::createProduct(const char* aProduct, void* aInitData)
-    {
-    AlfViewWidget* ret(0);
-    
-    if(!strcmp(aProduct, IAlfViewWidget::type().mImplementationId))
-        {        
-        // Typecast the initialization data
-        AlfViewWidgetInitData* initData = (AlfViewWidgetInitData*) aInitData;
-        
-        // Throw exception if init data is null
-        if(initData == 0)
-        	{
-        	ALF_THROW(AlfViewWidgetException, EInitializationError, "View widget initialization data was NULL.");
-        	}
-        	
-        // Assert that the UI Accelerator Toolkit Environment in the initialization data is correct.
-        if(initData->mEnv == 0)
-        	{
-        	ALF_THROW(AlfViewWidgetException, EInitializationError, "Environment instance in view widget initialization data was NULL.");
-        	}        	
-        	                	
-        // Assert that widget id in the initialization data is correct.
-        if(initData->mWidgetId == 0)
-        	{
-        	ALF_THROW(AlfViewWidgetException, EInitializationError, "Widget ID in view widget initialization data was NULL.");
-        	}
-        
-        
-        // Assert that display pointer in the initialization data is correct.
-        if(initData->mDisplay == 0)
-        	{
-        	ALF_THROW(AlfViewWidgetException, EInitializationError, "Display instance in view widget initialization data was NULL.");
-        	}
-        
-        // Create container widget        
-        ret = new (EMM) AlfViewWidget(initData->mWidgetId, initData->mControlGroupId, *initData->mEnv, 
-                *initData->mDisplay, initData->mNode, initData->mFilePath);
-        }
-    
-    return static_cast<IAlfViewWidget*>(ret);
-    }
-
-int AlfViewWidgetFactoryPlugin::productCount() const
-    {
-    return KProductCount;
-    }
- 
-const char* AlfViewWidgetFactoryPlugin::productInfo(int aIndex) const
-    {
-    switch(aIndex)
-        {
-        case 0: return alfviewwidget::ident.mImplementationId;
-        default: break;            
-        }
-
-    return 0;
-    }
- 
-IAlfInterfaceBase* AlfViewWidgetFactoryPlugin::makeInterface(const IfId& aType)
-    {
-    if(!strcmp(aType.mImplementationId, IAlfFactoryPlugin::type().mImplementationId))
-        {
-        return static_cast<IAlfFactoryPlugin*>(this);
-        }
-    
-    return 0;
-    }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-const TImplementationProxy ImplementationTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY( KViewWidgetFactoryPluginUid, 
-                                AlfViewWidgetFactoryPlugin::newL )
-    };
-
-// Entry point for ECom architecture to resolve the instantiation method pointer
-// for a given implementation UID.
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-    return ImplementationTable;
-    }
--- a/mulwidgets/common/bwins/mulutilityu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-EXPORTS
-	?IsLandscape@MulUtility@Alf@@SA_NXZ @ 1 NONAME ; bool Alf::MulUtility::IsLandscape(void)
-	?IsQwerty@MulUtility@Alf@@SA_NXZ @ 2 NONAME ; bool Alf::MulUtility::IsQwerty(void)
-	??0MulVisualUtility@Alf@@QAE@XZ @ 3 NONAME ; Alf::MulVisualUtility::MulVisualUtility(void)
-	?IsSVGImage@MulImageVisualAttributeSetter@Alf@@QAE_NABVUString@osncore@@@Z @ 4 NONAME ; bool Alf::MulImageVisualAttributeSetter::IsSVGImage(class osncore::UString const &)
-	?LoadImageFromSvg@MulImageVisualAttributeSetter@Alf@@QAEXABVUString@osncore@@AAVCAlfImageVisual@@@Z @ 5 NONAME ; void Alf::MulImageVisualAttributeSetter::LoadImageFromSvg(class osncore::UString const &, class CAlfImageVisual &)
-	?parseLCTInfo@MulVisualUtility@Alf@@QAEXABULCTPair@2@PAVCAlfLayout@@@Z @ 6 NONAME ; void Alf::MulVisualUtility::parseLCTInfo(struct Alf::LCTPair const &, class CAlfLayout *)
-	?AbsolutePath@MulUtility@Alf@@SA_NAAVUString@osncore@@@Z @ 7 NONAME ; bool Alf::MulUtility::AbsolutePath(class osncore::UString &)
-	?data@MulVisualUtility@Alf@@QBEABULCTData@2@XZ @ 8 NONAME ; struct Alf::LCTData const & Alf::MulVisualUtility::data(void) const
-	??0MulImageVisualAttributeSetter@Alf@@QAE@XZ @ 9 NONAME ; Alf::MulImageVisualAttributeSetter::MulImageVisualAttributeSetter(void)
-	?IsPoolResource@MulUtility@Alf@@SA_NABVUString@osncore@@@Z @ 10 NONAME ; bool Alf::MulUtility::IsPoolResource(class osncore::UString const &)
-	?LoadImageFromTexture@MulImageVisualAttributeSetter@Alf@@QAEXHAAVCAlfImageVisual@@@Z @ 11 NONAME ; void Alf::MulImageVisualAttributeSetter::LoadImageFromTexture(int, class CAlfImageVisual &)
-	??1MulImageVisualAttributeSetter@Alf@@UAE@XZ @ 12 NONAME ; Alf::MulImageVisualAttributeSetter::~MulImageVisualAttributeSetter(void)
-	??1MulVisualUtility@Alf@@QAE@XZ @ 13 NONAME ; Alf::MulVisualUtility::~MulVisualUtility(void)
-	?setAttributeValue@MulImageVisualAttributeSetter@Alf@@EAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@@Z @ 14 NONAME ; void Alf::MulImageVisualAttributeSetter::setAttributeValue(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *)
-	?parseLCTTextInfo@MulVisualUtility@Alf@@QAEXXZ @ 15 NONAME ; void Alf::MulVisualUtility::parseLCTTextInfo(void)
-
--- a/mulwidgets/common/eabi/mulutilityu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-EXPORTS
-	_ZN3Alf10MulUtility11IsLandscapeEv @ 1 NONAME
-	_ZN3Alf10MulUtility12AbsolutePathERN7osncore7UStringE @ 2 NONAME
-	_ZN3Alf10MulUtility14IsPoolResourceERKN7osncore7UStringE @ 3 NONAME
-	_ZN3Alf10MulUtility8IsQwertyEv @ 4 NONAME
-	_ZN3Alf16MulVisualUtility12parseLCTInfoERKNS_7LCTPairEP10CAlfLayout @ 5 NONAME
-	_ZN3Alf16MulVisualUtility16parseLCTTextInfoEv @ 6 NONAME
-	_ZN3Alf16MulVisualUtilityC1Ev @ 7 NONAME
-	_ZN3Alf16MulVisualUtilityC2Ev @ 8 NONAME
-	_ZN3Alf16MulVisualUtilityD1Ev @ 9 NONAME
-	_ZN3Alf16MulVisualUtilityD2Ev @ 10 NONAME
-	_ZN3Alf29MulImageVisualAttributeSetter10IsSVGImageERKN7osncore7UStringE @ 11 NONAME
-	_ZN3Alf29MulImageVisualAttributeSetter16LoadImageFromSvgERKN7osncore7UStringER15CAlfImageVisual @ 12 NONAME
-	_ZN3Alf29MulImageVisualAttributeSetter17setAttributeValueER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapE @ 13 NONAME
-	_ZN3Alf29MulImageVisualAttributeSetter20LoadImageFromTextureEiR15CAlfImageVisual @ 14 NONAME
-	_ZN3Alf29MulImageVisualAttributeSetterC1Ev @ 15 NONAME
-	_ZN3Alf29MulImageVisualAttributeSetterC2Ev @ 16 NONAME
-	_ZN3Alf29MulImageVisualAttributeSetterD0Ev @ 17 NONAME
-	_ZN3Alf29MulImageVisualAttributeSetterD1Ev @ 18 NONAME
-	_ZN3Alf29MulImageVisualAttributeSetterD2Ev @ 19 NONAME
-	_ZNK3Alf16MulVisualUtility4dataEv @ 20 NONAME
-	_ZTI16CKeyBoardUtility @ 21 NONAME ; #<TI>#
-	_ZTI17CQwertySubscriber @ 22 NONAME ; #<TI>#
-	_ZTIN3Alf29MulImageVisualAttributeSetterE @ 23 NONAME ; #<TI>#
-	_ZTV16CKeyBoardUtility @ 24 NONAME ; #<VT>#
-	_ZTV17CQwertySubscriber @ 25 NONAME ; #<VT>#
-	_ZTVN3Alf29MulImageVisualAttributeSetterE @ 26 NONAME ; #<VT>#
-
--- a/mulwidgets/common/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2009 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:  Build information file for project ?myapp
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-PRJ_EXPORTS
-
-../rom/mulutility.iby    CORE_MW_LAYER_IBY_EXPORT_PATH(mulutility.iby)
-
-
-PRJ_MMPFILES
-
-mulxmlutility.mmp
-
-
-PRJ_TESTMMPFILES
-
-
-
-PRJ_TESTEXPORTS
--- a/mulwidgets/common/group/mulxmlutility.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* 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:  Project definition file 
-*
-*/
-
-
-#include <platform_paths.hrh>
-//#include "../../../group/stdinc.mmh" //for STL includes
-
-TARGET                  mulutility.dll
-TARGETTYPE              dll
-UID                     0x1000008D 0x2000FA83
-
-
-CAPABILITY      	 	CAP_GENERAL_DLL
-VENDORID                VID_DEFAULT
-
-#ifndef __WINSCW__
-EPOCALLOWDLLDATA
-#endif
-
-SOURCEPATH              ../src
-SOURCE                  mulimagevisualattributesetter.cpp
-SOURCE                  mulutility.cpp
-SOURCE			            mulkeyboardutility.cpp
-SOURCE                  mulvisualutility.cpp
-
-USERINCLUDE             ../inc 
-USERINCLUDE             ../../mullogging/inc
-USERINCLUDE             ../../../inc
-
-
-MW_LAYER_SYSTEMINCLUDE
-
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-// Alf Libraries
-LIBRARY                 alfclient.lib
-LIBRARY                 alfwidgetmodel.lib
-LIBRARY                 alfwidgetutils.lib
-
-
-// Osn Libraries
-LIBRARY			osncore.lib
-
-// STL Libraries
-LIBRARY			libstdcpp.lib
-
-
-// System Libraries
-LIBRARY                 aknskins.lib
-LIBRARY                 charconv.lib 
-LIBRARY                 euser.lib
-LIBRARY                 ecom.lib
-LIBRARY                 eikcore.lib
-LIBRARY                 avkon.lib
-LIBRARY  	              cone.lib
-LIBRARY 		            aknlayout2.lib
-LIBRARY 		            aknlayout2scalable.lib
-LIBRARY 		            aknlayout2hierarchy.lib
-LIBRARY 		            cdlengine.lib
-
-LIBRARY                 libc.lib
-LIBRARY			            libpthread.lib
-LIBRARY			            estor.lib
-LIBRARY			            mulmodelutility.lib
-LIBRARY                 mullogging.lib
-LIBRARY         	      alfresourcepool.lib //for resource pool
-
-LIBRARY			            efsrv.lib // for rfile,rfs
-
-LANG                    SC
-
-             
--- a/mulwidgets/common/inc/imulembedablewidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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 embedabld widget
-*
-*/
-
-
-#ifndef I_MULEMBEDABLEWIDGET_H
-#define I_MULEMBEDABLEWIDGET_H
-#include <mul/mulvisualitem.h>
-#include <alf/ialfwidgeteventhandler.h>
-namespace Alf
-    {
-
-/** @class IMulEmbedableWidget
- *  @brief Interface for Embedable widget.
- *
- *  Every widget that can be embeded need to implement this interface.
- *  Parent widget will use this interface to access embeded widget.
- */
-class IMulEmbedableWidget
-    {
-public:
-
-    /**
-     * Set/Update data of Embeded widget.
-	 * Parent widget will provides its own visual item as parameter
-	 * embeded widget will have to construct new visual item from provided visual item
-	 * and remove unwanted attributes and call update on singel item model.
-	 *
-	 * @param aItem Parent widget's data in visual item format
-	 */ 
-   	virtual void SetData(const MulVisualItem& aItem) = 0;
-	
-	
-	/**
-     * Return data in format of visual item.
-	 * Parent will used this api to update its own data model.
-	 *
-	 * @return  Data of embeded widget
-	 */
-	virtual const MulVisualItem& Data() = 0;
-	
-	/**
-	 * Add as eventhandler for embeded widget.
-	 * Parent will use this api to add itself and client as event handler of child widget.
-	 * 
-	 * @param aHandler Event handler
-	 */
-	virtual void AddEventHandler( IAlfWidgetEventHandler& aHandler ) = 0;
-
-	/**
-	 * Remove as eventhandler form embeded widget.
-	 * Parent can remvoe itself and client as event handler using this api
-	 * 
- 	 * @param aHandler Event handler
-	 */
-	virtual void RemoveEventHandler( IAlfWidgetEventHandler& aHandler ) = 0;
-	
-	/**
-	 * Return container layout of embeded widget
-	 * Parent can use this api to show or hide widget and position child widget.
-	 * 
-	 * @return Layout of embeded widget.
-	 */
-	virtual const CAlfLayout& ContainerLayout() = 0;
-	
-    };
-
-
-    } // namespace Alf
-
-#endif // I_MULEMBEDABLEWIDGET_H
-
-//End of file
-
--- a/mulwidgets/common/inc/imulmodelobserver.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Implementation of model interface
- *
-*/
-
-
-#ifndef	I_MULMODEOBSERVER_H
-#define I_MULMODEOBSERVER_H
-
-#include <alf/ialfmodelchangeobserver.h> 
-
-namespace Alf
-	{
-	
-//Forward Declaration
-class IMulVariantType;
-
-/**
- * Observer interface to provide notification about model state change.
- * Widget needs to implement this interface to get highlight or marking change event.
- */
-class IMulModelObserver //: public IAlfModelChangeObserver
-	{
-	
-public: //enum
-
-	/**
-	 *Changed state of model 
-	 */
-	enum TMulChangedState 
-	    { 
-	    EHighlightChanged = 1, 
-	    EMarkingChanged,
-	    EDataWindowUpdated, 
-	    EItemsInserted,
-	    EItemsRemoved,
-	    EItemUpdated,
-	    ETemplateChanged,
-	    EModelRefreshed
-	    };
-
-public: //method
-
-	/**
-     * Notify observer about IMulModel state change.
-	 * Observer will be notified when highlight or marking is changed from model.
-	 *
-	 * @param aState Highlight or making changed
-	 * @param aData Index of new highlight or Index of marked or unmarked item.
-	 *				( Item is marked or not should be checked using IMulModelAccessor interface)
-	 */
-	virtual void ModelStateChanged( TMulChangedState aState, IMulVariantType& aData ) = 0;
-
-	};
-	
-	} // Namespace Alf
-	
-#endif //I_MULMODEOBSERVER_H	
-	
-//End of file
-	
\ No newline at end of file
--- a/mulwidgets/common/inc/mulassert.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Implementation for Assert Macros
-*
-*/
-
-
-#ifndef MULASSERT_H_
-#define MULASSERT_H_
-
-#include <stdexcept>
-#include <e32std.h>
-
-/**
- * Assert macro.
- * It checks expression if expression is evaluated false then panic with specified code.
- * 
- * @param x Result after expression is evaluated
- * @param y Error code for Assertion fail
- */ 
-#define __MUL_ASSERT(x,y) __ASSERT_ALWAYS(x,User::Panic(y,0))
-
-	
-
-/**
- * Assert Macro for debug version.
- * It checks expression if expression is evaluated false then panic with specified code.
- * 
- * @param x bool result after expression is evaluated
- * @param y Error code for Assertion fail
- */
-#define __MUL_ASSERT_DEBUG(x,y) __ASSERT_DEBUG(x,User::Panic(y,0))
-	
-namespace Alf
-   {
-   
-/**
-* Assert function.
-* It takes tamplate argument that is used kind of expceton that need to be thrown.
-* It checks expression if expression is evaluated false then it throws logic exception.
-* 
-* @param aExpression bool result after expression is evaluated
-* @param aExceptionString description of error
-*/
-template<class X> 
-static void MUL_ASSERT(bool aExpression, const char* aExceptionString)
-	{
-   	if( !aExpression )
-   		{
-   		throw X(aExceptionString);
- 		}
-	}
-   
-
-	
-/**
- * Assert function for debug version.
- * It takes tamplate argument that is used kind of expceton that need to be thrown.
- * It checks expression if expression is evaluated false then it throws logic exception.
- * 
- * @param aExpression bool result after expression is evaluated
- * @param aExceptionString description of error
- */
-template<class X> 
-static void MUL_ASSERT_DEBUG(bool aExpression, const char* aExceptionString)
-	{
-#ifdef _DEBUG
-	
-	if( !aExpression )
-		{
-		throw X( aExceptionString );
-		}
-	
-#endif // _DEBUG
-	}
-
-
-
-   } // namespace Alf
-
-#endif  // MULASSERT_H_
-
-// End of file
-
--- a/mulwidgets/common/inc/mulimagevisualattributesetter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* 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:  Custmized image attribute setter for MulWidgets
- *
-*/
-
-
-#ifndef MULIMAGEVISUALATTRIBUTESETTER_H
-#define MULIMAGEVISUALATTRIBUTESETTER_H
-
-#include <osn/osndefines.h>
-#include "alf/alfimagevisualattributesetter.h"
-
-namespace Alf
-	{
-	
-class MulImageVisualAttributeSetterImpl;
-/**
- *  The implementation of the attribute setter.
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- */
-class MulImageVisualAttributeSetter : public AlfImageVisualAttributeSetter
-	{
-public:
-
-	/**
-	 * Constructor.
-	 *
-	 * @param aType Type of the attribute setter.
-	 */
-    OSN_IMPORT MulImageVisualAttributeSetter();
-
-	/**
-	 * Destructor.
-	 */
-	  OSN_IMPORT virtual ~MulImageVisualAttributeSetter();
-
-private: //  from AlfImageVisualAttributeSetter
-
-	void handleStaticDataAttribute(CAlfVisual &aVisual,
-								  AlfAttribute& aAttr, 
-								  AlfAttributeContainer& aContainer,
-								  IAlfMap* aData);
-			
-	void handleStaticAttribute(CAlfVisual &aVisual, 
-							   AlfAttribute& aAttr,
-							   AlfAttributeContainer& aContainer);
-	
-	void setAttributeValue ( CAlfVisual &aVisual,
-							 AlfAttributeContainer* aContainer,
-							 IAlfMap* aData );
-	
-	void handleDynamicDataAttribute(CAlfVisual &aVisual,
-									AlfAttribute& aAttr, 
-									AlfAttributeContainer& aContainer,
-									IAlfMap* aData);
-	
-	void handleDynamicAttribute(CAlfVisual &aVisual,
-								AlfAttribute& aAttr, 
-								AlfAttributeContainer& aContainer);
-	
-public: //new method	
-
-   /**
-    * Checks the given file path is of SVG image or not
-    *
-    * @param aImagePath Path of the image file,which need to be checked for SVG file format. 
-    */
-    OSN_IMPORT bool IsSVGImage(const UString& aImagePath);
-        
-    /**
-     * Load Image visual with image provided from file path
-     * 
-     * @param aSvgFilePath path of Image
-     * @param aImageVisual visual on with image to be loaded
-     */
-    OSN_IMPORT void LoadImageFromSvg(const UString& aSvgFilePath,CAlfImageVisual& aImageVisual );
-    
-    /**
-     * Apply texture on Image visual
-     * 
-     * @param aTextureId Texture id 
-     * @param aImageVisual visual on with image to be loaded
-     */
-    OSN_IMPORT void LoadImageFromTexture( int aTextureId,CAlfImageVisual& aImageVisual );
-    
-private: 	// data
-
-	auto_ptr<MulImageVisualAttributeSetterImpl> mImpl;	
-    auto_ptr<AlfImageVisualAttributeSetter> mImageAttrSetter;
-    IAlfMap* mData;
-	};
-
-} // namespace Alf
-
-#endif // MULIMAGEVISUALATTRIBUTESETTER_H
-
-//end of file
-
-
--- a/mulwidgets/common/inc/mulitemdefinitions.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  header for defining all the common variables
-*
-*/
-
-
-
-
-#ifndef __MULITEMDEFINITIONS_H__
-#define __MULITEMDEFINITIONS_H__
-
-namespace Alf
-    {
-        
-    // Defines the values for visual for states highlight/non-highlight.
-    // portrait / landscape   
-    enum MulItemType
-        {
-        ENonHighlight = 0,
-        EHighlight
-        }; 
-                   
-    } //namespace Alf
-    
-#endif //MULITEMDEFINITIONS
-
--- a/mulwidgets/common/inc/mulkeyboardutility.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Utility class for keyboard handling  
- *
-*/
-
-
-#ifndef MULKEYBOARDUTILITY_H_
-#define MULKEYBOARDUTILITY_H_
-
-#include <e32base.h>
-#include <e32std.h>
-#include <e32property.h>
-#include <centralrepository.h>
-#include <AknFepInternalCRKeys.h>
-#include <AvkonInternalCRKeys.h>   // KAknQwertyInputModeActive
-#include <coemain.h>
-
- class CQwertySubscriber : public CActive
- {
-     public:
-          CQwertySubscriber(TCallBack aCallBack, RProperty& aProperty);
-         ~CQwertySubscriber();
- 
-     public: // New functions
-
-         void SubscribeL();
-         void StopSubscribe();
- 
-     private: // from CActive
-
-         void RunL();
-         void DoCancel();
- 
-     private:
-         TCallBack   iCallBack;
-         RProperty&  iProperty;
- };
-
-class CKeyBoardUtility: public CCoeStatic
-{
-	public:
-		static CKeyBoardUtility* NewL();
-	private: 
-		static TInt QwertyModeChangeNotification(TAny* aObj);
-	private:
-		~CKeyBoardUtility();
-		CKeyBoardUtility(); 
-		bool bQwerty;
-	    /** Qwerty Notification */
-	    CQwertySubscriber* iQwertyModeStatusSubscriber;
-	    RProperty iQwertyModeStatusProperty;
-	    void HandleQwertyModeChangeNotification();
-	public:
-		bool IsQwerty();
-};
-#endif //MULKEYBOARDUTILITY_H_
--- a/mulwidgets/common/inc/mulleave.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Implementation for Leave to Throw macro
-*
-*/
-
-
-#ifndef MULLEAVE_H
-#define MULLEAVE_H
-
-#include <stdexcept>
-	
-namespace Alf
-	{
-
-static const char* const KLeaveError = "Leave occured";
-	
-class MulLeave
-    {
-
-public:
-    
-    static void ThrowOnError( int aError )
-        {
-        switch ( aError )
-            {
-            case KErrNone: 
-            	{
-                // do nothing
-                break;
-            	}
-                
-            case KErrNoMemory:
-            	{
-                throw std::bad_alloc(); 
-            	}
-                
-            // add other errors here if specific exception need to throw
-            case KErrGeneral: // fall through
-            default:
-            	{
-                throw std::logic_error( KLeaveError ); 
-            	}
-            }
-        }
-    };
-	
-	} // namespace Alf
-
-#define THROW_IF_LEAVES(code) TRAPD( _leave_error, { code; } ); \
-    						  Alf::MulLeave::ThrowOnError( _leave_error ); 
-
-#endif  // MULLEAVE_H
-
-// End of file
-
--- a/mulwidgets/common/inc/multemplateinterface.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  xml parser header
-*
-*/
-
-
-#ifndef MULTEMPLATEINTERFACE_H
-#define MULTEMPLATEINTERFACE_H
-
-#include <alf/ialfmap.h>
-#include <osn/ustring.h>
-#include <alf/alfimagevisual.h>
-#include <alf/alflayout.h>
-
-//#include "mulplaintexteditor.h"
-
-namespace duiuimodel
-    {
-    class DuiNode;
-    }
-using namespace duiuimodel;
-
-namespace Alf
-    {
-    
-//Forward declarations
-class MulXmlUtility;
-class IAlfMap;
- 	
-class MulTemplateInterface
-    {
-        
-public:
-
-    /**
-     * Display Area.
-     *
-     * @returns the display are of the control.
-     */
-    virtual TRect Displayarea() = 0;    
-    
-    /**
-     * Data for the item.
-     *
-     * @aItemIndex index of the item.
-     * @returns data map of the item at the index.
-     */
-    virtual IAlfMap* RootData(int aItemIndex) = 0;
-    
-    /**
-     * Get the xml utility.
-     *
-     * @returns MulXmlUtility.
-     */
-    virtual MulXmlUtility& GetMulXmlUtlity() = 0;
-    
-    /**
-     * Get the path where the xmls are stored.
-     *
-     * @returns the path.
-     */
-    virtual UString ResourcePath() = 0;        
-    
-    /**
-    * Gets the template Attribute Name.
-    */
-    virtual UString TemplateAttribute() = 0; 
-    
-    /**
-    * Gets the embedded widget load name.
-    */
-    virtual UString EmbedWidgetName() = 0;
-    
-    /**
-     * Checks if the visual passed as argument belongs to the highlighted item
-     * 
-     * @param aVisual The visual to be checked if it belongs to the highlighted item.
-     * @returns True: If aVisual corresponds to highlight item. otherwise, False.
-     */
-    virtual bool IsHighlightVisual(CAlfVisual& aVisual) = 0;
-    
-    /**
-     * Return image scale mode
-     * 
-     * @return Scale mode
-     */
-    virtual CAlfImageVisual::TScaleMode ScaleMode() = 0;
-    
-    /**
-     * Return images should be scaled or not
-     * 
-     * @return true if scaling should be applied, else false
-     */
-    virtual bool ApplyScaleMode() = 0;
-    
-    /**
-     * Gets the plain text editor control
-     * 
-     * @return MulPlainTextEditor wraped in layout.
-     */
-    //virtual MulPlainTextEditor* PlainTextEditor() = 0;    
-    
-    /**
-     * Gets the root node of the current template.
-     * 
-     * @return DuiNode pointer.
-     */
-    virtual DuiNode* TemplateRootNode() = 0;  
-
-    virtual bool IsHomogeneous() = 0;
-    
-    
-    /**
-    * To Get the background is transparent or not.
-    */
-    virtual bool BackGroundTransparency() = 0;   
-    
-    
-    }; //class
-            
-    } // namespace 
-
-#endif
-
--- a/mulwidgets/common/inc/mului.hrh	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* 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:  Defines flags to enable debug macros
-*
-*/
-
-
-#ifndef MULUI_HRH
-#define MULUI_HRH
-
-//Enable performance logs
-#undef MUL_DEBUG_PERFORMANCE  
-//#define MUL_DEBUG_PERFORMANCE
-        
-
-#endif //MULUI_HRH
--- a/mulwidgets/common/inc/mulutility.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Implementation for utility class
-*
-*/
-
-
-#ifndef MULUTILITY_H_
-#define MULUTILITY_H_
-
-#include <stdexcept>
-#include <string>
-#include <e32cmn.h>
-#include <osn/osndefines.h>
-#include "mulkeyboardutility.h"
-
-namespace osncore
-    {
-    class UString;    
-    }
-
-using namespace osncore;
-    
-namespace Alf
-    {
-    	
-static void MUL_ASSERT(bool aExpression, const char* aExceptionString)
-   {
-   if( aExpression )
-       {
-       throw std::logic_error(aExceptionString);
-       }
-   }
-                               
-class MulUtility
-    {
-public:
-    /**
-     * Converts the relative path to the absolute path.
-     * 
-     * @param aRelativePath Which needs to be changed to the absolutepath.
-     * @return true , if aRelativepath changed to Absoulte path or else false
-     */
-	OSN_IMPORT static bool AbsolutePath(UString& aRelativePath);
-    
-   /**
-    * Checks which orienatation the application is in and returns true if it is in 
-    * Landscape orientation otherwise returns false
-    *
-    */ 
-  OSN_IMPORT static bool IsLandscape();
-  
-     /**
-      * Checks if the given string tag is a pool resource or not
-      *
-      * @param aImageTag Path of the image file,which needs to be checked for resource tag format. 
-      */
-     OSN_IMPORT static bool IsPoolResource(const UString& aImageTag);
-
-     /**
-      * Checks if current KeyBoard is QWERTY
-      * @return true if KeyBoard is QWERTY else false.
-      */
-     OSN_IMPORT static bool IsQwerty();
-     
-private: 
-    /**
-     * Checks the file for its existence
-     *
-     * @param afilePath File to be checked.
-     * @return true, In case file exists or else false. 
-     */
-    static bool IsFileExists(/*const char* afilePath*/const TDesC& aFilePath);
-    
-    
-    
-    };
-    
-    } // namespace Alf
-
-#endif  // MULUTILITY_H_
-
-// End of file
-
--- a/mulwidgets/common/inc/mulvisualutility.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,728 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Utility class for widgets visualization in terms of LCT data
-*
-*/
-
-
-#ifndef MULVISUALUTILITY_H_
-#define MULVISUALUTILITY_H_
-
-#include <alf/alflayout.h>
-#include <osn/ustring.h>
-
-// Avkon Includes
-#include <aknlayout2hierarchy.h>
-#include <AknUtils.h>
-#include <AknsConstants.h>
-
-// OpenC Includes
-#include <libc/string.h>
-#include <libc/stdlib.h>
-
-#include <vector>
-using namespace osncore;
-
-namespace Alf
-	{
-	    
-enum TMulCurrentOrientation
-    {
-    EMulPortrait,
-    EMulLandScape
-    };	
-/**
- * Different visual types
- */
-enum TMulLCTVisualType
-    {
-    EVisualImage = 0,
-    EVisualText
-    };
-
-/**
- * Different attribute types
- */    
-enum TMulCustomAttributeType
-    {
-    EAttributeNone,
-    EAttributeCategory,
-    EAttributeOpacity,
-    EAttributeStyle,
-    EAttributeFontthemecolor,
-    EAttributeHAlign,
-    EAttributeVAlign
-    };
-
-/**
- * Different Category types
- */    
-enum TMulAttributeCategoryType
-    {
-    ECategoryInvalid,
-    ECategoryData,
-    ECategoryStaticData
-    };
-    
-/**
- * Co-ordinate data
- */    
-struct LCTData
-	{
-	    int mPosX;
-	    int mPosY;
-	    int mWidth;
-	    int mHeight;
-	    int mFontId;
-	};
-
-/**
- * LCT Id and variety
- */	
-struct LCTPair
-    {
-    UString mLctId;
-    int mVariety;
-    };
-
-// ---------------------------------------------------------------------------
-// Class to hold  attributes name and value
-// ---------------------------------------------------------------------------
-//
-class CustomAttributeStructure 
-    {
-public:
-
-   /**
-	* Constructor
-	*
-	* @param aName				Name of the Attribute
-	* @param aTargetVal			Value the Attribute
-	* @param aAttributeType		Name of the Attribute
-	* @param aCategoryType		Name of the Attribute
-	*
-	*
-	*/
-    CustomAttributeStructure(const UString& aName, const UString& aTargetVal,
-        TMulCustomAttributeType aAttributeType = EAttributeNone, 
-        TMulAttributeCategoryType aCategoryType = ECategoryInvalid): 
-            mName(aName),
-            mTargetVal(aTargetVal),
-            mAttributeType(aAttributeType), 
-            mCategoryType(aCategoryType)
-            
-             {
-             mLctPair.mLctId = UString("");
-             mLctPair.mVariety = -1;
-             } 
-    
-   /**
-	* Constructor
-	*
-	* @param aName				Name of the Attribute
-	* @param aLctInfo			LCT information of the custom attribute
-	* @param aAttributeType		Name of the Attribute
-	* @param aCategoryType		Name of the Attribute
-	*
-	*
-	*/
-    CustomAttributeStructure(const UString& aName, const LCTPair& aLctInfo,
-        TMulCustomAttributeType aAttributeType = EAttributeNone, 
-        TMulAttributeCategoryType aCategoryType = ECategoryInvalid): 
-            mName(aName),
-            mTargetVal(""),
-            mAttributeType(aAttributeType), 
-            mCategoryType(aCategoryType)
-            
-             {
-             mLctPair.mLctId = aLctInfo.mLctId;
-             mLctPair.mVariety = aLctInfo.mVariety;
-             }   
-    
-   /**
-	* Sets the name of the custom attribute
-	*
-	* @param aName	Name of the custom attribute
-	* @return nothing
-	*
-	*/         
-    void SetName(const UString& aName) {mName = aName;}
-    
-   /**
-	* Sets the value the custom attribute
-	*
-	* @param aTarget	Value of the custom attribute
-	* @return nothing
-	*
-	*/ 
-    void SetTargetValue(const UString& aTarget) {mTargetVal = aTarget; }
-    
-   /**
-	* Get the name of attribute
-	*
-	* 
-	* @return Name of the attribute
-	*
-	*/
-    const UString GetName() const {return mName; } 
-    
-   /**
-	* Get the value of the attribute
-	*
-	* 
-	* @return Value of the attribute
-	*
-	*/
-    const UString GetTargetvalue() const {return mTargetVal;} 
-     
-   /**
-	* Sets the attribute type the custom attribute
-	*
-	* @param aAttributeType		Attribute type of the custom attribute
-	* @return nothing
-	*
-	*/ 
-    void SetAttributeType(TMulCustomAttributeType aAttributeType) {mAttributeType = aAttributeType;}
-    
-   /**
-	* Sets the Category type the custom attribute
-	*
-	* @param aCategoryType		Category type of the custom attribute
-	* @return nothing
-	*
-	*/
-    void SetCategoryType(TMulAttributeCategoryType aCategoryType) {mCategoryType = aCategoryType;} 
-       
-   /**
-	* Get the attribute type of the attribute
-	*
-	* 
-	* @return TMulCustomAttributeType
-	*
-	*/  
-    TMulCustomAttributeType AttributeType() const {return mAttributeType;}
-    
-   /**
-	* Get the category type of the attribute
-	*
-	* 
-	* @return TMulAttributeCategoryType
-	*
-	*/ 
-    TMulAttributeCategoryType CategoryType()const {return mCategoryType;}
-    
-   /**
-	* Get the LCT information of attribute
-	*
-	* 
-	* @return LCTPair
-	*
-	*/ 
-    const LCTPair& GetLctPair() 
-    {
-    return mLctPair;
-    }
-
-private: 
- 
-   /**
-	* Attribute name
-	*/
-    UString mName;
-    
-   /**
-	* Attribute value
-	*/
-    UString mTargetVal;
-    
-   /**
-	* Attribute type
-	*/
-    TMulCustomAttributeType mAttributeType;
-    
-   /**
-	* Attribute  Category type
-	*/
-    TMulAttributeCategoryType mCategoryType;    
-    
-   /**
-	* LCT Id and variety
-	*/
-    LCTPair mLctPair;
-    };
-    
-
-// ---------------------------------------------------------------------------
-// Class to hold a visual's attributes
-// ---------------------------------------------------------------------------
-//
-class LCTVisualStructure
-    {
-public:
-	
-   /**
-	* Default Constructor
-	*
-	*/
-    LCTVisualStructure()
-    {
-    	
-    }    
-        
-   /**
-	* Destructor
-	*
-	*/
-    ~LCTVisualStructure()
-    {
-    for(int i =0; i < mAttributeStructure.size(); i++)
-        {
-        delete mAttributeStructure[i];
-        }
-    mAttributeStructure.clear();
-    } 
-        
-   /**
-	* Sets the LCT Id of the visual Structure (part of LCT information of Visual Structure)
-	*
-	* @param aId	LCT Id of Visual Structure
-	* @return nothing
-	*
-	*/
-    void SetLCTId(const UString& aId) {mLctPair.mLctId = aId;}
-    
-   /**
-	* Sets the Variety Id of the visual Structure (part of LCT information of Visual Structure)
-	*
-	* @param aId	Variety Id of Visual Structure
-	* @return nothing
-	*
-	*/
-    void SetVarietyId(int aId) {mLctPair.mVariety = aId;}
-    
-   /**
-	* Gets the LCT Id of the visual Structure (part of LCT information of Visual Structure)
-	*
-	* @return nothing
-	*
-	*/
-    const UString GetLCTId() const {return mLctPair.mLctId; } 
-    
-   /**
-	* Gets the Variety Id of the visual Structure (part of LCT information of Visual Structure)
-	*
-	* @return nothing
-	*
-	*/
-    const int GetVarietyId() const {return mLctPair.mVariety;}
-     
-   /**
-	* Sets the type of visual this structure contains (can be either image/text)
-	*
-	* @param aVisualType	EVisualImage/EVisualText
-	* @return nothing
-	*
-	*/
-    void SetVisualType(const TMulLCTVisualType aVisualType) {mVisualType = aVisualType; }
-    
-   /**
-	* Gets the visual type of the visual Structure 
-	*
-	* @return TMulLCTVisualType
-	*
-	*/
-    TMulLCTVisualType VisualType()const { return mVisualType;} 
-    
-   /**
-	* Adds a Custom attribute structure to this visual structure
-	*
-	* @param	aAttr	Custom Attribute structure to be added
-	*					
-	*
-	*/    
-    void AddAttribute(CustomAttributeStructure* aAttr)
-    {
-    if(aAttr)
-        mAttributeStructure.push_back(aAttr);
-    }
-    
-   /**
-	* Gets a Custom attribute structure at a specified index in this visual structure
-	*
-	* @param	aIndex	Index at which the attribute struct desired
-	* @return   CustomAttributeStructure, NULL if no attribute is found
-	*
-	*/ 
-    const CustomAttributeStructure* GetAttribute(int aIndex) const
-    {
-    if(aIndex >=0 && aIndex < mAttributeStructure.size())
-        return mAttributeStructure[aIndex];
-    else
-        return NULL;
-    }
-        
-   /**
-	* Gets a Custom attribute structure by name in this visual structure
-	*
-	* @param	aAttrName	Name of the attribute struct desired
-	* @return   CustomAttributeStructure, NULL if no attribute is found
-	*					
-	*
-	*/  
-    const CustomAttributeStructure* GetAttributeByName(const UString& aAttrName) const
-    {
-    for (vector<CustomAttributeStructure*>::const_iterator it = mAttributeStructure.begin(); 
-            it!=mAttributeStructure.end(); ++it) 
-    	{
-    	if(!strcmp(((*it)->GetName()).getUtf8(),aAttrName.getUtf8()))
-    		return *it;
-    	} 
-    return NULL;        
-    } 
-    
-   /**
-	* Gets the current attribute count
-	*
-	* @return total number of attributes
-	*
-	*/
-    int AttributeCount() const
-    {
-    return mAttributeStructure.size();
-    }
-
-   /**
-	* Sets the Id of the visual Structure 
-	*
-	* @param aId	Identifier of Visual Structure
-	* @return nothing
-	*
-	*/
-    void SetId(const UString& aId) {mId = aId;}
-    
-   /**
-	* Gets the Id of the visual Structure 
-	*
-	* @return Identifier of the visual structure
-	*
-	*/   
-    UString GetId() const { return mId; }
-    
-    void SetPositions(int x,int y)
-	    {
-	    mX = x;
-	    mY = y;
-	    }
-    void SetDimensions(int width,int height)
-	    {
-	    mW = width;
-	    mH = height;
-	    }  
-    int PositionX() const {return mX;}
-    int PositionY() const {return mY;}
-    int Width() const {return mW;}
-    int Height() const {return mH;}
-   /**
-	* Gets the LCT Information of the visual Structure 
-	*
-	* @return LCTPair 
-	*
-	*/   
-    const LCTPair& GetLctPair() 
-    {
-    return mLctPair;
-    }
-
-        
-private:
-
-   /**
-	* Class to hold  attributes name and value
-	*
-	*/
-    UString mId;
-     
-	/**
-	 * LCT Id and variety
-	 */ 
-    LCTPair mLctPair;   
-    
-	/**
- 	 * Type of Visual
-     */
-    TMulLCTVisualType mVisualType;
-    
-    /**
-	* Array of attribute structures (owned)
-	*
-	*/
-    std::vector<CustomAttributeStructure*> mAttributeStructure;
-    int mX,mY,mW,mH;
-    };
-
-// ---------------------------------------------------------------------------
-// Custom data type to hold information about different visuals
-// ---------------------------------------------------------------------------
-//
-class LCTElementStructure
-    {
-public:
-    
-   /**
-	* Destructor
-	*
-	*/
-    ~LCTElementStructure()
-    {
-    for(int i =0; i < mVS.size(); ++i)
-        {
-        delete mVS[i];            
-        }
-    mVS.clear(); 
-    }
-       
-   /**
-	* Adds a Visual structure to this Element structure
-	*
-	* @param	aVStructure		VisualStructure to be added
-	* @return 	nothing				
-	*
-	*/  
-    void AddVisualStructure(LCTVisualStructure* aVStructure)
-    {
-    if(aVStructure)
-    mVS.push_back(aVStructure);
-    }   
-    
-   /**
-	* Gets a Visual structure at a specified index in this visual structure
-	*
-	* @param	aIndex	Index at which the attribute struct desired
-	* @return   LCTVisualStructure, NULL if no structure is found
-	*
-	*/    
-    const LCTVisualStructure* GetVisualStruture(int aIndex)
-    {
-    if(aIndex >=0 && aIndex < mVS.size())
-        return mVS[aIndex];
-    else
-        return NULL;
-    }
-    
-    /**
-	* Gets a Visual structure with specified name
-	*
-	* @param	aVisualName	name of the  visual structure
-	* @return   LCTVisualStructure, NULL if no structure is found
-	*
-	*/    
-    const LCTVisualStructure* GetVisualStrutureByName(const UString& aVisualName) const
-    {
-    for (vector<LCTVisualStructure*>::const_iterator it = mVS.begin(); 
-            it!=mVS.end(); ++it) 
-    	{
-    	if(!strcmp(((*it)->GetId()).getUtf8(),aVisualName.getUtf8()))
-    		return *it;
-    	} 
-    //if attribute by this name is not found
-    return NULL;        
-    }
-        
-    /**
-	* Gets a Visual structure count
-	*
-	* @param	nothing
-	* @return   int visual structure count
-	*
-	*/ 
-    int VisualCount()
-    {
-    return mVS.size();
-    }
-        
-    /**
-	* Sets the visual structure Id
-	*
-	* @param	aId
-	* @return   nothing
-	*
-	*/ 
-    void SetId(const UString& aId) {mId = aId;}
-    
-    /**
-	* Gets the visual structure Id
-	*
-	* @param	nothing
-	* @return   UString 
-	*
-	*/ 
-    UString GetId() const { return mId; }
-    
-    void SetPositions(int x,int y)
-	    {
-	    mX = x;
-	    mY = y;
-	    }
-    void SetDimensions(int width,int height)
-	    {
-	    mW = width;
-	    mH = height;
-	    }  
-    int PositionX() const {return mX;}
-    int PositionY() const {return mY;}
-    int Width() const {return mW;}
-    int Height() const {return mH;}
-   /**
-	* Sets the LCT Id
-	*
-	* @param	aId
-	* @return   nothing
-	*
-	*/ 
-    void SetLCTId(const UString& aId) {mLctPair.mLctId = aId;}
-    
-    /**
-	* Sets the Variety Id
-	*
-	* @param	aId
-	* @return   nothing
-	*
-	*/ 
-    void SetVarietyId(int aId) {mLctPair.mVariety = aId;}
-    
-   /**
-	* Returns the LCT Id
-	*
-	* @param	nothing
-	* @return   UString 
-	*
-	*/ 
-    const UString GetLCTId() const {return mLctPair.mLctId; }
-    
-    /**
-	* Returns the Variety Id
-	*
-	* @param	nothing
-	* @return   int
-	*
-	*/  
-    const int GetVarietyId() const {return mLctPair.mVariety;} 
-    
-    /**
-	* Returns the LCT Pair structure
-	*
-	* @param	nothing
-	* @return   LCTPair
-	*
-	*/  
-    const LCTPair& GetLctPair() 
-    {
-    return mLctPair;
-    }
-
-private:
-	/**
-	 * Identifier for the element structure
-	 */
-    UString mId;
-    
-    /**
-	 * LCT information of element
-	 */
-    LCTPair mLctPair;
-    
-    /**
-     * Array of children visual structure (owned)
-     */
-    vector<LCTVisualStructure*> mVS;    
-    
-    int mX,mY,mW,mH;
-    };
-
-
-
-class MulVisualUtility
-	{
-	public:
-	    /**
-	     *  Default Constructor
-	     */
-	    OSN_IMPORT MulVisualUtility();
-	    
-	    /**
-	     * Destructor
-	     */
-	    OSN_IMPORT ~MulVisualUtility();
-	   
-	   /**
-	    * Accessor function for the LCT data
-	    * 
-	    * @return	LCTData		internal data that contains the coordinate information
-	    */
-	    OSN_IMPORT const LCTData& data() const ;
-	    
-	    /**
-	     *  Uses the passed LCTPair and populates the LCT related information
-	     *  as its internal Data.
-	     *
-	     *  @param	aPair			LCTPair to be parsed
-	     *  @param  aParentLayout	ParentLayout wit respect to which the 
-	     *							coordinate calculation has to be made
-	     *  @return nothing
-	     */
-	    OSN_IMPORT void parseLCTInfo(const LCTPair& aPair, CAlfLayout* aParentLayout= NULL);
-	     
-	    /**
-	     *  Uses the passed LCTPair and populates the LCT related information
-	     *  as its internal Data.
-	     *
-	     *  @ :: yet to implement
-	     *  @return nothing
-	     */
-	    OSN_IMPORT void parseLCTTextInfo();
-	     
-	private:
-	    /**
-	     * Internal function to concert LCT IDs into absolute data 
-	     */	
-	     void readLCTData();
-	     
-	    /**
-	     * Internal function to concert LCT IDs into absolute data for text 
-	     */	
-	     void readLCTTextData();
-	     
-	     bool isParentRelative(int aVal) const;
-	
-	private:
-	    /**
-	     * LCT data, Owned
-	     */
-	    auto_ptr <LCTData> mData;
-	    
-	    /**
-	     * LCT id
-	     */
-	     UString mLCTId;
-	     
-	    /**
-	     * Variety id
-	     */
-	     int mVarietyId;
-	};
-
-	}
- //namespace Alf
-
-#endif /*MULVISUALUTILITY_H_*/
--- a/mulwidgets/common/rom/mulutility.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Single item Data model iby file.
-*
-*/
-
-
-#ifndef __MULUTILITY_IBY__
-#define __MULUTILITY_IBY__
-
-file=EPOCROOT##epoc32\release\armv5\urel\mulutility.dll \sys\bin\mulutility.dll
-#endif // __MULUTILITY_IBY__
-
-// End of file
--- a/mulwidgets/common/src/mulimagevisualattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,360 +0,0 @@
-/*
-* 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:   Attribute setter implementation for mulimage visual.
- *
-*/
-
- 
-// Class header
-#include "../inc/mulimagevisualattributesetter.h"
-
-// Alf headers
-#include "alf/alfattribute.h"
-#include <alf/alfattributeexception.h>
-#include <alf/alfvisualexception.h>
-#include "alf/alfattributecontainer.h"
-#include <alf/alfimagevisual.h>
-#include <alf/alftexture.h> 
-#include <alf/alfenv.h>
-#include <alf/alfdataexception.h>
-#include <alf/alfdisplay.h>
-#include <alf/alfbrusharray.h>
-#include <alf/alfframebrush.h>
-#include <alf/alfimageloaderutil.h>
-#include <alf/alfbitmapprovider.h>
-#include <alf/alfresourcepool.h> //for resource pooling
-#include <alf/alfwidgetenvextension.h> //for resource pooling
-// Osn headers
-#include <osn/ustring.h>
-#include <osn/alfptrvector.h>
-//#include <osn/osnlogicerror.h>
-// Std headers
-#include <libc/string.h>
-#include <utf.h>
-// DUI headers
-#include "alf/attrproperty.h"
-
-//for logs
-#include "mullog.h"
-#include "mulutility.h"
-
-using namespace osncore;
-
-using namespace duiuimodel::imagevisualattributes;
-using namespace duiuimodel::commonvisualattributes;
-using namespace duiuimodel::layoutattributes;
-
-namespace Alf
-	{
-
-class MulImageVisualAttributeSetterImpl
-	{
-public:
-	MulImageVisualAttributeSetterImpl();
-	~MulImageVisualAttributeSetterImpl();
-public:
-	//Keep track of loaded texture for imagevisuals.
-	//Texture manager doesn't unload the texture from memory untill Env is deleted.
-	//Hence need to unload them once attribute setter is deleted.
-	AlfPtrVector<CAlfTexture> mLoadedTextures;
-	//Env needed to access TextureManager while unloading textures.
-	CAlfEnv* mEnv;
-	};
-	
-	
-// ---------------------------------------------------------------------------
-// Constructor	
-// ---------------------------------------------------------------------------
-//  
-MulImageVisualAttributeSetterImpl::MulImageVisualAttributeSetterImpl()
-	{
-		MUL_LOG_INFO("aakash::CMulImageVisualAttributeSetterImpl::MulImageVisualAttributeSetterImpl");
-	//Do not delete textures here as they may be in use by the visuals that have not been deleted.
-	mLoadedTextures.setAutoDelete (false);
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor	
-// ---------------------------------------------------------------------------
-//
-MulImageVisualAttributeSetterImpl::~MulImageVisualAttributeSetterImpl()
-	{
-	MUL_LOG_INFO("aakash::CMulImageVisualAttributeSetterImpl::~MulImageVisualAttributeSetterImpl");
-	//Unload all loaded textures created by this attributesetter to free up the memory.
-	for (int i =0; i<mLoadedTextures.count ();i++)
-		{
-		CAlfTexture* texture = mLoadedTextures[i];
-		mEnv->TextureManager().UnloadTexture (texture->Id ());
-		}
-	mLoadedTextures.clear ();
-	}
-
-// ---------------------------------------------------------------------------
-// Constructor	
-// ---------------------------------------------------------------------------
-// 
- OSN_EXPORT MulImageVisualAttributeSetter::MulImageVisualAttributeSetter()
-	{
-	MUL_LOG_INFO("aakash::CMulImageVisualAttributeSetter::MulImageVisualAttributeSetter");
-	mImpl.reset(new (EMM) MulImageVisualAttributeSetterImpl());
-	mImageAttrSetter.reset(new (EMM) AlfImageVisualAttributeSetter());
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor	
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulImageVisualAttributeSetter::~MulImageVisualAttributeSetter()
-	{
-	MUL_LOG_INFO("aakash::CMulImageVisualAttributeSetter::~MulImageVisualAttributeSetter");
-	}
-
-// ---------------------------------------------------------------------------
-// Sets Attribute Value. Delegates based on attribute Category.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void MulImageVisualAttributeSetter::setAttributeValue (
-											  CAlfVisual &aVisual,
-											  AlfAttributeContainer* aContainer,
-											  IAlfMap* aData )
-    {
-    MUL_LOG_INFO("aakash::CMulImageVisualAttributeSetter::setAttributeValue");
-    mData = aData;
-    CAlfImageVisual* imageVisual = dynamic_cast<CAlfImageVisual*>(&aVisual);
-    if (!imageVisual)
-        {
-        ALF_THROW ( AlfVisualException, EInvalidVisual, "AlfImageVisualAttributeSetter")
-        }
-    AlfCommonVisualAttributeSetter::setAttributeValue(aVisual,aContainer, aData);
-    }
-// ---------------------------------------------------------------------------
-// HandleStaticDataAttribute	
-// ---------------------------------------------------------------------------
-// 
-void MulImageVisualAttributeSetter::handleStaticDataAttribute(
-		CAlfVisual &aVisual, AlfAttribute& aAttr,
-		AlfAttributeContainer& aContainer, IAlfMap* aData)
-	{
-	MUL_LOG_INFO("aakash::CMulImageVisualAttributeSetter::handleStaticDataAttribute");
-	CAlfImageVisual* imageVisual = dynamic_cast<CAlfImageVisual*>(&aVisual);
-	if ( !imageVisual)
-		{
-		ALF_THROW ( AlfVisualException, EInvalidVisual, "CAlfImageVisualAttributeSetter")
-		}
-
-	if ( !aData) ALF_THROW ( AlfDataException, EInvalidVariantDataType, "CAlfTextVisualAttributeSetter" )
-
-	const char* dataField = aAttr.getDataField ();
-	if ( !dataField) ALF_THROW ( AlfDataException, EInvalidAttribute, "CAlfTextVisualAttributeSetter" )
-
-	IAlfVariantType* data = aData->item (UString( dataField ));
-	const char* attrName = aAttr.name ();	
-	if ( data)
-		{
-		if( !strcmp(attrName, KImagePath))
-			{
-			if ( data->type ()== IAlfVariantType::EString)
-				{
-				if ( IsSVGImage (data->string ()))
-					{
-					LoadImageFromSvg(data->string (),*imageVisual);
-					}
-				else if (MulUtility::IsPoolResource(data->string ()))
-				{
-				//using resource pooling mechanism for image visual
-				ResourcePool& pool =  AlfWidgetEnvExtension::resourcePool(imageVisual->Env());
-				imageVisual->SetImage(pool.getImageResource((data->string ().getUtf8())));
-				}
-				else
-					{
-					//AlfImageVisualAttributeSetter::handleStaticDataAttribute(aVisual,aAttr,aContainer,aData);
-					mImageAttrSetter->setAttributeValue(aVisual,&aContainer,aData);
-					}
-				}
-			else if ( data->type ()== IAlfVariantType::EInt)
-				{
-				LoadImageFromTexture(data->integer(),*imageVisual);	
-				}
-			}
-		else if( !strcmp(attrName, KSecondaryImagePath))
-			{
-			if ( data->type ()== IAlfVariantType::EString)
-				{
-				if ( IsSVGImage (data->string ()))
-					{
-					LoadImageFromSvg(data->string (),*imageVisual);
-					}
-				else if (MulUtility::IsPoolResource(data->string ()))
-				{
-				//using resource pooling mechanism for image visual
-				ResourcePool& pool1 =  AlfWidgetEnvExtension::resourcePool(imageVisual->Env());
-				imageVisual->SetImage(pool1.getImageResource((data->string ().getUtf8())));
-				}
-				else
-					{
-					mImageAttrSetter->setAttributeValue(aVisual,&aContainer,aData);
-					}
-				}
-			else if ( data->type ()== IAlfVariantType::EInt)
-				{
-				LoadImageFromTexture(data->integer(),*imageVisual);	
-				}
-			}
-		else
-			{
-			mImageAttrSetter->setAttributeValue(aVisual,&aContainer,aData);
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// handleStaticAttribute	
-// ---------------------------------------------------------------------------
-//  
-void MulImageVisualAttributeSetter::handleStaticAttribute( CAlfVisual& aVisual, 
-														   AlfAttribute& aAttr,
-														   AlfAttributeContainer& aContainer )
-	{
-	MUL_LOG_INFO("aakash::CMulImageVisualAttributeSetter::handleStaticAttribute");
-	CAlfImageVisual* imageVisual = dynamic_cast<CAlfImageVisual*>(&aVisual);
-	if ( !imageVisual)
-		{
-		ALF_THROW ( AlfVisualException, EInvalidVisual, "AlfImageVisualAttributeSetter")
-		}
-	
-	const char* attrName = aAttr.name ();
-	if( !strcmp(attrName, KImagePath))
-		{
-		if ( IsSVGImage ( aAttr.stringValue()))
-			{
-			LoadImageFromSvg( aAttr.stringValue(),*imageVisual);
-			}
-			
-		else
-			{
-			mImageAttrSetter->setAttributeValue(aVisual,&aContainer,mData);
-			}
-		}
-	else if( !strcmp(attrName, KSecondaryImagePath))
-		{
-		if ( IsSVGImage (aAttr.stringValue()))
-			{
-			LoadImageFromSvg(aAttr.stringValue(),*imageVisual);
-			}
-			
-		else
-			{
-			mImageAttrSetter->setAttributeValue(aVisual,&aContainer,mData);
-			}
-		}
-	else
-		{
-		mImageAttrSetter->setAttributeValue(aVisual,&aContainer,mData);
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// handleDynamicDataAttribute	
-// ---------------------------------------------------------------------------
-//
-void MulImageVisualAttributeSetter::handleDynamicDataAttribute(CAlfVisual &aVisual,
-																AlfAttribute& /*aAttr*/, 
-																AlfAttributeContainer& aContainer,
-																IAlfMap* aData)
-	{
-	MUL_LOG_INFO("aakash::CMulImageVisualAttributeSetter::handleDynamicDataAttribute");
-	mImageAttrSetter->setAttributeValue(aVisual,&aContainer,aData);
-	}
-
-// ---------------------------------------------------------------------------
-// handleDynamicDataAttribute	
-// ---------------------------------------------------------------------------
-//
-void MulImageVisualAttributeSetter::handleDynamicAttribute(CAlfVisual &aVisual,
-														   AlfAttribute& /*aAttr*/, 
-														   AlfAttributeContainer& aContainer)
-	{
-	MUL_LOG_INFO("aakash::CMulImageVisualAttributeSetter::handleDynamicAttribute");
-	mImageAttrSetter->setAttributeValue(aVisual,&aContainer,mData);
-	}
-
-// ---------------------------------------------------------------------------
-// IsSVGImage	
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT bool MulImageVisualAttributeSetter::IsSVGImage(const UString& aImagePath)
-	{
-	MUL_LOG_INFO("aakash::CMulImageVisualAttributeSetter::IsSVGImage");
-	TPtrC8 src((TUint8*)aImagePath.getUtf8());
-    HBufC* srcBuf = HBufC::NewLC(src.Length());
-    
-    srcBuf->Des().Copy(src);
-    srcBuf->Des().LowerCase();
-    
-    _LIT(KSvgFile,".svg");
-
-	bool retval = ( KErrNotFound != srcBuf->FindC(KSvgFile));
-	
-    CleanupStack::PopAndDestroy( srcBuf ); 
-    
-	return retval;
-	}
-
-// ---------------------------------------------------------------------------
-// LoadImageFromSvg	
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void MulImageVisualAttributeSetter::LoadImageFromSvg(const UString& aSvgFilePath,
-													 CAlfImageVisual& aImageVisual )
-	{
-	MUL_LOG_INFO("aakash::CMulImageVisualAttributeSetter::LoadImageFromSvg");
-	TPtrC8 src((TUint8*)aSvgFilePath.getUtf8());
-	HBufC* imagePath = CnvUtfConverter::ConvertToUnicodeFromUtf8L (src);
-	CleanupStack::PushL( imagePath );
-	
-	CAlfImageLoaderUtil imgLoaderUtil;
-	imgLoaderUtil.SetSize (TSize (50, 50));
-
-	MAlfBitmapProvider* iSvgBitMapProv= imgLoaderUtil.CreateSVGImageLoaderL (*imagePath);
-	CAlfTexture &texture = aImageVisual.Env().TextureManager().CreateTextureL (
-							KAlfAutoGeneratedTextureId,
-							iSvgBitMapProv,
-							EAlfTextureFlagDefault);
-	
-	aImageVisual.SetScaleMode (CAlfImageVisual::EScaleFit);
-	aImageVisual.SetImage (TAlfImage (texture));
-	
-	CleanupStack::PopAndDestroy(imagePath);
-	}
-
-// ---------------------------------------------------------------------------
-// LoadImageFromTexture	
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void MulImageVisualAttributeSetter::LoadImageFromTexture( int aTextureId,
-														  CAlfImageVisual& aImageVisual )
-	{
-	MUL_LOG_INFO("aakash::CMulImageVisualAttributeSetter::LoadImageFromTexture");
-	//Seems like the Env's Texture Manager is not returning a copy. And When Env gets deleted the texture is destroyed
-	//So ownership is not with the client
-	const CAlfTexture* texture = aImageVisual.Env().TextureManager().Texture (aTextureId);
-	if(!texture)
-		{
-		ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfImageVisualAttributeSetter" )
-		}
-	aImageVisual.SetImage (TAlfImage (*texture));	
-	}
-
-
-}// Alf
--- a/mulwidgets/common/src/mulkeyboardutility.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Utility class for keyboard handling 
- *
-*/
-
-
-// includes
-#include <w32std.h>
-#include <eikdef.h>
-#include <eikenv.h>
-#include <AknUtils.h>
-
-#include "mulkeyboardutility.h"
-
-const TUid KUidKeyBoardUtility = {0x02D811B8} ;
-
-CQwertySubscriber::CQwertySubscriber(TCallBack aCallBack, RProperty& aProperty)
-     : CActive(EPriorityNormal), iCallBack(aCallBack), iProperty(aProperty)
-{
-     CActiveScheduler::Add(this);
-}
- 
- CQwertySubscriber::~CQwertySubscriber()
-{
-     Cancel();
-}
- 
- void CQwertySubscriber::SubscribeL()
-{
-     if (!IsActive())
-         {
-         iProperty.Subscribe(iStatus);
-         SetActive();
-         }
-}
- 
-void CQwertySubscriber::StopSubscribe()
-{
-   Cancel();
-}
- 
-void CQwertySubscriber::RunL()
-{
-    if (iStatus.Int() == KErrNone)
-    {
-         iCallBack.CallBack();
-         SubscribeL();
-    }
-}
- 
-void CQwertySubscriber::DoCancel()
-{
-   iProperty.Cancel();
-}
-
-CKeyBoardUtility* CKeyBoardUtility:: NewL()
-{ 
-    CKeyBoardUtility* self = static_cast<CKeyBoardUtility*>( CCoeEnv::Static( KUidKeyBoardUtility ) ) ; 
-    if(!self)
-        {
-        self = new( ELeave ) CKeyBoardUtility() ;
-        }
-    return self ;
-}
-
-
-CKeyBoardUtility::CKeyBoardUtility():CCoeStatic(KUidKeyBoardUtility, CCoeStatic::EThread /*or EApp*/ )
-{
-	bQwerty = EFalse;
-    User::LeaveIfError(iQwertyModeStatusProperty.Attach(KCRUidAvkon, KAknQwertyInputModeActive));
-    iQwertyModeStatusSubscriber = new (ELeave) CQwertySubscriber(TCallBack(QwertyModeChangeNotification, this), iQwertyModeStatusProperty);
-    iQwertyModeStatusSubscriber->SubscribeL();
-}
-
-CKeyBoardUtility::~CKeyBoardUtility()
-{
-
-    // Qwerty Notify clean-up
-    if (iQwertyModeStatusSubscriber)
-    {
-       iQwertyModeStatusSubscriber->StopSubscribe();
-    }
-    iQwertyModeStatusProperty.Close();
-    delete iQwertyModeStatusSubscriber;   
-}
-
-TInt CKeyBoardUtility::QwertyModeChangeNotification(TAny* aObj)
-{
-    if (aObj != NULL)
-    {
-    	static_cast<CKeyBoardUtility*>(aObj)->HandleQwertyModeChangeNotification();
-        return KErrNone;
-    }
-    else
-    {
-        return KErrArgument;
-    }
-}
-
-void CKeyBoardUtility::HandleQwertyModeChangeNotification()
-{
-	     TInt value = 0;
-	     iQwertyModeStatusProperty.Get(value);    
-	     if(value > 0) 
-	     {
-	     	bQwerty = ETrue;
-	     }
-	     else
-	     {
-	     	bQwerty = EFalse;
-	     }
-}
-
-bool CKeyBoardUtility::IsQwerty()
-{
-     TInt value = 0;
-     iQwertyModeStatusProperty.Get(value);    
-     if(value > 0) 
-     {
-     	bQwerty = true;
-     }
-     else
-     {
-     	bQwerty = false;
-     }
-	return bQwerty;
-}
--- a/mulwidgets/common/src/mulutility.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Implementation for utility class
-*
-*/
-
-// Includes
-
-// Class header
-#include "mulutility.h"
-
-#include "mul/mulmodelutility.h"
-#include "mulassert.h"
-#include <osn/ustring.h>
-#include <f32file.h>
-#include <eikenv.h>
-#include <aknappui.h>
-#include <AknUtils.h>
-
-// Local includes
-#include "mulassert.h"
-//for logs
-#include "mullog.h"
-namespace Alf
-    {
-        
-//-----------------------------------------------------------------------------
-// AbsolutePath
-//-----------------------------------------------------------------------------
-//
-OSN_EXPORT bool MulUtility::AbsolutePath(UString& aRelativePath)
-    {
-    MUL_LOG_INFO("aakash::MulUtility::AbsolutePath");
-    bool result = false;
-    aRelativePath.insert(0,"c:");
-    HBufC* relBuffer =NULL;
-        
-    TRAPD(err, relBuffer = HBufC::NewL(aRelativePath.getCharLength()))
-    __MUL_ASSERT(err == KErrNone ,_L("Bad Alloc")); 
-    
-    try
-	    {  
-	    TPtr ptr = relBuffer->Des()              ;
-	    MulModelUtility::ConvertUStringToTDes(aRelativePath,ptr);    
-			
-	    if(IsFileExists(*relBuffer))
-	    	{
-	    	result = true;
-	    	}
-	   	else
-		   	{		   	
-		   	aRelativePath.replace(0,"z");
-		    MulModelUtility::ConvertUStringToTDes(aRelativePath,ptr);    
-		    if(IsFileExists(*relBuffer))
-		    	{
-		    	result = true;
-		    	}
-		    else
-		    	{
-		    	aRelativePath.erase(0,2);	
-		    	}		
-		   	}
-	   	   	    
-	    }
-	catch(...)
-		{
-		
-		}
-	delete relBuffer;	
-    return result;
-    }
-
-//-----------------------------------------------------------------------------
-// IsLandscape
-//-----------------------------------------------------------------------------
-//    
-OSN_EXPORT  bool MulUtility::IsLandscape()
-	{
-	MUL_LOG_INFO("aakash::MulUtility::IsLandscape");
-	CAknAppUiBase::TAppUiOrientation 
-        orientation = static_cast<CAknAppUi*>((CEikonEnv::Static()->EikAppUi()))->Orientation();
-        
-                            
-	if (orientation == CAknAppUiBase::EAppUiOrientationLandscape)
-    {
-  	 return true;
-   
-    }
-    
-     else if (orientation == CAknAppUiBase::EAppUiOrientationUnspecified )
-     {
-        AknLayoutUtils::TAknCbaLocation cbaLocation = AknLayoutUtils::CbaLocation();
-        if ( (cbaLocation == AknLayoutUtils::EAknCbaLocationRight) ||
-             (cbaLocation == AknLayoutUtils::EAknCbaLocationLeft) )
-            {
-            //landscape
-            return true;
-            }
-        else
-            {
-            // Portrait
-            return false;
-            }
-    }
-    return false;
-    
-	}
-
-//-----------------------------------------------------------------------------
-// IsFileExists
-//-----------------------------------------------------------------------------
-//  
-bool MulUtility::IsFileExists(/*const char* afilePath*/const TDesC& aFilePath)
-    {
-    MUL_LOG_INFO("aakash::MulUtility::IsFileExists");
-    bool result(false);
-    
-  	  
-    RFs fSession;
-    TInt fsError = fSession.Connect();    
-    __MUL_ASSERT(fsError == KErrNone,_L("File Session unable to connect"));    
-    
-    RFile chkFile;    
-    TInt errCode = chkFile.Open(fSession,aFilePath,EFileRead);
-    if(KErrPathNotFound != errCode)
-    	{
-    	result = true;	
-    	}    
-    chkFile.Close();	
-    fSession.Close();		
-    return result;        
-    }
-    
-// ---------------------------------------------------------------------------
-// IsPoolResource   
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT bool MulUtility::IsPoolResource(const UString& aImageTag)
-    {    
-    TPtrC8 src((TUint8*)aImageTag.getUtf8());
-    _LIT8(KMulTag,"MUL_RP");
-
-    return ( KErrNotFound != src.FindC(KMulTag));    
-    }
-//----------------------------------------------------------------------------
-//IsQwerty
-//----------------------------------------------------------------------------
-OSN_EXPORT bool MulUtility::IsQwerty()
-	{
-		CKeyBoardUtility* iKBUtility = CKeyBoardUtility::NewL();
-		if(iKBUtility)
-		{
-			return iKBUtility->IsQwerty();
-		}
-		return false;
-	}
-
-    } // namespace ends
-
-// End of file
--- a/mulwidgets/common/src/mulvisualutility.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Utility class for widgets visualization in terms of LCT data
- *
-*/
-
-
-// includes
-// Class header
-#include "mulvisualutility.h"
-
-// Alf headers
-#include "alf/alfanchorlayoutattributesetter.h"
-#include "alf/alfattribute.h"
-#include "alf/alfattributecontainer.h"
-#include <alf/alfenv.h> 
-#include "alf/alftextvisualattributesetter.h"
-#include "alf/alfvisualtemplate.h"
-#include <alf/alfutil.h>
-
-// DUI headers for xml parser
-
-#include "alf/attrproperty.h"
-
-#include<aknlayoutscalable_uiaccel.cdl.h>
-
-// Local headers
-#include "mulimagevisualattributesetter.h"
-#include "mulassert.h"
-#include "mulutility.h"
-#include "mullog.h" //for logs
-using namespace duiuimodel;
-
-
-namespace Alf
-{
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//	
-OSN_EXPORT MulVisualUtility::MulVisualUtility()
-    {
-    mData.reset(new (EMM) LCTData);                    
-    }
-    
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulVisualUtility::~MulVisualUtility()
-    {
-	// Nothing to destroy
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// parseLCTInfo 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void MulVisualUtility::parseLCTInfo(const LCTPair& aPair, CAlfLayout* aParentLayout)
-	{
-	TAknWindowLineLayout componentLayout;
-	TAknLayoutRect layoutRect;
-	UString lctId = aPair.mLctId;
-	TSize parentSize (0,0) ; 
-	if(aParentLayout )
-	{
-		parentSize = aParentLayout->Size().Target().AsSize();	
-	}
-	else
-	{
-		TSize size = AlfUtil::ScreenSize();
-		TAknWindowLineLayout parentLayout;
-		TAknLayoutRect layout;
-		bool isLandscape = MulUtility::IsLandscape();
-		if(!isLandscape)
-		{
-			parentLayout = AknLayoutScalable_UiAccel::main_pane(5).LayoutLine();
-		}
-		else
-		{
-			parentLayout = AknLayoutScalable_UiAccel::main_pane(6).LayoutLine();
-		}
-		
-		layout.LayoutRect( TRect(size), parentLayout );
-		parentSize.iWidth = layout.Rect().Width();
-		parentSize.iHeight = layout.Rect().Height();
-	}
-	
-	if(!lctId.compare(UString("uiaccel_main_aa_gridscroll_pane")))
-	    {
-	    componentLayout = AknLayoutScalable_UiAccel::main_aa_gridscroll_pane(aPair.mVariety).LayoutLine();
-                
-	    }
-	if(!lctId.compare(UString("uiaccel_aagrid_gene_pane")))
-	    {
-	    componentLayout = AknLayoutScalable_UiAccel::aagrid_gene_pane(aPair.mVariety).LayoutLine();
-        
-        	    
-	    }
-	if(!lctId.compare(UString("uiaccel_aagrid_cell_image_pane")))
-	    {
-	    componentLayout = AknLayoutScalable_UiAccel::aagrid_cell_image_pane(aPair.mVariety, 0, 0 ).LayoutLine();
-        
-        }
-	if(!lctId.compare(UString("uiaccel_aa_scroll_pane_cp001")))
-	    {
-	    componentLayout = AknLayoutScalable_UiAccel::aa_scroll_pane_cp001(aPair.mVariety).LayoutLine();
-        
-        }
-        
-    if(!lctId.compare(UString("uiaccel_aagrid_cell_image_pane_g1")) )
-    	{
-    	componentLayout = AknLayoutScalable_UiAccel::aagrid_cell_image_pane_g1(aPair.mVariety).LayoutLine();
-    	}
-    
-    if(!lctId.compare(UString("uiaccel_aagrid_cell_image_pane_g2")) )
-    	{
-    	componentLayout = AknLayoutScalable_UiAccel::aagrid_cell_image_pane_g2(aPair.mVariety).LayoutLine();
-    	}
-    	
-    if(!lctId.compare(UString("uiaccel_aagrid_cell_image_pane_g3")) )
-    	{
-    	componentLayout = AknLayoutScalable_UiAccel::aagrid_cell_image_pane_g3(aPair.mVariety).LayoutLine();
-    	}			
-	    
-	if(!lctId.compare(UString("uiaccel_aagrid_cell_image_pane_g4")) )
-    	{
-    	componentLayout = AknLayoutScalable_UiAccel::aagrid_cell_image_pane_g4(aPair.mVariety).LayoutLine();
-    	}			
-	        
-	    
-	    layoutRect.LayoutRect( TRect(parentSize), componentLayout );
-	    
-	    mData->mPosX = layoutRect.Rect().iTl.iX;
-        mData->mPosY = layoutRect.Rect().iTl.iY;
-        mData->mWidth = layoutRect.Rect().Width();
-        mData->mHeight = layoutRect.Rect().Height();
-	
-    }
-
-// ---------------------------------------------------------------------------
-// parseLCTInfo 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void MulVisualUtility::parseLCTTextInfo()
-	{
-	
-	}
-	
-// ---------------------------------------------------------------------------
-// Returns the structure containing width, height etc info
-// ---------------------------------------------------------------------------
-//	
-OSN_EXPORT const LCTData& MulVisualUtility::data() const
-    {
-    return *(mData.get());
-    }
-
-// ---------------------------------------------------------------------------
-// Internal function to convert LCT IDs into absolute data for text
-// ---------------------------------------------------------------------------
-//
-void MulVisualUtility::readLCTTextData()
-	{
-	
-	}
-	
-// ---------------------------------------------------------------------------
-// Internal function to concert LCT IDs into absolute data 
-// ---------------------------------------------------------------------------
-//
-void MulVisualUtility::readLCTData()
-	{
-	
-	}
-	
-// ---------------------------------------------------------------------------
-// Internal function
-// ---------------------------------------------------------------------------
-//	
-bool MulVisualUtility::isParentRelative(int /*aVal*/) const
-    {
-    return false;
-    }
-
-} // namespace Alf
-
-// End of file
--- a/mulwidgets/gesturehelper/bwins/gesturehelperu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-EXPORTS
-	??0CGestureControl@GestureHelper@@IAE@XZ @ 1 NONAME ; GestureHelper::CGestureControl::CGestureControl(void)
-	??1CGestureControl@GestureHelper@@UAE@XZ @ 2 NONAME ; GestureHelper::CGestureControl::~CGestureControl(void)
-	??1CGestureHelper@GestureHelper@@UAE@XZ @ 3 NONAME ; GestureHelper::CGestureHelper::~CGestureHelper(void)
-	?Cancel@CGestureHelper@GestureHelper@@QAEXXZ @ 4 NONAME ; void GestureHelper::CGestureHelper::Cancel(void)
-	?ConstructL@CGestureControl@GestureHelper@@IAEXAAVMGestureObserver@2@AAVCAlfEnv@@AAVCAlfDisplay@@H@Z @ 5 NONAME ; void GestureHelper::CGestureControl::ConstructL(class GestureHelper::MGestureObserver &, class CAlfEnv &, class CAlfDisplay &, int)
-	?HandlePointerEventL@CGestureHelper@GestureHelper@@QAEHABUTPointerEvent@@@Z @ 6 NONAME ; int GestureHelper::CGestureHelper::HandlePointerEventL(struct TPointerEvent const &)
-	?InitAlfredPointerCaptureL@CGestureHelper@GestureHelper@@QAEXAAVCAlfEnv@@AAVCAlfDisplay@@H@Z @ 7 NONAME ; void GestureHelper::CGestureHelper::InitAlfredPointerCaptureL(class CAlfEnv &, class CAlfDisplay &, int)
-	?IsHoldingEnabled@CGestureControl@GestureHelper@@QBEHXZ @ 8 NONAME ; int GestureHelper::CGestureControl::IsHoldingEnabled(void) const
-	?IsHoldingEnabled@CGestureHelper@GestureHelper@@QBEHXZ @ 9 NONAME ; int GestureHelper::CGestureHelper::IsHoldingEnabled(void) const
-	?NewL@CGestureHelper@GestureHelper@@SAPAV12@AAVMGestureObserver@2@@Z @ 10 NONAME ; class GestureHelper::CGestureHelper * GestureHelper::CGestureHelper::NewL(class GestureHelper::MGestureObserver &)
-	?NewLC@CGestureControl@GestureHelper@@SAPAV12@AAVMGestureObserver@2@AAVCAlfEnv@@AAVCAlfDisplay@@H@Z @ 11 NONAME ; class GestureHelper::CGestureControl * GestureHelper::CGestureControl::NewLC(class GestureHelper::MGestureObserver &, class CAlfEnv &, class CAlfDisplay &, int)
-	?OfferEventL@CGestureControl@GestureHelper@@UAEHABVTAlfEvent@@@Z @ 12 NONAME ; int GestureHelper::CGestureControl::OfferEventL(class TAlfEvent const &)
-	?OfferEventL@CGestureHelper@GestureHelper@@QAEHABVTAlfEvent@@@Z @ 13 NONAME ; int GestureHelper::CGestureHelper::OfferEventL(class TAlfEvent const &)
-	?SetHoldingEnabled@CGestureControl@GestureHelper@@QAEXH@Z @ 14 NONAME ; void GestureHelper::CGestureControl::SetHoldingEnabled(int)
-	?SetHoldingEnabled@CGestureHelper@GestureHelper@@QAEXH@Z @ 15 NONAME ; void GestureHelper::CGestureHelper::SetHoldingEnabled(int)
-	?VisualByCoordinates@HitTest@GestureHelper@@SAPAVCAlfVisual@@ABVCAlfControl@@ABVTPoint@@@Z @ 16 NONAME ; class CAlfVisual * GestureHelper::HitTest::VisualByCoordinates(class CAlfControl const &, class TPoint const &)
-	?IsDoubleTapEnabled@CGestureControl@GestureHelper@@QBEHXZ @ 17 NONAME ; int GestureHelper::CGestureControl::IsDoubleTapEnabled(void) const
-	?IsDoubleTapEnabled@CGestureHelper@GestureHelper@@QBEHXZ @ 18 NONAME ; int GestureHelper::CGestureHelper::IsDoubleTapEnabled(void) const
-	?SetDoubleTapEnabled@CGestureControl@GestureHelper@@QAEXH@Z @ 19 NONAME ; void GestureHelper::CGestureControl::SetDoubleTapEnabled(int)
-	?SetDoubleTapEnabled@CGestureHelper@GestureHelper@@QAEXH@Z @ 20 NONAME ; void GestureHelper::CGestureHelper::SetDoubleTapEnabled(int)
-	?AddObserver@CGestureHelper@GestureHelper@@QAEXPAVMGestureObserver@2@@Z @ 21 NONAME ; void GestureHelper::CGestureHelper::AddObserver(class GestureHelper::MGestureObserver *)
-
--- a/mulwidgets/gesturehelper/eabi/gesturehelperu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-EXPORTS
-	_ZN13GestureHelper14CGestureHelper11OfferEventLERK9TAlfEvent @ 1 NONAME
-	_ZN13GestureHelper14CGestureHelper17SetHoldingEnabledEi @ 2 NONAME
-	_ZN13GestureHelper14CGestureHelper19HandlePointerEventLERK13TPointerEvent @ 3 NONAME
-	_ZN13GestureHelper14CGestureHelper25InitAlfredPointerCaptureLER7CAlfEnvR11CAlfDisplayi @ 4 NONAME
-	_ZN13GestureHelper14CGestureHelper4NewLERNS_16MGestureObserverE @ 5 NONAME
-	_ZN13GestureHelper14CGestureHelper6CancelEv @ 6 NONAME
-	_ZN13GestureHelper14CGestureHelperD0Ev @ 7 NONAME
-	_ZN13GestureHelper14CGestureHelperD1Ev @ 8 NONAME
-	_ZN13GestureHelper14CGestureHelperD2Ev @ 9 NONAME
-	_ZN13GestureHelper15CGestureControl10ConstructLERNS_16MGestureObserverER7CAlfEnvR11CAlfDisplayi @ 10 NONAME
-	_ZN13GestureHelper15CGestureControl11OfferEventLERK9TAlfEvent @ 11 NONAME
-	_ZN13GestureHelper15CGestureControl17SetHoldingEnabledEi @ 12 NONAME
-	_ZN13GestureHelper15CGestureControl5NewLCERNS_16MGestureObserverER7CAlfEnvR11CAlfDisplayi @ 13 NONAME
-	_ZN13GestureHelper15CGestureControlC1Ev @ 14 NONAME
-	_ZN13GestureHelper15CGestureControlC2Ev @ 15 NONAME
-	_ZN13GestureHelper15CGestureControlD0Ev @ 16 NONAME
-	_ZN13GestureHelper15CGestureControlD1Ev @ 17 NONAME
-	_ZN13GestureHelper15CGestureControlD2Ev @ 18 NONAME
-	_ZN13GestureHelper7HitTest19VisualByCoordinatesERK11CAlfControlRK6TPoint @ 19 NONAME
-	_ZNK13GestureHelper14CGestureHelper16IsHoldingEnabledEv @ 20 NONAME
-	_ZNK13GestureHelper15CGestureControl16IsHoldingEnabledEv @ 21 NONAME
-	_ZTIN13GestureHelper15CGestureControlE @ 22 NONAME ; #<TI>#
-	_ZTVN13GestureHelper15CGestureControlE @ 23 NONAME ; #<VT>#
-	_ZThn32_N13GestureHelper15CGestureControl11OfferEventLERK9TAlfEvent @ 24 NONAME ; #<thunk>#
-	_ZN13GestureHelper14CGestureHelper19SetDoubleTapEnabledEi @ 25 NONAME
-	_ZN13GestureHelper15CGestureControl19SetDoubleTapEnabledEi @ 26 NONAME
-	_ZNK13GestureHelper14CGestureHelper18IsDoubleTapEnabledEv @ 27 NONAME
-	_ZNK13GestureHelper15CGestureControl18IsDoubleTapEnabledEv @ 28 NONAME
-	_ZN13GestureHelper14CGestureHelper11AddObserverEPNS_16MGestureObserverE @ 29 NONAME
-
--- a/mulwidgets/gesturehelper/group/all.cmd	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: Command file for building gesturehelper for winscw and armv5 platforms
-rem
-
-call wins
-call twins
-call arm
-call tarm
--- a/mulwidgets/gesturehelper/group/arm.cmd	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: Command file for building gesturehelper for armv5 platform
-rem
-
-call bldmake bldfiles
-call abld build armv5 urel
\ No newline at end of file
--- a/mulwidgets/gesturehelper/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Build information 
-*
-*/
-
-#include <platform_paths.hrh>
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-../rom/gesturehelper.iby      CORE_MW_LAYER_IBY_EXPORT_PATH(gesturehelper.iby)
-PRJ_MMPFILES
-gesturehelper.mmp
-
--- a/mulwidgets/gesturehelper/group/clean.cmd	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: Command file to clean gesturehelper build for winscw and armv5 platform
-rem
-
-call abld reallyclean
-call abld test reallyclean
--- a/mulwidgets/gesturehelper/group/freeze.cmd	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: Command file for freezing def files
-rem
-
-call clean
-call wins
-call arm
-call attrib -r ..\bwins\*.def
-call attrib -r ..\eabi\*.def
-call abld freeze winscw
-call abld freeze armv5
-call clean
-call all
--- a/mulwidgets/gesturehelper/group/gesturehelper.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Project definition file 
-*
-*/
-
-#include <platform_paths.hrh>
-
-TARGET        gesturehelper.dll
-TARGETTYPE    dll
-UID           0x0 0x20010978
-
-
-CAPABILITY    CAP_CLIENT_DLL
-VENDORID      VID_DEFAULT
-
-USERINCLUDE  ../inc
-SYSTEMINCLUDE  ../inc // public includes use other gesture helper headers as system include
-
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH    ../src
-
-SOURCE        gesture.cpp
-SOURCE        gesturecontrol.cpp
-SOURCE        gesturehelper.cpp
-SOURCE        gesturehelperimpl.cpp
-SOURCE        gesturerecogniser.cpp
-SOURCE        hittest.cpp
-SOURCE        pointarray.cpp
-SOURCE        pointercapturer.cpp
-SOURCE        utils.cpp
-
-LIBRARY       alfclient.lib
-LIBRARY       avkon.lib
-LIBRARY       cone.lib
-LIBRARY        ws32.lib
-LIBRARY       euser.lib
--- a/mulwidgets/gesturehelper/group/tarm.cmd	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: Command file for gesturehelper test build for armv5 platform
-rem
-
-call bldmake bldfiles
-call abld test build armv5 urel
\ No newline at end of file
--- a/mulwidgets/gesturehelper/group/twins.cmd	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: Command file for gesturehelper test build for winscw platform
-rem
-
-call bldmake bldfiles
-call abld test build winscw udeb
-call move /y \epoc32\release\winscw\udeb\t_gesture*.dll \epoc32\release\winscw\udeb\z\sys\bin\
--- a/mulwidgets/gesturehelper/group/wins.cmd	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: Command file for building gesturehelper for winscw platform
-rem
-
-call bldmake bldfiles
-call abld build winscw udeb
--- a/mulwidgets/gesturehelper/rom/gesturehelper.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2008-2008 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:  Gesture helper iby file
-*
-*/
-
-#ifndef _GESTUREHELPER_IBY_
-#define _GESTUREHELPER_IBY_
-
-#include <data_caging_paths_for_iby.hrh>
-
-file=ABI_DIR\BUILD_DIR\gesturehelper.dll SHARED_LIB_DIR\gesturehelper.dll
-
-#endif // _GESTUREHELPER_IBY_
--- a/mulwidgets/gesturehelper/src/gesture.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,931 +0,0 @@
-/*
-* Copyright (c) 2008-2008 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:  Gesture class
-*
-*/
-
-#include "gesture.h"
-
-#include <e32math.h>
-
-#include "gesturedefs.h"
-#include "utils.h"
-
-using namespace GestureHelper;
-
-/** 
- * Point array for which only x axis is relevant
- */
-class TXAxisPointArray : public TPointArray
-    {
-public:
-    TXAxisPointArray( const RArray< TPointEntry >& aPoints )
-            : TPointArray( aPoints ) {}
-        
-    // from TPointArray
-    TPoint operator[]( TInt aIndex ) const 
-        {
-        return TPoint( Raw( aIndex ).iX, 0 );
-        }
-    };
-
-/** 
- * Point array for which only y axis is relevant
- */
-class TYAxisPointArray : public TPointArray
-    {
-public:
-    TYAxisPointArray( const RArray< TPointEntry >& aPoints )
-            : TPointArray( aPoints ) {}
-    
-    // from TPointArray
-    TPoint operator[]( TInt aIndex ) const 
-        {
-        return TPoint( 0, Raw( aIndex ).iY );
-        }
-    };
-
-namespace 
-    {
-    /** @return the current time */
-    TTime CurrentTime()
-        {
-        TTime time;
-        time.UniversalTime();
-        return time;
-        }
-
-    /**
-     * @param aRelevantAxis See @ref MGestureEvent::Code
-     * @return gesture code by analysing the sequence of points
-     */
-    TGestureCode CodeFromPoints( const RArray< TPointEntry >& aPoints, 
-            MGestureEvent::TAxis aRelevantAxis ) 
-        {
-        // select the correct filter based on aRelevantAxis
-        // these filter_ objects are array decorators that will eliminate either 
-        // x, y or neither coordinate of each point
-        TXAxisPointArray filterY( aPoints );
-        TYAxisPointArray filterX( aPoints );
-        TPointArray filterNone( aPoints );
-        TPointArray& filter = 
-            aRelevantAxis == MGestureEvent::EAxisHorizontal ? static_cast< TPointArray& >( filterY ) : 
-            aRelevantAxis == MGestureEvent::EAxisVertical   ? static_cast< TPointArray& >( filterX ) :
-            /* otherwise EAxisBoth */                         filterNone;
-                            
-        // currently the gesture recogniser does not have any state, so it is fast
-        // to instantiate. The call is not static however, to allow the recogniser
-        // to be replaced by a more complicated implementation that has state.
-        // then it may make sense to make the recogniser a member variable.
-        return TGestureRecogniser().GestureCode( filter, aRelevantAxis );
-        }
-
-    /**
-     * @param aPoints Sequence of points representing 1st pointer movement
-     * @param aSecondaryPoints Sequence of points representing 2nd pointer movement
-     * @param aPreviousDistance contains the previous distance aftre this function execution 
-     * @return gesture code by analysing the sequence of points
-     */
-    TGestureCode MultiTouchCode( const RArray< TPointEntry >& aPoints, 
-            const RArray< TPointEntry >& aSecondaryPoints, TInt aPreviousDistance, TBool aIsFirstPinch ) 
-        {
-        TPointArray filter(aPoints);
-        TPointArray secondaryFilter(aSecondaryPoints);
-        return TGestureRecogniser().MultiTouchGestureCode( filter, secondaryFilter, aPreviousDistance, aIsFirstPinch );
-        }
-    } // unnamed namespace
-
-// ----------------------------------------------------------------------------
-// constructor
-// ----------------------------------------------------------------------------
-//
-CGesture::CGesture()
-    {
-    iPinchStartDistance = -1;
-    iPinchEndDistance = -1;
-    iPinchDetected = EFalse ; 
-    }
-
-// ----------------------------------------------------------------------------
-// destructor
-// ----------------------------------------------------------------------------
-//
-CGesture::~CGesture()
-    {
-    iPoints.Close();
-    iSecondaryPoints.Close();
-    }
-
-// ----------------------------------------------------------------------------
-// AsStartEventL
-// ----------------------------------------------------------------------------
-//
-CGesture* CGesture::AsStartEventLC() const
-    {
-    __ASSERT_DEBUG( 0 < iPoints.Count(), Panic( EGesturePanicIllegalLogic ) );
-    CGesture* gesture = new ( ELeave ) CGesture;
-    CleanupStack::PushL( gesture );
-    User::LeaveIfError( gesture->AddPoint( iPoints[0].iPos ) );
-    return gesture;
-    }
-
-// ----------------------------------------------------------------------------
-// ResetToLastPoint
-// ----------------------------------------------------------------------------
-//
-void CGesture::ResetToLastPoint(TBool aSetPointerZero,TBool aSetToZero)
-    {
-    TPointEntry lastEntry(TPoint(0,0),TTime());
-    if( aSetToZero )
-        {
-        __ASSERT_DEBUG( 0 < iPoints.Count(), Panic( EGesturePanicIllegalLogic ) );
-        lastEntry = LastPoint( iPoints);
-        }
-    else
-        {
-        __ASSERT_DEBUG( 0 < iSecondaryPoints.Count(), Panic( EGesturePanicIllegalLogic ) );
-        lastEntry = LastPoint( iSecondaryPoints);
-        }
-    Reset();
-    if( aSetPointerZero )
-        {
-        iPoints.Append(lastEntry);
-        }
-    else
-        {
-        iSecondaryPoints.Append(lastEntry);  
-        }     
-    }
-
-// ----------------------------------------------------------------------------
-// LastPoint
-// ----------------------------------------------------------------------------
-//
-inline const TPointEntry CGesture::LastPoint( const RArray< TPointEntry >& aPoints ) const
-    {
-    return aPoints[aPoints.Count() - 1];
-    }
-
-// ----------------------------------------------------------------------------
-// IsPinchToleranceHigh
-// ----------------------------------------------------------------------------
-//
-inline TBool CGesture::IsHighPinchTolerance() const
-    {
-  
-    if( iPinchEndDistance == -1 )
-        {
-        return ETrue;
-        }
-    else
-        {
-        TInt currentDistance = TGestureRecogniser().Length( LastPoint(iPoints).iPos, LastPoint(iSecondaryPoints).iPos );
-        // if previously zooming out and current distance corresponds to zooming in or viceversa
-        if( ( iZoomState == EZoomOut && currentDistance < iPinchStartDistance) || 
-                ( iZoomState == EZoomIn && currentDistance > iPinchStartDistance))
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-// ----------------------------------------------------------------------------
-// Reset
-// ----------------------------------------------------------------------------
-//
-void CGesture::Reset()
-    {
-    iPoints.Reset();
-    iSecondaryPoints.Reset();
-    iHoldingState = ENotHolding;
-    iState = ENotActive;
-    iHoldingPointIndex = 0;
-    iVisual = NULL;
-    iIsDoubleTap = EFalse;
-    iPinchStartDistance = -1;
-    iPinchEndDistance = -1;
-    iPinchDetected = EFalse;
-    iZoomState = ENoZoom;
-    }
-    
-// ----------------------------------------------------------------------------
-// IsEmpty
-// ----------------------------------------------------------------------------
-//
-TBool CGesture::IsEmpty() const
-    {
-    return iPoints.Count() == 0;
-    }
-
-// ----------------------------------------------------------------------------
-// IsMultiTouch
-// ----------------------------------------------------------------------------
-//
-TBool CGesture::IsMultiTouch() const
-    {
-    return iSecondaryPoints.Count() == 0;
-    }
-
-// ----------------------------------------------------------------------------
-// Add a point to the sequence of points that together make up the gesture
-// ----------------------------------------------------------------------------
-//
-TInt CGesture::AddPoint( const TPoint& aPoint )
-    {
-    if ( !IsLatestPoint( aPoint ) )
-        {
-        return iPoints.Append( TPointEntry( aPoint, CurrentTime() ) );
-        }
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// AddSecondaryPoint
-// ----------------------------------------------------------------------------
-//
-TInt CGesture::AddSecondaryPoint( const TPoint& aPoint )
-    {
-    if ( !IsLatestSecondaryPoint( aPoint ) )
-        {
-        return iSecondaryPoints.Append( TPointEntry( aPoint, CurrentTime() ) );
-        }
-    return KErrNone;
-    }
-
-// ----------------------------------------------------------------------------
-// SetVisual
-// ----------------------------------------------------------------------------
-//
-void CGesture::SetVisual( CAlfVisual* aVisual )
-    {
-    iVisual = aVisual;
-    }
-
-// ----------------------------------------------------------------------------
-// IsNearHoldingPoint
-// ----------------------------------------------------------------------------
-//
-TBool CGesture::IsNearHoldingPoint( const TPoint& aPoint ) const
-    {
-    return ToleranceRect( iPoints[ iHoldingPointIndex ].iPos ).Contains( aPoint );
-    }
-
-// ----------------------------------------------------------------------------
-// IsLatestPoint
-// ----------------------------------------------------------------------------
-//
-TBool CGesture::IsLatestPoint( const TPoint& aPoint ) const
-    {
-    if ( iPoints.Count() > 0 )
-        {
-        return aPoint == CurrentPos();
-        }
-    return EFalse;
-    }
-// ----------------------------------------------------------------------------
-// IsLatestSecondaryPoint
-// ----------------------------------------------------------------------------
-//
-TBool CGesture::IsLatestSecondaryPoint( const TPoint& aPoint ) const
-    {
-    if ( iSecondaryPoints.Count() > 0 )
-        {
-        return aPoint == iSecondaryPoints[ iSecondaryPoints.Count() - 1 ].iPos;
-        }
-    return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// StartHolding
-// ----------------------------------------------------------------------------
-//
-void CGesture::StartHolding()
-    {
-    iHoldingState = EHoldStarting;
-    
-    // remove all points that were introduced after holding started
-    for ( TInt i = iPoints.Count() - 1; i > iHoldingPointIndex; i-- )
-        {
-        iPoints.Remove( i );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// SetHoldingPoint
-// ----------------------------------------------------------------------------
-//
-void CGesture::SetHoldingPoint()
-    {
-    iHoldingPointIndex = iPoints.Count() - 1;
-    }
-
-// ----------------------------------------------------------------------------
-// ContinueHolding
-// ----------------------------------------------------------------------------
-//
-void CGesture::ContinueHolding()
-    {
-    iHoldingState = EHolding;
-    }
-
-// ----------------------------------------------------------------------------
-// SetSingleTouchActive
-// ----------------------------------------------------------------------------
-//
-void CGesture::SetSingleTouchActive()
-    {
-    __ASSERT_DEBUG( ENotActive == iState, Panic( EGesturePanicIllegalLogic ) );
-    iState = ESingleTouchActive;
-    }
-// ----------------------------------------------------------------------------
-// SetMultiTouchActive
-// ----------------------------------------------------------------------------
-//
-void CGesture::SetMultiTouchActive()
-    {
-    iState = EMultiTouchActive;
-    iIsMultiTouched = ETrue;
-    }
-// ----------------------------------------------------------------------------
-// SetSingleTouchReleased
-// ----------------------------------------------------------------------------
-//
-void CGesture::SetSingleTouchReleased()
-    {
-    // IsMovementStopped expects corresponding SetComplete to be called before SetRelease
-    __ASSERT_DEBUG( ESingleTouchComplete == iState, Panic( EGesturePanicIllegalLogic ) );
-    iState = ESingleTouchReleased;
-    iIsMultiTouched = EFalse;
-    }
-// ----------------------------------------------------------------------------
-// SetMultiTouchReleased
-// ----------------------------------------------------------------------------
-//
-void CGesture::SetMultiTouchReleased()
-    {
-    // IsMovementStopped expects corresponding SetComplete to be called before SetRelease
-    __ASSERT_DEBUG( EMultiTouchComplete == iState, Panic( EGesturePanicIllegalLogic ) );
-    iState = EMultiTouchReleased;
-    }
-
-/**
- * @return elapsed time between aStartTime and aEndTime
- */
-inline TTimeIntervalMicroSeconds32 Elapsed( const TTime& aStartTime, 
-                                            const TTime& aEndTime )
-    {
-    return aEndTime.MicroSecondsFrom( aStartTime ).Int64();
-    }
-
-// ----------------------------------------------------------------------------
-// SetSingleTouchComplete
-// ----------------------------------------------------------------------------
-//
-void CGesture::SetSingleTouchComplete()
-    {
-    __ASSERT_DEBUG( iPoints.Count() > 0, Panic( EGesturePanicIllegalLogic ) );
-    iState = ESingleTouchComplete;
-    iCompletionTime = CurrentTime();
-    }
-
-// ----------------------------------------------------------------------------
-// SetMultiTouchComplete
-// ----------------------------------------------------------------------------
-//
-void CGesture::SetMultiTouchComplete()
-    {
-    __ASSERT_DEBUG( iSecondaryPoints.Count() > 0, Panic( EGesturePanicIllegalLogic ) );
-    iState = EMultiTouchComplete;
-    }
-
-// ----------------------------------------------------------------------------
-// SetCancelled
-// ----------------------------------------------------------------------------
-//
-void CGesture::SetCancelled()
-    {
-    iState = ECancelled;
-    }
-
-// ----------------------------------------------------------------------------
-// SetDoubleTap
-// ----------------------------------------------------------------------------
-//
-void CGesture::SetDoubleTap() 
-    { 
-    iIsDoubleTap = ETrue; 
-    }
-
-// ----------------------------------------------------------------------------
-// IsTap
-// ----------------------------------------------------------------------------
-//
-TBool CGesture::IsTap() const
-    {
-    if(iIsMultiTouched)
-        {
-        return EFalse;
-        }
-    return CodeFromPoints( iPoints, EAxisBoth ) == EGestureTap;
-    }
-
-// ----------------------------------------------------------------------------
-// IsPinch
-// ----------------------------------------------------------------------------
-//
-TBool CGesture::IsPinch()
-    {
-    if (iPinchStartDistance  == -1 )
-        {
-        iPinchStartDistance = TGestureRecogniser().Length( iPoints[0].iPos, iSecondaryPoints[0].iPos ) ;
-        }
-    // if there is a pinch detected in the last attempt then update the start distance.
-    // henceforth this new distance is used as reference for calculating the pinch.
-    
-    if( iPinchDetected )
-        {
-        iPinchStartDistance = iPinchEndDistance;
-        }
-    iPinchDetected = MultiTouchCode( iPoints, iSecondaryPoints, iPinchStartDistance,IsHighPinchTolerance()) == EGesturePinch;
-    if( iPinchDetected )
-        {
-        // This end distance is updated the first time the pinch is detected.
-        // This is done the save the value of pinch end distnce for further refernce to
-        // update the pinch start distance next time any pointer position changes.
-        iPinchEndDistance = TGestureRecogniser().Length( 
-                LastPoint(iPoints).iPos,LastPoint(iSecondaryPoints).iPos );
-        iZoomState = iPinchEndDistance > iPinchStartDistance ? EZoomOut : EZoomIn;
-        }
-    return iPinchDetected;
-    }
-
-/**
- * Translates a non-holding code into a holding code
- * @param aCode original gesture code
- * @return a gesture code with hold flag applied
- */
-inline TGestureCode Hold( TGestureCode aCode )
-    {
-    if ( aCode != EGestureStart && 
-         aCode != EGestureDrag && 
-         aCode != EGestureReleased && 
-         aCode != EGestureUnknown )
-        {
-        return static_cast< TGestureCode >( aCode | EFlagHold );
-        }
-    return aCode;
-    }
-    
-// ----------------------------------------------------------------------------
-// Code
-// ----------------------------------------------------------------------------
-//
-TGestureCode CGesture::Code( TAxis aRelevantAxis ) const
-    {
-    switch ( iState )
-        {
-        case ESingleTouchActive:           
-            // "start" event if only first point received
-            // need to check that not holding, in case user pressed stylus
-            // down, and activated holding without moving the stylus
-            if ( iPoints.Count() == 1 && !IsHolding() )
-                {
-                return EGestureStart;
-                }
-            // "drag" event if holding not started or holding started earlier
-            else if ( iHoldingState != EHoldStarting )
-                {
-                // select the correct filter based on aRelevantAxis
-                // these filter_ objects are array decorators that will eliminate either 
-                // x, y or neither coordinate of each point
-                TXAxisPointArray filterY( iPoints );
-                TYAxisPointArray filterX( iPoints );
-                TPointArray filterNone( iPoints );
-                TPointArray& filter = 
-                    aRelevantAxis == MGestureEvent::EAxisHorizontal ? static_cast< TPointArray& >( filterY ) : 
-                    aRelevantAxis == MGestureEvent::EAxisVertical   ? static_cast< TPointArray& >( filterX ) :
-                    /* otherwise EAxisBoth */                         filterNone;
-            
-                return TGestureRecogniser().ValidateDrag( filter, aRelevantAxis );
-                }
-            // holding was just started
-            else 
-                {
-                return Hold( CodeFromPoints( iPoints, aRelevantAxis ) );
-                }
-            
-        case EMultiTouchActive:
-            // Only if there are some points in secondary array
-            if ( iSecondaryPoints.Count() == 1 && iPoints.Count() == 1 )
-                {
-                return EGestureMultiTouchStart;
-                }
-            else
-                {
-                return MultiTouchCode( iPoints, iSecondaryPoints,  iPinchStartDistance,IsHighPinchTolerance() );
-                }
-
-        case ESingleTouchComplete:
-			{
-            if ( iIsDoubleTap )
-                {
-                return EGestureDoubleTap;
-                }
-            
-            // If there was a mulitouch within the last gesture then ignore the tap
-			TGestureCode gestureCode = CodeFromPoints( iPoints, aRelevantAxis );
-            if( gestureCode == EGestureTap && iIsMultiTouched)
-                {
-                return EGestureUnknown;
-                }
-            return gestureCode;
-            }
-        case EMultiTouchComplete:
-            return MultiTouchCode( iPoints, iSecondaryPoints, iPinchStartDistance,IsHighPinchTolerance());
-            
-        case ESingleTouchReleased:
-            return EGestureReleased;
-        case EMultiTouchReleased:
-            return EGestureMultiTouchReleased;         
-            
-        case ECancelled: // fallthrough
-        case ENotActive:
-        default: 
-            return EGestureUnknown;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// IsHolding
-// ----------------------------------------------------------------------------
-//
-TBool CGesture::IsHolding() const
-    {
-    return iHoldingState >= EHoldStarting;
-    }
-
-// ----------------------------------------------------------------------------
-// StartPos
-// ----------------------------------------------------------------------------
-//
-TPoint CGesture::StartPos() const
-    {
-    // at least one point will be in the array during callback (pointer down pos)
-    return iPoints[ 0 ].iPos;
-    }
-
-// ----------------------------------------------------------------------------
-// CurrentPos
-// ----------------------------------------------------------------------------
-//
-TPoint CGesture::CurrentPos() const
-    {
-    // at least on point will be in the array during callback (pointer down pos)
-    return iPoints[ iPoints.Count() - 1 ].iPos;
-    }
-
-// ----------------------------------------------------------------------------
-// IsMovementStopped
-// ----------------------------------------------------------------------------
-//
-inline TBool CGesture::IsMovementStopped() const
-    {
-    // iCompletionTime is only only valid if client has called SetComplete 
-    if ( iState >= ESingleTouchComplete )
-        {
-        return Elapsed( NthLastEntry( 1 ).iTime, iCompletionTime ).Int() > KSpeedStopTime;
-        }
-    return EFalse;
-    }
-
-namespace 
-    {
-    const TInt KFloatingPointAccuracy = 0.000001;
-    
-    /** @return percentage (0.0-1.0) how far aPos is from aEdge1 towards aEdge2 */
-    inline TReal32 Proportion( TReal32 aPos, TReal32 aEdge1, TReal32 aEdge2 )
-        {
-        if ( Abs( aEdge2 - aEdge1 ) > KFloatingPointAccuracy )
-            {
-            return ( aPos - aEdge1 ) / ( aEdge2 - aEdge1 );
-            }
-        return 0; // avoid division by zero 
-        }
-    
-    /** Edges (pixels) at which speed should be -100% or 100% */
-    NONSHARABLE_STRUCT( TEdges )
-        {
-        TReal32 iMin;
-        TReal32 iMax;
-        };
-        
-    /** 
-     * scale which allows different (coordinate -> percentage) mapping
-     * between -100% to 0% and 0 and 100%
-     */
-    NONSHARABLE_STRUCT( TScale )
-        {
-        TScale( TInt aZero, const TEdges& aEdges )
-                : iMin( aEdges.iMin ), iZero( aZero ), iMax( aEdges.iMax )
-            {
-            }
-        
-        /** @return aPos as a percentage between -100% and 100% in aScale */
-        TReal32 Percent( TReal32 aPos ) const;
-
-        /// coordinate where speed is -100%
-        TReal32 iMin;
-        /// coordinate where speed is 0%
-        TReal32 iZero;
-        /// coordinate where speed is 100%
-        TReal32 iMax;
-        };
-        
-    /** @convert aPos into a percentage between -100% and 100% in aScale */
-    TReal32 TScale::Percent( TReal32 aPos ) const
-        {
-        TReal32 percent;
-        if ( aPos < iZero )
-            {
-            // return negative percentages on the lower side of zero point
-            percent = -1 * Proportion( aPos, iZero, iMin );
-            }
-        else 
-            {
-            percent = Proportion( aPos, iZero, iMax );
-            }
-        // constrain between -100% and 100%
-        return Min( Max( percent, -1.0F ), 1.0F );
-        }
-    
-    /** Scale in x and y dimensions */
-    NONSHARABLE_STRUCT( TScale2D )
-        {
-        TRealPoint Percent( const TPoint& aPos ) const
-            {
-            return TRealPoint( iX.Percent( aPos.iX ),
-                               iY.Percent( aPos.iY ) );
-            }
-                
-        TScale iX;
-        TScale iY;
-        };
-            
-    enum TDirection { ESmaller, ELarger };
-    
-    /** @return the direction of pos compared to the previous pos */
-    inline TDirection Direction( TInt aPos, TInt aPreviousPos )
-        {
-        return aPos < aPreviousPos ? ESmaller : ELarger;    
-        }
-
-    /** Direction in x and y dimensions */
-    NONSHARABLE_STRUCT( TDirection2D )
-        {
-        TDirection iX;
-        TDirection iY;
-        };
-
-    /** Return the direction (up/down) of signal at aIndex */
-    inline TDirection2D Direction( TInt aIndex, const RArray< TPointEntry >& aPoints )
-        {
-        const TPoint& pos = aPoints[ aIndex ].iPos;
-        const TPoint& prevPos = aPoints[ aIndex - 1 ].iPos;
-        TDirection2D dir = { Direction( pos.iX, prevPos.iX ),
-                             Direction( pos.iY, prevPos.iY ) };
-        return dir;
-        }   
-    /** 
-     * @return a position in the aLow and aHigh, so that it aProportion of
-     *         of length is above the pos 
-     */
-    TReal32 ProportionalLength( TReal32 aLow, TReal32 aHigh, TReal32 aProportion )
-        {
-        return ( aHigh - aLow ) * aProportion / ( 1 + aProportion );
-        }
-    
-    /** 
-     * @return aVariableEdge scaled to new position, when the other edge changes
-     *         from aOldEdge to aNewEdge, so that aOrigin maintains the *same relative
-     *         position* between aVariableEdge and the other edge 
-     */
-    inline TReal32 ScaledEdge( TReal32 aOrigin, TReal32 aVariableEdge, 
-            TReal32 aOldEdge, TReal aNewEdge )
-        {
-        TReal32 proportion = Proportion( aOrigin, aVariableEdge, aOldEdge );
-        return ( proportion * aNewEdge - aOrigin ) / ( proportion - 1 );
-        }
-    
-    TScale Rescale( TReal32 aPos, TDirection aDir, TDirection aPrevDir, 
-            const TScale& aPrevScale, const TEdges& aEdges )
-        {
-        TScale scale( aPrevScale );
-        if ( aPrevDir != aDir )
-            {
-            // the code duplication is accepted here, since it is difficult to factor out
-            // while maintaining the understandability of this anyway complex algorithm
-            if ( aDir == ESmaller )
-                {
-                scale.iMin = aEdges.iMin;
-                if ( aPrevScale.iZero < aPos )
-                    {
-                    TReal32 proportionAboveZero = Proportion( aPos, aPrevScale.iZero, aPrevScale.iMax );
-                    scale.iZero = aPos - ProportionalLength( aEdges.iMin, aPos, proportionAboveZero );
-                    }
-                else 
-                    {
-                    // adjust zero pos so that proportion between aPos, Min, and Zero pos 
-                    // stay the same (Min will move to 0, aPos stays the same)
-                    scale.iZero = ScaledEdge( aPos, aPrevScale.iZero, 
-                        aPrevScale.iMin, aEdges.iMin );
-                    }
-                // adjust the upper edge to take into account the movement of zero pos
-                scale.iMax = ScaledEdge( aPos, aPrevScale.iMax, 
-                    aPrevScale.iZero, scale.iZero );
-                }
-            else // ELarger
-                {
-                scale.iMax = aEdges.iMax;
-                if ( aPos < aPrevScale.iZero )
-                    {
-                    TReal32 proportionBelowZero = Proportion( aPos, aPrevScale.iZero, aPrevScale.iMin );
-                    scale.iZero = aPos + ProportionalLength( aPos, aEdges.iMax, proportionBelowZero );
-                    }
-                else
-                    {
-                    // adjust zero pos so that proportion between aPos, Max, and Zero pos 
-                    // stay the same (Max will move edge, aPos stays the same)
-                    scale.iZero = ScaledEdge( aPos, aPrevScale.iZero, 
-                        aPrevScale.iMax, aEdges.iMax );
-                    }
-                // adjust the lower edge to take into account the movement of zero pos
-                scale.iMin = ScaledEdge( aPos, aPrevScale.iMin, 
-                    aPrevScale.iZero, scale.iZero );
-                }
-            }
-        return scale;
-        }
-     
-    /** Edges in x and y dimensions */
-    NONSHARABLE_STRUCT( TEdges2D )
-        {
-        TEdges iX;
-        TEdges iY;
-        };
-    
-    /** 
-     * @param aEdges edges of the area in which gesture points are accepted
-     * @return the scale of latest point in the list of points 
-     */
-    TScale2D Scale( const RArray< TPointEntry >& aPoints, const TEdges2D& aEdges )
-        {
-        TScale2D scale = { TScale( aPoints[0].iPos.iX, aEdges.iX ),
-                           TScale( aPoints[0].iPos.iY, aEdges.iY ) };
-        TInt count = aPoints.Count();
-        if ( count > 1 )
-            {
-            // iterate the whole point list to arrive to the current scale
-            TDirection2D dir( Direction( 1, aPoints ) );
-            for ( TInt i = 1; i < count; i++ )
-                {
-                // get direction at i
-                TDirection2D newDir( Direction( i, aPoints ) );
-                // get new scale at i
-                scale.iX = Rescale( aPoints[i - 1].iPos.iX, newDir.iX, dir.iX, scale.iX, aEdges.iX );
-                scale.iY = Rescale( aPoints[i - 1].iPos.iY, newDir.iY, dir.iY, scale.iY, aEdges.iY );
-                dir = newDir;
-                }
-            }
-        return scale;
-        }
-    } // unnamed namespace
-
-TRealPoint CGesture::SpeedPercent( const TRect& aEdges ) const
-    {
-    // x and y coordinates are easier to handle separately, extract from TRect:
-    // ((iMinX, iMinY), (iMaxX, iMaxY)) -> ((iMinX, iMaxX), (iMinY, iMaxY))
-    TEdges2D edges = { { aEdges.iTl.iX, aEdges.iBr.iX },
-                       { aEdges.iTl.iY, aEdges.iBr.iY } };
-    // work out the current scale (coordinate -> percentage mapping) from 
-    // the history of points (i.e., points of current gesture). Then
-    // calculate the percentage of the current position.
-    return Scale( iPoints, edges ).Percent( CurrentPos() );
-    }
-    
-// ----------------------------------------------------------------------------
-// Speed
-// ----------------------------------------------------------------------------
-//
-TRealPoint CGesture::Speed() const
-    {
-    const TReal32 KMicroSecondsInSecond = 1000000;
-    
-    // Speed is only evaluated at the end of the swipe
-    // if user stops at the end of the swipe before lifting stylus,
-    // speed is zero. If time is zero, return 0 speed (infinite does 
-    // not make sense either). Will need to consider also earlier points 
-    // and their times or start time, if this zero-speed behavior is a problem
-    TRealPoint speed;
-    TReal32 time = static_cast<TReal32>( TimeFromPreviousPoint().Int() ) 
-        / KMicroSecondsInSecond;
-    if ( !IsMovementStopped() && time > 0 )
-        {
-        TPoint distance = CurrentPos() - PreviousPos();
-        speed.iX = static_cast<TReal32>( distance.iX ) / time;
-        speed.iY = static_cast<TReal32>( distance.iY ) / time;
-        }
-    return speed;
-    }
-
-// ----------------------------------------------------------------------------
-// Distance
-// ----------------------------------------------------------------------------
-//
-TPoint CGesture::Distance() const
-    {
-    return CurrentPos() - StartPos();
-    }
-
-// ----------------------------------------------------------------------------
-// Visual
-// ----------------------------------------------------------------------------
-//
-CAlfVisual* CGesture::Visual() const
-    {
-    return iVisual;
-    }
-
-// ----------------------------------------------------------------------------
-// TimeFromPreviousPoint
-// ----------------------------------------------------------------------------
-//
-inline TTimeIntervalMicroSeconds32 CGesture::TimeFromPreviousPoint() const
-    {
-    const TInt KLatestEntryOffset = 1;
-    return Elapsed( PreviousEntry().iTime, NthLastEntry( KLatestEntryOffset ).iTime );
-    }
-
-// ----------------------------------------------------------------------------
-// return nth point from the end of the points array
-// ----------------------------------------------------------------------------
-//
-inline const TPointEntry& CGesture::NthLastEntry( TInt aOffset ) const
-    {
-    return iPoints[ Max( iPoints.Count() - aOffset, 0 ) ];
-    }
-
-// ----------------------------------------------------------------------------
-// PreviousEntry
-// ----------------------------------------------------------------------------
-//
-inline const TPointEntry& CGesture::PreviousEntry() const
-    {
-    return NthLastEntry( KPreviousPointOffset );
-    }
-
-// ----------------------------------------------------------------------------
-// PreviousPos
-// ----------------------------------------------------------------------------
-//
-inline TPoint CGesture::PreviousPos() const
-    {
-    return PreviousEntry().iPos;
-    }
-
-// ----------------------------------------------------------------------------
-// PinchPercent
-// ----------------------------------------------------------------------------
-//
-TInt CGesture::PinchPercent() const
-    {
-    return (iPinchEndDistance*100/iPinchStartDistance);
-    }
-
-// ----------------------------------------------------------------------------
-// PinchCentrePoint
-// ----------------------------------------------------------------------------
-//
-TPoint CGesture::PinchCentrePoint() const
-    {
-    if( iPoints.Count() <= 0 || iSecondaryPoints.Count() <= 0 )
-        {
-        return TPoint(0,0);
-        }
-    TInt greaterX = iPoints[0].iPos.iX > iSecondaryPoints[0].iPos.iX ? iPoints[0].iPos.iX : iSecondaryPoints[0].iPos.iX;
-    TInt greaterY = iPoints[0].iPos.iY > iSecondaryPoints[0].iPos.iY ? iPoints[0].iPos.iY : iSecondaryPoints[0].iPos.iY; 
-    return TPoint( (Abs(iPoints[0].iPos.iX - iSecondaryPoints[0].iPos.iX)/2 + greaterX), (Abs(iPoints[0].iPos.iY - iSecondaryPoints[0].iPos.iY)/2 + greaterY));
-    }
-
-// end of file
-
--- a/mulwidgets/gesturehelper/src/gesture.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,267 +0,0 @@
-/*
-* Copyright (c) 2008-2008 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:  Gesture class
-*
-*/
-
-#ifndef _GESTURE_H_
-#define _GESTURE_H_
-
-#include <e32base.h>
-
-#include "gestureobserver.h"
-#include "gesturerecogniser.h"
-#include "pointarray.h"
-
-namespace GestureHelper
-{
-
-/**  
- * TGesture represents the gesture that the user has made.
- * Implements MGestureEvent interface to allow clients to 
- * inspect the gesture
- */
-NONSHARABLE_CLASS( CGesture ) : public CBase, public MGestureEvent
-    {
-public:
-    /** constructor */
-     CGesture();
-    /** destructor */
-    ~CGesture();
-    
-    /** 
-     * @return a new gesture that will have only the first point
-     * of this gesture. Can be used to create gesture's a "start" event
-     * after some other points have been received. 
-     */ 
-    CGesture* AsStartEventLC() const;
-    
-    /** 
-     * Sets the gesture as empty. resets timers to receive points
-     * immediately
-     */
-    void Reset();
-    
-    /** @return ETrue if the gesture has no points */
-    TBool IsEmpty() const;
-    
-    /** @return ETrue if there are no points in the second array */
-    TBool IsMultiTouch() const;
-    
-    /**
-     * Add a point to the sequence of points that forms the gesture
-     * Call Reset() just before adding the first point
-     * @param aPoint the point to add
-     * @return error code
-     */
-    TInt AddPoint( const TPoint& aPoint );
- 
-    /**
-     * Add a point to the sequence of points that forms the gesture
-     * Adds the point to the secondray pointer array.
-     * Used to add second pointer movement in case of multi touch
-     * Call Reset() just before adding the first point
-     * @param aPoint the point to add
-     * @return error code
-     */
-    TInt AddSecondaryPoint( const TPoint& aPoint );
-    
-    /** Set the visual of this gesture. Should be called when gesture starts */
-    void SetVisual( CAlfVisual* aVisual );
-    
-    /** @return ETrue if the point is very near the holding point */
-    TBool IsNearHoldingPoint( const TPoint& aPoint ) const;
-    /** Set the latest point as the holding point */
-    void SetHoldingPoint();
-    /** @return ETrue if aPoint is the same as point added last */
-    TBool IsLatestPoint( const TPoint& aPoint ) const;
-    /** @return ETrue if aPoint is the same as point added last in the secondary array */
-    TBool IsLatestSecondaryPoint( const TPoint& aPoint ) const;
-    
-    /** 
-     * After call, Code(...) will return appropriate holding gesture code.
-     */
-    void StartHolding();
-    /** 
-     * After call, Code(...) will return a "hold released" gesture code when
-     * the gesture is completed. Meanwhile, code will be drag.
-     */
-    void ContinueHolding(); 
-    /** Set as single touch gesture started */
-    void SetSingleTouchActive();
-    /** Set as multitouch gesture started */
-    void SetMultiTouchActive();    
-	/** Set as stylus released when there was only one stylus pressed */
-    void SetSingleTouchReleased();
-    /** Set as stylus released when there were two pointers, one pointer is still pressed down */
-    void SetMultiTouchReleased();
-    /** Set the single touch gesture as complete. Gesture is completed at pointer up */
-    void SetSingleTouchComplete();
-    /** Set the multitouch gesture as complete. Single touch still continues */
-    void SetMultiTouchComplete();    
-    /** After call, Code(...) will return a "cancelled" gesture code */
-    void SetCancelled();
-    
-    /** force returning a code as double tap when gesture is complete */
-    void SetDoubleTap();
-    
-    /** 
-     * @return Whether the current gesture is a tap (and hence not a swipe)
-     *         Does not consider holding or other state information (such as
-     *         whether the gesture was just started or is dragging).  
-     *         Results are based purely on the current stream of points.
-     */ 
-    TBool IsTap() const;
- 
-    /** 
-     * Checks if the current points in primary and secondary pointer array results in
-     * a pinch gesture. If yes updates the previous distance.
-     * @return Whether the current gesture is a pinch
-     *         Returns EFalse if multitouch is not active currently.  
-     *         Results are based purely on the current stream of points.
-     */ 
-    TBool IsPinch();
-    
-    /** 
-     * Reset all the events recieved in the current gesture.
-     * Calls Reset() internally.
-     * create a new points starting from the last point of the
-     * earlier gesture
-     * Used when the multitouch point is released to start the 
-     * single touch operations.
-     * @param aFirstPointer, Should reset to the first pointers last point or to the 2d pointers.
-     *          false (2nd pointers last point) when multitouch is going on and user releases the first point and
-     *          continues to hold the second point
-     */ 
-    void ResetToLastPoint(TBool aSetPointerZero,TBool aSetToZero); 
-  
-// From MGestureEvent
-    TGestureCode Code( TAxis aRelevantAxis ) const;
-    TBool IsHolding() const;
-    TPoint StartPos() const;
-    TPoint CurrentPos() const; 
-    TRealPoint Speed() const;
-    TRealPoint SpeedPercent( const TRect& aEdges ) const;
-    TPoint Distance() const; 
-    CAlfVisual* Visual() const;
-    TInt PinchPercent() const;
-    TPoint PinchCentrePoint()const;
-    
-private:
-    /** @return elapsed time between the latest and previous points */
-    inline TTimeIntervalMicroSeconds32 TimeFromPreviousPoint() const; 
-    
-    /** @return elapsed time between the latest and first points */
-    inline TTimeIntervalMicroSeconds32 TimeFromStart() const; 
-    
-    /** @return ETrue if user has stopped moving the stylus before lifting it */
-    inline TBool IsMovementStopped() const;
-    
-    /** @return aOffset'th last entry in the list of points */
-    inline const TPointEntry& NthLastEntry( TInt aOffset ) const;
-    
-    /** @return previous point (may not be exactly the point before last) */
-    inline const TPointEntry& PreviousEntry() const;
-    
-    /** @return position of point received just before the latest point */
-    inline TPoint PreviousPos() const;
-    
-    /** @return the last point in the given pointer array */
-    inline const TPointEntry LastPoint( const RArray< TPointEntry >& aPoints ) const;
-    
-    /** @return whether a slightly higher tolarence needs to be used for pinch or not*/
-    inline TBool IsHighPinchTolerance() const;
-    
-private: 
-
-    /// sequence of points that make up the gesture. own.
-    /// Single touch pointer variations.
-    RArray< TPointEntry > iPoints;
-	
-    /// sequence of points that make up the gesture. own.
-    /// Second touch pointer variations.
-    RArray< TPointEntry > iSecondaryPoints;
-    
-    /// index in iPoints of the point in which user started holding
-    TInt iHoldingPointIndex;
-
-    /// the different states that indicate whether user has made a holding gesture 
-    enum THoldingState
-        {
-        ENotHolding = 0, // before holding activated (i.e., holding not activated)
-        EHoldStarting,   // holding activated just now (lasts just one callback round)
-        EHolding         // holding activated earlier 
-        };
-  
-    /// state that indicates is user has held the pointer down in one position 
-    /// for long time to indicate a holding gesture    
-    THoldingState iHoldingState;
-    
-    /// Whether the gesture completion code will be forcefully overridden to be double tap,
-    /// regardless of what the points are
-    TBool iIsDoubleTap;
-    
-    /// If in the current gesture, there was a multi touch at any in between point.
-    /// This is required, if after doing a multitouch, release one pointer and do some 
-    /// operation with the other pointer still touched down. Though the new variations
-    /// of pointer results in a tap, tap is not possible after a multitouch.
-    TBool iIsMultiTouched;
-        
-    enum TCompletionState 
-        {
-        ENotActive = 0,
-        ESingleTouchActive,
-        EMultiTouchActive,
-        ECancelled,
-        EMultiTouchComplete,
-        EMultiTouchReleased,
-        ESingleTouchComplete,        
-        ESingleTouchReleased       
-        };
-      
-    /// gesture only becomes complete when user lifts the pointer
-    TCompletionState iState;
-
-    /// time when the stylus was lifted.
-    TTime iCompletionTime;
-    
-    /// visual relevant to this gesture. null if not known.
-    CAlfVisual* iVisual;
-    
-    /// The distance between the two points, at the time of last identified pinch gesture
-    /// This will also be the start distance for next pinch. At start it will
-    /// be the distance between touch down points
-    TInt iPinchStartDistance;
-
-    /// The distance between the two points, at the time of pinch identified
-    TInt iPinchEndDistance;
-    
-    /// Pinch detcted, true for one cycle,untill a new point is recieved.
-    TBool iPinchDetected;
- 
-    enum TZoomState 
-        {
-        ENoZoom = 0,
-        EZoomOut,
-        EZoomIn    
-        };
-  
-    /// gesture only becomes complete when user lifts the pointer
-    TZoomState iZoomState;
-    
-    };
-
-} // namespace GestureHelper
-
-#endif // _GESTURE_H_
--- a/mulwidgets/gesturehelper/src/gesturecontrol.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* 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:  Gesture control
-*
-*/
-
-// class include
-#include "gesturecontrol.h"
-
-// system includes
-#include <alf/alfevent.h>
-
-// local includes
-#include "gesturehelper.h"
-
-using namespace GestureHelper;
-
-// ----------------------------------------------------------------------------
-// Two-phase constructor
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CGestureControl* CGestureControl::NewLC( MGestureObserver& aObserver,
-        CAlfEnv& aEnv, CAlfDisplay& aDisplay, TInt aFreeControlGroupId )
-    {
-    CGestureControl* self = new ( ELeave ) CGestureControl;
-    CleanupStack::PushL( self );
-    self->ConstructL( aObserver, aEnv, aDisplay, aFreeControlGroupId );
-    // create a full screen visual to capture pointer events anywhere on screen
-    self->AppendVisualL( EAlfVisualTypeVisual );
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// Constructor
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CGestureControl::CGestureControl()
-    {
-    // do nothing
-    }
-
-// ----------------------------------------------------------------------------
-// Second-phase constructor
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CGestureControl::ConstructL( MGestureObserver& aObserver,
-        CAlfEnv& aEnv, CAlfDisplay& aDisplay, TInt aFreeControlGroupId )
-    {
-    CAlfControl::ConstructL( aEnv );
-    iHelper = GestureHelper::CGestureHelper::NewL( aObserver );
-    iHelper->InitAlfredPointerCaptureL( aEnv, aDisplay, aFreeControlGroupId );
-    }
-
-// ----------------------------------------------------------------------------
-// Destructor
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CGestureControl::~CGestureControl()
-    {
-    delete iHelper;
-    }
-
-// ----------------------------------------------------------------------------
-// OfferEventL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CGestureControl::OfferEventL( const TAlfEvent& aEvent )
-    {
-    return iHelper->OfferEventL( aEvent );
-    }
-
-// ----------------------------------------------------------------------------
-// SetHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CGestureControl::SetHoldingEnabled( TBool aEnabled )
-    {
-    iHelper->SetHoldingEnabled( aEnabled );
-    }
-
-// ----------------------------------------------------------------------------
-// IsHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CGestureControl::IsHoldingEnabled() const
-    {
-    return iHelper->IsHoldingEnabled();
-    }
-
-// ----------------------------------------------------------------------------
-// SetDoubleTapEnabled
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CGestureControl::SetDoubleTapEnabled( TBool aEnabled )
-    {
-    iHelper->SetDoubleTapEnabled( aEnabled );
-    }
-
-// ----------------------------------------------------------------------------
-// IsDoubleTapEnabled
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CGestureControl::IsDoubleTapEnabled() const
-    {
-    return iHelper->IsDoubleTapEnabled();
-    }
--- a/mulwidgets/gesturehelper/src/gesturedefs.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Gesture helper constant definitions
-*
-*/
-
-#ifndef _GESTUREDEFS_H_
-#define _GESTUREDEFS_H
-
-
-namespace GestureHelper
-{
-
-/// time to hold the stylus in the same position to activate holding
-const TInt KHoldDuration = 1000000; // microseconds 
-
-/// time to tap again for the second tap to be a double tap
-const TInt KMaxDoubleTapDuration = 400000; // microseconds 
-
-/// time in which speed becomes zero if user stops stylus movement before
-/// lifting the pointer
-const TInt KSpeedStopTime = 100000; // microseconds
-
-/// tolerance in degrees to either side of an angle, for direction to be the 
-/// same as reference angle
-const TReal KAngleTolerance = 25;
-
-/// Nth pointer event before the latest point
-const TInt KPreviousPointOffset = 3;
-
-/// Tolerance for ignoring small movements, percent of longer screen edge
-const TInt KGestureTolerancePercent = 4; // of 100
-
-/// Tolerance for considering it as pinch gesture for the first time
-const TInt KInitialPinchTolerance = 20; // Pixels
-
-/// Tolerance for considering it as pinch gesture after a pinch is detected
-const TInt KPinchTolerance = 5; // Pixels
-
-/** 
- * Panic codes 
- */
-enum TGesturePanic
-    {
-    EGesturePanicIllegalLogic
-    };  
-
-/** Panics the thread */
-inline void Panic( TGesturePanic aReason )
-    {
-     _LIT( KComponentName, "GestureHelper" );
-    User::Panic( KComponentName, aReason );
-    }
-
-} // namespace GestureHelper
-
-#endif // _GESTUREDEFS_H
--- a/mulwidgets/gesturehelper/src/gesturehelper.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
-* 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:  Gesture helper interface
-*
-*/
-
-// class include
-#include "gesturehelper.h"
-
-// local includes
-#include "gesturehelperimpl.h"
-
-using namespace GestureHelper;
-
-// ----------------------------------------------------------------------------
-// Two-phase constructor
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CGestureHelper* CGestureHelper::NewL( MGestureObserver& aObserver )
-    {
-    CGestureHelper* self = new ( ELeave ) CGestureHelper;
-    CleanupStack::PushL( self );
-    self->iImpl = CGestureHelperImpl::NewL( aObserver );    
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// Destructor
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CGestureHelper::~CGestureHelper()
-    {
-    delete iImpl;
-    }
-
-// ----------------------------------------------------------------------------
-// SetHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CGestureHelper::SetHoldingEnabled( TBool aEnabled )
-    {
-    iImpl->SetHoldingEnabled( aEnabled );
-    }
-
-// ----------------------------------------------------------------------------
-// IsHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CGestureHelper::IsHoldingEnabled() const
-    {
-    return iImpl->IsHoldingEnabled();
-    }
-
-// ----------------------------------------------------------------------------
-// SetDoubleTapEnabled
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CGestureHelper::SetDoubleTapEnabled( TBool aEnabled )
-    {
-    iImpl->SetDoubleTapEnabled( aEnabled );
-    }
-
-// ----------------------------------------------------------------------------
-// IsDoubleTapEnabled
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CGestureHelper::IsDoubleTapEnabled() const
-    {
-    return iImpl->IsDoubleTapEnabled();
-    }
-    
-// ----------------------------------------------------------------------------
-// InitAlfredPointerEventCaptureL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CGestureHelper::InitAlfredPointerCaptureL( CAlfEnv& aEnv, 
-        CAlfDisplay& aDisplay, TInt aFreeControlGroupId )
-    {
-    iImpl->InitAlfredPointerCaptureL( aEnv, aDisplay, aFreeControlGroupId );
-    }
-
-// ----------------------------------------------------------------------------
-// HandlePointerEventL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CGestureHelper::HandlePointerEventL( const TPointerEvent& aEvent )
-    {
-    return iImpl->HandlePointerEventL( aEvent );
-    }
-
-// ----------------------------------------------------------------------------
-// OfferEventL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CGestureHelper::OfferEventL( const TAlfEvent& aEvent )
-    {
-    return iImpl->OfferEventL( aEvent );
-    }
-
-// ----------------------------------------------------------------------------
-// Cancel
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CGestureHelper::Cancel()
-    {
-    iImpl->Reset();
-    }
-
-// ----------------------------------------------------------------------------
-// AddObserver
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CGestureHelper::AddObserver(MGestureObserver* aObserver)
-    {
-    iImpl->AddObserver(aObserver);
-    }
-	
-// end of file
-
-	
--- a/mulwidgets/gesturehelper/src/gesturehelperimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,912 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Gesture helper implementation
-*
-*/
-
-#include "gesturehelperimpl.h"
-
-#include <alf/alfevent.h>
-#include <e32base.h>
-#include <w32std.h>
-
-#include "gesture.h"
-#include "gesturedefs.h"
-
-#include "pointercapturer.h"
-
-using namespace GestureHelper;
-
-namespace GestureHelper
-{
-
-/// type of function in gesture helper to be called by the timer
-/// when timer triggers
-typedef void (CGestureHelperImpl::*CallbackFunctionL)();
-
-NONSHARABLE_CLASS( CCallbackTimer ) : public CTimer
-    {
-public:
-    /** Two-phase constructor */
-    static CCallbackTimer* NewL( CGestureHelperImpl& aHelper, 
-            CallbackFunctionL aCallbackFunctionL, TInt aDelay, TBool aIsEnabled )
-        {
-        CCallbackTimer* self = new ( ELeave ) CCallbackTimer( aHelper, 
-            aCallbackFunctionL, aDelay, aIsEnabled );
-        CleanupStack::PushL( self );
-        self->ConstructL(); // construct base class
-        CActiveScheduler::Add( self );
-        CleanupStack::Pop( self );
-        return self;
-        }
-        
-    /** Destructor */
-    ~CCallbackTimer()
-        {
-        Cancel();
-        }
-        
-    /** Set whether sending holding events is currently enabled */
-    void SetEnabled( TBool aEnabled )
-        {
-        iIsEnabled = aEnabled;
-        // cancel in case hold timer is already running
-        Cancel();
-        }
-        
-    /** @return whether sending holding events is currently enabled */
-    TBool IsEnabled() const
-        {
-        return iIsEnabled;
-        }
-        
-    /** Start the timer. Calls CGestureHelperImpl::StartHoldingL upon completion */
-    void Start()
-        {
-        // if sending hold events is disabled, do not ever start the hold timer, and 
-        // hence hold events will never be triggered
-        if ( iIsEnabled ) 
-            {
-            Cancel();
-            After( iDelay );
-            }
-        }    
-    
-private:    
-    /** Constructor */
-    CCallbackTimer( CGestureHelperImpl& aHelper,
-        CallbackFunctionL aCallbackFunctionL, TInt aDelay, TBool aIsEnabled )
-            : CTimer( EPriorityUserInput - 1 ), // give higher priority to new pointer events with - 1
-                iHelper( aHelper ), iCallbackFunctionL( aCallbackFunctionL ), 
-                    iDelay( aDelay ), iIsEnabled( aIsEnabled ) 
-        {
-        }
-        
-    void RunL() // From CActive
-        {
-        (iHelper.*iCallbackFunctionL)();
-        }
-
-private:
-    /// helper object that will be called back when timer is triggered
-    CGestureHelperImpl& iHelper;
-    /// Function in the iHelper object call 
-    CallbackFunctionL iCallbackFunctionL;
-    /// How long a time to wait befor calling back after Start()
-    TInt iDelay;
-    /// whether sending holding events is currently enabled
-    TBool iIsEnabled;
-    };
-
-} // namespace GestureHelper
-
-/** 
- * @return position from event. Use this instead of using aEvent direction to
- *         avoid accidentally using TPointerEvent::iPosition
- */
-inline TPoint Position( const TPointerEvent& aEvent )
-    {
-    // use parent position, since the capturer is using full screen area,
-    // and because the (Alfred) drag events are not local to visual even when
-    // coming from the client
-    return aEvent.iParentPosition;
-    }
-
-// ----------------------------------------------------------------------------
-// Two-phase constructor
-// ----------------------------------------------------------------------------
-//
-CGestureHelperImpl* CGestureHelperImpl::NewL( MGestureObserver& aObserver )
-    {
-    CGestureHelperImpl* self = new ( ELeave ) CGestureHelperImpl( );
-    CleanupStack::PushL( self );
-    self->iDoubleTapTimer = CCallbackTimer::NewL( *self, EmitFirstTapEventL, 
-        KMaxDoubleTapDuration, EFalse ); // double tap is disabled by default
-    self->iHoldingTimer = CCallbackTimer::NewL( *self, StartHoldingL, 
-        KHoldDuration, ETrue ); // holding is enabled by default
-    self->iGesture = new ( ELeave ) CGesture();
-    self->iUnusedGesture = new ( ELeave ) CGesture();
-    self->iPointerCapturer = CPointerCapturer::NewL();
-    self->iPointerCount = 0;
-    self->iObserver = &aObserver;
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// Destructor
-// ----------------------------------------------------------------------------
-//
-CGestureHelperImpl::~CGestureHelperImpl()
-    {
-    delete iDoubleTapTimer;
-    delete iHoldingTimer;
-    delete iGesture;
-    delete iPreviousTapGesture;
-    delete iUnusedGesture;
-    delete iPointerCapturer;
-    }
-    
-// ----------------------------------------------------------------------------
-// SetHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::SetHoldingEnabled( TBool aEnabled )
-    {
-    iHoldingTimer->SetEnabled( aEnabled );
-    }
-
-// ----------------------------------------------------------------------------
-// IsHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-TBool CGestureHelperImpl::IsHoldingEnabled() const
-    {
-    return iHoldingTimer->IsEnabled();
-    }
-
-// ----------------------------------------------------------------------------
-// SetHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::SetDoubleTapEnabled( TBool aEnabled )
-    {
-    iDoubleTapTimer->SetEnabled( aEnabled );
-    }
-
-// ----------------------------------------------------------------------------
-// IsHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-TBool CGestureHelperImpl::IsDoubleTapEnabled() const
-    {
-    return iDoubleTapTimer->IsEnabled();
-    }
-    
-// ----------------------------------------------------------------------------
-// InitAlfredPointerEventCaptureL
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::InitAlfredPointerCaptureL( CAlfEnv& aEnv, 
-        CAlfDisplay& aDisplay, TInt aFreeControlGroupId )
-    {
-    iPointerCapturer->InitForAlfredL(*this, aEnv, aDisplay, aFreeControlGroupId );
-    }
-
-// ----------------------------------------------------------------------------
-// Reset state
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::Reset()
-    {
-    iHoldingTimer->Cancel();
-    iGesture->Reset();
-    iPointerCapturer->Stop();
-    iPointerCount=0;
-    iCurrentPointer = -1;
-    }
-
-/** 
- * Helper function that calls Reset on the pointer to CGestureHelperImpl
- */
-static void ResetHelper( TAny* aHelper )
-    {
-    static_cast< CGestureHelperImpl* >( aHelper )->Reset();
-    }
-
-// ----------------------------------------------------------------------------
-// Handle a pointer event
-// ----------------------------------------------------------------------------
-//
-TBool CGestureHelperImpl::HandlePointerEventL( const TPointerEvent& aEvent )
-    {     
-    return HandlePointerEventL( aEvent, NULL );
-    }
-
-// ----------------------------------------------------------------------------
-// OfferEventL
-// ----------------------------------------------------------------------------
-//
-TBool CGestureHelperImpl::OfferEventL( const TAlfEvent& aEvent )
-    {
-    if ( aEvent.IsPointerEvent() )
-        {
-        return HandlePointerEventL( aEvent.PointerEvent(), aEvent.Visual() );
-        }
-    return EFalse;
-    }
-
-// ----------------------------------------------------------------------------
-// Handle a pointer event
-// ----------------------------------------------------------------------------
-//
-TBool CGestureHelperImpl::HandlePointerEventL( const TPointerEvent& aEvent,
-        CAlfVisual* aVisual )
-    {  
-    TInt pointerNumber = GestureHelper::TGestureRecogniser().PointerNumber( aEvent );
-
-    if( !ValidatePointer( aEvent, pointerNumber ) )
-        {
-        return EFalse; // don't consume
-        }
-
-    switch ( aEvent.iType )
-        {
-        case TPointerEvent::EButton1Down:            
-		    // Error handling for recieveing a button down on the pointer which
-            // is already touched down
-            // Here the pointer number shouldnot be considered for validtaing.
-            // We should consider which pointer is currently touched down
-            // It can so happen that user has touched was doing pinch and then released his
-            // 1st finger. and starts to do panning with the second finger still touched down.
-            // Then again when he touches the first finger, in that case you should be validating these pointers w.r.t
-            // the pointer numbers of the last touched finger
-             
-            // we shouldnot consider pointer number here. If pointer 1 is
-            // already touched and dragging and we recieve a down of pointer 0     
-                    
-            if( iPointerCount == 1 )
-                {
-                if(iCurrentPointer == pointerNumber )
-                    {
-                    TRAP_IGNORE( EmitCancelEventL() );
-                    Reset();
-                    }
-                }
-            else if( iPointerCount == 2 )
-                {
-                // This case is similar to reciving a pointer up on the pointer
-                // on which the second down is recieved. We reset all the earlier points
-                // recieved on this pointer because we assume that some pointer up got
-                // missed in between.
-            
-                // if pointer count is already 2, then reset the array of pointer for 
-                // which a down event is recieved, and continue handling in normal way
-                // Fix for error crash in photos fullscreen
-                // Like above if you reset the pointer array for which the down event
-                // is recieved the second time then in thecase of, 0 down, 1 down, 0 down
-                // iPoints will be null.
-                // Here whenever reseting it to single pointer havndling, always iPoints should have
-                // the data. Hence the first parameter should always be true.
-                // Fix is iGesture->ResetToLastPoint(pointerNumber != 0,pointerNumber != 0);
-                // is changed to iGesture->ResetToLastPoint( ETrue,pointerNumber != 0);
-                iPointerCount = 1; 
-                iCurrentPointer = pointerNumber == 0 ? 1 : 0;
-                iGesture->ResetToLastPoint( ETrue,pointerNumber != 0);
-                iGesture->SetSingleTouchActive();
-                }
-
-            if(iPointerCount == 0)
-                {
-                iPointerCount = 1;
-                iCurrentPointer = pointerNumber;
-                // single touch gesture start
-                iGesture->SetSingleTouchActive();
-                HandleSinglePointerEventL( aEvent, aVisual );
-                }
-            else if(iPointerCount == 1)
-                {              
-                iPointerCount = 2;
-                iCurrentPointer = -1;
-                // add the last point of the single touch event
-                // to first array of gesture
-                iGesture->ResetToLastPoint(pointerNumber != 0,ETrue);
-                iGesture->SetMultiTouchActive();
-                // multi touch gesture start
-                HandleMultiplePointerEventL( aEvent, pointerNumber );
-                }
-            else
-                {
-                
-                }
-            break;
-            
-        case TPointerEvent::EDrag:
-            if(iPointerCount == 1)
-                {
-                HandleSinglePointerEventL( aEvent, aVisual );
-                }
-            else if(iPointerCount == 2)
-                {
-                HandleMultiplePointerEventL( aEvent, pointerNumber );
-                }
-            else
-                {
-                // nothing to be done
-                }
-            break;
-            
-        case TPointerEvent::EButton1Up:
-            if(iPointerCount == 2)
-                { 
-                // multi touch gesture complete
-                HandleMultiplePointerEventL( aEvent, pointerNumber );
-                // should the pointer count decrese first n then
-                // handling of event or otherwise
-                iPointerCount = 1;    
-                iCurrentPointer = pointerNumber == 0 ? 1 : 0;
-                iGesture->ResetToLastPoint(ETrue,pointerNumber != 0);
-                iGesture->SetSingleTouchActive();
-                }
-            else if( iPointerCount == 1 )
-                {
-                iPointerCount = 0;
-                iCurrentPointer = -1;
-                // single touch gesture complete
-                HandleSinglePointerEventL( aEvent, aVisual ); 
-                }
-            else
-                {
-                // nothing to be done
-                }
-            break;
-            
-        default:
-            break;
-        }
-    return ETrue; // consume
-    }
-// ----------------------------------------------------------------------------
-// Handle a pointer event
-// ----------------------------------------------------------------------------
-//
-TBool CGestureHelperImpl::HandleSinglePointerEventL( const TPointerEvent& aEvent,
-        CAlfVisual* aVisual )
-    {  
-    switch ( aEvent.iType )
-        {
-        case TPointerEvent::EButton1Down:
-            // If no up event was received during previous gesture, cancel 
-            // previous event and reset state
-            if ( !IsIdle() )
-                {
-                // ambiguous what is the right thing when "cancel" event leaves
-                // and "start" does not. Leaving for cancel *after* "start" could 
-                // be unexpected to client, as client would have handled start 
-                // event successfully. Assume that leaving upon cancellation 
-                // can be ignored.
-                TRAP_IGNORE( EmitCancelEventL() );
-                Reset();  
-                }
-            // as long as down event of a double tap comes within the double 
-            // tap timeout, it does not matter how long the user keeps the finger
-            // pressed for the gesture to be a double tap. Therefore, cancel
-            // the timeout, as it is no longer relevant. (Of course, this call
-            // will only do something if the timer is actually running, which
-            // is only if received a tap event very recently.)
-            iDoubleTapTimer->Cancel();
-            // adding the first point implicitly makes the state "not idle"
-            AddPointL( aEvent );
-            iGesture->SetVisual( aVisual );
-            // if pointer capturer leaves, the remaining pointer events will
-            // not be captured if stylus is dragged outside the capturing visual
-            // an error note will be shown, so the potential problem is irrelevant,
-            // assuming client does not (incorrectly) block the leave from reaching 
-            // the framework
-            iPointerCapturer->StartL();
-            // Delay emitting a down event _until_ it is known that this beginning 
-            // gesture is _not_ the second tap of a double tap event.
-            // iPreviousTapGesture is only non-null if very recently received 
-            // a tap event and double tap is enabled. 
-            if ( !iPreviousTapGesture )
-                {
-                EmitEventL( *iGesture );
-                }
-            // else delay emitting an event, as it might be a double tap 
-            // (allow the second tap of a double tap to be anywhere, so don't check
-            // for start pos here)
-            break;
-            
-        case TPointerEvent::EDrag:
-            // While stylus down, the same event is received repeatedly
-            // even if stylus does not move. Filter out by checking if point 
-            // is the same as the latest point
-            if ( !iGesture->IsLatestPoint( Position( aEvent ) ) )
-                {
-                AddPointL( aEvent );
-
-                // as long as the starting gesture is seen as a tap, do not emit any
-                // drag events
-                if ( !iGesture->IsTap() )
-                    {
-                    // if there is a previous tap gesture, getting drag events means that
-                    // the previous gesture is not a double tap. So emit the previous gesture.
-                    if ( iPreviousTapGesture )
-                        {
-                        // this is a second gesture after a tap (double tap is enabled)
-                        EmitFirstTapEventL();
-                        // emit down event for the current gesture (since its down was delayed, until
-                        // it was to be known if the event is a tap. That is known now.)
-                        EmitStartEventL( *iGesture );
-                        }
-                    // restart holding timer every time the current stylus pos changes
-                    StartHoldingTimer( aEvent );
-                    // emit the drag event to client
-                    EmitEventL( *iGesture );
-                    }
-                // else: do not emit drag events until it is known that the gesture is not a tap
-                // (or the second tap of double tap)
-                }
-            break;
-
-        case TPointerEvent::EButton1Up:
-            // reset in case the down event for next gesture is not received for a reason 
-            // in client, and instead drag or up events are received. 
-            // reset via cleanup stack to ensure Reset is run even if
-            // observer leaves
-            CleanupStack::PushL( TCleanupItem( &ResetHelper, this ) );
-            // if adding of the point fails, notify client with a 
-            // cancelled event. It would be wrong to send another
-            // gesture code when the up point is not known
-            if ( KErrNone == AddPoint( aEvent ) )
-                {
-                // if the gesture is a tap, the gesture is either the first tap of a _potential_
-                // double tap, or the second tap of a double tap
-                if ( iDoubleTapTimer->IsEnabled() && iGesture->IsTap() )
-                    {
-                    __ASSERT_DEBUG( !iGesture->IsHolding(), Panic( EGesturePanicIllegalLogic ) );
-                    if ( !iPreviousTapGesture )
-                        {
-                        // First tap. Delay emitting its code evemt and released events until it is known
-                        // whether the tap is a double tap
-                        iPreviousTapGesture = iGesture;
-                        iGesture = NewGesture();
-                        iDoubleTapTimer->Start(); 
-                        }
-                    else
-                        {
-                        // This is a second tap of a double tap. Do not emit anything for the second
-                        // tap. Only down event has been emitted for the first tap. Emit the code 
-                        // event (double tap) and released for the first tap.
-                        iPreviousTapGesture->SetDoubleTap();
-                        EmitFirstTapEventL();
-                        }
-                    }
-                else 
-                    {
-                    // modified iGesture to be "released"
-                    CompleteAndEmitSingleTouchL( *iGesture );
-                    }
-                }
-            else
-                { // adding a point failed
-                EmitCancelEventL();
-                }
-            // reset state
-            CleanupStack::PopAndDestroy( this ); 
-            break;
-            
-        default:
-            break;
-        }
-    return ETrue; // consume
-    }
-
-// ----------------------------------------------------------------------------
-// Handle multiple pointer events
-// ----------------------------------------------------------------------------
-//
-TBool CGestureHelperImpl::HandleMultiplePointerEventL( const TPointerEvent& aEvent,
-       const TInt aPointerNumber )
-    { 
-    switch ( aEvent.iType )
-        {
-        case TPointerEvent::EButton1Down:
-            // adding the first point implicitly makes the state "not idle"
-            AddMultiTouchPointsL( aEvent, aPointerNumber);
-            EmitEventL( *iGesture );
-            break;
-            
-        case TPointerEvent::EDrag:
-            // While stylus down, the same event is received repeatedly
-            // even if stylus does not move. Filter out by checking if point 
-            // is the same as the latest point
-            if( AddMultiTouchPointsL(aEvent, aPointerNumber ))
-                {
-                // as long as the starting gesture is seen as a tap, do not emit any
-                // drag events
-                if ( iGesture->IsPinch() )
-                    {
-                    // emit the pinch event to client
-                    EmitEventL( *iGesture );
-                    }
-                // else: do not emit any events to the client               
-                }
-
-            
-            break;
-
-        case TPointerEvent::EButton1Up:
-                        
-            // if adding of the point fails, notify client with a 
-            // cancelled event. It would be wrong to send another
-            // gesture code when the up point is not known
-            AddMultiTouchPointsL(aEvent, aPointerNumber );
-            CompleteAndEmitDoubleTouchL( *iGesture );
-
-            break;
-            
-        default:
-            break;
-        }   
-    return ETrue; // consume
-    }
-
-// ----------------------------------------------------------------------------
-// Validate AddMultiTouchPointsL events
-// Check if the point recieved is the repeavt event of previous point or a new point 
-// inline ok in cpp file for a private member function
-// ----------------------------------------------------------------------------
-//
-inline TBool CGestureHelperImpl::AddMultiTouchPointsL( const TPointerEvent& aEvent, const TInt aPointerNumber)
-    {
-    TBool pointAdded = EFalse;
-    if ( aPointerNumber > 0 )
-        {
-        if ( !iGesture->IsLatestSecondaryPoint( Position( aEvent ) ) )
-            {
-            AddSecondaryPointL( aEvent );
-            pointAdded = ETrue;
-            }                 
-        }
-    else
-        {
-        if ( !iGesture->IsLatestPoint( Position( aEvent ) ) )
-            {
-            AddPointL( aEvent );
-            pointAdded = ETrue;
-            }                
-        }
-    return pointAdded;
-    }
-
-// ----------------------------------------------------------------------------
-// Check for Stray evnet
-// ----------------------------------------------------------------------------
-//
-TBool CGestureHelperImpl::StrayEvent( const TPointerEvent& aEvent ) const
-    {
-     //If we are recieving a button down on pointer 0 in pointer capturer then its a stray event
-    // Dont consume it
-    if ( aEvent.iType == TPointerEvent::EButton1Down && IsIdle( 0) )
-        {
-        return ETrue; // don't consume
-        }  
-	return EFalse;  
-    }
-// ----------------------------------------------------------------------------
-// Validate the events
-// is it a valid event or a stray pointer form some other visuals
-// inline ok in cpp file for a private member function
-// ----------------------------------------------------------------------------
-//
-inline TBool CGestureHelperImpl::ValidatePointer( const TPointerEvent& aEvent, const TInt aPointerNumber) const
-    {
-    // Check if received event is valid or not.
-    // In practice, event is NOT valid in the following situations:
-    //
-    // 1. Pointer down event is received for pointer which is already down.
-    // 2. Pointer up event is received for pointer which is already up.
-    // 3. Pointer drag event is received for pointer which is not down.
-    // 4. Pointer numbers other than 0 and 1. We are handling only 2 pointers.
-    //
-    // In these situations this function returns EFalse,
-    // corresponding event is ignored and recognition continues as earlier.
-    //
-    
-    // filter all the events for which the pointer number is less than 0
-    // or greater than 1. we will handle only 2 pointer events.  
-    if( aPointerNumber >= 2 || aPointerNumber < 0 )
-        {
-        return EFalse;
-        }
-        
-    // filter out events that do not start with button down. It is a stray
-    // event from another visual    
-    TInt pointerTovalidate = aPointerNumber ;
-    if( iPointerCount == 1 && aPointerNumber == 1)
-	    {
-	    pointerTovalidate = 0;
-	    }
-    if ( aEvent.iType != TPointerEvent::EButton1Down && IsIdle( pointerTovalidate ) )
-        {
-        return EFalse; // don't consume
-        }
-
-    
-    return ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// Is the helper idle?
-// Checks whether any points are already added in the array corresponding
-// to the pointer number 
-// inline ok in cpp file for a private member function
-// ----------------------------------------------------------------------------
-//
-inline TBool CGestureHelperImpl::IsIdle( TBool aPointerNumber ) const
-    {
-    if( aPointerNumber == 0 )
-        {
-        return iGesture->IsEmpty();
-        }
-    else if( aPointerNumber == 1 )
-        {
-        return iGesture->IsMultiTouch();
-        }
-    return ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// Add a point to the sequence of points that together make up the gesture
-// inline ok in cpp file for a private member function
-// ----------------------------------------------------------------------------
-//
-inline void CGestureHelperImpl::AddPointL( const TPointerEvent& aEvent )
-    {
-    User::LeaveIfError( AddPoint( aEvent ) );
-    }
-
-// ----------------------------------------------------------------------------
-// Add a point to the sequence of points that together make up the gesture
-// inline ok in cpp file for a private member function
-// ----------------------------------------------------------------------------
-//
-inline TInt CGestureHelperImpl::AddPoint( const TPointerEvent& aEvent )
-    {
-    return iGesture->AddPoint( Position ( aEvent ) );
-    }
-
-// ----------------------------------------------------------------------------
-// Add a point to the sequence of points that together make up the gesture
-// inline ok in cpp file for a private member function
-// ----------------------------------------------------------------------------
-//
-inline void CGestureHelperImpl::AddSecondaryPointL( const TPointerEvent& aEvent )
-    {
-    User::LeaveIfError( AddSecondaryPoint( aEvent ) );
-    }
-
-// ----------------------------------------------------------------------------
-// Add a point to the sequence of points that together make up the gesture
-// inline ok in cpp file for a private member function
-// ----------------------------------------------------------------------------
-//
-inline TInt CGestureHelperImpl::AddSecondaryPoint( const TPointerEvent& aEvent )
-    {
-    return iGesture->AddSecondaryPoint( Position ( aEvent ) );
-    }
-
-// ----------------------------------------------------------------------------
-// StartHoldingTimer
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::StartHoldingTimer( const TPointerEvent& aNewEvent )
-    {
-    if ( !( iGesture->IsHolding() ||
-            iGesture->IsNearHoldingPoint( Position( aNewEvent ) ) ) )
-        {
-        // restart hold timer, since pointer has moved
-        iHoldingTimer->Start();
-        // Remember the point in which holding was started
-        iGesture->SetHoldingPoint();
-        }
-    }
-
-/** 
- * Helper function that calls ContinueHolding on the pointer to TGesture
- */
-static void ContinueHolding( TAny* aGesture )
-    {
-    static_cast< CGesture* >( aGesture )->ContinueHolding();
-    }
-
-// ----------------------------------------------------------------------------
-// Add a point to the sequence of points that together make up the gesture
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::StartHoldingL()
-    {
-    // hold & tap event is specifically filtered out. Use case: in list fast 
-    // scrolling activation (e.g. enhanced coverflow), tap & hold should not
-    // start fast scroll. In addition, after long tap on start position,
-    // drag and drag & hold swiping should emit normal swipe and swipe&hold
-    // events. Therefore, tap & hold is not supported.
-    __ASSERT_DEBUG( !iGesture->IsTap() && !iPreviousTapGesture, Panic( EGesturePanicIllegalLogic ) );
-    
-    // holding has just started, and gesture code should be provided to client.
-    // set gesture state so that it produces a gesture code (other than drag)
-    iGesture->StartHolding();
-    
-    // create an item in the cleanup stack that will set the gesture state
-    // to holding-was-started-earlier state. NotifyL may leave, but the
-    // holding-was-started-earlier state must still be successfully set,
-    // otherwise, the holding gesture code will be sent twice
-    CleanupStack::PushL( TCleanupItem( &ContinueHolding, iGesture ) );
-    
-    EmitEventL( *iGesture );
-    
-    // set holding state to "post holding"
-    CleanupStack::PopAndDestroy( iGesture );
-    }
-
-// ----------------------------------------------------------------------------
-// RecyclePreviousTapGesture
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::RecyclePreviousTapGesture( TAny* aSelf )
-    {
-    CGestureHelperImpl& self = *reinterpret_cast<CGestureHelperImpl*>( aSelf );
-    self.RecycleGesture( self.iPreviousTapGesture );
-    }
-
-// ----------------------------------------------------------------------------
-// Emit the remainder of the previous tap event (tap + released)
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::EmitFirstTapEventL()
-    {
-    // when this function is called, a tap has turned out to _not_ be a double tap
-    __ASSERT_DEBUG( IsDoubleTapEnabled(), Panic( EGesturePanicIllegalLogic ) );
-    __ASSERT_DEBUG( iPreviousTapGesture, Panic( EGesturePanicIllegalLogic ) );
-    
-    iDoubleTapTimer->Cancel();
-    
-    // ensure previous tap gesture is reset even if client leaves
-    CleanupStack::PushL( TCleanupItem( &RecyclePreviousTapGesture, this ) );
-    
-    CompleteAndEmitSingleTouchL( *iPreviousTapGesture );
-    
-    // recycle the emitted gesture 
-    CleanupStack::PopAndDestroy( this ); 
-    }
-
-// ----------------------------------------------------------------------------
-// EmitStartEventL
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::EmitStartEventL( const CGesture& aGesture )    
-    {
-    CGesture* startGesture = aGesture.AsStartEventLC();
-    EmitEventL( *startGesture );
-    CleanupStack::PopAndDestroy( startGesture );    
-    }
-    
-// ----------------------------------------------------------------------------
-// EmitCompletionEvents for single touch
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::CompleteAndEmitSingleTouchL( CGesture& aGesture )
-    {
-    aGesture.SetSingleTouchComplete();
-    // send gesture code if holding has not been started. If holding has 
-    // been started, client has already received a "hold swipe left" e.g. event, in which
-    // case don't another "swipe left" event
-    if ( !aGesture.IsHolding() )
-        {
-        // if client leaves, the state is automatically reset.
-        // In this case the client will not get the released event
-        EmitEventL( aGesture ); 
-        }
-    // send an event that stylus was lifted
-    aGesture.SetSingleTouchReleased();
-    EmitEventL( aGesture ); 
-    }
- 
-// ----------------------------------------------------------------------------
-// EmitCompletionEvents for double touch
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::CompleteAndEmitDoubleTouchL( CGesture& aGesture )
-    {
-    aGesture.SetMultiTouchComplete();
-    if ( aGesture.IsPinch() )
-        {
-        // emit the pinch event to client
-        EmitEventL( aGesture );
-        }
-    // send an event that stylus was lifted
-    aGesture.SetMultiTouchReleased();
-    EmitEventL( aGesture ); 
-    }
-
-// ----------------------------------------------------------------------------
-// EmitCancelEventL
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::EmitCancelEventL()
-    {
-    iDoubleTapTimer->Cancel();
-
-    // ensure previous tap gesture is reset even if client leaves
-    CleanupStack::PushL( TCleanupItem( &RecyclePreviousTapGesture, this ) );
-
-    CGesture& gestureToCancel = iPreviousTapGesture ? *iPreviousTapGesture : *iGesture;
-    gestureToCancel.SetCancelled();
-    EmitEventL( gestureToCancel );
-    
-    // recycle the emitted gesture 
-    CleanupStack::PopAndDestroy( this ); 
-    }
-
-// ----------------------------------------------------------------------------
-// Notify observer
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::EmitEventL( const CGesture& aGesture )
-    {
-    // iPoints array must have content when this function is called
-    iObserver->HandleGestureL( aGesture );
-    }
-
-// ----------------------------------------------------------------------------
-// Return a fresh gesture from the gesture pool (pool of one gesture)
-// ----------------------------------------------------------------------------
-//
-CGesture* CGestureHelperImpl::NewGesture()
-    {
-    __ASSERT_DEBUG( iUnusedGesture, Panic( EGesturePanicIllegalLogic ) ); // pool should no be empty
-    iUnusedGesture->Reset();
-    CGesture* freshGesture = iUnusedGesture;
-    iUnusedGesture = NULL;
-    return freshGesture;
-    }
-
-// ----------------------------------------------------------------------------
-// Return a fresh gesture from the gesture pool (pool of one gesture)
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::RecycleGesture( CGesture*& aGesturePointer )
-    {
-    // only one object fits into the pool, and that should currently be enough
-    // one pointer must be null, one non-null
-    __ASSERT_DEBUG( !iUnusedGesture != !aGesturePointer, Panic( EGesturePanicIllegalLogic ) );
-    if ( aGesturePointer )
-        {
-        iUnusedGesture = aGesturePointer;
-        aGesturePointer = NULL;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// AddObserver
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::AddObserver(MGestureObserver* aObserver)
-    {
-    iObserver = aObserver;
-    }
-	
-// end of file
-	
--- a/mulwidgets/gesturehelper/src/gesturehelperimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +0,0 @@
-/*
-* 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:  Gesture helper implementation
-*
-*/
-
-#ifndef _GESTUREHELPERIMPL_H_
-#define _GESTUREHELPERIMPL_H_
-
-#include <e32base.h>
-
-class CAlfEnv;
-class CAlfDisplay;
-class CAlfVisual;
-class TAlfEvent;
-struct TPointerEvent;
-
-namespace GestureHelper
-{
-
-class CCallbackTimer;
-class CGesture;
-class CPointerCapturer;
-class MGestureObserver;
-
-/**
- * Implementation of CGestureHelper interface
- */
-NONSHARABLE_CLASS( CGestureHelperImpl ) : public CBase
-    {
-public:
-    /** 2-phase constructor */
-    static CGestureHelperImpl* NewL( MGestureObserver& aObserver );
-    
-    /** Destructor */
-    ~CGestureHelperImpl();    
-    
-    void InitAlfredPointerCaptureL( CAlfEnv& aEnv, CAlfDisplay& aDisplay, 
-        TInt aFreeControlGroupId );
-    
-    /** See @ref CGestureHelper::SetHoldingEnabled */
-    void SetHoldingEnabled( TBool aEnabled );
-    /** See @ref CGestureHelper::IsHoldingEnabled */
-    TBool IsHoldingEnabled() const;
-    /** See @ref CGestureHelper::SetDoubleTapEnabled */
-    void SetDoubleTapEnabled( TBool aEnabled );
-    /** See @ref CGestureHelper::IsDoubleTapEnabled */
-    TBool IsDoubleTapEnabled() const;
-    /** See @ref CGestureHelper::HandlePointerEventL */
-    TBool HandlePointerEventL( const TPointerEvent& aEvent );
-    /** See @ref CGestureHelper::OfferEventL */
-    TBool OfferEventL( const TAlfEvent& aEvent );
-    /** Reset helper state */
-    void Reset();
-    /** See @ref CGestureHelper::AddObserver */
-    void AddObserver(MGestureObserver* aObserver); 
-    /** Returns true the current event is a stray event form another visual */
-    TBool StrayEvent( const TPointerEvent& aEvent ) const;
-    
-private:
-
-    /**
-     * Analyse how the pointer event affects the current gesture, and potentially
-     * notify the observer. 
-     * @param aVisual visual on which the event fell on or NULL if not known
-     * @return ETrue if the event was consumed
-     */
-    TBool HandlePointerEventL( const TPointerEvent& aEvent, CAlfVisual* aVisual );
-
-     /**
-      * Analyse how the pointer event affects the current gesture, and potentially
-      * notify the observer. 
-      * @param aVisual visual on which the event fell on or NULL if not known
-      * @return ETrue if the event was consumed
-      */
-     TBool HandleSinglePointerEventL( const TPointerEvent& aEvent, CAlfVisual* aVisual );
-
-     /**
-      * Analyse how the pointer event affects the current gesture, and potentially
-      * notify the observer. 
-      * @param aVisual visual on which the event fell on or NULL if not known
-      * @return ETrue if the event was consumed
-      */
-     TBool HandleMultiplePointerEventL( const TPointerEvent& aEvent, const TInt aPointerNumber );
-     
-    /** @return ETrue if the helper has not started processing a gesture */
-    inline TBool IsIdle( TBool aPointerNumber = 0 ) const;
-    /** Add a point to the sequence of points that make up the gesture */
-    inline void AddPointL( const TPointerEvent& aEvent );    
-    /** Add a point to the sequence of points that make up the gesture */
-    inline TInt AddPoint( const TPointerEvent& aEvent );
-    /** Add a point to the sequence of points that make up the gesture */
-    inline void AddSecondaryPointL( const TPointerEvent& aEvent );    
-    /** Add a point to the sequence of points that make up the gesture */
-    inline TInt AddSecondaryPoint( const TPointerEvent& aEvent );
-    /** Verify if the currnet pointer event recived is valid and expected */
-    inline TBool ValidatePointer( const TPointerEvent& aEvent, const TInt aPointerNumber) const;
-    /** return if there is a second pointer held down */
-    inline TBool IsMultiTouch() const;
-    /** Add points to corresponding array depending on aPointerNumber, return whether the point is added or not */   
-    inline TBool AddMultiTouchPointsL( const TPointerEvent& aEvent, const TInt aPointerNumber);
-
-    /** Activates holding and notifies observer that holding has been started */
-    void StartHoldingL();
-    /* Set previous tag gesture to null (and recycle the gesture object) */
-    static void RecyclePreviousTapGesture( TAny* aSelf );
-    /** Emits a tap event since second tap of a double tap was not received within timeout */
-    void EmitFirstTapEventL();
-    /** Emit the start gesture event that aGesture would have produced */
-    void EmitStartEventL( const CGesture& aGesture );
-    /** 
-     * Send code event if not holding. Also sets the event to released and emits again.
-     * Modifies aGesture! 
-     */
-    void CompleteAndEmitSingleTouchL( CGesture& aGesture );
-    /** 
-     * Send code event if pinch. Also sets the event to released and emits again.
-     * Modifies aGesture! 
-     */   
-    void CompleteAndEmitDoubleTouchL( CGesture& aGesture );
-    /** 
-     * Send cancel event about the latest gesture client was notified about 
-     * Sets the latest gesture to Cancelled.
-     */
-    void EmitCancelEventL();
-    /** Notify observer of the gesture */
-    void EmitEventL( const CGesture& aGesture );
-    /** 
-     * (re)start holding timer at the current point.
-     * Does not restart holding if the point (in aEvent) is near enough to where holding 
-     * was started earlier. (Allows small movement but still starting holding.
-     */
-    void StartHoldingTimer( const TPointerEvent& aNewEvent );
-
-    /** 
-     * @return a gesture object from the gesture pool 
-     * Getting gestures from the gesture pool avoids the need to create gestures
-     * after construction. There is max only one gesture object in the pool, 
-     * but no more is needed 
-     */
-    CGesture* NewGesture();
-    /** Move the gesture into the gesture pool, and set aGesturePointer to null */
-    void RecycleGesture( CGesture*& aGesturePointer );
-    
-private:
-    /// Gesture is the logical representation of a sequence of points arriving
-    /// at certain times
-    /// This is the current gesture
-    CGesture* iGesture;
-    
-    /// Tap gesture of the previous gesture. Used when double tap is enabled.
-    /// The gesture is cached, since it cannot be emitted until gesture helper
-    /// knows whether the next gesture forms a double tap
-    /// @see CGestureHelperImpl::iDoubleTapTimer
-    CGesture* iPreviousTapGesture;
-
-    /// This is a recyclable object pool with just one object.
-    /// This class needs one or two gesture objects at any one time. There is one
-    /// less error condition to handle if gesture objects are not created after
-    /// construction. Therefore, if only one gesture object is needed at a specific,
-    /// point in time, the unused gesture object is stored here.
-    CGesture* iUnusedGesture;
-    
-    /// When double tap is enabled, a tap
-    /// event (and it's released event) is only emitted after the double tap timeout
-    /// passes. If user taps again before the timeout (in the same position),
-    /// this gesture is emitted as a double tap (followed by the released event, 
-    /// and the second tap is not emitted at all.
-    /// If user taps, and then swipes before the double tap timeout, this tap
-    /// event (and it's released event) event is emitted, and only then the swipe's
-    /// down and drag events are emitted. In other words, if user presses down
-    /// during the timeout, the down event it not emitted until the gesture
-    /// helper knows that the gesture is not another tap.
-    /// Behavior while double tap enabled:
-    /// Swipe: Down + drag + up => emits down + swipe/cancel + released
-    /// Tap: Down + up => emits down ... timeout ... + tap + released
-    /// Double tap: Down + up + down + up => emits down ... double tap + released
-    /// Tap + quick swipe: Down + up + down + drag + ... => emits down ... tap + up (for tap) + down (for swipe ) + drag + ...
-    /// Double tap timer is cancelled when the second pointer down event is received,
-    /// i.e., it does not matter if user does this: 
-    /// down + up + down ... long wait ... + up. It's still a double tap.
-    CCallbackTimer* iDoubleTapTimer;
-    
-    /// holding is activated when user keeps pointer down in the same place for 
-    /// a longer period. the holding timer activates off when enough time has passed.
-    CCallbackTimer* iHoldingTimer;
-    
-    /// observer for gesture events
-    MGestureObserver* iObserver;
-    
-    /// captures subsequent pointer events after pointer down received,
-    /// until pointer up
-    CPointerCapturer* iPointerCapturer;
-    
-    /// Tells number of pointers pressed down.
-    TInt iPointerCount;
-    
-    /// Tells the pointer number of the current pointers pressed down.
-    /// Valid only when single pointer is touched down.
-    TInt iCurrentPointer;    
-    
-    };
-    
-} // GestureHelper
-
-#endif // _GESTUREHELPERIMPL_H_
--- a/mulwidgets/gesturehelper/src/gesturerecogniser.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,285 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Gesture helper implementation
-*
-*/
-
-#include "gesturerecogniser.h"
-
-#include <e32math.h>
-
-#include "gesturedefs.h"
-#include "gestureobserver.h"
-#include "pointarray.h"
-#include "utils.h"
-
-#include <w32std.h>  // pointerevents
-
-using namespace GestureHelper;
-
-/**
- * Vector class (math)
- */
-NONSHARABLE_CLASS( TVector )
-    {
-public:
-    /** 
-     * Constructor
-     * @param aFrom starting point of the vector
-     * @param aTo ending point of the vector
-     */
-    TVector( const TPoint& aFrom, const TPoint& aTo )
-            : iX( aTo.iX - aFrom.iX ),
-              iY( aTo.iY - aFrom.iY )
-        {
-        }
-        
-    /** @return angle of the vector */
-    TReal Angle() const
-        {
-        TReal angle = 0;   
-        TReal length = Length();
-        if ( length != 0 )
-            {
-            Math::ACos( angle, iX / Length() );
-            if ( iY < 0 )
-                {
-                angle = 2 * KPi - angle;
-                }
-            }
-        return Degrees( angle ); 
-        }
-        
-    /** @return length of the vector */
-    TReal Length() const
-        {
-        TReal length = 0;
-        Math::Sqrt( length, iX * iX + iY * iY );
-        return length;
-        }
-
-private:
-    /** @return radians in degrees */
-    inline TReal Degrees( TReal aRadians ) const
-        {
-        return aRadians * 180 / KPi;
-        }
-
-public:
-    /// x coordinate that represent the vector
-    TReal iX;
-    /// y coordinate that represent the vector
-    TReal iY;
-    };
-
-inline TPoint LastPoint( const TPointArray& aPoints ) 
-    {
-    __ASSERT_DEBUG( aPoints.Count() > 0, Panic( EGesturePanicIllegalLogic ) );
-    return aPoints[ aPoints.Count() - 1 ] ;
-    }
-
-/** 
- * @return Length of the gesture in points
- */
-inline TReal GestureLength( const TPointArray& aPoints )
-    {
-    return TVector( aPoints[0], LastPoint( aPoints ) ).Length();
-    }
-
-/** 
- * @return ETrue if aAngleUnderTest is almost aAngle
- *         Closeness of the angles is controlled by KAngleTolerance
- */
-static TBool IsNear( TReal aAngleUnderTest, TReal aAngle )
-    {
-    return aAngle - KAngleTolerance <= aAngleUnderTest && 
-           aAngleUnderTest <= aAngle + KAngleTolerance;
-    }
-    
-/**
- * @return the angle as a direction flags of TGesture
- */
-inline TGestureCode Direction( TReal aAngle ) 
-    {
-    TGestureCode direction = EGestureUnknown;
-
-    if ( IsNear( aAngle, 90.0 ) )
-        {
-        direction = EGestureSwipeDown;
-        }
-    else if ( IsNear( aAngle, 180.0 ) )
-        {
-        direction = EGestureSwipeLeft;
-        }
-    else if ( IsNear( aAngle, 270.0 ) )
-        {
-        direction = EGestureSwipeUp;
-        }
-    else if ( 360.0 - KAngleTolerance <= aAngle || aAngle <= KAngleTolerance )
-        {
-        direction = EGestureSwipeRight;
-        }
-    else // for lint warning
-        {
-        // unknown angle
-        }
-    
-    return direction;
-    }
-
-/** @return direction between points */
-inline TGestureCode Direction( const TPoint& aFromPoint, const TPoint& aToPoint )
-    {
-    return Direction( TVector( aFromPoint, aToPoint ).Angle() );
-    }
-
-// function type to get a point in the point array
-typedef TPoint (TPointArray::*PointByIndexFunc)( TInt aIndex ) const;    
-
-/// @return latest point outside tolerance area or KErrNotFound if not point outside it
-TInt LatestCertainPointIndex( const TPointArray& aPoints, PointByIndexFunc aPointByIndex, TRect aToleranceRect )   
-    {
-    int i = aPoints.Count();
-    // Find out the first point from the end of the array  
-    // that is not contained in the tolerance rect.
-    while( 0 <= --i )
-        {
-        // if the point does not belong inside tolerance rect, it is the first point
-        // outside the rect
-        if( !aToleranceRect.Contains( (aPoints.*aPointByIndex)(i) ) )
-            {
-            break;
-            }
-        }
-    return i;
-    }
-    
-/** @return last direction of dragging */
-inline TGestureCode LastDirection( const TPointArray& aPoints, MGestureEvent::TAxis aRelevantAxis ) 
-    {
-    __ASSERT_DEBUG( aPoints.Count() > 0, Panic( EGesturePanicIllegalLogic ) );
-    
-    TRect toleranceRect = ToleranceRect( (aPoints.TPointArray::operator[])(aPoints.Count() - 1), aRelevantAxis );
-    
-    TInt latestPointIndex = LatestCertainPointIndex( aPoints, TPointArray::operator[],toleranceRect  );
-    if ( KErrNotFound != latestPointIndex )
-        {
-        return Direction( aPoints[latestPointIndex], LastPoint( aPoints ) );
-        }
-    // no points were outside the rect, and hence the direction is unknown
-    return EGestureUnknown;
-    }
-    
-/**
- * @return ETrue if points for a tap event
- */
-inline TBool IsTap( const TPointArray& aPoints )
-    {
-    __ASSERT_DEBUG( aPoints.Count() > 0, Panic( EGesturePanicIllegalLogic ) );
-    
-    TRect toleranceRect = ToleranceRect( (aPoints.TPointArray::Raw)(0) );
-    
-    return KErrNotFound == LatestCertainPointIndex( aPoints, TPointArray::Raw,toleranceRect );
-    }  
-    
-// ----------------------------------------------------------------------------
-// Return gesture code of a gesture formed by a sequence of points
-// ----------------------------------------------------------------------------
-//
-TGestureCode TGestureRecogniser::GestureCode( const TPointArray& aPoints, MGestureEvent::TAxis aRelevantAxis ) const
-    {
-    __ASSERT_DEBUG( aPoints.Count() > 0, Panic( EGesturePanicIllegalLogic ) );
-    
-    // tap needs to be treated separately, because recognising that needs to consider
-    // raw points (and not points in which x or y axis has been filtered out)
-    if ( IsTap( aPoints ) )
-        {
-        return EGestureTap;
-        }
-    
-	return LastDirection( aPoints, aRelevantAxis ); 
-    }
-
-// ----------------------------------------------------------------------------
-// Return gesture code of a gesture formed by a sequence of points
-// ----------------------------------------------------------------------------
-//
-TGestureCode TGestureRecogniser::MultiTouchGestureCode( const TPointArray& aPoints, const TPointArray& aSecondaryPoints, 
-        TInt aPreviousDistance,  TBool aIsFirstPinch ) const
-    {
-    __ASSERT_DEBUG( aPoints.Count() > 0, Panic( EGesturePanicIllegalLogic ) );
-    __ASSERT_DEBUG( aSecondaryPoints.Count() > 0, Panic( EGesturePanicIllegalLogic ) );
-    __ASSERT_DEBUG( aPreviousDistance > 0, Panic( EGesturePanicIllegalLogic ) );
-    
-    TInt currentDistance = TVector( LastPoint( aPoints ), LastPoint( aSecondaryPoints ) ).Length();
- 
-    // currently gesture tolerance is used as reference to identify the pinch
-    // and it is same for first time recognition and also for pinch thereon 
-    // This can be changed to an independent constant if required  
-    // This is now implemeted. We have different tolerance for intial pinch and pinhc theron
-    
-    // We need to have different tolerance at the time of changing direction.
-    // When user is pinching in and then starts pinching out the tolerance should be different.
-	// This is implemented in CGesture class. aIsFirstPinch will take care of all this 
-    TInt pinchTolerance = aIsFirstPinch ? KInitialPinchTolerance : KPinchTolerance;
-    if (Abs( currentDistance - aPreviousDistance ) >= pinchTolerance )
-        {
-        return EGesturePinch;
-        }    
-    return EGestureUnknown;
-    }
-
-// ----------------------------------------------------------------------------
-// Validate the drag formed by a sequence of points. If all the points are 
-// within the tolerance rect then the gesture is not recognised.
-// ----------------------------------------------------------------------------
-//
-TGestureCode TGestureRecogniser::ValidateDrag( const TPointArray& aPoints, MGestureEvent::TAxis aRelevantAxis ) const
-    {
-    __ASSERT_DEBUG( aPoints.Count() > 0, Panic( EGesturePanicIllegalLogic ) );    
-   
-    TRect toleranceRect = ToleranceRect( (aPoints.TPointArray::operator[])(aPoints.Count() - 1), aRelevantAxis );
-    
-    TInt latestPointIndex = LatestCertainPointIndex( aPoints, TPointArray::operator[],toleranceRect  );
-    if ( KErrNotFound != latestPointIndex )
-        {
-        return EGestureDrag;
-        }
-    // no points were outside the rect, and hence the direction is unknown
-    return EGestureUnknown;
-    }
-
-// ----------------------------------------------------------------------------
-// Return the length between the given two points
-// ----------------------------------------------------------------------------
-//
-TInt TGestureRecogniser::Length( const TPoint aPoint, const TPoint aSecondaryPoint ) const
-    {
-    return TVector(aPoint,aSecondaryPoint).Length();
-    }
-
-// ----------------------------------------------------------------------------
-// Return pointer number fetched from the given event
-// ----------------------------------------------------------------------------
-//
-TInt TGestureRecogniser::PointerNumber( const TPointerEvent& aEvent ) 
-    {
-    if( aEvent.IsAdvancedPointerEvent() )
-        {
-        return aEvent.AdvancedPointerEvent()->PointerNumber();
-        }
-    return 0;
-    }
-// end of file
-
--- a/mulwidgets/gesturehelper/src/gesturerecogniser.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* 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:  Algorithm to recognise gesture from a stream of points
-*
-*/
-
-#ifndef _GESTURERECOGNISER_H_
-#define _GESTURERECOGNISER_H_
-
-#include <e32std.h>
-#include <gestureobserver.h>
-
-struct TPointerEvent;
-
-namespace GestureHelper
-{
-
-class TPointArray;
-
-/**
- * Note: Not a static class or a function pointer, just to make it sligthly 
- * easier to replace it with a heavier implementation
- */
-NONSHARABLE_CLASS( TGestureRecogniser )
-    {
-public:
-    /** 
-     * Translates points into a gesture code
-     * @param aPoints Points that form the gestures. Client is not required 
-     *                to pass in repeated points (sequential points that are 
-     *                almost in the same place)
-     * @param aAxis Axis to filter the points
-     * @return recognised gesture id or EUnknownGesture
-     */
-    TGestureCode GestureCode( const TPointArray& aPoints, MGestureEvent::TAxis aRelevantAxis ) const;
-
-    /** 
-     * Translates 2 sequences of points into a multitouch gesture code
-     * @param aPoints Points that represent the first touch point variations. Client is not required 
-     *                to pass in repeated points (sequential points that are 
-     *                almost in the same place)
-     * @param aSecondaryPoints Points that represent the second touch point variations.
-     * @param aPreviousDistance distance between the two points when the pinch was recognized the last time.
-     * @param aisFirstPinch, Is this the first pinch of teh current gesture. Required to decide which tolerance to use
-     * @return recognised gesture id or EUnknownGesture if its not a valid multi touch gesture
-     */
-    TGestureCode MultiTouchGestureCode( const TPointArray& aPoints, const TPointArray& aSecondaryPoints, TInt aPreviousDistance,
-            TBool aIsFirstPinch ) const;
-    
-    /** 
-     * Validate the points to decide its a drag or not
-     * @param aPoints Points that form the gestures. Client is not required 
-     *                to pass in repeated points (sequential points that are 
-     *                almost in the same place)
-     * @param aAxis Axis to filter the points
-     * @return EGestureDrag if valid else returns EUnknownGesture
-     */    
-    TGestureCode ValidateDrag( const TPointArray& aPoints, MGestureEvent::TAxis aRelevantAxis ) const;
-    
-    /** 
-     * Validate the points to decide its a drag or not
-     * @param aPoints Points that form the gestures. Client is not required 
-     *                to pass in repeated points (sequential points that are 
-     *                almost in the same place)
-     * @param aAxis Axis to filter the points
-     * @return EGestureDrag if valid else returns EUnknownGesture
-     */    
-    TInt Length( const TPoint aPoint, const TPoint aSecondaryPoint ) const;
-
-    /** 
-     * Return the pointer number from the given event
-	 *
-     * @param aEvent, event for which the pointer number needs to be fetched
-     * 
-	 * This function is added here only for simulating multiple pointer events
-	 * for testing UT, For simulation purpose we will have a custom implemetation
-	 * which will override this method and return our own pointer numbers
-	 * So that we can simulate multiple pointer event.
-     * @return TInt pointer number
-     */       
-    TInt PointerNumber( const TPointerEvent& aEvent);
-    
-    };
-    
-} // namespace GestureHelper
-
-#endif // _GESTURERECOGNISER_H_
--- a/mulwidgets/gesturehelper/src/hittest.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 2008-2008 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:  Gesture helper helper functions
-*
-*/
-
-
-#include "gestureobserver.h"
-
-// system includes
-#include <alf/alfcontrol.h>
-#include <alf/alflayout.h>
-
-using namespace GestureHelper;
-
-namespace 
-    {
-    /** @return the leaf-most visual that is under aPos */
-    const CAlfVisual* VisualByCoordinates( const CAlfVisual& aRoot, const TPoint& aPos )
-        {
-        // If it has children, chose any of them is hit first
-        const CAlfLayout* layout = dynamic_cast< const CAlfLayout* >( &aRoot );
-        if ( layout)
-            {
-            TInt i = layout->Count();
-            while( --i >= 0 )
-                {
-                if( VisualByCoordinates( layout->Visual( i ), aPos ) )
-                    {
-                    return &layout->Visual( i );
-                    }
-                }
-            }
-            
-        // children were not hit. is this visual hit?
-        if( TRect( aRoot.DisplayRect() ).Contains( aPos ) )
-            {
-            return &aRoot;
-            }
-            
-        // visual was not found
-        return NULL;
-        }
-        
-    TBool IsRootVisual( const CAlfVisual& aVisual )
-        {
-        return !aVisual.Layout();
-        }
-    } // unnamed namespace 
-    
-// ----------------------------------------------------------------------------
-// VisualByCoordinates
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CAlfVisual* HitTest::VisualByCoordinates( const CAlfControl& aControl, 
-        const TPoint& aPos )
-    {
-    TInt i = aControl.VisualCount();
-    while( --i >= 0 )
-        {
-        // Ask only root visuals, since all children are within the root visuals
-        if ( IsRootVisual( aControl.Visual( i ) ) )
-            {
-            const CAlfVisual* hitVisual = ::VisualByCoordinates( 
-                aControl.Visual( i ), aPos );
-            if ( hitVisual )
-                {
-                return const_cast< CAlfVisual* >( hitVisual );
-                }
-            }
-        }
-    return NULL;
-    }
--- a/mulwidgets/gesturehelper/src/pointarray.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Array of points
-*
-*/
-
-#include "pointarray.h"
-
-using namespace GestureHelper;
-
-// ----------------------------------------------------------------------------
-// TPointArray constructor
-// ----------------------------------------------------------------------------
-//
-TPointArray::TPointArray( const RArray< TPointEntry >& aPoints )
-        : iPoints( aPoints )
-    {}
-    
-// ----------------------------------------------------------------------------
-// TPointArray length
-// ----------------------------------------------------------------------------
-//
-TInt TPointArray::Count() const
-    {
-    return iPoints.Count();
-    }
-
-// ----------------------------------------------------------------------------
-// point at index, no filtering
-// ----------------------------------------------------------------------------
-//
-TPoint TPointArray::operator[]( TInt aIndex ) const 
-    {
-    return iPoints[aIndex].iPos;
-    }
-
-// ----------------------------------------------------------------------------
-// Unfiltered point at index
-// ----------------------------------------------------------------------------
-//
-TPoint TPointArray::Raw( TInt aIndex ) const
-    {
-    return iPoints[aIndex].iPos;
-    }
-
--- a/mulwidgets/gesturehelper/src/pointarray.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Array of points
-*
-*/
-
-#ifndef _POINTARRAY_H_
-#define _POINTARRAY_H_
-
-#include <e32std.h>
-
-namespace GestureHelper
-{
-
-/** 
- * Represents a single point given at certain time
- */
-struct TPointEntry 
-    {
-    /** constructor */
-    inline TPointEntry( const TPoint& aPos, const TTime& aTime ) 
-            : iPos( aPos ), iTime( aTime )
-        {
-        }
-    
-    TPoint iPos;
-    TTime iTime;
-    };
-    
-/**
- * Array of points that wraps another point array
- * The purpose of this class is to allow deriving classes to override []
- * and in that member function adjust the point, e.g., by setting one
- * axis to always a constant value. This allows providing a sequence of
- * points to the recogniser in which the other axis is ignored.
- */
-NONSHARABLE_CLASS( TPointArray )
-    {
-public:
-    /** 
-     * @param aPoints points array to wrap (and filter)
-     */
-    TPointArray( const RArray< TPointEntry >& aPoints ); 
-    /** @returns length of the array */
-    TInt Count() const;
-    /** 
-     * @returns a filtered point at aIndex. Default implementation same
-     *          as Raw(...)
-     * virtual so deriving classes can modify the point (e.g., filter one axis)
-     */
-    virtual TPoint operator[]( TInt aIndex ) const;
-    /** @returns an raw, non-filtered point at aIndex */
-    TPoint Raw( TInt aIndex ) const;
-    
-private:
-    const RArray< TPointEntry >& iPoints;
-    };
-
-} // namespace GestureHelper
-
-#endif // _POINTARRAY_H_
--- a/mulwidgets/gesturehelper/src/pointercapturer.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Alf control group and control for capturing pointer events
-*
-*/
-
-#include "pointercapturer.h"
-
-#include <alf/alfcontrol.h>
-#include <alf/alfcontrolgroup.h>
-#include <alf/alfdisplay.h>
-#include <alf/alfenv.h>
-#include <alf/alfevent.h>
-#include <alf/alfroster.h>
-
-#include "gesturehelperimpl.h"
-
-namespace GestureHelper
-{
-
-/**
- * CPointerCaptureControl
- * Gesture control own a gesture helper, and captures any pointer events that 
- * no other control captures. After it captures pointer down event, it will 
- * capture all pointer events until pointer up. It does this by bringing its
- * control group to the top upon pointer down, and lowering the control group
- * to the botton upon pointer up.
- */
-NONSHARABLE_CLASS( CPointerCaptureControl ) : public CAlfControl
-    {
-public: 
-    /** Two-phased constructor */
-    static CPointerCaptureControl* NewLC( CGestureHelperImpl& aHelper, 
-            CAlfEnv& aEnv, CAlfDisplay& aDisplay )
-        {
-        CPointerCaptureControl* self = new ( ELeave ) CPointerCaptureControl( aHelper );
-        CleanupStack::PushL( self );
-        self->ConstructL( aEnv ); // construct base class
-        self->BindDisplay( aDisplay );
-        self->AppendVisualL( EAlfVisualTypeVisual );       
-        return self;
-        }
-    
-    void StartCaptureL()
-        {
-        User::LeaveIfError( Display()->Roster().SetPointerEventObservers( 
-            EAlfPointerEventReportDrag | EAlfPointerEventReportUnhandled, 
-                *this ) );
-        Display()->Roster().ShowL( *ControlGroup(), KAlfRosterShowAtTop );
-        }
-    
-    void StopCapture()
-        {
-        ( void ) Display()->Roster().SetPointerEventObservers( 0, *this );
-        TRAP_IGNORE( Display()->Roster().ShowL( *ControlGroup(), KAlfRosterShowAtBottom ) );
-        }
-    
-private:
-    /** Constructor */
-    CPointerCaptureControl( CGestureHelperImpl& aHelper )
-            : iHelper( aHelper )
-        {
-        }
-    
-    // From CAlfControl
-    TBool OfferEventL( const TAlfEvent& aEvent )
-        {
-        TBool consumed = EFalse;
-        if ( aEvent.IsPointerEvent() )
-            {
-            // pointer down for first pointer should never come here if everything is 
-			// working properly. if pointer event comes here, stop capturing and allow the 
-			// event to fall to the controls below
-            if ( iHelper.StrayEvent(aEvent.PointerEvent() ))
-                {
-                StopCapture();
-                }
-            else 
-                {
-                consumed = iHelper.HandlePointerEventL( aEvent.PointerEvent() );
-                }
-            }
-        return consumed;
-        }
-    
-private:    
-    /// gesture helper that analyses pointer sequences. own.
-    CGestureHelperImpl& iHelper;
-    
-    };
-    
-} // namespace GestureHelper
-
-using namespace GestureHelper;
-    
-// ----------------------------------------------------------------------------
-// Two phase constructor
-// ----------------------------------------------------------------------------
-//
-CPointerCapturer* CPointerCapturer::NewL()
-    {
-    return new ( ELeave ) CPointerCapturer();
-    }
-
-// ----------------------------------------------------------------------------
-// Two phase constructor
-// ----------------------------------------------------------------------------
-//
-CPointerCapturer::~CPointerCapturer()
-    {
-    if ( iCaptureControl )
-        {
-        // deleting the control group will also delete the control
-        iCaptureControl->Env().DeleteControlGroup( iControlGroupId );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// InitForAlfredL
-// ----------------------------------------------------------------------------
-//
-void CPointerCapturer::InitForAlfredL( CGestureHelperImpl& aHelper, 
-        CAlfEnv& aEnv, CAlfDisplay& aDisplay, TInt aControlGroupId )
-    {
-    CAlfControlGroup& group = aEnv.NewControlGroupL( aControlGroupId );
-    CPointerCaptureControl* control = CPointerCaptureControl::NewLC( aHelper, 
-        aEnv, aDisplay );
-    group.AppendL( control );
-    CleanupStack::Pop( control );    
-   
-    // store control only after it has been successfully added to group
-    iCaptureControl = control;
-    iControlGroupId = aControlGroupId;
-    }
-
-// ----------------------------------------------------------------------------
-// StartCaptureL
-// ----------------------------------------------------------------------------
-//
-void CPointerCapturer::StartL()
-    {
-    if ( iCaptureControl )
-        {
-        iCaptureControl->StartCaptureL();
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// StopCapture
-// ----------------------------------------------------------------------------
-//
-void CPointerCapturer::Stop()
-    {
-    if ( iCaptureControl )
-        {
-        iCaptureControl->StopCapture();
-        }
-    }
--- a/mulwidgets/gesturehelper/src/pointercapturer.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Responsible for capturing pointer events
-*
-*/
-
-#ifndef _POINTERCAPTURER_H_
-#define _POINTERCAPTURER_H_
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-
-class CAlfControl;
-class CAlfControlGroup;
-class CAlfEnv;
-class CAlfDisplay;
-
-// CLASS DECLARATION
-
-namespace GestureHelper 
-{
-
-class CGestureHelperImpl;
-class CPointerCaptureControl;
-
-/**
- * CPointerCaptureControl
- * Gesture control own a gesture helper, and captures any pointer events that 
- * no other control captures. After it captures pointer down event, it will 
- * capture all pointer events until pointer up. It does this by bringing its
- * control group to the top upon pointer down, and lowering the control group
- * to the botton upon pointer up.
- */
-NONSHARABLE_CLASS( CPointerCapturer ) : public CBase
-    {
-public: 
-    /** Two-phased constructor */
-    static CPointerCapturer* NewL();
-    /** Destructor */
-    ~CPointerCapturer();
-    
-    void InitForAlfredL( CGestureHelperImpl& aHelper, CAlfEnv& aEnv, 
-        CAlfDisplay& aDisplay, TInt aControlGroupId );
-
-    void StartL();
-    void Stop();
-    
-private:    
-    /// 
-    CPointerCaptureControl* iCaptureControl;
-    TInt iControlGroupId;
-    };
-
-} // namespace GestureHelper
-    
-#endif // _POINTERCAPTURER_H_
--- a/mulwidgets/gesturehelper/src/utils.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Gesture recognition utilities
-*
-*/
-
-#include "utils.h"
-
-#include <coemain.h> // for CCoeEnv
-#include <eikappui.h>  // for CEikAppUi
-
-#include "gesturedefs.h"
-
-namespace GestureHelper
-    {
-    /** @return the longer edge of the size */
-    inline TInt LongerEdge( const TSize& aSize ) 
-        {
-        return Max( aSize.iHeight, aSize.iWidth );
-        }
-    
-    // for documentation, see header file
-    TRect ToleranceRect( const TPoint& aCenterPoint ) 
-        {
-        TSize screenSize = static_cast<CEikAppUi*>( CCoeEnv::Static()->AppUi() )
-            ->ApplicationRect().Size(); 
-        // multiplication has to be done first, to avoid rounding integer to 0 with division
-        int toleranceLength = ( KGestureTolerancePercent * LongerEdge( screenSize ) ) / 100; 
-        TRect toleranceRect( aCenterPoint, TSize() );
-        // grow by the tolerance length, while keeping the center point
-        toleranceRect.Shrink( -toleranceLength, -toleranceLength );
-        return toleranceRect;
-        }
- 
-     // for documentation, see header file
-    TRect ToleranceRect( const TPoint& aCenterPoint, MGestureEvent::TAxis aRelevantAxis ) 
-        {
-        TRect toleranceRect = ToleranceRect(aCenterPoint);
-
-		TSize screenSize = static_cast<CEikAppUi*>( CCoeEnv::Static()->AppUi() )
-            ->ApplicationRect().Size();
-            
-		if(aRelevantAxis == MGestureEvent::EAxisHorizontal)
-			{
-			toleranceRect.iTl.iY = 0;
-        	toleranceRect.iBr.iY = screenSize.iHeight;	
-			}
-		else if(aRelevantAxis == MGestureEvent::EAxisVertical)
-			{
-			toleranceRect.iTl.iX = 0;
-        	toleranceRect.iBr.iX = screenSize.iWidth;	
-			}
-		else // EAxisBoth
-			{
-			// nothing to be done	
-			}                   
-
-        return toleranceRect;
-        }
-           
-    } // namespace GestureHelper
--- a/mulwidgets/gesturehelper/src/utils.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Gesture recognition utilities
-*
-*/
-
-#ifndef _GESTURE_UTILS_H_
-#define _GESTURE_UTILS_H_
-
-#include <e32std.h>
-#include <gestureobserver.h>
-
-namespace GestureHelper
-    {
-      
-    /**
-     * @return the a rectange in which dragging will be ignored. Tolerance rect 
-     *         represents a rectange within which any movement will not be considered
-     *         intentional, but as accidental stylus movement.
-     */
-    TRect ToleranceRect( const TPoint& aCenterPoint ); 
-    
-    /**
-     * @return the a rectange in which dragging will be ignored. Tolerance rect 
-     *         represents a rectange within which any movement will not be considered
-     *         as drag, This depends on the Axis.
-     * For Example, any movement within a vertical strip at the point of touch down is
-     *		if the interested Axis is Horizontal axis.
-     */
-    TRect ToleranceRect( const TPoint& aCenterPoint, MGestureEvent::TAxis aRelevantAxis );
-
-    } // namespace GestureHelper
-
-#endif // _GESTURE_UTILS_H_
--- a/mulwidgets/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2009 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:  Build information file for project ?myapp
-*
-*/
-
-#include <platform_paths.hrh>
-
-
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-PRJ_TESTEXPORTS
-
-
-//Include the logging
-#include "../mullogging/group/bld.inf"
-
-// Include the Data Model
-#include "../muldatamodel/group/bld.inf"
-
-// Include the Common Utilities
-#include "../common/group/bld.inf"
-
-// Include the Gesture Helper
-#include "../gesturehelper/group/bld.inf"
-
-
-// Include the CoverFlow Widget
-#include "../mulcoverflowwidget/group/bld.inf"
-
-// Include the Slider widget
-#include "../mulsliderwidget/group/bld.inf"
-
-#include "../alfviewwidget/group/bld.inf"
-#include "../alfcontainerwidget/group/bld.inf"
-#include "../alfscrollbarwidget/group/bld.inf"
-
-
-
-//End of files
--- a/mulwidgets/mulcoverflowwidget/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Build information file for CoverFlow widget component
-*
-*/
-
-#include <platform_paths.hrh>
-// Include the Test App
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-../rom/mulcoverflowwidget.iby      CORE_MW_LAYER_IBY_EXPORT_PATH(mulcoverflowwidget.iby)
-//../internal/test/testcoverflowwidget/rom/testcoverflowwidget.iby  CORE_MW_LAYER_IBY_EXPORT_PATH(testcoverflowwidget.iby)
-PRJ_MMPFILES
-
-mulcoverflowwidget.mmp
-
-PRJ_TESTMMPFILES
-
-
-PRJ_TESTEXPORTS
-
-
-//End of files
--- a/mulwidgets/mulcoverflowwidget/group/mulcoverflowwidget.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* 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:  Project definition file 
-*
-*/
-#include <platform_paths.hrh>
-
-TARGET                  mulcoverflowwidget.dll
-TARGETTYPE              PLUGIN
-
-UID                     0x10009d8d 0x2000D240
-
-CAPABILITY              CAP_ECOM_PLUGIN
-VENDORID                VID_DEFAULT
-
-#ifndef __WINSCW__
-EPOCALLOWDLLDATA
-#endif
-
-SOURCEPATH              ../src
-SOURCE                  mulcoverflowwidgetfactoryplugin.cpp
-SOURCE                  mulcoverflowwidget.cpp
-SOURCE                  mulcoverflowcontrol.cpp
-SOURCE                  mulbaseelement.cpp
-SOURCE                  mulcoverflowtemplate.cpp 
-SOURCE                  mulcoverflowao.cpp 
-SOURCE					mulcovertemplate4.cpp 
-SOURCE					mulcovertemplate1.cpp
-
-USERINCLUDE     	../../../inc/mul
-USERINCLUDE     	../../../inc
-USERINCLUDE         ../../common/inc 
-USERINCLUDE             ../inc 
-USERINCLUDE         ../../mullogging/inc
-
-
-MW_LAYER_SYSTEMINCLUDE
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-// System Libraries
-LIBRARY                 aknskins.lib
-LIBRARY                 charconv.lib 
-LIBRARY                 euser.lib
-LIBRARY                 ecom.lib
-LIBRARY                 libc.lib
-LIBRARY                 avkon.lib 
-LIBRARY                 cone.lib
-LIBRARY                 touchfeedback.lib //for tactile feedback
-LIBRARY                 egul.lib
-LIBRARY                 gdi.lib
-LIBRARY                 eikcore.lib 
-
-// Alf Libraries
-LIBRARY                 alfclient.lib
-LIBRARY                 alfwidgetmodel.lib
-LIBRARY                 alfwidgetutils.lib
-
-// Osn Libraries
-LIBRARY					osncore.lib
-
-
-// STL Libraries
-LIBRARY					libstdcpp.lib
-LIBRARY                 libpthread.lib
-LIBRARY                 aknlayout2hierarchy.lib
-LIBRARY                 aknlayout2scalable.lib
-LIBRARY                 cdlengine.lib
-LIBRARY                 mulmodelutility.lib
-LIBRARY                 mullogging.lib  //for logging
-LIBRARY         		alfresourcepool.lib //for resource pool
-
-
-// Gesture Helper Library
-LIBRARY           gesturehelper.lib
-
-LANG                    SC
-START RESOURCE          2000D240.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET                  mulcoverflowwidget.rsc
-#endif
-END
-
--- a/mulwidgets/mulcoverflowwidget/inc/imullogicaltemplate.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  List Template Interface
- *
-*/
-
-#ifndef	I_MULLOGICALTEMPLATE_H
-#define I_MULLOGICALTEMPLATE_H
-
-#include "mulvisualutility.h"
-#include "mulitemdefinitions.h"
-
-namespace Alf
-	{
-
-	
-class IMulLogicalTemplate
-    {
-
-public:
-    virtual ~IMulLogicalTemplate() {}
-    //fills up the data structure pertaining to specific templates
-    virtual void PopulateData() = 0;	
-    //Return the structure of the specified element Id   
-    virtual const LCTElementStructure* GetElementStructure(
-        TMulCurrentOrientation aCurOrient,
-        const char* aElemId) = 0;
-	
-    };
-    
-	}
-
-
-#endif //I_MULLOGICALTEMPLATE_H	
-	
-//End of file
--- a/mulwidgets/mulcoverflowwidget/inc/mulbaseelement.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,694 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  base element header for CoverFlow
-*
-*/
-
-// This file defines the API for MulCoverFlowWidget.dll
-
-#ifndef __MULBASEELEMENT_H__
-#define __MULBASEELEMENT_H__
-
-
-//  Include Files
-#include <alf/alfdecklayout.h>
-#include "alf/alfelement.h"
-#include <alf/alfflowlayout.h>
-#include <alf/alfwidgeteventhandler.h>
-#include <mul/imulwidget.h>
-
-#include "mulcoverflowdefinitions.h"
-
-namespace Alf
-    {
-    
-//Forward declarations    
-class MulCoverFlowTemplate; 
-struct TMulBaseElementImpl;
-
-// Structure to store the position and sizes of cover flow items
-struct TMulCoverFlowItem
-    {
-    int height;
-    int width;
-    int posx;
-    int posy;
-    
-    TMulCoverFlowItem()
-    	:height(0),width(0),posx(0),posy(0){}
-
-    TMulCoverFlowItem(int aPosx,int aPosy,int aWidth,int aHight)
-    	:posx(aPosx),posy(aPosy),width(aWidth),height(aHight){}
-        
-    };
-
-namespace mulbaseelement
-    {
-     static const IfId Ident=
-        {
-        0,"mulbaseelement"
-        };
-    }
-
-
-/* Element class which handles all the visuals in the layout
- * The class also handles  event handling and applies animation as required
- * by the widget.The class forms the basis of the entire layout heriarchy in the widget
- * */
-/// @bug minor:avanhata:7/7/2008 This class is coverflow-specific, so name it as such
-class MulBaseElement : public AlfElement, 
-                       public IAlfWidgetEventHandler
-    {
-public://Constructor and destructor
-    
-   /**
-    * C++ constructor.
-    */
-    MulBaseElement( CAlfWidgetControl& aControl, const char* aName );
-    
-    /**
-     * Destructor.
-     */
-    virtual ~MulBaseElement();
-            
-        
-public: //From IAlfWidgetEventHandler
-
-    static inline const IfId& Type()
-        {
-        return mulbaseelement::Ident;    
-        } 
-        
-    bool accept( CAlfWidgetControl& aControl, const TAlfEvent& aEvent ) const;
-    
-    void setActiveStates( unsigned int aStates );
-    
-    AlfEventStatus offerEvent( CAlfWidgetControl& aControl, const TAlfEvent& aEvent );
-    
-    IAlfInterfaceBase* makeInterface( const IfId& aType ); 
-    
-    void setEventHandlerData( const AlfWidgetEventHandlerInitData& aData );
-	  
-	AlfWidgetEventHandlerInitData* eventHandlerData();
-	
-	AlfEventHandlerType eventHandlerType() ;
-
-    AlfEventHandlerExecutionPhase eventExecutionPhase() ;
-
-public: //New Methods
-
-    /**
-	 * Sets the Item Brush Color.
-	 * @param aColor color to be set.
-	 */
-    void SetItemBrush(const TRgb& aColor); 
-    
-     /**
-	 * changes the opacity of counter accordingly.
-	 * @param aUiOn true if UIOn or else false.
-	 * @param aTransitionTime transition time.
-	 */
-    void UIOnOffMode(bool aUiOn, int aTransitionTime);
-    
-    /**
-	 * Sets the Scroll direction during the step scroll.
-	 * @param TItemScroll sets the direction if it is right or left.
-	 */
-    void SetTextColor(TTextVisualType aVisualType, const TRgb& aColor);
-    
-    /**
-	 * returns the color of the specified text
-	 * @param aVisualType is the visual type.
-	 */
-	TMulVisualColorProperty TextColor(TTextVisualType aVisualType);
-    
-    
-    /**
-	 * Sets the Scroll direction during the step scroll.
-	 * @param TItemScroll sets the direction if it is right or left.
-	 */
-    void SetScrollDir( TItemScroll aScrollDir );
-    
-    /**
-     * Update the text opacity and counter values whenever highlight is modified
-     *
-     * @param aAnimationTime, text will be updated after the aAnimationTime.
-     */
-    void UpdateTextAndCounter(int animationTime = 0); 
-    
-    /**
-     * Stores the dimensions of the highlighted and nonhighlighted item from the template.
-     * 
-     * @param aHighlightItemDimensions The highlight item dimensions .
-     * @param aNonHighlightItemDimensions The non highlight item dimensions.
-     * @param aVisibleIconCount The count of visible items on screen.
-     */
-    void StoreVisualDimensions( TMulCoverFlowItem aHighlightItemDimensions, TMulCoverFlowItem aNonHighlightItemDimensions,int aVisibleIconCount );
-    
-    /**
-     * Stores whether the text is visible or not in the current orientation and template.
-     *
-     * @parama aIsTextVisible Boolean value indicating whether text is there or not.
-     */
-    void StoreTextVisibility( bool aIsTextVisible );
-    
-    /**
-     * Return is the textvisible or not
-     * 
-     */
-    bool IsTextVisibile( ) const ;
-    
-	/**
-	 *  
-	 *
-	 */
-    void ApplyBrushOnIcon( CAlfImageVisual& aImageVisual );
-    
-    /**
-	 *  
-	 *
-	 */
-	void RemoveBrushOnIcon( CAlfImageVisual& aImageVisual );
-        
- 	/**
-	 * To hide and unhide Widget.
-	 *
-	 * @param aShow                 value to hide/unhide the Widget 
-	 * @param aTransitionTime       Transition Time in MilliSeconds
-	 */
-	void ShowWidget( bool aShow, int aTransitionTime = 0) ;
-	
-	/*
-	 * Takes the new positions of the visuals and applies the same to the visuals
-	 * On change of orientation
-	 */
-	void OrientationChange();
-	
-	/**
-	 * Sets the empty text to be displayed when the number of items is 0.
-	 * 
-	 * @param aDefaultText The text to be displayed.
-	 */
-	void SetEmptyText( const UString& aDefaultText );
-	
-	/**
-	 * Shows/Hide the empty text when the number of items in the model or layout is 0 . Also when the model is NULL.
-	 * 
-	 * @param aShow Boolean value to show/hide the empty text.
-	 */
-	void ShowEmptyText( bool aShow );
-	
-	/**
-	 * Returns true if empty text is set by the application else returns false.
-	 * 
-	 * @returns true if empty text is set else returns false.
-	 */
-	bool IsEmptyText();
-	
-	/**
-	 * Updates the Slider Widget ticks when item is added or removed
-	 *
-	 * @param aUpdateTick takes the count of items in the coverflow widget
-	 */
-	void UpdateSliderTick(int aUpdateTick);
-
-	/**
-     * Returns the icon/text flow layout in vertical flow layout
-     * 
-     * @param aLayoutIndex the index will determine which layout to return from the main/vertical flow layout
-     */
-    CAlfLayout& FlowLayout( int aLayoutIndex );
-      
-	 /**
-	  *
-	  * Sets the text to be displayed for the counter element .
-	  *
-	  * @param aTransitionTime the transition time in milliseconds for animation 
-	  */
-	 void SetCounterText( int aTransitionTime = 0 );
-    
-    /**
-     * Creates a visual for counter if not created initailly else return the existing counter visual.
-     */
-    CAlfTextVisual& CounterVisual();
-      
-    /**
-     * Move the Iconflow by a items width in case of bounce effect.
-     * 
-     * @param aBounceDirection Tells the direction by which the iconflowlayout should move.
-     */
-    void StartBounce(int aBounceDirection); 
-    
-    /**
-     * Returns whether its in Ui on mode or not.
-     * 
-     * @return true if its currently in Ui on mode.
-     */    
-    bool IsUiOnMode();    
-
-	/**
-	 * Creates the text visuals if it is not created, else returns the existing 
-	 * visual for the title and detail text.
-	 * 
-	 * @param aTextString, visual tag
-	 * @param aLayout, Layout in which to create the text visual
-	 */      
-    CAlfTextVisual& CreateTextVisual(const TDesC8& aName, CAlfLayout& aLayout); 
-	
-	/**
-	 * Updates the value of the text visuals when an image has scrolled .
-	 * 
-	 * @param aAnimationTime, text will be updated after the aAnimationTime.
-	 */
-	void UpdateTextValue( int aAnimationTime = 0);
-	
-	/**
-	 * returns the layout to text.
-	 */
-	CAlfLayout& TextLayout();
-    
-    /**
-     * Start marquee for the text.
-     * 
-     * @param aName, text type is title or detail 
-     */
-    void StartMarquee(mulvisualitem::TVisualAttribute aName );
-    
-    /**
-     * Stop marquee for the text.
-     * 
-     * * @param aName, text type is title or detail 
-     */
-	void StopMarquee(mulvisualitem::TVisualAttribute aName);
-	
-	/**
-	 * Decide whether to show or hide the slider based on the parameter.
-	 *
-	 * @param aFlag, boolean to decide slider to be shown or not.
-	 */	
-	void ShowSlider(bool aFlag);
-	
-	/**
-	 * Return size of hightlight icon for the template specified .
-	 *
-	 * @param aTemplateId, id of the template whose icon size to be calculated.
-	 * @param aAttribute, attribute whose size is to be calculated.
-	 * @param aHeight, refrence in which the height parameter is returned.
-	 * @param aWidth, refrence in which the width parameter is returned.
-	 */	
-	void GetIconSize( mulwidget::TLogicalTemplate aTemplateId, 
-		    mulvisualitem::TVisualAttribute aAttribute, int& aHeight, int& aWidth);
-	
-	/**
-	 * Sets the Scroll Animation Time defined by the application.
-	 *
-	 * @param aScrollAnimationTime, ScrollAnimation Time set by the application.
-	 */	
-
-	void SetScrollAnimationTime( int aScrollAnimationTime );
-
-	/**
-	 * Set background for coverflow
-	 *
-	 * @param aColor, background color.
-	 */
-	void SetBackground(const TRgb& aColor);
-    
-	/**
-	 * Set background for coverflow.
-	 *
-	 * @param aIID, Skin id that shoudl be used as background.
-	 */    
-    void SetBackground(const TAknsItemID& aIID);
-    
-    /**
-     * Stores the fit mode flag (on or off).
-     * 
-     * @param aFlag fitmode flag
-     */
-   	void SetFitMode(bool aFlag);
-   	
-    /**
-     * Apply scale mode on image visual and also appy brush for remaining area.
-     * 
-     * @param aImageVisual Image visual
-     */
-    void ApplyScaleMode( CAlfImageVisual& aImageVisual);
-    
-	/**
-	 *  
-	 *
-	 */    
-	void CreateAndInitializeVisuals(bool aIsOrientationChange = false);
-	
-	/**
-	 *  
-	 *
-	 */	
-	void SetHighlight(int aHighlightIndex, int aAnimationTime = 0);
-	
-	/**
-	 *  
-	 *
-	 */	
-	void MoveVisuals(int aDistance,int aAnimationTime = 0);
-	
-	/**
-	 *  
-	 *
-	 */	
-    CAlfVisual* CreateIconStructure(CAlfLayout* aParentLayout);
-    
-	/**
-	 *  
-	 *
-	 */	
-	void MoveVisualsWithSizeChange(int aDistance, int aAnimationTime=0);
-	
-	/**
-	 *  
-	 *
-	 */	
-	void StartDoodling(int aDistance, int aAnimationTime=0);
-	
-	/**
-	 *  
-	 *
-	 */	
-	void StopDoodling(int aAnimationTime=0);
-	
-    /**
-     * Recycle the Icon visuals instead of destroying and creating them each time.
-     */
-    void RecycleIconVisuals();
-    
-	/**
-	 *  
-	 *
-	 */		
-	void UpdateVisuals();    
-
-	/**
-	 * Sets the specified size to the base layout and deck layout and also on the empty text visual
-	 */
-	void SetDefaultSize( TSize aSize );
-	
-	/**
-	 * Displays the indicator icon for the specified item index.
-	 *
-	 * @param aVisualItem visual item which conatins the index.
-	 * @param aIndex index of the item.
-	 */
-	void DisplayIndicatorIcon(const MulVisualItem & aVisualItem, int aIndex);
-	
-	/**
-	 * Returns whether the user has doodled enough to change the highlight multiple times.
-	 *
-	 * @returns TNumberofSwipes, Doodling distance converted into multiple swipes.
-	 */
-	TNumberofSwipes NumberOfSwipes();
-		
-	/**
-	 *  Returns the final swipe direction based on which highlight is nerest to teh centre point
-	 * in the last direction
-	 *
-	 * @param aDistance, doodled distance
-	 * @param, aastSwipeDirection, last direction in which the user has swiped.
-	 */	
-	int FinalSwipeDirection(int aDistance, int aLastSwipeDirection);	
-	
-	/**
-	 * Returns teh current direction in which itesm are scrolled
-	 *
-	 * @return, Scroll direction
-	 */		
-	TItemScroll ScrollDir();
-
-	/**
-	 * Removes the slider layout form the coverflow main layout
-	 *
-	 */	
-	void RemoveSliderFromLayout();	
-	
-	/**
-	 *  Rotate the image in teh given direction
-	 * 
-	 * @param aDirection, Direction of the rotation (ERotateLeft/ERotateRight).
-	 * @param aImageSize, The actual size of the current highlighted image.
-	 * @param aTransition transition time to rotate the image.
-	 * @param aAdjustSize, true for orientation change 
-	 *
-	 */		
-	void RotateImage(IMulWidget::TMulRotation aDirection,TSize aImageSize,int aAnimationTime,bool aAdjustSize = false);
-	
-	/**
-	 *  If the image on which rotation is applied, is updated then remove the rotation
-	 *
-	 * @param aIndex, relative index which is updated
-	 */			
-	void CancelRotationOnUpdate(int aIndex);
-	
-private: 
-	
-	/**
-     * Set the virtual Size of viewportlayout(parent) of text 
-     *
-     * @param aName, text type is title or detail 
-     */
-    void SetVirtualViewPortSize(mulvisualitem::TVisualAttribute aName);
-	
-    /**
-     * Cancell all the custom commands related to marquee. 
-     */
-    void CancelAllCommands(); 
-	
-	/**
-     * Reset counter opacity( depending on the current ui on/off mode
-     *  when an item is added to an empty model.
-     *
-     * @param aTransitioTime transition time defined by app.
-     */
-    void ResetUiOnOff( int aTransitionTime = 0 );
-    
-    /**
-     * Calculate the new position for counter visual based on the value of the higlight index and total model count
-     *
-     * @param aCounterLctDimension Lct Dimensions of counter visual.
-     * @param aOrientationChanged Orientation Changed or not
-     */
-    void SetNewCounterPosition(const TMulCoverFlowItem& aCounterLctDimension,bool aOrientationChanged = false );
-    
-    /**
-     * Returns number of digits in a number.
-     *
-     * @param aNumber The number whose number of digits have to be found.
-     * @returns Number of digits in a number.
-     */
-    int NumberOfDigits(int aNumber);
-    
-	/**
-     * Returns the current 2D coverflow template.
-     */	
-    MulCoverFlowTemplate*  Template2D();
-        
-    //slider related apis
-	/**
-	 * Created the slider widget and calls the other function related to slider.
-	 */
-	void CreateSlider();
-	
-	/**
-	 * Constructs the slider widget if its not already constructed .
-	 */
-	void ConstructSliderWidget();
-	
-	/**
-	 * Checks whether slider needs to be shown or hidden and sets its opacity accordingly.
-	 *
-	 */
-	void SetSliderOpacity();
-	
-	/**
-	 * Creates the base layout structure required for the base element to contain
-	 * images and slider and meta data information . 
-	 */
-	void CreateBaseLayoutStructure();
-	
-	/**
-	 * Sets the text data of the current highlight to the  text visual .
-	 * 
-	 * @param aName The name of the visual  in the text visual e.g mul_tiltle or mul_detail.
-	 * @param aData The variant type containing the new data to be set to the text visual .
-	 */
-	void SetTextToVisual( mulvisualitem::TVisualAttribute aName,IMulVariantType* aData );
-		
-     /**
-      * Create empty text visualisation to show empty text when there are no items to display .
-      */
-     void CreateEmptyTextVisualisation();
-     
-     /**
-      * Decides the size to be applied on the main layout depending on whether the model is null or not.
-      */
-     void HandleSizeChangeOnMain();
-     
-     /**
-      * Shows/Hides the text and counter visuals when empty text has to be hidden/shown.
-      *
-      * @param aShow true when text/counter have to be shown , 
-      *              false when text/counter have to be hidden.
-      */
-     void ShowHideVisualsForEmptyText( bool aShow );
-	 
-	 /**
-	  * Calculates the padding between the images based on the position
-	  * and sizes of the highlighted and non higlighted items.
-	  */
-	 void CalculatePadding();
-	 
-	 /**
-	  *
-	  * Sets opacity to the counter text visual .
-	  *
-	  * @param aOpacity, opacity value that should be set
-	  */	 
-	 void SetCounterTextOpacity( int aOpacity);	     
-	
-      /**
-	   * Arranging the Visual with padding and using Transition time
-	   * 
-	   */
-	 void ArrangeItems();    
-
-     /**
-      * Sets the opacity of all the text visuals in the specifed visual  to the given opacity (aOpacity)
-      * 
-      * @param aOpacity The opacity to be set for the text visuals .
-      * @param aTransitionTime The transition time
-      */
-     void SetTextVisualOpacity(  int aOpacity , int aTransitionTime = 0 );
-     
-      /**
-	   * Returns the percentage factor with which new Position and Sizes are calculated  .
-	   * 
-	   * @returns The change in percentage to be applied on the current size and position.
-	   */
-     int CalculateDistanceChangeFactor(); 
-    
-	/**
-	 *  
-	 *
-	 */		
-	void CreateVisuals();
-
-	 /**
-      * Creates a Indicator Image visual if not created initially.
-      * 
-      * @param aLayout decklayout to which icon is to be added .
-      */
-	CAlfImageVisual*  CreateIndicatorIconVisual(CAlfDeckLayout& aLayout);
-
-	/**
-	 *  
-	 *
-	 */		
-	void  SetIndicatorDimensions(CAlfImageVisual& aIndicatorVisual); 
-	
-	/**
-	 *  
-	 *
-	 */		
-	const TDesC8& IdToTag( int aId );
-	
-	/**
-	 * Creates an array of midpoints of all the visuals form left to right
-	 *
-	 * @return, array of midpoints
-	 */	
-	std::vector<int> ReferenceMidPoints();
-
-	/**
-	 * Calculates the new midpoints after the doodling
-	 *
-	 * @param aReferenceMidPoints,midpoints before doodling
-	 * @param aDistance, final doodled distance
-	 * @return array of new midpoints
-	 */		
-	std::vector<int> FinalMidPoints(std::vector<int> aReferenceMidPoints,int aDistance);
-
-	/**
-	 * Returns the position of the visual in the array which is nearest to midpoint
-	 * in swipe direction
-	 *
-	 * @param aFinalMidPoints, new midpoints after the doodling
-	 * @param aLastSwipeDirection, Last swipe direction
-	 */		
-	int NearestPoint(std::vector<int> aFinalMidPoints,int aLastSwipeDirection);
-	
-	/**
-	 * The image visual size and position is modified to stretch/compress the image
-	 * after rotation. This is done because the before rotation teh texture will be 
-	 * generated according to the current orientation. To show the rotated texture
-	 * image visual is modified such that the texture looks rotated preserving 
-	 * the aspect ration
-	 *
-	 * @param aVisual,Visual for which the rotation is applied
-	 * @param aAnimationTime, time for rotation
-	 */		
-	void AdjustVisualSizeInRotation(CAlfImageVisual* aVisual,int aAnimationTime);
-
-	/**
-	 * Handle rotation of 90degree or 270 degree. here the image visuals size
-	 * needs to be altered if required as the current width will become teh height of
-	 * the texture after rotation.
-	 *
-	 * @param aVisual,Visual for which the rotation is applied
-	 * @param aAnimationTime, time for rotation
-	 */		
-	void HandleRotationOnVerticalAxis(CAlfImageVisual* aVisual,int aAnimationTime);
-
-	/**
-	 * Handle rotation of 180degree or 0 degree. Here no need to modify the image visuals
-	 * size.
-	 *
-	 * @param aVisual,Visual for which the rotation is applied
-	 * @param aAnimationTime, time for rotation
-	 */	
-	void HandleRotationOnHorizontalAxis(CAlfImageVisual* aVisual,int aAnimationTime);
-	
-	/**
-	 * Cancel the rotation applied for teh visual at the given relative index.
-	 * Relative index -1 indicates cancel the rotation on highlighted visual
-	 *
-	 * @param aIndex, relative index of teh visual for which the rotation needs to be canceled
-	 */			
-	void CancelRotation(int aIndex = -1);
-	
-	/**
-	 * Preserve the rotation after orientation change.
-	 *
-	 */			
-	void UpdateRotation();		
-
-private: //Class Data
-    
-    auto_ptr<TMulBaseElementImpl> mData; //owned
-   
-    };
-    
-    }  // namespace Alf
-    
-#endif  // __MULBASEELEMENT_H__
-
-//End of file
--- a/mulwidgets/mulcoverflowwidget/inc/mulcoverflowao.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Active Object header for CoverFlow
-*
-*/
-
-#ifndef __MULCOVERFLOWAO_H__
-#define __MULCOVERFLOWAO_H__
-
-#include <e32base.h>    // For CTimer
-
-namespace Alf
-	{
-//Forward declarations
-class MulCoverFlowControl;
-
-class MulCoverFlowAo:public CTimer
-	{
-	
-public : // Constructor and Destructor
-    /// @bug critical:avanhata:7/7/2008 this is a symbian-dependent class, 
-    /// need to have two-phase construction
-    /// - otherwise mixing leaves and throws
-	MulCoverFlowAo( MulCoverFlowControl& aControl );
-	
-	~MulCoverFlowAo();
-
-public: //new method
-
-    /**
-     * Keeps moving layout asynchronously until it stopmoving() is called .
-     * The layout will move on to show more items .
-     * 
-     * @param aSpeedPoint Gesture speed point.
-     * @param, aCurrGestureDirection, Current direction of gesture
-     * @param, aFastScrollForKey , if fast scroll due to key event
-     * @param, aAnimationTime , animation time for fast scroll in key event.
-     */
-	void StartMoving(TReal32 aSpeedPoint, int aCurrGestureDirection,bool aFastScrollForKey = false,int aAnimationTime = 0);
-	
-	/**
-	 *  Stop moving the layout.
-	 *
-	 */
-	void StopMoving();
-
-	/**
-	 * Transition time for highlight change in fast scroll
-	 *
-	 * @return, transition time to be used
-	 */	
-	int FastScrollTransitionTime();		
-	
-private: 
-	
-	/**
-	 * Timer call back funtion . Performs animations and moves the layout 
-	 * for a particular distance depending on the length of the swipe
-	 * in a particular time period depending on the speed .
-	 */
-	void RunL();
-	
-private : //new methods
-
-	/**
-	 * Cancel all pending requests.
-	 */ 
-	void StopTimer();
-		
-	/**
-	 *  Increment the highlight with +-1 depending on the swipe direction and informs the 
-	 *  control class to cahnge teh highlight.
-	 */	
-	void ChangeHighLight();
-    
-private: //data
-
-	MulCoverFlowControl& mControl; //doesnt own
-	int mTransitionTime;
-	int mWaitingTime;
-	int mCurrGestureDirection;
-	bool mStarted;
-	}; //end of class.
-	
-	} // End of namespace .
-
-#endif  //__MULCOVERFLOWAO_H__
-
-// End of file
--- a/mulwidgets/mulcoverflowwidget/inc/mulcoverflowcontrol.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,539 +0,0 @@
-/*
-* 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:  The Control header for CoverFlow Widgets.
- *
-*/
-
-#ifndef MULCOVERFLOWCONTROL_H
-#define MULCOVERFLOWCONTROL_H
-
-// Alf Headers
-#include <alf/alfwidgetcontrol.h>
-
-// Osn Headers
-#include <touchfeedback.h>
-
-// Gesture Helper
-#include <gestureobserver.h>
-
-// Mul Headers
-#include <mul/imulvarianttype.h>
-#include <mul/imulwidget.h>
-#include "imulmodelobserver.h"
-
-//Gesture Helper namespace 
-namespace GestureHelper
-    {
-    class CGestureHelper;
-    struct TRealPoint;
-    }
-
-//Forward declarations
-class CAlfFlowLayout ;
-class CAlfImageVisual;
-
-namespace Alf
-    {
-//Forward declarations
-class IAlfWidget;
-class IMulModelAccessor;
-class IMulSliderModel;
-class IMulSliderWidget;
-class MulBaseElement;
-class MulCoverFlowAo;
-class MulCoverFlowTemplate;
-
-struct TMulCoverFlowControlImpl;
-
-namespace mulcoverflowcontrol
-    {
-     static const IfId Ident=
-        {
-        0,"MulCoverFlowControl"
-        };
-    }
-    
-class MulCoverFlowControl : public CAlfWidgetControl,
-							public IMulModelObserver,
-							public GestureHelper::MGestureObserver
-    {
-
-public: //Constructor and destructor
-
-    /**
-     * C++ constructor.
-     */
-    MulCoverFlowControl( CAlfEnv& aEnv );
-
-    /**
-     * Destructor.
-     */
-    virtual ~MulCoverFlowControl();
-    
-public: //From CAlfWidgetControl
-
-    AlfEventStatus handleEvent( const TAlfEvent& aEvent );
-        
-    static inline const IfId& Type()
-        {
-        return mulcoverflowcontrol::Ident;    
-        }
-    
-    IAlfInterfaceBase* makeInterface( const IfId& aType );
-                
-    void VisualLayoutUpdated (CAlfVisual& aVisual);
-        
-public:// From IMulModelObserver
-    
-	void ModelStateChanged( TMulChangedState aState, IMulVariantType& aData );
-    
-public:// From MGestureObserver
-
-    /**
-     * Handles gesture events and delegates the processing to the base element
-     * 
-     * @param aEvent Gesture event e.g . EGestureSwipeLeft/Right
-     */
-    void HandleGestureL( const GestureHelper::MGestureEvent& aEvent );
-    
-
-public: //New Methods
-	
-	/**
-	 * Returns the total count that application has set to the model . 
-	 * The number of items that application has set to the model i,e the total 
-	 * number of items that the application may insert into the model may not
-	 * be equal to the total number of items given to the widget for presentation 
-	 * by the model . 
-	 * 
-	 * @returns The number of items that the application has set to the model .
-	 */
-	int TotalModelCount();
-	
-    /**
-     * Sets the highlight index to the given aIndex
-     *
-     * @param aIndex, Index to which the current focus visulisation to be moved.
-     */		
-	void SetHighlightIndex( int aIndex ,bool aUpdateSlider = true);
-	
-    /**
-     * Return the Highlight Item Index maintained in control when update highlight to model is blocked
-     *
-     * @return, Current Highlight
-     */
-    int HighlightIndex();
-    
-    /**
-     * Returns the current 2D coverflow template.
-     *
-     * @return, CoverflowTemplate
-     */	
-    MulCoverFlowTemplate*  Template2D();
-        
-    /**
-     * Returns whether the coverflow is currently in fast scroll mode or not .
-     *
-     * @returns true if fast scroll mode is launched, else returns false
-     */
-    bool IsFastScrollMode();
-    
-    /**
-     * Resets the show widget flag depending on the parameter passed. 
-     * 
-     * @param aNewResetValue The new value with which the flag needs to be reset.
-     */
-    void ResetShowWidgetFlag( bool aNewResetValue );
-    
-    
-    /**
-     * Returns the accessor to the current model of the widget.
-     */
-    IMulModelAccessor* ModelAccessor();
-     
-	
-	/**
-     * Recycles all the visuals added to the Icon Layout.
-     * The function is called whenever there is an model change
-     */
-    void RecycleVisuals(); 
-    
-    /**
-     * Creates the slider widget . The creation of slider widget depends on the xml . 
-     * That is if the xml has a slider tag then only slider widget is created . 
-     */
-    IAlfWidget* CreateSliderWidget();
-    
-    /**
-     * Returns the created slider widget . If the widget is  not created , then returns NULL.
-     */
-    IAlfWidget* GetSliderWidget();
-	
-	/**
-	 * Returns the slider model pointer . 
-	 *
-	 * @returns The slider model pointer if slider widget is created and exists, else returns NULL.
-	 */	
-	IMulSliderModel* GetSliderModel(); 
-	
-    /**
-     * Check whether we need hold events (Enhanced coverflow can be launched) and
-     * set the state to gesture helper accordingly
-     */	    
-    void SetHoldingEnabled();
-    
-    /**
-     * Enable/Disable double tap on Gesture helper based on the aValue specified.
-     * 
-     * @param aValue The value whether double tap should be enabled or not.
-     */	
-    void SetDoubleTapEnabled( bool aValue);
-        
-    /**
-     * Handles the scrolling event and changes the focus accordingly.
-     * 
-     * @param aEvent the scrolling event to be handled
-     */
-    void HandleNavigationEvent( int aEvent );
-    
-	/**
-	 * Transition time for highlight change in fast scroll
-	 *
-	 * @return, transition time to be used
-	 */	
-	int FastScrollTransitionTime();	 
-
-	/**
-	 * Update the item at relative index Of aVisualIndex with the data at aItemIndex
-	 *
-	 * @param aItemIndex, Absolute index
-	 * @param aVisualIndex, Relative index
-	 * @param aAnimationTime, text will be updated after the aAnimationTime.
-	 */
-	void UpdateCoverflowItem( int aItemIndex, int aVisualIndex, int aAnimationTime = 0);
-	
-	/**
-	 * Checks the current index is in visible window and returns its relative index in aRelativeIndex
-	 *
-	 * @param aIndex, 
-	 * @param aRelativeIndex,
-	 */	
-	bool IsIndexInVisibleWindow(const int aIndex,int& aRelativeIndex);
-	
-	/**
-	 *  
-	 *
-	 */	
-	int RelativeToAbsolute(const int aRelativeIndex);
-	
-	/**
-	 * update the item at the relative index. 
-	 * 
-	 * @param aVisualIndex, Relative index
-	 * @param aAnimationTime, text will be updated after the aAnimationTime.
-	 *
-	 */	
-	void UpdateItemAtIndex(const int aRelativeIndex, int aAnimationTime = 0);
-
-	/**
-	 *  
-	 *
-	 */
-    void DoSetImage(IMulVariantType* aImageData,CAlfImageVisual* aImgVisual);
-    
-   /**
-    * Checks the given file path is of SVG image or not
-    *
-    * @param aImagePath Path of the image file,which need to be checked for SVG file format. 
-    */
-    bool IsSVGImage(const TDesC& aImagePath);
-    
-    /**
-     * Load Image visual with image provided from file path
-     * 
-     * @param aSvgFilePath path of Image
-     * @param aImageVisual visual on with image to be loaded
-     */
-    void LoadImageFromSvg(const TDesC& aImagePath,CAlfImageVisual& aImageVisual );
-    
-	/**
-	 *  
-	 *
-	 */    
-    void StoreVisibleItemCount(int aVisibleItemCount);
-    
-	/**
-	 *  
-	 *
-	 */
-	void SetDefaultImage(int aTextureId);
-	
-	/**
-	 *  
-	 *
-	 */
-	int WindowTop(int aHighlightIndex);
-
-	/**
-	 *  
-	 *
-	 */	
-	void UpdateBaseElement(MulBaseElement* aBaseElement);
-	
-    /**
-     * Slider handles the key events  .
-     * Slider thumb positions itself to the gesture and key events of coverflow widget 
-     *
-     */
-    void SetSliderTickPosition();
-	
-	/**
-	 *  
-	 *
-	 */	
-    void ModelChanged( IMulModelAccessor* aAccessor);
-
-	/**
-	 * Determins the current resolution
-	 * 
-	 *
-	 */	
-	bool IsLandscape();
-    
-    /**
-     * Destroys slider widget.
-     */	
-    void DestroySlider(); 
- 
-    /**
-     * Return gesture helper.
-     */ 
-    GestureHelper::CGestureHelper* Gesturehelper();
-    
-private:
-    
-    // Event handling related api.
-    /**
-     * Handles key event related manipulation. 
-     * 
-     * @param TAlfEvent
-     * @returns The status of the handled event.
-     */
-    AlfEventStatus HandleKeyEvent( const TAlfEvent& aEvent );
-    
-    /**
-     * Handles repeated key event. 
-     * 
-     * @param TAlfEvent 
-     * @returns The status of the handled event.
-     */
-    AlfEventStatus HandleRepeatKeyEvent( const TAlfEvent& aEvent );  
-
-    /**
-     * Handle fast scrolling and speed variations with repeated key events. 
-     * 
-     * @param aDirection, Direction in which to change the highlight
-     */    
-    void HandleFastScrollWithKeyEvents(int aDirection);  
-    
-    /**
-     * Handles custom event that control has raised to itself like bounce,bounce over etc. 
-     * 
-     * @returns The status of the handled event.
-     */
-    AlfEventStatus HandleCustomEvent( const TAlfEvent& aEvent );
-    
-    /**
-     * Handles swipe events(only on pointer events from gesture helper)
-     * 
-     * @param aEvent - SwipeRight/SwipeLeft.
-     */
-    void HandleSwipe(int aEvent);
-    
-    /**
-     * Performs the focus visualisation for the new focusedindex, and clears the old
-     * index visulisation. Called for every navigation events and sethighlight api call.
-     *
-     * @param aIndex new Index to which the focus visualisation is to be set.    
-     */        
-    void DoSetFocusIndex( int aIndex, int aAnimationTime =0);
-    
-    /**
-     * Sets the current highlighted item as the selected item . 
-     * Sends the selection event to the application . 
-     */
-    void SetSelection(int aHighlight);
-        
-    /**
-     * Creates a new template element with aTemplateName .
-     * 
-     * @param aTemplateName The name of thew new template element.
-     */
-    void CreateTemplateElement( mulwidget::TLogicalTemplate aTemplateName);
-        
-       
-    /**
-     * Sends the specified event to the base element .
-     * 
-     * @param aEvent Event to be sent to the base element.
-     */
-    void SendEventToBaseElement( const TAlfEvent& aEvent );
-    
-    /**
-     * Handles if there is any change in the total count of model .
-     * Updates the slider tick if the total count of model increases/decreases.
-     *
-     */
-     
-    void HandleModelCountChange();
-            
-    /**
-     * Gets the absolute index of the specified visual, which has been tapped.
-     * 
-     * @param aHitVisual The visual which has been tapped or hit.
-     */
-    int GetHitVisualIndex( CAlfVisual* aHitVisual );
-    
-    /**
-     * Handle enhanced stop.
-     */ 
-	void HandleEnhancedStop();
-   
-    /**
-     * Performs all the enhanced mode related checkings ..e.g whether the fast scroll flag
-     * is set or not / whether the application is in landscape mode or not .
-     *
-     * @return Boolean value informing whether enhanced mode should be started or not .
-     */
-    bool EnhancedModeCondition();
-    
-    /**
-     * Performs animations when enhanced mode is started .
-     * The coverflow transits to enhanced mode from 2D normal mode .
-     *
-     * @param aEvent , gesture event
-     */
-    void EnhancedStarted( const GestureHelper::MGestureEvent& aEvent );
-    
-    /**
-     * Returns the current Gesture Speed. 
-     * 
-     * @param aEvent Event from the gesture helper.
-     * @returns The current gesture speed.
-     */
-    GestureHelper::TRealPoint GestureSpeed( const GestureHelper::MGestureEvent& aEvent );
-    
-    /**
-     * Performs animations in enhanced mode.
-     * Moves the layout along with the pointer event . The function calls the active object class
-     * to move the layout with smooth animation .
-     *
-     * @param aEvent Gesture event .
-     */
-    void StartMoving( const GestureHelper::MGestureEvent& aEvent );
-
-    /**
-     * Handles all normal gesture events other than hold events
-     * 
-     * @param aEvent Gesture event e.g . EGestureSwipeLeft/Right
-     */    
-	void HandleNormalGestureEvents(const GestureHelper::MGestureEvent& aEvent);
-
-    /**
-     * Handles hold gesture events.
-     * 
-     * @param aEvent Gesture event e.g . EGestureSwipeHoldLeft/Right
-     */
-	void HandleHoldGestureEvents(const GestureHelper::MGestureEvent& aEvent);
-
-    /**
-     * Handles updating utems when the number of items in model are less than total visible items
-     * 
-     * @param aIndex, Index to update.
-     */	
-	void HandleLessItemsUpdate(int aIndex);  
-
-    /**
-     * Sets a blank texture the visual at relative index.
-     * 
-     * @param aRelativeIndex, Index for which the blank texture should be set
-     */	
-	void SetBlankTexture(int aRelativeIndex);	  
-
-
-    /**
-     * Converts the gesture distance into the form of direction (For right
-     * its plus and left its minus)
-     * 
-     * @param aDistance, Gesture distance
-     */
-	int ConvertDistanceToDirection( int aDistance );    	 
-    /**
-     * Sends Tactile feedback in case of touch down event.
-     *
-     * @param aEvent Gesture event.
-     */	
-	void SendFeedbackOnTouchDown(const GestureHelper::MGestureEvent& aEvent); 
-	
-    /**
-     * Decides in which direction the strip should move during fast scroll and also decides the position of 
-     * reference point for some special cases .
-     *
-     * @param aEvent Gesture event.
-     */
-	void ReverseDirectionInFastScroll(const GestureHelper::MGestureEvent& aEvent); 
-	
-	/**
-	 * Change the reference point of reversing the direction until the reference point becomes the 
-	 * middle of the screen .
-	 *
-	 * @param aCurrPosition The current pointer position .
-	 * @param aDistanceTravelled The distance travelled by the gesture till now.
-	 */
-	void ChangeDirReferencePoint(int aCurrPosition, int aDistanceTravelled );
-	
-	/**
-     * Handles the operations on the Single tap.
-     *
-     * @param aEvent Gesture event.
-     */
-	void HandleSingleTap(const GestureHelper::MGestureEvent& aEvent); 
-
-	/**
-     * 
-     *
-     * 
-     */	
-	int TotalSwipeDistance( const GestureHelper::MGestureEvent& aEvent );	 
-
-    	 
-private:
-    
-     auto_ptr<GestureHelper::CGestureHelper> mHelper; //owns it
-    
-     auto_ptr<TMulCoverFlowControlImpl> mData; // Owned
-     
-     auto_ptr<MulCoverFlowAo> mCoverFlowAo;   // owned
-     
-     MTouchFeedback* mFeedback; // tactile feedback, doesnt own it.
-     
-    IMulSliderWidget* mSliderWidget;  //    
-    
-    };
-    
-    } // namespace Alf
-    
-#endif // MULCOVERFLOWCONTROL_H
-
-//End of file
--- a/mulwidgets/mulcoverflowwidget/inc/mulcoverflowdefinitions.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,234 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  header for defining all the common variables
-*
-*/
-
-// This file defines the variables for MulCoverFlowWidget.dll
-
-#ifndef __MULCOVERFLOWDEFINITIONS_H__
-#define __MULCOVERFLOWDEFINITIONS_H__
-
-/// @bug minor:avanhata:7/7/2008 The constants need to be documented. Overall,
-/// if you are only using a constant in a single cpp file, then define it there.
-
-namespace Alf
-    {
-    /// @bug minor:avanhata:7/7/2008: unclear variable name - is this duration 
-    /// is milliseconds?
-    /// @bug minor:avanhata:7/7/2008: KAnimation200 add absolutely 
-    /// no abstraction over just the number 200.
-    /// Define these as higher-level abstractions (
-    /// e.g., KEntryAnimationDuration, KBounceAnimationDuration, etc.)
-    //static const int KMaxVisibleItems       = 3;
-    static const int KAnimation200         = 200;
-
-    // Minimum differnece in Speed percentage after which the strip size 
-    // and speed will be modified
-	static const int KMainLayoutIndex = 0;  
-	static const int KHorizontalLeftAlign = 0;
-	static const int KHorizontalRightAlign = 2;
-	static const int KMinNumItemForFastScroll = 4;
-	static const int KNumberOfRepeatsForMediumSpeed = 10;
-	static const int KNumberOfRepeatsForFastSpeed = 20;
-
-	static const int KZeroAnimation        = 0;
-  /// @bug minor:avanhata:7/7/2008 remove hard coded constant
-  /// - use sizeof( TUint16 ) instead
-	static const int KSlashSize            = 2;
-
-	static const float KHighlightOpacity   = 1.0f;
-	static const float KBackGroundOpacity  = 0.0f;
-
-	static const int KIconFlowLayoutIndex  = 0;
-	static const int KTextLayoutIndex  = 1;
-	static const int KTextLayoutViewPortIndex  = 2;
-
-	static const int KTime = 500;
-	static const int KBounceTime = 150;
-	static const int KMarqueeTime25 = 40; // marquee animation time
-	static const int KMarqueeTime1000 = 1000; // after marquee end wait time 
-	static const int KBounceRight= -1;
-	static const int KBounceLeft= 1;
-	static const int KVisibleWindow        = 3;
-	static const int KContainerIndex = 1;
-	static const int KGroupId        = 21;
-	static const int KInitialvalueZero        = 0;
-	static const int KInitialvalueOne        = 1;
-	/// @bug minor:avanhata:7/7/2008 use a meaningful variable name
-	static const int KTextRowsz = 6;
-	/// @bug minor:avanhata:7/7/2008 Capitalisation
-	static const int KTextFontindex = 9;
-	/// @bug minor:avanhata:7/7/2008 move to the cpp file in which this is used
-	static const int KTempBufferSize = 50;
-	static const char* const KNameSliderWidget = "mulsliderwidget";
-	static const char* const KNameSliderModel = "mulslidermodel";
-	static const char* const KMulTemplate = "mul_template";
-	
-    static const char* const KBase = "base";
-    static const char* const KItem = "item";
-    static const char* const KText = "text";
-    static const char* const KLandscape = "landscape";
-    static const char* const KPortrait = "portrait";
-    _LIT8( mainlayout,"mainlayout" );
-    _LIT8( backgroundvisual,"backgroundvisual" );
-    _LIT8( verticalflowlayout,"verticalflowlayout" );
-    _LIT8( iconflowlayout,"iconflowlayout" );
-    _LIT8( textflowlayout, "textflowlayout");
-    _LIT8( counterflowlayout,"counterflowlayout" );
-    _LIT8( decklayout,"deck" );
-    _LIT8( KEmptyText,"emptytext" );
-    _LIT8( KMulEcfShadowTop,"mul_ecf_shadow_top");
-    _LIT8( KMulEcfShadowBottom,"mul_ecf_shadow_bottom");
-    _LIT( KSlash,"/" );
-    _LIT(KOutOfBound,"Out of Bound Index");
-	_LIT(KLogicError,"Logic error");
-	
-	_LIT8( KDetailViewPortLayout,"detailviewportlayout");
-	_LIT8( KTitleViewPortLayout,"titleviewportlayout");
-    _LIT8( text,"text" );
-    _LIT8( KLitMulBackGround , "mul_background" );
-    _LIT8( KTextAnchor , "anchor" );
-	_LIT(KTemplateNotFound, "Template Not Found");
-	_LIT(KOrientationNotFound, "Orientation Node not found");
-	_LIT(KVisualNotFound, "Visual Not Found");
-	_LIT(KIteratorNotCreated, "Iterator could not be created");
-	_LIT(KNullPointer,"Null Pointer");
-	_LIT(KInvalidArgument,"Invalid Argument");	
-    _LIT(KInvalidTemplate,"Invalid Template");
-    _LIT(KInvalidAttribute,"Invalid Attribute");
-    
-	_LIT8( KCoverflowTitle,"mul_title");
-	_LIT8( KCoverflowDetail,"mul_detail");    
-	_LIT8( KCoverflowIcon,"mul_icon");
-	_LIT8( KCoverflowIndicator,"mul_indicator");
-	_LIT8( KCoverflowCounter,"mul_count");
-	_LIT8(KInvalidID,"");
-	
-	static const char* const KOrientation = "orientation";
-	static const char* const KCategory =  "category";
-	static const char* const KElement = "element";
-	static const char* const KHighlight = "highlight";
-	static const char* const KLayout = "layout";
-	static const char* const KFlow = "flow";
-	static const char* const KBackground = "background";
-	static const char* const KAnchor = "anchor";
-	static const char* const KDeck = "deck";
-	static const char* const KImageVisual = "imagevisual";
-	static const char* const KTextVisual = "textvisual";
-	static const char* const KBaseTemplate = "templatebase";
-	static const char* const KCounter = "counter";
-	static const char* const KNonHighlight = "nohighlight";
-	static const char* const KXml = "xml";
-	static const char* const KSize = "size";
-	static const char* const KUiOnOff = "uiOnOff";
-	static const char* const KEnhancedMode = "enhancedmode";
-	static const char* const KSlider = "slider";
-	static const char* const KSliderWidget = "widget";
-	static const char* const KEnhancedSize = "enhancedsize";
-	static const char* const KMinSize = "min_size";
-	static const char* const KMaxSize = "max_size";
-	static const char* const KCounterSize = "counter_size";
-	static const char* const KMulBackGround = "mul_background";
-	static const char* const KMulTitle = "mul_title";
-	static const char* const KMulDetail = "mul_detail";
-	static const char* const KOpacity = "opacity";
-	static const char* const KColour = "colour";
-	static const char* const KHeight = "height";
-	static const char* const KWidth = "width";
-	static const char* const KPosX = "positionx";
-	static const char* const KPosY = "positiony";
-	static const char* const KTemplateId = "template";
-	static const char*  const KLogicalTemplateDrive  = "\\resource\\coverflow\\";
-	static const char* const KTemplatePrefix = "logical_template"; //for slider
-	static const char*  const KUnderscore = "_";
-	static const char*  const KExtension = ".xml";
-	static const char*  const KCentreItem = "item_center";
-	static const char*  const KRightItem = "item_right";
-	static const char* const KId = "id";
-    static const char* const KMulCount = "mul_count";
-    static const char* const KCounterBgColor = "backgroundcolor";
-    static const char* const KCounterBgOpacity = "backgroundopacity";
-    static const char* const KFitMode = "fitmode";
-    static const char* const KItemCentre = "item_center";
-    static const char* const KItemRight = "item_right";
-    static const char* const KMainLayout = "mainlayout";
-    static const char* const KMarquee = "marquee";
-    static const char* const KMarqueeOn = "yes";
-    static const char* const KRedColorAttrib = "red";
-    static const char* const KGreenColorAttrib = "green";
-    static const char* const KBlueColorAttrib = "blue";
-    static const char* const KAlphaColorAttrib = "alpha";
-    static const char* const KOn = "on";
-    static const char* const KOff = "off";
-    static const char* const KTextStyle = "style";
-    static const char* const KHorzAlign = "horizontalalign";
-    static const char* const KVertAlign = "verticalalign";
-    static const char* const KColor = "color";
-    static const char* const KFontThemeColor = "fontthemecolor";
-    static const char* const KTextSkinColorId = "textskincolorid";
-    static const char* const KTextColorSkinIndex = "textcolorskinindex";
-    static const char* const KTempMaxCount = "templatemaxcount";
-    static const char* const KFastScroll = "fastscroll";
-	static const char* const KIndicator = "mul_indicator";
-	
-	enum TMulCoverFlowEventType
-		{
-		ECustomEventBounceBack = 300,/*!< A message regarding coverflow bounce */
-		ECustomEventScroll,
-		ECustomEventBounceCompleted
-		};
-        
-    enum TItemScroll
-			{
-			EItemNoDirection,
-			EItemScrollLeft,
-			EItemScrollRight
-			};  
-    
-    enum TTextVisualType
-			{
-			ECounterVisual = 1,
-			ETilteDetailTextVisual    
-			};  
-			
-    enum TNumberofSwipes
-			{
-			ESingleSwipe,
-			EDoubleSwipe,
-			ETripleSwipe
-			};			    
-
-struct TMulVisualColorProperty
-    { 
-    TRgb mColor;
-    bool mIsColorSet;
-    TMulVisualColorProperty():mIsColorSet(false){}
-    }; //end of the structure
-    
-struct TMulRotationProperty
-    { 
-    int mIndex;
-    bool mIsApplied;
-	int mImageAngle;
-	TSize mTextureSize;
-    
-    TMulRotationProperty():mIsApplied(false),mIndex(-1),mImageAngle(0)
-    	{
-    	}
-    }; //end of the structure
-	
-    } //namespace Alf
-    
-#endif
--- a/mulwidgets/mulcoverflowwidget/inc/mulcoverflowenhancedtemplate.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  template header for CoverFlow
-*
-*/
-
-// This file defines the API for MulCoverFlowWidget.dll
-
-#ifndef MULCOVERFLOWENHANCEDTEMPLATE_H_
-#define MULCOVERFLOWENHANCEDTEMPLATE_H_
-
-#include "mulcoverflowbasetemplate.h"
-
-namespace osncore
-	{
-// Forward declarations
-class UString;
-	}
-
-namespace Alf
-    {
-// Forward declarations
-class MulCoverFlowControl;
-class MulXmlUtility;
-
-struct TMulCoverFlowEnhancedTemplateImpl;
-    
-class MulCoverFlowEnhancedTemplate :public MulCoverFlowBaseTemplate
-    {
-    
-public: // Constructor and Destructor 
-        
-    /**
-     * Constructor
-     */
-	MulCoverFlowEnhancedTemplate(MulCoverFlowControl &aControl,UString &aTemplateID, MulXmlUtility& aMulXmlUtility ,DuiNode* aRootNode);
-    
-    /**
-     * Destructor
-     */  
-    ~MulCoverFlowEnhancedTemplate();
-
-public: // New Methods
-    
-    /**
-     * Returns the enhanced max size in TMulCoverFlowItem structure. 
-     * 
-     * @return Returns reference to TMulCoverFlowItem structure. 
-     */
-    const TMulCoverFlowItem& EnhancedMaxSize();
-   
-    /**
-     * Returns the enhanced min size in TMulCoverFlowItem structure. 
-     * 
-     * @return Returns reference to TMulCoverFlowItem structure.
-     */
-    const TMulCoverFlowItem& EnhancedMinSize();
-    
-    /**
-     * Returns the counter position and size in TMulCoverFlowItem structure. 
-     * 
-     * @return Returns reference to TMulCoverFlowItem structure.
-     */
-    const TMulCoverFlowItem& EnhacedCounterPos();
- 
-    /**
-     * Returns the path of the image that should be used as ecf shadow border. 
-     * 
-     * @return Returns path of the image that should be used as ecf shadow border.
-     */   
-    const UString& EnhancedBorderImagePath();
-       
-private:
-        
-    /**
-     * Parses xml tags of type <element> and in turn creates AlfElements 
-     * which in turn are added in the control.
-     *
-     * All tags with <element> will be parsed here
-     *
-     * @param aNode the orientation node depending on the orientation
-     * being used . 
-     */
-    void ParseNode( DuiNode& aNode );
-    
-    /**
-     * Parses the enhanced size tag in the xml .
-     * 
-     * @param aNode the node at which the tag is <enhancedsize>.
-     */
-    void ParseEnhancedTag( DuiNode& aNode );
-
-    /**
-     * Parses the counter size tag in the xml .
-     * 
-     * @param aNode the node at which the tag is <counter>.
-     */
-    void ParseCounterTag( DuiNode& aNode );
-    	
-    /**
-     * Parses the sizes tag and stores those values in corresponding variables.
-     * 
-     * @param aNode the node at which sizes are to be parsed from.
-     */
-	void ProcessSizeTag( DuiNode& aNode );
-	
-    /**
-     * Parses the imagepath tag and stores those values in corresponding variables.
-     * 
-     * @param aNode the node at which sizes are to be parsed from.
-     * @param aPath, Reference to Ustring in which the parsed value should be stored
-     */	
-	bool GetStaticImagePath(DuiNode& aNode, UString& aPath);
-	
-private:
-    auto_ptr<TMulCoverFlowEnhancedTemplateImpl> mData;    // owns it
-    
-    }; // class 
-    
-    }//namespace Alf
-
-#endif /*MULCOVERFLOWENHANCEDTEMPLATE_H_*/
-
-//End of file
--- a/mulwidgets/mulcoverflowwidget/inc/mulcoverflowitemelement.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Item element header for Cover Flow.
-*
-*/
-
-// This file defines the API for mulcoverflowwidget.dll
-#ifndef MULCOVERFLOWITEMELEMENT_H_
-#define MULCOVERFLOWITEMELEMENT_H_
-
-
-// Includes
-#include <alf/alfelement.h>
-#include <alf/ialfwidgeteventhandler.h>
-
-#include <vector>
-
-#include "mulvisualtemplate.h"
-// Forward declarations.
-class MulTemplateInterface;
-
-namespace Alf
-	{
-		
-class MulCoverFlowItemElement: public AlfElement, public IAlfWidgetEventHandler
-	{
-				
-public: // Constructor and Destructor
-	
-   /**
-	* Constructor
-	* @param aControl WidgetControl
-	* @param aName Name of the element.	
-	*/
-	// third parameter shd be moved.
-	MulCoverFlowItemElement( CAlfWidgetControl& aControl, const char* aName , MulTemplateInterface& aControlInterface );
-	
-   /**
-    * Destructor
-	*/
-	~MulCoverFlowItemElement();
-	
-public: // From IAlfWidgetEventHandler
-
-    bool accept( CAlfWidgetControl& aControl, const TAlfEvent& aEvent ) const;
-    
-    void setActiveStates( unsigned int aStates );
-    
-    AlfEventStatus offerEvent( CAlfWidgetControl& aControl, const TAlfEvent& aEvent );
-    
-    IAlfInterfaceBase* makeInterface( const IfId& aType );
-
-    void setEventHandlerData( const AlfWidgetEventHandlerInitData& aData );
-	  
-	AlfWidgetEventHandlerInitData* eventHandlerData();
-	
-	  AlfEventHandlerType eventHandlerType() ;
-
-    AlfEventHandlerExecutionPhase eventExecutionPhase() ;
-
-    
-public: // new methods 
-	
-	CAlfVisual* CreateIconStructure(CAlfLayout* aParentLayout, const UString& aTemplateId);  
-    
-    void DoSetImage(IAlfVariantType* data, CAlfImageVisual* aImgVisual);
-	      	
-			
-
-private:
-
-   /**
- 	* gets the handle to the visual template.
- 	*/
-  	MulVisualTemplate* VisualTemplate()
-		{
-		return static_cast<MulVisualTemplate*>(getVisualTemplate());
-		}
-private: // Member data
-	
-    std::vector<CAlfVisual*> mRecycleVisualArray;        //stores sizes and positions of all items 
-	bool mVisualRecycled;
-	int mNumVisualsRecycled;
-	CAlfFlowLayout* mIconFlow;	
-	};
-	
-	} // namespace ends here
-	
-#endif /*MULCOVERFLOWITEMELEMENT_H_*/
--- a/mulwidgets/mulcoverflowwidget/inc/mulcoverflowtemplate.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,397 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  template header for CoverFlow
-*
-*/
-
-// This file defines the API for MulCoverFlowWidget.dll
-
-#ifndef __MULCOVERFLOWTEMPLATE_H__
-#define __MULCOVERFLOWTEMPLATE_H__
-
-// Avkon Includes
-#include <aknlayoutscalable_uiaccel.cdl.h>
-
-#include "mulbaseelement.h" // for TMulCoverflowItem
-
-namespace osncore
-	{
-// Forward declarations
-class UString;
-	}
-
-namespace Alf
-    {
-// Forward declarations
-class MulCoverFlowControl;
-
-struct TMulCoverFlowTemplateImpl
-    {
-    
-    TMulCoverFlowTemplateImpl()
-        {
-		mEnhancedSupportFlag = false;
-		mSliderEnabled       = false;
-		mUiOnOffFlag         = false;
-		mOrientationChange   = false;
-		mControl             = NULL; 
-		mBaseElement         = NULL;
-		mMaxVisibleCount     = 0;
-		mTitleFontMaxCharLength = 0;
-		mDetailFontMaxCharLength = 0;
-		mCounterFontMaxCharLength = 0;
-        }
-
-    //Structure used to store the position and sizes of the counter.
-    TMulCoverFlowItem mCounterDimensions;
-    TMulCoverFlowItem mSliderDimensions;    
-    TMulCoverFlowItem mIndicatorDimensions; 
-    bool mEnhancedSupportFlag;
-    bool mSliderEnabled;
-    bool mUiOnOffFlag ;
-    int mMaxVisibleCount;
-    MulBaseElement* mBaseElement;
-    bool mOrientationChange;
-    MulCoverFlowControl* mControl;          // doesn't own it .
-    mulwidget::TLogicalTemplate mTemplateID; // to store the template name
-    TSize mTitleParentSize;
-    TSize mDetailParentSize;
-    int mTitleFontMaxCharLength;
-    int mDetailFontMaxCharLength;
-	int mCounterFontMaxCharLength;    
-
-    ~TMulCoverFlowTemplateImpl()
-      {
-      }    
-    };
-
-
-    
-class MulCoverFlowTemplate 
-    {
-    
-public: // Constructor and Destructor 
-        
-    /**
-     * Constructor
-     */
-    MulCoverFlowTemplate(MulCoverFlowControl &aControl, MulBaseElement &aBaseElement);
-    
-    /**
-     * Destructor
-     */  
-    virtual ~MulCoverFlowTemplate();
-
-public: // New Methods
-    
-    /**
-     * Returns the counter element structure. 
-     * 
-     * @return Returns a refrence to the counter element structure.
-     */
-    const TMulCoverFlowItem& CounterDimensions() const
-    	{return mData->mCounterDimensions;}
-    
-    /*
-     * Returns whether the current template and orientation supports enhanced mode or not.
-     *
-     * @Returns true/false depending on whether the template supports or not.
-     */
-    bool EnhancedTagParsed() const {return mData->mEnhancedSupportFlag;}
-    
-    /*
-     * Returns whether the slider is enable or not for the current template and
-     * orientation.
-     *
-     * @Returns true/false depending on whether enabled or not.
-     */
-    bool IsSliderVisible() const {return mData->mSliderEnabled;}
-      
-    /*
-     * Returns  the maxvisible items to be in the respective template .
-     *
-     * @Returns int depending on the no of visble item count.
-     */
-    int MaxVisibleCount() const {return mData->mMaxVisibleCount;}
-    
-    /**
-     * Returns whether the template is UI on/off or not .
-     * That is UI on/off flag is enabled in the template or not . 
-     * 
-     * @returns true if flag is enabled else false .
-     */
-    bool IsUiOnOffFlagEnabled() const {return mData->mUiOnOffFlag;}
-    
-    /**
-     * Returns the slider dimensions . 
-     *
-     * @Returns TMulCoverFlowItem dimension of the slider
-     */
-    const TMulCoverFlowItem& SliderDimension() {return mData->mSliderDimensions;}
-    
-    /**
-     * Returns the video indicator dimension. 
-     * 
-     * @return Returns a refrence to the indicator dimension.
-     */
-     const TMulCoverFlowItem& IndicatorDimension() const {return mData->mIndicatorDimensions;}
-    
-    /**
-     *  Returnt the size of the title window size.
-     *
-     */
-    const TSize& TitleWindowSize() {return mData->mTitleParentSize;}
-    
-    /**
-     *  Return the size of the detail window size.
-     *
-     */
-    const TSize& DetailWindowSize() {return mData->mDetailParentSize; }
-    
-    /**
-     * Return the title maximum character font Width
-     *
-     */
-    int TitleMaxCharWidth() {return mData->mTitleFontMaxCharLength;}
-    
-    /**
-     * Return the detail maximum character font Width
-     */
-    int DetailMaxCharWidth() {return mData->mDetailFontMaxCharLength;}
-    
-    /**
-     * Return the counter maximum character font Width
-     */
-    int CounterMaxCharWidth() {return mData->mCounterFontMaxCharLength;}
-    
-    
-    /**
-     * Virtual function must be overriden by derived class.
-     * Creates the visualisation based on the Orientation
-     * also updates the visualisation on orientation change
-     *
-     * @param aIsLandscape, current orientation
-     * @param aIsOrientationChange, based on flag decide to
-     *			create or update the visualisation
-     */
-	virtual void CreateVisualisation(bool aIsLandscape,bool aIsOrientationChange = false);
-
-
-protected:
-	
-    /**
-     * Get the window rect of the Imagevisual or layouts .
-     * @Param aLayout layout which gives all the LCT data of
-     *                the visual(image or layout). 
-     * @Param aParentRect rect of the parent to the visual.
-     */
-    TRect IconWindowRect(const TAknWindowLineLayout &aLayout, const TRect& aParentRect);
-	
-    /**
-     * Get the window rect of the textvisual .
-     * @Param aLayout layout which gives all the LCT data of
-     *                 the textvisual. 
-     * @Param aParentRect rect of the parent to the visual 
-     */
-    TRect TextWindowRect(const TAknTextLineLayout& aLayout, const TRect& aParentRect);
-    
-    /**
-     * Set the style to the textvisual
-     * 
-     * @param aTextFontId  the fontId to be set on textvisual.
-     * @param textVisual refernce to textvisual.
-     */
-    void  SetTextStyle(int aTextFontId, CAlfTextVisual& textVisual);
-    
-    /**
-     *  Update the maximum character width of text font of textvisual 
-     *  @Param textVisual , alftextvisual
-     */
-    int UpdateMaxFontWidth(CAlfTextVisual* textVisual);
-    
-    /**
-     * Applies brush on the specified visual .
-     * The colour of the brush is aBrushColour.
-     * @param aVisual visual on which brush has to be applied.
-     * @param aBrushColour The brush colour.
-     * @param aBrushOpacity The opacity to be applied on the brush.
-     */
-    void ApplyBrush( CAlfTextVisual& aVisual,const TRgb& aBrushColour,
-    		 float aBrushOpacity );
-     
-private:
-         
-    /**
-     * Returns a font id for the specified style.
-     * 
-     * @Param aFontStyle font style.
-     * @Param aManager textstyle manager.
-     */		
-	TInt GetFontId(const UString &aFontStyle, CAlfTextStyleManager& aManager)const;
-    		
-        
-protected:
-    auto_ptr<TMulCoverFlowTemplateImpl> mData;  
-    
-    };
-
-    
-// class Template 4
-class MulCoverFlowTemplate4 : public MulCoverFlowTemplate
-    {
-public:
-	
-    /**
-     * Constructor
-     */
-    MulCoverFlowTemplate4(MulCoverFlowControl &aControl, MulBaseElement &aBaseElement);
-    
-    /**
-     * destructor
-     */
-    ~MulCoverFlowTemplate4(); 
-    
-// From MulCoverFlowTemplate       
-
-    /**
-     * @See CreateVisualisation of MulCoverFlowTemplate
-     */
-	void CreateVisualisation(bool aIsLandscape,bool aIsOrientationChange=false);
-	
-// new method	
-	
-    /**
-     * provides the dimension of the visual attribute (icon & video indicator)
-     * based on the orientation.
-     *
-     * @param aAttribute, type of visual attribue 
-     * @param aIslandscape, current orientation
-     */	
-	static void GetIconSize(mulvisualitem::TVisualAttribute aAttribute,bool aIslandscape,
-		int& aHeight, int& aWidth);
-		
-private:
-
-    /**
-     * create visualisation for potrait orientation
-     *
-     */	
-	void CreatePrtStructure();
-	
-    /**
-     * create visualisation for landscape orientation
-     *
-     */		
-	void CreateLscStructure();
-	
-    /**
-     * create counter visual and apply attribute
-     *
-     * @param acounterPaneVerityId, lct verity of counter visual.
-     * @param aMainRect, parent rect for counter visual.
-     */		
-	void ApplyCounterAttribute(int acounterPaneVerityId,const TRect& aMainRect);
-	
-    };
-    
-// class Template 1
-class MulCoverFlowTemplate1 : public MulCoverFlowTemplate
-    {
-public:
-	
-    /**
-     * Constructor
-     */
-    MulCoverFlowTemplate1(MulCoverFlowControl &aControl, MulBaseElement &aBaseElement);
-    
-    /**
-     * destructor
-     */
-    ~MulCoverFlowTemplate1();
-    
-// From MulCoverFlowTemplate           
-	
-    /**
-     * @See CreateVisualisation of MulCoverFlowTemplate
-     */		
-	void CreateVisualisation(bool aIsLandscape,bool aIsOrientationChange=false);
-
-// new method	
-	
-    /**
-     * provides the dimension of the visual attribute (icon & video indicator)
-     * based on the orientation.
-     *
-     * @param aAttribute, type of visual attribue 
-     * @param aIslandscape, current orientation
-     */	
-	static void GetIconSize(mulvisualitem::TVisualAttribute aAttribute,bool aIslandscape,
-		int& aHeight, int& aWidth);
-	
-private:
-
-    /**
-     * create visualisation for potrait orientation
-     */	
-	void CreatePrtStructure();
-	
-    /**
-     * create visualisation for landscape orientation
-     */		
-	void CreateLscStructure();	
-	
-    /**
-     * create counter visual and apply attribute
-     *
-     * @param acounterPaneVerityId, lct verity of counter visual.
-     * @param aMainRect, parent rect for counter visual.
-     */		
-	void ApplyCounterAttribute(int acounterPaneVerityId,const TRect& aMainRect);
-	
-    /**
-     * apply attribute on main text layout
-     *
-     * @param aMainRect, parent rect for main text layout
-     */		
-	void ApplyTextAttribute(const TRect& aMainRect);
-	
-    /**
-     * create title text visual and apply attribute
-     *
-     * @param aVerityId, lct verity of title text.
-     * @param aTextLayoutRect, parent rect for title text
-     */		
-	void ApplyTitleTextAttribute(int aVerityId,const TRect& aTextLayoutRect);
-	
-    /**
-     * create detail text visual and apply attribute
-     *
-     * @param aVerityId, lct verity of detail text.
-     * @param aTextLayoutRect, parent rect for detail text
-     */		
-	void ApplyDetailTextAttribute(int aVerityId,const TRect& aTextLayoutRect);
-	
-    /**
-     * parse and apply the slider attribute
-     *
-     * @param aMainRect, parent rect for slider
-     */		
-	void ApplySliderAttribute(const TRect& aMainRect);
-    };
-
-    
-    }//namespace Alf
-#endif //__MULCOVERFLOWTEMPLATE_H
-
-//End of file
--- a/mulwidgets/mulcoverflowwidget/inc/mulcoverflowwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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 header for CoverFlow
-*
-*/
-
-// This file defines the API for MulCoverFlowWidget.dll
-
-#ifndef __MULCOVERFLOWWIDGET_H__
-#define __MULCOVERFLOWWIDGET_H__
-
-
-//  Include Files
-// Mul headers
-#include <mul/imulcoverflowwidget.h>
-
-// Alf headers
-#include "alf/alfwidget.h"
-
-//Gesture Helper namespace 
-namespace GestureHelper
-    {
-    class CGestureHelper;
-    }
-
-namespace Alf
-    {
-    
-//Forward Class Definitions  
-class MulBaseElement;
-class MulCoverFlowControl;
-
-/// @bug comment:avanhata:3/7/2008 It would be good to describe the responsibilities and 
-/// design of the class here. The comment about method is incorrect, as it is the abstract
-/// interface that the application uses
-/**
- * Widget Implementation class. The Widget Class is responsible for the creation of the control and elements.
- */
-
-class MulCoverFlowWidget : public AlfWidget, 
-                           public IMulCoverFlowWidget
-    {
-public:    //Constructor and destructor
-    
-   /**
-    * C++ constructor.
-    */
-    MulCoverFlowWidget(  CAlfEnv& aEnv, const char* aWidgetId, IAlfContainerWidget& aContainerWidget );
-    
-    /**
-     * Destructor.
-     */
-    ~MulCoverFlowWidget();
-
-public: // From AlfWidget Common Property related apis
-    
-    IAlfContainerWidget* parent() const;
-    
-    CAlfWidgetControl* control() const;
-    
-    void setControl( CAlfWidgetControl* aControl,bool aDeletePreviousControl  );
-    
-    IAlfModel* model();
-    
-    void setModel( IAlfModel* aModel,bool aTakeOwnership );
-    
-    const char* widgetName() const;
-    
-    void setChildFocus( bool aFocus );
-    
-    void setPresentation( const char* aFilePath );
-
-public: //From MAlfInterfaceBase.
-    
-    IAlfInterfaceBase* makeInterface( const IfId& aType );
-    
-public: //From IMulCoverFlowWidget.
-    
-    void SetBackground( const TRgb& aColor );
-    
-    void SetBackground(const TAknsItemID& aItemID );
-    
-    void SetEmptyText( const UString& aDefaultText );
-    
-    void SetUIMode(bool UIOn=false, int aTransition=0 );
-    
-    void SetDefaultImage(int aTextureId);
-    
-	void RotateImage(TMulRotation aDirection,TSize aImageSize,int aAnimationTime);
-	
-	GestureHelper::CGestureHelper* Gesturehelper();   
-    
-public: //From IMulWidget
-
- 	void SetFlags( unsigned int aAnyFlag );
-
- 	void ClearFlags( unsigned int aAnyFlag ) ;
- 	
- 	unsigned int GetFlags() const;
-
- 	bool IsFlagSet( TMulWidgetPropertiesFlag aAnyFlag ) const;
- 	
- 	void SetModel( IMulModelAccessor* aAccessor, bool aFlag=true );
-
- 	void SetRect( int aLeftMargin, int aTopmargin, int aHeight, int aWidth, int aTransitionTime = 0 );
-    
-	void ShowWidget( bool aShow, int aTransitionTime = 0 ) ;
-	
-	void GetIconSize( mulwidget::TLogicalTemplate aTemplateId, 
-		    mulvisualitem::TVisualAttribute aAttribute, int& aHeight, int& aWidth);
-	    
-	void GetIconSize(mulvisualitem::TVisualAttribute aAttribute, int& aHeight, int& aWidth);
-
-	void AddEventHandler( IAlfWidgetEventHandler& aObserver );
-    
-    void RemoveEventHandler( IAlfWidgetEventHandler& aObserver );
-
-	const CAlfLayout& ContainerLayout(); 
-	
-	void SetMarkMode( bool aFlag );
-		
-	bool IsMarkMode()const ;
-
-	void SetReorderMode( TMulReOrderMode /*aReorderMode*/);
-	
-	bool IsReorderModeOn() const;
-	
-	
-	void SetOverlay( TMulAttributeDataType aType, const UString& aAttribute, const UString& aFormat ) ;
-	
-	void SetAnimationTime( TMulVisualEffect aVisualEffect, int aTransitionTime = 0 ) ;
-	
-	void SetVisualColor( TMulVisualType aVisualType , const TRgb& aColor );
-         
-    
-private:    // Class Data
-    
-    unsigned int mWidgetPropertyFlag;	
-    IMulModelAccessor* mMulModelAccessor; // doesn't won it.
-    MulBaseElement* mBaseElement; // doesn't own it.
-    MulCoverFlowControl* mCoverflowControl; //// doesn't own it.
-    bool mTakesModelOwnership;
-	
-    };
-
-    } // namespace Alf
-    
-#endif  // __MULCOVERFLOWWIDGET_H__
-
-//End of file
--- a/mulwidgets/mulcoverflowwidget/inc/mulcoverflowwidgetfactoryplugin.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  factory plugin header for CoverFlow
-*
-*/
-
-#ifndef MULCOVERFLOWWIDGETFACTORYPLUGIN_H
-#define MULCOVERFLOWWIDGETFACTORYPLUGIN_H
-
-
-#include <ecom/implementationproxy.h>
-#include <alf/ialffactoryplugin.h>
-#include <osn/osndefines.h>
-
-
-namespace Alf
-    {
-class IfId;
-
-/**
- *  Plugin factory to create widget factory
- *  @lib alfwidgetfactory.dll
- */
-/// @bug comment:avanhata:3/7/2008 This class is only used from its own cpp file,
-/// so the definition can be moved into the cpp and the header file removed.
-class MulCoverFlowWidgetFactoryPlugin: public IAlfFactoryPlugin
-    {
-public:
-    /**
-    * Two-phased symbian constructor.
-    * 
-    * @return New instance of this factory plugin.
-    */ 
-    static MulCoverFlowWidgetFactoryPlugin* NewL();
-    
-    /**
-     * Destructor.
-     */
-    virtual ~MulCoverFlowWidgetFactoryPlugin();
-    
-public: // from MAlfPluginFactory    
-
-    IAlfInterfaceBase* createProduct(const char* aProduct,void* aInitData);
-    
-    int productCount()const;
-    
-    const char* productInfo(int aIndex)const;
-    
-    IAlfInterfaceBase* makeInterface(const IfId& aType);
-    
-    };
-    
-    } // namespace Alf
-    
-/// @bug comment:avanhata:3/7/2008 does not need to be declared - just define in cpp
-// Exported factory function required by ECOM-framework
-IMPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount);
-    
-#endif //MULCOVERFLOWWIDGETFACTORYPLUGIN_H
-
-//End of file
\ No newline at end of file
--- a/mulwidgets/mulcoverflowwidget/rom/mulcoverflowwidget.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  CoverFlow Widget iby file.
-*
-*/
-
-#ifndef __MULCOVERFLOWWIDGET_IBY__
-#define __MULCOVERFLOWWIDGET_IBY__
-
-ECOM_PLUGIN( mulcoverflowwidget.dll, mulcoverflowwidget.rsc ) 
-
-#endif // __MULCOVERFLOWWIDGET_IBY__
-
-// End of file
--- a/mulwidgets/mulcoverflowwidget/src/2000D240.rss	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Ecom plugin resource file for coverflow widget
-*
-*/
-
-
-#include <ecom/registryinfo.rh>
-#include "alf/alfecompluginfactoryuid.rh"
-
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = 0x2000D240;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = KFactoryPluginUid;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = 0x2000D241;
-                version_no = 1;
-                display_name = "";
-                default_data = "mulcoverflowwidget";
-                opaque_data = "";
-                }
-            };
-        }
-    };
-}
\ No newline at end of file
--- a/mulwidgets/mulcoverflowwidget/src/mulbaseelement.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2947 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  base element Implementation
- *
-*/
-
-//  Include Files
-// Class Headers
-#include "mulbaseelement.h"
-
-#include <AknUtils.h>
-// Alf Headers
-#include <alf/alfbatchbuffer.h>
-#include <alf/alfbrusharray.h>
-#include <alf/alfgradientbrush.h>
-#include <alf/alfviewportlayout.h>
-#include <alf/alftextvisual.h>
-#include <alf/alfimagevisual.h>
-#include <alf/alfutil.h>
-#include <alf/alftransformation.h>
-
-// Mul Headers
-#include "mul/mulmodelutility.h"
-#include "imulmodelaccessor.h"
-#include <mul/imulsliderwidget.h>
-#include <mul/mulevent.h>
-#include "mulassert.h"
-#include "mulleave.h"
-#include "mullog.h" //for logs
-
-// Local Cover Flow Headers
-#include "mulcoverflowcontrol.h"
-#include "mulcoverflowtemplate.h"
-
-namespace Alf
-    {
-//Internal base element structure implementation
-struct TMulBaseElementImpl
-    {        
-    
-    UString mEmptyText;       // empty text to be displayed when number of items is 0.
-	
-	int mPadding;            //Padding between item 
-    
-  	TMulCoverFlowItem mHighlightItemStruct;
-	TMulCoverFlowItem mItemStruct;
-	int mVisibleCount;
-    int	mScrollAnimationTime; // animation time for highlight transition set by the application.
-	bool mUiOn;    // true if in UiOnMode
-    
-    bool mTextVisible;  // not suppose to be displayed in template 4
-
-	
-	// To keep a pointer of iconFlow layout.Not owned, created at construction. 
-	// The below 4 layouts will never be null. No need to validate before using	
-	CAlfFlowLayout* mIconFlowLayout; 
-	CAlfLayout* mTextLayout;
-    CAlfFlowLayout* mVerticalFlow;
-    CAlfLayout* mSliderLayout ; // stores visual of the slider widget
-    
-    // Can be null when the template doesnt have counter.
-    CAlfTextVisual* mCounterVisual ;
-    CAlfTextVisual* mEmptyTextVisual;
-    
-    //Stores current slider opacity. 
-    float mSliderOpacity;
-    TItemScroll mScrollDir;
-    float mEmptyTextOpacity;
-    // whether to apply default fit mode(fitinside) or not. 
-    // if false apply default fit mode , else based on the image size.
-    bool mFitMode;
-    
-    // different visuals color properties
-    TMulVisualColorProperty mIconBgColor;
-    TMulVisualColorProperty mCounterColor;
-    TMulVisualColorProperty mTextColor;
-    TMulRotationProperty mRotation;
-
-	bool mChangeSize;
-	// whether user has swiped multiple times.
-	TNumberofSwipes mNumSwipes;
-	// total number of digits in counter visual at every highlight.
-	int mNumOfDigitsInCounter;
-	// marquee animation time
-	int mMarqueeAnimTime;
-	// Titletext extents
-	TSize mTitleExt;
-	// Detailtext extents
-	TSize mDetailExt;
-	//Dummy text visual for getting text extents
-	CAlfTextVisual* mDummyVisual;
-	bool mIsMirrored;
-	
-	//Constructor of the structure
-	TMulBaseElementImpl()
-		{
-		//Intialisation
-		mPadding                 = -1;   
-		mNumOfDigitsInCounter    = -1;
-		mVisibleCount            = 0;
-		mScrollAnimationTime     = 200;
-		mEmptyText 	= "";
-		mCounterVisual = NULL;
-		mIconFlowLayout = NULL;
-		mTextLayout = NULL;
-	    mVerticalFlow = NULL;
-	    mSliderLayout = NULL;
-	    mEmptyTextVisual = NULL;
-	    mSliderOpacity = 0.0f;
-	    mTextVisible   = true;
-	    mScrollDir = EItemNoDirection;
-	    mEmptyTextOpacity = 0.0f;
-	    mFitMode = false;
-	    mUiOn = false;
-	    mChangeSize = false;
-	    mNumSwipes = ESingleSwipe;
-	    mMarqueeAnimTime = 0;
-	    mDummyVisual = NULL;
-	    mIsMirrored = false;
-		}
-	~TMulBaseElementImpl()
-		{		
-		}
-    }; //end of the structure
-
-
-// ---------------------------------------------------------------------------
-// MulBaseElement
-// ---------------------------------------------------------------------------
-//
-MulBaseElement::MulBaseElement( CAlfWidgetControl& aControl,
-			                    const char* aName )
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::MulBaseElement");
-    mData.reset( new (EMM)TMulBaseElementImpl );
-    //Call the base class method      
-    construct( aControl,aName );
-    CreateBaseLayoutStructure();
-    (static_cast<MulCoverFlowControl&>(aControl)).UpdateBaseElement(this);
-    if (AknLayoutUtils::LayoutMirrored())
-    	{
-    	mData->mIsMirrored = true;
-    	}
-    else
-		{
-		mData->mIsMirrored = false;
-		}
-    }
-
-// ---------------------------------------------------------------------------
-// ~MulBaseElement
-// ---------------------------------------------------------------------------
-//	
-MulBaseElement::~MulBaseElement()
-    {
-    // Nothing to delete .
-    }
-
-// ---------------------------------------------------------------------------
-// accept
-// ---------------------------------------------------------------------------
-//	
-bool MulBaseElement::accept( CAlfWidgetControl& /*aControl*/,
-		                     const TAlfEvent& aEvent ) const
-     {
-     MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::accept");
-     uint eventID; 
-     if(!aEvent.IsCustomEvent())
-       {
-       return false;
-       }
-    eventID = aEvent.CustomParameter();
-
-    //Events handled by the base element
-	if( eventID == ETypeHighlight 
-			|| eventID == EEventWidgetInitialized 
-			|| eventID == ETypePrimaryValueChange )
-        {
-        return true;
-        }
-    else
-        {
-        return false;	
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// offerEvent
-// ---------------------------------------------------------------------------
-//	
-AlfEventStatus MulBaseElement::offerEvent( CAlfWidgetControl& aControl,
-			const TAlfEvent& aEvent )
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::offerEvent");
-    if ( !accept( aControl, aEvent ) )
-        {
-        //return false;
-		return EEventNotHandled;
-        }
-    
-    uint eventID = aEvent.CustomParameter();
-    
-    MulCoverFlowControl* coverflowControl = static_cast<MulCoverFlowControl*>(&control());
-      
-    if( eventID == EEventWidgetInitialized )
-        {
-        // some of the member variable needs to be reset
-        // to support dynamic template change with model change.
-        mData->mNumOfDigitsInCounter = -1;
-        
-        UpdateTextAndCounter();
-        CalculatePadding();
-        ArrangeItems();
-		// Show empty text if coverflow is empty
-	    int totalModelCount = coverflowControl->TotalModelCount();
-	    IMulModelAccessor* model = coverflowControl->ModelAccessor(); 
-	    if( (totalModelCount <= 0) || (model == NULL))
-	        {
-	        ShowEmptyText( true );
-	        return EEventConsumed;
-	        }
-	    else
-	    	{
-	    	ShowEmptyText( false );
-	    	} 		
- 		return EEventConsumed;
-        }
-        
-    else if( eventID == ETypeHighlight )
-        {
-        // Update the text and counter values according to the new highlight
-        int newHighlight = coverflowControl->HighlightIndex(); 
-        int animationTime = aEvent.CustomEventData();
-        animationTime = animationTime > 0 ? animationTime : mData->mScrollAnimationTime;
-
-        if(mData->mScrollDir != EItemNoDirection)
-            {
-            if(coverflowControl->IsFastScrollMode())
-	            {
-	            animationTime = coverflowControl->FastScrollTransitionTime();
-	            SetHighlight(newHighlight,animationTime);   	
-	            }
-            else
-	            {
-	            SetHighlight(newHighlight,animationTime );   	
-	            }
-            }
-        else
-            {
-            //@TODO: update all the items 
-            animationTime = KZeroAnimation;
-            SetHighlight(newHighlight,animationTime);    
-            }
-        
-        UpdateTextAndCounter(animationTime);
-            
-		return EEventConsumed;
-        }
-    else if( eventID == ETypePrimaryValueChange )
-    	{
- 		IMulSliderModel* mulSliderModel = coverflowControl->GetSliderModel();
- 		if( mulSliderModel )
-	        {
-	    	int primaryValue = mulSliderModel->PrimaryValue();
-	  	    coverflowControl->SetHighlightIndex( primaryValue , false);
-    	    }
-		return EEventConsumed;
-    	}
-    	 	
-	return EEventNotHandled;    
-    }
-
-// ---------------------------------------------------------------------------
-// setActiveStates
-// ---------------------------------------------------------------------------
-//	
-void MulBaseElement::setActiveStates( unsigned int /*aStates*/ )
-    {
-    //No implementation required
-    }
-
-//----------------- Creating the visuals and layout structure ----------------
-
-
-// ---------------------------------------------------------------------------
-// CreateBaseLayoutStructure
-// ---------------------------------------------------------------------------
-//	
-void  MulBaseElement::CreateBaseLayoutStructure()
-	{
-	THROW_IF_LEAVES
-	( 
-	 MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::CreateBaseLayoutStructure");
-	   
-	 CAlfLayout* main = CAlfLayout::AddNewL(control()); 
-    
-     // set this flag, to recieve layout change events ,that are handled 
-	 // by the ovverriden VisualLayoutUpdated method of the alfwidgetcontrol.
-     main->SetFlags( EAlfVisualFlagLayoutUpdateNotification );
-     main->SetTagL( mainlayout );
-     main->SetFlag(EAlfVisualFlagAutomaticLocaleMirroringEnabled);
-	 main->SetClipping(ETrue); 
-     
-    CAlfDeckLayout* deckLayout = CAlfDeckLayout::AddNewL( (CAlfControl &)control(),main);
-    deckLayout->SetTagL( decklayout );
-    deckLayout->SetFlag( EAlfVisualFlagManualLayout );
-    
-    CAlfGradientBrush* deckBrush = CAlfGradientBrush::NewL( control().Env() );
-    // Set the brush colour
-    deckBrush->SetColor( KRgbBlack );
-    deckLayout->EnableBrushesL( ETrue );
-    // Apply brush and set the opacity .
-    deckLayout->Brushes()->AppendL( deckBrush, EAlfHasOwnership ); 
-    deckLayout->SetFlag(EAlfVisualFlagAutomaticLocaleMirroringEnabled);
-	deckLayout->SetClipping(ETrue);
-    
-    
-    // Create a vertical flow layout which has two horizontal layouts 
-    mData->mVerticalFlow = CAlfFlowLayout::AddNewL((CAlfControl&)control(), deckLayout );
-
-    // Set the Layout Direction
-    mData->mVerticalFlow->SetFlowDirection( CAlfFlowLayout::EFlowVertical );
-    mData->mVerticalFlow->SetFlag( EAlfVisualFlagManualLayout );
-    mData->mVerticalFlow->SetTagL( verticalflowlayout );
-    mData->mVerticalFlow->SetFlag(EAlfVisualFlagAutomaticLocaleMirroringEnabled);
-
-    // Create flow layout,all the item visuals are added to this layout.
-    // make this layout as the child to the vertical flow layout at index 1.
-    mData->mIconFlowLayout = CAlfFlowLayout::AddNewL( (CAlfControl&)control(), mData->mVerticalFlow );
-   
-    // Set the Layout Direction
-    mData->mIconFlowLayout->SetFlowDirection( CAlfFlowLayout::EFlowHorizontal );
-    mData->mIconFlowLayout->SetTagL( iconflowlayout );
-    mData->mIconFlowLayout->SetFlag(EAlfVisualFlagAutomaticLocaleMirroringEnabled);
-    
-    // stores visuals of all the items(text visuals) 
-    mData->mTextLayout = CAlfLayout::AddNewL((CAlfControl&)control(),mData->mVerticalFlow);
-    mData->mTextLayout->SetTagL( textflowlayout );
-    mData->mTextLayout->SetFlag(EAlfVisualFlagIgnorePointer);
-    mData->mTextLayout->SetFlag( EAlfVisualFlagManualLayout );    
-    mData->mTextLayout->SetFlag(EAlfVisualFlagAutomaticLocaleMirroringEnabled);
-    //Add main layout to the base visual tree
-    addVisualTree( main, KInitialvalueZero );
-    
-     );       
-	}
-
-// ---------------------------------------------------------------------------
-// SetDefaultSize
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::SetDefaultSize( TSize aSize )
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetDefaultSize");
-	CAlfLayout* main  = (CAlfLayout*)findVisual( KMainLayoutIndex );
-	main->SetSize(aSize );
-	CAlfDeckLayout& deckLayout = static_cast<CAlfDeckLayout&> (main->Visual(KMainLayoutIndex) );
-	deckLayout.SetSize(aSize);
-	CAlfVisual* backgroundVisual = deckLayout.FindTag(backgroundvisual);
-    if(backgroundVisual)
-		{
-		backgroundVisual->SetSize(aSize);				
-		}	
-	if( mData->mEmptyTextVisual && mData->mEmptyTextOpacity == 1 )
-		{
-		mData->mEmptyTextVisual->SetSize(aSize);		
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// TextAnchorLayout
-// ---------------------------------------------------------------------------
-//	        
-CAlfLayout& MulBaseElement::TextLayout()
-	{
-	__MUL_ASSERT( mData->mTextLayout != 0,KNullPointer);
-	return *mData->mTextLayout;
-	}
-
-  
-//----------------------Empty text related visualisation---------------------
-// ---------------------------------------------------------------------------
-// SetEmptyText
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::SetEmptyText( const UString& aDefaultText )
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetEmptyText");
-
-	mData->mEmptyText = aDefaultText;
-	int totalModelCount = ((MulCoverFlowControl*)&control())->TotalModelCount();
-
-	if( mData->mEmptyTextVisual )
-		{
-		THROW_IF_LEAVES
-		 ( 
-		  TBuf<KTempBufferSize> desc; 
-		   
-		  MulModelUtility::ConvertUStringToTDes(mData->mEmptyText, desc);   
-		  mData->mEmptyTextVisual->SetTextL(desc);
-		 );
-		}
-		
-    if( totalModelCount <= KInitialvalueZero )
-        {
-        ShowEmptyText( true );
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// ShowEmptyText
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::ShowEmptyText( bool aShowText  )
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::ShowEmptyText");
-    	
-     // If the application has not set any empty text , then no need to do anything 
-    if( mData->mEmptyText.isEmpty() )
-    	{
-    	if( aShowText )
-    		{
-    		ShowHideVisualsForEmptyText(false);
-    		HandleSizeChangeOnMain();
-    		}
-    	else
-    		{
-    		ShowHideVisualsForEmptyText(true);
-    		}
-    	return;
-    	}
-    	
-    if( aShowText )
-    	{
-    	if( !mData->mEmptyTextVisual )
-    		{
-    		CreateEmptyTextVisualisation();		
-    		}
-    		    	
-    	// This function is called twice only when an empty model is set and the app sets the empty text twice .	
-    	ShowHideVisualsForEmptyText(false);	
-    	if( mData->mEmptyTextOpacity == KBackGroundOpacity && mData->mEmptyTextVisual )
-    		{
-	    	mData->mEmptyTextVisual->SetOpacity(KHighlightOpacity);
-	    	mData->mEmptyTextOpacity = KHighlightOpacity;
-	    	}
-    	HandleSizeChangeOnMain();
-	    	
-    	}
-    else
-    	{
-    	ShowHideVisualsForEmptyText(true);
-    	if( mData->mEmptyTextVisual && mData->mEmptyTextOpacity == 1 )
-    		{
-    		mData->mEmptyTextVisual->SetOpacity(KBackGroundOpacity);
-    		mData->mEmptyTextOpacity = KBackGroundOpacity;
-    		}
-    	}
-    }
- 
-// ---------------------------------------------------------------------------
-// HandleSizeChangeOnMain()
-// ---------------------------------------------------------------------------
-// 
-void  MulBaseElement::HandleSizeChangeOnMain()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::HandleSizeChangeOnMain");
-
-	IMulModelAccessor* model = ((MulCoverFlowControl*)&control())->ModelAccessor(); 
-	CAlfLayout* main  = (CAlfLayout*)findVisual( KMainLayoutIndex );
-	TSize topLayoutSize = main->Size().Target().AsSize(); ;
-	
-	if( !model )
-		{
-		if (topLayoutSize != TSize(0,0))
-			{
-			SetDefaultSize(topLayoutSize);
-			}
-		else
-			{
-			SetDefaultSize( control().DisplayArea().Size() );
-			}
-			
-		}
-	else
-	    {
-	    SetDefaultSize(topLayoutSize);		
-	    }
-	}
-
-// ---------------------------------------------------------------------------
-// IsEmptyText
-// ---------------------------------------------------------------------------
-// 
-bool  MulBaseElement::IsEmptyText()
-	{
-	return !(mData->mEmptyText.isEmpty());
-	}  
-// ---------------------------------------------------------------------------
-// ShowHideVisualsForEmptyText
-// ---------------------------------------------------------------------------
-// 
-void  MulBaseElement::ShowHideVisualsForEmptyText( bool aShow )
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::ShowHideVisualsForEmptyText");
-
-	if( !aShow )
-		{
-		SetTextVisualOpacity( KBackGroundOpacity );
-		SetCounterTextOpacity( KBackGroundOpacity);   
-		}
-	else 
-		{
-		if(mData->mTextVisible)
-			{
-			SetTextVisualOpacity( KHighlightOpacity );	
-			}		
-		// if ui on off template is enabled then reset the counter 
-		// opacity depending on the current ui on/off value
-		if( Template2D()->IsUiOnOffFlagEnabled() )
-			{
-			ResetUiOnOff();	
-			}
-		else
-			{
-			SetCounterTextOpacity( KHighlightOpacity);   
-			}	
-		}
-	}
-	
-// ---------------------------------------------------------------------------
-// CreateEmptyTextVisualisation
-// ---------------------------------------------------------------------------
-//	
-void MulBaseElement::CreateEmptyTextVisualisation() 
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::CreateEmptyTextVisualisation");
- 
-	if( !mData->mEmptyTextVisual )
-		{
-		THROW_IF_LEAVES
-		 ( 
-		 	CAlfLayout* main = static_cast<CAlfLayout*>(findVisual( KMainLayoutIndex ));
-		    mData->mEmptyTextVisual = CAlfTextVisual::AddNewL(control(),main);
-		    
-		    TBuf<KTempBufferSize> desc; 
-		   
-		    MulModelUtility::ConvertUStringToTDes(mData->mEmptyText, desc);   
-		    mData->mEmptyTextVisual->SetTextL(desc);
-		    mData->mEmptyTextVisual->SetTagL(KEmptyText);
-		    mData->mEmptyTextVisual->SetWrapping(CAlfTextVisual::ELineWrapBreak);
-		       
-		    TInt fontId =control().Env().TextStyleManager()
-				.CreatePlatformTextStyleL(EAknLogicalFontSecondaryFont,-1);	
-		    // check if user has set any different color for text.
-			if (mData->mTextColor.mIsColorSet)
-				{
-				// apply the color set by the application
-				mData->mEmptyTextVisual->SetColor(mData->mTextColor.mColor);
-				}
-			else
-				{
-				// apply the default color
-				mData->mEmptyTextVisual->SetColor(KRgbWhite);
-				}
-			
-			mData->mEmptyTextVisual->SetLineSpacing(KTextRowsz);
-			mData->mEmptyTextVisual->SetTextStyle(fontId);
-		    mData->mEmptyTextVisual->SetFlag(EAlfVisualFlagIgnorePointer);
-		 );
-		
-		}
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// DisplayIndicatorIcon
-// ---------------------------------------------------------------------------
-// 
-void MulBaseElement::DisplayIndicatorIcon(const MulVisualItem & aVisualItem, int aIndex)
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::DisplayIndicatorIcon");
-    CAlfDeckLayout& layout = static_cast<CAlfDeckLayout&>(mData->mIconFlowLayout->Visual(aIndex));
-    CAlfImageVisual* visual =static_cast<CAlfImageVisual*>(layout.FindTag(KCoverflowIndicator));    
-    IMulVariantType* varData = aVisualItem.Attribute(mulvisualitem::KMulIndicator2); 
-    
-    if(varData)
-        {
-        if(!visual)
-            {
-            visual = CreateIndicatorIconVisual(layout);   
-            }
-        ((MulCoverFlowControl*)&control())->DoSetImage(varData,visual);
-        visual->ClearFlag(EAlfVisualFlagIgnorePointer);
-        }
-
-    else if(visual)
-        {
-        CAlfTextureManager& textureMgr = control().Env().TextureManager();
-        TAlfImage image = TAlfImage(textureMgr.BlankTexture()); 
-        visual->SetImage(image); 
-        visual->SetFlag(EAlfVisualFlagIgnorePointer);
-        }
-
-    }
- 
-// ---------------------------------------------------------------------------
-// CreateIndicatorIconVisual
-// ---------------------------------------------------------------------------
-//    
-CAlfImageVisual*  MulBaseElement::CreateIndicatorIconVisual(CAlfDeckLayout& aLayout) 
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::CreateIndicatorIconVisual");
-    CAlfImageVisual* indicatorVisual = CAlfImageVisual::AddNewL(control(), &aLayout);
-    indicatorVisual->SetTagL(KCoverflowIndicator); 
-    SetIndicatorDimensions(*indicatorVisual);
-    indicatorVisual->SetScaleMode(CAlfImageVisual::EScaleNormal);
-    
-    return indicatorVisual;
-    }
-
-// ---------------------------------------------------------------------------
-// SetIndicatorDimensions
-// ---------------------------------------------------------------------------
-//  
-void  MulBaseElement::SetIndicatorDimensions(CAlfImageVisual& aIndicatorVisual)
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetIndicatorDimensions");
-    TMulCoverFlowItem indicatorDimensions = Template2D()->IndicatorDimension();
-    aIndicatorVisual.SetPos(TAlfRealPoint(indicatorDimensions.posx,indicatorDimensions.posy));
-    aIndicatorVisual.SetSize(TAlfRealSize(indicatorDimensions.width ,indicatorDimensions.height));    
-    }
-    
-// ---------------------------------------------------------------------------
-// StoreVisualDimensions
-// ---------------------------------------------------------------------------
-// 
-void MulBaseElement::StoreVisualDimensions( TMulCoverFlowItem aHighlightItemDimensions, TMulCoverFlowItem aNonHighlightItemDimensions,int aVisibleIconCount )
- 	{
- 	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::StoreVisualDimensions");
- 	mData->mHighlightItemStruct = aHighlightItemDimensions;
-	mData->mItemStruct = aNonHighlightItemDimensions;
-	mData->mVisibleCount = aVisibleIconCount;
-	((MulCoverFlowControl*)&control())->StoreVisibleItemCount(mData->mVisibleCount);
-	if (mData->mVisibleCount > 1)
-		{
-		mData->mChangeSize = true;	
-		}
-	else
-		{
-		mData->mChangeSize = false;	
-		}
- 	}
-
-// ---------------------------------------------------------------------------
-// StoreTextVisibility
-// ---------------------------------------------------------------------------
-//	
-void MulBaseElement::StoreTextVisibility( bool aIsTextVisible )
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::StoreTextVisibility");
-	mData->mTextVisible = aIsTextVisible;
-	}
-
-
-// ---------------------------------------------------------------------------
-// IsTextVisibile
-// ---------------------------------------------------------------------------
-//  
-bool MulBaseElement::IsTextVisibile( )const
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::IsTextVisible");
-    return mData->mTextVisible ;
-    }
-
-
-// ---------------------------------------------------------------------------
-// OrientationChange
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::OrientationChange()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::OrientationChange");
-
-	mData->mVerticalFlow->SetOpacity(0);
-	if (mData->mDummyVisual)
-		{
-		// deleting since the textextents being zero.
-		mData->mDummyVisual->RemoveAndDestroyAllD();
-		mData->mDummyVisual = NULL;
-		}
-
-	// update the attribute of visuals
-	Template2D()->CreateVisualisation(((MulCoverFlowControl*)&control())->IsLandscape(),true);
-    
-    CalculatePadding();    
-    CreateAndInitializeVisuals(true);
-	
-	// Redraw the visuals after orientation changes
-	int totalModelCount = ((MulCoverFlowControl*)&control())->TotalModelCount();    		
-	if( totalModelCount == 0 )
-		{
-		CAlfLayout* main  = (CAlfLayout*)findVisual( KMainLayoutIndex );
-		SetDefaultSize(main->Size().ValueNow().AsSize());		
-		}
-	ArrangeItems();
-	SetNewCounterPosition(Template2D()->CounterDimensions(),true);
-	UpdateRotation();
-	mData->mVerticalFlow->SetOpacity(1);   
-	}
-
-
-//------------------Counter and Text related----------------------------------
-
-// ---------------------------------------------------------------------------
-// CreateCounterVisual
-// ---------------------------------------------------------------------------
-// 
-CAlfTextVisual& MulBaseElement::CounterVisual()
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::CounterVisual");
-   	__MUL_ASSERT( mData->mVerticalFlow != 0,KNullPointer);
-
-    mData->mCounterVisual = &CreateTextVisual(KCoverflowCounter,*mData->mVerticalFlow);
-    mData->mCounterVisual->SetAlign(EAlfAlignHCenter,EAlfAlignVCenter);
-	return *mData->mCounterVisual;
-    }
-
-// ---------------------------------------------------------------------------
-// CreateVisual
-// ---------------------------------------------------------------------------
-// 
-CAlfTextVisual& MulBaseElement::CreateTextVisual(const TDesC8& aName, 
-        CAlfLayout& aLayout) 
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::CreateTextVisual");
-	
-	CAlfTextVisual* textVisual =static_cast<CAlfTextVisual*>(aLayout.FindTag(aName));
-
-	if(textVisual == NULL)
-	   {
-	   THROW_IF_LEAVES
-	        (
-	   		textVisual = CAlfTextVisual::AddNewL( (CAlfControl &)control(),&aLayout); 
-	        textVisual->SetTagL(aName);
-	        ); 
-	    textVisual->SetFlag(EAlfVisualFlagIgnorePointer);
-	    textVisual->SetFlag(EAlfVisualFlagClipping);
-	   }
-	return *textVisual;  
-	}
-    
-    
-// ---------------------------------------------------------------------------
-// UpdateTextAndCounter
-// ---------------------------------------------------------------------------
-//	
-void MulBaseElement::UpdateTextAndCounter(int animationTime)
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::UpdateTextAndCounter");
-    
-	UpdateTextValue(animationTime);	
-    
-    //After highlight is changed then the counter text should be updated
-    SetCounterText();
-    } 
-    
-// ---------------------------------------------------------------------------
-// SetCounterTextOpacity
-// ---------------------------------------------------------------------------
-//  
-void MulBaseElement::SetCounterTextOpacity( int aOpacity)
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetCounterTextOpacity");
-    if(mData->mCounterVisual)
-        {
-        mData->mCounterVisual->SetOpacity( aOpacity ); 		
-        }	    
-	}
-
-    
-// ---------------------------------------------------------------------------
-// ResetUiOnOff
-// ---------------------------------------------------------------------------
-//	
-void MulBaseElement::ResetUiOnOff(int aTransitionTime)
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::ResetUiOnOff");
-    
-	int totalModelCount = ((MulCoverFlowControl*)&control())->TotalModelCount();
-    if(mData->mCounterVisual && Template2D() && Template2D()->IsUiOnOffFlagEnabled() && totalModelCount>0 )
-        {
-        int opacity = mData->mUiOn? KHighlightOpacity: KBackGroundOpacity;
-        mData->mCounterVisual->SetOpacity( TAlfTimedValue(opacity,aTransitionTime)  ); 
-        // Every time In template4 Ui on off mode toggles we should set the enable holding flag 
-		// to gesture helper to recieve the hold events.
-		((MulCoverFlowControl*)&control())->SetHoldingEnabled(); 
-        }
-    } 
-    
-// ---------------------------------------------------------------------------
-// UIOnOffMode
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::UIOnOffMode(bool aUiOn, int aTransitionTime)
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::UIOnOffMode");
-      
-    mData->mUiOn = aUiOn;
-    ResetUiOnOff( aTransitionTime );
-    }
-    
-// ---------------------------------------------------------------------------
-// IsUiOnMode
-// ---------------------------------------------------------------------------
-//  
-bool MulBaseElement::IsUiOnMode()
-	{
-    return mData->mUiOn;	
-	}
-
-
-// ---------------------------------------------------------------------------
-// SetTextVisualOpacity
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::SetTextVisualOpacity( int aOpacity , int aTransitionTime )
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetTextVisualOpacity"); 
-	if(mData->mTextLayout)
-		{
-    	mData->mTextLayout->SetOpacity(TAlfTimedValue (aOpacity,aTransitionTime));
-    	}	
-	}
-
-// ---------------------------------------------------------------------------
-// UpdateTextValue
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::UpdateTextValue(int aAnimationTime)
-	{
-	MUL_LOG_ENTRY_EXIT("Mul::MulBaseElement::UpdateTextValue");
-	if( !mData->mTextVisible )
-    	{
-    	return;
-    	}
-    	
-	IMulModelAccessor* modelAccessor = ((MulCoverFlowControl*)&control())->ModelAccessor();
-	int highlightindex = static_cast<MulCoverFlowControl*>(&control())->HighlightIndex();
-    
-	if(highlightindex>=0  )
-        {
-        //set text to title
-        try
-            {
-			const MulVisualItem& item = modelAccessor->Item(highlightindex);
-			IMulVariantType* varData = item.Attribute(mulvisualitem::KMulTitle);
-            MUL_LOG_INFO("MUL::UpdateTextValue::UpdateTiltle");
-            SetTextToVisual( mulvisualitem::KMulTitle, varData  ); 
-            
-            // SetVirtualSize if required.
-            SetVirtualViewPortSize(mulvisualitem::KMulTitle);  
-            }
-        catch(...)
-            {
-            IMulVariantType* varData = NULL;
-            SetTextToVisual( mulvisualitem::KMulTitle, varData  );
-            }
-         
-         //set text to detail
-         try
-            {
-			const MulVisualItem& item = modelAccessor->Item(highlightindex);
-			IMulVariantType* varData = item.Attribute(mulvisualitem::KMulDetail);
-            MUL_LOG_INFO("MUL::UpdateTextValue::UpdateDetail");
-            SetTextToVisual( mulvisualitem::KMulDetail, varData );
-            
-            // SetVirtualSize if required.
-            SetVirtualViewPortSize(mulvisualitem::KMulDetail);  
-            }
-        catch(...)
-            {
-            IMulVariantType* varData = NULL;
-            SetTextToVisual( mulvisualitem::KMulDetail,varData );
-            } 
-        
-        // Cancel if any command is in process before start marquee.
-        CancelAllCommands();
-        
-        // Before orientaion change stop marquee on the text
-        if(!((static_cast<MulCoverFlowControl&>(control())).IsFastScrollMode())) 
-            {            
-            control().Env().Send(
-                TAlfCustomEventCommand(ECustomEventMarqueeStart, 
-                &control()), KMarqueeTime1000 + aAnimationTime);
-            
-            }
-        }
-	}
-// ---------------------------------------------------------------------------
-// SetTextToVisual
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::SetTextToVisual( mulvisualitem::TVisualAttribute aName,IMulVariantType* aText )
-	{
-	MUL_LOG_ENTRY_EXIT("Mul::MulBaseElement::SetTextToVisual");
-
-	if(mData->mTextLayout)
-		{
-		CAlfTextVisual* textVisual = 
-			static_cast<CAlfTextVisual*> (mData->mTextLayout->FindTag( IdToTag(aName) ));
-
-		if(textVisual)
-			{
-			if ( aText )
-				{  
-				// set text to visual
-				THROW_IF_LEAVES
-					(
-					MUL_LOG_INFO("MUL::SetTextToVisual::Set New Data");
-					textVisual->SetTextL(aText->DesC());
-					textVisual->SetWrapping(CAlfTextVisual::ELineWrapTruncate);
-					);
-				    // A workaround till the text visual starts giving the correct text extents value.
-		            if(!mData->mDummyVisual)
-		                {
-		                mData->mDummyVisual = CAlfTextVisual::AddNewL(control(), NULL);
-		                mData->mDummyVisual->SetWrapping(CAlfTextVisual::ELineWrapManual);
-		                mData->mDummyVisual->SetOpacity(0);
-		                mData->mDummyVisual->SetFlags(EAlfVisualFlagIgnorePointer);
-		                }
-		            
-		            // Setting the style same as our text visual.
-		            mData->mDummyVisual->SetTextStyle(textVisual->TextStyle()); 
-		            mData->mDummyVisual->SetTextL(aText->DesC()); // Setting the text
-		            	        
-		            if(aName == mulvisualitem::KMulDetail)
-		                {
-		                mData->mDetailExt = mData->mDummyVisual->TextExtents();
-		                }
-		            else
-		                {
-		                mData->mTitleExt = mData->mDummyVisual->TextExtents();
-		                }
-				}
-			else
-				{
-				// reset to null value .
-				THROW_IF_LEAVES
-					(
-					textVisual->SetTextL(_L(""));
-					);
-				}
-			}
-		else
-			{
-			mData->mTextLayout->SetOpacity(TAlfTimedValue(KBackGroundOpacity,0));   
-			}   
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// SetVirtualViewPortSize()
-// ---------------------------------------------------------------------------
-//    
-void MulBaseElement::SetVirtualViewPortSize(mulvisualitem::TVisualAttribute aName)
-    {
-    MUL_LOG_ENTRY_EXIT("Mul::MulBaseElement::SetVirtualViewPortSize");
-	CAlfViewportLayout* viewportLayout = NULL ;
-	CAlfTextVisual* text = NULL ;
-	TSize textExtent ;
-	TSize parentSize;
-	if (aName == mulvisualitem::KMulDetail)
-	    {
-	    viewportLayout = static_cast<CAlfViewportLayout*>(
-	            mData->mTextLayout->FindTag(KDetailViewPortLayout));
-	    if(!viewportLayout)
-	        {
-	        return; // return if no viewport
-	        }
-        textExtent = mData->mDetailExt;
-        parentSize = Template2D()->DetailWindowSize();
-	          
-	    }
-	else
-	    {
-	    viewportLayout = static_cast<CAlfViewportLayout*>(
-	            mData->mTextLayout->FindTag(KTitleViewPortLayout));
-	    if(!viewportLayout)
-	        {
-	        return; // return if no viewport
-	        }
-       textExtent = mData->mTitleExt;
-       parentSize = Template2D()->TitleWindowSize();
-	        
-	    }
-	text = static_cast<CAlfTextVisual*>(
-	        viewportLayout->FindTag( IdToTag(aName) ));
-	if(!text)
-	    {
-	    return; // if text visual is not found we will not set viewportsize.
-	    }
-	
-	viewportLayout->SetViewportPos((TAlfRealPoint(0, 0)), 0);
-    viewportLayout->SetVirtualSize(
-            (TAlfRealPoint(parentSize.iWidth, parentSize.iHeight)),0);   
-	
-	//Tollerance is 15 pixel, it might happen that
-	// the text is big but while wrapping it not filling the whole
-	// width of the layout because the remaining space is less to
-	// accomodate a character.
-	// As for QFN_PRIMARY the max character width is 15 pixel
-	// so I am keeping tollerance as 15 
-	// @TODO: Insted of hard coding to 15 pixel use max charecter 
-	// width for QFN_PRIMARY.
-	if ((parentSize.iWidth - textExtent.iWidth) > 15)
-		{
-		text->SetAlign(EAlfAlignHCenter, EAlfAlignVCenter); 	
-		}
-	else
-		{
-		text->SetAlign(EAlfAlignHLocale,EAlfAlignVCenter);
-		}
-    }
-
-// ---------------------------------------------------------------------------
-// StartMarquee()
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::StartMarquee(mulvisualitem::TVisualAttribute aName)
-    {
-    MUL_LOG_ENTRY_EXIT("Mul::MulBaseElement::StartMarquee");
-    // start marquee.
-    int widthOffScreen = 0;
-    CAlfViewportLayout* viewportLayout = NULL ;
-    CAlfTextVisual* text =  NULL ;
-	TSize textExtent ;
-	TSize parentSize;
-	int maxCharWidth ;
-	if (aName == mulvisualitem::KMulDetail)
-        {
-        viewportLayout =static_cast<CAlfViewportLayout*>(
-                mData->mTextLayout->FindTag(KDetailViewPortLayout));
-        if(!viewportLayout)
-            {
-            return;// return if no viewport
-            }                  
-       textExtent = mData->mDetailExt;
-       parentSize = Template2D()->DetailWindowSize();
-       maxCharWidth = Template2D()->DetailMaxCharWidth();         
-        }
-    else
-        {
-        viewportLayout = static_cast<CAlfViewportLayout*>(
-                mData->mTextLayout->FindTag(KTitleViewPortLayout));
-        if(!viewportLayout)
-            {
-            return;// return if no viewport
-            }
-       textExtent = mData->mTitleExt;
-       parentSize = Template2D()->TitleWindowSize();
-       maxCharWidth = Template2D()->TitleMaxCharWidth();
-        }
-	text = static_cast<CAlfTextVisual*>(
-	        viewportLayout->FindTag( IdToTag(aName) ));
-	if(!text)
-	    {
-	    return; // if no text.
-	    }
-	
-    text->SetWrapping(CAlfTextVisual::ELineWrapManual);
-   
-    widthOffScreen= textExtent.iWidth - parentSize.iWidth;
-    int nDbMaxChars = (widthOffScreen/(2*maxCharWidth)) + 1;
-	          	        
-    // Schedule a update event, when the visual has finished marquee text scrolling.
-    if (aName == mulvisualitem::KMulDetail)
-        {
-        if (nDbMaxChars > 0 )
-            {
-			viewportLayout->SetVirtualSize(
-			        (TAlfRealPoint(textExtent.iWidth, parentSize.iHeight)),0);                  
-            // to avoid negative time value
-            mData->mMarqueeAnimTime = (nDbMaxChars*KMarqueeTime1000);
-            viewportLayout->SetViewportPos((TAlfRealPoint(widthOffScreen , 0)), 
-                    nDbMaxChars * KMarqueeTime1000);
-            // delay after completion of the marquee for titlte.
-            mData->mMarqueeAnimTime += KMarqueeTime1000;
-            control().Env().Send(
-                TAlfCustomEventCommand(ECustomEventMarqueeFinished, 
-                static_cast<CAlfControl*>(&(control()))), 
-                mData->mMarqueeAnimTime);
-            }
-        }
-    else
-        {
-        // reset the marquee animation time
-        mData->mMarqueeAnimTime = 0;  
-        if(nDbMaxChars > 0)
-            {
-			viewportLayout->SetVirtualSize(
-			        (TAlfRealPoint(textExtent.iWidth, parentSize.iHeight)),0);  
-            
-            // to avoid negative time value
-            mData->mMarqueeAnimTime = (nDbMaxChars*KMarqueeTime1000);  
-            viewportLayout->SetViewportPos((TAlfRealPoint(widthOffScreen , 0)), 
-                    nDbMaxChars * KMarqueeTime1000);
-            // delay after completion of the marquee for titlte.
-            mData->mMarqueeAnimTime += KMarqueeTime1000;
-            control().Env().Send(
-                TAlfCustomEventCommand(ECustomEventTitleMarqueeFinished, 
-                static_cast<CAlfControl*>(&(control()))), 
-                mData->mMarqueeAnimTime );
-            // delay before start the marquee for detail.
-            mData->mMarqueeAnimTime += KMarqueeTime1000;
-            }
-        control().Env().Send(
-            TAlfCustomEventCommand(ECustomEventDetailMarqueeStart, 
-            (&(control()))), mData->mMarqueeAnimTime );
-        }
-    } 	
-    
-// ---------------------------------------------------------------------------
-// StopMarquee()
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::StopMarquee(mulvisualitem::TVisualAttribute aName)
-    {
-    MUL_LOG_ENTRY_EXIT("Mul::MulBaseElement::StopMarquee");
-    CAlfViewportLayout* viewPortLayout = NULL; 
-    CAlfTextVisual* text = NULL;
-    TSize parentSize;
-    if (aName == mulvisualitem::KMulDetail)
-        {
-        viewPortLayout =
-            static_cast<CAlfViewportLayout*>(mData->mTextLayout->FindTag(KDetailViewPortLayout));
-        parentSize = Template2D()->DetailWindowSize();
-        }
-    else
-        {
-        viewPortLayout =
-            static_cast<CAlfViewportLayout*>(mData->mTextLayout->FindTag(KTitleViewPortLayout));
-        parentSize = Template2D()->TitleWindowSize();
-        }
-   if(!viewPortLayout)
-       {
-       return;
-       }
-   text = static_cast<CAlfTextVisual*>(viewPortLayout->FindTag( IdToTag(aName) ));
-   if(!text)
-       {
-       return;
-       }
-   const TDesC textDesc = text->Text();
-   if(!textDesc.Length())
-       {
-       return;
-       }
-  
-    viewPortLayout->SetViewportPos((TAlfRealPoint(0, 0)), 0);
-    viewPortLayout->SetVirtualSize((TAlfRealPoint(parentSize.iWidth, parentSize.iHeight)),0);   
-    text->SetWrapping(CAlfTextVisual::ELineWrapTruncate);
-               
-    }
-
-// ---------------------------------------------------------------------------
-// CancelAllCommands
-// ---------------------------------------------------------------------------
-//  
-void MulBaseElement::CancelAllCommands( )
-    {
-    MUL_LOG_ENTRY_EXIT("Mul::MulBaseElement::CancelAllCommands");
-    CAlfWidgetControl * cntrl = &control();
-    control().Env().CancelCustomCommands( cntrl, ECustomEventMarqueeFinished);
-    control().Env().CancelCustomCommands( cntrl, ECustomEventMarqueeStart);
-    control().Env().CancelCustomCommands( cntrl, ECustomEventTitleMarqueeFinished);
-    control().Env().CancelCustomCommands( cntrl, ECustomEventDetailMarqueeStart); 
-    }
-
-// ---------------------------------------------------------------------------
-// SetCounterText
-// ---------------------------------------------------------------------------
-//	
-void MulBaseElement::SetCounterText( int /*aTransitionTime*/ )
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetCounterText");
-	   
-    if( mData->mCounterVisual )
-    	{
-    	SetNewCounterPosition(Template2D()->CounterDimensions());
-    	int totalModelCount = ((MulCoverFlowControl*)&control())->TotalModelCount();
-    	int currHighlightIndex = ((MulCoverFlowControl*)&control())->HighlightIndex();
-		
-		// this code will work for model count upto 99999.
-		// done for performance improvement , no need to calculate 
-		// no of digits in highlight index and total model count.
-    	auto_ptr<HBufC> countbuffer(HBufC::NewL (12)); 
-      
-        //settin value for counter text visual
-        /// @bug critical:avanhata:7/7/2008 in arabic/hebrew the text should flow
-        /// from right to left (totalCount / highlight) => the string format needs
-        /// to come from a resource file, and use stringloader (and arabic indic number
-        /// conversion if stringloader does not do it automatically)
-        countbuffer->Des().AppendNum(currHighlightIndex+1);
-        countbuffer->Des().Append(KSlash);
-        countbuffer->Des().AppendNum(totalModelCount);
-
-        mData->mCounterVisual->SetTextL(*countbuffer);
-    	}    
-	}
-
-//--------------------------------------------------------------------------
-// SetNewCounterPosition
-//--------------------------------------------------------------------------
-//
-void MulBaseElement::SetNewCounterPosition( const TMulCoverFlowItem& aCounterLctDimension, bool aOrientationChanged)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetNewCounterPosition");
-	MulCoverFlowControl* coverflowControl = ((MulCoverFlowControl*)&control());
-	int totalModelCount = coverflowControl->TotalModelCount();
-	int currHighlightIndex = coverflowControl->HighlightIndex();
-    
-    if( totalModelCount > 0 && currHighlightIndex >= 0 )
-    	{
-    	int numOfDigits = NumberOfDigits(totalModelCount);
-    	numOfDigits += NumberOfDigits(currHighlightIndex);
-   		
-   		if( mData->mNumOfDigitsInCounter!= numOfDigits || aOrientationChanged )
-   			{
-        	mData->mNumOfDigitsInCounter = numOfDigits;
-        	int maxCharWidth = coverflowControl->Template2D()->CounterMaxCharWidth();
-        	int numOfPixels = numOfDigits*maxCharWidth + 20; // 10 is the tolerance.
-  
-        	int rightPosx =0; 
-        	int leftPosx = 0;
-        	// if mirroring is enabled(ie for RTL Language)
-        	if (mData->mIsMirrored)
-        		{
-        		CAlfLayout* main  = (CAlfLayout*)findVisual( KMainLayoutIndex );
-				TSize topLayoutSize = main->Size().Target().AsSize();
-        		rightPosx = topLayoutSize.iWidth - aCounterLctDimension.posx ;
-        		leftPosx = rightPosx - numOfPixels;
-        		}
-        	else
-        		{
-        		rightPosx = aCounterLctDimension.posx + aCounterLctDimension.width; 
-        		leftPosx = rightPosx - numOfPixels;
-        		}
-	   		mData->mCounterVisual->SetPos(TAlfRealPoint(leftPosx,aCounterLctDimension.posy));
-		    mData->mCounterVisual->SetSize(TAlfRealPoint(numOfPixels ,aCounterLctDimension.height));
-   			}
-    	}
-	}
-// ---------------------------------------------------------------------------
-// NumberOfDigits
-// ---------------------------------------------------------------------------
-//
-int MulBaseElement::NumberOfDigits(int aNumber)
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::NumberOfDigits");
-    int num_digits = 0;
-    int number = aNumber;
-    do 
-    	{
-    	num_digits++;
-		number/=10;	
-    	}
-    while ( number > 0 );
-    
-    return 	num_digits;
-    }
-    	
-// ---------------------------------------------------------------------------
-// ApplyScaleMode
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::ApplyScaleMode( CAlfImageVisual& aImageVisual)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::ApplyScaleMode");
-    CAlfImageVisual::TScaleMode scaleMode; 
-
-    if (mData->mFitMode)
-	    {
-	    if(aImageVisual.Image().HasTexture())
-	        {
-	        CAlfTexture* texture = const_cast<CAlfTexture*>(&aImageVisual.Image().Texture());
-	        TInt imageWidth = texture->Size().iWidth;
-	        TInt imageHeight = texture->Size().iHeight;
-	        // when animation is not complete sizes will not be correct.
-	        // so sizes are taken from template   
-	        if(imageWidth == 0 || imageHeight == 0) 
-		        {
-		        scaleMode = CAlfImageVisual::EScaleFitInside;
-		        }
-	        else if( imageWidth <= mData->mHighlightItemStruct.width && 
-	        	imageHeight <= mData->mHighlightItemStruct.height )
-	            {
-	            scaleMode = CAlfImageVisual::EScaleNormal;
-	            }
-	        else
-	            {
-		        scaleMode = CAlfImageVisual::EScaleFitInside;
-	            }
-	        }
-	    else
-	        {
-		    scaleMode = CAlfImageVisual::EScaleFitInside;
-	        }
-	    }
-	else
-		{
-		// Apply default scale mode
-		scaleMode = CAlfImageVisual::EScaleFitInside;
-		}
-     
-	if (aImageVisual.ScaleMode() != scaleMode) 
-		{
-	    aImageVisual.SetScaleMode( scaleMode ); 	
-		}
-	 ApplyBrushOnIcon( aImageVisual );	
-    }
-    
-// ---------------------------------------------------------------------------
-// ApplyBrushOnIcon
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::ApplyBrushOnIcon( CAlfImageVisual& aImageVisual )
-    { 
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::ApplyBrushOnIcon");  
-    if( mData->mIconBgColor.mIsColorSet )
-    	{
-    	aImageVisual.EnableBrushesL(ETrue); 
-    	CAlfBrushArray* brushArray = aImageVisual.Brushes();
-	    if( (brushArray->Count()==0))
-	        {
-	        CAlfGradientBrush* brush = CAlfGradientBrush::NewL(aImageVisual.Env());     
-	    	brush->SetColor( mData->mIconBgColor.mColor );         
-	    	aImageVisual.Brushes()->AppendL( brush, EAlfHasOwnership );
-	        }
-	     else
-	     	{
-	     	CAlfGradientBrush* brush = static_cast<CAlfGradientBrush*>(&brushArray->At(0));
-	     	if ( brush->Color(0) != mData->mIconBgColor.mColor )
-		     	{
-		     	brush->SetColor( mData->mIconBgColor.mColor );  	
-		     	}
-	     	}
-    	}
-    }
-    
-// ---------------------------------------------------------------------------
-// RemoveBrushOnIcon
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::RemoveBrushOnIcon( CAlfImageVisual& aImageVisual )
-    {  
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::RemoveBrushOnIcon"); 
-	CAlfBrushArray* brushArray = aImageVisual.Brushes();
-    if(brushArray && (brushArray->Count()!=0))
-        {
-     	brushArray->Remove(0);
-        }
-    }    
-
-// ---------------------------------------------------------------------------
-// Template2D
-// ---------------------------------------------------------------------------
-//
-MulCoverFlowTemplate*  MulBaseElement::Template2D()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::Template2D");
-	return ((MulCoverFlowControl*)&control())->Template2D(); 
-	}
-
-// ---------------------------------------------------------------------------
-// SetScrollAnimationTime
-// ---------------------------------------------------------------------------
-//	    
-void MulBaseElement::SetScrollAnimationTime( int aScrollAnimationTime )
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetScrollAnimationTime");
-    mData->mScrollAnimationTime = aScrollAnimationTime;    
-    }
-   
-// ---------------------------------------------------------------------------
-// ArrangeItems
-// ---------------------------------------------------------------------------
-//	    
-void MulBaseElement::ArrangeItems()
-    { 
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::ArrangeItems");
-		
-	control().Env().BatchBufferHandler().SetAutoFlushMode(EAlfAutoFlushOnlyForced); 
-
-	int totalVisual = 2*mData->mVisibleCount + 1;
-	int highlightIndex = mData->mVisibleCount;
-	CAlfImageVisual* imageVisual = NULL;	
-
-
-	int posX = mData->mHighlightItemStruct.posx - mData->mVisibleCount*(mData->mItemStruct.width + mData->mPadding);
-	
-	TAlfRealPoint highlightItemSize(mData->mHighlightItemStruct.width, mData->mHighlightItemStruct.height);
-	TAlfRealPoint nonHighlightItemSize(mData->mItemStruct.width, mData->mItemStruct.height);
-
-	for (int i=0; i < totalVisual ; i++)  
-	    {
-	    CAlfVisual& deckLayout = mData->mIconFlowLayout->Visual(i);		
-		imageVisual = (CAlfImageVisual*)deckLayout.FindTag(KCoverflowIcon);
-	    
-		if (i != highlightIndex)
-			{
-			deckLayout.SetPos( TAlfRealPoint(posX,mData->mItemStruct.posy));
-		 	deckLayout.SetSize(nonHighlightItemSize);
-		   	imageVisual->SetSize(nonHighlightItemSize);
-		   	posX = posX + mData->mItemStruct.width + mData->mPadding;
-			}
-		else
-			{
-		    deckLayout.SetPos( TAlfRealPoint(mData->mHighlightItemStruct.posx,mData->mHighlightItemStruct.posy));
-		 	deckLayout.SetSize(highlightItemSize);
-		   	imageVisual->SetSize(highlightItemSize);
-		   	posX = posX + mData->mHighlightItemStruct.width + mData->mPadding;
-			}
-		if (mData->mFitMode)
-			{
-			ApplyScaleMode(*imageVisual);
-			}
-	   	CAlfImageVisual* indicatorVisual =static_cast<CAlfImageVisual*>(deckLayout.FindTag(KCoverflowIndicator));    
-        if (indicatorVisual)
-            {
-            SetIndicatorDimensions(*indicatorVisual);    
-            }
-	
-	    }
-	    
-	control().Env().BatchBufferHandler().FlushBatchBuffer();            
-	control().Env().BatchBufferHandler().SetAutoFlushMode(EAlfAutoFlushDeferred);           
-	        
-    }
-
-// ---------------------------------------------------------------------------
-// SetScrollDir
-// ---------------------------------------------------------------------------
-//    
-void MulBaseElement::SetScrollDir( TItemScroll aScrollDir )
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetScrollDir");
-    mData->mScrollDir = aScrollDir;   
-    }
-
-// ---------------------------------------------------------------------------
-// SetScrollDir
-// ---------------------------------------------------------------------------
-//    
-TItemScroll MulBaseElement::ScrollDir()
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::ScrollDir");
-    return mData->mScrollDir;   
-    }    
-
-// ---------------------------------------------------------------------------
-// CalculatePadding
-// ---------------------------------------------------------------------------
-//	
-void MulBaseElement::CalculatePadding()
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::CalculatePadding");
-    
-    // The vector has already been created when the template was set. 
-     if( mData->mVisibleCount == 1)
-        {
-        if( mData->mHighlightItemStruct.posx > KInitialvalueZero )
-            {
-            mData->mPadding = mData->mHighlightItemStruct.posx;
-            }
-        else
-            {
-            // full screen template ..photos
-            // padding between the highlight and non highlight item is considered to be 2 pixel for 
-            // full screen template as only one visual is visible.
-            mData->mPadding = 2;
-            }
-        }
-   else
-        {
-        int startx = mData->mHighlightItemStruct.posx+ mData->mHighlightItemStruct.width;
-        mData->mPadding = mData->mItemStruct.posx - startx;
-        } 
-    }
-
-
-// ---------------------------------------------------------------------------
-// GetIconSize
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::GetIconSize( mulwidget::TLogicalTemplate aTemplateId, 
-		    mulvisualitem::TVisualAttribute aAttribute, int& aHeight, int& aWidth)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::GetIconSize");
-
-	bool isLandscape = ((MulCoverFlowControl*)&control())->IsLandscape();
-	switch(aTemplateId)
-		{
-		case mulwidget::KTemplate1:
-			{
-			MulCoverFlowTemplate1::GetIconSize(aAttribute,isLandscape,aHeight,aWidth);
-			}
-		break;
-		case mulwidget::KTemplate4:
-			{
-			MulCoverFlowTemplate4::GetIconSize(aAttribute,isLandscape,aHeight,aWidth);
-			}
-		break;
-		default:
-			{
-			// Invalid template id
-			// raise exception
-			__MUL_ASSERT(false,KInvalidTemplate);
-			}
-		break;
-		}
-	}
-
-
-// ---------------------------------------------------------------------------
-// ShowWidget
-// ---------------------------------------------------------------------------
-//		
-void MulBaseElement::ShowWidget( bool aShow, int aTransitionTime ) 
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::ShowWidget");
-	float opacity ;
-	CAlfLayout* main = (CAlfLayout*) findVisual( KMainLayoutIndex );
-
-    if( aShow )
-		{
-		opacity =  KHighlightOpacity;
-		}
-	else
-		{
-		opacity =  KBackGroundOpacity;
-		}
-	main->SetOpacity(TAlfTimedValue(opacity,aTransitionTime));
-	}
-
-// ---------------------------------------------------------------------------
-// makeInterface
-// ---------------------------------------------------------------------------
-//	        
-IAlfInterfaceBase* MulBaseElement::makeInterface( const IfId& aType )
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::makeInterface");
-    UString param(aType.mImplementationId);
-     
-    if(param == MulBaseElement::Type().mImplementationId )
-        {
-        return static_cast<IAlfElement*>(this);  
-        }    
-   else if(param == IAlfWidgetEventHandler::type().mImplementationId )
-        {
-        return static_cast<IAlfWidgetEventHandler*>(this);  
-        }
-    else 
-        {
-        return AlfElement::makeInterface(aType);    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// setEventHandlerData
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::setEventHandlerData( const AlfWidgetEventHandlerInitData& /*aData*/ )
-	{
-	//No implementation required		
-	}
-
-// ---------------------------------------------------------------------------
-// eventHandlerData
-// ---------------------------------------------------------------------------
-//
-AlfWidgetEventHandlerInitData* MulBaseElement::eventHandlerData()
-	{
-    return NULL;		
-	}
-	
-// ----------------------------------------------------------------------------
-// eventHandlerType
-// ----------------------------------------------------------------------------
-//
- IAlfWidgetEventHandler::AlfEventHandlerType MulBaseElement::eventHandlerType() 
-	{
-	return IAlfWidgetEventHandler::ELogicalEventHandler ;
-	}
-// ----------------------------------------------------------------------------
-// eventExecutionPhase
-// ----------------------------------------------------------------------------
-//
-
-IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase MulBaseElement::eventExecutionPhase()
-	{
-	return EBubblingPhaseEventHandler;
-	}   
-	
-//------------------------Slider related Api's -------------------------	
-
-//--------------------------------------------------------------------------
-// UpdateSliderTick
-//--------------------------------------------------------------------------
-//
-void MulBaseElement::UpdateSliderTick(int aUpdateTick)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::MulBaseElement");
-	IMulSliderModel* mulSliderModel = ((MulCoverFlowControl*)&control())->GetSliderModel();
-    if( mulSliderModel && Template2D()->IsSliderVisible() )
-		{
-		 // Creating a reference Visual Item
-    	//@todo remove const from Data api in slider model
-		const MulVisualItem& item = mulSliderModel->Data();
-		//auto_ptr<MulVisualItem> tempItem( new (EMM) MulVisualItem());
-		MulVisualItem* tempItem  = const_cast<MulVisualItem*> (&item);
-		  
-		tempItem->SetAttribute( mulvisualitem::KMulMaxRange, --aUpdateTick );
-		tempItem->SetAttribute (mulvisualitem::KMulMinRange, 0);
-		tempItem->SetAttribute ( mulvisualitem::KMulTick,1);
-		
-		// Add the newly created visual item to the model
-		// Model takes the ownership of the visual item
-		mulSliderModel->SetData(*tempItem);   
-		}
-		
-	// Set the opacity to the slider widget after verifyiny all the conditions.
-	SetSliderOpacity();
-	}
-//--------------------------------------------------------------------------
-// SetSliderOpacity
-//--------------------------------------------------------------------------
-//	
-void MulBaseElement::SetSliderOpacity()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetSliderOpacity");
-	
-	if (mData->mSliderLayout)
-		{
-		if ( Template2D()->IsSliderVisible() )
-	    	{
-	    	if( static_cast<MulCoverFlowControl&>(control()).TotalModelCount() > 1 && mData->mSliderOpacity == KBackGroundOpacity)
-		    	{
-		     	ShowSlider(true);	    	
-		    	}
-		    else if((static_cast<MulCoverFlowControl&>(control()).TotalModelCount() <= 1) && mData->mSliderOpacity == KHighlightOpacity)
-		    	{
-		    	ShowSlider(false);	    	
-		    	}
-	    	}
-	     else if(mData->mSliderOpacity == KHighlightOpacity)
-	     	{
-	     	 ShowSlider(false);	
-	     	}
-		}
-	}
-
-//--------------------------------------------------------------------------
-//CreateSlider
-//--------------------------------------------------------------------------
-//	
-void MulBaseElement::CreateSlider()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::CreateSlider");
-	if ( Template2D()->IsSliderVisible() )
-    	{
-    	MulCoverFlowControl* coverflowControl = static_cast<MulCoverFlowControl*>(&control());
-    	IAlfWidget* sliderwidget = coverflowControl->GetSliderWidget();
-    	if(!sliderwidget)
-			{
-			ConstructSliderWidget();
-			}
-
-		const TMulCoverFlowItem sliderStruct = Template2D()->SliderDimension();
-		mData->mSliderLayout->SetPos(TAlfRealPoint(sliderStruct.posx,sliderStruct.posy));
-		mData->mSliderLayout->SetSize(TAlfRealPoint(sliderStruct.width,sliderStruct.height));
-		int totalModelCount = coverflowControl->TotalModelCount();
-		if( totalModelCount > 1 )
-			{
-			UpdateSliderTick(totalModelCount);	
-			coverflowControl->SetSliderTickPosition();
-			ShowSlider(true);
-			}
-		else
-			{
-			ShowSlider(false);
-			}
-	    mData->mSliderLayout->UpdateChildrenLayout();
-    	}
-    else
-    	{
-    	if (!mData->mSliderLayout)
-	    	{
-	    	return;	
-	    	}
-	    ShowSlider(false);
-    	}
-	}
-
-//--------------------------------------------------------------------------
-//ConstructSliderWidget
-//--------------------------------------------------------------------------	
-void MulBaseElement::ConstructSliderWidget()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::ConstructSliderWidget");
-	IAlfWidget* alfSliderWidget = ((MulCoverFlowControl*)&control())->CreateSliderWidget();
-	IMulSliderWidget* mulSliderWidget = static_cast<IMulSliderWidget*>(alfSliderWidget);
-	mData->mSliderLayout = const_cast<CAlfLayout*>(&mulSliderWidget->ContainerLayout());
-	mData->mVerticalFlow->Insert(mData->mSliderLayout, mData->mVerticalFlow->Count());
-	}
-	
-
-//--------------------------------------------------------------------------
-//ShowSlider
-//--------------------------------------------------------------------------
-void MulBaseElement::ShowSlider(bool aFlag)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::ShowSlider");
-	if(mData->mSliderLayout)
-		{
-		IAlfWidget* alfSliderWidget = ((MulCoverFlowControl*)&control())->GetSliderWidget();
-		IMulSliderWidget* mulSliderWidget = static_cast<IMulSliderWidget*>(alfSliderWidget);
-		mulSliderWidget->ShowWidget(aFlag);
-		if(aFlag)
-			{
-			mData->mSliderLayout->SetOpacity(TAlfTimedValue(KHighlightOpacity));
-			mData->mSliderOpacity = KHighlightOpacity;							
-			}
-		else
-			{
-    		mData->mSliderLayout->SetOpacity(TAlfTimedValue(KBackGroundOpacity));
-    		mData->mSliderOpacity = KBackGroundOpacity;			
-			}
-		}
-	}	
-	
-    
-//--------------------------------------------------------------------------
-// StartBounce
-//--------------------------------------------------------------------------
-void MulBaseElement::StartBounce(int aBounceDirection) 
-    {
-    int bounceDistance = (mData->mHighlightItemStruct.width/4) * aBounceDirection; 	
-    control().Env().Send(TAlfCustomEventCommand(ECustomEventBounceBack,&control()),KBounceTime); 
- 	StartDoodling(bounceDistance,KBounceTime);
-    }
-
-
-// ---------------------------------------------------------------------------
-// CalculateDistanceChangeFactor
-// ---------------------------------------------------------------------------
-//
-int MulBaseElement::CalculateDistanceChangeFactor()
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::CalculateDistanceChangeFactor");
-   
-    int firstVisualMidPoint = mData->mHighlightItemStruct.posx + (mData->mHighlightItemStruct.width/2);
-    int secVisualMidPoint =  mData->mItemStruct.posx + (mData->mItemStruct.width/2);
-   
-    return Abs(secVisualMidPoint-firstVisualMidPoint);
-    }
-
-
-// ---------------------------------------------------------------------------
-// SetBackground
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::SetBackground(const TRgb& aColor)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetBackground");
-	
-	CAlfLayout* main = static_cast<CAlfLayout*>(findVisual( KMainLayoutIndex ));
-	CAlfDeckLayout& deckLayout = static_cast<CAlfDeckLayout&> (main->Visual(KMainLayoutIndex) );
-	
-	CAlfVisual* oldVisual = deckLayout.FindTag(backgroundvisual);
-	if(oldVisual)
-		{
-		CAlfImageVisual* imageVisual = static_cast<CAlfImageVisual*>(oldVisual);
-		if(imageVisual->Image().HasTexture())
-			{
-			const CAlfTexture& textureToUnload = imageVisual->Image().Texture();
-			CAlfTextureManager& textureMgr = control().Env().TextureManager();    
-			textureMgr.UnloadTexture(textureToUnload.Id());		
-			}
-					
-		deckLayout.Remove( oldVisual );
-		oldVisual->RemoveAndDestroyAllD();
-		}
-		
-    deckLayout.EnableBrushesL( ETrue );
-    CAlfBrushArray* brushArray = deckLayout.Brushes();
-    if(brushArray)
-        {
-		if( brushArray->Count()!=0)
-		    {
-			CAlfGradientBrush& brush = static_cast<CAlfGradientBrush&>(brushArray->At(0));		    
-		    brush.SetColor( aColor ); 
-		    }
-		else
-			{
-			THROW_IF_LEAVES
-				(
-				CAlfGradientBrush* brush = CAlfGradientBrush::NewL( control().Env() );
-				// Set the brush colour
-				brush->SetColor( aColor );
-				// Apply brush and set the opacity .
-				deckLayout.Brushes()->AppendL( brush, EAlfHasOwnership ); 
-				); 	
-			}
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// SetBackground
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::SetBackground(const TAknsItemID& aIID)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetBackground");
-	
-	CAlfLayout* main = static_cast<CAlfLayout*>(findVisual( KMainLayoutIndex ));
-	CAlfDeckLayout& deckLayout = static_cast<CAlfDeckLayout&> (main->Visual(KMainLayoutIndex) );
-
-	CAlfBrushArray* brushArray = deckLayout.Brushes();
-    if(brushArray)
-        {     
-		if( brushArray->Count()!=0)
-		    {
-		    brushArray->Reset();            
-		    }
-        }
-		    
-	TAlfRealSize layoutSize = deckLayout.Size().ValueNow();
-	const TAlfImage image(aIID,TSize(layoutSize),EAspectRatioPreserved,NULL,-1,-1,0.f,0.f,1.f,
-					1.f, TAlfTextureFlags(EAlfTextureFlagAutoSize | EAlfTextureFlagSkinContent),
-					KAlfAutoGeneratedTextureId,NULL);							 
-                    
-	CAlfVisual* oldVisual = deckLayout.FindTag(backgroundvisual);
-	if(oldVisual)
-		{
-		CAlfImageVisual* imageVisual = static_cast<CAlfImageVisual*>(oldVisual);
-		if(imageVisual->Image().HasTexture())
-			{
-			const CAlfTexture& textureToUnload = imageVisual->Image().Texture();
-			CAlfTextureManager& textureMgr = control().Env().TextureManager();    
-			textureMgr.UnloadTexture(textureToUnload.Id());		
-			}		
-		imageVisual->SetImage(image);	
-		}
-	else
-		{
-		THROW_IF_LEAVES
-			(
-			CAlfImageVisual* imagevisual(CAlfImageVisual::AddNewL((CAlfControl&)control(), &deckLayout));
-			deckLayout.MoveVisualToBack(*imagevisual);
-			imagevisual->SetImage(image);
-			imagevisual->SetFlag(EAlfVisualFlagIgnorePointer);
-			imagevisual->SetPos(TPoint(0,0));
-		    imagevisual->SetSize(layoutSize);
-		    imagevisual->SetOpacity( KHighlightOpacity );
-		    imagevisual->SetTagL( backgroundvisual );
-			);	
-		}	
-	}
-
-// ---------------------------------------------------------------------------
-// SetItemBrush
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::SetItemBrush(const TRgb& aColor)
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetItemBrush");
-	mData->mIconBgColor.mIsColorSet = true;
-	mData->mIconBgColor.mColor = aColor;
-	
-	int itemCount = 2*mData->mVisibleCount + 1;
-	
-	itemCount = itemCount > mData->mIconFlowLayout->Count() ? mData->mIconFlowLayout->Count() : itemCount;
-	
-	for(int i =0 ;i<itemCount;i++)
-    	{
-    	CAlfVisual& visual = mData->mIconFlowLayout->Visual( i );
-        CAlfImageVisual* imageVisual = ( CAlfImageVisual* )visual.FindTag(KCoverflowIcon);
-        ApplyBrushOnIcon( *imageVisual);    
-    	}
-    }
-
-	
-// ---------------------------------------------------------------------------
-// SetTextColor
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::SetTextColor(TTextVisualType aVisualType, const TRgb& aColor)
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetTextColor");
-    
-    switch(aVisualType)
-	    {
-	    case ECounterVisual:
-		    {
-		    // save the values set by the application
-		    mData->mCounterColor.mIsColorSet = true;
-		    mData->mCounterColor.mColor = aColor;
-		    
-		    // apply the property if the visuals are already created
-		    if(mData->mCounterVisual)
-			    {
-			    mData->mCounterVisual->SetColor(aColor);	
-			    }
-		    break;	
-		    }
-	    case ETilteDetailTextVisual:
-		    {
-		    // save the values set by the application
-		    mData->mTextColor.mIsColorSet = true;
-		    mData->mTextColor.mColor = aColor;
-
-		    // apply the property if the visuals are already created
-		    CAlfTextVisual* titleTextVisual =static_cast<CAlfTextVisual*>(mData->mTextLayout->FindTag(KCoverflowTitle));
-	        if(titleTextVisual)
-	            {
-	            titleTextVisual->SetColor(aColor);
-	            }
-	        CAlfViewportLayout* viewPortLayout =static_cast<CAlfViewportLayout*>(mData->mTextLayout->FindTag(KDetailViewPortLayout));
-	        if(viewPortLayout)
-	            {
-	            CAlfTextVisual* detailTextVisual =static_cast<CAlfTextVisual*>(viewPortLayout->FindTag(KCoverflowDetail));
-	            if(detailTextVisual)
-	                {
-	                detailTextVisual->SetColor(aColor);
-	                }
-	            }
-            // Apply the same color for empty text also
-            if(mData->mEmptyTextVisual)
-	            {
-	            mData->mEmptyTextVisual->SetColor(aColor);	
-	            }
-		    break;	
-		    }
-		default:
-			break;
-	    }
-    }
-
-// ---------------------------------------------------------------------------
-// TextColor
-// ---------------------------------------------------------------------------
-//
-TMulVisualColorProperty MulBaseElement::TextColor(TTextVisualType aVisualType)
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::TextColor");
-    TMulVisualColorProperty colorProperty;
-    
-    switch(aVisualType)
-	    {
-	    case ECounterVisual:
-		    {
-		    colorProperty = mData->mCounterColor;
-		    break;
-		    }
-	    case ETilteDetailTextVisual:
-		    {
-		    colorProperty = mData->mTextColor;
-		    break;
-		    }
-		default:
-			break;
-	    }
-	return colorProperty;
-    }
-
-// ---------------------------------------------------------------------------
-// FlowLayout
-// ---------------------------------------------------------------------------
-//
-CAlfLayout& MulBaseElement::FlowLayout( int aLayoutIndex )
-      {
-      MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::FlowLayout");
-      
-      return static_cast<CAlfLayout&>(mData->mVerticalFlow->Visual( aLayoutIndex ));
-      }
-
-// ---------------------------------------------------------------------------
-// SetFitMode
-// ---------------------------------------------------------------------------
-//      
-void MulBaseElement::SetFitMode(bool aFlag)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetFitMode");
-	mData->mFitMode = aFlag;
-	}
-	
-// ----------------------------------------------------------------------------
-// CreateAndInitializeVisuals
-// ----------------------------------------------------------------------------
-//
-void MulBaseElement::CreateAndInitializeVisuals(bool aIsOrientationChange)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::CreateAndInitializeVisuals");
-	CreateVisuals();
-
-	// Specific to template 4 don't update the visuals
-	// during orientation change
-	// done for performance improvement.
-	if (!(aIsOrientationChange &&mData->mFitMode))
-		{
-		UpdateVisuals();
-		CreateSlider();
-		}
-	
-	// For template 4 set model case
-	// cancel the rotation if any.
-	if (!aIsOrientationChange && mData->mFitMode)
-		{
-		if (mData->mRotation.mIsApplied)
-			{
-			if (mData->mRotation.mIndex >= 0)
-				{
-				CancelRotation(mData->mRotation.mIndex);
-				}
-			else
-				{
-				// rotation applied on highlight index.
-				// so cancel it.
-				mData->mRotation.mIndex = 1;
-				CancelRotation(mData->mRotation.mIndex);
-				}
-			}
-		}
-	}
-	
-// ----------------------------------------------------------------------------
-// CreateVisuals
-// ----------------------------------------------------------------------------
-//
-void MulBaseElement::CreateVisuals()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::CreateVisuals");
-	int totalVisual = 2*mData->mVisibleCount + 1;
-	int visualIndex = 0;
-	
-	// if there are less visuals than required tehn create the extra visauls and
-	// set opacity 1 for already existing visuals
-	if(totalVisual > mData->mIconFlowLayout->Count())
-    	{
-    	visualIndex = mData->mIconFlowLayout->Count(); 	
-        for(; visualIndex < totalVisual;visualIndex++) 
-            {
-            CreateIconStructure(mData->mIconFlowLayout); 
-            }
-    	}
-    // if the number of visuals are more, then set opacity 0 for the extra visuals
-    else if (totalVisual < mData->mIconFlowLayout->Count())
-        {
-        IMulModelAccessor* accessor = ((MulCoverFlowControl*)&control())->ModelAccessor();
-        if(accessor)
-            {
-            if(accessor->CurrentItemCount() < totalVisual)
-	            {
-	            for(; visualIndex < totalVisual;visualIndex++) 
-	                {
-	                CAlfVisual& visual = mData->mIconFlowLayout->Visual(visualIndex);
-        			static_cast<MulCoverFlowControl&>(control()).UpdateItemAtIndex(visualIndex);	
-	                }
-	            }
-	            
-    	    CAlfTextureManager& textureMgr = control().Env().TextureManager();
-    	    TAlfImage image = TAlfImage(textureMgr.BlankTexture());
-    	    // position those visuals to some other location.
-    	    int posX = mData->mHighlightItemStruct.posx + totalVisual * mData->mHighlightItemStruct.width;
-            for(; visualIndex < mData->mIconFlowLayout->Count();visualIndex++) 
-                {
-	            CAlfVisual& visual = mData->mIconFlowLayout->Visual(visualIndex);
-	            visual.SetPos(TAlfRealPoint(posX,mData->mHighlightItemStruct.posy));
-	            CAlfImageVisual* imageVisual = static_cast<CAlfImageVisual*>(visual.FindTag(KCoverflowIcon));
-		        // remove the icon brush if any.
-		        RemoveBrushOnIcon(*imageVisual);        
-		        imageVisual->SetImage(image); 
-                CAlfImageVisual* indicatorVisual =static_cast<CAlfImageVisual*>(visual.FindTag(KCoverflowIndicator));    
-                if(indicatorVisual)
-                    {
-                    indicatorVisual->SetImage(image);   
-                    }
-	            }
-            }
-        }
-	}
-
-// ----------------------------------------------------------------------------
-// UpdateVisuals
-// ----------------------------------------------------------------------------
-//
-void MulBaseElement::UpdateVisuals()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::UpdateVisuals");
-	int totalVisual = 2*mData->mVisibleCount + 1;
-	MulCoverFlowControl* coverflowControl = static_cast<MulCoverFlowControl*>(&control());
-	IMulModelAccessor* accessor = coverflowControl->ModelAccessor();
-	if(accessor)
-    	{
-    	for(int i = 0; i < totalVisual; i++) 
-            {
-            CAlfVisual& visual = mData->mIconFlowLayout->Visual(i);
-        	coverflowControl->UpdateItemAtIndex(i);	          
-            }
-    	}
-	}
-	
-// ----------------------------------------------------------------------------
-// CreateIconStructure
-// ----------------------------------------------------------------------------
-//
-CAlfVisual* MulBaseElement::CreateIconStructure(CAlfLayout* aParentLayout)
-    { 
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::CreateIconStructure");       
-    //create the deck layout.
-    CAlfDeckLayout* deck =CAlfDeckLayout::AddNewL((CAlfControl &)control(),aParentLayout);
-    CAlfImageVisual* imageVisual =CAlfImageVisual::AddNewL((CAlfControl &)control(),deck);
-    imageVisual->SetTagL(KCoverflowIcon);
-	deck->SetFlag( EAlfVisualFlagManualLayout );
-    return deck;
-    }
-	
-	
-// ----------------------------------------------------------------------------
-// SetHighlight
-// This function is used to change the highlight by 1 with animation.
-// This function also takes care whether we need to change the size or only the position.
-// it takes into consideration the current direction and the current highlight index.
-// The logic is , we are always keeping the highlight visual index fixed (its equal to
-// the no of visible item in the screen), Depending on the scroll direction we reorder
-// the last or first visual and then position all visuals keeping the highlight visual
-// in its position. Then update the last or 1st visual with appropriate data.
-// ----------------------------------------------------------------------------
-//
-void MulBaseElement::SetHighlight(int /*aHighlightIndex*/, int aAnimationTime)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::SetHighlight");
-	int totalVisual = 2*mData->mVisibleCount + 1;
-	int highlightIndex = mData->mVisibleCount;
-	CAlfVisual* deckLayout = NULL;
-	CAlfVisual* imageVisual = NULL;	
-	
-	int highlightPosX = mData->mHighlightItemStruct.posx;
-
-    if(mData->mScrollDir == EItemScrollLeft)
-    	{
-    	CancelRotation(totalVisual - 1);
-		control().Env().BatchBufferHandler().SetAutoFlushMode(EAlfAutoFlushOnlyForced);     	
-		deckLayout = (CAlfVisual*)&mData->mIconFlowLayout->Visual(totalVisual - 1);
-    	mData->mIconFlowLayout->Reorder(*deckLayout,0);
-    	
-		int posX = highlightPosX - mData->mVisibleCount*(mData->mItemStruct.width + mData->mPadding);
-		deckLayout->SetPos( TAlfRealPoint(posX,mData->mItemStruct.posy));
-		posX = posX + mData->mItemStruct.width + mData->mPadding;
-		for (int i=1; i < totalVisual ; i++)  
-		    {
-			deckLayout = (CAlfVisual*)&mData->mIconFlowLayout->Visual(i);
-			imageVisual = deckLayout->FindTag(KCoverflowIcon);
-			if (i != highlightIndex)
-				{
-				deckLayout->SetPos( TAlfTimedPoint(posX,mData->mItemStruct.posy,aAnimationTime));
-			   	posX = posX + mData->mItemStruct.width + mData->mPadding;
-			   
-			   	// Change the size if required
-				if((i == highlightIndex+1 || i == highlightIndex-1) && mData->mChangeSize)
-					{
-					deckLayout->SetSize(TAlfTimedPoint(mData->mItemStruct.width,mData->mItemStruct.height,aAnimationTime));
-					imageVisual->SetSize(TAlfTimedPoint(mData->mItemStruct.width,mData->mItemStruct.height,aAnimationTime));
-					}
-				}
-			else
-				{
-			    deckLayout->SetPos( TAlfTimedPoint(highlightPosX,mData->mHighlightItemStruct.posy,aAnimationTime));
-			   	posX = posX + mData->mHighlightItemStruct.width + mData->mPadding;
-			   	
-			   	// Change the size if required
-			   	if(mData->mChangeSize)
-				   	{
-					deckLayout->SetSize(TAlfTimedPoint(mData->mHighlightItemStruct.width,
-														mData->mHighlightItemStruct.height,
-														aAnimationTime));
-					imageVisual->SetSize(TAlfTimedPoint(mData->mHighlightItemStruct.width,
-														mData->mHighlightItemStruct.height,
-														aAnimationTime));
-				   	}
-				}
-		    }
-	    control().Env().BatchBufferHandler().FlushBatchBuffer();            
-	  	control().Env().BatchBufferHandler().SetAutoFlushMode(EAlfAutoFlushDeferred);           
-		((MulCoverFlowControl*)&control())->UpdateItemAtIndex(0, aAnimationTime);
-
-    	}
-    else if (mData->mScrollDir == EItemScrollRight)
-	    {
-	    CancelRotation(0);
-		control().Env().BatchBufferHandler().SetAutoFlushMode(EAlfAutoFlushOnlyForced); 	    
-		deckLayout = (CAlfVisual*)&mData->mIconFlowLayout->Visual(0);
-    	mData->mIconFlowLayout->Reorder(*deckLayout,totalVisual-1);
-    	
-		int posX = highlightPosX - mData->mVisibleCount*(mData->mItemStruct.width + mData->mPadding);
-
-		for (int i=0; i < totalVisual-1 ; i++)  
-		    {
-			deckLayout = (CAlfVisual*)&mData->mIconFlowLayout->Visual(i);
-			imageVisual = deckLayout->FindTag(KCoverflowIcon);
-		    
-			if (i != highlightIndex)
-				{
-				deckLayout->SetPos( TAlfTimedPoint(posX,mData->mItemStruct.posy,aAnimationTime));
-			   	posX = posX + mData->mItemStruct.width + mData->mPadding;
-			   	// Change the size if required
-				if((i == highlightIndex+1 || i == highlightIndex-1) && mData->mChangeSize)
-					{
-					deckLayout->SetSize(TAlfTimedPoint(mData->mItemStruct.width,mData->mItemStruct.height,aAnimationTime));
-					imageVisual->SetSize(TAlfTimedPoint(mData->mItemStruct.width,mData->mItemStruct.height,aAnimationTime));
-					}			   	
-				}
-			else
-				{
-			    deckLayout->SetPos( TAlfTimedPoint(highlightPosX,mData->mHighlightItemStruct.posy,aAnimationTime));
-			   	posX = posX + mData->mHighlightItemStruct.width + mData->mPadding;
-			   	// Change the size if required
-			   	if(mData->mChangeSize)
-				   	{
-					deckLayout->SetSize(TAlfTimedPoint(mData->mHighlightItemStruct.width,
-														mData->mHighlightItemStruct.height,
-														aAnimationTime));
-					imageVisual->SetSize(TAlfTimedPoint(mData->mHighlightItemStruct.width,
-														mData->mHighlightItemStruct.height,
-														aAnimationTime));
-				   	}
-				}
-		    }
-		deckLayout = (CAlfVisual*)&mData->mIconFlowLayout->Visual(totalVisual-1);
-		deckLayout->SetPos( TAlfRealPoint(posX,mData->mItemStruct.posy));
-	    control().Env().BatchBufferHandler().FlushBatchBuffer();            
-	    control().Env().BatchBufferHandler().SetAutoFlushMode(EAlfAutoFlushDeferred);           
-		((MulCoverFlowControl*)&control())->UpdateItemAtIndex(totalVisual-1, aAnimationTime);
-	    }
-	    
-	}
-	
-// ----------------------------------------------------------------------------
-// StartDoodling
-// This function is used in doodling case. it calls the appropriate function to
-// handle doodling based on whether we have to only change the position or both
-// position and size.
-// ----------------------------------------------------------------------------
-//
-void MulBaseElement::StartDoodling(int aDistance, int aAnimationTime)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::StartDoodling");
-	if (mData->mChangeSize)
-		{
-		MoveVisualsWithSizeChange(aDistance,aAnimationTime);
-		}
-	else
-		{
-		MoveVisuals(aDistance,aAnimationTime);
-		}
-	}
-	
-// ----------------------------------------------------------------------------
-// StopDoodling
-// it calls when we get a gestureunknown or to do a bounce back.
-// it basically repositions the visuals based on current highlight.
-// it simply calls a startdoodling function with 0 distance and with
-//  animation time if required.
-// ----------------------------------------------------------------------------
-//
-void MulBaseElement::StopDoodling(int aAnimationTime)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::StopDoodling");
-	StartDoodling(0,aAnimationTime);
-	}
-	
-	
-// ----------------------------------------------------------------------------
-// MoveVisuals
-// This function is used in doodling when only position needs to be change, usefull
-// in potrait where 1 visible item is in the screen. 
-// The logic is to change the position of all visuals by doodling distance.
-// ----------------------------------------------------------------------------
-//
-void MulBaseElement::MoveVisuals(int aDistance, int aAnimationTime)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::MoveVisuals");
-	CancelRotation();
-		
-	control().Env().BatchBufferHandler().SetAutoFlushMode(EAlfAutoFlushOnlyForced); 
-	int totalVisual = 2*mData->mVisibleCount + 1;
-	int highlightIndex = mData->mVisibleCount;
-	
-	int highlightPosX = mData->mHighlightItemStruct.posx;
-	
-	highlightPosX += aDistance;
-
-	int posX = highlightPosX - mData->mVisibleCount*(mData->mItemStruct.width + mData->mPadding);
-	for (int i=0; i < totalVisual ; i++)  
-	    {
-		CAlfVisual& deckLayout = mData->mIconFlowLayout->Visual(i);
-		
-		if (i != mData->mVisibleCount)
-			{
-			deckLayout.SetPos( TAlfTimedPoint(posX,mData->mItemStruct.posy,aAnimationTime));
-		   	posX = posX + mData->mItemStruct.width + mData->mPadding;
-			}
-		else
-			{
-		    deckLayout.SetPos( TAlfTimedPoint(highlightPosX,mData->mHighlightItemStruct.posy,aAnimationTime));
-		   	posX = posX + mData->mHighlightItemStruct.width + mData->mPadding;
-			}
-	    }
-  	control().Env().BatchBufferHandler().FlushBatchBuffer();            
-    control().Env().BatchBufferHandler().SetAutoFlushMode(EAlfAutoFlushDeferred);           
-	}
-
-// ----------------------------------------------------------------------------
-// NumberOfSwipe
-// ----------------------------------------------------------------------------
-//	
-TNumberofSwipes MulBaseElement::NumberOfSwipes()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::NumberOfSwipes");
-	return mData->mNumSwipes;
-	}
-	
-// ----------------------------------------------------------------------------
-// FinalSwipeDirection
-// ----------------------------------------------------------------------------
-//
-int MulBaseElement::FinalSwipeDirection(int aDistance, int aLastSwipeDirection)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::FinalSwipeDirection");
-	
-	int NewHighlightPos = NearestPoint(FinalMidPoints(ReferenceMidPoints(),aDistance),aLastSwipeDirection);
-	
-	int scrollDir = EItemNoDirection;
-	mData->mNumSwipes = ESingleSwipe;
-	
-	// now depending on the new highlight position make a decission
-	// whether to double swipe or single swipe and in which direction.
-	if(mData->mVisibleCount == 1)
-		{
-		switch(NewHighlightPos)
-			{
-			case 0:
-				{
-				scrollDir = EItemScrollLeft;	
-				}
-			break;
-			case 2:
-				{
-				scrollDir = EItemScrollRight;	
-				}
-			break;
-			case 1:
-			default:
-			break;				
-			}
-		}
-	else
-		{
-		switch(NewHighlightPos)
-			{
-			case 0:
-				{
-				mData->mNumSwipes = ETripleSwipe; // triple swipe
-				scrollDir = EItemScrollLeft;	
-				}
-			break;
-			case 1:
-				{
-				mData->mNumSwipes = EDoubleSwipe;
-				scrollDir = EItemScrollLeft;	
-				}
-			break;	
-			case 2:
-				{
-				scrollDir = EItemScrollLeft;	
-				}
-			break;					
-			case 4:
-				{
-				scrollDir = EItemScrollRight;	
-				}
-			break;
-			case 5:
-				{
-				mData->mNumSwipes = EDoubleSwipe;
-				scrollDir = EItemScrollRight;
-				}
-			break;
-			case 6:
-				{
-				mData->mNumSwipes = ETripleSwipe; // triple swipe
-				scrollDir = EItemScrollRight;
-				}
-			break;									
-			case 3:
-			default:
-			break;				
-			}
-		}
-	return scrollDir;							
-	}	
-
-// ----------------------------------------------------------------------------
-// NearestPoint
-// ----------------------------------------------------------------------------
-//
-int MulBaseElement::NearestPoint(std::vector<int> aFinalMidPoints,int aLastSwipeDirection)
-	{
-	int referencePoint = mData->mHighlightItemStruct.posx + mData->mHighlightItemStruct.width/2;
-	int i = 0;
-	while(i < aFinalMidPoints.size())
-		{
-		int temp = 	aFinalMidPoints[i];
-		if(aFinalMidPoints[i] > referencePoint)
-			{
-			break;	
-			}
-		i++;
-		}
-      
-	if(aLastSwipeDirection == EEventScrollLeft)
-		{
-		return --i;
-		}
-	return i;
-	}
-	
-// ----------------------------------------------------------------------------
-// ReferenceMidPoints
-// ----------------------------------------------------------------------------
-//
-std::vector<int> MulBaseElement::ReferenceMidPoints()
-	{
-	std::vector<int> referenceMidPoints;
-	int highlightMidPoint = mData->mHighlightItemStruct.posx + mData->mHighlightItemStruct.width/2;
-	int differnce = mData->mHighlightItemStruct.width/2
-			+ mData->mPadding + mData->mItemStruct.width/2 ;
-			
-	int doubleDiff = mData->mPadding + mData->mItemStruct.width;
-	if(mData->mVisibleCount != 1)
-		{
-		referenceMidPoints.push_back(highlightMidPoint - (differnce
-			+ 2 * doubleDiff));
-			
-		referenceMidPoints.push_back(highlightMidPoint - (differnce
-			+ doubleDiff));
-		}
-	referenceMidPoints.push_back(highlightMidPoint - differnce);
-	referenceMidPoints.push_back(highlightMidPoint);
-	referenceMidPoints.push_back(highlightMidPoint + differnce);
-
-	if(mData->mVisibleCount != 1)
-		{
-		referenceMidPoints.push_back(highlightMidPoint + (differnce
-			+ 2 * doubleDiff));	
-			
-		referenceMidPoints.push_back(highlightMidPoint + (differnce
-			+ doubleDiff));						
-		}	
-	return referenceMidPoints;
-	}
-
-// ----------------------------------------------------------------------------
-// FinalMidPoints
-// ----------------------------------------------------------------------------
-//
-std::vector<int> MulBaseElement::FinalMidPoints(std::vector<int> aReferenceMidPoints,int aDistance)
-	{
-	std::vector<int> newMidPoints;
-	for(int i = 0; i < aReferenceMidPoints.size(); i++)
-		{
-		newMidPoints.push_back(aReferenceMidPoints[i] + aDistance);
-		int temp = 	newMidPoints[i];
-		}
-	return newMidPoints;	
-	}
-
-// ----------------------------------------------------------------------------
-// MoveVisualsWithSizeChange
-// This function used when during doodling size changes also required.
-// ie in case of landscape and visible items are 3 during doodling position as well
-// as size change requird.
-// The basic logic is we are keeping a reference distance for a complete highlight 
-// change (that means the highlight becomes nonhighlight and vice versa). so at 
-// any point of time there will be only two visuals whose size needs to be change.
-// one to grow and other to shrink. so we  calculate the % of grow and shrink of
-// visual keeping the doodling distance and reference distance into consideration.
-// ----------------------------------------------------------------------------
-//
-void MulBaseElement::MoveVisualsWithSizeChange(int aDistance, int aAnimationTime)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::MoveVisualsWithSizeChange");
-	int totalVisual = 2*mData->mVisibleCount + 1;
-	int highlightIndex = mData->mVisibleCount;
-	CAlfVisual* imageVisual = NULL;	
-	int visualIndexToShrink = -1;
-	int visualIndexToGrow = -1;  
-	int updateSpecialIndex = -1;  
-	int distancefactor = CalculateDistanceChangeFactor ();
-	
-	int highlightPosX = mData->mHighlightItemStruct.posx;
-	highlightPosX += aDistance;
-	
-	
-	if (Abs(aDistance) < distancefactor)
-		{
-		// user has doodled to change the highlight by 1.Single swipe.
-		if (aDistance < 0)
-			{
-			visualIndexToGrow = highlightIndex +1;
-			}
-		else if (aDistance > 0)
-			{
-			visualIndexToGrow = highlightIndex -1;
-			}
-		else
-			{
-			// for stop doodling case
-			visualIndexToGrow = highlightIndex - 1;
-			updateSpecialIndex = highlightIndex + 1;
-			}
-		visualIndexToShrink = highlightIndex;
-		}
-	else
-		{
-		// user has doodled to change the highlight by 2. Double swipe.
-		if (aDistance < 0)
-			{
-			visualIndexToShrink = highlightIndex +1;
-			visualIndexToGrow = highlightIndex +2;
-			aDistance +=distancefactor;
-			}
-		else
-			{
-			visualIndexToShrink = highlightIndex -1;
-			visualIndexToGrow = highlightIndex -2;
-			aDistance -=distancefactor;
-			}
-		}
-	int changeInPosY = (((mData->mItemStruct.posy - mData->mHighlightItemStruct.posy)*Abs(aDistance))/distancefactor);
-	int changeInWidth = (((mData->mHighlightItemStruct.width - mData->mItemStruct.width)*Abs(aDistance))/distancefactor);
-	int changeInHeight = (((mData->mHighlightItemStruct.height - mData->mItemStruct.height)*Abs(aDistance))/distancefactor);
-
-
-	int posX = highlightPosX - mData->mVisibleCount*(mData->mItemStruct.width + mData->mPadding);
-	for (int i=0; i < totalVisual && i < mData->mIconFlowLayout->Count(); i++)  
-	    {
-		CAlfVisual& deckLayout = mData->mIconFlowLayout->Visual(i);
-		if (i == visualIndexToShrink)
-			{
-			int posY = mData->mHighlightItemStruct.posy + changeInPosY;
-			int width =mData->mHighlightItemStruct.width - changeInWidth;
-			int height =mData->mHighlightItemStruct.height - changeInHeight;
-			deckLayout.SetPos( TAlfTimedPoint(posX,posY,aAnimationTime));
-			imageVisual = deckLayout.FindTag(KCoverflowIcon);
-			deckLayout.SetSize(TAlfTimedPoint(width,height,aAnimationTime));
-			imageVisual->SetSize(TAlfTimedPoint(width,height,aAnimationTime));
-			posX = posX + width + mData->mPadding;
-			}
-		else if (i == visualIndexToGrow)
-			{
-			int posY = mData->mItemStruct.posy - changeInPosY;
-			int width = mData->mItemStruct.width + changeInWidth;
-			int height = mData->mItemStruct.height + changeInHeight;
-			deckLayout.SetPos( TAlfTimedPoint(posX,posY,aAnimationTime));
-			imageVisual = deckLayout.FindTag(KCoverflowIcon);
-			deckLayout.SetSize(TAlfTimedPoint(width,height,aAnimationTime));
-			imageVisual->SetSize(TAlfTimedPoint(width,height,aAnimationTime));
-			posX = posX + width + mData->mPadding;
-			}
-		else if (i == updateSpecialIndex)
-			{
-			deckLayout.SetPos( TAlfTimedPoint(posX,mData->mItemStruct.posy,aAnimationTime));
-			imageVisual = deckLayout.FindTag(KCoverflowIcon);
-			deckLayout.SetSize(TAlfTimedPoint(mData->mItemStruct.width,mData->mItemStruct.height,aAnimationTime));
-			imageVisual->SetSize(TAlfTimedPoint(mData->mItemStruct.width,mData->mItemStruct.height,aAnimationTime));
-		   	posX = posX + mData->mItemStruct.width + mData->mPadding;
-			}
-		else
-			{
-			deckLayout.SetPos( TAlfTimedPoint(posX,mData->mItemStruct.posy,aAnimationTime));
-		   	posX = posX + mData->mItemStruct.width + mData->mPadding;
-			}
-	    }
-	}
-
-// ----------------------------------------------------------------------------
-//RecycleIconVisuals
-// ----------------------------------------------------------------------------
-//
-void MulBaseElement::RecycleIconVisuals()
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::RecycleIconVisuals");
-    CAlfTextureManager& textureMgr = control().Env().TextureManager();
-    TAlfImage image = TAlfImage(textureMgr.BlankTexture());
-    
-    for(int i=0; i<mData->mIconFlowLayout->Count(); i++)
-        {
-        CAlfVisual& visual = mData->mIconFlowLayout->Visual(i);
-        CAlfImageVisual* imageVisual = static_cast<CAlfImageVisual*>(visual.FindTag(KCoverflowIcon)); 
-        // remove the icon brush if any.
-        RemoveBrushOnIcon(*imageVisual);        
-        imageVisual->SetImage(image);
-        
-        CAlfImageVisual* indicatorVisual =static_cast<CAlfImageVisual*>(visual.FindTag(KCoverflowIndicator));    
-        if(indicatorVisual)
-            {
-            indicatorVisual->SetImage(image);   
-            }
-        }
-	// cancel the rotation if any.
-	if (mData->mRotation.mIsApplied)
-		{
-		if (mData->mRotation.mIndex >= 0)
-			{
-			CancelRotation(mData->mRotation.mIndex);
-			}
-		else
-			{
-			// rotation applied on highlight index.
-			// so cancel it.
-			mData->mRotation.mIndex = 1;
-			CancelRotation(mData->mRotation.mIndex);
-			}
-		}
-    }
-
-// ----------------------------------------------------------------------------
-//IdToTag
-// ----------------------------------------------------------------------------
-//
-const TDesC8& MulBaseElement::IdToTag( int aId )
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::IdToTag");
-    switch( aId )
-        {
-        case mulvisualitem::KMulIcon1 :
-            {
-            return KCoverflowIcon;
-            }
-        case mulvisualitem::KMulTitle :
-            {
-            return KCoverflowTitle;
-            }    
-        case mulvisualitem::KMulDetail :
-            {
-            return KCoverflowDetail;
-            }  
-        case mulvisualitem::KMulIndicator2 :
-            {
-            return KCoverflowIndicator;
-            }                               
-        default:
-            {
-            return KInvalidID;
-            }
-        }
-    }
- 
-// ---------------------------------------------------------------------------
-// RemoveSliderFromLayout
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::RemoveSliderFromLayout()
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::RemoveSliderFromLayout");
-    IAlfWidget* slider = (static_cast<MulCoverFlowControl&>(control())).GetSliderWidget();
-    if(slider && slider->control())
-        {
-        IMulSliderWidget* sliderwidget = static_cast<IMulSliderWidget*>(slider);
-        CAlfLayout* sliderContlyt = const_cast<CAlfLayout*>(sliderwidget->control()->ContainerLayout(NULL));
-        mData->mVerticalFlow->Remove(sliderContlyt);
-        }
-    
-    }    
-
-// ---------------------------------------------------------------------------
-// RotateImage
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::RotateImage(IMulWidget::TMulRotation aDirection,TSize aImageSize,int aAnimationTime,bool aAdjustSize)
-	{
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::RotateImage");
-	
-	__MUL_ASSERT( mData->mIconFlowLayout->Count() != 0,KNullPointer);
-		
-	if (Template2D()->IsUiOnOffFlagEnabled())
-		{
-		CAlfVisual& visual = mData->mIconFlowLayout->Visual(1);
-		CAlfImageVisual* imageVisual = static_cast<CAlfImageVisual*>(visual.FindTag(KCoverflowIcon)); 
-		
-		if (!aAdjustSize)
-			{
-			// Take care the case where rotation was
-			// applied to the previous highlight index
-			// cancel the rotation on that visual  
-			CancelRotation(mData->mRotation.mIndex);
-
-			switch(aDirection)
-				{
-				case IMulWidget::ERotateLeft:
-					{
-					mData->mRotation.mImageAngle = (mData->mRotation.mImageAngle + 90)%360;
-					imageVisual->EnableTransformationL();
-					imageVisual->Transformation().Rotate(TAlfTimedValue(90,aAnimationTime));
-					mData->mRotation.mIsApplied = true;
-					break;
-					}
-				case IMulWidget::ERotateRight:
-					{
-					mData->mRotation.mImageAngle = (mData->mRotation.mImageAngle - 90)%360;
-					imageVisual->EnableTransformationL();
-					imageVisual->Transformation().Rotate(TAlfTimedValue(-90,aAnimationTime));
-					mData->mRotation.mIsApplied = true;
-					break;
-					}
-				default:
-					break;
-				}
-			// store the actual texture size of image to be rotated.
-			mData->mRotation.mTextureSize = aImageSize;
-			}
-			
-		AdjustVisualSizeInRotation(imageVisual, aAnimationTime);
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// AdjustVisualSizeInRotation
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::AdjustVisualSizeInRotation(CAlfImageVisual* aVisual,int aAnimationTime)
-	{
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::AdjustVisualSizeInRotation");
-
-	bool isLandScape = static_cast<MulCoverFlowControl&>(control()).IsLandscape();
-	int shortEdge = !isLandScape ? mData->mHighlightItemStruct.width : mData->mHighlightItemStruct.height;
-		 			 			
-	if( mData->mRotation.mTextureSize.iWidth <= shortEdge && mData->mRotation.mTextureSize.iHeight <= shortEdge)
-	    {
-	    return;
-	    }
-	else
-	    {
-	    switch(Abs(mData->mRotation.mImageAngle))
-	    	{
-	    	case 90:
-	    	case 270:
-	        	{
-	        	HandleRotationOnVerticalAxis(aVisual,aAnimationTime);
-	        	}
-	    	break;
-	    	case 0:
-	    	case 180:
-	    		{
-	    		HandleRotationOnHorizontalAxis(aVisual,aAnimationTime);
-	    		}
-	        break;
-	    	default:
-	    		break;
-	    	}
-	    }
-	}
-
-// ---------------------------------------------------------------------------
-// HandleRotationOnVerticalAxis
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::HandleRotationOnVerticalAxis(CAlfImageVisual* aVisual,int aAnimationTime)
-	{
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::HandleRotationOnVerticalAxis");
-
-	bool isLandScape = static_cast<MulCoverFlowControl&>(control()).IsLandscape();
-	int longEdge = isLandScape ? mData->mHighlightItemStruct.width : mData->mHighlightItemStruct.height;
-	int shortEdge = !isLandScape ? mData->mHighlightItemStruct.width : mData->mHighlightItemStruct.height;
-
-	if (isLandScape)
-		{
-		if(mData->mRotation.mTextureSize.iWidth > shortEdge) 
-			{
-			// make the visual of shortEdge size and fit the image by width.
-			aVisual->SetPos(TAlfRealPoint(longEdge/2 - shortEdge/2,0),aAnimationTime);
-			aVisual->SetSize(TAlfRealSize(shortEdge,shortEdge),aAnimationTime);
-			aVisual->SetScaleMode(CAlfImageVisual::EScaleFitWidth); 
-			}
-		else 
-			{
-			//imageHeight > shortEdge and imageWidth < shortEdge
-			if (mData->mRotation.mTextureSize.iHeight > longEdge)
-				{
-				aVisual->SetPos(TAlfRealPoint(longEdge/2 - shortEdge/2,shortEdge/2 -longEdge/2),aAnimationTime);
-				aVisual->SetSize(TAlfRealSize(shortEdge,longEdge),aAnimationTime);
-				}
-			else
-				{
-				aVisual->SetPos(TAlfRealPoint(longEdge/2 - shortEdge/2,shortEdge/2 - mData->mRotation.mTextureSize.iHeight/2),aAnimationTime);
-				aVisual->SetSize(TAlfRealSize(shortEdge,mData->mRotation.mTextureSize.iHeight),aAnimationTime);
-				}
-			aVisual->SetScaleMode(CAlfImageVisual::EScaleFitHeight);            				
-			}
-		}
-	else
-		{
-		if(mData->mRotation.mTextureSize.iHeight > shortEdge) 
-			{
-			// make the visual of shortEdge size and fit the image by height.
-			aVisual->SetPos(TAlfRealPoint(0,longEdge/2 - shortEdge/2),aAnimationTime);
-			aVisual->SetSize(TAlfRealSize(shortEdge,shortEdge),aAnimationTime);
-			aVisual->SetScaleMode(CAlfImageVisual::EScaleFitHeight);
-			}
-		else  
-			{
-			//imageWidth > shortEdge and imageHeight < shortEdge
-			if (mData->mRotation.mTextureSize.iWidth > longEdge)
-				{
-				aVisual->SetPos(TAlfRealPoint(shortEdge/2 - longEdge/2,longEdge/2 - shortEdge/2),aAnimationTime);
-				aVisual->SetSize(TAlfRealSize(longEdge,shortEdge),aAnimationTime);
-				}
-			else
-				{
-				aVisual->SetPos(TAlfRealPoint(shortEdge/2 - mData->mRotation.mTextureSize.iWidth/2,longEdge/2 - shortEdge/2),aAnimationTime);
-				aVisual->SetSize(TAlfRealSize(mData->mRotation.mTextureSize.iWidth,shortEdge),aAnimationTime);
-				}
-			// @todo check if this effective height after fit by width can ever be more than
-			// the shorter edge. If yes then this fit mode should be chnged to fit inside(check this)
-			aVisual->SetScaleMode(CAlfImageVisual::EScaleFitWidth);
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// HandleRotationOnHorizontalAxis
-// ---------------------------------------------------------------------------
-//	
-void MulBaseElement::HandleRotationOnHorizontalAxis(CAlfImageVisual* aVisual,int aAnimationTime)
-	{
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::HandleRotationOnHorizontalAxis");
-	
-	aVisual->SetPos(TAlfRealPoint(0,0),aAnimationTime);
-	aVisual->SetSize(TAlfRealSize(mData->mHighlightItemStruct.width,mData->mHighlightItemStruct.height),aAnimationTime);
-	ApplyScaleMode(*aVisual);
-	}
-		
-// ---------------------------------------------------------------------------
-// CancelRotation
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::CancelRotation(int aIndex)
-	{
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::CancelRotation");
-	
-	if (mData->mRotation.mIsApplied)
-		{
-		if (mData->mRotation.mIndex >= 0)
-			{
-			// revert it back
-			mData->mRotation.mImageAngle = 0;
-			CAlfVisual& deckLayout = mData->mIconFlowLayout->Visual(mData->mRotation.mIndex);
-			CAlfImageVisual* imageVisual = static_cast<CAlfImageVisual*>(deckLayout.FindTag(KCoverflowIcon));
-			imageVisual->EnableTransformationL();
-			imageVisual->Transformation().LoadIdentity();
-			// reset the rotation property
-			mData->mRotation.mIsApplied = false;
-			mData->mRotation.mIndex = -1;   
-        	imageVisual->SetPos(TAlfRealPoint(0,0));
-			imageVisual->SetSize(TAlfRealSize(mData->mHighlightItemStruct.width,mData->mHighlightItemStruct.height));
-			ApplyScaleMode(*imageVisual);			
-			}
-		else
-			{
-			mData->mRotation.mIndex = aIndex;
-			}
-		}	    
-	}
-
-// ---------------------------------------------------------------------------
-// CancelRotationOnUpdate
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::CancelRotationOnUpdate(int aIndex)
-	{
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::CancelRotationOnUpdate");
-	
-	if (mData->mRotation.mIsApplied)
-		{
-		if (mData->mRotation.mIndex < 0 || mData->mRotation.mIndex == aIndex)
-			{
-			// revert it back
-			mData->mRotation.mImageAngle = 0;
-			CAlfVisual& deckLayout = mData->mIconFlowLayout->Visual(aIndex);
-			CAlfImageVisual* imageVisual = static_cast<CAlfImageVisual*>(deckLayout.FindTag(KCoverflowIcon));
-			imageVisual->EnableTransformationL();
-			imageVisual->Transformation().LoadIdentity();
-			// reset the rotation property
-			mData->mRotation.mIsApplied = false;
-			mData->mRotation.mIndex = -1;   
-        	imageVisual->SetPos(TAlfRealPoint(0,0));
-			imageVisual->SetSize(TAlfRealSize(mData->mHighlightItemStruct.width,mData->mHighlightItemStruct.height));
-			ApplyScaleMode(*imageVisual);			
-			}
-		}	    
-	}
-		
-// ---------------------------------------------------------------------------
-// UpdateRotation
-// ---------------------------------------------------------------------------
-//
-void MulBaseElement::UpdateRotation()
-	{
-    MUL_LOG_ENTRY_EXIT("aakash::MulBaseElement::UpdateRotation");
-	
-	if (mData->mRotation.mIsApplied)
-		{
-		// rotation applied on the highlight item.
-		if (mData->mRotation.mIndex < 0)
-			{
-			RotateImage(IMulWidget::ERotateLeft,TSize(0,0),0,true);
-			}
-		}	    
-	}	
-
-    } //namespace Alf
-    
-//End of file
--- a/mulwidgets/mulcoverflowwidget/src/mulcoverflowao.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Active Object header for CoverFlow
-*
-*/
-
-// Class Header
-#include "mulcoverflowao.h"
-
-// Alf Headers
-#include <math.h>
-
-// Local Header
-#include "mulcoverflowcontrol.h"
-#include "mulbaseelement.h"
-#include "mullog.h"
-
-namespace Alf
-	{
-
-// ---------------------------------------------------------------------------
-// MulCoverFlowAo
-// ---------------------------------------------------------------------------
-//
-MulCoverFlowAo::MulCoverFlowAo( MulCoverFlowControl& aControl ) : CTimer( EPriorityNormal ), mControl(aControl)							     								
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowAo::MulCoverFlowAo"); 
-	ConstructL();
-	CActiveScheduler::Add(this);
-	}
-
-// ---------------------------------------------------------------------------
-// ~MulCoverFlowAo
-// ---------------------------------------------------------------------------
-//
-MulCoverFlowAo::~MulCoverFlowAo()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowAo::~MulCoverFlowAo"); 
-	StopTimer();	
-	}
-	
-// ---------------------------------------------------------------------------
-// StartMoving
-// ---------------------------------------------------------------------------
-//     
-void MulCoverFlowAo::StartMoving(TReal32 aSpeedPoint, int aCurrGestureDirection,bool aFastScrollForKey,int aAnimationTime)
-    {
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowAo::StartMoving"); 
-	int previosDir = mCurrGestureDirection;
-	mCurrGestureDirection = aCurrGestureDirection;
-
-	aSpeedPoint = aSpeedPoint < 0 ? aSpeedPoint * -1 : aSpeedPoint;
-	
-	// Fast scroll in key event ,
-	// Three steps are there Max(100),150,200(Min).	
-	if (aFastScrollForKey)
-		{
-		mTransitionTime = aAnimationTime;	
-		}
-	else
-		{
-		mTransitionTime = 200 *(1 + (1 - aSpeedPoint)*5);		
-		}
-		
-	if( !mStarted )
-		{
-		// Cancle any pending requests and start a new request
-	    // this is because the layout direction n speed should be changed according to the current swipe
-	    if( IsActive() )
-	    	{
-	    	MUL_LOG_INFO("MUL::MulCF::Cancel Previous Animation ");
-	    	Cancel();
-	    	}
-	    		
-	    MUL_LOG_INFO("MUL::MulCF::Start New Animation ");
-	    mStarted = true;
-		After(0);	
-		}
-	else
-		{
-		if (previosDir != mCurrGestureDirection)
-			{
-			mTransitionTime = 200;
-			Cancel();
-			After(0);	
-			}
-		else
-			{
-			}
-		}
-		
-    }
-	
-// ---------------------------------------------------------------------------
-// StopMoving
-// ---------------------------------------------------------------------------
-//  
-void MulCoverFlowAo::StopMoving()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowAo::StopMoving"); 	
-	StopTimer();
-	mCurrGestureDirection = 0;
-	mTransitionTime = 0;
-	mWaitingTime = 0;
-	mStarted = false;
-	}
-	
-// ---------------------------------------------------------------------------
-// StopTimer
-// ---------------------------------------------------------------------------
-// 
-void MulCoverFlowAo::StopTimer()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowAo::StopTimer"); 	
-	if( IsActive() )
-    	{
-    	Cancel();
-    	}
-	}
-// ---------------------------------------------------------------------------
-// RunL
-// ---------------------------------------------------------------------------
-// 	
-void MulCoverFlowAo::RunL()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowAo::RunL");	
-	// Check if the layout ahs moved by one complete visaul. 
-	// Then change the highlight and again start moving the layout.
-	// If it hasnot moved by complete visaul then allow the layout to move to new position but
-	// dont change the highlight
-	ChangeHighLight();	
-	After(fabs(mTransitionTime*600));
-	}
-	
-// ---------------------------------------------------------------------------
-// ChangeHighLight
-// ---------------------------------------------------------------------------
-// 	
-void MulCoverFlowAo::ChangeHighLight()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowAo::ChangeHighLight"); 	
-	// Inform widget/model that highlight has changed	
-	if(mCurrGestureDirection > 0 )
-		{
-		mControl.HandleNavigationEvent ( EEventScrollLeft );	
-		}
-	else if(mCurrGestureDirection < 0 )
-		{
-		mControl.HandleNavigationEvent ( EEventScrollRight );
-		}
-	else
-		{
-		// no need to change the highlight	
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// FastScrollTransitionTime
-// ---------------------------------------------------------------------------
-// 	
-int MulCoverFlowAo::FastScrollTransitionTime()
-	{	
-	return mTransitionTime;
-	}
-			
-	} // End of namespace .
-
-//End of file
-
-
--- a/mulwidgets/mulcoverflowwidget/src/mulcoverflowcontrol.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2233 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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 Control Implementation
- *
-*/
-
-
-//  Include Files
-
-// Class Headers
-#include "mulcoverflowcontrol.h"
-
-#include <AknUtils.h>
-// Alf Headers
-#include <alf/alfenv.h>
-// for dosetimage func
-#include <alf/alfimageloaderutil.h>
-#include <alf/alfbitmapprovider.h>
-#include <alf/alfdisplay.h>
-#include <alf/alfresourcepool.h> //for resource pooling
-#include <alf/alfwidgetenvextension.h> //for resource pooling
-#include <alf/alfutil.h>
-#include <alf/alfimagevisual.h>
-
-// Mul Headers
-#include <mul/mulevent.h>
-#include <mul/imulsliderwidget.h>
-
-
-// Gesture Helper 
-#include <gesturehelper.h>
-
-// Local Headers
-#include "mulbaseelement.h"
-#include "mulcoverflowao.h"
-#include "mulcoverflowtemplate.h" 
-#include "mulcoverflowwidget.h"
-#include "mulleave.h" //for leaving function
-#include "mullog.h" //for logs
-#include "mulassert.h"
-#include "imulmodelaccessor.h"
-
-//Gesture Helper
-using namespace GestureHelper;
-
-namespace Alf
-	{
-		
-struct TMulCoverFlowControlImpl
-	{
-	TMulCoverFlowControlImpl()
-		{
-		mHighlightIndex = -1;
-		mScreenWidth = 0;
-		mScreenHeight = 0;
-		mGestureSpeed  = 0;
-		mCoverFlow2DTemplate = NULL;
-		mIsWidgetVisible = true; //by default widget is visible .
-		mBaseElement = NULL;
-		mFastScroll = false;
-		mNumVisibleItem = 0;
-		mDefaultTextureId = -1;	
-		mBounceInProgress = false;
-		mDirectionChanged = false;
-		mDontBounce = false;
-		mNumberOfRepeatEvents = 0;
-		mIsMirrored = false;
-		}
-			
-    /// @bug critical:avanhata:4/7/2008 you should never cache a property that is a property of
-    /// another class. The model exists to own this type of information. I gave this review comment
-    /// as "critical", since it is exactly these cached member variables that will 
-    /// yield most of bugs and complexity. Refactor it away.
-	int mHighlightIndex;
-    
-	int mScreenWidth;
-    int	mScreenHeight;
-	bool mIsWidgetVisible;
-	MulBaseElement* mBaseElement;	
-	auto_ptr<MulCoverFlowTemplate> mCoverFlow2DTemplate;  // 2D cover flow template //owns 
-	TReal32 mGestureSpeed;
-	bool mFastScroll; 		// Flag to indicate wheher in fast scroll mode or not
-	int mNumVisibleItem;
-	int mDefaultTextureId;
-	bool mBounceInProgress;
-	int mReferencePoint;
-	bool mDirectionChanged;
-	int mCurrGestureDir; 
-	bool mDontBounce;
-	int mNumberOfRepeatEvents;
-	bool mIsLandscape;
-	bool mIsMirrored;
-	};
-	
-// ---------------------------------------------------------------------------
-// MulCoverFlowControl
-// ---------------------------------------------------------------------------
-//
-MulCoverFlowControl::MulCoverFlowControl(CAlfEnv& aEnv	)
-	{
-	//Call the base class method
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::MulCoverFlowControl");
-	CAlfWidgetControl::construct ( aEnv);
-
-	mData.reset( new (EMM)TMulCoverFlowControlImpl );
-    
-	mFeedback = MTouchFeedback::Instance(); 
-	
-    if (AknLayoutUtils::LayoutMirrored())
-    	{
-    	mData->mIsMirrored = true;
-    	}
-    else
-		{
-		mData->mIsMirrored = false;
-		}
-		
-	mData->mIsLandscape = IsLandscape();
-
-    THROW_IF_LEAVES
-		(
-        /// @bug critical:avanhata:30/9/2008 this is a symbian code section. don't call throwing osn code here. 
-        /// Throwing within a TRAP is at best undefined
-		mCoverFlowAo.reset( new(EMM) MulCoverFlowAo( *this ) );
-
-		mHelper.reset(GestureHelper::CGestureHelper::NewL( *this ));
-		mHelper->InitAlfredPointerCaptureL( aEnv, aEnv.PrimaryDisplay(), KGroupId ); 
-		mHelper->SetHoldingEnabled( EFalse );
-		)
-	}
-		
-// ---------------------------------------------------------------------------
-// ~MulCoverFlowControl
-// ---------------------------------------------------------------------------
-//	
-MulCoverFlowControl::~MulCoverFlowControl()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::~MulCoverFlowControl");
-
-    if( ModelAccessor() != NULL )
-        {
-        ModelAccessor()->RemoveModelObserver(this);
-        }
-
-	DestroySlider();      
-
-	}
-    
-// ---------------------------------------------------------------------------
-// makeInterface
-// ---------------------------------------------------------------------------
-//          
-IAlfInterfaceBase* MulCoverFlowControl::makeInterface( const IfId& aType )
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::makeInterface");
-    UString param(aType.mImplementationId);
-    return CAlfWidgetControl::makeInterface( aType );
-    }
-
-// ---------------------------------------------------------------------------
-// ResetShowWidgetFlag
-// ---------------------------------------------------------------------------
-//  
-void MulCoverFlowControl::ResetShowWidgetFlag( bool aNewResetValue )
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::ResetShowWidgetFlag");
-    mData->mIsWidgetVisible = aNewResetValue;
-    if( aNewResetValue)
-        {
-    	mHelper->AddObserver(this);
-        } 
-    }
-
-// ---------------------------------------------------------------------------
-// Template2D
-// ---------------------------------------------------------------------------
-//
-MulCoverFlowTemplate*  MulCoverFlowControl::Template2D()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::Template2D");
-	return mData->mCoverFlow2DTemplate.get();
-	}
-		
-// ---------------------------------------------------------------------------
-// IsFastScrollMode
-// ---------------------------------------------------------------------------
-//	
-bool MulCoverFlowControl::IsFastScrollMode()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::IsFastScrollMode");
-	return mData->mFastScroll;
-	}	
-	
-
-//-----------------------Event Handling API's -------------------------------
-// ---------------------------------------------------------------------------
-// handleEvent
-// ---------------------------------------------------------------------------
-//	
-AlfEventStatus MulCoverFlowControl::handleEvent(const TAlfEvent& aEvent)
-	{
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::handleEvent");
-    if( aEvent.IsCustomEvent() )
-        {
-        return HandleCustomEvent( aEvent );
-        } 
-    else if( aEvent.IsKeyEvent() && mData->mIsWidgetVisible )
-        {
-        if(TotalModelCount() <= KMinNumItemForFastScroll || 
-        	aEvent.KeyEvent().iRepeats == 0 )
-	        {
-	        return HandleKeyEvent( aEvent );	
-	        }
-	    else
-	    	{	        
-		    return HandleRepeatKeyEvent( aEvent );	
-	    	}
-        }      
- 	else if( aEvent.IsPointerEvent() && mData->mIsWidgetVisible )
-        {                 
-		MUL_LOG_INFO("MUL::MulCoverFlowControl: handleEvent ::pointer event");
-		//commented as gives warning in armv5 
-		//THROW_IF_LEAVES
-		     //(
-		     TBool result = mHelper->OfferEventL(aEvent);
-		     MUL_LOG_INFO1("MUL::MulCoverFlowControl: handleEvent::result %d ",result);
-		     return result ? EEventConsumed :EEventNotHandled ;            
-		    // )            
-        }    
-   	return EEventNotHandled;
-    }
-// ---------------------------------------------------------------------------
-// HandleCustomEvent
-// ---------------------------------------------------------------------------
-//  
-AlfEventStatus MulCoverFlowControl::HandleCustomEvent( const TAlfEvent& aEvent )
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::HandleCustomEvent");
-    AlfEventStatus eventConsumed = EEventNotHandled;
-    switch( aEvent.CustomParameter() )
-        {
-        case ECustomEventBounceBack:
-            {
-            MUL_LOG_INFO("MUL::MulCF:Handle custom event Compensate Bounce");
-            mFeedback->InstantFeedback(ETouchFeedbackBasic); 
-            mData->mBaseElement->StopDoodling(/*3*KBounceTime*/500);
-            if ((TotalModelCount() > 1 && mData->mNumVisibleItem == 1) || 
-            	(TotalModelCount() > 2))
-	            {
-	            Env().Send(TAlfCustomEventCommand(ECustomEventScroll, this),500/*3*KBounceTime*/ + 30); 	
-	            }
-	        else
-	        	{
-	        	//start marquee in case of text is visible.
-	        	if(mData->mBaseElement->IsTextVisibile())
-	        	    {
-	        	    //start marquee after 1 sec (after doodle completed)
-	        	    Env().Send(TAlfCustomEventCommand(
-	        	            ECustomEventMarqueeStart, this),500/*3*KBounceTime*/ + KMarqueeTime1000);
-	        	    }
-	        	// if only one item is there then no need to scroll.
-	        	mData->mBounceInProgress = false;	
-	        	}
-            eventConsumed = EEventConsumed;
-            break;
-            } 
-        case ECustomEventScroll:
-            {
-            MUL_LOG_INFO("MUL::MulCF:Handle custom event Compensate Bounce");
-            Env().Send(TAlfCustomEventCommand(ECustomEventBounceCompleted,this),600); 
-            
-            if (mData->mHighlightIndex == 0)
-	            {
-	            DoSetFocusIndex(TotalModelCount() -1,/*4*KBounceTime*/800);	
-	            }
-	        else
-	        	{
-	        	DoSetFocusIndex(0,800);	
-	        	}
-	        SetSliderTickPosition();
-            eventConsumed = EEventConsumed;
-            break;
-            } 
-        case ECustomEventBounceCompleted:
-        	{
-        	mData->mBounceInProgress = false;
-			eventConsumed = EEventConsumed;
-            break;        		
-        	}
-        case ECustomEventMarqueeStart:
-        	{
-        	mData->mBaseElement->StartMarquee(mulvisualitem::KMulTitle);
-			eventConsumed = EEventConsumed;
-			break;
-        	}
-        case ECustomEventTitleMarqueeFinished:
-            {
-            mData->mBaseElement->StopMarquee(mulvisualitem::KMulTitle);
-            eventConsumed = EEventConsumed;
-            break;
-            }
-        case ECustomEventDetailMarqueeStart:
-            {
-            mData->mBaseElement->StartMarquee(mulvisualitem::KMulDetail);
-            eventConsumed = EEventConsumed;
-            break;
-            }
-        case ECustomEventMarqueeFinished:
-           {
-           mData->mBaseElement->StopMarquee(mulvisualitem::KMulDetail);
-    	   eventConsumed = EEventConsumed;
-    	   break;
-           }
-        default: break;
-        }  
-    return eventConsumed;
-    }
-
-// ---------------------------------------------------------------------------
-// HandleKeyEvent
-// ---------------------------------------------------------------------------
-//  
-AlfEventStatus MulCoverFlowControl::HandleKeyEvent( const TAlfEvent& aEvent )
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::HandleKeyEvent");
-    AlfEventStatus eventConsumed = EEventNotHandled;
-   	if( aEvent.Code() == EEventKey)
-     	{
-     	switch ( aEvent.KeyEvent().iCode )
-	        {
-	        case EKeyEnter:
-            // Event when selection key is pressed .( key event )
-	        case EKeyDeviceA:
-	        case EKeyDevice3: 
-	            {
-	            if(aEvent.KeyEvent().iRepeats == 0)
-		            {
-		            if(TotalModelCount() <= 0 && mData->mBaseElement->IsEmptyText() )           
-			            {
-			            SetSelection(mData->mHighlightIndex);
-			            eventConsumed = EEventConsumed;
-			            }
-			        else if( TotalModelCount() > 0 )
-			        	{
-			        	SetSelection(mData->mHighlightIndex);
-			            eventConsumed = EEventConsumed;	
-			        	}
-			        break;	
-		            }
-	            }
-	        case EKeyRightArrow:
-	            {
-	            // Send event to inform that the Right Key is pressed
-				if (mData->mIsMirrored)
-					{
-					HandleNavigationEvent ( EEventScrollLeft );
-					}
-				else
-					{
-					HandleNavigationEvent ( EEventScrollRight );
-					}
-	            eventConsumed = EEventConsumed;
-	            break;
-	            }
-	        
-	        case EKeyLeftArrow:
-	            {
-	            // Send event to inform that the Left Key is pressed
-				if (mData->mIsMirrored)
-					{
-					HandleNavigationEvent ( EEventScrollRight );
-					}
-				else
-					{
-					HandleNavigationEvent ( EEventScrollLeft );
-					}
-	            eventConsumed = EEventConsumed;
-	            break;
-	            }
-	        case EKeyBackspace:
-	        //case EKeyDelete:
-	            {
-	            CAlfWidgetControl::processEvent( TAlfEvent( ETypeRemove,mData->mHighlightIndex));
-	            eventConsumed = EEventConsumed;
-	            break;
-	            }
-	        default:
-	            {
-	            break;
-	            }
-	     	}
-    	}
-        
-   else if(aEvent.Code() == EEventKeyUp) 
-	   {
-	   mData->mNumberOfRepeatEvents = 0;
-	   switch ( aEvent.KeyEvent().iScanCode )
-	        {
-			case EStdKeyRightArrow:
-			case EStdKeyLeftArrow:
-				{
-				if(mData->mFastScroll)
-					{
-					HandleEnhancedStop();
-			   		eventConsumed = EEventConsumed;	
-					}				
-		   		break;
-				}
-			default:
-				{
-				break;	
-				}
-	        }
-	   }         
-     
-    return eventConsumed;
-    }
-
-// ---------------------------------------------------------------------------	
-// HandleRepeatKeyEvent
-// ---------------------------------------------------------------------------
-//
-AlfEventStatus MulCoverFlowControl::HandleRepeatKeyEvent( const TAlfEvent& aEvent )
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::HandleHoldGestureEvents");
-
-	AlfEventStatus eventConsumed = EEventNotHandled;
-   	if( aEvent.Code() == EEventKey)
-     	{
-     	switch ( aEvent.KeyEvent().iCode )
-	        {
-	        case EKeyRightArrow:
-	            {
-				if (mData->mIsMirrored)
-					{
-					HandleFastScrollWithKeyEvents(1);
-					}
-				else
-					{
-					HandleFastScrollWithKeyEvents(-1);
-					}
-	            eventConsumed = EEventConsumed;
-	            break;
-	            }
-	        
-	        case EKeyLeftArrow:
-	            {
-				if (mData->mIsMirrored)
-					{
-					HandleFastScrollWithKeyEvents(-1);
-					}
-				else
-					{
-					HandleFastScrollWithKeyEvents(1);
-					}
-	            eventConsumed = EEventConsumed;
-	            break;
-	            }
-	        default:
-	            {
-	            break;
-	            }
-	     	}
-    	}
-	return eventConsumed;
-    }
-
-// ---------------------------------------------------------------------------	
-// HandleFastScrollWithKeyEvents
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::HandleFastScrollWithKeyEvents(int aDirection)
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::HandleFastScrollWithKeyEvents");
-    mData->mNumberOfRepeatEvents++;
-    if(mData->mNumberOfRepeatEvents == 1 )
-        {
-        CAlfWidgetControl::processEvent( TAlfEvent( ETypeFastScroll,EScrollStart ));
-		mData->mFastScroll = true;
-		mCoverFlowAo->StartMoving(1, aDirection,true,200);	
-        }
-    else if(mData->mNumberOfRepeatEvents == KNumberOfRepeatsForMediumSpeed && mData->mFastScroll )
-        {
-        mCoverFlowAo->StartMoving(1, aDirection,true,150);	
-        }
-    else if(mData->mNumberOfRepeatEvents == KNumberOfRepeatsForFastSpeed && mData->mFastScroll )
-        {
-        mCoverFlowAo->StartMoving(1, aDirection,true,100);	
-        }
-    }      
-    
-// ---------------------------------------------------------------------------
-// HandleNavigationEvent
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::HandleNavigationEvent( int aEvent )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::HandleNavigationEvent");
-	
-	// During bounce ignore all the events
-	if (mData->mBounceInProgress)
-		{
-		return;	
-		}
-		
-	int highlightIndex = mData->mHighlightIndex;
-	int totalcount = TotalModelCount();
-	if(totalcount <= 0 && highlightIndex == -1 )
-		{
-		return;
-		}
-	//stop marquee if the navigation is happening.
-	if(mData->mBaseElement->IsTextVisibile())
-	    {
-	    mData->mBaseElement->StopMarquee(mulvisualitem::KMulTitle);
-	    mData->mBaseElement->StopMarquee(mulvisualitem::KMulDetail);
-	    }
-	Env().CancelCustomCommands(this);
-	
-	//Update the highlight index
-	switch( aEvent )
-		{
-		case EEventScrollRight: 
-			{
-			// boundary check
-			if( highlightIndex == totalcount - 1 )
-				{
-				if( !mData->mBounceInProgress && !mData->mDontBounce)
-					{
-					mData->mBounceInProgress = true;
-					mData->mBaseElement->StartBounce(KBounceRight);
-					}
-				else
-					{
-					mData->mBounceInProgress = false;
-					mData->mDontBounce = false;
-					highlightIndex = 0;	
-					}
-				}
-			else 
-				{
-				highlightIndex++;
-				}
-				
-			mData->mBaseElement->SetScrollDir(EItemScrollRight);	
-			}
-		break;
-		
-		case EEventScrollLeft:
-			{
-			//boundary check
-			if( highlightIndex == 0 )
-				{
-				if( !mData->mBounceInProgress && !mData->mDontBounce)
-					{
-					mData->mBounceInProgress = true;
-				    mData->mBaseElement->StartBounce(KBounceLeft);
-					}
-				else
-					{
-					mData->mBounceInProgress = false;
-					mData->mDontBounce = false;
-					highlightIndex = totalcount - 1;	
-					}
-				}
-			else
-				{
-				highlightIndex--;
-				}	
-			}
-		mData->mBaseElement->SetScrollDir(EItemScrollLeft);	
-		break;
-		}
-		
-	// to handle bounce checks
-	if( !mData->mBounceInProgress )	
-		{ 
-		DoSetFocusIndex( highlightIndex ); 	
-		SetSliderTickPosition();
-		}	   
-	}
-// ---------------------------------------------------------------------------
-// SendEventToBaseElement
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::SendEventToBaseElement( const TAlfEvent& aEvent )
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::SendEventToBaseElement");
-    mData->mBaseElement->offerEvent(  *this, aEvent);
-    }
-
-//----------------------------Highlight and Selection API's -----------------
-
-// ---------------------------------------------------------------------------
-// SetHighlightIndex
-// ---------------------------------------------------------------------------
-//          
-void MulCoverFlowControl::SetHighlightIndex( int aIndex, bool aUpdateSlider)
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::SetHighlightIndex");
-    // Throw Out of Bound Exception if index is negative
-   __MUL_ASSERT (aIndex > -1 && aIndex < TotalModelCount(), KOutOfBound); 
-    //set the highlight in model
-    if(aIndex > mData->mHighlightIndex)
-        {
-        mData->mBaseElement->SetScrollDir(EItemScrollRight);	    
-        }
-    else
-        {
-        mData->mBaseElement->SetScrollDir(EItemScrollLeft);    
-        }    
-    DoSetFocusIndex( aIndex );  
-    if (aUpdateSlider)
-        {
-        SetSliderTickPosition();	
-        }
-    }   
-// ---------------------------------------------------------------------------
-// DoSetFocusIndex
-// ---------------------------------------------------------------------------
-//  
-void MulCoverFlowControl::DoSetFocusIndex( int aNewIndex, int aAnimationTime )
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::DoSetFocusIndex");
-    
-    if(aNewIndex < 0 )
-	    {
-	    return;	
-	    }
-
-    int oldindex = mData->mHighlightIndex;
-    IMulModelAccessor* accessor = static_cast<IMulModelAccessor*>(widget()->model());
-    if(accessor)
-	    {
-	    if( oldindex == aNewIndex )
-	        {
-            accessor->SetHighlight( aNewIndex ); 
-            
-            // When one item case to cancel the drag effect
-            mData->mBaseElement->StopDoodling(200);            
-	        return;
-	        }
-	    // handling of cancelling bounce in 2 items case
-	    if(TotalModelCount() == 2)
-		    {
-		    if((mData->mBaseElement->ScrollDir() == EItemScrollRight && aNewIndex == 1 && oldindex == 2)||
-		    	(mData->mBaseElement->ScrollDir() == EItemScrollLeft && aNewIndex == 2 && oldindex == 1))
-			    {
-			    mData->mBaseElement->StopDoodling(200); 
-			    return;	
-			    }
-		    }
-	 
-	    accessor->SetHighlight( aNewIndex ); 
-	    accessor->ScrollWindow( WindowTop(aNewIndex) );  
-
-	    // Set the new focused item 
-	    mData->mHighlightIndex = aNewIndex; 
-	     
-	   // Throw Out of Bound Exception if index is negative
-	   __MUL_ASSERT( mData->mHighlightIndex > -1 , KOutOfBound ); 
-	   mData->mBaseElement->offerEvent(*this,TAlfEvent(ETypeHighlight,aAnimationTime));
-	    
-	    if( mData->mIsWidgetVisible )
-	        {
-	        // If the widget is in hidden mode no event will be sent to the application/client
-	        CAlfWidgetControl::processEvent( TAlfEvent( ETypeHighlight,mData->mHighlightIndex));
-	        }
-	    }
-    }
-
-// ----------------------------------------------------------------------------
-// SetSelection
-// ----------------------------------------------------------------------------
-//
-void MulCoverFlowControl::SetSelection(int aHighlight)    
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::SetSelection");
-    CAlfWidgetControl::processEvent ( TAlfEvent ( ETypeSelect, aHighlight));
-    }
-
-// ---------------------------------------------------------------------------
-// HighlightIndex
-// ---------------------------------------------------------------------------
-//  
-int MulCoverFlowControl::HighlightIndex()
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::HighlightIndex");
-    return mData->mHighlightIndex; 
-    }  
-      
-// ---------------------------------------------------------------------------
-// SetSliderTickPosition
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::SetSliderTickPosition( )
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::SetSliderTickPosition");
-    if (mData->mCoverFlow2DTemplate->IsSliderVisible())
-	    {
-	    IMulSliderModel* mulSliderModel = GetSliderModel();	
-	    if( mulSliderModel && mData->mHighlightIndex >= KInitialvalueZero )
-	        {
-	        mulSliderModel->SetPrimaryValue( mData->mHighlightIndex );   
-	        }
-	    }
-    }
-  
-//----------------------Model Change Related API's----------------------------
-// ----------------------------------------------------------------------------
-// ModelStateChanged
-// ----------------------------------------------------------------------------
-//
-void MulCoverFlowControl::ModelStateChanged( TMulChangedState aState, IMulVariantType& aData  )
-    {  
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::ModelStateChanged");
-    switch( aState )
-        {
-        case EItemUpdated:
-        	{
-        	int index = aData.integer();
-        	if(TotalModelCount() < 2*mData->mNumVisibleItem+1)
-	        	{
-	        	HandleLessItemsUpdate(index);	
-	        	}
-        	else
-	        	{
-	        	int relativeIndex = 0;
-	        	if (IsIndexInVisibleWindow(index, relativeIndex))
-		        	{
-		        	UpdateCoverflowItem(index,relativeIndex);
-		        	mData->mBaseElement->CancelRotationOnUpdate(relativeIndex);
-		        	}	
-	        	}
-        	break;	
-        	} 
-       case EHighlightChanged:
-            {
-            if (mData->mHighlightIndex != aData.integer())
-	            {
-	            mData->mHighlightIndex = aData.integer();
-	            IMulModelAccessor* accessor = static_cast<IMulModelAccessor*>(widget()->model());
-                if( mData->mHighlightIndex == 0 )
-                	{
-                	mData->mBaseElement->ShowEmptyText(false);
-				    }
-                if( mData->mHighlightIndex >= 0)
-                    {
-                    // the same things have to be done for highlight>0 and highlight = 0
-                    // the only diff is at highlight 0 dont show empty text 
-                    accessor->ScrollWindow(WindowTop(mData->mHighlightIndex));
-	           		mData->mBaseElement->UpdateVisuals();
-	           		mData->mBaseElement->SetCounterText();	
-	           		SetSliderTickPosition();
-				    }           		
-                else
-                    {
-                    // remove the visualisation and hide counter. 
-                    mData->mBaseElement->RecycleIconVisuals();  
-	                mData->mBaseElement->ShowEmptyText( true );
-                    }				
-	            }
-            break;
-            }
-        case EItemsInserted:
-        case EItemsRemoved:
-        	{
-        	HandleModelCountChange();
-        	break;
-        	}
-        
-		}                                  
-    }
-
-// ---------------------------------------------------------------------------
-// HandleLessItemsUpdate 
-// ---------------------------------------------------------------------------
-//    
-void MulCoverFlowControl::HandleLessItemsUpdate(int aIndex)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::HandleLessItemsUpdate");
-	if(aIndex == mData->mHighlightIndex)
-		{
-		UpdateCoverflowItem(aIndex,mData->mNumVisibleItem);
-		if(mData->mNumVisibleItem != 1 && TotalModelCount() == 3)	
-			{
-			UpdateCoverflowItem(aIndex,mData->mNumVisibleItem + 3);
-			UpdateCoverflowItem(aIndex,mData->mNumVisibleItem - 3);	
-			}
-		}
-	else 
-		{
-		// fulscreen tempalte and 2d in portrait
-		if(mData->mNumVisibleItem == 1)	
-			{
-			UpdateCoverflowItem(aIndex,mData->mNumVisibleItem+1);
-			UpdateCoverflowItem(aIndex,mData->mNumVisibleItem-1);				
-			}
-		else
-			{
-			// 2d template landscape mode
-			if(TotalModelCount() == 2)
-				{
-				UpdateCoverflowItem(aIndex,mData->mNumVisibleItem+(aIndex - mData->mHighlightIndex));	
-				}
-			else
-				{
-				int relativeIndex = (aIndex - mData->mHighlightIndex) + mData->mNumVisibleItem;
-				if(relativeIndex >= 0 && relativeIndex < 2*mData->mNumVisibleItem+1)
-					{
-					UpdateCoverflowItem(aIndex,relativeIndex);						
-					}
-				relativeIndex = relativeIndex + TotalModelCount();
-				if(relativeIndex >= 0 && relativeIndex < 2*mData->mNumVisibleItem+1)
-					{
-					UpdateCoverflowItem(aIndex,relativeIndex);	
-					}
-								
-				relativeIndex = mData->mNumVisibleItem - (TotalModelCount() - aIndex + mData->mHighlightIndex);
-				if(relativeIndex >= 0 && relativeIndex < 2*mData->mNumVisibleItem+1)
-					{
-					UpdateCoverflowItem(aIndex,relativeIndex);					
-					}
-				relativeIndex = relativeIndex - TotalModelCount();
-				if(relativeIndex >= 0 && relativeIndex < 2*mData->mNumVisibleItem+1)
-					{
-					UpdateCoverflowItem(aIndex,relativeIndex);	
-					}					
-				}
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// IsIndexInVisibleWindow 
-// ---------------------------------------------------------------------------
-//
-bool MulCoverFlowControl::IsIndexInVisibleWindow(const int aIndex, int& aRelativeIndex)
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::IsIndexInVisibleWindow");
-
-	int totalVisual = TotalModelCount();
-    int noOfVisuals = mData->mNumVisibleItem; 
-    int highlightRelativeIndex = mData->mNumVisibleItem;
-    	
-	int leftIndex = mData->mHighlightIndex - noOfVisuals;
-	int rightIndex = mData->mHighlightIndex + noOfVisuals;
-    
- 	if (leftIndex >= 0)
-	 	{
-	 	if ((aIndex <= mData->mHighlightIndex) && (aIndex >= leftIndex))
-		 	{
-		 	aRelativeIndex = highlightRelativeIndex - (mData->mHighlightIndex - aIndex);
-		 	return true;	
-		 	}
-	 	}
-	else
-		{
-		if (aIndex <= mData->mHighlightIndex)
-			{
-			aRelativeIndex = highlightRelativeIndex - (mData->mHighlightIndex - aIndex);
-			return true;	
-			}
-		else
-			{
-			leftIndex = totalVisual + leftIndex ;
-			if (aIndex >= leftIndex)
-				{
-				aRelativeIndex = highlightRelativeIndex - noOfVisuals +	(aIndex - leftIndex);
-				return true;
-				}
-			}	
-		}
- 
- 	if (rightIndex < totalVisual)
-	 	{
-	 	if ((aIndex >= mData->mHighlightIndex) && (aIndex <= rightIndex))
-		 	{
-		 	aRelativeIndex = highlightRelativeIndex + (aIndex - mData->mHighlightIndex);
-		 	return true;	
-		 	}
-	 	}
-	else
-		{
-		if (aIndex >= mData->mHighlightIndex)
-			{
-			aRelativeIndex = highlightRelativeIndex + (aIndex - mData->mHighlightIndex);
-			return true;	
-			}
-		rightIndex = rightIndex - totalVisual;
-		if (aIndex <= rightIndex)
-			{
-			aRelativeIndex = highlightRelativeIndex + noOfVisuals - (rightIndex - aIndex);
-			return true;	
-			}
-		}
- 
-	return false;
-    }
-        
-        
-// ---------------------------------------------------------------------------
-// RelativeToAbsolute
-// ---------------------------------------------------------------------------
-//
-int MulCoverFlowControl::RelativeToAbsolute(const int aRelativeIndex)
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::RelativeToAbsolute");
-    int highlightRelativeIndex = mData->mNumVisibleItem;
-    int absolute = -1;
-    int totalVisuals = TotalModelCount();
-    if(totalVisuals <= 0)
-	    {
-	    // absolute index is always -1, so no need of any calculations
-	    }
-    else if(totalVisuals < 2*mData->mNumVisibleItem + 1)
-	    {
-	    if(aRelativeIndex == highlightRelativeIndex)
-			{
-			absolute = 	mData->mHighlightIndex;
-			}
-		else
-			{
-			if(mData->mNumVisibleItem == 1)
-				{
-				if (totalVisuals == 1)
-				    {
-				    absolute = -1;
-				    }
-				else if(totalVisuals == 2)
-					{
-					absolute = mData->mHighlightIndex + 1;
-					absolute = absolute >= totalVisuals ? 0 : absolute;
-					}
-				}
-			else
-				{
-				if (totalVisuals == 1)
-				    {
-				    absolute = -1;
-				    }
-				else if(totalVisuals == 2)
-					{
-					absolute = mData->mHighlightIndex + (aRelativeIndex - highlightRelativeIndex);
-					absolute = absolute >= totalVisuals ? -1 : absolute;
-					}
-				else // totalvisuals > 3
-					{
-					if(aRelativeIndex - highlightRelativeIndex > 0)
-						{
-						absolute = mData->mHighlightIndex + aRelativeIndex - highlightRelativeIndex;	
-						}
-					else
-						{
-						absolute = mData->mHighlightIndex + aRelativeIndex - highlightRelativeIndex
-							+ TotalModelCount();	
-						}					
-					absolute = absolute >= totalVisuals ? absolute - totalVisuals : absolute;
-					}
-				}
-			}
-	    }
-	else
-		{
-		if(aRelativeIndex == highlightRelativeIndex)
-			{
-			absolute = 	mData->mHighlightIndex;
-			}
-		else if (aRelativeIndex > highlightRelativeIndex)
-		    {
-		    absolute = mData->mHighlightIndex + (aRelativeIndex - highlightRelativeIndex);
-		    absolute = absolute >= totalVisuals ? (absolute - totalVisuals) : absolute;	
-		    }
-		else
-			{
-		    absolute = mData->mHighlightIndex - (highlightRelativeIndex - aRelativeIndex);
-		    absolute = absolute <0 ? (totalVisuals + absolute) : absolute;
-		    absolute = absolute > totalVisuals - 1 ? -1 : absolute;	    
-			}	
-		}    
-    return absolute;
-    }
-
-        
-// ---------------------------------------------------------------------------
-// TotalModelCount
-// ---------------------------------------------------------------------------
-//  
-int MulCoverFlowControl::TotalModelCount()
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::TotalModelCount");
-    
-    IMulModelAccessor* accessor = static_cast<IMulModelAccessor*>(widget()->model());
-    if(accessor)
-        {
-        return accessor->CurrentItemCount();
-        }
-	return -1;    
-    }
-
-// ---------------------------------------------------------------------------
-// HandleModelCountChange
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::HandleModelCountChange()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::HandleModelCountChange");
-    IMulModelAccessor* accessor = static_cast<IMulModelAccessor*>(widget()->model());
-    if(accessor)
-	    {
-	    if(TotalModelCount() < (2*mData->mNumVisibleItem + 1))
-	    	{
-	    	mData->mBaseElement->UpdateVisuals();
-	    	}
-		mData->mBaseElement->UpdateSliderTick( TotalModelCount() );
-		mData->mBaseElement->SetCounterText();
-	    }
-	}
-
-// ---------------------------------------------------------------------------
-// modelAccessor
-// ---------------------------------------------------------------------------
-//  
-IMulModelAccessor* MulCoverFlowControl::ModelAccessor()
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::ModelAccessor");
-    if(widget())
-    	{
-    	return static_cast<IMulModelAccessor*>(widget()->model());
-    	}    
-    return NULL;    
-    }
-
-// ---------------------------------------------------------------------------
-// ModelChanged
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::ModelChanged( IMulModelAccessor* aAccessor )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::ModelChanged");
-	Env().CancelCustomCommands(this);
-	// update the highlight index as well as the no of item.
-	mData->mHighlightIndex = aAccessor->Highlight();
-
-	CAlfLayout* main = (CAlfLayout*) mData->mBaseElement->findVisual( KMainLayoutIndex );
-	int width = main->Size().Target().AsSize().iWidth;
-	int height = main->Size().Target().AsSize().iHeight;
-
-	if( width == 0 && height == 0 )
-		{
-		return;
-		}
-	else
-		{
-		// @todo check if we are setting a new model with the same old template, 
-		// then should we call CreateTemplateElement
-		mData->mScreenWidth = width;
-    	mData->mScreenHeight = height;
-		CreateTemplateElement(aAccessor->Template());
-		mData->mBaseElement->CreateAndInitializeVisuals(); 
-		aAccessor->SetVisibleWindow( 2 * mData->mCoverFlow2DTemplate->MaxVisibleCount() + 1
-		            ,WindowTop(mData->mHighlightIndex));
-		// For setting or clearing empty text if depending on the new modle count
-		SendEventToBaseElement( TAlfEvent( EEventWidgetInitialized ) );
-		}
-	}
-		
-
-
-//-----------------Template Element Creation API's --------------------------
-
-// ---------------------------------------------------------------------------
-// CreateTemplateElement
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::CreateTemplateElement( mulwidget::TLogicalTemplate aTemplateName)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::CreateTemplateElement");
-	if (aTemplateName == mulwidget::KTemplate1)
-		{
-		mData->mCoverFlow2DTemplate.reset( new(EMM) MulCoverFlowTemplate1(*this, *mData->mBaseElement));
-		}
-	else if(aTemplateName == mulwidget::KTemplate4)
-		{
-		mData->mCoverFlow2DTemplate.reset( new(EMM) MulCoverFlowTemplate4(*this, *mData->mBaseElement));
-		}
-	else
-		{
-		// Invalid template
-		return;
-		}
-    mData->mCoverFlow2DTemplate->CreateVisualisation(IsLandscape());
-	// set holding mode to gesture helper.
-	SetHoldingEnabled(); 
-	}
-
-
-    
-//--------------Orientation Change Related API's----------------------------- 
-// ---------------------------------------------------------------------------
-// VisualLayoutUpdated
-// ---------------------------------------------------------------------------
-//		
-void MulCoverFlowControl::VisualLayoutUpdated (CAlfVisual& aVisual)
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::VisualLayoutUpdated");
-        
-    TSize topLayoutSize = aVisual.Size().Target().AsSize(); ;
-    int height = topLayoutSize.iHeight;
-    int width  = topLayoutSize.iWidth;
-    
- 	// to avoid unnecessary visual layout updated calls .
- 	// in order to check if the orientation has changed really or not this is done .
-    if( mData->mScreenWidth == width && height == mData->mScreenHeight  )
-        {
-        return;
-        }
-    
-    mData->mScreenWidth = width;
-    mData->mScreenHeight = height;
-        
-	
-	IMulModelAccessor* accessor = ModelAccessor();
-    if(IsLandscape() == mData->mIsLandscape)
-        {  
-        if(accessor)
-            {
-            CreateTemplateElement(accessor->Template());
-            mData->mBaseElement->CreateAndInitializeVisuals(); 
-            accessor->SetVisibleWindow( 2 * mData->mCoverFlow2DTemplate->MaxVisibleCount() + 1
-                        ,WindowTop(mData->mHighlightIndex));
-            // For setting or clearing empty text if depending on the new modle count
-            SendEventToBaseElement( TAlfEvent( EEventWidgetInitialized ) );
-            }
-        else
-        	{
-        	// For null model
-		    // reset the coverflow 2d template to NULL
-		    mData->mCoverFlow2DTemplate.reset(NULL);
-        	}
-        }
-    else
-        { 
-        mData->mIsLandscape = IsLandscape();
-    	
-    	if(!accessor)
-    		{
-    		mData->mBaseElement->SetDefaultSize(TSize(mData->mScreenWidth,mData->mScreenHeight));
-    		return; 
-    		}
-          
-        mData->mBaseElement->OrientationChange();
-    	// enable or disable hold events depending on whether ECF enabled
-    	SetHoldingEnabled();
-        }
-        
-    }
-	    
-// ---------------------------------------------------------------------------
-// RecycleVisuals
-// ---------------------------------------------------------------------------
-//   
-void MulCoverFlowControl::RecycleVisuals()
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::RecycleVisuals");
-    // reset the coverflow 2d template to NULL
-    mData->mCoverFlow2DTemplate.reset(NULL);
-    
-    if(mData->mBaseElement)
-        {
-        mData->mBaseElement->RecycleIconVisuals();
-        mData->mHighlightIndex = -1;
-        }
-    }  
-
-//--------------------------- Gesture ----------------------------------------
-
-// ---------------------------------------------------------------------------
-// SetHoldingEnabled
-// ---------------------------------------------------------------------------
-// 
-void MulCoverFlowControl::SetHoldingEnabled()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::SetHoldingEnabled");
-
-	mHelper->SetHoldingEnabled(EnhancedModeCondition());	
-	}
-
-// ---------------------------------------------------------------------------
-// SetDoubleTapEnabled
-// ---------------------------------------------------------------------------
-// 
-void MulCoverFlowControl::SetDoubleTapEnabled( bool aValue)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::SetDoubleTapEnabled");
-
-	mHelper->SetDoubleTapEnabled( aValue );	
-	}
-	
-// ---------------------------------------------------------------------------
-// HandleGestureL
-// ---------------------------------------------------------------------------
-//    
-void MulCoverFlowControl::HandleGestureL( const MGestureEvent& aEvent )
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::HandleGestureL");
-	if(aEvent.IsHolding())
-		{
-	    HandleHoldGestureEvents(aEvent);	
-		}
-	else
-		{
-		HandleNormalGestureEvents(aEvent);
-		}
-    }
-
-// ---------------------------------------------------------------------------
-// HandleNormalGestureEvents
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::HandleNormalGestureEvents( const MGestureEvent& aEvent )
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::HandleNormalGestureEvents");
-    
-    switch ( aEvent.Code(MGestureEvent::EAxisHorizontal) )
-        {
-        case EGestureStart:
-            {
-            SendFeedbackOnTouchDown(aEvent);
-            }
-            break;
-		case EGestureDrag: // fall through
-			{		
-			MUL_LOG_INFO("MUL::MulCoverFlowControl:HandleNormalGestureEvents EGestureDrag");
-			if(	aEvent.CurrentPos().iX > mData->mScreenWidth )
-				{
-				return;
-				}
-
-			if(TotalModelCount() > 0 )
-				{
-				// if ui is on send event to applications	
-				if( mData->mCoverFlow2DTemplate->IsUiOnOffFlagEnabled() && 
-	    			(mData->mBaseElement->IsUiOnMode()) )
-					{
-					CAlfWidgetControl::processEvent( TAlfEvent( ETypeSwitchUiStateOnDrag ));	
-					}
-					
-				if (mData->mBounceInProgress && TotalModelCount() > 2)
-					{
-					mData->mBounceInProgress = false;
-					Env().CancelCustomCommands(this);
-					// bounce canceled once .dont bounce again for the next swipe.
-					mData->mDontBounce = true;	
-					}
-
-				int distance =  aEvent.Distance().iX ;
-				mData->mCurrGestureDir = distance;//CovertDistAnceToDirection(distance);				
-				if (mData->mIsMirrored)
-					{
-					distance = -distance;
-					}
-				mData->mReferencePoint = aEvent.CurrentPos().iX - 10; //pointerDownPos + distanceTravelled/2;	
-
-				mData->mBaseElement->StartDoodling(distance);
-				}
-			break;
-			}
-        
-        case EGestureTap:
-        	{
-        	MUL_LOG_INFO("MUL::MulCoverFlowControl:HandleNormalGestureEvents EGestureTap ");
-            HandleSingleTap(aEvent); 
-            break;   
-        	}
-        
-        case EGestureDoubleTap:
-           {
-           MUL_LOG_INFO("MUL::MulCoverFlowControl:HandleNormalGestureEvents EGestureDoubleTap ");
-           if(TotalModelCount() <= 0 )
-	    		{
-	    		//find out whether event should be sent on double tap or not 
-	    		// in case of empty model and the feedback too.
-	    		break; 
-	    		}
-            MulDoubleTapData doubleTapData;
-            // Finding the visual which has been hit .
-            CAlfVisual* hitVisual = aEvent.Visual();           
-            if(hitVisual && (hitVisual->Tag() == KCoverflowIndicator) ) 
-                {
-                doubleTapData.mTapVisualIndex = mData->mHighlightIndex ;
-                }
-            else
-                {
-                int hitVisualIndex = GetHitVisualIndex( hitVisual );           
-                if( hitVisualIndex == -1 )
-                    {
-                    break; 
-                    }
-                doubleTapData.mTapVisualIndex = hitVisualIndex;
-                }
-            doubleTapData.mDoubleTapPoint = aEvent.CurrentPos();
-            
-            mFeedback->InstantFeedback(ETouchFeedbackBasic); 
-            CAlfWidgetControl::processEvent ( TAlfEvent ( ETypeDoubleTap,
-                    uint(&doubleTapData)));
-            break;  
-            }
-                           	
-        case EGestureUnknown :
-        	{
-        	MUL_LOG_INFO("MUL::MulCoverFlowControl:HandleNormalGestureEvents EGestureUnknown");
-        	if(TotalModelCount() > 0 )
-	    		{
-		    	// this will revert to the original position if gesture get cancelled
-	        	// with some animation time.
-	        	// @TODO animation time should be same as set by application.
-	        	mData->mBaseElement->StopDoodling(200);
-	    		}
-            break;
-        	}
-                    
-        case EGestureSwipeLeft:
-        	{
-        	MUL_LOG_INFO("MUL::MulCoverFlowControl:HandleNormalGestureEvents EGestureSwipeLeft");
-        	if(TotalModelCount() > 0 )
-	    		{
-	    		// do the calculations for changing teh higlight left or right depnding on last direction
-			    // and the total direction moved.
-			    int finalSwipeDirection = mData->mBaseElement->FinalSwipeDirection(
-			    	TotalSwipeDistance(aEvent),EEventScrollRight);
-
-	    		HandleSwipe(finalSwipeDirection);
-	    		}
-            break;
-        	}
-              
-        case EGestureSwipeRight:
-            {
-            MUL_LOG_INFO("MUL::MulCoverFlowControl:HandleNormalGestureEvents EGestureSwipeRight");
-            if(TotalModelCount() > 0 )
-	    		{
-			    int finalSwipeDirection = mData->mBaseElement->FinalSwipeDirection(
-			    	TotalSwipeDistance(aEvent),EEventScrollLeft);
-	    		
-	    		HandleSwipe(finalSwipeDirection);
-	    		}
-            break;
-            }
-        case EGestureMultiTouchStart:
-           {
-            MUL_LOG_INFO("MUL::MulCoverFlowControl:HandleNormalGestureEvents EGestureMultiTouchStart");
-            mData->mBaseElement->StopDoodling(0);
-            break;
-          }
-        case EGestureMultiTouchReleased:
-            MUL_LOG_INFO("MUL::MulCoverFlowControl:HandleNormalGestureEvents EGestureMultiTouchReleased");
-            break;
-        case EGesturePinch:
-            MUL_LOG_INFO("MUL::MulCoverFlowControl:HandleNormalGestureEvents EGesturePinch");
-            CAlfWidgetControl::processEvent ( TAlfEvent ( ETypePinch,aEvent.PinchPercent()));
-            break;
-        case EGestureReleased:
-        	{
-        	 MUL_LOG_INFO("MUL::MulCoverFlowControl:HandleNormalGestureEvents EGestureReleased");
-        	 mFeedback->InstantFeedback(ETouchFeedbackBasic);
-         	 break;
-			}
-        default:
-            break;
-        } // end of switch
-    }
-
-// ---------------------------------------------------------------------------
-// TotalSwipeDistance
-// ---------------------------------------------------------------------------
-//
-int MulCoverFlowControl::TotalSwipeDistance( const GestureHelper::MGestureEvent& aEvent )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::TotalSwipeDistance");
-	if(	aEvent.CurrentPos().iX > mData->mScreenWidth )
-		{
-		return aEvent.Distance().iX - (aEvent.CurrentPos().iX - mData->mScreenWidth);
-		}
-	return 	aEvent.Distance().iX;
-	}
-
-// ---------------------------------------------------------------------------
-// GetHitVisualIndex
-// ---------------------------------------------------------------------------
-//
-int MulCoverFlowControl::GetHitVisualIndex( CAlfVisual* aHitVisual )
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::GetHitVisualIndex");
-    int visualIndex  = -1;
-        
-    if(!aHitVisual)
-	    {
-	    // no visual found
-	    return -1;
-	    }
-     #ifdef _DEBUG
-        const TDesC8& buffer = aHitVisual->Tag();
-    #endif
-
-    if ((aHitVisual->Tag() != KCoverflowIcon))
-        {
-        visualIndex = -1;
-        }
-    else
-        {
-        if(mData->mNumVisibleItem > 1)
-	        {
-    		CAlfLayout& iconFlow =mData->mBaseElement->FlowLayout( KIconFlowLayoutIndex );
-    		CAlfVisual* imgVisual = NULL;
-	        for(int i=2; i<=4;i++)	
-		        {
-		        imgVisual = iconFlow.Visual(i).FindTag(KCoverflowIcon);
-		        if (imgVisual == aHitVisual)
-			        {
-			        visualIndex = RelativeToAbsolute(i);	
-			        break;
-			        }
-		        }
-	        }
-	    else
-	    	{
-	    	visualIndex = mData->mHighlightIndex;
-	    	}
-        }
-    return visualIndex;
-    }
-
-
-// ---------------------------------------------------------------------------
-// HandleSingleTap
-// ---------------------------------------------------------------------------
-//  
-void MulCoverFlowControl::HandleSingleTap(const MGestureEvent& aEvent) 
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::HandleSingleTap");
-
-    if(TotalModelCount() <= 0 )
-        {
-        // in case of empty model and null model only when the empty text is set 
-        // then only the selection event should be sent to the applications.
-        if( mData->mBaseElement->IsEmptyText() )
-            {
-            SetSelection(-1);	
-            }
-        // In case of null model and empty model if the empty text is not set then no need to calculate
-        //the hit visual index . Doest serve any purpose.
-        }
-    else
-        {
-        // Finding the visual which has been hit .
-        CAlfVisual* hitVisual = aEvent.Visual();        	
-        if(hitVisual && (hitVisual->Tag() == KCoverflowIndicator) ) 
-            {
-            CAlfWidgetControl::processEvent( TAlfEvent( EVideoIconSelect ));
-            return;
-            }
-        int hitVisualIndex = GetHitVisualIndex( hitVisual );
-        if( hitVisualIndex > -1 )
-            {
-            if( hitVisualIndex == mData->mHighlightIndex )
-                {
-                SetSelection(mData->mHighlightIndex );
-                }
-            else
-                {
-                //set the highlight in model
-			    if(TotalModelCount() > 2 && hitVisualIndex == TotalModelCount()-1 
-			    	&& mData->mHighlightIndex == 0)
-				    {
-				    HandleNavigationEvent ( EEventScrollLeft );	
-				    }
-				else if(TotalModelCount() > 2 && mData->mHighlightIndex == TotalModelCount()-1 
-					&& hitVisualIndex == 0)
-					{
-					HandleNavigationEvent ( EEventScrollRight );	
-					}
-			    else if(hitVisualIndex > mData->mHighlightIndex)
-			        {
-			        HandleNavigationEvent ( EEventScrollRight );	    
-			        }
-			    else
-			        {
-			        HandleNavigationEvent ( EEventScrollLeft );   
-			        }
-                }
-            }	
-        }   
-    }
-     
-// ---------------------------------------------------------------------------
-// SendFeedbackOnTouchDown
-// ---------------------------------------------------------------------------
-//  
-void MulCoverFlowControl::SendFeedbackOnTouchDown(const MGestureEvent& aEvent)
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::SendFeedbackOnTouchDown");
-
-    IMulModelAccessor* modelaccessor = ModelAccessor();
-    if(!modelaccessor ||  modelaccessor->CurrentItemCount() == 0)
-        {
-        return;   
-        }
-    CAlfVisual* hitVisual = aEvent.Visual();
-    if((hitVisual && hitVisual->Tag() == KCoverflowIcon) || (mData->mCoverFlow2DTemplate->IsUiOnOffFlagEnabled() )) 
-        {
-        mFeedback->InstantFeedback(ETouchFeedbackBasic);  
-        }    
-    }
-// ---------------------------------------------------------------------------
-// HandleSwipe
-// Handle the swipe events (swipe left and swipe right) provided by the gesture helper.
-// Also handles the extreme doodling case (it may happen that in doodling you can move two
-// or three highlight before doing a pointer up) but gesture only gives us a swipe left and 
-// swipe right event. so we have to decide the no of highlight movement to do while getting 
-// left or right event. 
-// Also for 2 or 3 highlight movement if the 1st or 2nd highlight movement is the cycling case
-// then we have to cancel the bounce as its already happend because of swipe. But the bounce
-// will happen if the final highlight change is a cyclic case.
-// ---------------------------------------------------------------------------
-//  
-void MulCoverFlowControl::HandleSwipe(int aEvent)
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::HandleSwipe");
-    int event;
-    if(aEvent == EItemScrollLeft)
-	    {
-		if (mData->mIsMirrored)
-			{
-		    event = EEventScrollRight;
-			}
-		else
-			{
-			event = EEventScrollLeft;
-			}
-	    }
-	else if(aEvent == EItemScrollRight)
-		{
-		if (mData->mIsMirrored)
-			{
-		    event = EEventScrollLeft;
-			}
-		else
-			{
-			event = EEventScrollRight;
-			}
-		}
-	else
-		{
-		mData->mBaseElement->StopDoodling(200);	
-		return;
-		}
-		
-	if(mData->mBaseElement->NumberOfSwipes() == EDoubleSwipe || mData->mBaseElement->NumberOfSwipes() == ETripleSwipe)
-		{
-		// done to avoid undesirable ui behaviour when we move the pointer little back.
-		// check if it can be done in another way.
-		CAlfEnv& env = Env();
-		TAlfRefreshMode oldRefreshMode = env.RefreshMode();
-		env.SetRefreshMode(EAlfRefreshModeManual);
-		if(mData->mBaseElement->NumberOfSwipes() == ETripleSwipe)
-			{
-			HandleNavigationEvent( event );	
-			}
-		HandleNavigationEvent( event );
-		env.SetRefreshMode(oldRefreshMode);			
-		}
-	// Commented feedback for swipe event
-	//mFeedback->InstantFeedback(ETouchFeedbackBasic);
-	HandleNavigationEvent( event );
-    }
-
-// ---------------------------------------------------------------------------	
-// HandleHoldGestureEvents
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::HandleHoldGestureEvents( const MGestureEvent& aEvent )
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::HandleHoldGestureEvents");
-
-    switch ( aEvent.Code(MGestureEvent::EAxisHorizontal) )
-        {
-        case EGestureDrag: 
-            {		
-            MUL_LOG_INFO("MUL::MulCoverFlowControl:HandleHoldGestureEvents EGestureDrag");
-            
-            ReverseDirectionInFastScroll(aEvent);
-            
-            /// @todo The strip direction intially should start with the current gesture direction.
-            // But if u keep dragging without releasing the pointer tehn the directioon should chnage whenever
-            // the pointer crosses the centre of the screen.
-            
-            // if the pointer has crossed the centre position after holding started then the
-            // direction should depend on which half of teh screen
-            // else
-            // the direction should depend on the swipe direction
-			StartMoving(aEvent);		
-	        break;
-            }
-
-        case EGestureReleased:
-        case EGestureTap:
-        	{
-        	MUL_LOG_INFO("MUL::MulCoverFlowControl:HandleHoldGestureEvents EGestureReleased");
- 	        HandleEnhancedStop();
-	        break;
-        	}	    	
-	            
-        case EGestureHoldLeft:
-        case EGestureHoldRight:
-        	{
-        	MUL_LOG_INFO("MUL::MulCoverFlowControl:HandleHoldGestureEvents EGestureHoldLeft");
-			if( EnhancedModeCondition() ) 
-            	{
-            	EnhancedStarted( aEvent );
-                }
-            break;
-        	}
-        	
-        default:
-            break;
-        } // end of switch
-    
-    }
-  
-// ---------------------------------------------------------------------------
-// ReverseDirectionInFastSrroll
-// ---------------------------------------------------------------------------
-//    
-void MulCoverFlowControl::ReverseDirectionInFastScroll(const MGestureEvent& aEvent)
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::ReverseDirectionInFastScroll");
-
-    int distTravelled = aEvent.Distance().iX;
-    int pointerDownPos = aEvent.StartPos().iX;
-    int currPosition = aEvent.CurrentPos().iX;
-    int prevGestureDir = ConvertDistanceToDirection(mData->mCurrGestureDir);
-
-    // if the distance travelled is negative i.e from right to left and the start position is on
-    // the right half of the screen and the direction has not changed yet , then special case to handle reference point. and vice versa
-    // case for left half of the screen.
-    if( ((distTravelled < 0 && pointerDownPos > mData->mScreenWidth/2 ) || (distTravelled > 0 && 
-    	pointerDownPos < mData->mScreenWidth/2 )) && mData->mReferencePoint != mData->mScreenWidth/2) 
-        {
-        if( mData->mDirectionChanged )
-            {
-            return;
-            }
-            
-        ChangeDirReferencePoint(currPosition,distTravelled);
-        }
-    else
-        {
-        // else the reference point will be the middle of the screen.
-        
-        // if the direction is not equal .. just check whether it has crossed the reference point.
-        // how to check whether it has crossed the reference point.
-        if(( prevGestureDir < 0 &&  currPosition > mData->mReferencePoint )||(prevGestureDir > 0 && currPosition < mData->mReferencePoint))
-            {
-            mData->mCurrGestureDir *= -1;
-            }
-          
-        mData->mReferencePoint = mData->mScreenWidth/2;	
-        }    
-    }
-    
-// ---------------------------------------------------------------------------
-// ChangeDirReferencePoint
-// ---------------------------------------------------------------------------
-//    
-void MulCoverFlowControl::ChangeDirReferencePoint(int aCurrPosition, int aDistanceTravelled )
-    {
-    MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::ChangeDirReferencePoint");
-   
-    int prevGestureDir = ConvertDistanceToDirection(mData->mCurrGestureDir);
-    int currGestureDir =  ConvertDistanceToDirection(aDistanceTravelled);
-    
-    if( prevGestureDir != currGestureDir ) 
-        {
-        // if the direction is not equal .. just check whether it has crossed the reference point.
-        // how to check whether it has crossed the reference point.
-        if(( prevGestureDir < 0 &&  aCurrPosition > mData->mReferencePoint )||(prevGestureDir > 0 && aCurrPosition < mData->mReferencePoint))
-            {
-            //crossed the reference point first time .now no need to maintain the reference point .its always half of the screen
-            mData->mReferencePoint = mData->mScreenWidth/2;
-            mData->mDirectionChanged = true;
-            mData->mCurrGestureDir = aDistanceTravelled;
-            }
-        else
-            {
-            // not crossed the reference point yet
-            // still going in the same direction .
-            mData->mReferencePoint = aCurrPosition - 10;	
-            }
-        }
-    else
-        {
-        // still going in the same direction .
-        if(( prevGestureDir < 0 &&  aCurrPosition < mData->mScreenWidth/2 )||(prevGestureDir > 0 
-        	&& aCurrPosition > mData->mScreenWidth/2))
-            {
-            mData->mReferencePoint = mData->mScreenWidth/2;			
-            }
-        else if(Abs(mData->mCurrGestureDir) < Abs(aDistanceTravelled)  )
-            {
-            // moving in the same direction in the increasing side towards the middle of the screen but hasnt 
-            // crossed the reference point yet.
-            mData->mReferencePoint = aCurrPosition - 10;		
-            }
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// ConvertDistanceToDirection
-// ---------------------------------------------------------------------------
-//
-int MulCoverFlowControl::ConvertDistanceToDirection( int aDistance )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::ConvertDistanceToDirection");
-	return aDistance>0?1:-1;
-	}      
-
-// ---------------------------------------------------------------------------
-// HandleEnhancedStop
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::HandleEnhancedStop()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::HandleEnhancedStop");
-        					
-	CAlfWidgetControl::processEvent( TAlfEvent( ETypeFastScroll,EScrollStop ));
-	mCoverFlowAo->StopMoving();
-	mData->mFastScroll = false;
-	mData->mGestureSpeed = 0;	
-    // @TODO animation time should be same as set by the application.
-    mData->mBaseElement->MoveVisuals(0,200);
-	}
-	
-// ---------------------------------------------------------------------------
-// FastScrollTransitionTime
-// ---------------------------------------------------------------------------
-// 	
-int MulCoverFlowControl::FastScrollTransitionTime()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::FastScrollTransitionTime");
-	if (mData->mBounceInProgress)	
-		{
-		return 800;	
-		}
-	else
-		{
-		return mCoverFlowAo->FastScrollTransitionTime();
-		}
-	}	
-	
-
-// ---------------------------------------------------------------------------
-// EnhancedModeCondition
-// ---------------------------------------------------------------------------
-//
-bool MulCoverFlowControl::EnhancedModeCondition()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::EnhancedMode");
-	if( !mData->mCoverFlow2DTemplate.get() )
-		{
-		return false;
-		}
-	UString orientation  = IsLandscape() ? UString(KLandscape)  :  UString(KPortrait);
-
-	// If EMulWidgetFlagFastScroll is not set, 
-	// or the current orientation is not landscape
-	// or in teh current template enhanced mode is not supported
-	if( !(((MulCoverFlowWidget*)widget())->IsFlagSet(IMulMultiItemWidget::EMulWidgetFlagFastScroll) 
-		&& !orientation.compare(KLandscape) 
-		&& mData->mCoverFlow2DTemplate->EnhancedTagParsed()) )
-		{		
-		return false;
-		}
-	// If template4(i.e. ui on off mode is anabled) then if ui on mode then ecf canot be launched,so return false		
-	else if( mData->mCoverFlow2DTemplate->IsUiOnOffFlagEnabled() && 
-    		(mData->mBaseElement->IsUiOnMode()) )
-		{
-		return false;	
-		}
-    else
-	    {
-	    return true; // enhanced mode enabled
-	    }
-	}
-
-// ---------------------------------------------------------------------------
-// EnhancedStarted
-// ---------------------------------------------------------------------------
-// 	
-void MulCoverFlowControl::EnhancedStarted(const GestureHelper::MGestureEvent& aEvent )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::EnhancedStarted");
-	CAlfWidgetControl::processEvent( TAlfEvent( ETypeFastScroll,EScrollStart ));
-	mData->mFastScroll = true;
-	StartMoving(aEvent);			
-	}
-
-// ---------------------------------------------------------------------------
-// StartMoving
-// ---------------------------------------------------------------------------
-// 
-void MulCoverFlowControl::StartMoving( const GestureHelper::MGestureEvent& aEvent )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::StartMoving");
-
-	TRealPoint speedPoint = GestureSpeed( aEvent );
-	int distance =  mData->mCurrGestureDir;
-	if (mData->mIsMirrored)
-		{
-		distance = -distance;
-		}
-	mCoverFlowAo->StartMoving(speedPoint.iX, ConvertDistanceToDirection(distance) );
-	mData->mGestureSpeed = speedPoint.iX;
-   	}
-
-// ---------------------------------------------------------------------------
-// GestureSpeed
-// ---------------------------------------------------------------------------
-//
-TRealPoint MulCoverFlowControl::GestureSpeed( const MGestureEvent& aEvent )
-    {
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::GestureSpeed");    
-    
-    TRect area(this->DisplayArea());
-    TRect rect(TPoint(0,0),TPoint(area.Width(),area.Height())); 
-    return aEvent.SpeedPercent( rect );
-    }	
-
-//--------------------Slider related functions----------------------------
-
-// ---------------------------------------------------------------------------
-// CreateSliderWidget
-// ---------------------------------------------------------------------------
-//
-IAlfWidget* MulCoverFlowControl::CreateSliderWidget()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::CreateSliderWidget");
-	
-	IAlfWidgetFactory& widgetFactory = AlfWidgetEnvExtension::widgetFactory(Env());
-	IAlfWidget* sliderWidget = widgetFactory.findWidget( KNameSliderWidget );
-	
-	if( sliderWidget )
-		{
-		mSliderWidget = static_cast<IMulSliderWidget*>(sliderWidget);
-		mData->mBaseElement->UpdateSliderTick( 1 );
-		}
-	else
-		{
-		// Get the template Id in Integer from your template data 
-		//NOTE: Set template takes int as parameter not UString
-		
-		// Slider Widget creation
-		mSliderWidget = widgetFactory.createWidget<IMulSliderWidget> ( KNameSliderWidget, KNameSliderWidget, *widget()->parent(), NULL);
-		IMulSliderModel* mSliderModel = widgetFactory.createModel<IMulSliderModel> ("mulslidermodel");
-		mSliderWidget->setModel(mSliderModel, true);	
-		mSliderModel->SetTemplate(ESliderTemplate1);
-		mSliderWidget->SetHandleKeyEvent(false);	
-		mSliderWidget->control()->disableState(IAlfWidgetControl::Focusable); 
-		}
-	
-	IAlfWidgetEventHandler* coverFlowEventHandler = static_cast<IAlfWidgetEventHandler*> (
-	        mData->mBaseElement->makeInterface( IAlfWidgetEventHandler::type() ) );
-	
-	//Register the slidereventhandler and coverfloweventhandler with one another
-	mSliderWidget->control()->addEventHandler((coverFlowEventHandler));
-			
-	return mSliderWidget;	
-	}
-	
-// ---------------------------------------------------------------------------
-// GetSliderWidget
-// ---------------------------------------------------------------------------
-//	
-IAlfWidget* MulCoverFlowControl::GetSliderWidget()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::GetSliderWidget");
-
-	IAlfWidgetFactory& widgetFactory = AlfWidgetEnvExtension::widgetFactory(*(CAlfEnv::Static()));
-	return widgetFactory.findWidget( KNameSliderWidget );
-	}		    		    		
-
-// ---------------------------------------------------------------------------
-// GetSliderModel
-// ---------------------------------------------------------------------------
-//	
-IMulSliderModel* MulCoverFlowControl::GetSliderModel()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::GetSliderModel");
-	if( mSliderWidget )
-		{
-		IMulSliderWidget* mulSliderWidget = static_cast<IMulSliderWidget*>(mSliderWidget);
-		IMulSliderModel* mulSliderModel = static_cast<IMulSliderModel*>(mulSliderWidget->model());
-		return mulSliderModel;
-		}
-	return NULL;
-	}
-	
-// ---------------------------------------------------------------------------
-// DestroySlider
-// ---------------------------------------------------------------------------
-//  
-void MulCoverFlowControl::DestroySlider()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::DestroySlider");
-
-    MulBaseElement* baseelement = static_cast<MulBaseElement*>(findElement(KBase));
-    if(baseelement)
-    	{
-    	baseelement->RemoveSliderFromLayout();
-    	}
-        
-	IAlfWidgetFactory& widgetFactory = AlfWidgetEnvExtension::widgetFactory(Env());
-	IAlfWidget* sliderWidget = widgetFactory.findWidget( KNameSliderWidget );
-	if( sliderWidget )
-		{  
-		IAlfElement* baseelement = findElement(KBase);
-		if(baseelement)
-			{
-		
-			IAlfWidgetEventHandler* coverFlowEventHandler = static_cast<IAlfWidgetEventHandler*> (
-		          baseelement->makeInterface( IAlfWidgetEventHandler::type() ) );
-		         
-		    if( sliderWidget->control() )
-				{
-				sliderWidget->control()->removeEventHandler(*(coverFlowEventHandler));	
-				}	
-			
-			}
-		}		
-	}
-
-// ---------------------------------------------------------------------------
-// UpdateItemAtIndex
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::UpdateItemAtIndex(const int aRelativeIndex, int aAnimationTime)	
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::UpdateItemAtIndex");
-	int absoluteIndex = RelativeToAbsolute(aRelativeIndex);
-	if(absoluteIndex >= 0)
-		{
-		UpdateCoverflowItem( absoluteIndex,aRelativeIndex, aAnimationTime );	
-		}
-	else
-		{
-		SetBlankTexture(aRelativeIndex);	
-		}	
-	}
-
-// ---------------------------------------------------------------------------
-// SetBlankTexture
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::SetBlankTexture(int aRelativeIndex)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::SetBlankTexture");
-    CAlfFlowLayout& iconFlow = static_cast<CAlfFlowLayout&>(mData->mBaseElement->FlowLayout( KIconFlowLayoutIndex ));
-	
-	CAlfDeckLayout& layout = static_cast<CAlfDeckLayout&>(iconFlow.Visual(aRelativeIndex));
-	CAlfImageVisual* visual =static_cast<CAlfImageVisual*>(layout.FindTag(KCoverflowIcon));
-	
-    CAlfTextureManager& textureMgr = Env().TextureManager();
-    TAlfImage blankTexture = textureMgr.BlankTexture();
-    visual->SetImage(blankTexture);
-    
-    // remove the icon brush if any.
-    mData->mBaseElement->RemoveBrushOnIcon(*visual);        
-    
-    CAlfImageVisual* indicatorVisual =static_cast<CAlfImageVisual*>(layout.FindTag(KCoverflowIndicator));    
-    if(indicatorVisual)
-        {
-        indicatorVisual->SetImage(blankTexture);   
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// UpdateCoverflowItem
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::UpdateCoverflowItem( int aItemIndex,int aVisualIndex, int aAnimationTime )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::UpdateCoverflowItem");
-    
-    CAlfFlowLayout& iconFlow = static_cast<CAlfFlowLayout&>(mData->mBaseElement->FlowLayout( KIconFlowLayoutIndex ));
-	IMulModelAccessor* accessor = static_cast<IMulModelAccessor*>(widget()->model()); 
-		
-	try
-		{
-		const MulVisualItem& item = accessor->Item(aItemIndex);
-
-		CAlfDeckLayout& layout = static_cast<CAlfDeckLayout&>(iconFlow.Visual(aVisualIndex));
-		CAlfImageVisual* visual =static_cast<CAlfImageVisual*>(layout.FindTag(KCoverflowIcon));
-		IMulVariantType* varData = item.Attribute(mulvisualitem::KMulIcon1);
-		if(varData && visual)
-			{
-			DoSetImage(varData,visual);
-			mData->mBaseElement->ApplyScaleMode(*visual);
-			}
-		else
-			{
-			if (mData->mDefaultTextureId >= 0)
-				{
-				const CAlfTexture* texture = Env().TextureManager().Texture (mData->mDefaultTextureId);
-				if(visual)
-				    {
-				    visual->SetImage (TAlfImage (*texture));
-				    }
-				mData->mBaseElement->ApplyScaleMode(*visual);	
-				}
-			else
-				{
-				if(visual)
-				    {        
-				    visual->SetImage(Env().TextureManager().BlankTexture());
-				    }
-				}
-			}
-		if(mData->mCoverFlow2DTemplate->IsUiOnOffFlagEnabled() )
-    		{
-    		mData->mBaseElement->DisplayIndicatorIcon(item,aVisualIndex);			
-    		}
-		}
-	catch(...)
-		{
-		CAlfDeckLayout& layout = static_cast<CAlfDeckLayout&>(iconFlow.Visual(aVisualIndex));		
-		CAlfImageVisual* visual =static_cast<CAlfImageVisual*>(layout.FindTag(KCoverflowIcon));
-		if (mData->mDefaultTextureId >= 0)
-			{
-			const CAlfTexture* texture = Env().TextureManager().Texture (mData->mDefaultTextureId);
-			visual->SetImage (TAlfImage (*texture));
-			mData->mBaseElement->ApplyScaleMode(*visual);	
-			}
-		else
-			{
-		    visual->SetImage(Env().TextureManager().BlankTexture());	
-			}			
-		
-		}//catch ends
-	// if the item is the highlight item then update the text if required.	
-	if (aVisualIndex == mData->mNumVisibleItem)		
-		{
-		mData->mBaseElement->UpdateTextValue(aAnimationTime);
-		}
-	}
-	
-
-// ---------------------------------------------------------------------------
-// DoSetImage
-// ---------------------------------------------------------------------------
-//			
-void MulCoverFlowControl::DoSetImage(IMulVariantType* aData,CAlfImageVisual* aImgVisual)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::DoSetImage");
-
-	if ( aData && aData->Type() == IMulVariantType::EDes)
-		{
-		TAlfImage image = AlfWidgetEnvExtension::resourcePool(
-			aImgVisual->Env()).getImageResource((char*)(aData->DesC().Ptr()));
-		if(image.HasTexture())
-			{
-			aImgVisual->SetImage(image);
-			}
-		else if(IsSVGImage(aData->DesC()))
-			{
-			LoadImageFromSvg(aData->DesC(),*aImgVisual);
-			}
-		else
-			{
-			// check if the texture is already loaded
-			CAlfTextureManager& textureMgr = aImgVisual->Env().TextureManager();
-			const TInt existingTextureId = textureMgr.TextureId( aData->DesC() );
-			const CAlfTexture* texture = NULL;  
-
-			if ( existingTextureId != KErrNotFound )
-				{
-				texture = textureMgr.Texture( existingTextureId );
-				}
-			else
-				{
-				TRAPD( err, texture = &( textureMgr.LoadTextureL(aData->DesC(),
-				EAlfTextureFlagLoadAnimAsImage, KAlfAutoGeneratedTextureId ) ) );               
-				if( err != KErrNone )
-					{
-					// means the texture is invalid.
-					//draw a blank texture here.
-					texture = &( textureMgr.BlankTexture() );
-					}                           
-				}                                   
-			aImgVisual->SetImage( TAlfImage( *texture ) ); 
-			}
-		}
-	else if ( aData && aData->Type ()== IMulVariantType::EInt)
-		{
-		const CAlfTexture* texture = Env().TextureManager().Texture (aData->integer());
-		aImgVisual->SetImage (TAlfImage (*texture));	
-		}
-	}
-	
-// ---------------------------------------------------------------------------
-// IsSVGImage	
-// ---------------------------------------------------------------------------
-//
-bool MulCoverFlowControl::IsSVGImage(const TDesC& aImagePath)
-	{
-	MUL_LOG_INFO("MUL:MulCoverFlowControl::IsSVGImage");
-    _LIT(KSvgFile,".svg");
-
-	return  (KErrNotFound != aImagePath.FindC(KSvgFile));
-	}
-	
-// ---------------------------------------------------------------------------
-// LoadImageFromSvg	
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::LoadImageFromSvg(const TDesC& aImagePath,
-											CAlfImageVisual& aImageVisual )
-	{
-	MUL_LOG_INFO("MUL:MulCoverFlowControl::LoadImageFromSvg");
-	
-	CAlfImageLoaderUtil imgLoaderUtil;
-	imgLoaderUtil.SetSize (TSize (50, 50));
-
-	MAlfBitmapProvider* iSvgBitMapProv= imgLoaderUtil.CreateSVGImageLoaderL (aImagePath);
-	CAlfTexture &texture = aImageVisual.Env().TextureManager().CreateTextureL (
-							KAlfAutoGeneratedTextureId,
-							iSvgBitMapProv,
-							EAlfTextureFlagLoadAnimAsImage);
-	aImageVisual.SetImage (TAlfImage (texture));
-	
-	}
-
-// ---------------------------------------------------------------------------
-// StoreVisibleItemCount	
-// ---------------------------------------------------------------------------
-//		
-void MulCoverFlowControl::StoreVisibleItemCount(int aVisibleItemCount)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::StoreVisibleItemCount");
-	mData->mNumVisibleItem = aVisibleItemCount;
-	}
-
-// ---------------------------------------------------------------------------
-// SetDefaultImage	
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::SetDefaultImage(int aTextureId)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::SetDefaultImage");
-	mData->mDefaultTextureId = aTextureId;
-	}
-
-// ---------------------------------------------------------------------------
-// WindowTop	
-// ---------------------------------------------------------------------------
-//
-int MulCoverFlowControl::WindowTop(int aHighlightIndex)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::WindowTop");
-	int visibleItems = 2 * mData->mNumVisibleItem + 1;
-	int windowTop = aHighlightIndex - (visibleItems / 2);
-	IMulModelAccessor* accessor = static_cast<IMulModelAccessor*>(widget()->model());
-    if(accessor)
-        {
-    	windowTop = (windowTop + visibleItems - 1) >= TotalModelCount() ? 
-    		TotalModelCount() - visibleItems : windowTop;
-    	windowTop = windowTop > 0 ? windowTop : 0;
-        }
-
-	return windowTop;
-	}
-
-// ---------------------------------------------------------------------------
-// UpdateBaseElement	
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowControl::UpdateBaseElement(MulBaseElement* aBaseElement)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL:MulCoverFlowControl::UpdateBaseElement");
-	mData->mBaseElement = aBaseElement;
-	}
-
-// ---------------------------------------------------------------------------
-// IsLandscape	
-// ---------------------------------------------------------------------------
-//
-bool MulCoverFlowControl::IsLandscape()
-	{
-	bool ret;
-	TSize ScreenSz = AlfUtil::ScreenSize();
-	if (ScreenSz.iWidth > ScreenSz.iHeight)
-		{
-		ret = true;
-		}
-	else
-		{
-		ret = false;
-		}
-	return ret;
-	}
-
-// ---------------------------------------------------------------------------
-// Gesturehelper  
-// ---------------------------------------------------------------------------
-//
-GestureHelper::CGestureHelper* MulCoverFlowControl::Gesturehelper()
-    {
-    return mHelper.get(); 
-    }
-
-	} // namespace Alf
-
-//End of file
--- a/mulwidgets/mulcoverflowwidget/src/mulcoverflowenhancedtemplate.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,255 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  CoverFlow templates Implementation
- *
-*/
-
-//  Include Files
-
-// Class Headers 
-#include "mulcoverflowcontrol.h"
-
-// DUI headers for xml parser
-#include <uimodel/duinode.h>
-#include <dui/duiproperty.h>
-#include <uimodel/duixmlattributelist.h>
-
-// Local Headers
-#include "mulutility.h"
-#include "mulbaseelement.h"
-#include "mulcoverflowenhancedtemplate.h"
-#include "mulcoverflowdefinitions.h"     //defines all the strings 
-#include "mullog.h"
-
-using namespace duiuimodel;
-
-namespace Alf
-    {
-	
-struct TMulCoverFlowEnhancedTemplateImpl
-    {
-    
-    TMulCoverFlowEnhancedTemplateImpl()
-    	{
-    	}
-
-    //Structure used to store the position and sizes of the counter.
-    TMulCoverFlowItem mEnhancedMinSize;  // minimum size of images in enhanced mode
-    TMulCoverFlowItem mEnhancedMaxSize;  // maximum size of images in enhanced mode
-    TMulCoverFlowItem mEnhacedCounterPos; // The position and size of the counter in enhaced mode
-    UString mEnhancedBorderImagePath;
-    
-    ~TMulCoverFlowEnhancedTemplateImpl()
-    	{
-    	}    
-    };
-
-// ---------------------------------------------------------------------------
-// MulCoverFlowEnhancedTemplate
-// ---------------------------------------------------------------------------
-//
-MulCoverFlowEnhancedTemplate::MulCoverFlowEnhancedTemplate(MulCoverFlowControl &aControl,
-			UString &aTemplateID, MulXmlUtility& aMulXmlUtility,DuiNode* aRootNode):MulCoverFlowBaseTemplate( 
-				    aControl, aTemplateID, aMulXmlUtility,aRootNode )
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowEnhancedTemplate::MulCoverFlowEnhancedTemplate");
-    mData.reset(new (EMM)TMulCoverFlowEnhancedTemplateImpl);
-    
-    // Parses the xml from the oreientation node.
-    ParseNode( *GetOrientationNode() );
-    }
-    
-// ---------------------------------------------------------------------------
-// ~MulCoverFlowWidget
-// ---------------------------------------------------------------------------
-//
-MulCoverFlowEnhancedTemplate::~MulCoverFlowEnhancedTemplate()
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowEnhancedTemplate::~MulCoverFlowEnhancedTemplate");       
-    //Nothing to delete .
-    }
-
-// ---------------------------------------------------------------------------
-// EnhancedMaxSize
-// ---------------------------------------------------------------------------
-//
-const TMulCoverFlowItem& MulCoverFlowEnhancedTemplate::EnhancedMaxSize()
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowEnhancedTemplate::EnhancedMaxSize");
-    return mData->mEnhancedMaxSize;
-    }
-
-// ---------------------------------------------------------------------------
-// EnhancedMinSize
-// ---------------------------------------------------------------------------
-//
-const TMulCoverFlowItem& MulCoverFlowEnhancedTemplate::EnhancedMinSize()
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowEnhancedTemplate::EnhancedMinSize");
-    return mData->mEnhancedMinSize;
-    }
-
-// ---------------------------------------------------------------------------
-// EnhacedCounterPos
-// ---------------------------------------------------------------------------
-//
-const TMulCoverFlowItem& MulCoverFlowEnhancedTemplate::EnhacedCounterPos()
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowEnhancedTemplate::EnhacedCounterPos");
-    return mData->mEnhacedCounterPos;
-    }
-    
-// ---------------------------------------------------------------------------
-// EnhancedBorderImagePath
-// ---------------------------------------------------------------------------
-//
-const UString& MulCoverFlowEnhancedTemplate::EnhancedBorderImagePath()
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowEnhancedTemplate::EnhancedBorderImagePath");
-    return mData->mEnhancedBorderImagePath; 
-    }
-
-// ---------------------------------------------------------------------------
-// ParseNode
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowEnhancedTemplate::ParseNode( DuiNode& aNode )
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowEnhancedTemplate::ParseNode");
-    int nChildCount = aNode.childCount ();
-	for (int index = 0; index < nChildCount; index++)
-		{
-		DuiNode& item = aNode.child (index);
-		
-        //parse the elements 
-		if ( !item.type().compare(KElement) )
-			{
-		    if( !item.nodeId().compare(KEnhancedSize) )
-				{
-				ParseEnhancedTag( item );
-				}
-			else if( !item.nodeId().compare(KCounter) )
-				{
-				ParseCounterTag( item );	
-				}
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// ParseEnhancedTag
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowEnhancedTemplate::ParseEnhancedTag( DuiNode& aNode )
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowEnhancedTemplate::ParseEnhancedTag");
-	int totalitems = aNode.childCount();
-	for( int index = 0; index < totalitems; index++ )
-		{
-	     DuiNode& childItem = aNode.child(index);
-		 if( !childItem.type().compare(KSize) )
-		 	{
-		 	// for enhanced mode xmls.
-		 	ProcessSizeTag( childItem );
-		 	} 
-		 else
-		 	{
-			bool pathFound = GetStaticImagePath(childItem, mData->mEnhancedBorderImagePath);
-			TPtrC8 src((TUint8*)mData->mEnhancedBorderImagePath.getUtf8());
-			}
-		}
-	}
-  
-// ---------------------------------------------------------------------------
-// ParseCounterTag
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowEnhancedTemplate::ParseCounterTag( DuiNode& aNode )
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowEnhancedTemplate::ParseCounterTag");
-	int totalItems = aNode.childCount();
-	for( int index = 0; index < totalItems; index++ )
-		{
-	     DuiNode& childItem = aNode.child(index);
-		 if( !childItem.type().compare(KSize) )
-		 	{
-		 	// for enhanced mode xmls.
-		 	ProcessSizeTag( childItem );
-		 	} 
-		}
-	}
-	    
-// ---------------------------------------------------------------------------
-// ProcessSizeTag
-// ---------------------------------------------------------------------------
-//   				
-void MulCoverFlowEnhancedTemplate::ProcessSizeTag( DuiNode& aNode )
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowEnhancedTemplate::ProcessSizeTag");
-	int totalitems = aNode.childCount();
-
-	auto_ptr<TMulCoverFlowItem> itemstruct = ProcessItemPos( aNode );
-	if( !aNode.nodeId().compare(KMinSize) )
-		{
-		// Store the maximum and minimum sizes for enhanced mode.
-		mData->mEnhancedMinSize = *itemstruct;
-	 	}
- 	else if( !aNode.nodeId().compare(KMaxSize) )
-		{
-		// Store the maximum and minimum sizes for enhanced mode.
-	    mData->mEnhancedMaxSize = *itemstruct;
-	 	}
-	else if( !aNode.nodeId().compare(KCounterSize) )
-		{
-		// Store the position and sizes for the counter in enhanced mode.
-	    mData->mEnhacedCounterPos = *itemstruct;
-	 	}
- 	//delete itemstruct;
-	}
-//-----------------------------------------------------------------------------
-// GetStaticImagePath
-//-----------------------------------------------------------------------------
-//
-bool MulCoverFlowEnhancedTemplate::GetStaticImagePath(DuiNode& aNode, UString& aPath)
-	{
-	 MUL_LOG_ENTRY_EXIT("aakash::MulXmlTemplate::GetStaticImagePath");
-	 
-	int aAttrSetterCount = aNode.childCount ();
-	
-	for (int index = 0; index < aAttrSetterCount; index++)
-	    {
-	    DuiNode& attrSetterNode = aNode.child (index);
-		const UString& aNodeType = attrSetterNode.type ();
-		
-		DuiXmlAttributeList& attSetterList = attrSetterNode.attributeList ();
-		const UString& attrName = attSetterList.attributeValue (UString (attributesetter::KName));
-		const UString& category = attSetterList.attributeValue (UString (KCategory));
-		
-	    if ( aNodeType == nodetypes::KAttributeSetter )
-		    {
-		    if ( attrName == duiuimodel::imagevisualattributes::KImagePath && category == attributesetter::typevalues::KStatic )
-		    	{
-		    	aPath = attSetterList.attributeValue(UString(attributesetter::KTargetValue));
-		    	MulUtility::AbsolutePath(aPath);
-		    	return true;
-		    	}
-		    }
-	    }
-	return false;
-	}
-	
-	}//namespace Alf
-
-// End of file.
-
--- a/mulwidgets/mulcoverflowwidget/src/mulcoverflowitemelement.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Item element implementation for Cover Flow.
-*
-*/
-
-
-// This file defines the API for mulcoverflowwidget.dll
-
-// Includes
-#include <osn/osnnew.h>
-#include <alf/alfwidgetcontrol.h>
-#include <alf/alfevent.h>
-#include <alf/alfwidgetevents.h>
-#include <alf/alfflowlayout.h>
-
-// Local headers
-#include "mulvisualtemplate.h"
-#include "mulcoverflowcontrol.h"
-#include "mulcoverflowdefinitions.h"
-#include "mulbaseelement.h"
-#include "mullog.h"
-
-// Mul headers
-#include "imulmodelaccessor.h"
-#include <alf/alfwidget.h>
-#include <mul/mulevent.h>
-
-
-//Class header
-#include "mulcoverflowitemelement.h"
-
-namespace Alf
-	{	
-				
-//-----------------------------------------------------------------------------
-// Constructor
-//-----------------------------------------------------------------------------
-//		
-MulCoverFlowItemElement::MulCoverFlowItemElement( CAlfWidgetControl& aControl, const char* aName, MulTemplateInterface& aControlInterface )
-	{
-	//Call the base class method      
-    construct(aControl,aName);
-		
-	mVisualRecycled = false;
-	mNumVisualsRecycled = 0;
-	mIconFlow = NULL;
-	}
-
-//-----------------------------------------------------------------------------
-// Destructor
-//-----------------------------------------------------------------------------
-//	
-MulCoverFlowItemElement::~MulCoverFlowItemElement()
-	{
-	// Nothind to delete .
-	}
-
-//-----------------------------------------------------------------------------
-// accept
-//-----------------------------------------------------------------------------
-//	
-bool MulCoverFlowItemElement::accept(CAlfWidgetControl& /*aControl*/, const TAlfEvent& aEvent) const
-	{
-	
-	if(!aEvent.IsCustomEvent())
-		{
-		return false;
-		}
-	return true;	
-	}
-
-//-----------------------------------------------------------------------------
-// setActiveStates
-//-----------------------------------------------------------------------------
-//
-void MulCoverFlowItemElement::setActiveStates(unsigned int /*aStates*/)
-	{
-	
-	}
-
-// offerEvent
-//-----------------------------------------------------------------------------
-//
-AlfEventStatus MulCoverFlowItemElement::offerEvent(CAlfWidgetControl& /*aControl*/, const TAlfEvent& /*aEvent*/)
-	{
-	return EEventNotHandled;	
- 	}
-	
-//-----------------------------------------------------------------------------
-// makeInterface
-//-----------------------------------------------------------------------------
-//
-IAlfInterfaceBase* MulCoverFlowItemElement::makeInterface(const IfId& /*aType*/)
-	{
-	return NULL;
-	}
-
-//-----------------------------------------------------------------------------
-// setEventHandlerData
-//-----------------------------------------------------------------------------
-//
-void MulCoverFlowItemElement::setEventHandlerData( const AlfWidgetEventHandlerInitData& /*aData*/ )
-	{
-	
-	}
-
-//-----------------------------------------------------------------------------
-// eventHandlerData
-//-----------------------------------------------------------------------------
-//  
-AlfWidgetEventHandlerInitData* MulCoverFlowItemElement::eventHandlerData()
-	{
-	return NULL;
-	}
-
-// ----------------------------------------------------------------------------
-// eventHandlerType
-// ----------------------------------------------------------------------------
-//
- IAlfWidgetEventHandler::AlfEventHandlerType MulCoverFlowItemElement::eventHandlerType() 
-	{
-	return IAlfWidgetEventHandler::ELogicalEventHandler ;
-	}
-// ----------------------------------------------------------------------------
-// eventExecutionPhase
-// ----------------------------------------------------------------------------
-//
-
-IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase MulCoverFlowItemElement::eventExecutionPhase()
-	{
-	return EBubblingPhaseEventHandler;
-	}   
-	
-			
-CAlfVisual* MulCoverFlowItemElement::CreateIconStructure(CAlfLayout* aParentLayout, const UString& aTemplateId)
-    {
-    return (static_cast<MulVisualTemplate*>(getVisualTemplate()))->CreateIconStructure(aParentLayout, aTemplateId);
-
-    }
-    
-void MulCoverFlowItemElement::DoSetImage(IAlfVariantType* data,CAlfImageVisual* aImgVisual)
-{
-	static_cast<MulVisualTemplate*>(getVisualTemplate())->DoSetImage(data, aImgVisual );
-}
-    
-		
-	} // namespace ends here
-	
-
-
-
--- a/mulwidgets/mulcoverflowwidget/src/mulcoverflowtemplate.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,203 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  CoverFlow templates Implementation
- *
-*/
-
-//  Include Files
-
-#include <AknUtils.h>
-
-// Alf Headers
-#include <alf/alfenv.h>
-#include <alf/alfbrusharray.h>
-#include <alf/alfgradientbrush.h>
-#include <alf/alftextvisual.h>
-
-// Class Header
-#include "mulcoverflowtemplate.h"
-
-// Local Headers
-#include "mulcoverflowcontrol.h"
-#include "mulbaseelement.h"
-#include "mulleave.h"
-#include "mullog.h" //for logs
-
-namespace Alf
-    {
-  
-// ---------------------------------------------------------------------------
-// MulCoverFlowTemplate
-// ---------------------------------------------------------------------------
-//
-MulCoverFlowTemplate::MulCoverFlowTemplate(MulCoverFlowControl &aControl, 
-        MulBaseElement &aBaseElement)
-    {
-    MUL_LOG_ENTRY_EXIT("Mul::MulCoverFlowTemplate::MulCoverFlowTemplate");
-  
-    mData.reset( new (EMM)TMulCoverFlowTemplateImpl);
-    mData->mControl = &aControl;
-    mData->mBaseElement = &aBaseElement;   
-    }
-
-
- void MulCoverFlowTemplate::CreateVisualisation(bool /*aIsLandscape*/,bool /*aIsOrientationChange*/)
-	{
-	
-	}
-
-// ---------------------------------------------------------------------------
-// ~MulCoverFlowWidget
-// ---------------------------------------------------------------------------
-//
-MulCoverFlowTemplate::~MulCoverFlowTemplate()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// ApplyBrush
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowTemplate::ApplyBrush( CAlfTextVisual& aVisual,
-     const TRgb& aBrushColour, float aBrushOpacity )
-    {
-    MUL_LOG_ENTRY_EXIT("Mul::MulCoverFlowTemplate::ApplyBrush");
-    
-    // Enable brush on the text visual
-    aVisual.EnableBrushesL( ETrue );
-    CAlfBrushArray* brushArray = aVisual.Brushes();
-    if(brushArray)
-			{
-			if( brushArray->Count()!=0)
-				{
-				//brushArray->Reset();
-				CAlfGradientBrush& brush = static_cast<CAlfGradientBrush&>(
-						brushArray->At(0)); 
-				brush.SetColor( aBrushColour ); 
-				brush.SetOpacity(aBrushOpacity);
-				}
-			else
-			{
-			THROW_IF_LEAVES
-					(
-					CAlfGradientBrush* brush = CAlfGradientBrush::NewL(
-					    mData->mControl->Env()  );
-					// Set the brush colour
-					brush->SetColor( aBrushColour );
-					// Apply brush and set the opacity .
-					aVisual.Brushes()->AppendL( brush, EAlfHasOwnership );    
-					brush->SetOpacity(aBrushOpacity);   
-					);
-				}    
-			} 
-    }       
-
-
-// ---------------------------------------------------------------------------
-// GetFontId
-// ---------------------------------------------------------------------------
-// 
-TInt MulCoverFlowTemplate::GetFontId(const UString &aFontStyle,CAlfTextStyleManager& manager)const
-    {
-    MUL_LOG_ENTRY_EXIT("Mul::MulCoverFlowTemplate::GetFontId");
-    TInt fontId = 0;
-    if ( aFontStyle == "qfn_secondary" )
-        {
-        THROW_IF_LEAVES            
-        (
-        fontId = manager.CreatePlatformTextStyleL(EAknLogicalFontSecondaryFont, -1);                    
-        );
-        }
-    else // by default it assumes the primary font.
-        {               
-        THROW_IF_LEAVES            
-        (
-        fontId = manager.CreatePlatformTextStyleL(EAknLogicalFontPrimaryFont, -1);                    
-        );
-        } 
-    return fontId;      
-    }
-
-// ---------------------------------------------------------------------------
-// IconWindowRect
-// ---------------------------------------------------------------------------
-//
-TRect MulCoverFlowTemplate::IconWindowRect(
-        const TAknWindowLineLayout &aLayout,
-        const TRect& aParentRect)
-    {
-    TAknLayoutRect layoutRect ;
-    layoutRect.LayoutRect( aParentRect, aLayout );
-    TRect rect(layoutRect.Rect());
-    return rect;
-    }
-
-// ---------------------------------------------------------------------------
-// TextWindowRect
-// ---------------------------------------------------------------------------
-//
-TRect MulCoverFlowTemplate::TextWindowRect(
-        const TAknTextLineLayout& aLayout,
-        const TRect& aParentRect)
-    {
-    TAknLayoutText layoutText;
-    layoutText.LayoutText( aParentRect, aLayout );
-    TRect rect(layoutText.TextRect());
-    return rect;
-    }
-
-
-// ---------------------------------------------------------------------------
-//  UpdateMaxFontWidth
-// ---------------------------------------------------------------------------
-//
-int MulCoverFlowTemplate ::UpdateMaxFontWidth(CAlfTextVisual* textVisual)
-    {
-    int maxCharWidth = 0;
-    int fontId = textVisual->TextStyle();
-    const CFont* font = AknLayoutUtils::FontFromId(fontId, NULL);
-    TFontSpec curfontSpec = font->FontSpecInTwips();
-    curfontSpec.iFontStyle.SetStrokeWeight(EStrokeWeightNormal); 
-    maxCharWidth = font->MaxCharWidthInPixels();
-    return maxCharWidth;
-    }
-
-// ---------------------------------------------------------------------------
-// SetTextStyle
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowTemplate:: SetTextStyle(int aTextFontId, CAlfTextVisual& aTextVisual)
-    {
-    MUL_LOG_ENTRY_EXIT("Mul::MulCoverFlowTemplate::SetTextStyle");
-    UString textStyle;
-    switch(aTextFontId)
-        {    
-        case 0: textStyle=UString("qfn_primary");
-        break;
-        
-        case 1: textStyle=UString("qfn_primary");
-        break;
-        
-        case 2: textStyle=UString("qfn_secondary");
-        break;
-        
-        } 
-    CAlfTextStyleManager& manager = aTextVisual.Env().TextStyleManager();
-    aTextVisual.SetTextStyle(GetFontId(textStyle, manager));
-    }
-
-  }//namespace Alf
-
-// End of file.
--- a/mulwidgets/mulcoverflowwidget/src/mulcoverflowwidget.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,552 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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 Implementation
-*
-*/
-
-//  Include Files  
-#include <alf/alfenv.h>
-#include <alf/alfwidgetenvextension.h>
-
-// Class headers
-#include "mulcoverflowwidget.h"    
-
-// Mul Headers 
-#include "imulmodelaccessor.h"
-#include "mulassert.h"
-#include "mullog.h" //for logs
-#include <mul/imulsliderwidget.h>
-
-// Local Headers
-#include "mulbaseelement.h"
-#include "mulcoverflowcontrol.h"
-
-namespace Alf
-    {
-
-// ---------------------------------------------------------------------------
-// MulCoverFlowWidget
-// ---------------------------------------------------------------------------
-//
-MulCoverFlowWidget::MulCoverFlowWidget(  CAlfEnv& aEnv, 
-                                   const char* aWidgetId, IAlfContainerWidget& aContainerWidget):AlfWidget(aWidgetId,aContainerWidget,aEnv)
-    {
-    mMulModelAccessor = NULL;
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::MulCoverFlowWidget");
-    mWidgetPropertyFlag  = 0; //Initialization
-        
-    //Create default control 
-    mCoverflowControl = new (EMM) MulCoverFlowControl( aEnv );
-    setControl( mCoverflowControl,true );
-
-    // create Base element
-    mBaseElement = new (EMM) MulBaseElement( *mCoverflowControl, KBase );
-    mTakesModelOwnership = false;
-    
-    }
-
-// ---------------------------------------------------------------------------
-// ~MulCoverFlowWidget
-// ---------------------------------------------------------------------------
-//
-MulCoverFlowWidget::~MulCoverFlowWidget()
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::~MulCoverFlowWidget");
-    // Control will be destroyed in the Widget deletion sequence. In that sequence 
-	// Control's owner widget will be set to NULL. So,We cannot access the widget in
-	// the Coverflow control's destructor. So,This will be the right place to remove the
-	// model Observer.
-
-	if( control() && model())
-	    {
-	    ((IMulModelAccessor*)model())->RemoveModelObserver(static_cast<MulCoverFlowControl*>( control()));
-	    }
-	if (mMulModelAccessor && mTakesModelOwnership)
-		{
-		delete mMulModelAccessor;
-		}
-
-	IAlfWidgetFactory& widgetFactory = AlfWidgetEnvExtension::widgetFactory(*(CAlfEnv::Static()));
-	IAlfWidget* sliderWidget = widgetFactory.findWidget( KNameSliderWidget );
-		
-	if(control())    
-	    {
-		(static_cast<MulCoverFlowControl*>(control()))->DestroySlider();   
-	    }   
-
-    if(sliderWidget)
-    	{
-    	widgetFactory.destroyWidget(sliderWidget);
-    	}      	
-    }
-
-// ---------------------------------------------------------------------------
-// parent
-// ---------------------------------------------------------------------------
-//
-IAlfContainerWidget* MulCoverFlowWidget::parent() const
-	{
-	return AlfWidget::parent (); //return container widget
-	}
-    
-// ---------------------------------------------------------------------------
-// control
-// ---------------------------------------------------------------------------
-//
-CAlfWidgetControl* MulCoverFlowWidget::control() const
-    {
-    //Call the base class method
-    return AlfWidget::control();
-    }
-    
-// ---------------------------------------------------------------------------
-// setControl
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::setControl( CAlfWidgetControl* aControl,bool aDeletePreviousControl  )
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::setControl");
-    AlfWidget::setControl( aControl,aDeletePreviousControl );
-    }
-
-// ---------------------------------------------------------------------------
-// model
-// ---------------------------------------------------------------------------
-//
-IAlfModel* MulCoverFlowWidget::model()
-    {
-    return mMulModelAccessor;
-    }
-
-// ---------------------------------------------------------------------------
-// setModel
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::setModel( IAlfModel* /*aModel*/ , bool /*aTakeOwnership*/ )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// widgetName
-// ---------------------------------------------------------------------------
-//
-const char* MulCoverFlowWidget::widgetName() const
-    {
-    return AlfWidget::widgetName();
-    }
-
- 
-// ---------------------------------------------------------------------------
-// SetBackground
-// ---------------------------------------------------------------------------
-// 
-void MulCoverFlowWidget::SetBackground(const TRgb& aColor)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::SetBackground");
-
-	mBaseElement->SetBackground( aColor );		
-	}
-    
-// ---------------------------------------------------------------------------
-// SetBackground
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::SetBackground(const TAknsItemID& aItemID) 
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::SetBackground");
-	
-	mBaseElement->SetBackground( aItemID );
-	}
-// ---------------------------------------------------------------------------
-// SetFlags
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::SetFlags( unsigned int aAnyFlag )
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::SetFlags");
-    mWidgetPropertyFlag |= aAnyFlag;
-    
-    // When the IMulMultiItemWidget::EMulWidgetFlagFastScroll flag is modified we should
-    // set the enable holding flag to gesture helper to recieve the hold events.
-    if(aAnyFlag == IMulMultiItemWidget::EMulWidgetFlagFastScroll)
-	    {
-	    mCoverflowControl->SetHoldingEnabled(); 	
-	    }
-	else if(aAnyFlag == IMulMultiItemWidget::EMulWidgetDoubleTap)
-		{
-		mCoverflowControl->SetDoubleTapEnabled(true); 	
-		}
-    }
-
-// ---------------------------------------------------------------------------
-// ClearFlags
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::ClearFlags( unsigned int aAnyFlag )
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::ClearFlags");
-    mWidgetPropertyFlag &= ~aAnyFlag;
-    if(aAnyFlag == IMulMultiItemWidget::EMulWidgetDoubleTap)
-		{
-		mCoverflowControl->SetDoubleTapEnabled(false); 	
-		}
-	else if(aAnyFlag == IMulMultiItemWidget::EMulWidgetFlagFastScroll)
-	    {
-	    mCoverflowControl->SetHoldingEnabled(); 	
-	    }
-    }
-
-// ---------------------------------------------------------------------------
-// IsFlagSet
-// ---------------------------------------------------------------------------
-//
-bool MulCoverFlowWidget::IsFlagSet( TMulWidgetPropertiesFlag aAnyFlag ) const
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::IsFlagSet");
-
-    return (mWidgetPropertyFlag & aAnyFlag);
-
-    }
-
-// ---------------------------------------------------------------------------
-// GetFlags
-// ---------------------------------------------------------------------------
-//
-unsigned int MulCoverFlowWidget::GetFlags() const
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::GetFlags");    
-    return mWidgetPropertyFlag;
-    }
-
-// ---------------------------------------------------------------------------
-// SetRect
-// ---------------------------------------------------------------------------
-//    
-void MulCoverFlowWidget::SetRect( int /*aLeftMargin*/, int /*aTopmargin*/, int /*aHeight*/,
-                                  int /*aWidth*/, int /*aTransitionTime*/ )
-    {
-    //@todo need to be removed once its removed from imulwidget.
-    }
-// ---------------------------------------------------------------------------
-// ShowWidget
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::ShowWidget( bool aShow, int aTransitionTime ) 
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::ShowWidget");
-    mBaseElement->ShowWidget( aShow,aTransitionTime );
-    
-    // Reset the flag . Event handling gets disabled once the flag is reset to false.
-    mCoverflowControl->ResetShowWidgetFlag( aShow );
-    }
-
-// ---------------------------------------------------------------------------
-// SetModel
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::SetModel( IMulModelAccessor* aAccessor, bool aFlag )
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::SetModel");
-    
-    //remove from observing change from old model
-	if ( mMulModelAccessor != aAccessor )
-        {
-        if (mMulModelAccessor && control())
-            {
-            ((IMulModelAccessor*)model())->RemoveModelObserver(static_cast<MulCoverFlowControl*>( control()));
-            }
-        // Release the old model.
-        if (mTakesModelOwnership)
-            {
-            delete mMulModelAccessor;
-            }
-        // Set the new model.
-        mMulModelAccessor = aAccessor;
-        mTakesModelOwnership=aFlag;        
-        }
-	else // just copy the ownership flag 
-        { 
-        if (mMulModelAccessor != NULL)
-            {
-            mTakesModelOwnership=aFlag;
-            }
-        }
-    
-    IMulSliderWidget* sliderWidget = static_cast<IMulSliderWidget*>(mCoverflowControl->GetSliderWidget());
-    // cancel all previous commands (like marquee and bounce)
-	mCoverflowControl->Env().CancelCustomCommands(mCoverflowControl);
-    
-    if( aAccessor )
-    	{
-    	mMulModelAccessor = aAccessor;
-        MUL_LOG_INFO("MUL::MulCoverFlowWidget::SetModel()::SetVisibleWindow "); 
-        aAccessor->AddModelObserver(mCoverflowControl);
-		// Notify the control regarding model change.
-		mCoverflowControl->ModelChanged(aAccessor);
-
-        if( aAccessor->CurrentItemCount() <= 0 )
-        	{
-        	if(sliderWidget)
-	    		{
-	    		mBaseElement->ShowSlider(false);	
-	    		}		
-        	}
-    	}
-    else // For Null Model case
-    	{
-    	mCoverflowControl->RecycleVisuals();
-    	mBaseElement->ShowEmptyText( true );
-
-    	if( sliderWidget )
-    		{
-    		mBaseElement->ShowSlider(false);		
-    		}
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-// GetIconSize
-// ---------------------------------------------------------------------------
-//	
-void MulCoverFlowWidget::GetIconSize( mulwidget::TLogicalTemplate aTemplateId, 
-		    mulvisualitem::TVisualAttribute aAttribute, int& aHeight, int& aWidth)
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::GetIconSize");
-    if((aAttribute == mulvisualitem::KMulIcon1) || 
-            (aAttribute == mulvisualitem::KMulIndicator2))
-        {
-        mBaseElement->GetIconSize(aTemplateId,aAttribute,aHeight,aWidth);
-        }
-    else
-        {
-        __MUL_ASSERT( false,KInvalidArgument);
-        }
-    }
- 
-// ---------------------------------------------------------------------------
-// GetIconSize
-// ---------------------------------------------------------------------------
-//	
-void MulCoverFlowWidget::GetIconSize(mulvisualitem::TVisualAttribute aAttribute, 
-        int& aHeight, int& aWidth)
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::GetIconSize");
-	__MUL_ASSERT( mMulModelAccessor != 0,KTemplateNotFound);
-	if((aAttribute == mulvisualitem::KMulIcon1) || 
-	        (aAttribute == mulvisualitem::KMulIndicator2))
-	    {
-	    mBaseElement->GetIconSize(mMulModelAccessor->Template(),aAttribute,
-	            aHeight,aWidth);
-	    }
-	else
-	    {
-	    __MUL_ASSERT( false,KInvalidArgument);
-	    }
-    }
-
- // ---------------------------------------------------------------------------
- // makeInterface
- // ---------------------------------------------------------------------------
- //
-IAlfInterfaceBase* MulCoverFlowWidget::makeInterface( const IfId& /*aType*/ )
-    {
-    return static_cast<IMulCoverFlowWidget*>( this );
-    }
-
-// ---------------------------------------------------------------------------
-// setChildFocus
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::setChildFocus( bool /*aFocus*/ )
-    {
-	// pure virtual function of base Class.
-	// not usefull for this widget
-    }
-
-void MulCoverFlowWidget::setPresentation(const char* /*aFilePath*/)
-	{
-	// pure virtual function of base Class.
-	// not usefull for this widget
-	}
-    
-// ---------------------------------------------------------------------------
-// AddEventHandler
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::AddEventHandler( IAlfWidgetEventHandler& aObserver )
-	{
-	control()->addEventHandler( &aObserver );
-	}
-    
-// ---------------------------------------------------------------------------
-// RemoveEventHandler
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::RemoveEventHandler( IAlfWidgetEventHandler& aObserver )
-	{
-	control()->removeEventHandler( aObserver );
-	}
-// ---------------------------------------------------------------------------
-// ContainerLayout 
-// ---------------------------------------------------------------------------
-//
-const CAlfLayout& MulCoverFlowWidget::ContainerLayout()
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::ContainerLayout");
-	CAlfLayout* layout=(CAlfLayout*)mBaseElement->findVisual(0);
-	return *layout;
-	} 	
-// ---------------------------------------------------------------------------
-// SetEmptyText
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::SetEmptyText( const UString& aDefaultText)
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::SetEmptyText");
-    mBaseElement->SetEmptyText(aDefaultText);
-    }
-
-// ---------------------------------------------------------------------------
-// SetMarkMode 
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::SetMarkMode(bool /*aFlag*/)
-	{
-    // Marking mode is not supported by coverflow widget.
-	}
-
-// ---------------------------------------------------------------------------
-// IsMarkMode 
-// ---------------------------------------------------------------------------
-//		
-bool MulCoverFlowWidget::IsMarkMode()const 
-	{
-	// Marking mode is not supported by coverflow widget.
-	return false;
-	}
-
-// ---------------------------------------------------------------------------
-// SetReorderMode 
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::SetReorderMode(TMulReOrderMode /*aReorderMode*/)
-	{
-	// reorder mode is not supported by coverflow widget.	
-	}
-
-// ---------------------------------------------------------------------------
-// IsReorderMode 
-// ---------------------------------------------------------------------------
-//		
-bool MulCoverFlowWidget::IsReorderModeOn() const
-	{
-	// reorder mode is not supported by coverflow widget.	
-	return false;
-	}
-		
-// ---------------------------------------------------------------------------
-// SetOverlay 
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::SetOverlay(TMulAttributeDataType /*aType*/, const UString& /*aAttribute*/, 
-	const UString& /*aFormat*/)
-	{
-	// No implementation .
-	}
-
-// ---------------------------------------------------------------------------
-// SetAnimationTime 
-// ---------------------------------------------------------------------------
-//	
-void MulCoverFlowWidget::SetAnimationTime( TMulVisualEffect aVisualEffect, int aTransitionTime ) 
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::SetAnimationTime");
-    // EHighlightTransition is used to set coverflow step scroll animation time.
-     if( aVisualEffect == EHighlightTransition )
-        {
-        mBaseElement->SetScrollAnimationTime(aTransitionTime);
-        }
-    }
-// ---------------------------------------------------------------------------
-// SetUIOnOFF
-// ---------------------------------------------------------------------------
-//    
-void MulCoverFlowWidget::SetUIMode(bool UIOn, int aTransition )
-    {
-    MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::SetUIMode");
-    mBaseElement->UIOnOffMode( UIOn,aTransition );    
-    }
-
-// ---------------------------------------------------------------------------
-// SetVisualColor 
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::SetVisualColor( TMulVisualType aVisualType , const TRgb& aColor )
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::SetVisualColor");
-    switch(aVisualType)
-        {
-        case EItemBackgroundBrush:
-            {
-            mBaseElement->SetItemBrush(aColor); 
-            }
-        break;
-        case ECoverflowCounterVisual:
-            {
-            mBaseElement->SetTextColor(ECounterVisual,aColor);    
-            }
-        break;
-        case ETextVisual:
-            {
-            mBaseElement->SetTextColor(ETilteDetailTextVisual,aColor);    
-            }
-        break;
-        default:
-        break;  	        
-
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// SetDefaultImage 
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::SetDefaultImage(int aTextureId)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::SetDefaultImage");
-	mCoverflowControl->SetDefaultImage(aTextureId);	
-	}
-
-// ---------------------------------------------------------------------------
-// RotateImage 
-// ---------------------------------------------------------------------------
-//
-void MulCoverFlowWidget::RotateImage(TMulRotation aDirection,TSize aImageSize,int aAnimationTime)
-	{
-	MUL_LOG_ENTRY_EXIT("aakash::MulCoverFlowWidget::RotateImage");	
-	mBaseElement->RotateImage(aDirection,aImageSize,aAnimationTime);
-	}
-
-// ---------------------------------------------------------------------------
-// Gesturehelper 
-// ---------------------------------------------------------------------------
-//
-GestureHelper::CGestureHelper* MulCoverFlowWidget::Gesturehelper()
-    {
-    return mCoverflowControl->Gesturehelper(); 
-    }
-
-    } //namespace alf
-    
-//End of File
--- a/mulwidgets/mulcoverflowwidget/src/mulcoverflowwidgetfactoryplugin.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  factory plugin Implementation
-*
-*/
-
-//  Include Files
-
-#include "mulcoverflowwidgetfactoryplugin.h"
-#include "mulcoverflowwidget.h"
-
-namespace Alf
-    {
-
-const TInt KCoverFlowWidgetFactoryPluginUid =
-	{
-			0x2000D241
-	};
-
-const int KProductCount = 1;
-
-static const char* const KWidget = "mulcoverflowwidget";
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//    
-MulCoverFlowWidgetFactoryPlugin* MulCoverFlowWidgetFactoryPlugin::NewL()
-    {
-    return new(ELeave)MulCoverFlowWidgetFactoryPlugin;
-    }
-
-// ---------------------------------------------------------------------------
-// ~MulCoverFlowWidgetFactoryPlugin
-// ---------------------------------------------------------------------------
-//    
-MulCoverFlowWidgetFactoryPlugin::~MulCoverFlowWidgetFactoryPlugin()
-    {   
-    }
-    
-// ---------------------------------------------------------------------------
-// createProduct
-// ---------------------------------------------------------------------------
-//    
-IAlfInterfaceBase* MulCoverFlowWidgetFactoryPlugin::createProduct(
-    const char* aProduct,
-    void* aInitData)
-    {
-    IAlfInterfaceBase* ret(0);
-
-    //Creates the instance of the CoverFlow widget
-    if(!strcmp(aProduct,KWidget))
-        {
-        AlfWidgetInitData* initData = reinterpret_cast<AlfWidgetInitData*>(aInitData);
-        auto_ptr<MulCoverFlowWidget> Widget (new (EMM) MulCoverFlowWidget(*initData->mEnv,
-        		initData->mWidgetId,*initData->mContainerWidget) );
-        ret = Widget->makeInterface(IMulCoverFlowWidget::Type());    
-        Widget.release();
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// makeInterface
-// ---------------------------------------------------------------------------
-//    
-IAlfInterfaceBase* MulCoverFlowWidgetFactoryPlugin::makeInterface(
-        const IfId& aType)
-    {    
-    if( UString(aType.mImplementationId) == UString(IAlfFactoryPlugin::type().mImplementationId) )
-        {
-        return static_cast<IAlfFactoryPlugin*>(this);            
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// productCount
-// ---------------------------------------------------------------------------
-//        
-int MulCoverFlowWidgetFactoryPlugin::productCount()const
-    {
-    return KProductCount;    
-    }
- 
-// ---------------------------------------------------------------------------
-// productInfo
-// ---------------------------------------------------------------------------
-//        
-const char* MulCoverFlowWidgetFactoryPlugin::productInfo(int aIndex)const
-    {
-    /// @bug minor:avanhata:3/7/2008 good old if would be clearer
-    /// (Surely it is a caller error to call this function with aIndex >= productCount()
-    /// anyway, so can simply assert)
-    switch(aIndex)
-        {
-		case 0:
-			return KWidget;
-
-		default:
-			break;
-        }
-    
-    return 0;
-    }
-    
-    }  //namespace Alf         
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-using namespace Alf;
-
-const TImplementationProxy
-		ImplementationTable[] =
-    {
-	#ifdef __EABI__ 
-    
-    IMPLEMENTATION_PROXY_ENTRY(KCoverFlowWidgetFactoryPluginUid, MulCoverFlowWidgetFactoryPlugin::NewL)
-    
-    #else
-	
-	{ {KCoverFlowWidgetFactoryPluginUid},MulCoverFlowWidgetFactoryPlugin::NewL }
-	
-	#endif
-    };
-
-OSN_EXPORT const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
-    return ImplementationTable;
-    }
-    
-//End of File
--- a/mulwidgets/mulcoverflowwidget/src/mulcoverlogicaltemplatebase.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Description of various grid templates
- *
-*/
-
- 
-#include "mulcoverlogicaltemplatebase.h"
-
-namespace Alf
-	{
-	
-	MulCoverLogicalTemplateBase::~MulCoverLogicalTemplateBase()
-		{	   
-	    for(int i =0; i < mTemplatePrtStruct.size(); ++i)
-	        {
-	        delete mTemplatePrtStruct[i];            
-	        }
-	        
-	      for(int i =0; i < mTemplateLscStruct.size(); ++i)
-	        {
-	        delete mTemplateLscStruct[i];            
-	        }      
-		}
-	//----------------------------------------------------------------
-	// GetElementStructure
-	//----------------------------------------------------------------
-	// 
-	const LCTElementStructure* MulCoverLogicalTemplateBase::GetElementStructure(
-	    TMulCurrentOrientation aCurOrient,
-	    const char* aElemId) 
-	    {
-
-	    LCTElementStructure* returnElem = NULL;
-	    
-	    if(aCurOrient == EMulPortrait)
-	        {
-	        
-	        for (vector<LCTElementStructure*>::const_iterator itP = mTemplatePrtStruct.begin();
-	             itP!=mTemplatePrtStruct.end(); ++itP) 
-	            {
-	            if(!strcmp(((*itP)->GetId()).getUtf8(),aElemId))
-	                returnElem =  (*itP);
-	            }  
-	        }
-	    else if(aCurOrient == EMulLandScape)
-	        {
-	        for (vector<LCTElementStructure*>::const_iterator itL = mTemplateLscStruct.begin();
-	             itL!=mTemplateLscStruct.end(); ++itL) 
-	            {
-	            if(!strcmp(((*itL)->GetId()).getUtf8(),aElemId))
-	                returnElem = (*itL);
-	            }  
-	        }
-	    return returnElem;
-	    
-	    }
-    
-	void  MulCoverLogicalTemplateBase::PopulateData ()
-		{
-		}
-	}// End of Alf
-
--- a/mulwidgets/mulcoverflowwidget/src/mulcovertemplate1.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,533 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Description of various grid templates
- *
-*/
-
-
-// Class Header
-#include "mulcoverflowtemplate.h"
-
-// system includes
-#include <AknUtils.h>
-#include <alf/alfviewportlayout.h>
-#include <alf/alftextvisual.h> 
-#include <alf/alfutil.h>
-
-// Local includes
-#include "mulassert.h"
-#include "mulcoverflowcontrol.h"
-
-namespace Alf
-    {
-    
-// ---------------------------------------------------------------------------
-// MulCoverLogicalTemplate1
-// ---------------------------------------------------------------------------
-//  
-MulCoverFlowTemplate1::MulCoverFlowTemplate1(MulCoverFlowControl &aControl, 
-        MulBaseElement &aBaseElement):MulCoverFlowTemplate(aControl, aBaseElement)
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// ~MulCoverLogicalTemplate1
-// ---------------------------------------------------------------------------
-//  
-MulCoverFlowTemplate1::~MulCoverFlowTemplate1()
-    {
-    
-    }
-    
-// ---------------------------------------------------------------------------
-// GetIconSize
-// ---------------------------------------------------------------------------
-//      
-void MulCoverFlowTemplate1::GetIconSize(mulvisualitem::TVisualAttribute aAttribute,bool aIslandscape, int& aHeight, int& aWidth)
-	{
-	int appMainPaneVerityId;
-	int coverFlowPaneVarietyId;
-	int imagePaneVerityId ;
-	if (aIslandscape)
-		{
-		appMainPaneVerityId = 3; 
-		coverFlowPaneVarietyId = 2;
-		imagePaneVerityId = 4;
-		}
-	else
-		{
-		appMainPaneVerityId = 5; 
-		coverFlowPaneVarietyId = 0;
-		imagePaneVerityId = 0;
-		}
-
-	// Get  the size of the appwindow
-	TAknWindowLineLayout appMainLayout = 
-		AknLayoutScalable_UiAccel::main_pane(appMainPaneVerityId).LayoutLine();
-	TAknLayoutRect appMainRect;
-	appMainRect.LayoutRect(  AlfUtil::ScreenSize(), appMainLayout );
-	TSize appMainSize(appMainRect.Rect().Size());
-	
-	// Get the size of the coverflow main window
-	TAknWindowLineLayout mainLayout = 
-		AknLayoutScalable_UiAccel::main_aa_coverflow_pane(coverFlowPaneVarietyId).LayoutLine();
-	TAknLayoutRect mainRect;
-	mainRect.LayoutRect( appMainSize, mainLayout );
-	TSize mainSize(mainRect.Rect().Size());
-	
-	switch(aAttribute)
-		{
-		case mulvisualitem::KMulIcon1:
-			{
-            TAknWindowLineLayout centerLayout = 
-                AknLayoutScalable_UiAccel::aacf_image_pane(imagePaneVerityId).LayoutLine();
-            TAknLayoutRect centerRect;
-            centerRect.LayoutRect( TSize(mainSize), centerLayout );
-            aHeight = centerRect.Rect().Size().iHeight;
-            aWidth  = centerRect.Rect().Size().iWidth;
-			break;
-			}
-		default:
-			{
-			// invalid attribute
-			// raise exception.
-			__MUL_ASSERT(false,KInvalidAttribute);
-			
-			break;
-			}
-		}	
-	}
-    
-
-// ---------------------------------------------------------------------------
-// CreateVisualisation
-// ---------------------------------------------------------------------------
-//      
-void MulCoverFlowTemplate1::CreateVisualisation(bool aIsLandscape,bool aIsOrientationChange)
-	{
-	mData->mOrientationChange = aIsOrientationChange;	
-	
-	// set the default attribue of the template
-	// irrespective of the orientation
-    mData->mUiOnOffFlag = false;
-	mData->mMaxVisibleCount = 3;
-	mData->mEnhancedSupportFlag = false;
-	
-    // store the default attribute in base element
-    mData->mBaseElement->SetFitMode(false);
-	
-	if (aIsLandscape)
-		{
-		// create visualisation for landscape
-		CreateLscStructure();
-		}
-	else
-		{
-		// create visualisation for potrait
-		CreatePrtStructure();
-		}
-	mData->mOrientationChange = false;		
-	}
-	
-// ---------------------------------------------------------------------------
-// CreatePrtStructure
-// ---------------------------------------------------------------------------
-//      	
-void MulCoverFlowTemplate1::CreatePrtStructure()
-	{
-	// list of all component lct verity id.
-	int mainPaneVerityId = 0;
-	int imagePaneCenterVerityId = 0;
-	int counterPaneVerityId = 0;
-	
-	CAlfVisual* main = mData->mBaseElement->findVisual(KMainLayoutIndex);        
-	CAlfLayout* parentLayout = main->Layout();
-	TSize mainSize = parentLayout->Size().Target().AsSize();
-	
-	// get for main layout
-	TAknWindowLineLayout componentLayout = 
-		AknLayoutScalable_UiAccel::main_aa_coverflow_pane(mainPaneVerityId).LayoutLine();
-	TRect mainRect = IconWindowRect(componentLayout, mainSize);
-	main->SetPos(TAlfRealPoint(0,0));
-	main->SetSize(mainRect.Size());
-	
-	
-	// for deck layout
-	CAlfDeckLayout& deckLayout = static_cast<CAlfDeckLayout&>(
-	        static_cast<CAlfLayout*>(main)->Visual(KMainLayoutIndex) );
-	deckLayout.SetSize(mainRect.Size(),0);
-	
-	// if set background with some skin id is called before calling set model
-	// then the visual and texture would be created with 0,0 sizes
-	// hence we need to resize them                
-	CAlfVisual* backgroundVisual = deckLayout.FindTag(backgroundvisual);
-	if(backgroundVisual)
-	   {
-	   backgroundVisual->SetSize(mainRect.Size(),0);              
-	   }
-
-	// for center item	  
-    componentLayout = 
-        AknLayoutScalable_UiAccel::aacf_image_pane(imagePaneCenterVerityId).LayoutLine();
-	TRect centerRect = IconWindowRect(componentLayout,mainRect);          
-	
-	TMulCoverFlowItem highlightItem(centerRect.iTl.iX,
-		centerRect.iTl.iY,centerRect.Size().iWidth,centerRect.Size().iHeight);
-
-	// apply attribute
-    mData->mBaseElement->StoreVisualDimensions(highlightItem,highlightItem,1);
-	 
-    ApplyCounterAttribute(counterPaneVerityId,mainRect);
-	ApplyTextAttribute(mainRect);
-    
-    // set the status of the slider
-    mData->mSliderEnabled = true;
-	ApplySliderAttribute(mainRect);	
-	}
-
-// ---------------------------------------------------------------------------
-// CreateLscStructure
-// ---------------------------------------------------------------------------
-//      	
-void MulCoverFlowTemplate1::CreateLscStructure()
-	{
-	// list of all component lct verity id.
-	int mainPaneVerityId = 2;
-	int imagePaneCenterVerityId = 4;
-	int imagePaneRightVerityId = 3;	
-	int counterPaneVerityId = 4;
-	
-	CAlfVisual* main = mData->mBaseElement->findVisual(KMainLayoutIndex);        
-	CAlfLayout* parentLayout = main->Layout();
-	TSize mainSize = parentLayout->Size().Target().AsSize();
-	
-	// get for main layout
-	TAknWindowLineLayout componentLayout = 
-		AknLayoutScalable_UiAccel::main_aa_coverflow_pane(mainPaneVerityId).LayoutLine();
-	TRect mainRect = IconWindowRect(componentLayout, mainSize);
-	main->SetPos(TAlfRealPoint(0,0));
-	main->SetSize(mainRect.Size());
-	
-	
-	// for deck layout
-	CAlfDeckLayout& deckLayout = static_cast<CAlfDeckLayout&>(
-	        static_cast<CAlfLayout*>(main)->Visual(KMainLayoutIndex) );
-	deckLayout.SetSize(mainRect.Size(),0);
-	
-	// if set background with some skin id is called before calling set model
-	// then the visual and texture would be created with 0,0 sizes
-	// hence we need to resize them                
-	CAlfVisual* backgroundVisual = deckLayout.FindTag(backgroundvisual);
-	if(backgroundVisual)
-	   {
-	   backgroundVisual->SetSize(mainRect.Size(),0);              
-	   }
-
-	// for center item	  
-    componentLayout = 
-        AknLayoutScalable_UiAccel::aacf_image_pane(imagePaneCenterVerityId).LayoutLine();
-	TRect centerRect = IconWindowRect(componentLayout,mainRect);          
-	
-	TMulCoverFlowItem highlightItem(centerRect.iTl.iX,
-		centerRect.iTl.iY,centerRect.Size().iWidth,centerRect.Size().iHeight);
-	
-	// for right item
-    if (AknLayoutUtils::LayoutMirrored())
-    	{
-    	componentLayout =
-        	AknLayoutScalable_UiAccel::aacf_image_pane_cp001(imagePaneRightVerityId).LayoutLine();
-    	}
-    else
-    	{
-    	componentLayout =
-        	AknLayoutScalable_UiAccel::aacf_image_pane_cp002(imagePaneRightVerityId).LayoutLine();
-    	}
-	TRect rightItemRect = IconWindowRect(componentLayout,mainRect);
-
-	TMulCoverFlowItem nonHighlightItem(rightItemRect.iTl.iX,
-		rightItemRect.iTl.iY,rightItemRect.Size().iHeight,rightItemRect.Size().iHeight);
-	
-	// apply attribute
-    mData->mBaseElement->StoreVisualDimensions(highlightItem,nonHighlightItem,3);
-	 
-    ApplyCounterAttribute(counterPaneVerityId,mainRect);
-	ApplyTextAttribute(mainRect);
-    
-    // set the status of the slider
-    mData->mSliderEnabled = false;
-	}
-	
-// ---------------------------------------------------------------------------
-// ApplyCounterAttribute
-// ---------------------------------------------------------------------------
-//      		
-void MulCoverFlowTemplate1::ApplyCounterAttribute(int acounterPaneVerityId,const TRect& aMainRect)
-	{
-	TAknTextLineLayout counterComponentLayout = 
-		AknLayoutScalable_UiAccel::main_aa_coverflow_pane_t1(acounterPaneVerityId).LayoutLine();   
-    	
-    TRect counterRect = TextWindowRect(counterComponentLayout,aMainRect);
-    TSize counterSize(counterRect.Size());
-    mData->mCounterDimensions.posx = counterRect.iTl.iX;
-    mData->mCounterDimensions.posy = counterRect.iTl.iY;
-    mData->mCounterDimensions.width = counterSize.iWidth;
-    mData->mCounterDimensions.height = counterSize.iHeight;
-        
-    // Set Properties to Counter Visual if we are creating.
-    // no need to apply attribute for orientation change
-    // as all are same.
-    if(!mData->mOrientationChange)
-	    {
-	    // Create a Counter visual if it is not Created.
-	    CAlfTextVisual& counterVisual = mData->mBaseElement->CounterVisual();
-	    
-	    //get font Id for counter
-	    int fontId = counterComponentLayout.FontId();
-	    int counterFontId = 0x000000FF &  fontId;	    
-		// apply default attribute
-		counterVisual.SetAlign(EAlfAlignHCenter,EAlfAlignVCenter);
-	    SetTextStyle(counterFontId, counterVisual); 
-	    
-		// check if user has set some different attribute.
-		TMulVisualColorProperty counterColor = mData->mBaseElement->TextColor(ECounterVisual);
-		if (counterColor.mIsColorSet)
-			{
-			// apply the color set by the application
-			counterVisual.SetColor(counterColor.mColor);
-			}
-		else
-			{
-			// apply the default color
-			counterVisual.SetColor(KRgbWhite);
-			}
-		mData->mCounterFontMaxCharLength = UpdateMaxFontWidth(&counterVisual);			
-	    }
-	}
-
-// ---------------------------------------------------------------------------
-// ApplyTextAttribute
-// ---------------------------------------------------------------------------
-//      		
-void MulCoverFlowTemplate1::ApplyTextAttribute(const TRect& aMainRect)
-	{
-	// list of all component lct verity id.	
-	int textPaneVerityId ;
-	int textPaneBgVerityId ;
-	int textPaneTitleVerityId ;	
-	int textPaneDetailVerityId ;
-	float bgTextOpacity;
-	
-	if (mData->mControl->IsLandscape())
-		{
-		textPaneVerityId = 3;
-		textPaneBgVerityId = 0;
-		textPaneTitleVerityId = 0;
-		textPaneDetailVerityId = 0;
-		bgTextOpacity = 0.5;
-		}
-	else
-		{
-		textPaneVerityId = 0;
-		textPaneBgVerityId = 0;
-		textPaneTitleVerityId = 0;
-		textPaneDetailVerityId = 0;
-		bgTextOpacity = 0;
-		}
-	
-	// set text visibility 
-	mData->mBaseElement->StoreTextVisibility( true );	
-	
-	// Create and apply attribute for text visual.
-	 
-    CAlfLayout& textLayout = mData->mBaseElement->TextLayout();
-    
-    // for parent text layout
-	TAknWindowLineLayout windowLineLayout = 
-        AknLayoutScalable_UiAccel::aacf_image_title_pane(textPaneVerityId).LayoutLine();
-    TRect textRect = IconWindowRect(windowLineLayout, aMainRect);
-    TRect textLayoutRect = TRect(0,0,textRect.Width(),textRect.Height());
-    
-    // set the position of parent text layout.     
-    textLayout.SetPos(textRect.iTl);
-    textLayout.SetSize(textRect.Size()); 
-    
-    // for the background visual
-    CAlfTextVisual* bkgTextVisual = static_cast<CAlfTextVisual*>(
-            textLayout.FindTag(KLitMulBackGround));
-    if(!bkgTextVisual)
-        {
-        bkgTextVisual = CAlfTextVisual::AddNewL(*mData->mControl,  &textLayout); 
-        bkgTextVisual->SetTagL(KLitMulBackGround);
-        bkgTextVisual->SetFlag(EAlfVisualFlagIgnorePointer);                
-        }
-    windowLineLayout = 
-      AknLayoutScalable_UiAccel::aacf_image_title_pane_g1(textPaneBgVerityId).LayoutLine();
-    TRect bkgRect = IconWindowRect(windowLineLayout , textLayoutRect);
-    bkgTextVisual->SetSize(bkgRect.Size());
-    bkgTextVisual->SetPos(bkgRect.iTl);
-    
-    ApplyBrush(*bkgTextVisual,KRgbBlack,bgTextOpacity);
-    
-    ApplyTitleTextAttribute(textPaneTitleVerityId,textLayoutRect);
-    ApplyDetailTextAttribute(textPaneDetailVerityId,textLayoutRect);
-    
-	}
-
-// ---------------------------------------------------------------------------
-// ApplyTitleTextAttribute
-// ---------------------------------------------------------------------------
-//      		
-void MulCoverFlowTemplate1::ApplyTitleTextAttribute(int atextPaneTitleVerityId,const TRect& aTextLayoutRect)
-	{
-		
-    // get the main text layout
-    CAlfLayout& textLayout = mData->mBaseElement->TextLayout();	
-    
-	// for title visual
-    CAlfViewportLayout *viewPortLayout =static_cast<CAlfViewportLayout*>(
-            textLayout.FindTag(KTitleViewPortLayout));
-   if(viewPortLayout == NULL)
-       {
-       viewPortLayout = CAlfViewportLayout::AddNewL(*mData->mControl,
-               &textLayout);
-       viewPortLayout->SetTagL(KTitleViewPortLayout);    
-       viewPortLayout->SetFlag(EAlfVisualFlagAutomaticLocaleMirroringEnabled);   
-       viewPortLayout->SetFlag(EAlfVisualFlagIgnorePointer);                
-       } 
-   else
-       {
-       viewPortLayout = static_cast <CAlfViewportLayout*>(
-              textLayout.FindTag(KTitleViewPortLayout));
-       }
-    TAknTextLineLayout textWindowLayout =
-     AknLayoutScalable_UiAccel::aacf_image_title_pane_t1(atextPaneTitleVerityId).LayoutLine(); 
-    TRect titleRect = TextWindowRect(textWindowLayout, aTextLayoutRect);
-    mData->mTitleParentSize = titleRect.Size();
-    viewPortLayout->SetSize(titleRect.Size());
-    viewPortLayout->SetPos(titleRect.iTl); 
-    viewPortLayout->SetViewportSize(TAlfRealSize(titleRect.Size()),0);           
-    viewPortLayout->SetClipping(true);
-    CAlfTextVisual* textVisual = static_cast<CAlfTextVisual*>(
-    	&mData->mBaseElement->CreateTextVisual(KCoverflowTitle,*viewPortLayout)); 
-              
-   if(!mData->mOrientationChange) 
-       {
-		//Get font ID
-		int fontId = textWindowLayout.FontId();
-		int textFontId = 0x000000FF &  fontId;
-		SetTextStyle(textFontId, *textVisual);
-		mData->mTitleFontMaxCharLength = UpdateMaxFontWidth(textVisual);
-		// Apply default attribute.
-		textVisual->SetAlign(EAlfAlignHLocale,EAlfAlignVCenter);
-		textVisual->SetOpacity(1);
-       
-		// check if user has set some different attribute.
-		TMulVisualColorProperty textColor = mData->mBaseElement->TextColor(ETilteDetailTextVisual);
-		if (textColor.mIsColorSet)
-			{
-			// apply the color set by the application
-			textVisual->SetColor(textColor.mColor);
-			}
-		else
-			{
-			// apply the default color
-			textVisual->SetColor(KRgbWhite);
-			}
-       }	
-	}
-
-// ---------------------------------------------------------------------------
-// ApplyDetailTextAttribute
-// ---------------------------------------------------------------------------
-//      		
-void MulCoverFlowTemplate1::ApplyDetailTextAttribute(int aTextPaneDetailVerityId,const TRect& aTextLayoutRect)
-	{	
-    // get the main text layout
-    CAlfLayout& textLayout = mData->mBaseElement->TextLayout();		
-	
-    CAlfViewportLayout *viewPortLayout = NULL;
-    CAlfTextVisual* textVisual = NULL;
-    viewPortLayout =static_cast<CAlfViewportLayout*>(
-            textLayout.FindTag(KDetailViewPortLayout));
-   if(viewPortLayout == NULL)
-       {
-       viewPortLayout = CAlfViewportLayout::AddNewL(*mData->mControl,
-               &textLayout);
-       viewPortLayout->SetTagL(KDetailViewPortLayout);   
-       viewPortLayout->SetFlag(EAlfVisualFlagAutomaticLocaleMirroringEnabled); 
-       viewPortLayout->SetFlag(EAlfVisualFlagIgnorePointer);                               
-       } 
-   else
-       {
-       viewPortLayout = static_cast <CAlfViewportLayout*>(
-              textLayout.FindTag(KDetailViewPortLayout));
-       }
-    TAknTextLineLayout textWindowLayout =
-       AknLayoutScalable_UiAccel::aacf_image_title_pane_t2(aTextPaneDetailVerityId).LayoutLine(); 
-    TRect detailRect = TextWindowRect(textWindowLayout, aTextLayoutRect);
-    mData->mDetailParentSize = detailRect.Size();
-    viewPortLayout->SetSize(detailRect.Size());
-    viewPortLayout->SetPos(detailRect.iTl); 
-    viewPortLayout->SetViewportSize(TAlfRealSize(detailRect.Size()),0);           
-
-    viewPortLayout->SetClipping(true);
-    textVisual = static_cast<CAlfTextVisual*>(
-      &mData->mBaseElement->CreateTextVisual(KCoverflowDetail , *viewPortLayout )); 
-   if(!mData->mOrientationChange) 
-       {
-       //Get font ID
-       int fontId = textWindowLayout.FontId();
-       int textFontId = 0x000000FF &  fontId;
-       SetTextStyle(textFontId, *textVisual);
-       mData->mDetailFontMaxCharLength = UpdateMaxFontWidth(textVisual);
-       // Apply default attribute.
-       textVisual->SetAlign(EAlfAlignHLocale,EAlfAlignVCenter);
-       textVisual->SetOpacity(0.7);
-       
-		// check if user has set some different attribute.
-		TMulVisualColorProperty textColor = mData->mBaseElement->TextColor(ETilteDetailTextVisual);
-		if (textColor.mIsColorSet)
-			{
-			// apply the color set by the application
-			textVisual->SetColor(textColor.mColor);
-			}
-		else
-			{
-			// apply the default color
-			textVisual->SetColor(KRgbWhite);
-			}
-       }
-	
-	}
-
-// ---------------------------------------------------------------------------
-// ApplySliderAttribute
-// ---------------------------------------------------------------------------
-//      		
-void MulCoverFlowTemplate1::ApplySliderAttribute(const TRect& aMainRect)
-	{
-    int sliderPaneVerityId = 1;
-    
-    TAknWindowLineLayout componentLayout =
-        AknLayoutScalable_UiAccel::aacf_slider_pane(sliderPaneVerityId).LayoutLine();
-    TRect sliderRect = IconWindowRect(componentLayout, aMainRect);
-    TSize sliderSize(sliderRect.Size()); 
-    mData->mSliderDimensions.height = sliderSize.iHeight;
-    mData->mSliderDimensions.width = sliderSize.iWidth;
-    mData->mSliderDimensions.posx = sliderRect.iTl.iX;
-    mData->mSliderDimensions.posy = sliderRect.iTl.iY;
-	}
-	
-    }//namespace ends
--- a/mulwidgets/mulcoverflowwidget/src/mulcovertemplate2.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,604 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Description of various grid templates
- *
-*/
-
- 
-#include "mulcovertemplates.h"
-#include "mulcoverflowdefinitions.h"
-#include "mulvisualutility.h"
-#include "mulutility.h"
-#include <osn/osnnew.h> 
-
-namespace Alf
-    {
-    
-MulCoverLogicalTemplate2::~MulCoverLogicalTemplate2()
-    {
-    
-    }
-
-//----------------------------------------------------------------
-// PopulateData
-//----------------------------------------------------------------
-//    
-void MulCoverLogicalTemplate2::PopulateData ()
-    {	
-    //For base element
-    LCTElementStructure* prtBaseElem = new (EMM) LCTElementStructure();
-	//for main layout
-	prtBaseElem->SetId(UString(KBase));
-	LCTVisualStructure* mainPrtVS = new (EMM) LCTVisualStructure();
-	mainPrtVS->SetId(UString(KMainLayout));
-	//@todo:: later these need to be retrieved from LCT utility
-	mainPrtVS->SetPositions(0,0);
-	mainPrtVS->SetDimensions(360,441);
-	mainPrtVS->SetLCTId(UString("uiaccel_main_aa_coverflow_pane"));
-	mainPrtVS->SetVarietyId(3);	
-	CustomAttributeStructure* mainPrtOpacity = new (EMM) CustomAttributeStructure(
-                UString("opacity"), UString("1.0"));    
-	mainPrtVS->AddAttribute(mainPrtOpacity);
-	prtBaseElem->AddVisualStructure(mainPrtVS);
-	//for item_center
-	LCTVisualStructure* item_centerPrtVS = new (EMM) LCTVisualStructure();
-	item_centerPrtVS->SetId(UString(KItemCentre));
-	item_centerPrtVS->SetPositions(10,22);
-	item_centerPrtVS->SetDimensions(340,340);
-	item_centerPrtVS->SetLCTId(UString("uiaccel_aacf_image_pane"));
-	item_centerPrtVS->SetVarietyId(0);
-	
-	CustomAttributeStructure* item_centerPrtFM = new (EMM) CustomAttributeStructure(
-	        UString("fitmode"), UString("off"));
-	item_centerPrtVS->AddAttribute(item_centerPrtFM);
-	prtBaseElem->AddVisualStructure(item_centerPrtVS);
-	//for counter visual
-	LCTVisualStructure* counterPrtVS = new (EMM) LCTVisualStructure();
-	counterPrtVS->SetId(UString(KMulCount));
-	counterPrtVS->SetPositions(238,0);
-	counterPrtVS->SetDimensions(112,21);
-	counterPrtVS->SetLCTId(UString("uiaccel_main_aa_coverflow_pane_t1"));
-	counterPrtVS->SetVarietyId(0);
-	//add extra attributes to the gridlayout
-		
-	CustomAttributeStructure* stylePrtC = new (EMM) CustomAttributeStructure(
-	        UString("style"), UString("qfn_secondary"));
-	
-	CustomAttributeStructure* opacityPrtC = new (EMM) CustomAttributeStructure(
-	        UString("opacity"), UString("1.0"));
-	
-	CustomAttributeStructure* redPrtC = new (EMM) CustomAttributeStructure(
-	        UString("red"), UString("255"));
-	
-     CustomAttributeStructure* greenPrtC = new (EMM) CustomAttributeStructure(
-                UString("green"), UString("255"));
-     
-    CustomAttributeStructure* bluePrtC = new (EMM) CustomAttributeStructure(
-        UString("blue"), UString("255"));
-    
-    CustomAttributeStructure* alphaPrtC = new (EMM) CustomAttributeStructure(
-        UString("alpha"), UString("0"));
-    
-    CustomAttributeStructure* horizontalalignPrtC = new (EMM) CustomAttributeStructure(
-            UString("horizontalalign"), UString("2"));
-        
-    counterPrtVS->AddAttribute(stylePrtC);
-    counterPrtVS->AddAttribute(opacityPrtC);
-    counterPrtVS->AddAttribute(redPrtC);
-    counterPrtVS->AddAttribute(greenPrtC);
-    counterPrtVS->AddAttribute(bluePrtC);
-    counterPrtVS->AddAttribute(alphaPrtC);
-    counterPrtVS->AddAttribute(horizontalalignPrtC);
-    
-    //for text layout
-    LCTVisualStructure* textPrtLtVS = new (EMM) LCTVisualStructure();
-    textPrtLtVS->SetId(UString(KText));
-    textPrtLtVS->SetPositions(10,230);
-    textPrtLtVS->SetDimensions(340,82);
-    textPrtLtVS->SetLCTId(UString("uiaccel_aacf_image_title_pane"));
-    textPrtLtVS->SetVarietyId(0);
-    prtBaseElem->AddVisualStructure(textPrtLtVS);
-    
-    //for text background
-    LCTVisualStructure* textPrtBgVS = new (EMM) LCTVisualStructure();
-    textPrtBgVS->SetId(UString(KMulBackGround));
-    textPrtBgVS->SetPositions(0,0);
-    textPrtBgVS->SetDimensions(340,82);
-    textPrtBgVS->SetLCTId(UString("uiaccel_aacf_image_title_pane_g1"));
-    textPrtBgVS->SetVarietyId(0);
-    //Add attributes to the text background visual
-    CustomAttributeStructure* bgHaPrtTV = new (EMM) CustomAttributeStructure(
-                UString("horizontalalign"), UString("1"));
-    textPrtBgVS->AddAttribute(bgHaPrtTV);
-    CustomAttributeStructure* bgoPrtTV = new (EMM) CustomAttributeStructure(
-        UString("opacity"), UString("0.5"));
-    textPrtBgVS->AddAttribute(bgoPrtTV);
-    CustomAttributeStructure* bgcPrtTV = new (EMM) CustomAttributeStructure(
-            UString("colour"), UString("0"));
-    textPrtBgVS->AddAttribute(bgcPrtTV);
-    prtBaseElem->AddVisualStructure(textPrtBgVS);
-    
-    //for text title
-    LCTVisualStructure* textTPrtVS = new (EMM) LCTVisualStructure();
-    textTPrtVS->SetId(UString(KMulTitle));
-    textTPrtVS->SetPositions(10,9);
-    textTPrtVS->SetDimensions(320,27);
-    textTPrtVS->SetLCTId(UString("uiaccel_aacf_image_title_pane_t1"));
-    textTPrtVS->SetVarietyId(0);
-    //add extra attributes to the countervisual
-    CustomAttributeStructure* textTStylePrt = new (EMM) CustomAttributeStructure(
-             UString("style"), UString("qfn_secondary"));
-    textTPrtVS->AddAttribute(textTStylePrt);
-    
-    CustomAttributeStructure* textTFtcPrt = new (EMM) CustomAttributeStructure(
-            UString("fontthemecolor"), UString("9"));
-    textTPrtVS->AddAttribute(textTFtcPrt);
-    
-    CustomAttributeStructure* textTHaPrt = new (EMM) CustomAttributeStructure(
-            UString("horizontalalign"), UString("1"));
-    textTPrtVS->AddAttribute(textTHaPrt);
-    
-    CustomAttributeStructure* textTVaPrt = new (EMM) CustomAttributeStructure(
-            UString("verticalalign"), UString("1"));
-    textTPrtVS->AddAttribute(textTVaPrt);
-    
-    CustomAttributeStructure* textTRedPrt = new (EMM) CustomAttributeStructure(
-            UString("red"), UString("255"));
-    textTPrtVS->AddAttribute(textTRedPrt);
-    
-     CustomAttributeStructure* textTGreenPrt = new (EMM) CustomAttributeStructure(
-                UString("green"), UString("255"));
-     textTPrtVS->AddAttribute(textTGreenPrt);
-     
-    CustomAttributeStructure* textTBluePrt = new (EMM) CustomAttributeStructure(
-        UString("blue"), UString("255"));
-    textTPrtVS->AddAttribute(textTBluePrt);
-    
-    CustomAttributeStructure* textTAlphaPrt = new (EMM) CustomAttributeStructure(
-        UString("alpha"), UString("0"));
-    textTPrtVS->AddAttribute(textTAlphaPrt);
-    
-    CustomAttributeStructure* textTTsciPrt = new (EMM) CustomAttributeStructure(
-            UString("textskincolorid"), UString("KAknsIIDQsnTextColors"));
-    textTPrtVS->AddAttribute(textTTsciPrt);
-    
-    CustomAttributeStructure* textTTcsiPrt = new (EMM) CustomAttributeStructure(
-        UString("textcolorskinindex"), UString("5"));
-    textTPrtVS->AddAttribute(textTTcsiPrt);
-    
-    CustomAttributeStructure* textTOpacityPrt = new (EMM) CustomAttributeStructure(
-        UString("opacity"), UString("1.0"));
-    textTPrtVS->AddAttribute(textTOpacityPrt);
-    
-    prtBaseElem->AddVisualStructure(textTPrtVS);
-    
-    //for text detail
-    LCTVisualStructure* textDPrtVS = new (EMM) LCTVisualStructure();
-    textDPrtVS->SetId(UString(KMulDetail));
-    textDPrtVS->SetPositions(10,46);
-    textDPrtVS->SetDimensions(320,27);
-    textDPrtVS->SetLCTId(UString("uiaccel_aacf_image_title_pane_t2"));
-    textDPrtVS->SetVarietyId(0);
-    //add extra attributes to the countervisual
-    CustomAttributeStructure* textDStylePrt = new (EMM) CustomAttributeStructure(
-             UString("style"), UString("qfn_secondary"));
-    textDPrtVS->AddAttribute(textDStylePrt);
-    
-    CustomAttributeStructure* textDFtcPrt = new (EMM) CustomAttributeStructure(
-            UString("fontthemecolor"), UString("9"));
-    textDPrtVS->AddAttribute(textDFtcPrt);
-    
-    CustomAttributeStructure* textDHaPrt = new (EMM) CustomAttributeStructure(
-            UString("horizontalalign"), UString("1"));
-    textDPrtVS->AddAttribute(textDHaPrt);
-    
-    CustomAttributeStructure* textDVaPrt = new (EMM) CustomAttributeStructure(
-            UString("verticalalign"), UString("1"));
-    textDPrtVS->AddAttribute(textDVaPrt);
-    
-    CustomAttributeStructure* textDRedPrt = new (EMM) CustomAttributeStructure(
-            UString("red"), UString("255"));
-    textDPrtVS->AddAttribute(textTRedPrt);
-    
-     CustomAttributeStructure* textDGreenPrt = new (EMM) CustomAttributeStructure(
-                UString("green"), UString("255"));
-     textDPrtVS->AddAttribute(textTGreenPrt);
-     
-    CustomAttributeStructure* textDBluePrt = new (EMM) CustomAttributeStructure(
-        UString("blue"), UString("255"));
-    textDPrtVS->AddAttribute(textTBluePrt);
-    
-    CustomAttributeStructure* textDAlphaPrt = new (EMM) CustomAttributeStructure(
-        UString("alpha"), UString("0"));
-    textDPrtVS->AddAttribute(textTAlphaPrt);
-    
-    CustomAttributeStructure* textDTsciPrt = new (EMM) CustomAttributeStructure(
-            UString("textskincolorid"), UString("KAknsIIDQsnTextColors"));
-    textDPrtVS->AddAttribute(textTTsciPrt);
-    
-    CustomAttributeStructure* textDTcsiPrt = new (EMM) CustomAttributeStructure(
-        UString("textcolorskinindex"), UString("5"));
-    textDPrtVS->AddAttribute(textDTcsiPrt);
-    
-    CustomAttributeStructure* textDOpacityPrt = new (EMM) CustomAttributeStructure(
-        UString("opacity"), UString("0.7"));
-    textDPrtVS->AddAttribute(textDOpacityPrt);
-    
-    CustomAttributeStructure* textDMarqueePrt = new (EMM) CustomAttributeStructure(
-        UString("marquee"), UString("yes"));
-    textDPrtVS->AddAttribute(textDMarqueePrt);
-    
-    prtBaseElem->AddVisualStructure(textDPrtVS);
-
-	prtBaseElem->AddVisualStructure(counterPrtVS);
-		
-	mTemplatePrtStruct.push_back(prtBaseElem);
-	
-	//now populate data for prtNonhilightElem element
-    //----------------------------------------------------------------------
-    LCTElementStructure* prtNonhilightElem = new (EMM) LCTElementStructure();
-    prtNonhilightElem->SetId(UString("nohighlight"));
-
-    //for backgroung of non-highlighted imagevisual        
-    LCTVisualStructure* nHPrtDeckVs = new (EMM) LCTVisualStructure();
-    nHPrtDeckVs->SetId(UString("deck"));
-    CustomAttributeStructure* nHPrtDeckOpacity = new CustomAttributeStructure(
-                UString("opacity"),UString("1.0"),EAttributeOpacity);
-    nHPrtDeckVs->AddAttribute(nHPrtDeckOpacity);
-    prtNonhilightElem->AddVisualStructure(nHPrtDeckVs);
-	    
-    //for non-highlighted imagevisual
-    LCTVisualStructure* nonHPrtIcon = new (EMM) LCTVisualStructure();
-    nonHPrtIcon->SetVisualType(EVisualImage);
-    nonHPrtIcon->SetId(UString("mul_icon"));
-    nonHPrtIcon->SetPositions(0,0);
-    nonHPrtIcon->SetDimensions(340,340);
-    nonHPrtIcon->SetLCTId(UString("uiaccel_aacf_image_pane_g1"));
-    nonHPrtIcon->SetVarietyId(0);
-    
-    //ADD EXTRA ATTRIBUTE FOR FITMODE
-       
-    CustomAttributeStructure* nonHIPath = new CustomAttributeStructure(
-        UString("imagepath"),UString("mul_icon"),EAttributeNone,
-        ECategoryData);
-    nonHPrtIcon->AddAttribute(nonHIPath);
-    
-    CustomAttributeStructure* nHIOpacity = new CustomAttributeStructure(
-        UString("opacity"),UString("1.0"),EAttributeOpacity);
-    nonHPrtIcon->AddAttribute(nHIOpacity);
-    
-    prtNonhilightElem->AddVisualStructure(nonHPrtIcon);
-    
-    mTemplatePrtStruct.push_back(prtNonhilightElem);
-    
-    //now populate data for prthilightElem element
-    //----------------------------------------------------------------------
-    LCTElementStructure* prtHilightElem = new (EMM) LCTElementStructure();
-    prtHilightElem->SetId(UString("highlight"));
-
-    //for backgroung of non-highlighted imagevisual        
-    LCTVisualStructure* hPrtDeckVs = new (EMM) LCTVisualStructure();
-    hPrtDeckVs->SetId(UString("deck"));
-    CustomAttributeStructure* hDeckOpacity = new CustomAttributeStructure(
-            UString("opacity"),UString("1.0"),EAttributeOpacity);
-    hPrtDeckVs->AddAttribute(hDeckOpacity);
-    prtHilightElem->AddVisualStructure(hPrtDeckVs);
-        
-    //for non-highlighted imagevisual
-    LCTVisualStructure* hPrtIcon = new (EMM) LCTVisualStructure();
-    hPrtIcon->SetVisualType(EVisualImage);
-    hPrtIcon->SetId(UString("mul_icon"));
-    hPrtIcon->SetPositions(0,0);
-    hPrtIcon->SetDimensions(340,340);
-    hPrtIcon->SetLCTId(UString("uiaccel_main_aa_coverflow_pane"));
-    hPrtIcon->SetVarietyId(0);
-    
-    //ADD EXTRA ATTRIBUTE FOR FITMODE
-        
-    CustomAttributeStructure* hIPath = new CustomAttributeStructure(
-            UString("mul_icon"),UString("imagepath"),EAttributeNone,
-        ECategoryData);
-    hPrtIcon->AddAttribute(hIPath);
-    
-    CustomAttributeStructure* hIOpacity = new CustomAttributeStructure(
-        UString("opacity"),UString("1.0"),EAttributeOpacity);
-    hPrtIcon->AddAttribute(hIOpacity);
-    
-    prtHilightElem->AddVisualStructure(hPrtIcon);
-    
-    mTemplatePrtStruct.push_back(prtHilightElem);
-    
-	//==========================================================================	
-	//same procedure for filling up of LSC
-	//==========================================================================
-	//for main layout
-	LCTElementStructure* lscBaseElem = new (EMM) LCTElementStructure();
-	lscBaseElem->SetId(UString("base"));
-	LCTVisualStructure* mainLscVS2 = new (EMM) LCTVisualStructure();
-	mainLscVS2->SetId(UString("mainlayout"));
-	mainLscVS2->SetPositions(0,0);
-	mainLscVS2->SetDimensions(502,299);
-	mainLscVS2->SetLCTId(UString("uiaccel_main_aa_coverflow_pane"));
-	mainLscVS2->SetVarietyId(0);	
-	CustomAttributeStructure* mainLscOpacity = new (EMM) CustomAttributeStructure(
-	            UString("opacity"), UString("1.0"));	
-	mainLscVS2->AddAttribute(mainLscOpacity);
-	lscBaseElem->AddVisualStructure(mainLscVS2);	
-	//for item_center
-	LCTVisualStructure* item_centerLscVs = new (EMM) LCTVisualStructure();
-	item_centerLscVs->SetId(UString("item_center"));
-	item_centerLscVs->SetPositions(114,16);
-	item_centerLscVs->SetDimensions(266,266);
-	item_centerLscVs->SetLCTId(UString("uiaccel_aacf_image_pane"));
-	item_centerLscVs->SetVarietyId(1);
-	CustomAttributeStructure* item_centerLscFM = new (EMM) CustomAttributeStructure(
-	        UString("fitmode"), UString("off"));
-	item_centerLscVs->AddAttribute(item_centerLscFM);
-	lscBaseElem->AddVisualStructure(item_centerLscVs);
-	// For Counter
-	LCTVisualStructure* counterLscVS = new (EMM) LCTVisualStructure();
-	counterLscVS->SetId(UString("mul_count"));
-	counterLscVS->SetPositions(420,32);
-	counterLscVS->SetDimensions(112,21);
-	counterLscVS->SetLCTId(UString("uiaccel_main_aa_coverflow_pane_t1"));
-	counterLscVS->SetVarietyId(1);
-    //add extra attributes to the gridlayout    
-    CustomAttributeStructure* styleLscC = new (EMM) CustomAttributeStructure(
-            UString("style"), UString("qfn_secondary"));
-    
-    CustomAttributeStructure* opacityLscC = new (EMM) CustomAttributeStructure(
-            UString("opacity"), UString("1.0"));
-    
-    CustomAttributeStructure* redLscC = new (EMM) CustomAttributeStructure(
-            UString("red"), UString("255"));
-    
-     CustomAttributeStructure* greenLscC = new (EMM) CustomAttributeStructure(
-                UString("green"), UString("255"));
-     
-    CustomAttributeStructure* blueLscC = new (EMM) CustomAttributeStructure(
-        UString("blue"), UString("255"));
-    
-    CustomAttributeStructure* alphaLscC = new (EMM) CustomAttributeStructure(
-        UString("alpha"), UString("0"));
-    
-    CustomAttributeStructure* horizontalalignLscC = new (EMM) CustomAttributeStructure(
-            UString("horizontalalign"), UString("2"));
-            
-    counterLscVS->AddAttribute(styleLscC);
-    counterLscVS->AddAttribute(opacityLscC);
-    counterLscVS->AddAttribute(redLscC);
-    counterLscVS->AddAttribute(greenLscC);
-    counterLscVS->AddAttribute(blueLscC);
-    counterLscVS->AddAttribute(alphaLscC);
-    counterLscVS->AddAttribute(horizontalalignLscC);
-    
-	lscBaseElem->AddVisualStructure(counterLscVS);
-	
-	//for text layout
-    LCTVisualStructure* textLscLtVS = new (EMM) LCTVisualStructure();
-    textLscLtVS->SetId(UString(KText));
-    textLscLtVS->SetPositions(114,210);
-    textLscLtVS->SetDimensions(266,72);
-    textLscLtVS->SetLCTId(UString("uiaccel_aacf_image_title_pane"));
-    textLscLtVS->SetVarietyId(1);
-    lscBaseElem->AddVisualStructure(textLscLtVS);
-    
-    //for text background
-    LCTVisualStructure* textLscBgVS = new (EMM) LCTVisualStructure();
-    textLscBgVS->SetId(UString(KMulBackGround));
-    textLscBgVS->SetPositions(0,0);
-    textLscBgVS->SetDimensions(266,72);
-    textLscBgVS->SetLCTId(UString("uiaccel_aacf_image_title_pane_g1"));
-    textLscBgVS->SetVarietyId(0);
-    //Add attributes to the text background visual
-    CustomAttributeStructure* bgHaLscTV = new (EMM) CustomAttributeStructure(
-                UString("horizontalalign"), UString("1"));
-    textLscBgVS->AddAttribute(bgHaLscTV);
-    CustomAttributeStructure* bgoLscTV = new (EMM) CustomAttributeStructure(
-        UString("opacity"), UString("0.5"));
-    textLscBgVS->AddAttribute(bgoLscTV);
-    CustomAttributeStructure* bgcLscTV = new (EMM) CustomAttributeStructure(
-            UString("colour"), UString("0"));
-    textLscBgVS->AddAttribute(bgcLscTV);
-    lscBaseElem->AddVisualStructure(textLscBgVS);
-    
-    //for text title
-    LCTVisualStructure* textTLscVS = new (EMM) LCTVisualStructure();
-    textTLscVS->SetId(UString(KMulTitle));
-    textTLscVS->SetPositions(3,4);
-    textTLscVS->SetDimensions(260,27);
-    textTLscVS->SetLCTId(UString("uiaccel_aacf_image_title_pane_t1"));
-    textTLscVS->SetVarietyId(0);
-    //add extra attributes to the countervisual
-    CustomAttributeStructure* textTStyleLsc = new (EMM) CustomAttributeStructure(
-             UString("style"), UString("qfn_secondary"));
-    textTLscVS->AddAttribute(textTStyleLsc);
-    
-    CustomAttributeStructure* textTFtcLsc = new (EMM) CustomAttributeStructure(
-            UString("fontthemecolor"), UString("9"));
-    textTLscVS->AddAttribute(textTFtcLsc);
-    
-    CustomAttributeStructure* textTHaLsc = new (EMM) CustomAttributeStructure(
-            UString("horizontalalign"), UString("1"));
-    textTLscVS->AddAttribute(textTHaLsc);
-    
-    CustomAttributeStructure* textTVaLsc = new (EMM) CustomAttributeStructure(
-            UString("verticalalign"), UString("1"));
-    textTLscVS->AddAttribute(textTVaLsc);
-    
-    CustomAttributeStructure* textTRedLsc = new (EMM) CustomAttributeStructure(
-            UString("red"), UString("255"));
-    textTLscVS->AddAttribute(textTRedLsc);
-    
-     CustomAttributeStructure* textTGreenLsc = new (EMM) CustomAttributeStructure(
-                UString("green"), UString("255"));
-     textTLscVS->AddAttribute(textTGreenLsc);
-     
-    CustomAttributeStructure* textTBlueLsc = new (EMM) CustomAttributeStructure(
-        UString("blue"), UString("255"));
-    textTLscVS->AddAttribute(textTBlueLsc);
-    
-    CustomAttributeStructure* textTAlphaLsc = new (EMM) CustomAttributeStructure(
-        UString("alpha"), UString("0"));
-    textTLscVS->AddAttribute(textTAlphaLsc);
-    
-    CustomAttributeStructure* textTTsciLsc = new (EMM) CustomAttributeStructure(
-            UString("textskincolorid"), UString("KAknsIIDQsnTextColors"));
-    textTLscVS->AddAttribute(textTTsciLsc);
-    
-    CustomAttributeStructure* textTTcsiLsc = new (EMM) CustomAttributeStructure(
-        UString("textcolorskinindex"), UString("5"));
-    textTLscVS->AddAttribute(textTTcsiLsc);
-    
-    CustomAttributeStructure* textTOpacityLsc = new (EMM) CustomAttributeStructure(
-        UString("opacity"), UString("1.0"));
-    textTLscVS->AddAttribute(textTOpacityLsc);
-    
-    lscBaseElem->AddVisualStructure(textTLscVS);
-    
-    //for text detail
-    LCTVisualStructure* textDLscVS = new (EMM) LCTVisualStructure();
-    textDLscVS->SetId(UString(KMulDetail));
-    textDLscVS->SetPositions(4,38);
-    textDLscVS->SetDimensions(260,27);
-    textDLscVS->SetLCTId(UString("uiaccel_aacf_image_title_pane_t2"));
-    textDLscVS->SetVarietyId(0);
-    //add extra attributes to the countervisual
-    CustomAttributeStructure* textDStyleLsc = new (EMM) CustomAttributeStructure(
-             UString("style"), UString("qfn_secondary"));
-    textDLscVS->AddAttribute(textDStyleLsc);
-    
-    CustomAttributeStructure* textDFtcLsc = new (EMM) CustomAttributeStructure(
-            UString("fontthemecolor"), UString("9"));
-    textDLscVS->AddAttribute(textDFtcLsc);
-    
-    CustomAttributeStructure* textDHaLsc = new (EMM) CustomAttributeStructure(
-            UString("horizontalalign"), UString("1"));
-    textDLscVS->AddAttribute(textDHaLsc);
-    
-    CustomAttributeStructure* textDVaLsc = new (EMM) CustomAttributeStructure(
-            UString("verticalalign"), UString("1"));
-    textDLscVS->AddAttribute(textDVaLsc);
-    
-    CustomAttributeStructure* textDRedLsc = new (EMM) CustomAttributeStructure(
-            UString("red"), UString("255"));
-    textDLscVS->AddAttribute(textDRedLsc);
-    
-     CustomAttributeStructure* textDGreenLsc = new (EMM) CustomAttributeStructure(
-                UString("green"), UString("255"));
-     textDLscVS->AddAttribute(textDGreenLsc);
-     
-    CustomAttributeStructure* textDBlueLsc = new (EMM) CustomAttributeStructure(
-        UString("blue"), UString("255"));
-    textDLscVS->AddAttribute(textDBlueLsc);
-    
-    CustomAttributeStructure* textDAlphaLsc = new (EMM) CustomAttributeStructure(
-        UString("alpha"), UString("0"));
-    textDLscVS->AddAttribute(textDAlphaLsc);
-    
-    CustomAttributeStructure* textDTsciLsc = new (EMM) CustomAttributeStructure(
-            UString("textskincolorid"), UString("KAknsIIDQsnTextColors"));
-    textDLscVS->AddAttribute(textDTsciLsc);
-    
-    CustomAttributeStructure* textDTcsiLsc = new (EMM) CustomAttributeStructure(
-        UString("textcolorskinindex"), UString("5"));
-    textDLscVS->AddAttribute(textDTcsiLsc);
-    
-    CustomAttributeStructure* textDOpacityLsc = new (EMM) CustomAttributeStructure(
-        UString("opacity"), UString("0.7"));
-    textDLscVS->AddAttribute(textDOpacityLsc);
-    
-    CustomAttributeStructure* textDMarqueeLsc = new (EMM) CustomAttributeStructure(
-        UString("marquee"), UString("yes"));
-    textDLscVS->AddAttribute(textDMarqueeLsc);
-    
-    lscBaseElem->AddVisualStructure(textDLscVS);
-	mTemplateLscStruct.push_back(lscBaseElem);
-	
-   //now populate data for prtNonhilightElem element
-    //----------------------------------------------------------------------
-    LCTElementStructure* lscNonhilightElem = new (EMM) LCTElementStructure();
-    lscNonhilightElem->SetId(UString("nohighlight"));
-
-    //for backgroung of non-highlighted imagevisual        
-    LCTVisualStructure* nHLscDeckVs = new (EMM) LCTVisualStructure();
-    nHLscDeckVs->SetId(UString("deck"));
-    CustomAttributeStructure* nHDeckOpacity = new CustomAttributeStructure(
-                UString("opacity"),UString("1"),EAttributeOpacity);
-    nHLscDeckVs->AddAttribute(nHDeckOpacity);
-    lscNonhilightElem->AddVisualStructure(nHLscDeckVs);
-        
-    //for non-highlighted imagevisual
-    LCTVisualStructure* nonHLscIcon = new (EMM) LCTVisualStructure();
-    nonHLscIcon->SetVisualType(EVisualImage);
-    nonHLscIcon->SetId(UString("mul_icon"));
-    nonHLscIcon->SetPositions(0,0);
-    nonHLscIcon->SetDimensions(640,360);
-    nonHLscIcon->SetLCTId(UString("uiaccel_main_aa_coverflow_pane"));
-    nonHLscIcon->SetVarietyId(1);
-    
-    //ADD EXTRA ATTRIBUTE FOR FITMODE
-       
-    CustomAttributeStructure* nonHLscIPath = new CustomAttributeStructure(
-        UString("imagepath"),UString("mul_icon"),EAttributeNone,
-        ECategoryData);
-    nonHLscIcon->AddAttribute(nonHLscIPath);
-    
-    CustomAttributeStructure* nHLscIOpacity = new CustomAttributeStructure(
-        UString("opacity"),UString("1"),EAttributeOpacity);
-    nonHLscIcon->AddAttribute(nHLscIOpacity);
-    
-    lscNonhilightElem->AddVisualStructure(nonHLscIcon);
-    
-    mTemplateLscStruct.push_back(lscNonhilightElem);
-	    
-    //now populate data for prthilightElem element
-    //----------------------------------------------------------------------
-    LCTElementStructure* lscHilightElem = new (EMM) LCTElementStructure();
-    lscHilightElem->SetId(UString("highlight"));
-
-    //for backgroung of non-highlighted imagevisual        
-    LCTVisualStructure* hLscDeckVs = new (EMM) LCTVisualStructure();
-    hLscDeckVs->SetId(UString("deck"));
-    CustomAttributeStructure* hLscDeckOpacity = new CustomAttributeStructure(
-            UString("opacity"),UString("1"),EAttributeOpacity);
-    hLscDeckVs->AddAttribute(hLscDeckOpacity);
-    lscHilightElem->AddVisualStructure(hLscDeckVs);
-        
-    //for non-highlighted imagevisual
-    LCTVisualStructure* hLscIcon = new (EMM) LCTVisualStructure();
-    hLscIcon->SetVisualType(EVisualImage);
-    hLscIcon->SetId(UString("mul_icon"));
-    hLscIcon->SetPositions(0,0);
-    hLscIcon->SetDimensions(360,640);
-    hLscIcon->SetLCTId(UString("uiaccel_main_aa_coverflow_pane"));
-    hLscIcon->SetVarietyId(1);
-    
-    //ADD EXTRA ATTRIBUTE FOR FITMODE
-    
-    CustomAttributeStructure* hLscIPath = new CustomAttributeStructure(
-        UString("imagepath"),UString("mul_icon"),EAttributeNone,
-        ECategoryData);
-    hLscIcon->AddAttribute(hLscIPath);
-    
-    CustomAttributeStructure* hLscIOpacity = new CustomAttributeStructure(
-        UString("opacity"),UString("1"),EAttributeOpacity);
-    hLscIcon->AddAttribute(hLscIOpacity);
-    
-    lscHilightElem->AddVisualStructure(hLscIcon);
-    
-    mTemplateLscStruct.push_back(lscHilightElem);
-    }
-		    
-    }//namespace ends
--- a/mulwidgets/mulcoverflowwidget/src/mulcovertemplate3.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,499 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Description of various grid templates
- *
-*/
-
- 
-#include "mulcovertemplates.h"
-#include "mulcoverflowdefinitions.h"
-#include "mulvisualutility.h"
-#include "mulutility.h"
-#include <osn/osnnew.h> 
-
-namespace Alf
-    {
-    
-MulCoverLogicalTemplate3::~MulCoverLogicalTemplate3()
-    {
-    
-    }
-    
-//----------------------------------------------------------------
-// PopulateData
-//----------------------------------------------------------------
-//
-void MulCoverLogicalTemplate3::PopulateData ()
-    {	
-    //For base element
-    LCTElementStructure* prtBaseElem = new (EMM) LCTElementStructure();
-	//for main layout
-	prtBaseElem->SetId(UString(KBase));
-	LCTVisualStructure* mainPrtVS = new (EMM) LCTVisualStructure();
-	mainPrtVS->SetId(UString(KMainLayout));
-	//@todo:: later these need to be retrieved from LCT utility
-	mainPrtVS->SetPositions(0,0);
-	mainPrtVS->SetDimensions(360,519);
-	mainPrtVS->SetLCTId(UString("uiaccel_main_aa_coverflow_pane"));
-	mainPrtVS->SetVarietyId(0);	
-	CustomAttributeStructure* mainPrtOpacity = new (EMM) CustomAttributeStructure(
-                UString(KOpacity), UString("1.0"));    
-	mainPrtVS->AddAttribute(mainPrtOpacity);
-   CustomAttributeStructure* mainPrtMCount = new (EMM) CustomAttributeStructure(
-                    UString(KTempMaxCount), UString("3"));  
-    mainPrtVS->AddAttribute(mainPrtMCount);
-	prtBaseElem->AddVisualStructure(mainPrtVS);
-	//for item_center
-	LCTVisualStructure* item_centerPrtVS = new (EMM) LCTVisualStructure();
-	item_centerPrtVS->SetId(UString(KItemCentre));
-	item_centerPrtVS->SetPositions(10,22);
-	item_centerPrtVS->SetDimensions(340,340);
-	item_centerPrtVS->SetLCTId(UString("uiaccel_aacf_image_pane"));
-	item_centerPrtVS->SetVarietyId(0);
-	
-	CustomAttributeStructure* item_centerPrtFM = new (EMM) CustomAttributeStructure(
-	        UString(KFitMode), UString(KOff));
-	item_centerPrtVS->AddAttribute(item_centerPrtFM);
-	prtBaseElem->AddVisualStructure(item_centerPrtVS);
-	//for counter visual
-	LCTVisualStructure* counterPrtVS = new (EMM) LCTVisualStructure();
-	counterPrtVS->SetId(UString(KMulCount));
-	counterPrtVS->SetPositions(238,0);
-	counterPrtVS->SetDimensions(112,21);
-	counterPrtVS->SetLCTId(UString("uiaccel_main_aa_coverflow_pane_t1"));
-	counterPrtVS->SetVarietyId(0);
-	//add extra attributes to the countervisual
-		
-	CustomAttributeStructure* stylePrtC = new (EMM) CustomAttributeStructure(
-	        UString(KTextStyle), UString("qfn_secondary"));
-	
-	CustomAttributeStructure* opacityPrtC = new (EMM) CustomAttributeStructure(
-	        UString(KOpacity), UString("1.0"));
-	
-	CustomAttributeStructure* redPrtC = new (EMM) CustomAttributeStructure(
-	        UString(KRedColorAttrib), UString("255"));
-	
-     CustomAttributeStructure* greenPrtC = new (EMM) CustomAttributeStructure(
-                UString(KGreenColorAttrib), UString("255"));
-     
-    CustomAttributeStructure* bluePrtC = new (EMM) CustomAttributeStructure(
-        UString(KBlueColorAttrib), UString("255"));
-    
-    CustomAttributeStructure* alphaPrtC = new (EMM) CustomAttributeStructure(
-        UString(KAlphaColorAttrib), UString("0"));
-    
-    CustomAttributeStructure* horizontalalignPrtC = new (EMM) CustomAttributeStructure(
-            UString("horizontalalign"), UString("2"));
-    	    
-    counterPrtVS->AddAttribute(stylePrtC);
-    counterPrtVS->AddAttribute(opacityPrtC);
-    counterPrtVS->AddAttribute(redPrtC);
-    counterPrtVS->AddAttribute(greenPrtC);
-    counterPrtVS->AddAttribute(bluePrtC);
-    counterPrtVS->AddAttribute(alphaPrtC);
-    counterPrtVS->AddAttribute(horizontalalignPrtC);   
-    
-	prtBaseElem->AddVisualStructure(counterPrtVS);
-	
-	//for text layout
-	LCTVisualStructure* textPrtLtVS = new (EMM) LCTVisualStructure();
-	textPrtLtVS->SetId(UString(KText));
-	textPrtLtVS->SetPositions(20,360);
-	textPrtLtVS->SetDimensions(340,82);
-	textPrtLtVS->SetLCTId(UString("uiaccel_aacf_image_title_pane"));
-	textPrtLtVS->SetVarietyId(4);
-	prtBaseElem->AddVisualStructure(textPrtLtVS);
-	
-	//for text background
-	LCTVisualStructure* textPrtBgVS = new (EMM) LCTVisualStructure();
-	textPrtBgVS->SetId(UString(KMulBackGround));
-	textPrtBgVS->SetPositions(0,0);
-	textPrtBgVS->SetDimensions(340,82);
-	textPrtBgVS->SetLCTId(UString("uiaccel_aacf_image_title_pane_g1"));
-	textPrtBgVS->SetVarietyId(0);
-    //Add attributes to the text background visual
-	CustomAttributeStructure* bgHaPrtTV = new (EMM) CustomAttributeStructure(
-                UString(KHorzAlign), UString("1"));
-	textPrtBgVS->AddAttribute(bgHaPrtTV);
-    CustomAttributeStructure* bgoPrtTV = new (EMM) CustomAttributeStructure(
-        UString(KOpacity), UString("0.0"));
-    textPrtBgVS->AddAttribute(bgoPrtTV);
-    CustomAttributeStructure* bgcPrtTV = new (EMM) CustomAttributeStructure(
-            UString(KColor), UString("0"));
-    textPrtBgVS->AddAttribute(bgcPrtTV);
-    prtBaseElem->AddVisualStructure(textPrtBgVS);
-    
-    //for text title
-    LCTVisualStructure* textTPrtVS = new (EMM) LCTVisualStructure();
-    textTPrtVS->SetId(UString(KMulTitle));
-    textTPrtVS->SetPositions(15,9);
-    textTPrtVS->SetDimensions(310,27);
-    textTPrtVS->SetLCTId(UString("uiaccel_aacf_image_title_pane_t1"));
-    textTPrtVS->SetVarietyId(0);
-    //add extra attributes to the countervisual
-    CustomAttributeStructure* textTStylePrt = new (EMM) CustomAttributeStructure(
-             UString(KTextStyle), UString("qfn_secondary"));
-    textTPrtVS->AddAttribute(textTStylePrt);
-    
-    CustomAttributeStructure* textTFtcPrt = new (EMM) CustomAttributeStructure(
-            UString(KFontThemeColor), UString("9"));
-    textTPrtVS->AddAttribute(textTFtcPrt);
-    
-    CustomAttributeStructure* textTHaPrt = new (EMM) CustomAttributeStructure(
-            UString(KHorzAlign), UString("1"));
-    textTPrtVS->AddAttribute(textTHaPrt);
-    
-    CustomAttributeStructure* textTVaPrt = new (EMM) CustomAttributeStructure(
-            UString(KVertAlign), UString("1"));
-    textTPrtVS->AddAttribute(textTVaPrt);
-    
-    CustomAttributeStructure* textTRedPrt = new (EMM) CustomAttributeStructure(
-            UString(KRedColorAttrib), UString("255"));
-    textTPrtVS->AddAttribute(textTRedPrt);
-    
-     CustomAttributeStructure* textTGreenPrt = new (EMM) CustomAttributeStructure(
-                UString(KGreenColorAttrib), UString("255"));
-     textTPrtVS->AddAttribute(textTGreenPrt);
-     
-    CustomAttributeStructure* textTBluePrt = new (EMM) CustomAttributeStructure(
-        UString(KBlueColorAttrib), UString("255"));
-    textTPrtVS->AddAttribute(textTBluePrt);
-    
-    CustomAttributeStructure* textTAlphaPrt = new (EMM) CustomAttributeStructure(
-        UString(KAlphaColorAttrib), UString("0"));
-    textTPrtVS->AddAttribute(textTAlphaPrt);
-    
-    CustomAttributeStructure* textTTsciPrt = new (EMM) CustomAttributeStructure(
-            UString(KTextSkinColorId), UString("KAknsIIDQsnTextColors"));
-    textTPrtVS->AddAttribute(textTTsciPrt);
-    
-    CustomAttributeStructure* textTTcsiPrt = new (EMM) CustomAttributeStructure(
-        UString(KTextColorSkinIndex), UString("5"));
-    textTPrtVS->AddAttribute(textTTcsiPrt);
-    
-    CustomAttributeStructure* textTOpacityPrt = new (EMM) CustomAttributeStructure(
-        UString(KOpacity), UString("1.0"));
-    textTPrtVS->AddAttribute(textTOpacityPrt);
-    
-    prtBaseElem->AddVisualStructure(textTPrtVS);
-    
-    //for text detail
-    LCTVisualStructure* textDPrtVS = new (EMM) LCTVisualStructure();
-    textDPrtVS->SetId(UString(KMulDetail));
-    textDPrtVS->SetPositions(15,46);
-    textDPrtVS->SetDimensions(310,27);
-    textDPrtVS->SetLCTId(UString("uiaccel_aacf_image_title_pane_t2"));
-    textDPrtVS->SetVarietyId(0);
-    //add extra attributes to the countervisual
-    CustomAttributeStructure* textDStylePrt = new (EMM) CustomAttributeStructure(
-             UString(KTextStyle), UString("qfn_secondary"));
-    textDPrtVS->AddAttribute(textDStylePrt);
-    
-    CustomAttributeStructure* textDFtcPrt = new (EMM) CustomAttributeStructure(
-            UString(KFontThemeColor), UString("9"));
-    textDPrtVS->AddAttribute(textDFtcPrt);
-    
-    CustomAttributeStructure* textDHaPrt = new (EMM) CustomAttributeStructure(
-            UString(KHorzAlign), UString("1"));
-    textDPrtVS->AddAttribute(textDHaPrt);
-    
-    CustomAttributeStructure* textDVaPrt = new (EMM) CustomAttributeStructure(
-            UString(KVertAlign), UString("1"));
-    textDPrtVS->AddAttribute(textDVaPrt);
-    
-    CustomAttributeStructure* textDRedPrt = new (EMM) CustomAttributeStructure(
-            UString(KRedColorAttrib), UString("255"));
-    textDPrtVS->AddAttribute(textDRedPrt);
-    
-     CustomAttributeStructure* textDGreenPrt = new (EMM) CustomAttributeStructure(
-                UString(KGreenColorAttrib), UString("255"));
-     textDPrtVS->AddAttribute(textDGreenPrt);
-     
-    CustomAttributeStructure* textDBluePrt = new (EMM) CustomAttributeStructure(
-        UString(KBlueColorAttrib), UString("255"));
-    textDPrtVS->AddAttribute(textDBluePrt);
-    
-    CustomAttributeStructure* textDAlphaPrt = new (EMM) CustomAttributeStructure(
-        UString(KAlphaColorAttrib), UString("0"));
-    textDPrtVS->AddAttribute(textDAlphaPrt);
-    
-    CustomAttributeStructure* textDTsciPrt = new (EMM) CustomAttributeStructure(
-            UString(KTextSkinColorId), UString("KAknsIIDQsnTextColors"));
-    textDPrtVS->AddAttribute(textDTsciPrt);
-    
-    CustomAttributeStructure* textDTcsiPrt = new (EMM) CustomAttributeStructure(
-        UString(KTextColorSkinIndex), UString("5"));
-    textDPrtVS->AddAttribute(textDTcsiPrt);
-    
-    CustomAttributeStructure* textDOpacityPrt = new (EMM) CustomAttributeStructure(
-        UString(KOpacity), UString("0.7"));
-    textDPrtVS->AddAttribute(textDOpacityPrt);
-    
-    CustomAttributeStructure* textDMarqueePrt = new (EMM) CustomAttributeStructure(
-       UString(KMarquee), UString("yes"));
-   textDPrtVS->AddAttribute(textDMarqueePrt);
-    
-    prtBaseElem->AddVisualStructure(textDPrtVS);
-  	
-	mTemplatePrtStruct.push_back(prtBaseElem);
-    
-    //now populate data for slider element
-    //----------------------------------------------------------------------
-    LCTElementStructure* prtSliderElem = new (EMM) LCTElementStructure();
-    prtSliderElem->SetId(UString(KSlider)); 
-    
-    LCTVisualStructure* prtSliderVis = new (EMM)LCTVisualStructure();
-    prtSliderVis->SetPositions(0,441);
-    prtSliderVis->SetDimensions(340,78);
-    prtSliderVis->SetLCTId(UString("uiaccel_aacf_slider_pane"));
-    prtSliderVis->SetVarietyId(0);
-    
-    CustomAttributeStructure* sliderPrtOpacity = new CustomAttributeStructure(
-         UString(KTemplateId),UString("1"));
-    prtSliderVis->AddAttribute(sliderPrtOpacity);
-    
-    CustomAttributeStructure* sliderPrtTemplate = new CustomAttributeStructure(
-            UString(KOpacity),UString("1.0"),EAttributeOpacity);
-    prtSliderVis->AddAttribute(sliderPrtTemplate);
-
-    prtSliderElem->AddVisualStructure(prtSliderVis);
-    
-    mTemplatePrtStruct.push_back(prtSliderElem);
-	//==========================================================================	
-	//same procedure for filling up of LSC
-	//==========================================================================
-	//for main layout
-	LCTElementStructure* lscBaseElem = new (EMM) LCTElementStructure();
-	lscBaseElem->SetId(UString(KBase));
-	LCTVisualStructure* mainLscVS2 = new (EMM) LCTVisualStructure();
-	mainLscVS2->SetId(UString(KMainLayout));
-	mainLscVS2->SetPositions(0,0);
-	mainLscVS2->SetDimensions(640,360);
-	mainLscVS2->SetLCTId(UString("uiaccel_main_aa_coverflow_pane"));
-	mainLscVS2->SetVarietyId(1);	
-	CustomAttributeStructure* mainLscOpacity = new (EMM) CustomAttributeStructure(
-	            UString(KOpacity), UString("1.0"));	
-	mainLscVS2->AddAttribute(mainLscOpacity);
-	CustomAttributeStructure* mainLscMCount = new (EMM) CustomAttributeStructure(
-                        UString(KTempMaxCount), UString("3"));  
-    mainLscVS2->AddAttribute(mainLscMCount);
-    CustomAttributeStructure* mainLscFScroll = new (EMM) CustomAttributeStructure(
-                        UString(KFastScroll), UString("0"));  
-    mainLscVS2->AddAttribute(mainLscFScroll);
-	lscBaseElem->AddVisualStructure(mainLscVS2);	
-	//for item_center
-	LCTVisualStructure* item_centerLscVs = new (EMM) LCTVisualStructure();
-	item_centerLscVs->SetId(UString(KCentreItem));
-	item_centerLscVs->SetPositions(198,37);
-	item_centerLscVs->SetDimensions(242,242);
-	item_centerLscVs->SetLCTId(UString("uiaccel_aacf_image_pane"));
-	item_centerLscVs->SetVarietyId(2);
-	CustomAttributeStructure* item_centerLscFM = new (EMM) CustomAttributeStructure(
-	        UString(KFitMode), UString(KOff));
-	item_centerLscVs->AddAttribute(item_centerLscFM);
-	lscBaseElem->AddVisualStructure(item_centerLscVs);
-	
-	//For item right
-	LCTVisualStructure* item_rightLscVs = new (EMM) LCTVisualStructure();
-	item_rightLscVs->SetId(UString(KRightItem));
-	item_rightLscVs->SetPositions(480,50);
-	item_rightLscVs->SetDimensions(214,214);
-	item_rightLscVs->SetLCTId(UString("uiaccel_aacf_image_pane_cp002"));
-	item_rightLscVs->SetVarietyId(2);
-    lscBaseElem->AddVisualStructure(item_rightLscVs);
-	// For Counter
-	LCTVisualStructure* counterLscVS = new (EMM) LCTVisualStructure();
-	counterLscVS->SetId(UString(KMulCount));
-	counterLscVS->SetPositions(522,6);
-	counterLscVS->SetDimensions(112,21);
-	counterLscVS->SetLCTId(UString("uiaccel_main_aa_coverflow_pane_t1"));
-	counterLscVS->SetVarietyId(2);
-    //add extra attributes to the gridlayout
-        
-    CustomAttributeStructure* styleLscC = new (EMM) CustomAttributeStructure(
-            UString(KTextStyle), UString("qfn_secondary"));
-    
-    CustomAttributeStructure* opacityLscC = new (EMM) CustomAttributeStructure(
-            UString(KOpacity), UString("1.0"));
-    
-    CustomAttributeStructure* redLscC = new (EMM) CustomAttributeStructure(
-            UString(KRedColorAttrib), UString("255"));
-    
-     CustomAttributeStructure* greenLscC = new (EMM) CustomAttributeStructure(
-                UString(KGreenColorAttrib), UString("255"));
-     
-    CustomAttributeStructure* blueLscC = new (EMM) CustomAttributeStructure(
-        UString(KBlueColorAttrib), UString("255"));
-    
-    CustomAttributeStructure* alphaLscC = new (EMM) CustomAttributeStructure(
-        UString(KAlphaColorAttrib), UString("0"));
-    
-    CustomAttributeStructure* horizontalalignLscC = new (EMM) CustomAttributeStructure(
-            UString(KHorzAlign), UString("2"));
-           
-    counterLscVS->AddAttribute(styleLscC);
-    counterLscVS->AddAttribute(opacityLscC);
-    counterLscVS->AddAttribute(redLscC);
-    counterLscVS->AddAttribute(greenLscC);
-    counterLscVS->AddAttribute(blueLscC);
-    counterLscVS->AddAttribute(alphaLscC);
-    counterLscVS->AddAttribute(horizontalalignLscC);
-    
-	lscBaseElem->AddVisualStructure(counterLscVS);
-	
-	//for text layout
-    LCTVisualStructure* textLscLtVS = new (EMM) LCTVisualStructure();
-    textLscLtVS->SetId(UString(KText));
-    textLscLtVS->SetPositions(161,284);
-    textLscLtVS->SetDimensions(318,72);
-    textLscLtVS->SetLCTId(UString("uiaccel_aacf_image_title_pane"));
-    textLscLtVS->SetVarietyId(2);
-    lscBaseElem->AddVisualStructure(textLscLtVS);
-    
-    //for text background
-    LCTVisualStructure* textLscBgVS = new (EMM) LCTVisualStructure();
-    textLscBgVS->SetId(UString(KMulBackGround));
-    textLscBgVS->SetPositions(0,0);
-    textLscBgVS->SetDimensions(318,72);
-    textLscBgVS->SetLCTId(UString("uiaccel_aacf_image_title_pane_g1"));
-    textLscBgVS->SetVarietyId(1);
-    //Add attributes to the text background visual
-    CustomAttributeStructure* bgHaLscTV = new (EMM) CustomAttributeStructure(
-                UString(KHorzAlign), UString("1"));
-    textLscBgVS->AddAttribute(bgHaLscTV);
-    CustomAttributeStructure* bgoLscTV = new (EMM) CustomAttributeStructure(
-        UString(KOpacity), UString("0.0"));
-    textLscBgVS->AddAttribute(bgoLscTV);
-    CustomAttributeStructure* bgcLscTV = new (EMM) CustomAttributeStructure(
-            UString(KColor), UString("0"));
-    textLscBgVS->AddAttribute(bgcLscTV);
-    lscBaseElem->AddVisualStructure(textLscBgVS);
-    
-    //for text title
-    LCTVisualStructure* textTLscVS = new (EMM) LCTVisualStructure();
-    textTLscVS->SetId(UString(KMulTitle));
-    textTLscVS->SetPositions(4,4);
-    textTLscVS->SetDimensions(310,27);
-    textTLscVS->SetLCTId(UString("uiaccel_aacf_image_title_pane_t1"));
-    textTLscVS->SetVarietyId(1);
-    //add extra attributes to the countervisual
-    CustomAttributeStructure* textTStyleLsc = new (EMM) CustomAttributeStructure(
-             UString(KTextStyle), UString("qfn_secondary"));
-    textTLscVS->AddAttribute(textTStyleLsc);
-    
-    CustomAttributeStructure* textTFtcLsc = new (EMM) CustomAttributeStructure(
-            UString(KFontThemeColor), UString("9"));
-    textTLscVS->AddAttribute(textTFtcLsc);
-    
-    CustomAttributeStructure* textTHaLsc = new (EMM) CustomAttributeStructure(
-            UString(KHorzAlign), UString("1"));
-    textTLscVS->AddAttribute(textTHaLsc);
-    
-    CustomAttributeStructure* textTVaLsc = new (EMM) CustomAttributeStructure(
-            UString(KVertAlign), UString("1"));
-    textTLscVS->AddAttribute(textTVaLsc);
-    
-    CustomAttributeStructure* textTRedLsc = new (EMM) CustomAttributeStructure(
-            UString(KRedColorAttrib), UString("255"));
-    textTLscVS->AddAttribute(textTRedLsc);
-    
-     CustomAttributeStructure* textTGreenLsc = new (EMM) CustomAttributeStructure(
-                UString(KGreenColorAttrib), UString("255"));
-     textTLscVS->AddAttribute(textTGreenLsc);
-     
-    CustomAttributeStructure* textTBlueLsc = new (EMM) CustomAttributeStructure(
-        UString(KBlueColorAttrib), UString("255"));
-    textTLscVS->AddAttribute(textTBlueLsc);
-    
-    CustomAttributeStructure* textTAlphaLsc = new (EMM) CustomAttributeStructure(
-        UString(KAlphaColorAttrib), UString("0"));
-    textTLscVS->AddAttribute(textTAlphaLsc);
-    
-    CustomAttributeStructure* textTTsciLsc = new (EMM) CustomAttributeStructure(
-            UString(KTextSkinColorId), UString("KAknsIIDQsnTextColors"));
-    textTLscVS->AddAttribute(textTTsciLsc);
-    
-    CustomAttributeStructure* textTTcsiLsc = new (EMM) CustomAttributeStructure(
-        UString(KTextColorSkinIndex), UString("5"));
-    textTLscVS->AddAttribute(textTTcsiLsc);
-    
-    CustomAttributeStructure* textTOpacityLsc = new (EMM) CustomAttributeStructure(
-        UString(KOpacity), UString("1.0"));
-    textTLscVS->AddAttribute(textTOpacityLsc);
-    
-    lscBaseElem->AddVisualStructure(textTLscVS);
-    
-    //for text detail
-    LCTVisualStructure* textDLscVS = new (EMM) LCTVisualStructure();
-    textDLscVS->SetId(UString(KMulDetail));
-    textDLscVS->SetPositions(4,38);
-    textDLscVS->SetDimensions(310,27);
-    textDLscVS->SetLCTId(UString("uiaccel_aacf_image_title_pane_t2"));
-    textDLscVS->SetVarietyId(1);
-    //add extra attributes to the countervisual
-    CustomAttributeStructure* textDStyleLsc = new (EMM) CustomAttributeStructure(
-             UString(KTextStyle), UString("qfn_secondary"));
-    textDLscVS->AddAttribute(textDStyleLsc);
-    
-    CustomAttributeStructure* textDFtcLsc = new (EMM) CustomAttributeStructure(
-            UString(KFontThemeColor), UString("9"));
-    textDLscVS->AddAttribute(textDFtcLsc);
-    
-    CustomAttributeStructure* textDHaLsc = new (EMM) CustomAttributeStructure(
-            UString(KHorzAlign), UString("1"));
-    textDLscVS->AddAttribute(textDHaLsc);
-    
-    CustomAttributeStructure* textDVaLsc = new (EMM) CustomAttributeStructure(
-            UString(KVertAlign), UString("1"));
-    textDLscVS->AddAttribute(textDVaLsc);
-    
-    CustomAttributeStructure* textDRedLsc = new (EMM) CustomAttributeStructure(
-            UString(KRedColorAttrib), UString("255"));
-    textDLscVS->AddAttribute(textDRedLsc);
-    
-     CustomAttributeStructure* textDGreenLsc = new (EMM) CustomAttributeStructure(
-                UString(KGreenColorAttrib), UString("255"));
-     textDLscVS->AddAttribute(textDGreenLsc);
-     
-    CustomAttributeStructure* textDBlueLsc = new (EMM) CustomAttributeStructure(
-        UString(KBlueColorAttrib), UString("255"));
-    textDLscVS->AddAttribute(textDBlueLsc);
-    
-    CustomAttributeStructure* textDAlphaLsc = new (EMM) CustomAttributeStructure(
-        UString(KAlphaColorAttrib), UString("0"));
-    textDLscVS->AddAttribute(textDAlphaLsc);
-    
-    CustomAttributeStructure* textDTsciLsc = new (EMM) CustomAttributeStructure(
-            UString(KTextSkinColorId), UString("KAknsIIDQsnTextColors"));
-    textDLscVS->AddAttribute(textDTsciLsc);
-    
-    CustomAttributeStructure* textDTcsiLsc = new (EMM) CustomAttributeStructure(
-        UString(KTextColorSkinIndex), UString("5"));
-    textDLscVS->AddAttribute(textDTcsiLsc);
-    
-    CustomAttributeStructure* textDOpacityLsc = new (EMM) CustomAttributeStructure(
-        UString(KOpacity), UString("0.7"));
-    textDLscVS->AddAttribute(textDOpacityLsc);
-    
-    CustomAttributeStructure* textDMarqueeLsc = new (EMM) CustomAttributeStructure(
-        UString(KMarquee), UString("yes"));
-    textDLscVS->AddAttribute(textDMarqueeLsc);
-    
-    lscBaseElem->AddVisualStructure(textDLscVS);
-	
-	mTemplateLscStruct.push_back(lscBaseElem);
-	
-       }
-		    
-    }//namespace ends
--- a/mulwidgets/mulcoverflowwidget/src/mulcovertemplate4.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,344 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Description of various grid templates
- *
-*/
-
- 
-#include "mulcoverflowtemplate.h"
-
-#include <AknUtils.h>
-
-#include <alf/alftextvisual.h>
-#include <alf/alfutil.h>
-#include "mulassert.h"
-
-namespace Alf
-    {
-
-// ---------------------------------------------------------------------------
-// MulCoverLogicalTemplate4
-// ---------------------------------------------------------------------------
-//  
-MulCoverFlowTemplate4::MulCoverFlowTemplate4(MulCoverFlowControl &aControl, 
-        MulBaseElement &aBaseElement):MulCoverFlowTemplate(aControl, aBaseElement)
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// ~MulCoverLogicalTemplate4
-// ---------------------------------------------------------------------------
-//  
-MulCoverFlowTemplate4::~MulCoverFlowTemplate4()
-    {
-    
-    }
-    
-
-// ---------------------------------------------------------------------------
-// GetIconSize
-// ---------------------------------------------------------------------------
-//  
-void MulCoverFlowTemplate4::GetIconSize(mulvisualitem::TVisualAttribute aAttribute,bool aIslandscape, int& aHeight, int& aWidth)
-	{
-	int appMainPaneVerityId;
-	int coverFlowPaneVarietyId;
-	int imagePaneVerityId ;
-	int videoIndVerityId ;
-	if (aIslandscape)
-		{
-		appMainPaneVerityId = 7;
-		coverFlowPaneVarietyId = 1;
-		imagePaneVerityId = 6;
-		videoIndVerityId = 0;
-		}
-	else
-		{
-		appMainPaneVerityId = 7;
-		coverFlowPaneVarietyId = 1;
-		imagePaneVerityId = 6;
-		videoIndVerityId = 0;
-		}
-	
-	// Get  the size of the appwindow
-	TAknWindowLineLayout appMainLayout = 
-		AknLayoutScalable_UiAccel::main_pane(appMainPaneVerityId).LayoutLine();
-	TAknLayoutRect appMainRect;
-	appMainRect.LayoutRect(  AlfUtil::ScreenSize(), appMainLayout );
-	TSize appMainSize(appMainRect.Rect().Size());
-	
-	// Get the size of the coverflow main window
-	TAknWindowLineLayout mainLayout = 
-	AknLayoutScalable_UiAccel::main_aa_coverflow_pane(coverFlowPaneVarietyId).LayoutLine();
-	TAknLayoutRect mainRect;
-	mainRect.LayoutRect(  AlfUtil::ScreenSize(), mainLayout );
-	TSize mainSize(mainRect.Rect().Size());
-
-	switch(aAttribute)
-		{
-		case mulvisualitem::KMulIcon1:
-			{
-            TAknWindowLineLayout centerLayout = 
-                AknLayoutScalable_UiAccel::aacf_image_pane(imagePaneVerityId).LayoutLine();
-            TAknLayoutRect centerRect;
-            centerRect.LayoutRect( TSize(mainSize), centerLayout );
-            aHeight = centerRect.Rect().Size().iHeight;
-            aWidth  = centerRect.Rect().Size().iWidth;
-			break;
-			}
-		case mulvisualitem::KMulIndicator2:
-			{
-            TAknWindowLineLayout centerLayout = 
-                AknLayoutScalable_UiAccel::main_aa_video_pane_g1(videoIndVerityId).LayoutLine();
-            TAknLayoutRect centerRect;
-            centerRect.LayoutRect( TSize(mainSize), centerLayout );
-            aHeight = centerRect.Rect().Size().iHeight;
-            aWidth  = centerRect.Rect().Size().iWidth;			
-			break;
-			}
-		default:
-			{
-			// invalid attribute
-			// raise exception.
-			__MUL_ASSERT(false,KInvalidAttribute);
-			
-			break;
-			}
-		}
-	}
-    
-    
-// ---------------------------------------------------------------------------
-// CreateVisualisation
-// ---------------------------------------------------------------------------
-//  
-void MulCoverFlowTemplate4::CreateVisualisation(bool aIsLandscape,bool aIsOrientationChange)
-	{
-	// set the default attribue of the template
-	// irrespective of the orientation
-    mData->mSliderEnabled = false;
-    mData->mUiOnOffFlag = true;
-	mData->mMaxVisibleCount = 1;
-	mData->mEnhancedSupportFlag = true;
-	
-    // store the default attribute in base element
-    mData->mBaseElement->SetFitMode(true);
-	mData->mBaseElement->StoreTextVisibility( false );
-	
-    // get the main text layout
-    CAlfLayout& textLayout = mData->mBaseElement->TextLayout();	
-    textLayout.SetOpacity(0);
-	
-	mData->mOrientationChange = aIsOrientationChange;
-	if (aIsLandscape)
-		{
-		// create visualisation for landscape
-		CreateLscStructure();
-		}
-	else
-		{
-		// create visualisation for potrait
-		CreatePrtStructure();
-		}
-	mData->mOrientationChange = false;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CreatePrtStructure
-// ---------------------------------------------------------------------------
-//  
-void MulCoverFlowTemplate4::CreatePrtStructure()
-	{
-	// list of all component lct verity id.
-	int mainPaneVerityId = 1;
-	int imagePaneVerityId = 6;
-	int videoPaneVerityId = 0;
-	int counterPaneVerityId = 3;
-	
-	CAlfVisual* main = mData->mBaseElement->findVisual(KMainLayoutIndex);        
-	CAlfLayout* parentLayout = main->Layout();
-	TSize mainSize = parentLayout->Size().Target().AsSize();
-	
-	// get for main layout
-	TAknWindowLineLayout componentLayout = 
-		AknLayoutScalable_UiAccel::main_aa_coverflow_pane(mainPaneVerityId).LayoutLine();
-	TRect mainRect = IconWindowRect(componentLayout, mainSize);
-	main->SetPos(TAlfRealPoint(0,0));
-	main->SetSize(mainRect.Size());
-	
-	
-	// for deck layout
-	CAlfDeckLayout& deckLayout = static_cast<CAlfDeckLayout&>(
-	        static_cast<CAlfLayout*>(main)->Visual(KMainLayoutIndex) );
-	deckLayout.SetSize(mainRect.Size(),0);
-	
-	// if set background with some skin id is called before calling set model
-	// then the visual and texture would be created with 0,0 sizes
-	// hence we need to resize them                
-	CAlfVisual* backgroundVisual = deckLayout.FindTag(backgroundvisual);
-	if(backgroundVisual)
-	   {
-	   backgroundVisual->SetSize(mainRect.Size(),0);              
-	   }
-	
-	// for center item	  
-    componentLayout = 
-        AknLayoutScalable_UiAccel::aacf_image_pane(imagePaneVerityId).LayoutLine();
-	TRect centerRect = IconWindowRect(componentLayout,mainRect);          
-	
-	TMulCoverFlowItem highlightItem(centerRect.iTl.iX,
-		centerRect.iTl.iY,centerRect.Size().iWidth,centerRect.Size().iHeight);
-
-	// apply attribute
-    mData->mBaseElement->StoreVisualDimensions(highlightItem,highlightItem,mData->mMaxVisibleCount );
-	 
-   
-	 
-	 // for indicator icon
-	componentLayout =
-	    AknLayoutScalable_UiAccel::main_aa_video_pane_g1(videoPaneVerityId).LayoutLine();
-	TRect indRect = IconWindowRect(componentLayout,mainRect);
-    TSize indSize(indRect.Size());
-    mData->mIndicatorDimensions.height = indSize.iHeight;
-    mData->mIndicatorDimensions.width  = indSize.iWidth;
-    mData->mIndicatorDimensions.posx   = indRect.iTl.iX;
-    mData->mIndicatorDimensions.posy   = indRect.iTl.iY; 
-    
-    // crete counter
-    ApplyCounterAttribute(counterPaneVerityId,mainRect);
-	}
-
-// ---------------------------------------------------------------------------
-// CreateLscStructure
-// ---------------------------------------------------------------------------
-//  
-void MulCoverFlowTemplate4::CreateLscStructure()
-	{
-	// list of all component lct verity id.
-	int mainPaneVerityId = 1;
-	int imagePaneVerityId = 6;
-	int videoPaneVerityId = 0;
-	int counterPaneVerityId = 6;
-	if(AknLayoutUtils::CbaLocation() == AknLayoutUtils::EAknCbaLocationRight)
-	    {
-	    counterPaneVerityId = 8;
-	    }
-	
-	CAlfVisual* main = mData->mBaseElement->findVisual(KMainLayoutIndex);        
-	CAlfLayout* prntLay = main->Layout();
-	TSize main_size = prntLay->Size().Target().AsSize();
-	TAknWindowLineLayout componentLayout;
-
-	// get for main layout
-	componentLayout = 
-		AknLayoutScalable_UiAccel::main_aa_coverflow_pane(mainPaneVerityId).LayoutLine();
-	TRect mainRect = IconWindowRect(componentLayout, main_size);
-	main->SetPos(TAlfRealPoint(0,0));
-	main->SetSize(mainRect.Size());
-	
-	// for deck layout
-	CAlfDeckLayout& deckLayout = static_cast<CAlfDeckLayout&>(
-	        static_cast<CAlfLayout*>(main)->Visual(KMainLayoutIndex) );
-	deckLayout.SetSize(mainRect.Size(),0);
-	
-	// if set background with some skin id is called before calling set model
-	// then the visual and texture would be created with 0,0 sizes
-	// hence we need to resize them                
-	CAlfVisual* backgroundVisual = deckLayout.FindTag(backgroundvisual);
-	if(backgroundVisual)
-	   {
-	   backgroundVisual->SetSize(mainRect.Size(),0);              
-	   }
-	
-	// for center item
-	  
-    componentLayout = 
-        AknLayoutScalable_UiAccel::aacf_image_pane(imagePaneVerityId).LayoutLine();
-	TRect centerRect = IconWindowRect(componentLayout,mainRect);          
-
-	TMulCoverFlowItem highlightItem(centerRect.iTl.iX,
-		centerRect.iTl.iY,centerRect.Size().iWidth,centerRect.Size().iHeight);
-	
-	// apply attribute
-    mData->mBaseElement->StoreVisualDimensions(highlightItem,highlightItem,mData->mMaxVisibleCount );
-	   
- 
-	 // for indicator icon
-	componentLayout =
-	    AknLayoutScalable_UiAccel::main_aa_video_pane_g1(videoPaneVerityId).LayoutLine();
-	TRect indRect = IconWindowRect(componentLayout,mainRect);
-    TSize indSize(indRect.Size());
-    mData->mIndicatorDimensions.height = indSize.iHeight;
-    mData->mIndicatorDimensions.width  = indSize.iWidth;
-    mData->mIndicatorDimensions.posx   = indRect.iTl.iX;
-    mData->mIndicatorDimensions.posy   = indRect.iTl.iY; 
-    
-    // crete counter
-    ApplyCounterAttribute(counterPaneVerityId,mainRect);
-	}
-	
-// ---------------------------------------------------------------------------
-// ApplyCounterAttribute
-// ---------------------------------------------------------------------------
-//  
-void MulCoverFlowTemplate4::ApplyCounterAttribute(int acounterPaneVerityId,const TRect& aMainRect)
-	{
-    mData->mUiOnOffFlag = true;
-	TAknTextLineLayout counterComponentLayout = 
-		AknLayoutScalable_UiAccel::main_aa_coverflow_pane_t1(acounterPaneVerityId).LayoutLine();   
-    	
-	TRect counterRect = TextWindowRect(counterComponentLayout, aMainRect);
-	TSize counterSize(counterRect.Size());
-	mData->mCounterDimensions.posx = counterRect.iTl.iX;
-	mData->mCounterDimensions.posy = counterRect.iTl.iY;
-	mData->mCounterDimensions.width = counterSize.iWidth;
-	mData->mCounterDimensions.height = counterSize.iHeight;
-	
-	// Create a Counter visual if it is not Created.
-	CAlfTextVisual& counterVisual = mData->mBaseElement->CounterVisual();
-	
-    // Set Properties to Counter Visual if we are creating.
-    // no need to apply attribute for orientation change
-    // as all are same.
-    if(!mData->mOrientationChange)
-	    {
-	    //get font Id for counter
-	    int fontId = counterComponentLayout.FontId();
-	    int counterFontId = 0x000000FF &  fontId;
-		// apply default brush color to the counter background
-		ApplyBrush(counterVisual,KRgbBlack,0.5); 
-		// apply default attribute
-		counterVisual.SetAlign(EAlfAlignHCenter,EAlfAlignVCenter);
-	    SetTextStyle(counterFontId, counterVisual);       
-
-		// check if user has set some different attribute.
-		TMulVisualColorProperty counterColor = mData->mBaseElement->TextColor(ECounterVisual);
-		if (counterColor.mIsColorSet)
-			{
-			// apply the color set by the application
-			counterVisual.SetColor(counterColor.mColor);
-			}
-		else
-			{
-			// apply the default color
-			counterVisual.SetColor(KRgbWhite);
-			}
-		mData->mCounterFontMaxCharLength = UpdateMaxFontWidth(&counterVisual);						
-	    }
-	
-	}
-      
-    }//namespace ends
--- a/mulwidgets/muldatamodel/bwins/muldatamodelu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-EXPORTS
-	?IsDirty@MulVisualItem@Alf@@QBE_NW4TVisualAttribute@mulvisualitem@2@@Z @ 1 NONAME ; bool Alf::MulVisualItem::IsDirty(enum Alf::mulvisualitem::TVisualAttribute) const
-	??0MulModelImpl@Alf@@QAE@XZ @ 2 NONAME ; Alf::MulModelImpl::MulModelImpl(void)
-	??0MulDataPath@Alf@@QAE@H@Z @ 3 NONAME ; Alf::MulDataPath::MulDataPath(int)
-	??0MulDataPath@Alf@@QAE@ABV01@@Z @ 4 NONAME ; Alf::MulDataPath::MulDataPath(class Alf::MulDataPath const &)
-	??1MulDataPath@Alf@@QAE@XZ @ 5 NONAME ; Alf::MulDataPath::~MulDataPath(void)
-	?AttributeAsInt@MulVisualItem@Alf@@QBEHW4TVisualAttribute@mulvisualitem@2@@Z @ 6 NONAME ; int Alf::MulVisualItem::AttributeAsInt(enum Alf::mulvisualitem::TVisualAttribute) const
-	?Attribute@MulVisualItem@Alf@@QBEPAVIMulVariantType@2@W4TVisualAttribute@mulvisualitem@2@@Z @ 7 NONAME ; class Alf::IMulVariantType * Alf::MulVisualItem::Attribute(enum Alf::mulvisualitem::TVisualAttribute) const
-	??0MulDataPath@Alf@@QAE@XZ @ 8 NONAME ; Alf::MulDataPath::MulDataPath(void)
-	?Attributes@MulVisualItem@Alf@@QBE?BV?$vector@W4TVisualAttribute@mulvisualitem@Alf@@V?$allocator@W4TVisualAttribute@mulvisualitem@Alf@@@std@@@std@@XZ @ 9 NONAME ; class std::vector<enum Alf::mulvisualitem::TVisualAttribute, class std::allocator<enum Alf::mulvisualitem::TVisualAttribute> > const Alf::MulVisualItem::Attributes(void) const
-	?SetAttribute@MulVisualItem@Alf@@QAEXW4TVisualAttribute@mulvisualitem@2@PAVIMulVariantType@2@HW4TAttributeOwnership@12@@Z @ 10 NONAME ; void Alf::MulVisualItem::SetAttribute(enum Alf::mulvisualitem::TVisualAttribute, class Alf::IMulVariantType *, int, enum Alf::MulVisualItem::TAttributeOwnership)
-	?Depth@MulDataPath@Alf@@QBEHXZ @ 11 NONAME ; int Alf::MulDataPath::Depth(void) const
-	?SetAttribute@MulVisualItem@Alf@@QAEXW4TVisualAttribute@mulvisualitem@2@HH@Z @ 12 NONAME ; void Alf::MulVisualItem::SetAttribute(enum Alf::mulvisualitem::TVisualAttribute, int, int)
-	?SetAttribute@MulVisualItem@Alf@@QAEXW4TVisualAttribute@mulvisualitem@2@ABVTDesC16@@H@Z @ 13 NONAME ; void Alf::MulVisualItem::SetAttribute(enum Alf::mulvisualitem::TVisualAttribute, class TDesC16 const &, int)
-	??1MulVisualItem@Alf@@QAE@XZ @ 14 NONAME ; Alf::MulVisualItem::~MulVisualItem(void)
-	??1MulModelImpl@Alf@@UAE@XZ @ 15 NONAME ; Alf::MulModelImpl::~MulModelImpl(void)
-	??0MulDataPath@Alf@@QAE@HH@Z @ 16 NONAME ; Alf::MulDataPath::MulDataPath(int, int)
-	??AMulDataPath@Alf@@QBEHH@Z @ 17 NONAME ; int Alf::MulDataPath::operator[](int) const
-	??0MulVisualItem@Alf@@QAE@ABV01@@Z @ 18 NONAME ; Alf::MulVisualItem::MulVisualItem(class Alf::MulVisualItem const &)
-	??0MulVisualItem@Alf@@QAE@XZ @ 19 NONAME ; Alf::MulVisualItem::MulVisualItem(void)
-	?Append@MulDataPath@Alf@@QAEXH@Z @ 20 NONAME ; void Alf::MulDataPath::Append(int)
-	?AttributeAsString@MulVisualItem@Alf@@QBEABVTDesC16@@W4TVisualAttribute@mulvisualitem@2@@Z @ 21 NONAME ; class TDesC16 const & Alf::MulVisualItem::AttributeAsString(enum Alf::mulvisualitem::TVisualAttribute) const
-
--- a/mulwidgets/muldatamodel/bwins/mulmodelutilityu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-EXPORTS
-	??0MulVariantType@Alf@@QAE@XZ @ 1 NONAME ; Alf::MulVariantType::MulVariantType(void)
-	?IsDirty@MulVisualItem@Alf@@QBE_NW4TVisualAttribute@mulvisualitem@2@@Z @ 2 NONAME ; bool Alf::MulVisualItem::IsDirty(enum Alf::mulvisualitem::TVisualAttribute) const
-	??0MulVariantType@Alf@@QAE@ABN@Z @ 3 NONAME ; Alf::MulVariantType::MulVariantType(double const &)
-	??0MulVariantType@Alf@@QAE@ABVTDesC16@@@Z @ 4 NONAME ; Alf::MulVariantType::MulVariantType(class TDesC16 const &)
-	?uinteger@MulVariantType@Alf@@UBEIXZ @ 5 NONAME ; unsigned int Alf::MulVariantType::uinteger(void) const
-	?IntToUString@MulModelUtility@Alf@@SA?AVUString@osncore@@H@Z @ 6 NONAME ; class osncore::UString Alf::MulModelUtility::IntToUString(int)
-	?Type@MulVariantType@Alf@@UBE?AW4TMulType@IMulVariantType@2@XZ @ 7 NONAME ; enum Alf::IMulVariantType::TMulType Alf::MulVariantType::Type(void) const
-	?ConvertUStringToTDes@MulModelUtility@Alf@@SAXABVUString@osncore@@AAVTDes16@@@Z @ 8 NONAME ; void Alf::MulModelUtility::ConvertUStringToTDes(class osncore::UString const &, class TDes16 &)
-	?Attribute@MulVisualItem@Alf@@QBEPAVIMulVariantType@2@W4TVisualAttribute@mulvisualitem@2@@Z @ 9 NONAME ; class Alf::IMulVariantType * Alf::MulVisualItem::Attribute(enum Alf::mulvisualitem::TVisualAttribute) const
-	?Attributes@MulVisualItem@Alf@@QBE?BV?$vector@W4TVisualAttribute@mulvisualitem@Alf@@V?$allocator@W4TVisualAttribute@mulvisualitem@Alf@@@std@@@std@@XZ @ 10 NONAME ; class std::vector<enum Alf::mulvisualitem::TVisualAttribute, class std::allocator<enum Alf::mulvisualitem::TVisualAttribute> > const Alf::MulVisualItem::Attributes(void) const
-	??0MulDataPath@Alf@@QAE@XZ @ 11 NONAME ; Alf::MulDataPath::MulDataPath(void)
-	?Map@MulVariantType@Alf@@UBEAAVIAlfMap@2@XZ @ 12 NONAME ; class Alf::IAlfMap & Alf::MulVariantType::Map(void) const
-	?Depth@MulDataPath@Alf@@QBEHXZ @ 13 NONAME ; int Alf::MulDataPath::Depth(void) const
-	??1MulVariantType@Alf@@UAE@XZ @ 14 NONAME ; Alf::MulVariantType::~MulVariantType(void)
-	?ConvertVisualItemToMap@MulModelUtility@Alf@@SA?AV?$auto_ptr@VIAlfMap@Alf@@@std@@AAVMulVisualItem@2@@Z @ 15 NONAME ; class std::auto_ptr<class Alf::IAlfMap> Alf::MulModelUtility::ConvertVisualItemToMap(class Alf::MulVisualItem &)
-	??0MulVariantType@Alf@@QAE@ABI@Z @ 16 NONAME ; Alf::MulVariantType::MulVariantType(unsigned int const &)
-	?SetAttribute@MulVisualItem@Alf@@QAEXW4TVisualAttribute@mulvisualitem@2@ABVTDesC16@@H@Z @ 17 NONAME ; void Alf::MulVisualItem::SetAttribute(enum Alf::mulvisualitem::TVisualAttribute, class TDesC16 const &, int)
-	??1MulVisualItem@Alf@@QAE@XZ @ 18 NONAME ; Alf::MulVisualItem::~MulVisualItem(void)
-	??0MulDataPath@Alf@@QAE@HH@Z @ 19 NONAME ; Alf::MulDataPath::MulDataPath(int, int)
-	??AMulDataPath@Alf@@QBEHH@Z @ 20 NONAME ; int Alf::MulDataPath::operator[](int) const
-	?ConvertTDesToUString@MulModelUtility@Alf@@SAXABVTDesC16@@AAVUString@osncore@@@Z @ 21 NONAME ; void Alf::MulModelUtility::ConvertTDesToUString(class TDesC16 const &, class osncore::UString &)
-	??0MulVariantType@Alf@@QAE@AAVIAlfMap@1@@Z @ 22 NONAME ; Alf::MulVariantType::MulVariantType(class Alf::IAlfMap &)
-	??0MulVisualItem@Alf@@QAE@ABV01@@Z @ 23 NONAME ; Alf::MulVisualItem::MulVisualItem(class Alf::MulVisualItem const &)
-	??0MulVisualItem@Alf@@QAE@XZ @ 24 NONAME ; Alf::MulVisualItem::MulVisualItem(void)
-	?AttributeAsString@MulVisualItem@Alf@@QBEABVTDesC16@@W4TVisualAttribute@mulvisualitem@2@@Z @ 25 NONAME ; class TDesC16 const & Alf::MulVisualItem::AttributeAsString(enum Alf::mulvisualitem::TVisualAttribute) const
-	?Append@MulDataPath@Alf@@QAEXH@Z @ 26 NONAME ; void Alf::MulDataPath::Append(int)
-	?AlfStringToUString@MulModelUtility@Alf@@SA?AVUString@osncore@@ABV34@@Z @ 27 NONAME ; class osncore::UString Alf::MulModelUtility::AlfStringToUString(class osncore::UString const &)
-	??0MulVariantType@Alf@@QAE@AB_N@Z @ 28 NONAME ; Alf::MulVariantType::MulVariantType(bool const &)
-	?integer@MulVariantType@Alf@@UBEHXZ @ 29 NONAME ; int Alf::MulVariantType::integer(void) const
-	?ConvertTDes8ToUString@MulModelUtility@Alf@@SAXABVTDesC8@@AAVUString@osncore@@@Z @ 30 NONAME ; void Alf::MulModelUtility::ConvertTDes8ToUString(class TDesC8 const &, class osncore::UString &)
-	?CreateVisualItem@MulModelUtility@Alf@@SA?AV?$auto_ptr@VMulVisualItem@Alf@@@std@@W4TLogicalTemplate@mulwidget@2@@Z @ 31 NONAME ; class std::auto_ptr<class Alf::MulVisualItem> Alf::MulModelUtility::CreateVisualItem(enum Alf::mulwidget::TLogicalTemplate)
-	??0MulDataPath@Alf@@QAE@H@Z @ 32 NONAME ; Alf::MulDataPath::MulDataPath(int)
-	??0MulDataPath@Alf@@QAE@ABV01@@Z @ 33 NONAME ; Alf::MulDataPath::MulDataPath(class Alf::MulDataPath const &)
-	?Clone@MulVariantType@Alf@@UAE?AV?$auto_ptr@VIMulVariantType@Alf@@@std@@XZ @ 34 NONAME ; class std::auto_ptr<class Alf::IMulVariantType> Alf::MulVariantType::Clone(void)
-	??1MulDataPath@Alf@@QAE@XZ @ 35 NONAME ; Alf::MulDataPath::~MulDataPath(void)
-	?real@MulVariantType@Alf@@UBENXZ @ 36 NONAME ; double Alf::MulVariantType::real(void) const
-	?ConvertUStringToTDes8@MulModelUtility@Alf@@SAXABVUString@osncore@@AAVTDes8@@@Z @ 37 NONAME ; void Alf::MulModelUtility::ConvertUStringToTDes8(class osncore::UString const &, class TDes8 &)
-	?CreateVariantType@MulModelUtility@Alf@@SAPAVIAlfVariantType@2@AAV32@@Z @ 38 NONAME ; class Alf::IAlfVariantType * Alf::MulModelUtility::CreateVariantType(class Alf::IAlfVariantType &)
-	?AttributeAsInt@MulVisualItem@Alf@@QBEHW4TVisualAttribute@mulvisualitem@2@@Z @ 39 NONAME ; int Alf::MulVisualItem::AttributeAsInt(enum Alf::mulvisualitem::TVisualAttribute) const
-	?UStringToAlfString@MulModelUtility@Alf@@SA?AVUString@osncore@@ABV34@@Z @ 40 NONAME ; class osncore::UString Alf::MulModelUtility::UStringToAlfString(class osncore::UString const &)
-	??0MulVariantType@Alf@@QAE@ABH@Z @ 41 NONAME ; Alf::MulVariantType::MulVariantType(int const &)
-	?SetAttribute@MulVisualItem@Alf@@QAEXW4TVisualAttribute@mulvisualitem@2@PAVIMulVariantType@2@HW4TAttributeOwnership@12@@Z @ 42 NONAME ; void Alf::MulVisualItem::SetAttribute(enum Alf::mulvisualitem::TVisualAttribute, class Alf::IMulVariantType *, int, enum Alf::MulVisualItem::TAttributeOwnership)
-	?SetAttribute@MulVisualItem@Alf@@QAEXW4TVisualAttribute@mulvisualitem@2@HH@Z @ 43 NONAME ; void Alf::MulVisualItem::SetAttribute(enum Alf::mulvisualitem::TVisualAttribute, int, int)
-	?boolean@MulVariantType@Alf@@UBE_NXZ @ 44 NONAME ; bool Alf::MulVariantType::boolean(void) const
-	?ConvertMapToVisualItem@MulModelUtility@Alf@@SA?AV?$auto_ptr@VMulVisualItem@Alf@@@std@@AAVIAlfMap@2@@Z @ 45 NONAME ; class std::auto_ptr<class Alf::MulVisualItem> Alf::MulModelUtility::ConvertMapToVisualItem(class Alf::IAlfMap &)
-	?DesC@MulVariantType@Alf@@UBEABVTDesC16@@XZ @ 46 NONAME ; class TDesC16 const & Alf::MulVariantType::DesC(void) const
-
--- a/mulwidgets/muldatamodel/data/2000d23e.rss	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2000 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:  ECom resource file
-*
-*/
-
-
-#include <ecom/registryinfo.rh>
-#include "alf/alfecompluginfactoryuid.rh"
-
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = 0x2000D23E;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = KFactoryPluginUid;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = 0x2000D23F;
-                version_no = 1;
-                display_name = "";
-                default_data = "mulmodel";
-                opaque_data = "";
-                }
-            };
-        }
-    };
-}
-
-//End of file
--- a/mulwidgets/muldatamodel/eabi/muldatamodelu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-EXPORTS
-	_ZN3Alf11MulDataPath6AppendEi @ 1 NONAME
-	_ZN3Alf11MulDataPathC1ERKS0_ @ 2 NONAME
-	_ZN3Alf11MulDataPathC1Ei @ 3 NONAME
-	_ZN3Alf11MulDataPathC1Eii @ 4 NONAME
-	_ZN3Alf11MulDataPathC1Ev @ 5 NONAME
-	_ZN3Alf11MulDataPathC2ERKS0_ @ 6 NONAME
-	_ZN3Alf11MulDataPathC2Ei @ 7 NONAME
-	_ZN3Alf11MulDataPathC2Eii @ 8 NONAME
-	_ZN3Alf11MulDataPathC2Ev @ 9 NONAME
-	_ZN3Alf11MulDataPathD1Ev @ 10 NONAME
-	_ZN3Alf11MulDataPathD2Ev @ 11 NONAME
-	_ZN3Alf12MulModelImplC1Ev @ 12 NONAME
-	_ZN3Alf12MulModelImplC2Ev @ 13 NONAME
-	_ZN3Alf12MulModelImplD0Ev @ 14 NONAME
-	_ZN3Alf12MulModelImplD1Ev @ 15 NONAME
-	_ZN3Alf12MulModelImplD2Ev @ 16 NONAME
-	_ZN3Alf13MulVisualItem12SetAttributeENS_13mulvisualitem16TVisualAttributeEPNS_15IMulVariantTypeEiNS0_19TAttributeOwnershipE @ 17 NONAME
-	_ZN3Alf13MulVisualItem12SetAttributeENS_13mulvisualitem16TVisualAttributeERK7TDesC16i @ 18 NONAME
-	_ZN3Alf13MulVisualItem12SetAttributeENS_13mulvisualitem16TVisualAttributeEii @ 19 NONAME
-	_ZN3Alf13MulVisualItemC1ERKS0_ @ 20 NONAME
-	_ZN3Alf13MulVisualItemC1Ev @ 21 NONAME
-	_ZN3Alf13MulVisualItemC2ERKS0_ @ 22 NONAME
-	_ZN3Alf13MulVisualItemC2Ev @ 23 NONAME
-	_ZN3Alf13MulVisualItemD1Ev @ 24 NONAME
-	_ZN3Alf13MulVisualItemD2Ev @ 25 NONAME
-	_ZNK3Alf11MulDataPath5DepthEv @ 26 NONAME
-	_ZNK3Alf11MulDataPathixEi @ 27 NONAME
-	_ZNK3Alf13MulVisualItem10AttributesEv @ 28 NONAME
-	_ZNK3Alf13MulVisualItem14AttributeAsIntENS_13mulvisualitem16TVisualAttributeE @ 29 NONAME
-	_ZNK3Alf13MulVisualItem17AttributeAsStringENS_13mulvisualitem16TVisualAttributeE @ 30 NONAME
-	_ZNK3Alf13MulVisualItem7IsDirtyENS_13mulvisualitem16TVisualAttributeE @ 31 NONAME
-	_ZNK3Alf13MulVisualItem9AttributeENS_13mulvisualitem16TVisualAttributeE @ 32 NONAME
-	_ZTIN3Alf11MulPullModeE @ 33 NONAME ; #<TI>#
-	_ZTIN3Alf11MulPushModeE @ 34 NONAME ; #<TI>#
-	_ZTIN3Alf12MulModelImplE @ 35 NONAME ; #<TI>#
-	_ZTIN3Alf20MulAsyncDataProviderE @ 36 NONAME ; #<TI>#
-	_ZTVN3Alf11MulPullModeE @ 37 NONAME ; #<VT>#
-	_ZTVN3Alf11MulPushModeE @ 38 NONAME ; #<VT>#
-	_ZTVN3Alf12MulModelImplE @ 39 NONAME ; #<VT>#
-	_ZTVN3Alf20MulAsyncDataProviderE @ 40 NONAME ; #<VT>#
-	_ZThn4_N3Alf12MulModelImplD0Ev @ 41 NONAME ; #<thunk>#
-	_ZThn4_N3Alf12MulModelImplD1Ev @ 42 NONAME ; #<thunk>#
-	_ZThn8_N3Alf12MulModelImplD0Ev @ 43 NONAME ; #<thunk>#
-	_ZThn8_N3Alf12MulModelImplD1Ev @ 44 NONAME ; #<thunk>#
-
--- a/mulwidgets/muldatamodel/eabi/mulmodelutilityu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-EXPORTS
-	_ZN3Alf11MulDataPath6AppendEi @ 1 NONAME
-	_ZN3Alf11MulDataPathC1ERKS0_ @ 2 NONAME
-	_ZN3Alf11MulDataPathC1Ei @ 3 NONAME
-	_ZN3Alf11MulDataPathC1Eii @ 4 NONAME
-	_ZN3Alf11MulDataPathC1Ev @ 5 NONAME
-	_ZN3Alf11MulDataPathC2ERKS0_ @ 6 NONAME
-	_ZN3Alf11MulDataPathC2Ei @ 7 NONAME
-	_ZN3Alf11MulDataPathC2Eii @ 8 NONAME
-	_ZN3Alf11MulDataPathC2Ev @ 9 NONAME
-	_ZN3Alf11MulDataPathD1Ev @ 10 NONAME
-	_ZN3Alf11MulDataPathD2Ev @ 11 NONAME
-	_ZN3Alf13MulVisualItem12SetAttributeENS_13mulvisualitem16TVisualAttributeEPNS_15IMulVariantTypeEiNS0_19TAttributeOwnershipE @ 12 NONAME
-	_ZN3Alf13MulVisualItem12SetAttributeENS_13mulvisualitem16TVisualAttributeERK7TDesC16i @ 13 NONAME
-	_ZN3Alf13MulVisualItem12SetAttributeENS_13mulvisualitem16TVisualAttributeEii @ 14 NONAME
-	_ZN3Alf13MulVisualItemC1ERKS0_ @ 15 NONAME
-	_ZN3Alf13MulVisualItemC1Ev @ 16 NONAME
-	_ZN3Alf13MulVisualItemC2ERKS0_ @ 17 NONAME
-	_ZN3Alf13MulVisualItemC2Ev @ 18 NONAME
-	_ZN3Alf13MulVisualItemD1Ev @ 19 NONAME
-	_ZN3Alf13MulVisualItemD2Ev @ 20 NONAME
-	_ZN3Alf14MulVariantType5CloneEv @ 21 NONAME
-	_ZN3Alf14MulVariantTypeC1ERK7TDesC16 @ 22 NONAME
-	_ZN3Alf14MulVariantTypeC1ERKb @ 23 NONAME
-	_ZN3Alf14MulVariantTypeC1ERKd @ 24 NONAME
-	_ZN3Alf14MulVariantTypeC1ERKi @ 25 NONAME
-	_ZN3Alf14MulVariantTypeC1ERKj @ 26 NONAME
-	_ZN3Alf14MulVariantTypeC1ERNS_7IAlfMapE @ 27 NONAME
-	_ZN3Alf14MulVariantTypeC1Ev @ 28 NONAME
-	_ZN3Alf14MulVariantTypeC2ERK7TDesC16 @ 29 NONAME
-	_ZN3Alf14MulVariantTypeC2ERKb @ 30 NONAME
-	_ZN3Alf14MulVariantTypeC2ERKd @ 31 NONAME
-	_ZN3Alf14MulVariantTypeC2ERKi @ 32 NONAME
-	_ZN3Alf14MulVariantTypeC2ERKj @ 33 NONAME
-	_ZN3Alf14MulVariantTypeC2ERNS_7IAlfMapE @ 34 NONAME
-	_ZN3Alf14MulVariantTypeC2Ev @ 35 NONAME
-	_ZN3Alf14MulVariantTypeD0Ev @ 36 NONAME
-	_ZN3Alf14MulVariantTypeD1Ev @ 37 NONAME
-	_ZN3Alf14MulVariantTypeD2Ev @ 38 NONAME
-	_ZN3Alf15MulModelUtility12IntToUStringEi @ 39 NONAME
-	_ZN3Alf15MulModelUtility16CreateVisualItemENS_9mulwidget16TLogicalTemplateE @ 40 NONAME
-	_ZN3Alf15MulModelUtility17CreateVariantTypeERNS_15IAlfVariantTypeE @ 41 NONAME
-	_ZN3Alf15MulModelUtility18AlfStringToUStringERKN7osncore7UStringE @ 42 NONAME
-	_ZN3Alf15MulModelUtility18UStringToAlfStringERKN7osncore7UStringE @ 43 NONAME
-	_ZN3Alf15MulModelUtility20ConvertTDesToUStringERK7TDesC16RN7osncore7UStringE @ 44 NONAME
-	_ZN3Alf15MulModelUtility20ConvertUStringToTDesERKN7osncore7UStringER6TDes16 @ 45 NONAME
-	_ZN3Alf15MulModelUtility21ConvertTDes8ToUStringERK6TDesC8RN7osncore7UStringE @ 46 NONAME
-	_ZN3Alf15MulModelUtility21ConvertUStringToTDes8ERKN7osncore7UStringER5TDes8 @ 47 NONAME
-	_ZN3Alf15MulModelUtility22ConvertMapToVisualItemERNS_7IAlfMapE @ 48 NONAME
-	_ZN3Alf15MulModelUtility22ConvertVisualItemToMapERNS_13MulVisualItemE @ 49 NONAME
-	_ZNK3Alf11MulDataPath5DepthEv @ 50 NONAME
-	_ZNK3Alf11MulDataPathixEi @ 51 NONAME
-	_ZNK3Alf13MulVisualItem10AttributesEv @ 52 NONAME
-	_ZNK3Alf13MulVisualItem14AttributeAsIntENS_13mulvisualitem16TVisualAttributeE @ 53 NONAME
-	_ZNK3Alf13MulVisualItem17AttributeAsStringENS_13mulvisualitem16TVisualAttributeE @ 54 NONAME
-	_ZNK3Alf13MulVisualItem7IsDirtyENS_13mulvisualitem16TVisualAttributeE @ 55 NONAME
-	_ZNK3Alf13MulVisualItem9AttributeENS_13mulvisualitem16TVisualAttributeE @ 56 NONAME
-	_ZNK3Alf14MulVariantType3MapEv @ 57 NONAME
-	_ZNK3Alf14MulVariantType4DesCEv @ 58 NONAME
-	_ZNK3Alf14MulVariantType4TypeEv @ 59 NONAME
-	_ZNK3Alf14MulVariantType4realEv @ 60 NONAME
-	_ZNK3Alf14MulVariantType7booleanEv @ 61 NONAME
-	_ZNK3Alf14MulVariantType7integerEv @ 62 NONAME
-	_ZNK3Alf14MulVariantType8uintegerEv @ 63 NONAME
-	_ZTIN3Alf14MulVariantTypeE @ 64 NONAME ; #<TI>#
-	_ZTVN3Alf14MulVariantTypeE @ 65 NONAME ; #<VT>#
-
--- a/mulwidgets/muldatamodel/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Project build file 
-*
-*/
-
-
-#include <platform_paths.hrh>
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-PRJ_EXPORTS
-
-../rom/muldatamodel.iby      	CORE_MW_LAYER_IBY_EXPORT_PATH(muldatamodel.iby)
-
-PRJ_MMPFILES
-
-mulmodelutility.mmp
-muldatamodel.mmp
-muldatamodelplugin.mmp
-
-
-PRJ_TESTMMPFILES
-
-
-//End of files
--- a/mulwidgets/muldatamodel/group/muldatamodel.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Project definition file 
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET          muldatamodel.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x2000D247
-
-
-CAPABILITY      CAP_GENERAL_DLL
-VENDORID        VID_DEFAULT
-
-
-#ifndef __WINSCW__
-EPOCALLOWDLLDATA
-#endif
-
-SOURCEPATH 		../src
-SOURCE 			mulmodelimpl.cpp
-SOURCE			mulpushmode.cpp 
-SOURCE			mulpullmode.cpp 
-SOURCE 			mulcachemanager.cpp 
-SOURCE			mulvisualitem.cpp
-SOURCE			muldatapath.cpp
-SOURCE			mulpagedatawindow.cpp
-SOURCE			mulasyncdataprovider.cpp
-
-
-USERINCLUDE     ../inc
-USERINCLUDE		  ../../common/inc
-USERINCLUDE     ../../mullogging/inc
-USERINCLUDE     ../../../inc/alf
-USERINCLUDE     ../../../inc
-
-//Required by muldatamodel.UID
-MW_LAYER_SYSTEMINCLUDE
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-LIBRARY                 euser.lib
-LIBRARY                 ecom.lib
-LIBRARY                 alfwidgetmodel.lib
-LIBRARY	                osncore.lib
-LIBRARY                 libc.lib
-LIBRARY                 mulmodelutility.lib //For Visual Item and Filter
-LIBRARY                 libpthread.lib
-LIBRARY					        libstdcpp.lib
-LIBRARY                 mullogging.lib  //for logging
-
-
-// End of File
-
--- a/mulwidgets/muldatamodel/group/muldatamodelplugin.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Project definition file 
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET          muldatamodelplugin.dll
-TARGETTYPE      PLUGIN
-UID             0x10009d8d 0x2000D23E
-
-
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-#ifndef __WINSCW__
-EPOCALLOWDLLDATA
-#endif
-
-SOURCEPATH 		../src
-
-SOURCE 			  mulmodelfactoryplugin.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../inc/mul
-USERINCLUDE		  ../../common/inc
-
-//Required by muldatamodel.UID
-MW_LAYER_SYSTEMINCLUDE
-OS_LAYER_LIBC_SYSTEMINCLUDE
-
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-LIBRARY                 euser.lib
-LIBRARY                 ecom.lib
-LIBRARY                 alfwidgetmodel.lib
-LIBRARY                 mullogging.lib  //for logging
-LIBRARY	                osncore.lib
-LIBRARY                 libc.lib
-LIBRARY                 libpthread.lib
-LIBRARY					        libstdcpp.lib
-LIBRARY                 muldatamodel.lib
-
-SOURCEPATH              ../data
-LANG                    SC
-START RESOURCE          2000d23e.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET                  muldatamodelplugin.rsc
-#endif
-END
-
-// End of File
-
--- a/mulwidgets/muldatamodel/group/mulmodelutility.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Project definition file 
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET          mulmodelutility.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x2000D246
-
- 
-CAPABILITY      CAP_GENERAL_DLL
-VENDORID        VID_DEFAULT
-
-#ifndef __WINSCW__
-EPOCALLOWDLLDATA
-#endif
-
-SOURCEPATH 		  ../src
-SOURCE          mulmodelutility.cpp
-SOURCE			    mulvisualitem.cpp
-SOURCE			    muldatapath.cpp
-SOURCE			    mulvarianttype.cpp
-
-USERINCLUDE     ../../common/inc 
-USERINCLUDE     ../inc
-USERINCLUDE     ../../../inc
-
-MW_LAYER_SYSTEMINCLUDE
-OS_LAYER_LIBC_SYSTEMINCLUDE
-
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-LIBRARY                 euser.lib
-LIBRARY                 alfwidgetmodel.lib
-LIBRARY	                osncore.lib
-LIBRARY                 libc.lib
-LIBRARY                 libpthread.lib
-LIBRARY					        libstdcpp.lib
-LIBRARY                 charconv.lib
-LIBRARY                 mullogging.lib  //for logging
-
-// End of File
--- a/mulwidgets/muldatamodel/inc/mulactionitem.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,178 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Action Data class
- *
-*/
-
-
-#ifndef MULACTIONITEM_H
-#define MULACTIONITEM_H
-
-#include <mul/imulvarianttype.h>
-#include <alf/alfvarianttype.h>
-#include <memory>
-
-#include <osn/osndefines.h>
-#include <osn/ustring.h>
-
-namespace osncore
-    {
-    class UString;
-    }
-using namespace osncore;
-    
-
-namespace Alf
-    {
-    
-    namespace mulactionitem
-        {
-        static const char* const KActionString = "actionItem";   
-        }
-    /*! @struct MulActionData
-	 *  @brief Class holds the Action Data. Data varies on the basis of the type of 
-	 *  the action. Individual data items are public and can be accessed 
-	 *  once ref is obtained to the MulActionData structure. 
-	 */  
-	struct MulActionData
-		{		
-		/*! @var Contains command id in case of simple command. */
-		int mCmdId;
-		};
-		
-	/*! @struct MulActionData
-	 *  @brief Client need to use this class to add action item to data model.
-	 *  Action can be of type simple command or a service api. 
-	 *  More data about the action is also encapsulated within the same class
-	 *  Action item will represent one attribute within the visual item.
-	 * 
-	 */  
-	class MulActionItem : public IMulVariantType//public IAlfModelBase
-		{
-		public:
-
-			/*! @enum TMulActionType
-			 * Action Type Definition.
-			 */
-			enum TMulActionType
-				{
-				EActionSimple	/*!< Type specifies that the action is a simple command. */
-				};
-			
-		public:	//Constructor and Destructor
-			
-			/**
-			 * C++ constructor
-			 *
-			 * @param aType Action type. Possible options are defined by TMulActionType.
-     		 * @param aData Action data based on type of the action. Ownership gets transfered.
-     		 * @throw Invalid_argument, In case aData is NULL.
-			 */
-			OSN_IMPORT MulActionItem(TMulActionType aType, MulActionData* aData);
-			
-			/**
-			 * Copy constructor.
-			 */
-			 OSN_IMPORT MulActionItem( const MulActionItem& aActionItem );
-			
-			 /**
-		 	 * Destructor.
-		 	 */
-			OSN_IMPORT ~MulActionItem();
-	   
-		public: // New methods
-            
-            /**
-			 * Set/Change the action type of an action item.
-			 * Default type of the action item is EActionSimple.
-			 *
-			 * @param aType Action type. Possible options are defined by TMulActionType.
-			 */
-			OSN_IMPORT void SetActionType( TMulActionType aType = EActionSimple );
-			
-			/**
-			 * Returns the action type of the action item.
-			 *
-			 * @return Action type. Possible options are defined by TMulActionType.
-			 */
-			OSN_IMPORT MulActionItem::TMulActionType ActionType() const;
-			
-		    /**
-			 * Set/Change the action data of an action item.
-			 * Ownership gets transfered.
-			 *
-			 * @param aData Action data based on type of the action. Ownership gets transfered.
-			 * @throw Invalid_argument, In case aData is NULL.
-			 */
-			OSN_IMPORT void SetActionData( MulActionData* aData );
-			
-			/**
-			 * Returns the action data of the action item.
-			 *
-			 * @return Action data of the action item. A const reference is returned.
-			 */
-			OSN_IMPORT const MulActionData& ActionData() const;
-
-		public: // from IAlfModelBase
-		
-		    //virtual const UString& Type();	
-		    
-		public: // from IMulVariantType
-		
-			OSN_IMPORT std::auto_ptr< IMulVariantType > Clone();
-			
-		private: // form IAlfVAriantType
-			
-			void set(IAlfVariantType& aValue) ;
-
-			Type type() const ;
-
-			bool boolean() const ;
-
-			int integer() const ;
-
-			uint uinteger() const ;
-		 
-			double real() const ;
-
-			const UString& string() const ;
-
-			IAlfContainer* container() ;
-
-			IAlfMap* map() ;
-		    
-			IAlfBranch* branch() ;
-
-			IAlfModelBase* customData() ;
-			
-		private: // form IAlfVariantType
-	
-		private:	// Class data
-
-			/*! @var Type of the action data the class instance holds. */
-			TMulActionType mType;		
-			
-			/*! @var Pointer to the action data. Data varies on the basis of the action type
-			 *  Class owns the action data. */
-			auto_ptr<MulActionData> mData; 
-			
-			/*! @var Pointer to the ActionString data. */
-			auto_ptr<UString> mActionString; 
-		};
-	
-    } // namespace Alf	
-
-#endif //MULACTIONITEM_H
-
-//End of file
--- a/mulwidgets/muldatamodel/inc/mulasyncdataprovider.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Active Object header for providing data asynchronously
-*
-*/
-
-
-#ifndef __MULASYNCDATAPROVIDER_H__
-#define __MULASYNCDATAPROVIDER_H__
-
-#include <e32base.h>    // For CActive
-#include <mul/imulmodelprovider.h>
-#include <mul/muldatapath.h>
-#include <vector>
-
-#include "muldatawindow.h"
-#include "mulpagedatawindow.h"
-
-using namespace std;
-//Forward declarations
-
-
-namespace Alf
-	{
-//Forward declarations
-
-class MulAsyncData
-    {
-public:
-    bool operator == (const MulAsyncData& aData )
-        {
-        return ( this->mStartIndex == aData.mStartIndex && this->mRange == aData.mRange );
-        }
-public:
-    int mStartIndex;
-	int mRange;
-	MulDataPath mPath;
-    };
-
-class MulAsyncDataProvider : public CActive
-	{
-	
-public : // Constructor and Destructor
-    
-    /// need to have two-phase construction
-    /// - otherwise mixing leaves and throws
-	MulAsyncDataProvider( IMulModelProvider& aDataProvider, const MulPageDataWindow& aDataWindow );
-	
-	~MulAsyncDataProvider();
-	
-    void ProvideData( int aStartIndex, int aRange, const MulDataPath& aPath, const bool aIsSync = false );
-    
-private: 
-	
-	/**
-	 * Active call back funtion . 
-	 */
-	void RunL();
-	
-	void DoCancel();
-	
-	void ActivateAndComplete();
-	
-	int GetFirstIndexForWhichDataIsPresent(int aStartIndex, int aEndIndex);
-	  
-private: //data
-
-	IMulModelProvider&             mDataProvider;
-	vector<MulAsyncData>           mDataQueue;
-	const MulPageDataWindow&       mDataWindow;
-	}; //end of class.
-	
-	} // End of namespace .
-
-#endif  //__MULASYNCDATAPROVIDER_H__
-
-// End of file
--- a/mulwidgets/muldatamodel/inc/mulcachemanager.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,355 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Cache Manager class
-*
-*/
-
-
-#ifndef MULCACHEMANAGER_H
-#define MULCACHEMANAGER_H
-
-#include <mul/mulvisualitem.h>
-
-#include <memory>
-#include <vector>
-#include <map>
-
-#include <mul/imulwidgetdef.h>
-#include <mul/muldatapath.h>
-
-#include "multree.h"
-#include "mulvectoradaptor.h"
-
-namespace osncore
-    {
-    class UString;  
-    }
-using namespace osncore;
-
-namespace Alf
-	{
-
-//Forward Declaration
-class MulVisualItem;
-class IAlfMap;
-class IAlfContainer;
-
-/**
- *  Implementation class for Cache Manager.
- *  @lib 
- */
-
-class MulCacheManager
-    {
-public: //structure
-
-	/**
-	 * Comparation structure
-	 * Required by stl map to compare MulDataPath
-	 */
-	struct TCompPath
-	{
-	  bool operator()( MulDataPath& path1, MulDataPath& path2 ) const
-	  {
-	  return ( path1 < path2 ) ;
-	  }
-	};
-	
-	typedef std::map< int,MulVisualItem* > MulVisualItemMap;
-	typedef std::map< int, int > MulSelectionMap;
-
-public: //Constructor and destructor
-    
-    /**
-     * C++ constructor.
-     */
-     MulCacheManager();
-     
-     /**
- 	 * Destructor.
- 	 */
-	~MulCacheManager();
-	
-public: //New method	
-	
-	/**
-	 * Create Node for visual items in tree. 
-	 * this function must be called before adding VisualItem
-	 * 
-	 * @param aStartIndex Index of first item.
-	 * @param aCount Number of items to be added.
-	 * @param aPath
-	 */
-	void CreateNodes(int aStartIndex, int aCount, const MulDataPath& aPath );
-	
-	/**
-     * Adds Visual Item in CacheManager.
-     * 
-     * @param aVisualItem Visual items to be added.
-     * @param aItemIndex Index where item need to be added
-     * 
-     * @return index where item is added
-     */ 
-	//void AddVisualItem( std::auto_ptr<MulVisualItem> aVisualItem, int aItemIndex );
-	
-	/**
-	 * Add Visual Item to cache manager
-	 * 
-	 * @param aVisualItem  Visual item to be added
-	 * @param aPath Path of visual item in  tree
-	 * @param aIndex Index of visual item in path
-	 */
-	void AddVisualItem( std::auto_ptr<MulVisualItem> aVisualItem, const MulDataPath& aPath , int aIndex );
-	
-	/**
-     * Removes Visual Item in CacheManager.
-     * 
-     * @param aIndex index of item to be removed.
-     * 
-     * @throws invalid_argument exception
-     */ 
-	
-	void RemoveVisualItem( int aIndex  );
-	
-	/**
-	 * Remove Visual Item from cache manager
-	 * 
-	 * @param aPath Path of visual item in  tree
-	 * @param aIndex Index of visual item in path
-	 */
-	void RemoveVisualItem( const MulDataPath& aPath , int aIndex );
-	
-	
-	/**
-	 * Remove Visual item form cache manager
-	 *
-	 * @param aIndex Start index of item to delete
-	 * @param aCount No of items to be removed
-	 * @param aPath Path from items to be removed
-	 */
-	void RemoveVisualItem(int aIndex, int aCount, const MulDataPath& aPath);
-	
-	/**
-     * Updates Visual Item in CacheManager.
-     * 
-     * @param aVisualItem Visual items to be updated.
-     * @param aItemIndex Index where item need to be added
-     * @throws invalid_argument exception
-     */ 
-	
-	void UpdateVisualItem( MulVisualItem& aVisualItem, int aItemIndex );
-	
-	
-	/**
-     * Updates Visual Item in CacheManager.
-     * 
-     * @param aVisualItem Visual items to be updated.
-     * @param aPath Path of visual item in tree
-     * @param aIndex Index of visual item in path
-     * @throws invalid_argument exception
-     */ 
-	void UpdateVisualItem( MulVisualItem& aVisualItem, const MulDataPath& aPath, int aIndex );
-		
-	/**
-     * Returns Visual Items to Model from CacheManager.
-     * 
-     * @param aIndex  Index of item to be retrieved.
-     */
-	
-	MulVisualItem* Data( int aIndex ) const;
-	
-	/**
-     * Returns Visual Items to Model from CacheManager.
-     * 
-     * @param aPath Path of visual item in tree
-     * @param aIndex Index of visual item in path
-     */
-	MulVisualItem* Data( const MulDataPath& aPath, int aIndex ) const;
-	
-	/**
-     * Gets Number Of items stored in the Cache Manager .
-     * 
-     * @return number of items in the Cache Manager
-     */
-	int Count() const;
-	
-	/**
-     * Get Number of items in mentiond path
-     * 
-     * @param aPath Path of node
-     * @return number of items 
-     */
-	//int Count( const MulDataPath& aPath ) const;
-	
-	/**
-     * Get Number of childs for the given node
-     * 
-     * @param aPath Path of node
-     * @return number of items 
-     */
-	//int ChildCount( const MulDataPath& aPath ) const;	
-	
-	/**
-	 * Retrun number of items,
-	 * Checks that node is expanded or not , 
-	 * if expanded then add it couts child count else ignore child count.
-	 * 
-	 * @return Node count
-	 */
-	int ExpandedNodeCount( ) const;
-	
-	/**
-	 * Return path of node of specified absoulte index
-	 * 
-	 * @param aAbsoluteIndex Absoulte index of node in tree
-	 * @return Path to node.
-	 */
-	//MulDataPath Path( int aAbsoluteIndex ) const;
-	
-	/**
-	 * Expand Node with given absolute index
-	 * This Api will be called by widget to expand node.
-	 * 
-	 * @param aAbsoluteIndex Absolute index of node to be expanded
-	 * @return Number of items affected
-	 */
-	//int ExpandNode( int aAbsoluteIndex );
-	
-	
-	/**
-	 * Returns absolute index
-	 * 
-	 * @param aPath Path to node
-	 * @param aIndex index of node in path
-	 * @return Absolute index
-	 */
-	//int PathToAbsoluteIndex( const MulDataPath& aPath, int aIndex ) const;
-	
-	/**
-	 * Mark or Unmark item
-	 * 
-	 * @param aType Marking type
-	 * @param aItemsIndex vector of index of items
-	 * @param aPath Path/depth at wich items are to be marked/unmark
-	 */
-	void SetMarkedIndices( MulWidgetDef::TMulWidgetMarkingType aType ,
-						   const std::vector<int>& aItemsIndex,
-						   const MulDataPath& aPath );
-
-	/**
-	 * Mark or Unmark or unmark all type
-	 * 
-	 * @param aType Marking type
-	 */
-	void SetMarkedIndices( MulWidgetDef::TMulWidgetMarkingType aType = MulWidgetDef::EMulMarkAll );
-
-	/**
-	 * Return mared index for mentioned path
-	 * 
-	 * @param aPath Path
-	 * @return vector of index
-	 */
-	const std::vector<int>& MarkedIndices( const MulDataPath& aPath ) ;
-
-	/**
-	* Check weather item at specified index is marked or not.
-	* 
-	* @param aIndex Absolute index of item
-	* @return true if seleccted else otherwise
-	*/	
-	bool IsItemMarked( int aIndex ) const;
-	
-    /**
-	 * Function for setting the item Marked or Unmarked. For mark and
-	 * unmark operations, index of item should be provided.
-	 * 
-	 * @param aType Type of marking operation to be performed. 
-	 * @param aItemsIndex Indices of the items to be changed
-	 * @throw Invalid Argument, if type is specified as mark-all and unmark-all. 
-	 */ 
-    void SetMarkedIndex( MulWidgetDef::TMulWidgetMarkingType aType, int aIndex );
-	
-private: //New Method
-
-	/**
-	 * Remove visual Item data from map and update other keys for map
-	 * 
-	 * @param aPath Path of visual item in  tree
-	 * @param aIndex Index of visual item in path
-	 * @param aCount No of items to be removed
-	 */
-	void RemoveItemFromMap(const MulDataPath& aPath , int aIndex );
-
-	/**
-	 * Remove child visual Item from map
-	 * 
-	 * @param aPath Path of visual item in  tree
-	 * @param aIndex Index of visual item in path
-	 */	
-	//void RemoveChildItemsFromMap(MulDataPath aPath , int aIndex );
-
-	
-	/**
-	 * Update index in Map.
-	 * 
-	 * Once we remove any item from tree.
-	 * Index of other items will be changed so the path that points
-	 * to Data of Item. We now need to update path that to item.
-	 * 
-	 * @param aMap Map wich need to be updated
-	 * @param aIndex Index from item removed
-	 */
-	template <typename T> void UpdataPathInMapAfterRemove( std::map<int,T >& aMap, int aIndex, int aCount );
-
-	/**
-	 * Update Path in Map.
-	 * 
-	 * Update the path (modify thh depth) for the child items after remove.
-	 * 
-	 * @param aMap Map wich need to be updated
-	 * @param aParentNode, parent node
-	 * @param aOldPath Old path
-	 * @param aNewPath New path	 
-	 * @param aIndex, index of the node in that parent node
-	 */							 						 
-//	template <typename T> void UpdataChildDepthInMap( 
-//											std::map<MulDataPath,T,TCompPath>& aMap,
-//											MulTreeNode* aParentNode,MulDataPath& aOldPath,
-//								 			MulDataPath& aNewPath,int aIndex);	
-	/**
-	 * Update index in Map.
-	 * 
-	 * Once we insert any item from tree.
-	 * Index of other items will be changed so the path that points
-	 * to Data of Item. We now need to update path that to item.
-	 * 
-	 * @param aMap Map wich need to be updated
-	 * @param aIndex Index at which new item inserted
-	 */
-	template <typename T> void UpdataPathInMapAfterInsert( std::map<int,T >& aMap, int aIndex, int aCount );
-																								
-	
-private: //data
-		
-    int                         mTotalCount; // total no of items in cache
-	MulVisualItemMap 		    mVisualItemMap; //store visual item in map using path as key	
-	MulVectorAdaptor<int>       mSelectionVector;//store maked indices to ,used to return marking information to client
-	MulSelectionMap 			mSelectionMap; //store marking information using path as key
-  };
-  
-} // namespace Alf
-
-#endif //MULCACHEMANAGER_H
-    
-//End of file
--- a/mulwidgets/muldatamodel/inc/mulcallback.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Active object for performing Async filtering
-*
-*/
-
-
-#ifndef MULCALLBACK_H_
-#define MULCALLBACK_H_
-
-#include <vector>
-
-namespace Alf
-	{
-	
-class MulCallback
-	{
-public:
-	
-	MulCallback()
-		{
-		}
-
-	MulCallback( void (*aFunction) ( void* aObject, std::vector<int>& aArgument ), void* aObject )
-		{
-		mFunction = aFunction;
-		mObject = aObject;
-		}
-	
-	void Callback(  std::vector<int>& aArgument ) const
-		{
-		mFunction( mObject, aArgument );
-		}
-	
-private:
-	
-	void (*mFunction) ( void* aObject,  std::vector<int>& aArgument );
-	
-	void* mObject;
-		
-	};
-
-	}//namespace Alf
-
-#endif //MULCALLBACK_H_
\ No newline at end of file
--- a/mulwidgets/muldatamodel/inc/muldatawindow.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,356 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Data Window Implemenation
-*
-*/
-
-
-#ifndef MULDATAWINDOW_H_
-#define MULDATAWINDOW_H_
-
-#include "mulmodeldef.h"
-
-namespace Alf
-	{
-	
-//Forward Declaration
-class MulModelImpl;
-
-/**
- * Implametation of Data Window Class
- * This class maintain offset for buffer item that are required by widget,
- * so only that much item remain present in alf model instance.It update buffer items
- * when highlight changed and notify model to update alf model if items are not present
- * in Alf model.
- * 
- */
-class MulDataWindow
-	{
-public: //Constructor and Destructor
-	
-	/**
-	 * C++ constructor
-	 * 
-	 * @param aMulModel refrece of model implementation
-	 */
-	MulDataWindow( MulModelImpl& aMulModel );
-
-	/**
-	 * Descturctor
-	 */
-	~MulDataWindow();
-	
-public: //New Method
-
-	/**
-	 * Set window size
-	 * 
-	 * @param aWindowSize No of items that are visible on screen
-	 */
-	void SetWindowSize( int aWindowSize );
-	
-	/**
-	 * Set Buffer size
-	 * Here buffser size mean number of items that will be above and below window
-	 * By default buffer size is equal to window size if following api is not called.
-	 *
-	 * @param aBufferSize Size of buffer
-	 */
-	void SetBufferSize( int aBufferSize );
-	
-	/**
-	 * Change highlighted index. 
-	 * Changing highlight will check that data window needs to be updated or not 
-	 * and if required it update data window
-	 *
-	 * @aHighlightIndex New highlighted item in Data window
-	 * @throws invaid_argument exception
-	 */
-	void SetHighlight( int aHighlightIndex );
-	
-	/**
-	 * Scroll Window to mention item index 
-	 * it will check that data window needs to be updated or not 
-	 * and if required it update data window
-	 *
-	 * @aItemIndex item index
-	 * @throws invaid_argument exception
-	 */
-	void ScrollWindow( int aItemIndex );
-	
-	/**
-	 * Return Highlighted item's index
-	 * 
-	 * @return Highlighted item's index
-	 */
-	int Highlight() const
-		{
-		return mHighlight;
-		}
-	
-	/**
-	 * Return previous top offset
-	 * 
-	 * @return Previos top offset
-	 */
-	int OldTopOffset() const
-		{
-		return mOldBufferTop;
-		}
-	
-	/**
-	 * Return previous bottom offset
-	 * 
-	 * @return Previos bottom offset
-	 */
-	int OldBottomOffset() const
-		{
-		return mOldBufferBottom;
-		}
-	
-	/**
-	 * Return current top offset
-	 * 
-	 * @return Current top offset
-	 */
-	int TopOffset() const
-		{
-		return mBufferTop;
-		}
-	
-	/**
-	 * Return current bottom offset
-	 * 
-	 * @return Current bottom offset
-	 */
-	int BottomOffset() const
-		{
-		return mBufferBottom;
-		}
-	
-	/**
-	 * Return visible window top offset
-	 * 
-	 * @return Current window top offset
-	 */
-	int TopWindowOffset() const
-		{
-		return mWindowTop;
-		}
-	
-	/**
-	 * Return visible window bottom offset
-	 * 
-	 *  @return Current window bottom offset
-	 */
-	int BottomWindowOffset() const
-		{
-		return mWindowBottom;
-		}
-		
-	/**
-	 * Return the Old Rear Top offset
-	 * 
-	 * @return Old Rear Top offset
-	 */
-	int OldRearTopOffset() const
-		{
-		return mOldRearBufferTop;
-		}
-	
-	/**
-	 * Return the Old Rear Bottom offset
-	 * 
-	 * @return Old Rear Bottom offset
-	 */
-	int OldRearBottomOffset() const
-		{
-		return mOldRearBufferBottom;
-		}		
-	
-	/**
-	 * Return the Rear Top offset
-	 * 
-	 * @return Rear Top offset
-	 */
-	int RearTopOffset() const
-		{
-		return mRearBufferTop;
-		}
-	
-	/**
-	 * Return the Rear Bottom offset
-	 * 
-	 * @return Rear Bottom offset
-	 */
-	int RearBottomOffset() const
-		{
-		return mRearBufferBottom;
-		}
-	
-	/**
-	 * Return buffer size
-	 * 
-	 * @return Current buffer size
-	 */
-	int BufferSize() const
-		{
-		return mBufferSize;
-		}
-		
-	/**
-	 * Return window size
-	 * 
-	 * @return Current window size
-	 */
-	int WindowSize() const
-		{
-		return mWindowSize;
-		}		
-	
-	/**
-	 * Check that items falls in data window or not
-	 * 
-	 * @param aItemIndex index of item
-	 * @return true if item is in data window otherwise false
-	 */
-	bool IsItemInDataWindow(int aItemIndex ) const;
-	
-	/**
-	 * Returns Relative index in datawindow from Absolute index
-	 *
-	 * @param aAbsoluteIndex Absolute index
-	 * @return Relative index
-	 */
-	int RelativeIndex( int aAbsoluteIndex ) const;
-	
-	/**
-	 * Returns Absoulte index from relative index
-	 *
-	 * @param aRelativeIndex Relative index
-	 * @return Absolute index
-	 */
-	int AbsoluteIndex( int aRelativeIndex ) const;
-	
-	/**
-	 * Check that valid window size it set or not.
-	 * 
-	 * @return true - valid window size is set 
-	 * 		   false - otherwisze
-	 */
-	bool IsWindowEnabled() const
-		{
-		return ( mWindowSize != KNotInitialized );
-		}
-
-	/**
-	 * Adjust buffer offset according to window offset
-	 */
-	void AdjustBuffer();
-	
-	/**
-	 * modify the window top and window bottom values
-	 */	
-	void SetVisibleWindow(int aWindowTop, int aWindowBottom);
-	
-	/**
-	 * Return the complete buffer size, i.e. both top, bottom buffer and the window
-	 */	
-	int ActualBufferSize() const
-		{
-		return (2 * mBufferSize) + mWindowSize;	
-		}
-		
-	/**
-	 * Change highlighted index. 
-	 * This change will not check that data window needs to be updated or not 
-	 *
-	 * @aHighlightIndex New highlighted item in Data window
-	 * @throws invaid_argument exception
-	 */
-	void UpdateHighlight( int aHighlightIndex );
-		
-	/**
-	 * Save old values
-	 */
-	void SaveOldValues()
-		{
-		mOldBufferTop = mBufferTop;
-		mOldBufferBottom = mBufferBottom;
-		
-		mOldRearBufferTop = mRearBufferTop;
-		mOldRearBufferBottom = mRearBufferBottom;
-		}
-		
-	/**
-	 * Compares the current and old buffer values and returns true if teh values are cahnged
-	 */
-	bool IsBufferOffsetChanged();					
-
-private://New Method
-	
-	/**
-	 * Check that visible window need to be updated or not.
-	 * If required it update visible window.
-	 */
-	void UpdateDataWindow();
-	
-	/**
-	 * Data window is updated and window need to sifted down
-	 */
-	void ShiftWindowDown();
-	
-	/**
-	 * Data window is updated and window need to sifted up
-	 */
-	void ShiftWindowUp();
-			
-private: // Data
-
-	MulModelImpl& mMulModel; //not own
-	
-	int mHighlight;	
-	
-	//this is index of item wich decide window offset
-	int mItemIndex; //dont know what should be better name
-	int mOldItemIndex;
-	
-	int mBufferSize;
-	
-	int mWindowSize;
-	int mWindowOffset;
-	
-	int mWindowTop;
-	int mWindowBottom;
-	
-	int mBufferTop;
-	int mBufferBottom;
-	
-	int mOldBufferTop;
-	int mOldBufferBottom;
-		
-	int mRearBufferTop;
-	int mRearBufferBottom;
-	
-	int mOldRearBufferTop;
-	int mOldRearBufferBottom;
-	
-	};
-
-	} //namespace Alf
-
-#endif /*MULDATAWINDOW_H_*/
-
-//End of file
-
--- a/mulwidgets/muldatamodel/inc/mulfilterao.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Active object for performing Async filtering
-*
-*/
-
-
-#ifndef MULFILTERAO_H_
-#define MULFILTERAO_H_
-
-#include <e32base.h>
-
-#include <alf/alfvarianttype.h>
-#include <osn/osndefines.h>
-
-#include "mulcallback.h"
-
-
-namespace osncore
-    {
-    template <class T> class CAlfPtrVector;  
-    class UString;
-    }  
-using namespace osncore;
-
-namespace Alf
-	{
-//Forward Declaration
-	 
-class MulCacheManager;
-class MulDataWindow;
-class MulFilter;
-class IMulFilterDataProvider;
-class MulCallback;
- 	  
-class MulFilterAo : public CActive
-    {
-    
-public: //constructor and destructor
-
-	/**
-	 * symbian constcutor
-	 * 
-	 * @param aModel Model refrence
-	 */
-	//static MulFilterAo* NewL( IMulFilterDataProvider& aModel );
-    
-    /**
-     * Destructor
-     */
-    ~MulFilterAo();
-    
-public: //constructor and destructor
-
-	/**
-	 * C++ constcutor
-	 * 
-	 * @param aModel Model refrence
-	 */
-	MulFilterAo(IMulFilterDataProvider& aModel );   
-	
-	/**
-	 * symbian Second phase constructor
-	 */
-	//void ConstructL();
-    
-private: //from CActive
-
-	void RunL();
-	
-	void DoCancel();
-
-public: //new method
-
-    /**
-     * Perform Async filtering. Model call this function when SetFilter is called on Model.
-     * After performing async filtering  function will notify model via callback object.
-     * 
-     * @param aFilter Filter object
-     * @param aCallback Callback object
-     */
-	void DoAsyncFilter(MulFilter& aFilter,MulCallback aCallback);
-
-private:
-    
-    /**
-     * Perform garbage collection operation
-     */
-    void DoFilter();
-    
-private: //data
-
-	IMulFilterDataProvider& 		mMulModel;
-	MulFilter*						mFilter; //not own
-	MulCallback						mCallback;
-    };
-	    
-    } //namespace Alf
-
-#endif /*MULFILTERAO_H_*/
-
-//End of file
-
-
--- a/mulwidgets/muldatamodel/inc/mulmodeldef.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Contains const character string for model
-*
-*/
-
-
-#ifndef __MULMODELDEF_H
-#define __MULMODELDEF_H
-
-#include <e32base.h>
-
-namespace Alf
-	{
-	
-static const int KDefaultBufferSize = 50;    
-static const int KDefaultWindowSize = 20;  
-static const int KNotInitialized = -1;
-
-static const char* const KDefaultTemplate = "template";
-static const char* const KItem = "item";
-static const char* const KContainerIndex = "container";
-static const char* const KItemIndex = "itemindex";
-static const char* const KInvalidArgument = "invalid argument";
-static const char* const KIndex = "index";
-static const char* const KStartIndex = "index";
-static const char* const KCount = "count";
-
-_LIT(KLInvalidArgument,"Invalid Argument");
-_LIT(KLNotImplemented,"Not implemented");
-	
-	} // namespace Alf
-
-#endif // __MULMODELDEF_H
-
-// End of file
--- a/mulwidgets/muldatamodel/inc/mulmodelfactoryplugin.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Plugin factory header for model.
-*
-*/
-
-
-#ifndef MULMODELFACTORYPLUGIN_H
-#define MULMODELFACTORYPLUGIN_H
-
-#include <ecom/implementationproxy.h>
-#include <alf/ialffactoryplugin.h>
-
-namespace Alf
-    {
-
-class IfId;
-
-/**
- * Factory plugin for creating list widget related products.
- */
-class MulFactoryPlugin: public IAlfFactoryPlugin
-    {
-public:
-
-   /**
-    * Two-phased symbian constructor.
-    * 
-    * @return New instance of this factory plugin.
-    */ 
-    static MulFactoryPlugin* NewL();
-
-   /**
-    * Destructor.
-    */ 
-    virtual ~MulFactoryPlugin();
-    
-// From base class MAlfPluginFactory
-
-   /**
-    * Create factory product.
-	*
-    * @param aProduct Product to create.
-    * @param aInitData Initialization data for product
-    * @return Instance or NULL
-    */ 
-    IAlfInterfaceBase* createProduct( const char* aProduct, void* aInitData );
-
-   /**
-    * Count available products
-    *
-    * @return Product count
-    */
-    int productCount() const;
-
-   /**
-    * Fetch product info by index
-    *
-    * @param aIndex List index
-    * @return Descriptor describing product
-    */
-    const char* productInfo( int aIndex ) const;
-    
-// From base class MAlfInterfaceBase
-
-   /**
-    * Creates interface based on the given type.
-    * 
-    * @param aType Interface type to create.
-    * @return Requested interface.
-    */ 
-    IAlfInterfaceBase* makeInterface( const IfId& aType );
-    };
-    
-    } // namespace Alf
-
-// Exported factory function required by ECOM-framework
-IMPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount );
-    
-#endif //MULMODELFACTORYPLUGIN_H
-
-//End of file
-
--- a/mulwidgets/muldatamodel/inc/mulmodelimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,258 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Implementation of model interface
- *
-*/
-
-
-#ifndef MULMODELIMPL_H
-#define MULMODELIMPL_H
-
-//Includes
-#include <mul/imulmodel.h>
-
-#include <osn/ustring.h>
-#include <memory>
-#include <vector>
-
-#include "mul/imulmodelaccessor.h"
-#include "imulmodelobserver.h"
-
-namespace osncore
-    {
-    class UString;
-    }
-    
-using namespace osncore;
-
-namespace Alf
-    {
-
-//Forward Declaration
-
-class MulDataWindow;
-class MulPushMode;
-class MulPageDataWindow;
-
-/**
- *  Implementation class for Data model.
- *  @lib 
- */
-class MulModelImpl : public IMulModel,
-					 public IMulModelAccessor
-    {
-    
-public:
-	
-	/**
-	 * C++ constructor.
-	 */
-	OSN_IMPORT MulModelImpl();
-	
-	/**
-	 * Destructor.
-	 */
-	OSN_IMPORT virtual ~MulModelImpl();
-    
-public: //from IMulModel
-   	
-	void Insert(int aIndex, int aCount, 
-                const MulDataPath& aPath = MulDataPath());
-	
-    void Remove( int aIndex, int aCount, 
-    			 const MulDataPath& aPath = MulDataPath() );
-	
-	void Update( int aIndex, int aCount, 
-				 const MulDataPath& aPath = MulDataPath() );
-	
-	void Refresh( int aCount, const MulDataPath& aPath = MulDataPath() );
-	     
-	void SetData( int aIndex, std::auto_ptr<MulVisualItem> aVisualItem, 
-                  const MulDataPath& aPath = MulDataPath() );
-	
-	const MulVisualItem* Data( int aIndex, 
-	                    	   const MulDataPath& aPath = MulDataPath() ) const;
-
-	int Count( const MulDataPath& aPath = MulDataPath() ) const; 
-
-	void SetDataProvider( const IMulModelProvider& aDataProvider );
-
-	void SetTemplate( mulwidget::TLogicalTemplate aTemplateId );
-
-	void SetTemplate( int aItemIndex, mulwidget::TLogicalTemplate aTemplateId, 
-	                  const MulDataPath& aPath = MulDataPath() );
-
-	void SetDataWindow( int aSize );
-
-	int DataWindow( ) const;        
-
-	void SetHighlight( int aItemIndex, const MulDataPath& aPath = MulDataPath() ); 
-
-	int Highlight() ;
-
-	int Highlight( MulDataPath& aPath );     
-
-	void SetMarkedIndices( MulWidgetDef::TMulWidgetMarkingType aType ,
-						   const std::vector<int>& aItemsIndex,
-						   const MulDataPath& aPath = MulDataPath() );
-
-	void SetMarkedIndices(
-			MulWidgetDef::TMulWidgetMarkingType aType = MulWidgetDef::EMulMarkAll );
-
-	const std::vector<int>& MarkedIndices( const MulDataPath& aPath = MulDataPath() );
-
-public: //from IMulModelBase
-	    
-	IMulModelAccessor* Accessor(); 
-
-public: //from IMulModelAccessor
-	 
-	void SetHighlight( int aItemIndex );
-	
-	void ScrollWindow( int aItemIndex );
-	 		      	
-	int CurrentItemCount();
-	 	
-	void SetVisibleWindow( int aWindowSize, int aPageTopIndex = -1 );
-		 		
-	int RelativeIndex( int aAbsoluteIndex ) const;
- 	 
-	int TopWindowOffset() const;
-	
-	int BottomWindowOffset() const;
-	
-	int TopOffset() const;
-			
-	int BottomOffset() const;
-	
-	int RearTopOffset() const;
-	
-	int RearBottomOffset() const;
-	
-	bool IsItemMarked( int aIndex ); 
-	
-	const MulVisualItem& Item( int aAbsoluteIndex );
-
-    int AbsoluteIndex( int aRelativeIndex );
-    
-    void SetMarkedIndex( MulWidgetDef::TMulWidgetMarkingType aType, int aIndex );
-    
-    bool IsLoopingOn();
-	
-    void AddModelObserver( IMulModelObserver* aObserver );
-    
-    void RemoveModelObserver( IMulModelObserver* aObserver );
-    
-    mulwidget::TLogicalTemplate Template();
-    
-private: //from IAlfModel
-
-	void addModelChangeObserver( IAlfModelChangeObserver& aObserver );
-	
-	void removeModelChangeObserver( IAlfModelChangeObserver& aObserver );
-	
-	void setData( IAlfVariantType* aData );
-	
-	void updateData(int aNumContainerIndices,int* aContainerIndices, IAlfVariantType* aData );
-	
-	void addData(int aNumContainerIndices,int* aContainerIndices, IAlfVariantType* aData );
-	
-	void removeData(int aNumContainerIndices,int* aContainerIndices );
-	  
-	void executeOperations(AlfPtrVector<AlfModelOperation>&  aOperationsArray);
-	      
-	void executeOperation(AlfModelOperation* aOperation); 
-	
-	void clearModel(); 
-	
-	IAlfVariantType* data() const;
-	
-private: // from base class MAlfInterfaceBase
-
-    /**
-     * Getter for interfaces provided by the list model.
-     *
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType );
-    
-public: //new method
-
-	/**
-	 * When ever data window update data window, it will use this method to notify
-	 * Data model to update data window and update alf model
-	 */
-	void DataWindowUpdated();
-    			
-private: //New method
-	
-	/**
-	 * Create Update event for selection change to notify Widget
-	 * for selection change. Widget need to use IsItemMarked API for checking 
-	 * whether item is marked or unmarked.
-	 * 
-	 * @param aAbsoluteIndex Absolute index
-	 */
-	void CreateMarkingEvent(int aAbsoluteIndex);
-		
-	/**
-	 * Notify observer about state changed
-	 * 
-	 * @param aState Highlight or making changed
-	 * @param aData Index of new highlight or Index of marked or unmarked item.
-	 *				( Item is marked or not should be checked using IMulModelAccessor interface)	  
-	 */
-	void NotifyStateChange( IMulModelObserver::TMulChangedState aState, std::auto_ptr<IMulVariantType> aData);
-	
-	/**
-     * Notify observer about data change event
-     * 
-     * @param aState Event to notify
-     * @param aStartIndex Start index of.
-     * @param aCount No of item affected      
-     */
-	void NotifyDataChange( IMulModelObserver::TMulChangedState aState, int aStartIndex, int aCount );
-	
-	/**
-     * Notify observer about data change event
-     * 
-     * @param aState Event to notify
-     * @param aIndex Start index of.
-     */
-    void NotifyDataChange( IMulModelObserver::TMulChangedState aState, int aIndex );
-    
-    /**
-     * Notify observer about template change
-     * 
-     * @param aIndex index of item.
-     * @param aTamplateId changed template
-     */
-    void NotifyTemplateChange( int aIndex, mulwidget::TLogicalTemplate aTamplateId );
-				
-private: //data
-		
-	//std::auto_ptr<MulDataWindow>			mDataWindow; //own
-	std::auto_ptr<MulPageDataWindow>		mDataWindow; //own
-	std::auto_ptr<MulPushMode> 		        mModelHelper; //own
-	std::vector<IMulModelObserver*>			mObserverArray;
-    };
-    
-    } // namespace Alf
-
-#endif //MULMODELIMPL_H
-    
-//End of file
-    
--- a/mulwidgets/muldatamodel/inc/mulpagedatawindow.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,363 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Page by Page Data Window Implemenation
-*
-*/
-
-
-#ifndef MULPAGEDATAWINDOW_H_
-#define MULPAGEDATAWINDOW_H_
-
-#include "mulmodeldef.h"
-
-namespace Alf
-	{
-	
-//Forward Declaration
-class MulModelImpl;
-
-/**
- * Implametation of Data Window Class
- * This class maintain offset for buffer item that are required by widget,
- * so only that much item remain present in alf model instance.It update buffer items
- * when highlight changed and notify model to update alf model if items are not present
- * in Alf model.
- * 
- */
-class MulPageDataWindow
-	{
-public: //Constructor and Destructor
-	
-	/**
-	 * C++ constructor
-	 * 
-	 * @param aMulModel refrece of model implementation
-	 */
-	MulPageDataWindow( MulModelImpl& aMulModel );
-
-	/**
-	 * Descturctor
-	 */
-	~MulPageDataWindow();
-	
-public: //New Method
-
-	/**
-	 * Set window size
-	 * 
-	 * @param aWindowSize No of items that are visible on screen
-	 */
-	void SetWindowSize( int aWindowSize, int aPageTopIndex = KNotInitialized );
-	
-	/**
-	 * Set Buffer size
-	 * Here buffser size mean number of items that will be above and below window
-	 * By default buffer size is equal to window size if following api is not called.
-	 *
-	 * @param aBufferSize Size of buffer
-	 */
-	void SetBufferSize( int aBufferSize );
-	
-	/**
-	 * Change highlighted index. 
-	 * Changing highlight will check that data window needs to be updated or not 
-	 * and if required it update data window
-	 *
-	 * @aHighlightIndex New highlighted item in Data window
-	 * @throws invaid_argument exception
-	 */
-	void SetHighlight( int aHighlightIndex );
-	
-	/**
-	 * Scroll Window to mention item index 
-	 * it will check that data window needs to be updated or not 
-	 * and if required it update data window
-	 *
-	 * @aItemIndex item index
-	 * @throws invaid_argument exception
-	 */
-	void ScrollWindow( int aPageTopIndex );
-	
-	/**
-	 * Return Highlighted item's index
-	 * 
-	 * @return Highlighted item's index
-	 */
-	int Highlight() const
-		{
-		return mHighlight;
-		}
-	
-	/**
-	 * Return previous top offset
-	 * 
-	 * @return Previos top offset
-	 */
-	int OldTopOffset() const
-		{
-		return mOldBufferTop;
-		}
-	
-	/**
-	 * Return previous bottom offset
-	 * 
-	 * @return Previos bottom offset
-	 */
-	int OldBottomOffset() const
-		{
-		return mOldBufferBottom;
-		}
-	
-	/**
-	 * Return current top offset
-	 * 
-	 * @return Current top offset
-	 */
-	int TopOffset() const
-		{
-		return mBufferTop;
-		}
-	
-	/**
-	 * Return current bottom offset
-	 * 
-	 * @return Current bottom offset
-	 */
-	int BottomOffset() const
-		{
-		return mBufferBottom;
-		}
-	
-	/**
-	 * Return visible window top offset
-	 * 
-	 * @return Current window top offset
-	 */
-	int TopWindowOffset() const
-		{
-		return mWindowTop;
-		}
-	
-	/**
-	 * Return visible window bottom offset
-	 * 
-	 *  @return Current window bottom offset
-	 */
-	int BottomWindowOffset() const
-		{
-		return mWindowBottom;
-		}
-		
-	/**
-	 * Return the Old Rear Top offset
-	 * 
-	 * @return Old Rear Top offset
-	 */
-	int OldRearTopOffset() const
-		{
-		return mOldRearBufferTop;
-		}
-	
-	/**
-	 * Return the Old Rear Bottom offset
-	 * 
-	 * @return Old Rear Bottom offset
-	 */
-	int OldRearBottomOffset() const
-		{
-		return mOldRearBufferBottom;
-		}		
-	
-	/**
-	 * Return the Rear Top offset
-	 * 
-	 * @return Rear Top offset
-	 */
-	int RearTopOffset() const
-		{
-		return mRearBufferTop;
-		}
-	
-	/**
-	 * Return the Rear Bottom offset
-	 * 
-	 * @return Rear Bottom offset
-	 */
-	int RearBottomOffset() const
-		{
-		return mRearBufferBottom;
-		}
-	
-	/**
-	 * Return buffer size
-	 * 
-	 * @return Current buffer size
-	 */
-	int BufferSize() const
-		{
-		return mBufferSize;
-		}
-		
-	/**
-	 * Return window size
-	 * 
-	 * @return Current window size
-	 */
-	int WindowSize() const
-		{
-		return mWindowSize;
-		}		
-	
-	/**
-	 * Check that items falls in data window or not
-	 * 
-	 * @param aItemIndex index of item
-	 * @return true if item is in data window otherwise false
-	 */
-	bool IsItemInDataWindow(int aItemIndex ) const;
-	
-	
-	/**
-     * Check that items falls in visible window or not
-     * 
-     * @param aItemIndex index of item
-     * @return true if item is in visible window otherwise false
-     */
-	bool IsItemInVisibleWindow(int aItemIndex ) const;
-		
-	/**
-	 * Returns Relative index in datawindow from Absolute index
-	 *
-	 * @param aAbsoluteIndex Absolute index
-	 * @return Relative index
-	 */
-	int RelativeIndex( int aAbsoluteIndex ) const;
-	
-	/**
-	 * Returns Absoulte index from relative index
-	 *
-	 * @param aRelativeIndex Relative index
-	 * @return Absolute index
-	 */
-	int AbsoluteIndex( int aRelativeIndex ) const;
-	
-	/**
-	 * Check that valid window size it set or not.
-	 * 
-	 * @return true - valid window size is set 
-	 * 		   false - otherwisze
-	 */
-	bool IsWindowEnabled() const
-		{
-		return ( mWindowSize != KNotInitialized );
-		}
-
-	/**
-	 * Adjust buffer offset according to window offset
-	 */
-	void AdjustBuffer();
-	
-	/**
-	 * Return the complete buffer size, i.e. both top, bottom buffer and the window
-	 */	
-	int ActualBufferSize() const
-		{
-		return (2 * mBufferSize) + mWindowSize;	
-		}
-		
-	/**
-	 * Change highlighted index. 
-	 * This change will not check that data window needs to be updated or not 
-	 *
-	 * @aHighlightIndex New highlighted item in Data window
-	 */
-	void UpdateHighlight( int aHighlightIndex );
-	
-	/**
-	 * Adjust Window and buffer offset after insert or remove
-	 * 
-	 */
-	void AdjustOffset();
-		
-	/**
-	 * Save old values
-	 */
-	void SaveOldValues()
-		{
-		mOldBufferTop = mBufferTop;
-		mOldBufferBottom = mBufferBottom;
-		
-		mOldRearBufferTop = mRearBufferTop;
-		mOldRearBufferBottom = mRearBufferBottom;
-		}
-		
-	/**
-	 * Compares the current and old buffer values and returns true if teh values are cahnged
-	 */
-	bool IsBufferOffsetChanged();					
-
-private://New Method
-	
-	/**
-	 * Check that visible window need to be updated or not.
-	 * If required it update visible window.
-	 */
-	void UpdateDataWindow();
-	
-	/**
-	 * Data window is updated and window need to sifted down
-	 */
-	//void ShiftWindowDown();
-	
-	/**
-	 * Data window is updated and window need to sifted up
-	 */
-	//void ShiftWindowUp();
-			
-private: // Data
-
-	MulModelImpl& mMulModel; //not own
-	
-	int mHighlight;	
-	
-	int mPageTopIndex;
-	int mOldPageTopIndex;
-	
-	int mBufferSize;
-	
-	int mWindowSize;
-	
-	int mWindowTop;
-	int mWindowBottom;
-	
-	int mBufferTop;
-	int mBufferBottom;
-	
-	int mOldBufferTop;
-	int mOldBufferBottom;
-		
-	int mRearBufferTop;
-	int mRearBufferBottom;
-	
-	int mOldRearBufferTop;
-	int mOldRearBufferBottom;
-	
-	};
-
-	} //namespace Alf
-
-#endif //MULPAGEDATAWINDOW_H_
-
-//End of file
-
--- a/mulwidgets/muldatamodel/inc/mulpullmode.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Header for  Pull Mode
- *
-*/
-
-
-#ifndef MULPULLMODE_H
-#define MULPULLMODE_H
-
-//Includes
-#include "mulpushmode.h"
-
-namespace Alf
-    {
-    
-//Forward Declaration
-
-class IMulModelProvider;
-class MulAsyncDataProvider;
-
-/**
- *  Implementation for Pull Mode
- */
-class MulPullMode : public MulPushMode
-    {
-    
-public:
-	
-	/**
-	 * C++ constructor.
-	 * 
-	 * @param aDataWindow DataWindow for model
-	 * @param aModelProvider Data Provider for model
-	 */
-    MulPullMode( MulPageDataWindow& aDataWindow,
-				 const IMulModelProvider& aModelProvider);
-	
-	/**
-	 * Destructor.
-	 */
-	~MulPullMode();
-    
-public: //from MulPushMode
-   	
-	
-	void Update( int aIndex, int aCount, 
-                         const MulDataPath& aPath);
-            
-	void Refresh(int aCount, const MulDataPath& aPath);				             
-	     
-	void SetData( int aIndex, auto_ptr<MulVisualItem> aVisualItem, 
-                         const MulDataPath& aPath);
-
-	void SetTemplate( mulwidget::TLogicalTemplate aTemplateId );               
-	                    
-	void WindowSiftedDown();
-
-	void WindowSiftedUp();	
-	
-	void ModelCountChanged(int aOldCount, int aNewCount);
-	
-	void DataWindowUpdated();
-	
-	const MulVisualItem& Item( int aAbsoluteIndex );
-	                    	
-private:
-
-	/**
-	 * Create list of indices and call ProvideData method
-	 *
-	 * @param aStartIndex, Index form where the data should be fetched
-	 * @param aRange, Number of items for which data should be fetched
-	 */
-	void ProvideData(int aStartIndex, int aRange);
-	
-	/**
-	 * Update Loop buffer because of data window updation
-	 * 
-	 */
-	void UpdateLoopBuffer();
-	  				
-private: //data
-
-	//IMulModelProvider* mModelProvider; // Not own
-	auto_ptr<MulAsyncDataProvider> mModelProvider; // own
-    };
-    
-    } // namespace Alf
-
-#endif // MULPULLMODE_H
-    
-//End of file
-    
--- a/mulwidgets/muldatamodel/inc/mulpushmode.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,229 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Implementation of model interface base
- *
-*/
-
-
-#ifndef MULPUSHMODE_H
-#define MULPUSHMODE_H
-
-//Includes
-#include <osn/ustring.h>
-
-#include <mul/muldatapath.h>
-
-#include "mul/imulwidget.h"
-
-
-namespace Alf
-    {
-
-//Forward Declaration
-
-class MulVisualItem;
-class MulCacheManager;
-class MulPageDataWindow;
-class MulAlfModelImpl;
-	
-
-/**
- *  Base implementation class for pull/push model.
- *  @lib 
- */
-class MulPushMode
-    {
-    
-public: 
-
-	/**
-	 * C++ constructor.
-	 * 
-	 * @param aDataWindow DataWindow for model
-	 */
-    MulPushMode( MulPageDataWindow& aDataWindow );
-	
-	/**
-	 * Destructor
-	 */
-	virtual ~MulPushMode();
-   	
-	/**
-	 * Informs the data model that new items have been added to client's
-	 * internal model. Data model is expected to sync its indices as a 
-	 * result.
-	 * 
-	 * @param aIndex Position where items were inserted.
-	 * @param aCount Number of items inserted.
-     * @return true if highlight is modified else false.	 
-	 */ 
-	bool Insert( int aIndex, int aCount, 
-                         const MulDataPath& aPath = MulDataPath() );
-	
-    /**
-     * Informs the data model that items have been removed from the client's.
-     * internal data model.Data model is expected to sync its indices as a 
-     * result.
-     * 
-     * @param aIndex Position from where items have to be removed.
-     * @param aCount Number of items to be removed.
-     * @return true if highlight is modified else false.
-     */ 
-    bool Remove( int aIndex, int aCount, 
-                         const MulDataPath& aPath = MulDataPath() );
-	
-    /**
-     * Informs the data model that an item has been updated in the client's
-     * internal model. Data model will use to input to determine whether
-     * a visualization change is required.
-     * 
-     * @param aIndex Position from where items have to be updated.
-     * @param aCount Number of items to be updated.
-     */ 
-	virtual void Update( int aIndex, int aCount, 
-                         const MulDataPath& aPath = MulDataPath() );
-
- 
-    /**
-      * A refresh data request. Informs that the data model has to be 
-      * repopulated with mentioned number of items. So the data model
-      * will remove all the existing data and issue request to the 
-      * provider for new data.
-      * 
-      * @param aCount Number of items to be repopulated.
-      * @param aPath  Path of parent item in the data hierarchy. 
-      *               Default is Null path i.e. no parent.
-      */ 						 
-	virtual void Refresh( int aCount, const MulDataPath& aPath = MulDataPath());						 
-	
-	/**
-     * Provide data for the specified item. This is a unified API for 
-     * adding & updating data. 
-     *
-     * @param aIndex Position of item to be updated.
-     * @param aVisualItem Collection of attributes. Ownership is transfered.
-     * @throw Invalid Argument, in case index is out of bound or visual 
-     *                         item is NULL.
-     * @throw Logic Error, in case item could not be updated.
-     */ 
-	virtual void SetData( int aIndex, 
-						  std::auto_ptr<MulVisualItem> aVisualItem, 
-                          const MulDataPath& aPath);
-	
-	 /**
-	  * Get the data for item at the specified index.
-	  *
-	  * @param aIndex Position of item in the data model.
-	  * @return A constant reference to the data at the given index.
-	  */ 
-	const MulVisualItem* Data( int aIndex, const MulDataPath& aPath ) const;
-
-	 /**
-	  * Get the count of items in the model.
-	  *
-	  * @return Count of items in the model.
-	  */ 
-	int Count(const MulDataPath& aPath ) const; 
-
-	/**
-     * Set the default logical template id for widget elements. 
-     * Logical templates map to visualization of the element(s).
-     * 
-     * @param aTemplateId Logical template id for the widget elements.
-     */ 
-	virtual void SetTemplate( mulwidget::TLogicalTemplate aTemplateId ) ;
-	
-    /**
-     * Returns the default template. 
-     * 
-     * @return Logical template id for the widget elements.
-     */ 
-	mulwidget::TLogicalTemplate Template( ) ;
-
-	/**
-     * Set the logical template id for a specific widget element. 
-     * Logical templates map to visualization of the element.
-     * 
-     * @param aItemIndex Unique id of item of which template needs to be applied.
-     * @param aTemplateId Logical template id for the widget element.
-     * @throw Invalid Argument, in case index is out of bound.
-     */ 
-	void SetTemplate( int aItemIndex, mulwidget::TLogicalTemplate aTemplateId, 
-	                    	  const MulDataPath& aPath );
-	 
-	/**
-     * Returns the total number of items in model.
-     */ 
-	int CurrentItemCount() const;	                    	
-	    
-	/**
-	 * When ever data window update data window, it will use this method to notify
-	 * Data model to update data window and update alf model
-	 */
-	virtual void DataWindowUpdated(){ };
-		
-	/**
-	 * Return cachemanager 
-	 * 
-	 * @return cachae manager
-	 */
-	MulCacheManager& CacheManager() const;
-	
-	/**
-	 * Get Visualte item from absolute index
-	 * 
-	 * @param aAbsoluteIndex Absolute index
-	 * @return VisualItem at index
-	 */
-	virtual const MulVisualItem& Item( int aAbsoluteIndex );
-	
-	/**
-	 * Check that visual item has Templatte or not
-	 * If visualte item is not poper exception will be throws
-	 * 
-	 * @param aVisualItem Visual item to be tested
-	 */
-	void ValidateVisualItem( MulVisualItem& aVisualItem );
-	
-	/**
-	 * Modify the data alfmodel to handle remove, insert, or expand/colapse operation
-	 * 
-	 * @param, aOldCount Total number of items in Alf model before the current operation
-	 */	
-	virtual void ModelCountChanged(int aOldCount, int aNewCount);		
-		
-private:
-	
-	/**
-	 * If current highlight is greater than the number of items in model then update the highlight.
-	 *
-	 * @return Ture if highlight value is modified else false
-	 */		
-	bool ValidateCurrentHighlight();
-		
-protected: // data members	
-	
-	std::auto_ptr<MulCacheManager>	mCacheManager; //own
-	MulPageDataWindow& mDataWindow;	// Not own
-	//UString	 mDefaultTemplate; //default template for data	
-	mulwidget::TLogicalTemplate mDefaultTemplate;
-
-    };
-    
-    } // namespace Alf
-
-#endif // MULPUSHMODE_H
-    
-//End of file
-    
--- a/mulwidgets/muldatamodel/inc/multree.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Header for MulTree
-*
-*/
-
-
-#ifndef MULTREE_H_
-#define MULTREE_H_
-
-#include <memory>
-#include <vector>
-#include <osn/osnnew.h>
-
-namespace Alf
-    {
-//Forward declaration
-class MulDataPath;
-	
-class MulTreeNode
-	{
-public:
-
-	/**
-	 * Constuctor
-	 * 
-	 * @param aIndex Index of this node
-	 */
-	MulTreeNode( int aIndex )
-		{
-		mParent = NULL;
-		mExpandedState = false;
-		mIndex = aIndex;
-		}
-	
-	/**
-	 * Constuctor
-	 * 
-	 * @param aParent Parent node for this node. Node dosent take ownership of aParent
-	 * @param aIndex Index of this node
-	 */
-	MulTreeNode( MulTreeNode* aParent, int aIndex )
-		{
-		mParent = aParent;
-		mExpandedState = false;
-		mIndex = aIndex;
-		}
-
-	/**
-	 * Destructor
-	 */
-	~MulTreeNode()
-		{
-		int count = mChilds.size();
-		for(int i = 0 ; i < count ; ++i )
-			{
-			delete Child(i);
-			}
-		mChilds.clear();
-		}
-	
-	/**
-	 * Insert child node in this node at given index
-	 * 
-	 * @param aChild Child node.Takes ownership of aChild
-	 * @param aIndex index at which child node to be inserted
-	 */
-	void InsertChild( std::auto_ptr<MulTreeNode> aChild, int aIndex )
-		{
-		aChild->mParent = this;
-		mChilds.insert( mChilds.begin() + aIndex, aChild.get() );
-		aChild.release();
-		}
-	
-	/**
-	 * Remove child node from this node.
-	 * 
-	 * @param aIndex Index of child that need to be removed
-	 */
-	void RemoveChild( int aIndex )
-		{
-		MulTreeNode* childNode = Child(aIndex);
-		delete childNode;
-		childNode = NULL;
-		mChilds.erase( mChilds.begin() + aIndex );
-		}
-	
-	/**
-	 * Number of child node that this node contains
-	 * 
-	 * @return Number of childs
-	 */
-	int ChildCount() const
-		{
-		return mChilds.size();
-		}
-	
-	/**
-	 * Return child node at given index
-	 * 
-	 * @param aIndex index of child node
-	 * @return Child node at given index
-	 */
-	MulTreeNode* Child( int aIndex )
-		{
-		//At checks for out of bound condition we dont need to check again
-		return mChilds.at(aIndex);
-		}
-	
-	/**
-	 * Check that weather this node is parent node and has any childs
-	 * 
-	 * @retrun true if node has cilds false otherwise
-	 */
-	bool HasChild()	const		
-		{	
-		return ( ChildCount() > 0 );	
-		}
-	
-	/**
-	 * Return parent of this node
-	 * 
-	 * @return Parent of node
-	 */
-	MulTreeNode* Parent() const
-		{
-		return mParent;
-		}
-	
-	/**
-	 * Set Index of node to current path
-	 * 
-	 * @param aIndex index of node
-	 */
-	void SetIndex( int aIndex )
-		{
-		mIndex = aIndex;
-		}
-
-	/**
-	 * Return index of node
-	 * 
-	 * @return index of node.
-	 */
-	int Index() const
-		{
-		return mIndex;
-		}
-	
-	/**
-	 * Expand or unexpand node.
-	 * 
-	 * @param aExpendedState New state of node
-	 */
-	void SetExpanded( bool aExpandedState )
-		{
-		mExpandedState = aExpandedState;
-		}
-	
-	/**
-	 * Return weather this node is expended or not
-	 * 
-	 * @return true if expended, false otherwise
-	 */
-	bool IsExpanded() const
-		{
-		return mExpandedState;
-		}
-	
-private:
-
-	MulTreeNode* mParent; //not own
-	int mIndex;
-	bool mExpandedState;
-	std::vector<MulTreeNode*> mChilds; //owns all children	
-	};
-
-class MulTree 
-	{
-public: //Constructor and Destructor
-
-	/**
-	 * C++ Constructor
-	 */
-	MulTree()
-		{
-		//create root node for tree
-		mRootNode.reset( new (EMM) MulTreeNode(0) );
-		mRootNode->SetExpanded( true );
-		mRootNode->SetIndex(0);
-		}
-
-	/**
-	 * Destructor
-	 */
-	~MulTree()
-		{
-		}
-	
-public: //New method
-	
-	/**
-	 * Create new node at specified index
-	 * 
-	 * @param aPath Path to parent node
-	 * @param aIndex Position at which node to be inserted in parent node
-	 */
-	void AddNode( const MulDataPath& aPath, int aIndex );
-	
-	/**
-	 * Remove node from specified index
-	 * 
-	 * @param aPath Path to parent node
-	 * @param aIndex Posiotin at which node to be remove from parent node
-	 */
-	void RemoveNode( const MulDataPath& aPath, int aIndex );
-	
-	/**
-	 * Finds node with specified path
-	 * 
-	 * @param aPath path of node to be find
-	 * @return Node does not return ownership
-	 */
-    MulTreeNode* FindNode( const MulDataPath& aPath ) const;
-
-	/**
-	 * Finds node with specified index in specified node
-	 * 
-	 * @param aParentNode Parent node in which search required to be made
-	 * @param aIndex Index of node to be find
-	 * @return Node does not return ownership
-	 */
-	MulTreeNode* FindChildNode( MulTreeNode* aParentNode, int aIndex ) const;
-	
-	/**
-	 * Find node with specified absolute index and return path to that node.
-	 * 
-	 * @param aIndex Index of node
-	 * @return Path to node
-	 */
-	MulDataPath FindNode( int aIndex ) const;
-		
-	/**
-	 * Create and return path for given node
-	 * 
-	 * @param aNode Node of which path is required
-	 * @return Path of node
-	 */
-	MulDataPath Path( MulTreeNode& aNode ) const;
-	
-	/**
-	 * Return number of node this tree contains
-	 * 
-	 * @return Number of nodes
-	 */
-	int NodeCount() const;
-	
-	/**
-	 * Return number of node this node branch
-	 * 
-	 * @return Number of nodes
-	 */
-	int NodeCount(MulTreeNode* aCurrentNode ) const;
-	
-	/**
-	 * Return number of items,
-	 * Checks that node is expanded or not, 
-	 * if expanded then add it counts child count else ignore child count.
-	 * 
-	 * @return Node count
-	 */
-	int ExpandedNodeCount() const;
-	
-	/**
-	 * Return number of items,
-	 * Checks that node is expanded or not, 
-	 * if expanded then add it couts child count else ignore child count.
-	 * 
-	 * @param aCurrentNode Node of which count is needed
-	 * 
-	 * @return Node count
-	 */
-	int ExpandedNodeCount(MulTreeNode* aCurrentNode ) const;
-	
-	/**
-	 * Returns node's absolute index
-	 * 
-	 * @param aPath Path to node
-	 * @param aIndex index of node in path
-	 * @return position of node in whole tree
-	 */
-	int NodeIndex( const MulDataPath& aPath, int aIndex ) const;
-		
-private:	
-
-	/**
-	 * Find node with specified absolute index and return path to that node.
-	 * 
-	 * @param aNode Node in which index to be find
-	 * @param aIndex Index of node
-	 * @return Path to node
-	 */
-	MulDataPath FindNode( MulTreeNode* aNode, int& aAbsoluteIndex, int aIndex ) const;
-	
-	/**
-	 * Returns node's absolute index
-	 * 
-	 * @param aCurrentNode Node to compare path with
-	 * @param aPath Path of node which absolute index is required
-	 * @param aAbsoluteIndex Counter variable
-	 * @return position of node in whole tree
-	 */
-	int NodeIndex( MulTreeNode* aCurrentNode, const MulDataPath& aPath,int& aAbsoluteIndex ) const;
-	
-private: //data
-
-	std::auto_ptr<MulTreeNode> mRootNode; //root of tree - owned
-	};
-	
-	} //namespace Alf
-
-#endif /*MULTREE_H_*/
--- a/mulwidgets/muldatamodel/inc/mulvectoradaptor.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Adaptor class for AlfPtrVector and Stt vector
-*
-*/
-
-
-#ifndef MULVECTORADAPTOR_H_
-#define MULVECTORADAPTOR_H_
-
-#include <vector>
-#include <algorithm> //for find algorithm
-
-using namespace std;
-
-namespace Alf
-	{
-	
-//Forward Declaration
-
-/**
- * Adaptor class for stl vector with interface similar to AlfPtrVector
- */
-template <class T> class MulVectorAdaptor 
-    {         
-public: //new method
-
-	/**
-	 * Return number of element in  vector
-	 * 
-	 * @return no of element in vector
-	 */
-	int count()
-		{
-		return mVector.size();
-		}
-	
-	/**
-	 * Insert item in vector
-	 * 
-	 * @param aPosition Position of item 
-	 * @param aItem item to be inserted
-	 */
-	void insert( uint aPosition, T aItem )
-		{		
-		mVector.insert( mVector.begin() + aPosition, aItem );
-		}
-	
-	/**
-	 * Insert item in vector at last
-	 * 
-	 * @param aItem item to be inserted
-	 */
-	void insert( T aItem )
-		{
-		mVector.push_back( aItem );
-		}
-	
-	/**
-	 * Return item at specified index
-	 * 
-	 * @param aPosition position of item 
-	 * @return itmem at specified index
-	 */
-	T operator[] ( uint aPosition ) const
-		{
-		return mVector[aPosition];
-		}
-	
-	/**
-	 * Remove item from specified position
-	 * 
-	 * @param aPosition Position of item to be removed
-	 */
-	void remove( uint aPosition  )
-		{
-		mVector.erase( mVector.begin() + aPosition );
-		}
-	
-	/**
-	 * Remove specified item
-	 * 
-	 * @param aItem Item to be removed
-	 */
-	void remove( T aItem )
-		{
-//		vector<T>::iterator iter = std::find( mVector.begin(), mVector.end(), aItem) ;
-//		if( iter !=  mVector.end())
-//			{
-//			mVector.erase( iter );
-//			}
-		
-		if(  std::find( mVector.begin(), mVector.end(), aItem) !=  mVector.end())
-			{
-			mVector.erase(  std::find( mVector.begin(), mVector.end(), aItem) );
-			}
-		}
-	
-	/**
-	 * Return actual std vector of this adaptor class
-	 * 
-	 * @return Return std vector.
-	 */
-	const vector<T>& actualVector()
-		{
-		return mVector;
-		}
-	
-	/**
-	 * Find specifed item in vecotr
-	 * 
-	 * @return return true if item found false otherwise
-	 */
-	bool find( T aItem )
-		{
-//		vector<T>::iterator iter = std::find(mVector.begin(), mVector.end(), aItem) ;
-//		return (iter != mVector.end());
-		
-		return (std::find(mVector.begin(), mVector.end(), aItem) != mVector.end());		
-		}
-	
-	/**
-	 * Clear the content of vector
-	 */
-	void clear()
-		{
-		mVector.clear();
-		}
-	
-private: //data
-
-	vector<T> mVector;	
-    };
-	    
-    } //namespace Alf
-
-#endif /*MULVECTORADAPTOR_H_*/
-
-//End of file
-
-
--- a/mulwidgets/muldatamodel/rom/muldatamodel.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Data model iby file.
-*
-*/
-
-
-#ifndef __MULDATAMODEL_IBY__
-#define __MULDATAMODEL_IBY__
-
-ECOM_PLUGIN(muldatamodelplugin.dll, muldatamodelplugin.rsc)
-file=\epoc32\release\armv5\urel\mulmodelutility.dll \sys\bin\mulmodelutility.dll
-file=\epoc32\release\armv5\urel\muldatamodel.dll \sys\bin\muldatamodel.dll
-//file=\epoc32\release\armv5\udeb\mulmodelutility.dll \sys\bin\mulmodelutility.dll
-//file=\epoc32\release\armv5\udeb\muldatamodel.dll \sys\bin\muldatamodel.dll
-#endif // __MULDATAMODEL_IBY__
-
-// End of file
--- a/mulwidgets/muldatamodel/src/mulactionitem.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:   Action item class implementation.
- *
-*/
-
-
-// includes
-#include "mulactionitem.h"
-
-#include <stdexcept>
-
-namespace Alf
-	{
-
-static const char* const KNotImplemented = "Not Implemented";
-static const char* const KInvalidArgument = "Invalid Parameter";
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//		
-OSN_EXPORT MulActionItem::MulActionItem(TMulActionType aType, MulActionData* aData):
-	mType(aType)	
-	{       
-	if( !aData )
-	    {
-	    throw std::invalid_argument(std::string(KInvalidArgument));
-	    }
-	mData = aData;    
-	}
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//		
-OSN_EXPORT MulActionItem::MulActionItem( const MulActionItem& aActionItem )
-	{
-	mType = aActionItem.mType;
-	mData.reset( new (EMM) MulActionData(*aActionItem.mData.get()));
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//		
-OSN_EXPORT MulActionItem::~MulActionItem()
-	{
-	// No implemnetation.    	
-	}
-
-// ---------------------------------------------------------------------------
-// SetActionType
-// ---------------------------------------------------------------------------
-//		
-OSN_EXPORT void MulActionItem::SetActionType( TMulActionType aType)
-	{
-	mType = aType;		
-	}
-
-// ---------------------------------------------------------------------------
-// ActionType
-// ---------------------------------------------------------------------------
-//		
-OSN_EXPORT MulActionItem::TMulActionType MulActionItem::ActionType() const
-	{
-	return mType;
-	}
-
-// ---------------------------------------------------------------------------
-// SetActionData
-// ---------------------------------------------------------------------------
-//		
-OSN_EXPORT void MulActionItem::SetActionData( MulActionData* aData )
-	{
-	if( !aData )
-	    {
-	    throw std::invalid_argument(std::string(KInvalidArgument));    
-	    }
-	    
-	mData = aData;
-	}
-
-// ---------------------------------------------------------------------------
-// ActionData
-// ---------------------------------------------------------------------------
-//		
-OSN_EXPORT const MulActionData& MulActionItem::ActionData() const
-	{
-	return *mData.get();
-	}
-
-// ---------------------------------------------------------------------------
-// Type
-// ---------------------------------------------------------------------------
-//	
-//const UString& MulActionItem::Type()
-//	{
-//	mActionString.reset(new UString(mulactionitem::KActionString));
-//    return *mActionString.get();
-//	}
-
-// ---------------------------------------------------------------------------
-// Clone
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT std::auto_ptr< IMulVariantType > MulActionItem::Clone()
-	{
-	std::auto_ptr<MulActionData> actionData( new (EMM) MulActionData(*mData));
-	std::auto_ptr<IMulVariantType> clone ( new (EMM) MulActionItem( ActionType(), actionData.get()));
-	actionData.release();
-	return clone;
-	}
-
-// ---------------------------------------------------------------------------
-// set
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void MulActionItem::set(IAlfVariantType& /*aValue*/)
-	{
-	throw std::logic_error(KNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// type
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfVariantType::Type MulActionItem::type() const
-	{
-	throw std::logic_error(KNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// boolean
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT bool MulActionItem::boolean() const
-	{
-	throw std::logic_error(KNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// integer
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int MulActionItem::integer() const
-	{
-	throw std::logic_error(KNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// uinteger
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT uint MulActionItem::uinteger() const
-	{
-	throw std::logic_error(KNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// real
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT double MulActionItem::real() const
-	{
-	throw std::logic_error(KNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// string
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const UString& MulActionItem::string() const 
-	{
-	throw std::logic_error(KNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// container
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfContainer* MulActionItem::container() 
-	{
-	throw std::logic_error(KNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// map
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfMap* MulActionItem::map() 
-	{
-	throw std::logic_error(KNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// branch
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfBranch* MulActionItem::branch() 
-	{
-	throw std::logic_error(KNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// customData
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfModelBase* MulActionItem::customData() 
-	{
-	throw std::logic_error(KNotImplemented);
-	}
-		
-	} // namespace ends 
-	
-// End of file
--- a/mulwidgets/muldatamodel/src/mulasyncdataprovider.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Active Object Implementation for providing data asynchronously
-*
-*/
-
-
-#include "mulasyncdataprovider.h"
-
-#include <osn/osnnew.h>
-#include <algorithm> //for find algorithm
-
-#include "mullog.h"
-
-namespace Alf
-    {
-
-// ---------------------------------------------------------------------------
-// MulAsyncDataProvider
-// ---------------------------------------------------------------------------
-//
-MulAsyncDataProvider::MulAsyncDataProvider( IMulModelProvider& aDataProvider,
-                                            const MulPageDataWindow& aDataWindow )
-                     :CActive( EPriorityNormal ),
-                      mDataProvider(aDataProvider),
-                      mDataWindow(aDataWindow)
-    {
-    MUL_LOG_ENTRY_EXIT("MUL::MulAsyncDataProvider::MulAsyncDataProvider");
-    CActiveScheduler::Add(this);
-    }
-
-// ---------------------------------------------------------------------------
-// ~MulAsyncDataProvider
-// ---------------------------------------------------------------------------
-//
-MulAsyncDataProvider::~MulAsyncDataProvider()
-    {
-    MUL_LOG_ENTRY_EXIT("MUL::MulAsyncDataProvider::~MulAsyncDataProvider");  
-    Cancel();
-    mDataQueue.clear();
-    }
-
-// ---------------------------------------------------------------------------
-// RunL
-// ---------------------------------------------------------------------------
-//
-void MulAsyncDataProvider::RunL()
-    {  
-    vector<MulAsyncData>::iterator iter = mDataQueue.begin();
-    if( iter < mDataQueue.end() )
-        {
-        bool inDataWindow = false;
-        MulAsyncData asyncData = *iter;
-        
-        if(mDataWindow.IsItemInDataWindow(asyncData.mStartIndex) /*&& mDataWindow->IsItemInDataWindow(mStartIndex+ITEMS)*/)
-            { 
-            if( asyncData.mRange < mDataWindow.WindowSize() )
-                {
-                mDataProvider.ProvideData( asyncData.mStartIndex, asyncData.mRange, asyncData.mPath); 
-                }
-            else
-                {
-                mDataProvider.ProvideData( asyncData.mStartIndex, mDataWindow.WindowSize() , asyncData.mPath); 
-                }
-            inDataWindow = true;
-            }
-                  
-        asyncData.mStartIndex += mDataWindow.WindowSize();
-        asyncData.mRange -= mDataWindow.WindowSize();
-        mDataQueue.erase(iter);
-        
-       if( asyncData.mRange > 0 && inDataWindow )
-            {     
-            mDataQueue.insert( iter, asyncData ); 
-            if( !IsActive() )
-                {
-                ActivateAndComplete();
-                }
-            }
-         else if(mDataQueue.begin() < mDataQueue.end())
-            {  
-            if( !IsActive() )
-                {
-                ActivateAndComplete();
-                }
-            }
-        }     
-    }
-
-// ---------------------------------------------------------------------------
-// DoCancel
-// ---------------------------------------------------------------------------
-//
-void MulAsyncDataProvider::DoCancel()
-    {
-    //does this function required??
-    }
-//    
-// ---------------------------------------------------------------------------
-// ProvideData
-// ---------------------------------------------------------------------------
-//
-void MulAsyncDataProvider::ProvideData( int aStartIndex, int aRange, const MulDataPath& aPath, const bool aIsSync )
-    { 
-    if( aIsSync )
-        {
-        mDataProvider.ProvideData( aStartIndex, aRange, aPath);
-        return;
-        }
-    MulAsyncData asyncData;
-    asyncData.mStartIndex = aStartIndex;
-    asyncData.mRange = aRange;
-    asyncData.mPath = aPath;
-    if( std::find( mDataQueue.begin(), mDataQueue.end(), asyncData ) ==  mDataQueue.end())
-        {
-        mDataQueue.push_back( asyncData );
-        }
-                 
-    for( int i = 0 ; i < mDataQueue.size() ; ++i )
-        {
-        MulAsyncData data = mDataQueue[i]; 
-        if ( (mDataWindow.IsItemInDataWindow( data.mStartIndex ) &&
-              !mDataWindow.IsItemInDataWindow( data.mStartIndex + data.mRange - 1 ) ) )
-            {
-            int index = GetFirstIndexForWhichDataIsPresent(data.mStartIndex , data.mStartIndex + data.mRange - 1 );
-            if( index!= -1 &&( index - data.mStartIndex + 1) > 0)
-                {
-                mDataQueue.erase(mDataQueue.begin() + i);
-                data.mRange = index - data.mStartIndex + 1;
-                mDataQueue.insert(mDataQueue.begin() + i, data);
-                }
-            else
-                {
-                mDataQueue.erase(mDataQueue.begin() + i);
-                i--;
-                }    
-            
-            }
-        else if ( (!mDataWindow.IsItemInDataWindow( data.mStartIndex ) &&
-              mDataWindow.IsItemInDataWindow( data.mStartIndex + data.mRange - 1 ) ) )
-            {
-            int index = GetFirstIndexForWhichDataIsPresent(data.mStartIndex , data.mStartIndex + data.mRange - 1 );
-            if( index!= -1 &&( data.mStartIndex + data.mRange - index ) > 0 )
-                {
-                mDataQueue.erase(mDataQueue.begin() + i);
-                int endIndex = (data.mStartIndex + data.mRange - 1);
-                data.mStartIndex = index;
-                data.mRange = (endIndex - index + 1);
-                mDataQueue.insert(mDataQueue.begin() + i, data);
-                }
-            else
-                {
-                mDataQueue.erase(mDataQueue.begin() + i);
-                i--;
-                }
-            }
-        else if ( (!mDataWindow.IsItemInDataWindow( data.mStartIndex ) &&
-              !mDataWindow.IsItemInDataWindow( data.mStartIndex + data.mRange - 1 ) ) )
-           {
-           mDataQueue.erase(mDataQueue.begin() + i);
-           i--;
-           MUL_LOG_INFO2( "MUL::MulAsyncDataProvider::ProvideData Removing From Q: startIndx=%d,range=%d", data.mStartIndex, data.mRange ); 
-           }
-        }
-    
-    if( !IsActive() )
-        { 
-        ActivateAndComplete();
-        }
-    }
-// ---------------------------------------------------------------------------
-// GetFirstIndexForWhichDataIsPresent
-// ---------------------------------------------------------------------------
-//
-int MulAsyncDataProvider::GetFirstIndexForWhichDataIsPresent(int aStartIndex, int aEndIndex)
-    {
-    if ( aStartIndex > aEndIndex )
-        {
-        return -1;
-        }
-    int mid = (aStartIndex + aEndIndex)/2;
-    if(mDataWindow.IsItemInDataWindow(aStartIndex))
-        {
-        if(mid == aStartIndex)
-            {
-            return mid;
-            }
-        if(mDataWindow.IsItemInDataWindow(mid))
-            {
-            return GetFirstIndexForWhichDataIsPresent(mid, aEndIndex);
-            }
-        else
-            {
-            return GetFirstIndexForWhichDataIsPresent(aStartIndex, mid);
-            }
-        }
-     else if(mDataWindow.IsItemInDataWindow(aEndIndex))
-        {
-        if(mid == aStartIndex)
-            {
-            return (mid + 1);
-            }
-        if(mDataWindow.IsItemInDataWindow(mid))
-            {
-            return GetFirstIndexForWhichDataIsPresent(aStartIndex, mid);
-            }
-        else
-            {
-            return GetFirstIndexForWhichDataIsPresent(mid, aEndIndex);
-            }           
-        }   
-    return -1;
-    }
-  
-// ---------------------------------------------------------------------------
-// ActivateAndComplete
-// ---------------------------------------------------------------------------
-//
- void MulAsyncDataProvider::ActivateAndComplete()
-    {
-    TRequestStatus* lStatus = &iStatus;
-    iStatus = KRequestPending;
-    SetActive();
-    User::RequestComplete(lStatus, KErrNone);
-    }
- 
-    } // End of namespace Alf .
-
-
-// End of file
--- a/mulwidgets/muldatamodel/src/mulcachemanager.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,435 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Cache Manager class
- *
-*/
-
-
-#include "mulcachemanager.h"
-
-#include <mul/imulvarianttype.h>
-#include <mul/muldatapath.h>
-
-#include <alf/alfvarianttype.h>
-#include <alf/ialfmap.h>
-#include <alf/ialfcontainer.h>
-#include <mul/muldatapath.h>
-
-#include <stdexcept>
-#include <osn/ustring.h>
-
-#include "mulassert.h"
-#include "mulmodeldef.h"
-#include "mulmodelimpl.h"
-#include "mul/mulmodelutility.h"
-#include "mullog.h"
-
-namespace Alf
-	{
-
-// ---------------------------------------------------------------------------
-// Constructor 
-// ---------------------------------------------------------------------------
-//
-MulCacheManager::MulCacheManager()
-			   : mTotalCount(0)
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor 
-// ---------------------------------------------------------------------------
-//
-MulCacheManager::~MulCacheManager()
-	{	
-	MulVisualItemMap::iterator itr;
-	for( itr = mVisualItemMap.begin(); itr!= mVisualItemMap.end(); ++itr )
-		{
-		delete itr->second;
-		itr->second = NULL;
-		}
-	mVisualItemMap.clear();
-	}
-
-// ---------------------------------------------------------------------------
-// CreateNodes 
-// ---------------------------------------------------------------------------
-//
-void MulCacheManager::CreateNodes(int aStartIndex, int aCount, const MulDataPath& /*aPath*/)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::CreateNodes()");
-	
-	__MUL_ASSERT_DEBUG( aStartIndex >= 0 && aStartIndex <= ExpandedNodeCount() && aCount > 0 , KLInvalidArgument );
-
-	if(mTotalCount > 0 && aStartIndex < mTotalCount )
-		{
-		UpdataPathInMapAfterInsert(mVisualItemMap, aStartIndex, aCount);
-		UpdataPathInMapAfterInsert(mSelectionMap, aStartIndex, aCount);
-		}
-
-	mTotalCount += aCount;
-	}
-
-// ---------------------------------------------------------------------------
-// AddVisualItem 
-// ---------------------------------------------------------------------------
-//
-void MulCacheManager::AddVisualItem( std::auto_ptr<MulVisualItem> aVisualItem,
-									const MulDataPath& /*aPath*/ , int aIndex)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::AddVisualItem()");
-	__MUL_ASSERT_DEBUG( aIndex >= 0 && aIndex < ExpandedNodeCount() , KLInvalidArgument );
-	
-	//adding item now
-	mVisualItemMap[aIndex] = aVisualItem.release();
-	}
-
-// ---------------------------------------------------------------------------
-// AddVisualItem 
-// ---------------------------------------------------------------------------
-//
-//void MulCacheManager::AddVisualItem( std::auto_ptr<MulVisualItem> aVisualItem, int aItemIndex )
-//	{
-//	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::AddVisualItem()");
-//	__MUL_ASSERT_DEBUG( aItemIndex >= 0 && aItemIndex < ExpandedNodeCount() , KLInvalidArgument );
-//	
-//	MulDataPath path ;//= mTree.FindNode( aItemIndex );
-//	AddVisualItem( aVisualItem, path, aItemIndex );
-//	}
-
-// ---------------------------------------------------------------------------
-// RemoveVisualItem 
-// ---------------------------------------------------------------------------
-//
-void MulCacheManager::RemoveVisualItem( int aIndex )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::RemoveVisualItem()");
-	
-	__MUL_ASSERT_DEBUG( aIndex >= 0 && aIndex < ExpandedNodeCount() , KLInvalidArgument );
-	
-	//MulDataPath path = mTree.FindNode( aIndex );
-	MulDataPath path;
-	RemoveItemFromMap( path, aIndex );	
-	}
-
-// ---------------------------------------------------------------------------
-// RemoveVisualItem 
-// ---------------------------------------------------------------------------
-//
-void MulCacheManager::RemoveVisualItem(const MulDataPath& aPath , int aIndex )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::RemoveVisualItem()");
-	
-	__MUL_ASSERT_DEBUG( aIndex >= 0 && aIndex < ExpandedNodeCount() , KLInvalidArgument );
-		
-	RemoveItemFromMap( aPath, aIndex );
-	mSelectionMap.erase( aIndex ); //remove marking information for this path, index
-	
-	UpdataPathInMapAfterRemove( mVisualItemMap, aIndex,1 );	
-	UpdataPathInMapAfterRemove( mSelectionMap, aIndex,1 );	
-	mTotalCount--;
-	}
-	
-// ---------------------------------------------------------------------------
-// RemoveVisualItem 
-// ---------------------------------------------------------------------------
-//	
-void MulCacheManager::RemoveVisualItem(int aIndex, int aCount, const MulDataPath& aPath)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::RemoveVisualItem()");
-	
-	__MUL_ASSERT_DEBUG( aIndex >= 0 && aIndex+aCount <= ExpandedNodeCount() , KLInvalidArgument );
-	
-	for(int i = aIndex ; i < aIndex+aCount; i++ )	
-		{
-		RemoveItemFromMap( aPath, i );
-		mSelectionMap.erase( i ); //remove marking information for this path, index
-		}
-	
-	if(aIndex + aCount < ExpandedNodeCount() )
-		{
-		UpdataPathInMapAfterRemove( mVisualItemMap, aIndex, aCount);	
-		UpdataPathInMapAfterRemove( mSelectionMap, aIndex, aCount );		
-		}
-		
-	mTotalCount-= aCount;
-	}
-
-// ---------------------------------------------------------------------------
-// RemoveItemFromMap 
-// ---------------------------------------------------------------------------
-//
-void MulCacheManager::RemoveItemFromMap( const MulDataPath& /*aPath*/ , int aIndex )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::RemoveItemFromMap()");
-	
-	MulVisualItemMap::iterator findIter = mVisualItemMap.find(aIndex);
-	if( findIter!= mVisualItemMap.end() )
-		{
-		delete findIter->second;
-		findIter->second = NULL;
-		mVisualItemMap.erase( aIndex );
-		}		
-	}
-	
-// ---------------------------------------------------------------------------
-// UpdataPathInMapAftreRemove 
-// ---------------------------------------------------------------------------
-//
-template <typename T> void MulCacheManager::UpdataPathInMapAfterRemove( std::map<int,T >& aMap, int aIndex, int aCount )
-	{	
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::UpdataPathInMapAfterRemove()");
-	
-	//loop through all items
-	//for(int i = 0 ; i < ExpandedNodeCount() ; ++i )
-	for(int i = aIndex ; i < ExpandedNodeCount() ; ++i )
-		{
-		// if index is greater than path index then index need to be modified
-		//if( i >= aIndex )
-			{	
-				
-			if( aMap.find( i ) != aMap.end() )
-				{			
-				T item = aMap.find( i )->second;
-				aMap.erase( i );
-				aMap[i-aCount] = item; //add item in to new index
-				}
-			}
-		}
-		
-	}
-
-// ---------------------------------------------------------------------------
-// UpdataPathInMapAftreInsert 
-// ---------------------------------------------------------------------------
-//
-template <typename T> void MulCacheManager::UpdataPathInMapAfterInsert( std::map<int,T >& aMap, int aIndex, int aCount )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::UpdataPathInMapAfterInsert()");
-	
-	//for( int i = ExpandedNodeCount() ; i > 0 ; --i )
-	for( int i = ExpandedNodeCount() ; i >= aIndex ; --i )
-        {
-        // if index is greater than path index then index need to be modified
-        //if( i >= aIndex )
-            {   
-                
-            if( aMap.find( i ) != aMap.end() )
-                {           
-                T item = aMap.find( i )->second;
-                aMap.erase( i );
-                aMap[ i + aCount] = item; //add item in to new index
-                }
-            }
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// UpdateVisualItem 
-// ---------------------------------------------------------------------------
-//
-void MulCacheManager::UpdateVisualItem( MulVisualItem& aUpdatedVisualItem, int aItemIndex  )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::UpdateVisualItem()");
-	
-	__MUL_ASSERT_DEBUG( aItemIndex >= 0 && aItemIndex < ExpandedNodeCount() , KLInvalidArgument );
-	
-	MulDataPath path ;
-	UpdateVisualItem( aUpdatedVisualItem, path, aItemIndex );
-	}
-
-// ---------------------------------------------------------------------------
-// UpdateVisualItem 
-// ---------------------------------------------------------------------------
-//
-void MulCacheManager::UpdateVisualItem( MulVisualItem& aVisualItem,const MulDataPath& /*aPath*/, int aIndex )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::UpdateVisualItem()");
-	
-	MulVisualItem* visualItem = Data( aIndex );
-	std::vector<mulvisualitem::TVisualAttribute> existingAttributes = aVisualItem.Attributes( );
-	for( int i = 0 ; i < existingAttributes.size() ; ++i )
-		{
-		mulvisualitem::TVisualAttribute attributeName = existingAttributes[i];
-		IMulVariantType* newValue = aVisualItem.Attribute( attributeName );
-		if(newValue)
-		    {
-		    std::auto_ptr<IMulVariantType> cloneValue = newValue->Clone();
-		   	int newflags = aVisualItem.Flag( attributeName );
-		
-		   	visualItem->SetAttribute( attributeName , cloneValue.get(), newflags );
-		   	cloneValue.release();
-		    }
-		}
-	visualItem->ResetDirtyAttribute(aVisualItem);
-	}
-
-// ---------------------------------------------------------------------------
-// Data 
-// ---------------------------------------------------------------------------
-//
-MulVisualItem* MulCacheManager::Data(const MulDataPath& /*aPath*/, int aIndex ) const
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::Data()");
-	
-	//__MUL_ASSERT_DEBUG( aIndex >= 0 && aIndex < ExpandedNodeCount() , KLInvalidArgument );
-	
-	MulVisualItemMap::const_iterator findIter = mVisualItemMap.find(aIndex);
-	if( findIter != mVisualItemMap.end() )
-		{		
-		return findIter->second;
-		}
-	else
-		{
-		return NULL;
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// Data 
-// ---------------------------------------------------------------------------
-//
-MulVisualItem* MulCacheManager::Data( int aIndex ) const
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::Data()");
-	   
-	__MUL_ASSERT_DEBUG( aIndex >= 0 && aIndex < ExpandedNodeCount() , KLInvalidArgument );
-		
-	MulDataPath path ;
-	return Data( path, aIndex );
-	}
-
-// ---------------------------------------------------------------------------
-// Count 
-// ---------------------------------------------------------------------------
-//
-int MulCacheManager::Count() const
-	{
-	return mVisualItemMap.size();
-	}
-	
-// ---------------------------------------------------------------------------
-// ExpandedNodeCount 
-// ---------------------------------------------------------------------------
-//
-int MulCacheManager::ExpandedNodeCount( ) const
-	{
-	//return mTree.ExpandedNodeCount();
-	return mTotalCount;
-	}
-
-// ---------------------------------------------------------------------------
-// SetMarkedIndices
-// ---------------------------------------------------------------------------
-//
-void MulCacheManager::SetMarkedIndices( MulWidgetDef::TMulWidgetMarkingType aType ,
-									 const std::vector<int>& aItemsIndex,
-									 const MulDataPath& /*aPath*/)
-
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::SetMarkedIndices()");
-	
-	bool selection( false );
-	// If selection type is not mark or unmark throw invalid argument exception
-	aType == MulWidgetDef::EMulMark || aType == MulWidgetDef::EMulUnmark ?
-	selection = ( aType == MulWidgetDef::EMulMark ) :
-	throw std::invalid_argument( KInvalidArgument ); 
-	
-	// Add selected indices to vector and remove unselected
-	for(int i = 0 ; i < aItemsIndex.size() ; i++ )
-		{
-		int  index = aItemsIndex[i];
-		selection ? mSelectionMap[index] = index : mSelectionMap.erase(index);
-		}	
-	}
-	
-// ---------------------------------------------------------------------------
-// SetMarkedIndices
-// ---------------------------------------------------------------------------
-//
-void MulCacheManager::SetMarkedIndices(MulWidgetDef::TMulWidgetMarkingType aType)
-	{	
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::SetMarkedIndices()");
-	
-	bool selection(false);
-	// If selection type is not mark all or unmark all throw invalid argument exception
-	aType == MulWidgetDef::EMulMarkAll || aType == MulWidgetDef::EMulUnmarkAll ?
-	selection = ( aType == MulWidgetDef::EMulMarkAll ) :
-	throw std::invalid_argument( KInvalidArgument ); 
-	
-	int count = ExpandedNodeCount();
-	for(int i = 0 ; i < count ; ++i )
-		{
-		selection ? mSelectionMap[i] = i : mSelectionMap.erase(i);
-		}		
-	}
-
-// ---------------------------------------------------------------------------
-// MarkedIndices
-// ---------------------------------------------------------------------------
-//
-const std::vector<int>& MulCacheManager::MarkedIndices( const MulDataPath& /*aPath*/  )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::MarkedIndices()");
-	
-	mSelectionVector.clear();
-	
-	int count = ExpandedNodeCount();
-	for( int i=0; i < count ;++i )
-		{
-		MulSelectionMap::const_iterator itr = mSelectionMap.find(i);
-		if(	itr != mSelectionMap.end() )
-			{
-			mSelectionVector.insert(i);
-			}
-		}
-	return mSelectionVector.actualVector();	
-	}
-
-// ---------------------------------------------------------------------------
-// IsItemMarked
-// ---------------------------------------------------------------------------
-//  
-bool MulCacheManager::IsItemMarked( int aIndex ) const
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::IsItemMarked()");
-	
-	__MUL_ASSERT_DEBUG( aIndex >= 0 && aIndex < ExpandedNodeCount() , KLInvalidArgument );
-		
-	MulSelectionMap::const_iterator itr = mSelectionMap.find( aIndex );	
-	return ( itr != mSelectionMap.end() );
-	}
-
-// ---------------------------------------------------------------------------
-// SetMarkedIndex
-// ---------------------------------------------------------------------------
-// 
-void MulCacheManager::SetMarkedIndex( MulWidgetDef::TMulWidgetMarkingType aType, int aIndex )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulCacheManager::SetMarkedIndex()");
-	
-	__MUL_ASSERT_DEBUG( aIndex >= 0 && aIndex < ExpandedNodeCount() , KLInvalidArgument );
-	
-	bool selection( false );
-	// If selection type is not mark or unmark throw invalid argument exception
-	aType == MulWidgetDef::EMulMark || aType == MulWidgetDef::EMulUnmark ?
-	selection = ( aType == MulWidgetDef::EMulMark ) :
-	throw std::invalid_argument( KInvalidArgument ); 
-	
-	selection ? mSelectionMap[aIndex] = aIndex : mSelectionMap.erase(aIndex);
-	}
-	
-} //end of namespace alf
-
-//end of file
--- a/mulwidgets/muldatamodel/src/muldatapath.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Header for MulDataPath
-*
-*/
-
-
-#include <mul/muldatapath.h>
-
-#include <vector>
-#include <osn/osnnew.h>
-#include <osn/ustring.h>
-#include <algorithm> //for equal algorithm
-
-namespace Alf
-    {
-    
-class MulDataPathImpl
-	{
-	
-public:
-
-     MulDataPathImpl():mIndex(-1)
-         {
-         }
-     
-	~MulDataPathImpl()
-		{
-		mPath.clear();
-		}
-	
-public:
-	std::vector<int> mPath; //store index of node for each depth
-	int mIndex;
-	};
-
-// ---------------------------------------------------------------------------
-// MulDataPath
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulDataPath::MulDataPath()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// MulDataPath
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulDataPath::MulDataPath( int aIndexForDepth1 )
-	{
-	Append( aIndexForDepth1 );
-	}
-
-// ---------------------------------------------------------------------------
-// MulDataPath
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulDataPath::MulDataPath( int aIndexForDepth1, int aIndexForDepth2)
-	{
-	Append( aIndexForDepth1 );
-	Append( aIndexForDepth2 );
-	}
-
-// ---------------------------------------------------------------------------
-// MulDataPath
-// ---------------------------------------------------------------------------
-//	
-OSN_EXPORT MulDataPath::MulDataPath( const MulDataPath& aPath )
-	{
-	if(aPath.mData.get())
-		{
-		SetIndex( aPath.Index() );
-		for( int i = 0 ; i < aPath.Depth() ; ++i )
-			{
-			Append( aPath[i] );
-			}
-		}
-	}
-	
-// ---------------------------------------------------------------------------
-// ~MulDataPath
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulDataPath::~MulDataPath()
-	{
-	if( mData.get() )
-		{
-		mData->mPath.clear();
-		}
-	}
-	
-// ---------------------------------------------------------------------------
-// Append
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void MulDataPath::Append(int aIndex)
-	{
-	if( !mData.get() )
-		{
-		mData.reset( new (EMM) MulDataPathImpl() );
-		}
-	mData->mPath.push_back(aIndex);
-	}
-
-// ---------------------------------------------------------------------------
-// Depth
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int MulDataPath::Depth() const
-	{
-	if( mData.get() )
-		{
-		return 	mData->mPath.size();
-		}
-	else
-		{
-		return -1;
-		}
-	}
-	
-// ---------------------------------------------------------------------------
-// operator[]
-// ---------------------------------------------------------------------------
-//	
-OSN_EXPORT int MulDataPath::operator[]( int aDepth ) const
-	{
-	if( mData.get() )
-		{
-		return 	(mData->mPath)[aDepth];
-		}
-	else
-		{
-		return -1;
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// operator[]
-// ---------------------------------------------------------------------------
-//
-bool MulDataPath::operator< ( MulDataPath& aPath)
-	{
-	bool result(false);
-	
-    //i dont wanted to add Index to original path because it is not part of path
-    //but index is quite necessary for comparition so creating temp vector 
-	//and copying path to temp vector and also appending index to path
-	std::vector<int> v1 = mData->mPath;
-	v1.push_back(Index());
-	
-	std::vector<int> v2 = aPath.mData->mPath;
-	v2.push_back(aPath.Index());
-	
-	result = lexicographical_compare(v1.begin(),v1.end(),v2.begin(),v2.end());
-	
-	return result;
-	}
-
-// ---------------------------------------------------------------------------
-// Index
-// ---------------------------------------------------------------------------
-//
-int MulDataPath::Index() const
-	{
-	if(mData.get())
-		{
-		return mData->mIndex;
-		}
-	return -1;
-	}
-
-// ---------------------------------------------------------------------------
-// SetIndex
-// ---------------------------------------------------------------------------
-//
-void MulDataPath::SetIndex(int aIndex)
-	{
-	if( !mData.get() )
-		{
-		mData.reset( new (EMM) MulDataPathImpl() );
-		}
-	mData->mIndex = aIndex;
-	}
-
-// ---------------------------------------------------------------------------
-// IsEqual
-// ---------------------------------------------------------------------------
-//
-bool MulDataPath::IsEqual( const MulDataPath& aPath ) 
-	{
-	if( (*this) == aPath )
-		{
-		if( Depth() == -1 && aPath.Depth() == -1 )
-			{
-			return true;
-			}
-		else
-			{
-			return Index() == aPath.Index();
-			}
-		}
-	else
-		{
-		return false;
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// Operator ==
-// ---------------------------------------------------------------------------
-//
-bool MulDataPath::operator == ( const MulDataPath& aPath) 
-	{
-	#ifdef _DEBUG
-	int depth1 = Depth();
-	int depth2 = aPath.Depth();
-	#endif
-	
-	//if depth is -1 , it mean that it points to root node
-	if( Depth() == -1 && aPath.Depth() == -1 )
-		{
-		return true;
-		}
-	else if((Depth() == -1 && aPath.Depth() == 0 ) || (Depth() == 0 && aPath.Depth() == -1 ))
-		{
-		return true;	
-		}
-	else if( Depth() != aPath.Depth() )
-		{
-		return false;
-		}
-	else
-		{
-		return equal( mData->mPath.begin(), mData->mPath.end(), aPath.mData->mPath.begin());
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// Operator =
-// ---------------------------------------------------------------------------
-//
-void MulDataPath::operator= ( MulDataPath aPath )	
-	{
-	if( aPath.mData.get() )	
-		{
-		if( mData.get() )
-			{
-			mData->mPath.clear();		
-			}
-		
-		SetIndex( aPath.Index() );
-		for( int i = 0 ; i < aPath.Depth() ; ++i )
-			{
-			Append( aPath[i] );
-			}		
-		}
-	}
-	
-	} //namespace Alf
-
-//End of file
--- a/mulwidgets/muldatamodel/src/muldatawindow.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,498 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Implementation of Data window
-*
-*/
-
-
-//Includes
-#include "muldatawindow.h"
-
-#include <stdexcept>
-#include <e32debug.h>
-
-//Internal includes
-#include "mulassert.h"
-#include "mulmodelimpl.h"
-#include "mullog.h"
-
-using namespace std;
-
-namespace Alf
-    {
-    
-// ---------------------------------------------------------------------------
-// MulDataWindow
-// ---------------------------------------------------------------------------
-//
-MulDataWindow::MulDataWindow( MulModelImpl& aMulModel )
-			  :mMulModel( aMulModel ),
-			   mHighlight(KNotInitialized),
-			   mItemIndex(KNotInitialized),
-			   mOldItemIndex(KNotInitialized),
-			   mBufferSize(KNotInitialized),
-			   mWindowSize(KNotInitialized),
-			   mWindowOffset(KNotInitialized),
-			   mWindowTop(0),
-			   mWindowBottom(0),
-			   mBufferTop(0),
-			   mBufferBottom(0),
-			   mOldBufferTop(KNotInitialized),
-			   mOldBufferBottom(KNotInitialized),
-			   mRearBufferTop(0),
-			   mRearBufferBottom(0),
-			   mOldRearBufferTop(KNotInitialized),
-			   mOldRearBufferBottom(KNotInitialized)
-	{	
-	}
-
-// ---------------------------------------------------------------------------
-// SetWindowSize
-// ---------------------------------------------------------------------------
-//
-void MulDataWindow::SetWindowSize( int aWindowSize )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulDataWindow::SetWindowSize()"); 
-	
-	__MUL_ASSERT( aWindowSize > 0, KLInvalidArgument );
-	
-	if( mWindowSize != aWindowSize )
-		{
-		if( KNotInitialized == mBufferSize )
-			{
-			mBufferSize = aWindowSize;			
-			}
-			
-		mWindowSize = aWindowSize;
-		//devide window half 
-		//Try to keep this much item above highlight and below highlight
-		mWindowOffset = mWindowSize / 2; 
-		
-		//adjusting window offset
-		//if window size changes then the top and bottom offset should be 
-		// adjusted such that highlight remains at the centre
-		//window top and bottom are inclusive
-		
-		mWindowTop = mItemIndex - mWindowOffset;	
-		mWindowTop = mWindowTop < 0 ? 0 : mWindowTop ;		
-		mWindowBottom = mWindowTop + mWindowSize - 1;
-		mWindowBottom = mWindowBottom >= mMulModel.CurrentItemCount() ? (mMulModel.CurrentItemCount() -1) : mWindowBottom;	
-		
-		MUL_LOG_INFO2("MUL::MulDataWindow::SetWindowSize() mWindowTop:%d,mWindowBottom:%d",mWindowTop,mWindowBottom); 
-		
-		AdjustBuffer();
-		mMulModel.DataWindowUpdated();
-		}
-	//else nothing needed
-	}
-	
-// ---------------------------------------------------------------------------
-// SetBufferSize
-// ---------------------------------------------------------------------------
-//
-void MulDataWindow::SetBufferSize( int aBufferSize )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulDataWindow::SetBufferSize()"); 
-	
-	__MUL_ASSERT( aBufferSize > 0, KLInvalidArgument );
-	
-	if( mBufferSize != aBufferSize )
-		{			
-		mBufferSize = aBufferSize;
-		
-		if(mMulModel.CurrentItemCount() > 0)
-			{
-			AdjustBuffer();
-			mMulModel.DataWindowUpdated();
-			}
-		}
-	//else nothing needed
-	}
-
-// ---------------------------------------------------------------------------
-// ~MulDataWindow
-// ---------------------------------------------------------------------------
-//
-MulDataWindow::~MulDataWindow()
-	{
-	// do nothing
-	}
-
-// ---------------------------------------------------------------------------
-// SetHighlight
-// ---------------------------------------------------------------------------
-//
-void MulDataWindow::SetHighlight( int aHighlightIndex )
-	{
-	MUL_LOG_INFO2("MUL::MulDataWindow::SetHighlight() mHighlight:%d,modelCount:%d",aHighlightIndex,mMulModel.CurrentItemCount()); 
-	
-	__MUL_ASSERT( aHighlightIndex >= 0 && aHighlightIndex <= mMulModel.CurrentItemCount()-1, KLInvalidArgument );
-	
-	if( mHighlight != aHighlightIndex )
-		{
-		mHighlight = aHighlightIndex; 
-	
-		ScrollWindow( mHighlight );
-		}
-	//else same highlight
-	}
-
-
-// ---------------------------------------------------------------------------
-// UpdateHighlight
-// ---------------------------------------------------------------------------
-//
-void MulDataWindow::UpdateHighlight( int aHighlightIndex )
-	{
-	// No need to assert. We should send highlight -1 when all the items are removed.
-	// Widget should handle. to show emty text visualization
-	mHighlight = aHighlightIndex; 
-	}
-		
-// ---------------------------------------------------------------------------
-// ScrollWindow
-// ---------------------------------------------------------------------------
-//
-void MulDataWindow::ScrollWindow( int aItemIndex )
-	{
-	MUL_LOG_INFO2("MUL::MulDataWindow::ScrollWindow() aItemIndex:%d,modelCount:%d",aItemIndex,mMulModel.CurrentItemCount()); 
-	
-	__MUL_ASSERT( aItemIndex >= 0 && aItemIndex <= mMulModel.CurrentItemCount()-1, KLInvalidArgument );
-	
-	if( mItemIndex != aItemIndex )
-		{
-		mOldItemIndex = mItemIndex;
-		mItemIndex = aItemIndex; 
-	
-        if(IsWindowEnabled())
-	        {
-		    UpdateDataWindow();
-	        }
-		}
-	//else same highlight
-	}
-
-
-// ---------------------------------------------------------------------------
-// UpdateDataWindow
-// ---------------------------------------------------------------------------
-//
-void MulDataWindow::UpdateDataWindow()
-	{
-#ifdef _DEBUG
-	int diff = mItemIndex - mOldItemIndex;
-#endif //_DEBUG 
-	
-	//If diffrence is negative than highlight is moved up else down
-	(( mItemIndex - mOldItemIndex ) < 0 ) ? ShiftWindowUp() : ShiftWindowDown() ;
-	}
-
-// ---------------------------------------------------------------------------
-// ShiftWindowDown
-// ---------------------------------------------------------------------------
-//
-void MulDataWindow::ShiftWindowDown()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulDataWindow::ShiftWindowDown()");  
-	MUL_LOG_INFO2("MUL::MulDataWindow::ShiftWindowDown() mItemIndex:%d,mWindowBottom:%d",mItemIndex,mWindowBottom); 
-	
-	if( mItemIndex > mWindowBottom )
-		{
-		mWindowTop = mItemIndex - mWindowOffset;
-		mWindowBottom = mWindowTop + mWindowSize -1;
-		//bottom is exceeding model count
-		mWindowBottom = mWindowBottom >= mMulModel.CurrentItemCount() ? 
-						mWindowBottom = mMulModel.CurrentItemCount() - 1 : mWindowBottom;
-		
-		mWindowTop = mWindowBottom - mWindowSize + 1;
-		//top can't be negative
-		mWindowTop = mWindowTop < 0 ? 0 : mWindowTop ;
-		
-		MUL_LOG_INFO2("MUL::MulDataWindow::ShiftWindowDown() mWindowTop:%d,mWindowBottom:%d",mWindowTop,mWindowBottom); 
-		SaveOldValues();
-		AdjustBuffer();
-		mMulModel.DataWindowUpdated();
-		}
-	//else nothing needed
-	}
-
-// ---------------------------------------------------------------------------
-// ShiftWindowUp
-// ---------------------------------------------------------------------------
-//
-void MulDataWindow::ShiftWindowUp()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulDataWindow::ShiftWindowUp() Start");  
-	MUL_LOG_INFO2("MUL::MulDataWindow::ShiftWindowUp() mItemIndex:%d,mWindowBottom:%d",mItemIndex,mWindowBottom); 
-	
-	if( mItemIndex < mWindowTop )
-		{
-		mWindowTop = mItemIndex - mWindowOffset;
-		//top can't be negative
-		mWindowTop = mWindowTop < 0 ? 0 : mWindowTop ;
-		
-		mWindowBottom = mWindowTop + mWindowSize -1;
-		
-		//bottom cant exceed model count
-		mWindowBottom = mWindowBottom >= mMulModel.CurrentItemCount() ? 
-						mWindowBottom = mMulModel.CurrentItemCount() - 1 : mWindowBottom;
-		
-		MUL_LOG_INFO2("MUL::MulDataWindow::ShiftWindowUp() mWindowTop:%d,mWindowBottom:%d",mWindowTop,mWindowBottom); 
-		
-		SaveOldValues();
-		AdjustBuffer();
-		mMulModel.DataWindowUpdated();
-		}
-	//else nothing needed
-	}
-
-// ---------------------------------------------------------------------------
-// AdjustBuffer
-// ---------------------------------------------------------------------------
-//
-void MulDataWindow::AdjustBuffer()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulDataWindow::AdjustBuffer()");  
-	
-	int modelCount = mMulModel.CurrentItemCount() -1;
-		
-	//remove data is new window is smaller/add is new window is bigger
-	if( mWindowTop == 0 && ActualBufferSize() <= modelCount )
-		{
-		MUL_LOG_INFO("MUL::MulDataWindow::AdjustBuffer() mWindowTop == 0 ");  		
-		
-		mBufferTop = mWindowTop;
-		mBufferBottom = mBufferTop + mWindowSize + mBufferSize - 1;
-		
-		//Create rear top and rear bottom only in looping case
-		//window top is zero so data at other end should be buffered
-		mRearBufferBottom = modelCount;
-		mRearBufferTop = mRearBufferBottom - mBufferSize +1;		
-		}
-	else if( mWindowBottom == modelCount && ActualBufferSize() <= modelCount )
-		{
-		MUL_LOG_INFO("MUL::MulDataWindow::AdjustBuffer() mWindowBottom == modelCount ");  
-		
-		mBufferBottom = mWindowBottom ;
-		mBufferTop = mBufferBottom - (mWindowSize + mBufferSize) + 1;
-		
-		//Create rear top and rear bottom only in looping case
-		//window bottom is equal to model count so data at other end should be buffered
-		mRearBufferTop = 0;
-		mRearBufferBottom = mRearBufferTop + mBufferSize -1;
-		}
-	else
-		{
-		MUL_LOG_INFO("MUL::MulDataWindow::AdjustBuffer() else ");  
-		
-		mBufferTop = mWindowTop - mBufferSize;
-		mBufferBottom = mWindowBottom + mBufferSize;
-		
-		//check if top or bottom is out of bound and update offset accordingly
-		if( mBufferTop < 0 )
-			{
-			MUL_LOG_INFO("MUL::MulDataWindow::AdjustBuffer() mBufferTop < 0 "); 
-			
-			mBufferTop = 0;
-			mBufferBottom = mBufferTop + ActualBufferSize()  - 1;
-			//buffer bottom cant be larger then model count
-			mBufferBottom = mBufferBottom > modelCount ? modelCount : mBufferBottom;
-			}
-		else if( mBufferBottom > modelCount )
-			{
-			MUL_LOG_INFO("MUL::MulDataWindow::AdjustBuffer() mBufferBottom > modelCount"); 
-			
-			mBufferBottom = modelCount ;
-			mBufferTop = mBufferBottom - ActualBufferSize() + 1;
-			//buffer top cant be less then 0
-			mBufferTop = mBufferTop < 0 ? 0 : mBufferTop;
-			}
-		
-		//in other case rear top and rear bottom is not use set to -1
-		mRearBufferTop = KNotInitialized;
-		mRearBufferBottom = KNotInitialized;
-		}
-	
-	MUL_LOG_INFO2("MUL::MulDataWindow::AdjustBuffer() mOldBufferTop:%d,mOldBufferBottom:%d",mOldBufferTop,mOldBufferBottom); 
-	MUL_LOG_INFO2("MUL::MulDataWindow::AdjustBuffer() mOldRearBufferBottom:%d,mOldRearBufferTop:%d",mOldRearBufferBottom,mOldRearBufferTop); 
-	
-	MUL_LOG_INFO2("MUL::MulDataWindow::AdjustBuffer() mBufferTop:%d,mBufferBottom:%d",mBufferTop,mBufferBottom); 
-	MUL_LOG_INFO2("MUL::MulDataWindow::AdjustBuffer() mRearBufferBottom:%d,mRearBufferTop:%d",mRearBufferBottom,mRearBufferTop); 
-
-	__MUL_ASSERT_DEBUG( mWindowTop >= 0 && mWindowBottom < mMulModel.CurrentItemCount(), _L("Invlid Window"));
-	__MUL_ASSERT_DEBUG( mBufferTop >= 0 && mBufferBottom < mMulModel.CurrentItemCount(), _L("Invlid Buffer"));
-	}
-		
-// ---------------------------------------------------------------------------
-// IsItemInDataWindow
-// ---------------------------------------------------------------------------
-//
-bool MulDataWindow::IsItemInDataWindow(int aItemIndex ) const
-	{
-	//__MUL_ASSERT_DEBUG( aItemIndex >= 0 && aItemIndex <= mMulModel.CurrentItemCount()-1, KLInvalidArgument );
-	
-	bool result( false );
-	
-	if(mWindowSize == KNotInitialized )
-		{
-		result = false;
-		}
-	//check that rear buffer is on or not in looping case
-	else if( mRearBufferTop != KNotInitialized && mRearBufferBottom != KNotInitialized )
-		{
-		if( ( aItemIndex >= mBufferTop &&  aItemIndex <= mBufferBottom ) || 
-			( aItemIndex >= mRearBufferTop &&  aItemIndex <= mRearBufferBottom )	)
-			{
-			result = true;
-			}
-		}
-	else if( aItemIndex >= mBufferTop &&  aItemIndex <= mBufferBottom )
-		{
-		result = true;
-		}
-	return result;
-	}
-	
-
-// ---------------------------------------------------------------------------
-// RelativeIndex
-// ---------------------------------------------------------------------------
-//
-int MulDataWindow::RelativeIndex( int aAbsoluteIndex ) const
-	{
-	__MUL_ASSERT_DEBUG( aAbsoluteIndex >= 0 && aAbsoluteIndex <= mMulModel.CurrentItemCount()-1, KLInvalidArgument );
-	
-	if( !IsItemInDataWindow(aAbsoluteIndex) )
-	    {
-	    return -1;
-	    }
-	
-	if( mRearBufferTop != KNotInitialized && mRearBufferBottom != KNotInitialized )
-		{
-		if( mRearBufferBottom == mMulModel.CurrentItemCount() - 1 )
-			{
-			if( aAbsoluteIndex >= mRearBufferTop && aAbsoluteIndex <= mRearBufferBottom )	
-				{
-				int bufferSize = BottomOffset() - TopOffset() + 1;
-				int rearDiff = aAbsoluteIndex - mRearBufferTop;
-				int relativeIndex = bufferSize + rearDiff;
-				return relativeIndex;
-				}
-			else
-				{
-				int relativeIndex = aAbsoluteIndex < TopOffset() ? 
-									aAbsoluteIndex : aAbsoluteIndex - TopOffset() ;	
-				return relativeIndex;	
-				}		
-			}
-		else
-			{
-			if( aAbsoluteIndex >= mRearBufferTop && aAbsoluteIndex <= mRearBufferBottom )
-				{
-				int relativeIndex = aAbsoluteIndex < TopOffset() ? 
-									aAbsoluteIndex : aAbsoluteIndex - TopOffset() ;	
-				return relativeIndex;	
-				}
-			else
-				{	
-				int bufferSize = mRearBufferBottom - mRearBufferTop + 1;
-				int diff = aAbsoluteIndex - TopOffset();
-				int relativeIndex = bufferSize + diff;
-				return relativeIndex;		
-				}
-			}
-		}
-	else
-		{		
-		int relativeIndex = aAbsoluteIndex < TopOffset() ? 
-							aAbsoluteIndex : aAbsoluteIndex - TopOffset() ;	
-		return relativeIndex;
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// AbsoluteIndex
-// ---------------------------------------------------------------------------
-//
-int MulDataWindow::AbsoluteIndex( int aRelativeIndex ) const
-	{
-	__MUL_ASSERT_DEBUG( aRelativeIndex >= 0 && aRelativeIndex <= ActualBufferSize(), _L("Invalid Relative Index"));
-	
-	if( mRearBufferTop != KNotInitialized && mRearBufferBottom != KNotInitialized )
-		{
-		if( mRearBufferBottom == mMulModel.CurrentItemCount() - 1 )
-			{
-			if( aRelativeIndex > BottomOffset() )
-				{
-				//relative index is in loop buffer
-				int diff = aRelativeIndex - BottomOffset() - 1;
-				int absoluteIndex = RearTopOffset() + diff;
-				return absoluteIndex;
-				}
-			else
-				{
-				int absoluteIndex = TopOffset() + aRelativeIndex;
-				return absoluteIndex;
-				}
-			}
-		else
-			{
-			if( aRelativeIndex <= RearBottomOffset() )
-				{
-				//relative index is in loop buffer
-				int absoluteIndex = RearTopOffset() + aRelativeIndex;
-				return absoluteIndex;
-				}
-			else
-				{
-				int diff = aRelativeIndex - RearBottomOffset() - 1;
-				int absoluteIndex = TopOffset() + diff;
-				return absoluteIndex;
-				}
-			}
-		}
-	else
-		{		
-		int absoluteIndex = TopOffset() + aRelativeIndex;
-		return absoluteIndex;
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// SetVisibleWindow
-// ---------------------------------------------------------------------------
-//
-void MulDataWindow::SetVisibleWindow(int aWindowTop, int aWindowBottom)
-	{	
-	mWindowTop = aWindowTop;
-	mWindowBottom = aWindowBottom;
-	}
-
-// ---------------------------------------------------------------------------
-// IsBufferOffsetChanged
-// ---------------------------------------------------------------------------
-//
-bool MulDataWindow::IsBufferOffsetChanged()
-	{
-	if(mRearBufferBottom != mOldRearBufferBottom || mRearBufferTop != mOldRearBufferTop
-		|| mBufferTop != mOldBufferTop || mBufferBottom != mOldBufferBottom)
-		{
-		return true;
-		}
-	return false;
-	}
-			
-    } // namespace Alf
-
-//End of file
--- a/mulwidgets/muldatamodel/src/mulmodelfactoryplugin.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Plugin factory implementation for model.
-*
-*/
-
-#include "mulmodelfactoryplugin.h"
-
-#include <osn/ustring.h>
-#include "alf/alfwidget.h"
-#include <ecom/ecom.h>
-#include <libc/string.h>
-
-#include <mul/imulmodel.h>
-
-#include "mulmodelimpl.h"
-
-using namespace osncore;
-
-namespace Alf
-    {
-
-const TInt KMulModelFactoryPluginUid = {0x2000D23F};
-const int KProductCount = 1;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Two-phased Symbian constructor.
-// ---------------------------------------------------------------------------
-//
-MulFactoryPlugin* MulFactoryPlugin::NewL()
-    {
-    return new (ELeave) MulFactoryPlugin;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-MulFactoryPlugin::~MulFactoryPlugin()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// Creates either a list widget or a list model.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* MulFactoryPlugin::createProduct(const char* aProduct,
-													void* /*aInitData*/ )
-    {
-    IAlfInterfaceBase* ret(0);
-   const char* KLoadNameModel("mulmodel");
-   //if( !strcmp( aProduct, IMulModel::Type().iImplementationId ) )
-   if( !strcmp( aProduct, KLoadNameModel ) )
-        {
-        // create list model
-        IMulModel* model = new (EMM) MulModelImpl();
-        ret = IAlfInterfaceBase::makeInterface<IMulModel>( model );    
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// From MAlfInterfaceBase.
-// Creates interface based on the given type.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* MulFactoryPlugin::makeInterface(const IfId& aType)
-    {
-    UString param( aType.mImplementationId );
-    
-    if( param == UString( IAlfFactoryPlugin::type().mImplementationId ) )
-        {
-        return static_cast<IAlfFactoryPlugin*>( this );            
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the amount of products this factory can produce.
-// ---------------------------------------------------------------------------
-//
-int MulFactoryPlugin::productCount()const
-    {
-    return KProductCount;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns product information.
-// ---------------------------------------------------------------------------
-//
-const char* MulFactoryPlugin::productInfo(int aIndex)const
-    {
-    switch( aIndex )
-        {
-        case 0: return mulmodel::Ident.mImplementationId;
-        default: break;            
-        }  
-    return 0;
-    }
-    
-    } // namespace Alf
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-using namespace Alf;
-const TImplementationProxy ImplementationTable[] =
-    {
-#ifdef __EABI__ 
-	IMPLEMENTATION_PROXY_ENTRY( KMulModelFactoryPluginUid, 
-								MulFactoryPlugin::NewL )
-	#else
-    { {KMulModelFactoryPluginUid}, MulFactoryPlugin::NewL }
-#endif
-    };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-    {
-    aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-
-    return ImplementationTable;
-    }
-    
-      
--- a/mulwidgets/muldatamodel/src/mulmodelimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,648 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Implementation of model interface
-*
-*/
-
-
-//Includes
-// class headers
-#include "mulmodelimpl.h"
-
-#include <mul/mulvarianttype.h>
-
-// Local Headers
-#include "mulcachemanager.h"
-#include "muldatawindow.h"
-#include "mulpagedatawindow.h"
-#include "mulpushmode.h"
-#include "mulpullmode.h"
-#include "mulassert.h"
-#include "mulmodeldef.h"
-#include "mullog.h"
-
-namespace Alf
-    { 
-    
-// ---------------------------------------------------------------------------
-// MulModelImpl()
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulModelImpl::MulModelImpl()
-	{	
-	MUL_LOG_ENTRY_EXIT("MUL::MulModelImpl::MulModelImpl()");  	
-	
-	//mDataWindow.reset( new ( EMM ) MulDataWindow( *this ));
-	mDataWindow.reset( new ( EMM ) MulPageDataWindow( *this ));  	
-	mModelHelper.reset(new (EMM) MulPushMode(*mDataWindow ));
-	}
-
-// ---------------------------------------------------------------------------
-// ~MulModelImpl()
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulModelImpl::~MulModelImpl()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulModelImpl::~MulModelImpl()");   
-	mObserverArray.clear();
-	}
-
-// ------------------------ From IMulModel -----------------------------------
-
-// ---------------------------------------------------------------------------
-// Insert
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::Insert(int aIndex, int aCount,const MulDataPath& aPath)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulModelImpl::Insert()"); 
-	MUL_LOG_INFO2("MUL::MulModelImpl::Insert() index:%d,count:%d",aIndex,aCount);
-	
-	mModelHelper->Insert(aIndex, aCount,aPath);
-
-	if( aCount > 0  &&  mDataWindow->Highlight() == KNotInitialized )
-		{
-		mDataWindow->UpdateHighlight(0);
-		NotifyDataChange( IMulModelObserver::EHighlightChanged , 0 );
-		}
-				
-	NotifyDataChange( IMulModelObserver::EItemsInserted, aIndex, aCount );
-	}
-
-// ---------------------------------------------------------------------------
-// Remove
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::Remove(int aIndex, int aCount, const MulDataPath& aPath)
-	{
-	// If the highlight has changed because of the remove then inform the widget
-	if( mModelHelper->Remove(aIndex, aCount, aPath) )
-		{
-		NotifyDataChange( IMulModelObserver::EHighlightChanged , mDataWindow->Highlight() );
-		}
-	NotifyDataChange( IMulModelObserver::EItemsRemoved, aIndex, aCount );
-	}
-
-// ---------------------------------------------------------------------------
-// Update
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::Update( int aIndex, int aCount, const MulDataPath& aPath )
-	{
-	mModelHelper->Update( aIndex, aCount, aPath );
-	}
-
-// ---------------------------------------------------------------------------
-// Refresh
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::Refresh( int aCount, const MulDataPath& aPath )
-	{	
-	mModelHelper->Refresh( aCount, aPath );
-	NotifyDataChange( IMulModelObserver::EModelRefreshed , aCount );
-	}
-
-// ---------------------------------------------------------------------------
-// SetData
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::SetData( int aIndex, auto_ptr<MulVisualItem> aVisualItem, const MulDataPath& aPath )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulModelImpl::SetData()");  		
-	MUL_LOG_INFO1("MUL::MulModelImpl::SetData() index:%d",aIndex );
-	
-	mModelHelper->SetData( aIndex, aVisualItem, aPath );
-	NotifyDataChange( IMulModelObserver::EItemUpdated , aIndex );
-	}
-
-// ---------------------------------------------------------------------------
-// Data
-// ---------------------------------------------------------------------------
-//
-const MulVisualItem* MulModelImpl::Data( int aIndex, const MulDataPath& aPath) const
-	{
-	return mModelHelper->Data( aIndex, aPath );
-	}
-
-// ---------------------------------------------------------------------------
-// Count
-// ---------------------------------------------------------------------------
-//
-int MulModelImpl::Count( const MulDataPath& aPath) const
-	{
-	return mModelHelper->Count( aPath );
-	}
-
-// ---------------------------------------------------------------------------
-// SetDataProvider
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::SetDataProvider( const IMulModelProvider& aDataProvider )
-	{	
-	mModelHelper.reset(new (EMM) MulPullMode( *mDataWindow, aDataProvider ) );	
-	}
-
-// ---------------------------------------------------------------------------
-// SetTemplate
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::SetTemplate( mulwidget::TLogicalTemplate aTemplateId )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulModelImpl::SetTemplate");
-	mModelHelper->SetTemplate( aTemplateId );
-	// default template updated
-	NotifyTemplateChange( -1, aTemplateId );
-	}
-
-// ---------------------------------------------------------------------------
-// SetTemplate
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::SetTemplate(int aItemIndex, mulwidget::TLogicalTemplate aTemplateId, const MulDataPath& aPath )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulModelImpl::SetTemplate");
-	mModelHelper->SetTemplate(aItemIndex, aTemplateId, aPath );
-	NotifyTemplateChange( aItemIndex, aTemplateId );
-	}
-
-// ---------------------------------------------------------------------------
-// SetDataWindow
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::SetDataWindow( int aBufferSize )
-	{
-	mDataWindow->SetBufferSize( aBufferSize );
-	}
-
-// ---------------------------------------------------------------------------
-// DataWindow
-// ---------------------------------------------------------------------------
-//
-int MulModelImpl::DataWindow() const         
-	{
-	return mDataWindow->BufferSize();
-	}
-	
-// ---------------------------------------------------------------------------
-// SetHighlight
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::SetHighlight( int aItemIndex, const MulDataPath& /*aPath*/ )
-	{
-	mDataWindow->SetHighlight( aItemIndex );
-	
-	NotifyDataChange( IMulModelObserver::EHighlightChanged , aItemIndex );
-	}
-
-// ---------------------------------------------------------------------------
-// Highlight
-// ---------------------------------------------------------------------------
-//
-int MulModelImpl::Highlight( MulDataPath& /*aPath*/ )
-	{
-	return mDataWindow->Highlight();	
-	}
-
-// ---------------------------------------------------------------------------
-// Highlight
-// ---------------------------------------------------------------------------
-//
-int MulModelImpl::Highlight()
-	{
-	return 	mDataWindow->Highlight();
-	}
-
-// ---------------------------------------------------------------------------
-// SetMarkedIndices
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::SetMarkedIndices( MulWidgetDef::TMulWidgetMarkingType aType,
-									 const std::vector<int>& aItemsIndex,
-									 const MulDataPath& aPath )
-
-	{
-	//fire update event in alf model
-	mModelHelper->CacheManager().SetMarkedIndices( aType, aItemsIndex, aPath );
-	
-	for( int i = 0 ; i < aItemsIndex.size() ; i++ )
-	    {
-	    if(mDataWindow->IsItemInDataWindow(aItemsIndex[i]))
-	        {
-	        CreateMarkingEvent(aItemsIndex[i]);
-	        }
-	    }
-	}
-
-// ---------------------------------------------------------------------------
-// SetMarkedIndices
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::SetMarkedIndices(MulWidgetDef::TMulWidgetMarkingType aType)
-	{
-	//fire update event in alf model
-	mModelHelper->CacheManager().SetMarkedIndices( aType );
-	
-	for( int i = mDataWindow->TopOffset() ; i <= mDataWindow->BottomOffset() ; i++ )
-        {
-        CreateMarkingEvent(i);
-        }
-	    
-	for( int i = mDataWindow->RearTopOffset( ); i <= mDataWindow->RearBottomOffset() && i > 0 ; i++ )
-        {
-        CreateMarkingEvent(i);
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// CreateMarkingEvent
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::CreateMarkingEvent(int aAbsoluteIndex)
-	{
-	NotifyDataChange( IMulModelObserver::EMarkingChanged , aAbsoluteIndex );
-	}
-
-// ---------------------------------------------------------------------------
-// NotifyStateChange
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::NotifyStateChange( IMulModelObserver::TMulChangedState aState, 
-									  std::auto_ptr<IMulVariantType> aData)
-	{
-	for( int i = 0; i < mObserverArray.size(); ++i )
-		{
-		mObserverArray[i]->ModelStateChanged( aState, *aData );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// NotifyDataChange
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::NotifyDataChange( IMulModelObserver::TMulChangedState aState, 
-                                      int aStartIndex, int aCount )
-    {
-    std::auto_ptr<IAlfMap> map( new ( EMM )AlfMap() );
-    map->addItem( new (EMM) AlfVariantType(aStartIndex),UString(KStartIndex));
-    map->addItem( new (EMM) AlfVariantType(aCount),UString(KCount));
-    
-    std::auto_ptr<IMulVariantType> data(new (EMM)MulVariantType(*map));
-    NotifyStateChange( aState , data );
-    }
-
-// ---------------------------------------------------------------------------
-// NotifyDataChange
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::NotifyDataChange( IMulModelObserver::TMulChangedState aState, int aIndex )
-    {    
-    std::auto_ptr<IMulVariantType> data(new (EMM)MulVariantType(aIndex));
-    NotifyStateChange( aState , data );
-    }
-
-// ---------------------------------------------------------------------------
-// NotifyTemplateChange
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::NotifyTemplateChange( int aIndex, mulwidget::TLogicalTemplate aTamplateId )
-    {
-    std::auto_ptr<IAlfMap> map( new ( EMM )AlfMap() );
-    map->addItem(new (EMM) AlfVariantType(aTamplateId),osncore::UString(KDefaultTemplate));
-    map->addItem(new (EMM) AlfVariantType(aIndex),osncore::UString(KIndex));
-       
-    std::auto_ptr<IMulVariantType> data(new (EMM)MulVariantType(*map));
-    NotifyStateChange( IMulModelObserver::ETemplateChanged , data );
-    }
-
-// ---------------------------------------------------------------------------
-// MarkedIndices
-// ---------------------------------------------------------------------------
-//
-const std::vector<int>& MulModelImpl::MarkedIndices(const MulDataPath& aPath )
-	{	
-	return mModelHelper->CacheManager().MarkedIndices( aPath );	
-	}
-
-// ---------------------------------------------------------------------------
-// IsLoopingOn
-// ---------------------------------------------------------------------------
-//
-bool MulModelImpl::IsLoopingOn()
-	{
-	return ( mDataWindow->RearBottomOffset() != -1 && mDataWindow->OldRearBottomOffset() != -1 ); 
-	}
-
-// ---------------------------------------------------------------------------
-// AddModelObserver
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::AddModelObserver( IMulModelObserver* aObserver )
-    {
-    __MUL_ASSERT(aObserver, KLInvalidArgument );
-    if( std::find(mObserverArray.begin(), mObserverArray.end(), aObserver) == mObserverArray.end() )
-        {
-        mObserverArray.push_back( aObserver );  
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// RemoveModelObserver
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::RemoveModelObserver( IMulModelObserver* aObserver )
-    {
-    __MUL_ASSERT(aObserver, KLInvalidArgument );
-    if( std::find(mObserverArray.begin(), mObserverArray.end(), aObserver ) != mObserverArray.end() )
-       {
-       mObserverArray.erase( std::find( mObserverArray.begin(), mObserverArray.end(), aObserver ));  
-       }
-    }
-
-// ---------------------------------------------------------------------------
-// RemoveModelObserver
-// ---------------------------------------------------------------------------
-//
-mulwidget::TLogicalTemplate MulModelImpl::Template()
-    {
-    return mModelHelper->Template();
-    }
-	
-// ---------------------------------------------------------------------------
-// Accessor
-// ---------------------------------------------------------------------------
-//
-IMulModelAccessor* MulModelImpl::Accessor()
-	{
-	return this;
-	}
-
-// ------------------------ From IMulModelAccessor ---------------------------
-
-// ---------------------------------------------------------------------------
-// SetHighlight
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::SetHighlight( int aItemIndex )
-	{
-	mDataWindow->SetHighlight( aItemIndex );
-	}
-
-// ---------------------------------------------------------------------------
-// ScrollWindow
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::ScrollWindow( int aItemIndex )
-	{
-	mDataWindow->ScrollWindow( aItemIndex );
-	}
- 
-// ---------------------------------------------------------------------------
-// CurrentItemCount
-// ---------------------------------------------------------------------------
-//
-int MulModelImpl::CurrentItemCount()
-	{
-	return mModelHelper->CurrentItemCount();
-	}
- 
-// ---------------------------------------------------------------------------
-// SetDataWindow
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::SetVisibleWindow(  int aWindowSize, int aPageTopIndex )
-	{
-	mDataWindow->SetWindowSize( aWindowSize, aPageTopIndex );
-	}
-// ------------------------ Member Function ----------------------------------
-
-// ---------------------------------------------------------------------------
-// DataWindowUpdated
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::DataWindowUpdated()
-	{
-	mModelHelper->DataWindowUpdated();
-	std::auto_ptr<IMulVariantType> dummyData;
-	NotifyStateChange( IMulModelObserver::EDataWindowUpdated, dummyData );			
-	}
-
-// ---------------------------------------------------------------------------
-// RelativeIndex
-// ---------------------------------------------------------------------------
-//
-int MulModelImpl::RelativeIndex( int aAbsoluteIndex ) const
-	{
-	return mDataWindow->RelativeIndex(aAbsoluteIndex);
-	}
-
-// ---------------------------------------------------------------------------
-// TopWindowOffset
-// ---------------------------------------------------------------------------
-//
-int MulModelImpl::TopWindowOffset() const
-	{
-	return mDataWindow->TopWindowOffset();
-	}
-
-// ---------------------------------------------------------------------------
-// BottomWindowOffset
-// ---------------------------------------------------------------------------
-//
-int MulModelImpl::BottomWindowOffset() const
-	{
-	return mDataWindow->BottomWindowOffset();
-	}
-
-// ---------------------------------------------------------------------------
-// TopOffset
-// ---------------------------------------------------------------------------
-//
-int MulModelImpl::TopOffset() const
-	{
-	return mDataWindow->TopOffset();
-	}
-
-// ---------------------------------------------------------------------------
-// BottomOffset
-// ---------------------------------------------------------------------------
-//
-int MulModelImpl::BottomOffset() const
-	{
-	return mDataWindow->BottomOffset();
-	}
-
-// ---------------------------------------------------------------------------
-// RearTopOffset
-// ---------------------------------------------------------------------------
-//
-int MulModelImpl::RearTopOffset() const
-	{
-	return mDataWindow->RearTopOffset();
-	}
-
-// ---------------------------------------------------------------------------
-// RearBottomOffset
-// ---------------------------------------------------------------------------
-//
-int MulModelImpl::RearBottomOffset() const
-	{
-	return mDataWindow->RearBottomOffset();
-	}
-	
-// ---------------------------------------------------------------------------
-// IsItemMarked
-// ---------------------------------------------------------------------------
-//  
-bool MulModelImpl::IsItemMarked( int aIndex )
-	{
-	return mModelHelper->CacheManager().IsItemMarked(aIndex);
-	}
-
-// ---------------------------------------------------------------------------
-// Item
-// ---------------------------------------------------------------------------
-//
-const MulVisualItem& MulModelImpl::Item( int aAbsoluteIndex )
-	{
-	return mModelHelper->Item( aAbsoluteIndex );
-	}
-
-// ---------------------------------------------------------------------------
-// AbsoluteIndex
-// ---------------------------------------------------------------------------
-//
-int MulModelImpl::AbsoluteIndex( int aRelativeIndex )
-	{
-	return mDataWindow->AbsoluteIndex(aRelativeIndex);
-	}
-
-// ---------------------------------------------------------------------------
-// SetMarkedIndex
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::SetMarkedIndex( MulWidgetDef::TMulWidgetMarkingType aType, int aIndex )
-	{
-	mModelHelper->CacheManager().SetMarkedIndex(aType,aIndex);
-	}
-
-// ------------- Function from IAlfModel -------------------------------------
-
-// ---------------------------------------------------------------------------
-// AddModelChangeObserver
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::addModelChangeObserver( IAlfModelChangeObserver& /*aObserver*/ )
-	{
-	//__MUL_ASSERT_DEBUG(false, KLNotImplemented );
-	}
-	
-// ---------------------------------------------------------------------------
-// RemoveModelChangeObserver
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::removeModelChangeObserver( IAlfModelChangeObserver& /*aObserver*/ )
-	{	
-	//__MUL_ASSERT_DEBUG(false, KLNotImplemented );
-	}
-// ---------------------------------------------------------------------------
-// SetData
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::setData( IAlfVariantType* /*aData*/ )
-	{
-	__MUL_ASSERT_DEBUG(false, KLNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// UpdateData
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::updateData( int /*aNumContainerIndices*/, 
-								int* /*aContainerIndices*/, 
-								IAlfVariantType* /*aData*/ )
-	{
-	__MUL_ASSERT_DEBUG(false, KLNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// AddData
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::addData( int /*aNumContainerIndices*/, 
-							 int* /*aContainerIndices*/, 
-							 IAlfVariantType* /*aData*/ )
-	{
-	__MUL_ASSERT_DEBUG(false, KLNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// RemoveData
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::removeData( int /*aNumContainerIndices*/, int* /*aContainerIndices*/ )
-	{
-	__MUL_ASSERT_DEBUG(false, KLNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// ExecuteOperations
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::executeOperations( AlfPtrVector<AlfModelOperation>&  /*aOperationsArray*/ )
-	{
-	__MUL_ASSERT_DEBUG(false, KLNotImplemented);
-	}
-      
-// ---------------------------------------------------------------------------
-// ExecuteOperation
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::executeOperation( AlfModelOperation* /*aOperation*/ )
-	{
-	__MUL_ASSERT_DEBUG(false, KLNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// ClearModel
-// ---------------------------------------------------------------------------
-//
-void MulModelImpl::clearModel()
-	{	
-	__MUL_ASSERT_DEBUG(false, KLNotImplemented);
-	}
-
-// ---------------------------------------------------------------------------
-// Data
-// ---------------------------------------------------------------------------
-//
-IAlfVariantType* MulModelImpl::data() const
-	{
-	__MUL_ASSERT_DEBUG(false, KLNotImplemented);
-	return NULL;
-	}
-
-// ---------------------------------------------------------------------------
-// From class MAlfInterfaceBase.
-// Getter for interfaces provided by the list model.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* MulModelImpl::makeInterface( const IfId& /*aType*/ )
-    {   
-    return static_cast<IMulModel*>( this );
-    }
- 
-	
-    } // namespace Alf
-
-//End of file
--- a/mulwidgets/muldatamodel/src/mulmodelutility.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,302 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Utility class for data model
-*
-*/
-
-
-//Includes
-#include "mul/mulmodelutility.h"
-
-#include <e32cmn.h>
-#include <mul/mulvisualitem.h>
-#include <mul/imulvarianttype.h>
-#include <mul/mulvarianttype.h>
-#include <stdexcept> // for standard exceptions
-#include <osn/ustring.h>
-#include <utf.h>
-
-//#include "mulactionitem.h"
-
-namespace Alf
-    {
-        
-// ---------------------------------------------------------------------------
-// CreateVariantType
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfVariantType* MulModelUtility::CreateVariantType( IAlfVariantType& aValue )
-	{
-/*	IAlfVariantType* data = new (EMM) AlfVariantType();
-	data->set(aValue);
-	return data;*/
-	switch( aValue.type() )
-		{
-		case IAlfVariantType::EBool:
-			{
-			return new AlfVariantType( aValue.boolean() );
-			}
-		case IAlfVariantType::EInt:
-			{
-			return new AlfVariantType( aValue.integer() );
-			}
-		case IAlfVariantType::EUint:
-			{
-			return new AlfVariantType( aValue.uinteger() );
-			}
-		case IAlfVariantType::EReal:
-			{
-			return new AlfVariantType( aValue.real() );
-			}
-		case IAlfVariantType::EString:
-			{
-			return new AlfVariantType( aValue.string() );
-			}
-		case IAlfVariantType::EContainer:
-			{
-			return new AlfVariantType( aValue.container() );
-			}
-		case IAlfVariantType::EMap:
-			{
-			return new AlfVariantType( aValue.map() );
-			}
-		case IAlfVariantType::EBranch:
-			{
-			return new AlfVariantType( aValue.branch() );
-			}
-		case IAlfVariantType::ECustomData:
-		default :
-			{
-			return NULL;
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// ConvertVisualItemToMap
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT std::auto_ptr<IAlfMap> MulModelUtility::ConvertVisualItemToMap( MulVisualItem& /*aVisualItem*/ )
-	{
-	auto_ptr<IAlfMap> map( new ( EMM ) AlfMap());	
-	
-	return map;
-	}
-
-// ---------------------------------------------------------------------------
-// ConvertMapToVisualItem
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT std::auto_ptr<MulVisualItem> MulModelUtility::ConvertMapToVisualItem( IAlfMap& /*aMap*/ )
-	{
-	auto_ptr<MulVisualItem> visualItem( new ( EMM ) MulVisualItem());	
-//	for( int i = 0 ; i < aMap.count() ; ++i )
-//		{
-//		const UString& attributeName = aMap.name(i);	
-//		IAlfVariantType* origValue = aMap.item( attributeName );
-//		std::auto_ptr< IMulVariantType> value ( new (EMM) MulVariantType() );
-//		value->set(*origValue);
-//		visualItem->SetAttribute( attributeName , value.get() );
-//		value.release();
-//		}
-	return visualItem;
-	}
-
-// ---------------------------------------------------------------------------
-// CheckNamePrefix
-// ---------------------------------------------------------------------------
-//
-bool MulModelUtility::CheckNamePrefix( UString aName ) 
-	{
-	_LIT8(KMulPrefix,"mul_");
-	TPtrC8 debugString1 = ((TUint8*)aName.getUtf8());
-	int index = debugString1.Find(KMulPrefix);
-	if( index == KErrNotFound )
-		{
-		return false;
-		}
-	else 
-	    {
-	    return true;
-	    }
-	}
-
-
-
-// ---------------------------------------------------------------------------
-// UStringToAlfString
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT UString MulModelUtility::UStringToAlfString( const UString& aUString )
-	{
-	if(aUString.isEmpty())
-		{
-		return UString("");
-		}
-	else
-		{
-		return UString( aUString.getUtf8() );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// AlfStringToUString
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT UString MulModelUtility::AlfStringToUString( const UString& aAlfString )
-	{
-	return UString( aAlfString.getUtf8() );
-	}
-
-// ---------------------------------------------------------------------------
-// IntToAlfString
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT UString MulModelUtility::IntToUString( int aNumber )
-	{
-	TBuf8<20> buf;
-	buf.AppendNum(aNumber);
-	return UString( (char*)buf.PtrZ());
-	}
-	
-// ---------------------------------------------------------------------------
-// ConvertTDesToUString
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void MulModelUtility::ConvertTDesToUString (const TDesC& aDes, UString& aString)
-	{
-	HBufC8* utf8Buffer( NULL );
-    TRAPD( error, utf8Buffer = CnvUtfConverter::ConvertFromUnicodeToUtf8L( aDes ) );
-    if ( !utf8Buffer || error != KErrNone )
-        {
-        delete utf8Buffer;
-        throw std::exception();
-        }
-    
-    TPtrC8 ptr = utf8Buffer->Des();
-    std::auto_ptr<osncore::UString> ret;
-    try
-        {
-        if ( ptr.Length() )
-            {
-            ret.reset( new osncore::UString( ( osncore::Utf8* ) &ptr[0], ptr.Length() ));
-            }
-        else
-            {
-            ret.reset( new osncore::UString( "" ) );
-            }
-        }
-    catch ( std::exception e )
-        {
-        delete utf8Buffer;
-        throw e;        
-        }
-    
-    delete utf8Buffer;
-    utf8Buffer = NULL;
-    aString = UString(*ret);       
-	}
-	
-// ---------------------------------------------------------------------------
-// ConvertTDes8ToUString
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void MulModelUtility::ConvertTDes8ToUString (const TDesC8& aDes, UString& aString)
-	{
-    TPtrC8 ptr = aDes;
-    std::auto_ptr<osncore::UString> ret;
-    try
-        {
-        if ( ptr.Length() )
-            {
-            ret.reset( new osncore::UString( ( osncore::Utf8* ) &ptr[0], ptr.Length() ));
-            }
-        else
-            {
-            ret.reset( new osncore::UString( "" ) );
-            }
-        }
-    catch ( std::exception e )
-        {
-        throw e;        
-        }
-    
-    aString = UString(*ret);       
-	}
-
-// ---------------------------------------------------------------------------
-// ConvertUStringToTDes
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void MulModelUtility::ConvertUStringToTDes (const UString& aString, TDes& aDes)
-    {
-    HBufC* unicodeBuffer = NULL;
-    if ( !aString.isEmpty() )
-        {
-        TRAPD( error, unicodeBuffer = CnvUtfConverter::ConvertToUnicodeFromUtf8L(TPtrC8((TUint8*)aString.getUtf8())) );
-        if ( !unicodeBuffer || error != KErrNone )
-            {
-            delete unicodeBuffer;
-            throw std::exception();
-            }
-        aDes.Copy(*unicodeBuffer);
-        delete unicodeBuffer;
-        unicodeBuffer = NULL;
-        }
-    else
-    	{
-    	aDes.Zero(); 
-    	}
-    }
-    
-// ---------------------------------------------------------------------------
-// ConvertUStringToTDes8
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void MulModelUtility::ConvertUStringToTDes8(const UString& aString, TDes8& aDes)
-    {
-    /// @see comments in MulModelUtility::ConvertUStringToTDes
-    HBufC* unicodeBuffer = NULL;
-    if ( !aString.isEmpty() )
-        {
-        TRAPD( error, unicodeBuffer = CnvUtfConverter::ConvertToUnicodeFromUtf8L(TPtrC8((TUint8*)aString.getUtf8())) );
-        if ( !unicodeBuffer || error != KErrNone )
-            {
-            delete unicodeBuffer;
-            throw std::exception();
-            }
-        aDes.Copy(*unicodeBuffer);
-        delete unicodeBuffer;
-        unicodeBuffer = NULL;
-        }
-    else
-    	{
-    	aDes.Zero(); 
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-// CreateVisualItem
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT std::auto_ptr<MulVisualItem> MulModelUtility::CreateVisualItem( mulwidget::TLogicalTemplate aDefaultTemplate )
-	{
-	std::auto_ptr<MulVisualItem> visualItem( new (EMM) MulVisualItem() );
-	visualItem->SetAttribute( mulvisualitem::KAttributeTemplate , aDefaultTemplate);
-	return visualItem;
-	}
-
-} // namespace Alf
-    
-//End of file
--- a/mulwidgets/muldatamodel/src/mulpagedatawindow.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,485 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Implementation of Data window
-*
-*/
-
-
-//Includes
-#include "mulpagedatawindow.h"
-
-#include <stdexcept>
-
-//Internal includes
-#include "mulassert.h"
-#include "mulmodelimpl.h"
-#include "mullog.h"
-
-using namespace std;
-
-namespace Alf
-    {
-    
-// ---------------------------------------------------------------------------
-// MulPageDataWindow
-// ---------------------------------------------------------------------------
-//
-MulPageDataWindow::MulPageDataWindow( MulModelImpl& aMulModel )
-			  :mMulModel( aMulModel ),
-			   mHighlight(KNotInitialized),
-			   mPageTopIndex(KNotInitialized),
-			   mOldPageTopIndex(KNotInitialized),
-			   mBufferSize(KNotInitialized),
-			   mWindowSize(KNotInitialized),
-			   mWindowTop(KNotInitialized),
-			   mWindowBottom(KNotInitialized),
-			   mBufferTop(0),
-			   mBufferBottom(0),
-			   mOldBufferTop(KNotInitialized),
-			   mOldBufferBottom(KNotInitialized),
-			   mRearBufferTop(0),
-			   mRearBufferBottom(0),
-			   mOldRearBufferTop(KNotInitialized),
-			   mOldRearBufferBottom(KNotInitialized)
-	{	
-	}
-
-// ---------------------------------------------------------------------------
-// SetWindowSize
-// ---------------------------------------------------------------------------
-//
-void MulPageDataWindow::SetWindowSize( int aWindowSize, int aPageTopIndex )
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulDataWindow::SetWindowSize()"); 
-	
-	__MUL_ASSERT( aWindowSize > 0, KLInvalidArgument );
-
-	if( mWindowSize != aWindowSize ||  mWindowTop != aPageTopIndex)
-		{
-		if( KNotInitialized == mBufferSize )
-			{
-			mBufferSize = aWindowSize;			
-			}
-			
-		mWindowSize = aWindowSize;
-		mOldPageTopIndex = mPageTopIndex;
-		mPageTopIndex = aPageTopIndex; 
-		
-		
-		/*adjusting window offset
-		//if window size changes then the top and bottom offset should be 
-		//adjusted such that highlight remains at the centre
-		//window top and bottom are inclusive*/
-		
-		//assing page top index to window top by default aPageTopIndex is KNotInitialized
-		mWindowTop = aPageTopIndex ;
-		mWindowTop = ( mWindowTop == KNotInitialized ) ? 0 : mWindowTop;			
-		mWindowBottom = mWindowTop + mWindowSize - 1;
-		//make sure that window bottom is not more than model count
-		mWindowBottom = mWindowBottom >= mMulModel.CurrentItemCount() ? ( mMulModel.CurrentItemCount() -1) : mWindowBottom;	
-		
-		MUL_LOG_INFO2("MUL::MulDataWindow::SetWindowSize() mWindowTop:%d,mWindowBottom:%d",mWindowTop,mWindowBottom); 
-		
-		AdjustBuffer();
-		mMulModel.DataWindowUpdated();
-		}
-	//else nothing needed
-	}
-	
-// ---------------------------------------------------------------------------
-// SetBufferSize
-// ---------------------------------------------------------------------------
-//
-void MulPageDataWindow::SetBufferSize( int aBufferSize )
-	{	
-	MUL_LOG_ENTRY_EXIT("MUL::MulDataWindow::SetBufferSize()"); 
-	
-	__MUL_ASSERT( aBufferSize > 0, KLInvalidArgument );
-	
-	if( mBufferSize != aBufferSize )
-		{			
-		mBufferSize = aBufferSize;
-		
-		if(mMulModel.CurrentItemCount() > 0)
-			{
-			AdjustBuffer();
-			mMulModel.DataWindowUpdated();
-			}
-		}
-	//else nothing needed
-	}
-
-// ---------------------------------------------------------------------------
-// ~MulDataWindow
-// ---------------------------------------------------------------------------
-//
-MulPageDataWindow::~MulPageDataWindow()
-	{
-	// do nothing
-	}
-
-// ---------------------------------------------------------------------------
-// SetHighlight
-// ---------------------------------------------------------------------------
-//
-void MulPageDataWindow::SetHighlight( int aHighlightIndex )
-	{	
-	MUL_LOG_INFO2("MUL::MulDataWindow::SetHighlight() mHighlight:%d,modelCount:%d",aHighlightIndex,mMulModel.CurrentItemCount()); 
-	
-	__MUL_ASSERT( aHighlightIndex >= 0 && aHighlightIndex <= mMulModel.CurrentItemCount()-1, KLInvalidArgument );
-	
-	mHighlight = aHighlightIndex; 
-	}
-
-
-// ---------------------------------------------------------------------------
-// UpdateHighlight
-// ---------------------------------------------------------------------------
-//
-void MulPageDataWindow::UpdateHighlight( int aHighlightIndex )
-	{
-	// No need to assert. We should send highlight -1 when all the items are removed.
-	// Widget should handle. to show emty text visualization
-	mHighlight = aHighlightIndex; 
-	}
-
-// ---------------------------------------------------------------------------
-// AdjustOffset
-// ---------------------------------------------------------------------------
-//
-void MulPageDataWindow::AdjustOffset()
-    {
-    if( BottomWindowOffset() >= mMulModel.CurrentItemCount() )
-        {
-        mWindowBottom = mMulModel.CurrentItemCount() -1;
-        mWindowTop = mWindowBottom - WindowSize() + 1;
-        mWindowTop = mWindowTop < 0 ? 0 : mWindowTop;
-        
-        MUL_LOG_INFO2("MUL::MulPageDataWindow::AdjustOffset() : windowTop:%d::windowBottom%d",mWindowTop,mWindowBottom);
-        }
-    else if( (BottomWindowOffset() - TopWindowOffset() +1 ) < WindowSize() )
-        {
-        mWindowTop = 0;
-        mWindowBottom = mWindowTop + WindowSize() -1;
-        int modelCount = mMulModel.CurrentItemCount();
-        mWindowBottom = mWindowBottom >=  modelCount ? (modelCount - 1) : mWindowBottom;
-        
-        MUL_LOG_INFO2("MUL::MulPageDataWindow::AdjustOffset() :: windowTop:%d::windowBottom%d",mWindowTop,mWindowBottom);       
-        }
-
-    // save old values to check if teh buffer offsets are modified. If the buffer offsets are 
-    // modified then should inform the widget to update the visualization
-    SaveOldValues();
-    AdjustBuffer();
-    }
-
-		
-// ---------------------------------------------------------------------------
-// ScrollWindow
-// ---------------------------------------------------------------------------
-//
-void MulPageDataWindow::ScrollWindow( int aPageTopIndex )
-	{
-	MUL_LOG_INFO2("MUL::MulDataWindow::ScrollWindow() aPageTopIndex:%d,modelCount:%d",aPageTopIndex,mMulModel.CurrentItemCount()); 
-	
-	__MUL_ASSERT( aPageTopIndex >= 0 && aPageTopIndex <= mMulModel.CurrentItemCount()-1, KLInvalidArgument );
-	
-	if( mPageTopIndex != aPageTopIndex )
-		{
-		mOldPageTopIndex = mPageTopIndex;
-		mPageTopIndex = aPageTopIndex; 
-	
-		UpdateDataWindow();
-		}
-	//else same highlight
-	}
-
-
-// ---------------------------------------------------------------------------
-// UpdateDataWindow
-// ---------------------------------------------------------------------------
-//
-void MulPageDataWindow::UpdateDataWindow()
-	{
-	MUL_LOG_INFO1("MUL::MulPageDataWindow::UpdateDataWindow() diff:%d ", mPageTopIndex - mOldPageTopIndex ); 
-	
-	//If diffrence is negative than highlight is moved up else down
-	//(( mPageTopIndex - mOldPageTopIndex ) < 0 ) ? ShiftWindowUp() : ShiftWindowDown() ;
-	
-	MUL_LOG_ENTRY_EXIT("MUL::MulPageDataWindow::ShiftWindowDown()");  
-    MUL_LOG_INFO2("MUL::MulPageDataWindow::ShiftWindowDown() mPageTopIndex:%d,mWindowBottom:%d",mPageTopIndex,mWindowBottom); 
-    
-    mWindowTop = mPageTopIndex;
-    mWindowBottom = mWindowTop + mWindowSize -1;
-    //bottom can't exceeding model count
-    mWindowBottom = mWindowBottom >= mMulModel.CurrentItemCount() ? 
-                    mWindowBottom = mMulModel.CurrentItemCount() - 1 : mWindowBottom;
-                    
-    MUL_LOG_INFO2("MUL::MulDataWindow::ShiftWindowDown() mWindowTop:%d,mWindowBottom:%d",mWindowTop,mWindowBottom);                     
-    
-    SaveOldValues();
-    AdjustBuffer();
-    mMulModel.DataWindowUpdated();
-	}
-
-// ---------------------------------------------------------------------------
-// AdjustBuffer
-// ---------------------------------------------------------------------------
-//
-void MulPageDataWindow::AdjustBuffer()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulPageDataWindow::AdjustBuffer()");  
-	
-	int modelCount = mMulModel.CurrentItemCount() -1;
-		
-	//remove data is new window is smaller/add is new window is bigger
-	//create rear buffer only if model has more data
-	if( mWindowTop == 0 && ActualBufferSize() <= modelCount )
-		{		
-		MUL_LOG_INFO("MUL::MulPageDataWindow::AdjustBuffer() mWindowTop == 0 ");  		
-		
-		mBufferTop = mWindowTop;
-		mBufferBottom = mBufferTop + mWindowSize + mBufferSize - 1;
-		
-		//Create rear top and rear bottom only in looping case
-		//window top is zero so data at other end should be buffered
-		mRearBufferBottom = modelCount;
-		mRearBufferTop = mRearBufferBottom - mBufferSize +1;		
-		}
-	else if( mWindowBottom == modelCount && ActualBufferSize() <= modelCount )
-		{
-		MUL_LOG_INFO("MUL::MulPageDataWindow::AdjustBuffer() mWindowBottom == modelCount ");  
-		
-		mBufferBottom = mWindowBottom ;
-		mBufferTop = mBufferBottom - (mWindowSize + mBufferSize) + 1;
-		
-		//Create rear top and rear bottom only in looping case
-		//window bottom is equal to model count so data at other end should be buffered
-		mRearBufferTop = 0;
-		mRearBufferBottom = mRearBufferTop + mBufferSize -1 ;
-		}
-	else
-		{
-		MUL_LOG_INFO("MUL::MulPageDataWindow::AdjustBuffer() else ");  
-		
-		mBufferTop = mWindowTop - mBufferSize;
-		mBufferBottom = mWindowBottom + mBufferSize;
-		
-		//check if top or bottom is out of bound and update offset accordingly
-		if( mBufferTop < 0 )
-			{
-			MUL_LOG_INFO("MUL::MulPageDataWindow::AdjustBuffer() mBufferTop < 0 "); 
-			
-			mBufferTop = 0;
-			mBufferBottom = mBufferTop + ActualBufferSize()  - 1;
-			//buffer bottom cant be larger then model count
-			mBufferBottom = mBufferBottom > modelCount ? modelCount : mBufferBottom;
-			}
-		else if( mBufferBottom > modelCount )
-			{
-			MUL_LOG_INFO("MUL::MulPageDataWindow::AdjustBuffer() mBufferBottom > modelCount"); 
-			
-			mBufferBottom = modelCount ;
-			mBufferTop = mBufferBottom - ActualBufferSize() + 1;
-			//buffer top cant be less then 0
-			mBufferTop = mBufferTop < 0 ? 0 : mBufferTop;
-			}
-		
-		//in other case rear top and rear bottom is not use set to -1
-		mRearBufferTop = KNotInitialized;
-		mRearBufferBottom = KNotInitialized;
-		}
-	
-	MUL_LOG_INFO2("MUL::MulPageDataWindow::AdjustBuffer() mOldBufferTop:%d,mOldBufferBottom:%d",mOldBufferTop,mOldBufferBottom); 
-	MUL_LOG_INFO2("MUL::MulPageDataWindow::AdjustBuffer() mOldRearBufferBottom:%d,mOldRearBufferTop:%d",mOldRearBufferBottom,mOldRearBufferTop); 
-	
-	MUL_LOG_INFO2("MUL::MulPageDataWindow::AdjustBuffer() mBufferTop:%d,mBufferBottom:%d",mBufferTop,mBufferBottom); 
-	MUL_LOG_INFO2("MUL::MulPageDataWindow::AdjustBuffer() mRearBufferBottom:%d,mRearBufferTop:%d",mRearBufferBottom,mRearBufferTop); 
-
-	__MUL_ASSERT_DEBUG( mWindowTop >= 0 && mWindowBottom < mMulModel.CurrentItemCount(), _L("Invlid Window"));
-	__MUL_ASSERT_DEBUG( mBufferTop >= 0 && mBufferBottom < mMulModel.CurrentItemCount(), _L("Invlid Buffer"));
-	}
-		
-// ---------------------------------------------------------------------------
-// IsItemInDataWindow
-// ---------------------------------------------------------------------------
-//
-bool MulPageDataWindow::IsItemInDataWindow(int aItemIndex ) const
-	{
-	//__MUL_ASSERT_DEBUG( aItemIndex >= 0 && aItemIndex <= mMulModel.CurrentItemCount()-1, KLInvalidArgument );
-	
-	bool result( false );
-	
-	if(mWindowSize == KNotInitialized )
-		{
-		result = false;
-		}
-	//check that rear buffer is on or not in looping case
-	else if( mRearBufferTop != KNotInitialized && mRearBufferBottom != KNotInitialized )
-		{
-		if( ( aItemIndex >= mBufferTop &&  aItemIndex <= mBufferBottom ) || 
-			( aItemIndex >= mRearBufferTop &&  aItemIndex <= mRearBufferBottom )	)
-			{
-			result = true;
-			}
-		}
-	else if( aItemIndex >= mBufferTop &&  aItemIndex <= mBufferBottom )
-		{
-		result = true;
-		}
-	return result;
-	}
-
-// ---------------------------------------------------------------------------
-// IsItemInDataWindow
-// ---------------------------------------------------------------------------
-//
-bool MulPageDataWindow::IsItemInVisibleWindow(int aItemIndex ) const
-    {
-    //__MUL_ASSERT_DEBUG( aItemIndex >= 0 && aItemIndex <= mMulModel.CurrentItemCount()-1, KLInvalidArgument );
-        
-    if(mWindowSize == KNotInitialized )
-        {
-        return false;
-        }
-    else if( aItemIndex >= mWindowTop &&  aItemIndex <= mWindowBottom )
-        {
-        return true;
-        }
-    return false;
-    }
-
-// ---------------------------------------------------------------------------
-// RelativeIndex
-// ---------------------------------------------------------------------------
-//
-int MulPageDataWindow::RelativeIndex( int aAbsoluteIndex ) const
-	{
-	__MUL_ASSERT_DEBUG( aAbsoluteIndex >= 0 && aAbsoluteIndex <= mMulModel.CurrentItemCount()-1, KLInvalidArgument );
-	
-	if( !IsItemInDataWindow(aAbsoluteIndex) )
-	    {
-	    return -1;
-	    }
-	
-	if( mRearBufferTop != KNotInitialized && mRearBufferBottom != KNotInitialized )
-		{
-		if( mRearBufferBottom == mMulModel.CurrentItemCount() - 1 )
-			{
-			if( aAbsoluteIndex >= mRearBufferTop && aAbsoluteIndex <= mRearBufferBottom )	
-				{
-				int bufferSize = BottomOffset() - TopOffset() + 1;
-				int rearDiff = aAbsoluteIndex - mRearBufferTop;
-				int relativeIndex = bufferSize + rearDiff;
-				return relativeIndex;
-				}
-			else
-				{
-				int relativeIndex = aAbsoluteIndex < TopOffset() ? 
-									aAbsoluteIndex : aAbsoluteIndex - TopOffset() ;	
-				return relativeIndex;	
-				}		
-			}
-		else
-			{
-			if( aAbsoluteIndex >= mRearBufferTop && aAbsoluteIndex <= mRearBufferBottom )
-				{
-				int relativeIndex = aAbsoluteIndex < TopOffset() ? 
-									aAbsoluteIndex : aAbsoluteIndex - TopOffset() ;	
-				return relativeIndex;	
-				}
-			else
-				{	
-				int bufferSize = mRearBufferBottom - mRearBufferTop + 1;
-				int diff = aAbsoluteIndex - TopOffset();
-				int relativeIndex = bufferSize + diff;
-				return relativeIndex;		
-				}
-			}
-		}
-	else
-		{		
-		int relativeIndex = aAbsoluteIndex < TopOffset() ? 
-							aAbsoluteIndex : aAbsoluteIndex - TopOffset() ;	
-		return relativeIndex;
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// AbsoluteIndex
-// ---------------------------------------------------------------------------
-//
-int MulPageDataWindow::AbsoluteIndex( int aRelativeIndex ) const
-	{
-	__MUL_ASSERT_DEBUG( aRelativeIndex >= 0 && aRelativeIndex <= ActualBufferSize(), _L("Invalid Relative Index"));
-	
-	if( mRearBufferTop != KNotInitialized && mRearBufferBottom != KNotInitialized )
-		{
-		if( mRearBufferBottom == mMulModel.CurrentItemCount() - 1 )
-			{
-			if( aRelativeIndex > BottomOffset() )
-				{
-				//relative index is in loop buffer
-				int diff = aRelativeIndex - BottomOffset() - 1;
-				int absoluteIndex = RearTopOffset() + diff;
-				return absoluteIndex;
-				}
-			else
-				{
-				int absoluteIndex = TopOffset() + aRelativeIndex;
-				return absoluteIndex;
-				}
-			}
-		else
-			{
-			if( aRelativeIndex <= RearBottomOffset() )
-				{
-				//relative index is in loop buffer
-				int absoluteIndex = RearTopOffset() + aRelativeIndex;
-				return absoluteIndex;
-				}
-			else
-				{
-				int diff = aRelativeIndex - RearBottomOffset() - 1;
-				int absoluteIndex = TopOffset() + diff;
-				return absoluteIndex;
-				}
-			}
-		}
-	else
-		{		
-		int absoluteIndex = TopOffset() + aRelativeIndex;
-		return absoluteIndex;
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// IsBufferOffsetChanged
-// ---------------------------------------------------------------------------
-//
-bool MulPageDataWindow::IsBufferOffsetChanged()
-	{
-	if(mRearBufferBottom != mOldRearBufferBottom || 
-	   mRearBufferTop != mOldRearBufferTop || 
-	   mBufferTop != mOldBufferTop || 
-	   mBufferBottom != mOldBufferBottom )
-		{
-		return true;
-		}
-	return false;
-	}
-			
-    } // namespace Alf
-
-//End of file
--- a/mulwidgets/muldatamodel/src/mulpullmode.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,467 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Implementation of Pull Mode
-*
-*/
-
-
-//Includes
-#include "mulpullmode.h"
-
-#include <mul/imulmodelprovider.h>
-
-
-#include "mulassert.h"
-#include "mulcachemanager.h"
-#include "muldatawindow.h"
-#include "mulpagedatawindow.h"
-#include "mul/mulmodelutility.h"
-#include "mullog.h"
-#include "mulasyncdataprovider.h"
-
-namespace Alf
-    { 
-    
-// ---------------------------------------------------------------------------
-// MulPullMode()
-// ---------------------------------------------------------------------------
-//
-MulPullMode::MulPullMode(MulPageDataWindow& aDataWindow,
-						 const IMulModelProvider& aModelProvider)
-			:MulPushMode( aDataWindow )
-	{	
-	//mModelProvider = const_cast<IMulModelProvider*>( &aModelProvider );
-	MUL_LOG_ENTRY_EXIT("MUL::MulPullModeImpl::MulPullModeImpl()");
-	mModelProvider.reset( new (ELeave) MulAsyncDataProvider( const_cast<IMulModelProvider&>(aModelProvider), aDataWindow ));		
-	}
-
-// ---------------------------------------------------------------------------
-// ~MulPullMode()
-// ---------------------------------------------------------------------------
-//
-MulPullMode::~MulPullMode()
-	{
-	// No implementation is required.
-	MUL_LOG_ENTRY_EXIT("MUL::MulPullModeImpl::~MulPullModeImpl()");
-	}
-
-// ------------------------ From IMulModel -----------------------------------
-
-// ---------------------------------------------------------------------------
-// Update
-// ---------------------------------------------------------------------------
-//
-void MulPullMode::Update(int aIndex, int aCount, const MulDataPath& /*aPath*/)
-	{
-	// throw exception if index is out of bound
-	__MUL_ASSERT( aIndex >= 0 && aCount > 0 && aIndex+aCount <= mCacheManager->ExpandedNodeCount(), KLInvalidArgument );
-	
-	int startIndex = aIndex;
-	int range = 0;
-	bool firstTime = true;
-	for(int i = aIndex; i < aCount+aIndex ; ++i)
-		{
-		if( mDataWindow.IsItemInDataWindow(i) )
-			{
-			range++;
-			firstTime = true;
-			}
-		else
-			{
-			if(firstTime)
-				{
-				firstTime = false;
-				if(range>0)
-					{
-					ProvideData(startIndex,range);
-					range = 0;						
-					}
-				}
-			startIndex = i + 1;			
-			}
-		}
-	ProvideData(startIndex,range);	
-	}
-
-// ---------------------------------------------------------------------------
-// Refresh
-// ---------------------------------------------------------------------------
-//
-void MulPullMode::Refresh( int aCount, const MulDataPath& aPath )
-	{
-	int modelCountBefore  = mCacheManager->ExpandedNodeCount();
-	
-	// remove all old nodes
-    for(int currentIndex = 0; currentIndex < modelCountBefore; currentIndex++)	
-		{
-		mCacheManager->RemoveVisualItem(aPath,0);			
-		}
-    
-    //mCacheManager->RemoveVisalItem(0, aCount, aPath );
-	
-    // insert new nodes	
-	mCacheManager->CreateNodes( 0, aCount, aPath );	
-
-	int modelCount = mCacheManager->ExpandedNodeCount();		
-	// update alf model accordingly
-	if(mDataWindow.IsWindowEnabled())
-		{
-		if(modelCountBefore == modelCount)
-			{
-			Update(0,aCount,aPath);
-			}
-		else
-			{
-			ModelCountChanged(modelCountBefore,modelCount);	
-			}		
-		}				
-	}
-		
-// ---------------------------------------------------------------------------
-// SetData
-// ---------------------------------------------------------------------------
-//
-void MulPullMode::SetData(int aIndex, auto_ptr<MulVisualItem> aVisualItem,const MulDataPath& aPath)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulPullModeImpl::SetData()");
-	
-	__MUL_ASSERT( aIndex >= 0 && aIndex < Count(aPath),_L("Invalid Argument."));
-		
-	//Set data to model
-	if( mDataWindow.IsItemInDataWindow( aIndex ) )
-		{		
-		MulPushMode::SetData( aIndex, aVisualItem, aPath );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// SetTemplate
-// ---------------------------------------------------------------------------
-//
-void MulPullMode::SetTemplate( mulwidget::TLogicalTemplate aTemplateId )
-	{
-	mDefaultTemplate = aTemplateId;
-
-	MulDataPath path ;
-	if( mDataWindow.IsWindowEnabled() )
-		{
-		int topOffset = mDataWindow.TopOffset();
-		int bottomOffset = mDataWindow.BottomOffset();
-		for( int i = topOffset ; i <= bottomOffset ; i++ )
-			{
-			MulPushMode::SetTemplate( i, mDefaultTemplate, path);			
-			}
-		
-		int rearTopOffset = mDataWindow.RearTopOffset();
-		int rearBottomOffset = mDataWindow.RearBottomOffset();
-        for( int i = rearTopOffset; i <= rearBottomOffset && i >= 0 ; i++ )
-			{	
-			MulPushMode::SetTemplate( i, mDefaultTemplate, path);
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// WindowSiftedDown
-// ---------------------------------------------------------------------------
-//
-void MulPullMode::WindowSiftedDown()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulPullModeImpl::WindowSiftedDown"); 	
-		
-	// If the complete datawindow is invalid.   	
-//	if(mDataWindow.TopOffset() - mDataWindow.OldTopOffset() > mDataWindow.ActualBufferSize() 
-//		&& mDataWindow.OldTopOffset() != KNotInitialized)
-	//if(mDataWindow.TopOffset() - mDataWindow.OldTopOffset() > mDataWindow.ActualBufferSize() )
-	int oldTopOffset = mDataWindow.OldTopOffset();
-	int oldBottomOffset = mDataWindow.OldBottomOffset();
-	int topOffset = mDataWindow.TopOffset();
-	int bottomOffset = mDataWindow.BottomOffset();
-	int oldRearTopOffset = mDataWindow.OldRearTopOffset();
-	int oldRearBottomOffset = mDataWindow.OldRearBottomOffset();
-	
-	 if(  ( oldTopOffset == KNotInitialized && oldBottomOffset == KNotInitialized ) ||
-	      ( topOffset - oldTopOffset >= mDataWindow.ActualBufferSize()) ||
-	      ( oldRearTopOffset != KNotInitialized && 
-	      ( topOffset - oldTopOffset >= ( mDataWindow.WindowSize() + mDataWindow.BufferSize() ) ) 
-	    ) ) 
-		{
-		//remove old data from  cache
-        for( int i = oldTopOffset ; i <= oldBottomOffset && i >= 0 ; i++ )
-            {
-            mCacheManager->RemoveVisualItem( i );          
-            }
-        
-        for( int i = oldRearTopOffset; i <= oldRearBottomOffset && i >= 0 ; i++ )
-            {   
-            mCacheManager->RemoveVisualItem( i );
-            }
-        
-		int startIndex = topOffset;
-		int range = bottomOffset - startIndex + 1;
-		
-		MUL_LOG_INFO2("MUL::MulPullModeImpl::WindowSiftedUp ProvideData startIndex:%d,range:%d",startIndex,range);
-    	ProvideData(startIndex,range);
-		} 
-	else
-		{
-		//remove extra items from top and add new items at bottom
-		for( int i = oldTopOffset ; i >= 0 && i < topOffset ; i++ )
-			{       
-			//remove item from top
-			mCacheManager->RemoveVisualItem( i );
-			}
-
-		int startIndex = oldBottomOffset +1 ;
-		int range = ( bottomOffset - oldBottomOffset );				
-		MUL_LOG_INFO2("MUL::MulPullModeImpl::DataWindowUpdated ProvideData startIndex:%d,range:%d",startIndex,range); 		       
-    	ProvideData(startIndex,range);				
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// WindowSiftedUp
-// ---------------------------------------------------------------------------
-//
-void MulPullMode::WindowSiftedUp()
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulPullModeImpl::WindowSiftedUp "); 
-	// If the complete datawindow is invalid.  	
-//	if(mDataWindow.OldBottomOffset() - mDataWindow.BottomOffset() > mDataWindow.ActualBufferSize()
-//		&& mDataWindow.OldBottomOffset() != KNotInitialized)
-
-	  if( mDataWindow.OldBottomOffset() - mDataWindow.BottomOffset() >= mDataWindow.ActualBufferSize() ||
-	    ( mDataWindow.OldRearBottomOffset() != KNotInitialized && 
-	      ( mDataWindow.OldBottomOffset() - mDataWindow.BottomOffset() >= ( mDataWindow.WindowSize() + mDataWindow.BufferSize() ) ) 
-	    ) )	
-		{
-		//remove old data from  cache
-        for( int i = mDataWindow.OldTopOffset() ; i <= mDataWindow.OldBottomOffset() && i >= 0 ; i++ )
-            {
-            mCacheManager->RemoveVisualItem( i );          
-            }
-        
-        for( int i = mDataWindow.OldRearTopOffset( ); i <= mDataWindow.OldRearBottomOffset() && i >= 0 ; i++ )
-            {   
-            mCacheManager->RemoveVisualItem( i );
-            }
-		        
-		int startIndex = mDataWindow.TopOffset();
-		int range = mDataWindow.BottomOffset() - startIndex + 1;
-		
-		MUL_LOG_INFO2("MUL::MulPullModeImpl::WindowSiftedUp ProvideData startIndex:%d,range:%d",startIndex,range);
-		ProvideData(startIndex,range);
-		}  
-	else
-		{
-		//remove extra items from bottom and add at top
-		for( int i = mDataWindow.BottomOffset() ; i < mDataWindow.OldBottomOffset() ; i++ )
-			{		
-			mCacheManager->RemoveVisualItem(i+1);
-			}
-
-		int startIndex = mDataWindow.TopOffset();
-		int range = mDataWindow.OldTopOffset() - mDataWindow.TopOffset();
-
-		MUL_LOG_INFO2("MUL::MulPullModeImpl::WindowSiftedUp ProvideData startIndex:%d,range:%d",startIndex,range); 		       
-		ProvideData(startIndex,range);			
-		}  			
-	}
-
-// ---------------------------------------------------------------------------
-// ProvideData
-// ---------------------------------------------------------------------------
-//
-void MulPullMode::ProvideData(int aStartIndex, int aRange)
-	{
-	 //call provide data for visible window first then for buffer
-	if( aRange > 0 )
-	    {
-	    // check if the current higlighted item is there in the data asked for
-	    if( mDataWindow.Highlight() >= aStartIndex &&
-	            mDataWindow.Highlight() < aStartIndex+aRange )
-	        {
-	        mModelProvider->ProvideData( mDataWindow.Highlight(), 1 ,MulDataPath(),true );
-	        }
-	    //__MUL_ASSERT( ( aRange % 18 ) == 0, _L("Invalid Renage") );
-	    //check that visible data is there in provide data call
-	    if( aStartIndex < mDataWindow.TopWindowOffset() && 
-	        aStartIndex+aRange > mDataWindow.BottomWindowOffset() )
-	        {
-	            {
-	            //request visible item
-                int startIndex = mDataWindow.TopWindowOffset();
-                int range = ( mDataWindow.BottomWindowOffset() - mDataWindow.TopWindowOffset() ) + 1 ; 
-                
-                MUL_LOG_INFO2("MUL::MulPullModeImpl::ProvideData visible buffer startIndex:%d,range:%d",startIndex,range);
-                mModelProvider->ProvideData(startIndex, range ,MulDataPath() );
-                }
-	        
-    	        {
-    	        //request item from top
-    	        int startIndex = aStartIndex;
-    	        int range = mDataWindow.TopWindowOffset() - startIndex; 
-    	        
-    	        MUL_LOG_INFO2("MUL::MulPullModeImpl::ProvideData top buffer startIndex:%d,range:%d",startIndex,range);
-    	        mModelProvider->ProvideData(startIndex, range ,MulDataPath() );
-    	        }
-    	        
-    	        {
-    	        //request item from bottom
-                int startIndex = mDataWindow.BottomWindowOffset() + 1 ;
-                int range = ( aStartIndex + aRange - 1) - mDataWindow.BottomWindowOffset(); 
-
-                MUL_LOG_INFO2("MUL::MulPullModeImpl::ProvideData bottom buffer startIndex:%d,range:%d",startIndex,range);
-                mModelProvider->ProvideData(startIndex, range ,MulDataPath() );
-                }
-	        }
-	    else
-	        {
-	        //there is not provide data pending for visible window
-	        mModelProvider->ProvideData(aStartIndex, aRange ,MulDataPath() );
-	        }
-	    }
-	}
-
-// ---------------------------------------------------------------------------
-// ModelCountChanged
-// ---------------------------------------------------------------------------
-//
-void MulPullMode::ModelCountChanged(int aOldCount, int aNewCount)
-    {
-    MUL_LOG_ENTRY_EXIT("MUL::MulPullMode::AdjustOffsetAndData()");
-    
-    MUL_LOG_INFO1("MUL::MulPullMode::AdjustAlfModelData() modelCount:%d", aNewCount );
-    
-    MulPushMode::ModelCountChanged( aOldCount, aNewCount );
-    
-    // fetch data for the new buffers
-    if( mDataWindow.RearTopOffset() != KNotInitialized &&
-        mDataWindow.RearBottomOffset() != KNotInitialized )
-        {   
-        if(mDataWindow.RearTopOffset() == 0)
-            {
-            //updating all buffer
-            ProvideData( mDataWindow.RearTopOffset() , mDataWindow.RearBottomOffset() - 
-                mDataWindow.RearTopOffset() + 1);
-            
-            ProvideData( mDataWindow.TopOffset() , mDataWindow.BottomOffset() -
-                mDataWindow.TopOffset() + 1);
-            }
-        else
-            {
-            ProvideData( mDataWindow.TopOffset() , mDataWindow.BottomOffset() -
-                mDataWindow.TopOffset() + 1);
-                
-            ProvideData( mDataWindow.RearTopOffset() , mDataWindow.RearBottomOffset() - 
-                mDataWindow.RearTopOffset() + 1);                               
-            }       
-        }
-    else
-        {
-        ProvideData( mDataWindow.TopOffset() , mDataWindow.BottomOffset() -
-             mDataWindow.TopOffset() + 1);  
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// DataWindowUpdated
-// ---------------------------------------------------------------------------
-//    
-void MulPullMode::DataWindowUpdated()
-    {
-    //here sequence of Function call are important dont change function call sequences
-    //UpdateLoopBuffer must be called first 
-    if( mDataWindow.RearTopOffset() != KNotInitialized &&
-        mDataWindow.OldRearTopOffset() != KNotInitialized ) //there is looping on
-        {
-        UpdateLoopBuffer();
-        //returning from here only dont need to do any thing else
-        return ;
-        }
-    //window shifted down
-    if( mDataWindow.OldBottomOffset() < mDataWindow.BottomOffset() )
-        {
-        WindowSiftedDown();     
-        }       
-    //window shifted up
-    else if( mDataWindow.OldTopOffset() > mDataWindow.TopOffset())
-        {
-        WindowSiftedUp();       
-        }
-
-     //add buffer in looping case
-    if(mDataWindow.RearTopOffset() != KNotInitialized && mDataWindow.RearBottomOffset() != KNotInitialized) //rear offset changed
-        {
-        // here ask data from top to bottom
-        int startIndex = mDataWindow.RearTopOffset()  ;
-        int range = mDataWindow.RearBottomOffset() - mDataWindow.RearTopOffset() + 1;
-                
-        MUL_LOG_INFO2("MUL::MulPullMode::DataWindowUpdated startIndex:%d,range:%d",startIndex,range);              
-        ProvideData(startIndex,range); 
-        }       
-    }
-
-// ---------------------------------------------------------------------------
-// UpdateLoopBuffer
-// ---------------------------------------------------------------------------
-//
-void MulPullMode::UpdateLoopBuffer()
-    {
-    MUL_LOG_ENTRY_EXIT("MUL::MulPushMode::UpdateLoopBuffer");   
-    if( mDataWindow.RearTopOffset() < mDataWindow.OldRearTopOffset() )
-        {
-        int startIndex = mDataWindow.TopOffset();
-        int range = mDataWindow.OldRearTopOffset() - startIndex;
-    
-        MUL_LOG_INFO2("MUL::MulPushMode::UpdateLoopBuffer startIndex:%d,range:%d",startIndex,range);               
-        ProvideData(startIndex,range);
-        }
-    else
-        {
-        int startIndex = mDataWindow.OldRearBottomOffset()+1 ;
-        int range = mDataWindow.BottomOffset() - startIndex + 1;
-         
-        MUL_LOG_INFO2("MUL::MulPushMode::UpdateLoopBuffer startIndex:%d,range:%d",startIndex,range);               
-        ProvideData(startIndex,range);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Item
-// ---------------------------------------------------------------------------
-//
-const MulVisualItem& MulPullMode::Item( int aAbsoluteIndex )
-    {
-    MulVisualItem* visualItem = mCacheManager->Data( aAbsoluteIndex );
-    if( !visualItem )
-        {
-        if( mDataWindow.IsItemInDataWindow(aAbsoluteIndex) )
-            {
-            std::auto_ptr<MulVisualItem> dummyItem = MulModelUtility::CreateVisualItem( Template() );
-            visualItem = dummyItem.get();
-            mCacheManager->AddVisualItem(dummyItem, MulDataPath() ,aAbsoluteIndex );  
-            }
-        else
-            {
-            throw std::invalid_argument(KInvalidArgument);  
-            }
-        }
-    return *visualItem; 
-    }
-
-				
-    } // namespace Alf
-
-//End of file
--- a/mulwidgets/muldatamodel/src/mulpushmode.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,302 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Base implementation of pull and push mode
- *
-*/
-
-
-
-//Includes
-#include "mulpushmode.h"
-
-#include "mulassert.h"
-#include "mulcachemanager.h"
-#include "mulpagedatawindow.h"
-#include "mullog.h"
-
-namespace Alf
-    { 
-    	  
-// ---------------------------------------------------------------------------
-// MulPushMode()
-// ---------------------------------------------------------------------------
-//
-MulPushMode::MulPushMode( MulPageDataWindow& aDataWindow )
-			: mDataWindow(aDataWindow)
-	{   	
-	mCacheManager.reset( new ( EMM ) MulCacheManager());		
-	}
-
-// ---------------------------------------------------------------------------
-// ~MulPushMode()
-// ---------------------------------------------------------------------------
-//
-MulPushMode::~MulPushMode()
-	{
-	// No implementation is required.
-	}
-
-// ---------------------------------------------------------------------------
-// Insert
-// ---------------------------------------------------------------------------
-//
-bool MulPushMode::Insert(int aIndex, int aCount, const MulDataPath& aPath )
-	{
-	__MUL_ASSERT( aIndex >= 0 && aIndex <= mCacheManager->ExpandedNodeCount() && aCount > 0, KLInvalidArgument );
-	
-	int modelCountBefore  = mCacheManager->ExpandedNodeCount();	
-	mCacheManager->CreateNodes( aIndex, aCount, aPath );
-
-	int modelCount = mCacheManager->ExpandedNodeCount();
-		
-	// if there is a change in expanded node count of model then update
-	// the alf model. THis case would happen if we are inserting childnodes
-	// for a node which is not expanded. Then no need to update the alf model
-	if(mDataWindow.IsWindowEnabled() && modelCount != modelCountBefore)
-		{
-		ModelCountChanged(modelCountBefore,modelCount);
-		}
-		
-	// The highlight is the same but its relative index is changed 
-	// because the buffer offsets are changed. Even in this case widget has to update the visualization
-	return false;
-	}
-
-// ---------------------------------------------------------------------------
-// Remove
-// ---------------------------------------------------------------------------
-//
-bool MulPushMode::Remove( int aIndex, int aCount,const MulDataPath& aPath)
-	{
-	__MUL_ASSERT( aIndex >= 0 && aCount > 0 && aIndex+aCount <= mCacheManager->ExpandedNodeCount(), KLInvalidArgument );
-
-	int modelCountBefore  = mCacheManager->ExpandedNodeCount();
-
-	mCacheManager->RemoveVisualItem( aIndex, aCount, aPath );
-	
-	int modelCount = mCacheManager->ExpandedNodeCount();
-	
-	// To inform the calling class whether the highlight has changed 
-	// If the current highlight is more than the total number of items. Then udjust teh highlight
-	bool highlightUpdated = ValidateCurrentHighlight();
-	
-	// if there is a change in expanded node count of model then update
-	// the alf model. This case would happen if we are removing childnodes
-	// for a node which is not expanded. Then no need to update the alf model			
-	if(mDataWindow.IsWindowEnabled() && modelCount != modelCountBefore)
-		{
-		ModelCountChanged(modelCountBefore,modelCount);
-		}
-		
-	// If the highlight is changed because it was greater than current model count or if
-	// the buffer offsets are changed then return true		
-	return ( highlightUpdated );
-	}
-
-// ---------------------------------------------------------------------------
-// Update
-// ---------------------------------------------------------------------------
-//
-void MulPushMode::Update(int /*aIndex*/, int /*aCount*/, const MulDataPath& /*aPath*/)
-    {
-    //no implementation required
-    }
-
-// ---------------------------------------------------------------------------
-// Refresh
-// ---------------------------------------------------------------------------
-//
-void MulPushMode::Refresh( int /*aCount*/, const MulDataPath& /*aPath*/)
-    {
-    // throw exception not implemented in push mode 
-    throw std::logic_error("Not Implemented");
-    }
-
-
-// ---------------------------------------------------------------------------
-// SetTemplate
-// ---------------------------------------------------------------------------
-//
-void MulPushMode::SetTemplate( mulwidget::TLogicalTemplate aTemplateId )
-    {
-    mDefaultTemplate =  aTemplateId ;
-    
-    MulDataPath path;
-    for( int i = 0 ; i < mCacheManager->Count() ; i++ )
-        {
-        MulPushMode::SetTemplate( i, mDefaultTemplate, path );           
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Template
-// ---------------------------------------------------------------------------
-//
-mulwidget::TLogicalTemplate MulPushMode::Template( ) 
-    {
-    return mDefaultTemplate;
-    }
-
-// ---------------------------------------------------------------------------
-// Data
-// ---------------------------------------------------------------------------
-//
-const MulVisualItem* MulPushMode::Data( int aIndex, const MulDataPath& /*aPath*/) const
-	{
-	__MUL_ASSERT( aIndex >= 0 && aIndex < mCacheManager->ExpandedNodeCount(), KLInvalidArgument );
-	
-	return mCacheManager->Data( aIndex );			
-	}
-
-// ---------------------------------------------------------------------------
-// SetData
-// ---------------------------------------------------------------------------
-//
-void MulPushMode::SetData( int aIndex, std::auto_ptr<MulVisualItem> aVisualItem, 
-                          const MulDataPath& aPath)
-    {
-    __MUL_ASSERT( aIndex >= 0 && aIndex < mCacheManager->ExpandedNodeCount(),_L("Invalid Argument"));
-
-    MulVisualItem* visualItem = mCacheManager->Data( aIndex );
-    MUL_LOG_INFO2("MUL::MulPushMode::SetData() Index:%d,item:%x",aIndex, visualItem);
-    if( visualItem )
-        {
-        mCacheManager->UpdateVisualItem( *aVisualItem , aPath, aIndex );
-        }
-    else
-        {
-        // Validating input visual item
-        ValidateVisualItem( *aVisualItem );
-        mCacheManager->AddVisualItem( aVisualItem, aPath, aIndex );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Count
-// ---------------------------------------------------------------------------
-//
-int MulPushMode::Count(const MulDataPath& /*aPath*/) const
-	{
-	return mCacheManager->ExpandedNodeCount();
-	} 
-
-// ---------------------------------------------------------------------------
-// SetTemplate
-// ---------------------------------------------------------------------------
-//
-void MulPushMode::SetTemplate( int aItemIndex, mulwidget::TLogicalTemplate aTemplateId, 
-	                    	  const MulDataPath& /*aPath*/ )
-	{	
-	MUL_LOG_ENTRY_EXIT("MUL::MulPushMode::SetTemplate");
-	
-    MulVisualItem* visualItem = mCacheManager->Data( aItemIndex );	
-    if( visualItem )
-        {
-        mulwidget::TLogicalTemplate logicalTemplate = (mulwidget::TLogicalTemplate) visualItem->AttributeAsInt( mulvisualitem::KAttributeTemplate );
-    	//if template is not same then only change it		
-        if( logicalTemplate != aTemplateId  )
-        	{
-        	visualItem->SetAttribute( mulvisualitem::KAttributeTemplate, aTemplateId );   		
-        	}
-        }
-	}
-	
-// ---------------------------------------------------------------------------
-// CurrentItemCount
-// ---------------------------------------------------------------------------
-//  
-int MulPushMode::CurrentItemCount() const
-	{
-	return mCacheManager->ExpandedNodeCount();		
-	}
-
-// ---------------------------------------------------------------------------
-// CacheManager
-// ---------------------------------------------------------------------------
-//
-MulCacheManager& MulPushMode::CacheManager() const
-	{
-	return *mCacheManager;
-	}
-
-// ---------------------------------------------------------------------------
-//ValidateVisualItem
-// ---------------------------------------------------------------------------
-//
-void MulPushMode::ValidateVisualItem( MulVisualItem& aVisualItem )
-	{
-	//add default template to item if template is not already set and default template is not null
-	IMulVariantType* itemTemplate = aVisualItem.Attribute( mulvisualitem::KAttributeTemplate );
-	if( !itemTemplate )
-		{
-		if( mDefaultTemplate != mulwidget::KTemplateUnknown )
-			{
-			//add default template to this visual item	
-			aVisualItem.SetAttribute( mulvisualitem::KAttributeTemplate, mDefaultTemplate, 0 );
-			}
-		else
-			{
-			//template must be there
-			throw std::invalid_argument("Default template not available.");
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// ModelCountChanged
-// ---------------------------------------------------------------------------
-//
-void MulPushMode::ModelCountChanged(int aOldCount, int aNewCount)
-	{
-	MUL_LOG_ENTRY_EXIT("MUL::MulPushMode::ModelCountChanged()");
-	
-	MUL_LOG_INFO2("MUL::MulPushMode::ModelCountChanged() aOldCount:%d,aNewCount:%d", aOldCount, aNewCount );
-	
-	mDataWindow.AdjustOffset();	
-	}
-
-// ---------------------------------------------------------------------------
-// ValidateCurrentHighlight
-// ---------------------------------------------------------------------------
-//
-bool MulPushMode::ValidateCurrentHighlight()
-	{
-	// To inform the calling class whether the highlight has changed
-	int modelCount = mCacheManager->ExpandedNodeCount();
-	if( mDataWindow.Highlight() >= modelCount)
-		{
-		mDataWindow.UpdateHighlight( modelCount-1 );
-		return true;
-		}
-	return false;
-	}
-
-// ---------------------------------------------------------------------------
-// Item
-// ---------------------------------------------------------------------------
-//
-const MulVisualItem& MulPushMode::Item( int aAbsoluteIndex )
-    {
-    MulVisualItem* visualItem = mCacheManager->Data( aAbsoluteIndex );
-    if(!visualItem)
-        {
-        throw std::invalid_argument(KInvalidArgument);  
-        }
-    return *visualItem; 
-    }
-	
-	} // namespace ends here
-  
-//End of file
-    
--- a/mulwidgets/muldatamodel/src/multree.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,321 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  MulTree Implementaiton
-*
-*/
-
-
-#include "multree.h"
-
-#include <stdexcept>
-
-#include "mulassert.h"
-#include "mulmodeldef.h"
-#include "muldatapath.h"
-
-namespace Alf
-	{
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// AddNode
-// -----------------------------------------------------------------------------
-//
-void MulTree::AddNode(const MulDataPath& aPath,int aIndex)
-	{
-	//Find parent node
-	MulTreeNode* node = FindNode( aPath );
-	
-	//update index of other child
-	for( int i = 0 ; i < node->ChildCount() ; i++ )
-		{
-		MulTreeNode* childNode = node->Child(i);
-		int index = childNode->Index();
-		if( childNode->Index() >= aIndex )
-			{
-			childNode->SetIndex( childNode->Index()+1 );
-			}
-		}	
-	
-	//insert node in to parent node
-	std::auto_ptr<MulTreeNode> childNode( new (EMM) MulTreeNode(aIndex));
-	node->InsertChild(childNode,aIndex);
-	}
-
-// -----------------------------------------------------------------------------
-// RemoveNode
-// -----------------------------------------------------------------------------
-//
-void MulTree::RemoveNode(const MulDataPath& aPath, int aIndex )
-	{
-	MulTreeNode* node = FindNode( aPath );
-	node->RemoveChild(aIndex);
-	
-	//update index of other child
-	for( int i = 0 ; i < node->ChildCount() ; i++ )
-		{
-		MulTreeNode* childNode = node->Child(i);
-		int index = childNode->Index();
-		if( childNode->Index() > aIndex )
-			{
-			childNode->SetIndex( childNode->Index()-1 );
-			}
-		}	
-	}
-
-// -----------------------------------------------------------------------------
-// FindNode
-// -----------------------------------------------------------------------------
-//
-MulTreeNode* MulTree::FindNode( const MulDataPath& aPath ) const
-	{	
-	MulTreeNode* currentNode = mRootNode.get();
-	for( int i = 0; i < aPath.Depth() ;i++ )
-		{
-		int index = aPath[i];
-		if( currentNode->HasChild() )
-			{
-			currentNode = FindChildNode( currentNode,index);
-			}
-		else
-			{
-			__MUL_ASSERT_DEBUG( false , KLInvalidArgument );
-			}
-		}
-	return currentNode;
-	}
-
-// -----------------------------------------------------------------------------
-// FindNode
-// -----------------------------------------------------------------------------
-//
-MulTreeNode* MulTree::FindChildNode(MulTreeNode* aParentNode,int aIndex) const
-	{
-	MulTreeNode* currentNode = aParentNode;
-	MulTreeNode* foundNode = NULL;
-	int index = 0; 
-	bool found(false);
-	int childCount = currentNode->ChildCount();
-	while( !found && index < childCount )
-		{	
-		MulTreeNode* childNode = currentNode->Child(index);
-		if( aIndex == childNode->Index() )
-			{
-			found = true;
-			foundNode = childNode;
-			}
-		index++;
-		}
-		
-	if( found == false )
-		{
-		__MUL_ASSERT_DEBUG( false , KLInvalidArgument );
-		}
-		
-	return foundNode;
-	}
-
-// -----------------------------------------------------------------------------
-// FindNode
-// -----------------------------------------------------------------------------
-//
-MulDataPath MulTree::FindNode( int aIndex ) const
-	{	
-	int absoluteIndex = -1;
-	return FindNode( mRootNode.get(), absoluteIndex, aIndex );	
-	}
-
-// -----------------------------------------------------------------------------
-// FindNode
-// -----------------------------------------------------------------------------
-//
-MulDataPath MulTree::FindNode( MulTreeNode* aNode, int& aAbsoluteIndex, int aIndex ) const
-	{	
-	MulTreeNode* currentNode = aNode;
-	if( currentNode->HasChild() )
-		{
-		for(int i = 0 ; i < currentNode->ChildCount() ; i++ )
-			{
-			aAbsoluteIndex++;
-			MulTreeNode* childNode = currentNode->Child(i);
-			
-#ifdef _DEBUG
-			bool hasChild = childNode->HasChild();
-			int count = childNode->ChildCount();
-			bool isExpanded = childNode->IsExpanded();
-#endif //_DEBUG
-			
-			if( aAbsoluteIndex == aIndex )
-				{
-				MulDataPath path= Path(*childNode);
-				path.SetIndex(i);
-				return path;
-				}
-			 else if( childNode->HasChild() && childNode->IsExpanded() )
-				{
-				MulDataPath path = FindNode( childNode, aAbsoluteIndex , aIndex );
-				if(path.Index() != KNotInitialized )
-					{
-					return path;
-					}
-				}			
-			}
-		}
-	//__MUL_ASSERT_DEBUG( false , KLInvalidArgument );
-	MulDataPath path;
-	path.SetIndex(KNotInitialized);
-	return path; 
-	}
-
-// -----------------------------------------------------------------------------
-// Path
-// -----------------------------------------------------------------------------
-//
-MulDataPath MulTree::Path(MulTreeNode& aNode) const
-	{
-	MulTreeNode* parentNode = aNode.Parent();
-	std::vector<int> pathArray;
-	while( parentNode && parentNode != mRootNode.get() )
-		{
-		int index = parentNode->Index();
-		pathArray.push_back( parentNode->Index() );
-		parentNode = parentNode->Parent();
-		}
-	
-	int count = pathArray.size();
-	
-	MulDataPath path;
-	for( int i= pathArray.size()- 1 ; i >=0 ; i-- )
-		{
-		path.Append( pathArray[i] );
-		}
-	pathArray.clear();
-	return path;
-	}
-
-// -----------------------------------------------------------------------------
-// NodeCount
-// -----------------------------------------------------------------------------
-//
-int MulTree::NodeCount() const
-	{
-	int nodeCount =NodeCount( mRootNode.get() );
-	return nodeCount;
-	}
-
-// -----------------------------------------------------------------------------
-// NodeCount
-// -----------------------------------------------------------------------------
-//
-int MulTree::NodeCount(MulTreeNode* aCurrentNode ) const
-	{
-	int nodeCount = 0;
-	if(aCurrentNode->HasChild())
-		{
-		nodeCount = aCurrentNode->ChildCount();
-		for(int i=0;i< aCurrentNode->ChildCount();i++)
-			{
-			nodeCount+= NodeCount(aCurrentNode->Child(i));
-			}
-		}
-	return nodeCount;
-	}
-
-// -----------------------------------------------------------------------------
-// ExpandedNodeCount
-// -----------------------------------------------------------------------------
-//
-int MulTree::ExpandedNodeCount() const
-	{
-	int nodeCount = ExpandedNodeCount( mRootNode.get() );
-	return nodeCount;
-	}
-
-// -----------------------------------------------------------------------------
-// ExpandedNodeCount
-// -----------------------------------------------------------------------------
-//
-int MulTree::ExpandedNodeCount(MulTreeNode* aCurrentNode ) const
-	{
-	int nodeCount = 0;
-	if( aCurrentNode->HasChild() && aCurrentNode->IsExpanded() )
-		{
-		nodeCount = aCurrentNode->ChildCount();
-		for( int i=0; i< aCurrentNode->ChildCount() ; i++ )
-			{
-			nodeCount+= ExpandedNodeCount( aCurrentNode->Child(i) );
-			}
-		}
-	return nodeCount;
-	}
-
-// -----------------------------------------------------------------------------
-// NodeIndex
-// -----------------------------------------------------------------------------
-//
-int MulTree::NodeIndex( const MulDataPath& aPath, int aIndex ) const
-	{
-	MulDataPath path( aPath );
-	path.SetIndex( aIndex );
-	
-	int absoluteIndex = -1;
-	int index = NodeIndex( mRootNode.get(), path, absoluteIndex );
-	
-	return index;
-	}
-
-// -----------------------------------------------------------------------------
-// NodeIndex
-// -----------------------------------------------------------------------------
-//
-int MulTree::NodeIndex( MulTreeNode* aCurrentNode, const MulDataPath& aPath, int& aAbsoluteIndex ) const
-	{	
-	MulTreeNode* currentNode = aCurrentNode;
-	if( currentNode->HasChild() )
-		{
-		for(int i = 0 ; i < currentNode->ChildCount() ; i++ )
-			{
-			aAbsoluteIndex++;
-			MulTreeNode* childNode = currentNode->Child(i);
-			
-#ifdef _DEBUG
-			bool hasChild = childNode->HasChild();
-			int count = childNode->ChildCount();
-			bool isExpanded = childNode->IsExpanded();
-#endif //_DEBUG
-			
-			MulDataPath path = Path(*childNode);
-			path.SetIndex(i);
-			
-			if( path.IsEqual(aPath) )
-				{
-				return aAbsoluteIndex;
-				}
-			 else if( childNode->HasChild() && childNode->IsExpanded() )
-				{
-				int index = NodeIndex( childNode, aPath, aAbsoluteIndex );
-				if( index != KNotInitialized )
-					{
-					return index;
-					}
-				}			
-			}
-		}
-	return KNotInitialized; 
-	}
-		
-	} //namespace Alf
-	
-	//End of file
--- a/mulwidgets/muldatamodel/src/mulvarianttype.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,309 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  MulVarianttype implementation
-*
-*/
-
-
-#include <mul/mulvarianttype.h>
-
-#include <mul/imulvarianttype.h>
-#include <osn/osnnew.h>
-
-#include "mulassert.h"
-
-using namespace osncore;
-using namespace std;
-
-namespace Alf
-    {
-    
-_LIT( KUnknownDataType, "Unknown data type" );
-
-// ---------------------------------------------------------------------------
-// Defination of class MulVariantTypeImpl
-// ---------------------------------------------------------------------------
-//
-
-class MulVariantType::MulVariantTypeImpl
-    {     
-public:
-    
-    ~MulVariantTypeImpl()
-        {
-        if( mDataType == IMulVariantType::EDes )
-            {
-            if( mData.mDes )
-                {
-                delete mData.mDes;
-                }
-            }
-        else if( mDataType == IMulVariantType::EMap )
-            {
-            if( mData.mMap )
-                {
-                delete mData.mMap;
-                }
-            }
-      
-        }
-    
-    MulVariantTypeImpl()
-        {
-        mData.mDes = NULL;
-        mData.mMap = NULL;
-        mDataType = IMulVariantType::EUnknown;
-        }
-    
-public:
-    
-    union TData
-        {
-        bool     mBool;  // Boolean
-        int      mInt;   // 32-bit integer
-        uint     mUint;  // 32-bit unsigned integer
-        double   mReal;  // 64-bit real
-        HBufC*   mDes;   // 16 bit descriptor 
-        IAlfMap* mMap;
-        };
-    
-    TData mData;
-    IMulVariantType::TMulType mDataType;
-    
-    };
-
-void MulVariantType::Construct( TMulType aType )
-    {
-    mVarData.reset( new (EMM) MulVariantTypeImpl() );
-    mVarData->mDataType = aType;
-    }
-
-// ---------------------------------------------------------------------------
-// MulVariantType
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulVariantType::MulVariantType()	
-	{
-	Construct(IMulVariantType::EUnknown );
-	// No implementation required
-	}
-
-// ---------------------------------------------------------------------------
-// MulVariantType
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulVariantType::MulVariantType( const TDesC& aDes )
-    {
-    Construct(IMulVariantType::EDes );
-    mVarData->mData.mDes = aDes.AllocL();
-    }
-
-// ---------------------------------------------------------------------------
-// MulVariantType
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulVariantType::MulVariantType(const int& aValue)
-	{
-	Construct(IMulVariantType::EInt );
-	mVarData->mData.mInt = aValue;
-	}
-
-// ---------------------------------------------------------------------------
-// MulVariantType
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulVariantType::MulVariantType(const uint& aValue)	
-	{
-	Construct(IMulVariantType::EUint );
-	mVarData->mData.mUint = aValue;
-	}
-
-// ---------------------------------------------------------------------------
-// MulVariantType
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulVariantType::MulVariantType(const double& aValue)	
-	{
-	Construct(IMulVariantType::EReal );
-	mVarData->mData.mReal = aValue;
-	}
-
-// ---------------------------------------------------------------------------
-// MulVariantType
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulVariantType::MulVariantType(const bool& aValue)	
-	{
-	Construct(IMulVariantType::EBool );
-	mVarData->mData.mBool = aValue;
-	}
-
-// ---------------------------------------------------------------------------
-// MulVariantType
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulVariantType::MulVariantType( IAlfMap& aData )  
-    {
-    Construct(IMulVariantType::EMap );
-    mVarData->mData.mMap = aData.clone();
-    }
-
-// ---------------------------------------------------------------------------
-// ~MulVariantType
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulVariantType::~MulVariantType()    
-    {
-    // No implementation required
-    }
-
-// ---------------------------------------------------------------------------
-// MulType
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IMulVariantType::TMulType MulVariantType::Type() const
-    {
-    return mVarData->mDataType;
-    }
-
-// ---------------------------------------------------------------------------
-// DesC
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const TDesC& MulVariantType::DesC() const
-    {
-    if ( Type() != IMulVariantType::EDes ) 
-        {
-        __MUL_ASSERT(false, KUnknownDataType );
-        }
-    return *mVarData->mData.mDes;
-    }
-	
-// ---------------------------------------------------------------------------
-// Clone
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT std::auto_ptr< IMulVariantType > MulVariantType::Clone()
-	{
-	std::auto_ptr<IMulVariantType> clone;
-	
-	switch( Type() )
-		{
-		case IMulVariantType::EBool:
-		    {
-	        clone.reset( new (EMM) MulVariantType( boolean() ) );
-	        return clone;
-		    }
-		case IMulVariantType::EInt:
-		    {
-		    clone.reset( new (EMM) MulVariantType( integer() ) ) ;
-		    return clone;
-		    }
-		case IMulVariantType::EUint:
-		    {
-		    clone.reset( new (EMM) MulVariantType( uinteger() ) );
-		    return clone;
-		    }
-		case IMulVariantType::EReal:
-		    {
-		    clone.reset( new (EMM) MulVariantType( real() ) );
-		    return clone;
-		    }
-		case IMulVariantType::EDes:
-			{
-			clone.reset( new (EMM) MulVariantType( DesC() ) ) ;
-			return clone;
-			}
-		case IAlfVariantType::EMap:
-		    {
-		    clone.reset( new (EMM) MulVariantType( Map() ) ) ;
-		    return clone;
-		    }
-		case IAlfVariantType::ECustomData: //delebrate fallthrough
-		default :
-			{
-			__MUL_ASSERT( false, KUnknownDataType );
-			return clone;
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// boolean
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT bool MulVariantType::boolean() const
-	{
-    if ( Type() != IMulVariantType::EBool ) 
-        {
-        __MUL_ASSERT( false, KUnknownDataType );
-        }
-    return mVarData->mData.mBool;
-	}
-
-// ---------------------------------------------------------------------------
-// integer
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int MulVariantType::integer() const
-	{
-	if ( Type() != IMulVariantType::EInt ) 
-       {
-       __MUL_ASSERT( false, KUnknownDataType );
-       }
-    return mVarData->mData.mInt;
-	}
-
-// ---------------------------------------------------------------------------
-// uinteger
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT uint MulVariantType::uinteger() const
-	{
-	if ( Type() != IMulVariantType::EUint ) 
-       {
-       __MUL_ASSERT( false, KUnknownDataType );
-       }
-	return mVarData->mData.mUint;
-	}
-
-// ---------------------------------------------------------------------------
-// real
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT double MulVariantType::real() const
-	{
-	if ( Type() != IMulVariantType::EUint ) 
-       {
-       __MUL_ASSERT( false, KUnknownDataType );
-       }
-	return mVarData->mData.mReal;
-	}
-
-// ---------------------------------------------------------------------------
-// map
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfMap& MulVariantType::Map() const
-	{
-	if ( Type() != IMulVariantType::EMap ) 
-       {
-       __MUL_ASSERT( false, KUnknownDataType );
-       }
-	return *mVarData->mData.mMap;
-	}
-
-    }// namespace Alf	
-
-//End of file
--- a/mulwidgets/muldatamodel/src/mulvisualitem.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,374 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Visual item class
-*
-*/
-
-
-#include <mul/mulvisualitem.h>
-
-#include <mul/imulvarianttype.h>
-#include <mul/mulvarianttype.h>
-
-#include <osn/ustring.h>
-#include <stdexcept>
-
-#include <e32math.h>	// for Pow function
-#include "mul/mulmodelutility.h"
-
-using namespace osncore;
-using namespace std;
-
-namespace Alf
-    {
-// ---------------------------------------------------------------------------
-// Defination of class MulAttribute
-// ---------------------------------------------------------------------------
-//
-class MulVisualItem::MulAttribute
-    {
-public: //Constructor and destructor
-
-	/**
-	 * C++ constructor.
-	 */
-	MulAttribute():mValue(NULL),mFlag(0)
-		{
-		}
-		
-	/**
-	 * C++ constructor.
-	 *
-	 * @param aValue value of the attribute
-	 * @param aAttributeFlags property of this attribute
-	 */
-	 MulAttribute( IMulVariantType* aValue, int aAttributeFlags = 0 )
-	 	{
-	 	mValue = aValue;
-	 	mFlag = aAttributeFlags;
-	 	}
-
-	/**
-	 * Copy constructor.
-	 *
-	 * @param aAttribute existing attribute
-	 */
-	MulAttribute( const MulAttribute& aAttribute )
-	 	{
-	 	mValue = aAttribute.mValue->Clone().release();
-	 	mFlag = aAttribute.mFlag;
-	 	}
-
-	/**
-	 * Destructor.
-	 */
-	~MulAttribute()
-		{
-		delete mValue;
-		}	
-	
-public: //data
-     
-	IMulVariantType* mValue ; //own    
-    int mFlag ; 
-    
-    };
-    
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulVisualItem::MulVisualItem( )
-	{				
-	// Clearing dirty bit flags to 0;
-	mBitAttrFlag1 = 0;
-	mBitAttrFlag2 = 0;
-	}
-
-// ---------------------------------------------------------------------------
-// Copy Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulVisualItem::MulVisualItem( const MulVisualItem& aVisualItem )
-	{	
-	map<mulvisualitem::TVisualAttribute,MulAttribute*> mapToCopy = aVisualItem.mVisualItem;
-	map<mulvisualitem::TVisualAttribute,MulAttribute*>::iterator itr;
-	for( itr = mapToCopy.begin(); itr!= mapToCopy.end(); ++itr )
-		{
-		mVisualItem[itr->first] = new (EMM) MulAttribute( *itr->second );
-		}
-	mBitAttrFlag1 = aVisualItem.mBitAttrFlag1;
-	mBitAttrFlag2 = aVisualItem.mBitAttrFlag2;
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT MulVisualItem::~MulVisualItem()
-	{
-	map<mulvisualitem::TVisualAttribute,MulAttribute* >::iterator itr;
-	for( itr = mVisualItem.begin(); itr!= mVisualItem.end(); ++itr )
-		{
-		delete itr->second;
-		itr->second = NULL;
-		}
-	mVisualItem.clear();
-	}
-
-// ---------------------------------------------------------------------------
-// Add new attributes to visual item
-// ---------------------------------------------------------------------------
-//
-//OSN_EXPORT void MulVisualItem::SetAttribute( mulvisualitem::TVisualAttribute aName, 
-//											 const UString& aValue, int aAttributeFlags )
-//	{
-//	auto_ptr<MulVariantType> variantdata(new (EMM) MulVariantType( aValue ));
-//	
-//	SetAttribute( aName, variantdata.release(),aAttributeFlags,EDoesOwn);
-//	}
-
-// ---------------------------------------------------------------------------
-// Add new attributes to visual item
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void MulVisualItem::SetAttribute( mulvisualitem::TVisualAttribute aName, 
-                                             const TDesC& aValue, int aAttributeFlags )
-    {
-    auto_ptr<MulVariantType> variantdata(new (EMM) MulVariantType( aValue ));
-    
-    SetAttribute( aName, variantdata.release(),aAttributeFlags,EDoesOwn);
-    }
-
-
-// ---------------------------------------------------------------------------
-// Add new attributes to visual item
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void MulVisualItem::SetAttribute( mulvisualitem::TVisualAttribute aName, 
-											  int aValue,int aAttributeFlags )
-	{	
-	auto_ptr<MulVariantType> variantdata(new ( EMM ) MulVariantType( aValue ));
-		
-	SetAttribute(aName,variantdata.release(),aAttributeFlags,EDoesOwn);	
-	}
-
-
-// ---------------------------------------------------------------------------
-// Add new attributes to visual item
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void MulVisualItem::SetAttribute( mulvisualitem::TVisualAttribute aName, IMulVariantType* aValue, 
-		  									   int aAttributeFlags ,
-		  									   TAttributeOwnership /*aAttributeOwership*/ )
-	{
-	map<mulvisualitem::TVisualAttribute,MulAttribute* >::iterator findIter = mVisualItem.find( aName );
-	if( findIter != mVisualItem.end() )
-		{
-		delete findIter->second;
-		findIter->second = NULL;
-		mVisualItem.erase( aName );
-		}
-	mVisualItem[aName] = new (EMM) MulAttribute(aValue,aAttributeFlags );
-	SetDirty(aName, true);
-	}
-
-
-// ---------------------------------------------------------------------------
-// Is the input attribute dirty, to be queried before a redraw
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT bool MulVisualItem::IsDirty(mulvisualitem::TVisualAttribute aAttr) const
-{
-	int i = (int)aAttr;
-	TReal base  = 2.0;
-	TReal r = 0.0;
-	TReal val = 0.0;
-	TInt err = KErrNone;
-
-	// If mBitAttrflag is binary 101, AND'ing it with 100(attribute 3) will 
-	// set 100 to return true for attribute 3 being dirty
-
-	// if attribute index <18 check against mBitAttrFlag1, else check
-	// against mBitAttrFlag2
-	if(i < 18)
-		{
-		val = i;
-		err = Math::Pow(r, base, val);
-		if(KErrNone != err)
-			return true;
-			
-		return mBitAttrFlag1 & (int)r;
-		}
-	else
-		{
-		val = (int)(mulvisualitem::KMul_n) - i;
-		err = Math::Pow(r, base, val);
-		if(KErrNone != err)
-			return true;
-		
-		return mBitAttrFlag2 & (int)r;
-		}
-    
-}
- 
-
-// ---------------------------------------------------------------------------
-// Set the attribute as dirty in this Visual item based on input flag
-// ---------------------------------------------------------------------------
-//
-void MulVisualItem::SetDirty(mulvisualitem::TVisualAttribute aAttr, bool aDirty)
-{
-	int i = (int)aAttr;
-	TReal base  = 2.0;
-	TReal r = 0.0;
-	TReal val = i;
-	TInt err = KErrNone;
-	// If mBitAttrflag is binary 001, OR'ing it with 100(attribute 3) will 
-	// set 101 to set bit for attribute 3 as 1 in dirty flag
-	if(aDirty)
-		{
-		// if attribute index <18 operate on mBitAttrFlag1
-		// else operate against mBitAttrFlag1
-		if(i < 18)
-			{ 
-			err = Math::Pow(r,base,val);
-			mBitAttrFlag1 |= (int)r;
-			}
-			else
-			{
-			err = Math::Pow(r,base,(TReal)((int)(mulvisualitem::KMul_n) - i));
-			mBitAttrFlag2 |= (int)r;
-			}
-		}
-	else
-	{
-		// if attribute index <18 operate on mBitAttrFlag1
-		// else operate against mBitAttrFlag1
-		if(i < 18)
-		{
-			err = Math::Pow(r,base,val);
-			mBitAttrFlag1 &= ~(int)r;
-		}
-		else
-		{
-			err = Math::Pow(r, base,(TReal)((int)(mulvisualitem::KMul_n) - i));
-			mBitAttrFlag2 &= ~(int)r;
-		}
-	}
-	if(KErrNone != err)
-		throw std::invalid_argument("Error setting dirty flag for attribute"); 
-}
-
-
-// ---------------------------------------------------------------------------
-// ResetDirtyAttribute
-// ---------------------------------------------------------------------------
-//
-void MulVisualItem::ResetDirtyAttribute(const MulVisualItem& aVisualItem)
-{
-	mBitAttrFlag1 = aVisualItem.mBitAttrFlag1;
-	mBitAttrFlag2 = aVisualItem.mBitAttrFlag2;
-}
-// ---------------------------------------------------------------------------
-// Attribute
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IMulVariantType* MulVisualItem::Attribute( mulvisualitem::TVisualAttribute aName ) const
-	{
-	map<mulvisualitem::TVisualAttribute,MulAttribute* >::const_iterator findIter = mVisualItem.find( aName );
-	if( findIter != mVisualItem.end() )
-		{		
-		MulAttribute* attribute = findIter->second;
-		IMulVariantType* attributeValue = attribute->mValue;
-		return  attributeValue;
-		}
-	else
-		{
-		//throw std::invalid_argument("Invalid attribute name.");
-		return NULL;
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// AttributeAsInt
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int MulVisualItem::AttributeAsInt( mulvisualitem::TVisualAttribute aName ) const 
-	{
-	IMulVariantType* attributeValue = Attribute(aName);
-	if( attributeValue ) 
-	    {
-	    return attributeValue->integer();
-	    }
-	throw std::invalid_argument("Invalid attribute name."); 
-	}
-
-// ---------------------------------------------------------------------------
-// AttributeAsString
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const TDesC& MulVisualItem::AttributeAsString( mulvisualitem::TVisualAttribute aName ) const
-	{
-	IMulVariantType* attributeValue = Attribute(aName);
-    if( attributeValue ) 
-        {
-        return attributeValue->DesC();
-        }
-	throw std::invalid_argument("Invalid attribute name."); 
-	}
-
-// ---------------------------------------------------------------------------
-// ExistingAttributes
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const std::vector<mulvisualitem::TVisualAttribute> MulVisualItem::Attributes() const 
-	{
-	map<mulvisualitem::TVisualAttribute,MulAttribute* >::const_iterator itr;
-	std::vector<mulvisualitem::TVisualAttribute> attributesName;
-	for( itr = mVisualItem.begin(); itr!= mVisualItem.end(); ++itr )
-		{
-		attributesName.push_back( itr->first );
-		}
-	return attributesName;
-	}
-
-// ---------------------------------------------------------------------------
-// Flag
-// ---------------------------------------------------------------------------
-//
-int MulVisualItem::Flag( mulvisualitem::TVisualAttribute aName ) 
-    {
-     MulAttribute* attribute = mVisualItem.find( aName )->second;
-     return attribute->mFlag;
-    }
-
-// ---------------------------------------------------------------------------
-// RemoveAttribute
-// ---------------------------------------------------------------------------
-//
-void MulVisualItem::RemoveAttribute( mulvisualitem::TVisualAttribute aName )
-    {
-    map<mulvisualitem::TVisualAttribute,MulAttribute* >::iterator findIter = mVisualItem.find( aName );
-    if( findIter != mVisualItem.end() )
-		{
-		delete findIter->second;
-		findIter->second = NULL;
-		mVisualItem.erase( aName );
-		}
-    }
-
-    }// namespace Alf	
-
-//End of file
--- a/mulwidgets/mullogging/bwins/mulloggingu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
-	?Close@RMulLogClient@@QAEXXZ @ 1 NONAME ; void RMulLogClient::Close(void)
-	?CommitToFileL@RMulLogManager@@QAEXABVTDesC16@@@Z @ 2 NONAME ; void RMulLogManager::CommitToFileL(class TDesC16 const &)
-	?CreateL@RMulLogManager@@QAEXXZ @ 3 NONAME ; void RMulLogManager::CreateL(void)
-	?Open@RMulLogClient@@QAEHVTObjectId@@@Z @ 4 NONAME ; int RMulLogClient::Open(class TObjectId)
-	?Release@RMulLogManager@@QAEXXZ @ 5 NONAME ; void RMulLogManager::Release(void)
-	?Write@RMulLogClient@@QAEXABVTDesC8@@@Z @ 6 NONAME ; void RMulLogClient::Write(class TDesC8 const &)
-	?WriteFormat@MulLogger@@YAXV?$TRefByValue@$$CBVTDesC8@@@@ZZ @ 7 NONAME ; void MulLogger::WriteFormat(class TRefByValue<class TDesC8 const >, ...)
-
--- a/mulwidgets/mullogging/eabi/mulloggingu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
-	_ZN13RMulLogClient4OpenE9TObjectId @ 1 NONAME
-	_ZN13RMulLogClient5CloseEv @ 2 NONAME
-	_ZN13RMulLogClient5WriteERK6TDesC8 @ 3 NONAME
-	_ZN14RMulLogManager13CommitToFileLERK7TDesC16 @ 4 NONAME
-	_ZN14RMulLogManager7CreateLEv @ 5 NONAME
-	_ZN14RMulLogManager7ReleaseEv @ 6 NONAME
-	_ZN9MulLogger11WriteFormatE11TRefByValueIK6TDesC8Ez @ 7 NONAME
-
--- a/mulwidgets/mullogging/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2006-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:  Logging client side
- *
-*/
-
-
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-PRJ_MMPFILES
-mullogging.mmp
\ No newline at end of file
--- a/mulwidgets/mullogging/group/mullogging.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2006 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:  MMP for Logging utility
-*
-*/
-
-#include <platform_paths.hrh>
-
-#include    <bldvariant.hrh>
-#include    <data_caging_paths.hrh>
-
-TARGET          mullogging.dll
-TARGETTYPE      dll
-UID             0x1000008d 0x2000FA89
-
-
-CAPABILITY      CAP_GENERAL_DLL
-VENDORID        VID_DEFAULT
-
-
-USERINCLUDE     ../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH      ../src
-SOURCE          mullogger.cpp
-SOURCE          mullogchunk.cpp
-
-LIBRARY         euser.lib
-LIBRARY         efsrv.lib
-LIBRARY         flogger.lib
-
--- a/mulwidgets/mullogging/inc/mullog.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,419 +0,0 @@
-/*
-* Copyright (c) 2006-2008 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:  Logging macros
-*
-*/
-
-
-#ifndef MULLOG_H
-#define MULLOG_H
-
-//  log on debug builds because of performance
-#ifdef _DEBUG
-#define MUL_LOGGING_ENABLED
-#endif
-
-#ifndef MUL_LOGGING_ENABLED
-
-    // empty declarations to clean up code
-    #define MUL_LOG_ENTRY_EXIT( s )
-    #define MUL_LOG_ENTRY_EXIT_LEAVE_L( s )
-    #define MUL_LOG_INFO( s )
-    #define MUL_LOG_INFO1( s, i )
-    #define MUL_LOG_INFO2( s, i, j )
-    #define MUL_LOG_INFO3( s, i, j, k )
-    #define MUL_LOG_INFO4( s, i, j, k, l )
-    #define MUL_LOG_INFO5( s, i, j, k, l, m )
-    #define MUL_LOG_WARNING( s )
-    #define MUL_LOG_WARNING1( s, i )
-    #define MUL_LOG_WARNING2( s, i, j )
-    #define MUL_LOG_WARNING3( s, i, j, k )
-    #define MUL_LOG_ERROR( s )
-    #define MUL_LOG_ERROR1( s, i )
-    #define MUL_LOG_ERROR2( s, i, j )
-    #define MUL_LOG_ERROR3( s, i, j, k )
-    #define MUL_FUNC( s )
-    #define MUL_FUNCL( s )
-    #define MUL_DEBUG1( s )
-    #define MUL_DEBUG2( s, i )
-    #define MUL_DEBUG3( s, i, j )
-    #define MUL_DEBUG4( s, i, j, k )
-    #define MUL_DEBUG5( s, i, j, k, l )
-
-#else
-
-// only include headers if logging is enabled
-#include <e32std.h>
-#include <e32base.h>
-#include "mullogger.h"
-
-
-    /**
-     * Helper macro for defining debug string with filename
-     * Note! this is internal so dont use outside this header
-     */
-    #ifdef __arm__
-        // use the module name instead as its the filename without path
-        #define MUL_DEBUG_STR( cat, str ) __MODULE__ "(%d) : " ##cat " : " ##str
-    #else
-        // put full file paths off for __FILE__ macro to make the log entries shorter
-        #pragma fullpath_file off
-        #define MUL_DEBUG_STR( cat, str ) __FILE__ "(%d) : " ##cat " : " ##str
-    #endif
-
-    /**
-     * Helper macro for defining debug string with filename and linenumber
-     * @param category the category string for the log entry
-     * @param string the string for the log entry
-     * Note! this is internal so dont use outside this header
-     */
-    #define MUL_DEBUG_LINE( category, string ) \
-        TPtrC8((const TText8*) MUL_DEBUG_STR( category, string ) ), __LINE__
-
-    /**
-     * Output to mul logger
-     * Note! this is internal so dont use outside this header
-     */
-    #define MUL_DEBUG_PRINT MulLogger::WriteFormat
-
-    // LOGGING MACROS
-    /**
-     * Logs the entry and exit point of the function
-     * Does not log the filename nor linenumber as inlining does not work
-     * if you want to log the filename and linenumber, 
-     * use MUL_LOG_INFO macros instead
-     * Example usage:
-     * 	MUL_LOG_ENTRY_EXIT( "CFoo::Bar()" );
-     * @param a string to be added to the log
-     */
-    #define MUL_LOG_ENTRY_EXIT( s ) TMulFunctionTrace _tracer( _L8( s ) )
-
-    /**
-     * Logs the entry, exit and possible leave point of the function.
-     * Note! cannot be used in a non leaving function or inside a LC function 
-     * as this macro uses the cleanup stack
-     * Does not log the filename nor linenumber as inlining does not work
-     * if you want to log the filename and linenumber, 
-     * use MUL_LOG_INFO macros instead
-     * Example usage:
-     * 	MUL_LOG_ENTRY_EXIT_LEAVE_L( "CFoo::Bar()" );
-     * @param a string to be added to the log
-     * @deprecated use MUL_LOG_ENTRY_EXIT instead as it also detects leave and does not require cleanupstack to work
-     */
-    #define MUL_LOG_ENTRY_EXIT_LEAVE_L( s ) \
-        TMulFunctionTraceWithLeaveDetection _tracer( _L8( s ) ); \
-        CleanupClosePushL( _tracer )
-
-    /**
-     * Logs a single line of information and the filename and linenumber
-     * Example usage:
-     * 	MUL_LOG_INFO( "CFoo::Bar()" );
-     * @param s, the string to be inserted to the log, plain compile time string, not a descriptor
-     */
-    #define MUL_LOG_INFO( s ) \
-        MUL_DEBUG_PRINT( MUL_DEBUG_LINE( "info", s ) )
-
-    /**
-     * Logs a single line of information with one parameter 
-     * and the filename and linenumber
-      * NOTE! logging is done in 8 bit strings so you cannot format 16 bit descriptor
-      * values.
-     * For the parameter string, use %d for int, %f for float and %S for address of descriptor
-     * Example usage:
-     * 	MUL_LOG_INFO1( "CFoo::Bar(%d)", aInt );
-     * @param s, the string to be inserted to the log, plain compile time string, not a descriptor
-     * @param i, value to be inserted to the string, can be of any type
-     */
-    #define MUL_LOG_INFO1( s, i ) \
-        MUL_DEBUG_PRINT( MUL_DEBUG_LINE( "info", s ), i )
-
-    /**
-     * Logs a single line of information with two parameters
-     * along with the filename and linenumber
-     * For the parameter string, use %d for int, %f for float and %S for address of descriptor
-      * NOTE! logging is done in 8 bit strings so you cannot format 16 bit descriptor
-      * values.
-     * Example usage:
-     * 	MUL_LOG_INFO2( "CFoo::Bar(%d,%f)", aInt, aFloat );
-     * @param s, the string to be inserted to the log, plain compile time string, not a descriptor
-     * @param i, value to be inserted to the string, can be of any type
-     * @param j, value to be inserted to the string, can be of any type
-     */
-    #define MUL_LOG_INFO2( s, i, j ) \
-        MUL_DEBUG_PRINT( MUL_DEBUG_LINE( "info", s ), i, j )
-
-    /**
-     * Logs a single line of information with three parameters
-     * along with the filename and linenumber
-     * For the parameter string, use %d for int, %f for float and %S for address of descriptor
-      * NOTE! logging is done in 8 bit strings so you cannot format 16 bit descriptor
-      * values.
-     * Example usage:
-     * 	MUL_LOG_INFO3( "CFoo::Bar(%d,%S,%f)", aInt, &aDesC, aFloat );
-     * @param s, the string to be inserted to the log, plain compile time string, not a descriptor
-     * @param i, value to be inserted to the string, can be of any type
-     * @param j, value to be inserted to the string, can be of any type
-     * @param k, value to be inserted to the string, can be of any type
-     */
-    #define MUL_LOG_INFO3( s, i, j, k ) \
-        MUL_DEBUG_PRINT( MUL_DEBUG_LINE( "info", s ), i, j, k )
-
-    /**
-     * Logs a single line of information with four parameters
-     * along with the filename and linenumber
-     * For the parameter string, use %d for int, %f for float and %S for address of descriptor
-      * NOTE! logging is done in 8 bit strings so you cannot format 16 bit descriptor
-      * values.
-     * Example usage:
-     * 	MUL_LOG_INFO4( "CFoo::Bar(%d,%f,%S,%s)", aInt, aFloat, "string" );
-     * @param s, the string to be inserted to the log, plain compile time string, not a descriptor
-     * @param i, value to be inserted to the string, can be of any type
-     * @param j, value to be inserted to the string, can be of any type
-     * @param k, value to be inserted to the string, can be of any type
-     * @param l, value to be inserted to the string, can be of any type
-     */
-    #define MUL_LOG_INFO4( s, i, j, k, l ) \
-        MUL_DEBUG_PRINT( MUL_DEBUG_LINE( "info", s ), i, j, k, l )
-
-    /**
-     * Logs a single line of information with five parameters
-     * along with the filename and linenumber
-     * For the parameter string, use %d for int, %f for float and %S for address of descriptor
-      * NOTE! logging is done in 8 bit strings so you cannot format 16 bit descriptor
-      * values.
-     * Example usage:
-     * 	MUL_LOG_INFO5( 
-     *       "CFoo::Bar(%.1f,%.2f,%.3f,%.4f,%.5f)", aFloat1, aFloat2, aFloat3, aFloat4, aFloat5 );
-     * @param s, the string to be inserted to the log, plain compile time string, not a descriptor
-     * @param i, value to be inserted to the string, can be of any type
-     * @param j, value to be inserted to the string, can be of any type
-     * @param k, value to be inserted to the string, can be of any type
-     * @param l, value to be inserted to the string, can be of any type
-     * @param m, value to be inserted to the string, can be of any type
-     */
-    #define MUL_LOG_INFO5( s, i, j, k, l, m ) \
-        MUL_DEBUG_PRINT( MUL_DEBUG_LINE( "info", s ), i, j, k, l, m )
-
-    /**
-     * Logs a single line of warning and the filename and linenumber
-     * Example usage:
-     * 	MUL_LOG_WARNING( "Incorrect state, resetting state" );
-     * @param s, the string to be inserted to the log, plain compile time string, not a descriptor
-     */
-    #define MUL_LOG_WARNING( s ) \
-        MUL_DEBUG_PRINT( MUL_DEBUG_LINE( "warning", s ) )
-
-    /**
-     * Logs a single line of warning with one parameter 
-     * and the filename and linenumber
-     * For the parameter string, use %d for int, %f for float and %S for address of descriptor
-      * NOTE! logging is done in 8 bit strings so you cannot format 16 bit descriptor
-      * values.
-     * Example usage:
-     *  MUL_LOG_WARNING1( "Incorrect parameter %d", aInt );
-     * @param s, the string to be inserted to the log, plain compile time string, not a descriptor
-     * @param i, value to be inserted to the string, can be of any type
-     */
-    #define MUL_LOG_WARNING1( s, i ) \
-        MUL_DEBUG_PRINT( MUL_DEBUG_LINE( "warning", s ), i )
-
-    /**
-     * Logs a single line of warning with two parameters
-     * along with the filename and linenumber
-     * For the parameter string, use %d for int, %f for float and %S for address of descriptor
-      * NOTE! logging is done in 8 bit strings so you cannot format 16 bit descriptor
-      * values.
-     * Example usage:
-     *  MUL_LOG_WARNING2( "Incorrect parameter %f, defaulting to %f", aInputFloat, KDefaultFloat );
-     * @param s, the string to be inserted to the log, plain compile time string, not a descriptor
-     * @param i, value to be inserted to the string, can be of any type
-     * @param j, value to be inserted to the string, can be of any type
-     */
-    #define MUL_LOG_WARNING2( s, i, j ) \
-        MUL_DEBUG_PRINT( MUL_DEBUG_LINE( "warning", s ), i , j )
-
-    /**
-     * Logs a single line of warning with three parameters
-     * along with the filename and linenumber
-     * For the parameter string, use %d for int, %f for float and %S for address of descriptor
-      * NOTE! logging is done in 8 bit strings so you cannot format 16 bit descriptor
-      * values.
-     * Example usage:
-     *  MUL_LOG_WARNING3( "Incorrect size (%d,%d), scale is %f", aWidth, aHeight, aScale );
-     * @param s, the string to be inserted to the log, plain compile time string, not a descriptor
-     * @param i, value to be inserted to the string, can be of any type
-     * @param j, value to be inserted to the string, can be of any type
-     * @param k, value to be inserted to the string, can be of any type
-     */
-    #define MUL_LOG_WARNING3( s, i, j, k ) \
-        MUL_DEBUG_PRINT( MUL_DEBUG_LINE( "warning", s ), i, j, k )
-
-    /**
-     * Logs a single line of error and the filename and linenumber.
-     * Use this macro to track your asserts and panics so you can see them in the log and 
-     * have a trace to come back to later on.
-      * NOTE! logging is done in 8 bit strings so you cannot format 16 bit descriptor
-      * values.
-     * Example usage:
-     *  MUL_LOG_ERROR( "Incorrect state, going to panic" );
-     * @param s, the string to be inserted to the log, plain compile time string, not a descriptor
-     */
-    #define MUL_LOG_ERROR( s ) MUL_DEBUG_PRINT( MUL_DEBUG_LINE( "error", s ) )
-
-    /**
-     * Logs a single line of error with one parameter and the filename and linenumber
-     * Use this macro to track your asserts and panics so you can see them in the log and 
-     * have a trace to come back to later on.
-     * For the parameter string, use %d for int, %f for float and %S for address of descriptor
-      * NOTE! logging is done in 8 bit strings so you cannot format 16 bit descriptor
-      * values.
-     * Example usage:
-     *  MUL_LOG_ERROR1( "Incorrect parameter %d, panicing", aInt );
-     * @param s, the string to be inserted to the log, plain compile time string, not a descriptor
-     * @param i, value to be inserted to the string, can be of any type
-     */
-    #define MUL_LOG_ERROR1( s, i ) \
-        MUL_DEBUG_PRINT( MUL_DEBUG_LINE( "error", s ), i )
-
-    /**
-     * Logs a single line of error with one parameter and the filename and linenumber
-     * Use this macro to track your asserts and panics so you can see them in the log and 
-     * have a trace to come back to later on.
-     * For the parameter string, use %d for int, %f for float and %S for address of descriptor
-      * NOTE! logging is done in 8 bit strings so you cannot format 16 bit descriptor
-      * values.
-     * Example usage:
-     *  MUL_LOG_ERROR2( "Incorrect size (%d,%d), panicking", aWidth, aHeight );
-     * @param s, the string to be inserted to the log, plain compile time string, not a descriptor
-     * @param i, value to be inserted to the string, can be of any type
-     * @param j, value to be inserted to the string, can be of any type
-     */
-    #define MUL_LOG_ERROR2( s, i, j ) \
-        MUL_DEBUG_PRINT( MUL_DEBUG_LINE( "error", s ), i, j )
-
-    /**
-     * Logs a single line of error with one parameter and the filename and linenumber
-     * Use this macro to track your asserts and panics so you can see them in the log and 
-     * have a trace to come back to later on.
-     * For the parameter string, use %d for int, %f for float and %S for address of descriptor
-      * NOTE! logging is done in 8 bit strings so you cannot format 16 bit descriptor
-      * values.
-     * Example usage:
-     *  MUL_LOG_ERROR3( "Incorrect state %d,%d,%f, panicking", aInt, aInt2, aFloat );
-     * @param s, the string to be inserted to the log, plain compile time string, not a descriptor
-     * @param i, value to be inserted to the string, can be of any type
-     * @param j, value to be inserted to the string, can be of any type
-     * @param k, value to be inserted to the string, can be of any type
-     */
-    #define MUL_LOG_ERROR3( s, i, j, k ) \
-        MUL_DEBUG_PRINT( MUL_DEBUG_LINE( "error", s ), i, j, k )
-
-    // Old macros for compatibility 
-    ///@deprecated, use MUL_LOG_ENTRY_EXIT instead
-    #define MUL_FUNC( s ) MUL_LOG_ENTRY_EXIT( s )
-    ///@deprecated, use MUL_LOG_ENTRY_EXIT_LEAVE_L instead
-    #define MUL_FUNCL( s )	MUL_LOG_ENTRY_EXIT_LEAVE_L( s )
-    ///@deprecated, use MUL_LOG_INFO instead
-    #define MUL_DEBUG1( s ) MUL_LOG_INFO( s )
-    ///@deprecated, use MUL_LOG_INFO1 instead
-    #define MUL_DEBUG2( s, i ) MUL_LOG_INFO1( s, i )
-    ///@deprecated, use MUL_LOG_INFO2 instead
-    #define MUL_DEBUG3( s, i, j ) MUL_LOG_INFO2( s, i, j )
-    ///@deprecated, use MUL_LOG_INFO3 instead
-    #define MUL_DEBUG4( s, i, j, k ) MUL_LOG_INFO3( s, i, j, k )
-    ///@deprecated, use MUL_LOG_INFO4 instead
-    #define MUL_DEBUG5( s, i, j, k, l ) MUL_LOG_INFO4( s, i, j, k, l )
-
-    /**
-     * TRAP instrumentation for Leave
-     */
-    #undef TRAP_INSTRUMENTATION_LEAVE
-    #define TRAP_INSTRUMENTATION_LEAVE( aResult ) \
-        MUL_LOG_INFO1( "Leave %d TRAPPED", aResult )
-
-    /**
-     * Helper class to track function entry and exit.
-     */
-    class TMulFunctionTrace
-        {
-        public:
-            inline TMulFunctionTrace( TRefByValue< const TDesC8 > aName )
-                : iStr( aName )
-                {
-                // not using MUL_DEBUG2 as this function does not inline
-                MUL_DEBUG_PRINT( _L8( "Entry : %S" ), &iStr );
-                }
-            inline ~TMulFunctionTrace()
-                {
-                if( std::uncaught_exception() )
-                    {
-                    // not using MUL_DEBUG2 as this function does not inline
-                    MUL_DEBUG_PRINT( _L8( "Leave: %S" ), &iStr );
-                    }
-                else
-                    {
-                    // not using MUL_DEBUG2 as this function does not inline
-                    MUL_DEBUG_PRINT( _L8( "Exit : %S" ), &iStr );
-                    }
-                }
-        private:
-            TPtrC8 iStr;
-        };
-
-    /**
-     * Helper class to track function entry, exit and possible leave.
-     * Never instantiate this class by itself.
-     * Only ever user the macro MUL_FUNCL as this calls CleanupClosePushL
-     * If you don't use the macro the destructor will panic in CleanupStack::Pop( this )
-     * DO NOT use this in a LC method such as NewLC. 
-     * Cleanup stack will be popped in the wrong order causing unwanted behaviour
-     */
-    class TMulFunctionTraceWithLeaveDetection
-        {
-        public:
-            inline TMulFunctionTraceWithLeaveDetection( TRefByValue<const TDesC8> aName )
-                : iStr( aName ), iLeave( EFalse )
-                {
-                // not using MUL_DEBUG2 as this function does not inline
-                MUL_DEBUG_PRINT( _L8( "Entry : %S" ), &iStr );
-                }
-            inline ~TMulFunctionTraceWithLeaveDetection()
-                {
-                // Did we leave
-                if( iLeave )                         
-                    {
-                    // not using MUL_DEBUG2 as this function does not inline
-                    MUL_DEBUG_PRINT( _L8( "Leave : %S" ), &iStr );
-                    }
-                else
-                    {
-                    // not using MUL_DEBUG2 as this function does not inline
-                    MUL_DEBUG_PRINT( _L8( "Exit : %S" ), &iStr );
-                    // Remove this from Cleanup. 
-                    CleanupStack::Pop( this );
-                    }
-                }
-            void Close() // This is only called if a leave happens.
-                {
-                iLeave = ETrue;
-                }
-        private:
-            TPtrC8 iStr;
-            TBool iLeave;
-        };
-
-#endif  // MULLOG_H
-
-#endif  // 
-// End of File
--- a/mulwidgets/mullogging/inc/mullogchunk.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-/*
-* Copyright (c) 2006-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:  Logging to chunk wrapper for MC Photos
-*
-*/
-
-
-#ifndef T_MULLOGCHUNK_H
-#define T_MULLOGCHUNK_H
-
-// EXTERNAL INCLUDES
-#include <e32std.h>
-#include <f32file.h>
-
-/**
- * RMulLogUtility.
- * Encapsulates the use of RChunk for log writing
- */
-NONSHARABLE_CLASS( RMulLogUtility )
-    {
-    public:
-        /**
-         * Opens the log chunk with given name
-         * @param aName, the full name of the chunk
-         * @param aReadOnly, whether to open in readonly or read-write
-         */
-        TInt Open( const TDesC& aName, TBool aReadOnly );
-
-        /**
-         * Creates the log chunk with given name
-         * @param aName, the full name of the chunk
-         */
-        void CreateL( const TDesC& aName );
-
-        /**
-         * Closes the opened chunk. This needs to be called
-         * before an object of this class goes out of scope
-         */
-        void Close();
-        
-        /**
-         * @return the size of the log chunk
-         */
-        TInt ChunkSize();
-        
-        /**
-         * @return the chunk unique Id (set by client)
-         */
-        TObjectId Id();
-
-        /**
-         * Sets the unique id for the log chunk
-         * @param aId the id to set for the chunk
-         */
-        void SetId( TObjectId aId );
-        
-        /**
-         * @return Current chunk write address
-         */
-        TUint8* CurrentAddress();
-
-        /**
-         * Sets the current write address
-         * @param New write address
-         */
-        void SetCurrentAddress( TUint8* aValue );
-
-        /**
-         * @return Last address written to file
-         */
-        TUint8* LastLoggedAddress();
-
-        /**
-         * Sets the last logged address
-         * @param New last logged address
-         */
-        void SetLastLoggedAddress( TUint8* aValue );
-
-        /**
-         * @return The topmost writable address of the chunk
-         */
-        TUint8* BaseAddress();
-
-        /**
-         * @return The bottom most writable address of the chunk
-         */
-        TUint8* LastAddress();
-
-    private:
-
-        /// Own: chunk to write to
-        RChunk iChunk;
-    };
-
-/**
- * RMulLogClient.
- * Client API for log writing to chunk
- */
-NONSHARABLE_CLASS( RMulLogClient )
-    {
-    public:
-
-		/**
-		 * Opens the log chunk with the given unique id
-		 * @param aId unique id for the log writing thread
-		 */
-        IMPORT_C TInt Open( TObjectId aId );
-        
-        /**
-         * Closes the log handle, needs to be called before an
-         * object of this class goes out of scope
-         */
-        IMPORT_C void Close();
-
-        /**
-         * Writes a descriptor to the log
-         * @param aLogEntry the log entry to write
-         */
-        IMPORT_C void Write( const TDesC8& aLogEntry );
-
-    private:
-
-    	/// Own: log utility
-        RMulLogUtility iLogUtility;
-
-    };
-    
-/**
- * RMulLogManager.
- * Management API for log creation and committing to file
- */
-NONSHARABLE_CLASS( RMulLogManager )
-    {
-    public:
-
-        /**
-         * Creates the log chunks
-         */
-        IMPORT_C void CreateL();
-        
-        /**
-         * Releases the log chunks
-         */
-		IMPORT_C void Release();
- 
-        /**
-         * Writes the log to a file
-         * One file is created per chunk.
-         * @param aFolder the directory where to store the logs
-         */
-        IMPORT_C void CommitToFileL( const TDesC& aFolder );
-        
-    private:
-
-		// helper method to write all descriptors of a chunk to a 
-		// file
-        void CommitToFileL( RMulLogUtility& aUtility, RFile& aFile );
-        
-    private:
- 
-    	/// Own: log utility
-        RMulLogUtility iLogUtility1;
-    	/// Own: log utility
-        RMulLogUtility iLogUtility2;    
-        /// Own: file server handle
-        RFs iFs;
-
-    };
-
-#endif // T_MULLOGCHUNK_H
-    
- 
\ No newline at end of file
--- a/mulwidgets/mullogging/inc/mullogger.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2006-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:  Logging utility for MUL
-*
-*/
-
-
-#ifndef T_MULLOGGER_H
-#define T_MULLOGGER_H
-
-// CLASS HEADER
-#include "mullogger.h"
-
-// EXTERNAL INCLUDES
-#include <e32std.h>
-
-namespace MulLogger
-    {
-    /**
-     * Logging utility, writes the given log to a shared chunk if the chunk
-     * exists or to RDebug if not.
-     * Note! due to performance reasons only 8 bit descriptor allowed
-     * @param The descriptor containing the format string. 
-     * @param The arguments to append to the format string (ellipsis notation)
-     */
-    IMPORT_C void WriteFormat( TRefByValue<const TDesC8> aFmt, ... );
-    }
-
-#endif // T_MULLOGGER_H
--- a/mulwidgets/mullogging/src/mullogchunk.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,451 +0,0 @@
-/*
-* Copyright (c) 2006-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:  Logging to chunk wrappe for Mul
-*
-*/
-
-
-// CLASS HEADER
-#include "mullogchunk.h"
-
-// EXTERNAL INCLUDES
-#include <e32svr.h>
-
-// LOCAL DECLARATIONS
-namespace
-	{
-	// size for the chunks
-	const TInt KLogChunkSize = 1000000; // 1 million bytes
-	// name for chunk 1
-	_LIT( KLogChunk1Name, "MUL_Logchunk1" );
-	// name for chunk 2
-	_LIT( KLogChunk2Name, "MUL_Logchunk2" );
-	// extension for log file
-	_LIT( KLogFileExtension, ".log" );
-	// carriage return / line feed
-	_LIT8( KLogCR, "\r" );
-	_LIT8( KLogLF, "\n" );
-	// constant for machine word alignment
-	const TInt KBytesInAWord = sizeof( TInt32 );
-	}
-	
-inline void Panic(TInt aReason)
-    {
-	_LIT(applicationName,"Mul Logging");
-    User::Panic(applicationName, aReason);
-    }
-
-// -----------------------------------------------------------------------------
-// RMulLogUtility::Open
-// -----------------------------------------------------------------------------
-TInt RMulLogUtility::Open( const TDesC& aName, TBool aReadOnly )
-	{
-	// open the chunk
-	return iChunk.OpenGlobal( aName, aReadOnly );
-	}
-
-// -----------------------------------------------------------------------------
-// RMulLogUtility::CreateL
-// -----------------------------------------------------------------------------
-void RMulLogUtility::CreateL( const TDesC& aName )
-    {
-	// create the chunk, leave if error
-	TInt error = iChunk.CreateGlobal( aName, KLogChunkSize, KLogChunkSize  );
-	// dont treate already exists as an error
-	if( KErrAlreadyExists == error )
-		{
-		// open in read-write
-		User::LeaveIfError( iChunk.OpenGlobal( aName, EFalse ) );
-		}
-	else
-		{
-		User::LeaveIfError( error );
-		}
-
-    // initialise the iChunk to all zeros.
-    Mem::FillZ( iChunk.Base(), iChunk.Size() );
-    // initialise current address to base
-    SetCurrentAddress( BaseAddress() );
-    // initialise last logged address to base
-    SetLastLoggedAddress( BaseAddress() );
-    }
-
-// -----------------------------------------------------------------------------
-// RMulLogUtility::Close
-// -----------------------------------------------------------------------------
-void RMulLogUtility::Close()
-	{
-	iChunk.Close();
-	}
-
-// -----------------------------------------------------------------------------
-// RMulLogUtility::ChunkSize
-// -----------------------------------------------------------------------------
-TInt RMulLogUtility::ChunkSize()
-	{
-	return iChunk.Size();
-	}
-    
-// -----------------------------------------------------------------------------
-// RMulLogUtility::Id
-// -----------------------------------------------------------------------------
-TObjectId RMulLogUtility::Id()
-	{
-	// take chunk base address
-	TUint8* ptr_in_chunk = iChunk.Base();
-	// cast that to TObjectId*
-	TObjectId* ptr_as_tobjectid = reinterpret_cast< TObjectId* >( ptr_in_chunk );
-	// return the id
-	return *ptr_as_tobjectid;
-	}
-
-// -----------------------------------------------------------------------------
-// RMulLogUtility::SetId
-// -----------------------------------------------------------------------------
-void RMulLogUtility::SetId( TObjectId aId )
-	{
-	// take chunk base address
-	TUint8* ptr_in_chunk = iChunk.Base();
-	// cast that to TObjectId*
-	TObjectId* ptr_as_tobjectid = reinterpret_cast< TObjectId* >( ptr_in_chunk );
-	// assign the id in place
-	*ptr_as_tobjectid = aId;
-	}
-
-// -----------------------------------------------------------------------------
-// RMulLogUtility::CurrentAddress
-// -----------------------------------------------------------------------------
-TUint8* RMulLogUtility::CurrentAddress()
-	{
-	// take chunk base address plus object id
-	TUint8* ptr_in_chunk = iChunk.Base() + sizeof( TObjectId );
-	// cast that to TInt*
-	TUint32* ptr_as_tint = reinterpret_cast< TUint32* >( ptr_in_chunk );
-	// dereference that pointer to read the 32 bits that are the address
-	TUint32 value_of_pointer = *ptr_as_tint;
-	// then return the value as TUint8*
-	return reinterpret_cast< TUint8* >( value_of_pointer );
-	}
-
-// -----------------------------------------------------------------------------
-// RMulLogUtility::SetCurrentAddress
-// -----------------------------------------------------------------------------
-void RMulLogUtility::SetCurrentAddress( TUint8* aValue )
-	{
-	// take chunk base address plus object id
-	TUint8* ptr_in_chunk = iChunk.Base() + sizeof( TObjectId );
-	// cast that to TInt*
-	TUint32* ptr_as_tint = reinterpret_cast< TUint32* >( ptr_in_chunk );
-	// assign the addres to TInt
-	TUint32 new_value = reinterpret_cast< TUint32 >( aValue );
-	// ensure we're byte aligned - ARM requires 32 bit alignment to machine word
-	// boundary!!
-	TInt remainder = new_value % KBytesInAWord;
-	if ( remainder > 0 )
-	    {
-	    new_value += ( KBytesInAWord - remainder );
-	    }
-	// set the new value to the chunk
-	*ptr_as_tint = new_value;
-	}
-
-// -----------------------------------------------------------------------------
-// RMulLogUtility::LastLoggedAddress
-// -----------------------------------------------------------------------------
-TUint8* RMulLogUtility::LastLoggedAddress()
-	{
-	// take chunk base address plus object id plus one pointer
-	TUint8* ptr_in_chunk = 
-		iChunk.Base() + sizeof( TObjectId ) + sizeof( TUint8* );
-	// cast that to TInt*
-	TUint32* ptr_as_tint = reinterpret_cast< TUint32* >( ptr_in_chunk );
-	// dereference that pointer to read the 32 bits that are the address
-	TUint32 value_of_pointer = *ptr_as_tint;
-	// then return the value as TUint8*
-	return reinterpret_cast< TUint8* >( value_of_pointer );
-	}
-
-// -----------------------------------------------------------------------------
-// RMulLogUtility::SetLastLoggedAddress
-// -----------------------------------------------------------------------------
-void RMulLogUtility::SetLastLoggedAddress( TUint8* aValue )
-	{
-	// take chunk base address plus object id plus one pointer
-	TUint8* ptr_in_chunk = 
-		iChunk.Base() + sizeof( TObjectId ) + sizeof( TUint8* );
-	// cast that to TInt*
-	TUint32* ptr_as_tint = reinterpret_cast< TUint32* >( ptr_in_chunk );
-	// assign the addres to TInt
-	TUint32 new_value = reinterpret_cast< TUint32 >( aValue );
-	// ensure we're byte aligned - ARM requires 32 bit alignment to machine word
-	// boundary!!
-    TInt remainder = new_value % KBytesInAWord;
-	if ( remainder > 0 )
-	    {
-	    new_value += ( KBytesInAWord - remainder );
-	    }	
-	// set the new value to the chunk
-	*ptr_as_tint = new_value;
-	}
-
-// -----------------------------------------------------------------------------
-// RMulLogUtility::BaseAddress
-// -----------------------------------------------------------------------------
-TUint8* RMulLogUtility::BaseAddress()
-	{
-	// take chunks base address
-	TUint8* base = iChunk.Base();
-	// calculate the topmost write address, our header is 
-	// TObjectId and two TUint8*
-	return base + sizeof( TObjectId ) + sizeof( TUint8* ) * 2;
-	}
-
-// -----------------------------------------------------------------------------
-// RMulLogUtility::LastAddress
-// -----------------------------------------------------------------------------
-TUint8* RMulLogUtility::LastAddress()
-	{
-	// return chunks base address plus its size
-	return iChunk.Base() + iChunk.Size();
-	}
-
-// -----------------------------------------------------------------------------
-// RMulLogClient::Open
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RMulLogClient::Open( TObjectId aId )
-    {
-    // try to open first log chunk, in read-write mode
-    TInt err = iLogUtility.Open( KLogChunk1Name(), EFalse );
-    if ( err != KErrNone )
-        {
-        return err;
-        }
-    // check id
-    TObjectId id = iLogUtility.Id();
-    if ( id  == TObjectId( 0 ) )
-        {
-        // no id set, so reserve this for us and use this chunk
-        iLogUtility.SetId( aId );
-        }
-    // check if our id was there?
-    else if( id != aId )
-        {
-        // not our chunk, try second chunk in read-write mode
-        err = iLogUtility.Open( KLogChunk2Name(), EFalse );
-        if ( err != KErrNone )
-            {
-            return err;
-            }
-        // check id
-        id = iLogUtility.Id();
-        if ( id  == TObjectId( 0 ) )
-            {
-            // no id, reserve this for us and use this chunk
-            iLogUtility.SetId( aId );
-            }
-        else if ( id != aId )
-            {
-            // both chunks already reserved, return error
-            return KErrNotFound;
-            }
-       	}
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// RMulLogClient::Close
-// -----------------------------------------------------------------------------
-EXPORT_C void RMulLogClient::Close()
-	{
-    iLogUtility.Close();
-	}
-
-// -----------------------------------------------------------------------------
-// RMulLogClient::Write
-// -----------------------------------------------------------------------------
-EXPORT_C void RMulLogClient::Write( const TDesC8& aLogEntry )
-    {
-    // get the size of log entry (in bytes)
-    TInt num_bytes = aLogEntry.Size();
-    // take current address and chunk size to ensure log entry fits
-    TUint8* current_address = iLogUtility.CurrentAddress();
-    // calculate the new current address, we write the size and the data
-    TUint8* after_write = current_address + num_bytes + sizeof( TInt );
-    // chck that we fit
-    if( after_write >= iLogUtility.LastAddress() )
-    	{
-    	// we dont fit in the end
-    	// need to mark the old current_address so that
-    	// manager knows we jumped to the start
-	    TInt* last_indicator_ptr = 
-	    	reinterpret_cast< TInt* >( current_address );
-	   	// assign KErrNotFound there
-		*last_indicator_ptr = KErrNotFound;
-    	// write this entry to the base address
-    	current_address = iLogUtility.BaseAddress();
-    	}
-    // we need to store the size in the chunk first so take a TInt*
-    TInt* size_ptr = reinterpret_cast< TInt* >( current_address );
-    // assign new value in place
-    *size_ptr = num_bytes;
-    // increase address
-    current_address += sizeof( TInt );
-    // copy the data, first target, then source and last number of bytes
-    Mem::Copy( current_address, aLogEntry.Ptr(), num_bytes );
-    // and set the new current address
-    iLogUtility.SetCurrentAddress( current_address + num_bytes );
-    }
-
-// -----------------------------------------------------------------------------
-// RMulLogManager::CreateL
-// -----------------------------------------------------------------------------
-EXPORT_C void RMulLogManager::CreateL()
-    {
-    // connect to the file server
-    User::LeaveIfError( iFs.Connect() );
-    
-    // create two log chunks
-    iLogUtility1.CreateL( KLogChunk1Name );
-    iLogUtility2.CreateL( KLogChunk2Name );
-    }
-
-// -----------------------------------------------------------------------------
-// RMulLogManager::Release
-// -----------------------------------------------------------------------------
-EXPORT_C void RMulLogManager::Release()
-    {
-    // close file server handle
-    iFs.Close();
-    
-    // release both log chunks
-    iLogUtility1.Close();
-    iLogUtility2.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// RMulLogManager::CommitToFileL
-// -----------------------------------------------------------------------------
-EXPORT_C void RMulLogManager::CommitToFileL( const TDesC& aFolder )
-	{
-	// open the file
-	RFile file;
-	CleanupClosePushL( file );
-	
-	// chunk1
-	// create the file name
-	TFileName fileName;
-	fileName = aFolder;
-	fileName.Append( KLogChunk1Name );
-	fileName.Append( KLogFileExtension );
-	// try to open the file	
-	TInt err = file.Open( iFs, fileName, EFileWrite );
-	if ( err == KErrNotFound )
-	    {
-	    // file doesn't exist so create it
-	    err = file.Create( iFs, fileName, EFileWrite );
-	    }
-	User::LeaveIfError( err );
-	// write the first chunk to file
-	CommitToFileL( iLogUtility1, file );
-	// close the file
-	file.Close();
-	
-	// chunk2
-	// reset the file name
-	fileName.Zero();
-	// create the file name
-	fileName = aFolder;
-	fileName.Append( KLogChunk2Name );
-	fileName.Append( KLogFileExtension );
-	// try to open the file
-	err = file.Open( iFs, fileName, EFileWrite );
-	if ( err == KErrNotFound )
-	    {
-	    // file doesn't exist so create it
-	    err = file.Create( iFs, fileName, EFileWrite );
-	    }
-	User::LeaveIfError( err );
-	// write the second chunk to file
-	CommitToFileL( iLogUtility2, file );
-
-	CleanupStack::PopAndDestroy( &file );
-	}
-
-// -----------------------------------------------------------------------------
-// RMulLogManager::CommitToFileL
-// -----------------------------------------------------------------------------    
-void RMulLogManager::CommitToFileL( RMulLogUtility& aUtility, RFile& aFile )
-    {
-    // Need to explicitly move to the end of the file as it's not done
-    // automatically on call to Write
-    TInt pos = 0;
-    TInt err = aFile.Seek( ESeekEnd, pos );
-    User::LeaveIfError( err );
-    TPtr8 logEntryPtr( 0, 0 );
-    TInt logEntrySize = 0;
-    
-    // what's previously been logged to the file?
-    TUint8* lastLoggedAddress = aUtility.LastLoggedAddress();
-    
-    // how much more has been added to the chunk?
-    TUint8* currentAddress = aUtility.CurrentAddress();
-    
-    // write each of the chunk's logged entries to the file 
-    TInt32* sizePtr = NULL;
-    while ( currentAddress != lastLoggedAddress && err == KErrNone )
-        {
-        // get the logEntry's size
-        sizePtr = reinterpret_cast< TInt32* >( lastLoggedAddress );
-        logEntrySize = *sizePtr;
-        if ( logEntrySize == KErrNotFound )
-            {
-            // logged entries have wrapped around the end of the chunk
-            // so start from the beginning
-            lastLoggedAddress = aUtility.BaseAddress();
-            sizePtr = reinterpret_cast< TInt32* >( lastLoggedAddress );
-            logEntrySize = *sizePtr;
-            }
-        // set an error - this will be reset to KErrNone if we succeed
-        // with finding and writing a log entry
-        err = KErrNotFound;
-        if ( logEntrySize > 0 )
-            {
-            // move the current address to the data
-            lastLoggedAddress += sizeof( TInt32 );
-            // extract the log entry's data 
-            logEntryPtr.Set( lastLoggedAddress, logEntrySize, logEntrySize );
-            // write the log entry to the file
-            err = aFile.Write( logEntryPtr );
-            // append carriage return and line feed to the entry
-            err = aFile.Write( KLogCR );
-            err = aFile.Write( KLogLF );
-            // ensure we align to a multiple of a 4-byte boundary
-            TInt remainder = logEntrySize % KBytesInAWord;
-            if ( remainder > 0 )
-                {
-                // not aligned so add some padding
-                logEntrySize += ( KBytesInAWord - remainder );
-                }
- 
-            // update the last logged address
-            lastLoggedAddress += logEntrySize;
-            }
-        }
-    // update the last logged address
-    aUtility.SetLastLoggedAddress( lastLoggedAddress );
-	// 
-	// commit the data
-	err = aFile.Flush();
-	User::LeaveIfError( err );
-    }
--- a/mulwidgets/mullogging/src/mullogger.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 2006-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:  Logging utility for MC Photos
-*
-*/
-
-
-// CLASS HEADER
-#include "mullogger.h"
-
-// EXTERNAL INCLUDES
-#include <e32debug.h>
-//#include <flogger.h>
-
-// INTERNAL INCLUDES
-//#include "mullogchunk.h"
-
-namespace MulLogger
-    {
-    /// constants
-    const TInt KMaxLoggingBufferLength = 256;
-
-
-/**
- * TDes overflow handler
- * Default overflow handler panics and we dont want to do 
- * that in logging so need to implement our own handler.
- */ 
-class TDes8OverFlowHandler : public TDes8Overflow
-    {
-    public: // from TDes8Overflow
-        /// @ref TDes8Overflow::Overflow
-        void Overflow( TDes8& /*aDes*/ )
-            {
-            // do nothing, we cant allocate so just eat the error
-            }
-    };
-
-// -----------------------------------------------------------------------------
-// MulLogger::WriteFormat
-// -----------------------------------------------------------------------------
-EXPORT_C void WriteFormat( TRefByValue< const TDesC8 > aFmt, ... )
-    {
-    /// writeable buffer, in emulator this is in stack
-    TBuf8< KMaxLoggingBufferLength > gWriteBuffer;
-    // take the ellipsis parameter
-    VA_LIST args;
-    VA_START( args, aFmt );
-    // create overflow handler
-    TDes8OverFlowHandler overflowhandler;
-    // clear old data by setting length to zero
-    gWriteBuffer.SetLength( 0 );
-    // append the parameters to the descriptor
-    gWriteBuffer.AppendFormatList( aFmt, args, &overflowhandler );
-    // end the ellipsis handling
-    VA_END( args );
-    
-    TBuf16<256> buffer;
-    buffer.Copy(gWriteBuffer);
-    RDebug::Print(_L("MUL:-%S"),&buffer);
-    
-    } // namespace
-    
-} // namespace
--- a/mulwidgets/mulsliderwidget/data/mui_cover_handle.svg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="100%" viewBox="0 0 56 47" width="100%">
-<g>
-<g>
-<linearGradient gradientUnits="userSpaceOnUse" id="XMLID_3_" x1="28.0522" x2="28.0522" y1="1.0229" y2="45.8506">
-<stop offset="0" style="stop-color:#FFFFFF"/>
-<stop offset="0.4438" style="stop-color:#FFFFFF"/>
-<stop offset="0.5288" style="stop-color:#FBFBFB"/>
-<stop offset="0.6216" style="stop-color:#EDEEEE"/>
-<stop offset="0.718" style="stop-color:#D8D8D8"/>
-<stop offset="0.8171" style="stop-color:#B9BABA"/>
-<stop offset="0.917" style="stop-color:#929393"/>
-<stop offset="1" style="stop-color:#6C6D6D"/>
-</linearGradient>
-<path d="M49.062,1.023H7.043c-3.484,0-6.313,2.889-6.313,6.448v31.93      c0,3.562,2.828,6.449,6.313,6.449h42.018c3.484,0,6.313-2.888,6.313-6.449V7.471C55.374,3.912,52.546,1.023,49.062,1.023z       M49.22,35.814c0,2.796-2.22,5.064-4.956,5.064H11.271c-2.736,0-4.957-2.269-4.957-5.064V10.743c0-2.796,2.22-5.063,4.957-5.063      h32.993c2.736,0,4.956,2.268,4.956,5.063V35.814z" fill="url(#XMLID_3_)" stroke="#000000"/>
-<rect fill="none" height="47" width="56"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="XMLID_4_" x1="27.7915" x2="27.7915" y1="40.4839" y2="6.0732">
-<stop offset="0" style="stop-color:#000000"/>
-<stop offset="0.0884" style="stop-color:#1E1F1F"/>
-<stop offset="0.2062" style="stop-color:#404040"/>
-<stop offset="0.3182" style="stop-color:#585959"/>
-<stop offset="0.4209" style="stop-color:#676868"/>
-<stop offset="0.5056" style="stop-color:#6C6D6D"/>
-<stop offset="0.5911" style="stop-color:#676868"/>
-<stop offset="0.6896" style="stop-color:#595A5A"/>
-<stop offset="0.7944" style="stop-color:#434343"/>
-<stop offset="0.9029" style="stop-color:#232323"/>
-<stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<path d="M48.771,35.787c0,2.734-2.172,4.697-4.848,4.697H11.658c-2.676,0-4.847-1.963-4.847-4.697V10.728      c0-2.734,2.171-4.655,4.847-4.655h32.499c2.676,0,4.615,1.973,4.615,4.707V35.787z" fill="url(#XMLID_4_)"/>
-</g>
-</g>
-</svg>
--- a/mulwidgets/mulsliderwidget/data/mui_dl_progress_lsc.svg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="100%" version="1.1" viewBox="0 0 12 12" width="100%" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<g>
-<linearGradient gradientTransform="matrix(0 1 1 0 318.2246 -318.2256)" gradientUnits="userSpaceOnUse" id="XMLID_4_" x1="330.5391" x2="315.4766" y1="-312.2241" y2="-312.2241">
-<stop offset="0" style="stop-color:#333333"/>
-<stop offset="1" style="stop-color:#333333"/>
-</linearGradient>
-<rect fill="url(#XMLID_4_)" height="0.75" width="12" y="0"/>
-<linearGradient gradientTransform="matrix(0 1 1 0 318.2246 -318.2256)" gradientUnits="userSpaceOnUse" id="XMLID_5_" x1="330.5381" x2="315.4756" y1="-312.2241" y2="-312.2241">
-<stop offset="0" style="stop-color:#333333"/>
-<stop offset="1" style="stop-color:#333333"/>
-</linearGradient>
-<rect fill="url(#XMLID_5_)" height="0.746" width="12" y="11.254"/>
-<linearGradient gradientTransform="matrix(0 1 1 0 318.2246 -318.2256)" gradientUnits="userSpaceOnUse" id="XMLID_6_" x1="320.9756" x2="327.4795" y1="-312.2246" y2="-312.2246">
-<stop offset="0" style="stop-color:#00FF00"/>
-<stop offset="0.2198" style="stop-color:#01EA0C"/>
-<stop offset="0.4176" style="stop-color:#01C91E"/>
-<stop offset="0.5945" style="stop-color:#02AF2C"/>
-<stop offset="0.7211" style="stop-color:#039D36"/>
-<stop offset="0.8533" style="stop-color:#03923C"/>
-<stop offset="1" style="stop-color:#038E3E"/>
-</linearGradient>
-<rect fill="url(#XMLID_6_)" fill-opacity="1.0" height="10.504" stroke-opacity="1" width="12" y="0.75"/>
-</g>
-<rect fill="none" height="12" width="12"/>
-</g>
-</svg>
Binary file mulwidgets/mulsliderwidget/data/mui_handle.png has changed
--- a/mulwidgets/mulsliderwidget/data/mui_slider_lsc.svg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="100%" version="1.1" viewBox="0 0 12 12" width="100%" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<g>
-<linearGradient gradientTransform="matrix(0 1 1 0 318.2246 -318.2256)" gradientUnits="userSpaceOnUse" id="XMLID_4_" x1="330.5391" x2="315.4766" y1="-312.2241" y2="-312.2241">
-<stop offset="0" style="stop-color:#333333"/>
-<stop offset="1" style="stop-color:#333333"/>
-</linearGradient>
-<rect fill="url(#XMLID_4_)" height="0.75" width="12" y="0"/>
-<linearGradient gradientTransform="matrix(0 1 1 0 318.2246 -318.2256)" gradientUnits="userSpaceOnUse" id="XMLID_5_" x1="330.5381" x2="315.4756" y1="-312.2241" y2="-312.2241">
-<stop offset="0" style="stop-color:#333333"/>
-<stop offset="1" style="stop-color:#333333"/>
-</linearGradient>
-<rect fill="url(#XMLID_5_)" height="0.746" width="12" y="11.254"/>
-<linearGradient gradientTransform="matrix(0 1 1 0 318.2246 -318.2256)" gradientUnits="userSpaceOnUse" id="XMLID_6_" x1="320.9756" x2="327.4795" y1="-312.2246" y2="-312.2246">
-<stop offset="0" style="stop-color:#E6E6E6"/>
-<stop offset="0.0841" style="stop-color:#D5D5D5"/>
-<stop offset="0.3977" style="stop-color:#9B9B9B"/>
-<stop offset="0.6659" style="stop-color:#707070"/>
-<stop offset="0.8753" style="stop-color:#565656"/>
-<stop offset="1" style="stop-color:#4D4D4D"/>
-</linearGradient>
-<rect fill="url(#XMLID_6_)" fill-opacity="0.6" height="10.504" stroke-opacity="1" width="12" y="0.75"/>
-</g>
-<rect fill="none" height="12" width="12"/>
-</g>
-</svg>
--- a/mulwidgets/mulsliderwidget/data/mui_slider_progress.svg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="100%" version="1.1" viewBox="0 0 12 12" width="100%" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<g>
-<linearGradient gradientTransform="matrix(0 1 1 0 318.2246 -318.2256)" gradientUnits="userSpaceOnUse" id="XMLID_4_" x1="330.5391" x2="315.4766" y1="-312.2241" y2="-312.2241">
-<stop offset="0" style="stop-color:#333333"/>
-<stop offset="1" style="stop-color:#333333"/>
-</linearGradient>
-<rect fill="url(#XMLID_4_)" height="0.75" width="12" y="0"/>
-<linearGradient gradientTransform="matrix(0 1 1 0 318.2246 -318.2256)" gradientUnits="userSpaceOnUse" id="XMLID_5_" x1="330.5381" x2="315.4756" y1="-312.2241" y2="-312.2241">
-<stop offset="0" style="stop-color:#333333"/>
-<stop offset="1" style="stop-color:#333333"/>
-</linearGradient>
-<rect fill="url(#XMLID_5_)" height="0.746" width="12" y="11.254"/>
-<linearGradient gradientTransform="matrix(0 1 1 0 318.2246 -318.2256)" gradientUnits="userSpaceOnUse" id="XMLID_6_" x1="320.9756" x2="327.4795" y1="-312.2246" y2="-312.2246">
-<stop offset="0" style="stop-color:#8ADBFF"/>
-<stop offset="0.0322" style="stop-color:#7AD6FB"/>
-<stop offset="0.3313" style="stop-color:#09AEE1"/>
-<stop offset="0.382" style="stop-color:#00ABDF"/>
-<stop offset="1" style="stop-color:#006585"/>
-</linearGradient>
-<rect fill="url(#XMLID_6_)" fill-opacity="0.6" height="10.504" stroke-opacity="1" width="12" y="0.75"/>
-</g>
-<rect fill="none" height="12" width="12"/>
-</g>
-</svg>
--- a/mulwidgets/mulsliderwidget/data/mui_slider_prt.svg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="100%" viewBox="0 0 12 12" width="100%" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<g>
-<rect fill="#333333" height="12" width="0.857" x="11.143"/>
-<rect fill="#333333" height="12" width="0.857"/>
-<rect fill="url(#XMLID_2_)" height="12" width="10.286" x="0.869"/>
-<defs>
-<linearGradient gradientTransform="matrix(-2.185569e-007 -5 5 -2.185569e-007 -2466.9353 -2021.2244)" gradientUnits="userSpaceOnUse" id="XMLID_2_" x1="-405.4448" x2="-405.4448" y1="493.5605" y2="495.6182">
-<stop offset="0" style="stop-color:#E6E6E6"/>
-<stop offset="0.0841" style="stop-color:#D5D5D5"/>
-<stop offset="0.3977" style="stop-color:#9B9B9B"/>
-<stop offset="0.6659" style="stop-color:#707070"/>
-<stop offset="0.8753" style="stop-color:#565656"/>
-<stop offset="1" style="stop-color:#4D4D4D"/>
-</linearGradient>
-</defs>
-</g>
-</g>
-</svg>
--- a/mulwidgets/mulsliderwidget/data/qgn_indi_slider_zoom_in.svg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" viewBox="0 0 34 34">
-<g>
-<g>
-<path fill="#FFFFFF" d="M28.35,23.392l-4.012-4.01c0.615-1.332,0.968-2.806,0.968-4.366c0-2.789-1.086-5.412-3.059-7.385      c-1.974-1.973-4.597-3.06-7.387-3.06C9.1,4.571,4.414,9.257,4.414,15.016c0,5.76,4.686,10.445,10.446,10.445      c1.57,0,3.055-0.358,4.393-0.981l4.002,4.003c0.682,0.682,1.588,1.057,2.551,1.056c0.962,0,1.866-0.376,2.546-1.059      c0.678-0.676,1.052-1.579,1.052-2.541C29.404,24.978,29.03,24.072,28.35,23.392z"/>
-<path fill="#333333" d="M19.268,22.307l5.081,5.081c0.803,0.805,2.104,0.805,2.906,0c0.801-0.8,0.801-2.101,0-2.903l-5.082-5.08      L19.268,22.307z"/>
-<path fill="#333333" d="M14.86,6.12c-4.914,0-8.898,3.983-8.898,8.897s3.984,8.897,8.898,8.897c4.915,0,8.898-3.983,8.898-8.897      S19.775,6.12,14.86,6.12z M14.86,21.98c-3.846,0-6.965-3.117-6.965-6.963s3.119-6.964,6.965-6.964s6.964,3.118,6.964,6.964      C21.824,18.862,18.706,21.98,14.86,21.98z"/>
-<circle fill="#FFFFFF" cx="14.86" cy="15.017" r="6.963"/>
-<polygon fill="#333333" points="19.513,13.935 16.241,13.935 16.241,10.66 14.086,10.66 14.086,13.935 10.813,13.935       10.813,16.097 14.086,16.097 14.086,19.369 16.241,19.369 16.241,16.097 19.513,16.097 "/>
-<rect fill="none" width="34" height="34"/>
-</g>
-</g>
-</svg>
--- a/mulwidgets/mulsliderwidget/data/qgn_indi_slider_zoom_out.svg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" viewBox="0 0 34 34">
-<g>
-<g>
-<path fill="#FFFFFF" d="M28.35,23.392l-4.012-4.01c0.615-1.332,0.968-2.806,0.968-4.366c0-2.789-1.086-5.412-3.059-7.385      c-1.974-1.973-4.597-3.06-7.387-3.06C9.1,4.571,4.414,9.257,4.414,15.016c0,5.76,4.686,10.445,10.446,10.445      c1.57,0,3.055-0.358,4.393-0.981l4.002,4.003c0.683,0.682,1.588,1.057,2.551,1.056c0.962,0,1.866-0.376,2.546-1.059      c0.678-0.676,1.052-1.579,1.052-2.541C29.404,24.978,29.03,24.072,28.35,23.392z"/>
-<path fill="#333333" d="M19.268,22.307l5.081,5.081c0.803,0.805,2.104,0.805,2.906,0c0.801-0.8,0.801-2.101,0-2.903l-5.082-5.08      L19.268,22.307z"/>
-<path fill="#333333" d="M14.86,6.12c-4.914,0-8.898,3.983-8.898,8.897s3.984,8.897,8.898,8.897c4.915,0,8.898-3.983,8.898-8.897      S19.775,6.12,14.86,6.12z M14.86,21.98c-3.846,0-6.964-3.117-6.964-6.963s3.118-6.964,6.964-6.964s6.964,3.118,6.964,6.964      C21.824,18.862,18.706,21.98,14.86,21.98z"/>
-<circle fill="#FFFFFF" cx="14.86" cy="15.017" r="6.963"/>
-<rect x="10.996" y="13.902" fill="#333333" width="7.664" height="2.237"/>
-<rect fill="none" width="34" height="34"/>
-</g>
-</g>
-</svg>
--- a/mulwidgets/mulsliderwidget/data/qgn_indi_volumeslider_audio_off.svg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" viewBox="0 0 34 34">
-<g>
-<g>
-<rect fill="none" width="34" height="34"/>
-<g>
-<path d="M12.869,12.177l-6.132-0.039v8.812h6.099l10.438,8.302V3.824L12.869,12.177z M22.211,26.977l-8.951-7.108h-5.48       l0.034-6.687h5.446l8.951-7.132V26.977z"/>
-<polygon fill="#FFFFFF" points="7.813,13.182 13.261,13.182 22.211,6.049 22.211,26.977 13.261,19.869 7.779,19.869 "/>
-</g>
-<g>
-<rect x="5.177" y="15.131" transform="matrix(0.6582 0.7529 -0.7529 0.6582 19.3213 -8.56)" fill="#FFFFFF" width="27.82" height="3.734"/>
-<path d="M27.24,28.346L8.93,7.402L8.879,8.158L11.69,5.7l-0.755-0.051l18.31,20.946l0.05-0.756l-2.811,2.457L27.24,28.346z        M30.051,25.889L11.741,4.944L11.39,4.541l-0.404,0.353L8.174,7.351L7.771,7.704l0.354,0.403l18.311,20.945l0.353,0.402       l0.402-0.353L30,26.645l0.403-0.352L30.051,25.889z"/>
-</g>
-</g>
-</g>
-</svg>
--- a/mulwidgets/mulsliderwidget/data/qgn_indi_volumeslider_audio_on.svg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" viewBox="0 0 34 34">
-<g>
-<g>
-<path fill="none" d="M0,0v34h34V0H0z M15.594,26.714L7.24,20.081H2.125l0.031-6.241H7.24l8.354-6.656V26.714z"/>
-<polygon fill="none" points="2.156,13.839 2.125,20.081 7.24,20.081 15.594,26.714 15.594,7.183 7.24,13.839 "/>
-<g>
-<g>
-<path fill="#FFFFFF" d="M25.791,6.2c6.414,7.377,4.08,15.764-0.033,21.594l1.822,1.822c5.646-7.58,6.959-17.863,0.029-25.235        L25.791,6.2z"/>
-<path d="M25.414,6.528c7.342,8.444,2.4,17.483-0.064,20.978l-0.243,0.344l0.298,0.298l1.822,1.822l0.409,0.409l0.346-0.464        c5.351-7.184,7.424-17.971-0.008-25.876L27.62,3.662l-0.364,0.365l-1.818,1.819l-0.33,0.33L25.414,6.528z M27.245,4.723        c7.035,7.484,5.036,17.746-0.066,24.594l0.755-0.055l-1.822-1.822l0.055,0.642c2.602-3.687,7.809-13.231,0.002-22.21        l-0.023,0.682l1.818-1.819L27.245,4.723z"/>
-</g>
-</g>
-<g>
-<path fill="#FFFFFF" d="M20.635,11.362c2.807,3.43,2.285,7.756-0.053,11.238l1.832,1.837       c3.299-4.799,3.881-10.415,0.029-14.883L20.635,11.362z"/>
-<path d="M20.248,11.679c2.43,2.969,2.399,6.948-0.081,10.643l-0.229,0.341l0.29,0.291l1.832,1.837l0.426,0.426l0.341-0.496       c3.709-5.396,3.707-11.187-0.004-15.493L22.471,8.82L22.09,9.201l-1.809,1.808l-0.32,0.32L20.248,11.679z M22.064,9.881       c3.447,3.999,3.425,9.201-0.063,14.273l0.767-0.07l-1.832-1.837l0.061,0.632c2.739-4.08,2.749-8.504,0.024-11.833l-0.033,0.67       l1.809-1.808L22.064,9.881z"/>
-</g>
-<g>
-<path d="M6.875,12.902l-5.723-0.036v8.224h5.692l9.742,7.748V5.106L6.875,12.902z M15.594,26.714L7.24,20.081H2.125       l0.031-6.241H7.24l8.354-6.656V26.714z"/>
-<polygon fill="#FFFFFF" points="2.156,13.839 7.24,13.839 15.594,7.183 15.594,26.714 7.24,20.081 2.125,20.081 "/>
-</g>
-</g>
-</g>
-</svg>
--- a/mulwidgets/mulsliderwidget/data/qgn_indi_volumeslider_minus.svg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" viewBox="0 0 34 34">
-<g>
-<g>
-<rect fill="none" width="34" height="34"/>
-<rect x="5.671" y="13.694" fill="#FFFFFF" stroke="#000000" width="22.657" height="6.613"/>
-</g>
-</g>
-</svg>
--- a/mulwidgets/mulsliderwidget/data/qgn_indi_volumeslider_plus.svg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" viewBox="0 0 34 34">
-<g>
-<g>
-<rect fill="none" width="34" height="34"/>
-<polygon fill="#FFFFFF" stroke="#000000" points="28.101,14.243 19.752,14.243 19.752,5.888 14.251,5.888 14.251,14.243       5.898,14.243 5.898,19.762 14.251,19.762 14.251,28.112 19.752,28.112 19.752,19.762 28.101,19.762 "/>
-</g>
-</g>
-</svg>
--- a/mulwidgets/mulsliderwidget/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Build information file for Slider widget component
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-ARMV5 WINSCW
-
-
-PRJ_EXPORTS
-../rom/mulsliderwidget.iby      CORE_MW_LAYER_IBY_EXPORT_PATH(mulsliderwidget.iby)
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE mulsliderwidget.mif
-OPTION HEADERFILE mulsliderwidget.mbg
-OPTION SOURCEFILE iconlist.txt
-END
-
-PRJ_MMPFILES
-
-mulsliderwidget.mmp
-
-PRJ_TESTMMPFILES
-
-
-
-
-PRJ_TESTEXPORTS
--- a/mulwidgets/mulsliderwidget/group/iconlist.txt	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
--c24,8 qgn_indi_nslider_zoom_in
--c24,8 qgn_indi_nslider_zoom_out
\ No newline at end of file
--- a/mulwidgets/mulsliderwidget/group/mulsliderwidget.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* 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:  Project definition file 
-*
-*/
-#include <platform_paths.hrh>
-//#include "../../../group/stdinc.mmh"  //for STL includes
-#define ALF_LINK_STDCPP_DLL
-
-TARGET                  mulsliderwidget.dll
-TARGETTYPE              PLUGIN
-
-UID                     0x10009d8d 0x2000FA7F
-
-
-CAPABILITY              CAP_ECOM_PLUGIN
-VENDORID                VID_DEFAULT
-
-#ifndef __WINSCW__
-EPOCALLOWDLLDATA
-#endif
-
-
-
-SOURCEPATH              ../src
-SOURCE                  mulsliderwidgetfactoryplugin.cpp
-SOURCE                  mulsliderwidget.cpp
-SOURCE                  mulslidercontrol.cpp
-SOURCE                  mulslidermodel.cpp
-SOURCE                  mulprogressbarslider.cpp
-SOURCE                  mulhorizontalslider.cpp
-SOURCE                  mulsliderlongtaptimer.cpp
-SOURCE                  mulverticalslider.cpp
-SOURCE					        mulsliderutils.cpp
-
-USERINCLUDE             ../../common/inc 
-USERINCLUDE             ../../muldatamodel/inc
-USERINCLUDE             ../inc 
-USERINCLUDE             ../../mullogging/inc
-USERINCLUDE             ../../../inc
-
-MW_LAYER_SYSTEMINCLUDE
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-
-LIBRARY                 euser.lib
-LIBRARY                 ecom.lib
-LIBRARY					osncore.lib 
-LIBRARY                 alfclient.lib
-LIBRARY                 alfwidgetmodel.lib
-LIBRARY                 alfwidgetutils.lib
-LIBRARY                 charconv.lib 
-LIBRARY                 libc.lib
-LIBRARY                 libstdcpp.lib
-LIBRARY                 cone.lib 
-LIBRARY                 gdi.lib 
-LIBRARY     			libpthread.lib
-LIBRARY                 aknlayout2hierarchy.lib
-LIBRARY      						aknlayout2scalable.lib
-LIBRARY                 avkon.lib 
-LIBRARY                 cdlengine.lib
-LIBRARY                 mulutility.lib
-LIBRARY                 mulmodelutility.lib 
-LIBRARY         		aknicon.lib 
-LIBRARY         		aknskins.lib
-LIBRARY        			fbscli.lib 
-LIBRARY                 touchfeedback.lib
-
-
-LANG                    SC
-START RESOURCE         2000FA7F.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET                  mulsliderwidget.rsc
-#endif
-END
--- a/mulwidgets/mulsliderwidget/inc/imulsliderbaseelementinternal.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* 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 slider base element internal functions.
- *
-*/
-
-#ifndef I_MULSLIDERBASEELEMENTINTERNAL_H
-#define I_MULSLIDERBASEELEMENTINTERNAL_H
-
-//Widget Model include
-#include <alf/ialfinterfacebase.h>
-
-//Toolkit include
-#include <alf/alfevent.h>
-#include <alf/alftypes.h>
-#include <mul/imulsliderwidget.h>
-namespace Alf
-    {
-    enum SliderLCTIDs
-    {
-    EHSliderPane,// horizontal slider aacf_slider_pane(0) for base layout 
-    EHSliderBase,
-    EHSliderCentre,
-    EHSliderCenter,// horizontal slider aaslider_bg_pane(0) for track
-    EHSliderRight,
-    EHSliderLeft,
-    EHSliderHandle,// horizontal slider aacf_slider_pane_g1(0) for thumb 
-    EHSliderHandleExtended,
-    EVSliderPane,  // vertical slider aaslider_pane(2) for mainlayout
-    EVSliderBackground, // vertical slider aaslider_pane_g1(2) for mainlayout
-    EVSliderBgPane , // aaslider_bg_pane_cp001     
-    EVSliderTop ,
-    EVSliderMiddle ,
-    EVSliderEnd ,
-    EVSliderPlus, //aid_touch_size_slider_max
-    EVSliderMinus, //aid_touch_size_slider_min
-    EVSliderMarker, //aacf_slider_pane_g1
-    EVSliderMarkerExtended,
-    EVSliderZoomText, //aaslider_pane_t3
-    EVSliderAudioImage,
-    EVSliderInnerRect,
-    EPSliderLeft,
-    EPSliderCentre,
-    EPSliderRight   
-    };    
-enum TOperation
-{
-ENop,      // Nothing is going on.
-EMoveItem   // Item is begin moved.
-}; 
-/**
- * @namespace mulsliderbaseelementinternal
- *
- * internal interface.
- */
-namespace mulsliderbaseelementinternal
-    {
-    static const IfId ident =
-        {
-        0,"mulsliderbaseelementinternal" 
-        };
-    }
-
-
-class IMulSliderBaseElementInternal : public IAlfInterfaceBase 
-    {
-
-public:
-
- 
-    static inline const IfId& type()
-        {
-        return mulsliderbaseelementinternal :: ident;
-        }
-
-    /**
-     * Notified when the base layout of Slider changes .
-     * Relayouts all the visuals with respect to the new size.
-     */
-
-    virtual void baseLayoutSizeChanged()=0;
-    /**
-      * Creates the Visualization of Slider
-      * 
-      */
- 
-    virtual void createVisualization(sliderTemplate aTemplate) = 0;
-    /**
-      * Updates the Visualization of Slider
-      * 
-      */
-
-    virtual void updateVisualization() = 0;
-    /**
-      * Updates the Text Visualization of Slider
-      * 
-      */
-
-    virtual void updateTextVisualization() = 0;
-    /**
-      * Stops all the event handling operations 
-      * 
-      */
-
-    virtual void stopEvents()
-        {
-        
-        }
-    /**
-      * API to make the widget transparent.
-      * @param aTransparent - True will make it transparent.
-      *                     - False for Opaque. 
-      */
-
-    virtual void MakeTransparent( bool /*aTransparent*/ )
-    {
-    	
-    }
-    /**
-      * API to Handle Long Tap events.
-      */   
-    virtual AlfEventStatus handleLongTap() 
-    {
-    	 return EEventNotHandled;
-    }
-       
-    /** 
-     *virtual Destructor.
-     *
-     */
-    virtual ~IMulSliderBaseElementInternal() {}
-
-    }; // end of class IMulSliderBaseElementInternal
-  
-    } // end of namespace Alf
-
-#endif // I_MULSLIDERBASEELEMENTINTERNAL_H
-//End Of File
--- a/mulwidgets/mulsliderwidget/inc/mulprogressbarslider.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +0,0 @@
-/*
-* 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: Header for slider presentation elements.
- *
-*/
-
- 
-#ifndef MUL_SLIDERPROGRESSIVE_H
-#define MUL_SLIDERPROGRESSIVE_H
-
-//INCLUDES
-
-#include "alf/alfelement.h"
-#include "mulslidermodel.h"
-#include "imulsliderbaseelementinternal.h"
-#include <alf/alfbitmapprovider.h>
-#include <alf/ialfwidgeteventhandler.h>
-namespace Alf
-    {
-    class CAlfWidgetControl;
-	/**
-	 * Default Base Element of the slider.
-	 */
-	class MulSliderProgressive : 
-	    public AlfElement, 
-	    public IAlfWidgetEventHandler,
-	    public IMulSliderBaseElementInternal,
-	    public MAlfBitmapProvider
-	    {
-		public:
-		    /**
-		     * Constructor
-		     * @param aControl Widget control.
-		     * @param aName Name of the item element.
-		     * @param aCustomData .
-		     * @param mNode .
-		     * @since S60 ?S60_version
-		     */
-		    MulSliderProgressive (
-		        CAlfWidgetControl& aControl, 
-		        const char* aName, AlfCustomInitDataBase* /*aCustomData*/);
-			 /**
-		     * Destructor 
-		     */    
-		    virtual ~MulSliderProgressive();
-    
-	    /**
-	     * bitmap provider.
-	     * @since S60 ?S60_version
-	     * @param aId bitmap ID.
-	     * @param aBitmap bitmap.
-	     * @param aMaskBitmap mask for the bitmap.
-	     * @return 
-	     */
-			void ProvideBitmapL (TInt aId, 
-			                     CFbsBitmap *& aBitmap, 
-	                         CFbsBitmap *& aMaskBitmap);
-		    
-			/**
-		     * From IAlfInterfaceBase.
-		     * Getter for interfaces provided by the  widget class.
-		     * @since S60 ?S60_version
-		     * @param aType A descriptor to identify the type of the queried
-		     *  interface.
-		     * @return The queried interface, or NULL if the interface is not
-		     *         supported or available.
-		     */
-		     virtual IAlfInterfaceBase* makeInterface(const IfId& aType);
-		      /**
-		     * @see IAlfWidgetEventHandler
-		     */
-		    virtual AlfEventHandlerType eventHandlerType();
-			/**
-		     * @see IAlfWidgetEventHandler
-		     */
-		    virtual AlfEventHandlerExecutionPhase eventExecutionPhase();
-		    
-		    
-		    //--------------------------------------------------------------------------
-		    //Overriden Apis from IAlfWidgetEventHandlers
-		    //--------------------------------------------------------------------------
-		    //
-			/**
-		     * Used to identify event handlers that are capable of handling
-		     * a specified key or custom event.
-		     * Pointer event handlers cannot be identified directly, 
-		     * since they are dependent on the presentation.
-		     * Therefore, pointer event handlers should be associated with
-		     * a custom event ID that can be used to
-		     *  simulate the actual pointer event.
-		     * @since S60 ?S60_version
-		     * @param aEvent The event.
-		     * @param aControl
-		     * @return <code>ETrue</code> if the event can be processed. 
-		     * Otherwise <code>EFalse</code>.
-		     */
-		    bool accept(
-		        CAlfWidgetControl& aControl, const TAlfEvent& aEvent) const;
-			/**
-		     * Called when an input event is being offered to this event handler.
-		     * The return value is used to indicate if the event was processed.
-		     * Processed events may not be offered to other event handlers.
-		     * @since S60 ?S60_version
-		     * @param aControl    The parent control of this event handler.
-		     * @param aEvent    The event.
-		     * @return <code>ETrue</code> if the event was processed. 
-		     * Otherwise <code>EFalse</code>.
-		     */
-		   	virtual AlfEventStatus offerEvent(
-		        CAlfWidgetControl& aControl, 
-		        const TAlfEvent& aEvent );
-			/**
-		     * Defines the widget states, where the event handler is active.
-		     * By default, if this method 
-		     * is not called, the event handler is expected
-		     * to be active in all states.
-		     * @param aStates A bitmask defining the widget
-		     * states, where the event
-		     * handler is active. The low 16 bits are reserved for the states
-		     * defined by the framework in <TODO: add reference>.
-		     * The high 16 bits are
-		     * available for states defined by the client code.
-		     */
-		    void setActiveStates(unsigned int aStates);
-		    /**
-		     * Sets AlfWidgetEventHandlerInitData to event handler.
-		     * @param aData A data structure which contains
-		     * for example id of the event
-		     * handler.
-		     */
-		    virtual void setEventHandlerData(
-		        const AlfWidgetEventHandlerInitData& /*aData*/ )
-		        {
-		        
-		        }
-		    /**
-		     * Returns AlfWidgetEventHandlerInitData.
-		     * @return  A pointer to AlfWidgetEventHandlerInitData structure 
-		     * which contains for example id of the event handler.
-		     */
-		    virtual AlfWidgetEventHandlerInitData* eventHandlerData()
-		        {
-		          return NULL;
-		        }
-		        
-	    	//--------------------------------------------------------------------------
-		    //Overriden Apis from IMulSliderBaseElementInternal
-		    //--------------------------------------------------------------------------
-		    //
-	  
-		    /**
-		     * Notified when the base layout of slider changes .
-		     * Relayouts all the visuals with respect to the new size.
-		     */
-		    void baseLayoutSizeChanged();
-		   
-		     /**
-		     * update visualization
-		     *
-		     */  
-		    void updateVisualization();
-		   
-		    /**
-		     * create visulization for slider
-		     * @param aTemplateId - template id
-		     */ 
-		    void createVisualization(sliderTemplate aTemplateId);
-		    		    
-		    
-		    /**
-		     * Updates Text visualization.
-         	 * 
-		     */
-		    void updateTextVisualization();
-		    
-		private:
-            
-            /**
-             * layoutVisuals setpos visulization for slider
-             * @param aTemplateId - template id
-             */ 
-		    void layoutVisuals(sliderTemplate templateid);
-            
-		    /**
-		     * initializeSliderData to initialize the model and widget pointers
-		     */
-			 void initializeSliderData();
-		   
-		   /**
-			 * Normalise the template specific data with that from the Model.
-			 */
-     	
-		 	 void NormalizeRange();
-		    /**
-			 * Sets the position of the handle
-			 * 
-			 * @param aCurrTick The new position of the progress bar
-			 * 
-			 */
-		     void SetTickPosition(int aCurrTick);
-	
-	   	 private: // Class Data
-		    struct MulSliderProgressBarImpl* mData;
-		    MulSliderModel * mSliderModel;
-		    MulSliderWidget * mSliderWidget;
-		    CFbsBitmap* iBitmap;
-	    }; // end of class
-	    
-    } // end of namespace Alf
-    
-#endif //MUL_SLIDERPROGRESSIVE_H
-//End Of File
--- a/mulwidgets/mulsliderwidget/inc/mulslidercontrol.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +0,0 @@
-/*
-* Copyright (c) 2009 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:  Control interface with utilities for slider widget.
-*
-*/
-
-#ifndef MUL_SLIDERCONTROL_H
-#define MUL_SLIDERCONTROL_H
-
-//WidgetModel Includes
-#include <alf/alfwidgetcontrol.h>
-#include <alf/alfwidgeteventhandler.h>
-#include "alf/alfelement.h"
-#include <touchfeedback.h>
-//Osn Includes
-#include <osn/ustring.h>
-
-
-using namespace osncore;
-using namespace Alf;
-
-// Forward declarations
-class TAlfCustomEventCommand;
-
-const float roundOff = 0.5;
-namespace Alf
-    {
-    // Forward declaration
-class IAlfModel;
-class AlfModelOperation;
-class MulSliderControl : public CAlfWidgetControl
-    {
-public:
-
-    /**
-     * Constructor.
-     */
-    MulSliderControl ( CAlfEnv& aEnv );
-
-    /** 
-     *  Class Destructor.
-     *  @since S60 ?S60_version 
-     */ 
-    virtual ~MulSliderControl();
-
-    //--------------------------------------------------------------------------
-	//Overriden Apis from Base class CAlfControl
-	//--------------------------------------------------------------------------
-	//
-
-    /**
-     * Notifies the owner that the layout of a visual has been recalculated.
-     * Called only when the EAlfVisualFlagLayoutUpdateNotification flag has
-     * been set for the visual.
-     *
-     * @param aVisual  Visual that has been laid out.
-     */
-    void VisualLayoutUpdated ( CAlfVisual& aVisual );
-
-    /**
-     * Returns top level layout. Returns NULL if this control does not
-     * implement the IAlfHostAPI interface or if there is no base layout.
-     * 
-     * @return Pointer to top level layout, or NULL if not available.
-     */
-    CAlfLayout* ContainerLayout ( const CAlfControl* aConnected ) const;
-
-// from base class CAlfWidgetControl
-
-    /**
-     * @see IAlfWidgetControl
-     */
-    AlfEventStatus handleEvent( const TAlfEvent& aEvent );
-
-    /**
-     * Update the presentation according to the data changes.
-     *
-     * @since S60 ?S60_version
-     * @param aArrayOfOperation An Array containing the operations performed on
-     * the model.
-     */
-    void dataChanging ( const AlfModelOperation& aOperation );
-    
-    /**
-     * removes an element.
-     */
-    void removeAndDestroyElement(const IAlfElement& aElement );
-
-
-// From base class IAlfInterfaceBase
-
-    /**
-     * From IAlfInterfaceBase.
-     * Getter for interfaces provided by the control classes.
-     * Derived classes should always call the base class method
-     * from the overridden MakeInterface.
-     *
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    IAlfInterfaceBase* makeInterface ( const IfId& aType );
-
-public: 
-    
-    /**
-     * Generates the feedback based on the events recieved
-     * 
-     */
-     void TactileEffectOnTouchandHold();  
-    
-    /**
-     * Generates the feedback based on the events recieved
-     * 
-     * @param aEvent Events recieved by the widget on Drag
-     */ 
-     void TactileEffectOnDrag(TAlfEvent& aEvent);
-     
-     /**
-      * Generates the feedback based on the thumb release
-      * or drag on thumb is stopped 
-      */
-     void TactileEffectOnRelease();
-
-private:
-
-    /**
-     * Rounds float to int
-     * 
-     * @param aFloatValue float value
-     * @return int
-     */
-    inline int roundFloatToInt ( float aFloatValue )
-        {
-        return(int)(aFloatValue + roundOff);
-        }
-        
-    /**
-     * Sets whether or not tactile feedback is enabled.
-     *
-     * @param aEnabled Whether or not tactile is enabled.
-     */
-    void EnableTactileFeedback( bool aEnabled );
-
-private:
-
-    /** 
-     * Default contructor
-     */
-    MulSliderControl();
-    
-    /**
-     * IAlfAttributeOwner implementation. Own.
-     */
-  
-    /**
-     * height of the Layout.
-     */
-    int mLayoutHeight;
-
-    /**
-     * width of the Layout.
-     */
-    int mLayoutWidth;
-
-    /**
-     * tactile is enabled or not.
-     */
-    bool mEnableTactile;
-    
-    /**
-     * Tactile Feedback for drag started
-     */
-    bool mDragTactileFeedbackStarted;
-    /**
-     * pointer to get the current tactile instance
-     */
-    MTouchFeedback *mTactilefdbInstance;
-
-    }; // class MulSliderControl
-
-    } // namespace Alf
-
-#endif //MUL_SLIDERCONTROL_H
-//End Of File
--- a/mulwidgets/mulsliderwidget/inc/mulsliderdefinitions.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  header for defining all the common variables
-*
-*/
-
-#ifndef MULSLIDERDEFINITIONS_H_
-#define MULSLIDERDEFINITIONS_H_
-
-namespace Alf
-    {    
-    // For Slider template class
-    static const char*  const KHORPROGDWNLD = "\\resource\\slider\\mui_dl_progress_lsc.svg";
-    static const char*  const KHORPROGCTR = "\\resource\\slider\\mui_slider_progress.svg";
-    static const char*  const KHORHANDLE = "\\resource\\slider\\mui_cover_handle.svg";
-    static const char*  const KHORCENTRE = "\\resource\\slider\\mui_slider_lsc.svg";
-    static const char*  const KVOLAUDIOOFF = "\\resource\\slider\\qgn_indi_volumeslider_audio_off.svg";
-    static const char*  const KVOLAUDIOON = "\\resource\\slider\\qgn_indi_volumeslider_audio_on.svg";
-    static const char*  const KVOLPLUS = "\\resource\\slider\\qgn_indi_volumeslider_plus.svg";
-    static const char*  const KVOLMINUS = "\\resource\\slider\\qgn_indi_volumeslider_minus.svg";
-    static const char*  const KZOOMIN = "\\resource\\slider\\qgn_indi_slider_zoom_in.svg";
-    static const char*  const KZOOMOUT = "\\resource\\slider\\qgn_indi_slider_zoom_out.svg";
-    static const char*  const KVERTCENTRE = "\\resource\\slider\\mui_slider_prt.svg";
-    static const char*  const KVERTHANDLE = "\\resource\\slider\\mui_cover_handle.svg";
-	const float KRoundupvalue = 0.5;
-	const float KMinopacity = 0.4;
-	    
-    const int KImageHeight = 50;
-	const int KImageWidth = 50;
-	
-	const int KHandleImageWidth = 56;
-	const int KHandleImageHeight = 47;
-	const int KYToleranceInPixel = 10;
-	const int KXToleranceInPixel = 10;	
-		
-	const float KMaxopacity = 0.7;
-   
-    const int KVariety0 = 0;
-    const int KVariety1 = 1;
-    const int KVariety2 = 2;
-    const int KVariety3 = 3;
-    const int KVariety4 = 4;
-    const int KVariety5 = 5;
-    const int KVariety6 = 6;
-    const int KVariety7 = 7;
-    const int KVariety8 = 8;
-    } //namespace Alf
-    
-#endif /*MULSLIDERDEFINITIONS_H_*/
--- a/mulwidgets/mulsliderwidget/inc/mulsliderhorizontal.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,459 +0,0 @@
-/*
-* 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: Header for presentation elements - horizontal slider.
- *
-*/
-
- 
- 
- 
-#ifndef MUL_SLIDERHORIZONTAL_H
-#define MUL_SLIDERHORIZONTAL_H
-
-//INCLUDES
-#include <alf/alfanchorlayout.h>
-#include "alf/alfelement.h"
-#include <alf/alfimagevisual.h>
-#include <alf/alflayout.h>
-#include <alf/alfvisual.h>
-#include <alf/ialfwidgeteventhandler.h>
-
-
-#include <AknLayout2Def.h>
-
-#include <mul/imulsliderwidget.h>
-#include "mulslidermodel.h"
-
-#include "imulsliderbaseelementinternal.h"
-
-namespace duiuimodel
-    {
-    class DuiNode;
-    }
-
-using namespace osncore;
-
-namespace Alf
-    {
-    struct MulSliderPos;
-
-
-// Forward declarations
-class IAlfWidgetEventHandler;
-class CAlfWidgetControl;
-class MulSliderLongTapTimer;
-
-/**
- * Default Base Element of the Slider.
- */
-class MulSliderHorizontal : 
-    public AlfElement, 
-    public IAlfWidgetEventHandler,
-    public IMulSliderBaseElementInternal,
-    public MAlfBitmapProvider
-    {
-public:
-    
-    /**
-     * Constructor
-     * @param aControl Widget control.
-     * @param aName Name of the item element.
-     * @param aCustomData .
-     * @param mNode .
-     * @since S60 ?S60_version
-     */
-    MulSliderHorizontal (
-        CAlfWidgetControl& aControl, 
-        const char* aName, 
-        AlfCustomInitDataBase* aCustomData=NULL);
-
-    /**
-     * Destructor 
-     */    
-    virtual ~MulSliderHorizontal();
-    
-    /**
-     * bitmap provider.
-     * @since S60 ?S60_version
-     * @param aId bitmap ID.
-     * @param aBitmap bitmap.
-     * @param aMaskBitmap mask for the bitmap.
-     * @return 
-     */
-		void ProvideBitmapL (TInt aId, 
-		                     CFbsBitmap *& aBitmap, 
-                         CFbsBitmap *& aMaskBitmap);
-    /**
-     * From IAlfInterfaceBase.
-     * Getter for interfaces provided by the Button widget class.
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    virtual IAlfInterfaceBase* makeInterface(const IfId& aType);
-         
-    
-
-    //void createVisualization();       
-    //--------------------------------------------------------------------------
-    //Overriden Apis from IAlfWidgetEventHandlers
-    //--------------------------------------------------------------------------
-    //
-
-    /**
-     * Used to identify event handlers that are capable of handling
-     * a specified key or custom event.
-     * Pointer event handlers cannot be identified directly, 
-     * since they are dependent on the presentation.
-     * Therefore, pointer event handlers should be associated with
-     * a custom event ID that can be used to simulate the actual pointer event.
-     * @since S60 ?S60_version
-     * @param aEvent The event.
-     * @param aControl
-     * @return <code>ETrue</code> if the event can be processed. 
-     * Otherwise <code>EFalse</code>.
-     */
-    bool accept(CAlfWidgetControl& aControl, const TAlfEvent& aEvent) const;
-
-
-   
-    /**
-     * @see IAlfWidgetEventHandler
-     */
-    virtual AlfEventHandlerType eventHandlerType();
-
-    /**
-     * @see IAlfWidgetEventHandler
-     */
-    virtual AlfEventHandlerExecutionPhase eventExecutionPhase();
-    /**
-     * Called when an input event is being offered to this event handler.
-     * The return value is used to indicate if the event was processed.
-     * Processed events may not be offered to other event handlers.
-     * @since S60 ?S60_version
-     * @param aControl    The parent control of this event handler.
-     * @param aEvent    The event.
-     * @return <code>ETrue</code> if the event was processed. 
-     * Otherwise <code>EFalse</code>.
-     */
-   
-   
-    virtual AlfEventStatus offerEvent(
-        CAlfWidgetControl& aControl, 
-        const TAlfEvent& aEvent );
-
-    /**
-     * Defines the widget states, where the event handler is active.
-     * By default, if this method is not called, the event handler is expected
-     * to be active in all states.
-     * @param aStates A bitmask defining the widget states, where the event
-     * handler is active. The low 16 bits are reserved for the states
-     * defined by the framework in <TODO: add reference>. The high 16 bits are
-     * available for states defined by the client code.
-     */
-    void setActiveStates(unsigned int aStates);
-    
-    /**
-     * Sets AlfWidgetEventHandlerInitData to event handler.
-     * @param aData A data structure which contains for example id of the event
-     * handler.
-     */
-    virtual void setEventHandlerData(
-        const AlfWidgetEventHandlerInitData& /*aData*/ )
-        {
-        
-        }
-    
-    /**
-     * Returns AlfWidgetEventHandlerInitData.
-     * @return  A pointer to AlfWidgetEventHandlerInitData structure 
-     * which contains for example id of the event handler.
-     */
-    virtual AlfWidgetEventHandlerInitData* eventHandlerData()
-        {
-          return NULL;
-        }
-
-    /**
-     * Friend class for timer functions.
-     * 
-     */
-    friend class MulSliderLongTapTimer;
-
-
-// From IAlfScrollBarBaseElementInternal
-
-    /**
-     * Notified when the base layout of scrollbar changes .
-     * Relayouts all the visuals with respect to the new size.
-     */
-    void baseLayoutSizeChanged();
-    
-    /**
-    * Initialises slider data
-    */
-    void initializeSliderData();
-    /**
-    * Updates visualization
-    */
-    void updateVisualization();
-    /**
-    * Updates text visualization
-    */
-    void updateTextVisualization();
-		/**
-    * handles Long tap event
-    */
-    AlfEventStatus handleLongTap();
-    
-    /**
-    * Changes Thumb image
-    */
-    void changeThumbImage(bool aPressed = false);
-    /**
-    * Gets thumb minimum length.
-    */
-    void getThumbMinMaxLength();
-    /**
-    * Creates visualization
-    */
-    void createVisualization(sliderTemplate aTemplateId);
-    // Creates Slider Template 3 ( Zoom Slider)
-    //void createZoomSlider();
-    /**
-    * create a Dual progressive slider
-    */
-    void createDualProgressiveSlider();
-   
- private: // New Methods
-    
-    /**
-     * SetBackgroundBrush
-     * 
-     */                                              
-    void SetBackgroundBrush();
-    
-	/**
-     * Retrieves the data for the slider from the model into structure
-     */
-    void RetrieveData();
-  	
-	/**
-	 * Sets the position of the handle
-	 * 
-	 * @param aCurrTick The new position of the handle
-	 */
-    void SetThumbPosition();//int aCurrTick); 
-    
-    /**
-	 * Sets the text for the counter visual
-	 * 
-	 * @param aNewString The counter visual text value 
-	 * @throw Invalid Argument incase there is no layout at zeroth position
-	 */ 
-    void SetTextLabels(const UString& aNewString);
-
-    /**
-	 * Sets the image for the image visual
-	 * 
-	 * @param aImagePath The path of the new image
-	 * @throw Invalid Argument incase there is no layout at zeroth position
-	 */ 
-    void SetNewImagePath(const UString& aImagePath);
-    
-    /**
-	 * Sets the image for the image visual from thr provided texture id
-	 * 
-	 * @param aTextureId The texture id of the new image
-	 * @throw Invalid Argument incase there is no layout at zeroth position
-	 */
-    void SetNewImageTexture(const int aTextureId);
-
-    /**
-     * Notifies about the initiation of pointer down event on the visual.	
-     *  
-     * @returns true after the drag has started  
-     */    
-    //bool StartDrag(CAlfVisual *aDragVisual);
-    
-    /**
-     * Sets the starting position of the pointer doen event and will
-     * start ignoring the visual for further possible pointer events  
-     *   
-     * @param aOperation  true to signify start of drag.    
-     */    
-    //void Begin(TBool aOperation);   
-    
-    /**
-     * Checks if the drag event is On
-     * 
-     * @returns true if the drag event is on.
-     */
-	//bool BeingDragged() const;
-	
-	/**
-     * Clears the flag for ignoring the visual for pointer events.
-     */
-	//void StopDrag();
-	
-	/**
-     * Handles the key events only.     
-     *   
-     * @param aEvent event to be handled
-     * @returns if the event was handled or not
-     */   
-	AlfEventStatus HandleKeyEvents(const TAlfEvent& aEvent);
-	
-   /**
-     * Handles the pointer events only.     
-     * 
-     * @aControl  The alfwidget control  
-     * @param aEvent  Event to be handled
-     * @returns  if the event was handled or not
-     */   
-	AlfEventStatus HandlePointerEvents( TAlfEvent* aEvent);
-		/**
-	  * Handles pointer down event
-	  */
-    AlfEventStatus handlePointerDownEvent(TAlfEvent * aPntrEvent);				
-    /**
-     * Checks if the slider visual is hit     
-     * 
-     * @param aVisual  Visual that has been touched. 
-     * @param aPointerPt position of the pointer
-     * @param aEvent  Event to be handled
-     * @returns true/false if the visual is touched         
-     */     
-    bool IsSldVisualHit(const CAlfVisual& aVisual,TPoint aPointerPt,const TAlfEvent& aEvent);
-    
-    /**
-     * Checks if the hit point is within the tappable area     
-     *     
-     * @param aPointerPt position of the pointer
-     * @param aEvent  Event to be handled
-     * @returns true/false if the point is in tappable area 
-     */   	
-	bool InTappableArea(const TPoint& aPointerPt,const TAlfEvent& aEvent) ;		
-    
-    /**
-	 * Converts pixel to value according to range of slider
-	 * @param aPixel The pixel value passed
-	 * @param aMaxPixel The maximum value to be considered for calculation
-	 * returns rounded int value after conversion
-	 */
-	int PixelToValue(int aPixel,int aMaxPixel);
-  	
-    /**
-	 * Converts value to pixel according to range of slider
-	 * @param aVal The value passed
-	 * @param aMaxPixel The maximum value to be considered for calculation
-	 * returns rounded int pixel after conversion
-	 */
-    int ValueToPixel(int aVal, int aMaxPixel); 
-
-    /**
-	 * Creates the new image for the given path
-	 * @param aImageVisual The visual to which the image is to be set
-	 * @param aPath The new path of the image
-	 * @returns Returns the new image to be set
-	 */
-    TAlfImage CreateImageFromImagePath( const CAlfImageVisual& aImageVisual, const TPtrC8& aPath );
-    
-    /**
-	 * Sets the new value for max and min range considering min range as zero.Its helpful
-	 * for the negative min range values or greater than zero min range values.
-	 *
-	 * @param aMap Contains data.Used to get the data from current model.
-	 */
-    void NormalizeRange(/*IAlfMap& aMap*/);   
-    
-    /**
-	 * Stores the value for x and y coordinate of baselayout position in structure.
-	 * Later the values from the structure is used to get/set the relative values
-	 * according to the new position of baselayout.	 
-	 */    
-    void RelativePos();
-    void mirrorPointerPosition(const TPoint& aPointerPos );
-    
-    /*
-     * Change volume icon
-     */
-    void VolumeIconChange(bool aFlag,int aValue);               
-private:
-   /**
-    * IsSliderVisual  
-    */
-   bool IsSliderVisual(CAlfVisual *aVisual);
-
-
-    /** returns pixel values
-    */                     
-    void ConvertDataToPixels();
-
-    /**
-     * updateModelPrimaryValue
-     * 
-     */
-   void updateModelPrimaryValue(int aNewPosValue);
-   /**
-    * Start drag 
-    */
-    bool initializeThumbDragData( const TPoint& aPointerPos );     
-    
-    /**
-    * Stop drag 
-    */
-    bool stopDrag();
-    
-   
-    /**
-    * Handles pointer Events
-    */
-    void handlePointerUpEvent();
-    /**
-    * Snaps primary value to ticks
-    */
-    void snapPrimaryValueToTicks();
-    /**
-    * Set images for three part track
-    *
-    */
-    void setTrackImage();
-    /**
-    * Checks if the track visual is Hit
-    */
-    AlfEventStatus trackVisualHit(CAlfVisual * aHitVisual);
-     /**
-     * layout the visuals 
-     * 
-     */
-    void layoutVisuals(sliderTemplate aTemplateId);
-private: // Class Data
-    
-//	auto_ptr< MulSliderHorizontalImpl>mData; // Owned
-    struct MulHorizontalSliderDataImpl* mData;    
-//    auto_ptr<SliderDefaultLCTBaseElementData> mData;
-	auto_ptr<MulSliderPos> mPosData; // Structure for storing current and previous values
-//	const UString& mStyle;        
-    auto_ptr<MulSliderLongTapTimer> mLongTapTimer;
-    CAlfVisual *mDragVisual;  
-    MulSliderModel * mSliderModel;
-    MulSliderWidget * mSliderWidget;  
-    }; // end of class AlfScrollBarDefaultLCTBaseElement
-    
-    } // end of namespace Alf
-    
-#endif //MUL_SLIDERHORIZONTAL_H
-//End Of File
--- a/mulwidgets/mulsliderwidget/inc/mulsliderlongtaptimer.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* 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: Header for presentation elements - Slider long tap timer.
-*
-*/
-
-#ifndef MULSLIDERLONGTAPTIMER_H_
-#define MULSLIDERLONGTAPTIMER_H_
-
-#include <e32std.h>
-#include <e32base.h>
-#include<alf/alfevent.h>
-#include "imulsliderbaseelementinternal.h"
-
-
-namespace Alf
-    {
-        
-class MulSliderLongTapTimer: public CActive
-    {
-
-    enum TState
-        {
-        //To indicate the event is in running state.
-        ERunning,
-        
-        //To indicate the event is in stopped state.
-        EStopped
-        };        
-public:
-    /**
-     * Constructor
-     * @param aBaseElement
-     */
-    MulSliderLongTapTimer(IMulSliderBaseElementInternal* aSliderElement);
-
-    /**
-     * Destructor 
-     */      
-    ~MulSliderLongTapTimer();
-
-    /**
-     * Start the Timer. 
-     */    
-    void Start();
-
-    /**
-     * Stops the Timer. 
-     */    
-    void Stop();
-   
-    /**
-     * user code runs under this active object. 
-     */
-    void RunL();
-    
-    /**
-     * Implements cancellation of an outstanding request. 
-     */
-    void DoCancel();        
-    
-       
-private:
-    
-    RTimer iTimer;
-    TState iState;  
-    IMulSliderBaseElementInternal *iBaseElement;
-    };
-
-    }
-
-#endif /*MULSLIDERLONGTAPTIMER_H_*/
--- a/mulwidgets/mulsliderwidget/inc/mulslidermodel.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,363 +0,0 @@
-/*
-* 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: Header for presentation element - slider model interface.
-*
-*/
-
-
-#ifndef MUL_SLIDERMODEL_H
-#define MUL_SLIDERMODEL_H
-
-// Widget Model and Exported API includes
-#include <mul/imulslidermodel.h>
-
-// OsnCore includes
-#include <osn/alfptrvector.h>
-#include <osn/ustring.h>
-#include "imulsliderbaseelementinternal.h"
-#include <mul/mulvisualitem.h>
-#include <mul/imulsliderwidget.h>
-// Namespace
-using namespace osncore;
-
-namespace Alf
-    {
-
-//Forward Declarations
-class AlfModel;
-class MulSliderWidget;
-
-/**
- *  slider model implementation.
- *
- *  Implements utility methods to create and update
- *  the data hierarchy of a slider.
- */
-class MulSliderModel : public IMulSliderModel
-    {
-public:
-    /////////////////////////////////////////
-    /////// FROM MULSLIDER//////////////////
-	/**
-	 * Set the value of the primary thumb.
-	 *
-	 * @param aValue Position of the primary thumb.
-	 *  
-	 */
-	 void SetPrimaryValue(int aValue) ;
-
-	/**
-	 * Return the value of the primary thumb of the slider.
-	 *
-	 *  @return Value of the primary thumb.
-	 *  
-	 */
-	 int PrimaryValue() const ;
-	
-	/**
-	 * Set the value of the secondary thumb.
-	 *
-	 * @param aValue Position of the secondary thumb.
-	 *  
-	 */
-	 void SetSecondaryValue(int aValue) ;
-
-	/**
-	 * Return the value of the secondary thumb of the slider.
-	 *
-	 *  @return Value of the secondary thumb.
-	 *  
-	 */
-	 int SecondaryValue() const ;
-
-	/**
-	 * Return the total number of ticks.
-	 *
-	 *  @return Number of ticks (int)
-	 *  
-	 */
-	 int TotalTicks() const ;
-
-
-	/**
-	 * Set Template that will be used to represent data.
-	 * 
-	 * @param aTemplateId Template associated with the widget.
-	 * 
-	 */
-	 void SetTemplate( sliderTemplate aTemplateId) ;
-	 
-	/**
-	 * Get Template that will be used to represent data.
-	 * 
-	 * 
-	 * 
-	 */
-	 sliderTemplate GetTemplate();
-	 
-    /**
-	 * SetRightText that will be used to represent data.
-	 * 
-	 * @param aRightText
-	 * 
-	 */
-	 void SetRightText(char* aRightText) ;
-	
-	/**
-	 * GetRightText that will be used to represent data.
-	 * 
-	 *
-	 * 
-	 */
-	 const char* GetRightText() ;
-     
-     /**
-	 * SetLeftText that will be used to represent data.
-	 * 
-	 * @param aLeftText 
-	 * 
-	 */
-	 void SetLeftText(char* aLeftText) ;
-     
-     /**
-	 * GetLeftText that will be used to represent data.
-	 * 
-	 * 
-	 * 
-	 */
-	 const char* GetLeftText() ;
-	
-	 /**
-	 * SetPercentText that will be used to represent data.
-	 * 
-	 * 
-	 */	 
-	 void SetPercentText(char* aPercText) ;			
-			
-     /**
-	 * GetPercentText that will be used to represent data.
-	 *
-	 * 
-	 */				
-	 const char* GetPercentText() ;
-	
-	  /**
-	 * SetMinRange that will be used to represent data.
-	 * 
-	 * 
-	 */
-	 void SetMinRange(int aMinRange) ;
-     
-      /**
-	 * GetMinRange that will be used to represent data.
-	 * 
-	 * 
-	 */
-	 int MinRange()const ;
-	
-	  /**
-	 * SetMaxRange that will be used to represent data.
-	 * 
-	 * 
-	 */				
-	 void SetMaxRange(int aMaxRange) ;
-     
-     /**
-	 * MaxRange that will be used to represent data.
-	 * 
-	 * 
-	 */
-	 int MaxRange()const ;
-     
-     /**
-	 * SetTick that will be used to represent data.
-	 * 
-	 * 
-	 */
-	 void SetTick(int aTick) ;
-
-     /**
-	 * GetTick that will be used to represent data.
-	 * 
-	 * 
-	 */
-	 int Tick()const ;
-    	 
-    /**
-     * Constructor.
-     */
-    MulSliderModel();
-
-    /**
-     * Destructor.
-     */
-    ~MulSliderModel();
-
-    
-
-    /** From base class IAlfModel
-     *
-     */
-
-    /**
-     *  Add a new observer to be notified of any changes in the model.
-     *
-     *  @param    aObserver   The model change observer to be added.
-     *  @return void
-     *  @since S60 ?S60_version
-     */
-    void addModelChangeObserver(IAlfModelChangeObserver& aObserver);
-
-    /**
-     *  Remove an observer which is added to get notified of any changes
-     *  in the model.
-     *
-     *  @param aObserver The model change observer to be removed.
-     *  @return void
-     *  @since S60 ?S60_version
-     */
-    void removeModelChangeObserver(IAlfModelChangeObserver& aObserver);
-
-    /**
-     *  API to change the model completely at one short. 
-     *  
-     *  @see IAlfModel
-     *  @param    aData    The new data.
-     *  @return void
-     *  @since S60 ?S60_version
-     */
-    void setData(IAlfVariantType* aData);
-
-    /**
-     * Change a given  of data fields in the model . All model change
-     * observers are notified about the change.
-     *
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices    The container indices to find the correct 
-     *                             location in the data hierarchy.The ownership 
-     *                             is transferred. 
-     * @param aData                The new data to be set.
-     * @since S60 ?S60_version
-     */
-    void updateData(int  aNumContainerIndices,
-        int* aContainerIndices,
-        IAlfVariantType* aData);
-
-    /**
-     * Add a  number of data fields in the model data. All model change
-     * observers are notified about the change.
-     *
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices    The container indices to find the correct 
-     *                             location in the data hierarchy.The ownership
-     *                             is transferred. 
-     * @param aData                The new data.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    void addData(int aNumContainerIndices,
-        int* aContainerIndices,
-        IAlfVariantType* aData);
-
-    /**
-     * Remove a  number of data fields in the model data. All model change
-     * observers are notified about the change.
-     *
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices    The container indices to find the correct 
-     *                             location in the data hierarchy.The ownership
-     *                             is transferred.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    void removeData(int aNumContainerIndices, int* aContainerIndices);
-
-    /**
-     *  API for executing batch operations
-     *
-     *  @param aOperationsArray    An RPOinterArray containing the list of 
-     *                             operations to be executed in batch.
-     *  @return void
-     *  @since S60 ?S60_version
-     */
-    void executeOperations(AlfPtrVector<AlfModelOperation>&  aOperationsArray);
-
-    /**
-     *  API for executing one operation at a Time
-     *
-     *  @param aOperation          An Operation to be executed on the model.
-     *  @since S60 ?S60_version
-     */
-    void executeOperation(AlfModelOperation* aOperation);
-
-    /**
-     *  Clears the Model.
-     *
-     *  @return void
-     *  @since S60 ?S60_version
-     */
-    void clearModel();
-       
-    IAlfVariantType* data() const;
-
-    IAlfInterfaceBase* makeInterface(const IfId& aType);
-    
-   /**
-    *  Get the Element Interface.
-    *
-    *  @return The Element pointer.
-    *  @since S60 ?S60_version
-    */
-    IMulSliderBaseElementInternal* GetElement();
-    
-    
-    /**
-     * SetData
-     */
-    void SetData(const MulVisualItem& aSliderItem);
-  
-    
-    /**
-     * Data
-     */
-    const MulVisualItem& Data() const;
-
-    
-    /*
-     * IsLandscape
-     */
-    bool IsLandscape();
-  
-    
-    /**
-     * pointer to slidermodelData.
-     */  
-    void storeWidget(MulSliderWidget* aWidget);
-    
-    void UpdateElement();
- 
-private:
-    
-	/*
-     * pointer to slidermodelData.
-     */ 
-    struct SliderModelDataImpl *mSldrModelData;
-
-    AlfModel* mModel;  //Owned
-    }; // class MulSliderModel
-
-    } // End of namespace Alf
-
-#endif // MUL_SLIDERMODEL_H
-//End Of File
--- a/mulwidgets/mulsliderwidget/inc/mulsliderutils.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* 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: Header for presentation element - Utilities for slider widget.
-*
-*/
-
-
-#ifndef MUL_SLIDERUTILS_H
-#define MUL_SLIDERUTILS_H
-
-
-#include "imulsliderbaseelementinternal.h"
-#include <AknUtils.h>
-#include <alf/alfimagevisual.h>
-
-namespace Alf
-    {
-
-
-/**
- *  Slider Utils implementation.
- *
- *  Implements utility methods to support the slider
- */
-class MulSliderUtils
-    {
-public:
-   
-	/**
-	 * Get the component layout rect value from lct.
-	 *
-	 * @param aId SliderLCTIDs, the LCTID of the component.
-	 * @param aLayout CAlfLayout, the parent layout of the component.
-	 * @param aVariety variety ID of the component.
-	 */
-	 static TAknLayoutRect GetComponentRect(SliderLCTIDs aId, CAlfLayout *aLayout, int aVariety);
-	 
-	 /**
-	 * Get the text component layout rect value.
-	 *
-	 * @param aId SliderLCTIDs, the LCTID of the component.
-	 * @param aLayout CAlfLayout, the parent layout of the component.
-	 * @param aVariety variety ID of the component.
-	 */
-	 static TAknLayoutText GetTextComponentRect(SliderLCTIDs aId, CAlfLayout *aLayout, int aVariety);
-	
-
-	  }; // class MulSliderUtils
-
-    } // End of namespace Alf
-
-#endif // MUL_SLIDERUTILS_H
-//End Of File
--- a/mulwidgets/mulsliderwidget/inc/mulslidervertical.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,376 +0,0 @@
-/*
-* 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: Header for presentation element - vertical slider.
- *
-*/
-
- 
- 
- 
-#ifndef MUL_SLIDERVERTICAL_H
-#define MUL_SLIDERVERTICAL_H
-
-//INCLUDES
-#include <alf/alfanchorlayout.h>
-#include "alf/alfelement.h"
-#include <alf/alfimagevisual.h>
-#include <alf/alflayout.h>
-#include <mul/imulsliderwidget.h>
-
-#include <alf/ialfwidgeteventhandler.h>
-#include <alf/alfbitmapprovider.h>
-
-#include "mulslidermodel.h"
-#include <AknLayout2Def.h>
-#include "imulsliderbaseelementinternal.h"
-
-
-namespace duiuimodel
-    {
-    class DuiNode;
-    }
-
-using namespace osncore;
-
-namespace Alf
-    {
-    struct MulSliderPos;
-
-    
-// Forward declarations
-class IAlfWidgetEventHandler;
-class CAlfWidgetControl;
-class MulSliderLongTapTimer;
-
-
-/**
- * Default Base Element of the Scrollbar.
- */
-class MulSliderVertical : 
-    public AlfElement, 
-    public IAlfWidgetEventHandler,
-    public IMulSliderBaseElementInternal,
-    public MAlfBitmapProvider
-    {
-public:
-    
-    /**
-     * Constructor
-     * @param aControl Widget control.
-     * @param aName Name of the item element.
-     * @param aCustomData .
-     * @param mNode .
-     * @since S60 ?S60_version
-     */
-    MulSliderVertical (
-        CAlfWidgetControl& aControl, 
-        const char* aName, 
-        AlfCustomInitDataBase* aCustomData=NULL);
-
-    /**
-     * Destructor 
-     */    
-    virtual ~MulSliderVertical();
-    
-    /**
-     * bitmap provider.
-     * @since S60 ?S60_version
-     * @param aId bitmap ID.
-     * @param aBitmap bitmap.
-     * @param aMaskBitmap mask for the bitmap.
-     * @return 
-     */
-		void ProvideBitmapL (TInt aId, 
-		                     CFbsBitmap *& aBitmap, 
-                         CFbsBitmap *& aMaskBitmap);
-
-    /**
-     * From IAlfInterfaceBase.
-     * Getter for interfaces provided by the Button widget class.
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    virtual IAlfInterfaceBase* makeInterface(const IfId& aType);
-    
-      
-    /**
-	 * Sets the text for the counter visual
-	 * 
-	 * @param aNewString The counter visual text value 
-	 * @throw Invalid Argument incase there is no layout at zeroth position
-	 */ 
-    void SetTextLabels(const char* aStr);
-         
-      
-    //--------------------------------------------------------------------------
-    //Overriden Apis from IAlfWidgetEventHandlers
-    //--------------------------------------------------------------------------
-    //
-
-    /**
-     * Used to identify event handlers that are capable of handling
-     * a specified key or custom event.
-     * Pointer event handlers cannot be identified directly, 
-     * since they are dependent on the presentation.
-     * Therefore, pointer event handlers should be associated with
-     * a custom event ID that can be used to simulate the actual pointer event.
-     * @since S60 ?S60_version
-     * @param aEvent The event.
-     * @param aControl
-     * @return <code>ETrue</code> if the event can be processed. 
-     * Otherwise <code>EFalse</code>.
-     */
-    bool accept(CAlfWidgetControl& aControl, const TAlfEvent& aEvent) const;
-
-
-   
-    /**
-     * @see IAlfWidgetEventHandler
-     */
-    virtual AlfEventHandlerType eventHandlerType();
-
-    /**
-     * @see IAlfWidgetEventHandler
-     */
-    virtual AlfEventHandlerExecutionPhase eventExecutionPhase();
-    /**
-     * Called when an input event is being offered to this event handler.
-     * The return value is used to indicate if the event was processed.
-     * Processed events may not be offered to other event handlers.
-     * @since S60 ?S60_version
-     * @param aControl    The parent control of this event handler.
-     * @param aEvent    The event.
-     * @return <code>ETrue</code> if the event was processed. 
-     * Otherwise <code>EFalse</code>.
-     */
-   
-   
-    virtual AlfEventStatus offerEvent(
-        CAlfWidgetControl& aControl, 
-        const TAlfEvent& aEvent );
-
-    /**
-     * Defines the widget states, where the event handler is active.
-     * By default, if this method is not called, the event handler is expected
-     * to be active in all states.
-     * @param aStates A bitmask defining the widget states, where the event
-     * handler is active. The low 16 bits are reserved for the states
-     * defined by the framework in <TODO: add reference>. The high 16 bits are
-     * available for states defined by the client code.
-     */
-    void setActiveStates(unsigned int aStates);
-    
-    /**
-     * Sets AlfWidgetEventHandlerInitData to event handler.
-     * @param aData A data structure which contains for example id of the event
-     * handler.
-     */
-    virtual void setEventHandlerData(
-        const AlfWidgetEventHandlerInitData& /*aData*/ )
-        {
-        
-        }
-    
-    /**
-     * Returns AlfWidgetEventHandlerInitData.
-     * @return  A pointer to AlfWidgetEventHandlerInitData structure 
-     * which contains for example id of the event handler.
-     */
-    virtual AlfWidgetEventHandlerInitData* eventHandlerData()
-        {
-          return NULL;
-        }
-
-    /**
-     * Friend class for timer functions.
-     * 
-     */
-    friend class MulSliderLongTapTimer;
-
-
-	//--------------------------------------------------------------------------
-	//Overriden Apis from IMulSliderBaseElementInternal
-	//--------------------------------------------------------------------------
-	//
-	
-    /**
-     * Notified when the base layout of scrollbar changes .
-     * Relayouts all the visuals with respect to the new size.
-     */
-    void baseLayoutSizeChanged();
-   
-    /**
-     * createVisualization
-     * @param aTemplateId .aTemplateId takes 3 or 9 as parameter.
-     */
-    void createVisualization(sliderTemplate aTemplateId);
-    
-    /**
-     * updateVisualization
-     * Notified when the base layout of scrollbar changes .
-     * Relayouts all the visuals with respect to the new size.
-     */
-    void updateVisualization();
-
-   /**
-     * Updates Text visualization.
-     * 
-	   */
-    
-     void updateTextVisualization();
-   /**
-         * Sets transparency for the Widget
-         * @param aTransparent - opacity level
-         */ 
-     void MakeTransparent(bool aVal);
-	 /**
-	   *Stops all event handling 
-	   *
-	   *
-	   */
-     void stopEvents() ;
- private: 
-    /**
-     * Set skin images on scrollbar track
-     */
-    void setTrackImage();
-    
-    /**
-     * Set skin images on scrollbar thumb
-     */
-    void setThumbImage();
-	/**
-	 * Sets the position of the handle
-	 * 
-	 * 
-	 */
-    void SetThumbPosition(); 
-    
-	/**
-     * Handles the key events only.     
-     *   
-     * @param aEvent event to be handled
-     * @returns The return value is used to indicate if the event was processed.
-     */   
-	AlfEventStatus HandleKeyEvents(const TAlfEvent& aEvent);
-	
-   /**
-     * Handles the pointer events only.     
-     * 
-     *  
-     * @param aEvent  Event to be handled
-     * @returns The return value is used to indicate if the event was processed.
-     */   
-	AlfEventStatus HandlePointerEvents( TAlfEvent* aEvent);
-	
-	/**
-     * handles the pointerDown event
-     *   
-     * @param aEvent  Event to be handled
-     * @returns  The return value is used to indicate if the event was processed.
-     */
-    AlfEventStatus handlePointerDownEvent(TAlfEvent * aPntrEvent);
-    		
-    
-private:
-    
-  
-    /**
-     * IsSliderVisual
-     * 
-     */
-     bool IsSliderVisual(CAlfVisual *aVisual);    
-    
-     
-    /**
-     * layout the visuals 
-     * 
-     */
-    void layoutVisuals( sliderTemplate aTemplateId) ; 
-    
-    
-                       
-    /**
-     * 
-     * initializes Model and Widget Pointer
-     */
-    void initializeSliderData();
-     
-     
-                         
-    /**
-     * SetBackgroundBrush
-     * 
-     */                                              
-    void SetBackgroundBrush();
-    
-    /**
-     * ConvertDataToPixels
-     * 
-     */ 
-    void ConvertDataToPixels();
-    
-    /**
-     * updateModelPrimaryValue
-     * 
-     */
-    void updateModelPrimaryValue(int aNewPosValue);
-    
-    /**
-     * Start drag 
-     */
-    bool initializeThumbDragData(const TPoint& aPointerPos); 
-                      
-    
-    /**
-     * Stop drag 
-     */
-    bool stopDrag();
-    
-    /**
-    * handlePointerUpEvent  
-    */
-    void handlePointerUpEvent();
-    
-    /**
-    * snapPrimaryValueToTicks  
-    */
-    void snapPrimaryValueToTicks();
-    
-    /**
-    * trackVisualHit  
-    */
-    AlfEventStatus trackVisualHit(CAlfVisual * aHitVisual);
-    
-private: // Class Data
-    
-
-    struct MulVerticalSliderDataImpl* mData;
-
-    // Structure for storing current and previous values
-	auto_ptr<MulSliderPos> mPosData; 
-      
-      	
-    auto_ptr<MulSliderLongTapTimer> mLongTapTimer;
-    MulSliderModel * mSliderModel;
-    MulSliderWidget * mSliderWidget;
-   
-    }; // end of class 
-    
-    } // end of namespace Alf
-    
-#endif //MUL_SLIDERVERTICAL_H
-//End Of File
--- a/mulwidgets/mulsliderwidget/inc/mulsliderwidget.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,340 +0,0 @@
-/*
-* Copyright (c) 2009 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 ALF_SCROLLBARWIDGET_H
-#define ALF_SCROLLBARWIDGET_H
-
-// ToolKit Includes
-#include <alf/alfanchorlayout.h>
-
-// WidgetModel Includes
-#include <alf/ialfwidgeteventhandler.h>
-#include "alf/alfwidget.h"
-#include <alf/alfexceptions.h>
-
-// Widget Includes
-#include <mul/imulsliderwidget.h>
-#include <mul/imulslidermodel.h>
-
-
-// Forward Declarations
-// From Alfred Client
-class CAlfEnv;
-class CAlfDisplay;
-class CAlfControl;
-
-// From namespace Alf
-namespace Alf
-    {
-// Forward Declarations
-class IAlfVariantType;
-class IAlfElement;
-class IAlfWidgetEventHandler;
-class INode;
-class IAlfWidgetFactoryBase;
-class CAlfWidgetControl;
-class IAlfModel;
-class AlfElement;
-class AlfVisualTemplate;
-//class AlfScrollBarWidgetAttributeOwner;
-    }
-
-//From name space duiuimodel
-namespace duiuimodel
-    {
-class DuiNode;
-    }
-
-
-namespace Alf
-    {
-    class IMulSliderBaseElementInternal;
-
-    /**
-     * A basic slider widget implementation.
-     * Contains methods for creating the default
-     * building blocks for the slider widget.
-     */
-class MulSliderWidget : public IMulSliderWidget
-    {
-public:
-
-    /**
-     * Creator Method.
-     * 
-     * @param aEnv The environment for the widget.
-     * @param aContainer The container widget where this widget is contained.
-     * @param aWidgetId The name of the widget. Not Owned.
-     * @param aFilePath Path to XML file describing the presentation 
-     *                  of the widget. Not Owned.
-     * @param aCustomData Custom data. Not Owned.
-     * @param aNode Node. Not Owned.
-     * @return MulSliderWidget , or NULL if it does not create 
-     */
-    static MulSliderWidget* create(CAlfEnv& aEnv, 
-                                    IAlfContainerWidget& aContainer, 
-                                    const char* aWidgetId, 
-                                    AlfCustomInitDataBase* aCustomData=NULL);
-
-    /**
-     * Virtual Destructor.
-     */ 
-    virtual ~MulSliderWidget();
-
-    // From IAlfInterfaceBase
-    /**
-     * Getter for interfaces provided by the slider widget class.
-     *
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    IAlfInterfaceBase* makeInterface(const IfId& aType);
-
-    // From IAlfWidget
-
-    /**
-     * Return the control
-     */
-    CAlfWidgetControl* control() const;
-    
-    /**
-     * getter for the parent container. The ownership is not passed.
-     * @param none
-     * @return the parent container or NULL if the widget is the root-widget.
-     */
-    virtual IAlfContainerWidget* parent() const;
-
-    /**
-     * Setter for the control. The control is owned by the Alfred environment.
-     *
-     * @since S60 ?S60_version
-     * @param aControl The control for this widget.
-     * @param aDeletePreviousControl delete previous control.TRUE by default.
-     * @return void.
-     */
-    void setControl(CAlfWidgetControl* aControl, 
-                                    bool aDeletePreviousControl = true);
-		/**
-		API returns the Slider Model of the widget.
-    */                                    
-    IMulSliderModel& SliderModel() ;
-    /**
-     * Gets the model.
-     */
-    IAlfModel* model();
-
-    /** 
-     * Sets the model.
-     
-     * @return void.
-     */
-    void setModel(IAlfModel* aModel, bool /*param*/);
-
-    /** 
-     * Return the widget name
-     */
-    const char* widgetName() const;
-
-    /**
-     * sets the focus to the child.
-     
-     * @return void.
-     */
-    void setChildFocus(bool /*aFocus*/);
-
-    
-    
-    /** 
-     * Sets the presentation for the widget using presentation XML file.
-     
-     * Destroys any existing presentation.
-     * @param aFilePath Path to XML file describing the presentation 
-     *                  of the widget. Not Owned.
-     * @exception AlfWidgetException if no visualization node available 
-     *                               in Presentation XML or if no control
-     *                               is associated with the widget.
-     * @exception bad_alloc 
-     * @since S60 ?S60_version
-     * @return void.
-     */
-    virtual void setPresentation(const char* aFilePath);
-    
-	/**
-	 * Set the transparency for the background of the slider widget.
-	 *
-	 * @param True,  to set background as transparent
-	 * @param False, to set background as opaque	
-	 */
-	void MakeTransparent( bool aTransparent ) ;
-	
-	/**
-	 * Enable/Disable key handling .
-	 *
-	 * @param aVal: True,  to handle keyevents by Application
-	 * 		 	  False, to handle keyevents as defined in the control	
-	 */
-	void SetHandleKeyEvent( bool aVal ) ;
-	/**
-	 * API to show the widget
-	 * @param aShow - Shows the widget on value True. 
-	 * @param aTransitionTime - Transition time for widget to be shown.
-	 */
-	void ShowWidget(bool aShow, int aTransitionTime =0);
-	/**
-	 * API returns true if the widget is hidden
-	 */
-	bool IsHidden();
-	/**
-	 * API returns the container layout. 
-	 */
-	const CAlfLayout& ContainerLayout(); 
-		/**
-	 * Update template .
-	 *
-	 * @param aTemplateId: template id
-	 * 		 	 
-	 */
-	void changeTemplate(int aTemplateId);
-	/**
-	 * Adds event Handling for the Widget.
-	 *
-	 * @param aObserver: Observer of widget.
-	 * 		 	 
-	 */
-	void AddEventHandler( IAlfWidgetEventHandler& aObserver) ;
-	/**
-	 * Remove an observer to widget
-	 *
-	 * @param aObserver Observer of widget.
-	 */
-	 void RemoveEventHandler( IAlfWidgetEventHandler& aObserver); 
-	 /**
-	 * Returns opcaity of the widget.
-	 * 		 	 
-	 */
-	 bool GetOpacity(); 
-	 /**
-	 * Returns true if Key handling is enabled by widget.
-	 * 		 	 
-	 */
-	 bool IsKeyEnabled(); 
-	 
-	 /** 
-    	* returns the Slider element 
-    	*/
-    IMulSliderBaseElementInternal* GetSliderElement();
-    
-    
-protected:
-
-    /**
-     * C++ constructor.
-     * 
-     * @param aEnv The environment for the widget.
-     * @param aContainer The container widget where this widget is contained.
-     * @param aWidgetId The name of the widget. Not Owned.
-     * @param aFilePath Path to XML file describing the presentation 
-     *                  of the widget. Not Owned.
-     * @param aCustomData Custom data.
-     * @param aNode Node. Not Owned.
-     */
-    MulSliderWidget(CAlfEnv& aEnv, 
-                        IAlfContainerWidget& aContainer, 
-                        const char* aWidgetId, 
-                        AlfCustomInitDataBase* aCustomData=NULL);
-
-    /**
-     * Methods to create different default elements and control of scroll bar.
-     *
-     * @param aEnv The environment for the widget.
-     * @param aDisplay The display for the widget.
-     * @return void.
-     */
-    void constructDefault(CAlfEnv& aEnv, 
-                            AlfCustomInitDataBase* aCustomData=NULL);
-
-    /**
-     * Constructs widget from declaration.
-     *
-     * @param aEnv The environment for the widget.
-     * @param aNode declaration node.
-     * @return void.
-     */
-    void constructComponentsFromNode(CAlfEnv& aEnv, 
-                                    DuiNode& aNode);
-
-    /**
-     * Constructs widget from declaration. Recursive.
-     *
-     * @param aNode declaration node.
-     */
-    void processTreeRecursively( DuiNode& aNode );
-    
-    /** 
-     * Creates the the widget using presentation XML file.
-     * Other widget parts are default.
-     * @param aEnv Alf Client Environment     
-     * @param aFilePath Path to XML file describing the presentation 
-     *                  of the widget. Not Owned.
-     * @exception AlfWidgetException if no visualization node available 
-     *                               in Presentation XML
-     * @exception bad_alloc      
-     * @since S60 ?S60_version
-     * @return void.
-     */
-    void constructFromPresentationXML(CAlfEnv& aEnv, const char *aFilePath);
-
-    /**
-     * Creates the default control.
-     *
-     * @param aEnv The environment for the widget.
-     * @return The Control.
-     */
-    CAlfWidgetControl *constructDefaultControl(CAlfEnv& aEnv);
-    
-private :
-		/**
-			* Creates a Slider elment.
-			* @param - aElementId 
-			*/
-    void CreateSliderElement(const char* aElementId);
-    
-private:
-
-    /**
-     * Base widget. Own.
-     */
-     
-    auto_ptr<AlfWidget> mWidget;
-     
-    /*
-     * IAlfAttributeOwner implementation. Own.
-     */
-    //auto_ptr<AlfScrollBarWidgetAttributeOwner> mAttributeOwner;
-    	 
-	IMulSliderBaseElementInternal* mElement;
-    IMulSliderModel * mSliderModel; 
-    CAlfWidgetControl * mSliderControl;
-    bool mOpacity;
-    bool mHandleKeyEvent;
-    }; // class MulSliderWidget
-    
-    } // namespace Alf
-
-#endif // C_ALFSCROLLBARWIDGET_H
--- a/mulwidgets/mulsliderwidget/inc/mulsliderwidgetfactoryplugin.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2009 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:  Factory plugin for slider widget.
-*
-*/
-
-#ifndef MUL_SLIDERWIDGETFACTORYPLUGIN_H
-#define MUL_SLIDERWIDGETFACTORYPLUGIN_H
-
-// Includes
-#include <ecom/implementationproxy.h>
-#include <alf/ialffactoryplugin.h>
-#include <osn/osndefines.h>
-#include "mulslidervertical.h"
-
-enum ESliderProductInfo
-    {
-    ESliderWidget,
-    
-    ESliderModel,
-      
-    ESliderHorizontalElement,
-       
-    ESliderVerticalElement,
-     
-    ESliderProgressbarElement
-    };
-namespace Alf
-    {
-
-class IfId;
-
-    /**
-     *  Plugin factory to create widget factory
-     *
-     *  @lib alfwidgetfactory.dll
-     *  @since S60 5.0
-     */
-class MulSliderWidgetFactoryPlugin: public IAlfFactoryPlugin
-    {
-
-public:
-
-    /**
-     * Two-phased Symbian constructor.
-     */
-    static MulSliderWidgetFactoryPlugin* NewL();
-
-    /**
-     * Destructor 
-     */
-    virtual ~MulSliderWidgetFactoryPlugin();
-
-    // from IAlfFactoryPlugin
-
-    /**
-     * Create factory product.
-     * @since Series 60 5.0
-     * @param aProduct Product to create.
-     * @param aInitData Initialization data for product
-     * @return Instance or NULL
-     */
-    IAlfInterfaceBase* createProduct ( const char* aProduct, void* aInitData );
-
-    /**
-     * Count available products
-     *
-     * @since S60 5.0
-     * @return Product count
-     */
-    int productCount() const;
-
-    /**
-     * Fetch product info by index
-     *
-     * @param aIndex List index
-     * @since S60 5.0
-     * @return Descriptor describing product
-     */
-    const char* productInfo ( int aIndex ) const;
-
-    /**
-     * From IAlfInterfaceBase.
-     * Creates interface based on the given type.
-     */
-    IAlfInterfaceBase* makeInterface ( const IfId& aType );
-    };
-
-    } // namespace Alf
-
-    /**
-     * Exported factory function required by ECOM-framework
-     */
-    OSN_IMPORT const TImplementationProxy* ImplementationGroupProxy( 
-        TInt& aTableCount );
-
-#endif //MUL_SLIDERWIDGETFACTORYPLUGIN_H
-//End Of File
--- a/mulwidgets/mulsliderwidget/rom/mulsliderwidget.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Slider Widget iby file.
-*
-*/
-
-#ifndef __MULSLIDERWIDGET_IBY__
-#define __MULSLIDERWIDGET_IBY__
-
-
-ECOM_PLUGIN( mulsliderwidget.dll, mulsliderwidget.rsc )
-
-SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,mulsliderwidget)
-
-data=EPOCROOT##epoc32\data\z\resource\slider\mui_cover_handle.svg	\resource\slider\mui_cover_handle.svg
-data=EPOCROOT##epoc32\data\z\resource\slider\mui_handle.png	        \resource\slider\mui_handle.png
-data=EPOCROOT##epoc32\data\z\resource\slider\mui_slider_progress.svg	\resource\slider\mui_slider_progress.svg
-data=EPOCROOT##epoc32\data\z\resource\slider\mui_slider_lsc.svg	\resource\slider\mui_slider_lsc.svg
-data=EPOCROOT##epoc32\data\z\resource\slider\mui_dl_progress_lsc.svg	\resource\slider\mui_dl_progress_lsc.svg
-data=EPOCROOT##epoc32\data\z\resource\slider\mui_slider_prt.svg 	\resource\slider\mui_slider_prt.svg
-data=EPOCROOT##epoc32\data\z\resource\slider\qgn_indi_slider_zoom_in.svg	     \resource\slider\qgn_indi_slider_zoom_in.svg	
-data=EPOCROOT##epoc32\data\z\resource\slider\qgn_indi_slider_zoom_out.svg        \resource\slider\qgn_indi_slider_zoom_out.svg
-data=EPOCROOT##epoc32\data\z\resource\slider\qgn_indi_volumeslider_audio_off.svg \resource\slider\qgn_indi_volumeslider_audio_off.svg
-data=EPOCROOT##epoc32\data\z\resource\slider\qgn_indi_volumeslider_audio_on.svg  \resource\slider\qgn_indi_volumeslider_audio_on.svg
-data=EPOCROOT##epoc32\data\z\resource\slider\qgn_indi_volumeslider_minus.svg     \resource\slider\qgn_indi_volumeslider_minus.svg
-data=EPOCROOT##epoc32\data\z\resource\slider\qgn_indi_volumeslider_plus.svg		 \resource\slider\qgn_indi_volumeslider_plus.svg
-
-#endif // __MULSLIDERWIDGET_IBY__
-
-// End of file
--- a/mulwidgets/mulsliderwidget/src/2000FA7F.rss	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2009 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:   Slider widget resource file
-*
-*/
-
-#include <ecom/registryinfo.rh>
-#include "alf/alfecompluginfactoryuid.rh"
-
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = 0x2000FA7F;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = KFactoryPluginUid;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = 0x2000FA80;
-                version_no = 1;
-                display_name = "";
-                default_data = "mulsliderwidget||mulslidermodel";
-                opaque_data = "";
-                }                       
-            };
-        }
-    };
-}
\ No newline at end of file
--- a/mulwidgets/mulsliderwidget/src/mulhorizontalslider.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1207 +0,0 @@
-/*
-* 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:  The implementation for presentation elements.
-*
-*/
-
-#include <avkon.hrh>
-#include <avkon.mbg> 
-//Toolkit Includes
-// Alfred Client includes
-#include <alf/alfenv.h>
-#include <alf/alfroster.h>
-#include <alf/alfdisplay.h>
-#include <alf/alfbitmapprovider.h>
-#include <alf/alftexture.h> 
-#include <alf/alfbrusharray.h>
-#include <alf/alftextvisual.h>
-#include <alf/alfevent.h>
-
-//Widget Model Includes
-#include <alf/alfwidgetevents.h>
-#include <alf/alfwidgetenvextension.h>
-#include <alf/ialfmodel.h>
-
-//Avkon Includes
-#include <AknUtils.h>
-#include <AknsConstants.h>
-#include <utf.h> 
-#include <math.h>
-
-//slider widget includes
-#include <mul/mulevent.h>
-#include "mulsliderhorizontal.h"
-#include "mulsliderwidget.h"
-#include "mulslidercontrol.h"
-#include "mulslidermodel.h"
-#include "mulsliderdefinitions.h"
-
-#include "mulsliderutils.h"
-
-//Timer function includes
-#include "mulsliderlongtaptimer.h"
-
-
-namespace Alf
-    {
-    
-// Structure to store data for the slider element class    
-
- struct MulHorizontalSliderDataImpl
-     {
-
-     bool mOperation;// Drag state	
-     float mTickInPixels;// Tick size in Pixel
-     bool mIsLongTapObserverSet;// Is LongTap Event observer set
-     CAlfVisual * mVisual;// Stores thje current visual hit 
-     TPoint mDragPoint;// Point at which drag started 
-     TPoint mLongTapPos;// Point at which button down happened 
-     bool mLongTapStarted;// Long tap timer started (true)
-     int mDragStartStep;// Tick positon of Drag Start
-     int mCurrTick;// Stores current tick
-     int mTrackStartPoint;// Slider Track Start Point in pixel
-     int mTick;// Stores Tick Size
-     bool mLayoutMirrored;// 
-     int mdirection;// 0 - nomovement,1 left movement 2 right
-     int mImageTextureId; // to differtiate between textures 
-     int mTrackTopTextureId;// to store the auto generated texture id's
-     int mTrackBottomTextureId;
-     int mTrackMiddleTextureId;
-     int mMarkerTextureId;
-     // Visualization Layouts
-     CAlfLayout* mMainLayout;
-     CAlfLayout* mBaseSliderLayout;
-     CAlfLayout* mSliderCentre;
-     CAlfImageVisual* mTrackLeftImage;
-     CAlfImageVisual* mTrackMiddleImage;
-     CAlfImageVisual* mTrackRightImage;
-     CAlfLayout* mSliderCentreGhost;
-     CAlfImageVisual* mSliderHandle;
-     CAlfLayout* mSliderHandleGhost;
-     CAlfImageVisual* mSliderProgressDownload;
-     CAlfImageVisual* mSliderProgressCentre;
-     CAlfTexture* mTexture;
-
-     MulHorizontalSliderDataImpl()
-         {
-         mOperation = 0;	
-         mTickInPixels = 0;
-         mIsLongTapObserverSet = 0;
-         mDragPoint.SetXY(0,0) ;
-         mLongTapPos.SetXY(0,0);
-         mLongTapStarted = 0;
-         mDragStartStep = 0;
-         mCurrTick = 0;
-         mTrackStartPoint = 0;
-         mImageTextureId = 0;
-         mTrackTopTextureId = 0 ;
-         mTrackBottomTextureId = 0;
-         mTrackMiddleTextureId = 0;
-         mMarkerTextureId = 0;
-         mVisual = NULL;
-         mMainLayout = NULL;
-         mBaseSliderLayout = NULL;  
-         mSliderCentre = NULL;
-         mSliderHandle = NULL;
-         mSliderProgressCentre = NULL;
-         mBaseSliderLayout     = NULL;       
-         mSliderCentreGhost = NULL;
-         mSliderHandleGhost = NULL;   
-         mLayoutMirrored = false;  
-         mdirection = 0;
-         } 
-
-     };
- 
- // Bitmaps for slider
-_LIT(KAvkonBitmapFile,"\\resource\\apps\\avkon2.mbm"); 
-//_LIT(KImageViewerBitmapFile,"\\resource\\apps\\ImageViewer.mif");
-// Bitmap Texture ID
-const TInt KAlfTrackTopTextureId = 1;
-const TInt KAlfTrackBottomTextureId = 2;
-const TInt KAlfTrackMiddleTextureId = 3;
-const TInt KAlfMarkerTextureId = 4;
-//const TInt KAlfMarkerSelectedTextureId = 5;
-        
-// ---------------------------------------------------------------------------
-//  C++ default constructor.
-// ---------------------------------------------------------------------------
-//
-MulSliderHorizontal::MulSliderHorizontal(
-                                    CAlfWidgetControl& aControl,
-                                    const char* aName, 
-                                    AlfCustomInitDataBase* /*aCustomData*/)
-    : mData(NULL)
-    {
-    // Base class (AlfElement) construct
-    construct(aControl, aName);
-    mData = new (EMM) MulHorizontalSliderDataImpl;
-	mPosData.reset(new(EMM)MulSliderPos);
-	// Timer for generating tap and hold repeat events  
-    mLongTapTimer.reset(new (EMM) MulSliderLongTapTimer(this)); 
-    mDragVisual = NULL; 
-    mSliderModel = NULL;
-    mSliderWidget = NULL; 
-    // Store the widget and model pointer
-    initializeSliderData();  
-    }
-
-// ---------------------------------------------------------------------------
-//  Destructor
-// ---------------------------------------------------------------------------
-//
-MulSliderHorizontal::~MulSliderHorizontal()
-    {
-    if(mData)
-        {
-       
-        (&control().Env())->TextureManager().UnloadTexture(mData->mTrackTopTextureId);
-        (&control().Env())->TextureManager().UnloadTexture(mData->mTrackBottomTextureId);
-        (&control().Env())->TextureManager().UnloadTexture(mData->mTrackMiddleTextureId);
-        // (&control().Env())->TextureManager().UnloadTexture(KAlfMarkerSelectedTextureId);
-        (&control().Env())->TextureManager().UnloadTexture(mData->mMarkerTextureId);
-        // Visualization Data
-        delete mData;
-        }
-    else
-        {
-
-        }
-
-    }//End of Destructor
-
-// ---------------------------------------------------------------------------
-// From class MAlfInterfaceBase.
-// Getter for interfaces provided by the slider widget.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* MulSliderHorizontal::makeInterface(
-                        const IfId& aType)
-    {
-    UString param (aType.mImplementationId);
-     if (param == IAlfWidgetEventHandler::type().mImplementationId)
-        {
-        return static_cast<IAlfWidgetEventHandler*>(this);
-        }
-
-    else if (param == 
-        IMulSliderBaseElementInternal::type().mImplementationId)
-        {
-        return static_cast<IMulSliderBaseElementInternal*>(this);
-        }  
-    else
-        {
-        return AlfElement ::makeInterface(aType);
-        }  
-   
-    }
-
-
-//--------------------------------------------------------------------------
-// APIs from the IMulSliderBaseElement 
-//--------------------------------------------------------------------------
-
-// ---------------------------------------------------------------------------
-// Gets called when the parent layout is relayouted.
-// resets all the anchor points and updates the visualization
-// ---------------------------------------------------------------------------
-//
-void MulSliderHorizontal::baseLayoutSizeChanged()
-    {
-    mData->mMainLayout->ClearFlag(EAlfVisualFlagLayoutUpdateNotification); 
-    if(mData->mMainLayout)
-        {
-        // This is a hack to resolve screen refresh issue
-        control().Env().RefreshCallBack(&(control().Env()));
-        // Layout the visualization with correct LCT values 
-        layoutVisuals(mSliderModel->GetTemplate());
-        // Convert all the user defined data to pixels
-        ConvertDataToPixels();
-        // Set the thumb position to the current tick
-        SetThumbPosition();
-        if(!mSliderModel->IsLandscape())
-            {
-            if(mSliderWidget->GetOpacity())
-                {
-                TAlfTimedValue opacity(1,0);
-                mData->mMainLayout->SetOpacity(opacity);
-                }
-            }
-        else
-            {
-            TAlfTimedValue opacity(0,0);
-            mData->mMainLayout->SetOpacity(opacity);
-            } 
-        } 
-
-    mData->mMainLayout->SetFlag(EAlfVisualFlagLayoutUpdateNotification);   
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfWidgetEventHandler.
-// ---------------------------------------------------------------------------
-//  
-
-
-// ---------------------------------------------------------------------------
-//  Destructor
-// ---------------------------------------------------------------------------
-//
-void MulSliderHorizontal::setActiveStates(
-    unsigned int /*aStates*/)
-    {
-    //do nothing
-    }
-
-
-
-// ---------------------------------------------------------------------------
-//  initializes Model and Widget Pointer
-// ---------------------------------------------------------------------------
-//
-
-void  MulSliderHorizontal::initializeSliderData() 
-    {
-    // initialize the Slider Widget Pointer;
-    IAlfWidgetFactory& widgetFactory = 
-    AlfWidgetEnvExtension::widgetFactory(control().Env());
-    mSliderWidget = static_cast<MulSliderWidget*>(widgetFactory.findWidget(
-            control().widget()->widgetName()));
-
-    // initialize the Slider Model Pointer;
-    mSliderModel = static_cast<MulSliderModel*>(mSliderWidget->model());
-    }
-    
-// ---------------------------------------------------------------------------
-// layoutVisuals
-// ---------------------------------------------------------------------------
-// 
-void MulSliderHorizontal::layoutVisuals(sliderTemplate /*aTemplateId*/)
-    {
-    // TAknLayoutRect to store the Lct rect 
-    TAknLayoutRect layoutRect;
-    CAlfControl* ctrl = (CAlfControl*)&control();
-
-    //get the lct rect for mBaseSliderLayout and set it 
-    //aacf_slider_pane(0)
-    layoutRect = MulSliderUtils::GetComponentRect(
-            EHSliderPane, 
-            mData->mMainLayout,
-            KVariety0);
-    mData->mBaseSliderLayout->SetRect(
-            TRect( TPoint( 0,0 ),
-                    TSize( layoutRect.Rect().Size().iWidth, 
-                            layoutRect.Rect().Size().iHeight ))) ;
-
-    mData->mSliderCentreGhost->SetRect(
-            TRect( TPoint( 0,0 ),
-                    TSize( layoutRect.Rect().Size().iWidth, 
-                            layoutRect.Rect().Size().iHeight ))) ;
-
-    //get the lct rect for mSliderCentre and set it 
-    //aaslider_bg_pane(0)
-    layoutRect = MulSliderUtils::GetComponentRect(
-            EHSliderCenter,
-            mData->mBaseSliderLayout,
-            KVariety0);
-
-
-    mData->mSliderCentre->SetRect(
-            TRect( TPoint(layoutRect.Rect().iTl.iX,
-                    layoutRect.Rect().iTl.iY ),
-                    TSize( layoutRect.Rect().Size().iWidth, 
-                            layoutRect.Rect().Size().iHeight))) ; 
-
-
-   
-    //TAknLayoutRect handleGostRect = layoutRect;    
-    //get the lct rect for mSliderHandle and set it 
-    //aacf_slider_pane_g1(0)
-    layoutRect = MulSliderUtils::GetComponentRect(
-            EHSliderHandle,mData->mBaseSliderLayout,KVariety1);
-
-    // This is a correction since the handle LCT data is not correct
-   /* mData->mSliderHandle->SetRect(
-            TRect( TPoint(handleGostRect.Rect().iTl.iX + 
-                    (handleGostRect.Rect().Size().iWidth - 
-                            layoutRect.Rect().Size().iWidth)/2    ,
-                            handleGostRect.Rect().iTl.iY + 
-                            (handleGostRect.Rect().Size().iHeight -
-                                    layoutRect.Rect().Size().iHeight)/2 ),
-                                    TSize( layoutRect.Rect().Size().iWidth, 
-                                            layoutRect.Rect().Size().iHeight ))) ; */
-    mData->mSliderHandle->SetRect(
-                TRect( TPoint(layoutRect.Rect().iTl.iX,
-                        layoutRect.Rect().iTl.iY ),
-                                        TSize( layoutRect.Rect().Size().iWidth, 
-                                                layoutRect.Rect().Size().iHeight ))) ;
-    mData->mSliderHandleGhost->SetRect(
-               TRect( TPoint(layoutRect.Rect().iTl.iX,
-                       mData->mBaseSliderLayout->Pos().iX.ValueNow() ),
-                       TSize( layoutRect.Rect().Size().iWidth, 
-                               mData->mBaseSliderLayout->Size().iY.ValueNow() ))) ;
-    //get the lct rect for mTrackLeftImage and set it 
-    //aaslider_bg_pane_g1(0)  
-    layoutRect = MulSliderUtils::GetComponentRect(
-            EHSliderLeft,mData->mSliderCentre,0);
-
-    mData->mTrackLeftImage->SetRect(
-            TRect( TPoint(layoutRect.Rect().iTl.iX,
-                    layoutRect.Rect().iTl.iY ),
-                    TSize( layoutRect.Rect().Size().iWidth, 
-                            layoutRect.Rect().Size().iHeight ))) ; 
-
-    //get the lct rect for mTrackMiddleImage and set it 
-    //aaslider_bg_pane_g2_copy1(0)
-    layoutRect = MulSliderUtils::GetComponentRect(
-            EHSliderCentre,mData->mSliderCentre,0);
-
-    mData->mTrackMiddleImage->SetRect(
-            TRect( TPoint(layoutRect.Rect().iTl.iX,
-                    layoutRect.Rect().iTl.iY ),
-                    TSize( layoutRect.Rect().Size().iWidth,
-                            layoutRect.Rect().Size().iHeight ))) ; 
-
-    //get the lct rect for mTrackRightImage and set it 
-    //aaslider_bg_pane_g2(0)
-    layoutRect = MulSliderUtils::GetComponentRect(
-            EHSliderRight,mData->mSliderCentre,0);
-
-    mData->mTrackRightImage->SetRect(
-            TRect( TPoint(layoutRect.Rect().iTl.iX,
-                    layoutRect.Rect().iTl.iY ),
-                    TSize( layoutRect.Rect().Size().iWidth, 
-                            layoutRect.Rect().Size().iHeight ))) ; 
-
-
-    if(mData->mTrackLeftImage && 
-            mData->mTrackMiddleImage && 
-            mData->mTrackRightImage)
-        {
-        setTrackImage();
-        }
-
-    if(mData->mSliderHandle)
-        {
-        mData->mImageTextureId = KAlfMarkerTextureId;
-        mData->mTexture = &((ctrl->Env()).TextureManager().CreateTextureL(
-                KAlfAutoGeneratedTextureId/*KAlfMarkerTextureId*/,
-                (MAlfBitmapProvider *)this,
-                (TAlfTextureFlags)(EAlfTextureFlagRetainResolution|EAlfTextureFlagSkinContent)));
-
-        TAlfImage markerImage(*mData->mTexture );
-        mData->mSliderHandle->SetImage(markerImage);
-
-        }
-
-    }
-
-// ---------------------------------------------------------------------------
-// Used for setting images for the track 
-// ---------------------------------------------------------------------------
-//
-
-void MulSliderHorizontal::setTrackImage()
-    {
-    TInt flags = EAlfTextureFlagSkinContent;
-    flags |= EAlfTextureFlagAutoSize;
-    CAlfControl* ctrl = (CAlfControl*)&control();
-    //create texture for leftimage
-    mData->mImageTextureId = KAlfTrackTopTextureId;
-    mData->mTexture = &((ctrl->Env()).TextureManager().CreateTextureL(
-            KAlfAutoGeneratedTextureId/*KAlfTrackTopTextureId*/,
-            (MAlfBitmapProvider *)this,
-            (TAlfTextureFlags)(EAlfTextureFlagRetainResolution|
-                    EAlfTextureFlagSkinContent)));
-
-    TAlfImage trackLeftImage(*mData->mTexture );
-
-    //create texture for middleimage
-    mData->mImageTextureId = KAlfTrackMiddleTextureId;
-    mData->mTexture = &((ctrl->Env()).TextureManager().CreateTextureL(
-            KAlfAutoGeneratedTextureId/*KAlfTrackMiddleTextureId*/,
-            (MAlfBitmapProvider *)this,
-            (TAlfTextureFlags)(EAlfTextureFlagRetainResolution|
-                    EAlfTextureFlagSkinContent)));
-    TAlfImage trackMiddleImage(*mData->mTexture );
-    //create texture for right image
-    mData->mImageTextureId = KAlfTrackBottomTextureId;
-    mData->mTexture = &((ctrl->Env()).TextureManager().CreateTextureL(
-            KAlfAutoGeneratedTextureId/*KAlfTrackBottomTextureId*/,
-            (MAlfBitmapProvider *)this,
-            (TAlfTextureFlags)(EAlfTextureFlagRetainResolution|
-                    EAlfTextureFlagSkinContent)));
-
-    TAlfImage trackRightImage(*mData->mTexture );
-    // Set Image on visuals
-    if(AknLayoutUtils::LayoutMirrored())
-        {
-        mData->mTrackLeftImage->SetImage(trackRightImage);
-        mData->mTrackRightImage->SetImage(trackLeftImage);
-        }
-    else
-        {
-        mData->mTrackLeftImage->SetImage(trackLeftImage);
-        mData->mTrackRightImage->SetImage(trackRightImage);
-        }
-
-    mData->mTrackMiddleImage->SetImage(trackMiddleImage); 
-
-    }//End of setImage
-        
-// ---------------------------------------------------------------------------
-// ProvideBitmapL()
-// ---------------------------------------------------------------------------
-//
-void MulSliderHorizontal::ProvideBitmapL (TInt aId, 
-                                         CFbsBitmap *& aBitmap, 
-                                         CFbsBitmap *& aMaskBitmap)
-    {
-    TAknLayoutRect layoutRect;
-    TRect rect;
-    TSize size;
-    switch(mData->mImageTextureId)
-        {
-        case KAlfTrackTopTextureId:
-            {
-            AknIconUtils::CreateIconL(
-                   aBitmap,
-                   aMaskBitmap,
-                   KAvkonBitmapFile,
-                   EMbmAvkonQgn_graf_nslider_end_left,
-                   EMbmAvkonQgn_graf_nslider_end_left_mask );
-
-
-            layoutRect = MulSliderUtils::GetComponentRect(
-                   EHSliderLeft,mData->mSliderCentre,KVariety0);
-
-            AknIconUtils::SetSize( aBitmap,
-                   TSize(layoutRect.Rect().Size().iWidth,
-                           layoutRect.Rect().Size().iHeight),
-                           EAspectRatioNotPreserved);
-            mData->mImageTextureId = 0;
-            mData->mTrackTopTextureId = aId;
-            }
-            break;
-        case KAlfTrackBottomTextureId:
-            {
-            AknIconUtils::CreateIconL(
-                    aBitmap,
-                    aMaskBitmap,
-                    KAvkonBitmapFile,
-                    EMbmAvkonQgn_graf_nslider_end_right,
-                    EMbmAvkonQgn_graf_nslider_end_right_mask );
-            layoutRect = MulSliderUtils::GetComponentRect(
-                    EHSliderRight,
-                    mData->mSliderCentre,
-                    KVariety0);
-
-            AknIconUtils::SetSize( aBitmap,
-                    TSize(layoutRect.Rect().Size().iWidth,
-                            layoutRect.Rect().Size().iHeight),
-                            EAspectRatioNotPreserved);
-
-    
-            mData->mImageTextureId = 0;
-            mData->mTrackBottomTextureId = aId;
-            }
-            break;
-        case KAlfTrackMiddleTextureId:
-            {
-            AknIconUtils::CreateIconL(
-                    aBitmap,
-                    aMaskBitmap,
-                    KAvkonBitmapFile,
-                    EMbmAvkonQgn_graf_nslider_middle,
-                    EMbmAvkonQgn_graf_nslider_middle_mask );
-
-            //AknIconUtils::SetSize( aBitmap,TSize(304,14),EAspectRatioNotPreserved);    
-            layoutRect = MulSliderUtils::GetComponentRect(
-                    EPSliderCentre,
-                    mData->mSliderCentre,
-                    KVariety0);
-            AknIconUtils::SetSize( aBitmap,
-                    TSize(layoutRect.Rect().Size().iWidth,
-                            layoutRect.Rect().Size().iHeight),
-                            EAspectRatioNotPreserved);
-            mData->mImageTextureId = 0;
-            mData->mTrackMiddleTextureId = aId;
-            }
-            break;
-        case KAlfMarkerTextureId:
-            {
-            AknIconUtils::CreateIconL(
-                    aBitmap,
-                    aMaskBitmap,
-                    KAvkonBitmapFile,
-                    EMbmAvkonQgn_graf_nslider_marker,
-                    EMbmAvkonQgn_graf_nslider_marker_mask );            
-
-            layoutRect = MulSliderUtils::GetComponentRect(
-                    EHSliderHandle,
-                    mData->mBaseSliderLayout,
-                    KVariety1);
-
-            AknIconUtils::SetSize( aBitmap,
-                    TSize(layoutRect.Rect().Size().iWidth,
-                            layoutRect.Rect().Size().iHeight),
-                            EAspectRatioNotPreserved);
-            mData->mImageTextureId = 0;
-            mData->mMarkerTextureId = aId;
-            }
-        default:
-            break;
-               
-        }
-    }
- 
-    
-// ---------------------------------------------------------------------------
-//  ConvertDataToPixels
-// ---------------------------------------------------------------------------
-// 
-void MulSliderHorizontal::ConvertDataToPixels()   
-    {
-    // Calculate the range in pixel values
-    int distance = (mData->mSliderCentre->Size().iX.ValueNow() - 
-            mData->mSliderHandle->Size().iX.ValueNow());
-    if((mSliderModel->MaxRange() - mSliderModel->MinRange()) != 0)
-        {
-        // Calculate Tick Size in Pixels
-        mData->mTickInPixels = 
-        (float)distance /(mSliderModel->MaxRange() 
-                - mSliderModel->MinRange()) ;                             
-        }
-    // Get the track start pixel value  
-    mData->mTrackStartPoint = mData->mSliderCentre->Pos().iX.ValueNow()   ;  
-    // Store current tick
-    mData->mCurrTick =  mSliderModel->PrimaryValue() ; 
-    mData->mTick = mSliderModel->Tick();
-    }
-    
-    
-// ---------------------------------------------------------------------------
-//  createVisualization
-// ---------------------------------------------------------------------------
-// 
-void MulSliderHorizontal::createVisualization(sliderTemplate /*aTemplateId*/)
-    {
-    // Create the visualization
-    CAlfControl* ctrl = (CAlfControl*)&control();
-    // Visual Hierarchy creation
-    //creating mMainLayout 
-    mData->mMainLayout = CAlfLayout::AddNewL(*ctrl,NULL); 
-    // set the flag for Notifications and mirroring  
-    mData->mMainLayout->SetFlag(EAlfVisualFlagLayoutUpdateNotification);
-    mData->mMainLayout->SetFlag(EAlfVisualFlagAutomaticLocaleMirroringEnabled);
-    // create mBaseSliderLayout 
-    mData->mBaseSliderLayout = CAlfLayout::AddNewL(*ctrl,mData->mMainLayout);
-    mData->mBaseSliderLayout->SetFlag(EAlfVisualFlagAutomaticLocaleMirroringEnabled);
-    //create dummy layout for slider track
-    mData->mSliderCentreGhost = 
-    CAlfLayout::AddNewL(*ctrl,mData->mBaseSliderLayout);
-    //create dummy layout for slider Thumb
-    // create imagevisual for slider track
-    mData->mSliderCentre = 
-    CAlfLayout::AddNewL(*ctrl,mData->mBaseSliderLayout);
-    mData->mTrackLeftImage = CAlfImageVisual::AddNewL(*ctrl,mData->mSliderCentre);
-    mData->mTrackMiddleImage = CAlfImageVisual::AddNewL(*ctrl,mData->mSliderCentre);
-    mData->mTrackRightImage = CAlfImageVisual::AddNewL(*ctrl,mData->mSliderCentre);
-
-    // create imagevisual for slider thumb 
-    mData->mSliderHandle = 
-    CAlfImageVisual::AddNewL(*ctrl,mData->mBaseSliderLayout);
-    // Attach brush and transfer its ownership to the visual.
-    mData->mSliderHandleGhost = 
-    CAlfLayout::AddNewL(*ctrl,mData->mBaseSliderLayout);                           
-
-    // Get the widget opacity and apply on root visual
-    mSliderWidget->ShowWidget(mSliderWidget->GetOpacity(),0);
-    }
-    
-
-// ---------------------------------------------------------------------------
-//  eventHandlerType          
-// ---------------------------------------------------------------------------
-//
-IAlfWidgetEventHandler::AlfEventHandlerType MulSliderHorizontal::eventHandlerType()
-    {
-    return IAlfWidgetEventHandler::EPresentationEventHandler;
-    }
-
-
-// ---------------------------------------------------------------------------
-//  eventExecutionPhase         
-// ---------------------------------------------------------------------------
-//
-IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase MulSliderHorizontal::eventExecutionPhase()
-    {
-    return IAlfWidgetEventHandler::ETunnellingPhaseEventHandler;
-    }
-
-// ---------------------------------------------------------------------------
-//  offerEvent
-// ---------------------------------------------------------------------------
-//
-AlfEventStatus MulSliderHorizontal::offerEvent( CAlfWidgetControl& /*aControl*/, 
-                                              const TAlfEvent& aEvent )
-    {    
-    AlfEventStatus ret = EEventNotHandled;	
-    if(!mSliderWidget->IsHidden())
-        {	    
-        if(aEvent.IsCustomEvent())
-            {
-            if(aEvent.CustomParameter() == EEventMissedPointerUp)
-                {
-                mData->mLongTapStarted = false;
-                ret=EEventHandled;
-                handlePointerUpEvent();
-                }
-            }
-        // handle key events    
-        else if(aEvent.IsKeyEvent() &&  mSliderWidget->IsKeyEnabled())
-            { 		
-            ret = HandleKeyEvents(aEvent);	             
-            }    		    
-        // Pointer drag events and single tap events      
-        else if(aEvent.IsPointerEvent())
-            {
-            ret = HandlePointerEvents((TAlfEvent *)&aEvent);	    
-            }     
-        }
-    return ret;
-    } 
-    
-    
-// ---------------------------------------------------------------------------
-//  handleLongTap ( Long TapTimer calls  inside its RUNL)
-// ---------------------------------------------------------------------------
-// 
- AlfEventStatus MulSliderHorizontal::handleLongTap()
-     {
-     mData->mMainLayout->ClearFlag(EAlfVisualFlagLayoutUpdateNotification);
-     //CAlfVisual * focusvisual = aEvent->Visual();
-     AlfEventStatus ret = EEventNotHandled;
-     if (mData->mVisual == mData->mSliderCentre || mData->mVisual == mData->mSliderCentreGhost)
-         {
-         mData->mLongTapStarted = true;
-         ret =  trackVisualHit(mData->mVisual);
-         // Handle Long tap timer tactile feedback 
-         MulSliderControl& sldrcntrl = static_cast<MulSliderControl&>(control());
-         sldrcntrl.TactileEffectOnTouchandHold();
-         }
-
-     //  ret = HandlePointerEvents(aEvent);
-     mData->mMainLayout->SetFlag(EAlfVisualFlagLayoutUpdateNotification);
-     return ret;
-     }
-    
-    
-// ---------------------------------------------------------------------------
-// HandleKeyEvents
-// ---------------------------------------------------------------------------
-// 
- AlfEventStatus MulSliderHorizontal::HandleKeyEvents(const TAlfEvent& aEvent)
-     {
-     AlfEventStatus ret = EEventNotHandled;
-     int newPos = 0;
-     int data = 0;
-     if(AknLayoutUtils::LayoutMirrored())
-         {
-         data= - mData->mTick;
-         }
-     else
-         {
-         data= mData->mTick;
-         }
-     if(aEvent.Code() == EEventKey  )
-         {
-         if(aEvent.KeyEvent().iScanCode == EStdKeyRightArrow)
-             {
-             ret = EEventHandled;
-             newPos = mSliderModel->PrimaryValue() + data;
-             updateModelPrimaryValue(newPos);          
-             }
-         else if(aEvent.KeyEvent().iScanCode == EStdKeyLeftArrow)
-             {
-             ret = EEventHandled;
-             newPos = mSliderModel->PrimaryValue() - data;
-             updateModelPrimaryValue(newPos);
-             }
-         }
-     return ret;
-     }
-	
-	
-// ---------------------------------------------------------------------------
-//  Sends drag Up or Down event, according to the hit position
-//  on track
-// ---------------------------------------------------------------------------
-//
-AlfEventStatus MulSliderHorizontal::trackVisualHit(CAlfVisual * /*aHitVisual*/)
-    {
-
-    //Find the thumb Anchor Layout.
-    TAlfTimedPoint thumbVisPos = mData->mSliderHandle->Pos();
-    TAlfTimedPoint thumbVisSize = mData->mSliderHandle->Size();
-    //Check if click was above/to left or below/to right of 
-    //thumb
-    if (mData->mLongTapPos.iX  < thumbVisPos.iX.ValueNow())
-        {// Pointer down happened left side of Handle 
-
-        int newPos = mSliderModel->PrimaryValue() - mData->mTick;
-        if(mData->mLongTapStarted)
-            {
-            if(mData->mdirection !=2)
-                  {
-            	// Move Handle 
-            	updateModelPrimaryValue(newPos);
-            	mData->mdirection = 1;
-            	}
-            }
-        }
-    else if (mData->mLongTapPos.iX  > (thumbVisPos.iX.ValueNow() + 
-            thumbVisSize.iX.ValueNow()) )
-        {
-        // Pointer down happened right side of Handle
-        int newPos = mSliderModel->PrimaryValue() + mData->mTick;
-        if(mData->mLongTapStarted)
-            {
-            if(mData->mdirection !=1)
-                {
-            	// Move Handle
-            	updateModelPrimaryValue(newPos);
-            	mData->mdirection = 2;
-            	}
-            }  
-        }
-    else 
-        {
-        if(mData->mIsLongTapObserverSet)
-            {
-            // Stop the long tap timer
-            mLongTapTimer->Stop();
-            mData->mLongTapStarted = false;
-            if(AknLayoutUtils::LayoutMirrored() )
-                {
-                mData->mLongTapPos.iX = mData->mMainLayout->Size().iX.ValueNow() - 
-                mData->mLongTapPos.iX;
-                }
-            mData->mIsLongTapObserverSet = EFalse;  
-            if(!mData->mOperation)
-                {
-                mData->mVisual  =  mData->mSliderHandle;
-                initializeThumbDragData(
-                        mData->mLongTapPos);
-                }  
-            }
-        else
-            {
-            //Do Nothing.
-            }                            
-        }
-    return EEventHandled;
-    }	
-
-	
-// ---------------------------------------------------------------------------
-//  handles the pointerDown event
-// 
-// ---------------------------------------------------------------------------
-//
-AlfEventStatus MulSliderHorizontal::handlePointerDownEvent(TAlfEvent * aPntrEvent)
-    {
-    CAlfVisual * focusvisual = aPntrEvent->Visual();
-    AlfEventStatus result = EEventNotHandled;
-    if (focusvisual)
-        {
-        mData->mVisual = focusvisual; 
-
-        if (IsSliderVisual(focusvisual))
-            {
-            control().processEvent(TAlfEvent(ECustomEventIconClick));  
-            control().Display()->Roster().SetPointerEventObservers( 
-                    EAlfPointerEventReportDrag ,control());
-            if(!mData->mOperation)   
-                {  
-                mData->mIsLongTapObserverSet = ETrue;
-                //mData->mLongTapPos = aPntrEvent->PointerEvent().iParentPosition;
-                mirrorPointerPosition(aPntrEvent->PointerEvent().iParentPosition);
-                mData->mLongTapStarted = true;
-                mLongTapTimer->Start();
-                // Dont send custom event at pointer up
-
-                }
-            //Tick Movement
-            if (focusvisual == mData->mSliderCentre ||
-                    focusvisual == mData->mSliderCentreGhost)
-                {
-                mData->mLongTapStarted = true;
-                return trackVisualHit(focusvisual);
-                }
-
-            // Drag 
-            else if (focusvisual == mData->mSliderHandle ||
-                    focusvisual == mData->mSliderHandleGhost )
-                {
-                // Initialize the drag variables
-                if(!mData->mOperation)
-                    {
-                    initializeThumbDragData(
-                            aPntrEvent->PointerEvent().iParentPosition);
-                    //Tactile Feedback for thumb touch
-                    MulSliderControl& sldrcntrl = static_cast<MulSliderControl&>(control());
-                    sldrcntrl.TactileEffectOnTouchandHold();
-                    }
-
-                result = EEventHandled;
-                }
-            }
-
-        }
-    return result;
-    }
-
-	
-// ---------------------------------------------------------------------------
-// HandlePointerEvents
-// ---------------------------------------------------------------------------
-// 
- AlfEventStatus MulSliderHorizontal::HandlePointerEvents(TAlfEvent* aEvent)
-     {
-     AlfEventStatus ret = EEventHandled;
-     if (aEvent->PointerEvent().iType == TPointerEvent::EButton1Down)
-         {
-         mData->mdirection = 0;
-         ret = handlePointerDownEvent(aEvent); 
-         }
-     // Drag Events
-     else if (aEvent->PointerEvent().iType == TPointerEvent::EDrag)
-         {
-
-         if(!mData->mOperation) 
-             {// Drag during tap and hold on track . 
-             if(mData->mIsLongTapObserverSet)
-                 {// Store the new pointer position
-                 //mData->mLongTapPos=aEvent->PointerEvent().iParentPosition;
-                 mirrorPointerPosition(aEvent->PointerEvent().iParentPosition);
-                 }
-             else
-                 {
-                 //Do Nothing.
-                 }    
-             }
-         else
-             {
-             // Drag on Handle
-             if(mData->mIsLongTapObserverSet &&
-                     mData->mVisual && 
-                     mData->mSliderHandle &&  
-                     mData->mSliderHandleGhost) 
-                 {                
-                 // Store the new pointer position
-                 mirrorPointerPosition(aEvent->PointerEvent().iParentPosition);                    
-                 }
-             else
-                 {
-                 // Do nothing
-                 }
-             int dist;
-             // Calculate the distance moved from the drag  start point
-             if(AknLayoutUtils::LayoutMirrored())
-                 {
-                 dist = mData->mDragPoint.iX - 
-                 aEvent->PointerEvent().iParentPosition.iX  ;
-                 }
-             else
-                 {
-                 dist = aEvent->PointerEvent().iParentPosition.iX - 
-                 mData->mDragPoint.iX ;
-                 }
-             // Calculate the new tick position
-             int precision = KRoundupvalue;
-             if(dist<0)
-                 {
-                 precision = -KRoundupvalue;
-                 }
-             int newPos= (int)(((float)dist / mData->mTickInPixels ) + precision) + 
-             mData->mDragStartStep;
-             // send tactile sensitive event
-             // Update the model hence update visualization
-             updateModelPrimaryValue(newPos);
-             }
-         // Tactile Feedback for Drag
-         //Tactile Feedback for thumb drag
-         MulSliderControl& sldrcntrl = static_cast<MulSliderControl&>(control());
-         sldrcntrl.TactileEffectOnDrag(*aEvent);
-         }
-     else if(aEvent->PointerUp()  )
-         {
-         mData->mLongTapStarted = false;
-         handlePointerUpEvent();
-         
-         }
-     else
-         {
-         //Do Nothing.
-         }
-
-     return ret;
-     }
-    
-    
-// ---------------------------------------------------------------------------
-//  updateModelPrimaryValue
-// ---------------------------------------------------------------------------
-//    
-void MulSliderHorizontal::updateModelPrimaryValue( int aNewPosValue) 
-    {
-    // Validate the new tick value
-    if(aNewPosValue< mSliderModel->MinRange())
-        {
-        aNewPosValue = mSliderModel->MinRange();	
-        }
-    else if(aNewPosValue > mSliderModel->MaxRange())
-        {
-        aNewPosValue = mSliderModel->MaxRange();	
-        }
-    if(mSliderModel->PrimaryValue() != aNewPosValue && mData->mTick != 0)
-        {
-        // Update visualization and model only if data is changed
-        mPosData.reset(new(EMM)MulSliderPos);
-        mPosData->mPreviousValue = mSliderModel->PrimaryValue()  ;
-        mSliderModel->SetPrimaryValue(aNewPosValue);
-        mPosData->mCurrentValue =aNewPosValue;
-        mData->mCurrTick = aNewPosValue; 
-
-        // Send event to the slider widget        
-        TAlfEvent customevent(ETypePrimaryValueChange,
-                (uint)mPosData.get());
-        control().processEvent(customevent);
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-//  snapPrimaryValueToTicks
-// ---------------------------------------------------------------------------
-//    
-void MulSliderHorizontal::snapPrimaryValueToTicks()
-    {
-    // If the position is not a multiple of ticks then 
-    //snap to the nearest tick multiple
-
-    int currHandlePos = mSliderModel->PrimaryValue() - mSliderModel->MinRange();
-    int tick = mSliderModel->Tick();
-    int newPos = currHandlePos + mSliderModel->MinRange();
-    if(mSliderModel->PrimaryValue() < mSliderModel->MaxRange())
-        {         
-        int diff = 0;
-        if(tick > 0) //model
-            {
-            diff = currHandlePos - ((currHandlePos /tick) * tick);
-            }
-        if(diff !=0)
-            {            
-            newPos = currHandlePos + tick - diff + mSliderModel->MinRange();            
-            }        
-        }
-
-    // Update model
-    updateModelPrimaryValue(newPos);
-    } 
-    
-      
-// ---------------------------------------------------------------------------
-//  handlePointerUpEvent
-// 
-// ---------------------------------------------------------------------------
-//
-void MulSliderHorizontal::handlePointerUpEvent()
-    {
-    // if thumb or track is clicked, change the graphics
-    // Send event if single click has hapened 
-
-    snapPrimaryValueToTicks();
-    
-    if(mData->mOperation)
-        {
-        //Somehow missed the Up event?
-        stopDrag();
-        //Tactile Feedback For Thumb Release
-        MulSliderControl& sldrcntrl = static_cast<MulSliderControl&>(control());
-        sldrcntrl.TactileEffectOnRelease();
-        }
-    if(mData->mIsLongTapObserverSet)
-        {
-        // Stop the long tap timer
-        mLongTapTimer->Stop();
-        // Un-register with the roster for long tap events 
-        control().Display()->Roster().SetPointerEventObservers(0,
-                control());
-        mData->mIsLongTapObserverSet = EFalse;    
-        }
-    else
-        {
-        //Do Nothing.
-        }    
-    }
-	
-	
-// ---------------------------------------------------------------------------
-// UpdateVisualization
-// ---------------------------------------------------------------------------
-//	  
-void MulSliderHorizontal::updateVisualization()
-    {
-    ConvertDataToPixels();
-    SetThumbPosition();
-    }
-    
-// ---------------------------------------------------------------------------
-//Mirror pointer position
-// ---------------------------------------------------------------------------
-//	  
-void MulSliderHorizontal::mirrorPointerPosition(const TPoint& aPointerPos )
-    {    
-    mData->mLongTapPos = aPointerPos;
-    if(AknLayoutUtils::LayoutMirrored())
-        {
-        mData->mLongTapPos.iX  = mData->mMainLayout->Size().iX.ValueNow() -
-        mData->mLongTapPos.iX  ;
-        }
-    }    
-// ---------------------------------------------------------------------------
-// SetThumbPosition
-// ---------------------------------------------------------------------------
-//
-
-void MulSliderHorizontal::SetThumbPosition()
-    {
-    // Current primary value in pixels
-    int newTickVal = (mSliderModel->PrimaryValue() - mSliderModel->MinRange()) * 
-    mData->mTickInPixels;
-    // Handle
-    int handleY = mData->mSliderHandle->Pos().iY.ValueNow();
-    int ghostHandleY = mData->mSliderHandleGhost->Pos().iY.ValueNow();
-    // Handle new pos
-    int widthDiff = (mData->mSliderHandleGhost->Size().iX.ValueNow() - 
-            mData->mSliderHandle->Size().iX.ValueNow())/2;
-    TAlfRealPoint pnt(mData->mTrackStartPoint + newTickVal,handleY); 
-    // Ghost Handle ( Extended) new pos 
-    TAlfRealPoint pnt1(mData->mTrackStartPoint - 
-            widthDiff/2 + newTickVal,ghostHandleY); 
-    // Set the position
-    mData->mSliderHandle->SetPos(pnt,0);
-    mData->mSliderHandleGhost->SetPos(pnt1,0);
-
-    // Update visualization variables
-    mData->mCurrTick = mSliderModel->PrimaryValue();
-    }
-
-
-// ---------------------------------------------------------------------------
-// accept
-// ---------------------------------------------------------------------------
-// 
-bool MulSliderHorizontal::accept( CAlfWidgetControl& /*aControl*/, 
-                                 const TAlfEvent& aEvent ) const
-	{
-	 // Accept only key or pointer events.
-	 if(aEvent.IsKeyEvent()||aEvent.IsPointerEvent())
-		 {
-		 return true;	
-		 }
-	 else
-		 {
-		 return false;
-		 } 
-	}
-
-
-// ---------------------------------------------------------------------------
-//initializeThumbDragData
-// ---------------------------------------------------------------------------
-//    
-bool MulSliderHorizontal::initializeThumbDragData( const TPoint& aPointerPos )
-    {       
-    TRAPD(err,control().Display()->Roster().SetPointerDragThreshold(control(),
-            TAlfXYMetric(TAlfMetric(KXToleranceInPixel,EAlfUnitPixel),
-                    TAlfMetric(KYToleranceInPixel,EAlfUnitPixel))) );  
-
-    if(mData->mVisual && err == KErrNone)
-        {
-        mData->mOperation = EMoveItem;
-        mData->mDragPoint = aPointerPos;
-        mData->mDragStartStep = mSliderModel->PrimaryValue();
-
-        }
-    else
-        {
-        // Do Nothing
-        }   
-    return ETrue;  
-    }
-
-    
-// ---------------------------------------------------------------------------
-// stopDrag
-//  
-// ---------------------------------------------------------------------------
-//
-bool MulSliderHorizontal::stopDrag()
-    {
-    TRAPD(err,
-            control().Display()->Roster().SetPointerEventObservers(
-                    0, 
-                    control()));
-    if(err == KErrNone)
-        {
-        mData->mVisual = NULL;
-        mData->mOperation = ENop;
-        return ETrue;
-        }
-    return EFalse; 
-    }
- 
-    
-        
-
-// ---------------------------------------------------------------------------
-// IsSliderVisual
-// 
-// ---------------------------------------------------------------------------
-// 
-bool MulSliderHorizontal::IsSliderVisual(CAlfVisual *aVisual)
-    {
-    if(aVisual == mData->mSliderCentre||
-            aVisual == mData->mTrackLeftImage ||
-            aVisual == mData->mTrackMiddleImage ||
-            aVisual == mData->mTrackRightImage ||
-            aVisual == mData->mSliderCentreGhost||
-            aVisual == mData->mSliderHandle||
-            aVisual == mData->mSliderHandleGhost)
-        {
-        return true;
-        }
-    return false;   
-    }      	   	
-      	   
-    void MulSliderHorizontal::updateTextVisualization()	
-    {
-    	
-    }
-    }//namespace Alf
-    
-//End Of File
--- a/mulwidgets/mulsliderwidget/src/mulprogressbarslider.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,562 +0,0 @@
-/*
-* 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: Implementation for presentation element- progressbar.
-*
-*/
-
-//Toolkit Includes
-#include <alf/alfimagevisual.h>
-#include <alf/alfevent.h>
-
-// Alfred Client includes
-#include <alf/alfenv.h>
-#include <alf/alftexture.h> 
-#include <alf/alftextvisual.h>
-#include <alf/alflayout.h>
-#include <aknconsts.h>
-#include <avkon.mbg>
-
-//Widget Model Includes
-#include <alf/alfwidgetenvextension.h>
-
-//Avkon Includes
-#include <AknUtils.h>
-#include <AknsConstants.h>
-#include <utf.h>
-
-//OpenC Includes
-
-#include <math.h>
-
-//slider widget includes
-#include "mulprogressbarslider.h"
-#include "mulutility.h"
-#include "mulsliderutils.h"
-#include "mulsliderwidget.h"
-#include "mulslidermodel.h"
-#include "mulsliderdefinitions.h"
-
-// Textureid's used for comparison 
-const TInt KAlfProgressBarTextureId = 1;
-const TInt KAlfFrameLeftTextureId = 2;
-const TInt KAlfFrameCentreTextureId = 3;
-const TInt KAlfFrameRightTextureId = 4;
-namespace Alf
-    {
-// Structure to store data for the progressbar element class  
-struct MulSliderProgressBarImpl
-	{		
-	int mMaxRange; //Store Max range for progressbar from model   
-    int mMinRange;  //Store Min range for progressbar from model
-    int mTempMin; //Temporary stores the min range 
-    int mTempMax; //Temporary stores the max range  
-    int mTick;    // Store Tick value for progressbar from model 
-    int mImageTextureId; // to differtiate between textures
-    bool mOrientationLandScape; // check for landscape 
-  	sliderTemplate mTemplateId; //slider template id
-  	CAlfLayout* mMainLayout; //slider main layout 
-  	int mProgressBarTextureId;// to store the auto generated texture id's
-  	int mFrameLeftTextureId ;
-  	int mFrameCentreTextureId;
-  	int mFrameRightTextureId ;
-  	CAlfLayout* mBaseSliderLayout;
-  	CAlfImageVisual* mSliderProgressCentre;
-	CAlfImageVisual* mSliderSecProgressCentre;
-    CAlfImageVisual* mFrameLeftImage;
-    CAlfImageVisual* mFrameRightImage;
-    CAlfImageVisual* mFrameCentreImage;
-    CAlfTexture* mTexture;
-    MulSliderProgressBarImpl()
-    {
-    mTick = 0;    
-    mMaxRange = 0;
-    mMinRange = 0; 
-    mTempMax = 0;
-    mTempMin = 0; 
-    mImageTextureId = 0;
-    mTemplateId = ESliderTemplateNone;
-    mProgressBarTextureId = 0;
-    mFrameLeftTextureId = 0;
-    mFrameCentreTextureId = 0;
-    mFrameRightTextureId = 0;
-    mBaseSliderLayout = NULL;
-    mSliderProgressCentre = NULL;
-    mSliderSecProgressCentre = NULL;
-    mOrientationLandScape = false;
-	}	    
-	};  
-// ---------------------------------------------------------------------------
-//  MulSliderProgressive default constructor.
-// ---------------------------------------------------------------------------
-//
-MulSliderProgressive::MulSliderProgressive(
-                                    CAlfWidgetControl& aControl,
-                                    const char* aName ,
-                                    AlfCustomInitDataBase* /*aCustomData*/)
-    : mData(NULL)
-    {
-    // Base class (AlfElement) construct
-    construct(aControl, aName);
-    mData = new (EMM) MulSliderProgressBarImpl;
-    iBitmap = new (EMM) CFbsBitmap;
-    // initializes the mSlliderModel and mSliderWidget  
-    initializeSliderData();
-    
-    }
-// ---------------------------------------------------------------------------
-//  Destructor
-// ---------------------------------------------------------------------------
-//
-MulSliderProgressive::~MulSliderProgressive()
-    {
-    // Visualization Data
-    if(mData)
-        {
-        (&control().Env())->TextureManager().UnloadTexture(mData->mProgressBarTextureId);
-        (&control().Env())->TextureManager().UnloadTexture(mData->mFrameLeftTextureId);
-        (&control().Env())->TextureManager().UnloadTexture(mData->mFrameRightTextureId);
-        (&control().Env())->TextureManager().UnloadTexture(mData->mFrameCentreTextureId);
-
-        delete mData;
-        delete iBitmap;
-        }
-    else
-        {
-        
-        }
-    
-    }//End of Destructor
-
-// ---------------------------------------------------------------------------
-// From class MAlfInterfaceBase.
-// Getter for interfaces provided by the slider widget.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* MulSliderProgressive::makeInterface(
-                        const IfId& aType)
-    {
-    UString param (aType.mImplementationId);
-     if (param == IAlfWidgetEventHandler::type().mImplementationId)
-        {
-        return static_cast<IAlfWidgetEventHandler*>(this);
-        }
-
-    else if (param == 
-        IMulSliderBaseElementInternal::type().mImplementationId)
-        {
-        return static_cast<IMulSliderBaseElementInternal*>(this);
-        }        
-        
-    IAlfInterfaceBase* interface = 0;
-    interface = AlfElement::makeInterface(aType);
-    return interface;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets called when the parent layout is relayouted.
-// resets all the anchor points and updates the visualization
-// ---------------------------------------------------------------------------
-//
-void MulSliderProgressive::baseLayoutSizeChanged()
-    {
-	mData->mMainLayout->ClearFlag(EAlfVisualFlagLayoutUpdateNotification);
-	control().Env().RefreshCallBack(&(control().Env()));
-	// Layout the visualization w.r.t. mainlayout 
-	layoutVisuals(mSliderModel->GetTemplate());
-	if(mSliderModel->IsLandscape())
-	    {
-	    if(mSliderWidget->GetOpacity())
-	        {
-	        TAlfTimedValue opacity(1,0);
-	        mData->mMainLayout->SetOpacity(opacity);
-	        }
-	    }
-	else
-	    {
-	    TAlfTimedValue opacity(0,0);
-	    mData->mMainLayout->SetOpacity(opacity);
-	    }    
-    mData->mMainLayout->SetFlag(EAlfVisualFlagLayoutUpdateNotification); 
-    updateVisualization();
-    }    
-// ---------------------------------------------------------------------------
-// From class IAlfWidgetEventHandler.
-// setActiveStates
-// ---------------------------------------------------------------------------
-void MulSliderProgressive::setActiveStates(
-    unsigned int /*aStates*/)
-    {
-  		  //do nothing
-    }
-
-// ---------------------------------------------------------------------------
-//  initializes Model and Widget Pointer
-// ---------------------------------------------------------------------------
-//
-void  MulSliderProgressive::initializeSliderData()
-    {
-    // initialize the Slider Widget Pointer;
-    IAlfWidgetFactory& widgetFactory = 
-        AlfWidgetEnvExtension::widgetFactory(control().Env());
-    mSliderWidget = static_cast<MulSliderWidget*>(widgetFactory.findWidget(
-                    control().widget()->widgetName()));
-    
-    // initialize the Slider Model Pointer;
-    mSliderModel = static_cast<MulSliderModel*>(mSliderWidget->model());
-    }
-
-// ---------------------------------------------------------------------------
-//  Bitmap provider  
-// ---------------------------------------------------------------------------
-//
-void MulSliderProgressive::ProvideBitmapL (TInt aId, 
-                                           CFbsBitmap *& aBitmap, 
-                                           CFbsBitmap *& aMaskBitmap)
-    {
-    TAknLayoutRect layoutRect;
-   
-    switch(mData->mImageTextureId)
-        {
-        case KAlfProgressBarTextureId:
-            {
-            AknIconUtils::CreateIconL(
-                    aBitmap, aMaskBitmap, KAvkonBitmapFile,
-                    EMbmAvkonQgn_graf_bar_progress,
-                    EMbmAvkonQgn_graf_bar_progress_mask ); 
-
-            TInt aHandle = aBitmap->Handle();
-
-            iBitmap->Duplicate(aHandle);
-
-            AknIconUtils::SetSize( aBitmap,TSize(50,14),EAspectRatioNotPreserved);  
-            mData->mImageTextureId = 0;
-            mData->mProgressBarTextureId = aId;
-            }
-            break;
-        case KAlfFrameLeftTextureId:
-            {
-            AknIconUtils::CreateIconL( 
-                    aBitmap, aMaskBitmap, KAvkonBitmapFile,
-                    EMbmAvkonQgn_graf_bar_frame_side_l,
-                    EMbmAvkonQgn_graf_bar_frame_side_l_mask );
-
-            layoutRect = MulSliderUtils::GetComponentRect(
-                    EPSliderLeft,
-                    mData->mMainLayout,
-                    KVariety0);
-
-            AknIconUtils::SetSize( aBitmap,TSize(layoutRect.Rect().Size().iWidth,
-                    layoutRect.Rect().Size().iWidth),
-                    EAspectRatioNotPreserved);
-           
-            //  AknIconUtils::SetSize( aBitmap,TSize(7,17),EAspectRatioNotPreserved);
-    
-            mData->mImageTextureId = 0;
-            mData->mFrameLeftTextureId = aId;
-            }
-            break;
-        case KAlfFrameRightTextureId:
-            {
-            AknIconUtils::CreateIconL( 
-                            aBitmap, aMaskBitmap, KAvkonBitmapFile,
-                    EMbmAvkonQgn_graf_bar_frame_side_r,
-                    EMbmAvkonQgn_graf_bar_frame_side_r_mask );
-
-            layoutRect = MulSliderUtils::GetComponentRect(
-                    EPSliderRight,
-                    mData->mMainLayout,
-                    KVariety0);    
-
-            AknIconUtils::SetSize( aBitmap,TSize(layoutRect.Rect().Size().iWidth,
-                    layoutRect.Rect().Size().iWidth),
-                    EAspectRatioNotPreserved);
-
-            //  AknIconUtils::SetSize( aBitmap,TSize(7,17),EAspectRatioNotPreserved);
-            mData->mImageTextureId = 0;
-            mData->mFrameRightTextureId = aId;
-            }
-            break;
-        case KAlfFrameCentreTextureId:
-            {
-            AknIconUtils::CreateIconL( 
-                   aBitmap, aMaskBitmap, KAvkonBitmapFile,
-                   EMbmAvkonQgn_graf_bar_frame_center,
-                   EMbmAvkonQgn_graf_bar_frame_center_mask );
-
-           layoutRect = MulSliderUtils::GetComponentRect(
-                   EPSliderCentre,
-                   mData->mMainLayout,
-                   KVariety0);
-
-            AknIconUtils::SetSize( aBitmap,TSize(layoutRect.Rect().Size().iWidth,
-                   layoutRect.Rect().Size().iWidth),
-                   EAspectRatioNotPreserved);
-
-            //  AknIconUtils::SetSize( aBitmap,TSize(308,17),EAspectRatioNotPreserved);
-            mData->mImageTextureId = 0;
-            mData->mFrameCentreTextureId = aId;
-            }
-        default:
-            break;
-               
-        }
-   
-    }
-//----------------------------------------------------------------------------
-// layoutVisuals
-//----------------------------------------------------------------------------
-void MulSliderProgressive::layoutVisuals(sliderTemplate aTemplateid)
-    {
-      
-       TAknLayoutRect layoutRect;
-       mData->mTemplateId = aTemplateid;
-       //Get the mainlayout rect 
-       int mainX = mData->mMainLayout->Pos().iX.ValueNow();
-       int mainY = mData->mMainLayout->Pos().iY.ValueNow();
-       int mainWidth = mData->mMainLayout->Size().iX.ValueNow();
-       int mainHeight = mData->mMainLayout->Size().iY.ValueNow();
-       if (mData->mTemplateId == ESliderTemplate7 ) 
-           {
-    
-       
-        mData->mBaseSliderLayout->SetRect(
-                TRect( TPoint(0,0 ),
-                        TSize( mainWidth, mainHeight ))) ; 
-
-        layoutRect = MulSliderUtils::GetComponentRect(
-                EPSliderLeft,
-                mData->mMainLayout,
-                KVariety0);	   
-
-        mData->mSliderProgressCentre->SetRect(
-                TRect( TPoint(0,0),
-                        TSize( 0, layoutRect.Rect().Size().iHeight ))) ; 
-
-        mData->mFrameLeftImage->SetRect(
-                TRect( TPoint(layoutRect.Rect().iTl.iX,
-                        layoutRect.Rect().iTl.iY ),
-                        TSize( layoutRect.Rect().Size().iWidth, 
-                                layoutRect.Rect().Size().iHeight ))) ; 
-
-
-        layoutRect = MulSliderUtils::GetComponentRect(
-                EPSliderCentre,
-                mData->mMainLayout,
-                KVariety0);
-
-        mData->mFrameCentreImage->SetRect(
-                TRect( TPoint(layoutRect.Rect().iTl.iX,layoutRect.Rect().iTl.iY ),
-                        TSize( layoutRect.Rect().Size().iWidth, 
-                                layoutRect.Rect().Size().iHeight ))) ; 
-
-
-        layoutRect = MulSliderUtils::GetComponentRect(
-                EPSliderRight,
-                mData->mMainLayout,
-                KVariety0);
-        mData->mFrameRightImage->SetRect(
-                TRect( TPoint(layoutRect.Rect().iTl.iX,layoutRect.Rect().iTl.iY ),
-                        TSize( layoutRect.Rect().Size().iWidth,
-                                layoutRect.Rect().Size().iHeight ))) ; 
-           }
-       
-      
-    }
-
-//----------------------------------------------------------------------------
-// createVisualization
-//----------------------------------------------------------------------------
-void MulSliderProgressive::createVisualization(sliderTemplate templateid)
-    {
-    mData->mTemplateId = templateid;
-    CAlfControl  *ctrl = &control();
-
-    // Visual Hierarchy creation
-    mData->mMainLayout = CAlfLayout::AddNewL(*ctrl,NULL);
-    mData->mMainLayout->SetFlag(EAlfVisualFlagLayoutUpdateNotification);
-    mData->mMainLayout->SetFlag(EAlfVisualFlagAutomaticLocaleMirroringEnabled);
-    mData->mBaseSliderLayout = CAlfLayout::AddNewL(*ctrl, mData->mMainLayout);
-    mData->mBaseSliderLayout->SetFlag(EAlfVisualFlagAutomaticLocaleMirroringEnabled);
-    mData->mSliderProgressCentre = CAlfImageVisual::AddNewL(
-            *ctrl,mData->mBaseSliderLayout);
-    mData->mFrameLeftImage = CAlfImageVisual::AddNewL(*ctrl,mData->mBaseSliderLayout);
-    mData->mFrameCentreImage = CAlfImageVisual::AddNewL(*ctrl,mData->mBaseSliderLayout);
-    mData->mFrameRightImage = CAlfImageVisual::AddNewL(*ctrl,mData->mBaseSliderLayout);
-
-    if(mData->mFrameLeftImage)
-        {
-        mData->mImageTextureId = KAlfFrameLeftTextureId;
-        // Create the texture from bitmap provider
-        mData->mTexture = &((ctrl->Env()).TextureManager().CreateTextureL(
-                KAlfAutoGeneratedTextureId/*KAlfFrameLeftTextureId*/,
-                (MAlfBitmapProvider *)this,
-                (TAlfTextureFlags)(EAlfTextureFlagAutoSize|
-                        EAlfTextureFlagSkinContent)));
-
-        int height = mData->mTexture->Size().iHeight;
-        int width = mData->mTexture->Size().iWidth;
-
-        TAlfImage aImageLeft(*mData->mTexture );
-        mData->mFrameLeftImage->SetImage(aImageLeft);
-        //mData->mFrameLeftImage->SetOpacity(0.5);
-        }
-    if(mData->mFrameCentreImage)
-        {
-        mData->mImageTextureId = KAlfFrameCentreTextureId;
-        // Create the texture from bitmap provider
-        mData->mTexture = &((ctrl->Env()).TextureManager().CreateTextureL(
-                KAlfAutoGeneratedTextureId/*KAlfFrameCentreTextureId*/,
-                (MAlfBitmapProvider *)this,
-                (TAlfTextureFlags)(EAlfTextureFlagAutoSize|EAlfTextureFlagSkinContent)));
-
-        int height = mData->mTexture->Size().iHeight;
-        int width = mData->mTexture->Size().iWidth;
-        TAlfImage aImageCentre(*mData->mTexture );
-        mData->mFrameCentreImage->SetImage(aImageCentre);
-        }
-
-    if(mData->mFrameRightImage)
-        {
-        mData->mImageTextureId = KAlfFrameRightTextureId;
-        // Create the texture from bitmap provider
-        mData->mTexture = &((ctrl->Env()).TextureManager().CreateTextureL(
-                KAlfAutoGeneratedTextureId/*KAlfFrameRightTextureId*/,
-                (MAlfBitmapProvider *)this,
-                (TAlfTextureFlags)(EAlfTextureFlagAutoSize|EAlfTextureFlagSkinContent)));
-
-        int height = mData->mTexture->Size().iHeight;
-        int width = mData->mTexture->Size().iWidth;
-
-
-        TAlfImage aImageRight(*mData->mTexture );
-
-        mData->mFrameRightImage->SetImage(aImageRight);
-        }
-
-    if(mData->mSliderProgressCentre)
-        {
-        mData->mImageTextureId = KAlfProgressBarTextureId;
-        // Create the texture from bitmap provider
-        mData->mTexture = &((ctrl->Env()).TextureManager().CreateTextureL(
-                KAlfAutoGeneratedTextureId/*KAlfProgressBarTextureId*/,
-                (MAlfBitmapProvider *)this,
-                (TAlfTextureFlags)(EAlfTextureFlagAutoSize|EAlfTextureFlagSkinContent)));
-        int height = mData->mTexture->Size().iHeight;
-        int width = mData->mTexture->Size().iWidth;
-        TAlfImage aImage(*mData->mTexture );
-        mData->mSliderProgressCentre->SetImage(aImage);
-        }
-
-    }
-	
-// ---------------------------------------------------------------------------
-// OfferEvent
-// ---------------------------------------------------------------------------
-//
-AlfEventStatus MulSliderProgressive::offerEvent( 
-    CAlfWidgetControl&/* aControl*/, 
-    const TAlfEvent& /*aEvent*/ )
-    {	
-     // progress bar doesnt have any event handling 
-	 return EEventNotHandled;
-    }  
-
-// ---------------------------------------------------------------------------
-// UpdateVisualization
-// ---------------------------------------------------------------------------
-void MulSliderProgressive::updateVisualization()
-    {
-    // Call to function to set relative 
-	//values for ranges if min range is not zero
-    NormalizeRange();
-    int currTick = mSliderModel->PrimaryValue();
-    // Calculating the relative currtick if the MinRange is not zero.
-    if (currTick >0 )
-    	{
-    	currTick = currTick - mData->mTempMin;	
-    	}
-    // Set the new thumbimage position.
-    SetTickPosition(currTick);
-    }
-// ---------------------------------------------------------------------------
-// NormalizeRange
-// ---------------------------------------------------------------------------
- void MulSliderProgressive::NormalizeRange()   
-	{
- 	
-	mData->mMaxRange = mSliderModel->MaxRange();
-	mData->mMinRange = mSliderModel->MinRange();
-	mData->mTick = mSliderModel->Tick();
-	mData->mTempMax = mData->mMaxRange;
-	mData->mTempMin = mData->mMinRange;
-	mData->mMaxRange = mData->mMaxRange - mData->mMinRange;
-	mData->mMinRange = 0;		 	
-    }
-
-// ---------------------------------------------------------------------------
-// accept
-// ---------------------------------------------------------------------------
-// 
-bool MulSliderProgressive::accept(
-    CAlfWidgetControl& /*aControl*/, 
-    const TAlfEvent& /*aEvent*/) const
-	{
-		 return false;	
-	}
-//---------------------------------------------------------------------------
-//MulSliderProgressive eventHandlerType
-//-------------------------------------------------------------------------
-IAlfWidgetEventHandler::AlfEventHandlerType MulSliderProgressive::
-    eventHandlerType()
-    {
-    return IAlfWidgetEventHandler::EPresentationEventHandler;
-    }
-
-//---------------------------------------------------------------------------
-//MulSliderProgressive eventExecutionPhase
-//-------------------------------------------------------------------------
-IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase MulSliderProgressive::
-    eventExecutionPhase()
-    {
-    return IAlfWidgetEventHandler::ETunnellingPhaseEventHandler;
-    }
-// ---------------------------------------------------------------------------
-// SetTickPosition
-// ---------------------------------------------------------------------------
-void MulSliderProgressive::SetTickPosition(int aCurrTick)
-    { 
-    //Getting slider width 
-    int sliderWidth = mData->mBaseSliderLayout->Size().Target().iX;
-    //Getting the slider progress height 
-    int sliderProgressHeight = mData->mSliderProgressCentre->Size().Target().iY;
-    //calculating the current postion of slider progress width
-    int curpos =(sliderWidth * aCurrTick)/(mData->mMaxRange - mData->mMinRange);
-    //setting the slider progress width
-    mData->mSliderProgressCentre->SetSize(
-            TAlfRealPoint(curpos,sliderProgressHeight),0);
-    int sliderProgressWidth = mData->mSliderProgressCentre->Size().Target().iX;
-    AknIconUtils::SetSize(iBitmap,TSize(sliderProgressWidth,sliderProgressHeight),EAspectRatioNotPreserved);  
-    }
-
-
-//---------------------------------------------------------------------------
-//updateTextVisualization
-//-------------------------------------------------------------------------
-   void MulSliderProgressive::updateTextVisualization()	
-    {
-    // do nothing 
-    }	
- }//namespace Alf
-
-//End Of File
--- a/mulwidgets/mulsliderwidget/src/mulslidercontrol.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +0,0 @@
-/*
-* Copyright (c) 2007, 2008 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:  Control Implementation with utilities for slider widget.
-*
-*/
-
-// Toolkit includes
-#include <alf/alfenv.h>
-#include <alf/alfroster.h>
-#include <alf/alfdisplay.h>
-
-// Widget model includes
-#include <alf/alfwidgeteventhandler.h>
-#include <alf/alfwidgetevents.h>
-#include "alf/alfattribute.h"
-#include <alf/alfutil.h>
-#include "alf/alfmodeloperation.h"
-#include <alf/alfcontrolgroup.h>
-
-// libc includes
-#include <libc/string.h>
-#include <libc/stdlib.h>
-#include <mul/mulevent.h>
-
-//Widget includes
-
-//Internal includes
-#include "mulslidercontrol.h"
-#include "mulsliderwidget.h"
-#include "mulslidermodel.h"
-#include "imulsliderbaseelementinternal.h"
-
-//namespaces
-using namespace osncore;
-using namespace mulsliderwidget;
-
-
-namespace Alf
-    {
-// ---------------------------------------------------------------------------
-//  Constructor.
-// ---------------------------------------------------------------------------
-//
-MulSliderControl::MulSliderControl(CAlfEnv& aEnv) : 
-    CAlfWidgetControl(aEnv)
-    {
-    mLayoutHeight = -1; //this means that the first draw is yet to happen.
-    mLayoutWidth = -1;  //this means that the first draw is yet to happen.
-    mDragTactileFeedbackStarted = false;
-    mEnableTactile = false; // Next statement will make it true
-    mTactilefdbInstance = NULL;
-    EnableTactileFeedback(true);
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-MulSliderControl::~MulSliderControl()
-    {
-
-    }
-   
-   
-// ---------------------------------------------------------------------------
-// Notifies the owner that the layout of a visual has been recalculated.
-// Called only when the EAlfVisualFlagLayoutUpdateNotification flag has
-// been set for the visual.
-// ---------------------------------------------------------------------------
-//
-void MulSliderControl::VisualLayoutUpdated(CAlfVisual& aVisual)
-    {
-    if((mLayoutWidth == -1 && roundFloatToInt(
-        aVisual.Size().ValueNow().iX) == 0) ||
-        (mLayoutHeight == -1 && roundFloatToInt(
-            aVisual.Size().ValueNow().iY) == 0))
-        {
-        //return; /*No size assigned yet*/
-        }
-    else
-        {
-        //do nothing
-        }   
-
-    if(mLayoutWidth == roundFloatToInt(aVisual.Size().ValueNow().iX)  && 
-        mLayoutHeight == roundFloatToInt(aVisual.Size().ValueNow().iY))
-        {
-        //return; /* No change in layout size */
-        }
-        else
-        {
-        //do nothing
-        }
-
-    mLayoutWidth = roundFloatToInt(aVisual.Size().ValueNow().iX);
-    mLayoutHeight = roundFloatToInt(aVisual.Size().ValueNow().iY);
-    IAlfElement* baseelement = findElement ("BaseElement");
-    IMulSliderBaseElementInternal* elementInternal = 
-        static_cast<IMulSliderBaseElementInternal*> (
-            baseelement->makeInterface(IMulSliderBaseElementInternal::type()));
-    if(elementInternal)
-        {
-        elementInternal->baseLayoutSizeChanged();
-        }
-    else
-        {
-        //do nothing
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// Returns top level layout.
-// ---------------------------------------------------------------------------
-//
-CAlfLayout* MulSliderControl::ContainerLayout(
-    const CAlfControl* /*aConnected*/) const
-    {
-    if(VisualCount())
-    {
-    //Return the root layout of the control
-    	return(static_cast<CAlfLayout*> (&Visual(0)));		
-    }
-    else
-    {
-    	return NULL;	
-    }
-    }
-
-
-// ---------------------------------------------------------------------------
-// From base class CAlfWidgetControl
-// Handle Alfred events.
-// ---------------------------------------------------------------------------
-//
-AlfEventStatus MulSliderControl::handleEvent( const TAlfEvent& aEvent )
-    {
-    AlfEventStatus ret = EEventNotHandled;
-    IAlfElement *base = findElement("BaseElement");
-    if(base)
-        {
-        IAlfWidgetEventHandler* element = 
-        static_cast<IAlfWidgetEventHandler*> (
-            base->makeInterface(IAlfWidgetEventHandler::type()));
-      
-        if(aEvent.IsCustomEvent())
-            {
-            if(aEvent.CustomParameter() == EEventMissedPointerUp) 
-                {
-                ret = element->offerEvent(*this,aEvent);
-                }
-            }
-        else if(aEvent.IsKeyEvent() || 
-                aEvent.IsPointerEvent())
-            {
-            // if the type of base element is slider , then
-            // convert the event to custom event
-            IMulSliderBaseElementInternal* elementInternal = 
-            static_cast<IMulSliderBaseElementInternal*> (
-                base->makeInterface(IMulSliderBaseElementInternal::type()));
-            ret = element->offerEvent(*this , aEvent);    
-            }
-        else
-            { 
-            }
-        }
-     return ret;   
-    }
-
-    
-// ---------------------------------------------------------------------------
-// From base class CAlfWidgetControl.
-// Notification that data is about to change in the data model.
-// ---------------------------------------------------------------------------
-//
-void MulSliderControl::dataChanging(const AlfModelOperation& /*aOperation*/)
-    {}
-
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the list widget.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* MulSliderControl::makeInterface(const IfId& aType)
-    {
-    UString param(aType.mImplementationId);
-   
-    return CAlfWidgetControl::makeInterface(aType);
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// removeAndDestroyElement
-// 
-// ---------------------------------------------------------------------------
-//
-void MulSliderControl::removeAndDestroyElement(const IAlfElement& /*aElement*/)
-    {
-    // reset the variables
-    mLayoutWidth = -1;
-    mLayoutHeight = -1;    
-        
-    CAlfWidgetControl::removeAndDestroyElement(*findElement("BaseElement"));    
-    }
-//----------------------------------------------------------------------
-//
-//enableTactileFeedback
-//----------------------------------------------------------------------
-void MulSliderControl::EnableTactileFeedback(bool aEnabled)
-    {
-        if (!mTactilefdbInstance)
-            {
-             mEnableTactile = aEnabled;	
-             mTactilefdbInstance = MTouchFeedback::Instance();
-            }
-    }
-//----------------------------------------------------------------------
-//TactileEffectOnTouch
-//
-//----------------------------------------------------------------------
-void MulSliderControl::TactileEffectOnTouchandHold()
-    {
-    if (mTactilefdbInstance)
-        {
-        mTactilefdbInstance->InstantFeedback(ETouchFeedbackSlider);
-        }
-    }
-//----------------------------------------------------------------------
-//TactileEffectOnDrag
-//
-//----------------------------------------------------------------------
-void MulSliderControl::TactileEffectOnDrag(TAlfEvent& aEvent)
-{            
- if (mTactilefdbInstance)
-  {
-    CCoeControl* ccoecntrl = static_cast<CCoeControl*>(Display()->ObjectProvider());
-    TInt intensity = 50;
-    TTimeIntervalMicroSeconds32 timespan = 1000000;
-    mTactilefdbInstance->StartFeedback(ccoecntrl,ETouchContinuousSlider,&aEvent.PointerEvent(),intensity,timespan);
-    mDragTactileFeedbackStarted = true;
-   }
-}        
-//-------------------------------------------------------------------------------
-//
-//   TactileEffectOnRelease
-//--------------------------------------------------------------------------------
-//    
-void MulSliderControl::TactileEffectOnRelease()    
-{
-	if (mTactilefdbInstance)
-	{
-	if ( mDragTactileFeedbackStarted )
-	    {
-	    	// Touch Release on Thumb after drag
-	    CCoeControl* ccoecntrl = static_cast<CCoeControl*>(Display()->ObjectProvider());
-	    mTactilefdbInstance->StopFeedback(ccoecntrl);
-	    mDragTactileFeedbackStarted = false;
-	    }
-	else
-	    {
-	    // Touch Release on thumb	
-	    mTactilefdbInstance->InstantFeedback(ETouchFeedbackSlider);
-	    }
-	}
-}
-}//End of namespace Alf
-//End of File
-
--- a/mulwidgets/mulsliderwidget/src/mulsliderlongtaptimer.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Slider long tap timer
- *
-*/
-
- 
-
-// Include Files
-
-// Class header
-#include "mulsliderlongtaptimer.h"
-#include "mulsliderdefinitions.h"
-
-const int KInitialtimeinterval  = 200000;
-const int KTimeinterval = 100000;
-namespace Alf
-    {
-
-//---------------------------------------------------------------------------
-// Constructor
-//---------------------------------------------------------------------------
-//        
-MulSliderLongTapTimer::MulSliderLongTapTimer(
-    IMulSliderBaseElementInternal* aBaseElement)
-    :CActive(EPriorityStandard)
-    {
-    iTimer.CreateLocal();
-    iBaseElement = aBaseElement;
-    CActiveScheduler::Add(this);
-    iState = EStopped;
-    }
-
-//---------------------------------------------------------------------------
-// Destructor 
-//---------------------------------------------------------------------------
-//
-MulSliderLongTapTimer::~MulSliderLongTapTimer()
-    {
-    Stop();
-    iTimer.Close();
-    }
-//---------------------------------------------------------------------------
-// Activates the timer. 
-//---------------------------------------------------------------------------
-//  
-void MulSliderLongTapTimer::Start()
-    {
-    if (!IsActive())
-        {
-        iTimer.After(iStatus, TTimeIntervalMicroSeconds32(KInitialtimeinterval));
-        SetActive();
-        }
-    iState = ERunning;    
-    }
-//---------------------------------------------------------------------------
-// stops the timer. 
-//---------------------------------------------------------------------------
-// 
-void MulSliderLongTapTimer::Stop()
-    {
-    Cancel();
-    iState = EStopped;
-    }
-//---------------------------------------------------------------------------
-// Handles an active object's request completion event.
-//---------------------------------------------------------------------------
-//     
-void MulSliderLongTapTimer::RunL()
-    {
-    IMulSliderBaseElementInternal* elementInternal = 
-        static_cast<IMulSliderBaseElementInternal*> (
-        iBaseElement->makeInterface(IMulSliderBaseElementInternal::type()));
-    if(elementInternal)
-        {
-        // call handleLongTap of element to handle the longtap 
-        elementInternal->handleLongTap();
-        }    
-    if (iState == ERunning)
-        {
-        iTimer.After(iStatus, TTimeIntervalMicroSeconds32(KTimeinterval));    
-        SetActive();
-        }
-    }
-
-//---------------------------------------------------------------------------
-// Implements cancellation of an outstanding request.
-//---------------------------------------------------------------------------
-// 
-void MulSliderLongTapTimer::DoCancel()
-    {
-    iTimer.Cancel();
-    }
-
-   
-   }
-
--- a/mulwidgets/mulsliderwidget/src/mulslidermodel.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,683 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Implementation of slider model interface
- *
-*/
-
-//Class headers
-#include "mulslidermodel.h"
-
-// Alf headers
-
-#include <alf/alfmodel.h>
-#include <alf/alfutil.h>
-#include <mul/mulvarianttype.h>
-
-// Osn Headers
-#include <osn/osnnew.h>  //for new(EMM)
-#include <osn/ustring.h>
-#include <mul/mulvisualitem.h>
-#include <mul/imulsliderwidget.h>
-#include <string.h>
-
-// For Common strings
-
-#include "mulslidervertical.h"
-#include "mulsliderwidget.h"
-
-const int KMaxrange = 100;
-const int KTick = 1;
-const int KSize = 50; 
-namespace Alf
-{
-
-struct SliderModelDataImpl
-	{
-	int mSldMaxRange;// Slider Maximum Value
-	int mSldMinRange;// Slider Maximum Value
-	int mSldTick;//  Size of single click movement
-	int mSldPrimaryTick;// Current Handle Position
-	int mSldSecondaryTick;// Secondary progress position
-	char* mSldLeftText;// Left text
-	char* mSldRightText;// Right text
-	char* mSldPercentText;// Percentage text for zoom slider
-	MulSliderWidget* mSliderWidget;
-    IMulSliderBaseElementInternal * mSliderElement;// Element pointer 
-    sliderTemplate mTemplateId; // template ID 
-	std::auto_ptr<MulVisualItem> mItem; 
-	SliderModelDataImpl()
-    	{
-    	mItem = ( new (EMM) MulVisualItem() );	
-    	mSldMaxRange = KMaxrange;
-    	mSldMinRange = 0;
-    	mSldTick = KTick;
-    	mSldPrimaryTick = 0;
-    	mSldSecondaryTick = 0;
-    	mSldLeftText = NULL;
-    	mSldRightText =NULL;
-    	mSldPercentText = NULL;
-    	mSliderWidget = NULL;
-    	mSliderElement = NULL;
-    	mTemplateId = ESliderTemplateNone;
-    	}
-	};
-
-
-// ---------------------------------------------------------------------------
-// Constructor 
-// ---------------------------------------------------------------------------
-//
-MulSliderModel::MulSliderModel():
-mModel ( NULL )
-	{
-	mSldrModelData = new(EMM)SliderModelDataImpl();
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor 
-// ---------------------------------------------------------------------------
-//
-MulSliderModel::~MulSliderModel()
-	{
-	if(mSldrModelData)	  
-	    {
-	    delete mSldrModelData;
-	    }
-	else
-	    {
-	    
-	    }
-	}		
-	
-// ---------------------------------------------------------------------------
-// SetData 
-// ---------------------------------------------------------------------------
-// 
-void MulSliderModel::SetData(const MulVisualItem& aSliderItem)
-    {
-    
-    UString str;    
-     
-   
-    if(aSliderItem.Attribute(mulvisualitem::KMulMaxRange))
-        {
-        SetMaxRange(
-            aSliderItem.AttributeAsInt(mulvisualitem::KMulMaxRange));
-        }
-    if(aSliderItem.Attribute(mulvisualitem::KMulMinRange))
-        {
-        SetMinRange(
-            aSliderItem.AttributeAsInt(mulvisualitem::KMulMinRange));
-        }
-    if(aSliderItem.Attribute(mulvisualitem::KMulTick))
-           {
-           SetTick(aSliderItem.
-               AttributeAsInt(mulvisualitem::KMulTick));
-           }    
-    if(aSliderItem.Attribute(mulvisualitem::KMulPrimaryTick))
-        {
-        SetPrimaryValue(aSliderItem.
-            AttributeAsInt(mulvisualitem::KMulPrimaryTick));
-        }
-    if(aSliderItem.Attribute(mulvisualitem::KMulSecondaryTick))
-        {
-        SetSecondaryValue(aSliderItem.
-            AttributeAsInt(mulvisualitem::KMulSecondaryTick));
-        }
-            
-    if(aSliderItem.Attribute(mulvisualitem::KMulPercent1))
-            {
-            
-            int percentValue = aSliderItem.
-                AttributeAsInt(mulvisualitem::KMulPercent1);
-            
-            _LIT8(KPercent,"");
-         	TBuf8<KSize> PercentText(KPercent);
-         	PercentText.AppendNum (percentValue);
-         	PercentText.Append(_L("%"));
-         	mSldrModelData->mSldPercentText = (char*)PercentText.PtrZ();
-         	
-            }
-  
-     UpdateElement();
-    }     
-
-   
-// ---------------------------------------------------------------------------
-// Return MulVisual Item  
-// ---------------------------------------------------------------------------
-//
-const MulVisualItem& MulSliderModel::Data() const
-	{
-	mSldrModelData->mItem->SetAttribute ( mulvisualitem::KMulMaxRange,
-	                (int)mSldrModelData->mSldMaxRange);
-	mSldrModelData->mItem->SetAttribute ( mulvisualitem::KMulMinRange, 
-	                (int)mSldrModelData->mSldMinRange);
-	mSldrModelData->mItem->SetAttribute ( mulvisualitem::KMulTick, 
-	                (int)mSldrModelData->mSldTick);
-	mSldrModelData->mItem->SetAttribute ( mulvisualitem::KMulPrimaryTick, 
-	                (int)mSldrModelData->mSldPrimaryTick);
-	mSldrModelData->mItem->SetAttribute ( mulvisualitem::KMulSecondaryTick, 
-	                (int)mSldrModelData->mSldSecondaryTick);	
-	mSldrModelData->mItem->SetAttribute ( mulvisualitem::KMulCounter1,
-	                (int)mSldrModelData->mSldLeftText );
-	mSldrModelData->mItem->SetAttribute ( mulvisualitem::KMulCounter2, 
-	                (int)mSldrModelData->mSldRightText );
-	mSldrModelData->mItem->SetAttribute ( mulvisualitem::KMulPercent1, 
-	                (int)mSldrModelData->mSldPercentText );
-	return *(mSldrModelData->mItem);
-   }
-
-// ---------------------------------------------------------------------------
-// SetValue 
-// ---------------------------------------------------------------------------
-//
-void MulSliderModel::SetPrimaryValue(int aValue)
-    { 
-	int maxRange = mSldrModelData->mSldMaxRange;	
-    int minRange = mSldrModelData->mSldMinRange;	
-    // Validate aValue 
-    if(aValue != mSldrModelData->mSldPrimaryTick)
-        {
-        if( (aValue >= minRange) && (aValue <= maxRange))
-    		{
-    		mSldrModelData->mSldPrimaryTick = aValue;
-    		}
-        else if(aValue <= minRange)
-            {
-    		mSldrModelData->mSldPrimaryTick = minRange;
-    		}
-    	else if(aValue >= maxRange)
-    	    {
-    	    mSldrModelData->mSldPrimaryTick = maxRange;
-    	    }
-    	// Update the visualization	
-    	if(GetElement())
-    	    {
-            GetElement()->updateVisualization();	
-    	    }        
-	    }
-    }
-    
-// ---------------------------------------------------------------------------
-// Gets the Slider Element 
-// ---------------------------------------------------------------------------
-//
-IMulSliderBaseElementInternal* MulSliderModel::GetElement() 
-    {
-    if(mSldrModelData->mSliderWidget)
-        {
-        return mSldrModelData->mSliderWidget->GetSliderElement();  
-        }
-    else
-        {
-        
-        }
-    return NULL;  
-    }
-    
-    
- // ---------------------------------------------------------------------------
-// update element visualization 
-// ---------------------------------------------------------------------------
-//
-void MulSliderModel::UpdateElement() 
-    {
-    if(mSldrModelData->mSliderWidget)
-        {
-   		if(mSldrModelData->mSliderWidget->GetSliderElement())
-	   		{
-		    mSldrModelData->mSliderWidget->GetSliderElement()->updateVisualization();
-	   		}
-	    }
-    }
-       
-// ---------------------------------------------------------------------------
-// Value 
-// ---------------------------------------------------------------------------
-//
-int MulSliderModel::PrimaryValue() const
-    {
-    return mSldrModelData->mSldPrimaryTick;
-    }
-
-// ---------------------------------------------------------------------------
-// SetValue 
-// ---------------------------------------------------------------------------
-//
-void MulSliderModel::SetSecondaryValue(int aValue)
-    { 
-  	int maxRange = mSldrModelData->mSldMaxRange;	
-    int minRange = mSldrModelData->mSldMinRange;	
-    if(mSldrModelData->mSldSecondaryTick != aValue)
-        {
-        // Validate aValue
-        if( (aValue >= minRange) && (aValue <= maxRange))
-    		{
-    		mSldrModelData->mSldSecondaryTick = aValue;
-    		}
-    		
-    	UpdateElement();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Value 
-// ---------------------------------------------------------------------------
-//
-int MulSliderModel::SecondaryValue() const
-    {
-    return mSldrModelData->mSldSecondaryTick;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// TotalTicks 
-// ---------------------------------------------------------------------------
-//
-int MulSliderModel::TotalTicks() const
-    {
-    //MUL_LOG_INFO("CMulSliderModel::TotalTicks");
-    
-    int maxRange = mSldrModelData->mSldMaxRange;	
-    int minRange = mSldrModelData->mSldMinRange;	
-    int tick     = mSldrModelData->mSldTick;
-    if(tick == 0)
-        {
-        tick = 1;
-        }
-    return ((maxRange-minRange)/tick);
-    }
-
-// ---------------------------------------------------------------------------
-// SetTemplate 
-// ---------------------------------------------------------------------------
-//
-void MulSliderModel::SetTemplate( sliderTemplate aTemplateId)
-    {
-    if(mSldrModelData->mTemplateId != aTemplateId)
-        {
-    	mSldrModelData->mTemplateId = aTemplateId; 
-    	if(mSldrModelData->mSliderWidget)
-            {
-            // Change the tempate 
-            mSldrModelData->mSliderWidget->changeTemplate(aTemplateId);
-            }
-        else 
-            {
-            //do nothing
-            }	
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// makeInterface
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* MulSliderModel::makeInterface( const IfId& aType)
-    {
-    //MUL_LOG_INFO("CMulSliderModel::makeInterface");
-    IAlfInterfaceBase* ret(0);
-      UString param(aType.mImplementationId);
-      if ( param == IMulSliderModel::type().mImplementationId )
-          {
-          ret = static_cast<IMulSliderModel*>(this);
-          }
-      else if(param == IAlfModel::type().mImplementationId)
-          {
-          ret = static_cast<IAlfModel*>(this);
-          }
-      return ret;      
-          
-    }
-
-// ---------------------------------------------------------------------------
-// SetMinRange 
-// ---------------------------------------------------------------------------
-//
-
-void MulSliderModel::SetMinRange(int aMinRange)
-	{
-	// Validate aMinRange
-	if(aMinRange != mSldrModelData->mSldMinRange)
-	    {
-	    mSldrModelData->mSldMinRange = aMinRange;
-	    
-	   if(aMinRange > mSldrModelData->mSldMaxRange)
-	       {
-	       mSldrModelData->mSldMaxRange = aMinRange;
-	       mSldrModelData->mSldTick = 0;
-	       }
-	   else
-	       {
-	       if(mSldrModelData->mSldTick > mSldrModelData->mSldMaxRange - mSldrModelData->mSldMinRange || mSldrModelData->mSldTick == 0)
-              {
-              mSldrModelData->mSldTick = mSldrModelData->mSldMaxRange - mSldrModelData->mSldMinRange; 
-              }
-	       }
-    	
-	       mSldrModelData->mSldPrimaryTick = aMinRange;
-        UpdateElement();	  
-        }
-
-	}
-
-// ---------------------------------------------------------------------------
-// SetMaxRange 
-// ---------------------------------------------------------------------------
-//
-
-void MulSliderModel::SetMaxRange(int aMaxRange)
-	{
-	if(aMaxRange != mSldrModelData->mSldMaxRange)
-	    {
-	    mSldrModelData->mSldMaxRange = aMaxRange;
-	   
-	    if(aMaxRange < mSldrModelData->mSldMinRange)
-	        {
-	        mSldrModelData->mSldMinRange = aMaxRange;
-	        mSldrModelData->mSldTick = 0;
-	        }
-	    else
-	        {
-	        if(mSldrModelData->mSldTick > mSldrModelData->mSldMaxRange - mSldrModelData->mSldMinRange || mSldrModelData->mSldTick == 0 )
-                {
-                mSldrModelData->mSldTick = mSldrModelData->mSldMaxRange - mSldrModelData->mSldMinRange; 
-                }
-	        }
-    	
-	    mSldrModelData->mSldPrimaryTick = mSldrModelData->mSldMinRange;
-        UpdateElement();	    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// MinRange 
-// ---------------------------------------------------------------------------
-//
-
-int MulSliderModel::MinRange() const
-	{
-	//MUL_LOG_INFO("CMulSliderModel::makeInterface");		
-	return mSldrModelData->mSldMinRange;	
-	}
-		
-// ---------------------------------------------------------------------------
-// MaxRange 
-// ---------------------------------------------------------------------------
-//
-
-int MulSliderModel::MaxRange() const
-	{
-	//MUL_LOG_INFO("CMulSliderModel::makeInterface");		
-	return mSldrModelData->mSldMaxRange;	
-	}
-// ---------------------------------------------------------------------------
-// SetTick 
-// ---------------------------------------------------------------------------
-//
-
-void MulSliderModel::SetTick(int aTick)
-	{
-	//MUL_LOG_INFO("CMulSliderModel::makeInterface");
-	if(aTick != mSldrModelData->mSldTick && aTick > 0) 
-	    {
-        if(aTick > mSldrModelData->mSldMaxRange - mSldrModelData->mSldMinRange)
-    	    {
-    	    mSldrModelData->mSldTick = mSldrModelData->mSldMaxRange - mSldrModelData->mSldMinRange;	
-    	    }
-    	else
-    	    {
-    	    mSldrModelData->mSldTick = aTick;
-    	    }
-        mSldrModelData->mSldPrimaryTick = mSldrModelData->mSldMinRange;
-    	if(GetElement())
-    	    {
-    	    GetElement()->updateVisualization();
-    	    }	    
-	    }
-	}
-
-// ---------------------------------------------------------------------------
-// Tick 
-// ---------------------------------------------------------------------------
-//
-
-int MulSliderModel::Tick() const
-	{
-	//MUL_LOG_INFO("CMulSliderModel::makeInterface");		
-	return mSldrModelData->mSldTick;	
-	}
-
-
-// ---------------------------------------------------------------------------
-// SetRightText 
-// ---------------------------------------------------------------------------
-//
-
-void MulSliderModel::SetRightText(char* aRightText)
-	{
-	if(aRightText)
-	    {
-	    mSldrModelData->mSldRightText = aRightText;
-	    UpdateElement();
-	    }
-	    	
-	}
-
-// ---------------------------------------------------------------------------
-// SetLeftText 
-// ---------------------------------------------------------------------------
-//
-
-void MulSliderModel::SetLeftText(char* aLeftText)
-	{
-    if(aLeftText)
-	    {
-	    mSldrModelData->mSldLeftText = aLeftText;
-	    UpdateElement();
-	    }
-	}
-
-// ---------------------------------------------------------------------------
-// SetPercentText 
-// ---------------------------------------------------------------------------
-//
-
-void MulSliderModel::SetPercentText(char* aPercText)
-	{
-	if(aPercText)
-	    {
-	    mSldrModelData->mSldPercentText = aPercText;
-	    if(GetElement())
-	    {
-	    GetElement()->updateTextVisualization();	
-	    }
-	    }
-	
-	}
-
-// ---------------------------------------------------------------------------
-// GetRightText 
-// ---------------------------------------------------------------------------
-//
-
-const char* MulSliderModel::GetRightText()
-	{
-	//MUL_LOG_INFO("CMulSliderModel::makeInterface");		
-	return mSldrModelData->mSldRightText;	
-	}
-
-// ---------------------------------------------------------------------------
-// GetLeftText 
-// ---------------------------------------------------------------------------
-//
-
-const char* MulSliderModel::GetLeftText()
-	{
-	//MUL_LOG_INFO("CMulSliderModel::makeInterface");		
-	return mSldrModelData->mSldLeftText;	
-	}
-
-// ---------------------------------------------------------------------------
-// GetPercentText 
-// ---------------------------------------------------------------------------
-//
-
-const char* MulSliderModel::GetPercentText()
-	{
-	//MUL_LOG_INFO("CMulSliderModel::makeInterface");		
-	return mSldrModelData->mSldPercentText;	
-	}
-
-
-// ---------------------------------------------------------------------------
-// addModelChangeObserver 
-// ---------------------------------------------------------------------------
-//
-void MulSliderModel::addModelChangeObserver( IAlfModelChangeObserver& /*aObserver*/ )
-    {    
-    //MUL_LOG_INFO("CMulSliderModel::addModelChangeObserver");
-    }
-
-// ---------------------------------------------------------------------------
-// removeModelChangeObserver 
-// ---------------------------------------------------------------------------
-//
-void MulSliderModel::removeModelChangeObserver( IAlfModelChangeObserver& /*aObserver*/ )
-    {
-    //MUL_LOG_INFO("CMulSliderModel::removeModelChangeObserver");
-    }
-
-// ---------------------------------------------------------------------------
-// setData 
-// ---------------------------------------------------------------------------
-//
-void MulSliderModel::setData( IAlfVariantType* /*aData*/ )
-    {
-    //MUL_LOG_INFO("CMulSliderModel::setData");
-    }
-
-// ---------------------------------------------------------------------------
-// updateData 
-// ---------------------------------------------------------------------------
-//
-void MulSliderModel::updateData(int /*aNumContainerIndices*/,int* /*aContainerIndices*/,
-                                IAlfVariantType* /*aData*/ )
-    {
-    //MUL_LOG_INFO("CMulSliderModel::updateData");
-    }
-
-// ---------------------------------------------------------------------------
-// addData 
-// ---------------------------------------------------------------------------
-//
-void MulSliderModel::addData(int /*aNumContainerIndices*/,int* /*aContainerIndices*/, 
-                             IAlfVariantType* /*aData*/ )
-    {
-    //MUL_LOG_INFO("CMulSliderModel::addData");
-    }
-
-// ---------------------------------------------------------------------------
-// removeData 
-// ---------------------------------------------------------------------------
-//
-void MulSliderModel::removeData(int /*aNumContainerIndices*/,int* /*aContainerIndices*/ )
-    {
-    //MUL_LOG_INFO("CMulSliderModel::removeData");
-    }
-
-// ---------------------------------------------------------------------------
-// executeOperations 
-// ---------------------------------------------------------------------------
-//
-void MulSliderModel::executeOperations(AlfPtrVector<AlfModelOperation>&  /*aOperationsArray*/)
-    {
-    //MUL_LOG_INFO("CMulSliderModel::executeOperations");
-    
-
-    }
-
-// ---------------------------------------------------------------------------
-// executeOperation 
-// ---------------------------------------------------------------------------
-//
-void MulSliderModel::executeOperation(AlfModelOperation* /*aOperation*/)
-    {
-    //MUL_LOG_INFO("CMulSliderModel::executeOperation");
-    }
-
-// ---------------------------------------------------------------------------
-// clearModel 
-// ---------------------------------------------------------------------------
-//
-void MulSliderModel::clearModel()
-    {
-    //MUL_LOG_INFO("CMulSliderModel::clearModel");
-    }
-
-// ---------------------------------------------------------------------------
-// data 
-// ---------------------------------------------------------------------------
-//
-IAlfVariantType* MulSliderModel::data() const 
-    {
-    //MUL_LOG_INFO("CMulSliderModel::data");
-    return NULL;
-    }    
-	
-// ---------------------------------------------------------------------------
-// StoreWidget
-// ---------------------------------------------------------------------------
-//    
-void MulSliderModel::storeWidget(MulSliderWidget* aWidget)
-    {
-    mSldrModelData->mSliderWidget = aWidget;
-    }
-// ---------------------------------------------------------------------------
-// GetTemplate 
-// ---------------------------------------------------------------------------
-//
-sliderTemplate MulSliderModel::GetTemplate()
-    {
-    return mSldrModelData->mTemplateId ;
-    }
-  
-// ---------------------------------------------------------------------------
-// IsLandscape
-// 
-// ---------------------------------------------------------------------------
-//  
- bool MulSliderModel::IsLandscape()   
-    {
-	
-	bool landscape = false;
-	if(mSldrModelData->mSliderWidget)
-    	{
-    	TSize size = AlfUtil::ScreenSize();        	
-    	if(size.iHeight < size.iWidth)
-        	{
-            landscape = true;
-        	}
-    	else if(size.iWidth < size.iHeight)
-        	{
-        	landscape = false;
-        	}
-    	}
-    return landscape;
-    }
- 
-	} // Namespace Alf
-
-//End of file
--- a/mulwidgets/mulsliderwidget/src/mulsliderutils.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,290 +0,0 @@
-/*
-* Copyright (c) 2009 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:  Utilities for slider widget.
-*
-*/
-
-
-
-
-
-#include <aknlayoutscalable_uiaccel.cdl.h>
-#include "mulsliderdefinitions.h"
-#include "mulsliderutils.h"
-#include <alf/alfimageloaderutil.h>
-#include <alf/alftexture.h>
-#include <alf/alfimage.h>
-#include <alf/alfenv.h>
-#include <utf.h>
-#include "mulutility.h"
-
-
-namespace Alf
-    {
-
-    //------------------------------------------------------------------------
-    // GetComponentRect
-    //------------------------------------------------------------------------
-	 TAknLayoutRect MulSliderUtils::GetComponentRect(
-	     SliderLCTIDs aId,CAlfLayout *aLayout,int aVariety)
-	 {
-	 	TAknLayoutRect layoutRect;
-    
-		TRect rect2(0,
-		           0,
-		           aLayout->Size().iX.ValueNow(),
-		           aLayout->Size().iY.ValueNow());
-		switch(aId)
-		    {
-			case EVSliderPane:  
-			{
-			TAknWindowLineLayout LayoutHandle =
-			    AknLayoutScalable_UiAccel::aaslider_pane(aVariety).LayoutLine();
-			layoutRect.LayoutRect( rect2,LayoutHandle);  
-			}
-			break;
-			
-			case EVSliderBackground:
-			{
-			TAknWindowLineLayout LayoutHandle = 
-			    AknLayoutScalable_UiAccel::
-			        aaslider_pane_g1(aVariety).LayoutLine();
-			layoutRect.LayoutRect( rect2,LayoutHandle);          
-			}
-			break;
-			
-			case EVSliderBgPane:
-			{
-			TAknWindowLineLayout LayoutHandle = 
-			    AknLayoutScalable_UiAccel::
-			        aaslider_bg_pane_cp001(aVariety).LayoutLine();
-			layoutRect.LayoutRect(rect2,LayoutHandle);
-			}
-			break;  
-			
-			case EVSliderTop:
-			{
-			TAknWindowLineLayout LayoutHandle = 
-			    AknLayoutScalable_UiAccel::
-			        aaslider_bg_pane_cp001_g1(aVariety).LayoutLine();
-			layoutRect.LayoutRect(rect2,LayoutHandle);
-			}
-			break;  
-			
-			case EVSliderMiddle:
-			{
-			TAknWindowLineLayout LayoutHandle = 
-			    AknLayoutScalable_UiAccel::
-			        aaslider_bg_pane_cp001_g3(aVariety).LayoutLine();
-			layoutRect.LayoutRect(rect2,LayoutHandle);
-			}
-			break;  
-			
-			case EVSliderEnd:
-			{
-			TAknWindowLineLayout LayoutHandle = 
-			    AknLayoutScalable_UiAccel::
-			        aaslider_bg_pane_cp001_g2(aVariety).LayoutLine();
-			layoutRect.LayoutRect(rect2,LayoutHandle);
-			}
-			break;  
-			
-			case EVSliderPlus:
-			{
-			TAknWindowLineLayout LayoutHandle = 
-			    AknLayoutScalable_UiAccel::aaslider_pane_g4(aVariety).LayoutLine();
-			layoutRect.LayoutRect( rect2,LayoutHandle);
-			}
-			break;
-			
-			case EVSliderMinus:
-			{
-			TAknWindowLineLayout LayoutHandle = 			                     
-			    AknLayoutScalable_UiAccel::
-			    aaslider_pane_g5(aVariety).LayoutLine();			        
-			layoutRect.LayoutRect( rect2,LayoutHandle);
-			}
-			break;
-			
-			case EVSliderMarker:
-			{
-			TAknWindowLineLayout LayoutHandle = 
-                    AknLayoutScalable_UiAccel::
-                    aaslider_pane_g2(aVariety).LayoutLine();
-			layoutRect.LayoutRect( rect2,LayoutHandle);
-			}
-			break;
-			
-			case EVSliderInnerRect:
-			{
-			TAknWindowLineLayout LayoutHandleInner = 
-			    AknLayoutScalable_UiAccel::
-			        aid_aaslider_pane_rect_inner(aVariety).LayoutLine();
-			layoutRect.LayoutRect( rect2,LayoutHandleInner);
-			}
-			break;
-			/*case EVSliderAudioImage:
-			{
-			TAknWindowLineLayout LayoutHandle =                                                   
-			    AknLayoutScalable_UiAccel::
-			        aaslider_pane_g3(aVariety).LayoutLine();                              
-			layoutRect.LayoutRect(rect2,LayoutHandle);
-			}   
-			break;*/
-
-			case EHSliderPane:
-			{
-			TAknWindowLineLayout TrackLayoutHandle = 
-			    AknLayoutScalable_UiAccel::
-			        aacf_slider_pane(aVariety).LayoutLine();
-			layoutRect.LayoutRect( rect2,TrackLayoutHandle);          
-			}
-			break;
-
-			case EHSliderBase:
-			{
-			TAknWindowLineLayout TrackLayoutHandle = 
-			    AknLayoutScalable_UiAccel::
-			        aacf_slider_pane(aVariety).LayoutLine();
-			layoutRect.LayoutRect( rect2,TrackLayoutHandle);          
-			}
-			break;
-
-			case EHSliderCenter:    
-			{
-			TAknWindowLineLayout TrackLayoutHandle = 
-			    AknLayoutScalable_UiAccel::
-			        aaslider_bg_pane(aVariety).LayoutLine();
-			layoutRect.LayoutRect(rect2, TrackLayoutHandle);
-			}
-			break;
-			
-		    case EHSliderLeft:
-			{
-			TAknWindowLineLayout TrackLayoutHandle = 
-			    AknLayoutScalable_UiAccel::
-			        aaslider_bg_pane_g1(aVariety).LayoutLine();
-			layoutRect.LayoutRect( rect2,TrackLayoutHandle);          
-			}
-			break;
-			
-			case EHSliderCentre:
-			{
-			TAknWindowLineLayout TrackLayoutHandle = 
-			    AknLayoutScalable_UiAccel::
-			        aaslider_bg_pane_g2_copy1(aVariety).LayoutLine();
-			layoutRect.LayoutRect( rect2,TrackLayoutHandle);          
-			}
-			break;
-
-      case EHSliderRight:
-			{
-			TAknWindowLineLayout TrackLayoutHandle = 
-			    AknLayoutScalable_UiAccel::
-			        aaslider_bg_pane_g2(aVariety).LayoutLine();
-			layoutRect.LayoutRect( rect2,TrackLayoutHandle);          
-			}
-			break;
-			
-			/*case EHSliderHandle:    
-			{
-			TAknWindowLineLayout TrackLayoutHandle = 
-			    AknLayoutScalable_UiAccel::
-			    aaslider_pane_g2(aVariety).LayoutLine();
-			layoutRect.LayoutRect(rect2, TrackLayoutHandle);
-			}
-			break;*/
-			case EHSliderHandle:    
-            {
-            TAknWindowLineLayout TrackLayoutHandle = 
-                AknLayoutScalable_UiAccel::
-                    aacf_slider_pane_g1(aVariety).LayoutLine();
-            layoutRect.LayoutRect(rect2, TrackLayoutHandle);
-            }
-            break;
-			case EVSliderMarkerExtended:
-            {
-            TAknWindowLineLayout LayoutHandle = 
-                AknLayoutScalable_UiAccel::
-                    aid_touch_size_slider_marker(aVariety).LayoutLine();
-            layoutRect.LayoutRect( rect2,LayoutHandle);
-            }
-            break;
-			case EPSliderLeft:    
-			{
-			TAknWindowLineLayout ProgressPaneLeft = 
-			    AknLayoutScalable_UiAccel::
-			        aalist_progress_pane_g1(aVariety).LayoutLine();
-			layoutRect.LayoutRect(rect2, ProgressPaneLeft);
-			}
-			break;
-			
-			case EPSliderCentre:    
-			{
-			TAknWindowLineLayout ProgressPaneCentre = 
-			    AknLayoutScalable_UiAccel::
-			        aalist_progress_pane_g2(aVariety).LayoutLine();
-			layoutRect.LayoutRect(rect2, ProgressPaneCentre);
-			}
-			break;
-			
-			case EPSliderRight:    
-			{
-			TAknWindowLineLayout ProgressPaneRight = 
-			    AknLayoutScalable_UiAccel::
-			        aalist_progress_pane_g3(aVariety).LayoutLine();
-			layoutRect.LayoutRect(rect2, ProgressPaneRight);
-			}
-			break;
-			default: ;
-			         
-	        }// end of switch
-     
-		  return layoutRect;
-
-	 }
-	 
-	//-------------------------------------------------------------------------
-	// GetTextComponentRect
-	//------------------------------------------------------------------------- 
-	 TAknLayoutText MulSliderUtils::GetTextComponentRect(
-	     SliderLCTIDs aId, CAlfLayout *aLayout, int aVariety)
-	 {
-	 	TAknLayoutText textRect;
-    
-		TRect rect2(0,
-		           0,
-		           aLayout->Size().iX.ValueNow(),
-		           aLayout->Size().iY.ValueNow());
-		switch(aId)
-		    {
-			case EVSliderZoomText:  
-			{			     
-			TAknTextLineLayout textLayout =  
-        	    AknLayoutScalable_UiAccel::aaslider_pane_t3(aVariety).LayoutLine();     		
-    		textRect.LayoutText(rect2, textLayout );
-			}
-			break;
-			
-			default: ;
-			
-		    }
-		    
-		return textRect;
-	 }
-
-
-	} // End of namespace Alf
-	
-
--- a/mulwidgets/mulsliderwidget/src/mulsliderwidget.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,441 +0,0 @@
-/*
-* Copyright (c) 2007, 2008 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: Implementation for slider widget.
- *
-*/
-
-
-// Alfred Client includes
-#include <alf/alfenv.h>
-
-// Widget Model includes
-#include "alf/alfelement.h"
-
-// Widget Includes
-#include "imulsliderbaseelementinternal.h"
-#include <mul/mulsliderproductids.h>
-// Internal includes
-#include "mulslidervertical.h"
-#include "mulsliderwidget.h"
-#include "mulslidermodel.h"
-#include "mulslidercontrol.h"
-#include <alf/alfwidgetenvextension.h>
-using namespace mulsliderwidget;
-
-using Alf::CommonWidgetEvent;
-namespace Alf
-    {
-
-// ---------------------------------------------------------------------------
-//  Creator Method.
-// ---------------------------------------------------------------------------
-//        
-MulSliderWidget* MulSliderWidget :: create(
-    CAlfEnv& aEnv, 
-    IAlfContainerWidget& aContainer,
-    const char* aWidgetId, 
-    AlfCustomInitDataBase* aCustomData)
-    {
-    
-    return (new( EMM ) MulSliderWidget(aEnv, 
-        aContainer, aWidgetId,aCustomData));
-    }
-
-
-// ---------------------------------------------------------------------------
-//  Destructor.
-// ---------------------------------------------------------------------------
-//        
-MulSliderWidget::~MulSliderWidget()
-    {
-    if(mSliderModel)
-        {
-        delete mSliderModel;
-        }
-    else 
-        {
-        
-        }
-    }
-    
-/**
- * Get the model for widget.
- *
- * @return model of the slider widget
- */
-IMulSliderModel& MulSliderWidget::SliderModel() 
-    {
-    return *mSliderModel;
-    }
-/**
- * Set the transparency for the background of the slider widget.
- *
- * @param True,  to set background as transparent
- * @param False, to set background as opaque	
- */
- void MulSliderWidget::MakeTransparent( bool aTransparent) 
-    {
-    mElement->MakeTransparent(aTransparent);
-    }
-
-/**
- * Enable/Disable key handling .
- *
- * @param aVal: True,  to handle keyevents by Application
- * 		 	  False, to handle keyevents as defined in the control	
- */
-void MulSliderWidget::SetHandleKeyEvent( bool aVal ) 
-    {
-    mHandleKeyEvent = aVal;
-    }
-/**
- * 
- * Returns KeyEvent enable status
- *	
- */    
-bool MulSliderWidget::IsKeyEnabled()
-    {
-    return mHandleKeyEvent;
-    }
-    
-// ---------------------------------------------------------------------------
-// From class IAlfWidget.
-// Getter for the parent container. The ownership not passed.
-// ---------------------------------------------------------------------------
-//
-IAlfContainerWidget* MulSliderWidget::parent() const
-    {
-    return mWidget->parent();
-    }
-    
-    
-// From class MAlfInterfaceBase.
-
-// ---------------------------------------------------------------------------
-// Getter for interfaces provided by the slider widget.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* MulSliderWidget :: makeInterface(const IfId& aType)
-    {
-    UString param ( aType.mImplementationId );
-
-    if (param == IMulSliderWidget::type().mImplementationId)
-        {
-        return static_cast<IMulSliderWidget*>(this);
-        }
-    else if (param == IAlfWidget::type().mImplementationId)
-        {
-        return static_cast<IAlfWidget*>(this);
-        }
-
-    else
-        {
-        //do nothing
-        }
-
-    // @todo other interfaces
-    return mWidget->makeInterface(aType);
-    }
-    
-      
-// From class IAlfWidget.
-    
-// ---------------------------------------------------------------------------
-// Getter for the control. The ownership is not passed.
-// ---------------------------------------------------------------------------
-//
-CAlfWidgetControl* MulSliderWidget :: control() const
-    {
-    //return mSliderControl;
-    return mWidget->control();
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Setter for the control. The control is owned by the Alfred environment.
-// ---------------------------------------------------------------------------
-//    
-void MulSliderWidget :: setControl( 
-    CAlfWidgetControl* aControl, bool /*aDeletePreviousControl*/ )
-    {
-    mSliderControl = aControl;
-    mWidget->setControl(aControl);
-    }
-
-
-// ---------------------------------------------------------------------------
-// Getter for the model. The ownership is not passed.
-// ---------------------------------------------------------------------------
-//
-IAlfModel* MulSliderWidget :: model()
-    {    
-    return mSliderModel;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Setter for the model. Ownership is passed and the old model is released.
-// ---------------------------------------------------------------------------
-//
-void MulSliderWidget :: setModel( IAlfModel* aModel, bool /*aTakeOwnerShip*/)
-    {
-    
-    if(aModel==NULL)
-        {
-        // Destroy the visualization if Model is NULL.
-			if(mElement)
-			{
-    		// Destroy the visual tree
-			mSliderControl->Visual(0).RemoveAndDestroyAllD();
-    		// Removes the element from control and destroys it
-            mSliderControl->removeAndDestroyElement(*((IAlfElement *)mElement));
-            mElement = NULL;
-			}
-        delete mSliderModel;
-        mSliderModel = NULL;
-        }
-    else 
-        {
-        if(mSliderModel)
-            {
-            delete mSliderModel;
-            mSliderModel = NULL;
-            }
-         mSliderModel = static_cast<IMulSliderModel*>( aModel->makeInterface(
-			          IMulSliderModel::type()));
-        MulSliderModel* sliderModel = (MulSliderModel*)mSliderModel;
-        // Store the widget pointer in model 
-        sliderModel->storeWidget(this);
-		if(mElement)
-    		{
-    		// Destroy the visual tree
-    		mSliderControl->Visual(0).RemoveAndDestroyAllD();
-    		// Removes the element from control and destroys it
-            mSliderControl->removeAndDestroyElement(*((IAlfElement *)mElement));
-            mElement = NULL;
-    		}
-		if(mSliderModel)
-        	{
-            sliderTemplate tmplateID = sliderModel->GetTemplate();
-            if(tmplateID != ESliderTemplateNone)
-                {
-                switch(tmplateID)
-                    {
-                	case ESliderTemplate3:// zoom slider
-                	  CreateSliderElement(KSliderVerticalElement);
-                	  break;
-                	case ESliderTemplate7:// progressbar
-                	  CreateSliderElement(KSliderProgressbarElement);
-                	  break;
-                	default:// rest all tempaltes are horizonatal
-                	  CreateSliderElement(KSliderHorizontalElement);
-                	}
-                if(mElement)
-                    {
-                    mElement->createVisualization(tmplateID);
-                    ShowWidget(!IsHidden());
-                    }
-                
-                }
-            }
-        }
-    }// End of setModel 
-
-// ---------------------------------------------------------------------------
-// Get the name of the widget instance.
-// ---------------------------------------------------------------------------
-//
-const char* MulSliderWidget :: widgetName() const
-    {
-    return mWidget->widgetName();
-    } 
-    
-// ---------------------------------------------------------------------------
-// Sets/Releases the Focus from child widget of container.
-// ---------------------------------------------------------------------------
-//
-void MulSliderWidget::setChildFocus(bool /*aFocus*/)
-    {
-    }
-    
-//---------------------------------------------------------------------------
-// Creates the presentation for the widget from XML. Destroys any existing
-// presentation.
-//---------------------------------------------------------------------------
-//    
-void MulSliderWidget::setPresentation(const char* /*aFilePath*/)
-    {
-    } 
-    
-    
-//---------------------------------------------------------------------------
-// Gets the Widget Opacity
-// 
-//---------------------------------------------------------------------------
-// 
-bool MulSliderWidget::GetOpacity()
-    {
-    return mOpacity;
-    }
-
-//---------------------------------------------------------------------------
-// Gets the Widget Opacity
-// 
-//---------------------------------------------------------------------------
-// 
-bool MulSliderWidget::IsHidden()
-    {
-    return !mOpacity;
-    }
-    
-// ---------------------------------------------------------------------------
-//   Default constructor.
-// ---------------------------------------------------------------------------
-//
-MulSliderWidget::MulSliderWidget(
-    CAlfEnv& aEnv, IAlfContainerWidget& aContainer,
-    const char* aWidgetId, 
-    AlfCustomInitDataBase* /*aCustomData*/)
-    { 
-    // Default widget is shown 
-    mOpacity = true;
-    mSliderModel = NULL;
-    mElement = NULL;
-    mHandleKeyEvent = true;
-    mWidget.reset(new(EMM) AlfWidget(aWidgetId,aContainer,aEnv));
-    // Default Imperative Construction
-    // Create Control
-    CAlfWidgetControl* ctrl = constructDefaultControl(aEnv);
-    setControl(ctrl);
-    }
-    
-void MulSliderWidget::CreateSliderElement(const char* aElementId)
-    {
-    IAlfWidgetFactory& widgetFactory = AlfWidgetEnvExtension::widgetFactory(
-                        control()->Env());
-    
-    IAlfElement * baseelement = widgetFactory.createElement<IAlfElement>
-         	        (   aElementId, 
-         	            baseElementName(),
-         	            *control(), 
-         	            NULL, 
-         	            NULL );
-         	            
-    // Store the element pointer
-    mElement = static_cast<IMulSliderBaseElementInternal*>(
-    baseelement->makeInterface(
-    IMulSliderBaseElementInternal::type()));     	            
-    }   
-    
-// ---------------------------------------------------------------------------
-//  Construct and returns Slider Control.
-// ---------------------------------------------------------------------------
-//
-CAlfWidgetControl *MulSliderWidget::constructDefaultControl(CAlfEnv& aEnv)
-    {
-    return(new(EMM) MulSliderControl(aEnv) );
-    } 
-       
-void MulSliderWidget::changeTemplate(int /*aTemplateId*/)
-    {
-	if( mSliderModel )
-		{
-    	if(mElement)
-    		{
-    		mSliderControl->Visual(0).RemoveAndDestroyAllD();
-    			mSliderControl->removeAndDestroyElement(*((IAlfElement*)mElement));
-    		// delete baseelement;
-    		mElement = NULL;
-    		}
-        
-		MulSliderModel* sliderModel = (MulSliderModel*)mSliderModel;
-		sliderTemplate i = sliderModel->GetTemplate();
-		switch(i)
-			{
-			case ESliderTemplateNone :// no template id is set
-				return;
-			case ESliderTemplate3:// zoom slider
-			  CreateSliderElement(KSliderVerticalElement);
-			  break;
-    		case ESliderTemplate7:// progressbar
-    		  CreateSliderElement(KSliderProgressbarElement);
-    		  break;
-    		default:// rest aal tempaltes are horizonatal
-			  CreateSliderElement(KSliderHorizontalElement);
-			}        
-        mElement->createVisualization(i);
-        ShowWidget(!IsHidden());
-        }
-    }
-	    	
-void MulSliderWidget::ShowWidget(bool opacity,int aTransitionTime)
-    {
-    mOpacity = opacity;
-	if(mElement && mSliderModel)
-	    {
-		MulSliderModel* sliderModel = static_cast<MulSliderModel*>(mSliderModel);
-		
-		if( sliderModel->GetTemplate() == ESliderTemplate3 && !mOpacity)
-			{
-	        mElement->stopEvents();
-			}
-	    CAlfLayout *layout = mSliderControl->ContainerLayout(NULL);
-	    TAlfTimedValue t1(0,aTransitionTime);
-	    if(opacity)
-    	    {
-    	    t1.SetTarget(1,aTransitionTime);
-    	    }
-    	
-	    layout->SetOpacity(t1);
-	    }
-    }
-    
-// ---------------------------------------------------------------------------
-// Get the root layout of slider
-// ---------------------------------------------------------------------------
-//
-const CAlfLayout& MulSliderWidget ::ContainerLayout()
-    {
-	CAlfLayout*  layout = mSliderControl->ContainerLayout(NULL);
-	return *layout;
-    }
-
-// ---------------------------------------------------------------------------
-// AddEventHandler
-// ---------------------------------------------------------------------------
-//	    
-void MulSliderWidget::AddEventHandler( IAlfWidgetEventHandler& aObserver)
-	{
-	control()->addEventHandler(&aObserver);
-	}
-
-// ---------------------------------------------------------------------------
-// RemoveEventHandler
-// ---------------------------------------------------------------------------
-//
-void MulSliderWidget::RemoveEventHandler( IAlfWidgetEventHandler& aObserver)
-	{
-	control()->removeEventHandler(aObserver);
-	}
-// ---------------------------------------------------------------------------
-// RemoveEventHandler
-// ---------------------------------------------------------------------------
-//
-IMulSliderBaseElementInternal* MulSliderWidget::GetSliderElement()
-	{
-	return mElement;
-	}	    
-    
-    }//End of Alf
-    
--- a/mulwidgets/mulsliderwidget/src/mulsliderwidgetfactoryplugin.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-/*
-* Copyright (c) 2009 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:  Plugin factory implementation for slider widget.
-*
-*/
-
-// OSN Includes
-#include <osn/ustring.h>
-
-// WidgetModel Includes
-#include "alf/alfwidget.h"
-#include <alf/ialfwidget.h>
-#include <alf/ialfelement.h>
-
-// Symbian Includes
-#include <ecom/ecom.h>
-
-// OpenC Includes
-#include <libc/string.h>
-
-// Widget Includes
-#include <mul/imulsliderwidget.h>
-#include <mul/mulsliderproductids.h>
-#include "imulsliderbaseelementinternal.h"
-//Internal includes
-#include "mulsliderwidgetfactoryplugin.h"
-#include "mulsliderwidget.h"
-#include "mulslidermodel.h"
-#include "mulslidervertical.h"
-#include "mulprogressbarslider.h"
-#include "mulsliderhorizontal.h"
-//#include "alfscrollbardefaultlctbaseelement.h"
-
-using namespace osncore;
-
-namespace Alf
-    {
-const TInt KScrollBarWidgetFactoryPluginUid = {0x2000FA80};
-const int KProductCount = 5;
-
-
-// ---------------------------------------------------------------------------
-// Two-phased Symbian constructor.
-// ---------------------------------------------------------------------------
-//
-MulSliderWidgetFactoryPlugin* MulSliderWidgetFactoryPlugin::NewL()
-    {
-    return new (EMM) MulSliderWidgetFactoryPlugin;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-MulSliderWidgetFactoryPlugin::~MulSliderWidgetFactoryPlugin()
-    {
-
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// Creates either a scrollbar widget or a scrollbar model.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* MulSliderWidgetFactoryPlugin::createProduct(
-    const char* aProduct,
-    void* aInitData)
-    {
-    IAlfInterfaceBase* ret (0);
- 
-     if (!strcmp(aProduct, KSliderWidget))
-        {
-        AlfWidgetInitData* initData = (AlfWidgetInitData*)aInitData;        
-        auto_ptr<MulSliderWidget> widget(MulSliderWidget::create(
-            *initData->mEnv, 
-            *initData->mContainerWidget,
-            initData->mWidgetId,
-            initData->mCustomData));            
-        ret = widget->makeInterface (IMulSliderWidget::type());
-        widget.release();
-        }
-    else if (!strcmp(aProduct, KSliderModel))
-        {
-        auto_ptr<MulSliderModel> model(new(EMM) MulSliderModel());
-        ret = model->makeInterface (IMulSliderModel::type());
-        model.release();
-        }
-    // Vertical  element support template 3, 9
-    else if (!strcmp(aProduct, KSliderVerticalElement))
-        {
-        AlfElementInitData* initData = (AlfElementInitData*) aInitData;
-        auto_ptr<MulSliderVertical> element(
-            new(EMM) MulSliderVertical(
-                (CAlfWidgetControl&)(*initData->mControl),
-                initData->mElementId,
-                initData->mCustomData));
-                
-        ret = element->makeInterface(IMulSliderBaseElementInternal::type());
-        element.release();
-        }
-    // Progressbar element support template 7,8 
-        else if(!strcmp(aProduct, KSliderProgressbarElement))
-        {
-        AlfElementInitData* initData = (AlfElementInitData*) aInitData;
-        auto_ptr<MulSliderProgressive> element(
-            new(EMM) MulSliderProgressive(
-                (CAlfWidgetControl&)(*initData->mControl),
-                initData->mElementId,
-                initData->mCustomData));
-        ret = element->makeInterface(IMulSliderBaseElementInternal::type());
-        element.release();
-        }      
-    // Horizontal element support template 1,2,4,6      
-        else if(!strcmp(aProduct, KSliderHorizontalElement))
-        {
-        AlfElementInitData* initData = (AlfElementInitData*) aInitData;
-        auto_ptr<MulSliderHorizontal> element(
-            new(EMM) MulSliderHorizontal(
-                (CAlfWidgetControl&)(*initData->mControl),
-                initData->mElementId,
-                initData->mCustomData));
-        ret = element->makeInterface(IMulSliderBaseElementInternal::type());
-        element.release();
-        }      
-  
-    return ret;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// From IAlfInterfaceBase.
-// Creates interface based on the given type.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* MulSliderWidgetFactoryPlugin::makeInterface(
-    const IfId& aType)
-    {
-    UString param (aType.mImplementationId);
-    if (param == UString (IAlfFactoryPlugin::type().mImplementationId))
-        {
-        return static_cast<IAlfFactoryPlugin*> (this);
-        }
-    else
-        {
-        // Do Nothing
-        }
-    return NULL;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// Returns the amount of products this factory can produce.
-// ---------------------------------------------------------------------------
-//
-int MulSliderWidgetFactoryPlugin::productCount() const
-    {
-    return KProductCount;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// Returns product information.
-// ---------------------------------------------------------------------------
-//
-const char* MulSliderWidgetFactoryPlugin::productInfo (int aIndex) const
-    {
-    switch (aIndex)
-        {
-    case ESliderWidget:
-        {
-        return KSliderWidget;
-        }    
-
-    case ESliderModel:
-        {
-        return KSliderModel;
-        }
-
-    case ESliderHorizontalElement:
-        {
-        return KSliderHorizontalElement;
-        }
-
-    case ESliderVerticalElement:
-        {
-        return KSliderVerticalElement;
-        }
-        
-    case ESliderProgressbarElement:
-        {
-        return KSliderProgressbarElement;
-        }    
-        
-    default:
-        break;
-
-        }
-
-    return 0;
-    }
-
-    }// NameSpace 
-
-
-// ---------------------------------------------------------------------------
-// OTHER EXPORTED FUNCTIONS.
-// ---------------------------------------------------------------------------
-//
-
-using namespace Alf;
-const TImplementationProxy ImplementationTable[] =
-    {
-#ifdef __EABI__
-    IMPLEMENTATION_PROXY_ENTRY (
-        KScrollBarWidgetFactoryPluginUid, 
-        MulSliderWidgetFactoryPlugin::NewL)
-#else
-        {
-        {KScrollBarWidgetFactoryPluginUid}, 
-        MulSliderWidgetFactoryPlugin::NewL}
-#endif
-    };
-
-OSN_EXPORT const TImplementationProxy* ImplementationGroupProxy(
-    TInt& aTableCount)
-    {
-    aTableCount = sizeof (ImplementationTable) / sizeof (TImplementationProxy);
-
-    return ImplementationTable;
-    }
-
-
--- a/mulwidgets/mulsliderwidget/src/mulverticalslider.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1346 +0,0 @@
-/*
-* 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: Implementation for presentation element - vertical.
-*
-*/
-
-//Toolkit Includes
-#include <avkon.mbg> 
-#include <mulsliderwidget.mbg>
-
-// Alfred Client includes
-#include <alf/alfenv.h>
-#include <alf/alfroster.h>
-#include <alf/alfdisplay.h>
-#include <alf/alfbrusharray.h>
-#include <alf/alftextvisual.h>
-#include <alf/alfevent.h>
-//#include <osn/alfptrvector.h>
-#include <alf/alfframebrush.h>
-
-//Widget Model Includes
-#include <alf/alfwidgetevents.h>
-#include <alf/alfwidgetenvextension.h>
-#include <alf/ialfmodel.h>
-
-//Avkon Includes
-#include <AknUtils.h>
-#include <AknsConstants.h>
-#include <utf.h>
-#include <aknlayoutscalable_uiaccel.cdl.h>
-#include <avkon.hrh>
-//#include <math.h>
-
-//slider widget includes
-#include "mulslidervertical.h"
-#include <mul/mulevent.h>
-#include "mulsliderwidget.h"
-#include "mulslidercontrol.h"
-#include "mulslidermodel.h"
-#include "mulsliderdefinitions.h"
-#include "mulsliderutils.h"
-
-//Timer function includes
-#include "mulsliderlongtaptimer.h"
-#include <alf/alfgradientbrush.h>
-namespace Alf
-    {    
-// Structure to store data for the slider element class
-struct MulVerticalSliderDataImpl
-    {
-    bool mOperation;// Drag state
-    bool mSliderHit;// button down has happened on slider visual
-    float mTickInPixels;// Tick size in Pixel
-    int mRangeInPixels;// Range in Pixel
-    int mCurrTickInPixels;// Current Tick posion in pixels
-    CAlfVisual * mVisual;// Stores the current visual hit 
-    TPoint mDragPoint;// Point at which drag started 
-    TPoint mLongTapPos;// Point at which button down happened 
-    int mDragStartStep;// Tick positon of Drag Start
-    int mCurrTick;// Stores current tick
-    int mTick;// Stores Tick Size
-    int mTrackStartPoint;// Slider Track Start Point in pixel
-    int mHandleGhostHieghtDelta;
-    bool mOrientationLandScape;
-    bool mHasBackground; // for background only created once 
-    int mdirection;// 0 - nomovement,1 up movement 2 down
-    bool mLayoutMirrored;// RTL if True else LTR
-    int mImageTextureId; // to differtiate between textures 
-    int mTrackTopTextureId ;// to store the auto generated texture id's
-    int mTrackBottomTextureId;
-    int mTrackMiddleTextureId;
-    int mMarkerTextureId;
-    int mZoomInTextureId;
-    int mZoomOutTextureId;
-    
-    CAlfLayout* mMainLayout;
-    CAlfLayout* mBaseSliderLayout;// Slider Background
-    CAlfTexture* mTexture;
-    CAlfLayout* mSliderCentre;// Track layout
-    CAlfLayout* mSliderCentreGhost;// Extended touch are for track
-    CAlfImageVisual* mTrackTopImage;
-    CAlfImageVisual* mTrackMiddleImage;
-    CAlfImageVisual* mTrackEndImage;
-    CAlfImageVisual* mSliderHandle;// Slider Handle
-    CAlfLayout* mSliderHandleGhost;//Extended touch are for handle
-    CAlfVisual* mSliderPercentAudio;//Visula showing percentage
-    CAlfImageVisual* mImagePlus;// Zoom in
-    CAlfImageVisual* mImageMinus;// Zoom out
-
-
-    MulVerticalSliderDataImpl()
-        {
-        mOperation = false;
-        mSliderHit = false;
-        mTickInPixels = 0;
-        mRangeInPixels = 0;
-        mCurrTickInPixels = 0;
-        mVisual = NULL;
-        mDragPoint.SetXY(0,0);
-        mLongTapPos.SetXY(0,0);
-        mDragStartStep = 0;
-        mCurrTick = 0;
-        mTick = 0;
-        mTrackStartPoint = 0;
-        mImageTextureId = 0;
-        mTrackTopTextureId = 0;
-        mTrackBottomTextureId = 0;
-        mTrackMiddleTextureId = 0;
-        mMarkerTextureId = 0;
-        mZoomInTextureId = 0;
-        mZoomOutTextureId = 0;
-        mMainLayout = NULL;
-        mBaseSliderLayout = NULL;
-        mSliderCentre = NULL;
-        mTrackTopImage = NULL;
-        mTrackMiddleImage = NULL;
-        mTrackEndImage = NULL;
-        mSliderCentreGhost = NULL;
-        mSliderHandleGhost = NULL;
-        mSliderHandle = NULL;
-        mSliderPercentAudio = NULL;
-        mImagePlus = NULL;
-        mImageMinus = NULL;
-        mHandleGhostHieghtDelta = 0;   
-        mOrientationLandScape = false;
-        mdirection = 0;
-        mLayoutMirrored = false;
-        mHasBackground = false;
-        } 
-
-    };
-    
-// bitmap file path
-_LIT(KAvkonBitmapFile,"\\resource\\apps\\avkon2.mbm");
-_LIT(KSliderBitmapFile,"\\resource\\apps\\mulsliderwidget.mif");
-
-const TInt KAlfTrackTopTextureId = 1;
-const TInt KAlfTrackBottomTextureId = 2;
-const TInt KAlfTrackMiddleTextureId = 3;
-const TInt KAlfMarkerTextureId = 4;
-const TInt KAlfZoomInTextureId = 5;
-const TInt KAlfZoomOutTextureId = 6;
-        
-// ---------------------------------------------------------------------------
-//  C++ default constructor.
-// ---------------------------------------------------------------------------
-//
-MulSliderVertical::MulSliderVertical(
-                                    CAlfWidgetControl& aControl,
-                                    const char* aName, 
-                                    AlfCustomInitDataBase* /*aCustomData*/)
-    : mData(NULL)
-        {
-        // Base class (AlfElement) construct
-        construct(aControl, aName);
-        mSliderModel = NULL;
-        mSliderWidget = NULL;
-        mData = new (EMM) MulVerticalSliderDataImpl;
-        mPosData.reset(new(EMM)MulSliderPos);
-
-        // Timer for generating tap and hold repeat events  
-        mLongTapTimer.reset(new (EMM) MulSliderLongTapTimer(this)); 
-        initializeSliderData();
-        }
-
-// ---------------------------------------------------------------------------
-//  Destructor
-// ---------------------------------------------------------------------------
-//
-MulSliderVertical::~MulSliderVertical()
-    {
-    // Visualization Data
-    if(mData)
-        {
-        (&control().Env())->TextureManager().UnloadTexture(mData->mTrackTopTextureId);
-        (&control().Env())->TextureManager().UnloadTexture(mData->mTrackBottomTextureId);
-        (&control().Env())->TextureManager().UnloadTexture(mData->mTrackTopTextureId);
-        (&control().Env())->TextureManager().UnloadTexture(mData->mMarkerTextureId);
-        (&control().Env())->TextureManager().UnloadTexture(mData->mZoomInTextureId);
-        (&control().Env())->TextureManager().UnloadTexture(mData->mZoomOutTextureId);
-        delete mData;
-        }
-    else
-        {
-
-        }
-
-    }//End of Destructor
-
-// ---------------------------------------------------------------------------
-// From class MAlfInterfaceBase.
-// Getter for interfaces provided by the slider widget.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* MulSliderVertical::makeInterface(
-                        const IfId& aType)
-    {
-    IAlfInterfaceBase* interface = 0;
-    UString param (aType.mImplementationId);
-    if (param == IAlfWidgetEventHandler::type().mImplementationId)
-        {
-        return static_cast<IAlfWidgetEventHandler*>(this);
-        }
-    else if (param == 
-    IMulSliderBaseElementInternal::type().mImplementationId)
-        {
-        return static_cast<IMulSliderBaseElementInternal*>(this);
-        }  
-    else
-        {
-        interface = AlfElement::makeInterface(aType);   
-        }
-    return interface;
-    }
-
-//--------------------------------------------------------------------------
-// APIs from the IMulSliderBaseElement 
-//--------------------------------------------------------------------------
-
-// ---------------------------------------------------------------------------
-// Gets called when the parent layout is relayouted.
-// resets all the anchor points and updates the visualization
-// ---------------------------------------------------------------------------
-//
-void MulSliderVertical::baseLayoutSizeChanged()
-    {
-    mData->mMainLayout->ClearFlag(EAlfVisualFlagLayoutUpdateNotification);
-    if(mData->mMainLayout)
-        {
-        //mData->mOrientationLandScape = mSliderModel->IsLandscape();
-        // This is a hack to resolve screen refresh issue
-        control().Env().RefreshCallBack(&(control().Env()));
-        // Layout the visualization with correct LCT values 
-        layoutVisuals(mSliderModel->GetTemplate());
-        // Convert all the user defined data to pixels
-        ConvertDataToPixels();
-        // Set the thumb position to the current tick
-        SetThumbPosition();
-        mData->mMainLayout->SetOpacity(mSliderWidget->GetOpacity());
-        }
-    mData->mMainLayout->SetFlag(EAlfVisualFlagLayoutUpdateNotification);   
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfWidgetEventHandler.
-// ---------------------------------------------------------------------------
-//  
-void MulSliderVertical::setActiveStates(
-    unsigned int /*aStates*/)
-    {
-    //do nothing
-    }
-
-// ---------------------------------------------------------------------------
-//  initializes Model and Widget Pointer
-// ---------------------------------------------------------------------------
-//
-void  MulSliderVertical::initializeSliderData()
-    {
-    // initialize the Slider Widget Pointer;
-    IAlfWidgetFactory& widgetFactory = 
-        AlfWidgetEnvExtension::widgetFactory(control().Env());
-    mSliderWidget = static_cast<MulSliderWidget *>(widgetFactory.findWidget(
-                    control().widget()->widgetName()));
-            
-    // initialize the Slider Model Pointer;
-    mSliderModel =static_cast<MulSliderModel*>(mSliderWidget->model());
-    }
-    
-// ---------------------------------------------------------------------------
-//  set the positions and images for the visual hierarchy
-// ---------------------------------------------------------------------------
-//
-void MulSliderVertical::layoutVisuals( sliderTemplate /*aTemplateId*/)
-    {
-    bool relayout = false;
-    if(mData->mLayoutMirrored != AknLayoutUtils::LayoutMirrored())
-        {
-        mData->mOrientationLandScape = !mSliderModel->IsLandscape();
-        mData->mLayoutMirrored = AknLayoutUtils::LayoutMirrored();
-        }
-        
-    if( mSliderModel->IsLandscape() != mData->mOrientationLandScape ) 
-        {
-        relayout = true;
-        mData->mOrientationLandScape = mSliderModel->IsLandscape();
-        }  
-    if(relayout)
-        {
-    
-    CAlfControl* ctrl = (CAlfControl*)&control();  
-    TAknLayoutRect layoutRect;
-    //get the lct rect for mBaseSliderLayout and set it            
-    // aaslider_pane(2)
-    layoutRect = MulSliderUtils::GetComponentRect(
-            EVSliderPane,mData->mMainLayout,KVariety2);
-    mData->mBaseSliderLayout->SetRect(
-            TRect( TPoint(layoutRect.Rect().iTl.iX,layoutRect.Rect().iTl.iY  ),
-                    TSize( layoutRect.Rect().Size().iWidth, 
-                            layoutRect.Rect().Size().iHeight ))) ;
-   if(!mData->mHasBackground)
-            SetBackgroundBrush();
-    // Set Position and Size for Extended touch layout for track
-    mData->mSliderCentreGhost->SetRect(
-            TRect( TPoint(0,0 ),
-                    TSize( layoutRect.Rect().Size().iWidth, 
-                            layoutRect.Rect().Size().iHeight )));
-
-
-    //get the lct rect for mImageMinus and set it            
-    // aid_touch_size_slider_min(2) 
-    layoutRect = MulSliderUtils::GetComponentRect(
-            EVSliderMinus,mData->mBaseSliderLayout,KVariety2);
-    mData->mImageMinus->SetRect(
-            TRect( TPoint( layoutRect.Rect().iTl.iX,layoutRect.Rect().iTl.iY ),
-                    TSize( layoutRect.Rect().Size().iWidth, 
-                            layoutRect.Rect().Size().iHeight ))) ;
-
-    //get the lct rect for mImagePlus and set it            
-    // aid_touch_size_slider_max(1) 
-    layoutRect = MulSliderUtils::GetComponentRect(
-            EVSliderPlus,
-            mData->mBaseSliderLayout,
-            KVariety1);
-    mData->mImagePlus->SetRect(
-            TRect( TPoint( layoutRect.Rect().iTl.iX,layoutRect.Rect().iTl.iY ),
-                    TSize( layoutRect.Rect().Size().iWidth, 
-                            layoutRect.Rect().Size().iHeight ))) ;
-
-    //get the lct rect for mSliderHandle and set it     
-    //aid_touch_size_slider_marker(5)
-    layoutRect = MulSliderUtils::GetComponentRect(
-            EVSliderMarker,
-            mData->mBaseSliderLayout,
-            KVariety5);
-    mData->mSliderHandle->SetRect(
-            TRect( TPoint( layoutRect.Rect().iTl.iX,layoutRect.Rect().iTl.iY ),
-                    TSize( layoutRect.Rect().Size().iWidth, 
-                            layoutRect.Rect().Size().iHeight ))) ;
-    
-    layoutRect = MulSliderUtils::GetComponentRect(
-                EVSliderMarkerExtended,
-                mData->mBaseSliderLayout,
-                KVariety5);
-    mData->mHandleGhostHieghtDelta = 
-        (layoutRect.Rect().Size().iHeight - mData->mSliderHandle->Size().iY.ValueNow()  );
-            
-    // Set Position and Size for Extended touch layout for handle
-    mData->mSliderHandleGhost->SetRect(
-            TRect( TPoint( mData->mBaseSliderLayout->Pos().iX.ValueNow(),
-                    mData->mSliderHandle->Pos().iY.ValueNow()- 
-                    mData->mHandleGhostHieghtDelta/2),
-                    TSize( mData->mBaseSliderLayout->Size().iX.ValueNow(), 
-                            layoutRect.Rect().Size().iHeight)));
-
-    //get the lct rect for mSliderCentre and set it     
-    //aaslider_bg_pane_cp001(6)
-    layoutRect = MulSliderUtils::GetComponentRect(
-            EVSliderBgPane,
-            mData->mBaseSliderLayout,
-            KVariety6);
-    mData->mSliderCentre->SetRect(
-            TRect( TPoint( layoutRect.Rect().iTl.iX ,
-                    layoutRect.Rect().iTl.iY),
-                    TSize( layoutRect.Rect().Size().iWidth, 
-                            layoutRect.Rect().Size().iHeight )));
-
-    //get the lct rect for mTrackTopImage and set it     
-    //aaslider_bg_pane_cp001_g1(0)
-    layoutRect = MulSliderUtils::GetComponentRect(
-            EVSliderTop,
-            mData->mSliderCentre,
-            KVariety0);
-    mData->mTrackTopImage->SetRect(
-            TRect( TPoint(0,layoutRect.Rect().iTl.iY),
-                    TSize( layoutRect.Rect().Size().iWidth, 
-                            layoutRect.Rect().Size().iHeight )));
-
-    //get the lct rect for mTrackMiddleImage and set it     
-    //aaslider_bg_pane_cp001_g3(0)
-    layoutRect = MulSliderUtils::GetComponentRect(
-            EVSliderMiddle,
-            mData->mSliderCentre,
-            KVariety0);
-    mData->mTrackMiddleImage->SetRect(
-            TRect( TPoint( 0,layoutRect.Rect().iTl.iY),
-                    TSize( layoutRect.Rect().Size().iWidth, 
-                            layoutRect.Rect().Size().iHeight )));
-
-    //get the lct rect for mTrackEndImage and set it     
-    //aaslider_bg_pane_cp001_g2(0)
-    layoutRect = MulSliderUtils::GetComponentRect(
-            EVSliderEnd,
-            mData->mSliderCentre,
-            KVariety0);
-    mData->mTrackEndImage->SetRect(
-            TRect( TPoint(0,layoutRect.Rect().iTl.iY),
-                    TSize( layoutRect.Rect().Size().iWidth, 
-                            layoutRect.Rect().Size().iHeight )));
-  
-    if(mData->mTrackTopImage && 
-                    mData->mTrackMiddleImage && 
-                    mData->mTrackEndImage)
-                {
-                setTrackImage();
-                }
-    if(mData->mSliderHandle)
-        {
-        mData->mImageTextureId = KAlfMarkerTextureId;
-        // Create the texture from bitmap provider
-        mData->mTexture = &((ctrl->Env()).TextureManager().CreateTextureL(
-                KAlfAutoGeneratedTextureId/*KAlfMarkerTextureId*/,
-                (MAlfBitmapProvider *)this,
-                (TAlfTextureFlags)(EAlfTextureFlagRetainResolution|
-                                   EAlfTextureFlagSkinContent)));
-        TAlfImage aImage(*mData->mTexture );                                                
-        mData->mSliderHandle->SetImage(aImage);
-
-        }
-
-    if(mData->mImagePlus)
-        {
-        mData->mImageTextureId = KAlfZoomInTextureId;
-        // Create the texture from bitmap provider
-        mData->mTexture = &((ctrl->Env()).TextureManager().CreateTextureL(
-                KAlfAutoGeneratedTextureId/*KAlfZoomInTextureId*/,
-                (MAlfBitmapProvider *)this,
-                (TAlfTextureFlags)(EAlfTextureFlagRetainResolution|EAlfTextureFlagSkinContent)));
-        TAlfImage aImage(*mData->mTexture );
-        mData->mImagePlus->SetImage(aImage);
-        }
-
-    if(mData->mImageMinus)
-        {
-        mData->mImageTextureId = KAlfZoomOutTextureId;
-        // Create the texture from bitmap provider
-        mData->mTexture = &((ctrl->Env()).TextureManager().CreateTextureL(
-                KAlfAutoGeneratedTextureId/*KAlfZoomOutTextureId*/,
-                (MAlfBitmapProvider *)this,
-                (TAlfTextureFlags)(EAlfTextureFlagRetainResolution|EAlfTextureFlagSkinContent)));
-        TAlfImage aImage(*mData->mTexture );
-        mData->mImageMinus->SetImage(aImage);
-
-        }
-    }
-    }
-// ---------------------------------------------------------------------------
-// Used for setting images for the track 
-// ---------------------------------------------------------------------------
-//
-
-void MulSliderVertical::setTrackImage()
-    {
-    //Review
-    TInt flags = EAlfTextureFlagSkinContent;
-    flags |= EAlfTextureFlagAutoSize;
-
-    CAlfControl* ctrl = (CAlfControl*)&control();
-    //creating texture for topimage
-    mData->mImageTextureId = KAlfTrackTopTextureId;
-    mData->mTexture = &((ctrl->Env()).TextureManager().CreateTextureL(
-        KAlfAutoGeneratedTextureId/*KAlfTrackTopTextureId*/,
-        (MAlfBitmapProvider *)this,
-        (TAlfTextureFlags)(EAlfTextureFlagRetainResolution|EAlfTextureFlagSkinContent)));
-
-    TAlfImage trackTopImage(*mData->mTexture );
-    //creating texture for middleimage
-    mData->mImageTextureId = KAlfTrackMiddleTextureId;
-    mData->mTexture = &((ctrl->Env()).TextureManager().CreateTextureL(
-        KAlfAutoGeneratedTextureId/*KAlfTrackMiddleTextureId*/,
-        (MAlfBitmapProvider *)this,
-        (TAlfTextureFlags)(EAlfTextureFlagRetainResolution|EAlfTextureFlagSkinContent)));
-
-    TAlfImage trackMiddleImage(*mData->mTexture );
-
-    //creating texture for bottom image
-    mData->mImageTextureId = KAlfTrackBottomTextureId;
-    mData->mTexture = &((ctrl->Env()).TextureManager().CreateTextureL(
-        KAlfAutoGeneratedTextureId/*KAlfTrackBottomTextureId*/,
-        (MAlfBitmapProvider *)this,
-        (TAlfTextureFlags)(EAlfTextureFlagDefault)));
-
-
-    TAlfImage trackEndImage(*mData->mTexture );
-    // Set Image on visuals
-    mData->mTrackTopImage->SetImage(trackTopImage);
-    mData->mTrackMiddleImage->SetImage(trackMiddleImage);                    
-    mData->mTrackEndImage->SetImage(trackEndImage);
-
-    }//End of setImage
- 
-// ---------------------------------------------------------------------------
-// ProvideBitmapL()
-// ---------------------------------------------------------------------------
-//
-void MulSliderVertical::ProvideBitmapL (TInt aId, CFbsBitmap *& aBitmap, CFbsBitmap *& aMaskBitmap)
-    {
-    TAknLayoutRect layoutRect;
-    switch(mData->mImageTextureId)
-        {
-        case KAlfTrackTopTextureId:
-            {
-            AknIconUtils::CreateIconL(
-                   aBitmap,
-                   aMaskBitmap,
-                   KAvkonBitmapFile,
-                   EMbmAvkonQgn_graf_nslider_vertical_top,
-                   EMbmAvkonQgn_graf_nslider_vertical_top_mask );
-                    
-           layoutRect = MulSliderUtils::GetComponentRect(
-                   EVSliderTop,
-                   mData->mSliderCentre,
-                   KVariety0); 
-           
-           AknIconUtils::SetSize( aBitmap,
-                                TSize(layoutRect.Rect().Size().iWidth,
-                                layoutRect.Rect().Size().iHeight),
-                                EAspectRatioNotPreserved);
-            mData->mImageTextureId = 0;
-            mData->mTrackTopTextureId = aId;
-            }
-            break;
-        case KAlfTrackBottomTextureId:
-            {
-            AknIconUtils::CreateIconL(
-                    aBitmap,
-                    aMaskBitmap,
-                    KAvkonBitmapFile,
-                    EMbmAvkonQgn_graf_nslider_vertical_bottom,
-                    EMbmAvkonQgn_graf_nslider_vertical_bottom_mask );
-
-            layoutRect = MulSliderUtils::GetComponentRect(
-                    EVSliderEnd,
-                    mData->mSliderCentre,
-                    KVariety0);   
-            AknIconUtils::SetSize( aBitmap,
-                                    TSize(layoutRect.Rect().Size().iWidth,
-                                    layoutRect.Rect().Size().iHeight),
-                                    EAspectRatioNotPreserved);
-            mData->mImageTextureId = 0;
-            mData->mTrackBottomTextureId = aId;
-            }
-            break;
-        case KAlfTrackMiddleTextureId:
-            {
-            AknIconUtils::CreateIconL(
-                    aBitmap,
-                    aMaskBitmap,
-                    KAvkonBitmapFile,
-                    EMbmAvkonQgn_graf_nslider_vertical_middle,
-                    EMbmAvkonQgn_graf_nslider_vertical_middle_mask );
-
-            layoutRect = MulSliderUtils::GetComponentRect(
-                    EVSliderMiddle,
-                    mData->mSliderCentre,
-                    KVariety0);
-           
-            AknIconUtils::SetSize( aBitmap,
-                                   TSize(layoutRect.Rect().Size().iWidth,
-                                   layoutRect.Rect().Size().iHeight),
-                                   EAspectRatioNotPreserved);
-
-            mData->mImageTextureId = 0;
-            mData->mTrackMiddleTextureId = aId;
-            }
-            break;
-
-        case KAlfMarkerTextureId:
-            {
-            AknIconUtils::CreateIconL(
-                    aBitmap,
-                    aMaskBitmap,
-                    KAvkonBitmapFile,
-                    EMbmAvkonQgn_graf_nslider_vertical_marker,
-                    EMbmAvkonQgn_graf_nslider_vertical_marker_mask );    
-            
-            layoutRect = MulSliderUtils::GetComponentRect(
-                    EVSliderMarker,
-                    mData->mBaseSliderLayout,
-                    KVariety5);   
-
-             AknIconUtils::SetSize( aBitmap,
-                                     TSize(layoutRect.Rect().Size().iWidth,
-                                     layoutRect.Rect().Size().iHeight),
-                                     EAspectRatioNotPreserved);
-
-            mData->mImageTextureId = 0;
-            mData->mMarkerTextureId = aId;
-            }
-            break;
-        case KAlfZoomInTextureId:
-            {
-            AknIconUtils::CreateIconL(
-                   aBitmap,
-                   aMaskBitmap,
-                   KSliderBitmapFile,
-                   EMbmMulsliderwidgetQgn_indi_nslider_zoom_in,
-                   EMbmMulsliderwidgetQgn_indi_nslider_zoom_in_mask );    
-
-           layoutRect = MulSliderUtils::GetComponentRect(
-                   EVSliderPlus,mData->mBaseSliderLayout,KVariety1);    
-
-           AknIconUtils::SetSize( aBitmap,
-                                  TSize(layoutRect.Rect().Size().iWidth,
-                                  layoutRect.Rect().Size().iHeight),
-                                  EAspectRatioNotPreserved);
-            mData->mImageTextureId = 0;
-            mData->mZoomInTextureId = aId;
-            }
-            break;
-         case KAlfZoomOutTextureId:
-             {
-             AknIconUtils::CreateIconL(
-                    aBitmap,
-                    aMaskBitmap,
-                    KSliderBitmapFile,
-                    EMbmMulsliderwidgetQgn_indi_nslider_zoom_out,
-                    EMbmMulsliderwidgetQgn_indi_nslider_zoom_out_mask ); 
-
-            layoutRect = MulSliderUtils::GetComponentRect(
-                    EVSliderMinus,mData->mBaseSliderLayout,KVariety2);       
-
-            AknIconUtils::SetSize( aBitmap,
-                                     TSize(layoutRect.Rect().Size().iWidth,
-                                     layoutRect.Rect().Size().iHeight),
-                                     EAspectRatioNotPreserved);
-
-           mData->mImageTextureId = 0;
-           mData->mZoomOutTextureId = aId;
-           }
-             break;
-        default:
-            break;
-               
-        }
-    
-    }
-
-// ---------------------------------------------------------------------------
-//  setBackgroundBrush()
-// ---------------------------------------------------------------------------
-//
-void MulSliderVertical::SetBackgroundBrush()
-    {
-
-    CAlfControl* ctrl = (CAlfControl*)&control();
-    // Get Slider Pane Rect (aaslider_pane(2)) and apply on mBaseSliderLayout
-    TAknLayoutRect layoutRect = MulSliderUtils::GetComponentRect(
-            EVSliderPane,mData->mMainLayout,2);
-
-
-    TAknWindowLineLayout LayoutHandle = 
-    AknLayoutScalable_UiAccel::
-    aid_touch_size_slider_max(0).LayoutLine(); 
-
-
-    int x = LayoutHandle.il;                               
-    TAknsItemID itemid;
-
-    itemid.Set(EAknsMajorSkin, EAknsMinorQgnGrafPopupTrans);
-    CAlfFrameBrush* brush = CAlfFrameBrush::NewLC((*ctrl).Env(),itemid, 0, 0);
-
-    if(brush!=NULL)
-        {
-        TRect dispRect(layoutRect.Rect().iTl.iX,
-                layoutRect.Rect().iTl.iY,
-                layoutRect.Rect().Size().iWidth,
-                layoutRect.Rect().Size().iHeight );
-        TRect innerRect(layoutRect.Rect().iTl.iX + x,
-                layoutRect.Rect().iTl.iY + x,
-                layoutRect.Rect().Size().iWidth - x ,
-                layoutRect.Rect().Size().iHeight - x);
-
-        brush->SetFrameRectsL(innerRect,dispRect); 
-        brush->SetOpacity(KMinopacity);
-        mData->mBaseSliderLayout->EnableBrushesL();
-        mData->mBaseSliderLayout->Brushes()->AppendL(brush, EAlfHasOwnership); 
-        CleanupStack::Pop(brush);
-        }
-    mData->mHasBackground = true;
-    }    
-    
-// ---------------------------------------------------------------------------
-//  MakeTransparent()
-// ---------------------------------------------------------------------------
-//
-void MulSliderVertical::MakeTransparent(bool aVal)
-    {
-    CAlfBrushArray * brushArray = mData->mBaseSliderLayout->Brushes();
-    if(aVal)
-        {
-        TAlfTimedValue opacity(KMinopacity);
-        brushArray->At(0).SetOpacity(opacity);      
-        }
-    else
-        {
-        TAlfTimedValue opacity(KMaxopacity);
-        brushArray->At(0).SetOpacity(opacity);
-        }
-    }    
-// ---------------------------------------------------------------------------
-//  ConvertDataToPixels
-// ---------------------------------------------------------------------------
-//
-void MulSliderVertical::ConvertDataToPixels()
-    {
-    // Calculate the range in pixel values
-    mData->mRangeInPixels = 
-    (mData->mSliderCentre->Size().iY.ValueNow() - 
-            mData->mSliderHandle->Size().iY.ValueNow());
-
-    if(mSliderModel->MaxRange() - mSliderModel->MinRange() != 0)
-        {
-        // Calculate Tick Size in Pixels
-        mData->mTickInPixels = 
-        (mData->mSliderCentre->Size().iY.ValueNow() - 
-                mData->mSliderHandle->Size().iY.ValueNow()) /
-                (mSliderModel->MaxRange() - mSliderModel->MinRange()) ;
-        }
-    // Get the track start pixel value    
-    mData->mTrackStartPoint = mData->mSliderCentre->Pos().iY.ValueNow() +
-    mData->mSliderCentre->Size().iY.ValueNow() -   
-    mData->mSliderHandle->Size().iY.ValueNow()  ;  
-    // Store current tick
-    mData->mCurrTick =  mSliderModel->PrimaryValue() ; 
-    if(mSliderModel->MaxRange()== mSliderModel->MinRange())
-        {
-        mData->mTrackStartPoint= mData->mSliderCentre->Pos().iY.ValueNow();
-        }
-    mData->mTick = mSliderModel->Tick();
-    }
-    
-    
-// ---------------------------------------------------------------------------
-//  createVisualization
-// ---------------------------------------------------------------------------
-//    
-void MulSliderVertical::createVisualization(sliderTemplate /*aTemplateId*/)
-    {
-    mData->mHasBackground = false;
-    if(AknLayoutUtils::LayoutMirrored())
-        mData->mLayoutMirrored = true;
-    else
-        mData->mLayoutMirrored = false;
-    // Create the visualization
-    CAlfControl* ctrl = (CAlfControl*)&control();
-    mData->mOrientationLandScape = !mSliderModel->IsLandscape();
-        
-    // Visual Hierarchy creation
-    // create the mMainLayout
-    mData->mMainLayout = CAlfLayout::AddNewL(*ctrl,NULL);
-    // set the flag for Notifications 
-    mData->mMainLayout->SetFlag(EAlfVisualFlagLayoutUpdateNotification);
-    //create the mBaseSliderLayout  
-    mData->mBaseSliderLayout = 
-    CAlfLayout::AddNewL(*ctrl,mData->mMainLayout);
-    // create the dummy layout for slider track 
-    mData->mSliderCentreGhost =
-    CAlfLayout::AddNewL(*ctrl,mData->mBaseSliderLayout);
-    // create the dummy layout for slider handle
-    mData->mSliderHandleGhost = 
-    CAlfLayout::AddNewL(*ctrl,mData->mBaseSliderLayout);
-    
-    // create the imagevisual for slider track
-    mData->mSliderCentre = 
-    CAlfLayout::AddNewL(*ctrl,mData->mBaseSliderLayout);
-    // create the imagevisual for slider handle
-    mData->mSliderHandle = 
-    CAlfImageVisual::AddNewL(*ctrl,mData->mBaseSliderLayout);
-    // create the imagevisual for plus icon 
-    mData->mImagePlus= 
-    CAlfImageVisual::AddNewL(*ctrl,mData->mBaseSliderLayout);
-    // create the imagevisual for minus icon
-    mData->mImageMinus = 
-    CAlfImageVisual::AddNewL(*ctrl,mData->mBaseSliderLayout);
-    if(mData->mSliderCentre)
-        {
-        mData->mTrackTopImage = CAlfImageVisual::AddNewL(*ctrl,mData->mSliderCentre);
-        mData->mTrackMiddleImage = CAlfImageVisual::AddNewL(*ctrl,mData->mSliderCentre);
-        mData->mTrackEndImage = CAlfImageVisual::AddNewL(*ctrl,mData->mSliderCentre);
-        }
-
-    // Get the widget opacity and apply on root visual
-    mSliderWidget->ShowWidget(mSliderWidget->GetOpacity(),0);
-    }
-    
-
-// ---------------------------------------------------------------------------
-//  eventHandlerType
-// ---------------------------------------------------------------------------
-//
-IAlfWidgetEventHandler::AlfEventHandlerType MulSliderVertical::eventHandlerType()
-    {
-    return IAlfWidgetEventHandler::EPresentationEventHandler;
-    }
-
-
-// ---------------------------------------------------------------------------
-//  eventExecutionPhase
-// ---------------------------------------------------------------------------
-//
-IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase MulSliderVertical::
-    eventExecutionPhase()
-    {
-    return IAlfWidgetEventHandler::ETunnellingPhaseEventHandler;
-    }
-
-
-// ---------------------------------------------------------------------------
-//  offerEvent
-// ---------------------------------------------------------------------------
-//
-AlfEventStatus MulSliderVertical::offerEvent( CAlfWidgetControl& /*aControl*/, 
-                                              const TAlfEvent& aEvent )
-    {   
-    AlfEventStatus ret=EEventNotHandled;
-    if(!mSliderWidget->IsHidden())
-        {
-        if(aEvent.IsCustomEvent())
-            {
-            if(aEvent.CustomParameter() == EEventMissedPointerUp)
-                {
-                 ret=EEventHandled;
-                 mData->mSliderHit = false;
-                 handlePointerUpEvent();
-                 }
-            }
-        
-            // handle key events    
-        else if(aEvent.IsKeyEvent() && mSliderWidget->IsKeyEnabled() )
-            {       
-            ret = HandleKeyEvents(aEvent);               
-            }
-                
-            // Pointer drag events and single tap events      
-        else if(aEvent.IsPointerEvent())
-            {
-            if(mSliderWidget->GetOpacity())
-                {
-                ret = HandlePointerEvents((TAlfEvent *)&aEvent);        
-                }
-            }
-           
-        }
-    
- 	return ret;
-    }  
-    
- 
-// ---------------------------------------------------------------------------
-// HandleKeyEvents
-// ---------------------------------------------------------------------------
-// 
- AlfEventStatus MulSliderVertical::HandleKeyEvents(const TAlfEvent& aEvent)
-    {
-    AlfEventStatus ret = EEventNotHandled;
-
-    
-    if(aEvent.KeyEvent().iScanCode == EStdKeyUpArrow)
-        {
-        if(aEvent.Code() == EEventKey)
-            {
-            ret = EEventHandled;
-            int newPos = mSliderModel->PrimaryValue() + mData->mTick;
-            updateModelPrimaryValue(newPos);          
-            }       
-        }
-    else if(aEvent.KeyEvent().iScanCode == EStdKeyDownArrow)
-        {
-        if(aEvent.Code() == EEventKey)
-            {
-            ret = EEventHandled;
-            int newPos = mSliderModel->PrimaryValue() - mData->mTick;
-            updateModelPrimaryValue(newPos);
-            }
-        }
-    return ret;
-    }
-// ---------------------------------------------------------------------------
-//  Sends drag Up or Down event, according to the hit position
-//  on track
-// ---------------------------------------------------------------------------
-//
-AlfEventStatus MulSliderVertical::trackVisualHit(CAlfVisual * /*aHitVisual*/)
-    {
-    //Find the thumb Anchor Layout.
-    // Zoom Plus icon rectangle
-    TAlfRealRect zoomPlus = mData->mBaseSliderLayout->DisplayRect();
-    // Slider Handle position
-    TAlfTimedPoint thumbVisPos = mData->mSliderHandle->Pos();
-    TAlfTimedPoint thumbVisSize = mData->mSliderHandle->Size();
-    // Slider track display rect
-    TAlfRealRect rct = mData->mSliderCentre->DisplayRect() ;
-    int diff = rct.iTl.iY - zoomPlus.iTl.iY;
-    //Check if click was above/to left or below/to right of thumb
-        if (mData->mLongTapPos.iY - rct.iTl.iY < thumbVisPos.iY.ValueNow() + (thumbVisSize.iY.ValueNow()/2) - diff)
-            {
-			// Pointer down happened above Handle 
-            int newPos = mSliderModel->PrimaryValue() + (((thumbVisPos.iY.ValueNow() +(thumbVisSize.iY.ValueNow()/2) - diff) -(mData->mLongTapPos.iY - rct.iTl.iY))/mData->mTickInPixels);
-           
-               if( rct.iTl.iY > mData->mLongTapPos.iY )
-                   {
-                   mData->mLongTapPos.iY = rct.iTl.iY + (thumbVisSize.iY.ValueNow()/2);
-                   }
-            // Move Handle 
-            if(mData->mdirection !=2)
-                {
-                // checks if the thumb was moving up 
-                updateModelPrimaryValue(newPos);
-                mData->mdirection = 1;
-                }
-   
-            if(!mData->mOperation)
-                {
-                mData->mVisual  =  mData->mSliderHandle;
-                initializeThumbDragData(
-                        mData->mLongTapPos);
-
-                }
-            }
-        else if (mData->mLongTapPos.iY - rct.iTl.iY > (thumbVisPos.iY.ValueNow() + 
-            (thumbVisSize.iY.ValueNow()/2)- diff) )
-            {
-            if( (rct.iTl.iY + rct.Size().iHeight < mData->mLongTapPos.iY))
-                {
-                mData->mLongTapPos.iY = rct.iTl.iY+ rct.Size().iHeight - (thumbVisSize.iY.ValueNow()/2);
-                }
-            // Pointer down happened below Handle
-            int newPos = mSliderModel->PrimaryValue() - (((mData->mLongTapPos.iY - rct.iTl.iY) -(thumbVisPos.iY.ValueNow() + (thumbVisSize.iY.ValueNow()/2)-diff))/mData->mTickInPixels);
-             // Move Handle 
-             if(mData->mdirection !=1)
-                {
-                    // checks if the thumb was moving down
-                updateModelPrimaryValue(newPos);
-                mData->mdirection = 2;
-                }
-            
-            //mData->mLongTapStarted = false;
-            if(!mData->mOperation)
-                    {
-                    mData->mVisual  =  mData->mSliderHandle;
-                    initializeThumbDragData(  mData->mLongTapPos);
-
-                }
-            }
-        else 
-            {
-              
-            }
-    return EEventHandled;
-    }   
-    
-// ---------------------------------------------------------------------------
-//  handles the pointerDown event
-// 
-// ---------------------------------------------------------------------------
-//
-AlfEventStatus MulSliderVertical::handlePointerDownEvent(TAlfEvent * aPntrEvent)
-    {
-    
-    CAlfVisual * focusvisual = aPntrEvent->Visual();
-    AlfEventStatus result = EEventNotHandled;
-    if (focusvisual)
-        {
-        mData->mVisual = focusvisual;
-        if (IsSliderVisual(focusvisual))
-            {
-            control().processEvent(TAlfEvent(ECustomEventIconClick));   
-            mData->mSliderHit = true;
-            MakeTransparent(false);
-           
-            // Register with the Roster to receive Long Tap Event    
-            control().Display()->Roster().SetPointerEventObservers( 
-                EAlfPointerEventReportDrag,control());
-                 
-            if(!mData->mOperation)
-                {
-                mData->mLongTapPos = aPntrEvent->PointerEvent().iParentPosition;        
-                //mData->mLongTapStarted = true;  
-                }
-           
-            //Page Movement
-            if (focusvisual == mData->mSliderCentre ||
-                focusvisual == mData->mSliderCentreGhost)
-                {
-                result =  trackVisualHit(focusvisual);
-                }
-        
-            // Drag 
-            else if (focusvisual == mData->mSliderHandle 
-                 ||  focusvisual == mData->mSliderHandleGhost )
-                {
-                if(focusvisual)
-                    {
-                    // Initialize the drag variables
-                    initializeThumbDragData(aPntrEvent->PointerEvent().iParentPosition);
-                    //Tactile Feedback For Thumb touch
-                    MulSliderControl& sldrcntrl = static_cast<MulSliderControl&>(control());
-                    sldrcntrl.TactileEffectOnTouchandHold();
-                    }
-                result = EEventHandled;
-                }
-             // Zoom Icon Plus Clicked
-            else if (focusvisual == mData->mImagePlus || focusvisual == mData->mImageMinus )
-                 {
-                     // Update the newTick
-                    int newPos =0;
-                    if( mData->mVisual == mData->mImagePlus)
-                        {
-                        newPos = mSliderModel->MaxRange();
-                        }
-                    else
-                        {
-                        newPos = mSliderModel->MinRange();
-                        //newPos = mSliderModel->PrimaryValue() - mData->mTick;
-                        }
-                        updateModelPrimaryValue(newPos);
-                //return ETrue;
-                result = EEventHandled;
-                }
-               
-            }//END OF if (isSliderVisual()) 
-        }
-    return result;
-    }// End Of handlePointerDownEvent
-
-    
-// ---------------------------------------------------------------------------
-// HandlePointerEvents
-// ---------------------------------------------------------------------------
-// 
- AlfEventStatus MulSliderVertical::HandlePointerEvents(TAlfEvent* aEvent)
-    {
-    AlfEventStatus ret = EEventNotHandled;
-    if (aEvent->PointerEvent().iType == TPointerEvent::EButton1Down)
-        {   
-        mData->mdirection = 0;
-        return handlePointerDownEvent(aEvent);
-        }
-    // Drag Events
-    else if (aEvent->PointerEvent().iType == TPointerEvent::EDrag)
-        {
-            // Drag on Handle
-        TAlfRealRect rct = mData->mSliderCentre->DisplayRect() ;
-        TAlfTimedPoint thumbVisSize = mData->mSliderHandle->Size();
-                    // Drag on Handle                
-                if(mData->mVisual && 
-                   mData->mSliderHandle && mData->mSliderHandleGhost)
-                    {
-                    // Store the new pointer position
-                    mData->mLongTapPos= aEvent->PointerEvent().iParentPosition ;
-                    }
-                
-            // Calculate the distance moved from the drag  start point
-            int dist = mData->mDragPoint.iY - aEvent->PointerEvent().iParentPosition.iY;
-            int precision = KRoundupvalue;
-            if(dist<0)
-                {
-                precision = -KRoundupvalue;
-                }
-            // Calculate the new tick position
-            int newPos = (int)(((float)dist / mData->mTickInPixels ) + precision) + 
-                mData->mDragStartStep;
-            // Update the model hence update visualization
-            updateModelPrimaryValue(newPos); 
-            //Tactile Feedback For Thumb Drag
-            MulSliderControl& sldrcntrl = static_cast<MulSliderControl&>(control());
-            sldrcntrl.TactileEffectOnDrag(*aEvent);
-            ret = EEventHandled;    
-        }
-    
-    else if(aEvent->PointerUp()  )
-        {
-        
-            // Long tap Timer not running
-            //mData->mLongTapStarted = false;
-            // Handle events for pointer up
-		if(mData->mSliderHit)
-			{
-			// checing if any of slider visual got a button down event 
-			// Otherwise its a stray pointerup event , so dont handle it
-			mData->mSliderHit = false;
-			ret = EEventHandled;
-			handlePointerUpEvent();
-			}
-         
-         }
-    
-    return ret;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-//  updateModelPrimaryValue
-// ---------------------------------------------------------------------------
-//    
-void MulSliderVertical::updateModelPrimaryValue(int aNewPosValue)
-    {
-    // Validate the new tick value
-    if(aNewPosValue < mSliderModel->MinRange())
-	    {
-	    aNewPosValue = mSliderModel->MinRange();	
-	    }
-    else if(aNewPosValue > mSliderModel->MaxRange())
-	    {
-	    aNewPosValue = mSliderModel->MaxRange();	
-	    }
-	if(mSliderModel->PrimaryValue() != aNewPosValue && mData->mTick != 0)
-        {
-        // Update visualization and model only if data is changed
-        mSliderModel->SetPrimaryValue(aNewPosValue);
-        mPosData.reset(new(EMM)MulSliderPos);
-        mPosData->mPreviousValue = mData->mCurrTick  ;  
-        mPosData->mCurrentValue= aNewPosValue;
-        mData->mCurrTick = aNewPosValue;
-        // Send event to the scrollable widget
-        TAlfEvent customevent(ETypePrimaryValueChange,
-            (uint)mPosData.get());
-        control().processEvent(customevent);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  snapPrimaryValueToTicks
-// ---------------------------------------------------------------------------
-//    
-void MulSliderVertical::snapPrimaryValueToTicks()
-    {
-    // If the position is not a multiple of ticks then 
-    //snap to the nearest tick multiple
-    int currHandlePos = mSliderModel->PrimaryValue() - mSliderModel->MinRange();
-    int tick = mSliderModel->Tick();
-    int newPos = currHandlePos + mSliderModel->MinRange();
-    if(mSliderModel->PrimaryValue() < mSliderModel->MaxRange())
-        {
-                
-        int diff = 0;
-        if(tick > 0) //model
-            {
-            diff = currHandlePos - ((currHandlePos /tick) * tick);
-            }
-        if(diff !=0)
-            {            
-            newPos = currHandlePos + tick - diff + mSliderModel->MinRange();            
-            }        
-        }
-
-  
-    // Update model
-    updateModelPrimaryValue(newPos);
-    }   
-
-
-// ---------------------------------------------------------------------------
-//  handles the pointerUp event
-// 
-// ---------------------------------------------------------------------------
-//
-void MulSliderVertical::handlePointerUpEvent()
-    {
-    // if thumb or track is clicked, change the graphics
-    // Send event if single click has hapened 
-  
-        snapPrimaryValueToTicks();
-        MakeTransparent(true);
-    if(mData->mOperation)
-        {
-        //Somehow missed the Up event?
-        stopDrag();
-        //Tactile Feedback For Thumb Release
-        MulSliderControl& sldrcntrl = static_cast<MulSliderControl&>(control());
-        sldrcntrl.TactileEffectOnRelease();
-        }
-    
-       
-        // Un-register with the roster for long tap events 
-        control().Display()->Roster().SetPointerEventObservers(0,
-            control());
-         
-    // send the event for release/poiter up  
-     control().processEvent(TAlfEvent(ECustomEventIconRelease));
-    }
-
-// ---------------------------------------------------------------------------
-//  Stops event handling
-// 
-// ---------------------------------------------------------------------------
-//
-void MulSliderVertical::stopEvents()
-{
-    if(mData->mSliderHit)
-		{
-		// checking if any of slider visual got a button down event 
-		mData->mSliderHit = false;
-		handlePointerUpEvent();
-		}
-}
- 	
-// ---------------------------------------------------------------------------
- 
-// UpdateVisualization
-// ---------------------------------------------------------------------------
-//	 
-	 
-void MulSliderVertical::updateVisualization()
-    {
-    ConvertDataToPixels();
-    SetThumbPosition();
-    }
-// ---------------------------------------------------------------------------
-// SetThumbPosition
-// ---------------------------------------------------------------------------
-//
-void MulSliderVertical::SetThumbPosition()
-    {
-    // Current primary value in pixels
-    int deltaY = (mSliderModel->PrimaryValue() - mSliderModel->MinRange()) * 
-                mData->mTickInPixels;
-    // Handle 
-    int handleX = mData->mSliderHandle->Pos().iX.ValueNow();
-    int ghostHandleX = mData->mSliderHandleGhost->Pos().iX.ValueNow();
-    // Handle new pos
-    TAlfRealPoint pnt(handleX,mData->mTrackStartPoint - deltaY);
-    // Ghost Handle ( Extended) new pos 
-    TAlfRealPoint pnt1(ghostHandleX,mData->mTrackStartPoint - deltaY - 
-                mData->mHandleGhostHieghtDelta/2); 
-    // Set the position
-    mData->mSliderHandle->SetPos(pnt,0);
-    mData->mSliderHandleGhost->SetPos(pnt1,0);
-    // Update visualization variables
-    mData->mCurrTick = mSliderModel->PrimaryValue();
-    //mData->mMainLayout->UpdateChildrenLayout(0);
-    
-    }
-// ---------------------------------------------------------------------------
-// SetTextLabels
-// ---------------------------------------------------------------------------
-// 
-void MulSliderVertical::SetTextLabels(const char* /*aStr*/)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// accept
-// ---------------------------------------------------------------------------
-// 
-bool MulSliderVertical::accept( CAlfWidgetControl& /*aControl*/, const TAlfEvent& aEvent ) const
-    {
-     // Accept only key or pointer events.
-     if(aEvent.IsKeyEvent()||aEvent.IsPointerEvent())
-         {
-         return true;   
-         }
-     else
-         {
-         return false;
-         } 
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// initializeThumbDragData
-// ---------------------------------------------------------------------------
-//    
-bool MulSliderVertical::initializeThumbDragData(const TPoint& aPointerPos)
-    {
-    TRAPD(err,control().Display()->Roster().SetPointerDragThreshold(control(),
-            TAlfXYMetric(TAlfMetric(KXToleranceInPixel,EAlfUnitPixel),
-                    TAlfMetric(KYToleranceInPixel,EAlfUnitPixel))) );  
-    if(mData->mVisual && err == KErrNone)
-        {
-        mData->mOperation = EMoveItem;
-        mData->mDragPoint = aPointerPos;
-        mData->mDragStartStep = mSliderModel->PrimaryValue();    
-        }
-    else
-        {
-        
-        }    
-    return ETrue;  
-    }
-    
-// ---------------------------------------------------------------------------
-// stopDrag
-// Stop Dragging 
-// ---------------------------------------------------------------------------
-//
-bool MulSliderVertical::stopDrag()
-    {
- 
-    TRAPD(err,
-        control().Display()->Roster().SetPointerEventObservers(
-        0, 
-        control()));
-    if(err == KErrNone)
-        {
-        mData->mVisual = NULL;
-        mData->mOperation = ENop;
-          return ETrue;
-        }
-    return EFalse; 
-    }
-    
-
-// ---------------------------------------------------------------------------
-// IsSliderVisual
-// ---------------------------------------------------------------------------
-//  
-bool MulSliderVertical::IsSliderVisual(CAlfVisual *aVisual)
-	{
-	if(aVisual == mData->mSliderCentre||
-	   aVisual == mData->mSliderCentreGhost||
-	   aVisual == mData->mSliderHandle||  
-	   aVisual == mData->mSliderHandleGhost||
-	   aVisual == mData->mImagePlus||
-	   aVisual == mData->mImageMinus)
-	    {
-	    return true;
-	    }
-	 return false;   
-	}
-	
-// ---------------------------------------------------------------------------
-// updateTextVisualization
-// ---------------------------------------------------------------------------
-//  
-void MulSliderVertical::updateTextVisualization()
-    {/*
-    MulSliderModel* sliderModel = mSliderModel; 
-    const char* perctext =  sliderModel->GetPercentText();
-    SetTextLabels(perctext);*/
-    }
-    }//namespace Alf
-    
-//End Of File
--- a/mulwidgets/sis/ListTest.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-;
-; Copyright (c) 2009 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: ;Language - standard language definitions
-;
-&EN
-
-; standard SIS file header
-#{"ListTest"},(0x0F426B8B),1,0,0
-
-;Supports Series 60 v 3.0
-(0x101F7961), 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Files to copy
-"\epoc32\release\armv5\urel\ListTest.exe"-"!:\sys\bin\ListTest.exe"
-"\epoc32\data\z\private\10003a3f\apps\ListTest_reg.rsc"-"!:\private\10003a3f\import\apps\ListTest_reg.rsc"
-"\epoc32\data\z\resource\apps\ListTest_loc.Rsc"-"!:\resource\apps\ListTest_loc.Rsc"
-"\epoc32\data\z\resource\apps\ListTest.Rsc"-"!:\resource\apps\ListTest.Rsc"
-
--- a/mulwidgets/sis/RDTest_02.key	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXQIBAAKBgQC/TDP7KKIaf5+uW4OD2iVZuUMC2a+SeQTjf6srlKcOm+CpPNXn
-uLNm/8fdEnyOIuRXPRKmqhs1n0JkxEGHynELWMTuKXbQx9SRAGUXzyneGn+IJNnO
-vOKHWgKCouX2hfI8rtkdqJpqmO460gGsMgw+lsbeyWyW9lnfLxq+ZC7sqQIDAQAB
-AoGBALmUWZE8GBaQ3P4u9WUCSd3DJkkrmXIFSULSZeH/chlwCwDjbbhArHothVzo
-REE3hEFFlERvHbplZ+mNouzy7boduvgUzbksGrbGMLJ2qO1GzWWVwV+GzOWKd3ss
-/98Gwoy5R8pjnkqUE2wP1iJFw0FjvUTKcYv/z6t3LLJ0CsoBAkEA+c7ixvsviQ3J
-s0INytCKU2bf8fqFQJi1VI82ukxNsujGTQ9upVSjuvqPvWyDvvTdrUBHqO+3qPut
-sEh01Q8aiQJBAMQKDJPVRu4ud3mwUfEavzL5EjqwG1k9VCNGYsT4FwtrHcxu1oP/
-pk6M3rIZukqomoEEnHWPMwhrK3fhBqi0OSECQQDr40VXege4FnH5OI2Hj4afHMyp
-VdQQXGMWFyopnzXblFz0lXb43cTCIiorR9XcMqNFHybLypkWE5o+lRzlt55pAkBQ
-P/zeF5Sts//cpL0mgdh7OVKpC6ZmZaCnwAx2rUhhuDu+kDDoYCLoTOps5fNI1LRK
-1GRoC3LMo3Jr5IYhUYWBAkBpCpN6k4JU/mszq98EojHerQNxk8sPqvQKUzTutohT
-1gLX9yepGayB/TtT2EEJDkWOlnTy/dvN6W3vzbJYz97x
------END RSA PRIVATE KEY-----
--- a/mulwidgets/sis/aakash.bat	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: batch file for aakash sisx.
-rem
-
-call makesis aakash.pkg
-call signsis -s aakash.sis aakash.sisx RDTest_02.der RDTest_02.key
-
--- a/mulwidgets/sis/aakash.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-;
-; Copyright (c) 2009 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: ;Language - standard language definitions
-;
-&EN
-
-; standard SIS file header
-#{"Aakash"},(0x0E52736A),1,0,0
-
-;Supports Series 60 v 3.0
-[0x1028315F], 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Files to copy
-
-;=============================
-;MulCoverFlowWidget dll's
-;=============================
-"\epoc32\release\armv5\urel\mulcoverflowwidget.dll"-"!:\sys\bin\mulcoverflowwidget.dll"
-"\epoc32\data\z\resource\plugins\mulcoverflowwidget.rsc"-"!:\resource\plugins\mulcoverflowwidget.rsc"
-
-
-;MulSliderWidget dll's
-;=============================
-"\epoc32\release\armv5\urel\mulsliderwidget.dll"-"!:\sys\bin\mulsliderwidget.dll"
-"\epoc32\data\z\resource\plugins\mulsliderwidget.rsc"-"!:\resource\plugins\mulsliderwidget.rsc"
-
-;MulSliderWidget Images
-;=============================
-"\epoc32\data\z\resource\slider\mui_cover_handle.svg" -"c:\resource\slider\mui_cover_handle.svg"
-"\epoc32\data\z\resource\slider\mui_dl_progress_lsc.svg" -"c:\resource\slider\mui_dl_progress_lsc.svg"
-"\epoc32\data\z\resource\slider\mui_handle.png" -"c:\resource\slider\mui_handle.png"
-"\epoc32\data\z\resource\slider\mui_slider_lsc.svg" -"c:\resource\slider\mui_slider_lsc.svg"
-"\epoc32\data\z\resource\slider\mui_slider_progress.svg" -"c:\resource\slider\mui_slider_progress.svg"
-"\epoc32\data\z\resource\slider\mui_slider_prt.svg" -"c:\resource\slider\mui_slider_prt.svg"
-"\epoc32\data\z\resource\slider\qgn_indi_slider_zoom_in.svg" -"c:\resource\slider\qgn_indi_slider_zoom_in.svg"
-"\epoc32\data\z\resource\slider\qgn_indi_slider_zoom_out.svg" -"c:\resource\slider\qgn_indi_slider_zoom_out.svg"
-"\epoc32\data\z\resource\slider\qgn_indi_volumeslider_audio_off.svg" -"c:\resource\slider\qgn_indi_volumeslider_audio_off.svg"
-"\epoc32\data\z\resource\slider\qgn_indi_volumeslider_audio_on.svg" -"c:\resource\slider\qgn_indi_volumeslider_audio_on.svg"
-"\epoc32\data\z\resource\slider\qgn_indi_volumeslider_minus.svg" -"c:\resource\slider\qgn_indi_volumeslider_minus.svg"
-"\epoc32\data\z\resource\slider\qgn_indi_volumeslider_plus.svg" -"c:\resource\slider\qgn_indi_volumeslider_plus.svg"
-
-
-;=============================
-;DataModel dll's
-;=============================
-"\epoc32\release\armv5\urel\muldatamodelplugin.dll"-"!:\sys\bin\muldatamodelplugin.dll"
-"\epoc32\data\z\resource\plugins\muldatamodelplugin.rsc"-"!:\resource\plugins\muldatamodelplugin.rsc"
-"\epoc32\release\armv5\urel\muldatamodel.dll"-"!:\sys\bin\muldatamodel.dll"
-
-
-;=============================
-;Utility dlls
-;=============================
-"\epoc32\release\armv5\urel\mulmodelutility.dll"-"!:\sys\bin\mulmodelutility.dll"
-"\epoc32\release\armv5\urel\mulutility.dll"-"!:\sys\bin\mulutility.dll"
-
-;=============================
-;Gesturehelper
-;=============================
-
-"\epoc32\release\armv5\urel\gesturehelper.dll"-"!:\sys\bin\gesturehelper.dll"
-;=============================
-;Mullogging
-;=============================
-
-"\epoc32\release\armv5\urel\mullogging.dll"-"!:\sys\bin\mullogging.dll"
--- a/mulwidgets/sis/aakash_udeb.bat	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: batch file including logging utility.
-rem
-
-call makesis aakash_udeb.pkg
-call signsis -s aakash_udeb.sis aakash_udeb.sisx RDTest_02.der RDTest_02.key
\ No newline at end of file
--- a/mulwidgets/sis/aakash_udeb.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-;
-; Copyright (c) 2009 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: ;Language - standard language definitions
-;
-&EN
-
-; standard SIS file header
-#{"Aakash"},(0x0E52736A),1,0,0
-
-;Supports Series 60 v 3.0
-[0x1028315F], 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Files to copy
-
-;=============================
-;MulCoverFlowWidget dll's
-;=============================
-"\epoc32\release\armv5\udeb\mulcoverflowwidget.dll"-"!:\sys\bin\mulcoverflowwidget.dll"
-"\epoc32\data\z\resource\plugins\mulcoverflowwidget.rsc"-"!:\resource\plugins\mulcoverflowwidget.rsc"
-;=============================
-;MulCoverFlowWidget XMLs
-;=============================
-"\epoc32\data\z\resource\coverflow\logical_template_1.xml" -"c:\resource\coverflow\logical_template_1.xml"
-"\epoc32\data\z\resource\coverflow\logical_template_2.xml" -"c:\resource\coverflow\logical_template_2.xml"
-"\epoc32\data\z\resource\coverflow\logical_template_3.xml" -"c:\resource\coverflow\logical_template_3.xml"
-"\epoc32\data\z\resource\coverflow\logical_template_4.xml" -"c:\resource\coverflow\logical_template_4.xml"
-
-;=============================
-;MullistWidget dll's
-;=============================
-"\epoc32\release\armv5\udeb\mullistwidget.dll"-"!:\sys\bin\mullistwidget.dll"
-"\epoc32\data\z\resource\plugins\mullistwidget.rsc"-"!:\resource\plugins\mullistwidget.rsc"
-
-;=============================
-;MullistWidget XMLs
-;=============================
-"\epoc32\data\z\resource\list\logical_template_1.xml" -"c:\resource\list\logical_template_1.xml"
-"\epoc32\data\z\resource\list\logical_template_2.xml" -"c:\resource\list\logical_template_2.xml"
-"\epoc32\data\z\resource\list\logical_template_3.xml" -"c:\resource\list\logical_template_3.xml"
-"\epoc32\data\z\resource\list\logical_template_4.xml" -"c:\resource\list\logical_template_4.xml"
-"\epoc32\data\z\resource\list\logical_template_5.xml" -"c:\resource\list\logical_template_5.xml"
-"\epoc32\data\z\resource\list\logical_template_6.xml" -"c:\resource\list\logical_template_6.xml"
-"\epoc32\data\z\resource\list\logical_template_7.xml" -"c:\resource\list\logical_template_7.xml"
-"\epoc32\data\z\resource\list\logical_template_8.xml" -"c:\resource\list\logical_template_8.xml"
-"\epoc32\data\z\resource\list\logical_template_10.xml" -"c:\resource\list\logical_template_10.xml"
-"\epoc32\data\z\resource\list\logical_template_11.xml" -"c:\resource\list\logical_template_11.xml"
-"\epoc32\data\z\resource\list\logical_template_12.xml" -"c:\resource\list\logical_template_12.xml"
-"\epoc32\data\z\resource\list\logical_template_13.xml" -"c:\resource\list\logical_template_13.xml"
-
-;=============================
-;MulGridWidget dll's
-;=============================
-"\epoc32\release\armv5\udeb\mulgridwidget.dll"-"!:\sys\bin\mulgridwidget.dll"
-"\epoc32\data\z\resource\plugins\mulgridwidget.rsc"-"!:\resource\plugins\mulgridwidget.rsc"
-;=============================
-;MulGridWidget XMLs
-;=============================
-"\epoc32\data\z\resource\grid\logical_template_1.xml" -"c:\resource\grid\logical_template_1.xml"
-"\epoc32\data\z\resource\grid\logical_template_2.xml" -"c:\resource\grid\logical_template_2.xml"
-"\epoc32\data\z\resource\grid\logical_template_3.xml" -"c:\resource\grid\logical_template_3.xml"
-"\epoc32\data\z\resource\grid\logical_template_4.xml" -"c:\resource\grid\logical_template_4.xml"
-
-;=============================
-;MulSliderWidget dll's
-;=============================
-"\epoc32\release\armv5\udeb\mulsliderwidget.dll"-"!:\sys\bin\mulsliderwidget.dll"
-"\epoc32\data\z\resource\plugins\mulsliderwidget.rsc"-"!:\resource\plugins\mulsliderwidget.rsc"
-;=============================
-;MulSliderWidget XMLs
-;=============================
-"\epoc32\data\z\resource\slider\logical_template_1.xml" -"c:\resource\slider\logical_template_1.xml"
-"\epoc32\data\z\resource\slider\logical_template_2.xml" -"c:\resource\slider\logical_template_2.xml"
-"\epoc32\data\z\resource\slider\logical_template_3.xml" -"c:\resource\slider\logical_template_3.xml"
-"\epoc32\data\z\resource\slider\logical_template_4.xml" -"c:\resource\slider\logical_template_4.xml"
-"\epoc32\data\z\resource\slider\logical_template_5.xml" -"c:\resource\slider\logical_template_5.xml"
-"\epoc32\data\z\resource\slider\logical_template_6.xml" -"c:\resource\slider\logical_template_6.xml"
-"\epoc32\data\z\resource\slider\logical_template_7.xml" -"c:\resource\slider\logical_template_7.xml"
-"\epoc32\data\z\resource\slider\logical_template_8.xml" -"c:\resource\slider\logical_template_8.xml"
-
-;=============================
-;MulSliderWidget Images
-;=============================
-"\epoc32\data\z\resource\slider\mui_cover_handle.svg" -"c:\resource\slider\mui_cover_handle.svg"
-"\epoc32\data\z\resource\slider\mui_handle.png" -"c:\resource\slider\mui_handle.png"
-"\epoc32\data\z\resource\slider\mui_slider_progress.svg" -"c:\resource\slider\mui_slider_progress.svg"
-"\epoc32\data\z\resource\slider\mui_slider_lsc.svg" -"c:\resource\slider\mui_slider_lsc.svg"
-"\epoc32\data\z\resource\slider\mui_dl_progress_lsc.svg" -"c:\resource\slider\mui_dl_progress_lsc.svg"
-"\epoc32\data\z\resource\slider\mui_slider_prt.svg" -"c:\resource\slider\mui_slider_prt.svg"
-
-;=============================
-;DataModel dll's
-;=============================
-"\epoc32\release\armv5\udeb\muldatamodelplugin.dll"-"!:\sys\bin\muldatamodelplugin.dll"
-"\epoc32\data\z\resource\plugins\muldatamodelplugin.rsc"-"!:\resource\plugins\muldatamodelplugin.rsc"
-"\epoc32\release\armv5\udeb\muldatamodel.dll"-"!:\sys\bin\muldatamodel.dll"
-
-
-;=============================
-;Utility dlls
-;=============================
-"\epoc32\release\armv5\udeb\mulmodelutility.dll"-"!:\sys\bin\mulmodelutility.dll"
-"\epoc32\release\armv5\udeb\mulsingleitemmodel.dll"-"!:\sys\bin\mulsingleitemmodel.dll"
-"\epoc32\release\armv5\udeb\mulutility.dll"-"!:\sys\bin\mulutility.dll"
-
-;=============================
-;Gesturehelper
-;=============================
-
-"\epoc32\release\armv5\udeb\gesturehelper.dll"-"!:\sys\bin\gesturehelper.dll"
-
-;=============================
-;Mullogging
-;=============================
-
-"\epoc32\release\armv5\udeb\mullogging.dll"-"!:\sys\bin\mullogging.dll"
--- a/mulwidgets/sis/coverflow_test.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-;
-; Copyright (c) 2009 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: ;Language - standard language definitions
-;
-&EN
-
-; standard SIS file header
-#{"CoverFlowTest"},(0x0AE3C7F),1,0,0
-
-;Supports Series 60 v 3.0
-[0x1028315F], 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Files to copy
-
-
-"\epoc32\release\armv5\urel\testcoverflowwidget.exe"-"!:\sys\bin\testcoverflowwidget.exe"
-"\epoc32\data\z\private\10003a3f\import\apps\TESTCOVERFLOWWIDGET_reg.rsc"-"!:\private\10003a3f\import\apps\TESTCOVERFLOWWIDGET_reg.rsc"
-"\epoc32\data\z\resource\apps\TESTCOVERFLOWWIDGET_loc.RSc"-"!:\resource\apps\TESTCOVERFLOWWIDGET_loc.RSc"
-"\epoc32\data\z\resource\apps\testcoverflowwidget.RSc"-"!:\resource\apps\testcoverflowwidget.RSc"
-
-
-"\epoc32\winscw\c\dataimage\coverflow\i01.png" -"c:\dataimage\coverflow\i01.png"
-"\epoc32\winscw\c\dataimage\coverflow\i02.png" -"c:\dataimage\coverflow\i02.png"
-"\epoc32\winscw\c\dataimage\coverflow\i03.png" -"c:\dataimage\coverflow\i03.png"
-"\epoc32\winscw\c\dataimage\coverflow\i04.png" -"c:\dataimage\coverflow\i04.png"
-"\epoc32\winscw\c\dataimage\coverflow\i05.png" -"c:\dataimage\coverflow\i05.png"
-"\epoc32\winscw\c\dataimage\coverflow\i06.png" -"c:\dataimage\coverflow\i06.png"
-"\epoc32\winscw\c\dataimage\coverflow\i07.png" -"c:\dataimage\coverflow\i07.png"
-"\epoc32\winscw\c\dataimage\coverflow\i08.png" -"c:\dataimage\coverflow\i08.png"
-"\epoc32\winscw\c\dataimage\coverflow\i09.png" -"c:\dataimage\coverflow\i09.png"
-"\epoc32\winscw\c\dataimage\coverflow\i10.png" -"c:\dataimage\coverflow\i10.png"
-"\epoc32\winscw\c\dataimage\coverflow\i11.png" -"c:\dataimage\coverflow\i11.png"
-"\epoc32\winscw\c\dataimage\coverflow\i12.png" -"c:\dataimage\coverflow\i12.png"
-
-
-"\epoc32\winscw\c\dataimage\coverflow\bmp.bmp" -"c:\dataimage\coverflow\bmp.bmp"
-"\epoc32\winscw\c\dataimage\coverflow\gif.gif" -"c:\dataimage\coverflow\gif.gif"
-"\epoc32\winscw\c\dataimage\coverflow\ci01.jpg" -"c:\dataimage\coverflow\ci01.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\jpeg.jpg" -"c:\dataimage\coverflow\jpeg.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\svg.svg" -"c:\dataimage\coverflow\svg.svg"
-"\epoc32\winscw\c\dataimage\coverflow\schedule.png" -"c:\dataimage\coverflow\schedule.png"
-"\epoc32\winscw\c\dataimage\coverflow\icon.png" -"c:\dataimage\coverflow\icon.png"
-"\epoc32\winscw\c\dataimage\coverflow\default.png" -"c:\dataimage\coverflow\default.png"
-
-"\epoc32\winscw\c\dataimage\coverflow\1.jpg" -"c:\dataimage\coverflow\1.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\2.jpg" -"c:\dataimage\coverflow\2.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\3.jpg" -"c:\dataimage\coverflow\3.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\4.jpg" -"c:\dataimage\coverflow\4.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\5.jpg" -"c:\dataimage\coverflow\5.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\6.jpg" -"c:\dataimage\coverflow\6.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\7.jpg" -"c:\dataimage\coverflow\7.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\8.jpg" -"c:\dataimage\coverflow\8.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\9.jpg" -"c:\dataimage\coverflow\9.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\10.jpg" -"c:\dataimage\coverflow\10.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\11.jpg" -"c:\dataimage\coverflow\11.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\12.jpg" -"c:\dataimage\coverflow\12.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\13.jpg" -"c:\dataimage\coverflow\13.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\14.jpg" -"c:\dataimage\coverflow\14.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\15.jpg" -"c:\dataimage\coverflow\15.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\16.jpg" -"c:\dataimage\coverflow\16.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\17.jpg" -"c:\dataimage\coverflow\17.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\18.jpg" -"c:\dataimage\coverflow\18.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\19.jpg" -"c:\dataimage\coverflow\19.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\20.jpg" -"c:\dataimage\coverflow\20.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\21.jpg" -"c:\dataimage\coverflow\21.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\22.jpg" -"c:\dataimage\coverflow\22.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\23.jpg" -"c:\dataimage\coverflow\23.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\24.jpg" -"c:\dataimage\coverflow\24.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\25.jpg" -"c:\dataimage\coverflow\25.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\26.jpg" -"c:\dataimage\coverflow\26.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\27.jpg" -"c:\dataimage\coverflow\27.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\28.jpg" -"c:\dataimage\coverflow\28.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\29.jpg" -"c:\dataimage\coverflow\29.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\30.jpg" -"c:\dataimage\coverflow\30.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\31.jpg" -"c:\dataimage\coverflow\31.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\32.jpg" -"c:\dataimage\coverflow\32.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\33.jpg" -"c:\dataimage\coverflow\33.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\34.jpg" -"c:\dataimage\coverflow\34.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\35.jpg" -"c:\dataimage\coverflow\35.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\36.jpg" -"c:\dataimage\coverflow\36.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\37.jpg" -"c:\dataimage\coverflow\37.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\38.jpg" -"c:\dataimage\coverflow\38.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\39.jpg" -"c:\dataimage\coverflow\39.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\40.jpg" -"c:\dataimage\coverflow\40.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\41.jpg" -"c:\dataimage\coverflow\41.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\42.jpg" -"c:\dataimage\coverflow\42.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\43.jpg" -"c:\dataimage\coverflow\43.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\44.jpg" -"c:\dataimage\coverflow\44.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\45.jpg" -"c:\dataimage\coverflow\45.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\46.jpg" -"c:\dataimage\coverflow\46.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\47.jpg" -"c:\dataimage\coverflow\47.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\48.jpg" -"c:\dataimage\coverflow\48.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\49.jpg" -"c:\dataimage\coverflow\49.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\50.jpg" -"c:\dataimage\coverflow\50.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\video_play_icon.svg" -"c:\dataimage\coverflow\video_play_icon.svg"
--- a/mulwidgets/sis/coverflow_test_udeb.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-;
-; Copyright (c) 2009 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: ;Language - standard language definitions
-;
-&EN
-
-; standard SIS file header
-#{"CoverFlowTest"},(0x0AE3C7F),1,0,0
-
-;Supports Series 60 v 3.0
-[0x1028315F], 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Files to copy
-
-
-"\epoc32\release\armv5\udeb\testcoverflowwidget.exe"-"!:\sys\bin\testcoverflowwidget.exe"
-"\epoc32\data\z\private\10003a3f\import\apps\TESTCOVERFLOWWIDGET_reg.rsc"-"!:\private\10003a3f\import\apps\TESTCOVERFLOWWIDGET_reg.rsc"
-"\epoc32\data\z\resource\apps\TESTCOVERFLOWWIDGET_loc.RSc"-"!:\resource\apps\TESTCOVERFLOWWIDGET_loc.RSc"
-"\epoc32\data\z\resource\apps\testcoverflowwidget.RSc"-"!:\resource\apps\testcoverflowwidget.RSc"
-
-
-"\epoc32\winscw\c\dataimage\coverflow\i01.png" -"c:\dataimage\coverflow\i01.png"
-"\epoc32\winscw\c\dataimage\coverflow\i02.png" -"c:\dataimage\coverflow\i02.png"
-"\epoc32\winscw\c\dataimage\coverflow\i03.png" -"c:\dataimage\coverflow\i03.png"
-"\epoc32\winscw\c\dataimage\coverflow\i04.png" -"c:\dataimage\coverflow\i04.png"
-"\epoc32\winscw\c\dataimage\coverflow\i05.png" -"c:\dataimage\coverflow\i05.png"
-"\epoc32\winscw\c\dataimage\coverflow\i06.png" -"c:\dataimage\coverflow\i06.png"
-"\epoc32\winscw\c\dataimage\coverflow\i07.png" -"c:\dataimage\coverflow\i07.png"
-"\epoc32\winscw\c\dataimage\coverflow\i08.png" -"c:\dataimage\coverflow\i08.png"
-"\epoc32\winscw\c\dataimage\coverflow\i09.png" -"c:\dataimage\coverflow\i09.png"
-"\epoc32\winscw\c\dataimage\coverflow\i10.png" -"c:\dataimage\coverflow\i10.png"
-"\epoc32\winscw\c\dataimage\coverflow\i11.png" -"c:\dataimage\coverflow\i11.png"
-"\epoc32\winscw\c\dataimage\coverflow\i12.png" -"c:\dataimage\coverflow\i12.png"
-
-
-"\epoc32\winscw\c\dataimage\coverflow\bmp.bmp" -"c:\dataimage\coverflow\bmp.bmp"
-"\epoc32\winscw\c\dataimage\coverflow\gif.gif" -"c:\dataimage\coverflow\gif.gif"
-"\epoc32\winscw\c\dataimage\coverflow\ci01.jpg" -"c:\dataimage\coverflow\ci01.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\jpeg.jpg" -"c:\dataimage\coverflow\jpeg.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\svg.svg" -"c:\dataimage\coverflow\svg.svg"
-"\epoc32\winscw\c\dataimage\coverflow\schedule.png" -"c:\dataimage\coverflow\schedule.png"
-"\epoc32\winscw\c\dataimage\coverflow\icon.png" -"c:\dataimage\coverflow\icon.png"
-"\epoc32\winscw\c\dataimage\coverflow\1.jpg" -"c:\dataimage\coverflow\1.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\2.jpg" -"c:\dataimage\coverflow\2.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\3.jpg" -"c:\dataimage\coverflow\3.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\4.jpg" -"c:\dataimage\coverflow\4.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\5.jpg" -"c:\dataimage\coverflow\5.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\6.jpg" -"c:\dataimage\coverflow\6.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\7.jpg" -"c:\dataimage\coverflow\7.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\8.jpg" -"c:\dataimage\coverflow\8.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\9.jpg" -"c:\dataimage\coverflow\9.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\10.jpg" -"c:\dataimage\coverflow\10.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\11.jpg" -"c:\dataimage\coverflow\11.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\12.jpg" -"c:\dataimage\coverflow\12.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\13.jpg" -"c:\dataimage\coverflow\13.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\14.jpg" -"c:\dataimage\coverflow\14.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\15.jpg" -"c:\dataimage\coverflow\15.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\16.jpg" -"c:\dataimage\coverflow\16.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\17.jpg" -"c:\dataimage\coverflow\17.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\18.jpg" -"c:\dataimage\coverflow\18.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\19.jpg" -"c:\dataimage\coverflow\19.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\20.jpg" -"c:\dataimage\coverflow\20.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\21.jpg" -"c:\dataimage\coverflow\21.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\22.jpg" -"c:\dataimage\coverflow\22.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\23.jpg" -"c:\dataimage\coverflow\23.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\24.jpg" -"c:\dataimage\coverflow\24.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\25.jpg" -"c:\dataimage\coverflow\25.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\26.jpg" -"c:\dataimage\coverflow\26.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\27.jpg" -"c:\dataimage\coverflow\27.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\28.jpg" -"c:\dataimage\coverflow\28.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\29.jpg" -"c:\dataimage\coverflow\29.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\30.jpg" -"c:\dataimage\coverflow\30.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\31.jpg" -"c:\dataimage\coverflow\31.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\32.jpg" -"c:\dataimage\coverflow\32.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\33.jpg" -"c:\dataimage\coverflow\33.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\34.jpg" -"c:\dataimage\coverflow\34.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\35.jpg" -"c:\dataimage\coverflow\35.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\36.jpg" -"c:\dataimage\coverflow\36.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\37.jpg" -"c:\dataimage\coverflow\37.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\38.jpg" -"c:\dataimage\coverflow\38.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\39.jpg" -"c:\dataimage\coverflow\39.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\40.jpg" -"c:\dataimage\coverflow\40.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\41.jpg" -"c:\dataimage\coverflow\41.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\42.jpg" -"c:\dataimage\coverflow\42.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\43.jpg" -"c:\dataimage\coverflow\43.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\44.jpg" -"c:\dataimage\coverflow\44.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\45.jpg" -"c:\dataimage\coverflow\45.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\46.jpg" -"c:\dataimage\coverflow\46.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\47.jpg" -"c:\dataimage\coverflow\47.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\48.jpg" -"c:\dataimage\coverflow\48.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\49.jpg" -"c:\dataimage\coverflow\49.jpg"
-"\epoc32\winscw\c\dataimage\coverflow\50.jpg" -"c:\dataimage\coverflow\50.jpg"
--- a/mulwidgets/sis/coverflow_testapp .bat	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: Coverflow sisx bat file
-rem
-
-@echo off
-echo DoTo: update the location for certificate and private key files
-
-set certificate_file=..\internal\certificates\rd.cer
-set private_key_file=..\internal\certificates\rd-key.pem
-
-makesis coverflow_test.pkg
-signsis coverflow_test.sis coverflow_test.sisx %certificate_file% %private_key_file%
-
-makesis grid_test.pkg
-signsis grid_test.sis grid_test.sisx %certificate_file% %private_key_file%
-
-
-
--- a/mulwidgets/sis/gesturetest.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-;
-; Copyright (c) 2009 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: ;Language - standard language definitions
-;
-&EN
-
-; standard SIS file header
-#{"GestureTest"},(0x2000FA8C),1,0,0
-
-;Supports Series 60 v 3.0
-[0x1028315F], 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Files to copy
-
-"\epoc32\release\armv5\urel\gesturetest_0xefbdc5b3.exe"-"!:\sys\bin\gesturetest_0xefbdc5b3.exe"
-"\epoc32\data\z\resource\apps\gesturetest_0xefbdc5b3.rsc"-"!:\resource\apps\gesturetest_0xefbdc5b3.rsc"
-"\epoc32\data\z\private\10003a3f\apps\gesturetest_0xefbdc5b3_reg.rsc"-"!:\private\10003a3f\import\apps\gesturetest_0xefbdc5b3_reg.rsc"
-"\epoc32\winscw\c\data\images\gesture_sample_pic.jpg" -"c:\Data\Images\gesture_sample_pic.jpg"
-
-
--- a/mulwidgets/sis/grid_test.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-;
-; Copyright (c) 2009 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: ;Language - standard language definitions
-;
-&EN
-
-; standard SIS file header
-#{"GridTest"},(0x048C0995),1,0,0
-
-;Supports Series 60 v 3.0
-[0x1028315F], 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Files to copy
-
-;=============================
-;TestMulGridWidget 
-;=============================
-"\epoc32\release\armv5\urel\testgridwidget.exe"-"!:\sys\bin\testgridwidget.exe"
-"\epoc32\data\z\private\10003a3f\import\apps\TestGridWidget_reg.rsc"-"!:\private\10003a3f\import\apps\TestGridWidget_reg.rsc"
-"\epoc32\data\z\resource\apps\TestGridWidget_loc.RSc"-"!:\resource\apps\TestGridWidget_loc.RSc"
-"\epoc32\data\z\resource\apps\testgridwidget.RSc"-"!:\resource\apps\testgridwidget.RSc"
-
-
-;=============================
-;Images for grid widget
-;=============================
-
-"\epoc32\WINSCW\C\dataimage\grid\i01.png"    -"c:\dataimage\grid\i01.png"
-"\epoc32\WINSCW\C\dataimage\grid\i02.png"    -"c:\dataimage\grid\i02.png"
-"\epoc32\WINSCW\C\dataimage\grid\i03.png"    -"c:\dataimage\grid\i03.png"
-"\epoc32\WINSCW\C\dataimage\grid\i04.png"    -"c:\dataimage\grid\i04.png"
-"\epoc32\WINSCW\C\dataimage\grid\i05.png"    -"c:\dataimage\grid\i05.png"
-"\epoc32\WINSCW\C\dataimage\grid\i06.png"    -"c:\dataimage\grid\i06.png"
-"\epoc32\WINSCW\C\dataimage\grid\i07.png"    -"c:\dataimage\grid\i07.png"
-"\epoc32\WINSCW\C\dataimage\grid\i08.png"    -"c:\dataimage\grid\i08.png"
-"\epoc32\WINSCW\C\dataimage\grid\i09.png"    -"c:\dataimage\grid\i09.png"
-"\epoc32\WINSCW\C\dataimage\grid\i10.png"    -"c:\dataimage\grid\i10.png"
-"\epoc32\WINSCW\C\dataimage\grid\i11.png"    -"c:\dataimage\grid\i11.png"
-"\epoc32\WINSCW\C\dataimage\grid\i12.png"    -"c:\dataimage\grid\i12.png"
-"\epoc32\WINSCW\C\dataimage\grid\i13.png"    -"c:\dataimage\grid\i13.png"
-"\epoc32\WINSCW\C\dataimage\grid\i14.png"    -"c:\dataimage\grid\i14.png"
-"\epoc32\WINSCW\C\dataimage\grid\i15.png"    -"c:\dataimage\grid\i15.png"
-"\epoc32\WINSCW\C\dataimage\grid\i16.png"    -"c:\dataimage\grid\i16.png"
-"\epoc32\WINSCW\C\dataimage\grid\i17.png"    -"c:\dataimage\grid\i17.png"
-"\epoc32\WINSCW\C\dataimage\grid\i18.png"    -"c:\dataimage\grid\i18.png"
-"\epoc32\WINSCW\C\dataimage\grid\i19.png"    -"c:\dataimage\grid\i19.png"
-"\epoc32\WINSCW\C\dataimage\grid\i20.png"    -"c:\dataimage\grid\i20.png"
-"\epoc32\WINSCW\C\dataimage\grid\i21.png"    -"c:\dataimage\grid\i21.png"
-"\epoc32\WINSCW\C\dataimage\grid\i22.png"    -"c:\dataimage\grid\i22.png"
-"\epoc32\WINSCW\C\dataimage\grid\i23.png"    -"c:\dataimage\grid\i23.png"
-"\epoc32\WINSCW\C\dataimage\grid\i24.png"    -"c:\dataimage\grid\i24.png"
-"\epoc32\WINSCW\C\dataimage\grid\i25.png"    -"c:\dataimage\grid\i25.png"
-"\epoc32\WINSCW\C\dataimage\grid\i26.png"    -"c:\dataimage\grid\i26.png"
-"\epoc32\WINSCW\C\dataimage\grid\i27.png"    -"c:\dataimage\grid\i27.png"
-"\epoc32\WINSCW\C\dataimage\grid\i28.png"    -"c:\dataimage\grid\i28.png"
-"\epoc32\WINSCW\C\dataimage\grid\i29.png"    -"c:\dataimage\grid\i29.png"
-"\epoc32\WINSCW\C\dataimage\grid\i30.png"    -"c:\dataimage\grid\i30.png"
-
-"\epoc32\WINSCW\C\dataimage\grid\bmp.bmp"    -"c:\dataimage\grid\bmp.bmp"
-"\epoc32\WINSCW\C\dataimage\grid\gif.gif"    -"c:\dataimage\grid\gif.gif"
-"\epoc32\WINSCW\C\dataimage\grid\ci01.jpg"   -"c:\dataimage\grid\ci01.jpg"
-"\epoc32\WINSCW\C\dataimage\grid\jpeg.jpg"   -"c:\dataimage\grid\jpeg.jpg"
-"\epoc32\WINSCW\C\dataimage\grid\svg.svg"    -"c:\dataimage\grid\svg.svg"
-"\epoc32\WINSCW\C\dataimage\grid\play.png" -"c:\dataimage\grid\play.png"
-"\epoc32\WINSCW\C\dataimage\grid\stop.png" -"c:\dataimage\grid\stop.png"
-"\epoc32\WINSCW\C\dataimage\grid\empty.png" -"c:\dataimage\grid\empty.png"
-"\epoc32\WINSCW\C\dataimage\grid\matrix_stripes.png" -"c:\dataimage\grid\matrix_stripes.png"
--- a/mulwidgets/sis/metapane_test.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-;
-; Copyright (c) 2009 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: ;Language - standard language definitions
-;
-&EN
-
-; standard SIS file header
-#{"MetapaneTest"},(0x0954A52),1,0,0
-
-;Supports Series 60 v 3.0
-[0x1028315F], 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Files to copy
-
-;=============================
-;TestMulMetapaneWidget 
-;=============================
-"\epoc32\release\armv5\urel\testmetapanewidget.exe"-"!:\sys\bin\testmetapanewidget.exe"
-"\epoc32\data\z\private\10003a3f\import\apps\testmetapanewidget_reg.rsc"-"!:\private\10003a3f\import\apps\testmetapanewidget_reg.rsc"
-"\epoc32\data\z\resource\apps\testmetapanewidget_loc.rsc"-"!:\resource\apps\testmetapanewidget_loc.rsc"
-"\epoc32\data\z\resource\apps\testmetapanewidget.rsc"-"!:\resource\apps\testmetapanewidget.rsc"
-
-;=============================
-;Images for metapane widget
-;=============================
-"\epoc32\WINSCW\C\dataimage\metapane\i01.png"    -"c:\dataimage\metapane\i01.png"
-"\epoc32\WINSCW\C\dataimage\metapane\i02.png"    -"c:\dataimage\metapane\i02.png"
-"\epoc32\WINSCW\C\dataimage\metapane\i03.png"    -"c:\dataimage\metapane\i03.png"
-"\epoc32\WINSCW\C\dataimage\metapane\i04.png"    -"c:\dataimage\metapane\i04.png"
-"\epoc32\WINSCW\C\dataimage\metapane\i05.png"    -"c:\dataimage\metapane\i05.png"
-"\epoc32\WINSCW\C\dataimage\metapane\i06.png"    -"c:\dataimage\metapane\i06.png"
-"\epoc32\WINSCW\C\dataimage\metapane\i07.png"    -"c:\dataimage\metapane\i07.png"
-"\epoc32\WINSCW\C\dataimage\metapane\i08.png"    -"c:\dataimage\metapane\i08.png"
-"\epoc32\WINSCW\C\dataimage\metapane\i09.png"    -"c:\dataimage\metapane\i09.png"
-"\epoc32\WINSCW\C\dataimage\metapane\i10.png"    -"c:\dataimage\metapane\i10.png"
-"\epoc32\WINSCW\C\dataimage\metapane\i11.png"    -"c:\dataimage\metapane\i11.png"
-"\epoc32\WINSCW\C\dataimage\metapane\play.png"   -"c:\dataimage\metapane\play.png"
-"\epoc32\WINSCW\C\dataimage\metapane\stop.png"   -"c:\dataimage\metapane\stop.png"
--- a/mulwidgets/sis/mullistapp_test.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-;
-; Copyright (c) 2009 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: ;Language - standard language definitions
-;
-&EN
-
-; standard SIS file header
-#{"ListTestApp"},(0x0558728E),1,0,0
-
-;Supports Series 60 v 3.0
-[0x1028315F], 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Files to copy
-
-"\epoc32\release\armv5\urel\testlistwidget.exe"-"!:\sys\bin\testlistwidget.exe"
-"\epoc32\data\z\resource\apps\testlistwidget.rsc"-"!:\resource\apps\testlistwidget.rsc"
-"\epoc32\data\z\private\10003a3f\import\apps\testlistwidget_reg.rsc"-"!:\private\10003a3f\import\apps\testlistwidget_reg.rsc"
-"\epoc32\data\z\resource\apps\testlistwidget_loc.rsc"-"!:\resource\apps\testlistwidget_loc.rsc"
-
-"\epoc32\winscw\c\dataimage\list\i01.png" -"c:\dataimage\list\i01.png"
-"\epoc32\winscw\c\dataimage\list\i02.png" -"c:\dataimage\list\i02.png"
-"\epoc32\winscw\c\dataimage\list\i03.png" -"c:\dataimage\list\i03.png"
-"\epoc32\winscw\c\dataimage\list\i04.png" -"c:\dataimage\list\i04.png"
-"\epoc32\winscw\c\dataimage\list\i05.png" -"c:\dataimage\list\i05.png"
-"\epoc32\winscw\c\dataimage\list\i06.png" -"c:\dataimage\list\i06.png"
-"\epoc32\winscw\c\dataimage\list\i07.png" -"c:\dataimage\list\i07.png"
-"\epoc32\winscw\c\dataimage\list\i08.png" -"c:\dataimage\list\i08.png"
-"\epoc32\winscw\c\dataimage\list\i09.png" -"c:\dataimage\list\i09.png"
-"\epoc32\winscw\c\dataimage\list\i010.png" -"c:\dataimage\list\i010.png"
-"\epoc32\winscw\c\dataimage\list\i011.png" -"c:\dataimage\list\i011.png"
-"\epoc32\winscw\c\dataimage\list\i012.png" -"c:\dataimage\list\i012.png"
-"\epoc32\winscw\c\dataimage\list\i013.png" -"c:\dataimage\list\i013.png"
-"\epoc32\winscw\c\dataimage\list\i014.png" -"c:\dataimage\list\i014.png"
-"\epoc32\winscw\c\dataimage\list\i015.png" -"c:\dataimage\list\i015.png"
-"\epoc32\winscw\c\dataimage\list\i016.png" -"c:\dataimage\list\i016.png"
-"\epoc32\winscw\c\dataimage\list\i017.png" -"c:\dataimage\list\i017.png"
-"\epoc32\winscw\c\dataimage\list\i018.png" -"c:\dataimage\list\i018.png"
-"\epoc32\winscw\c\dataimage\list\i019.png" -"c:\dataimage\list\i019.png"
-"\epoc32\winscw\c\dataimage\list\i010.png" -"c:\dataimage\list\i020.png"
-"\epoc32\winscw\c\dataimage\list\i021.png" -"c:\dataimage\list\i021.png"
-"\epoc32\winscw\c\dataimage\list\i022.png" -"c:\dataimage\list\i022.png"
-"\epoc32\winscw\c\dataimage\list\i023.png" -"c:\dataimage\list\i023.png"
-"\epoc32\winscw\c\dataimage\list\i024.png" -"c:\dataimage\list\i024.png"
-"\epoc32\winscw\c\dataimage\list\i025.png" -"c:\dataimage\list\i025.png"
-"\epoc32\winscw\c\dataimage\list\i026.png" -"c:\dataimage\list\i026.png"
-"\epoc32\winscw\c\dataimage\list\i027.png" -"c:\dataimage\list\i027.png"
-"\epoc32\winscw\c\dataimage\list\i028.png" -"c:\dataimage\list\i028.png"
-"\epoc32\winscw\c\dataimage\list\i029.png" -"c:\dataimage\list\i029.png"
-"\epoc32\winscw\c\dataimage\list\i030.png" -"c:\dataimage\list\i030.png"
-"\epoc32\winscw\c\dataimage\list\i031.png" -"c:\dataimage\list\i031.png"
-"\epoc32\winscw\c\dataimage\list\i032.png" -"c:\dataimage\list\i032.png"
-"\epoc32\winscw\c\dataimage\list\i033.png" -"c:\dataimage\list\i033.png"
-"\epoc32\winscw\c\dataimage\list\i034.png" -"c:\dataimage\list\i034.png"
-"\epoc32\winscw\c\dataimage\list\i035.png" -"c:\dataimage\list\i035.png"
-"\epoc32\winscw\c\dataimage\list\i036.png" -"c:\dataimage\list\i036.png"
-"\epoc32\winscw\c\dataimage\list\i036.png" -"c:\dataimage\list\matrix_stripes.png"
-
-"\epoc32\WINSCW\C\dataimage\list\focus.png" -"c:\dataimage\list\focus.png"
-"\epoc32\WINSCW\C\dataimage\list\bmp.bmp" -"c:\dataimage\list\bmp.bmp"
-"\epoc32\WINSCW\C\dataimage\list\gif.gif" -"c:\dataimage\list\gif.gif"
-"\epoc32\WINSCW\C\dataimage\list\ci01.jpg" -"c:\dataimage\list\ci01.jpg"
-"\epoc32\WINSCW\C\dataimage\list\jpeg.jpg" -"c:\dataimage\list\jpeg.jpg"
-"\epoc32\WINSCW\C\dataimage\list\play.png" -"c:\dataimage\list\play.png"
-"\epoc32\WINSCW\C\dataimage\list\stop.png" -"c:\dataimage\list\stop.png"
-"\epoc32\WINSCW\C\dataimage\list\svg.svg" -"c:\dataimage\list\svg.svg"
-
-
-"\epoc32\WINSCW\C\dataimage\list\i01.svg" -"c:\dataimage\list\i01.svg"
-"\epoc32\WINSCW\C\dataimage\list\i02.svg" -"c:\dataimage\list\i02.svg"
-"\epoc32\WINSCW\C\dataimage\list\i03.svg" -"c:\dataimage\list\i03.svg"
-"\epoc32\WINSCW\C\dataimage\list\i04.svg" -"c:\dataimage\list\i04.svg"
-"\epoc32\WINSCW\C\dataimage\list\i05.svg" -"c:\dataimage\list\i05.svg"
-"\epoc32\winscw\c\dataimage\list\i06.svg" -"c:\dataimage\list\i06.svg"
-"\epoc32\winscw\c\dataimage\list\i07.svg" -"c:\dataimage\list\i07.svg"
-"\epoc32\winscw\c\dataimage\list\i08.svg" -"c:\dataimage\list\i08.svg"
-"\epoc32\winscw\c\dataimage\list\i09.svg" -"c:\dataimage\list\i09.svg"
-"\epoc32\winscw\c\dataimage\list\i010.svg" -"c:\dataimage\list\i010.svg"
-"\epoc32\winscw\c\dataimage\list\i011.svg" -"c:\dataimage\list\i011.svg"
-"\epoc32\winscw\c\dataimage\list\i012.svg" -"c:\dataimage\list\i012.svg"
-"\epoc32\winscw\c\dataimage\list\i013.svg" -"c:\dataimage\list\i013.svg"
-"\epoc32\winscw\c\dataimage\list\i014.svg" -"c:\dataimage\list\i014.svg"
-"\epoc32\winscw\c\dataimage\list\i015.svg" -"c:\dataimage\list\i015.svg"
-"\epoc32\winscw\c\dataimage\list\i016.svg" -"c:\dataimage\list\i016.svg"
-"\epoc32\winscw\c\dataimage\list\i017.svg" -"c:\dataimage\list\i017.svg"
-"\epoc32\winscw\c\dataimage\list\i018.svg" -"c:\dataimage\list\i018.svg"
-"\epoc32\winscw\c\dataimage\list\i019.svg" -"c:\dataimage\list\i019.svg"
-"\epoc32\winscw\c\dataimage\list\i010.svg" -"c:\dataimage\list\i020.svg"
-"\epoc32\winscw\c\dataimage\list\i021.svg" -"c:\dataimage\list\i021.svg"
-"\epoc32\winscw\c\dataimage\list\i022.svg" -"c:\dataimage\list\i022.svg"
-"\epoc32\winscw\c\dataimage\list\i023.svg" -"c:\dataimage\list\i023.svg"
-"\epoc32\winscw\c\dataimage\list\i024.svg" -"c:\dataimage\list\i024.svg"
-"\epoc32\winscw\c\dataimage\list\i025.svg" -"c:\dataimage\list\i025.svg"
-"\epoc32\winscw\c\dataimage\list\i026.svg" -"c:\dataimage\list\i026.svg"
-"\epoc32\winscw\c\dataimage\list\i027.svg" -"c:\dataimage\list\i027.svg"
-"\epoc32\winscw\c\dataimage\list\i028.svg" -"c:\dataimage\list\i028.svg"
-"\epoc32\winscw\c\dataimage\list\i029.svg" -"c:\dataimage\list\i029.svg"
-"\epoc32\winscw\c\dataimage\list\i030.svg" -"c:\dataimage\list\i030.svg"
-"\epoc32\winscw\c\dataimage\list\i031.svg" -"c:\dataimage\list\i031.svg"
-"\epoc32\winscw\c\dataimage\list\i032.svg" -"c:\dataimage\list\i032.svg"
-"\epoc32\winscw\c\dataimage\list\i033.svg" -"c:\dataimage\list\i033.svg"
-"\epoc32\winscw\c\dataimage\list\i034.svg" -"c:\dataimage\list\i034.svg"
-"\epoc32\winscw\c\dataimage\list\i035.svg" -"c:\dataimage\list\i035.svg"
-"\epoc32\winscw\c\dataimage\list\i036.svg" -"c:\dataimage\list\i036.svg"
-"\epoc32\WINSCW\C\dataimage\list\play.svg" -"c:\dataimage\list\play.svg"
-"\epoc32\WINSCW\C\dataimage\list\stop.svg" -"c:\dataimage\list\stop.svg"
--- a/mulwidgets/sis/slider_test.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-;
-; Copyright (c) 2009 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: ;Language - standard language definitions
-;
-&EN
-
-; standard SIS file header
-#{"SliderTest"},(0x0559728E),1,0,0
-
-;Supports Series 60 v 3.0
-[0x1028315F], 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Files to copy
-
-"\epoc32\winscw\c\dataimage\slider\volume.jpg" -"c:\dataimage\slider\volume.jpg"
-"\epoc32\winscw\c\dataimage\slider\mute.jpg" -"c:\dataimage\slider\mute.jpg"
-
-"\epoc32\release\armv5\urel\testsliderwidget.exe"-"!:\sys\bin\testsliderwidget.exe"
-"\epoc32\data\z\private\10003a3f\import\apps\testsliderwidget_reg.rsc"-"!:\private\10003a3f\import\apps\testsliderwidget_reg.rsc"
-;"\epoc32\data\z\resource\apps\testsliderwidget_loc.rsc"-"!:\resource\apps\testsliderwidget_loc.rsc"
-"\epoc32\data\z\resource\apps\testsliderwidget.rsc"-"!:\resource\apps\testsliderwidget.rsc"
-
--- a/mulwidgets/sis/softkeytest.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-;
-; Copyright (c) 2009 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: ;Language - standard language definitions
-;
-&EN
-
-; standard SIS file header
-#{"SoftKeyTest"},(0x077F3FA3),1,0,0
-
-;Supports Series 60 v 3.0
-[0x1028315F], 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Files to copy
-
-"\epoc32\release\armv5\urel\testsoftkeywidget.exe"-"!:\sys\bin\testsoftkeywidget.exe"
-"\epoc32\data\z\resource\apps\testsoftkeywidget.rsc"-"!:\resource\apps\testsoftkeywidget.rsc"
-"\epoc32\data\z\private\10003a3f\import\apps\TestSoftkeyWidget_reg.rsc"-"!:\private\10003a3f\import\apps\TestSoftkeyWidget_reg.rsc"
-"\epoc32\data\z\resource\apps\TestSoftkeyWidget_loc.rsc"-"!:\resource\apps\TestSoftkeyWidget_loc.rsc"
-
-
--- a/mulwidgets/sis/test .bat	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: bat file to create all Widget's test app.
-rem
-
-
-call makesis coverflow_test.pkg
-call signsis -s coverflow_test.sis coverflow_test.sisx RDTest_02.der RDTest_02.key
-
-call makesis gesturetest.pkg
-call signsis -s gesturetest.sis gesturetest.sisx RDTest_02.der RDTest_02.key
-
-call makesis grid_test.pkg
-call signsis -s grid_test.sis grid_test.sisx RDTest_02.der RDTest_02.key
-
-call makesis mullistapp_test.pkg
-call signsis -s mullistapp_test.sis mullistapp_test.sisx RDTest_02.der RDTest_02.key
-
-call makesis ListTest.pkg
-call signsis -s ListTest.sis ListTest.sisx RDTest_02.der RDTest_02.key
-call makesis slider_test.pkg
-call signsis -s slider_test.sis slider_test.sisx RDTest_02.der RDTest_02.key
-
--- a/mulwidgets/sis/test_udeb.bat	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: bat file to create all Widget's test app with logging utility.
-rem
-
-
-call makesis coverflow_test_udeb.pkg
-call signsis -s coverflow_test_udeb.sis coverflow_test_udeb.sisx RDTest_02.der RDTest_02.key
-
-call makesis gesturetest.pkg
-call signsis -s gesturetest.sis gesturetest.sisx RDTest_02.der RDTest_02.key
-
-call makesis grid_test.pkg
-call signsis -s grid_test.sis grid_test.sisx RDTest_02.der RDTest_02.key
-
-call makesis mullistapp_test.pkg
-call signsis -s mullistapp_test.sis mullistapp_test.sisx RDTest_02.der RDTest_02.key
-
-call makesis slider_test.pkg
-call signsis -s slider_test.sis slider_test.sisx RDTest_02.der RDTest_02.key
-
-call makesis softkeytest.pkg
-call signsis -s softkeytest.sis softkeytest.sisx RDTest_02.der RDTest_02.key
-
-call makesis toolbar_test.pkg
-call signsis -s toolbar_test.sis toolbar_test.sisx RDTest_02.der RDTest_02.key
-
-call makesis metapane_test.pkg
-call signsis -s metapane_test.sis metapane_test.sisx RDTest_02.der RDTest_02.key
--- a/mulwidgets/sis/toolbar_test.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-;
-; Copyright (c) 2009 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: ;Language - standard language definitions
-;
-&EN
-
-; standard SIS file header
-#{"ToolbarTest"},(0x0E1B3BEA),1,0,0
-
-;Supports Series 60 v 3.0
-[0x1028315F], 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Files to copy
-
-
-"\epoc32\release\armv5\urel\TestToolBarWidget.exe"									-"!:\sys\bin\TestToolBarWidget.exe"
-"\epoc32\data\z\private\10003a3f\import\apps\TestToolBarWidget_reg.rsc"		-"!:\private\10003a3f\import\apps\TestToolBarWidget_reg.rsc"
-"\epoc32\data\z\resource\apps\TestToolBarWidget_loc.rsc"						-"!:\resource\apps\TestToolBarWidget_loc.rsc"
-"\epoc32\data\z\resource\apps\TestToolBarWidget.rsc"                 	-"!:\resource\apps\TestToolBarWidget.rsc"
-
-
-
-
-"\epoc32\winscw\c\dataimage\toolbar\i01.png" -"c:\dataimage\toolbar\i01.png"
-"\epoc32\winscw\c\dataimage\toolbar\i02.png" -"c:\dataimage\toolbar\i02.png"
-"\epoc32\winscw\c\dataimage\toolbar\i03.png" -"c:\dataimage\toolbar\i03.png"
-"\epoc32\winscw\c\dataimage\toolbar\i04.png" -"c:\dataimage\toolbar\i04.png"
-"\epoc32\WINSCW\C\dataimage\toolbar\bmp.bmp" -"c:\dataimage\toolbar\bmp.bmp"
-"\epoc32\WINSCW\C\dataimage\toolbar\gif.gif" -"c:\dataimage\toolbar\gif.gif"
-"\epoc32\WINSCW\C\dataimage\toolbar\ci01.jpg" -"c:\dataimage\toolbar\ci01.jpg"
-"\epoc32\WINSCW\C\dataimage\toolbar\jpeg.jpg" -"c:\dataimage\toolbar\jpeg.jpg"
-"\epoc32\WINSCW\C\dataimage\toolbar\svg.svg" -"c:\dataimage\toolbar\svg.svg"
-
--- a/osncore/group/Doxyfile.txt	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1307 +0,0 @@
-# Doxyfile 1.5.2
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file that 
-# follow. The default is UTF-8 which is also the encoding used for all text before 
-# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into 
-# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of 
-# possible encodings.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = "UI Accelerator DeclarativeUi osncore"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
-# This could be handy for archiving the generated documentation or 
-# if some version control system is used.
-
-PROJECT_NUMBER         = 
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
-# base path where the generated documentation will be put. 
-# If a relative path is entered, it will be relative to the location 
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = ../doc
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
-# 4096 sub-directories (in 2 levels) under the output directory of each output 
-# format and will distribute the generated files over these directories. 
-# Enabling this option can be useful when feeding doxygen a huge amount of 
-# source files, where putting all generated files in the same directory would 
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
-# documentation generated by doxygen is written. Doxygen will use this 
-# information to generate all constant output in the proper language. 
-# The default language is English, other supported languages are: 
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
-# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, 
-# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, 
-# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, 
-# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
-# include brief member descriptions after the members that are listed in 
-# the file and class documentation (similar to JavaDoc). 
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
-# the brief description of a member or function before the detailed description. 
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator 
-# that is used to form the text in various listings. Each string 
-# in this list, if found as the leading text of the brief description, will be 
-# stripped from the text and the result after processing the whole list, is 
-# used as the annotated text. Otherwise, the brief description is used as-is. 
-# If left blank, the following values are used ("$name" is automatically 
-# replaced with the name of the entity): "The $name class" "The $name widget" 
-# "The $name file" "is" "provides" "specifies" "contains" 
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
-# Doxygen will generate a detailed section even if there is only a brief 
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
-# inherited members of a class in the documentation of that class as if those 
-# members were ordinary class members. Constructors, destructors and assignment 
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
-# path before files name in the file list and in the header files. If set 
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
-# can be used to strip a user-defined part of the path. Stripping is 
-# only done if one of the specified strings matches the left-hand part of 
-# the path. The tag can be used to show relative paths in the file list. 
-# If left blank the directory from which doxygen is run is used as the 
-# path to strip.
-
-STRIP_FROM_PATH        = 
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
-# the path mentioned in the documentation of a class, which tells 
-# the reader which header file to include in order to use a class. 
-# If left blank only the name of the header file containing the class 
-# definition is used. Otherwise one should specify the include paths that 
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    = 
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
-# (but less readable) file names. This can be useful is your file systems 
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
-# will interpret the first line (until the first dot) of a JavaDoc-style 
-# comment as the brief description. If set to NO, the JavaDoc 
-# comments will behave just like the Qt-style comments (thus requiring an 
-# explicit @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF      = YES
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
-# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
-# comments) as a brief description. This used to be the default behaviour. 
-# The new default is to treat a multi-line C++ comment block as a detailed 
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member 
-# documentation.
-
-DETAILS_AT_TOP         = YES
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
-# member inherits the documentation from any documented member that it 
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
-# a new page for each member. If set to NO, the documentation of a member will 
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 4
-
-# This tag can be used to specify a number of aliases that acts 
-# as commands in the documentation. An alias has the form "name=value". 
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
-# put the command \sideeffect (or @sideeffect) in the documentation, which 
-# will result in a user-defined paragraph with heading "Side Effects:". 
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                = panic=@exception \
-                         leave=@exception \
-                         "internalTechnology=@par Internal technology" \
-                         "internalComponent=@par Internal component" \
-                         "internalAll=@par Internal all" \
-                         "publishedPartner=@par Published-partner" \
-                         "publishedAll=@par Published-all" \
-                         "prototype=@par Prototype" \
-                         "interim=@par Interim" \
-                         "released=@par Released" \
-                         "removed=@par Removed" \
-                         "test=@par Test" \
-                         "realtime=@par Realtime" \
-                         "status=@par Status:\n"\
-                         "attributes=@par Attributes: \n"\
-                         "interfaces=@par Interfaces: \n"\
-                         "lib=@par Library: \n"\
-                         "events=@par Events: \n"\
-                         "beginAPI=@name Exported API\n @{" \
-                         endAPI=@}
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
-# sources only. Doxygen will then generate output that is more tailored for C. 
-# For instance, some of the names that are used will be different. The list 
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
-# sources only. Doxygen will then generate output that is more tailored for Java. 
-# For instance, namespaces will be presented as packages, qualified scopes 
-# will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to 
-# include (a tag file for) the STL sources as input, then you should 
-# set this tag to YES in order to let doxygen match functions declarations and 
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
-# func(std::string) {}). This also make the inheritance and collaboration 
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT        = NO
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
-# tag is set to YES, then doxygen will reuse the documentation of the first 
-# member in the group (if any) for the other members of the group. By default 
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
-# the same type (for instance a group of public functions) to be put as a 
-# subgroup of that type (e.g. under the Public Functions section). Set it to 
-# NO to prevent subgrouping. Alternatively, this can be done per class using 
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
-# documentation are documented, even if no documentation was available. 
-# Private class members and static file members will be hidden unless 
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = YES
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file 
-# will be included in the documentation.
-
-EXTRACT_STATIC         = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
-# defined locally in source files will be included in the documentation. 
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local 
-# methods, which are defined in the implementation section but not in 
-# the interface are included in the documentation. 
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = YES
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
-# undocumented members of documented classes, files or namespaces. 
-# If set to NO (the default) these members will be included in the 
-# various overviews, but no documentation section is generated. 
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
-# undocumented classes that are normally visible in the class hierarchy. 
-# If set to NO (the default) these classes will be included in the various 
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
-# friend (class|struct|union) declarations. 
-# If set to NO (the default) these declarations will be included in the 
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
-# documentation blocks found inside the body of a function. 
-# If set to NO (the default) these blocks will be appended to the 
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation 
-# that is typed after a \internal command is included. If the tag is set 
-# to NO (the default) then the documentation will be excluded. 
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
-# file names in lower-case letters. If set to YES upper-case letters are also 
-# allowed. This is useful if you have classes or files whose names only differ 
-# in case and if your file system supports case sensitive file names. Windows 
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = NO
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
-# will show members with their full class and namespace scopes in the 
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
-# will put a list of the files that are included by a file in the documentation 
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
-# will sort the (detailed) documentation of file and class members 
-# alphabetically by member name. If set to NO the members will appear in 
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
-# brief documentation of file, namespace and class members alphabetically 
-# by member name. If set to NO (the default) the members will appear in 
-# declaration order.
-
-SORT_BRIEF_DOCS        = YES
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
-# sorted by fully-qualified names, including namespaces. If set to 
-# NO (the default), the class list will be sorted only by class name, 
-# not including the namespace part. 
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the 
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or 
-# disable (NO) the todo list. This list is created by putting \todo 
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or 
-# disable (NO) the test list. This list is created by putting \test 
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or 
-# disable (NO) the bug list. This list is created by putting \bug 
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
-# disable (NO) the deprecated list. This list is created by putting 
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional 
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       = 
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
-# the initial value of a variable or define consists of for it to appear in 
-# the documentation. If the initializer consists of more lines than specified 
-# here it will be hidden. Use a value of 0 to hide initializers completely. 
-# The appearance of the initializer of individual variables and defines in the 
-# documentation can be controlled using \showinitializer or \hideinitializer 
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
-# at the bottom of the documentation of classes and structs. If set to YES the 
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-# If the sources in your project are distributed over multiple directories 
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
-# doxygen should invoke to get the current version for each file (typically from the 
-# version control system). Doxygen will invoke the program by executing (via 
-# popen()) the command <command> <input-file>, where <command> is the value of 
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
-# provided by doxygen. Whatever the program writes to standard output 
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated 
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are 
-# generated by doxygen. Possible values are YES and NO. If left blank 
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
-# potential errors in the documentation, such as not documenting some 
-# parameters in a documented function, or documenting parameters that 
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for 
-# functions that are documented, but have no documentation for their parameters 
-# or return value. If set to NO (the default) doxygen will only warn about 
-# wrong or incomplete parameter documentation, but not about the absence of 
-# documentation.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that 
-# doxygen can produce. The string should contain the $file, $line, and $text 
-# tags, which will be replaced by the file and line number from which the 
-# warning originated and the warning text. Optionally the format may contain 
-# $version, which will be replaced by the version of the file (if it could 
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning 
-# and error messages should be written. If left blank the output is written 
-# to stderr.
-
-WARN_LOGFILE           = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain 
-# documented source files. You may enter file names like "myfile.cpp" or 
-# directories like "/usr/src/myproject". Separate the files or directories 
-# with spaces.
-
-
-INPUT                  = ../osncore/osncore/inc \
-INPUT                  = ../../inc/osn_string_api/inc/osn \
-INPUT                  = ../../inc/osn_global_api/inc/osn \
-INPUT                  = ../../inc/osn_container_api/inc/osn
-
-
-
-# This tag can be used to specify the character encoding of the source files that 
-# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default 
-# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the transcoding. 
-# See http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the 
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank the following patterns are tested: 
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
-
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cpp \
-                         *.h \
-                         *.inl \
-                         *.hh \
-                         *.hrh \
-                         *.dox
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
-# should be searched for input files as well. Possible values are YES and NO. 
-# If left blank NO is used.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should 
-# excluded from the INPUT source files. This way you can easily exclude a 
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                = 
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
-# directories that are symbolic links (a Unix filesystem feature) are excluded 
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the 
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
-# certain files from those directories. Note that the wildcards are matched 
-# against the file with absolute path, so to exclude all test directories 
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       = 
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
-# (namespaces, classes, functions, etc.) that should be excluded from the output. 
-# The symbol name can be a fully qualified name, a word, or if the wildcard * is used, 
-# a substring. Examples: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS        = 
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or 
-# directories that contain example code fragments that are included (see 
-# the \include command).
-
-EXAMPLE_PATH           = 
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank all files are included.
-
-EXAMPLE_PATTERNS       = 
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
-# searched for input files to be used with the \include or \dontinclude 
-# commands irrespective of the value of the RECURSIVE tag. 
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or 
-# directories that contain image that are included in the documentation (see 
-# the \image command).
-
-IMAGE_PATH             = 
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should 
-# invoke to filter for each input file. Doxygen will invoke the filter program 
-# by executing (via popen()) the command <filter> <input-file>, where <filter> 
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
-# input file. Doxygen will then use the output that the filter program writes 
-# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
-# ignored.
-
-INPUT_FILTER           = 
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
-# basis.  Doxygen will compare the file name with each pattern and apply the 
-# filter if there is a match.  The filters are a list of the form: 
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
-# is applied to all files.
-
-FILTER_PATTERNS        = 
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
-# INPUT_FILTER) will be used to filter the input files when producing source 
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
-# be generated. Documented entities will be cross-referenced with these sources. 
-# Note: To get rid of all source code in the generated output, make sure also 
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body 
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
-# doxygen to hide any special comment blocks from generated source code 
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
-# then for each documented function all documented 
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default) 
-# then for each documented function all documented entities 
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = YES
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.  Otherwise they will link to the documentstion.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code 
-# will point to the HTML generated by the htags(1) tool instead of doxygen 
-# built-in source browser. The htags tool is part of GNU's global source 
-# tagging system (see http://www.gnu.org/software/global/global.html). You 
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
-# will generate a verbatim copy of the header file for each class for 
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
-# of all compounds will be generated. Enable this if the project 
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 3
-
-# In case all classes in a project start with a common prefix, all 
-# classes will be put under the same header in the alphabetical index. 
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          = TAlf \
-                         SAlf \
-                         CAlf \
-                         RAlf \
-                         MAlf \
-                         IAlf \
-                         Alf
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
-# generate HTML output.
-
-GENERATE_HTML          = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = doxygen
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard header.
-
-HTML_HEADER            = 
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard footer.
-
-HTML_FOOTER            = 
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
-# style sheet that is used by each HTML page. It can be used to 
-# fine-tune the look of the HTML output. If the tag is left blank doxygen 
-# will generate a default style sheet. Note that doxygen will try to copy 
-# the style sheet file to the HTML output directory, so don't put your own 
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        = 
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
-# files or namespaces will be aligned in HTML using tables. If set to 
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
-# will be generated that can be used as input for tools like the 
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
-# be used to specify the file name of the resulting .chm file. You 
-# can add a path in front of the file if the result should not be 
-# written to the html output directory.
-
-CHM_FILE               = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
-# be used to specify the location (absolute path including file name) of 
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
-# controls if a separate .chi index file is generated (YES) or that 
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
-# controls whether a binary table of contents is generated (YES) or a 
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members 
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
-# top of each HTML page. The value NO (the default) enables the index and 
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# This tag can be used to set the number of enum values (range [1..20]) 
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that 
-# is generated for HTML Help). For this to work a browser that supports 
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
-# probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
-# used to set the initial width (in pixels) of the frame in which the tree 
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
-# generate Latex output.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
-# generate index for LaTeX. If left blank `makeindex' will be used as the 
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
-# LaTeX documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used 
-# by the printer. Possible values are: a4, a4wide, letter, legal and 
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         = 
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
-# the generated latex document. The header should contain everything until 
-# the first chapter. If it is left blank doxygen will generate a 
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           = 
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
-# contain links (just like the HTML output) instead of page references 
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
-# plain latex in the generated Makefile. Set this option to YES to get a 
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
-# command to the generated LaTeX files. This will instruct LaTeX to keep 
-# running if errors occur, instead of asking the user for help. 
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
-# include the index chapters (such as File Index, Compound Index, etc.) 
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
-# The RTF output is optimized for Word 97 and may not look very pretty with 
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
-# RTF documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
-# will contain hyperlink fields. The RTF file will 
-# contain links (just like the HTML output) instead of page references. 
-# This makes the output suitable for online browsing using WORD or other 
-# programs which support those fields. 
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's 
-# config file, i.e. a series of assignments. You only have to provide 
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    = 
-
-# Set optional variables used in the generation of an rtf document. 
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to 
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
-# then it will generate one additional man file for each entity 
-# documented in the real man page(s). These additional files 
-# only source the real man page, but without them the man command 
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will 
-# generate an XML file that captures the structure of 
-# the code including all documentation.
-
-GENERATE_XML           = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema, 
-# which can be used by a validating XML parser to check the 
-# syntax of the XML files.
-
-XML_SCHEMA             = 
-
-# The XML_DTD tag can be used to specify an XML DTD, 
-# which can be used by a validating XML parser to check the 
-# syntax of the XML files.
-
-XML_DTD                = 
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
-# dump the program listings (including syntax highlighting 
-# and cross-referencing information) to the XML output. Note that 
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
-# generate an AutoGen Definitions (see autogen.sf.net) file 
-# that captures the structure of the code including all 
-# documentation. Note that this feature is still experimental 
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
-# generate a Perl module file that captures the structure of 
-# the code including all documentation. Note that this 
-# feature is still experimental and incomplete at the 
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
-# nicely formatted so it can be parsed by a human reader.  This is useful 
-# if you want to understand what is going on.  On the other hand, if this 
-# tag is set to NO the size of the Perl module output will be much smaller 
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file 
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
-# This is useful so different doxyrules.make files included by the same 
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX = 
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
-# evaluate all C-preprocessor directives found in the sources and include 
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
-# names in the source code. If set to NO (the default) only conditional 
-# compilation will be performed. Macro expansion can be done in a controlled 
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = YES
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
-# then the macro expansion is limited to the macros specified with the 
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = YES
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that 
-# contain include files that are not input files but should be processed by 
-# the preprocessor.
-
-INCLUDE_PATH           = 
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
-# patterns (like *.h and *.hpp) to filter out the header-files in the 
-# directories. If left blank, the patterns specified with FILE_PATTERNS will 
-# be used.
-
-INCLUDE_FILE_PATTERNS  = 
-
-# The PREDEFINED tag can be used to specify one or more macro names that 
-# are defined before the preprocessor is started (similar to the -D option of 
-# gcc). The argument of the tag is a list of macros of the form: name 
-# or name=definition (no spaces). If the definition and the = are 
-# omitted =1 is assumed. To prevent a macro definition from being 
-# undefined via #undef or recursively expanded use the := operator 
-# instead of the = operator.
-
-PREDEFINED             = "NONSHARABLE_CLASS(name)=class name" \
-                         "OSN_NONSHARABLE_CLASS(name)=class name" \
-                         "_LIT(name,string)=const static TLitC<sizeof(L##string)/2> name={sizeof(L##string)/2-1,L##string}"
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
-# this tag can be used to specify a list of macro names that should be expanded. 
-# The macro definition that is found in the sources will be used. 
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED      = 
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
-# doxygen's preprocessor will remove all function-like macros that are alone 
-# on a line, have an all uppercase name, and do not end with a semicolon. Such 
-# function macros are typically used for boiler-plate code, and will confuse 
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles. 
-# Optionally an initial location of the external documentation 
-# can be added for each tagfile. The format of a tag file without 
-# this location is as follows: 
-#   TAGFILES = file1 file2 ... 
-# Adding location for the tag files is done as follows: 
-#   TAGFILES = file1=loc1 "file2 = loc2" ... 
-# where "loc1" and "loc2" can be relative or absolute paths or 
-# URLs. If a location is present for each tag, the installdox tool 
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen 
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               = 
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       = 
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
-# in the class index. If set to NO only the inherited external classes 
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
-# in the modules index. If set to NO, only the current project's groups will 
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script 
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
-# or super classes. Setting the tag to NO turns the diagrams off. Note that 
-# this option is superseded by the HAVE_DOT option below. This is only a 
-# fallback. It is recommended to install and use dot, since it yields more 
-# powerful graphs.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc 
-# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to 
-# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to 
-# specify the directory where the mscgen tool resides. If left empty the tool is assumed to 
-# be found in the default search path.
-
-MSCGEN_PATH            = 
-
-# If set to YES, the inheritance and collaboration graphs will hide 
-# inheritance and usage relations if the target is undocumented 
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
-# available from the path. This tool is part of Graphviz, a graph visualization 
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = NO
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect inheritance relations. Setting this tag to YES will force the 
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect implementation dependencies (inheritance, containment, and 
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = NO
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
-# collaboration diagrams in a style similar to the OMG's Unified Modeling 
-# Language.
-
-UML_LOOK               = YES
-
-# If set to YES, the inheritance and collaboration graphs will show the 
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
-# tags are set to YES then doxygen will generate a graph for each documented 
-# file showing the direct and indirect include dependencies of the file with 
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
-# documented header file showing the documented files that directly or 
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
-# generate a call dependency graph for every global function or class method. 
-# Note that enabling this option will significantly increase the time of a run. 
-# So in most cases it will be better to enable call graphs for selected 
-# functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
-# generate a caller dependency graph for every global function or class method. 
-# Note that enabling this option will significantly increase the time of a run. 
-# So in most cases it will be better to enable caller graphs for selected 
-# functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES 
-# then doxygen will show the dependencies a directory has on other directories 
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be 
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               = 
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that 
-# contain dot files that are included in the documentation (see the 
-# \dotfile command).
-
-DOTFILE_DIRS           = 
-
-# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
-# nodes that will be shown in the graph. If the number of nodes in a graph 
-# becomes larger than this value, doxygen will truncate the graph, which is 
-# visualized by representing a node as a red box. Note that doxygen will always 
-# show the root nodes and its direct children regardless of this setting.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
-# background. This is disabled by default, which results in a white background. 
-# Warning: Depending on the platform used, enabling this option may lead to 
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to 
-# read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
-# files in one run (i.e. multiple -o and -T options on the command line). This 
-# makes dot run faster, but since only newer versions of dot (>1.8.10) 
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = NO
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
-# generate a legend page explaining the meaning of the various boxes and 
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
-# remove the intermediate dot files that are used to generate 
-# the various graphs.
-
-DOT_CLEANUP            = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be 
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE           = NO
--- a/osncore/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* 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:  Master bld.inf 
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-WINSCW ARMV5
-
-#include "../osncore/group/bld.inf"
-
-PRJ_EXPORTS
-../../rom/osncore.iby CORE_MW_LAYER_IBY_EXPORT_PATH(osncore.iby) 
--- a/osncore/osncore/bwins/osncoreu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-EXPORTS
-	??4UString@osncore@@QAEAAV01@ABV01@@Z @ 1 NONAME ; class osncore::UString & osncore::UString::operator=(class osncore::UString const &)
-	??8UString@osncore@@QBE_NABV01@@Z @ 2 NONAME ; bool osncore::UString::operator==(class osncore::UString const &) const
-	??0AlfPtrVectorImpl@osncore@@QAE@IAAVIDeleter@1@@Z @ 3 NONAME ; osncore::AlfPtrVectorImpl::AlfPtrVectorImpl(unsigned int, class osncore::IDeleter &)
-	?remove@AlfPtrVectorImpl@osncore@@QAE_NI_N@Z @ 4 NONAME ; bool osncore::AlfPtrVectorImpl::remove(unsigned int, bool)
-	?append@UString@osncore@@QAEXPBD@Z @ 5 NONAME ; void osncore::UString::append(char const *)
-	??AUString@osncore@@QAEKJ@Z @ 6 NONAME ; unsigned long osncore::UString::operator[](long)
-	?getByteLength@UString@osncore@@QBEJXZ @ 7 NONAME ; long osncore::UString::getByteLength(void) const
-	??0UString@osncore@@QAE@PBDH@Z @ 8 NONAME ; osncore::UString::UString(char const *, int)
-	?toInt@osncore@@YAHABVUString@1@@Z @ 9 NONAME ; int osncore::toInt(class osncore::UString const &)
-	??_V@YAXPAXW4newarg@@@Z @ 10 NONAME ; void operator delete[](void *, enum newarg)
-	?insert@UString@osncore@@QAEXJPBDJ@Z @ 11 NONAME ; void osncore::UString::insert(long, char const *, long)
-	??0UString@osncore@@QAE@PBD@Z @ 12 NONAME ; osncore::UString::UString(char const *)
-	?normalizeNFD@osncore@@YA?AV?$auto_ptr@VUString@osncore@@@std@@ABVUString@1@@Z @ 13 NONAME ; class std::auto_ptr<class osncore::UString> osncore::normalizeNFD(class osncore::UString const &)
-	?erase@UString@osncore@@QAEXJJ@Z @ 14 NONAME ; void osncore::UString::erase(long, long)
-	??8UString@osncore@@QBE_NPBD@Z @ 15 NONAME ; bool osncore::UString::operator==(char const *) const
-	?what@InvalidUtf8@UString@osncore@@UBEPBDXZ @ 16 NONAME ; char const * osncore::UString::InvalidUtf8::what(void) const
-	??0UString@osncore@@QAE@K@Z @ 17 NONAME ; osncore::UString::UString(unsigned long)
-	??_U@YAPAXIW4newarg@@@Z @ 18 NONAME ; void * operator new[](unsigned int, enum newarg)
-	?replace@UString@osncore@@QAEXJPBDJ@Z @ 19 NONAME ; void osncore::UString::replace(long, char const *, long)
-	?compare@UString@osncore@@QBEHABV12@@Z @ 20 NONAME ; int osncore::UString::compare(class osncore::UString const &) const
-	??1?$UtfProxy@G@osncore@@QAE@XZ @ 21 NONAME ; osncore::UtfProxy<unsigned short>::~UtfProxy<unsigned short>(void)
-	?clear@AlfPtrVectorImpl@osncore@@QAEX_N@Z @ 22 NONAME ; void osncore::AlfPtrVectorImpl::clear(bool)
-	?normalizeNFKD@osncore@@YA?AV?$auto_ptr@VUString@osncore@@@std@@ABVUString@1@@Z @ 23 NONAME ; class std::auto_ptr<class osncore::UString> osncore::normalizeNFKD(class osncore::UString const &)
-	??0UString@osncore@@QAE@ABV01@@Z @ 24 NONAME ; osncore::UString::UString(class osncore::UString const &)
-	??4UString@osncore@@QAEAAV01@PBD@Z @ 25 NONAME ; class osncore::UString & osncore::UString::operator=(char const *)
-	?append@UString@osncore@@QAEXABV12@@Z @ 26 NONAME ; void osncore::UString::append(class osncore::UString const &)
-	?getUtf8@UString@osncore@@QBEPBDXZ @ 27 NONAME ; char const * osncore::UString::getUtf8(void) const
-	??3@YAXPAXW4newarg@@@Z @ 28 NONAME ; void operator delete(void *, enum newarg)
-	?resize@AlfPtrVectorImpl@osncore@@QAE_NI_N@Z @ 29 NONAME ; bool osncore::AlfPtrVectorImpl::resize(unsigned int, bool)
-	?replace@UString@osncore@@QAEXJPBD@Z @ 30 NONAME ; void osncore::UString::replace(long, char const *)
-	?findRef@AlfPtrVectorImpl@osncore@@QAEHPAX@Z @ 31 NONAME ; int osncore::AlfPtrVectorImpl::findRef(void *)
-	?insert@UString@osncore@@QAEXJPBD@Z @ 32 NONAME ; void osncore::UString::insert(long, char const *)
-	??1UString@osncore@@UAE@XZ @ 33 NONAME ; osncore::UString::~UString(void)
-	?toUtf16@osncore@@YA?AV?$auto_ptr@V?$UtfProxy@G@osncore@@@std@@ABVUString@1@@Z @ 34 NONAME ; class std::auto_ptr<class osncore::UtfProxy<unsigned short> > osncore::toUtf16(class osncore::UString const &)
-	??2@YAPAXIW4newarg@@@Z @ 35 NONAME ; void * operator new(unsigned int, enum newarg)
-	?getCharLength@UString@osncore@@QBEJXZ @ 36 NONAME ; long osncore::UString::getCharLength(void) const
-	?insert@AlfPtrVectorImpl@osncore@@QAE_NIPAX_N@Z @ 37 NONAME ; bool osncore::AlfPtrVectorImpl::insert(unsigned int, void *, bool)
-	?isEmpty@UString@osncore@@QBE_NXZ @ 38 NONAME ; bool osncore::UString::isEmpty(void) const
-	?normalizeNFC@osncore@@YA?AV?$auto_ptr@VUString@osncore@@@std@@ABVUString@1@@Z @ 39 NONAME ; class std::auto_ptr<class osncore::UString> osncore::normalizeNFC(class osncore::UString const &)
-	?isNull@UString@osncore@@QBE_NXZ @ 40 NONAME ; bool osncore::UString::isNull(void) const
-	??0UString@osncore@@QAE@XZ @ 41 NONAME ; osncore::UString::UString(void)
-	?compareC@UString@osncore@@QBEHPBD@Z @ 42 NONAME ; int osncore::UString::compareC(char const *) const
-	?normalizeNFKC@osncore@@YA?AV?$auto_ptr@VUString@osncore@@@std@@ABVUString@1@@Z @ 43 NONAME ; class std::auto_ptr<class osncore::UString> osncore::normalizeNFKC(class osncore::UString const &)
-	??1AlfPtrVectorImpl@osncore@@QAE@XZ @ 44 NONAME ; osncore::AlfPtrVectorImpl::~AlfPtrVectorImpl(void)
-	??0AlfPtrVectorImpl@osncore@@QAE@AAVIDeleter@1@@Z @ 45 NONAME ; osncore::AlfPtrVectorImpl::AlfPtrVectorImpl(class osncore::IDeleter &)
-	?compareC@UString@osncore@@QBEHABV12@@Z @ 46 NONAME ; int osncore::UString::compareC(class osncore::UString const &) const
-	?compare@UString@osncore@@QBEHPBD@Z @ 47 NONAME ; int osncore::UString::compare(char const *) const
-
--- a/osncore/osncore/eabi/osncoreu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-EXPORTS
-	_ZN7osncore12normalizeNFCERKNS_7UStringE @ 1 NONAME
-	_ZN7osncore12normalizeNFDERKNS_7UStringE @ 2 NONAME
-	_ZN7osncore13normalizeNFKCERKNS_7UStringE @ 3 NONAME
-	_ZN7osncore13normalizeNFKDERKNS_7UStringE @ 4 NONAME
-	_ZN7osncore16AlfPtrVectorImpl5clearEb @ 5 NONAME
-	_ZN7osncore16AlfPtrVectorImpl6insertEjPvb @ 6 NONAME
-	_ZN7osncore16AlfPtrVectorImpl6removeEjb @ 7 NONAME
-	_ZN7osncore16AlfPtrVectorImpl6resizeEjb @ 8 NONAME
-	_ZN7osncore16AlfPtrVectorImpl7findRefEPv @ 9 NONAME
-	_ZN7osncore16AlfPtrVectorImplC1ERNS_8IDeleterE @ 10 NONAME
-	_ZN7osncore16AlfPtrVectorImplC1EjRNS_8IDeleterE @ 11 NONAME
-	_ZN7osncore16AlfPtrVectorImplC2ERNS_8IDeleterE @ 12 NONAME
-	_ZN7osncore16AlfPtrVectorImplC2EjRNS_8IDeleterE @ 13 NONAME
-	_ZN7osncore16AlfPtrVectorImplD1Ev @ 14 NONAME
-	_ZN7osncore16AlfPtrVectorImplD2Ev @ 15 NONAME
-	_ZN7osncore5toIntERKNS_7UStringE @ 16 NONAME
-	_ZN7osncore7UString5eraseEll @ 17 NONAME
-	_ZN7osncore7UString6appendEPKc @ 18 NONAME
-	_ZN7osncore7UString6appendERKS0_ @ 19 NONAME
-	_ZN7osncore7UString6insertElPKc @ 20 NONAME
-	_ZN7osncore7UString6insertElPKcl @ 21 NONAME
-	_ZN7osncore7UString7replaceElPKc @ 22 NONAME
-	_ZN7osncore7UString7replaceElPKcl @ 23 NONAME
-	_ZN7osncore7UStringC1EPKc @ 24 NONAME
-	_ZN7osncore7UStringC1EPKci @ 25 NONAME
-	_ZN7osncore7UStringC1ERKS0_ @ 26 NONAME
-	_ZN7osncore7UStringC1Em @ 27 NONAME
-	_ZN7osncore7UStringC1Ev @ 28 NONAME
-	_ZN7osncore7UStringC2EPKc @ 29 NONAME
-	_ZN7osncore7UStringC2EPKci @ 30 NONAME
-	_ZN7osncore7UStringC2ERKS0_ @ 31 NONAME
-	_ZN7osncore7UStringC2Em @ 32 NONAME
-	_ZN7osncore7UStringC2Ev @ 33 NONAME
-	_ZN7osncore7UStringD0Ev @ 34 NONAME
-	_ZN7osncore7UStringD1Ev @ 35 NONAME
-	_ZN7osncore7UStringD2Ev @ 36 NONAME
-	_ZN7osncore7UStringaSEPKc @ 37 NONAME
-	_ZN7osncore7UStringaSERKS0_ @ 38 NONAME
-	_ZN7osncore7UStringixEl @ 39 NONAME
-	_ZN7osncore7toUtf16ERKNS_7UStringE @ 40 NONAME
-	_ZN7osncore8UtfProxyItED1Ev @ 41 NONAME
-	_ZN7osncore8UtfProxyItED2Ev @ 42 NONAME
-	_ZNK7osncore7UString11InvalidUtf84whatEv @ 43 NONAME
-	_ZNK7osncore7UString13getByteLengthEv @ 44 NONAME
-	_ZNK7osncore7UString13getCharLengthEv @ 45 NONAME
-	_ZNK7osncore7UString6isNullEv @ 46 NONAME
-	_ZNK7osncore7UString7compareEPKc @ 47 NONAME
-	_ZNK7osncore7UString7compareERKS0_ @ 48 NONAME
-	_ZNK7osncore7UString7getUtf8Ev @ 49 NONAME
-	_ZNK7osncore7UString7isEmptyEv @ 50 NONAME
-	_ZNK7osncore7UString8compareCEPKc @ 51 NONAME
-	_ZNK7osncore7UString8compareCERKS0_ @ 52 NONAME
-	_ZNK7osncore7UStringeqEPKc @ 53 NONAME
-	_ZNK7osncore7UStringeqERKS0_ @ 54 NONAME
-	_ZTIN7osncore7UString11InvalidUtf8E @ 55 NONAME ; #<TI>#
-	_ZTIN7osncore7UStringE @ 56 NONAME ; #<TI>#
-	_ZTVN7osncore7UString11InvalidUtf8E @ 57 NONAME ; #<VT>#
-	_ZTVN7osncore7UStringE @ 58 NONAME ; #<VT>#
-	_ZdaPv6newarg @ 59 NONAME
-	_ZdlPv6newarg @ 60 NONAME
-	_Znaj6newarg @ 61 NONAME
-	_Znwj6newarg @ 62 NONAME
-
--- a/osncore/osncore/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* 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:  Master bld.inf 
-*
-*/
-
-#include <bldvariant.hrh>
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-WINSCW ARMV5
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-osncore.mmp
-
-PRJ_TESTMMPFILES
-
--- a/osncore/osncore/group/osncore.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* 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:  Project definition file
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET          osncore.dll
-TARGETTYPE      dll
-
-VENDORID        VID_DEFAULT
-
-
-
-CAPABILITY      CAP_GENERAL_DLL
-
-#ifndef __WINSCW__
-EPOCALLOWDLLDATA
-#endif
-
-
-SOURCEPATH      ../src 
-SOURCE          ustring.cpp
-SOURCE          ustringimpl.cpp
-SOURCE          ustringutil.cpp
-SOURCE          osnnew.cpp
-SOURCE          alfptrvectorimpl.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-
-
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_GLIB_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-
-USERINCLUDE     ../inc  
-
-LIBRARY libstdcpp.lib
-LIBRARY 		libc.lib
-LIBRARY			libglib.lib
-LIBRARY			euser.lib
-#define ALF_LINK_STDCPP_DLL
-//following include must be after definition
-
-LIBRARY         libpthread.lib
-// End of File 
--- a/osncore/osncore/inc/alfstringdata.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2009 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: OSN string data header. 
-*
-*/
-
-#ifndef ALFSTRINGDATA_H
-#define ALFSTRINGDATA_H
-
-#include <osn/osntypes.h>
-
-#include "stringmacros.h"
-
-
-namespace osncore
-    {
-
-class AlfChar;
-
-class CAlfString;
-
-struct SAlfStringData
-    {
-    // Uses shared null data.
-    SAlfStringData();
-    
-    // No copy.
-  //  SAlfStringData(AlfChar *u, uint l, uint m);
-  //  void initialize(AlfChar *u, uint l, uint m);
-
-    // Copy bytes.
-  //  SAlfStringData(const AlfChar *u, uint l);
-  //  void initialize(const AlfChar *u, uint l);
-
-    
-    void initialize(const char *u, int l);
-
-   
-    ~SAlfStringData();
-/*
-#ifdef QSTRING_DEBUG_ALLOCATIONS
-    void* operator new(size_t s);
-    void operator delete(void*p);
-#endif
-*/
-    inline void ref() { refCount++; }
-    inline void deref() { /*if (--refCount == 0 && _isHeapAllocated) delete this;*/ refCount--; }
-    
-    char* ascii();
-   
-    char *makeAscii();
-    
-  
-    
-    bool increaseAsciiSize(uint size);
-
-  //  AlfChar *unicode();
-  //  AlfChar *makeUnicode();
-   
-
-  //  bool isUnicodeInternal() const { return (char *)_unicode == _internalBuffer; }
-    bool isAsciiInternal() const { return _ascii == _internalBuffer; }
-
-    int refCount;
-    int _length;
-  //  mutable AlfChar *_unicode;
-    mutable char *_ascii;
-    int _maxUnicode:30;
-    int _isUnicodeValid:1;
-    int _isHeapAllocated:1;	// Fragile, but the only way we can be sure the instance was created with 'new'.
-    int _maxAscii:31;
-    int _isAsciiValid:1;
-
-    char _internalBuffer[QS_INTERNAL_BUFFER_SIZE]; // Pad out to a (((size + 1) & ~15) + 14) size
- 
-private:
-    SAlfStringData(const SAlfStringData &);
-    SAlfStringData &operator=(const SAlfStringData &);
-   
-    };
-
-    }// osncore
-#endif
\ No newline at end of file
--- a/osncore/osncore/inc/stringmacros.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2009 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:  string Macro include.
-*
-*/
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdlib.h>
-
-
-#define QS_INTERNAL_BUFFER_SIZE 20
-#define QS_INTERNAL_BUFFER_CHARS QS_INTERNAL_BUFFER_SIZE-1
-
-
-#define malloc_good_size(size) size
-
-//#define ALLOC_QCHAR_GOOD_SIZE(X) (malloc_good_size(X*sizeof(AlfChar))/sizeof(AlfChar))
-#define ALLOC_CHAR_GOOD_SIZE(X) (malloc_good_size(X))
-
-//#ifndef __OOM__
-#define ALLOC_CHAR( N ) (char*) malloc(N)
-#define REALLOC_CHAR( P, N ) (char *) realloc(P,N)
-//#define ALLOC_QCHAR( N ) (AlfChar*) malloc(sizeof(AlfChar)*( N ))
-//#define REALLOC_QCHAR( P, N ) (AlfChar *) realloc(P,sizeof(AlfChar)*( N ))
-#define DELETE_CHAR( P ) free(P)
-#define DELETE_QCHAR( P ) free( P )
-
-
-#define QS_INTERNAL_BUFFER_UCHARS QS_INTERNAL_BUFFER_SIZE/2
-
-
--- a/osncore/osncore/inc/ustringimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,307 +0,0 @@
-/*
-* 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:  String class implementation
-*
-*/
-
-#ifndef USTRING_IMPL_H
-#define USTRING_IMPL_H
-
-#include <gstring.h>
-#include <osn/ustring.h>
-
-#define MAX_STR_LEN 24
-
-namespace osncore
-{
-    
-class SString;
-
-/**
- *  Glib string wrapper.
- *  @see ustring.h for description of ustring
- *  @lib osncore.lib
- *  @since S60 5.0
- */
-class UStringImpl
-	{
-public:
-    /**
-     * Default constructor.
-     */
-    UStringImpl();
-    /**
-      * Construct a string as a copy of given null terminated string.
-      *
-      * @since S60 5.0
-      * @exception std:bad_alloc is thrown if string cannot be allocated from heap
-      * @param aStr Utf-8 encoded string
-      */
-    explicit UStringImpl(const Utf8* aStr);
-    /**
-     * Construct a string as a copy of given string
-     * with byte length of the source buffer.
-     * Because a length is provided, source doesn't need to be null terminated.
-     *
-     * @since S60 5.0
-     * @exception std:bad_alloc is thrown if string cannot be allocated from heap
-     * @param aStr Utf-8 encoded string
-     * @param aByteCount Byte count of Utf-8 encoded string
-     */
-    explicit UStringImpl(const Utf8* aStr, int aLen);
-    /**
-      * Construct a string from unicode code point. If Unicode is invalid,
-      * @exception std:bad_alloc is thrown if string cannot be allocated from heap
-      * @since S60 5.0
-      * @param aCodePoint Unicode code point
-      */
-    explicit UStringImpl(Unicode aCodePoint);
-    
-    /**
-     * UStringImpl copy constructor
-     * @exception std:bad_alloc is thrown if string cannot be allocated from heap
-     * @since S60 5.0
-     * @param aUString Copy source
-     */
-    UStringImpl(const UStringImpl& aUStringImpl);
-   
-    // Destructor
-   ~UStringImpl();
-   
-    // Utilities
-   /**
-    * Checks whether string is empty.
-    *
-    * @since S60 5.0
-    * @return True if string doesn't have content.
-    */
-   	bool empty()const;
-    /**
-     * Checks whether string is null.
-     *
-     * @since S60 5.0
-     * @return True if string is null.
-     */
-   	bool null()const;
-    /**
-     * Returns the length of the string in characters.
-     *
-     * @since S60 5.0
-     * @return Length
-     */
-   	long length()const;
-    /**
-     * Returns the length of the string in bytes
-     *
-     * @since S60 5.0
-     * @return Bytes
-     */
-   	long bytes()const;
-   	
-    /**
-     * Returns utf8 type string
-     *
-     * @since S60 5.0
-     * @return utf8 type string
-     */
-   	const Utf8* utf8()const;
- 
-    /**
-     * Compares two strings using strcmp(). Note that this is not linguistic comparison nor case insensitive.
-     *
-     * @since S60 5.0
-     * @param aUStringImpl UStringImpl object to compare
-     * @return < 0 if this compares before aRhs, 0 if they compare equal, > 0 if this compares after aRhs.
-     */
-    int compare(const UStringImpl& aUStringImpl)const;
-    /**
-     * Compares two strings using strcmp(). Note that this is not linguistic comparison nor case insensitive.
-     *
-     * @since S60 5.0
-     * @param aStr String to compare
-     * @return < 0 if this compares before aRhs, 0 if they compare equal, > 0 if this compares after aRhs.
-     */
-    int compare(const Utf8* aStr)const;
-    /**
-     * Compares two strings for ordering using the linguistically correct rules for the current locale.
-     * When sorting a large number of strings, it will be significantly faster
-     * to obtain collation keys with g_utf8_collate_key()from libglib and compare the keys
-     * with strcmp() when sorting instead of sorting the original strings.
-     *
-     * @since S60 5.0
-     * @param aUStringImpl UStringImpl object to compare
-     * @return < 0 if this compares before aRhs, 0 if they compare equal, > 0 if this compares after aRhs.
-     */
-    int compareC(const UStringImpl& aUStringImpl)const;
-    /**
-     * Compares two strings for ordering using the linguistically correct rules for the current locale.
-     * When sorting a large number of strings, it will be significantly faster
-     * to obtain collation keys with g_utf8_collate_key() from libglib and compare the keys
-     * with strcmp() when sorting instead of sorting the original strings.
-     * If aStr is invalid utf8, UString::InvalidUtf8 exception is thrown.
-     *
-     *
-     * @since S60 5.0
-     * @param aStr String to compare
-     * @return < 0 if this compares before aRhs, 0 if they compare equal, > 0 if this compares after aRhs.
-     */
-    int compareC(const Utf8* aStr)const;
-    
-    /**
-     * Adds a string onto the end of string, expanding it if necessary.
-     *
-     * @since S60 5.0
-     * @param aUStringImpl String object to append
-     */
-    void append(const UStringImpl& aUStringImpl);
-    /**
-     * Adds a string onto the end of string, expanding it if necessary.
-     *
-     * @since S60 5.0
-     * @param aStr String to append
-     */
-    void append(const Utf8* aStr);
-    
-    /**
-     * Inserts aStr into string, expanding it if necessary.
-     * If aPos is -1, bytes are inserted at the end of the string.
-     *
-     * @since S60 5.0
-     * @exception std:out_of_range is thrown if given position is invalid
-     * @exception std:bad_alloc is thrown if string cannot be allocated from heap
-     * @param aPos The character position to insert the copy of the string
-     * @param aStr The string to insert
-     */
-    void insert(long aPos, const Utf8* aStr);
-    /**
-     * Inserts aStr into string, expanding it if necessary. Because length is
-     * provided, aStr may contain embedded nulls and need not be null terminated.
-     * If aPos is -1, bytes are inserted at the end of the string.
-     *
-     * @since S60 5.0
-     * @exception std:out_of_range is thrown if given position is invalid
-     * @exception std:bad_alloc is thrown if string cannot be allocated from heap
-     * @param aPos The character position to insert the copy of the string
-     * @param aStr The string to insert
-     * @param aCharCount Character count.
-     */
-    void insert(long aPos, const Utf8* aStr, long aLength);
-    /**
-     * Replace a substring with a given string, expanding it if necessary
-     *
-     * @since S60 5.0
-     * @exception std:out_of_range is thrown if given position is invalid
-     * @exception std:bad_alloc is thrown if string cannot be allocated from heap
-     * @param aPos The charater position to replace the string
-     * @param aStr The string to insert
-     */
-    void replace(long aPos, const Utf8* aStr);
-    /**
-     * Replace a substring with a given string, expanding it if necessary. Because length is
-     * provided, aStr may contain embedded nulls and need not be null terminated.
-     * If aLength is < 0, length is assumed to be aStr's length.
-     *
-     * @since S60 5.0
-     * @exception std:out_of_range is thrown if given position is invalid
-     * @exception std:bad_alloc is thrown if string cannot be allocated from heap
-     * @param aPos The character position to replace the string
-     * @param aStr The string to insert
-     * @param aCharCount Character count.
-     */
-    void replace(long aPos, const Utf8* aStr, long aLength);
-    /**
-     * Erase a substring
-     *
-     * @since S60 5.0
-     * @exception std:out_of_range is thrown if given position is invalid
-     * @param aPos The character position to start erasing from
-     * @param aCharCount number of characters to erase.
-     */
-    void erase(long aPosOffset, long aLength);
-    
-    /**
-     * Returns unicode at given position in string
-     *
-     * @since S60 5.0
-     * @exception std:out_of_range is thrown if requested index is invalid
-     * @param aPos The requested position
-     */
-    Unicode operator[](long aIndex);
-    
-private:
-    /**
-     * Initialises internal string
-     * @since S60 5.0
-     * @exception std:bad_alloc is thrown if string cannot be allocated from heap
-     * @param aStr The string used for initialising
-     */
-    void initialize(const Utf8* aStr);
-    /**
-     * Allocates memory from heap if needed for internal string, throws if allocation fail
-     * @since S60 5.0
-     * @exception std:bad_alloc is thrown if string cannot be allocated from heap
-     * @param aLength length of bytes to allocate
-     */
-    void checkBuffer(unsigned int aLength);
-    /**
-     * Implements the insertion functionality
-     * @since S60 5.0
-     * @exception std:bad_alloc is thrown if string cannot be allocated from heap
-     * @param aIndex The character position to insert the copy of the string
-     * @param aInsertChars The string to insert
-     * @param aInsertLength The amount of characters to insert
-     */
-    void insertImpl(unsigned int aIndex, const char* aInsertChars, unsigned int aInsertLength);
-    /**
-     * Implements the append functionality
-     * @since S60 5.0
-     * @param aStr The string to append
-     * @param aLength The amount of characters to append
-     */
-    void appendImpl(const char* aStr, unsigned int aLength);
-    /**
-     * Implements the erase functionality
-     * @since S60 5.0
-     * @exception std:out_of_range is thrown if given index is invalid
-     * @param aIndex The character position to start erasing from
-     * @param aLength The amount of characters to erase
-     */
-    void eraseImpl(unsigned int aIndex, unsigned int aLength);
-private:
-    /**
-     * Internal buffer, allocated from heap.
-     * Long strings are allocated from heap 
-     */
-	gchar* 	str;
-    /**
-     * Internal buffer, allocated from stack.
-     * Short strings are allocated from stack for performance reason, 
-     */
-	gchar 	internalStr[MAX_STR_LEN];
-    /**
-     * length of string
-     */
-	gsize   len;    
-    /**
-     * length of allocated bytes
-     */
-	gsize   allocated_len;
-    /**
-     * Identifies if string is allocated from heap or not
-     */
-	bool    isInHeap;
-	};
-}	
-
-#endif
\ No newline at end of file
--- a/osncore/osncore/src/alfptrvectorimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +0,0 @@
-/*
-* Copyright (c) 2009 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: osn vector pointer implementation.
-*
-*/
-
-#if defined(__GNUC__)
-#include <stdlib.h>
-#include <string.h>
-#else
-#include <libc/string.h>
-#endif
-
-#include <osn/alfptrvectorimpl.h>
-#include <stdexcept>
-
-namespace osncore
-    {
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT AlfPtrVectorImpl::AlfPtrVectorImpl(IDeleter& aDeleter)
-    : mdata(0), msize(0), mcount(0), mDeleter(aDeleter)
-    {
-    }
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT AlfPtrVectorImpl::AlfPtrVectorImpl(uint aSize, IDeleter& aDeleter): 
-    mdata(0),
-    msize(aSize), 
-    mcount(0), mDeleter(aDeleter)
-    {
-    mdata = (void **)malloc(aSize * sizeof(void *));
-    if(!mdata)
-        {
-        throw std::bad_alloc();    
-        }
-    memset(mdata, 0, aSize * sizeof(void *));
-    }
-
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT AlfPtrVectorImpl::~AlfPtrVectorImpl()
-{
-    free(mdata);
-}
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfPtrVectorImpl::clear(bool aDelItems)
-    {
-    mcount = 0;
-    
-    if (aDelItems) 
-        {
-    	for (uint i = 0; i < msize; ++i) 
-    	    {
-            void *item = mdata[i];
-    	    if (item) 
-    	        {
-    		    mDeleter.deleteItem(item);
-    	        }
-    	}
-	}
-    free(mdata);
-    mdata = 0;
-    msize = 0;    
-    }
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT bool AlfPtrVectorImpl::remove(uint aCount, bool aDelItems)
-{
-    if (aCount >= msize) {
-        return false;
-    }
-    
-    void *item = mdata[aCount];
-
-    --mcount;
-
-    //Move all the items below the deleted items up by 1 index
-    for(uint i =aCount; i< msize && msize > aCount;++i)
-    {
-    	mdata[i]= mdata[i+1];
-    }
-
-    //Reset the items to null - from index = count to the size  after the shuffling.
-    for(uint i=mcount;i<msize;++i)
-    {
-    	mdata[i] = 0;
-    }
-
-    // Array is now in good shape. Can call out of the class via destructors
-    if (item) {
-        if (aDelItems) {
-            mDeleter.deleteItem(item);
-        }
-    }     
-    return true;
-}
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT bool AlfPtrVectorImpl::resize(uint aSize, bool aDelItems)
-{
-    uint oldSize = msize;
-    
-    for (uint i = aSize; i < oldSize; ++i) {
-        void *item = mdata[i];
-        if (item) {
-            --mcount;
-        }
-    }
-    
-    for (uint i = aSize; i < oldSize; ++i) {
-    	void *item = mdata[i];
-    	if (item) {
-        if (aDelItems) {
-           mDeleter.deleteItem(item);
-        	}
-    	}
-    }
-    
-    void** data = (void **)realloc(mdata, aSize * sizeof(void *));
-    if(!data)
-        {
-        throw std::bad_alloc();    
-        }
-    mdata = data;    
-    msize = aSize;    
-
-    if (aSize > oldSize) 
-    {
-        memset(&mdata[oldSize], 0, (aSize - oldSize) * sizeof(void *));
-    }
-    return true;
-}
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT bool AlfPtrVectorImpl::insert(uint aCount, void *aItem, bool /*aDelItems*/)
-{
-	uint iNum=0;
-	//If there are no items and  the position to add > 0 or <0 then  return false. Do not do anything
-	//if the Index is greater than the current count then Do not do anything
-	//if aCount== count There will be scope to add at the most one item
-	if((aCount > mcount) || (mcount==0 && aCount >iNum)||(mcount==0 && aCount < iNum))
-           {
-    	   return false;
-           } 
-
-	
-	if(mcount>=msize)
-    	{
-		// 1. Let's increase the count
-		int oldSize = msize;	
-	    msize++;
-	
-		// 2. Re-allocate memeory area 	
-    	void** tmp = (void **)realloc(mdata, msize * sizeof(void *));
-	    if(!tmp)
-	        {
-	        msize--;
-	        throw std::bad_alloc();    
-	        }
-	    mdata = tmp;    
-	   	memset(&mdata[oldSize], 0, (msize- oldSize) * sizeof(void *));
-        }
-
-	    //Now move	elements from nth element to the last element by 1 position
-	    //Move all
-	    if(aCount < mcount)
-	        { 
-		    for(int i =mcount;i > aCount; --i)
-		        {
-		    	mdata[i]= mdata[i-1];
-		        }    
-		    }
-	    //Now assign the new element at this position and increment the count	    	    
-	    
-	    mdata[aCount] = aItem;
-	    if (aItem) 
-	    {
-	        ++mcount;
-	    }
-	        
-    return true;
-}
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfPtrVectorImpl::findRef(void *aItem)
-{
-    for (unsigned i = 0; i < mcount; i++) {
-        if (mdata[i] == aItem) {
-            return i;
-        }
-    }
-    
-    return -1;
-}
-
-
-
-} //osncore
--- a/osncore/osncore/src/alfstring.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,299 +0,0 @@
-/*
-* Copyright (c) 2009 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: Osn String Implementation.
-*
-*/
-
-#if defined(__GNUC__)
-#include <string.h>
-#include <assert.h>
-#else
-#include <e32base.h>
-#include <libc/string.h>
-#include <libc/assert.h>
-#endif
-
-#include <stdio.h>
-#include <stdarg.h>
-#include "osn/alfstring.h"
-#include "stringmacros.h"
-//#include "char.h"
-#include "alfstringdata.h"
-//#include "CHARCONV.H"
-#include <osn/osnnew.h>
-#include <osn/osnbadalloc.h>
-#define CHECK_FOR_HANDLE_LEAKS 0
-
-using namespace std;
-namespace osncore
-    {
-
-
-
-
-#define IS_ASCII_QCHAR(c) ((c).unicode() > 0 && (c).unicode() <= 0xff)
-
-
-
-
-EXPORT_C CAlfString::CAlfString()
-    :internalData(new(S60)SAlfStringData())
-    {
-    }
-
-
-
-EXPORT_C CAlfString::~CAlfString()
-    {
-
-    if(internalData.get())
-        {
-        internalData->deref();
-        if(internalData->refCount != 0)
-            {
-            internalData.release(); // don't kill it, we have ref
-            }
-        }
-    }
-
-
-
-
-EXPORT_C CAlfString::CAlfString(const char *chs)
-    :internalData(new(S60)SAlfStringData())
-    {
-    internalData->initialize(chs, strlen(chs));
-
-    }
-
-
-
-EXPORT_C CAlfString::CAlfString(const CAlfString &qs)
-    :internalData(qs.internalData.get())
-    {
-    internalData->ref();  
-    }
-
-EXPORT_C CAlfString &CAlfString::operator=(const CAlfString &qs)
-    {
-    if (this == &qs)
-        return *this;
-    qs.internalData->ref(); // increase source ref count
-    internalData->deref();
-    if(internalData->refCount != 0)
-        {
-        internalData.release();
-        }
-        
-    internalData.reset(qs.internalData.get()); 
-    return *this;
-    }
-
-EXPORT_C  const char* CAlfString::latin1() const
-{
-	return internalData->ascii();
-}
-
-
-
-EXPORT_C CAlfString::CAlfString(const char *chs, int len)
-    : internalData(new(S60)SAlfStringData())
-    {
-
-    internalData->initialize(chs, len);
- 
-    }
-
-EXPORT_C int CAlfString::compare(const CAlfString& s) const
-{
-    //if (internalData->_isAsciiValid && s.internalData->_isAsciiValid)
-        return strcmp(latin1(), s.latin1());
-    //return ucstrcmp(*this,s);
-    // return -1;
-}
-
-
-EXPORT_C CAlfString& CAlfString::append(const CAlfString &s)
-    {
-    return insert(internalData->_length, s);
-    }
-
-
-EXPORT_C CAlfString &CAlfString::insert(uint index, const char *insertChars, uint insertLength)
-{
-    if (insertLength == 0)
-        return *this;
-
-    //detach();
-
-    // if (internalData->_isAsciiValid){
-        uint originalLength = internalData->_length;
-        char *targetChars;
-
-        // Ensure that we have enough space.
-        if( !setLength (originalLength + insertLength) ) 
-            {
-            throw std::bad_alloc();
-            //return *this;    
-            }
-        
-        targetChars = (char *)internalData->ascii();
-
-        // Move tail to make space for inserted characters.
-        memmove (targetChars+index+insertLength, targetChars+index, originalLength-index);
-
-        // Insert characters.
-        memcpy (targetChars+index, insertChars, insertLength);
-
-        internalData->_isUnicodeValid = 0;
-    //}
-    /*    
-    else if (dataHandle[0]->_isUnicodeValid){
-        uint originalLength = dataHandle[0]->_length;
-        QChar *targetChars;
-
-        // Ensure that we have enough space.
-        if( !setLength (originalLength + insertLength) ) return *this;
-        targetChars = (QChar *)unicode();
-
-        // Move tail to make space for inserted characters.
-        memmove (targetChars+(index+insertLength), targetChars+index, (originalLength-index)*sizeof(QChar));
-
-        // Insert characters.
-        uint i = insertLength;
-        QChar *target = targetChars+index;
-
-        while (i--)
-            *target++ = *insertChars++;
-        }
-    else
-        FATAL("invalid character cache",0);
-        */
-
-    return *this;
-}
-
-
-
-EXPORT_C CAlfString& CAlfString::insert(uint index, const CAlfString &s)
-{
-    if (s.internalData->_length == 0)
-        return *this;
-
-#ifdef QSTRING_DEBUG_UNICODE
-    //forceUnicode();
-#endif
-
-    // if (internalData->_isAsciiValid) //&& s.isAllLatin1()
-        // {
-        insert(index, s.latin1(), s.internalData->_length);
-        // }
-    /*
-    else 
-        {
-        uint insertLength = qs.dataHandle[0]->_length;
-        uint originalLength = dataHandle[0]->_length;
-        AlfChar *targetChars;
-
-        // Ensure that we have enough space.
-        if( !setLength (originalLength + insertLength) ) return *this;
-        targetChars = forceUnicode();
-
-        // Move tail to make space for inserted characters.
-        memmove (targetChars+(index+insertLength), targetChars+index, (originalLength-index)*sizeof(QChar));
-
-        // Insert characters.
-        if (qs.dataHandle[0]->_isAsciiValid){
-            uint i = insertLength;
-            AlfChar *target = targetChars+index;
-            char *a = (char *)qs.ascii();
-
-            while (i--)
-                *target++ = *a++;
-        } 
-        else {
-            AlfChar *insertChars = (AlfChar *)qs.unicode();
-            memcpy (targetChars+index, insertChars, insertLength*sizeof(QChar));
-        }
-
-        internalData->_isAsciiValid = 0;
-        }
-    */
-
-    return *this;
-}
-
-
-// Increase buffer size if necessary.  Newly allocated
-// bytes will contain garbage.
-bool CAlfString::setLength(uint newLen)
-{
-
-    if (newLen == 0) {
-        //setUnicode(0, 0);
-        return true;
-    }
-
-    // Missing optimization: Could avoid copying characters we are going to remove
-    // by making a special version of detach().
-//    detach();
-
-//    ASSERT(dataHandle != shared_null_handle);
-
-/*
-#ifdef QSTRING_DEBUG_UNICODE
-    forceUnicode();
-#endif
-*/
-
-    // if (internalData->_isAsciiValid){
-        if (newLen+1 > internalData->_maxAscii) {  
-            if( internalData->increaseAsciiSize(newLen+1) == false ) return false;
-        }
-        // Ensure null termination, although newly allocated
-        // bytes contain garbage.
-        internalData->_ascii[newLen] = 0;
-    // }
-    /*else if (internalData->_isUnicodeValid){
-        if (newLen > internalData->_maxUnicode) {
-            if( internalData->increaseUnicodeSize(newLen) == false ) return false;
-        }
-    }*/
-/*    
-    else
-        FATAL("invalid character cache",0);
-*/        
-
-    internalData->_length = newLen;
-    return true;
-}
-
-
-
-EXPORT_C bool CAlfString::operator==(const CAlfString &s1)const
-    {
-    // if (internalData->_isAsciiValid && s1.internalData->_isAsciiValid) 
-    //     {
-        return strcmp(latin1(), s1.latin1()) == 0;
-    //    }
-    // return false;    
-    /*    
-    return s1.dataHandle[0]->_length == s2.dataHandle[0]->_length
-        && memcmp(s1.unicode(), s2.unicode(), s1.dataHandle[0]->_length * sizeof(QChar)) == 0;
-        */
-    }
-
-
-
-}
--- a/osncore/osncore/src/alfstringdata.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +0,0 @@
-/*
-* Copyright (c) 2009 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: OSN string data implementation.
-*
-*/
-
-
-#include <stdio.h>
-#include <stdarg.h>
-
-#if defined(__GNUC__)
-#include <string.h>
-#else
-#include <libc/string.h>
-#endif
-
-#include <osn/osntypes.h>
-
-#include "alfstringdata.h"
-//#include "osn/char.h"
-#include <osn/osnbadalloc.h>
-
-using namespace std;
-
-namespace osncore
-    {
-        
-    
-   
-// -------------------------------------------------------------------------
-// stringData
-// -------------------------------------------------------------------------
-SAlfStringData::SAlfStringData() :  refCount(1), /*_unicode(0),*/ _ascii(0), _maxAscii(QS_INTERNAL_BUFFER_CHARS), _isAsciiValid(1)
-{
-//#ifdef QSTRING_DEBUG_ALLOCATIONS
- //   stringDataInstances++;
-//#endif
-	refCount = 1;
- 	_length=0;
-//	_unicode = 0;
-	_isUnicodeValid=0;
-	_isAsciiValid = 1;
-	_isHeapAllocated=0;
-    _ascii = _internalBuffer;
-    _internalBuffer[0] = 0;
-}
-
-SAlfStringData::~SAlfStringData()
-{
-  //  ASSERT(refCount == 0);
- /*   if (_unicode && !isUnicodeInternal())
-    {
-    DELETE_QCHAR(_unicode);	
-    }
-   */     
-    if (_ascii && !isAsciiInternal())
-    {
-    DELETE_CHAR(_ascii);	
-    }
-     
-}
-
-
-// Copy data
-void SAlfStringData::initialize(const char *a, int l)
-{
-    refCount = 1;
-    _length = l;
-   // _unicode = 0;
-    _isUnicodeValid = 0;
-    _maxUnicode = 0;
-    _isAsciiValid = 1;
-    _isHeapAllocated = 0;
-
-   if (l > QS_INTERNAL_BUFFER_CHARS) 
-    {
-        _maxAscii = ALLOC_CHAR_GOOD_SIZE(l+1);
-        _ascii = ALLOC_CHAR(_maxAscii);
-    //Make sure we have memory before doing data copy.
-    if(_ascii)
-    	{
-      	if (a)
-      		{
-      		memcpy(_ascii, a, l);	
-      		}
-      	_ascii[l] = 0;
-    	}
-    else{
-        _length = 0;
-        refCount = 0;
-        _length = 0;
-       // _unicode = 0;
-        _isUnicodeValid = 0;
-        _maxUnicode = 0;
-        _isAsciiValid = 1;
-        _isHeapAllocated = 0;
-        throw bad_alloc();
-    	}
-    } 
-    else {
-        _maxAscii = QS_INTERNAL_BUFFER_CHARS;
-        _ascii = _internalBuffer;
-        if (a)
-            memcpy(_internalBuffer, a, l);
-        _internalBuffer[l] = 0;
-    }
-    
-   
-}
-
-
-bool SAlfStringData::increaseAsciiSize(uint size)
-{
-    //ASSERT(this != QString::shared_null);
-
-    uint newSize = (uint)ALLOC_CHAR_GOOD_SIZE((size * 3 + 1) / 2);
-
-	/*
-    if (!_isAsciiValid)
-        return false;
-    */
-   // ASSERT(_isAsciiValid);
-
-    if (isAsciiInternal()) {
-        char *newAscii = ALLOC_CHAR(newSize);
-        if( !newAscii ) return false;
-        
-        if (_length)
-            memcpy(newAscii, _ascii, _length);
-        _ascii = newAscii;
-    } else {
-        char* ap = _ascii;
-        _ascii = REALLOC_CHAR( _ascii, newSize );
-        
-        if( !_ascii )
-        {
-            // memory manager won't delete the original pointer if realloc failed
-            _ascii = ap;
-            return false;
-        }        
-    }
-
-    _maxAscii = newSize;
-    _isAsciiValid = 1;
-    _isUnicodeValid = 0;
-    return true;
-}
-
-
-
-
-
-char* SAlfStringData::ascii()
-{
-// return _isAsciiValid ? _ascii :0;	
-return _ascii;
-}
-
-
-/*
-AlfChar *SAlfStringData::makeUnicode()
-{
-    //ASSERT(this != QString::shared_null);
-
-    if (_isAsciiValid){
-        char copyBuf[QS_INTERNAL_BUFFER_CHARS];
-     //   char *str;
-
-        if (_unicode && !isUnicodeInternal())
-            DELETE_QCHAR(_unicode);
-
-        if (_length <= QS_INTERNAL_BUFFER_UCHARS){
-            if (isAsciiInternal()) {
-                uint i = _length;
-                char *tp = &copyBuf[0], *fp = _ascii;
-                while (i--)
-                    *tp++ = *fp++;
-              //  str = &copyBuf[0];
-                _isAsciiValid = 0;
-            }
-            else
-                {
-               // str = _ascii;
-                
-                }
-            _unicode = (AlfChar *)_internalBuffer;
-            _maxUnicode = QS_INTERNAL_BUFFER_UCHARS;
-        }
-        else {
-            uint newSize = ALLOC_QCHAR_GOOD_SIZE(_length);
-            _unicode = ALLOC_QCHAR(newSize);
-            if( !_unicode )
-            {
-                _maxUnicode = 0;
-                return 0;    
-            }
-            _maxUnicode = newSize;
-        //    str = _ascii;
-        }
-   //     uint i = _length;
-   //     AlfChar *cp = _unicode;
-   //     while ( i-- )
-   //         *cp++ = *str++;
-
-        _isUnicodeValid = 1;
-    }
-  //  else if (!_isUnicodeValid)
-  //      FATAL("invalid character cache",0);
-
-    return _unicode;
-}
-
-*/
-} // osncore
-
--- a/osncore/osncore/src/alfstringpool.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* 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:  Implementation of the common string pool for widget and the factory model class.
-*
-*/
-
-#include <stdlib.h>
-
-
-#include "osn/alfstringpool.h"
-#include "osn/alfstring.h"
-
-
-const int KPoolAllocSize = 32;
-
-namespace osncore
-    {
-class CAlfStringPoolImpl
-    {
-public:    
-    CAlfStringPoolImpl():iPool(0),iItemCount(0),iAllocCount(0)
-        {
-            
-        }
-    ~CAlfStringPoolImpl()
-        {
-        delete [] iPool;    
-        }
-    CAlfString* iPool;
-    int iItemCount;
-    int iAllocCount;
-    };    
-  
-
-//-----------------------------------------------------------------------
-// Only Method to access Strings from the String pool
-//-----------------------------------------------------------------------
-static CAlfString AppendToPool( 
-    const CAlfString& aString, 
-    CAlfStringPoolImpl*& aImpl)
-    {
-    bool found(false);
-    CAlfString ret(aString);
-    
-    //Look if this string is present then just return the corresponding RAlfString else create new one and add it to the list
-    for(int i=0;i<aImpl->iItemCount && !found;i++)
-        {
-        if( aImpl->iPool[i] == aString) //element found
-            {
-            found = true;
-            ret = aImpl->iPool[i];
-            }
-        }
-    if(!found)
-        {
-        if(aImpl->iItemCount < aImpl->iAllocCount )
-            {
-            aImpl->iPool[aImpl->iItemCount++] = aString;
-            }
-        else // // reserve more space for an array
-            {
-            CAlfString* tmp = (CAlfString*) realloc(aImpl->iPool, (sizeof (CAlfString) * KPoolAllocSize) );
-            if(tmp)
-                {
-                aImpl->iAllocCount += KPoolAllocSize;
-                aImpl->iPool = tmp;
-                
-                aImpl->iPool[aImpl->iItemCount++] = aString;     
-                }
-            else
-                {
-                User::LeaveIfNull(tmp);   
-                }    
-            }   
-        }
-    return ret;
-    }
-
-
-
-EXPORT_C  CAlfString CAlfStringPool::CreateStringL( const char* aString)
-    {
-    if(aString)
-        {
-        CAlfString tmp(aString);
-        return AppendToPool(tmp,iImpl);    
-        }
-    return CAlfString();
-    }
-
-EXPORT_C  CAlfString CAlfStringPool::CreateStringL( const CAlfString& aString)
-    {
-    return AppendToPool(aString,iImpl);
-    }
-
-EXPORT_C CAlfStringPool::CAlfStringPool():iImpl(0)
-    {
-    iImpl = new(ELeave) CAlfStringPoolImpl;
-    iImpl->iPool = new(ELeave)CAlfString[KPoolAllocSize];
-    iImpl->iAllocCount = KPoolAllocSize;
-    
-    }
-
-//-----------------------------------------------------------------------
-// Default Destructor
-//-----------------------------------------------------------------------
-EXPORT_C CAlfStringPool::~CAlfStringPool()
-    {
-    
-    delete iImpl;
-    iImpl = NULL;
-    }
-
-
-  }
--- a/osncore/osncore/src/osnnew.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* 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:  core functionality
-*
-*/
-
-#include <stdlib.h>
-#include <stdexcept>
-#include <osn/osnnew.h> 
-
-// ---------------------------------------------------------------------------
-// Overloaded operator new.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void* operator new(size_t s,newarg) throw (std::bad_alloc)
-    {
-    void* any = malloc(s);
-    if(!any)
-    	{
-    	throw std::bad_alloc();	
-    	}
-
-  	return any;	
-    }
-
-// ---------------------------------------------------------------------------
-// Overloaded operator delete.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void operator delete(void* ptr,newarg) throw()
-    {
-    free(ptr);
-    }
-
-// ---------------------------------------------------------------------------
-// Overloaded operator new[].
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void* operator new[] (size_t s,newarg)throw (std::bad_alloc)
-	{
-    void* any = malloc(s);
-    if(!any)
-    	{
-    	throw std::bad_alloc();	
-    	}
-    	
-   	return any;	
-	}	
-
-// ---------------------------------------------------------------------------
-// Overloaded operator delete[].
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void operator delete[](void* ptr,newarg) throw()
-	{
- 	free(ptr);	
-	}
--- a/osncore/osncore/src/ustring.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,278 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  utf8 encoded byte container
-*
-*/
-
-
-#include <osn/ustring.h>
-#include <osn/osnnew.h> 
-#include "ustringimpl.h"
-
-
-namespace osncore
-{
-static const char* const KInvalidUtf8 = "InvalidUtf8";
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT const char* UString::InvalidUtf8::what()const throw()
-    {
-    return KInvalidUtf8;
-    }
-    
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT UString::UString():mImpl(new(EMM)UStringImpl())
-    {
-
-    }
-	
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT UString::UString(const Utf8* aStr)
-    :mImpl(new(EMM)UStringImpl(aStr))
-    {
-	
-    }
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT UString::UString(const Utf8* aStr, int aLen)
-    :mImpl(new(EMM)UStringImpl(aStr, aLen))
-    {
-        
-    }
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT UString::UString(const UString& aUString)
-    :mImpl(new(EMM)UStringImpl(*aUString.mImpl.get()))
-    {
-        
-    }
-    
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT UString::UString(Unicode aCodePoint)
-    :mImpl(new(EMM)UStringImpl(aCodePoint))
-    {
-        
-    }
-    
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT UString& UString::operator=(const UString& aRhs)
-    {
-    if (this != &aRhs)
-        {
-        UStringImpl* tmp = new (EMM)UStringImpl(*aRhs.mImpl.get());
-        mImpl.reset(tmp);
-        }
-        
-    return *this;        
-    }
-	
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT UString& UString::operator=(const Utf8* aRhs)
-    {
-    if (aRhs)
-        {
-        UStringImpl* tmp = new (EMM)UStringImpl(aRhs);
-        mImpl.reset(tmp);
-        }
-        
-    return *this;       
-    }
-	
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT UString::~UString()
-    {
-
-    }	
-	
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT bool UString::isEmpty()const
-    {
-    return mImpl->empty();
-    }
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT long UString::getCharLength()const
-    {
-    return mImpl->length();
-    }
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT long UString::getByteLength()const
-    {
-    return mImpl->bytes();
-    }
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT const Utf8* UString::getUtf8()const
-    {
-   	return mImpl->utf8();
-    }
-    
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT int UString::compareC(const UString& aUString)const
-    {
-    return mImpl->compareC(*aUString.mImpl.get());
-    }
-    	
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT int UString::compareC(const Utf8* aStr)const
-    {
-    return mImpl->compareC(aStr);
-    }
-    
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT int UString::compare(const UString& aUString)const
-    {
-    return mImpl->compare(*aUString.mImpl.get());
-    }
-    	
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT int UString::compare(const Utf8* aStr)const
-    {
-    return mImpl->compare(aStr);
-    }    
-
-// -------------------------------------------------------------------------    	  
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT bool UString::operator==(const UString& aRhs)const
-    {
-    return !mImpl->compare(*aRhs.mImpl.get());    
-    }
-    
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT bool UString::operator==(const Utf8* aRhs)const
-    {
-    return !mImpl->compare(aRhs);    
-    }
-    
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT void UString::append(const UString& aUString)
-    {
-    mImpl->append(*aUString.mImpl.get());
-    }
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT void UString::append(const Utf8* aStr)
-    {
-    mImpl->append(aStr);
-    }   
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT void UString::insert(
-    long aPos, 
-    const Utf8* aStr)
-    {
-    mImpl->insert(aPos, aStr);
-    }
-          
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT void UString::insert(
-    long aPos, 
-    const Utf8* aStr,
-    long aLength)
-    {
-    mImpl->insert(aPos, aStr,aLength);
-    }  
-     
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT void UString::replace(
-    long aPos, 
-    const Utf8* aStr)
-    {
-    mImpl->replace(aPos, aStr);
-    }   
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT void UString::replace(
-    long aPos, 
-    const Utf8* aStr,
-    long aLength)
-    {
-    mImpl->replace(aPos, aStr, aLength);
-    }         
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT void UString::erase(
-    long aPos, 
-    long aLength)
-    {
-    mImpl->erase(aPos, aLength);
-    }         
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT Unicode UString::operator[](long aIndex)
-    {
-    return mImpl->operator[](aIndex);
-    }         
-
-// -------------------------------------------------------------------------
-// -------------------------------------------------------------------------
-//
-OSN_EXPORT bool UString::isNull()const
-    {
-    return mImpl->null();
-    }
-}
--- a/osncore/osncore/src/ustringimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,673 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  String class implementation
-*
-*/
-
-
-#include "ustringimpl.h"
-
-#include <gstring.h>
-#include <stdexcept>
-#if defined(__GNUC__)
-#include <string.h>
-#else
-#include <string.h>
-#endif
-#include <osn/osnnew.h>
-using namespace std;
-
- 
-namespace osncore
-{
-
-const int KMaxUtf8Length = 6;
-
-
-// -------------------------------------------------------------------------
-// Returns the byte count for aStr with aCharCount length
-// -------------------------------------------------------------------------
-//
-static long bytesFromCharacters(const Utf8* aStr, long aCharCount)
-    {
-    int byteCount = 0;
-    
-    if (aStr)
-        {
-        const char* srcEndOffset = g_utf8_offset_to_pointer(aStr,aCharCount); 
-        byteCount = srcEndOffset - aStr;    
-        }
-    
-    return byteCount;
-    }
-
-// -------------------------------------------------------------------------
-// Initializes the string from stack or heap depending on its length
-// -------------------------------------------------------------------------
-//
-void UStringImpl::initialize(const Utf8* aStr)
-    {
-    if (len < MAX_STR_LEN)
-        {
-        str = internalStr;
-        memcpy(internalStr, aStr, len);
-        }
-    else
-        {
-        str = (gchar*)calloc(len+1, sizeof (gchar));
-    	if(!str)
-    		{
-    		throw bad_alloc();
-    		}
-    	memcpy(str,aStr,len);
-    	isInHeap = true;
-        }
-	
-	str[len] = 0;
-	allocated_len = len+1;    
-    }
-    
-// -------------------------------------------------------------------------
-// Allocates memory from heap if needed, throws if allocation fails
-// -------------------------------------------------------------------------
-//
-void UStringImpl::checkBuffer(unsigned int aLength)
-	{
-	if (aLength < allocated_len)
-		{
-		return;
-		}
-    if (aLength >= MAX_STR_LEN)
-        {
-        if (!isInHeap) //str is in stack, move it to heap
-            {
-            gchar* temp = (gchar*)calloc(aLength + 1, sizeof(gchar));
-            if (!temp)
-                {
-        		throw bad_alloc();
-                }
-            if(str)
-                {
-                memcpy(temp, str, len);
-                }
-            str = temp;
-            isInHeap = true;
-            }
-        else
-            {
-        	gchar* tmp(0);
-        	tmp = (gchar*)realloc(str,aLength+1);
-        	if(!tmp)
-        		{
-        		throw bad_alloc();
-        		}
-        	str = tmp;
-            }
-        }
-    else
-        {
-        // if ustring is constructed with null or "" set internal buffer to
-        // point to str
-        if (!str)
-            str = internalStr;
-        }
-	allocated_len = aLength+1;
-
-     
-	// reset allocated space
-	memset(str+len, 0, allocated_len-len);
-	}
-// -------------------------------------------------------------------------
-// Implements the actual insertion functionality
-// -------------------------------------------------------------------------
-//
-void UStringImpl::insertImpl(unsigned int aIndex, const char* aInsertChars, unsigned int aInsertLength)
-	{
-    // Ensure that we have enough space.
-	checkBuffer(len + aInsertLength); 
-	// Move tail to make space for inserted characters.
-    memmove(str+aIndex+aInsertLength, str+aIndex, len-aIndex);
-    // Insert characters.
-    memcpy(str+aIndex, aInsertChars, aInsertLength);
-    // Update len
-    len += aInsertLength;
-	}  
-// -------------------------------------------------------------------------
-// Implements the actual append functionality
-// -------------------------------------------------------------------------
-//
-void UStringImpl::appendImpl(const char* aStr, unsigned int aLength)
-	{
-	insertImpl(len, aStr, aLength);
-	}
-// -------------------------------------------------------------------------
-// Implements the actual erase functionality
-// -------------------------------------------------------------------------
-//
-void UStringImpl::eraseImpl(unsigned int aIndex, unsigned int aLength)
-	{
-	if(aIndex > len)
-		{
-		throw out_of_range("out_of_range");
-		}
-	
-	if(aIndex+aLength >= len)
-		{
-		// erase from given index to end of the string
-		if(aIndex<len)
-			{
-			len = aIndex;
-			}
-		memset(str+aIndex,0,len-aIndex);
-		}
-	else
-		{
-		// Move tail (remove begin or between) to given index.
-	    memmove(str+aIndex, str+aIndex+aLength, len-(aIndex+aLength));
-		len -=  aLength;
-		memset(str+len,0,allocated_len-len);
-		}
-	}
-    
-// -------------------------------------------------------------------------
-// Constructor
-// -------------------------------------------------------------------------
-//
-UStringImpl::UStringImpl():str(0),len(0),allocated_len(0), isInHeap(0)
-	{
-#ifdef _DEBUG
-	g_setenv("G_SLICE","always-malloc",1);
-#endif
-	}
-// -------------------------------------------------------------------------
-// Constructs the string from aStr
-// -------------------------------------------------------------------------
-//
-UStringImpl::UStringImpl(const Utf8* aStr)
-    :str(0),len(0),allocated_len(0), isInHeap(0)
-    {
-#ifdef _DEBUG    
-    g_setenv("G_SLICE","always-malloc",1);
-#endif    
-    //NULL byte not accepted
-    if (aStr)
-        {
-        len = strlen(aStr); 
-        initialize(aStr);
-        }   
-    }
-
-// -------------------------------------------------------------------------
-// Constructs the string from aStr with aByteCount length
-// -------------------------------------------------------------------------
-//
-UStringImpl::UStringImpl(const Utf8* aStr, int aByteCount)
-    :str(0),len(0),allocated_len(0), isInHeap(0)
-    {
-#ifdef _DEBUG    
-    g_setenv("G_SLICE","always-malloc",1);
-#endif    
-    //NULL byte not accepted
-    if (aStr)
-        {
-        len = aByteCount;
-        initialize(aStr);
-        }    
-    }
-
-// -------------------------------------------------------------------------
-// Constructs the string from aCodePoint
-// -------------------------------------------------------------------------
-//
-UStringImpl::UStringImpl(Unicode aCodePoint)
-    :str(0),len(0),allocated_len(0), isInHeap(0)
-    {
-#ifdef _DEBUG    
-    g_setenv("G_SLICE","always-malloc",1);
-#endif    
-        
-    char string[KMaxUtf8Length]; 
-    long usedBytes = g_unichar_to_utf8((unsigned int)aCodePoint,&string[0]);
-    if(usedBytes > 0)
-        {
-        len = usedBytes;
-        initialize(&string[0]);
-        }
-    }
-
-// -------------------------------------------------------------------------
-// Copy constructor
-// -------------------------------------------------------------------------
-//
-UStringImpl::UStringImpl(const UStringImpl& aUStringImpl)
-    :str(0),len(aUStringImpl.len),allocated_len(0), isInHeap(0)
-    {
-#ifdef _DEBUG    
-    g_setenv("G_SLICE","always-malloc",1);
-#endif    
-    if(aUStringImpl.str)
-        {
-        initialize(aUStringImpl.str);
-        }
-    }
-
-
-// -------------------------------------------------------------------------
-// Destructor
-// -------------------------------------------------------------------------
-//
-UStringImpl::~UStringImpl()
-	{
-	if (str && isInHeap)
-	    {
-	    delete str;
-	    }
-	}	
-// -------------------------------------------------------------------------
-// Returns true if the string is empty
-// -------------------------------------------------------------------------
-//
-bool UStringImpl::empty()const
-	{
-	return (len > 0) ? false : true;
-	}
-
-// -------------------------------------------------------------------------
-// Returns true if the string is a null string
-// -------------------------------------------------------------------------
-//
-bool UStringImpl::null()const
-	{
-	return (str) ? false : true;
-	}
-	
-// -------------------------------------------------------------------------
-// Returns the length of the string in characters 
-// -------------------------------------------------------------------------
-//
-long UStringImpl::length()const
-    {
-    long ret(0);
-    if(str && (len > 0))
-        {
-        ret = g_utf8_strlen(str, len);
-        }
-    return ret;    
-    }        
-
-// -------------------------------------------------------------------------
-// Returns the length of the string in bytes
-// -------------------------------------------------------------------------
-//
-long UStringImpl::bytes()const
-    {
-    return (long)len;    
-    }        
-
-	
-// -------------------------------------------------------------------------
-// Returns the utf8 type string
-// -------------------------------------------------------------------------
-//
-const Utf8* UStringImpl::utf8()const
-    {
-    return str;
-    }
-    
-// -------------------------------------------------------------------------
-// Compares the string to another UString with strcmp
-// -------------------------------------------------------------------------
-//
-int UStringImpl::compare(const UStringImpl& aUStringImpl)const
-    {
-    int ret(1);
-    if(!str && !aUStringImpl.str)
-        {
-        ret = 0;    
-        }
-    else if(str && aUStringImpl.str)
-        {
-        ret = strcmp(str, aUStringImpl.str);
-        }
-    else if(!str)
-        {
-        ret = -1;
-        }
-  
-    return ret;
-    }	 	
-// -------------------------------------------------------------------------
-// Compares the string to Utf8 string with strcmp
-// -------------------------------------------------------------------------
-//
-int UStringImpl::compare(const Utf8* aStr)const
-    {    
-    int ret(1);
-    if(str && aStr)
-        {
-        ret = strcmp(str, aStr);
-        }
-    else if(!str && !strlen(aStr))
-        {
-        ret = 0;    
-        }
-    else if(!str)
-        {
-        ret = -1;
-        }
-   
-    return ret;
-    }	 
-
-// -------------------------------------------------------------------------
-// Compares the string to another UString using the linguistically
-// correct rules for the current locale
-// -------------------------------------------------------------------------
-//
-int UStringImpl::compareC(const UStringImpl& aUStringImpl)const
-    {
-    int ret(1);
-    if(!str && !aUStringImpl.str)
-        {
-        ret = 0;    
-        }
-    else if(str && aUStringImpl.str)
-        {
-        ret = g_utf8_collate(str, aUStringImpl.str);
-        }
-    else if(!str)
-        {
-        ret = -1;
-        }
-  
-    return ret;
-    }	 	
-// -------------------------------------------------------------------------
-// Compares the string to Utf8 string using the linguistically
-// correct rules for the current locale
-// -------------------------------------------------------------------------
-//
-int UStringImpl::compareC(const Utf8* aStr)const
-    {    
-    int ret(1);
-    if(str && aStr)
-        {
-        ret = g_utf8_collate(str, aStr);
-        }
-    else if(!str && !strlen(aStr))
-        {
-        ret = 0;    
-        }
-    else if(!str)
-        {
-        ret = -1;
-        }
-   
-    return ret;
-    } 
-
-// -------------------------------------------------------------------------
-// Appends another UString to this string 
-// -------------------------------------------------------------------------
-//
-void UStringImpl::append(const UStringImpl& aUStringImpl)
-    {
-    if(str && aUStringImpl.str)
-        {
-        appendImpl(aUStringImpl.str, aUStringImpl.len);
-        }
-    }	 
-// -------------------------------------------------------------------------
-// Appends a Utf8 string to this string
-// -------------------------------------------------------------------------
-//
-void UStringImpl::append(const Utf8* aStr)
-    {
-    if(aStr && (strlen(aStr) !=0))
-        {
-        appendImpl(aStr, strlen(aStr));
-        }
-    }
-
-// -------------------------------------------------------------------------
-// Inserts Utf8 string to this string 
-// -------------------------------------------------------------------------
-//
-void UStringImpl::insert( 
-    long aPos, 
-    const Utf8* aStr)
-    {
-   
-    if(aStr)
-       {
-       if (!str)
-           checkBuffer(0);
-       long dstCharCount = g_utf8_strlen(str, -1);
-       if(aPos < -1 || aPos > dstCharCount)
-           {
-           throw out_of_range("out_of_range");  
-           }
-        // find out byte position for given character position
-       long startBytePos(-1);
-       if(aPos >= 0)
-           {
-           if(str)
-               {
-               const char* startOffset = g_utf8_offset_to_pointer(str, aPos);
-               startBytePos = startOffset - str;
-               }
-           }
-       if(aPos == -1)
-    	   {
-    	   appendImpl(aStr, strlen(aStr));
-    	   }
-       else
-    	   {
-    	   insertImpl(startBytePos, aStr, strlen(aStr));
-    	   }
-       }
-    }
-   
-// -------------------------------------------------------------------------
-// Inserts Utf8 string to this string with length of the Utf8 specified
-// -------------------------------------------------------------------------
-//
-void UStringImpl::insert( 
-    long aPos, 
-    const Utf8* aStr,
-    long aCharCount)
-    {
-    if (aCharCount < 1)
-        {
-        throw out_of_range("out_of_range");    
-        }
-    
-    if (aStr)
-        {
-        long srcByteLen = bytesFromCharacters(aStr, aCharCount);
-        if(!str)
-            checkBuffer(0);
-        
-        // calculate how many bytes are needed for given characters
-        long srcCharCount = g_utf8_strlen(aStr, srcByteLen);
-        long dstCharCount = g_utf8_strlen(str, -1); 
-        long startBytePos(-1); // appends end of the string
-
-        if(aPos < -1 || aPos > dstCharCount-1 || aCharCount > srcCharCount)
-            {
-            throw out_of_range("out_of_range");  
-            }
-           
-        if(aPos != -1)
-            {
-            const char* startOffset = g_utf8_offset_to_pointer(str, aPos); 
-            startBytePos = startOffset - str; 
-            }
-        const char* endOffset = g_utf8_offset_to_pointer(aStr, aCharCount);
-        long insertByteLength = endOffset - aStr;   
-
-        if(aPos == -1)
-            {
-            appendImpl(aStr, insertByteLength);
-            }
-        else
-            {
-            insertImpl(startBytePos, aStr, srcByteLen);
-            }
-        }
-    }
-
-// -------------------------------------------------------------------------
-// Replaces Utf8 string to this string 
-// -------------------------------------------------------------------------
-//
-void UStringImpl::replace(
-    long aPos, 
-    const Utf8* aStr)
-    {
-    if (aStr)
-        {
-        if (!str)
-            checkBuffer(0);
-        
-        long srcByteLen = strlen(aStr);
-        long srcCharCount = g_utf8_strlen(aStr,-1); 
-        long dstCharCount = g_utf8_strlen(str, -1);
-        if(aPos > dstCharCount || aPos < 0)
-            {
-            throw out_of_range("out_of_range");    
-            }
-        
-        // calculate start byte position
-        if(str)
-            {
-            const char* startOffset = g_utf8_offset_to_pointer(str, aPos);
-            long startBytePos = startOffset - str; 
-            
-            // calculate erasable character count in bytes
-                if(startOffset)
-                    {
-	                const char* endOffset = g_utf8_offset_to_pointer(startOffset, srcCharCount);
-	                long eraseByteLength = endOffset - startOffset;  
-	                // erase existing characters
-	                eraseImpl(startBytePos, eraseByteLength);
-                    }
-            insertImpl(startBytePos, aStr, srcByteLen);
-            }
-        }
-   }  
-      
-   
-// -------------------------------------------------------------------------
-// Replaces a Utf8 string to this string with length of the Utf8 specified
-// -------------------------------------------------------------------------
-//
-void UStringImpl::replace(
-    long aPosOffset, 
-    const Utf8* aStr,
-    long aCharCount)
-    {
-    if (aCharCount < 1)
-        {
-        throw out_of_range("out_of_range");    
-        }
-        
-    if (aStr)
-        {
-        long srcByteLen = bytesFromCharacters(aStr, aCharCount);
-        if(!str)
-            checkBuffer(0);
-        
-        long srcCharCount = g_utf8_strlen(aStr, srcByteLen); 
-        long dstCharCount = g_utf8_strlen(str, -1);
-        if(aPosOffset > dstCharCount || aPosOffset < 0 || aCharCount > srcCharCount)
-            {
-            throw out_of_range("out_of_range");    
-            }
-        // calculate start byte position
-        if(str)
-            {
-            const char* startOffset = g_utf8_offset_to_pointer(str, aPosOffset);
-            long startBytePos = startOffset - str; 
-        
-        // calculate erasable character count in bytes
-            if(startOffset)
-                {
-                const char* endOffset = g_utf8_offset_to_pointer(startOffset, srcCharCount);
-                long eraseByteLength = endOffset - startOffset;  
-                // erase existing characters
-                eraseImpl(startBytePos, eraseByteLength);
-                }
-            insertImpl(startBytePos, aStr, srcByteLen);
-            }
-        }
-   }  
- 
-// -------------------------------------------------------------------------
-// Erases aCharCount characters from the string at position specified by 
-// aPosOffset
-// -------------------------------------------------------------------------
-//
-void UStringImpl::erase(
-    long aPosOffset, 
-    long aCharCount)
-    {
-    
-    if(str)
-        {
-        long srcCharCount = g_utf8_strlen(str, -1); 
-        
-        if (aPosOffset < 0 || aCharCount < 1 || aCharCount > srcCharCount)
-            {
-            throw out_of_range("out_of_range"); 
-            }
-        
-        // calc startpos
-        const char* startOffset = g_utf8_offset_to_pointer(str, aPosOffset); 
-        long startBytePos = startOffset - str; 
-        
-        // calc bytes to erase
-        const char* endOffset = g_utf8_offset_to_pointer(startOffset, aCharCount); 
-        long eraseByteLength = endOffset - startOffset; 
-       
-        eraseImpl(startBytePos, eraseByteLength);
-        }
-   }  
-
-// -------------------------------------------------------------------------
-// Returns unicode at aIndex position in the string
-// -------------------------------------------------------------------------
-//
-Unicode UStringImpl::operator[](long aIndex)
-   {
-   Unicode ret(0xF8FF);
-    
-   if(str)
-       {
-       long charCount = g_utf8_strlen(str, -1);
-       if(aIndex < 0 || aIndex > charCount-1)
-           {
-           throw out_of_range("out_of_range"); 
-           }
-       // calc startpos
-       const char* uniChar = g_utf8_offset_to_pointer(str, aIndex); 
-        
-       ret = g_utf8_get_char(uniChar);        
-       }
-   return ret;     
-   }  
-
-}
-    		
-
--- a/osncore/osncore/src/ustringutil.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* 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:  utility for ustring
-*
-*/
-
-
-#include <osn/ustring.h>
-#include <glib/gstring.h>
-
-#include <stdlib.h>
-#include <errno.h>
-#include <stdexcept>
-#include <osn/osnnew.h>
-
-namespace osncore
-{
-
-const int KBase = 10;
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//   
-template <typename T>
-OSN_EXPORT UtfProxy<T>::~UtfProxy()
-    {
-    if(iUtf)
-        {
-        free(iUtf);
-        }
-    }
-   
-// ---------------------------------------------------------------------------
-// Conversion to Utf16 from Utf8 using g_utf8_to_utf16
-// ---------------------------------------------------------------------------
-//   
-OSN_EXPORT auto_ptr<Utf16Proxy> toUtf16(const UString& aSourceUtf8)
-    {
-    Utf16* ret = g_utf8_to_utf16(aSourceUtf8.getUtf8(),-1,0,0,0);
-    
-    auto_ptr<Utf16Proxy> tmp;
-    try
-        {
-        tmp.reset(new (EMM)Utf16Proxy(ret));    
-        }
-    catch(std::bad_alloc& e)
-        {
-        free(ret);
-        }
-    return tmp;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//   
-OSN_EXPORT int toInt(const UString& aSource)
-    {
-    int ret(0);
-    const Utf8* string = aSource.getUtf8();
-    if (!string)
-        {
-        throw UString::InvalidUtf8();    
-        }
-    
-    ret = strtol(string, (char **)NULL, KBase);
-    if( errno == EINVAL || errno == ERANGE)
-        {
-        errno = 0;
-        throw UString::InvalidUtf8();                
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//   
-static auto_ptr<UString> normalize(const UString& aSource, GNormalizeMode aMode)
-    {
-    const Utf8* string = aSource.getUtf8();
-    if (!string)
-        {
-        throw UString::InvalidUtf8();    
-        }
-    
-    Utf8* ret = g_utf8_normalize(string, -1, aMode);
-    
-    if(!ret)
-        {
-        throw UString::InvalidUtf8();                
-        }
-    auto_ptr<UString> tmp;
-    try
-        {
-        tmp.reset(new (EMM)UString(ret));
-       // g_free(ret);    
-        free(ret);
-        }
-    catch(std::bad_alloc& e)
-        {
-       // g_free(ret);
-        free(ret);
-        }    
-    return tmp;    
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//   
-OSN_EXPORT auto_ptr<UString> normalizeNFD(const UString& aSource)
-    {
-    return normalize(aSource,G_NORMALIZE_DEFAULT);
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//   
-OSN_EXPORT auto_ptr<UString> normalizeNFC(const UString& aSource)
-    {
-    return normalize(aSource,G_NORMALIZE_DEFAULT_COMPOSE);
-    }    
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//   
-OSN_EXPORT auto_ptr<UString> normalizeNFKD(const UString& aSource)
-    {
-    return normalize(aSource,G_NORMALIZE_ALL);
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//   
-OSN_EXPORT auto_ptr<UString> normalizeNFKC(const UString& aSource)
-    {
-    return normalize(aSource,G_NORMALIZE_ALL_COMPOSE);
-    }            
-    
-}
--- a/osncore/sis/createsisx.bat	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: osncore iby file.
-rem
-
-
-@echo off
-echo DoTo: update the location for certificate and private key files
-
-set certificate_file=..\internal\certificates\rd.cer
-set private_key_file=..\internal\certificates\rd-key.pem
-
-makesis osncore.pkg
-signsis osncore.sis osncore.sisx %certificate_file% %private_key_file%
--- a/osncore/sis/osncore.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-;
-; Copyright (c) 2009 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: pkg file for osncore.
-;
-
-; ============================================================================
-;  Name        : osncore.pkg
-;  Part of     : Decalrative UI
-;  Description : Package file
-;  Version     : %version: 2 % << Don't touch! Updated by Synergy at check-out.
-;
-;  Copyright © 2007 Nokia.  All rights reserved.
-;  This material, including documentation and any related computer
-;  programs, is protected by copyright controlled by Nokia.  All
-;  rights are reserved.  Copying, including reproducing, storing,
-;  adapting or translating, any or all of this material requires the
-;  prior written consent of Nokia.  This material also contains
-;  confidential information which may not be disclosed to others
-;  without the prior written consent of Nokia.
-; ============================================================================
-;  Template version: 4.1
-
-; standard SIS file header
-#{"Os neutral library"},(0x1020725D),1,0,0
-
-;Localized Vendor Name
-%{"Nokia-EN"}
-
-;Unique Vendor name
-:"Nokia"
-
-;Files to copy
-"\epoc32\release\armv5\urel\osncore.dll"-"!:\sys\bin\osncore.dll"
\ No newline at end of file
--- a/package_definition.xml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
-  <package id="mmuifw" name="Multimedia UI Framework" levels="mgr mdl util ui">
-    <collection id="mmuifw_info" name="Multimedia UI Framework Info" level="ui">
-      <component id="mmuifw_plat" filter="s60" name="Multimedia UI Framework Platform Interfaces" class="api">
-        <unit bldFile="mmuifw_plat/group"/>
-      </component>
-      <component id="mmuifw_build" filter="s60" name="Multimedia UI Framework Build">
-        <unit bldFile="group"/>
-       	<!-- can this be distributed into the other components? -->
-      </component>
-    </collection>
-    <collection id="osncore" name="OS Neutral Library Core" level="util">
-      <component id="osncore_build" filter="s60" name="OSN Core Build">
-        <unit bldFile="osncore/group"/>
-      </component>
-    </collection>
-    <collection id="alfwidgetutils" name="Accelerated LAF Widget Utils" level="ui">
-      <component id="alfwidgetutils_build" filter="s60" name="ALF Widget Utils">
-        <unit bldFile="alfwidgetutils/group"/>
-      </component>
-    </collection>
-    <collection id="resourcepool" name="Resource Pool" level="util">
-      <component id="alfresourcepool" filter="s60" name="ALF Resource Pool">
-        <unit bldFile="resourcepool/group"/>
-      </component>
-    </collection>
-    <collection id="widgetmodel" name="Widget Model" level="mdl">
-      <component id="alfwidgetmodel" filter="s60" name="ALF Widget Model">
-        <!-- <unit bldFile="widgetmodel/alfwidgetmodel/group"/> -->
-      </component>
-      <component id="alfwidgetfactory" filter="s60" name="ALF Widget Factory">
-        <!-- <unit bldFile="widgetmodel/alfwidgetfactory/group"/> -->
-      </component>
-      <component id="widgetmodel_build" filter="s60" name="Widget Model Build">
-      	<!--  eitehr split this into the other 2 components or collapse them all into this one -->
-        <unit bldFile="widgetmodel/group"/>
-      </component>
-    </collection>
-    <collection id="mulwidgets" name="MUL Widgets" level="ui">
-    	<!-- should spell out MUL in the collection name -->
-      <component id="mullogging" filter="s60" name="MUL Logging">
-        <unit bldFile="mulwidgets/mullogging/group"/>
-      </component>
-      <component id="muldatamodel" filter="s60" name="MUL Data Model">
-        <unit bldFile="mulwidgets/muldatamodel/group"/>
-      </component>
-      <component id="mulwidgets_common" filter="s60" name="MUL Common">
-        <unit bldFile="mulwidgets/common/group"/>
-      </component>
-      <component id="gesturehelper" filter="s60" name="Gesture Helper">
-        <unit bldFile="mulwidgets/gesturehelper/group"/>
-      </component>
-      <component id="mulcoverflowwidget" filter="s60" name="MUL Coverflow Widget">
-        <unit bldFile="mulwidgets/mulcoverflowwidget/group"/>
-      </component>
-      <component id="mulsliderwidget" filter="s60" name="MUL Slider Widget">
-        <unit bldFile="mulwidgets/mulsliderwidget/group"/>
-      </component>
-      <component id="alfviewwidget" filter="s60" name="ALF View Widget">
-        <unit bldFile="mulwidgets/alfviewwidget/group"/>
-      </component>
-      <component id="alfcontainerwidget" filter="s60" name="ALF Container Widget">
-        <unit bldFile="mulwidgets/alfcontainerwidget/group"/>
-      </component>
-      <component id="alfscrollbarwidget" filter="s60" name="ALF Scrollbar Widget">
-        <unit bldFile="mulwidgets/alfscrollbarwidget/group"/>
-      </component>
-      <component id="mulwidgets_build" filter="s60" name="MUL Widgets Build">
-        <unit bldFile="mulwidgets/group"/>
-      </component>
-    </collection>
-  </package>
-</SystemDefinition>
--- a/resourcepool/bwins/alfresourcepoolu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
-	?createFileImageResource@ResourcePool@Alf@@QAEXPBDABVUString@osncore@@W4TAlfTextureFlags@@@Z @ 1 NONAME ; void Alf::ResourcePool::createFileImageResource(char const *, class osncore::UString const &, enum TAlfTextureFlags)
-	??1ResourcePool@Alf@@QAE@XZ @ 2 NONAME ; Alf::ResourcePool::~ResourcePool(void)
-	?getImageResource@ResourcePool@Alf@@QAE?AVTAlfImage@@PBDABUTAlfXYMetric@@@Z @ 3 NONAME ; class TAlfImage Alf::ResourcePool::getImageResource(char const *, struct TAlfXYMetric const &)
-	?getImageResource@ResourcePool@Alf@@QAE?AVTAlfImage@@PBD@Z @ 4 NONAME ; class TAlfImage Alf::ResourcePool::getImageResource(char const *)
-	?setInitialSize@ResourcePool@Alf@@QAEXPBDABUTAlfXYMetric@@@Z @ 5 NONAME ; void Alf::ResourcePool::setInitialSize(char const *, struct TAlfXYMetric const &)
-	?setAspectRatio@ResourcePool@Alf@@QAEXPBDW4AspectRatio@12@@Z @ 6 NONAME ; void Alf::ResourcePool::setAspectRatio(char const *, enum Alf::ResourcePool::AspectRatio)
-	?createThemeImageResource@ResourcePool@Alf@@QAEXPBDABVUString@osncore@@@Z @ 7 NONAME ; void Alf::ResourcePool::createThemeImageResource(char const *, class osncore::UString const &)
-	??0ResourcePool@Alf@@QAE@AAVCAlfTextureManager@@PAV01@@Z @ 8 NONAME ; Alf::ResourcePool::ResourcePool(class CAlfTextureManager &, class Alf::ResourcePool *)
-	?deleteImageResource@ResourcePool@Alf@@QAEXPBD@Z @ 9 NONAME ; void Alf::ResourcePool::deleteImageResource(char const *)
-	?hasImageResource@ResourcePool@Alf@@QBE_NPBD@Z @ 10 NONAME ; bool Alf::ResourcePool::hasImageResource(char const *) const
-	?createLogicalImageResource@ResourcePool@Alf@@QAEXPBD@Z @ 11 NONAME ; void Alf::ResourcePool::createLogicalImageResource(char const *)
-
--- a/resourcepool/eabi/alfresourcepoolu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-EXPORTS
-	_ZN3Alf12ResourcePool14setAspectRatioEPKcNS0_11AspectRatioE @ 1 NONAME
-	_ZN3Alf12ResourcePool14setInitialSizeEPKcRK12TAlfXYMetric @ 2 NONAME
-	_ZN3Alf12ResourcePool16getImageResourceEPKc @ 3 NONAME
-	_ZN3Alf12ResourcePool16getImageResourceEPKcRK12TAlfXYMetric @ 4 NONAME
-	_ZN3Alf12ResourcePool19deleteImageResourceEPKc @ 5 NONAME
-	_ZN3Alf12ResourcePool23createFileImageResourceEPKcRKN7osncore7UStringE16TAlfTextureFlags @ 6 NONAME
-	_ZN3Alf12ResourcePool24createThemeImageResourceEPKcRKN7osncore7UStringE @ 7 NONAME
-	_ZN3Alf12ResourcePool26createLogicalImageResourceEPKc @ 8 NONAME
-	_ZN3Alf12ResourcePoolC1ER18CAlfTextureManagerPS0_ @ 9 NONAME
-	_ZN3Alf12ResourcePoolC2ER18CAlfTextureManagerPS0_ @ 10 NONAME
-	_ZN3Alf12ResourcePoolD1Ev @ 11 NONAME
-	_ZN3Alf12ResourcePoolD2Ev @ 12 NONAME
-	_ZNK3Alf12ResourcePool16hasImageResourceEPKc @ 13 NONAME
-	_ZTIN3Alf16ResourcePoolImpl13ImageResourceE @ 14 NONAME ; #<TI>#
-	_ZTVN3Alf16ResourcePoolImpl13ImageResourceE @ 15 NONAME ; #<VT>#
-
--- a/resourcepool/group/alfresourcepool.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Project definition file for project alfresourcepool
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET                  alfresourcepool.dll
-TARGETTYPE              dll
-UID                     0x1000008d 0x200110F7
-
-
-CAPABILITY              CAP_GENERAL_DLL
-VENDORID                VID_DEFAULT
-
-#ifndef __WINSCW__
-EPOCALLOWDLLDATA
-#endif
-
-
-SOURCEPATH              ../src
-SOURCE                  alfresourcepool.cpp
-SOURCE                  alfresourcepoolimpl.cpp
-
-USERINCLUDE             ../inc
-USERINCLUDE             ../../inc
-
-#include <platform_paths.hrh>
-MW_LAYER_SYSTEMINCLUDE
-
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-LIBRARY libstdcpp.lib
-LIBRARY euser.lib
-LIBRARY alfclient.lib
-LIBRARY osncore.lib
-LIBRARY charconv.lib 
-
-LIBRARY libc.lib
-#define ALF_LINK_STDCPP_DLL
-// following include must be after definition
-
-LIBRARY libpthread.lib
--- a/resourcepool/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Build information file for project resource pool dll
-*
-*/
-
-
-#ifdef __S60_50__
-// To get the MW_LAYER_SYSTEMINCLUDE-definition
-#include <platform_paths.hrh>
-#endif
-
-
-PRJ_PLATFORMS
-WINSCW ARMV5
-
-PRJ_EXPORTS
-#ifdef __S60_50__
-../../rom/alfresourcepool.iby   CORE_MW_LAYER_IBY_EXPORT_PATH(alfresourcepool.iby)
-#endif
-
-PRJ_MMPFILES
-alfresourcepool.mmp
\ No newline at end of file
--- a/resourcepool/inc/alfresourcepoolimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Implementation of the resource pool
-*
-*/
-
-
-#ifndef ALF_RESOURCEPOOL_IMPL_H
-#define ALF_RESOURCEPOOL_IMPL_H
-
-#include <alf/alfimage.h>
-#include <alf/alfmetric.h>
-#include <alf/alfimageloaderutil.h>
-#include <osn/ustring.h>
-#include <osn/alfptrvector.h>
-#include <vector>
-
-#include "alf/alfresourcepool.h"
-
-class CAlfTextureManager;
-
-
-
-namespace Alf 
-{
-//Forward declaration
-
-
-using namespace osncore;
-
-/**
- *  ?one_line_short_description
- *  ?more_complete_description
- *
- *  @code
- *   ?good_class_usage_example(s)
- *  @endcode
- *
- *  @lib ?library
- *  @since S60 ?S60_version *** for example, S60 v3.0
- */
-class ResourcePoolImpl
-    {
-private:
-
-    enum ImageResourceType
-        {
-        imageResourceTypeSkin,
-        imageResourceTypeFileSVG,
-        imageResourceTypeFileOther
-        };
-        
-    struct ResourceInstanceData
-        {
-        ResourceInstanceData(): mTextureId(0), mImageLoaderUtil(0), mAutoSizeTexture(false) {}
-        ~ResourceInstanceData() { delete mImageLoaderUtil; }
-        
-        int mTextureId;
-        CAlfAutoSizeImageLoaderUtil* mImageLoaderUtil;
-        bool mAutoSizeTexture;
-        };
-
-    struct ImageResource
-        {
-        ImageResource();
-        virtual ~ImageResource();
-        
-        Utf8* mTag;
-        ImageResourceType mType;
-        AlfPtrVector<ResourceInstanceData> mLoadedTextures;
-        TAlfXYMetric mInitialSizeHint;
-        ResourcePool::AspectRatio mAspectRatio;
-        int mReferenceCount;
-        TAlfTextureFlags mFlag;
-        };
-        
-    struct SkinImageResource : public ImageResource
-        {
-        int mSkinIdMajor;
-        int mSkinIdMinor;
-        UString mFallBackFileName;
-        int mFallBackIndex;
-        int mFallBackMaskIndex;
-        };
-        
-    struct FileImageResource : public ImageResource
-        {
-        UString mFileName;
-        };
-public:
-
-    ResourcePoolImpl( 
-        CAlfTextureManager& aTextureManager ,
-        ResourcePool* aParentPool );
-    ~ResourcePoolImpl();
-
-    void createLogicalImageResource( const Utf8* aTag );
-    
-    void createThemeImageResource( 
-        const Utf8* aTag,
-        const UString& aThemeDefinition );
-    
-    void createFileImageResource( 
-        const Utf8* aTag,
-        const UString& aFileName ,TAlfTextureFlags aFlag);
-     
-    void deleteImageResource( const Utf8* aTag );
-    
-    bool hasImageResource( const Utf8* aTag ) const;
-      
-    void setInitialSize( 
-        const Utf8* aTag, 
-        const TAlfXYMetric& aInitialSizeHint );
-        
-    void setAspectRatio( 
-        const Utf8* aTag, 
-        ResourcePool::AspectRatio aAspectRatio );
-
-    TAlfImage getImageResource( const Utf8* aTag );
-
-    TAlfImage getImageResource( 
-        const Utf8* aTag, 
-        const TAlfXYMetric& aSizeHint );
-
-private:
-    ImageResource* findResource( const Utf8* aTag ) const;
-    int findResourceIndex( const Utf8* aTag ) const;
-    void DetermineSkinInstanceL( const Utf8* aTag, TAknsItemID& aSkinItemID ) const;
-    TSize determineSizeInPixels( const TAlfXYMetric& aSize );
-    void determineSkinId( const UString& aNumberString, int& aSkinItem );
-    TAlfImage CreateSkinImageResourceL(SkinImageResource& aSkinImageResource, const TAlfXYMetric& aSizeHint);
-    TAlfImage CreateFileImageResourceL(FileImageResource& aFileImageResource, const TAlfXYMetric& aSizeHint ,TAlfTextureFlags aFlag);
-    TAlfImage CreateSVGImageResourceL(FileImageResource& aSVGImageResource, const TAlfXYMetric& aSizeHint);
-    
-    static bool areSizesCloseEnough( const TSize& aSize1, const TSize& aSize2 );
-private:
-
-    CAlfTextureManager& mTextureManager;
-    ResourcePool* mParentPool;
-
-    AlfPtrVector<ImageResource> mResources; // use hash table instead?
-    };
-    
-} // namespace Alf
-
-#endif // ALF_RESOURCEPOOL_IMPL_H
--- a/resourcepool/sis/alfresourcepool.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-;
-; Copyright (c) 2009 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: alfresourcepool iby file.
-;
-
-#{"Alf resource pool"},(0x200110F7),1,0,0
-
-;Supports Series 60 v 3.0
-(0x101F7961), 0, 0, 0, {"Series60ProductID"}
-
-;Localized Vendor Name
-%{"Nokia-EN"}   
-
-;Unique Vendor name
-:"Nokia"
-
-;Files to copy
-"\epoc32\release\armv5\urel\alfresourcepool.dll"-"!:\sys\bin\alfresourcepool.dll"
--- a/resourcepool/sis/createsisx.bat	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: resource pool sisx bat.
-rem
-
-
-@echo off
-echo DoTo: update the location for certificate and private key files
-
-set certificate_file=..\..\hitchcock\internal\certificates\rd.cer
-set private_key_file=..\..\hitchcock\internal\certificates\rd-key.pem
-
-makesis alfresourcepool.pkg
-signsis alfresourcepool.sis alfresourcepool.sisx %certificate_file% %private_key_file%
--- a/resourcepool/src/alfresourcepool.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2008 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:  API for handling alf graphic resources
-*
-*/
-
-
-#include "alf/alfresourcepool.h"
-#include "alfresourcepoolimpl.h"
-
-#include <osn/osnnew.h>
-
-namespace Alf 
-{
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT ResourcePool::ResourcePool( 
-    CAlfTextureManager& aTextureManager,
-    ResourcePool* aParentPool ) 
-    : mResourcePoolImpl( 
-        new (EMM) ResourcePoolImpl( aTextureManager, aParentPool ) )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT ResourcePool::~ResourcePool()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void ResourcePool::createLogicalImageResource( const Utf8* aTag )
-    {
-    mResourcePoolImpl->createLogicalImageResource( aTag );
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT void ResourcePool::createThemeImageResource( 
-        const Utf8* aTag,
-        const UString& aThemeDefinition )
-    {
-    mResourcePoolImpl->createThemeImageResource( 
-        aTag,
-        aThemeDefinition );
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT void ResourcePool::createFileImageResource( 
-        const Utf8* aTag,
-        const UString& aFileName ,
-        TAlfTextureFlags aFlag)
-    {
-    mResourcePoolImpl->createFileImageResource( aTag, aFileName, aFlag);
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT void ResourcePool::deleteImageResource( const Utf8* aTag )
-    {
-    mResourcePoolImpl->deleteImageResource( aTag );
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT bool ResourcePool::hasImageResource( const Utf8* aTag ) const
-    {
-    return mResourcePoolImpl->hasImageResource( aTag );
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT void ResourcePool::setInitialSize( 
-    const Utf8* aTag, 
-    const TAlfXYMetric& aInitialSizeHint )
-    {
-    mResourcePoolImpl->setInitialSize( aTag, aInitialSizeHint);
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//     
-OSN_EXPORT void ResourcePool::setAspectRatio( 
-        const Utf8* aTag, 
-        AspectRatio aAspectRatio )
-    {
-    mResourcePoolImpl->setAspectRatio( aTag, aAspectRatio);
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfImage ResourcePool::getImageResource( 
-    const Utf8* aTag )
-    {
-    return mResourcePoolImpl->getImageResource( aTag );
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfImage ResourcePool::getImageResource( 
-    const Utf8* aTag, 
-    const TAlfXYMetric& aSizeHint )
-    {
-    return mResourcePoolImpl->getImageResource( aTag, aSizeHint );
-    }
-
-
-} // namespace Alf
--- a/resourcepool/src/alfresourcepoolimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,788 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Implementation of the resource pool
-*
-*/
-
-
-// From this component
-#include "alfresourcepoolimpl.h"
-
-// From the same subsystem
-#include <osn/osnnew.h>
-#include <alf/alfimageloaderutil.h>
-#include <alf/alfutil.h>
-#include <alf/alfdisplay.h>
-#include <alf/alfwidgetenvextension.h>
-
-// Outside the same subsystem
-#include <AknsItemID.h>
-#include <utf.h>
-
-// standard C++/STL
-#include <algorithm>
-#include <cstdlib>
-#include <stdexcept>
-
-namespace Alf 
-{
-
-#define KResourcePoolHexadecimalPrefix "0x"
-
-const unsigned int INITIAL_IMAGE_WIDTH = 0; // no magic
-const unsigned int INITIAL_IMAGE_HEIGHT = 0; // no magic
-
-const TAlfTextureFlags IMAGE_RESOURCE_DEFAULT_TEXTURE_FLAGS = TAlfTextureFlags(EAlfTextureFlagAutoSize);
-const TAlfTextureFlags IMAGE_RESOURCE_SKINNED_TEXTURE_FLAGS = TAlfTextureFlags(EAlfTextureFlagAutoSize | EAlfTextureFlagSkinContent);
-
-// Function is Not used.
-/**********************************
-Utf8* alloc8BitBuffer( const Utf8* aSource )
-    {
-    int length( 0 );
-    while ( aSource && aSource[length] != '\0' )
-        {
-        length++;
-        }
-    length++; // for the NULL characher
-    
-    Utf8* result = new (EMM) Utf8[ length ];
-    
-    for ( int c = 0; c < ( length - 1 ); c++ )
-        {
-        result[c] = aSource[c];
-        }
-        
-    result[length - 1] = '\0'; // add the NULL character at the end
-    return result;
-    }
-********************************************/    
- 
-Utf8* allocLowerCase( const Utf8* aTag )
-    {
-    const unsigned int length = aTag ? strlen(aTag) : 0;
-    Utf8* result = new (EMM) Utf8[ length+1 ];
-    for ( int s = 0 ; s < length ; s++ )
-        {
-        result[s] = tolower( aTag[s]);
-        }
-    result[length] = '\0'; // add the NULL character at the end
-    return result;
-    }
-    
-TInt RoundFloatToInt(TReal32 aVal)
-	{
-	return (aVal < 0 ? (TInt)(aVal - 0.5f) : (TInt)(aVal + 0.5f));
-	}
-
-// ======== MEMBER FUNCTIONS ========
-
-ResourcePoolImpl::ImageResource::ImageResource()
-: mTag(0), mAspectRatio( ResourcePool::aspectRatioPreserved ), mReferenceCount(1)
-    {
-    mInitialSizeHint.iX.iMagnitude = INITIAL_IMAGE_WIDTH;
-    mInitialSizeHint.iX.iUnit = EAlfUnitPixel;
-    mInitialSizeHint.iY.iMagnitude = INITIAL_IMAGE_HEIGHT;
-    mInitialSizeHint.iY.iUnit = EAlfUnitPixel;
-    }
-    
-ResourcePoolImpl::ImageResource::~ImageResource()
-    {
-    delete mTag;
-    }
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-ResourcePoolImpl::ResourcePoolImpl( 
-    CAlfTextureManager& aTextureManager,
-    ResourcePool* aParentPool )
- : mTextureManager( aTextureManager ),
-   mParentPool( aParentPool )
-    {
-    //This may throw an exception leading to object creation failure.
-    
-    }
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-ResourcePoolImpl::~ResourcePoolImpl()
-    {
-
-  
-    // delete the texture instances
-    for ( int resourceIndex = 0 ; resourceIndex < mResources.count() ; resourceIndex++ )
-        {
-        ImageResource* resource = mResources[resourceIndex];
-        for ( int textureIndex = 0 ; textureIndex < resource->mLoadedTextures.count() ; textureIndex++ )
-            {
-            const CAlfTexture* texture = mTextureManager.Texture( resource->mLoadedTextures[textureIndex]->mTextureId);
-            if ( texture->Id() == resource->mLoadedTextures[textureIndex]->mTextureId )
-                {
-                // make sure we do not delete blank texure
-                delete texture;
-
-                if (resource->mLoadedTextures[textureIndex]->mAutoSizeTexture)
-                    {
-                    mTextureManager.RemoveAutoSizeObserver(resource->mLoadedTextures[textureIndex]->mImageLoaderUtil);        
-                    }            
-                }
-            }
-        }
-    // items in mResources will be automatically deleted in the destructor of
-    // the AlfPtrVector 
-    }
-
-
-void ResourcePoolImpl::createLogicalImageResource( const Utf8* aTag )
-    {
-    }
-
-void ResourcePoolImpl::createThemeImageResource(
-    const Utf8* aTag,
-    const UString& aThemeDefinition )
-    {
-    	
-    	
-    }
-    
-void ResourcePoolImpl::createFileImageResource( 
-    const Utf8* aTag,
-    const UString& aFileName , TAlfTextureFlags aFlag)
-    {
-    if ( !aTag ) 
-        {
-        throw invalid_argument("NULL ptr");
-        }
-    auto_ptr<Utf8> lowerCaseTag( allocLowerCase( aTag ) );
-    
-    ImageResource* existingResource = findResource( lowerCaseTag.get() );
-    if ( existingResource )
-        {
-        existingResource->mReferenceCount++;
-        return;
-        }
-        
-    // : check that the file exists.
-    
-    auto_ptr<FileImageResource> newFileResource( new (EMM) FileImageResource );
-    newFileResource->mTag = lowerCaseTag.get();
-    lowerCaseTag.release();
-    newFileResource->mType = imageResourceTypeFileOther;
-    newFileResource->mFileName = aFileName;
-    newFileResource->mFlag = aFlag;
-    // check the .svg prefix
-    const long length = aFileName.getCharLength();
-    if ( length > 4 )
-        {
-        auto_ptr<Utf8> lowerCaseTag( allocLowerCase( aFileName.getUtf8() ) );
-        if ( lowerCaseTag.get()[length-4] == '.' &&
-             lowerCaseTag.get()[length-3] == 's' &&
-             lowerCaseTag.get()[length-2] == 'v' &&
-             lowerCaseTag.get()[length-1] == 'g' )
-            {
-            newFileResource->mType = imageResourceTypeFileSVG;
-            }
-        }
-    
-    mResources.resize(mResources.count()+1);
-    mResources.insert(mResources.count(),newFileResource.get());
-    newFileResource.release();
-    }
-
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//    
-void ResourcePoolImpl::deleteImageResource( const Utf8* aTag )
-    {
-    auto_ptr<Utf8> lowerCaseTag( allocLowerCase( aTag ) );
-    
-    ImageResource* existingResource = findResource( lowerCaseTag.get() );
-    if ( !existingResource )
-        {
-        return;
-        }
-    
-    existingResource->mReferenceCount--;
-    if ( existingResource->mReferenceCount > 0 )
-        {
-        // not time to delete yet.
-        return;
-        }
-    
-    const int resouceIndex = findResourceIndex( lowerCaseTag.get() );
-
-    // delete CAlfTexture instances created by this resource
-    if ( resouceIndex != -1 )
-       {
-       ImageResource* resource = mResources[resouceIndex];
-        for ( int textureIndex = 0 ; textureIndex < resource->mLoadedTextures.count() ; textureIndex++ )
-            {
-            const CAlfTexture* texture = mTextureManager.Texture( resource->mLoadedTextures[textureIndex]->mTextureId);
-            if ( texture->Id() == resource->mLoadedTextures[textureIndex]->mTextureId )
-                {
-                // make sure we do not delete blank texure
-                delete texture;
-                
-                if (resource->mLoadedTextures[textureIndex]->mAutoSizeTexture)
-                    {
-                    mTextureManager.RemoveAutoSizeObserver(resource->mLoadedTextures[textureIndex]->mImageLoaderUtil);        
-                    }            
-                }
-            }
-        
-        mResources.remove( resouceIndex );
-       }
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//    
-bool ResourcePoolImpl::hasImageResource( const Utf8* aTag ) const
-    {
-    auto_ptr<Utf8> lowerCaseTag( allocLowerCase( aTag ) );
-    int resouceIndex = findResourceIndex( lowerCaseTag.get() );
-    if ( resouceIndex != -1 )
-        {
-        return true;
-        }
-        
-    return false;
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//      
-void ResourcePoolImpl::setInitialSize( 
-    const Utf8* aTag, 
-    const TAlfXYMetric& aInitialSizeHint )
-    {
-    auto_ptr<Utf8> lowerCaseTag( allocLowerCase( aTag ) );
-    ImageResource* imageResource = findResource( lowerCaseTag.get() );
-    if ( imageResource )
-        {
-        imageResource->mInitialSizeHint = aInitialSizeHint;
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//     
-void ResourcePoolImpl::setAspectRatio( 
-        const Utf8* aTag, 
-        ResourcePool::AspectRatio aAspectRatio )
-    {
-    auto_ptr<Utf8> lowerCaseTag( allocLowerCase( aTag ) );
-    ImageResource* imageResource = findResource( lowerCaseTag.get() );
-    if ( imageResource )
-        {
-        imageResource->mAspectRatio = aAspectRatio;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-TAlfImage ResourcePoolImpl::getImageResource( const Utf8* aTag )
-    {
-    auto_ptr<Utf8> lowerCaseTag( allocLowerCase( aTag ) );
-    ImageResource* imageResource = findResource( lowerCaseTag.get() );
-    if ( imageResource )
-        {
-        return getImageResource( 
-            lowerCaseTag.get() , 
-            imageResource->mInitialSizeHint );
-        }
-    return TAlfImage(); // return empty
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-TAlfImage ResourcePoolImpl::getImageResource( 
-    const Utf8* aTag, 
-    const TAlfXYMetric& aSizeHint )
-    {
-    auto_ptr<Utf8> lowerCaseTag( allocLowerCase( aTag ) );
-    
-    ImageResource* imageResource = findResource( lowerCaseTag.get() );
-    if ( imageResource )
-        {
-        // check if the texture ID with the given size hint is already generated
-        if ( imageResource->mLoadedTextures.count() )
-            {
-            const TSize requestedSize( determineSizeInPixels(aSizeHint) );
-            const CAlfTexture* texture = NULL;
-            for ( TInt idIndex = 0 ; idIndex < imageResource->mLoadedTextures.count() ; idIndex++ )
-                {
-                texture = mTextureManager.Texture(imageResource->mLoadedTextures[idIndex]->mTextureId);
-                if ( texture->Id() != imageResource->mLoadedTextures[idIndex]->mTextureId )
-                    {
-                    // if the texture manager returns blank, return empty.
-                    return TAlfImage(); // return empty
-                    }
-                TSize textureSize( const_cast<CAlfTexture*>(texture)->MaxTextureSize() );
-                if ( textureSize.iWidth == 0 || textureSize.iHeight == 0 )
-                    {
-                    // texture loaded directly with the size, use that.
-                    textureSize = texture->Size();
-                    }
-                
-                const bool autosize = imageResource->mLoadedTextures[idIndex]->mAutoSizeTexture;
-                if ( requestedSize == TSize(0,0) && autosize )
-                    {
-                    // if zero size is requested, we think autosizing image is requested
-                    // and if we find one autosizing texture we return it.
-                    return TAlfImage( *texture );                        
-                    }
-                else if ( areSizesCloseEnough( requestedSize, textureSize ) && !autosize )
-                    {
-                    // we found existing texure -> use that
-                    return TAlfImage( *texture );
-                    }
-                }
-            }
-            
-        // If we have not found a suitable resource, create one.    
-        TAlfImage result;
-        TRAPD( sError , 
-            {
-                
-            // Create new one.
-            switch( imageResource->mType )
-                {
-                case imageResourceTypeSkin:
-                    result = CreateSkinImageResourceL( 
-                        static_cast<SkinImageResource&>( *imageResource ), aSizeHint );
-                    break;
-                    
-                case imageResourceTypeFileOther:
-                    result = CreateFileImageResourceL( 
-                        static_cast<FileImageResource&>( *imageResource ), aSizeHint , imageResource->mFlag );
-                    break;
-                    
-                case imageResourceTypeFileSVG:
-                    result = CreateSVGImageResourceL( 
-                        static_cast<FileImageResource&>( *imageResource ), aSizeHint );
-                    break;
-                    
-                default:
-                    break;
-                }
-            }); // TRAP
-                
-        if ( sError != KErrNone  )
-            {
-            throw invalid_argument("cannot create image resource");
-            }
-        return result;
-        }
-    else
-        {
-        // this pool does not contain the resource, check the parent pool
-        if ( mParentPool )
-            {
-            return mParentPool->getImageResource( lowerCaseTag.get(), aSizeHint );
-            }
-        }
-    
-    return TAlfImage(); // return empty
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-ResourcePoolImpl::ImageResource* ResourcePoolImpl::findResource( const Utf8* aTag ) const
-    {
-    const int index = findResourceIndex( aTag );
-    if ( index != -1 )
-        {
-        return mResources.at(index);
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//    
-int ResourcePoolImpl::findResourceIndex( const Utf8* aTag ) const
-    {
-    for ( int i = 0 ; i < mResources.count() ; i++ )
-        {
-        // : find a better way to compare
-        int c = 0;
-        while ( mResources.at(i)->mTag[c] != '\0' )
-            {
-            if ( mResources.at(i)->mTag[c] != aTag[c] )
-                {
-                break;
-                }
-            c++;
-            }
-            
-        if ( mResources.at(i)->mTag[c] == '\0' && aTag[c] == '\0' )
-            {
-            return i;
-            }
-        }
-    return -1;
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-void ResourcePoolImpl::DetermineSkinInstanceL( 
-    const Utf8* aTag, TAknsItemID& aSkinItemID ) const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-TSize ResourcePoolImpl::determineSizeInPixels( const TAlfXYMetric& aSize )
-    {
-    TSize result(0,0);
-    TRect displayRect(0,0,0,0);
-    
-    // check X
-    if ( aSize.iX.iUnit == EAlfUnitPixel )
-        {
-        result.iWidth = aSize.iX.iMagnitude;
-        }
-    else if ( aSize.iX.iUnit == EAlfUnitDisplaySize )
-        {
-        // check the primary display
-        if ( mTextureManager.Env().DisplayCount() )
-            {
-            const CAlfDisplay& display = mTextureManager.Env().PrimaryDisplay();
-            displayRect = display.VisibleArea();
-            result.iWidth = RoundFloatToInt( TReal32(displayRect.Width())*aSize.iX.iUnit );
-            }
-        }
-        
-    // check Y
-    if ( aSize.iY.iUnit == EAlfUnitPixel )
-        {
-        result.iHeight = aSize.iY.iMagnitude;
-        }
-    else if ( aSize.iY.iUnit == EAlfUnitDisplaySize )
-        {
-        // check the primary display (if not checked already
-        if ( !displayRect.Height() && mTextureManager.Env().DisplayCount() )
-            {
-            const CAlfDisplay& display = mTextureManager.Env().PrimaryDisplay();
-            displayRect = display.VisibleArea();
-            }
-        result.iHeight = RoundFloatToInt( TReal32(displayRect.Height())*aSize.iY.iUnit );
-        }
-        
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-void ResourcePoolImpl::determineSkinId( const UString& aNumberString, int& aSkinItem )
-    {
-    aSkinItem = -1;
-    
-    const unsigned int charLength = aNumberString.getCharLength();
-    if ( charLength )
-        {
-        // there is something
-        // check if we are dealing with hexadecimal entry
-        const string strNumber = aNumberString.getUtf8();
-        if ( charLength > 3 && strNumber.substr(0,2).compare( KResourcePoolHexadecimalPrefix ) == 0 )
-            {
-            // hexa it is
-            aSkinItem = strtol( aNumberString.getUtf8(), NULL, 16 );
-            }
-        else
-            {
-            // try normal decimal number
-            aSkinItem = atoi( aNumberString.getUtf8() );
-            // if the 'atoi' returns 0, make sure it is that
-            if ( aSkinItem == 0 )
-                {
-                if ( aNumberString.getUtf8()[0] != '0' )
-                    {
-                    aSkinItem = -1;
-                    }
-                }
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-TAlfImage ResourcePoolImpl::CreateSkinImageResourceL(
-    SkinImageResource& aSkinImageResource, 
-    const TAlfXYMetric& aSizeHint)
-    {
-    CAlfAutoSizeImageLoaderUtil* imageLoaderUtil = new (ELeave) CAlfAutoSizeImageLoaderUtil;
-    CleanupStack::PushL( imageLoaderUtil );
-    CAlfTexture* texture = NULL;
-    MAlfBitmapProvider* bitmapProvider = NULL;
-
-    TAknsItemID skinId;
-    skinId.Set( aSkinImageResource.mSkinIdMajor, aSkinImageResource.mSkinIdMinor );
-
-    TSize size( determineSizeInPixels(aSizeHint) );
-    imageLoaderUtil->SetSize( size, static_cast<TScaleMode>(aSkinImageResource.mAspectRatio));
-    
-    TInt textureFlags = IMAGE_RESOURCE_SKINNED_TEXTURE_FLAGS;        
-    if (size != TSize(0,0))
-        {
-        // If sizehint was provided, turn autosize off at least for now.
-        textureFlags &= ~EAlfTextureFlagAutoSize;          
-        }
-            
-    if ( aSkinImageResource.mFallBackFileName.getCharLength() )
-        {    
-        HBufC* sUnicodeBuffer = 
-            CnvUtfConverter::ConvertToUnicodeFromUtf8L(
-                TPtrC8((TUint8*)aSkinImageResource.mFallBackFileName.getUtf8()));
-        CleanupStack::PushL( sUnicodeBuffer );
-        bitmapProvider =   
-            imageLoaderUtil->CreateImageLoaderL( 
-                skinId, 
-                *sUnicodeBuffer, 
-                aSkinImageResource.mFallBackIndex,
-                aSkinImageResource.mFallBackMaskIndex );
-        CleanupStack::PopAndDestroy( sUnicodeBuffer );
-        }
-    else
-        {
-        bitmapProvider =  
-            imageLoaderUtil->CreateImageLoaderL( 
-                skinId, 
-                KNullDesC(), 
-                -1,
-                -1 );
-        }
-        
-    texture = &mTextureManager.CreateTextureL( KAlfAutoGeneratedTextureId, bitmapProvider, TAlfTextureFlags(textureFlags));
-    CleanupStack::PushL( texture );
-    
-    // Enable ref counting
-    texture->EnableRefCounting();
-
-    // store texture ID and create image
-    ResourceInstanceData* newResourceInstance = new (ELeave) ResourceInstanceData;
-    newResourceInstance->mTextureId = texture->Id();
-    newResourceInstance->mImageLoaderUtil = imageLoaderUtil;
-    newResourceInstance->mAutoSizeTexture = (textureFlags & EAlfTextureFlagAutoSize);
-    
-    try 
-        {
-        aSkinImageResource.mLoadedTextures.resize(aSkinImageResource.mLoadedTextures.count()+1);
-        aSkinImageResource.mLoadedTextures.insert(aSkinImageResource.mLoadedTextures.count(),newResourceInstance);
-        }
-    catch ( ... )
-        {
-        delete newResourceInstance;
-        User::Leave( KErrNoMemory );
-        }
-    CleanupStack::Pop( texture );
-    CleanupStack::Pop( imageLoaderUtil ); // mLoadedTextures has taken the ownership
-
-    if (textureFlags & EAlfTextureFlagAutoSize)
-        {
-        mTextureManager.AddAutoSizeObserverL(imageLoaderUtil);    
-        }    
-
-    return TAlfImage( *texture );
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-TAlfImage ResourcePoolImpl::CreateFileImageResourceL(
-    FileImageResource& aFileImageResource, 
-    const TAlfXYMetric& aSizeHint ,  TAlfTextureFlags aFlag)
-    {
-    CAlfTexture* texture = NULL;
-   
-    HBufC* sUnicodeBuffer = 
-        CnvUtfConverter::ConvertToUnicodeFromUtf8L(
-            TPtrC8((TUint8*)aFileImageResource.mFileName.getUtf8()));
-    CleanupStack::PushL( sUnicodeBuffer );
-    TSize size(determineSizeInPixels( aSizeHint ) );
-    
-    TInt textureFlags = IMAGE_RESOURCE_DEFAULT_TEXTURE_FLAGS;
-    textureFlags |= aFlag;
-    if (size != TSize(0,0))
-        {
-        // If sizehint was provided, turn autosize off at least for now.
-        textureFlags &= ~EAlfTextureFlagAutoSize;          
-        }
-
-    if ( size.iWidth && size.iHeight )
-        {
-        texture = &mTextureManager.LoadTextureL( 
-            *sUnicodeBuffer,
-            size, 
-            TAlfTextureFlags(textureFlags), 
-            KAlfAutoGeneratedTextureId );
-        }
-    else
-        {
-        texture = &mTextureManager.LoadTextureL( 
-            *sUnicodeBuffer, 
-            TAlfTextureFlags(textureFlags), 
-            KAlfAutoGeneratedTextureId );
-        }
-    CleanupStack::PopAndDestroy( sUnicodeBuffer );
-    CleanupStack::PushL( texture );
-
-    // Enable ref counting
-    texture->EnableRefCounting();
-
-    // store texture ID and create image
-    ResourceInstanceData* newResourceInstance = new (ELeave) ResourceInstanceData;
-    newResourceInstance->mTextureId = texture->Id();
-    newResourceInstance->mAutoSizeTexture = (textureFlags & EAlfTextureFlagAutoSize);
-    
-    try 
-        {
-        aFileImageResource.mLoadedTextures.resize(aFileImageResource.mLoadedTextures.count()+1);
-        aFileImageResource.mLoadedTextures.insert(aFileImageResource.mLoadedTextures.count(),newResourceInstance);
-        }
-    catch ( ... )
-        {
-        delete newResourceInstance;
-        User::Leave( KErrNoMemory );
-        }
-    
-    CleanupStack::Pop( texture );
-    return TAlfImage( *texture );
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-TAlfImage ResourcePoolImpl::CreateSVGImageResourceL(
-    FileImageResource& aSVGImageResource, 
-    const TAlfXYMetric& aSizeHint)
-    {        
-    CAlfAutoSizeImageLoaderUtil* imageLoaderUtil = new (ELeave) CAlfAutoSizeImageLoaderUtil;
-    CleanupStack::PushL( imageLoaderUtil );
-    MAlfBitmapProvider* bitmapProvider = NULL;
-    CAlfTexture* texture = NULL;
-
-    TSize size( determineSizeInPixels(aSizeHint) );
-    imageLoaderUtil->SetSize( size, static_cast<TScaleMode>(aSVGImageResource.mAspectRatio) );
-
-    TInt textureFlags = IMAGE_RESOURCE_SKINNED_TEXTURE_FLAGS;
-    if (size != TSize(0,0))
-        {
-        // If sizehint was provided, turn autosize off at least for now.
-        textureFlags &= ~EAlfTextureFlagAutoSize;          
-        }
-            
-    HBufC* sUnicodeBuffer = 
-        CnvUtfConverter::ConvertToUnicodeFromUtf8L(
-            TPtrC8((TUint8*)aSVGImageResource.mFileName.getUtf8()));
-    CleanupStack::PushL( sUnicodeBuffer );
-    bitmapProvider = imageLoaderUtil->CreateSVGImageLoaderL( *sUnicodeBuffer );
-    CleanupStack::PopAndDestroy( sUnicodeBuffer );
-    
-    texture = &mTextureManager.CreateTextureL( KAlfAutoGeneratedTextureId, bitmapProvider, TAlfTextureFlags(textureFlags));
-    CleanupStack::PushL( texture );
-    
-    // Enable ref counting
-    texture->EnableRefCounting();
-    
-    // store texture ID and create image
-    ResourceInstanceData* newResourceInstance = new (ELeave) ResourceInstanceData;
-    newResourceInstance->mTextureId = texture->Id();
-    newResourceInstance->mImageLoaderUtil = imageLoaderUtil;
-    newResourceInstance->mAutoSizeTexture = (textureFlags & EAlfTextureFlagAutoSize);
-    
-    try 
-        {
-        aSVGImageResource.mLoadedTextures.resize(aSVGImageResource.mLoadedTextures.count()+1);
-        aSVGImageResource.mLoadedTextures.insert(aSVGImageResource.mLoadedTextures.count(),newResourceInstance);
-        }
-    catch ( ... )
-        {
-        delete newResourceInstance;
-        User::Leave( KErrNoMemory );
-        }
-    CleanupStack::Pop( texture );
-    CleanupStack::Pop( imageLoaderUtil ); // mLoadedTextures has taken the ownership 
-
-    if (textureFlags & EAlfTextureFlagAutoSize)
-        {
-        mTextureManager.AddAutoSizeObserverL(imageLoaderUtil);    
-        }    
-
-    return TAlfImage( *texture );
-    }
-    
-bool ResourcePoolImpl::areSizesCloseEnough( const TSize& aSize1, const TSize& aSize2 )
-    {
-    // this is the inteligent part:)
-    // the function tries to determine do we need to rasterize a new texture or use the existing one.
-   
-    // check if the other one is zero size
-    if ( !aSize1.iWidth || !aSize1.iHeight || !aSize2.iWidth || !aSize2.iHeight )
-        {
-        return false;
-        }
-        
-    // check if both are smaller than 10px
-    if ( aSize1.iWidth < 10 && aSize1.iHeight < 10 && aSize2.iWidth < 10 && aSize2.iHeight < 10 )
-        {
-        return true;
-        }
-        
-    // check if both dimensions fit in 10% range.
-    bool result = false;
-    // check width
-    if ( aSize1.iWidth <= aSize2.iWidth*1.1f && aSize1.iWidth >= aSize2.iWidth*0.9f )
-        {
-        // width in the range, chech height
-        if ( aSize1.iHeight <= aSize2.iHeight*1.1f && aSize1.iHeight >= aSize2.iHeight*0.9f )
-            {
-            // height in the range
-            result = true;
-            }
-        }
-    
-    return result;
-    }
-    
-} // namespace Alf
-
--- a/rom/aakash.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Multimedia UI Library iby file.
-*
-*/
-
-
-#ifndef __AAKASH_IBY__
-#define __AAKASH_IBY__
-
-#include "gesturehelper.iby"
-#include "muldatamodel.iby"
-// #include "mulsingleitemmodel.iby"
-#include "mulutility.iby"
-//#include "mulgridwidget.iby"
-//#include "mullistwidget.iby"
-#include "mulcoverflowwidget.iby"
-//#include "mulsoftkeywidget.iby"
-#include "mulsliderwidget.iby"
-//#include "multoolbarwidget.iby"
-//#include "mulmetapanewidget.iby"
-
-
-#endif // __AAKASH_IBY__
-// End of file
\ No newline at end of file
--- a/rom/alfcollect.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2009 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: Grouped IBY file.
-*
-*/
-#ifndef __ALFCOLLECT_IBY__
-#define __ALFCOLLECT_IBY__
-
-#include <bldvariant.hrh>
-
-
-//#include <alfeditors.iby>
-
-#include "alfresourcepool.iby"
-//#include <alfwidgets.iby>
-// #include <declarativeui.iby>
-#include "osncore.iby"
-// #include <thememanagement.iby>
-// #include <uimodel.iby>
-#include "widgetmodel.iby"
-// #include <lctmanager.iby>
-// Effects are not included into rom by default
-//#include <alftranseffectplugin.iby>
-
-#endif // __ALFCOLLECT_IBY__
--- a/rom/alfeditors.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2009 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: AlfEditors iby file
-*
-*/
-#ifndef __ALFEDITORS_IBY__
-#define __ALFEDITORS_IBY__
-
-#include <bldvariant.hrh>
-
-#ifdef FF_ROM_INCLUDE_ALF 
-#ifndef __SERIES60_30__
-file=ABI_DIR\BUILD_DIR\alfwidgeteditors.dll          SHARED_LIB_DIR\alfwidgeteditors.dll
-file=ABI_DIR\BUILD_DIR\alfwidgeteditortools.dll        SHARED_LIB_DIR\alfwidgeteditortools.dll
-#endif // #ifndef __SERIES60_30__
-
-#endif // #ifdef FF_ROM_INCLUDE_ALF
-
-#endif
--- a/rom/alfred.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2009 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: Alf iby file.
-*
-*/
-#ifndef __ALFRED_IBY__
-#define __ALFRED_IBY__
-
-#include <bldvariant.hrh>
-
-REM ALFRED
-
-// TEMP
-// New IBY file exporting improvements in 5.0 says that no need to include other IBY files
-#ifndef __S60_50__
-#include <aknfepuiinterface.iby>
-#endif
-
-#ifdef FF_ROM_INCLUDE_ALF 
-
-// HUIToolkit
-file=ABI_DIR\BUILD_DIR\hitchcock.dll            SHARED_LIB_DIR\hitchcock.dll
-
-#ifndef __SERIES60_30__
-// client
-file=ABI_DIR\BUILD_DIR\alfclient.dll            SHARED_LIB_DIR\alfclient.dll
-
-// App Server exe
-file=ABI_DIR\BUILD_DIR\alfredserver.exe         PROGRAMS_DIR\alfredserver.exe
-data=DATAZ_\APP_RESOURCE_DIR\alfredserver.RSC 	APP_RESOURCE_DIR\alfredserver.rsc
-data=ZSYSTEM\..\PRIVATE\10003A3F\APPS\alfredserver_REG.RSC Private\10003a3f\apps\alfredserver_reg.rsc
-
-// Server core
-file=ABI_DIR\BUILD_DIR\alfappservercore.dll     SHARED_LIB_DIR\alfappservercore.dll
-
-// File token server
-file=ABI_DIR\BUILD_DIR\ftokenclient.dll        SHARED_LIB_DIR\ftokenclient.dll
-file=ABI_DIR\BUILD_DIR\!ftokenserver.exe       PROGRAMS_DIR\!ftokenserver.exe
-
-
-// Stub sis file
-data=ABI_DIR\BUILD_DIR\uiaccelerator_stub.sis system\install\uiaccelerator_stub.sis
-
-#endif // #ifndef __SERIES60_30__
-
-#endif // #ifdef FF_ROM_INCLUDE_ALF
-
-#endif
--- a/rom/alfresourcepool.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2009 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: Alf Resourse Pool iby file.
-*
-*/
-#ifndef __ALFRESOURCEPOOL_IBY__
-#define __ALFRESOURCEPOOL_IBY__
-
-#include <bldvariant.hrh>
-
-file=ABI_DIR\BUILD_DIR\alfresourcepool.dll       	SHARED_LIB_DIR\alfresourcepool.dll
-
-#endif // __ALFRESOURCEPOOL_IBY__
--- a/rom/alftranseffectplugin.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/*
-* Copyright (c) 2009 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: Transeffectplugin iby file.
-*
-*/
-
-#ifndef ALFTRANSEFFECTPLUGIN_IBY
-#define ALFTRANSEFFECTPLUGIN_IBY
-
-ECOM_PLUGIN(AlfTransEffectPlugin.dll, AlfTransEffectPlugin.rsc)
-
-#endif // ALFTRANSEFFECTPLUGIN_IBY
\ No newline at end of file
--- a/rom/alfwidgets.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2009 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: alfwidgets iby file.
-*
-*/
-#ifndef __ALFWIDGETS_IBY__
-#define __ALFWIDGETS_IBY__
-
-#include <bldvariant.hrh>
-
-
-ECOM_PLUGIN( alfcontainerwidget.dll , alfcontainerwidget.rsc )
-ECOM_PLUGIN( alfscrollbarwidget.dll , alfscrollbarwidget.rsc )
-ECOM_PLUGIN( alfviewwidget.dll , alfviewwidget.rsc )
-
-#endif // __ALFWIDGETS_IBY__
--- a/rom/declarativeui.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2009 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: DUI iby file.
-*
-*/
-#ifndef __DECLARATIVEUI_IBY__
-#define __DECLARATIVEUI_IBY__
-
-#include <bldvariant.hrh>
-
-file=ABI_DIR\BUILD_DIR\duiengine.dll            SHARED_LIB_DIR\duiengine.dll
-file=ABI_DIR\BUILD_DIR\duiinterpreter.dll       SHARED_LIB_DIR\duiinterpreter.dll
-
-#endif // __DECLARATIVEUI_IBY__
--- a/rom/lctmanager.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2009 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: LCT Manager iby file.
-*
-*/
-#ifndef __LCTMANAGER_IBY__
-#define __LCTMANAGER_IBY__
-
-#include <bldvariant.hrh>
-
-file=ABI_DIR\BUILD_DIR\lctmanager.dll       	SHARED_LIB_DIR\lctmanager.dll
-
-#endif // __LCTMANAGER_IBY__
--- a/rom/osncore.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2009 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: OSN core iby file.
-*
-*/
-#ifndef __OSNCORE_IBY__
-#define __OSNCORE_IBY__
-
-#include <bldvariant.hrh>
-
-file=ABI_DIR\BUILD_DIR\osncore.dll       	SHARED_LIB_DIR\osncore.dll
-
-#endif // __OSNCORE_IBY__
--- a/rom/thememanagement.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2009 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: Thememanagement iby file.
-*
-*/
-#ifndef __THEMEMANAGEMENT_IBY__
-#define __THEMEMANAGEMENT_IBY__
-
-#include <bldvariant.hrh>
-
-
-file=ABI_DIR\BUILD_DIR\ThemeManager.dll       	SHARED_LIB_DIR\ThemeManager.dll
-file=ABI_DIR\BUILD_DIR\skindata.dll             SHARED_LIB_DIR\skindata.dll
-
-
-#endif // __THEMEMANAGEMENT_IBY__
--- a/rom/uimodel.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2009 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: uimodel iby file.
-*
-*/
-#ifndef __UIMODEL_IBY__
-#define __UIMODEL_IBY__
-
-#include <bldvariant.hrh>
-
-file=ABI_DIR\BUILD_DIR\duinode.dll            	SHARED_LIB_DIR\duinode.dll
-file=ABI_DIR\BUILD_DIR\duinodeiterator.dll      SHARED_LIB_DIR\duinodeiterator.dll
-
-#endif // __UIMODEL_IBY__
--- a/rom/widgetmodel.iby	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2009 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: widgetmodel iby file.
-*
-*/
-#ifndef __WIDGETMODEL_IBY__
-#define __WIDGETMODEL_IBY__
-
-#include <bldvariant.hrh>
-
-file=ABI_DIR\BUILD_DIR\alfwidgetmodel.dll       SHARED_LIB_DIR\alfwidgetmodel.dll
-file=ABI_DIR\BUILD_DIR\alfwidgetutils.dll       SHARED_LIB_DIR\alfwidgetutils.dll
-
-// ECOM_PLUGIN( alflctlayoutmanagers.dll , alflctlayoutmanagers.rsc )
-ECOM_PLUGIN( alfwidgetfactory.dll , alfwidgetfactory.rsc )
-
-#endif // __WIDGETMODEL_IBY__
--- a/sysdef_1_4_0.dtd	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
- <!ELEMENT SystemDefinition (systemModel?, build?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (logicalset* | module*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  levels CDATA #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalset name CDATA #REQUIRED>
- <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalsubset name CDATA #REQUIRED>
- <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
- <!ATTLIST module
-  name CDATA #REQUIRED
-  level CDATA #IMPLIED>
- <!ELEMENT component (unit* | package* | prebuilt*)*>
- <!ATTLIST component name CDATA #REQUIRED>
- <!ELEMENT unit EMPTY>
- <!ATTLIST unit
-  unitID ID #REQUIRED
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  bldFile CDATA #REQUIRED
-  priority CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT package EMPTY>
- <!ATTLIST package
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT prebuilt EMPTY>
- <!ATTLIST prebuilt
-  name CDATA #REQUIRED
-  version CDATA #REQUIRED
-  late (Y|N) #IMPLIED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
- <!ELEMENT unitList (unitRef+)>
- <!ATTLIST unitList
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT unitRef EMPTY>
- <!ATTLIST unitRef unit IDREF #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y | N | y | n) #REQUIRED>
- <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
- <!ELEMENT unitListRef EMPTY>
- <!ATTLIST unitListRef unitList IDREF #REQUIRED>
- <!ELEMENT layerRef EMPTY>
- <!ATTLIST layerRef layerName CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y | N | y | n) #REQUIRED
-  targetParallel (Y | N | y | n) #IMPLIED>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  command CDATA #REQUIRED>  
--- a/systemDefinition.xml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE SystemDefinition SYSTEM "systemDefinition.dtd"[
-<!DOCTYPE SystemDefinition SYSTEM "\epoc32\tools\systemdefinition\systemdefinition.dtd"[
-
-
- 	<!ENTITY layer_real_source_path "sf\mw\mmuifw">
- 	<!ENTITY layer_name "mmuifw">
-
- 	<!ENTITY layer_file SYSTEM "systemDefinitionLayer.xml">
- 	<!ENTITY targetDefinition_file SYSTEM "/epoc32/tools/systemDefinition/targetDefinition.xml">
- 	<!ENTITY defaultbuild_file SYSTEM "/epoc32/tools/systemDefinition/default_build.xml">
- 	<!ENTITY defaultclean_file SYSTEM "/epoc32/tools/systemDefinition/default_clean.xml">
-]>
-
-<SystemDefinition name="SystemDefinition" schema="1.4.0">
-  <systemModel>
-			&layer_file;
-  </systemModel>
-  <build>
-			&targetDefinition_file;
-
-		<configuration name="build_mmuifw" description="build layer" filter="">
-    	<layerRef layerName="&layer_name;"/>
-				&defaultbuild_file;
-    </configuration>
-
-		<configuration name="clean" description="clean layer" filter="">
-    	<layerRef layerName="&layer_name;"/>
-				&defaultclean_file;
-    </configuration>
-
-  </build>
-</SystemDefinition>
--- a/systemDefinitionLayer.xml	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,589 +0,0 @@
-<layer name="mmuifw">
-  <module name="group_mmuifw">
-    <component name="group_mmuifw">
-      <unit unitID="mmuifw" mrp="" bldFile="&layer_real_source_path;\group" name="mmuifw" />
-    </component>
-  </module>
-  
-  <module name = "alfwidgetutils">
-		<component name = "alfwidgetutils">
-		 		<unit unitID = "mmuifw_alfwidgetutils" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\alfwidgetutils\group" name= "alfwidgetutils"/>
-		</component>
-</module>
-
-
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_alfwidgetutils_internal_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\alfwidgetutils\internal\test\group" name= "test"/>
-		</component>
-</module>
-
-
-
-
-<module name = "declarativeui">
-		<component name = "declarativeui">
-		 		<unit unitID = "mmuifw_declarativeui" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\declarativeui\group" name= "declarativeui"/>
-		</component>
-</module>
-<module name = "declarativeuiengine">
-		<component name = "declarativeuiengine">
-		 		<unit unitID = "mmuifw_declarativeui_declarativeuiengine" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\declarativeui\declarativeuiengine\group" name= "declarativeuiengine"/>
-		</component>
-</module>
-
-
-
-<module name = "ut_duiengine">
-		<component name = "ut_duiengine">
-		 		<unit unitID = "mmuifw_declarativeui_declarativeuiengine_internal_ut_duiengine" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\declarativeui\declarativeuiengine\internal\ut_duiengine\group" name= "ut_duiengine"/>
-		</component>
-</module>
-
-
-
-
-<module name = "interpreter">
-z		<component name = "interpreter">
-		 		<unit unitID = "mmuifw_declarativeui_interpreter" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\declarativeui\interpreter\group" name= "interpreter"/>
-		</component>
-</module>
-
-
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_declarativeui_interpreter_internal_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\declarativeui\interpreter\internal\test\group" name= "test"/>
-		</component>
-</module>
-<module name = "internal">
-		<component name = "internal">
-		 		<unit unitID = "mmuifw_internal" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\internal\group" name= "internal"/>
-		</component>
-</module>
-<module name = "configchanges">
-		<component name = "configchanges">
-		 		<unit unitID = "mmuifw_internal_configchanges" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\internal\configchanges\group" name= "configchanges"/>
-		</component>
-</module>
-
-<module name = "lctmanagement">
-		<component name = "lctmanagement">
-		 		<unit unitID = "mmuifw_lctmanagement" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\lctmanagement\group" name= "lctmanagement"/>
-		</component>
-</module>
-
-<module name = "lctmanager">
-		<component name = "lctmanager">
-		 		<unit unitID = "mmuifw_lctmanagement_lctmanager" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\lctmanagement\lctmanager\group" name= "lctmanager"/>
-		</component>
-</module>
-
-
-<module name = "Test">
-		<component name = "Test">
-		 		<unit unitID = "mmuifw_lctmanagement_lctmanager_internal_Test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\lctmanagement\lctmanager\internal\Test\group" name= "Test"/>
-		</component>
-</module>
-
-
-<module name = "osncore">
-		<component name = "osncore">
-		 		<unit unitID = "mmuifw_osncore" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\osncore\group" name= "osncore"/>
-		</component>
-</module>
-<module name = "osncore">
-		<component name = "osncore">
-		 		<unit unitID = "mmuifw_osncore_osncore" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\osncore\osncore\group" name= "osncore"/>
-		</component>
-</module>
-
-
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_osncore_osncore_internal_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\osncore\osncore\internal\test\group" name= "test"/>
-		</component>
-</module>
-
-
-
-<module name = "resourcepool">
-		<component name = "resourcepool">
-		 		<unit unitID = "mmuifw_resourcepool" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\resourcepool\group" name= "resourcepool"/>
-		</component>
-</module>
-
-<module name = "EUnit_tests">
-		<component name = "EUnit_tests">
-		 		<unit unitID = "mmuifw_resourcepool_internal_EUnit_tests" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\resourcepool\internal\EUnit_tests\group" name= "EUnit_tests"/>
-		</component>
-</module>
-
-<module name = "t_alfresourcepool">
-		<component name = "t_alfresourcepool">
-		 		<unit unitID = "mmuifw_resourcepool_internal_t_alfresourcepool" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\resourcepool\internal\t_alfresourcepool\group" name= "t_alfresourcepool"/>
-		</component>
-</module>
-<module name = "thememanagement">
-		<component name = "thememanagement">
-		 		<unit unitID = "mmuifw_thememanagement" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\thememanagement\group" name= "thememanagement"/>
-		</component>
-</module>
-
-<module name = "ThemeManager">
-		<component name = "ThemeManager">
-		 		<unit unitID = "mmuifw_thememanagement_ThemeManager" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\thememanagement\ThemeManager\group" name= "ThemeManager"/>
-		</component>
-</module>
-
-
-
-<module name = "FunctionalTest">
-		<component name = "FunctionalTest">
-		 		<unit unitID = "mmuifw_thememanagement_ThemeManager_internal_FunctionalTest" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\thememanagement\ThemeManager\internal\FunctionalTest\group" name= "FunctionalTest"/>
-		</component>
-</module>
-<module name = "TestAnimation">
-		<component name = "TestAnimation">
-		 		<unit unitID = "mmuifw_thememanagement_ThemeManager_internal_FunctionalTest_TestAnimation" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\thememanagement\ThemeManager\internal\FunctionalTest\TestAnimation\group" name= "TestAnimation"/>
-		</component>
-</module>
-<module name = "TestFrameImage">
-		<component name = "TestFrameImage">
-		 		<unit unitID = "mmuifw_thememanagement_ThemeManager_internal_FunctionalTest_TestFrameImage" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\thememanagement\ThemeManager\internal\FunctionalTest\TestFrameImage\group" name= "TestFrameImage"/>
-		</component>
-</module>
-<module name = "TestLocalization">
-		<component name = "TestLocalization">
-		 		<unit unitID = "mmuifw_thememanagement_ThemeManager_internal_FunctionalTest_TestLocalization" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\thememanagement\ThemeManager\internal\FunctionalTest\TestLocalization\group" name= "TestLocalization"/>
-		</component>
-</module>
-<module name = "TestSkinImage">
-		<component name = "TestSkinImage">
-		 		<unit unitID = "mmuifw_thememanagement_ThemeManager_internal_FunctionalTest_TestSkinImage" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\thememanagement\ThemeManager\internal\FunctionalTest\TestSkinImage\group" name= "TestSkinImage"/>
-		</component>
-</module>
-<module name = "testing">
-		<component name = "testing">
-		 		<unit unitID = "mmuifw_thememanagement_ThemeManager_internal_testing" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\thememanagement\ThemeManager\internal\testing\group" name= "testing"/>
-		</component>
-</module>
-
-
-
-
-
-
-<module name = "TestThemeManager">
-		<component name = "TestThemeManager">
-		 		<unit unitID = "mmuifw_thememanagement_ThemeManager_internal_TestThemeManager" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\thememanagement\ThemeManager\internal\TestThemeManager\group" name= "TestThemeManager"/>
-		</component>
-</module>
-<module name = "uimodel">
-		<component name = "uimodel">
-		 		<unit unitID = "mmuifw_uimodel" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\uimodel\group" name= "uimodel"/>
-		</component>
-</module>
-
-<module name = "node">
-		<component name = "node">
-		 		<unit unitID = "mmuifw_uimodel_node" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\uimodel\node\group" name= "node"/>
-		</component>
-</module>
-
-
-
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_uimodel_node_internal_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\uimodel\node\internal\test\group" name= "test"/>
-		</component>
-</module>
-
-<module name = "nodeiterator">
-		<component name = "nodeiterator">
-		 		<unit unitID = "mmuifw_uimodel_nodeiterator" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\uimodel\nodeiterator\group" name= "nodeiterator"/>
-		</component>
-</module>
-
-
-
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_uimodel_nodeiterator_internal_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\uimodel\nodeiterator\internal\test\group" name= "test"/>
-		</component>
-</module>
-
-<module name = "widgeteditors">
-		<component name = "widgeteditors">
-		 		<unit unitID = "mmuifw_widgeteditors" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgeteditors\group" name= "widgeteditors"/>
-		</component>
-</module>
-<module name = "alfeditors">
-		<component name = "alfeditors">
-		 		<unit unitID = "mmuifw_widgeteditors_alfeditors" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgeteditors\alfeditors\group" name= "alfeditors"/>
-		</component>
-</module>
-<module name = "alfeditortools">
-		<component name = "alfeditortools">
-		 		<unit unitID = "mmuifw_widgeteditors_alfeditortools" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgeteditors\alfeditortools\group" name= "alfeditortools"/>
-		</component>
-</module>
-
-<module name = "unittests">
-		<component name = "unittests">
-		 		<unit unitID = "mmuifw_widgeteditors_internal_unittests" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgeteditors\internal\unittests\group" name= "unittests"/>
-		</component>
-</module>
-
-
-
-
-
-
-<module name = "widgetmodel">
-		<component name = "widgetmodel">
-		 		<unit unitID = "mmuifw_widgetmodel" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgetmodel\group" name= "widgetmodel"/>
-		</component>
-</module>
-<module name = "alfcustomlayoutmanagers">
-		<component name = "alfcustomlayoutmanagers">
-		 		<unit unitID = "mmuifw_widgetmodel_alfcustomlayoutmanagers" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgetmodel\alfcustomlayoutmanagers\group" name= "alfcustomlayoutmanagers"/>
-		</component>
-</module>
-<module name = "alflctlayoutmanagers">
-		<component name = "alflctlayoutmanagers">
-		 		<unit unitID = "mmuifw_widgetmodel_alfcustomlayoutmanagers_alflctlayoutmanagers" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgetmodel\alfcustomlayoutmanagers\alflctlayoutmanagers\group" name= "alflctlayoutmanagers"/>
-		</component>
-</module>
-<module name = "alfwidgetfactory">
-		<component name = "alfwidgetfactory">
-		 		<unit unitID = "mmuifw_widgetmodel_alfwidgetfactory" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgetmodel\alfwidgetfactory\group" name= "alfwidgetfactory"/>
-		</component>
-</module>
-
-
-<module name = "Test">
-		<component name = "Test">
-		 		<unit unitID = "mmuifw_widgetmodel_alfwidgetfactory_internal_Test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgetmodel\alfwidgetfactory\internal\Test\group" name= "Test"/>
-		</component>
-</module>
-
-
-
-<module name = "alfwidgetmodel">
-		<component name = "alfwidgetmodel">
-		 		<unit unitID = "mmuifw_widgetmodel_alfwidgetmodel" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgetmodel\alfwidgetmodel\group" name= "alfwidgetmodel"/>
-		</component>
-</module>
-
-
-
-
-
-
-<module name = "Aakash">
-		<component name = "Aakash">
-		 		<unit unitID = "mmuifw_widgets_Aakash" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\group" name= "Aakash"/>
-		</component>
-</module>
-
-<module name = "common">
-		<component name = "common">
-		 		<unit unitID = "mmuifw_widgets_Aakash_common" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\common\group" name= "common"/>
-		</component>
-</module>
-
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_widgets_Aakash_common_internal_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\common\internal\test\group" name= "test"/>
-		</component>
-</module>
-
-<module name = "mulsingleitemmodel">
-		<component name = "mulsingleitemmodel">
-		 		<unit unitID = "mmuifw_widgets_Aakash_common_mulsingleitemmodel" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\common\mulsingleitemmodel\group" name= "mulsingleitemmodel"/>
-		</component>
-</module>
-
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_widgets_Aakash_common_mulsingleitemmodel_internal_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\common\mulsingleitemmodel\internal\test\group" name= "test"/>
-		</component>
-</module>
-
-
-<module name = "gesturehelper">
-		<component name = "gesturehelper">
-		 		<unit unitID = "mmuifw_widgets_Aakash_gesturehelper" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\gesturehelper\group" name= "gesturehelper"/>
-		</component>
-</module>
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_widgets_Aakash_gesturehelper_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\gesturehelper\test\group" name= "test"/>
-		</component>
-</module>
-<module name = "gesturetest">
-		<component name = "gesturetest">
-		 		<unit unitID = "mmuifw_widgets_Aakash_gesturehelper_test_gesturetest" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\gesturehelper\test\gesturetest\group" name= "gesturetest"/>
-		</component>
-</module>
-
-
-
-<module name = "configchanges">
-		<component name = "configchanges">
-		 		<unit unitID = "mmuifw_widgets_Aakash_internal_configchanges" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\internal\configchanges\group" name= "configchanges"/>
-		</component>
-</module>
-<module name = "mullogging">
-		<component name = "mullogging">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mullogging" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mullogging\group" name= "mullogging"/>
-		</component>
-</module>
-<module name = "mulwidgets">
-		<component name = "mulwidgets">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\group" name= "mulwidgets"/>
-		</component>
-</module>
-
-
-<module name = "MMenuProto">
-		<component name = "MMenuProto">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_Internal_ProtoType_MMenuProto" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\Internal\ProtoType\MMenuProto\group" name= "MMenuProto"/>
-		</component>
-</module>
-<module name = "mulcoverflowwidget">
-		<component name = "mulcoverflowwidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulcoverflowwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulcoverflowwidget\group" name= "mulcoverflowwidget"/>
-		</component>
-</module>
-
-
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulcoverflowwidget_internal_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulcoverflowwidget\internal\test\group" name= "test"/>
-		</component>
-</module>
-<module name = "testcoverflowwidget">
-		<component name = "testcoverflowwidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulcoverflowwidget_internal_test_testcoverflowwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulcoverflowwidget\internal\test\testcoverflowwidget\group" name= "testcoverflowwidget"/>
-		</component>
-</module>
-
-
-
-
-<module name = "mulgridwidget">
-		<component name = "mulgridwidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulgridwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulgridwidget\group" name= "mulgridwidget"/>
-		</component>
-</module>
-
-
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulgridwidget_internal_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulgridwidget\internal\test\group" name= "test"/>
-		</component>
-</module>
-<module name = "testgridwidget">
-		<component name = "testgridwidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulgridwidget_internal_test_testgridwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulgridwidget\internal\test\testgridwidget\group" name= "testgridwidget"/>
-		</component>
-</module>
-
-
-
-
-<module name = "mullistwidget">
-		<component name = "mullistwidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mullistwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mullistwidget\group" name= "mullistwidget"/>
-		</component>
-</module>
-
-
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mullistwidget_internal_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mullistwidget\internal\test\group" name= "test"/>
-		</component>
-</module>
-<module name = "testlistwidget">
-		<component name = "testlistwidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mullistwidget_internal_test_testlistwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mullistwidget\internal\test\testlistwidget\group" name= "testlistwidget"/>
-		</component>
-</module>
-
-
-
-
-<module name = "mulmetapanewidget">
-		<component name = "mulmetapanewidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulmetapanewidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulmetapanewidget\group" name= "mulmetapanewidget"/>
-		</component>
-</module>
-
-
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulmetapanewidget_internal_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulmetapanewidget\internal\test\group" name= "test"/>
-		</component>
-</module>
-<module name = "testmetapanewidget">
-		<component name = "testmetapanewidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulmetapanewidget_internal_test_testmetapanewidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulmetapanewidget\internal\test\testmetapanewidget\group" name= "testmetapanewidget"/>
-		</component>
-</module>
-
-
-
-
-<module name = "mulsliderwidget">
-		<component name = "mulsliderwidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulsliderwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulsliderwidget\group" name= "mulsliderwidget"/>
-		</component>
-</module>
-
-
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulsliderwidget_internal_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulsliderwidget\internal\test\group" name= "test"/>
-		</component>
-</module>
-<module name = "testsliderwidget">
-		<component name = "testsliderwidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulsliderwidget_internal_test_testsliderwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulsliderwidget\internal\test\testsliderwidget\group" name= "testsliderwidget"/>
-		</component>
-</module>
-
-
-
-
-
-
-
-
-
-
-<module name = "mulsoftkeywidget">
-		<component name = "mulsoftkeywidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulsoftkeywidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulsoftkeywidget\group" name= "mulsoftkeywidget"/>
-		</component>
-</module>
-
-
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulsoftkeywidget_internal_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulsoftkeywidget\internal\test\group" name= "test"/>
-		</component>
-</module>
-<module name = "testsoftkeywidget">
-		<component name = "testsoftkeywidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_mulsoftkeywidget_internal_test_testsoftkeywidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\mulsoftkeywidget\internal\test\testsoftkeywidget\group" name= "testsoftkeywidget"/>
-		</component>
-</module>
-
-
-
-
-
-<module name = "multoolbarwidget">
-		<component name = "multoolbarwidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_multoolbarwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\multoolbarwidget\group" name= "multoolbarwidget"/>
-		</component>
-</module>
-
-
-<module name = "test">
-		<component name = "test">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_multoolbarwidget_internal_test" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\multoolbarwidget\internal\test\group" name= "test"/>
-		</component>
-</module>
-<module name = "testtoolbarwidget">
-		<component name = "testtoolbarwidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_multoolbarwidget_internal_test_testtoolbarwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\multoolbarwidget\internal\test\testtoolbarwidget\group" name= "testtoolbarwidget"/>
-		</component>
-</module>
-
-
-
-
-
-<module name = "recyling_protos">
-		<component name = "recyling_protos">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_recyling_protos" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\recyling_protos\group" name= "recyling_protos"/>
-		</component>
-</module>
-<module name = "common">
-		<component name = "common">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_recyling_protos_common" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\recyling_protos\common\group" name= "common"/>
-		</component>
-</module>
-<module name = "mulsingleitemmodel">
-		<component name = "mulsingleitemmodel">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_recyling_protos_common_mulsingleitemmodel" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\recyling_protos\common\mulsingleitemmodel\group" name= "mulsingleitemmodel"/>
-		</component>
-</module>
-<module name = "mullistwidget">
-		<component name = "mullistwidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_recyling_protos_mullistwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\recyling_protos\mullistwidget\group" name= "mullistwidget"/>
-		</component>
-</module>
-
-
-
-<module name = "testlistwidget">
-		<component name = "testlistwidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_recyling_protos_mullistwidget_internal_test_testlistwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\recyling_protos\mullistwidget\internal\test\testlistwidget\group" name= "testlistwidget"/>
-		</component>
-</module>
-<module name = "mul_listwidget_api">
-		<component name = "mul_listwidget_api">
-		 		<unit unitID = "mmuifw_widgets_Aakash_mulwidgets_recyling_protos_mul_listwidget_api" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\mulwidgets\recyling_protos\mul_listwidget_api\group" name= "mul_listwidget_api"/>
-		</component>
-</module>
-<module name = "performancetest">
-		<component name = "performancetest">
-		 		<unit unitID = "mmuifw_widgets_Aakash_performancetest" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\performancetest\group" name= "performancetest"/>
-		</component>
-</module>
-<module name = "avkonlist">
-		<component name = "avkonlist">
-		 		<unit unitID = "mmuifw_widgets_Aakash_performancetest_avkonlist" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\performancetest\avkonlist\group" name= "avkonlist"/>
-		</component>
-</module>
-
-<module name = "gridwidget">
-		<component name = "gridwidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_performancetest_gridwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\performancetest\gridwidget\group" name= "gridwidget"/>
-		</component>
-</module>
-
-<module name = "listwidget">
-		<component name = "listwidget">
-		 		<unit unitID = "mmuifw_widgets_Aakash_performancetest_listwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\Aakash\performancetest\listwidget\group" name= "listwidget"/>
-		</component>
-</module>
-
-<module name = "alfwidgets">
-		<component name = "alfwidgets">
-		 		<unit unitID = "mmuifw_widgets_alfwidgets" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\alfwidgets\group" name= "alfwidgets"/>
-		</component>
-</module>
-<module name = "alfcontainerwidget">
-		<component name = "alfcontainerwidget">
-		 		<unit unitID = "mmuifw_widgets_alfwidgets_alfcontainerwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\alfwidgets\alfcontainerwidget\group" name= "alfcontainerwidget"/>
-		</component>
-</module>
-
-<module name = "alfscrollbarwidget">
-		<component name = "alfscrollbarwidget">
-		 		<unit unitID = "mmuifw_widgets_alfwidgets_alfscrollbarwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\alfwidgets\alfscrollbarwidget\group" name= "alfscrollbarwidget"/>
-		</component>
-</module>
-
-<module name = "alfviewwidget">
-		<component name = "alfviewwidget">
-		 		<unit unitID = "mmuifw_widgets_alfwidgets_alfviewwidget" mrp = "" filter = "not_build" bldFile = "&layer_real_source_path;\widgets\alfwidgets\alfviewwidget\group" name= "alfviewwidget"/>
-		</component>
-</module>
-
-</layer>
-
--- a/widgetmodel/alfwidgetfactory/group/alfwidgetfactory.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Project definition file for project alfclient
-*
-*/
-
-#include <platform_paths.hrh>
-
-
-TARGET                  alfwidgetfactory.dll
-TARGETTYPE              PLUGIN
-UID                     0x10009d8d 0x10282329
-
-
-CAPABILITY              CAP_ECOM_PLUGIN
-VENDORID                VID_DEFAULT
-
-#ifndef __WINSCW__
-EPOCALLOWDLLDATA
-#endif
-
-SOURCEPATH              ../src
-SOURCE                  alfwidgetfactoryplugin.cpp
-SOURCE                  alfwidgetfactory.cpp
-
-USERINCLUDE             ../inc 
-USERINCLUDE             ../../../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-OS_LAYER_LIBC_SYSTEMINCLUDE
-
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-LIBRARY                 euser.lib
-LIBRARY                 libc.lib
-
-LIBRARY                 alfclient.lib
-LIBRARY                 alfwidgetutils.lib
-LIBRARY                 osncore.lib
-LIBRARY                 libstdcpp.lib
-#define ALF_LINK_STDCPP_DLL
-// following include must be after definition
-
-LIBRARY         		libpthread.lib
-
-LANG                    SC
-START RESOURCE          10282329.rss
-#ifdef SYMBIAN_SECURE_ECOM
-TARGET                  alfwidgetfactory.rsc
-#endif
-END
-
-             
--- a/widgetmodel/alfwidgetfactory/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Build information file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-
-PRJ_MMPFILES
-alfwidgetfactory.mmp
-
-PRJ_TESTMMPFILES
-
-
-
-PRJ_TESTEXPORTS
--- a/widgetmodel/alfwidgetfactory/inc/alfwidgetfactory.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* Copyright (c) 2007-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 factory interface implementation
-*
-*/
-
-
-#ifndef ALFWIDGETFACTORY_H
-#define ALFWIDGETFACTORY_H
-
-//OSN core includes
-#include <osn/alfptrvector.h>
-
-//Widget Utils Includes
-#include <alf/alffactorypluginloader.h>
-#include <alf/alftypes.h>
-
-//Widget Factory Includes
-#include <alf/ialfwidgetfactory.h>
-
-//Forward declarations 
-class CAlfEnv;
-class CAlfDisplay;
-
-//Namespaces
-namespace duiuimodel
-{
-class DuiNode;        
-}
-
-using namespace duiuimodel;
-using namespace osncore;
-   
-namespace Alf
-    {
-//Forward declarations  
-class IAlfWidgetControl;
-
-
-/**
- *  @class AlfWidgetFactory alfwidgetfactory.h "alf/alfwidgetfactory.h"
- *
- *  Widget factory implementation.
- *
- *  @lib alfwidgetfactory.lib
- *  @since S60 ?S60_version
- *  @status Draft
- *  @interfaces IAlfWidgetFactory.
- */
-class AlfWidgetFactory: public IAlfWidgetFactory
-    {
-public: 
-    /**
-     * Destructor.
-     */
-    ~AlfWidgetFactory();
-
-    /**
-     * Explicit Parametrized Constructor
-     */    
-    explicit AlfWidgetFactory(CAlfEnv& aEnv);
-       
-public: 
-    
-    // From IAlfWidgetFactory
-
-    /**
-     * @see IAlfWidgetFactory.
-     */
-    IAlfViewWidget* createViewWidget(
-        const char* aInstanceId, 
-        int aControlGroupID, 
-        DuiNode* aNode=0, 
-        CAlfDisplay* aDisplay=0, 
-        const char* aFilePath=0, 
-        AlfCustomInitDataBase* aCustomData=0);
-
-    /**
-     * @see IAlfWidgetFactory.
-     */
-    IAlfWidget* createWidget(
-        const char* aLoadId, 
-        const char* aInstanceId, 
-        IAlfContainerWidget& aContainerWidget, 
-        DuiNode* aNode=0, 
-        const char* aFilePath=0,
-        AlfCustomInitDataBase* aCustomData=0);
-
-    /**
-     * @see IAlfWidgetFactory.
-     */
-    int destroyWidget(IAlfWidget* aWidget);
-    
-    /**
-     * @see IAlfWidgetFactory.
-     */
-    IAlfWidget* findWidget(const char* aWidgetName) const;
-    
-    
-    /**
-     * @see IAlfWidgetFactory.
-     */
-    int appendWidget(IAlfWidget* aWidget);
-        
-    
-    /**
-     * @see IAlfWidgetFactory.
-     */
-    IAlfModel* createModel(
-        const char* aLoadId, 
-        AlfCustomInitDataBase* aCustomData=0);
-    
-    /**
-     * @see IAlfWidgetFactory.
-     */
-    IAlfWidgetControl* createControl(
-        const char* aLoadId, 
-        const char* aInstanceId, 
-        CAlfDisplay* aDisplay=0, 
-        AlfCustomInitDataBase* aCustomData=0);
-    
-    /**
-     * @see IAlfWidgetFactory.
-     */
-    IAlfElement* createElement(
-        const char* aLoadId, 
-        const char* aInstanceId, 
-        IAlfWidgetControl& aControl,
-        DuiNode* aNode=0, 
-        AlfCustomInitDataBase* aCustomData=0);
-   
-    /**
-     * @see IAlfWidgetFactory.
-     */
-    IAlfVisualTemplate* createVisualTemplate(
-        const char* aLoadId, 
-        const char* aInstanceId, 
-        DuiNode* aNode=0, 
-        AlfCustomInitDataBase* aCustomData=0);
-    
-    /**
-     * @see IAlfWidgetFactory.
-     */
-    IAlfWidgetEventHandler* createEventHandler(
-        const char* aLoadId, 
-        const char* aInstanceId,
-        DuiNode* aNode=0, 
-        AlfCustomInitDataBase* aCustomData=0);
-    
-    /**
-     * @see IAlfWidgetFactory.
-     */
-    IAlfLayoutManager* createLayoutManager(
-        const char* aLoadId, 
-        const char* aInstanceId, 
-        DuiNode* aNode=0, 
-        AlfCustomInitDataBase* aCustomData=0);
-
-    /**
-     * @see IAlfWidgetFactory.
-     */
-    void registerCustomWidgetFactory(IAlfFactoryPlugin* aFactory);
-
-public: // From IAlfInterfaceBase
-
-    /**
-     * @see IAlfInterfaceBase.
-     */
-    IAlfInterfaceBase* makeInterface(const IfId& aType);
-   
-private:
-    /**
-     * Not owned.
-     */
-    CAlfEnv& mAlfEnv;
-    /**
-     * Not owned.
-     */
-    AlfPtrVector<IAlfFactoryPlugin> mRegisteredFactoryList;
-    
-    /**
-     * Owned.
-     */    
-    AlfFactoryPluginLoader mFactoryPluginLoader;
-    
-    /**
-     * List of the widgets added to the factory
-     * 
-     * Owned
-     */
-    AlfPtrVector<IAlfWidget> mWidgetList;
-    };
-
-
-    } // namespace Alf
-#endif 
-
-// End of File
--- a/widgetmodel/alfwidgetfactory/inc/alfwidgetfactoryplugin.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2007-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 factory interface
-*
-*/
-
-
-#ifndef ALFWIDGETFACTORYPLUGIN_H
-#define ALFWIDGETFACTORYPLUGIN_H
-
-#include <ecom/implementationproxy.h>
-#include <alf/ialffactoryplugin.h>
-#include <osn/osndefines.h>
-
-namespace Alf
-    {
-class AlfWidgetFactory;
-
-
-/**
- *  @class AlfWidgetFactoryPlugin AlfWidgetFactoryPlugin.h "alf/alfwidgetfactoryplugin.h"
- *
- *  Plugin factory to create widget factory
- *
- *
- *  @lib alfwidgetfactory.dll
- *  @since S60 ?S60_version
- *  @status Draft  
- */
-class AlfWidgetFactoryPlugin: public IAlfFactoryPlugin
-    {
-public:
-
-    /**
-     * Static Creator Method
-     * @since S60 5.0
-     * @return Interface pointer to factory plugin instance.
-     */    
-    static IAlfFactoryPlugin* NewL();
-
-    /**
-     * Destructor.
-     */
-    virtual ~AlfWidgetFactoryPlugin();
-    
-public: // from MAlfPluginFactory    
-    IAlfInterfaceBase* createProduct(const char* aProduct,void* aInitData);
-    int productCount()const;
-    const char* productInfo(int aIndex)const; 
-public:
-    // from IAlfInterfaceBase
-    virtual IAlfInterfaceBase* makeInterface(const IfId& aType);    
-private:
-    };
-    } // namespace
-
-// Exported factory function required by ECOM-framework
-OSN_IMPORT const TImplementationProxy* ImplementationGroupProxy(
-                                             TInt& aTableCount);
-    
-#endif 
-
-// End of File
--- a/widgetmodel/alfwidgetfactory/src/10282329.rss	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2009 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:   File defines ecom related data for factory plugin.
-*
-*/
-
-#include <ecom/registryinfo.rh>
-
-RESOURCE REGISTRY_INFO theInfo
-{
-dll_uid = 0x10282329;
-interfaces =
-    {
-    INTERFACE_INFO
-        {
-        interface_uid = 0x11201113;
-        implementations =
-            {
-            IMPLEMENTATION_INFO
-                {
-                implementation_uid = 0x10201256;
-                version_no = 1;
-                display_name = "";
-                default_data = "alfwidgetfactory";
-                opaque_data = "";
-                }
-            };
-        }
-    };
-}
\ No newline at end of file
--- a/widgetmodel/alfwidgetfactory/src/alfwidgetfactory.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1114 +0,0 @@
-/*
-* Copyright (c) 2007-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 factory implementation file
-*
-*/
-
-
-//STL includes
-#include <string.h>
-
-//ALF Client includes
-#include <alf/alfenv.h>
-#include <alf/alfdisplay.h>
-
-//OSN core includes
-#include <osn/ustring.h>
-#include <osn/alfptrvector.h>
-
-//Widget Utils includes
-#include <alf/alfexceptions.h>
-
-//Widget factory includes
-#include <alf/ialffactoryplugin.h>
-
-//Widget Model includes
-#include <alf/ialfwidget.h>
-#include <alf/ialfmodel.h>
-#include <alf/ialfwidgetcontrol.h>
-#include <alf/ialfelement.h>
-#include "alf/ialfvisualtemplate.h"
-#include <alf/ialfwidgeteventhandler.h>
-#include <alf/ialflayoutmanager.h>
-
-//View Widget includes
-#include <alf/ialfviewwidget.h>
-
-//Local Includes
-#include "alfwidgetfactory.h"
-
-using namespace osncore;
-
-namespace Alf
-    {
-
-static const char* const KViewWidgetProductId = "viewwidget";
-        
-    
-static IAlfViewWidget* createDefaultViewWidget(
-    const char* aInstanceId,
-    int aControlGroupID,
-    DuiNode* aNode,
-    CAlfDisplay& aDisplay,
-    CAlfEnv& aEnv,
-    IAlfFactoryPlugin& aFactoryPlugin,
-    const char* aFilePath,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfViewWidget* ret = 0;
-    
-    // Create construction parameter structure.
-    AlfViewWidgetInitData init;
-    
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfViewWidgetInitData));
-    
-    // Set the construction parameters.
-    init.mEnv = &aEnv;
-    init.mDisplay = &aDisplay;    
-    init.mWidgetId = aInstanceId;
-    init.mControlGroupId = aControlGroupID;
-    init.mNode = aNode;
-    init.mFilePath = aFilePath;
-    init.mCustomData = aCustomData;
-    
-    // Create a temporary factory product and typecast it to the correct 
-    // interface.
-    IAlfInterfaceBase* tmp = aFactoryPlugin.createProduct(
-        KViewWidgetProductId, &init);
-    if(tmp)
-        {
-        // Object created. Attempt to typecast to correct interface.        	
-        ret = IAlfInterfaceBase::makeInterface<IAlfViewWidget>(tmp);
-        if(!ret)
-            {
-            // Interface not found. Delete the temporary product.	
-            delete tmp;            	
-            }	
-        }
-
-    return ret;
-    }
-
-static IAlfWidget* createDefaultWidget(
-    const char*     aLoadId,
-    const char*     aInstanceId,
-    IAlfContainerWidget& aContainerWidget,
-    DuiNode*       aNode,
-    CAlfEnv&        aEnv,
-    IAlfFactoryPlugin&      aFactoryPlugin,
-    const char* aFilePath,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfWidget* ret = 0;
-    
-    // Create construction parameter structure.
-    AlfWidgetInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfWidgetInitData));
-    
-    // Set the construction parameters.    
-    init.mEnv = &aEnv;
-    init.mContainerWidget = &aContainerWidget;
-    init.mWidgetId = const_cast<char*>(aInstanceId);
-    init.mNode = aNode;  
-    init.mFilePath = aFilePath;  
-    init.mCustomData = aCustomData;
-
-    // Create a temporary factory product and typecast it to the correct 
-    // interface.
-    IAlfInterfaceBase* tmp = aFactoryPlugin.createProduct(aLoadId,&init);
-    if(tmp)
-        {
-        // Object created. Attempt to typecast to correct interface.        	
-        ret = IAlfInterfaceBase::makeInterface<IAlfWidget>(tmp);
-        if(!ret)
-            {
-            // Interface not found. Delete the temporary product.	
-            delete tmp;            	
-            }	
-        }
-
-    return ret;       
-    }
-
-static IAlfModel* createDefaultModel(
-    const char* aLoadId,
-    IAlfFactoryPlugin& aFactoryPlugin,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfModel* ret = 0;
-
-    // Create construction parameter structure.
-    AlfModelInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfModelInitData));
-
-    // Set the construction parameters.        
-    init.mCustomData = aCustomData;
-
-    // Create a temporary factory product and typecast it to the correct 
-    // interface.
-    IAlfInterfaceBase* tmp = aFactoryPlugin.createProduct(aLoadId,&init);
-    if(tmp)
-        {
-        // Object created. Attempt to typecast to correct interface.
-        ret = IAlfInterfaceBase::makeInterface<IAlfModel>(tmp);
-        if(!ret)
-            {
-            // Interface not found. Delete the temporary product.	
-            delete tmp;            	
-            }	
-        }
-   
-    return ret;           
-    }
-
-static IAlfWidgetControl* createDefaultControl(
-    const char* aLoadId,
-    CAlfDisplay& aDisplay,
-    IAlfFactoryPlugin& aFactoryPlugin,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfWidgetControl* ret(0);
-
-    // Create construction parameter structure.
-    AlfWidgetControlInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfWidgetControlInitData));
-
-    // Set the construction parameters.        
-    init.mDisplay = &aDisplay;    
-    init.mCustomData = aCustomData;
- 
-    // Create a temporary factory product and typecast it to the correct 
-    // interface.
-    IAlfInterfaceBase* tmp = aFactoryPlugin.createProduct(aLoadId,&init);
-    if(tmp)
-        {
-        // Object created. Attempt to typecast to correct interface.
-        ret = IAlfInterfaceBase::makeInterface<IAlfWidgetControl>(tmp);
-        if(!ret)
-            {
-            // Interface not found. Delete the temporary product.	
-            delete tmp;            	
-            }	
-        }
-   
-    return ret;       
-    }
-
-static IAlfElement* createDefaultElement(
-    const char* aLoadId, 
-    const char* aInstanceId, 
-    DuiNode* aNode,
-    IAlfWidgetControl& aControl,
-    IAlfFactoryPlugin& aFactoryPlugin,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfElement* ret(0);
-    
-    // Create construction parameter structure.
-    AlfElementInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfElementInitData));
-
-    // Set the construction parameters.        
-    init.mControl= &aControl;
-    init.mElementId = const_cast<char*>(aInstanceId);
-    init.mNode= aNode;
-    init.mCustomData = aCustomData; 
- 
-    // Create a temporary factory product and typecast it to the correct 
-    // interface.
-    IAlfInterfaceBase* tmp = aFactoryPlugin.createProduct(aLoadId,&init);
-    if(tmp)
-        {
-        // Object created. Attempt to typecast to correct interface.
-        ret = IAlfInterfaceBase::makeInterface<IAlfElement>(tmp);
-        if(!ret)
-            {
-            // Interface not found. Delete the temporary product.	
-            delete tmp;            	
-            }	
-        }
-
-    return ret;       
-    }   
-
-static IAlfVisualTemplate* createDefaultVisualTemplate(
-    const char* aLoadId, 
-    const char* aInstanceId,
-    DuiNode* aNode,
-    IAlfFactoryPlugin& aFactoryPlugin,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfVisualTemplate* ret(0);
-        
-    // Create construction parameter structure.
-    AlfVisualTemplateInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfVisualTemplateInitData));
-
-    // Set the construction parameters.        
-    init.mVisualTemplateId = const_cast<char*>(aInstanceId);
-    init.mNode= aNode;
-    init.mCustomData = aCustomData;
-
-    // Create a temporary factory product and typecast it to the correct 
-    // interface.
-    IAlfInterfaceBase* tmp = aFactoryPlugin.createProduct(aLoadId,&init);
-    if(tmp)
-        {
-        // Object created. Attempt to typecast to correct interface.
-        ret = IAlfInterfaceBase::makeInterface<IAlfVisualTemplate>(tmp);
-        if(!ret)
-            {
-            // Interface not found. Delete the temporary product.	
-            delete tmp;            	
-            }	
-        }
-        
-    return ret;       
-    }
-       
-static IAlfWidgetEventHandler* createDefaultEventHandler(
-    const char* aLoadId,
-    const char* aInstanceId,
-    DuiNode* aNode,
-    IAlfFactoryPlugin& aFactoryPlugin,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfWidgetEventHandler* ret(0);
-        
-    // Create construction parameter structure.
-    AlfWidgetEventHandlerInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfWidgetEventHandlerInitData));
-
-    // Set the construction parameters.        
-    init.mWidgetEventHandlerId = const_cast<char*>(aInstanceId);
-    init.mNode= aNode;
-    init.mCustomData = aCustomData;
-    
-    // Create a temporary factory product and typecast it to the correct 
-    // interface.
-    IAlfInterfaceBase* tmp = aFactoryPlugin.createProduct(aLoadId,&init);
-    if(tmp)
-        {
-        // Object created. Attempt to typecast to correct interface.
-        ret = IAlfInterfaceBase::makeInterface<IAlfWidgetEventHandler>(tmp);
-        if(!ret)
-            {
-            // Interface not found. Delete the temporary product.	
-            delete tmp;            	
-            }	
-        }
-
-    return ret;       
-    }
-    
-static IAlfLayoutManager* createDefaultLayoutManager(
-    const char* aLoadId,
-    const char* aInstanceId,
-    DuiNode* aNode,
-    IAlfFactoryPlugin& aFactoryPlugin,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfLayoutManager* ret(0);
-
-    // Create construction parameter structure.
-    AlfLayoutManagerInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfLayoutManagerInitData));
-
-    // Set the construction parameters.        
-    init.mLayoutManagerId = const_cast<char*>(aInstanceId);
-    init.mNode= aNode;
-    init.mCustomData = aCustomData;
-
-    // Create a temporary factory product and typecast it to the correct 
-    // interface.
-    IAlfInterfaceBase* tmp = aFactoryPlugin.createProduct(aLoadId, &init);
-    if(tmp)
-        {
-        // Object created. Attempt to typecast to correct interface.
-        ret = IAlfInterfaceBase::makeInterface<IAlfLayoutManager>(tmp);
-        if(!ret)
-            {
-            // Interface not found. Delete the temporary product.	
-            delete tmp;            	
-            }	
-        }
-
-    return ret;       
-    }
-
-static IAlfViewWidget* createRegisteredViewWidget(
-    const char* aInstanceId,
-    int aControlGroupID,
-    DuiNode* aNode,
-    CAlfEnv& aEnv,
-    CAlfDisplay& aDisplay,
-    AlfPtrVector<IAlfFactoryPlugin>& aFactoryList,
-    const char* aFilePath,    
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfViewWidget* ret(0);
-    IAlfInterfaceBase* tmp(0);
-
-    // Create construction parameter structure.    
-    AlfViewWidgetInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfViewWidgetInitData));
-
-    // Set the construction parameters.        
-    init.mEnv = &aEnv;
-    init.mDisplay = &aDisplay;    
-    init.mWidgetId = aInstanceId;
-    init.mControlGroupId = aControlGroupID;
-    init.mNode = aNode;
-    init.mFilePath = aFilePath;    
-    init.mCustomData = aCustomData;
-    
-    // Run through registered factories.     
-    for(int i=0;i<aFactoryList.count()&&!ret;i++)
-        {
-        // Create a temporary factory product and typecast it to the correct 
-        // interface.
-        tmp = aFactoryList.at(i)->createProduct(KViewWidgetProductId,&init);   
-        if(tmp)
-            {
-            // Object created. Attempt to typecast to correct interface.
-            ret = IAlfInterfaceBase::makeInterface<IAlfViewWidget>(tmp);
-            if(!ret)
-                {
-                // Interface not found. Delete the temporary product.	
-                delete tmp;    
-                tmp=0;        	
-                }	
-            }
-        }
-        
-    return ret;     
-    }
-        
-static IAlfWidget* createRegisteredWidget(
-    const char* aLoadId,
-    const char* aInstanceId,
-    IAlfContainerWidget& aContainerWidget,
-    DuiNode*   aNode,
-    CAlfEnv&    aEnv,
-    AlfPtrVector<IAlfFactoryPlugin>& aFactoryList,
-    const char* aFilePath,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfWidget* ret(0);
-    IAlfInterfaceBase* tmp(0);
-
-    // Create construction parameter structure.        
-    AlfWidgetInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfWidgetInitData));
-
-    // Set the construction parameters.        
-    init.mEnv = &aEnv;
-    init.mContainerWidget = &aContainerWidget;
-    init.mWidgetId = const_cast<char*>(aInstanceId);
-    init.mNode = aNode;    
-    init.mFilePath= aFilePath;
-    init.mCustomData = aCustomData;
-        
-    // Run through registered factories.     
-    for(int i=0;i<aFactoryList.count()&&!ret;i++)
-        {
-        // Create a temporary factory product and typecast it to the correct 
-        // interface.
-        tmp = aFactoryList.at(i)->createProduct(aLoadId,&init);   
-        if(tmp)
-            {
-            // Object created. Attempt to typecast to correct interface.
-            ret = IAlfInterfaceBase::makeInterface<IAlfWidget>(tmp);
-            if(!ret)
-                {
-                // Interface not found. Delete the temporary product.	
-                delete tmp;    
-                tmp=0;        	
-                }	
-            }
-        }
-
-    return ret;       
-    }
-
-static IAlfModel* createRegisteredModel(
-    const char* aLoadId,
-    AlfPtrVector<IAlfFactoryPlugin>& aFactoryList,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfModel* ret(0);
-    IAlfInterfaceBase* tmp(0);
-
-    // Create construction parameter structure.
-    AlfModelInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfModelInitData));
-
-    // Set the construction parameters.        
-    init.mCustomData = aCustomData;
-        
-    // Run through registered factories.     
-    for(int i=0;i<aFactoryList.count()&&!ret;i++)
-        {
-        // Create a temporary factory product and typecast it to the correct 
-        // interface.
-        tmp = aFactoryList.at(i)->createProduct(aLoadId,&init);   
-        if(tmp)
-            {
-            // Object created. Attempt to typecast to correct interface.
-            ret = IAlfInterfaceBase::makeInterface<IAlfModel>(tmp);
-            if(!ret)
-                {
-                // Interface not found. Delete the temporary product.	
-                delete tmp;    
-                tmp=0;        	
-                }	
-            }
-        }
-
-    return ret;     
-    }
-   
-static IAlfWidgetControl* createRegisteredControl(
-    const char* aLoadId,
-    CAlfDisplay& aDisplay,
-    AlfPtrVector<IAlfFactoryPlugin>& aFactoryList,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfWidgetControl* ret(0);
-    IAlfInterfaceBase* tmp(0);
-
-
-    // Create construction parameter structure.
-    AlfWidgetControlInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfWidgetControlInitData));
-
-    // Set the construction parameters.        
-    init.mDisplay = &aDisplay;    
-    init.mCustomData = aCustomData;
- 
-    // Run through registered factories.     
-    for(int i=0;i<aFactoryList.count()&&!ret;i++)
-        {
-        // Create a temporary factory product and typecast it to the correct 
-        // interface.
-        tmp = aFactoryList.at(i)->createProduct(aLoadId,&init);   
-        if(tmp)
-            {
-            // Object created. Attempt to typecast to correct interface.
-            ret = IAlfInterfaceBase::makeInterface<IAlfWidgetControl>(tmp);
-            if(!ret)
-                {
-                // Interface not found. Delete the temporary product.	
-                delete tmp;    
-                tmp=0;        	
-                }	
-            }
-        }
-    
-    return ret;       
-    }
-    
-static IAlfElement* createRegisteredElement(
-    const char* aLoadId, 
-    const char* aInstanceId,
-    DuiNode*   aNode, 
-    IAlfWidgetControl& aControl,
-    AlfPtrVector<IAlfFactoryPlugin>& aFactoryList,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfElement* ret(0);
-    IAlfInterfaceBase* tmp(0);
-    
-    // Create construction parameter structure.
-    AlfElementInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfElementInitData));
-
-    // Set the construction parameters.        
-    init.mControl= &aControl;
-    init.mElementId = const_cast<char*>(aInstanceId);
-    init.mNode= aNode;
-    init.mCustomData = aCustomData; 
- 
-    // Run through registered factories.     
-    for(int i=0;i<aFactoryList.count()&&!ret;i++)
-        {
-        // Create a temporary factory product and typecast it to the correct 
-        // interface.
-        tmp = aFactoryList.at(i)->createProduct(aLoadId,&init);   
-        if(tmp)
-            {
-            // Object created. Attempt to typecast to correct interface.
-            ret = IAlfInterfaceBase::makeInterface<IAlfElement>(tmp);
-            if(!ret)
-                {
-                // Interface not found. Delete the temporary product.	
-                delete tmp;    
-                tmp=0;        	
-                }	
-            }
-        }
-
-    return ret;       
-    }
-    
-static IAlfVisualTemplate* createRegisteredVisualTemplate(
-    const char* aLoadId, 
-    const char* aInstanceId,
-    DuiNode* aNode,
-    AlfPtrVector<IAlfFactoryPlugin>& aFactoryList,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfVisualTemplate* ret(0);
-    IAlfInterfaceBase* tmp(0);
-
-    // Create construction parameter structure.
-    AlfVisualTemplateInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfVisualTemplateInitData));
-
-    // Set the construction parameters.        
-    init.mVisualTemplateId = const_cast<char*>(aInstanceId);
-    init.mNode= aNode;
-    init.mCustomData = aCustomData;
- 
-    // Run through registered factories.     
-    for(int i=0;i<aFactoryList.count()&&!ret;i++)
-        {
-        // Create a temporary factory product and typecast it to the correct 
-        // interface.
-        tmp = aFactoryList.at(i)->createProduct(aLoadId,&init);   
-        if(tmp)
-            {
-            // Object created. Attempt to typecast to correct interface.
-            ret = IAlfInterfaceBase::makeInterface<IAlfVisualTemplate>(tmp);
-            if(!ret)
-                {
-                // Interface not found. Delete the temporary product.	
-                delete tmp;    
-                tmp=0;        	
-                }	
-            }
-        }
-
-    return ret;  
-    }
-
-static IAlfWidgetEventHandler* createRegisteredEventHandler(
-    const char* aLoadId,
-    const char* aInstanceId,
-    DuiNode*   aNode,
-    AlfPtrVector<IAlfFactoryPlugin>& aFactoryList,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfWidgetEventHandler* ret(0);
-    IAlfInterfaceBase* tmp(0);
-
-    // Create construction parameter structure.
-    AlfWidgetEventHandlerInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfWidgetEventHandlerInitData));
-
-    // Set the construction parameters.        
-    init.mWidgetEventHandlerId = const_cast<char*>(aInstanceId);
-    init.mNode= aNode;
-    init.mCustomData = aCustomData;
-
-    // Run through registered factories.     
-    for(int i=0;i<aFactoryList.count()&&!ret;i++)
-        {
-        // Create a temporary factory product and typecast it to the correct 
-        // interface.
-        tmp = aFactoryList.at(i)->createProduct(aLoadId,&init);   
-        if(tmp)
-            {
-            // Object created. Attempt to typecast to correct interface.
-            ret = IAlfInterfaceBase::makeInterface<IAlfWidgetEventHandler>(
-                                                                      tmp);
-            if(!ret)
-                {
-                // Interface not found. Delete the temporary product.	
-                delete tmp;    
-                tmp=0;        	
-                }	
-            }
-        }
-
-    return ret;       
-    }
-    
-static IAlfLayoutManager* createRegisteredLayoutManager(
-    const char* aLoadId,
-    const char* aInstanceId,    
-    DuiNode* aNode,
-    AlfPtrVector<IAlfFactoryPlugin>& aFactoryList,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfLayoutManager* ret(0);
-    IAlfInterfaceBase* tmp(0);
-
-    // Create construction parameter structure.
-    AlfLayoutManagerInitData init;
-
-    // Zero out the data in the construction structure.
-    memset(&init, 0, sizeof(AlfLayoutManagerInitData));
-
-    // Set the construction parameters.        
-    init.mLayoutManagerId = const_cast<char*>(aInstanceId);
-    init.mNode= aNode;
-    init.mCustomData = aCustomData;
-
-    // Run through registered factories.     
-    for(int i=0;i<aFactoryList.count()&&!ret;i++)
-        {
-        // Create a temporary factory product and typecast it to the correct 
-        // interface.
-        tmp = aFactoryList.at(i)->createProduct(aLoadId,&init);   
-        if(tmp)
-            {
-            // Object created. Attempt to typecast to correct interface.
-            ret = IAlfInterfaceBase::makeInterface<IAlfLayoutManager>(tmp);
-            if(!ret)
-                {
-                // Interface not found. Delete the temporary product.	
-                delete tmp;    
-                tmp=0;        	
-                }	
-            }
-        }
-
-    return ret;
-    }    
-                
-
-AlfWidgetFactory::AlfWidgetFactory(CAlfEnv& aAlfEnv):
-    mAlfEnv(aAlfEnv)
-    {
-    mWidgetList.setAutoDelete(true);
-    }
-
-AlfWidgetFactory::~AlfWidgetFactory()
-    {
-    mWidgetList.clear();
-    mRegisteredFactoryList.clear();
-    }
-
-IAlfViewWidget* AlfWidgetFactory::createViewWidget(
-    const char* aInstanceId, 
-    int aControlGroupID, 
-    DuiNode* aNode, 
-    CAlfDisplay* aDisplay, 
-    const char* aFilePath, 
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfViewWidget* ret(0);
-    auto_ptr<IAlfViewWidget> autoptr = auto_ptr<IAlfViewWidget>(0);
-
-    IAlfFactoryPlugin* factoryPlugin = mFactoryPluginLoader.loadFactoryPlugin(
-                                                        KViewWidgetProductId);    
-    
-    CAlfDisplay* display = aDisplay;
-
-    //Check there is already a widget with the same instance ID.
-    if(findWidget(aInstanceId))
-        {
-    	  ALF_THROW(AlfWidgetException,EInvalidWidgetInstanceId,
-    	      "Instance ID same as an existing widget.")
-        }
-            
-    //Both node and presentation declaration file handle cannot have 
-    //non-null value at the same time.
-    if(aNode && aFilePath)
-        {
-    	  ALF_THROW(AlfWidgetException,EInvalidArgument,
-    	      "Both node & presentation declaration file handle cannot have non-null values at the same time")
-        }
-        
-    if(!display)
-        {
-        if(mAlfEnv.DisplayCount() == 0)
-            {
-            // No display objects defined in the environment. 
-            // Throw an exception.
-            ALF_THROW(AlfException, EDisplayNotFound, 
-            "No display found from environment.Unable to associate a display with the view widget.");
-            }
-        display = &mAlfEnv.PrimaryDisplay();    
-        }    
-    
-    // Try default factory first    
-    if(factoryPlugin)
-        {
-        autoptr.reset(createDefaultViewWidget(
-                          aInstanceId,aControlGroupID,aNode,*display, 
-                          mAlfEnv,*factoryPlugin,aFilePath,aCustomData));
-        }
-
-    // Then try registered factories
-    if(!autoptr.get())
-        {        
-        autoptr.reset(createRegisteredViewWidget(
-                          aInstanceId,aControlGroupID,aNode, 
-                          mAlfEnv,*display,mRegisteredFactoryList, 
-                          aFilePath,aCustomData));
-        }
-        
-    if(autoptr.get() != 0)
-        {
-        // If trap occurs throw exception. Created widget will be automatically
-        // destroyed since it is in auto pointer.
-        TRAPD(err, appendWidget(
-              IAlfInterfaceBase::makeInterface<IAlfWidget>(autoptr.get())));
-        if(err != KErrNone)
-            {
-            ALF_THROW(AlfException, err, 
-                "Appending created widget to environment failed.");
-            }
-            
-        // After succesfull call to AppendWidgetL we can release the autoptr.
-        ret = autoptr.release();
-        }
-        
-    return ret;
-    }
-
-IAlfWidget* AlfWidgetFactory::createWidget(
-    const char* aLoadId,
-    const char* aInstanceId,
-    IAlfContainerWidget& aContainerWidget,
-    DuiNode* aNode,
-    const char* aFilePath,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfWidget* ret(0);
-    IAlfFactoryPlugin* pluginFactory = mFactoryPluginLoader.loadFactoryPlugin(
-                                                                     aLoadId); 
-
-    //Check there is already a widget with the same instance ID.
-    if(findWidget(aInstanceId))
-        {
-    	  ALF_THROW(AlfWidgetException,EInvalidWidgetInstanceId,
-    	      "Instance ID same as an existing widget.")
-        }
-        
-    //Both node and presentation declaration file handle cannot have 
-    //non-null value at the same time.
-    if(aNode && aFilePath)
-        {
-    	  ALF_THROW(AlfWidgetException,EInvalidArgument,
-    	      "Both node & presentation declaration file handle cannot have non-null values at the same time")
-        }
-    
-    // Try first default factory    
-    if(pluginFactory)
-        {
-        ret = createDefaultWidget(
-                  aLoadId,aInstanceId,aContainerWidget,aNode,
-                  mAlfEnv,*pluginFactory,aFilePath,aCustomData);    
-        }
-
-    // Then try registered factories
-    if(!ret)
-        {
-        ret = createRegisteredWidget(
-                  aLoadId,aInstanceId,aContainerWidget,aNode,mAlfEnv,
-                  mRegisteredFactoryList,aFilePath,aCustomData);        
-        }
-        
-    if(ret)
-        {
-        TRAPD(err, appendWidget(ret));
-        if(err != KErrNone)
-            {
-            delete ret;	
-            ALF_THROW(AlfException, err, 
-                "Appending created widget to environment failed.");
-            }
-        }
-
-    return ret;
-    }
-
-int AlfWidgetFactory::destroyWidget(IAlfWidget* aWidget)
-    {
-    int ret = -1;
-    int widgetCount = mWidgetList.count();
-    for ( int i = 0; i < widgetCount; ++i ) 
-        {        
-        if ( mWidgetList[i] == aWidget )
-            {            
-            // remove and destroy the widget
-            mWidgetList.remove( i );
-            ret = 0;
-            break; ;
-            }
-        }    
-    return ret;
-    }
-    
-int AlfWidgetFactory::appendWidget(IAlfWidget* aWidget)
-    {
-    int ret = 0;
-    int widgetCount = mWidgetList.count();
-    for ( int i = 0; i < widgetCount; ++i ) 
-        {        
-        if ( mWidgetList[i] == aWidget )
-            {
-            ret = -1;
-            break; ;
-            }
-        }
-    if(ret != -1 ) 
-	    {
-	    mWidgetList.resize( mWidgetList.count()+1);
-    	mWidgetList.insert( mWidgetList.count(), aWidget );	
-	    }
-	return ret;
-    }
-    
-IAlfWidget* AlfWidgetFactory::findWidget(const char* aWidgetName) const
-    {
-    IAlfWidget* ret(NULL);
-    int widgetCount = mWidgetList.count();
-    for(int i=0; i<widgetCount && !ret; i++)
-        {
-        const char* widgetName = mWidgetList[i]->widgetName();
-        if(!strcmp(widgetName,aWidgetName))
-            {
-            ret = mWidgetList[i];    
-            }
-        }
-    return ret;
-    }
-
-IAlfModel* AlfWidgetFactory::createModel(
-    const char* aLoadId,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfModel* ret(0);
-    IAlfFactoryPlugin* pluginFactory = mFactoryPluginLoader.loadFactoryPlugin(
-                                                                     aLoadId);
-
-    // Try first default factory
-    if(pluginFactory)
-        {
-        ret = createDefaultModel(aLoadId,*pluginFactory, aCustomData);    
-        }
-
-    // Then try registered factories        
-    if(!ret)
-        {
-        ret = createRegisteredModel(
-                  aLoadId,mRegisteredFactoryList,aCustomData);        
-        }
-    
-    return ret;
-    }
-    
-IAlfWidgetControl* AlfWidgetFactory::createControl(
-    const char* aLoadId,
-    const char* aInstanceId,
-    CAlfDisplay* aDisplay,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfWidgetControl* ret(0);    	
-    IAlfFactoryPlugin* pluginFactory = mFactoryPluginLoader.loadFactoryPlugin(
-                                                                     aLoadId);
-    //Compiler warning removal. Left here for future use cases.
-    (void)aInstanceId; 
-    
-    CAlfDisplay* display = aDisplay;
-    
-    if(!display)
-        {
-        display = &mAlfEnv.PrimaryDisplay();    
-        }
-  
-    // Try first default factory
-    if(pluginFactory)
-    	{
-    	 ret = createDefaultControl(aLoadId,*display,*pluginFactory,aCustomData);
-    	}
-
-    // Then try registered factories         
-    if(!ret)
-        {
-        ret = createRegisteredControl(
-                  aLoadId,*display,mRegisteredFactoryList,aCustomData);        
-        }
-
-    return ret;     
-    }
-
-IAlfElement* AlfWidgetFactory::createElement(
-    const char* aLoadId,
-    const char* aInstanceId, 
-    IAlfWidgetControl& aControl,
-    DuiNode* aNode,
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfElement* ret(0);
-    IAlfFactoryPlugin* pluginFactory = mFactoryPluginLoader.loadFactoryPlugin(
-                                                                     aLoadId);
-
-    // Try first default factory
-    if (pluginFactory)
-        {
-        ret = createDefaultElement(
-                  aLoadId,aInstanceId,aNode,aControl,
-                  *pluginFactory,aCustomData);
-        }
-
-    // Then try registered factories                 
-    if(!ret)
-        {
-        ret = createRegisteredElement(
-                  aLoadId,aInstanceId,aNode,aControl,
-                  mRegisteredFactoryList,aCustomData);        
-        }
-
-    return ret;    
-    }
-   
-IAlfVisualTemplate* AlfWidgetFactory::createVisualTemplate(
-    const char* aLoadId,
-    const char* aInstanceId,
-    DuiNode* aNode,
-    AlfCustomInitDataBase* aCustomData )
-    {
-     
-    IAlfVisualTemplate* ret(0);
-    IAlfFactoryPlugin* pluginFactory = mFactoryPluginLoader.loadFactoryPlugin(
-                                                                     aLoadId);
-
-    // Try first default factory                                                                 
-    if (pluginFactory)
-        {
-        ret = createDefaultVisualTemplate(
-                  aLoadId,aInstanceId,aNode,*pluginFactory,aCustomData);
-        }
-        
-    // Then try registered factories          
-    if(!ret)
-        {
-        ret = createRegisteredVisualTemplate(
-                  aLoadId,aInstanceId,aNode,
-                  mRegisteredFactoryList,aCustomData);        
-        }
-        
-    return ret;         
-    }
-    
-IAlfWidgetEventHandler* AlfWidgetFactory::createEventHandler(
-    const char* aLoadId,
-    const char* aInstanceId,
-    DuiNode* aNode,
-    AlfCustomInitDataBase* aCustomData )
-    {
-    IAlfWidgetEventHandler* ret(0);
-    IAlfFactoryPlugin* pluginFactory = mFactoryPluginLoader.loadFactoryPlugin(
-                                                                     aLoadId);
-
-    // Try first default factory
-    if (pluginFactory)
-        {
-        ret = createDefaultEventHandler(
-                  aLoadId,aInstanceId,aNode,*pluginFactory,aCustomData);
-        }
-
-    // Then try registered factories        
-    if(!ret)
-        {
-        ret = createRegisteredEventHandler(
-                  aLoadId,aInstanceId,aNode,
-                  mRegisteredFactoryList,aCustomData);        
-        }
-        
-    return ret;    
-    }
-    
-IAlfLayoutManager* AlfWidgetFactory::createLayoutManager(
-    const char* aLoadId, 
-    const char* aInstanceId, 
-    DuiNode* aNode, 
-    AlfCustomInitDataBase* aCustomData)
-    {
-    IAlfLayoutManager* ret(0);
-    IAlfFactoryPlugin* pluginFactory = mFactoryPluginLoader.loadFactoryPlugin(
-                                                                     aLoadId);
-
-    // Try first default factory
-    if (pluginFactory)
-        {
-        ret = createDefaultLayoutManager(
-                  aLoadId,aInstanceId,aNode,*pluginFactory,aCustomData);
-        }
-    
-    // Then try registered factories         
-    if(!ret)
-        {
-        ret = createRegisteredLayoutManager(
-                  aLoadId,aInstanceId,aNode,
-                  mRegisteredFactoryList,aCustomData);
-        }
-        
-    return ret;
-    }
-
-void AlfWidgetFactory::registerCustomWidgetFactory(
-    IAlfFactoryPlugin* aFactory)
-    {
-    mRegisteredFactoryList.resize(mRegisteredFactoryList.count()+1);
-    mRegisteredFactoryList.insert(mRegisteredFactoryList.count(),aFactory);
-    }
-    
-IAlfInterfaceBase* AlfWidgetFactory::makeInterface(const IfId& aType)
-    {
-    if ( !strcmp(aType.mImplementationId, 
-                 IAlfWidgetFactory::type().mImplementationId) )
-        {
-        return static_cast<IAlfWidgetFactory*>(this);
-        }
-    
-    return 0;
-    }
-    } // namespace Alf    
-
-// End of File
--- a/widgetmodel/alfwidgetfactory/src/alfwidgetfactoryplugin.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 2009 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:   File imeplemets the widgetfactory for interfaces.
-*
-*/
-
-
-//Symbian includes
-#include <ecom/ecom.h>
-
-//Alfred client includes
-#include <alf/alfenv.h>
-
-//OSN core includes
-#include <osn/ustring.h>
-#include <osn/osnnew.h>
-#include <osn/osncommon.h>
-
-//Widget utils includes
-#include <alf/alftypes.h>
-
-//Local includes
-#include "alfwidgetfactoryplugin.h"
-#include "alfwidgetfactory.h"
-
-//Namespaces
-using namespace Alf;
-using namespace osncore;
-
-
-namespace Alf
-    {
-    	
-const TInt KWidgetFactoryPluginUid = {0x10201256};
-const int KProductCount = 1; 
-static const char* const KAlfWidgetFactory = "alfwidgetfactory";
-
-
-IAlfFactoryPlugin* AlfWidgetFactoryPlugin::NewL()
-    {
-    // Must use (ELeave), because ECOM won't undestand bad_alloc
-    return new(ELeave)AlfWidgetFactoryPlugin; 
-    }
-
-AlfWidgetFactoryPlugin::~AlfWidgetFactoryPlugin()
-    {
-    }
-    
-IAlfInterfaceBase* AlfWidgetFactoryPlugin::createProduct(
-    const char* aProduct,
-    void* aInitData)
-    {
-    (void) aProduct; //Compiler Warning removal.
-    
-    CAlfEnv* env = reinterpret_cast<CAlfEnv*>(aInitData);
-    AlfWidgetFactory* widgetFactory( new( EMM ) AlfWidgetFactory(*env) );
-    // This basically returns the widgetFactory object.
-    // The ownership of that object is transferred to the caller.
-    return widgetFactory->makeInterface(IAlfWidgetFactory::type());
-    }
-
-IAlfInterfaceBase* AlfWidgetFactoryPlugin::makeInterface(const IfId& aType)
-    {
-    UString param(aType.mImplementationId);
-    if(param == UString(IAlfFactoryPlugin::type().mImplementationId))
-        {
-        return static_cast<IAlfFactoryPlugin*>(this);    
-        }
-    return NULL;
-    }
-    
-int AlfWidgetFactoryPlugin::productCount()const
-    {
-    return KProductCount;    
-    }
-    
-const char* AlfWidgetFactoryPlugin::productInfo(int aIndex)const
-    {
-    if(aIndex == 0)
-        {
-        return KAlfWidgetFactory;    
-        }
-    return 0;
-    }
-    
-    } // namespace Alf    
-
-
-
-const TImplementationProxy ImplementationTable[] =
-    {
-    #ifdef __EABI__ 
-	  IMPLEMENTATION_PROXY_ENTRY(
-	      KWidgetFactoryPluginUid, 
-	      AlfWidgetFactoryPlugin::NewL),
-	  #else
-    {{KWidgetFactoryPluginUid}, AlfWidgetFactoryPlugin::NewL}
-    #endif
-    };
-
-OSN_EXPORT const TImplementationProxy* ImplementationGroupProxy(
-    TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
-    return ImplementationTable;
-    }
-
-// End of File
--- a/widgetmodel/alfwidgetmodel/bwins/alfwidgetmodelu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,468 +0,0 @@
-EXPORTS
-	?makeInterface@AlfFlowLayoutManager@Alf@@UAEPAVIAlfInterfaceBase@2@ABUIfId@2@@Z @ 1 NONAME ; class Alf::IAlfInterfaceBase * Alf::AlfFlowLayoutManager::makeInterface(struct Alf::IfId const &)
-	?isValueSet@AlfAttribute@Alf@@QBE_NXZ @ 2 NONAME ; bool Alf::AlfAttribute::isValueSet(void) const
-	?getTargetValue@AlfAttribute@Alf@@QBEPAVAlfAttributeValueType@2@I@Z @ 3 NONAME ; class Alf::AlfAttributeValueType * Alf::AlfAttribute::getTargetValue(unsigned int) const
-	??0AlfCurvePathLayoutAttributeSetter@Alf@@QAE@XZ @ 4 NONAME ; Alf::AlfCurvePathLayoutAttributeSetter::AlfCurvePathLayoutAttributeSetter(void)
-	?setTime@AlfAttribute@Alf@@QAEXH@Z @ 5 NONAME ; void Alf::AlfAttribute::setTime(int)
-	?replaceItem@AlfMap@Alf@@UAEXIPAVIAlfVariantType@2@@Z @ 6 NONAME ; void Alf::AlfMap::replaceItem(unsigned int, class Alf::IAlfVariantType *)
-	?checkState@CAlfWidgetControl@Alf@@UBE_NI@Z @ 7 NONAME ; bool Alf::CAlfWidgetControl::checkState(unsigned int) const
-	?getLayout@AlfLayoutManager@Alf@@UBEAAVCAlfLayout@@XZ @ 8 NONAME ; class CAlfLayout & Alf::AlfLayoutManager::getLayout(void) const
-	?findEventHandler@CAlfWidgetControl@Alf@@UAEPAVIAlfWidgetEventHandler@2@ABVTAlfEvent@@@Z @ 9 NONAME ; class Alf::IAlfWidgetEventHandler * Alf::CAlfWidgetControl::findEventHandler(class TAlfEvent const &)
-	?numContainerIndices@AlfModelOperation@Alf@@QBEHXZ @ 10 NONAME ; int Alf::AlfModelOperation::numContainerIndices(void) const
-	??0AlfContainer@Alf@@QAE@XZ @ 11 NONAME ; Alf::AlfContainer::AlfContainer(void)
-	?index@AlfModelOperation@Alf@@QBEHXZ @ 12 NONAME ; int Alf::AlfModelOperation::index(void) const
-	?childRemoved@AlfLayoutManager@Alf@@UAEXPAVCAlfWidgetControl@2@@Z @ 13 NONAME ; void Alf::AlfLayoutManager::childRemoved(class Alf::CAlfWidgetControl *)
-	?addCustomInput@AlfWidgetEventHandler@Alf@@QAEXH_NH@Z @ 14 NONAME ; void Alf::AlfWidgetEventHandler::addCustomInput(int, bool, int)
-	?map@AlfMap@Alf@@UAEPAVIAlfMap@2@XZ @ 15 NONAME ; class Alf::IAlfMap * Alf::AlfMap::map(void)
-	?setLayoutType@AlfVisualTemplate@Alf@@UAEXW4TAlfLayoutType@@@Z @ 16 NONAME ; void Alf::AlfVisualTemplate::setLayoutType(enum TAlfLayoutType)
-	??1CAlfWidgetControl@Alf@@UAE@XZ @ 17 NONAME ; Alf::CAlfWidgetControl::~CAlfWidgetControl(void)
-	?widgetCount@AlfWidget@Alf@@UBEHXZ @ 18 NONAME ; int Alf::AlfWidget::widgetCount(void) const
-	?integer@AlfBranch@Alf@@UBEHXZ @ 19 NONAME ; int Alf::AlfBranch::integer(void) const
-	?container@AlfBranch@Alf@@UAEPAVIAlfContainer@2@XZ @ 20 NONAME ; class Alf::IAlfContainer * Alf::AlfBranch::container(void)
-	?setMappingFunctionId@AlfAttribute@Alf@@QAEXH@Z @ 21 NONAME ; void Alf::AlfAttribute::setMappingFunctionId(int)
-	?removeItem@AlfMap@Alf@@UAEXI@Z @ 22 NONAME ; void Alf::AlfMap::removeItem(unsigned int)
-	?handleFocusPrevious@CAlfWidgetControl@Alf@@IAE_NXZ @ 23 NONAME ; bool Alf::CAlfWidgetControl::handleFocusPrevious(void)
-	?createAndSendCommands@AlfCommonVisualAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAV3@@Z @ 24 NONAME ; void Alf::AlfCommonVisualAttributeSetter::createAndSendCommands(class CAlfVisual &, class Alf::AlfAttributeContainer *, class CAlfVisual *)
-	?set@AlfVariantType@Alf@@UAEXAAVIAlfVariantType@2@@Z @ 25 NONAME ; void Alf::AlfVariantType::set(class Alf::IAlfVariantType &)
-	?parentElementDataId@CAlfWidgetControl@Alf@@UAEIABVIAlfElement@2@I@Z @ 26 NONAME ; unsigned int Alf::CAlfWidgetControl::parentElementDataId(class Alf::IAlfElement const &, unsigned int)
-	?makeInterface@AlfLayoutManager@Alf@@UAEPAVIAlfInterfaceBase@2@ABUIfId@2@@Z @ 27 NONAME ; class Alf::IAlfInterfaceBase * Alf::AlfLayoutManager::makeInterface(struct Alf::IfId const &)
-	?addPointerInput@AlfWidgetEventHandler@Alf@@QAEXPBD0W4WidgetPointerEvent@2@@Z @ 28 NONAME ; void Alf::AlfWidgetEventHandler::addPointerInput(char const *, char const *, enum Alf::WidgetPointerEvent)
-	?item@AlfMap@Alf@@UAEPAVIAlfVariantType@2@ABVUString@osncore@@@Z @ 29 NONAME ; class Alf::IAlfVariantType * Alf::AlfMap::item(class osncore::UString const &)
-	?branch@AlfMap@Alf@@UAEPAVIAlfBranch@2@XZ @ 30 NONAME ; class Alf::IAlfBranch * Alf::AlfMap::branch(void)
-	?removeElement@CAlfWidgetControl@Alf@@UAEXABVIAlfElement@2@@Z @ 31 NONAME ; void Alf::CAlfWidgetControl::removeElement(class Alf::IAlfElement const &)
-	?childRemoved@AlfAnchorLayoutManager@Alf@@UAEXPAVCAlfWidgetControl@2@@Z @ 32 NONAME ; void Alf::AlfAnchorLayoutManager::childRemoved(class Alf::CAlfWidgetControl *)
-	?integer@AlfMap@Alf@@UBEHXZ @ 33 NONAME ; int Alf::AlfMap::integer(void) const
-	?getAttribute@AlfAttributeContainer@Alf@@QBEAAVAlfAttribute@2@I@Z @ 34 NONAME ; class Alf::AlfAttribute & Alf::AlfAttributeContainer::getAttribute(unsigned int) const
-	?addItem@AlfMap@Alf@@UAEXPAVIAlfVariantType@2@ABVUString@osncore@@@Z @ 35 NONAME ; void Alf::AlfMap::addItem(class Alf::IAlfVariantType *, class osncore::UString const &)
-	??1AlfVisualTemplate@Alf@@UAE@XZ @ 36 NONAME ; Alf::AlfVisualTemplate::~AlfVisualTemplate(void)
-	?removeVisualTree@AlfElement@Alf@@UAEXAAVIAlfBranch@2@HI@Z @ 37 NONAME ; void Alf::AlfElement::removeVisualTree(class Alf::IAlfBranch &, int, unsigned int)
-	?makeInterface@CAlfWidgetControl@Alf@@UAEPAVIAlfInterfaceBase@2@ABUIfId@2@@Z @ 38 NONAME ; class Alf::IAlfInterfaceBase * Alf::CAlfWidgetControl::makeInterface(struct Alf::IfId const &)
-	?childTemplate@AlfVisualTemplate@Alf@@UBEAAVIAlfVisualTemplate@2@H@Z @ 39 NONAME ; class Alf::IAlfVisualTemplate & Alf::AlfVisualTemplate::childTemplate(int) const
-	?model@AlfWidget@Alf@@UAEPAVIAlfModel@2@XZ @ 40 NONAME ; class Alf::IAlfModel * Alf::AlfWidget::model(void)
-	?replaceVisualTree@AlfElement@Alf@@UAEXAAVIAlfVariantType@2@II@Z @ 41 NONAME ; void Alf::AlfElement::replaceVisualTree(class Alf::IAlfVariantType &, unsigned int, unsigned int)
-	?customData@AlfBranch@Alf@@UAEPAVIAlfModelBase@2@XZ @ 42 NONAME ; class Alf::IAlfModelBase * Alf::AlfBranch::customData(void)
-	?addWidgetEventOutputSignalSubscriber@AlfWidgetEventHandler@Alf@@QAEXAAVIAlfEventOutputSignalSubscriber@2@@Z @ 43 NONAME ; void Alf::AlfWidgetEventHandler::addWidgetEventOutputSignalSubscriber(class Alf::IAlfEventOutputSignalSubscriber &)
-	?string@AlfBranch@Alf@@UBEABVUString@osncore@@XZ @ 44 NONAME ; class osncore::UString const & Alf::AlfBranch::string(void) const
-	?setDelay@AlfAttribute@Alf@@QAEXH@Z @ 45 NONAME ; void Alf::AlfAttribute::setDelay(int)
-	??0AlfVariantType@Alf@@QAE@ABH@Z @ 46 NONAME ; Alf::AlfVariantType::AlfVariantType(int const &)
-	??0AlfAnchorLayoutManager@Alf@@QAE@XZ @ 47 NONAME ; Alf::AlfAnchorLayoutManager::AlfAnchorLayoutManager(void)
-	??1AlfDeckLayoutAttributeSetter@Alf@@UAE@XZ @ 48 NONAME ; Alf::AlfDeckLayoutAttributeSetter::~AlfDeckLayoutAttributeSetter(void)
-	?uinteger@AlfContainer@Alf@@UBEIXZ @ 49 NONAME ; unsigned int Alf::AlfContainer::uinteger(void) const
-	?makeInterface@AlfModel@Alf@@UAEPAVIAlfInterfaceBase@2@ABUIfId@2@@Z @ 50 NONAME ; class Alf::IAlfInterfaceBase * Alf::AlfModel::makeInterface(struct Alf::IfId const &)
-	??0AlfFlowLayoutAttributeSetter@Alf@@QAE@XZ @ 51 NONAME ; Alf::AlfFlowLayoutAttributeSetter::AlfFlowLayoutAttributeSetter(void)
-	?getAttributeByName@AlfAttributeContainer@Alf@@QBEAAVAlfAttribute@2@PBD@Z @ 52 NONAME ; class Alf::AlfAttribute & Alf::AlfAttributeContainer::getAttributeByName(char const *) const
-	?string@AlfContainer@Alf@@UBEABVUString@osncore@@XZ @ 53 NONAME ; class osncore::UString const & Alf::AlfContainer::string(void) const
-	??1AlfAnimationOutput@Alf@@QAE@XZ @ 54 NONAME ; Alf::AlfAnimationOutput::~AlfAnimationOutput(void)
-	?attributeCount@AlfAttributeContainer@Alf@@QBEIXZ @ 55 NONAME ; unsigned int Alf::AlfAttributeContainer::attributeCount(void) const
-	?type@AlfAttributeValueType@Alf@@UBE?AW4Type@12@XZ @ 56 NONAME ; enum Alf::AlfAttributeValueType::Type Alf::AlfAttributeValueType::type(void) const
-	?setEventHandlerData@AlfRecyclingGridElement@Alf@@UAEXABUAlfWidgetEventHandlerInitData@2@@Z @ 57 NONAME ; void Alf::AlfRecyclingGridElement::setEventHandlerData(struct Alf::AlfWidgetEventHandlerInitData const &)
-	??0AlfElement@Alf@@QAE@AAVCAlfWidgetControl@1@PBD@Z @ 58 NONAME ; Alf::AlfElement::AlfElement(class Alf::CAlfWidgetControl &, char const *)
-	?real@AlfMap@Alf@@UBENXZ @ 59 NONAME ; double Alf::AlfMap::real(void) const
-	?setData@AlfModel@Alf@@UAEXPAVIAlfVariantType@2@@Z @ 60 NONAME ; void Alf::AlfModel::setData(class Alf::IAlfVariantType *)
-	?addKeyInput@AlfWidgetEventHandler@Alf@@QAEXHW4EventTypeFlags@2@I@Z @ 61 NONAME ; void Alf::AlfWidgetEventHandler::addKeyInput(int, enum Alf::EventTypeFlags, unsigned int)
-	?numAttributeSetters@AlfVisualTemplate@Alf@@UBEHXZ @ 62 NONAME ; int Alf::AlfVisualTemplate::numAttributeSetters(void) const
-	??0AlfCommonLayoutAttributeSetter@Alf@@QAE@XZ @ 63 NONAME ; Alf::AlfCommonLayoutAttributeSetter::AlfCommonLayoutAttributeSetter(void)
-	??1AlfMap@Alf@@UAE@XZ @ 64 NONAME ; Alf::AlfMap::~AlfMap(void)
-	??0AlfAttribute@Alf@@QAE@XZ @ 65 NONAME ; Alf::AlfAttribute::AlfAttribute(void)
-	?createVisualTree@AlfRecyclingGridElement@Alf@@UAEPAVCAlfVisual@@AAVIAlfVariantType@2@IPAVCAlfLayout@@H@Z @ 66 NONAME ; class CAlfVisual * Alf::AlfRecyclingGridElement::createVisualTree(class Alf::IAlfVariantType &, unsigned int, class CAlfLayout *, int)
-	?removeWidget@AlfWidget@Alf@@UAEXH@Z @ 67 NONAME ; void Alf::AlfWidget::removeWidget(int)
-	?eventHandler@CAlfWidgetControl@Alf@@UAEAAVIAlfWidgetEventHandler@2@H@Z @ 68 NONAME ; class Alf::IAlfWidgetEventHandler & Alf::CAlfWidgetControl::eventHandler(int)
-	?removeChildVisualTree@AlfRecyclingGridElement@Alf@@UAEXPAVIAlfElement@2@AAVIAlfBranch@2@HI@Z @ 69 NONAME ; void Alf::AlfRecyclingGridElement::removeChildVisualTree(class Alf::IAlfElement *, class Alf::IAlfBranch &, int, unsigned int)
-	?createCommand@AlfViewportLayoutAttributeSetter@Alf@@UAEPAVTAlfCommand@@AAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@HPAV4@@Z @ 70 NONAME ; class TAlfCommand * Alf::AlfViewportLayoutAttributeSetter::createCommand(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *, int, class CAlfVisual *)
-	?addWidgetAttributeInput@AlfWidgetEventHandler@Alf@@QAEXAAVUString@osncore@@PAVAlfAttributeValueType@2@PBD@Z @ 71 NONAME ; void Alf::AlfWidgetEventHandler::addWidgetAttributeInput(class osncore::UString &, class Alf::AlfAttributeValueType *, char const *)
-	??1AlfAnchorLayoutManager@Alf@@UAE@XZ @ 72 NONAME ; Alf::AlfAnchorLayoutManager::~AlfAnchorLayoutManager(void)
-	?createChildVisualTree@AlfElement@Alf@@UAEXPAVIAlfElement@2@AAVIAlfVariantType@2@AAVIAlfBranch@2@HI@Z @ 73 NONAME ; void Alf::AlfElement::createChildVisualTree(class Alf::IAlfElement *, class Alf::IAlfVariantType &, class Alf::IAlfBranch &, int, unsigned int)
-	?map@AlfVariantType@Alf@@UAEPAVIAlfMap@2@XZ @ 74 NONAME ; class Alf::IAlfMap * Alf::AlfVariantType::map(void)
-	?container@AlfContainer@Alf@@UAEPAVIAlfContainer@2@XZ @ 75 NONAME ; class Alf::IAlfContainer * Alf::AlfContainer::container(void)
-	?dataID@AlfElement@Alf@@UBEIABVCAlfVisual@@@Z @ 76 NONAME ; unsigned int Alf::AlfElement::dataID(class CAlfVisual const &) const
-	?setSelectChildMode@AlfVisualTemplate@Alf@@UAEX_NABVUString@osncore@@@Z @ 77 NONAME ; void Alf::AlfVisualTemplate::setSelectChildMode(bool, class osncore::UString const &)
-	?createVisualTree@AlfElement@Alf@@UAEPAVCAlfVisual@@AAVIAlfVariantType@2@IPAVCAlfLayout@@H@Z @ 78 NONAME ; class CAlfVisual * Alf::AlfElement::createVisualTree(class Alf::IAlfVariantType &, unsigned int, class CAlfLayout *, int)
-	??0AlfModel@Alf@@QAE@PAVIAlfVariantType@1@@Z @ 79 NONAME ; Alf::AlfModel::AlfModel(class Alf::IAlfVariantType *)
-	?widget@CAlfWidgetControl@Alf@@UAEPAVAlfWidget@2@XZ @ 80 NONAME ; class Alf::AlfWidget * Alf::CAlfWidgetControl::widget(void)
-	?owner@AlfLayoutManager@Alf@@QBEAAVCAlfWidgetControl@2@XZ @ 81 NONAME ; class Alf::CAlfWidgetControl & Alf::AlfLayoutManager::owner(void) const
-	?updateChildLayout@AlfGridLayoutManager@Alf@@UAEXPAVCAlfWidgetControl@2@@Z @ 82 NONAME ; void Alf::AlfGridLayoutManager::updateChildLayout(class Alf::CAlfWidgetControl *)
-	?setAttributeValue@AlfMeshVisualAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@@Z @ 83 NONAME ; void Alf::AlfMeshVisualAttributeSetter::setAttributeValue(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *)
-	?makeInterface@AlfWidget@Alf@@UAEPAVIAlfInterfaceBase@2@ABUIfId@2@@Z @ 84 NONAME ; class Alf::IAlfInterfaceBase * Alf::AlfWidget::makeInterface(struct Alf::IfId const &)
-	?notifyModelChanged@AlfModel@Alf@@QAEXXZ @ 85 NONAME ; void Alf::AlfModel::notifyModelChanged(void)
-	?resourcePool@AlfWidgetEnvExtension@Alf@@SAAAVResourcePool@2@AAVCAlfEnv@@@Z @ 86 NONAME ; class Alf::ResourcePool & Alf::AlfWidgetEnvExtension::resourcePool(class CAlfEnv &)
-	??1AlfBranch@Alf@@UAE@XZ @ 87 NONAME ; Alf::AlfBranch::~AlfBranch(void)
-	?getDataField@AlfAttribute@Alf@@QBEPBDXZ @ 88 NONAME ; char const * Alf::AlfAttribute::getDataField(void) const
-	?createAndSendCommands@AlfMeshVisualAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAV3@@Z @ 89 NONAME ; void Alf::AlfMeshVisualAttributeSetter::createAndSendCommands(class CAlfVisual &, class Alf::AlfAttributeContainer *, class CAlfVisual *)
-	?numChildTemplates@AlfVisualTemplate@Alf@@UBEHXZ @ 90 NONAME ; int Alf::AlfVisualTemplate::numChildTemplates(void) const
-	?attributeSetter@AlfVisualTemplate@Alf@@UBEAAVIAlfAttributeSetter@2@H@Z @ 91 NONAME ; class Alf::IAlfAttributeSetter & Alf::AlfVisualTemplate::attributeSetter(int) const
-	??0AlfLineVisualAttributeSetter@Alf@@QAE@XZ @ 92 NONAME ; Alf::AlfLineVisualAttributeSetter::AlfLineVisualAttributeSetter(void)
-	?branch@AlfContainer@Alf@@UAEPAVIAlfBranch@2@XZ @ 93 NONAME ; class Alf::IAlfBranch * Alf::AlfContainer::branch(void)
-	?setState@CAlfWidgetControl@Alf@@UAEXI@Z @ 94 NONAME ; void Alf::CAlfWidgetControl::setState(unsigned int)
-	?rgbValue@AlfAttributeValueType@Alf@@UBEMXZ @ 95 NONAME ; float Alf::AlfAttributeValueType::rgbValue(void) const
-	?string@AlfVariantType@Alf@@UBEABVUString@osncore@@XZ @ 96 NONAME ; class osncore::UString const & Alf::AlfVariantType::string(void) const
-	??1AlfModelOperation@Alf@@QAE@XZ @ 97 NONAME ; Alf::AlfModelOperation::~AlfModelOperation(void)
-	??0AlfVisualTemplate@Alf@@IAE@W4TAlfVisualType@@@Z @ 98 NONAME ; Alf::AlfVisualTemplate::AlfVisualTemplate(enum TAlfVisualType)
-	?unit@AlfAttributeValueType@Alf@@UBE?AW4TAlfUnit@@XZ @ 99 NONAME ; enum TAlfUnit Alf::AlfAttributeValueType::unit(void) const
-	?removeItem@AlfContainer@Alf@@UAEXI@Z @ 100 NONAME ; void Alf::AlfContainer::removeItem(unsigned int)
-	?addWidget@AlfWidget@Alf@@UAEXAAVIAlfWidget@2@@Z @ 101 NONAME ; void Alf::AlfWidget::addWidget(class Alf::IAlfWidget &)
-	?removeData@AlfModel@Alf@@UAEXHPAH@Z @ 102 NONAME ; void Alf::AlfModel::removeData(int, int *)
-	?addElement@CAlfWidgetControl@Alf@@UAEXPAVIAlfElement@2@@Z @ 103 NONAME ; void Alf::CAlfWidgetControl::addElement(class Alf::IAlfElement *)
-	??0AlfWidget@Alf@@QAE@PBD@Z @ 104 NONAME ; Alf::AlfWidget::AlfWidget(char const *)
-	??1AlfFlowLayoutAttributeSetter@Alf@@UAE@XZ @ 105 NONAME ; Alf::AlfFlowLayoutAttributeSetter::~AlfFlowLayoutAttributeSetter(void)
-	?sort@AlfBranch@Alf@@UAEXABVIAlfSortFunction@2@@Z @ 106 NONAME ; void Alf::AlfBranch::sort(class Alf::IAlfSortFunction const &)
-	?doUpdateChildLayout@AlfAnchorLayoutManager@Alf@@MAEXPAVCAlfWidgetControl@2@@Z @ 107 NONAME ; void Alf::AlfAnchorLayoutManager::doUpdateChildLayout(class Alf::CAlfWidgetControl *)
-	?integer@AlfVariantType@Alf@@UBEHXZ @ 108 NONAME ; int Alf::AlfVariantType::integer(void) const
-	?createAndSendCommands@AlfViewportLayoutAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAV3@@Z @ 109 NONAME ; void Alf::AlfViewportLayoutAttributeSetter::createAndSendCommands(class CAlfVisual &, class Alf::AlfAttributeContainer *, class CAlfVisual *)
-	?nextFocusableControl@CAlfWidgetControl@Alf@@AAEPAV12@PAV12@@Z @ 110 NONAME ; class Alf::CAlfWidgetControl * Alf::CAlfWidgetControl::nextFocusableControl(class Alf::CAlfWidgetControl *)
-	?getLayoutPreferences@AlfLayoutManager@Alf@@IBEPBVIAlfLayoutPreferences@2@PAVCAlfWidgetControl@2@@Z @ 111 NONAME ; class Alf::IAlfLayoutPreferences const * Alf::AlfLayoutManager::getLayoutPreferences(class Alf::CAlfWidgetControl *) const
-	?findVisual@AlfElement@Alf@@QAEPAVCAlfVisual@@I@Z @ 112 NONAME ; class CAlfVisual * Alf::AlfElement::findVisual(unsigned int)
-	?removeAndDestroyElement@CAlfWidgetControl@Alf@@UAEXABVIAlfElement@2@@Z @ 113 NONAME ; void Alf::CAlfWidgetControl::removeAndDestroyElement(class Alf::IAlfElement const &)
-	?setSourceValue@AlfAttribute@Alf@@QAEXPAVAlfAttributeValueType@2@I@Z @ 114 NONAME ; void Alf::AlfAttribute::setSourceValue(class Alf::AlfAttributeValueType *, unsigned int)
-	??0AlfVariantType@Alf@@QAE@ABN@Z @ 115 NONAME ; Alf::AlfVariantType::AlfVariantType(double const &)
-	??1AlfCommonVisualAttributeSetter@Alf@@UAE@XZ @ 116 NONAME ; Alf::AlfCommonVisualAttributeSetter::~AlfCommonVisualAttributeSetter(void)
-	??0AlfImageVisualAttributeSetter@Alf@@QAE@XZ @ 117 NONAME ; Alf::AlfImageVisualAttributeSetter::AlfImageVisualAttributeSetter(void)
-	?createChildVisualTree@AlfRecyclingGridElement@Alf@@UAEXPAVIAlfElement@2@AAVIAlfVariantType@2@AAVIAlfBranch@2@HI@Z @ 118 NONAME ; void Alf::AlfRecyclingGridElement::createChildVisualTree(class Alf::IAlfElement *, class Alf::IAlfVariantType &, class Alf::IAlfBranch &, int, unsigned int)
-	?getFocusableBefore@CAlfWidgetControl@Alf@@MAEPAV12@AAVIAlfContainerWidget@2@AAV12@@Z @ 119 NONAME ; class Alf::CAlfWidgetControl * Alf::CAlfWidgetControl::getFocusableBefore(class Alf::IAlfContainerWidget &, class Alf::CAlfWidgetControl &)
-	?setAttributeValue@AlfDeckLayoutAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@@Z @ 120 NONAME ; void Alf::AlfDeckLayoutAttributeSetter::setAttributeValue(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *)
-	?modelChanged@CAlfWidgetControl@Alf@@UAEXAAVIAlfModel@2@@Z @ 121 NONAME ; void Alf::CAlfWidgetControl::modelChanged(class Alf::IAlfModel &)
-	?createCommand@AlfFlowLayoutAttributeSetter@Alf@@UAEPAVTAlfCommand@@AAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@HPAV4@@Z @ 122 NONAME ; class TAlfCommand * Alf::AlfFlowLayoutAttributeSetter::createCommand(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *, int, class CAlfVisual *)
-	?createAndSendCommands@AlfAnchorLayoutAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAV3@@Z @ 123 NONAME ; void Alf::AlfAnchorLayoutAttributeSetter::createAndSendCommands(class CAlfVisual &, class Alf::AlfAttributeContainer *, class CAlfVisual *)
-	?createVisualTree@AlfVisualTemplate@Alf@@UAEPAVCAlfVisual@@AAVCAlfControl@@PAVIAlfMap@2@PAVCAlfLayout@@H@Z @ 124 NONAME ; class CAlfVisual * Alf::AlfVisualTemplate::createVisualTree(class CAlfControl &, class Alf::IAlfMap *, class CAlfLayout *, int)
-	?uinteger@AlfBranch@Alf@@UBEIXZ @ 125 NONAME ; unsigned int Alf::AlfBranch::uinteger(void) const
-	?getWidget@AlfWidget@Alf@@UBEPAVIAlfWidget@2@H@Z @ 126 NONAME ; class Alf::IAlfWidget * Alf::AlfWidget::getWidget(int) const
-	?getSourceValueCount@AlfAttribute@Alf@@QBEIXZ @ 127 NONAME ; unsigned int Alf::AlfAttribute::getSourceValueCount(void) const
-	??0AlfVariantType@Alf@@QAE@ABI@Z @ 128 NONAME ; Alf::AlfVariantType::AlfVariantType(unsigned int const &)
-	?getSourceValue@AlfAttribute@Alf@@QBEPAVAlfAttributeValueType@2@I@Z @ 129 NONAME ; class Alf::AlfAttributeValueType * Alf::AlfAttribute::getSourceValue(unsigned int) const
-	?boolean@AlfContainer@Alf@@UBE_NXZ @ 130 NONAME ; bool Alf::AlfContainer::boolean(void) const
-	?setVisualType@AlfVisualTemplate@Alf@@UAEXW4TAlfVisualType@@@Z @ 131 NONAME ; void Alf::AlfVisualTemplate::setVisualType(enum TAlfVisualType)
-	?construct@CAlfWidgetControl@Alf@@IAEXAAVCAlfEnv@@@Z @ 132 NONAME ; void Alf::CAlfWidgetControl::construct(class CAlfEnv &)
-	?addEventHandler@CAlfWidgetControl@Alf@@UAEXPAVIAlfWidgetEventHandler@2@H@Z @ 133 NONAME ; void Alf::CAlfWidgetControl::addEventHandler(class Alf::IAlfWidgetEventHandler *, int)
-	?integer@AlfContainer@Alf@@UBEHXZ @ 134 NONAME ; int Alf::AlfContainer::integer(void) const
-	??1AlfReferenceToVisual@Alf@@QAE@XZ @ 135 NONAME ; Alf::AlfReferenceToVisual::~AlfReferenceToVisual(void)
-	?uinteger@AlfVariantType@Alf@@UBEIXZ @ 136 NONAME ; unsigned int Alf::AlfVariantType::uinteger(void) const
-	?destroyPresentation@CAlfWidgetControl@Alf@@UAEXH@Z @ 137 NONAME ; void Alf::CAlfWidgetControl::destroyPresentation(int)
-	??1AlfLineVisualAttributeSetter@Alf@@UAE@XZ @ 138 NONAME ; Alf::AlfLineVisualAttributeSetter::~AlfLineVisualAttributeSetter(void)
-	??0AlfVariantType@Alf@@QAE@ABVUString@osncore@@@Z @ 139 NONAME ; Alf::AlfVariantType::AlfVariantType(class osncore::UString const &)
-	?executeOperations@AlfModel@Alf@@UAEXAAV?$AlfPtrVector@VAlfModelOperation@Alf@@@osncore@@@Z @ 140 NONAME ; void Alf::AlfModel::executeOperations(class osncore::AlfPtrVector<class Alf::AlfModelOperation> &)
-	??1AlfVariantType@Alf@@UAE@XZ @ 141 NONAME ; Alf::AlfVariantType::~AlfVariantType(void)
-	?removeSourceValue@AlfAttribute@Alf@@QAEXI@Z @ 142 NONAME ; void Alf::AlfAttribute::removeSourceValue(unsigned int)
-	?removeEventHandler@CAlfWidgetControl@Alf@@UAEXAAVIAlfWidgetEventHandler@2@@Z @ 143 NONAME ; void Alf::CAlfWidgetControl::removeEventHandler(class Alf::IAlfWidgetEventHandler &)
-	?parent@AlfVisualTemplate@Alf@@UBEPAVIAlfVisualTemplate@2@XZ @ 144 NONAME ; class Alf::IAlfVisualTemplate * Alf::AlfVisualTemplate::parent(void) const
-	?createAndSendCommands@AlfCommonAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAV3@@Z @ 145 NONAME ; void Alf::AlfCommonAttributeSetter::createAndSendCommands(class CAlfVisual &, class Alf::AlfAttributeContainer *, class CAlfVisual *)
-	?getTime@AlfAttributeContainer@Alf@@QBEIXZ @ 146 NONAME ; unsigned int Alf::AlfAttributeContainer::getTime(void) const
-	?addVisualTree@AlfElement@Alf@@QAEXPAVCAlfVisual@@I@Z @ 147 NONAME ; void Alf::AlfElement::addVisualTree(class CAlfVisual *, unsigned int)
-	?setAttributeValue@AlfTextVisualAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@@Z @ 148 NONAME ; void Alf::AlfTextVisualAttributeSetter::setAttributeValue(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *)
-	?isDirty@AlfAttribute@Alf@@QBE_NXZ @ 149 NONAME ; bool Alf::AlfAttribute::isDirty(void) const
-	?makeInterface@AlfAnchorLayoutManager@Alf@@MAEPAVIAlfInterfaceBase@2@ABUIfId@2@@Z @ 150 NONAME ; class Alf::IAlfInterfaceBase * Alf::AlfAnchorLayoutManager::makeInterface(struct Alf::IfId const &)
-	?insertChildTemplate@AlfVisualTemplate@Alf@@UAEXAAVIAlfVisualTemplate@2@H@Z @ 151 NONAME ; void Alf::AlfVisualTemplate::insertChildTemplate(class Alf::IAlfVisualTemplate &, int)
-	?create@AlfVisualTemplate@Alf@@SAPAV12@W4TAlfVisualType@@@Z @ 152 NONAME ; class Alf::AlfVisualTemplate * Alf::AlfVisualTemplate::create(enum TAlfVisualType)
-	?setTime@AlfAttributeContainer@Alf@@QAEXI@Z @ 153 NONAME ; void Alf::AlfAttributeContainer::setTime(unsigned int)
-	?real@AlfContainer@Alf@@UBENXZ @ 154 NONAME ; double Alf::AlfContainer::real(void) const
-	?clone@AlfContainer@Alf@@UAEPAVIAlfContainer@2@XZ @ 155 NONAME ; class Alf::IAlfContainer * Alf::AlfContainer::clone(void)
-	?getFirstFocusable@CAlfWidgetControl@Alf@@MAEPAV12@AAVIAlfContainerWidget@2@@Z @ 156 NONAME ; class Alf::CAlfWidgetControl * Alf::CAlfWidgetControl::getFirstFocusable(class Alf::IAlfContainerWidget &)
-	?setData@AlfBranch@Alf@@UAEXPAVIAlfMap@2@@Z @ 157 NONAME ; void Alf::AlfBranch::setData(class Alf::IAlfMap *)
-	??1AlfGridLayoutManager@Alf@@UAE@XZ @ 158 NONAME ; Alf::AlfGridLayoutManager::~AlfGridLayoutManager(void)
-	?setAttributeValue@AlfAnchorLayoutAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@@Z @ 159 NONAME ; void Alf::AlfAnchorLayoutAttributeSetter::setAttributeValue(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *)
-	?destroyChildTemplate@AlfVisualTemplate@Alf@@UAEXH@Z @ 160 NONAME ; void Alf::AlfVisualTemplate::destroyChildTemplate(int)
-	?setAttributeValue@AlfViewportLayoutAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@@Z @ 161 NONAME ; void Alf::AlfViewportLayoutAttributeSetter::setAttributeValue(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *)
-	?setPresentation@AlfWidget@Alf@@UAEXPBD@Z @ 162 NONAME ; void Alf::AlfWidget::setPresentation(char const *)
-	?customData@AlfMap@Alf@@UAEPAVIAlfModelBase@2@XZ @ 163 NONAME ; class Alf::IAlfModelBase * Alf::AlfMap::customData(void)
-	?createVisualTree@AlfElement@Alf@@UAEPAVCAlfVisual@@AAVIAlfVariantType@2@AAVIAlfBranch@2@HIPAVCAlfLayout@@H@Z @ 164 NONAME ; class CAlfVisual * Alf::AlfElement::createVisualTree(class Alf::IAlfVariantType &, class Alf::IAlfBranch &, int, unsigned int, class CAlfLayout *, int)
-	?childName@AlfBranch@Alf@@UAEABVUString@osncore@@H@Z @ 165 NONAME ; class osncore::UString const & Alf::AlfBranch::childName(int)
-	?type@AlfAttribute@Alf@@QBE?AW4Type@AlfAttributeValueType@2@I@Z @ 166 NONAME ; enum Alf::AlfAttributeValueType::Type Alf::AlfAttribute::type(unsigned int) const
-	??0AlfAttribute@Alf@@QAE@PBDABVUString@osncore@@W4attributecategory@01@@Z @ 167 NONAME ; Alf::AlfAttribute::AlfAttribute(char const *, class osncore::UString const &, enum Alf::AlfAttribute::attributecategory)
-	?intValue@AlfAttributeValueType@Alf@@UBEHXZ @ 168 NONAME ; int Alf::AlfAttributeValueType::intValue(void) const
-	?branch@AlfVariantType@Alf@@UAEPAVIAlfBranch@2@XZ @ 169 NONAME ; class Alf::IAlfBranch * Alf::AlfVariantType::branch(void)
-	?addItem@AlfContainer@Alf@@UAEXIPAVIAlfVariantType@2@@Z @ 170 NONAME ; void Alf::AlfContainer::addItem(unsigned int, class Alf::IAlfVariantType *)
-	?dataIdToIndex@CAlfWidgetControl@Alf@@UAEIABVIAlfElement@2@I@Z @ 171 NONAME ; unsigned int Alf::CAlfWidgetControl::dataIdToIndex(class Alf::IAlfElement const &, unsigned int)
-	?type@AlfMap@Alf@@UBE?AW4Type@IAlfVariantType@2@XZ @ 172 NONAME ; enum Alf::IAlfVariantType::Type Alf::AlfMap::type(void) const
-	??0CAlfWidgetControl@Alf@@IAE@XZ @ 173 NONAME ; Alf::CAlfWidgetControl::CAlfWidgetControl(void)
-	?removeVisualTree@AlfElement@Alf@@UAEXAAVIAlfVariantType@2@I@Z @ 174 NONAME ; void Alf::AlfElement::removeVisualTree(class Alf::IAlfVariantType &, unsigned int)
-	?name@AlfMap@Alf@@UBEABVUString@osncore@@I@Z @ 175 NONAME ; class osncore::UString const & Alf::AlfMap::name(unsigned int) const
-	?updateVisualTree@AlfElement@Alf@@UAEXAAVIAlfVariantType@2@0I@Z @ 176 NONAME ; void Alf::AlfElement::updateVisualTree(class Alf::IAlfVariantType &, class Alf::IAlfVariantType &, unsigned int)
-	??0AlfBranch@Alf@@QAE@PAVIAlfMap@1@0@Z @ 177 NONAME ; Alf::AlfBranch::AlfBranch(class Alf::IAlfMap *, class Alf::IAlfMap *)
-	?destroyVisualTemplate@AlfElement@Alf@@UAEXXZ @ 178 NONAME ; void Alf::AlfElement::destroyVisualTemplate(void)
-	??0AlfWidgetEventHandler@Alf@@QAE@W4AlfEventHandlerType@IAlfWidgetEventHandler@1@W4AlfEventHandlerExecutionPhase@31@@Z @ 179 NONAME ; Alf::AlfWidgetEventHandler::AlfWidgetEventHandler(enum Alf::IAlfWidgetEventHandler::AlfEventHandlerType, enum Alf::IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase)
-	?addBrush@AlfVisualTemplate@Alf@@UAEXAAVCAlfBrush@@@Z @ 180 NONAME ; void Alf::AlfVisualTemplate::addBrush(class CAlfBrush &)
-	?category@AlfAttribute@Alf@@QBE?AW4attributecategory@12@XZ @ 181 NONAME ; enum Alf::AlfAttribute::attributecategory Alf::AlfAttribute::category(void) const
-	?intValue@AlfAttribute@Alf@@QBEHI@Z @ 182 NONAME ; int Alf::AlfAttribute::intValue(unsigned int) const
-	?createAndSendCommands@AlfImageVisualAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAV3@@Z @ 183 NONAME ; void Alf::AlfImageVisualAttributeSetter::createAndSendCommands(class CAlfVisual &, class Alf::AlfAttributeContainer *, class CAlfVisual *)
-	?updatePresentation@CAlfWidgetControl@Alf@@UAEXXZ @ 184 NONAME ; void Alf::CAlfWidgetControl::updatePresentation(void)
-	?makeInterface@AlfGridLayoutManager@Alf@@MAEPAVIAlfInterfaceBase@2@ABUIfId@2@@Z @ 185 NONAME ; class Alf::IAlfInterfaceBase * Alf::AlfGridLayoutManager::makeInterface(struct Alf::IfId const &)
-	??0AlfRecyclingGridElement@Alf@@QAE@AAVCAlfWidgetControl@1@PBDHH@Z @ 186 NONAME ; Alf::AlfRecyclingGridElement::AlfRecyclingGridElement(class Alf::CAlfWidgetControl &, char const *, int, int)
-	??0AlfVisualTemplate@Alf@@IAE@XZ @ 187 NONAME ; Alf::AlfVisualTemplate::AlfVisualTemplate(void)
-	?setFillStyle@AlfRecyclingGridElement@Alf@@QAEXW4FillStyle@12@H@Z @ 188 NONAME ; void Alf::AlfRecyclingGridElement::setFillStyle(enum Alf::AlfRecyclingGridElement::FillStyle, int)
-	?addItem@AlfMap@Alf@@UAEXIPAVIAlfVariantType@2@ABVUString@osncore@@@Z @ 189 NONAME ; void Alf::AlfMap::addItem(unsigned int, class Alf::IAlfVariantType *, class osncore::UString const &)
-	??1AlfAttributeValueType@Alf@@UAE@XZ @ 190 NONAME ; Alf::AlfAttributeValueType::~AlfAttributeValueType(void)
-	??1AlfCommonLayoutAttributeSetter@Alf@@UAE@XZ @ 191 NONAME ; Alf::AlfCommonLayoutAttributeSetter::~AlfCommonLayoutAttributeSetter(void)
-	?AcquireFocus@CAlfWidgetControl@Alf@@QAEXXZ @ 192 NONAME ; void Alf::CAlfWidgetControl::AcquireFocus(void)
-	?visualType@AlfVisualTemplate@Alf@@UBEHXZ @ 193 NONAME ; int Alf::AlfVisualTemplate::visualType(void) const
-	?processEvent@CAlfWidgetControl@Alf@@QAE?AW4AlfEventStatus@2@ABVTAlfEvent@@@Z @ 194 NONAME ; enum Alf::AlfEventStatus Alf::CAlfWidgetControl::processEvent(class TAlfEvent const &)
-	??0AlfCommonAttributeSetter@Alf@@QAE@XZ @ 195 NONAME ; Alf::AlfCommonAttributeSetter::AlfCommonAttributeSetter(void)
-	?setParent@AlfVisualTemplate@Alf@@UAEXPAVIAlfVisualTemplate@2@@Z @ 196 NONAME ; void Alf::AlfVisualTemplate::setParent(class Alf::IAlfVisualTemplate *)
-	?stringValue@AlfAttributeValueType@Alf@@UBEABVUString@osncore@@XZ @ 197 NONAME ; class osncore::UString const & Alf::AlfAttributeValueType::stringValue(void) const
-	??0AlfAttribute@Alf@@QAE@PBDHW4TAlfUnit@@W4attributecategory@01@@Z @ 198 NONAME ; Alf::AlfAttribute::AlfAttribute(char const *, int, enum TAlfUnit, enum Alf::AlfAttribute::attributecategory)
-	?updateVisualTree@AlfVisualTemplate@Alf@@UAEPAVCAlfVisual@@PAVIAlfMap@2@0AAV3@@Z @ 199 NONAME ; class CAlfVisual * Alf::AlfVisualTemplate::updateVisualTree(class Alf::IAlfMap *, class Alf::IAlfMap *, class CAlfVisual &)
-	??0AlfTextVisualAttributeSetter@Alf@@QAE@XZ @ 200 NONAME ; Alf::AlfTextVisualAttributeSetter::AlfTextVisualAttributeSetter(void)
-	?handleFocusNext@CAlfWidgetControl@Alf@@IAE_NXZ @ 201 NONAME ; bool Alf::CAlfWidgetControl::handleFocusNext(void)
-	?initializeEnvironment@AlfWidgetEnvExtension@Alf@@SAXAAVCAlfEnv@@@Z @ 202 NONAME ; void Alf::AlfWidgetEnvExtension::initializeEnvironment(class CAlfEnv &)
-	?setAttributeValue@AlfCommonAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@@Z @ 203 NONAME ; void Alf::AlfCommonAttributeSetter::setAttributeValue(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *)
-	??0AlfGridLayoutAttributeSetter@Alf@@QAE@XZ @ 204 NONAME ; Alf::AlfGridLayoutAttributeSetter::AlfGridLayoutAttributeSetter(void)
-	?makeInterface@AlfHostAPIImpl@Alf@@UAEPAVIAlfInterfaceBase@2@ABUIfId@2@@Z @ 205 NONAME ; class Alf::IAlfInterfaceBase * Alf::AlfHostAPIImpl::makeInterface(struct Alf::IfId const &)
-	?createCommand@AlfGridLayoutAttributeSetter@Alf@@UAEPAVTAlfCommand@@AAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@HPAV4@@Z @ 206 NONAME ; class TAlfCommand * Alf::AlfGridLayoutAttributeSetter::createCommand(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *, int, class CAlfVisual *)
-	?type@AlfBranch@Alf@@UBE?AW4Type@IAlfVariantType@2@XZ @ 207 NONAME ; enum Alf::IAlfVariantType::Type Alf::AlfBranch::type(void) const
-	?addCancelOutput@AlfWidgetEventHandler@Alf@@QAEXPBDH_N@Z @ 208 NONAME ; void Alf::AlfWidgetEventHandler::addCancelOutput(char const *, int, bool)
-	?enumValue@AlfAttributeValueType@Alf@@UBEHXZ @ 209 NONAME ; int Alf::AlfAttributeValueType::enumValue(void) const
-	??1AlfAttributeContainer@Alf@@QAE@XZ @ 210 NONAME ; Alf::AlfAttributeContainer::~AlfAttributeContainer(void)
-	?setModel@AlfWidget@Alf@@UAEXPAVIAlfModel@2@_N@Z @ 211 NONAME ; void Alf::AlfWidget::setModel(class Alf::IAlfModel *, bool)
-	?createCommand@AlfLineVisualAttributeSetter@Alf@@UAEPAVTAlfCommand@@AAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@HPAV4@@Z @ 212 NONAME ; class TAlfCommand * Alf::AlfLineVisualAttributeSetter::createCommand(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *, int, class CAlfVisual *)
-	?set@AlfContainer@Alf@@UAEXAAVIAlfVariantType@2@@Z @ 213 NONAME ; void Alf::AlfContainer::set(class Alf::IAlfVariantType &)
-	?addWidgetAttributeOutput@AlfWidgetEventHandler@Alf@@QAEXAAVAlfAttribute@2@PBD@Z @ 214 NONAME ; void Alf::AlfWidgetEventHandler::addWidgetAttributeOutput(class Alf::AlfAttribute &, char const *)
-	?setControlSize@AlfLayoutManager@Alf@@IAEXAAVCAlfWidgetControl@2@ABUTAlfRealPoint@@@Z @ 215 NONAME ; void Alf::AlfLayoutManager::setControlSize(class Alf::CAlfWidgetControl &, struct TAlfRealPoint const &)
-	?control@AlfElement@Alf@@IAEAAVCAlfWidgetControl@2@XZ @ 216 NONAME ; class Alf::CAlfWidgetControl & Alf::AlfElement::control(void)
-	??0AlfGridLayoutManager@Alf@@QAE@XZ @ 217 NONAME ; Alf::AlfGridLayoutManager::AlfGridLayoutManager(void)
-	?findVisual@AlfElement@Alf@@UAEPAVCAlfVisual@@PBDI@Z @ 218 NONAME ; class CAlfVisual * Alf::AlfElement::findVisual(char const *, unsigned int)
-	?numEventHandlers@CAlfWidgetControl@Alf@@UBEHXZ @ 219 NONAME ; int Alf::CAlfWidgetControl::numEventHandlers(void) const
-	??0AlfVariantType@Alf@@QAE@AB_N@Z @ 220 NONAME ; Alf::AlfVariantType::AlfVariantType(bool const &)
-	??1AlfViewportLayoutAttributeSetter@Alf@@UAE@XZ @ 221 NONAME ; Alf::AlfViewportLayoutAttributeSetter::~AlfViewportLayoutAttributeSetter(void)
-	?dataIdRange@CAlfWidgetControl@Alf@@UAEIABVIAlfElement@2@@Z @ 222 NONAME ; unsigned int Alf::CAlfWidgetControl::dataIdRange(class Alf::IAlfElement const &)
-	?item@AlfMap@Alf@@UAEPAVIAlfVariantType@2@I@Z @ 223 NONAME ; class Alf::IAlfVariantType * Alf::AlfMap::item(unsigned int)
-	??0AlfAttribute@Alf@@QAE@PBDMW4TAlfUnit@@W4attributecategory@01@@Z @ 224 NONAME ; Alf::AlfAttribute::AlfAttribute(char const *, float, enum TAlfUnit, enum Alf::AlfAttribute::attributecategory)
-	?boolean@AlfVariantType@Alf@@UBE_NXZ @ 225 NONAME ; bool Alf::AlfVariantType::boolean(void) const
-	?replaceItem@AlfMap@Alf@@UAEXABVUString@osncore@@PAVIAlfVariantType@2@@Z @ 226 NONAME ; void Alf::AlfMap::replaceItem(class osncore::UString const &, class Alf::IAlfVariantType *)
-	??0AlfVariantType@Alf@@QAE@XZ @ 227 NONAME ; Alf::AlfVariantType::AlfVariantType(void)
-	?count@AlfContainer@Alf@@UAEHXZ @ 228 NONAME ; int Alf::AlfContainer::count(void)
-	??1AlfRecyclingGridElement@Alf@@UAE@XZ @ 229 NONAME ; Alf::AlfRecyclingGridElement::~AlfRecyclingGridElement(void)
-	?map@AlfBranch@Alf@@UAEPAVIAlfMap@2@XZ @ 230 NONAME ; class Alf::IAlfMap * Alf::AlfBranch::map(void)
-	?getMappingFunctionId@AlfAttribute@Alf@@QBEHXZ @ 231 NONAME ; int Alf::AlfAttribute::getMappingFunctionId(void) const
-	??0AlfAttributeValueType@Alf@@QAE@MW4TAlfUnit@@@Z @ 232 NONAME ; Alf::AlfAttributeValueType::AlfAttributeValueType(float, enum TAlfUnit)
-	?childData@AlfBranch@Alf@@UAEPAVIAlfVariantType@2@H@Z @ 233 NONAME ; class Alf::IAlfVariantType * Alf::AlfBranch::childData(int)
-	?name@AlfVisualTemplate@Alf@@UBEPBDXZ @ 234 NONAME ; char const * Alf::AlfVisualTemplate::name(void) const
-	?setDirty@AlfAttribute@Alf@@QAEX_N@Z @ 235 NONAME ; void Alf::AlfAttribute::setDirty(bool)
-	?removeAndDestroyVisuals@AlfRecyclingGridElement@Alf@@UAEXH@Z @ 236 NONAME ; void Alf::AlfRecyclingGridElement::removeAndDestroyVisuals(int)
-	?createAndSendCommands@AlfCurvePathLayoutAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAV3@@Z @ 237 NONAME ; void Alf::AlfCurvePathLayoutAttributeSetter::createAndSendCommands(class CAlfVisual &, class Alf::AlfAttributeContainer *, class CAlfVisual *)
-	?updateChildrenLayout@AlfLayoutManager@Alf@@UAEXXZ @ 238 NONAME ; void Alf::AlfLayoutManager::updateChildrenLayout(void)
-	?setAttributeValue@AlfImageVisualAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@@Z @ 239 NONAME ; void Alf::AlfImageVisualAttributeSetter::setAttributeValue(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *)
-	??0CAlfWidgetControl@Alf@@QAE@AAVCAlfEnv@@@Z @ 240 NONAME ; Alf::CAlfWidgetControl::CAlfWidgetControl(class CAlfEnv &)
-	?count@AlfMap@Alf@@UBEHXZ @ 241 NONAME ; int Alf::AlfMap::count(void) const
-	?uinteger@AlfMap@Alf@@UBEIXZ @ 242 NONAME ; unsigned int Alf::AlfMap::uinteger(void) const
-	?removeAndDestroyEventHandler@CAlfWidgetControl@Alf@@UAEXABVUString@osncore@@@Z @ 243 NONAME ; void Alf::CAlfWidgetControl::removeAndDestroyEventHandler(class osncore::UString const &)
-	?map@AlfContainer@Alf@@UAEPAVIAlfMap@2@XZ @ 244 NONAME ; class Alf::IAlfMap * Alf::AlfContainer::map(void)
-	?accept@AlfRecyclingGridElement@Alf@@UBE_NAAVCAlfWidgetControl@2@ABVTAlfEvent@@@Z @ 245 NONAME ; bool Alf::AlfRecyclingGridElement::accept(class Alf::CAlfWidgetControl &, class TAlfEvent const &) const
-	?createAndSendCommands@AlfFlowLayoutAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAV3@@Z @ 246 NONAME ; void Alf::AlfFlowLayoutAttributeSetter::createAndSendCommands(class CAlfVisual &, class Alf::AlfAttributeContainer *, class CAlfVisual *)
-	?widgetName@AlfWidget@Alf@@UBEPBDXZ @ 247 NONAME ; char const * Alf::AlfWidget::widgetName(void) const
-	??0AlfElement@Alf@@IAE@XZ @ 248 NONAME ; Alf::AlfElement::AlfElement(void)
-	?childRemoved@AlfGridLayoutManager@Alf@@UAEXPAVCAlfWidgetControl@2@@Z @ 249 NONAME ; void Alf::AlfGridLayoutManager::childRemoved(class Alf::CAlfWidgetControl *)
-	??1AlfCurvePathLayoutAttributeSetter@Alf@@UAE@XZ @ 250 NONAME ; Alf::AlfCurvePathLayoutAttributeSetter::~AlfCurvePathLayoutAttributeSetter(void)
-	?brush@AlfVisualTemplate@Alf@@UBEAAVCAlfBrush@@H@Z @ 251 NONAME ; class CAlfBrush & Alf::AlfVisualTemplate::brush(int) const
-	?createCommand@AlfCurvePathLayoutAttributeSetter@Alf@@UAEPAVTAlfCommand@@AAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@HPAV4@@Z @ 252 NONAME ; class TAlfCommand * Alf::AlfCurvePathLayoutAttributeSetter::createCommand(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *, int, class CAlfVisual *)
-	?addTargetValue@AlfAttribute@Alf@@QAEXPAVAlfAttributeValueType@2@@Z @ 253 NONAME ; void Alf::AlfAttribute::addTargetValue(class Alf::AlfAttributeValueType *)
-	?attributeContainer@AlfVisualTemplate@Alf@@UBEAAVAlfAttributeContainer@2@H@Z @ 254 NONAME ; class Alf::AlfAttributeContainer & Alf::AlfVisualTemplate::attributeContainer(int) const
-	?getTime@AlfAttribute@Alf@@QBEHXZ @ 255 NONAME ; int Alf::AlfAttribute::getTime(void) const
-	??0AlfAttributeValueType@Alf@@QAE@HW4TAlfUnit@@@Z @ 256 NONAME ; Alf::AlfAttributeValueType::AlfAttributeValueType(int, enum TAlfUnit)
-	??8AlfContainer@Alf@@QBE_NABVIAlfVariantType@1@@Z @ 257 NONAME ; bool Alf::AlfContainer::operator==(class Alf::IAlfVariantType const &) const
-	?realValue@AlfAttribute@Alf@@QBEMI@Z @ 258 NONAME ; float Alf::AlfAttribute::realValue(unsigned int) const
-	?getNewData@AlfModelOperation@Alf@@QAEPAVIAlfVariantType@2@XZ @ 259 NONAME ; class Alf::IAlfVariantType * Alf::AlfModelOperation::getNewData(void)
-	?customData@AlfVariantType@Alf@@UAEPAVIAlfModelBase@2@XZ @ 260 NONAME ; class Alf::IAlfModelBase * Alf::AlfVariantType::customData(void)
-	?findElement@CAlfWidgetControl@Alf@@UAEPAVIAlfElement@2@PBD@Z @ 261 NONAME ; class Alf::IAlfElement * Alf::CAlfWidgetControl::findElement(char const *)
-	?setAttributeValue@AlfCommonLayoutAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@@Z @ 262 NONAME ; void Alf::AlfCommonLayoutAttributeSetter::setAttributeValue(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *)
-	?newData@AlfModelOperation@Alf@@QBEAAVIAlfVariantType@2@XZ @ 263 NONAME ; class Alf::IAlfVariantType & Alf::AlfModelOperation::newData(void) const
-	??1AlfTextVisualAttributeSetter@Alf@@UAE@XZ @ 264 NONAME ; Alf::AlfTextVisualAttributeSetter::~AlfTextVisualAttributeSetter(void)
-	??0AlfMap@Alf@@QAE@XZ @ 265 NONAME ; Alf::AlfMap::AlfMap(void)
-	??8AlfVariantType@Alf@@QBE_NABVIAlfVariantType@1@@Z @ 266 NONAME ; bool Alf::AlfVariantType::operator==(class Alf::IAlfVariantType const &) const
-	?setAttributeValue@AlfLineVisualAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@@Z @ 267 NONAME ; void Alf::AlfLineVisualAttributeSetter::setAttributeValue(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *)
-	??1AlfGridLayoutAttributeSetter@Alf@@UAE@XZ @ 268 NONAME ; Alf::AlfGridLayoutAttributeSetter::~AlfGridLayoutAttributeSetter(void)
-	?RelinquishFocus@CAlfWidgetControl@Alf@@QAEXXZ @ 269 NONAME ; void Alf::CAlfWidgetControl::RelinquishFocus(void)
-	?makeInterface@AlfVisualTemplate@Alf@@UAEPAVIAlfInterfaceBase@2@ABUIfId@2@@Z @ 270 NONAME ; class Alf::IAlfInterfaceBase * Alf::AlfVisualTemplate::makeInterface(struct Alf::IfId const &)
-	??1AlfWidget@Alf@@UAE@XZ @ 271 NONAME ; Alf::AlfWidget::~AlfWidget(void)
-	?real@AlfVariantType@Alf@@UBENXZ @ 272 NONAME ; double Alf::AlfVariantType::real(void) const
-	?OfferEventL@CAlfWidgetControl@Alf@@EAEHABVTAlfEvent@@@Z @ 273 NONAME ; int Alf::CAlfWidgetControl::OfferEventL(class TAlfEvent const &)
-	?elementDataId@CAlfWidgetControl@Alf@@UAEIABVIAlfElement@2@II@Z @ 274 NONAME ; unsigned int Alf::CAlfWidgetControl::elementDataId(class Alf::IAlfElement const &, unsigned int, unsigned int)
-	?setName@AlfVisualTemplate@Alf@@UAEXPBD@Z @ 275 NONAME ; void Alf::AlfVisualTemplate::setName(char const *)
-	?removeAttribute@AlfAttributeContainer@Alf@@QAEXI@Z @ 276 NONAME ; void Alf::AlfAttributeContainer::removeAttribute(unsigned int)
-	?offerEvent@AlfRecyclingGridElement@Alf@@UAE?AW4AlfEventStatus@2@AAVCAlfWidgetControl@2@ABVTAlfEvent@@@Z @ 277 NONAME ; enum Alf::AlfEventStatus Alf::AlfRecyclingGridElement::offerEvent(class Alf::CAlfWidgetControl &, class TAlfEvent const &)
-	?createCommand@AlfDeckLayoutAttributeSetter@Alf@@UAEPAVTAlfCommand@@AAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@HPAV4@@Z @ 278 NONAME ; class TAlfCommand * Alf::AlfDeckLayoutAttributeSetter::createCommand(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *, int, class CAlfVisual *)
-	?create@AlfVisualTemplate@Alf@@SAPAV12@XZ @ 279 NONAME ; class Alf::AlfVisualTemplate * Alf::AlfVisualTemplate::create(void)
-	??1AlfContainer@Alf@@UAE@XZ @ 280 NONAME ; Alf::AlfContainer::~AlfContainer(void)
-	?setInterpolationStyle@AlfAttribute@Alf@@QAEXW4TAlfInterpolationStyle@@@Z @ 281 NONAME ; void Alf::AlfAttribute::setInterpolationStyle(enum TAlfInterpolationStyle)
-	?getInterpolationStyle@AlfAttribute@Alf@@QBE?AW4TAlfInterpolationStyle@@XZ @ 282 NONAME ; enum TAlfInterpolationStyle Alf::AlfAttribute::getInterpolationStyle(void) const
-	?setAttributeValue@AlfFlowLayoutAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@@Z @ 283 NONAME ; void Alf::AlfFlowLayoutAttributeSetter::setAttributeValue(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *)
-	?updateChildLayout@AlfLayoutManager@Alf@@UAEXPAVCAlfWidgetControl@2@@Z @ 284 NONAME ; void Alf::AlfLayoutManager::updateChildLayout(class Alf::CAlfWidgetControl *)
-	?control@AlfWidget@Alf@@UBEPAVCAlfWidgetControl@2@XZ @ 285 NONAME ; class Alf::CAlfWidgetControl * Alf::AlfWidget::control(void) const
-	?isContainer@CAlfWidgetControl@Alf@@QBE_NXZ @ 286 NONAME ; bool Alf::CAlfWidgetControl::isContainer(void) const
-	??0AlfAttributeValueType@Alf@@QAE@ABVUString@osncore@@@Z @ 287 NONAME ; Alf::AlfAttributeValueType::AlfAttributeValueType(class osncore::UString const &)
-	?addAttribute@AlfAttributeContainer@Alf@@QAEXPAVAlfAttribute@2@@Z @ 288 NONAME ; void Alf::AlfAttributeContainer::addAttribute(class Alf::AlfAttribute *)
-	??1AlfLayoutManager@Alf@@UAE@XZ @ 289 NONAME ; Alf::AlfLayoutManager::~AlfLayoutManager(void)
-	?setAttributeValue@AlfGridLayoutAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@@Z @ 290 NONAME ; void Alf::AlfGridLayoutAttributeSetter::setAttributeValue(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *)
-	?addWidgetStateOutput@AlfWidgetEventHandler@Alf@@QAEXABVUString@osncore@@II@Z @ 291 NONAME ; void Alf::AlfWidgetEventHandler::addWidgetStateOutput(class osncore::UString const &, unsigned int, unsigned int)
-	?makeInterface@AlfWidget@Alf@@SAPAVIAlfInterfaceBase@2@PAV12@ABUIfId@2@@Z @ 292 NONAME ; class Alf::IAlfInterfaceBase * Alf::AlfWidget::makeInterface(class Alf::AlfWidget *, struct Alf::IfId const &)
-	??0AlfAnchorLayoutAttributeSetter@Alf@@QAE@XZ @ 293 NONAME ; Alf::AlfAnchorLayoutAttributeSetter::AlfAnchorLayoutAttributeSetter(void)
-	?string@AlfMap@Alf@@UBEABVUString@osncore@@XZ @ 294 NONAME ; class osncore::UString const & Alf::AlfMap::string(void) const
-	?set@AlfMap@Alf@@UAEXAAVIAlfVariantType@2@@Z @ 295 NONAME ; void Alf::AlfMap::set(class Alf::IAlfVariantType &)
-	??0AlfWidget@Alf@@QAE@PBDAAVIAlfContainerWidget@1@AAVCAlfEnv@@@Z @ 296 NONAME ; Alf::AlfWidget::AlfWidget(char const *, class Alf::IAlfContainerWidget &, class CAlfEnv &)
-	??0AlfLayoutManager@Alf@@QAE@W4TAlfLayoutType@@@Z @ 297 NONAME ; Alf::AlfLayoutManager::AlfLayoutManager(enum TAlfLayoutType)
-	?removePresentationEventHandlers@CAlfWidgetControl@Alf@@UAEXXZ @ 298 NONAME ; void Alf::CAlfWidgetControl::removePresentationEventHandlers(void)
-	?setActiveStates@AlfRecyclingGridElement@Alf@@UAEXI@Z @ 299 NONAME ; void Alf::AlfRecyclingGridElement::setActiveStates(unsigned int)
-	?addAnimationOutput@AlfWidgetEventHandler@Alf@@QAEXPAVAlfReferenceToVisual@2@0PAVIAlfAttributeSetter@2@PAVAlfAttributeContainer@2@II@Z @ 300 NONAME ; void Alf::AlfWidgetEventHandler::addAnimationOutput(class Alf::AlfReferenceToVisual *, class Alf::AlfReferenceToVisual *, class Alf::IAlfAttributeSetter *, class Alf::AlfAttributeContainer *, unsigned int, unsigned int)
-	?removeTargetValue@AlfAttribute@Alf@@QAEXI@Z @ 301 NONAME ; void Alf::AlfAttribute::removeTargetValue(unsigned int)
-	?create@AlfModelOperation@Alf@@SAPAV12@W4OperationType@12@HPAHPAVIAlfVariantType@2@ABVUString@osncore@@@Z @ 302 NONAME ; class Alf::AlfModelOperation * Alf::AlfModelOperation::create(enum Alf::AlfModelOperation::OperationType, int, int *, class Alf::IAlfVariantType *, class osncore::UString const &)
-	?ContainerLayout@CAlfWidgetControl@Alf@@UBEPAVCAlfLayout@@PBVCAlfControl@@@Z @ 303 NONAME ; class CAlfLayout * Alf::CAlfWidgetControl::ContainerLayout(class CAlfControl const *) const
-	?data@AlfModel@Alf@@UBEPAVIAlfVariantType@2@XZ @ 304 NONAME ; class Alf::IAlfVariantType * Alf::AlfModel::data(void) const
-	?replaceItem@AlfContainer@Alf@@UAEXIPAVIAlfVariantType@2@@Z @ 305 NONAME ; void Alf::AlfContainer::replaceItem(unsigned int, class Alf::IAlfVariantType *)
-	?numBrushes@AlfVisualTemplate@Alf@@UBEHXZ @ 306 NONAME ; int Alf::AlfVisualTemplate::numBrushes(void) const
-	??0AlfAttribute@Alf@@QAE@PBDW4attributecategory@01@@Z @ 307 NONAME ; Alf::AlfAttribute::AlfAttribute(char const *, enum Alf::AlfAttribute::attributecategory)
-	?doUpdateChildLayout@AlfLayoutManager@Alf@@MAEXPAVCAlfWidgetControl@2@@Z @ 308 NONAME ; void Alf::AlfLayoutManager::doUpdateChildLayout(class Alf::CAlfWidgetControl *)
-	?type@AlfContainer@Alf@@UBE?AW4Type@IAlfVariantType@2@XZ @ 309 NONAME ; enum Alf::IAlfVariantType::Type Alf::AlfContainer::type(void) const
-	?clone@AlfBranch@Alf@@UAEPAVIAlfBranch@2@XZ @ 310 NONAME ; class Alf::IAlfBranch * Alf::AlfBranch::clone(void)
-	?setParentElement@AlfElement@Alf@@UAEXAAVIAlfElement@2@@Z @ 311 NONAME ; void Alf::AlfElement::setParentElement(class Alf::IAlfElement &)
-	?setOwner@AlfVisualTemplate@Alf@@UAEXPAVIAlfElement@2@@Z @ 312 NONAME ; void Alf::AlfVisualTemplate::setOwner(class Alf::IAlfElement *)
-	?addEventPasserOutput@AlfWidgetEventHandler@Alf@@QAEXPBD0@Z @ 313 NONAME ; void Alf::AlfWidgetEventHandler::addEventPasserOutput(char const *, char const *)
-	?setTargetValue@AlfAttribute@Alf@@QAEXPAVAlfAttributeValueType@2@I@Z @ 314 NONAME ; void Alf::AlfAttribute::setTargetValue(class Alf::AlfAttributeValueType *, unsigned int)
-	??8AlfBranch@Alf@@QBE_NABVIAlfVariantType@1@@Z @ 315 NONAME ; bool Alf::AlfBranch::operator==(class Alf::IAlfVariantType const &) const
-	?container@AlfVariantType@Alf@@UAEPAVIAlfContainer@2@XZ @ 316 NONAME ; class Alf::IAlfContainer * Alf::AlfVariantType::container(void)
-	?eventHandlerData@AlfRecyclingGridElement@Alf@@UAEPAUAlfWidgetEventHandlerInitData@2@XZ @ 317 NONAME ; struct Alf::AlfWidgetEventHandlerInitData * Alf::AlfRecyclingGridElement::eventHandlerData(void)
-	?numElements@CAlfWidgetControl@Alf@@UBEHXZ @ 318 NONAME ; int Alf::CAlfWidgetControl::numElements(void) const
-	?getLastFocusable@CAlfWidgetControl@Alf@@MAEPAV12@AAVIAlfContainerWidget@2@@Z @ 319 NONAME ; class Alf::CAlfWidgetControl * Alf::CAlfWidgetControl::getLastFocusable(class Alf::IAlfContainerWidget &)
-	??1AlfFlowLayoutManager@Alf@@UAE@XZ @ 320 NONAME ; Alf::AlfFlowLayoutManager::~AlfFlowLayoutManager(void)
-	?type@AlfVariantType@Alf@@UBE?AW4Type@IAlfVariantType@2@XZ @ 321 NONAME ; enum Alf::IAlfVariantType::Type Alf::AlfVariantType::type(void) const
-	?disableState@CAlfWidgetControl@Alf@@UAEXI@Z @ 322 NONAME ; void Alf::CAlfWidgetControl::disableState(unsigned int)
-	?count@AlfLayoutManager@Alf@@QBEHXZ @ 323 NONAME ; int Alf::AlfLayoutManager::count(void) const
-	?setAnimationTimes@AlfRecyclingGridElement@Alf@@QAEXHHHHH@Z @ 324 NONAME ; void Alf::AlfRecyclingGridElement::setAnimationTimes(int, int, int, int, int)
-	?removeAndDestroyPresentationEventHandlers@CAlfWidgetControl@Alf@@UAEXXZ @ 325 NONAME ; void Alf::CAlfWidgetControl::removeAndDestroyPresentationEventHandlers(void)
-	?eventHandlerIndex@CAlfWidgetControl@Alf@@UBEHAAVIAlfWidgetEventHandler@2@@Z @ 326 NONAME ; int Alf::CAlfWidgetControl::eventHandlerIndex(class Alf::IAlfWidgetEventHandler &) const
-	?addEventPasserOutput@AlfWidgetEventHandler@Alf@@QAEXPBD0HH@Z @ 327 NONAME ; void Alf::AlfWidgetEventHandler::addEventPasserOutput(char const *, char const *, int, int)
-	?createCommand@AlfCommonLayoutAttributeSetter@Alf@@UAEPAVTAlfCommand@@AAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@HPAV4@@Z @ 328 NONAME ; class TAlfCommand * Alf::AlfCommonLayoutAttributeSetter::createCommand(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *, int, class CAlfVisual *)
-	?updateData@AlfModel@Alf@@UAEXHPAHPAVIAlfVariantType@2@@Z @ 329 NONAME ; void Alf::AlfModel::updateData(int, int *, class Alf::IAlfVariantType *)
-	?addOutput@AlfWidgetEventHandler@Alf@@QAEXHHPBDI@Z @ 330 NONAME ; void Alf::AlfWidgetEventHandler::addOutput(int, int, char const *, unsigned int)
-	?createCommand@AlfTextVisualAttributeSetter@Alf@@UAEPAVTAlfCommand@@AAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@HPAV4@@Z @ 331 NONAME ; class TAlfCommand * Alf::AlfTextVisualAttributeSetter::createCommand(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *, int, class CAlfVisual *)
-	??0AlfAnimationOutput@Alf@@QAE@PAVAlfReferenceToVisual@1@0PAVIAlfAttributeSetter@1@PAVAlfAttributeContainer@1@II@Z @ 332 NONAME ; Alf::AlfAnimationOutput::AlfAnimationOutput(class Alf::AlfReferenceToVisual *, class Alf::AlfReferenceToVisual *, class Alf::IAlfAttributeSetter *, class Alf::AlfAttributeContainer *, unsigned int, unsigned int)
-	?data@AlfBranch@Alf@@UAEPAVIAlfMap@2@XZ @ 333 NONAME ; class Alf::IAlfMap * Alf::AlfBranch::data(void)
-	??1AlfAttribute@Alf@@UAE@XZ @ 334 NONAME ; Alf::AlfAttribute::~AlfAttribute(void)
-	?sort@AlfContainer@Alf@@UAEXABVIAlfSortFunction@2@@Z @ 335 NONAME ; void Alf::AlfContainer::sort(class Alf::IAlfSortFunction const &)
-	?doUpdateChildLayout@AlfGridLayoutManager@Alf@@MAEXPAVCAlfWidgetControl@2@@Z @ 336 NONAME ; void Alf::AlfGridLayoutManager::doUpdateChildLayout(class Alf::CAlfWidgetControl *)
-	?type@AlfAttributeContainer@Alf@@QBE?AW4Type@12@XZ @ 337 NONAME ; enum Alf::AlfAttributeContainer::Type Alf::AlfAttributeContainer::type(void) const
-	?stringValue@AlfAttribute@Alf@@QBEABVUString@osncore@@I@Z @ 338 NONAME ; class osncore::UString const & Alf::AlfAttribute::stringValue(unsigned int) const
-	?destroyChildTemplate@AlfVisualTemplate@Alf@@UAEXPBD@Z @ 339 NONAME ; void Alf::AlfVisualTemplate::destroyChildTemplate(char const *)
-	?parentElement@AlfElement@Alf@@UBEPBVIAlfElement@2@XZ @ 340 NONAME ; class Alf::IAlfElement const * Alf::AlfElement::parentElement(void) const
-	?addEventPasserInput@AlfWidgetEventHandler@Alf@@QAEXHH@Z @ 341 NONAME ; void Alf::AlfWidgetEventHandler::addEventPasserInput(int, int)
-	?setControlPosition@AlfLayoutManager@Alf@@IAEXAAVCAlfWidgetControl@2@ABUTAlfRealPoint@@@Z @ 342 NONAME ; void Alf::AlfLayoutManager::setControlPosition(class Alf::CAlfWidgetControl &, struct TAlfRealPoint const &)
-	??0AlfWidget@Alf@@IAE@XZ @ 343 NONAME ; Alf::AlfWidget::AlfWidget(void)
-	?customData@AlfContainer@Alf@@UAEPAVIAlfModelBase@2@XZ @ 344 NONAME ; class Alf::IAlfModelBase * Alf::AlfContainer::customData(void)
-	?addItem@AlfContainer@Alf@@UAEXPAVIAlfVariantType@2@@Z @ 345 NONAME ; void Alf::AlfContainer::addItem(class Alf::IAlfVariantType *)
-	?updateChildLayout@AlfFlowLayoutManager@Alf@@UAEXPAVCAlfWidgetControl@2@@Z @ 346 NONAME ; void Alf::AlfFlowLayoutManager::updateChildLayout(class Alf::CAlfWidgetControl *)
-	?isFocusable@CAlfWidgetControl@Alf@@QBE_NXZ @ 347 NONAME ; bool Alf::CAlfWidgetControl::isFocusable(void) const
-	?clearModel@AlfModel@Alf@@UAEXXZ @ 348 NONAME ; void Alf::AlfModel::clearModel(void)
-	?element@CAlfWidgetControl@Alf@@UAEAAVIAlfElement@2@H@Z @ 349 NONAME ; class Alf::IAlfElement & Alf::CAlfWidgetControl::element(int)
-	??0AlfViewportLayoutAttributeSetter@Alf@@QAE@XZ @ 350 NONAME ; Alf::AlfViewportLayoutAttributeSetter::AlfViewportLayoutAttributeSetter(void)
-	?removeWidget@AlfWidget@Alf@@QAEXAAVIAlfWidget@2@@Z @ 351 NONAME ; void Alf::AlfWidget::removeWidget(class Alf::IAlfWidget &)
-	?realValue@AlfAttributeValueType@Alf@@UBEMXZ @ 352 NONAME ; float Alf::AlfAttributeValueType::realValue(void) const
-	?handleEvent@CAlfWidgetControl@Alf@@UAE?AW4AlfEventStatus@2@ABVTAlfEvent@@@Z @ 353 NONAME ; enum Alf::AlfEventStatus Alf::CAlfWidgetControl::handleEvent(class TAlfEvent const &)
-	?clone@AlfAttribute@Alf@@QAEPAV12@XZ @ 354 NONAME ; class Alf::AlfAttribute * Alf::AlfAttribute::clone(void)
-	?setDataField@AlfAttribute@Alf@@QAEXPBD@Z @ 355 NONAME ; void Alf::AlfAttribute::setDataField(char const *)
-	?childrenCount@AlfBranch@Alf@@UAEIXZ @ 356 NONAME ; unsigned int Alf::AlfBranch::childrenCount(void)
-	?addAnimationCancelOutput@AlfWidgetEventHandler@Alf@@QAEXPBD0W4TAlfOp@@_N@Z @ 357 NONAME ; void Alf::AlfWidgetEventHandler::addAnimationCancelOutput(char const *, char const *, enum TAlfOp, bool)
-	?container@AlfMap@Alf@@UAEPAVIAlfContainer@2@XZ @ 358 NONAME ; class Alf::IAlfContainer * Alf::AlfMap::container(void)
-	??0AlfVisualTemplate@Alf@@IAE@W4TAlfLayoutType@@@Z @ 359 NONAME ; Alf::AlfVisualTemplate::AlfVisualTemplate(enum TAlfLayoutType)
-	??0AlfMeshVisualAttributeSetter@Alf@@QAE@XZ @ 360 NONAME ; Alf::AlfMeshVisualAttributeSetter::AlfMeshVisualAttributeSetter(void)
-	?setDefaultParentLayout@AlfElement@Alf@@QAEXPAVAlfReferenceToVisual@2@@Z @ 361 NONAME ; void Alf::AlfElement::setDefaultParentLayout(class Alf::AlfReferenceToVisual *)
-	?clear@AlfMap@Alf@@UAEXXZ @ 362 NONAME ; void Alf::AlfMap::clear(void)
-	?addTactileOutput@AlfWidgetEventHandler@Alf@@QAEXW4WidgetTactileFeedbackType@2@@Z @ 363 NONAME ; void Alf::AlfWidgetEventHandler::addTactileOutput(enum Alf::WidgetTactileFeedbackType)
-	?setAttributeValue@AlfCurvePathLayoutAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@@Z @ 364 NONAME ; void Alf::AlfCurvePathLayoutAttributeSetter::setAttributeValue(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *)
-	?addModelChangeObserver@AlfModel@Alf@@UAEXAAVIAlfModelChangeObserver@2@@Z @ 365 NONAME ; void Alf::AlfModel::addModelChangeObserver(class Alf::IAlfModelChangeObserver &)
-	?resolve@AlfReferenceToVisual@Alf@@QAEPAVCAlfVisual@@AAVCAlfWidgetControl@2@I@Z @ 366 NONAME ; class CAlfVisual * Alf::AlfReferenceToVisual::resolve(class Alf::CAlfWidgetControl &, unsigned int)
-	?updateChildLayout@AlfAnchorLayoutManager@Alf@@UAEXPAVCAlfWidgetControl@2@@Z @ 367 NONAME ; void Alf::AlfAnchorLayoutManager::updateChildLayout(class Alf::CAlfWidgetControl *)
-	?makeInterface@AlfCommonAttributeSetter@Alf@@UAEPAVIAlfInterfaceBase@2@ABUIfId@2@@Z @ 368 NONAME ; class Alf::IAlfInterfaceBase * Alf::AlfCommonAttributeSetter::makeInterface(struct Alf::IfId const &)
-	?createCommand@AlfCommonVisualAttributeSetter@Alf@@UAEPAVTAlfCommand@@AAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@HPAV4@@Z @ 369 NONAME ; class TAlfCommand * Alf::AlfCommonVisualAttributeSetter::createCommand(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *, int, class CAlfVisual *)
-	?create@AlfReferenceToVisual@Alf@@SAPAV12@PBD0_N@Z @ 370 NONAME ; class Alf::AlfReferenceToVisual * Alf::AlfReferenceToVisual::create(char const *, char const *, bool)
-	?createAndSendCommands@AlfCommonLayoutAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAV3@@Z @ 371 NONAME ; void Alf::AlfCommonLayoutAttributeSetter::createAndSendCommands(class CAlfVisual &, class Alf::AlfAttributeContainer *, class CAlfVisual *)
-	?destroyVisualsAndElements@CAlfWidgetControl@Alf@@UAEXH@Z @ 372 NONAME ; void Alf::CAlfWidgetControl::destroyVisualsAndElements(int)
-	?setDataIdRange@CAlfWidgetControl@Alf@@UAEXABVIAlfElement@2@I@Z @ 373 NONAME ; void Alf::CAlfWidgetControl::setDataIdRange(class Alf::IAlfElement const &, unsigned int)
-	?createCommand@AlfCommonAttributeSetter@Alf@@UAEPAVTAlfCommand@@AAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@HPAV4@@Z @ 374 NONAME ; class TAlfCommand * Alf::AlfCommonAttributeSetter::createCommand(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *, int, class CAlfVisual *)
-	?childData@AlfBranch@Alf@@UAEPAVIAlfMap@2@XZ @ 375 NONAME ; class Alf::IAlfMap * Alf::AlfBranch::childData(void)
-	?setChildFocus@AlfWidget@Alf@@UAEX_N@Z @ 376 NONAME ; void Alf::AlfWidget::setChildFocus(bool)
-	?getTargetValueCount@AlfAttribute@Alf@@QBEIXZ @ 377 NONAME ; unsigned int Alf::AlfAttribute::getTargetValueCount(void) const
-	?addAttributeSetter@AlfVisualTemplate@Alf@@UAEXPAVIAlfAttributeSetter@2@PAVAlfAttributeContainer@2@@Z @ 378 NONAME ; void Alf::AlfVisualTemplate::addAttributeSetter(class Alf::IAlfAttributeSetter *, class Alf::AlfAttributeContainer *)
-	?state@CAlfWidgetControl@Alf@@UBEIXZ @ 379 NONAME ; unsigned int Alf::CAlfWidgetControl::state(void) const
-	?operation@AlfModelOperation@Alf@@QBE?AW4OperationType@12@XZ @ 380 NONAME ; enum Alf::AlfModelOperation::OperationType Alf::AlfModelOperation::operation(void) const
-	?removeItem@AlfMap@Alf@@UAEXABVUString@osncore@@@Z @ 381 NONAME ; void Alf::AlfMap::removeItem(class osncore::UString const &)
-	?getVisualTemplate@AlfElement@Alf@@UBEPAVIAlfVisualTemplate@2@XZ @ 382 NONAME ; class Alf::IAlfVisualTemplate * Alf::AlfElement::getVisualTemplate(void) const
-	?itemIndex@AlfMap@Alf@@UAEHABVUString@osncore@@@Z @ 383 NONAME ; int Alf::AlfMap::itemIndex(class osncore::UString const &)
-	??1AlfElement@Alf@@UAE@XZ @ 384 NONAME ; Alf::AlfElement::~AlfElement(void)
-	??0AlfAttributeContainer@Alf@@QAE@W4Type@01@@Z @ 385 NONAME ; Alf::AlfAttributeContainer::AlfAttributeContainer(enum Alf::AlfAttributeContainer::Type)
-	?removeAndDestroyVisuals@AlfElement@Alf@@UAEXH@Z @ 386 NONAME ; void Alf::AlfElement::removeAndDestroyVisuals(int)
-	?executeOperation@AlfModel@Alf@@UAEXPAVAlfModelOperation@2@@Z @ 387 NONAME ; void Alf::AlfModel::executeOperation(class Alf::AlfModelOperation *)
-	?getWidgetIndex@AlfWidget@Alf@@UBEHAAVIAlfWidget@2@@Z @ 388 NONAME ; int Alf::AlfWidget::getWidgetIndex(class Alf::IAlfWidget &) const
-	??0AlfFlowLayoutManager@Alf@@QAE@XZ @ 389 NONAME ; Alf::AlfFlowLayoutManager::AlfFlowLayoutManager(void)
-	?addWidgetAttributeOutput@AlfWidgetEventHandler@Alf@@QAEXAAVUString@osncore@@PAVAlfAttributeValueType@2@PBD@Z @ 390 NONAME ; void Alf::AlfWidgetEventHandler::addWidgetAttributeOutput(class osncore::UString &, class Alf::AlfAttributeValueType *, char const *)
-	?addData@AlfModel@Alf@@UAEXHPAHPAVIAlfVariantType@2@@Z @ 391 NONAME ; void Alf::AlfModel::addData(int, int *, class Alf::IAlfVariantType *)
-	?addChildTemplate@AlfVisualTemplate@Alf@@UAEXAAVIAlfVisualTemplate@2@@Z @ 392 NONAME ; void Alf::AlfVisualTemplate::addChildTemplate(class Alf::IAlfVisualTemplate &)
-	?clear@AlfContainer@Alf@@UAEXXZ @ 393 NONAME ; void Alf::AlfContainer::clear(void)
-	??4AlfAttribute@Alf@@QAEAAV01@ABV01@@Z @ 394 NONAME ; class Alf::AlfAttribute & Alf::AlfAttribute::operator=(class Alf::AlfAttribute const &)
-	?name@AlfAttribute@Alf@@QBEPBDXZ @ 395 NONAME ; char const * Alf::AlfAttribute::name(void) const
-	?createAndSendCommands@AlfGridLayoutAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAV3@@Z @ 396 NONAME ; void Alf::AlfGridLayoutAttributeSetter::createAndSendCommands(class CAlfVisual &, class Alf::AlfAttributeContainer *, class CAlfVisual *)
-	?removeChildVisualTree@AlfElement@Alf@@UAEXPAVIAlfElement@2@AAVIAlfBranch@2@HI@Z @ 397 NONAME ; void Alf::AlfElement::removeChildVisualTree(class Alf::IAlfElement *, class Alf::IAlfBranch &, int, unsigned int)
-	?parent@AlfWidget@Alf@@UBEPAVIAlfContainerWidget@2@XZ @ 398 NONAME ; class Alf::IAlfContainerWidget * Alf::AlfWidget::parent(void) const
-	?addSourceValue@AlfAttribute@Alf@@QAEXPAVAlfAttributeValueType@2@@Z @ 399 NONAME ; void Alf::AlfAttribute::addSourceValue(class Alf::AlfAttributeValueType *)
-	?FocusChanged@CAlfWidgetControl@Alf@@MAEXAAVCAlfDisplay@@H@Z @ 400 NONAME ; void Alf::CAlfWidgetControl::FocusChanged(class CAlfDisplay &, int)
-	?makeInterface@AlfElement@Alf@@UAEPAVIAlfInterfaceBase@2@ABUIfId@2@@Z @ 401 NONAME ; class Alf::IAlfInterfaceBase * Alf::AlfElement::makeInterface(struct Alf::IfId const &)
-	?addAppEventOutput@AlfWidgetEventHandler@Alf@@QAEXABVUString@osncore@@AAVIAlfAppEventListener@2@@Z @ 402 NONAME ; void Alf::AlfWidgetEventHandler::addAppEventOutput(class osncore::UString const &, class Alf::IAlfAppEventListener &)
-	?defaultParentLayout@AlfElement@Alf@@UAEPAVCAlfLayout@@I@Z @ 403 NONAME ; class CAlfLayout * Alf::AlfElement::defaultParentLayout(unsigned int)
-	?setControlRect@AlfLayoutManager@Alf@@IAEXAAVCAlfWidgetControl@2@ABUTAlfRealRect@@@Z @ 404 NONAME ; void Alf::AlfLayoutManager::setControlRect(class Alf::CAlfWidgetControl &, struct TAlfRealRect const &)
-	?makeInterface@AlfRecyclingGridElement@Alf@@UAEPAVIAlfInterfaceBase@2@ABUIfId@2@@Z @ 405 NONAME ; class Alf::IAlfInterfaceBase * Alf::AlfRecyclingGridElement::makeInterface(struct Alf::IfId const &)
-	?previousFocusableControl@CAlfWidgetControl@Alf@@AAEPAV12@PAV12@@Z @ 406 NONAME ; class Alf::CAlfWidgetControl * Alf::CAlfWidgetControl::previousFocusableControl(class Alf::CAlfWidgetControl *)
-	?setChildData@AlfBranch@Alf@@UAEXPAVIAlfMap@2@@Z @ 407 NONAME ; void Alf::AlfBranch::setChildData(class Alf::IAlfMap *)
-	?setControl@AlfWidget@Alf@@UAEXPAVCAlfWidgetControl@2@_N@Z @ 408 NONAME ; void Alf::AlfWidget::setControl(class Alf::CAlfWidgetControl *, bool)
-	??2CAlfWidgetControl@Alf@@SAPAXIW4newarg@@@Z @ 409 NONAME ; void * Alf::CAlfWidgetControl::operator new(unsigned int, enum newarg)
-	?enableState@CAlfWidgetControl@Alf@@UAEXI@Z @ 410 NONAME ; void Alf::CAlfWidgetControl::enableState(unsigned int)
-	?themeManagerUtil@AlfWidgetEnvExtension@Alf@@SAAAVAlfThemeManagerUtil@2@AAVCAlfEnv@@@Z @ 411 NONAME ; class Alf::AlfThemeManagerUtil & Alf::AlfWidgetEnvExtension::themeManagerUtil(class CAlfEnv &)
-	??1AlfMeshVisualAttributeSetter@Alf@@UAE@XZ @ 412 NONAME ; Alf::AlfMeshVisualAttributeSetter::~AlfMeshVisualAttributeSetter(void)
-	?createLayout@AlfLayoutManager@Alf@@UAEXAAVCAlfWidgetControl@2@PAVCAlfLayout@@H@Z @ 413 NONAME ; void Alf::AlfLayoutManager::createLayout(class Alf::CAlfWidgetControl &, class CAlfLayout *, int)
-	?sendCommand@AlfAnimationOutput@Alf@@QAEXAAVCAlfWidgetControl@2@I@Z @ 414 NONAME ; void Alf::AlfAnimationOutput::sendCommand(class Alf::CAlfWidgetControl &, unsigned int)
-	??0AlfBranch@Alf@@QAE@XZ @ 415 NONAME ; Alf::AlfBranch::AlfBranch(void)
-	?set@AlfBranch@Alf@@UAEXAAVIAlfVariantType@2@@Z @ 416 NONAME ; void Alf::AlfBranch::set(class Alf::IAlfVariantType &)
-	?unit@AlfAttribute@Alf@@UBE?AW4TAlfUnit@@I@Z @ 417 NONAME ; enum TAlfUnit Alf::AlfAttribute::unit(unsigned int) const
-	?resolve@AlfReferenceToVisual@Alf@@QAEPAVCAlfVisual@@AAVCAlfWidgetControl@2@PAV3@@Z @ 418 NONAME ; class CAlfVisual * Alf::AlfReferenceToVisual::resolve(class Alf::CAlfWidgetControl &, class CAlfVisual *)
-	?real@AlfBranch@Alf@@UBENXZ @ 419 NONAME ; double Alf::AlfBranch::real(void) const
-	?layoutType@AlfVisualTemplate@Alf@@UBEHXZ @ 420 NONAME ; int Alf::AlfVisualTemplate::layoutType(void) const
-	?contains@AlfElement@Alf@@UBE_NAAVCAlfVisual@@@Z @ 421 NONAME ; bool Alf::AlfElement::contains(class CAlfVisual &) const
-	?boolean@AlfMap@Alf@@UBE_NXZ @ 422 NONAME ; bool Alf::AlfMap::boolean(void) const
-	?create@AlfVisualTemplate@Alf@@SAPAV12@W4TAlfLayoutType@@@Z @ 423 NONAME ; class Alf::AlfVisualTemplate * Alf::AlfVisualTemplate::create(enum TAlfLayoutType)
-	?construct@AlfElement@Alf@@IAEXAAVCAlfWidgetControl@2@PBD@Z @ 424 NONAME ; void Alf::AlfElement::construct(class Alf::CAlfWidgetControl &, char const *)
-	?createCommand@AlfAnchorLayoutAttributeSetter@Alf@@UAEPAVTAlfCommand@@AAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@HPAV4@@Z @ 425 NONAME ; class TAlfCommand * Alf::AlfAnchorLayoutAttributeSetter::createCommand(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *, int, class CAlfVisual *)
-	?removeAndDestroyEventHandler@CAlfWidgetControl@Alf@@UAEXAAVIAlfWidgetEventHandler@2@@Z @ 426 NONAME ; void Alf::CAlfWidgetControl::removeAndDestroyEventHandler(class Alf::IAlfWidgetEventHandler &)
-	?getFocusableAfter@CAlfWidgetControl@Alf@@MAEPAV12@AAVIAlfContainerWidget@2@AAV12@@Z @ 427 NONAME ; class Alf::CAlfWidgetControl * Alf::CAlfWidgetControl::getFocusableAfter(class Alf::IAlfContainerWidget &, class Alf::CAlfWidgetControl &)
-	??1AlfModel@Alf@@UAE@XZ @ 428 NONAME ; Alf::AlfModel::~AlfModel(void)
-	?containerIndex@AlfModelOperation@Alf@@QBEHH@Z @ 429 NONAME ; int Alf::AlfModelOperation::containerIndex(int) const
-	?updateDataIDs@AlfElement@Alf@@UAEXAAVIAlfBranch@2@HHII@Z @ 430 NONAME ; void Alf::AlfElement::updateDataIDs(class Alf::IAlfBranch &, int, int, unsigned int, unsigned int)
-	?controlRect@AlfLayoutManager@Alf@@IAE_NAAVCAlfWidgetControl@2@AAUTAlfRealRect@@@Z @ 431 NONAME ; bool Alf::AlfLayoutManager::controlRect(class Alf::CAlfWidgetControl &, struct TAlfRealRect &)
-	?setterType@AlfCommonAttributeSetter@Alf@@UAE?AW4SetterType@@XZ @ 432 NONAME ; enum SetterType Alf::AlfCommonAttributeSetter::setterType(void)
-	?enableDirtyCheck@AlfCommonAttributeSetter@Alf@@QAEX_N@Z @ 433 NONAME ; void Alf::AlfCommonAttributeSetter::enableDirtyCheck(bool)
-	?removeVisualTemplate@AlfElement@Alf@@UAEPAVIAlfVisualTemplate@2@XZ @ 434 NONAME ; class Alf::IAlfVisualTemplate * Alf::AlfElement::removeVisualTemplate(void)
-	??0AlfCommonVisualAttributeSetter@Alf@@QAE@XZ @ 435 NONAME ; Alf::AlfCommonVisualAttributeSetter::AlfCommonVisualAttributeSetter(void)
-	?dataChanging@CAlfWidgetControl@Alf@@UAEXABVAlfModelOperation@2@@Z @ 436 NONAME ; void Alf::CAlfWidgetControl::dataChanging(class Alf::AlfModelOperation const &)
-	?applyLayout@AlfWidget@Alf@@UAEXAAVIAlfLayoutManager@2@@Z @ 437 NONAME ; void Alf::AlfWidget::applyLayout(class Alf::IAlfLayoutManager &)
-	?dataChanging@CAlfWidgetControl@Alf@@UAEXABV?$AlfPtrVector@VAlfModelOperation@Alf@@@osncore@@@Z @ 438 NONAME ; void Alf::CAlfWidgetControl::dataChanging(class osncore::AlfPtrVector<class Alf::AlfModelOperation> const &)
-	?branch@AlfBranch@Alf@@UAEPAVIAlfBranch@2@XZ @ 439 NONAME ; class Alf::IAlfBranch * Alf::AlfBranch::branch(void)
-	?dataChanged@CAlfWidgetControl@Alf@@UAEXXZ @ 440 NONAME ; void Alf::CAlfWidgetControl::dataChanged(void)
-	??0AlfVariantType@Alf@@QAE@PAVIAlfModelBase@1@@Z @ 441 NONAME ; Alf::AlfVariantType::AlfVariantType(class Alf::IAlfModelBase *)
-	?parentData@AlfModelOperation@Alf@@QBEPAVIAlfVariantType@2@AAV32@@Z @ 442 NONAME ; class Alf::IAlfVariantType * Alf::AlfModelOperation::parentData(class Alf::IAlfVariantType &) const
-	?createAndSendCommands@AlfLineVisualAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAV3@@Z @ 443 NONAME ; void Alf::AlfLineVisualAttributeSetter::createAndSendCommands(class CAlfVisual &, class Alf::AlfAttributeContainer *, class CAlfVisual *)
-	?createCommand@AlfMeshVisualAttributeSetter@Alf@@UAEPAVTAlfCommand@@AAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@HPAV4@@Z @ 444 NONAME ; class TAlfCommand * Alf::AlfMeshVisualAttributeSetter::createCommand(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *, int, class CAlfVisual *)
-	??1AlfCommonAttributeSetter@Alf@@UAE@XZ @ 445 NONAME ; Alf::AlfCommonAttributeSetter::~AlfCommonAttributeSetter(void)
-	??0AlfModel@Alf@@QAE@XZ @ 446 NONAME ; Alf::AlfModel::AlfModel(void)
-	?boolean@AlfBranch@Alf@@UBE_NXZ @ 447 NONAME ; bool Alf::AlfBranch::boolean(void) const
-	??1AlfImageVisualAttributeSetter@Alf@@UAE@XZ @ 448 NONAME ; Alf::AlfImageVisualAttributeSetter::~AlfImageVisualAttributeSetter(void)
-	?getDelay@AlfAttribute@Alf@@QBEHXZ @ 449 NONAME ; int Alf::AlfAttribute::getDelay(void) const
-	?item@AlfContainer@Alf@@UAEPAVIAlfVariantType@2@I@Z @ 450 NONAME ; class Alf::IAlfVariantType * Alf::AlfContainer::item(unsigned int)
-	?updateParentLayout@CAlfWidgetControl@Alf@@QAEXXZ @ 451 NONAME ; void Alf::CAlfWidgetControl::updateParentLayout(void)
-	?createAndSendCommands@AlfTextVisualAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAV3@@Z @ 452 NONAME ; void Alf::AlfTextVisualAttributeSetter::createAndSendCommands(class CAlfVisual &, class Alf::AlfAttributeContainer *, class CAlfVisual *)
-	?create@AlfModelOperation@Alf@@SAPAV12@W4OperationType@12@HPAHPAVIAlfVariantType@2@@Z @ 453 NONAME ; class Alf::AlfModelOperation * Alf::AlfModelOperation::create(enum Alf::AlfModelOperation::OperationType, int, int *, class Alf::IAlfVariantType *)
-	??0AlfDeckLayoutAttributeSetter@Alf@@QAE@XZ @ 454 NONAME ; Alf::AlfDeckLayoutAttributeSetter::AlfDeckLayoutAttributeSetter(void)
-	?createAndSendCommands@AlfDeckLayoutAttributeSetter@Alf@@UAEXAAVCAlfVisual@@PAVAlfAttributeContainer@2@PAV3@@Z @ 455 NONAME ; void Alf::AlfDeckLayoutAttributeSetter::createAndSendCommands(class CAlfVisual &, class Alf::AlfAttributeContainer *, class CAlfVisual *)
-	?elementData@CAlfWidgetControl@Alf@@UAEPAVIAlfVariantType@2@ABVIAlfElement@2@I@Z @ 456 NONAME ; class Alf::IAlfVariantType * Alf::CAlfWidgetControl::elementData(class Alf::IAlfElement const &, unsigned int)
-	??1AlfAnchorLayoutAttributeSetter@Alf@@UAE@XZ @ 457 NONAME ; Alf::AlfAnchorLayoutAttributeSetter::~AlfAnchorLayoutAttributeSetter(void)
-	?createCommand@AlfImageVisualAttributeSetter@Alf@@UAEPAVTAlfCommand@@AAVCAlfVisual@@PAVAlfAttributeContainer@2@PAVIAlfMap@2@HPAV4@@Z @ 458 NONAME ; class TAlfCommand * Alf::AlfImageVisualAttributeSetter::createCommand(class CAlfVisual &, class Alf::AlfAttributeContainer *, class Alf::IAlfMap *, int, class CAlfVisual *)
-	?newDataName@AlfModelOperation@Alf@@QBEABVUString@osncore@@XZ @ 459 NONAME ; class osncore::UString const & Alf::AlfModelOperation::newDataName(void) const
-	?widgetFactory@AlfWidgetEnvExtension@Alf@@SAAAVIAlfWidgetFactory@2@AAVCAlfEnv@@@Z @ 460 NONAME ; class Alf::IAlfWidgetFactory & Alf::AlfWidgetEnvExtension::widgetFactory(class CAlfEnv &)
-	?name@AlfElement@Alf@@UBEPBDXZ @ 461 NONAME ; char const * Alf::AlfElement::name(void) const
-	?setVisualTemplate@AlfElement@Alf@@UAEXAAVIAlfVisualTemplate@2@@Z @ 462 NONAME ; void Alf::AlfElement::setVisualTemplate(class Alf::IAlfVisualTemplate &)
-	?clone@AlfMap@Alf@@UAEPAVIAlfMap@2@XZ @ 463 NONAME ; class Alf::IAlfMap * Alf::AlfMap::clone(void)
-	?owner@AlfVisualTemplate@Alf@@UBEPAVIAlfElement@2@XZ @ 464 NONAME ; class Alf::IAlfElement * Alf::AlfVisualTemplate::owner(void) const
-	?removeModelChangeObserver@AlfModel@Alf@@UAEXAAVIAlfModelChangeObserver@2@@Z @ 465 NONAME ; void Alf::AlfModel::removeModelChangeObserver(class Alf::IAlfModelChangeObserver &)
-	?getControl@AlfLayoutManager@Alf@@QBEPAVCAlfWidgetControl@2@H@Z @ 466 NONAME ; class Alf::CAlfWidgetControl * Alf::AlfLayoutManager::getControl(int) const
-
--- a/widgetmodel/alfwidgetmodel/eabi/alfwidgetmodelu.def	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,715 +0,0 @@
-EXPORTS
-	_ZN3Alf10AlfElement10findVisualEPKcj @ 1 NONAME
-	_ZN3Alf10AlfElement10findVisualEj @ 2 NONAME
-	_ZN3Alf10AlfElement13addVisualTreeEP10CAlfVisualj @ 3 NONAME
-	_ZN3Alf10AlfElement13makeInterfaceERKNS_4IfIdE @ 4 NONAME
-	_ZN3Alf10AlfElement13updateDataIDsERNS_10IAlfBranchEiijj @ 5 NONAME
-	_ZN3Alf10AlfElement16createVisualTreeERNS_15IAlfVariantTypeERNS_10IAlfBranchEijP10CAlfLayouti @ 6 NONAME
-	_ZN3Alf10AlfElement16createVisualTreeERNS_15IAlfVariantTypeEjP10CAlfLayouti @ 7 NONAME
-	_ZN3Alf10AlfElement16removeVisualTreeERNS_10IAlfBranchEij @ 8 NONAME
-	_ZN3Alf10AlfElement16removeVisualTreeERNS_15IAlfVariantTypeEj @ 9 NONAME
-	_ZN3Alf10AlfElement16setParentElementERNS_11IAlfElementE @ 10 NONAME
-	_ZN3Alf10AlfElement16updateVisualTreeERNS_15IAlfVariantTypeES2_j @ 11 NONAME
-	_ZN3Alf10AlfElement17replaceVisualTreeERNS_15IAlfVariantTypeEjj @ 12 NONAME
-	_ZN3Alf10AlfElement17setVisualTemplateERNS_18IAlfVisualTemplateE @ 13 NONAME
-	_ZN3Alf10AlfElement19defaultParentLayoutEj @ 14 NONAME
-	_ZN3Alf10AlfElement20removeVisualTemplateEv @ 15 NONAME
-	_ZN3Alf10AlfElement21createChildVisualTreeEPNS_11IAlfElementERNS_15IAlfVariantTypeERNS_10IAlfBranchEij @ 16 NONAME
-	_ZN3Alf10AlfElement21destroyVisualTemplateEv @ 17 NONAME
-	_ZN3Alf10AlfElement21removeChildVisualTreeEPNS_11IAlfElementERNS_10IAlfBranchEij @ 18 NONAME
-	_ZN3Alf10AlfElement22setDefaultParentLayoutEPNS_20AlfReferenceToVisualE @ 19 NONAME
-	_ZN3Alf10AlfElement23removeAndDestroyVisualsEi @ 20 NONAME
-	_ZN3Alf10AlfElement7controlEv @ 21 NONAME
-	_ZN3Alf10AlfElement9constructERNS_17CAlfWidgetControlEPKc @ 22 NONAME
-	_ZN3Alf10AlfElementC1ERNS_17CAlfWidgetControlEPKc @ 23 NONAME
-	_ZN3Alf10AlfElementC1Ev @ 24 NONAME
-	_ZN3Alf10AlfElementC2ERNS_17CAlfWidgetControlEPKc @ 25 NONAME
-	_ZN3Alf10AlfElementC2Ev @ 26 NONAME
-	_ZN3Alf10AlfElementD0Ev @ 27 NONAME
-	_ZN3Alf10AlfElementD1Ev @ 28 NONAME
-	_ZN3Alf10AlfElementD2Ev @ 29 NONAME
-	_ZN3Alf12AlfAttribute12setDataFieldEPKc @ 30 NONAME
-	_ZN3Alf12AlfAttribute14addSourceValueEPNS_21AlfAttributeValueTypeE @ 31 NONAME
-	_ZN3Alf12AlfAttribute14addTargetValueEPNS_21AlfAttributeValueTypeE @ 32 NONAME
-	_ZN3Alf12AlfAttribute14setSourceValueEPNS_21AlfAttributeValueTypeEj @ 33 NONAME
-	_ZN3Alf12AlfAttribute14setTargetValueEPNS_21AlfAttributeValueTypeEj @ 34 NONAME
-	_ZN3Alf12AlfAttribute17removeSourceValueEj @ 35 NONAME
-	_ZN3Alf12AlfAttribute17removeTargetValueEj @ 36 NONAME
-	_ZN3Alf12AlfAttribute20setMappingFunctionIdEi @ 37 NONAME
-	_ZN3Alf12AlfAttribute21setInterpolationStyleE22TAlfInterpolationStyle @ 38 NONAME
-	_ZN3Alf12AlfAttribute5cloneEv @ 39 NONAME
-	_ZN3Alf12AlfAttribute7setTimeEi @ 40 NONAME
-	_ZN3Alf12AlfAttribute8setDelayEi @ 41 NONAME
-	_ZN3Alf12AlfAttribute8setDirtyEb @ 42 NONAME
-	_ZN3Alf12AlfAttributeC1EPKcNS0_17attributecategoryE @ 43 NONAME
-	_ZN3Alf12AlfAttributeC1EPKcRKN7osncore7UStringENS0_17attributecategoryE @ 44 NONAME
-	_ZN3Alf12AlfAttributeC1EPKcf8TAlfUnitNS0_17attributecategoryE @ 45 NONAME
-	_ZN3Alf12AlfAttributeC1EPKci8TAlfUnitNS0_17attributecategoryE @ 46 NONAME
-	_ZN3Alf12AlfAttributeC1Ev @ 47 NONAME
-	_ZN3Alf12AlfAttributeC2EPKcNS0_17attributecategoryE @ 48 NONAME
-	_ZN3Alf12AlfAttributeC2EPKcRKN7osncore7UStringENS0_17attributecategoryE @ 49 NONAME
-	_ZN3Alf12AlfAttributeC2EPKcf8TAlfUnitNS0_17attributecategoryE @ 50 NONAME
-	_ZN3Alf12AlfAttributeC2EPKci8TAlfUnitNS0_17attributecategoryE @ 51 NONAME
-	_ZN3Alf12AlfAttributeC2Ev @ 52 NONAME
-	_ZN3Alf12AlfAttributeD0Ev @ 53 NONAME
-	_ZN3Alf12AlfAttributeD1Ev @ 54 NONAME
-	_ZN3Alf12AlfAttributeD2Ev @ 55 NONAME
-	_ZN3Alf12AlfAttributeaSERKS0_ @ 56 NONAME
-	_ZN3Alf12AlfContainer10customDataEv @ 57 NONAME
-	_ZN3Alf12AlfContainer10removeItemEj @ 58 NONAME
-	_ZN3Alf12AlfContainer11replaceItemEjPNS_15IAlfVariantTypeE @ 59 NONAME
-	_ZN3Alf12AlfContainer3mapEv @ 60 NONAME
-	_ZN3Alf12AlfContainer3setERNS_15IAlfVariantTypeE @ 61 NONAME
-	_ZN3Alf12AlfContainer4itemEj @ 62 NONAME
-	_ZN3Alf12AlfContainer4sortERKNS_16IAlfSortFunctionE @ 63 NONAME
-	_ZN3Alf12AlfContainer5clearEv @ 64 NONAME
-	_ZN3Alf12AlfContainer5cloneEv @ 65 NONAME
-	_ZN3Alf12AlfContainer5countEv @ 66 NONAME
-	_ZN3Alf12AlfContainer6branchEv @ 67 NONAME
-	_ZN3Alf12AlfContainer7addItemEPNS_15IAlfVariantTypeE @ 68 NONAME
-	_ZN3Alf12AlfContainer7addItemEjPNS_15IAlfVariantTypeE @ 69 NONAME
-	_ZN3Alf12AlfContainer9containerEv @ 70 NONAME
-	_ZN3Alf12AlfContainerC1Ev @ 71 NONAME
-	_ZN3Alf12AlfContainerC2Ev @ 72 NONAME
-	_ZN3Alf12AlfContainerD0Ev @ 73 NONAME
-	_ZN3Alf12AlfContainerD1Ev @ 74 NONAME
-	_ZN3Alf12AlfContainerD2Ev @ 75 NONAME
-	_ZN3Alf14AlfHostAPIImpl13makeInterfaceERKNS_4IfIdE @ 76 NONAME
-	_ZN3Alf14AlfVariantType10customDataEv @ 77 NONAME
-	_ZN3Alf14AlfVariantType3mapEv @ 78 NONAME
-	_ZN3Alf14AlfVariantType3setERNS_15IAlfVariantTypeE @ 79 NONAME
-	_ZN3Alf14AlfVariantType6branchEv @ 80 NONAME
-	_ZN3Alf14AlfVariantType9containerEv @ 81 NONAME
-	_ZN3Alf14AlfVariantTypeC1EPNS_13IAlfModelBaseE @ 82 NONAME
-	_ZN3Alf14AlfVariantTypeC1ERKN7osncore7UStringE @ 83 NONAME
-	_ZN3Alf14AlfVariantTypeC1ERKb @ 84 NONAME
-	_ZN3Alf14AlfVariantTypeC1ERKd @ 85 NONAME
-	_ZN3Alf14AlfVariantTypeC1ERKi @ 86 NONAME
-	_ZN3Alf14AlfVariantTypeC1ERKj @ 87 NONAME
-	_ZN3Alf14AlfVariantTypeC1Ev @ 88 NONAME
-	_ZN3Alf14AlfVariantTypeC2EPNS_13IAlfModelBaseE @ 89 NONAME
-	_ZN3Alf14AlfVariantTypeC2ERKN7osncore7UStringE @ 90 NONAME
-	_ZN3Alf14AlfVariantTypeC2ERKb @ 91 NONAME
-	_ZN3Alf14AlfVariantTypeC2ERKd @ 92 NONAME
-	_ZN3Alf14AlfVariantTypeC2ERKi @ 93 NONAME
-	_ZN3Alf14AlfVariantTypeC2ERKj @ 94 NONAME
-	_ZN3Alf14AlfVariantTypeC2Ev @ 95 NONAME
-	_ZN3Alf14AlfVariantTypeD0Ev @ 96 NONAME
-	_ZN3Alf14AlfVariantTypeD1Ev @ 97 NONAME
-	_ZN3Alf14AlfVariantTypeD2Ev @ 98 NONAME
-	_ZN3Alf16AlfLayoutManager11controlRectERNS_17CAlfWidgetControlER12TAlfRealRect @ 99 NONAME
-	_ZN3Alf16AlfLayoutManager12childRemovedEPNS_17CAlfWidgetControlE @ 100 NONAME
-	_ZN3Alf16AlfLayoutManager12createLayoutERNS_17CAlfWidgetControlEP10CAlfLayouti @ 101 NONAME
-	_ZN3Alf16AlfLayoutManager13makeInterfaceERKNS_4IfIdE @ 102 NONAME
-	_ZN3Alf16AlfLayoutManager14setControlRectERNS_17CAlfWidgetControlERK12TAlfRealRect @ 103 NONAME
-	_ZN3Alf16AlfLayoutManager14setControlSizeERNS_17CAlfWidgetControlERK13TAlfRealPoint @ 104 NONAME
-	_ZN3Alf16AlfLayoutManager17updateChildLayoutEPNS_17CAlfWidgetControlE @ 105 NONAME
-	_ZN3Alf16AlfLayoutManager18setControlPositionERNS_17CAlfWidgetControlERK13TAlfRealPoint @ 106 NONAME
-	_ZN3Alf16AlfLayoutManager19doUpdateChildLayoutEPNS_17CAlfWidgetControlE @ 107 NONAME
-	_ZN3Alf16AlfLayoutManager20updateChildrenLayoutEv @ 108 NONAME
-	_ZN3Alf16AlfLayoutManagerC1E14TAlfLayoutType @ 109 NONAME
-	_ZN3Alf16AlfLayoutManagerC2E14TAlfLayoutType @ 110 NONAME
-	_ZN3Alf16AlfLayoutManagerD0Ev @ 111 NONAME
-	_ZN3Alf16AlfLayoutManagerD1Ev @ 112 NONAME
-	_ZN3Alf16AlfLayoutManagerD2Ev @ 113 NONAME
-	_ZN3Alf17AlfModelOperation10getNewDataEv @ 114 NONAME
-	_ZN3Alf17AlfModelOperation6createENS0_13OperationTypeEiPiPNS_15IAlfVariantTypeE @ 115 NONAME
-	_ZN3Alf17AlfModelOperation6createENS0_13OperationTypeEiPiPNS_15IAlfVariantTypeERKN7osncore7UStringE @ 116 NONAME
-	_ZN3Alf17AlfModelOperationD1Ev @ 117 NONAME
-	_ZN3Alf17AlfModelOperationD2Ev @ 118 NONAME
-	_ZN3Alf17AlfVisualTemplate13makeInterfaceERKNS_4IfIdE @ 119 NONAME
-	_ZN3Alf17AlfVisualTemplate13setLayoutTypeE14TAlfLayoutType @ 120 NONAME
-	_ZN3Alf17AlfVisualTemplate13setVisualTypeE14TAlfVisualType @ 121 NONAME
-	_ZN3Alf17AlfVisualTemplate16addChildTemplateERNS_18IAlfVisualTemplateE @ 122 NONAME
-	_ZN3Alf17AlfVisualTemplate16createVisualTreeER11CAlfControlPNS_7IAlfMapEP10CAlfLayouti @ 123 NONAME
-	_ZN3Alf17AlfVisualTemplate16updateVisualTreeEPNS_7IAlfMapES2_R10CAlfVisual @ 124 NONAME
-	_ZN3Alf17AlfVisualTemplate18addAttributeSetterEPNS_19IAlfAttributeSetterEPNS_21AlfAttributeContainerE @ 125 NONAME
-	_ZN3Alf17AlfVisualTemplate18setSelectChildModeEbRKN7osncore7UStringE @ 126 NONAME
-	_ZN3Alf17AlfVisualTemplate19insertChildTemplateERNS_18IAlfVisualTemplateEi @ 127 NONAME
-	_ZN3Alf17AlfVisualTemplate20destroyChildTemplateEPKc @ 128 NONAME
-	_ZN3Alf17AlfVisualTemplate20destroyChildTemplateEi @ 129 NONAME
-	_ZN3Alf17AlfVisualTemplate6createE14TAlfLayoutType @ 130 NONAME
-	_ZN3Alf17AlfVisualTemplate6createE14TAlfVisualType @ 131 NONAME
-	_ZN3Alf17AlfVisualTemplate6createEv @ 132 NONAME
-	_ZN3Alf17AlfVisualTemplate7setNameEPKc @ 133 NONAME
-	_ZN3Alf17AlfVisualTemplate8addBrushER9CAlfBrush @ 134 NONAME
-	_ZN3Alf17AlfVisualTemplate8setOwnerEPNS_11IAlfElementE @ 135 NONAME
-	_ZN3Alf17AlfVisualTemplate9setParentEPNS_18IAlfVisualTemplateE @ 136 NONAME
-	_ZN3Alf17AlfVisualTemplateC1E14TAlfLayoutType @ 137 NONAME
-	_ZN3Alf17AlfVisualTemplateC1E14TAlfVisualType @ 138 NONAME
-	_ZN3Alf17AlfVisualTemplateC1Ev @ 139 NONAME
-	_ZN3Alf17AlfVisualTemplateC2E14TAlfLayoutType @ 140 NONAME
-	_ZN3Alf17AlfVisualTemplateC2E14TAlfVisualType @ 141 NONAME
-	_ZN3Alf17AlfVisualTemplateC2Ev @ 142 NONAME
-	_ZN3Alf17AlfVisualTemplateD0Ev @ 143 NONAME
-	_ZN3Alf17AlfVisualTemplateD1Ev @ 144 NONAME
-	_ZN3Alf17AlfVisualTemplateD2Ev @ 145 NONAME
-	_ZN3Alf17CAlfWidgetControl10addElementEPNS_11IAlfElementE @ 146 NONAME
-	_ZN3Alf17CAlfWidgetControl11OfferEventLERK9TAlfEvent @ 147 NONAME
-	_ZN3Alf17CAlfWidgetControl11dataChangedEv @ 148 NONAME
-	_ZN3Alf17CAlfWidgetControl11dataIdRangeERKNS_11IAlfElementE @ 149 NONAME
-	_ZN3Alf17CAlfWidgetControl11elementDataERKNS_11IAlfElementEj @ 150 NONAME
-	_ZN3Alf17CAlfWidgetControl11enableStateEj @ 151 NONAME
-	_ZN3Alf17CAlfWidgetControl11findElementEPKc @ 152 NONAME
-	_ZN3Alf17CAlfWidgetControl11handleEventERK9TAlfEvent @ 153 NONAME
-	_ZN3Alf17CAlfWidgetControl12AcquireFocusEv @ 154 NONAME
-	_ZN3Alf17CAlfWidgetControl12FocusChangedER11CAlfDisplayi @ 155 NONAME
-	_ZN3Alf17CAlfWidgetControl12dataChangingERKN7osncore12AlfPtrVectorINS_17AlfModelOperationEEE @ 156 NONAME
-	_ZN3Alf17CAlfWidgetControl12dataChangingERKNS_17AlfModelOperationE @ 157 NONAME
-	_ZN3Alf17CAlfWidgetControl12disableStateEj @ 158 NONAME
-	_ZN3Alf17CAlfWidgetControl12eventHandlerEi @ 159 NONAME
-	_ZN3Alf17CAlfWidgetControl12modelChangedERNS_9IAlfModelE @ 160 NONAME
-	_ZN3Alf17CAlfWidgetControl12processEventERK9TAlfEvent @ 161 NONAME
-	_ZN3Alf17CAlfWidgetControl13dataIdToIndexERKNS_11IAlfElementEj @ 162 NONAME
-	_ZN3Alf17CAlfWidgetControl13elementDataIdERKNS_11IAlfElementEjj @ 163 NONAME
-	_ZN3Alf17CAlfWidgetControl13makeInterfaceERKNS_4IfIdE @ 164 NONAME
-	_ZN3Alf17CAlfWidgetControl13removeElementERKNS_11IAlfElementE @ 165 NONAME
-	_ZN3Alf17CAlfWidgetControl14setDataIdRangeERKNS_11IAlfElementEj @ 166 NONAME
-	_ZN3Alf17CAlfWidgetControl15RelinquishFocusEv @ 167 NONAME
-	_ZN3Alf17CAlfWidgetControl15addEventHandlerEPNS_22IAlfWidgetEventHandlerEi @ 168 NONAME
-	_ZN3Alf17CAlfWidgetControl15handleFocusNextEv @ 169 NONAME
-	_ZN3Alf17CAlfWidgetControl16findEventHandlerERK9TAlfEvent @ 170 NONAME
-	_ZN3Alf17CAlfWidgetControl16getLastFocusableERNS_19IAlfContainerWidgetE @ 171 NONAME
-	_ZN3Alf17CAlfWidgetControl17getFirstFocusableERNS_19IAlfContainerWidgetE @ 172 NONAME
-	_ZN3Alf17CAlfWidgetControl17getFocusableAfterERNS_19IAlfContainerWidgetERS0_ @ 173 NONAME
-	_ZN3Alf17CAlfWidgetControl18getFocusableBeforeERNS_19IAlfContainerWidgetERS0_ @ 174 NONAME
-	_ZN3Alf17CAlfWidgetControl18removeEventHandlerERNS_22IAlfWidgetEventHandlerE @ 175 NONAME
-	_ZN3Alf17CAlfWidgetControl18updateParentLayoutEv @ 176 NONAME
-	_ZN3Alf17CAlfWidgetControl18updatePresentationEv @ 177 NONAME
-	_ZN3Alf17CAlfWidgetControl19destroyPresentationEi @ 178 NONAME
-	_ZN3Alf17CAlfWidgetControl19handleFocusPreviousEv @ 179 NONAME
-	_ZN3Alf17CAlfWidgetControl19parentElementDataIdERKNS_11IAlfElementEj @ 180 NONAME
-	_ZN3Alf17CAlfWidgetControl20nextFocusableControlEPS0_ @ 181 NONAME
-	_ZN3Alf17CAlfWidgetControl23removeAndDestroyElementERKNS_11IAlfElementE @ 182 NONAME
-	_ZN3Alf17CAlfWidgetControl24previousFocusableControlEPS0_ @ 183 NONAME
-	_ZN3Alf17CAlfWidgetControl25destroyVisualsAndElementsEi @ 184 NONAME
-	_ZN3Alf17CAlfWidgetControl28removeAndDestroyEventHandlerERKN7osncore7UStringE @ 185 NONAME
-	_ZN3Alf17CAlfWidgetControl28removeAndDestroyEventHandlerERNS_22IAlfWidgetEventHandlerE @ 186 NONAME
-	_ZN3Alf17CAlfWidgetControl31removePresentationEventHandlersEv @ 187 NONAME
-	_ZN3Alf17CAlfWidgetControl41removeAndDestroyPresentationEventHandlersEv @ 188 NONAME
-	_ZN3Alf17CAlfWidgetControl6widgetEv @ 189 NONAME
-	_ZN3Alf17CAlfWidgetControl7elementEi @ 190 NONAME
-	_ZN3Alf17CAlfWidgetControl8setStateEj @ 191 NONAME
-	_ZN3Alf17CAlfWidgetControl9constructER7CAlfEnv @ 192 NONAME
-	_ZN3Alf17CAlfWidgetControlC1ER7CAlfEnv @ 193 NONAME
-	_ZN3Alf17CAlfWidgetControlC1Ev @ 194 NONAME
-	_ZN3Alf17CAlfWidgetControlC2ER7CAlfEnv @ 195 NONAME
-	_ZN3Alf17CAlfWidgetControlC2Ev @ 196 NONAME
-	_ZN3Alf17CAlfWidgetControlD0Ev @ 197 NONAME
-	_ZN3Alf17CAlfWidgetControlD1Ev @ 198 NONAME
-	_ZN3Alf17CAlfWidgetControlD2Ev @ 199 NONAME
-	_ZN3Alf17CAlfWidgetControlnwEj6newarg @ 200 NONAME
-	_ZN3Alf18AlfAnimationOutput11sendCommandERNS_17CAlfWidgetControlEj @ 201 NONAME
-	_ZN3Alf18AlfAnimationOutputC1EPNS_20AlfReferenceToVisualES2_PNS_19IAlfAttributeSetterEPNS_21AlfAttributeContainerEjj @ 202 NONAME
-	_ZN3Alf18AlfAnimationOutputC2EPNS_20AlfReferenceToVisualES2_PNS_19IAlfAttributeSetterEPNS_21AlfAttributeContainerEjj @ 203 NONAME
-	_ZN3Alf18AlfAnimationOutputD1Ev @ 204 NONAME
-	_ZN3Alf18AlfAnimationOutputD2Ev @ 205 NONAME
-	_ZN3Alf20AlfFlowLayoutManager13makeInterfaceERKNS_4IfIdE @ 206 NONAME
-	_ZN3Alf20AlfFlowLayoutManager17updateChildLayoutEPNS_17CAlfWidgetControlE @ 207 NONAME
-	_ZN3Alf20AlfFlowLayoutManagerC1Ev @ 208 NONAME
-	_ZN3Alf20AlfFlowLayoutManagerC2Ev @ 209 NONAME
-	_ZN3Alf20AlfFlowLayoutManagerD0Ev @ 210 NONAME
-	_ZN3Alf20AlfFlowLayoutManagerD1Ev @ 211 NONAME
-	_ZN3Alf20AlfFlowLayoutManagerD2Ev @ 212 NONAME
-	_ZN3Alf20AlfGridLayoutManager12childRemovedEPNS_17CAlfWidgetControlE @ 213 NONAME
-	_ZN3Alf20AlfGridLayoutManager13makeInterfaceERKNS_4IfIdE @ 214 NONAME
-	_ZN3Alf20AlfGridLayoutManager17updateChildLayoutEPNS_17CAlfWidgetControlE @ 215 NONAME
-	_ZN3Alf20AlfGridLayoutManager19doUpdateChildLayoutEPNS_17CAlfWidgetControlE @ 216 NONAME
-	_ZN3Alf20AlfGridLayoutManagerC1Ev @ 217 NONAME
-	_ZN3Alf20AlfGridLayoutManagerC2Ev @ 218 NONAME
-	_ZN3Alf20AlfGridLayoutManagerD0Ev @ 219 NONAME
-	_ZN3Alf20AlfGridLayoutManagerD1Ev @ 220 NONAME
-	_ZN3Alf20AlfGridLayoutManagerD2Ev @ 221 NONAME
-	_ZN3Alf20AlfReferenceToVisual6createEPKcS2_b @ 222 NONAME
-	_ZN3Alf20AlfReferenceToVisual7resolveERNS_17CAlfWidgetControlEP10CAlfVisual @ 223 NONAME
-	_ZN3Alf20AlfReferenceToVisual7resolveERNS_17CAlfWidgetControlEj @ 224 NONAME
-	_ZN3Alf20AlfReferenceToVisualD1Ev @ 225 NONAME
-	_ZN3Alf20AlfReferenceToVisualD2Ev @ 226 NONAME
-	_ZN3Alf21AlfAttributeContainer12addAttributeEPNS_12AlfAttributeE @ 227 NONAME
-	_ZN3Alf21AlfAttributeContainer15removeAttributeEj @ 228 NONAME
-	_ZN3Alf21AlfAttributeContainer7setTimeEj @ 229 NONAME
-	_ZN3Alf21AlfAttributeContainerC1ENS0_4TypeE @ 230 NONAME
-	_ZN3Alf21AlfAttributeContainerC2ENS0_4TypeE @ 231 NONAME
-	_ZN3Alf21AlfAttributeContainerD1Ev @ 232 NONAME
-	_ZN3Alf21AlfAttributeContainerD2Ev @ 233 NONAME
-	_ZN3Alf21AlfAttributeValueTypeC1ERKN7osncore7UStringE @ 234 NONAME
-	_ZN3Alf21AlfAttributeValueTypeC1Ef8TAlfUnit @ 235 NONAME
-	_ZN3Alf21AlfAttributeValueTypeC1Ei8TAlfUnit @ 236 NONAME
-	_ZN3Alf21AlfAttributeValueTypeC2ERKN7osncore7UStringE @ 237 NONAME
-	_ZN3Alf21AlfAttributeValueTypeC2Ef8TAlfUnit @ 238 NONAME
-	_ZN3Alf21AlfAttributeValueTypeC2Ei8TAlfUnit @ 239 NONAME
-	_ZN3Alf21AlfAttributeValueTypeD0Ev @ 240 NONAME
-	_ZN3Alf21AlfAttributeValueTypeD1Ev @ 241 NONAME
-	_ZN3Alf21AlfAttributeValueTypeD2Ev @ 242 NONAME
-	_ZN3Alf21AlfWidgetEnvExtension12resourcePoolER7CAlfEnv @ 243 NONAME
-	_ZN3Alf21AlfWidgetEnvExtension13widgetFactoryER7CAlfEnv @ 244 NONAME
-	_ZN3Alf21AlfWidgetEnvExtension16themeManagerUtilER7CAlfEnv @ 245 NONAME
-	_ZN3Alf21AlfWidgetEnvExtension21initializeEnvironmentER7CAlfEnv @ 246 NONAME
-	_ZN3Alf21AlfWidgetEventHandler11addKeyInputEiNS_14EventTypeFlagsEj @ 247 NONAME
-	_ZN3Alf21AlfWidgetEventHandler14addCustomInputEibi @ 248 NONAME
-	_ZN3Alf21AlfWidgetEventHandler15addCancelOutputEPKcib @ 249 NONAME
-	_ZN3Alf21AlfWidgetEventHandler15addPointerInputEPKcS2_NS_18WidgetPointerEventE @ 250 NONAME
-	_ZN3Alf21AlfWidgetEventHandler16addTactileOutputENS_25WidgetTactileFeedbackTypeE @ 251 NONAME
-	_ZN3Alf21AlfWidgetEventHandler17addAppEventOutputERKN7osncore7UStringERNS_20IAlfAppEventListenerE @ 252 NONAME
-	_ZN3Alf21AlfWidgetEventHandler18addAnimationOutputEPNS_20AlfReferenceToVisualES2_PNS_19IAlfAttributeSetterEPNS_21AlfAttributeContainerEjj @ 253 NONAME
-	_ZN3Alf21AlfWidgetEventHandler19addEventPasserInputEii @ 254 NONAME
-	_ZN3Alf21AlfWidgetEventHandler20addEventPasserOutputEPKcS2_ @ 255 NONAME
-	_ZN3Alf21AlfWidgetEventHandler20addEventPasserOutputEPKcS2_ii @ 256 NONAME
-	_ZN3Alf21AlfWidgetEventHandler20addWidgetStateOutputERKN7osncore7UStringEjj @ 257 NONAME
-	_ZN3Alf21AlfWidgetEventHandler23addWidgetAttributeInputERN7osncore7UStringEPNS_21AlfAttributeValueTypeEPKc @ 258 NONAME
-	_ZN3Alf21AlfWidgetEventHandler24addAnimationCancelOutputEPKcS2_6TAlfOpb @ 259 NONAME
-	_ZN3Alf21AlfWidgetEventHandler24addWidgetAttributeOutputERN7osncore7UStringEPNS_21AlfAttributeValueTypeEPKc @ 260 NONAME
-	_ZN3Alf21AlfWidgetEventHandler24addWidgetAttributeOutputERNS_12AlfAttributeEPKc @ 261 NONAME
-	_ZN3Alf21AlfWidgetEventHandler36addWidgetEventOutputSignalSubscriberERNS_31IAlfEventOutputSignalSubscriberE @ 262 NONAME
-	_ZN3Alf21AlfWidgetEventHandler9addOutputEiiPKcj @ 263 NONAME
-	_ZN3Alf21AlfWidgetEventHandlerC1ENS_22IAlfWidgetEventHandler19AlfEventHandlerTypeENS1_29AlfEventHandlerExecutionPhaseE @ 264 NONAME
-	_ZN3Alf21AlfWidgetEventHandlerC2ENS_22IAlfWidgetEventHandler19AlfEventHandlerTypeENS1_29AlfEventHandlerExecutionPhaseE @ 265 NONAME
-	_ZN3Alf22AlfAnchorLayoutManager12childRemovedEPNS_17CAlfWidgetControlE @ 266 NONAME
-	_ZN3Alf22AlfAnchorLayoutManager13makeInterfaceERKNS_4IfIdE @ 267 NONAME
-	_ZN3Alf22AlfAnchorLayoutManager17updateChildLayoutEPNS_17CAlfWidgetControlE @ 268 NONAME
-	_ZN3Alf22AlfAnchorLayoutManager19doUpdateChildLayoutEPNS_17CAlfWidgetControlE @ 269 NONAME
-	_ZN3Alf22AlfAnchorLayoutManagerC1Ev @ 270 NONAME
-	_ZN3Alf22AlfAnchorLayoutManagerC2Ev @ 271 NONAME
-	_ZN3Alf22AlfAnchorLayoutManagerD0Ev @ 272 NONAME
-	_ZN3Alf22AlfAnchorLayoutManagerD1Ev @ 273 NONAME
-	_ZN3Alf22AlfAnchorLayoutManagerD2Ev @ 274 NONAME
-	_ZN3Alf23AlfRecyclingGridElement10offerEventERNS_17CAlfWidgetControlERK9TAlfEvent @ 275 NONAME
-	_ZN3Alf23AlfRecyclingGridElement12setFillStyleENS0_9FillStyleEi @ 276 NONAME
-	_ZN3Alf23AlfRecyclingGridElement13makeInterfaceERKNS_4IfIdE @ 277 NONAME
-	_ZN3Alf23AlfRecyclingGridElement15setActiveStatesEj @ 278 NONAME
-	_ZN3Alf23AlfRecyclingGridElement16createVisualTreeERNS_15IAlfVariantTypeEjP10CAlfLayouti @ 279 NONAME
-	_ZN3Alf23AlfRecyclingGridElement16eventHandlerDataEv @ 280 NONAME
-	_ZN3Alf23AlfRecyclingGridElement17setAnimationTimesEiiiii @ 281 NONAME
-	_ZN3Alf23AlfRecyclingGridElement19setEventHandlerDataERKNS_29AlfWidgetEventHandlerInitDataE @ 282 NONAME
-	_ZN3Alf23AlfRecyclingGridElement21createChildVisualTreeEPNS_11IAlfElementERNS_15IAlfVariantTypeERNS_10IAlfBranchEij @ 283 NONAME
-	_ZN3Alf23AlfRecyclingGridElement21removeChildVisualTreeEPNS_11IAlfElementERNS_10IAlfBranchEij @ 284 NONAME
-	_ZN3Alf23AlfRecyclingGridElementC1ERNS_17CAlfWidgetControlEPKcii @ 285 NONAME
-	_ZN3Alf23AlfRecyclingGridElementC2ERNS_17CAlfWidgetControlEPKcii @ 286 NONAME
-	_ZN3Alf23AlfRecyclingGridElementD0Ev @ 287 NONAME
-	_ZN3Alf23AlfRecyclingGridElementD1Ev @ 288 NONAME
-	_ZN3Alf23AlfRecyclingGridElementD2Ev @ 289 NONAME
-	_ZN3Alf24AlfCommonAttributeSetter10setterTypeEv @ 290 NONAME
-	_ZN3Alf24AlfCommonAttributeSetter13createCommandER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapEiPS1_ @ 291 NONAME
-	_ZN3Alf24AlfCommonAttributeSetter13makeInterfaceERKNS_4IfIdE @ 292 NONAME
-	_ZN3Alf24AlfCommonAttributeSetter16enableDirtyCheckEb @ 293 NONAME
-	_ZN3Alf24AlfCommonAttributeSetter17setAttributeValueER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapE @ 294 NONAME
-	_ZN3Alf24AlfCommonAttributeSetter21createAndSendCommandsER10CAlfVisualPNS_21AlfAttributeContainerEPS1_ @ 295 NONAME
-	_ZN3Alf24AlfCommonAttributeSetterC1Ev @ 296 NONAME
-	_ZN3Alf24AlfCommonAttributeSetterC2Ev @ 297 NONAME
-	_ZN3Alf24AlfCommonAttributeSetterD0Ev @ 298 NONAME
-	_ZN3Alf24AlfCommonAttributeSetterD1Ev @ 299 NONAME
-	_ZN3Alf24AlfCommonAttributeSetterD2Ev @ 300 NONAME
-	_ZN3Alf28AlfDeckLayoutAttributeSetter13createCommandER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapEiPS1_ @ 301 NONAME
-	_ZN3Alf28AlfDeckLayoutAttributeSetter17setAttributeValueER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapE @ 302 NONAME
-	_ZN3Alf28AlfDeckLayoutAttributeSetter21createAndSendCommandsER10CAlfVisualPNS_21AlfAttributeContainerEPS1_ @ 303 NONAME
-	_ZN3Alf28AlfDeckLayoutAttributeSetterC1Ev @ 304 NONAME
-	_ZN3Alf28AlfDeckLayoutAttributeSetterC2Ev @ 305 NONAME
-	_ZN3Alf28AlfDeckLayoutAttributeSetterD0Ev @ 306 NONAME
-	_ZN3Alf28AlfDeckLayoutAttributeSetterD1Ev @ 307 NONAME
-	_ZN3Alf28AlfDeckLayoutAttributeSetterD2Ev @ 308 NONAME
-	_ZN3Alf28AlfFlowLayoutAttributeSetter13createCommandER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapEiPS1_ @ 309 NONAME
-	_ZN3Alf28AlfFlowLayoutAttributeSetter17setAttributeValueER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapE @ 310 NONAME
-	_ZN3Alf28AlfFlowLayoutAttributeSetter21createAndSendCommandsER10CAlfVisualPNS_21AlfAttributeContainerEPS1_ @ 311 NONAME
-	_ZN3Alf28AlfFlowLayoutAttributeSetterC1Ev @ 312 NONAME
-	_ZN3Alf28AlfFlowLayoutAttributeSetterC2Ev @ 313 NONAME
-	_ZN3Alf28AlfFlowLayoutAttributeSetterD0Ev @ 314 NONAME
-	_ZN3Alf28AlfFlowLayoutAttributeSetterD1Ev @ 315 NONAME
-	_ZN3Alf28AlfFlowLayoutAttributeSetterD2Ev @ 316 NONAME
-	_ZN3Alf28AlfGridLayoutAttributeSetter13createCommandER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapEiPS1_ @ 317 NONAME
-	_ZN3Alf28AlfGridLayoutAttributeSetter17setAttributeValueER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapE @ 318 NONAME
-	_ZN3Alf28AlfGridLayoutAttributeSetter21createAndSendCommandsER10CAlfVisualPNS_21AlfAttributeContainerEPS1_ @ 319 NONAME
-	_ZN3Alf28AlfGridLayoutAttributeSetterC1Ev @ 320 NONAME
-	_ZN3Alf28AlfGridLayoutAttributeSetterC2Ev @ 321 NONAME
-	_ZN3Alf28AlfGridLayoutAttributeSetterD0Ev @ 322 NONAME
-	_ZN3Alf28AlfGridLayoutAttributeSetterD1Ev @ 323 NONAME
-	_ZN3Alf28AlfGridLayoutAttributeSetterD2Ev @ 324 NONAME
-	_ZN3Alf28AlfLineVisualAttributeSetter13createCommandER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapEiPS1_ @ 325 NONAME
-	_ZN3Alf28AlfLineVisualAttributeSetter17setAttributeValueER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapE @ 326 NONAME
-	_ZN3Alf28AlfLineVisualAttributeSetter21createAndSendCommandsER10CAlfVisualPNS_21AlfAttributeContainerEPS1_ @ 327 NONAME
-	_ZN3Alf28AlfLineVisualAttributeSetterC1Ev @ 328 NONAME
-	_ZN3Alf28AlfLineVisualAttributeSetterC2Ev @ 329 NONAME
-	_ZN3Alf28AlfLineVisualAttributeSetterD0Ev @ 330 NONAME
-	_ZN3Alf28AlfLineVisualAttributeSetterD1Ev @ 331 NONAME
-	_ZN3Alf28AlfLineVisualAttributeSetterD2Ev @ 332 NONAME
-	_ZN3Alf28AlfMeshVisualAttributeSetter13createCommandER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapEiPS1_ @ 333 NONAME
-	_ZN3Alf28AlfMeshVisualAttributeSetter17setAttributeValueER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapE @ 334 NONAME
-	_ZN3Alf28AlfMeshVisualAttributeSetter21createAndSendCommandsER10CAlfVisualPNS_21AlfAttributeContainerEPS1_ @ 335 NONAME
-	_ZN3Alf28AlfMeshVisualAttributeSetterC1Ev @ 336 NONAME
-	_ZN3Alf28AlfMeshVisualAttributeSetterC2Ev @ 337 NONAME
-	_ZN3Alf28AlfMeshVisualAttributeSetterD0Ev @ 338 NONAME
-	_ZN3Alf28AlfMeshVisualAttributeSetterD1Ev @ 339 NONAME
-	_ZN3Alf28AlfMeshVisualAttributeSetterD2Ev @ 340 NONAME
-	_ZN3Alf28AlfTextVisualAttributeSetter13createCommandER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapEiPS1_ @ 341 NONAME
-	_ZN3Alf28AlfTextVisualAttributeSetter17setAttributeValueER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapE @ 342 NONAME
-	_ZN3Alf28AlfTextVisualAttributeSetter21createAndSendCommandsER10CAlfVisualPNS_21AlfAttributeContainerEPS1_ @ 343 NONAME
-	_ZN3Alf28AlfTextVisualAttributeSetterC1Ev @ 344 NONAME
-	_ZN3Alf28AlfTextVisualAttributeSetterC2Ev @ 345 NONAME
-	_ZN3Alf28AlfTextVisualAttributeSetterD0Ev @ 346 NONAME
-	_ZN3Alf28AlfTextVisualAttributeSetterD1Ev @ 347 NONAME
-	_ZN3Alf28AlfTextVisualAttributeSetterD2Ev @ 348 NONAME
-	_ZN3Alf29AlfImageVisualAttributeSetter13createCommandER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapEiPS1_ @ 349 NONAME
-	_ZN3Alf29AlfImageVisualAttributeSetter17setAttributeValueER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapE @ 350 NONAME
-	_ZN3Alf29AlfImageVisualAttributeSetter21createAndSendCommandsER10CAlfVisualPNS_21AlfAttributeContainerEPS1_ @ 351 NONAME
-	_ZN3Alf29AlfImageVisualAttributeSetterC1Ev @ 352 NONAME
-	_ZN3Alf29AlfImageVisualAttributeSetterC2Ev @ 353 NONAME
-	_ZN3Alf29AlfImageVisualAttributeSetterD0Ev @ 354 NONAME
-	_ZN3Alf29AlfImageVisualAttributeSetterD1Ev @ 355 NONAME
-	_ZN3Alf29AlfImageVisualAttributeSetterD2Ev @ 356 NONAME
-	_ZN3Alf30AlfAnchorLayoutAttributeSetter13createCommandER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapEiPS1_ @ 357 NONAME
-	_ZN3Alf30AlfAnchorLayoutAttributeSetter17setAttributeValueER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapE @ 358 NONAME
-	_ZN3Alf30AlfAnchorLayoutAttributeSetter21createAndSendCommandsER10CAlfVisualPNS_21AlfAttributeContainerEPS1_ @ 359 NONAME
-	_ZN3Alf30AlfAnchorLayoutAttributeSetterC1Ev @ 360 NONAME
-	_ZN3Alf30AlfAnchorLayoutAttributeSetterC2Ev @ 361 NONAME
-	_ZN3Alf30AlfAnchorLayoutAttributeSetterD0Ev @ 362 NONAME
-	_ZN3Alf30AlfAnchorLayoutAttributeSetterD1Ev @ 363 NONAME
-	_ZN3Alf30AlfAnchorLayoutAttributeSetterD2Ev @ 364 NONAME
-	_ZN3Alf30AlfCommonLayoutAttributeSetter13createCommandER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapEiPS1_ @ 365 NONAME
-	_ZN3Alf30AlfCommonLayoutAttributeSetter17setAttributeValueER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapE @ 366 NONAME
-	_ZN3Alf30AlfCommonLayoutAttributeSetter21createAndSendCommandsER10CAlfVisualPNS_21AlfAttributeContainerEPS1_ @ 367 NONAME
-	_ZN3Alf30AlfCommonLayoutAttributeSetterC1Ev @ 368 NONAME
-	_ZN3Alf30AlfCommonLayoutAttributeSetterC2Ev @ 369 NONAME
-	_ZN3Alf30AlfCommonLayoutAttributeSetterD0Ev @ 370 NONAME
-	_ZN3Alf30AlfCommonLayoutAttributeSetterD1Ev @ 371 NONAME
-	_ZN3Alf30AlfCommonLayoutAttributeSetterD2Ev @ 372 NONAME
-	_ZN3Alf30AlfCommonVisualAttributeSetter13createCommandER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapEiPS1_ @ 373 NONAME
-	_ZN3Alf30AlfCommonVisualAttributeSetter21createAndSendCommandsER10CAlfVisualPNS_21AlfAttributeContainerEPS1_ @ 374 NONAME
-	_ZN3Alf30AlfCommonVisualAttributeSetterC1Ev @ 375 NONAME
-	_ZN3Alf30AlfCommonVisualAttributeSetterC2Ev @ 376 NONAME
-	_ZN3Alf30AlfCommonVisualAttributeSetterD0Ev @ 377 NONAME
-	_ZN3Alf30AlfCommonVisualAttributeSetterD1Ev @ 378 NONAME
-	_ZN3Alf30AlfCommonVisualAttributeSetterD2Ev @ 379 NONAME
-	_ZN3Alf32AlfViewportLayoutAttributeSetter13createCommandER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapEiPS1_ @ 380 NONAME
-	_ZN3Alf32AlfViewportLayoutAttributeSetter17setAttributeValueER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapE @ 381 NONAME
-	_ZN3Alf32AlfViewportLayoutAttributeSetter21createAndSendCommandsER10CAlfVisualPNS_21AlfAttributeContainerEPS1_ @ 382 NONAME
-	_ZN3Alf32AlfViewportLayoutAttributeSetterC1Ev @ 383 NONAME
-	_ZN3Alf32AlfViewportLayoutAttributeSetterC2Ev @ 384 NONAME
-	_ZN3Alf32AlfViewportLayoutAttributeSetterD0Ev @ 385 NONAME
-	_ZN3Alf32AlfViewportLayoutAttributeSetterD1Ev @ 386 NONAME
-	_ZN3Alf32AlfViewportLayoutAttributeSetterD2Ev @ 387 NONAME
-	_ZN3Alf33AlfCurvePathLayoutAttributeSetter13createCommandER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapEiPS1_ @ 388 NONAME
-	_ZN3Alf33AlfCurvePathLayoutAttributeSetter17setAttributeValueER10CAlfVisualPNS_21AlfAttributeContainerEPNS_7IAlfMapE @ 389 NONAME
-	_ZN3Alf33AlfCurvePathLayoutAttributeSetter21createAndSendCommandsER10CAlfVisualPNS_21AlfAttributeContainerEPS1_ @ 390 NONAME
-	_ZN3Alf33AlfCurvePathLayoutAttributeSetterC1Ev @ 391 NONAME
-	_ZN3Alf33AlfCurvePathLayoutAttributeSetterC2Ev @ 392 NONAME
-	_ZN3Alf33AlfCurvePathLayoutAttributeSetterD0Ev @ 393 NONAME
-	_ZN3Alf33AlfCurvePathLayoutAttributeSetterD1Ev @ 394 NONAME
-	_ZN3Alf33AlfCurvePathLayoutAttributeSetterD2Ev @ 395 NONAME
-	_ZN3Alf6AlfMap10customDataEv @ 396 NONAME
-	_ZN3Alf6AlfMap10removeItemERKN7osncore7UStringE @ 397 NONAME
-	_ZN3Alf6AlfMap10removeItemEj @ 398 NONAME
-	_ZN3Alf6AlfMap11replaceItemERKN7osncore7UStringEPNS_15IAlfVariantTypeE @ 399 NONAME
-	_ZN3Alf6AlfMap11replaceItemEjPNS_15IAlfVariantTypeE @ 400 NONAME
-	_ZN3Alf6AlfMap3mapEv @ 401 NONAME
-	_ZN3Alf6AlfMap3setERNS_15IAlfVariantTypeE @ 402 NONAME
-	_ZN3Alf6AlfMap4itemERKN7osncore7UStringE @ 403 NONAME
-	_ZN3Alf6AlfMap4itemEj @ 404 NONAME
-	_ZN3Alf6AlfMap5clearEv @ 405 NONAME
-	_ZN3Alf6AlfMap5cloneEv @ 406 NONAME
-	_ZN3Alf6AlfMap6branchEv @ 407 NONAME
-	_ZN3Alf6AlfMap9containerEv @ 408 NONAME
-	_ZN3Alf6AlfMap9itemIndexERKN7osncore7UStringE @ 409 NONAME
-	_ZN3Alf6AlfMapC1Ev @ 410 NONAME
-	_ZN3Alf6AlfMapC2Ev @ 411 NONAME
-	_ZN3Alf6AlfMapD0Ev @ 412 NONAME
-	_ZN3Alf6AlfMapD1Ev @ 413 NONAME
-	_ZN3Alf6AlfMapD2Ev @ 414 NONAME
-	_ZN3Alf8AlfModel10clearModelEv @ 415 NONAME
-	_ZN3Alf8AlfModel10removeDataEiPi @ 416 NONAME
-	_ZN3Alf8AlfModel10updateDataEiPiPNS_15IAlfVariantTypeE @ 417 NONAME
-	_ZN3Alf8AlfModel13makeInterfaceERKNS_4IfIdE @ 418 NONAME
-	_ZN3Alf8AlfModel16executeOperationEPNS_17AlfModelOperationE @ 419 NONAME
-	_ZN3Alf8AlfModel17executeOperationsERN7osncore12AlfPtrVectorINS_17AlfModelOperationEEE @ 420 NONAME
-	_ZN3Alf8AlfModel18notifyModelChangedEv @ 421 NONAME
-	_ZN3Alf8AlfModel22addModelChangeObserverERNS_23IAlfModelChangeObserverE @ 422 NONAME
-	_ZN3Alf8AlfModel25removeModelChangeObserverERNS_23IAlfModelChangeObserverE @ 423 NONAME
-	_ZN3Alf8AlfModel7addDataEiPiPNS_15IAlfVariantTypeE @ 424 NONAME
-	_ZN3Alf8AlfModel7setDataEPNS_15IAlfVariantTypeE @ 425 NONAME
-	_ZN3Alf8AlfModelC1EPNS_15IAlfVariantTypeE @ 426 NONAME
-	_ZN3Alf8AlfModelC1Ev @ 427 NONAME
-	_ZN3Alf8AlfModelC2EPNS_15IAlfVariantTypeE @ 428 NONAME
-	_ZN3Alf8AlfModelC2Ev @ 429 NONAME
-	_ZN3Alf8AlfModelD0Ev @ 430 NONAME
-	_ZN3Alf8AlfModelD1Ev @ 431 NONAME
-	_ZN3Alf8AlfModelD2Ev @ 432 NONAME
-	_ZN3Alf9AlfBranch10customDataEv @ 433 NONAME
-	_ZN3Alf9AlfBranch12setChildDataEPNS_7IAlfMapE @ 434 NONAME
-	_ZN3Alf9AlfBranch13childrenCountEv @ 435 NONAME
-	_ZN3Alf9AlfBranch3mapEv @ 436 NONAME
-	_ZN3Alf9AlfBranch3setERNS_15IAlfVariantTypeE @ 437 NONAME
-	_ZN3Alf9AlfBranch4dataEv @ 438 NONAME
-	_ZN3Alf9AlfBranch4sortERKNS_16IAlfSortFunctionE @ 439 NONAME
-	_ZN3Alf9AlfBranch5cloneEv @ 440 NONAME
-	_ZN3Alf9AlfBranch6branchEv @ 441 NONAME
-	_ZN3Alf9AlfBranch7setDataEPNS_7IAlfMapE @ 442 NONAME
-	_ZN3Alf9AlfBranch9childDataEi @ 443 NONAME
-	_ZN3Alf9AlfBranch9childDataEv @ 444 NONAME
-	_ZN3Alf9AlfBranch9childNameEi @ 445 NONAME
-	_ZN3Alf9AlfBranch9containerEv @ 446 NONAME
-	_ZN3Alf9AlfBranchC1EPNS_7IAlfMapES2_ @ 447 NONAME
-	_ZN3Alf9AlfBranchC1Ev @ 448 NONAME
-	_ZN3Alf9AlfBranchC2EPNS_7IAlfMapES2_ @ 449 NONAME
-	_ZN3Alf9AlfBranchC2Ev @ 450 NONAME
-	_ZN3Alf9AlfBranchD0Ev @ 451 NONAME
-	_ZN3Alf9AlfBranchD1Ev @ 452 NONAME
-	_ZN3Alf9AlfBranchD2Ev @ 453 NONAME
-	_ZN3Alf9AlfWidget10setControlEPNS_17CAlfWidgetControlEb @ 454 NONAME
-	_ZN3Alf9AlfWidget11applyLayoutERNS_17IAlfLayoutManagerE @ 455 NONAME
-	_ZN3Alf9AlfWidget12removeWidgetERNS_10IAlfWidgetE @ 456 NONAME
-	_ZN3Alf9AlfWidget12removeWidgetEi @ 457 NONAME
-	_ZN3Alf9AlfWidget13makeInterfaceEPS0_RKNS_4IfIdE @ 458 NONAME
-	_ZN3Alf9AlfWidget13makeInterfaceERKNS_4IfIdE @ 459 NONAME
-	_ZN3Alf9AlfWidget13setChildFocusEb @ 460 NONAME
-	_ZN3Alf9AlfWidget15setPresentationEPKc @ 461 NONAME
-	_ZN3Alf9AlfWidget5modelEv @ 462 NONAME
-	_ZN3Alf9AlfWidget8setModelEPNS_9IAlfModelEb @ 463 NONAME
-	_ZN3Alf9AlfWidget9addWidgetERNS_10IAlfWidgetE @ 464 NONAME
-	_ZN3Alf9AlfWidgetC1EPKc @ 465 NONAME
-	_ZN3Alf9AlfWidgetC1EPKcRNS_19IAlfContainerWidgetER7CAlfEnv @ 466 NONAME
-	_ZN3Alf9AlfWidgetC1Ev @ 467 NONAME
-	_ZN3Alf9AlfWidgetC2EPKc @ 468 NONAME
-	_ZN3Alf9AlfWidgetC2EPKcRNS_19IAlfContainerWidgetER7CAlfEnv @ 469 NONAME
-	_ZN3Alf9AlfWidgetC2Ev @ 470 NONAME
-	_ZN3Alf9AlfWidgetD0Ev @ 471 NONAME
-	_ZN3Alf9AlfWidgetD1Ev @ 472 NONAME
-	_ZN3Alf9AlfWidgetD2Ev @ 473 NONAME
-	_ZNK3Alf10AlfElement13parentElementEv @ 474 NONAME
-	_ZNK3Alf10AlfElement17getVisualTemplateEv @ 475 NONAME
-	_ZNK3Alf10AlfElement4nameEv @ 476 NONAME
-	_ZNK3Alf10AlfElement6dataIDERK10CAlfVisual @ 477 NONAME
-	_ZNK3Alf10AlfElement8containsER10CAlfVisual @ 478 NONAME
-	_ZNK3Alf12AlfAttribute10isValueSetEv @ 479 NONAME
-	_ZNK3Alf12AlfAttribute11stringValueEj @ 480 NONAME
-	_ZNK3Alf12AlfAttribute12getDataFieldEv @ 481 NONAME
-	_ZNK3Alf12AlfAttribute14getSourceValueEj @ 482 NONAME
-	_ZNK3Alf12AlfAttribute14getTargetValueEj @ 483 NONAME
-	_ZNK3Alf12AlfAttribute19getSourceValueCountEv @ 484 NONAME
-	_ZNK3Alf12AlfAttribute19getTargetValueCountEv @ 485 NONAME
-	_ZNK3Alf12AlfAttribute20getMappingFunctionIdEv @ 486 NONAME
-	_ZNK3Alf12AlfAttribute21getInterpolationStyleEv @ 487 NONAME
-	_ZNK3Alf12AlfAttribute4nameEv @ 488 NONAME
-	_ZNK3Alf12AlfAttribute4typeEj @ 489 NONAME
-	_ZNK3Alf12AlfAttribute4unitEj @ 490 NONAME
-	_ZNK3Alf12AlfAttribute7getTimeEv @ 491 NONAME
-	_ZNK3Alf12AlfAttribute7isDirtyEv @ 492 NONAME
-	_ZNK3Alf12AlfAttribute8categoryEv @ 493 NONAME
-	_ZNK3Alf12AlfAttribute8getDelayEv @ 494 NONAME
-	_ZNK3Alf12AlfAttribute8intValueEj @ 495 NONAME
-	_ZNK3Alf12AlfAttribute9realValueEj @ 496 NONAME
-	_ZNK3Alf12AlfContainer4realEv @ 497 NONAME
-	_ZNK3Alf12AlfContainer4typeEv @ 498 NONAME
-	_ZNK3Alf12AlfContainer6stringEv @ 499 NONAME
-	_ZNK3Alf12AlfContainer7booleanEv @ 500 NONAME
-	_ZNK3Alf12AlfContainer7integerEv @ 501 NONAME
-	_ZNK3Alf12AlfContainer8uintegerEv @ 502 NONAME
-	_ZNK3Alf12AlfContainereqERKNS_15IAlfVariantTypeE @ 503 NONAME
-	_ZNK3Alf14AlfVariantType4realEv @ 504 NONAME
-	_ZNK3Alf14AlfVariantType4typeEv @ 505 NONAME
-	_ZNK3Alf14AlfVariantType6stringEv @ 506 NONAME
-	_ZNK3Alf14AlfVariantType7booleanEv @ 507 NONAME
-	_ZNK3Alf14AlfVariantType7integerEv @ 508 NONAME
-	_ZNK3Alf14AlfVariantType8uintegerEv @ 509 NONAME
-	_ZNK3Alf14AlfVariantTypeeqERKNS_15IAlfVariantTypeE @ 510 NONAME
-	_ZNK3Alf16AlfLayoutManager10getControlEi @ 511 NONAME
-	_ZNK3Alf16AlfLayoutManager20getLayoutPreferencesEPNS_17CAlfWidgetControlE @ 512 NONAME
-	_ZNK3Alf16AlfLayoutManager5countEv @ 513 NONAME
-	_ZNK3Alf16AlfLayoutManager5ownerEv @ 514 NONAME
-	_ZNK3Alf16AlfLayoutManager9getLayoutEv @ 515 NONAME
-	_ZNK3Alf17AlfModelOperation10parentDataERNS_15IAlfVariantTypeE @ 516 NONAME
-	_ZNK3Alf17AlfModelOperation11newDataNameEv @ 517 NONAME
-	_ZNK3Alf17AlfModelOperation14containerIndexEi @ 518 NONAME
-	_ZNK3Alf17AlfModelOperation19numContainerIndicesEv @ 519 NONAME
-	_ZNK3Alf17AlfModelOperation5indexEv @ 520 NONAME
-	_ZNK3Alf17AlfModelOperation7newDataEv @ 521 NONAME
-	_ZNK3Alf17AlfModelOperation9operationEv @ 522 NONAME
-	_ZNK3Alf17AlfVisualTemplate10layoutTypeEv @ 523 NONAME
-	_ZNK3Alf17AlfVisualTemplate10numBrushesEv @ 524 NONAME
-	_ZNK3Alf17AlfVisualTemplate10visualTypeEv @ 525 NONAME
-	_ZNK3Alf17AlfVisualTemplate13childTemplateEi @ 526 NONAME
-	_ZNK3Alf17AlfVisualTemplate15attributeSetterEi @ 527 NONAME
-	_ZNK3Alf17AlfVisualTemplate17numChildTemplatesEv @ 528 NONAME
-	_ZNK3Alf17AlfVisualTemplate18attributeContainerEi @ 529 NONAME
-	_ZNK3Alf17AlfVisualTemplate19numAttributeSettersEv @ 530 NONAME
-	_ZNK3Alf17AlfVisualTemplate4nameEv @ 531 NONAME
-	_ZNK3Alf17AlfVisualTemplate5brushEi @ 532 NONAME
-	_ZNK3Alf17AlfVisualTemplate5ownerEv @ 533 NONAME
-	_ZNK3Alf17AlfVisualTemplate6parentEv @ 534 NONAME
-	_ZNK3Alf17CAlfWidgetControl10checkStateEj @ 535 NONAME
-	_ZNK3Alf17CAlfWidgetControl11isContainerEv @ 536 NONAME
-	_ZNK3Alf17CAlfWidgetControl11isFocusableEv @ 537 NONAME
-	_ZNK3Alf17CAlfWidgetControl11numElementsEv @ 538 NONAME
-	_ZNK3Alf17CAlfWidgetControl15ContainerLayoutEPK11CAlfControl @ 539 NONAME
-	_ZNK3Alf17CAlfWidgetControl16numEventHandlersEv @ 540 NONAME
-	_ZNK3Alf17CAlfWidgetControl17eventHandlerIndexERNS_22IAlfWidgetEventHandlerE @ 541 NONAME
-	_ZNK3Alf17CAlfWidgetControl5stateEv @ 542 NONAME
-	_ZNK3Alf21AlfAttributeContainer12getAttributeEj @ 543 NONAME
-	_ZNK3Alf21AlfAttributeContainer14attributeCountEv @ 544 NONAME
-	_ZNK3Alf21AlfAttributeContainer18getAttributeByNameEPKc @ 545 NONAME
-	_ZNK3Alf21AlfAttributeContainer4typeEv @ 546 NONAME
-	_ZNK3Alf21AlfAttributeContainer7getTimeEv @ 547 NONAME
-	_ZNK3Alf21AlfAttributeValueType11stringValueEv @ 548 NONAME
-	_ZNK3Alf21AlfAttributeValueType4typeEv @ 549 NONAME
-	_ZNK3Alf21AlfAttributeValueType4unitEv @ 550 NONAME
-	_ZNK3Alf21AlfAttributeValueType8intValueEv @ 551 NONAME
-	_ZNK3Alf21AlfAttributeValueType8rgbValueEv @ 552 NONAME
-	_ZNK3Alf21AlfAttributeValueType9enumValueEv @ 553 NONAME
-	_ZNK3Alf21AlfAttributeValueType9realValueEv @ 554 NONAME
-	_ZNK3Alf23AlfRecyclingGridElement6acceptERNS_17CAlfWidgetControlERK9TAlfEvent @ 555 NONAME
-	_ZNK3Alf6AlfMap4nameEj @ 556 NONAME
-	_ZNK3Alf6AlfMap4realEv @ 557 NONAME
-	_ZNK3Alf6AlfMap4typeEv @ 558 NONAME
-	_ZNK3Alf6AlfMap5countEv @ 559 NONAME
-	_ZNK3Alf6AlfMap6stringEv @ 560 NONAME
-	_ZNK3Alf6AlfMap7booleanEv @ 561 NONAME
-	_ZNK3Alf6AlfMap7integerEv @ 562 NONAME
-	_ZNK3Alf6AlfMap8uintegerEv @ 563 NONAME
-	_ZNK3Alf8AlfModel4dataEv @ 564 NONAME
-	_ZNK3Alf9AlfBranch4realEv @ 565 NONAME
-	_ZNK3Alf9AlfBranch4typeEv @ 566 NONAME
-	_ZNK3Alf9AlfBranch6stringEv @ 567 NONAME
-	_ZNK3Alf9AlfBranch7booleanEv @ 568 NONAME
-	_ZNK3Alf9AlfBranch7integerEv @ 569 NONAME
-	_ZNK3Alf9AlfBranch8uintegerEv @ 570 NONAME
-	_ZNK3Alf9AlfBrancheqERKNS_15IAlfVariantTypeE @ 571 NONAME
-	_ZNK3Alf9AlfWidget10widgetNameEv @ 572 NONAME
-	_ZNK3Alf9AlfWidget11widgetCountEv @ 573 NONAME
-	_ZNK3Alf9AlfWidget14getWidgetIndexERNS_10IAlfWidgetE @ 574 NONAME
-	_ZNK3Alf9AlfWidget6parentEv @ 575 NONAME
-	_ZNK3Alf9AlfWidget7controlEv @ 576 NONAME
-	_ZNK3Alf9AlfWidget9getWidgetEi @ 577 NONAME
-	_ZTIN3Alf10AlfElementE @ 578 NONAME ; #<TI>#
-	_ZTIN3Alf12AlfAttributeE @ 579 NONAME ; #<TI>#
-	_ZTIN3Alf12AlfContainerE @ 580 NONAME ; #<TI>#
-	_ZTIN3Alf12AlfEnumValueE @ 581 NONAME ; #<TI>#
-	_ZTIN3Alf12AlfRealValueE @ 582 NONAME ; #<TI>#
-	_ZTIN3Alf14AlfHostAPIImplE @ 583 NONAME ; #<TI>#
-	_ZTIN3Alf14AlfStringValueE @ 584 NONAME ; #<TI>#
-	_ZTIN3Alf14AlfVariantTypeE @ 585 NONAME ; #<TI>#
-	_ZTIN3Alf16AlfLayoutManagerE @ 586 NONAME ; #<TI>#
-	_ZTIN3Alf17AlfVisualTemplateE @ 587 NONAME ; #<TI>#
-	_ZTIN3Alf17CAlfWidgetControlE @ 588 NONAME ; #<TI>#
-	_ZTIN3Alf20AlfFlowLayoutManagerE @ 589 NONAME ; #<TI>#
-	_ZTIN3Alf20AlfGridLayoutManagerE @ 590 NONAME ; #<TI>#
-	_ZTIN3Alf20AlfLayoutManagerImplE @ 591 NONAME ; #<TI>#
-	_ZTIN3Alf21AlfAttributeValueTypeE @ 592 NONAME ; #<TI>#
-	_ZTIN3Alf22AlfAnchorLayoutManagerE @ 593 NONAME ; #<TI>#
-	_ZTIN3Alf23AlfFlowLayoutPolicyImplE @ 594 NONAME ; #<TI>#
-	_ZTIN3Alf23AlfGridLayoutPolicyImplE @ 595 NONAME ; #<TI>#
-	_ZTIN3Alf23AlfRecyclingGridElementE @ 596 NONAME ; #<TI>#
-	_ZTIN3Alf24AlfCommonAttributeSetterE @ 597 NONAME ; #<TI>#
-	_ZTIN3Alf24AlfGridLayoutManagerImplE @ 598 NONAME ; #<TI>#
-	_ZTIN3Alf26AlfAnchorLayoutManagerImplE @ 599 NONAME ; #<TI>#
-	_ZTIN3Alf26TAlfWidgetAttributeCommandE @ 600 NONAME ; #<TI>#
-	_ZTIN3Alf27AlfWidgetAttributeOwnerImplE @ 601 NONAME ; #<TI>#
-	_ZTIN3Alf27AlfWidgetControlEventFilterE @ 602 NONAME ; #<TI>#
-	_ZTIN3Alf28AlfDeckLayoutAttributeSetterE @ 603 NONAME ; #<TI>#
-	_ZTIN3Alf28AlfElementAttributeOwnerImplE @ 604 NONAME ; #<TI>#
-	_ZTIN3Alf28AlfFlowLayoutAttributeSetterE @ 605 NONAME ; #<TI>#
-	_ZTIN3Alf28AlfFlowLayoutPreferencesImplE @ 606 NONAME ; #<TI>#
-	_ZTIN3Alf28AlfGridLayoutAttributeSetterE @ 607 NONAME ; #<TI>#
-	_ZTIN3Alf28AlfLineVisualAttributeSetterE @ 608 NONAME ; #<TI>#
-	_ZTIN3Alf28AlfMeshVisualAttributeSetterE @ 609 NONAME ; #<TI>#
-	_ZTIN3Alf28AlfTextVisualAttributeSetterE @ 610 NONAME ; #<TI>#
-	_ZTIN3Alf29AlfImageVisualAttributeSetterE @ 611 NONAME ; #<TI>#
-	_ZTIN3Alf30AlfAnchorLayoutAttributeSetterE @ 612 NONAME ; #<TI>#
-	_ZTIN3Alf30AlfCommonLayoutAttributeSetterE @ 613 NONAME ; #<TI>#
-	_ZTIN3Alf30AlfCommonVisualAttributeSetterE @ 614 NONAME ; #<TI>#
-	_ZTIN3Alf32AlfViewportLayoutAttributeSetterE @ 615 NONAME ; #<TI>#
-	_ZTIN3Alf33AlfCurvePathLayoutAttributeSetterE @ 616 NONAME ; #<TI>#
-	_ZTIN3Alf6AlfMapE @ 617 NONAME ; #<TI>#
-	_ZTIN3Alf8AlfModelE @ 618 NONAME ; #<TI>#
-	_ZTIN3Alf9AlfBranchE @ 619 NONAME ; #<TI>#
-	_ZTIN3Alf9AlfWidgetE @ 620 NONAME ; #<TI>#
-	_ZTVN3Alf10AlfElementE @ 621 NONAME ; #<VT>#
-	_ZTVN3Alf12AlfAttributeE @ 622 NONAME ; #<VT>#
-	_ZTVN3Alf12AlfContainerE @ 623 NONAME ; #<VT>#
-	_ZTVN3Alf12AlfEnumValueE @ 624 NONAME ; #<VT>#
-	_ZTVN3Alf12AlfRealValueE @ 625 NONAME ; #<VT>#
-	_ZTVN3Alf14AlfHostAPIImplE @ 626 NONAME ; #<VT>#
-	_ZTVN3Alf14AlfStringValueE @ 627 NONAME ; #<VT>#
-	_ZTVN3Alf14AlfVariantTypeE @ 628 NONAME ; #<VT>#
-	_ZTVN3Alf16AlfLayoutManagerE @ 629 NONAME ; #<VT>#
-	_ZTVN3Alf17AlfVisualTemplateE @ 630 NONAME ; #<VT>#
-	_ZTVN3Alf17CAlfWidgetControlE @ 631 NONAME ; #<VT>#
-	_ZTVN3Alf20AlfFlowLayoutManagerE @ 632 NONAME ; #<VT>#
-	_ZTVN3Alf20AlfGridLayoutManagerE @ 633 NONAME ; #<VT>#
-	_ZTVN3Alf20AlfLayoutManagerImplE @ 634 NONAME ; #<VT>#
-	_ZTVN3Alf21AlfAttributeValueTypeE @ 635 NONAME ; #<VT>#
-	_ZTVN3Alf22AlfAnchorLayoutManagerE @ 636 NONAME ; #<VT>#
-	_ZTVN3Alf23AlfFlowLayoutPolicyImplE @ 637 NONAME ; #<VT>#
-	_ZTVN3Alf23AlfGridLayoutPolicyImplE @ 638 NONAME ; #<VT>#
-	_ZTVN3Alf23AlfRecyclingGridElementE @ 639 NONAME ; #<VT>#
-	_ZTVN3Alf24AlfCommonAttributeSetterE @ 640 NONAME ; #<VT>#
-	_ZTVN3Alf24AlfGridLayoutManagerImplE @ 641 NONAME ; #<VT>#
-	_ZTVN3Alf26AlfAnchorLayoutManagerImplE @ 642 NONAME ; #<VT>#
-	_ZTVN3Alf26TAlfWidgetAttributeCommandE @ 643 NONAME ; #<VT>#
-	_ZTVN3Alf27AlfWidgetAttributeOwnerImplE @ 644 NONAME ; #<VT>#
-	_ZTVN3Alf27AlfWidgetControlEventFilterE @ 645 NONAME ; #<VT>#
-	_ZTVN3Alf28AlfDeckLayoutAttributeSetterE @ 646 NONAME ; #<VT>#
-	_ZTVN3Alf28AlfElementAttributeOwnerImplE @ 647 NONAME ; #<VT>#
-	_ZTVN3Alf28AlfFlowLayoutAttributeSetterE @ 648 NONAME ; #<VT>#
-	_ZTVN3Alf28AlfFlowLayoutPreferencesImplE @ 649 NONAME ; #<VT>#
-	_ZTVN3Alf28AlfGridLayoutAttributeSetterE @ 650 NONAME ; #<VT>#
-	_ZTVN3Alf28AlfLineVisualAttributeSetterE @ 651 NONAME ; #<VT>#
-	_ZTVN3Alf28AlfMeshVisualAttributeSetterE @ 652 NONAME ; #<VT>#
-	_ZTVN3Alf28AlfTextVisualAttributeSetterE @ 653 NONAME ; #<VT>#
-	_ZTVN3Alf29AlfImageVisualAttributeSetterE @ 654 NONAME ; #<VT>#
-	_ZTVN3Alf30AlfAnchorLayoutAttributeSetterE @ 655 NONAME ; #<VT>#
-	_ZTVN3Alf30AlfCommonLayoutAttributeSetterE @ 656 NONAME ; #<VT>#
-	_ZTVN3Alf30AlfCommonVisualAttributeSetterE @ 657 NONAME ; #<VT>#
-	_ZTVN3Alf32AlfViewportLayoutAttributeSetterE @ 658 NONAME ; #<VT>#
-	_ZTVN3Alf33AlfCurvePathLayoutAttributeSetterE @ 659 NONAME ; #<VT>#
-	_ZTVN3Alf6AlfMapE @ 660 NONAME ; #<VT>#
-	_ZTVN3Alf8AlfModelE @ 661 NONAME ; #<VT>#
-	_ZTVN3Alf9AlfBranchE @ 662 NONAME ; #<VT>#
-	_ZTVN3Alf9AlfWidgetE @ 663 NONAME ; #<VT>#
-	_ZThn32_N3Alf17CAlfWidgetControl11OfferEventLERK9TAlfEvent @ 664 NONAME ; #<thunk>#
-	_ZThn40_N3Alf17CAlfWidgetControl11dataChangedEv @ 665 NONAME ; #<thunk>#
-	_ZThn40_N3Alf17CAlfWidgetControl12dataChangingERKN7osncore12AlfPtrVectorINS_17AlfModelOperationEEE @ 666 NONAME ; #<thunk>#
-	_ZThn40_N3Alf17CAlfWidgetControl12dataChangingERKNS_17AlfModelOperationE @ 667 NONAME ; #<thunk>#
-	_ZThn40_N3Alf17CAlfWidgetControl12modelChangedERNS_9IAlfModelE @ 668 NONAME ; #<thunk>#
-	_ZThn40_N3Alf17CAlfWidgetControlD0Ev @ 669 NONAME ; #<thunk>#
-	_ZThn40_N3Alf17CAlfWidgetControlD1Ev @ 670 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl10addElementEPNS_11IAlfElementE @ 671 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl11dataIdRangeERKNS_11IAlfElementE @ 672 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl11elementDataERKNS_11IAlfElementEj @ 673 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl11enableStateEj @ 674 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl11findElementEPKc @ 675 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl11handleEventERK9TAlfEvent @ 676 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl12disableStateEj @ 677 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl12eventHandlerEi @ 678 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl13dataIdToIndexERKNS_11IAlfElementEj @ 679 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl13elementDataIdERKNS_11IAlfElementEjj @ 680 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl13makeInterfaceERKNS_4IfIdE @ 681 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl13removeElementERKNS_11IAlfElementE @ 682 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl14setDataIdRangeERKNS_11IAlfElementEj @ 683 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl15addEventHandlerEPNS_22IAlfWidgetEventHandlerEi @ 684 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl16findEventHandlerERK9TAlfEvent @ 685 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl18removeEventHandlerERNS_22IAlfWidgetEventHandlerE @ 686 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl18updatePresentationEv @ 687 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl19destroyPresentationEi @ 688 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl19parentElementDataIdERKNS_11IAlfElementEj @ 689 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl23removeAndDestroyElementERKNS_11IAlfElementE @ 690 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl25destroyVisualsAndElementsEi @ 691 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl28removeAndDestroyEventHandlerERKN7osncore7UStringE @ 692 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl28removeAndDestroyEventHandlerERNS_22IAlfWidgetEventHandlerE @ 693 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl31removePresentationEventHandlersEv @ 694 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl41removeAndDestroyPresentationEventHandlersEv @ 695 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl6widgetEv @ 696 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl7elementEi @ 697 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControl8setStateEj @ 698 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControlD0Ev @ 699 NONAME ; #<thunk>#
-	_ZThn44_N3Alf17CAlfWidgetControlD1Ev @ 700 NONAME ; #<thunk>#
-	_ZThn44_NK3Alf17CAlfWidgetControl10checkStateEj @ 701 NONAME ; #<thunk>#
-	_ZThn44_NK3Alf17CAlfWidgetControl11numElementsEv @ 702 NONAME ; #<thunk>#
-	_ZThn44_NK3Alf17CAlfWidgetControl16numEventHandlersEv @ 703 NONAME ; #<thunk>#
-	_ZThn44_NK3Alf17CAlfWidgetControl17eventHandlerIndexERNS_22IAlfWidgetEventHandlerE @ 704 NONAME ; #<thunk>#
-	_ZThn44_NK3Alf17CAlfWidgetControl5stateEv @ 705 NONAME ; #<thunk>#
-	_ZThn8_N3Alf23AlfRecyclingGridElement10offerEventERNS_17CAlfWidgetControlERK9TAlfEvent @ 706 NONAME ; #<thunk>#
-	_ZThn8_N3Alf23AlfRecyclingGridElement13makeInterfaceERKNS_4IfIdE @ 707 NONAME ; #<thunk>#
-	_ZThn8_N3Alf23AlfRecyclingGridElement15setActiveStatesEj @ 708 NONAME ; #<thunk>#
-	_ZThn8_N3Alf23AlfRecyclingGridElement16eventHandlerDataEv @ 709 NONAME ; #<thunk>#
-	_ZThn8_N3Alf23AlfRecyclingGridElement19setEventHandlerDataERKNS_29AlfWidgetEventHandlerInitDataE @ 710 NONAME ; #<thunk>#
-	_ZThn8_N3Alf23AlfRecyclingGridElementD0Ev @ 711 NONAME ; #<thunk>#
-	_ZThn8_N3Alf23AlfRecyclingGridElementD1Ev @ 712 NONAME ; #<thunk>#
-	_ZThn8_NK3Alf23AlfRecyclingGridElement6acceptERNS_17CAlfWidgetControlERK9TAlfEvent @ 713 NONAME ; #<thunk>#
-
--- a/widgetmodel/alfwidgetmodel/group/alfwidgetmodel.mmp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2002 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: 
-*    Project definition file
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET          alfwidgetmodel.dll
-TARGETTYPE      DLL
-
-
-
-CAPABILITY      CAP_GENERAL_DLL
-VENDORID        VID_DEFAULT
-
-#ifndef __WINSCW__
-EPOCALLOWDLLDATA
-#endif
-
-USERINCLUDE     ../inc 
-USERINCLUDE     ../../../inc
-
-// This is a SYSTEMINCLUDE macro containing the middleware
-// layer specific include directories
-
-MW_LAYER_SYSTEMINCLUDE
-
-
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-OS_LAYER_BOOST_SYSTEMINCLUDE
-
-
-
-SOURCEPATH      ../src
-SOURCE          alfwidgeteventhandler.cpp
-SOURCE          alfwidgeteventhandlerimpl.cpp
-SOURCE          alfwidget.cpp
-SOURCE          alfwidgetimpl.cpp
-SOURCE          alfwidgetcontrol.cpp
-SOURCE          alfelement.cpp
-SOURCE          alfvisualtemplate.cpp
-SOURCE          alfreferencetovisual.cpp
-SOURCE          alfanimationoutput.cpp
-
-SOURCE          alfvarianttype.cpp
-SOURCE          alfmodel.cpp
-SOURCE          alfeventinput.cpp
-SOURCE          alfeventoutput.cpp
-SOURCE          alfrecyclinggridelement.cpp
-SOURCE          alfrecyclinggridelementimpl.cpp
-SOURCE          alfmodeloperation.cpp
-SOURCE          alfsort.cpp
-SOURCE          alfattribute.cpp
-SOURCE          alfattributevaluetype.cpp 
-SOURCE          alfenumvalue.cpp
-SOURCE          alfrealvalue.cpp
-SOURCE          alfstringvalue.cpp
-SOURCE          alfattributecontainer.cpp
-SOURCE          alfhostapiimpl.cpp
-SOURCE          alflayoutmanager.cpp
-SOURCE          alflayoutmanagerimpl.cpp
-SOURCE          alfgridlayoutmanager.cpp
-SOURCE          alfgridlayoutmanagerimpl.cpp
-SOURCE          alfanchorlayoutmanager.cpp
-SOURCE          alfanchorlayoutmanagerimpl.cpp
-SOURCE          alfcommonattributesetter.cpp
-SOURCE          alfcommonvisualattributesetter.cpp
-SOURCE          alfimagevisualattributesetter.cpp
-SOURCE          alftextvisualattributesetter.cpp
-SOURCE          alfgridlayoutattributesetter.cpp
-SOURCE          alfflowlayoutattributesetter.cpp
-SOURCE          alfcommonlayoutattributesetter.cpp
-
-SOURCE          alfanchorlayoutattributesetter.cpp
-
-SOURCE          alflinevisualattributesetter.cpp
-SOURCE          alfcurvepathlayoutattributesetter.cpp
-SOURCE          alfmeshvisualattributesetter.cpp
-SOURCE          alfviewportlayoutattributesetter.cpp
-SOURCE          alfdecklayoutattributesetter.cpp
-
-SOURCE          alfelementattributeownerimpl.cpp
-SOURCE          alfwidgetattributeownerimpl.cpp
-SOURCE          alfwidgetenvextension.cpp
-SOURCE          alfwidgetcommand.cpp
-SOURCE		      alfflowlayoutmanager.cpp
-SOURCE		      alfflowlayoutpolicyimpl.cpp
-SOURCE		      alfflowlayoutpreferencesimpl.cpp
-SOURCE		      alfgridlayoutpolicyimpl.cpp
-SOURCE          alfwidgetcontroleventfilter.cpp
-
-LANG            SC
-
-LIBRARY    euser.lib
-LIBRARY    efsrv.lib
-LIBRARY    flogger.lib
-LIBRARY    charconv.lib 
-
-LIBRARY    libc.lib
-
-LIBRARY    alfclient.lib 
-
-LIBRARY    osncore.lib 
-
-LIBRARY    alfwidgetutils.lib
-
-LIBRARY alfresourcepool.lib
-    LIBRARY libstdcpp.lib 
-
-#define ALF_LINK_STDCPP_DLL
-// following include must be after definition
-
-LIBRARY     libpthread.lib
-#ifdef RD_TACTILE_FEEDBACK
-LIBRARY     touchfeedback.lib
-#endif // RD_TACTILE_FEEDBACK
-
-#ifdef RD_ALF_IN_PLATFORM
-
-#endif
-// End of file.
--- a/widgetmodel/alfwidgetmodel/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2002 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: 
-*   Build file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS 
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-Alfwidgetmodel.mmp
-
-PRJ_TESTMMPFILES
--- a/widgetmodel/alfwidgetmodel/inc/alfanchorlayoutmanagerimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* 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:  anchor layoutmanager private implementation header.
-*
-*/
-
-
-#ifndef ALFANCHORLAYOUTMANAGERIMPL_H
-#define ALFANCHORLAYOUTMANAGERIMPL_H
-
-#include <osn/osndefines.h>
-#include <alf/alfanchorlayoutmanager.h>
-#include <alf/ialflayoutpreferences.h>
-
-using std::auto_ptr;
-using Alf::AlfAnchorLayoutManager;
-
-class CAlfControl;
-class CAlfAnchorLayout;
-
-namespace Alf
-    {
-    
-class CAlfWidgetControl;
-class AlfWidget;
-class IAlfLayoutPreferences;
-    
-/**
- * layoutmanager implementation class
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-class AlfAnchorLayoutManagerImpl : public IAlfLayoutPreferences
-    {
-public:
-    /**
-     * layout manager constructor
-     *
-     * @param aLayoutType type of layout used by the manager.
-     */
-    AlfAnchorLayoutManagerImpl(AlfAnchorLayoutManager& aAnchorLayoutManager);
-    
-    /**
-     * destructor
-     */
-    ~AlfAnchorLayoutManagerImpl();
-    
-public:
-// from base class IAlfLayoutPreferences
-
-	/**
-	 * Returns the minimum size of the layout by combining the minimum sizes of the
-	 * layed out visuals.
-	 * 
-	 * @param aMinSize The minimum size that the object would like to be laid out to
-	 * @return false iff none of the layed out UI elements do not care about minimum size
-	 */
-	virtual bool getMinimumSize( TAlfXYMetric& aMinSize ) const;
-	
-	/**
-	 * Returns the maximum size of the layout by combining the maximum sizes of the
-	 * layed out visuals.
-	 *  
-	 * @param aMaxSize The maximum size that the object would like to be laid out to
-	 * @return false iff none of the layed out UI elements do not care about maximum size
-	 */
-	virtual bool getMaximumSize( TAlfXYMetric& aMaxSize ) const;
-	
-    /**
-     * Returns the size combined by all preferred sizes of child UI elements in this layout 
-     * when they are being layed out according to the layout manager rules.
-     * 
-     * @param aPreferredSize Filled with the referred area occupied by child elements when
-     * 						 layed out by layouting rules in this layout manager.
-     * @return False if none of the child components report their preferred size. True
-     * 		   otherwise.
-     */
-    virtual bool getPreferredSize(TAlfXYMetric& aPreferredSize) const;
-	 
-	/**
-	 * Set the preferred size into a presentation object.
-	 * 
-	 * This is not supported on the layout manager. Users should set preferred sizes of the
-	 * contained UI elements.
-	 */
-	virtual void setPreferredSize( const TAlfXYMetric& aPreferredSize );    
-
-public:
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType );	
-	
-private:
-    /**
-     * returns the anchorlayout used by the layoutmanager.
-     */    
-    CAlfAnchorLayout& layout() const;
-private:
-
-    AlfAnchorLayoutManager & mAnchorLayoutManager;
-
-    };
-
-    } // namespace Alf
-
-#endif // ALFANCHORLAYOUTMANAGERIMPL_H
--- a/widgetmodel/alfwidgetmodel/inc/alfanimationoutput.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* 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:  Animation class for alfred widget model.
-      This class creates the animation and commands.
-*
-*
-*/
-
-
-
-
-#ifndef ALF_ANIMATIONOUTPUT_H
-#define ALF_ANIMATIONOUTPUT_H
-
-#include <osn/osndefines.h>
-// FORWARD DECLARATIONS
-class CAlfControl;
-class CAlfVisual;
-namespace Alf
-    {
-// FORWARD DECLARATIONS
-class IAlfAttributeSetter;
-class AlfReferenceToVisual;
-class AlfAttributeContainer;
-
-/**
- *  @class AlfAnimationOutput alfanimationoutput.h "alfanimationoutput.h"
- *  Class for creating a command for setting or animating
- *  visual attribute values. Animation sequences can be created
- *  by specifying delay parameters. The target attribute value
- *  can be specified relatively to a reference visual.
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfAnimationOutput
-    {
-public:
-    /**
-     * Constructor.
-     *
-     * @since S60 ?S60_version
-     *
-     * @param aTargetVisual  Reference to the animated visual.
-     * @param aReferenceVisual Reference to the visual with the reference value,
-     *       or NULL if no reference value is used.
-     * @param aAttributeSetter The attribute setter for animating the attribute
-     *       using Hitchcock commands. Ownership is transferred.
-     *
-     * @param aAttributeContainer The attribute container holding the attribute
-     * value(s) used by the attribute setter. Ownership is transferred, if the method does not
-     * throw an exception. The container can hold new values for multiple different
-     * attributes, in which case all of them are applied when the animation output
-     * is triggered.
-     *
-     * @param aAnimationTime The duration of the animation. Note that this parameter
-     * is used only if the transition time parameter is not defined in the
-     * corresponding attribute in the attribute container.
-     *
-     * @param aDelay The delay in microseconds before starting the animation.
-     * Note that this parameter is used only if the delay parameter is not defined in the
-     * corresponding attribute in the attribute container.
-     */
-    OSN_IMPORT AlfAnimationOutput(AlfReferenceToVisual* aTargetVisual,
-                                  AlfReferenceToVisual* aReferenceVisual,
-                                  IAlfAttributeSetter* aAttributeSetter,
-                                  AlfAttributeContainer* aAttributeContainer,
-                                  unsigned int aAnimationTime, unsigned int aDelay);
-
-    /** Destructor. No derived classes, therefore not virtual. */
-    OSN_IMPORT ~AlfAnimationOutput();
-
-
-    /**
-     * Create and send the animation command.
-     * @exception osncore::AlfVisualException Thrown with EInvalidVisual if reference visual or \n
-     *                                        target visual is invalid .
-     * 
-     * @since S60 ?S60_version
-     * @param aControl  The control to find the animated visual and
-     *      the reference visual.
-     * @param aDataID  The data ID used to create the animated visual
-     *      and the reference visual. The caller
-     *      is responsible for determining what data ID
-     *      is related to the visuals. The visual references
-     *      may or may not use the given data ID.
-     * @return The visual, or NULL if the visual was not found.
-     */
-    OSN_IMPORT void sendCommand(CAlfWidgetControl& aControl, unsigned int aDataID);
-
-private:
-    // Reference to the animated visual. Owned.
-    AlfReferenceToVisual* mTargetVisual;
-    // Reference to the visual with the reference value. Owned.
-    AlfReferenceToVisual* mReferenceVisual;
-    // The attribute setter. Owned.
-    IAlfAttributeSetter* mAttributeSetter;
-    // The attribute value container. Owned.
-    AlfAttributeContainer* mAttributeContainer;
-    // The duration of the animation.
-    unsigned int mAnimationTime;
-    // The delay before sending the animation command.
-    unsigned int mDelay;
-    };
-
-    } // namespace Alf
-
-#endif //ALF_ANIMATIONOUTPUT_H
--- a/widgetmodel/alfwidgetmodel/inc/alfelementattributeownerimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +0,0 @@
-/*
-* 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:  Implementation of the IAlfAttributeOwner interface 
-*                for AlfElement.
-*
-*/
-
-
-#ifndef __ALFELEMENTATTRIBUTEOWNERIMPL_H__
-#define __ALFELEMENTATTRIBUTEOWNERIMPL_H__
-
-#include "alf/ialfattributeowner.h"
-#include <osn/alfptrvector.h>
-
-namespace Alf
-    {
-    
-class AlfElement;   
-
-/**
- * Implementation of the IAlfAttributeOwner interface for AlfElement.
- */    
-class AlfElementAttributeOwnerImpl : public IAlfAttributeOwner
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @param aElement Reference to owner element.
-     * @param aControl Reference to control
-     */
-    AlfElementAttributeOwnerImpl(AlfElement& aElement,
-        CAlfWidgetControl& aControl);
-
-    /**
-     * Destructor.
-     */
-    virtual ~AlfElementAttributeOwnerImpl();
-    
-// from base class IAlfInterfaceBase
-
-    /**
-     * Getter for interfaces provided by the element classes.
-     * Derived classes should always call the base class method
-     * from the overridden MakeInterface.
-     *
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    virtual IAlfInterfaceBase* makeInterface(const IfId& aType);       
-            
-// from base class IAlfAttributeOwner
-
-	/**
-     * Get the number of available attributes.
-     *
-     * @return The number of attributes.
-     */
-    virtual int attributeCount() const;
-
-    /**
-     * Gets the attribute with the given name.
-     * The returned attribute instance is owned by the widget and
-     * should not be deleted.
-     * Also the returned attribute instance should not be modified.
-     * Use SetAttribute for that.
-     *
-     * @param aAttribName The name of the attribute.
-     * @return The attribute, or 0 if the attribute was not found.
-     */
-    virtual const AlfAttribute* getAttribute(const UString& aAttribName) const;
-
-    /**
-     * Gets the attribute with the given name from specific target.
-     * The returned attribute instance is owned by the widget and
-     * should not be deleted.
-     * Also the returned attribute instance should not be modified.
-     * Use SetAttribute for that.
-     *
-     * @param aTargetId   The name of the target widget part, e.g. element class
-     * @param aAttribName The name of the attribute.
-     * @return A pointer to the attribute, or 0 if the attribute was not found.
-     */
-    virtual const AlfAttribute* getAttribute( const UString& aTargetId ,
-                                              const UString& aAttribName ) const; 
-    /**
-     * Set a value of an attribute.
-     *
-     * @param aAttribute Reference attribute, the data is copied from it.
-     * The ownership is not transferred.
-     * @return True if the attribute was supported, false if not.
-     */
-    virtual bool setAttribute(const AlfAttribute& aAttribute); 
-
-    /**
-     * Sets a value of an attribute to a specific target. 
-     * The target is identified by using aTargetId parameter.
-     *
-     * @param aTargetId  Name of the target widget part, e.g element class tag.
-     * @param aAttribute Reference attribute, the data is copied from it.
-     *                   The ownership is not transferred.
-     * @return True if the attribute was supported, false if not.
-     */    
-    virtual bool setAttribute( const UString& aTargetId , 
-                               AlfAttribute& aAttribute ); 
-    /**
-     * Set a value of an attribute.
-     * This SetAttribute variant is for simple non animated attributes 
-     * that only have name and value.
-     *
-     * @param aAttribName Name of the attribute.
-     * @param aValue Value of the attribute. Ownership is transferred
-     * @return True if the attribute was supported, false if not.
-     */    
-    virtual bool setAttribute(const UString& aAttribName, 
-        AlfAttributeValueType* aValue);         
-        
-    /**
-     * Sets a value of an static attribute.
-     * This SetAttribute variant is for simple non animated attributes 
-     * that only have name and value.
-     *
-     * @param aTargetId   The name of the target widget part, e.g. element class
-     * @param aAttribName Name of the attribute.
-     * @param aValue      Value of the attribute. Ownership is transferred
-     * @return True if the attribute was supported, false if not.
-     */
-    virtual bool setAttribute( const UString& aTargetId, 
-                               const UString& aAttribName, 
-                               AlfAttributeValueType* aValue );
-    
-    /**
-     * Sets values of each attribute in given container to a specific target. 
-     * The target is identified by using aTargetId parameter.
-     * 
-     * When the target attributeowner instance cannot handle an attribute in the container,
-     * an AlfAttributeException-exception is thrown with EInvalidAttribute parameter.
-     *
-     * @param aTargetId  Name of the target widget part, e.g element class tag.
-     * @param aAttributeContainer Reference attributeContainer, All attributes
-     *        in the container are handled. The ownership is not transferred.
-     * @return True if all attributes were supported, false if not.
-     */    
-    virtual bool setAttributeContainer( const UString& aTargetId , 
-                               AlfAttributeContainer& aAttributeContainer ); 
-
-    /**
-     * Sets values of each attribute in given container
-     *
-     * When an attributeowner-instance (which can handle some of the attributes in the container) 
-     * cannot handle an attribute in the container,
-     * an AlfAttributeException-exception is thrown with EInvalidAttribute parameter.
-     *
-     * @param aAttributeContainer Reference attributeContainer, All attributes
-     *        in the container are handled. The ownership is not transferred.
-     *                            
-     * @return True if all attributes were supported, false if not.
-     */    
-    virtual bool setAttributeContainer( AlfAttributeContainer& aAttributeContainer );
-    
-     
-private:
-
-    /**
-     * Handles the attribute, sets proper values.
-     *
-     * @param aAttribute Reference attribute, the data is copied from it.
-     * The ownership is not transferred.
-     */
-    void handleAttribute(AlfAttribute& aAttribute);      
-    
-    /**
-     * Can attribute be handled with this widget.
-     *
-     * @param aAttributeName Name of the attribute.
-     * @return True if attribute is supported, false elsewhere.
-     */
-    bool canHandleAttribute(const char* aAttributeName);    
-    
-    /**
-     * Handles the Opacity Attribute.
-     *
-     * @param aAttribute the attribute to be handled.
-     */
-    void handleOpacityAttribute(AlfAttribute& aAttribute);
-    
-    /**
-     * Handles the Position Attribute.
-     *
-     * @param aAttribute the attribute to be handled.
-     */
-    void handlePositionAttribute(AlfAttribute& aAttribute);
-
-    /**
-     * Handles the Tactile Attribute.
-     *
-     * @param aAttribute the attribute to be handled.
-     */
-	void handleTactileAttribute(AlfAttribute& aAttributeEvent,AlfAttribute& aAttributeFeedback);
-
-    /**
-     * Handles the Size Attribute.
-     *
-     * @param aAttribute the attribute to be handled.
-     */
-    void handleSizeAttribute(AlfAttribute& aAttribute);
-    
-    /**
-     * Handles the Max Size Attribute.
-     *
-     * @param aAttribute the attribute to be handled.
-     */
-    void handleMaxSizeAttribute(AlfAttribute& aAttribute);
-    
-    /**
-     * Handles the Min Size Attribute.
-     *
-     * @param aAttribute the attribute to be handled.
-     */
-    void handleMinSizeAttribute(AlfAttribute& aAttribute);
-    
-    /**
-     * Handles setting of paired attributes: width & height, xpos & ypos etc.
-     *
-     * @param aAttribute the attribute to be handled.
-     * @param aAttributeNamePair name for the pair attribute of aAttribute.
-     */
-    bool handleAttributePairs(AlfAttribute& aAttribute, 
-        const char* aAttributeNamePair);
-
-private:
-
-    /*
-     * Reference to owner element. Not own.
-     */
-    AlfElement& mElement;
-    
-    /*
-     * Reference to control.
-     */
-    CAlfWidgetControl& mControl;
-
-    /*
-     * Array of attributes set through IAlfAttributeOwner interface. Own.
-     */
-    AlfPtrVector<AlfAttribute> mAttributeList;        
-    };
-    
-    }   // namespace Alf
-    
-#endif // __ALFELEMENTATTRIBUTEOWNERIMPL_H__
--- a/widgetmodel/alfwidgetmodel/inc/alfenumvalue.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* 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:   Class for enumValue for attributes..
-*
-*/
-
-
-#ifndef ALFENUMVALUE_H
-#define ALFENUMVALUE_H
-
-//INCLUDES
-#include <osn/osndefines.h>
-#include <memory>
-#include "alf/alfattributevaluetype.h"
-
-// FORWARD DECLARATIONS
-
-using std::auto_ptr;
-
-namespace Alf
-    {
-
-/**
- * A class for enum value type.
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-class AlfEnumValue : public AlfAttributeValueType
-    {
-
-public:
-
-    /**
-     * Constructor.
-     *
-     * @since S60 ?S60_version
-     * @return New object.
-     */
-    AlfEnumValue(int aValue, TAlfUnit aUnit = EAlfUnitPixel);
-
-    /**
-     * Destructor.
-     */
-    virtual ~AlfEnumValue();
-
-    /**
-        * Gets the enum value.
-        *
-        * @since S60 ?S60_version
-        * @return The enum value.
-        */
-    int virtual enumValue() const;
-
-    /**
-     * Gets the type of the atrribute value.
-     *
-     * @since S60 ?S60_version
-     * @return The type of the value.
-     */
-    virtual Type type() const;
-
-    /**
-     * Gets the unit.
-     *
-     * @since S60 ?S60_version
-     * @return The unit.
-     */
-    virtual TAlfUnit unit() const;
-
-private:    // data
-
-    int mEnum;
-    TAlfUnit mUnit;
-
-    };
-
-    } // namespace Alf
-
-#endif // ALFENUMVALUE_H
--- a/widgetmodel/alfwidgetmodel/inc/alfeventinput.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
-* 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:  Class for various input events, including custom events.
-*
-*/
-
-
-#ifndef ALFEVENTINPUT_H
-#define ALFEVENTINPUT_H
-
-#include <alf/alfwidgetevents.h>
-#include <osn/osndefines.h>
-#include <memory>
-#include <osn/ustring.h>
-class TAlfEvent;
-
-using namespace std;
-using namespace osncore;
-
-namespace Alf
-    {
-
-class CAlfWidgetControl;
-class AlfReferenceToVisual;
-class AlfAttribute;
-
-// bit definitions in the received key events
-enum
-    {
-	eventBitLeftAlt     =0x00000004,
-	eventBitRightAlt    =0x00000008,
-	eventBitAlt         =0x00000010,
-	eventBitLeftCtrl    =0x00000020,
-	eventBitRightCtrl   =0x00000040,
-	eventBitCtrl        =0x00000080,
-	eventBitLeftShift   =0x00000100,
-	eventBitRightShift  =0x00000200,
-	eventBitShift       =0x00000400,
-	eventBitLeftFunc    =0x00000800,
-	eventBitRightFunc   =0x00001000,
-	eventBitFunc        =0x00002000,
-	eventBitCapsLock    =0x00004000,
-	eventBitNumLock     =0x00008000,
-	eventBitScrollLock  =0x00010000
-    };
-
-/**
- *  Event input, which may be either a custom event or a key event.
- *  Internal.
- */
-OSN_NONSHARABLE_CLASS( AlfEventInput )
-    {
-public:
-public:
-    /**
-         * accepts the event.
-        */
-    bool accept( const TAlfEvent& aEvent ) const;
-
-public: // data
-	AlfEventInput(int, int, int, int);
-    // Event type flags, combination of EventTypeFlags values
-    int mEventTypeFlags;
-    // Key or custom event id
-    int mEventID;
-    // Custom event data, if used
-    int mEventData;
-    // Key event modifiers
-    int mKeyEventModifiers;
-    };
-
-/**
- *  Pointer event input.
- *  Internal.
- */
-OSN_NONSHARABLE_CLASS( AlfPointerEventInput ) //: public CBase
-    {
-public:
-    /**
-     * constructor.
-     */
-    AlfPointerEventInput(const char* aElementName, const char* aVisualName,
-                         WidgetPointerEvent aEvent );
-
-    /**
-    * Destructor.
-    */
-    virtual ~AlfPointerEventInput();
-
-public:
-    /**
-       * accept the event.
-       */
-    bool accept( CAlfWidgetControl& aControl, const TAlfEvent& aEvent ) const;
-
-private:
-    AlfPointerEventInput();
-
-private: // data
-
-    auto_ptr<AlfReferenceToVisual> mVisualRef;
-    WidgetPointerEvent mEvent;
-    };
-OSN_NONSHARABLE_CLASS( AlfWidgetAttributeInput )
-    {
-public:
-    /**
-    * Constructor.
-    */
-    AlfWidgetAttributeInput( AlfAttribute& aAttribute, 
-        const char* aElementId );
-
-    ~AlfWidgetAttributeInput();
-
-public:
-    /**
-       * Executes the event output.
-       */
-    void execute( CAlfWidgetControl& aControl, const TAlfEvent& aEvent );
-    
-    bool accept(const TAlfEvent& aEvent) const;
-
-private:
-    /**
-       * constructor
-       */
-    AlfWidgetAttributeInput();
-
-private: // data
-    AlfAttribute* mAttr;
-    // Reference to element
-    UString mElementId;
-    };    
-OSN_NONSHARABLE_CLASS( AlfEventPasserInput )
-    {
-public:
-    /**
-    * Constructor.
-    */
-    AlfEventPasserInput( int aEventId, int aEventData );
-
-    ~AlfEventPasserInput();
-
-public:
-    
-    bool accept(const TAlfEvent& aEvent) const;
-
-private:
-    /**
-       * constructor
-       */
-    AlfEventPasserInput();
-
-private: // data
-    int mEventId;
-    int mEventData;
-    };      
-    } // namespace Alf
-
-#endif // ALFEVENTINPUT_H
--- a/widgetmodel/alfwidgetmodel/inc/alfeventoutput.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,344 +0,0 @@
-/*
-* 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:   Class for various output events, including custom events.
-*
-*/
-
-
-#ifndef ALFEVENTOUTPUT_H
-#define ALFEVENTOUTPUT_H
-
-
-#include <osn/osndefines.h>
-#include <alf/alfcommand.h>
-#include <alf/alftypes.h>
-
-#include <osn/osntypes.h>
-#include <osn/ustring.h>
-using namespace osncore;
-
-#include <memory>
-using namespace std;
-
-#ifdef RD_TACTILE_FEEDBACK
-#include <touchfeedback.h>
-#endif // RD_TACTILE_FEEDBACK
-
-namespace Alf
-    {
-
-class CAlfWidgetControl;
-class AlfReferenceToVisual;
-class IAlfVariantType;
-class AlfAttribute;
-class IAlfEventOutputSignalSubscriber;
-class IAlfAppEventListener;
-
-/**
- *  Event output. Internal.
- */
-OSN_NONSHARABLE_CLASS( AlfEventOutput )
-    {
-public:
-
-    /**
-     * If the event is to be broadcast, aTargetWidget is set to an empty string.
-     */
-    AlfEventOutput(int aEventType, int aEventID, const char* aTargetWidget, unsigned int aDelay );
-
-    ~AlfEventOutput();
-
-public:
-    /**
-     * Executes the event output.
-     */
-    void execute( const CAlfWidgetControl& aControl, const TAlfEvent& aEvent );
-
-private:
-    AlfEventOutput();
-
-public: // data
-
-    int mEventType; // either custom or key event
-    int mEventID;
-    UString mTargetWidget; // Empty string if the event is to be broadcast.
-    unsigned int mDelay;
-    };
-
-/**
- *  Event cancel output. Internal.
- */
-OSN_NONSHARABLE_CLASS( AlfEventCancelOutput )
-    {
-public:
-    /**
-     * constructor.
-     */
-    AlfEventCancelOutput( const char* aTargetWidget, int aEventID, bool aCancelAll );
-
-    ~AlfEventCancelOutput();
-
-public:
-    /**
-       * Executes the event output.
-       */
-    void execute( const CAlfWidgetControl& aControl );
-    /**
-    * returns target widget id.
-    */
-    inline const UString& targetWidget() const
-        {
-        return mTargetWidget;
-        }
-
-private:
-    /**
-       * cancels the excecution.
-       */
-    AlfEventCancelOutput();
-
-private: // data
-
-    UString mTargetWidget;
-    int mEventID;
-    bool mCancelAll;
-    };
-
-/**
- *  Animation Event cancel output. Internal.
- */
-OSN_NONSHARABLE_CLASS( AlfAnimationCancelOutput )
-    {
-public:
-    /**
-     * constructor.
-     */
-    AlfAnimationCancelOutput(const char* aElementName,const char* aVisualName, TAlfOp aOperation, bool aCancelAll );
-    /**
-     * destructor.
-     */
-    ~AlfAnimationCancelOutput();
-
-public:
-    /**
-        * excecutes the command.
-        */
-    void execute( CAlfWidgetControl& aControl, int aDataID );
-
-private:
-    /**
-        * constructor
-        */
-    AlfAnimationCancelOutput();
-
-
-private: // data
-
-    auto_ptr<AlfReferenceToVisual> mVisualRef;
-    TAlfOp mOperation;
-    bool mCancelAll;
-    };
-
-
-OSN_NONSHARABLE_CLASS( AlfWidgetAttributeOutput )
-    {
-public:
-    /**
-    * Constructor.
-    */
-    AlfWidgetAttributeOutput( AlfAttribute& aAttribute, 
-        const char* aWidgetId );
-
-    ~AlfWidgetAttributeOutput();
-
-public:
-    /**
-       * Executes the event output.
-       */
-    void execute( CAlfWidgetControl& aControl );
-
-private:
-    /**
-       * constructor
-       */
-    AlfWidgetAttributeOutput();
-
-private: // data
-    AlfAttribute* mAttr;
-    
-    // Reference to outside widget
-    UString mWidgetId;
-    };
-
-/**
- *  State change output. Internal.
- */
-OSN_NONSHARABLE_CLASS( AlfStateChangeOutput )
-    {
-public:
-    /**
-     * constructor.
-     *
-     * @exception Alf::AlfWidgetException value osncore::EInvalidWidget 
-     *     if aTaretWidget is NULL or empty
-     * @exception Alf::AlfWidgetException value osncore::EInvalidArgument 
-     *     if aDisableStates and aEnableStates have a common bit set 
-     */
-    AlfStateChangeOutput( const char* aTargetWidget, uint aEnableStates, uint aDisableStates );
-
-    ~AlfStateChangeOutput();
-
-public:
-    /**
-     * Executes the event output.
-     */
-    void execute( const CAlfWidgetControl& aControl );
-
-    /**
-     * returns target widget id.
-     */
-    inline const UString& targetWidget() const
-        {
-        return mTargetWidget;
-        }
-
-private: // data
-
-    UString mTargetWidget;
-    uint mEnableStates;
-    uint mDisableStates;
-    };
-
-
-#ifdef RD_TACTILE_FEEDBACK
-OSN_NONSHARABLE_CLASS( AlfTactileOutput )
-    {
-public:
-
-    /**
-     * Constructor.
-     */
-    AlfTactileOutput( TTouchLogicalFeedback aFeedbackType );
-
-    /**
-     * Destructor.
-     */
-    ~AlfTactileOutput();
-
-public:
-
-    /**
-     * Executes the event output.
-     */
-    void execute();
-
-private:
-
-    /**
-     * Constructor.
-     */
-    AlfTactileOutput();
-
-private: // data
-
-    TTouchLogicalFeedback mFeedbackType;
-
-    };
-
-#endif // RD_TACTILE_FEEDBACK
-
-/**
- *  Event output signal. 
- */
-OSN_NONSHARABLE_CLASS( AlfEventOutputSignal )
-    {
-public:
-	explicit AlfEventOutputSignal( IAlfEventOutputSignalSubscriber& aSubscriber );
-
-    ~AlfEventOutputSignal();
-
-    /**
-     * Executes the event output.
-     */
-    void execute();
-
-private: // data
-	IAlfEventOutputSignalSubscriber* mSubscriber;
-    };
-
-OSN_NONSHARABLE_CLASS( AlfEventPasserOutput)
-    {
-public:
-
-    /**
-     * Constructor.
-     */
-    AlfEventPasserOutput( const char* aSourceWidget , const char* aTargetWidget );
-   
-    /**
-     * Constructor. Occurred event is mapped to a new event (specified by aNewEventId)
-     */
-    AlfEventPasserOutput::AlfEventPasserOutput( const char* aSourceWidget , const char* aTargetWidget, 
-                                                int aNewEventId , int aNewEventCustomData );
-    /**
-     * Destructor.
-     */
-    ~AlfEventPasserOutput();
-
-public:
-
-    /**
-     * Executes the event output.
-     */
-    void execute( const CAlfWidgetControl* aControl , const TAlfEvent& aEvent );
-
-private:
-
-    /**
-     * Constructor.
-     */
-    AlfEventPasserOutput();
-
-private: // data
-
-    const char* mSourceWidget;
-    const char* mTargetWidget;
-    bool mEventMappingData;
-    int mNewEventId;
-    int mNewEventCustomData; 
-    };
-
-/**
- *  Application Event output.
- */
-OSN_NONSHARABLE_CLASS( AlfAppEventOutput )
-    {
-public:
-	explicit AlfAppEventOutput( const UString& aCmd, IAlfAppEventListener& aAppEvent );
-
-    ~AlfAppEventOutput();
-
-    /**
-     * Executes the event output.
-     */
-    void execute(const TAlfEvent& aEvent);
-
-private: // data
-	IAlfAppEventListener* mAppEvent;
-	UString mCmd;
-    };
-
-    } // namespace Alf
-
-#endif // ALFEVENTOUTPUT_H
--- a/widgetmodel/alfwidgetmodel/inc/alfflowlayoutpolicyimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* 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:  flow layout policy implementation.
-*
-*/
-
-
-#ifndef ALFFLOWLAYOUTPOLICYIMPL_H
-#define ALFFLOWLAYOUTPOLICYIMPL_H
-
-#include <osn/osndefines.h>
-#include <alf/ialfflowlayoutpolicy.h>
-
-using std::auto_ptr;
-
-class CAlfFlowLayout;
-
-using namespace Alf;
-
-namespace Alf
-    {
-class AlfFlowLayoutManager;
-        
-/**
- * flow layout policy implementation
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-class AlfFlowLayoutPolicyImpl : public IAlfFlowLayoutPolicy
-    {
-public:
-    /**
-     * layout policy constructor
-     *
-     * @param aFlowLayoutManager flow layout manager instance
-     */
-    AlfFlowLayoutPolicyImpl(AlfFlowLayoutManager& aFlowLayoutManager);
-    
-    /**
-     * destructor
-     */
-    ~AlfFlowLayoutPolicyImpl();
-    
-public:
-//from IAlfFlowLayoutPolicy
-
-    /**
-     * Sets the direction of the flow.
-     *
-     * @param aDirection  Flow direction.
-     */
-    virtual void setFlowDirection(enum flowDirection aDirection);
-        
-    /**
-     * returns the flow direction
-     *
-     * @param aDirection  Flow direction.
-     */    
-    virtual enum flowDirection flowDirection() const;
-    
-    /**
-     * Sets the mode of the flow. The mode flags determine how the flow layout
-     * behaves.
-     *
-     * @param aMode  Mode flags (OR'd together).
-     *
-     * @see IAlfFlowLayoutPolicy::flowModeFlags
-     */
-    virtual void setMode(int aMode);
-    
-    /**
-     * Returns the mode flags of the flow.
-     *
-     * @see IAlfFlowLayoutPolicy::flowModeFlags
-     *
-     * @return  Returns the current mode flags.
-     */
-    virtual int mode() const;
-
-public:
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType );	
-	
-private:
-    /**
-     * returns the native flowlayout used by the implementation.
-     */    
-    CAlfFlowLayout& layout() const;
-private:
-
-    AlfFlowLayoutManager &mFlowLayoutManager;
-    enum IAlfFlowLayoutPolicy::flowDirection mDirection;
-    
-    };
-
-    } // namespace Alf
-
-#endif // ALFFLOWLAYOUTPOLICYIMPL_H
--- a/widgetmodel/alfwidgetmodel/inc/alfflowlayoutpreferencesimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* 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:  layoutpreferences implementation class for flowlayoutmanager
-*
-*/
-
-
-#ifndef ALFFLOWLAYOUTPREFERENCESIMPL_H
-#define ALFFLOWLAYOUTPREFERENCESIMPL_H
-
-#include <osn/osndefines.h>
-#include <alf/ialflayoutpreferences.h>
-
-using namespace Alf;
-
-namespace Alf
-    {
-class AlfFlowLayoutManager;
-
-/**
- * layout preferences implementation for flowlayoutmanager.
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-class AlfFlowLayoutPreferencesImpl : public IAlfLayoutPreferences
-    {
-public:
-    AlfFlowLayoutPreferencesImpl(AlfFlowLayoutManager& aFlowLayoutManager);
-public:
-// from base class IAlfLayoutPreferences
-
-	/**
-	 * Returns the minimum size of the layout by combining the minimum sizes of the
-	 * layed out visuals.
-	 * 
-	 * @param aMinSize The minimum size that the object would like to be laid out to
-	 * @return false iff none of the layed out UI elements do not care about minimum size
-	 */
-	virtual bool getMinimumSize( TAlfXYMetric& aMinSize ) const;
-	
-	/**
-	 * Returns the maximum size of the layout by combining the maximum sizes of the
-	 * layed out visuals.
-	 *  
-	 * @param aMaxSize The maximum size that the object would like to be laid out to
-	 * @return false iff none of the layed out UI elements do not care about maximum size
-	 */
-	virtual bool getMaximumSize( TAlfXYMetric& aMaxSize ) const;
-	
-    /**
-     * Returns the size combined by all preferred sizes of child UI elements in this layout 
-     * when they are being layed out according to the layout manager rules.
-     * 
-     * @param aPreferredSize Filled with the referred area occupied by child elements when
-     * 						 layed out by layouting rules in this layout manager.
-     * @return False if none of the child components report their preferred size. True
-     * 		   otherwise.
-     */
-    virtual bool getPreferredSize(TAlfXYMetric& aPreferredSize) const;
-	 
-	/**
-	 * Set the preferred size into a presentation object.
-	 * 
-	 * This is not supported on the layout manager. Users should set preferred sizes of the
-	 * contained UI elements.
-	 */
-	virtual void setPreferredSize( const TAlfXYMetric& aPreferredSize );
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::makeInterface
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType );
-protected:
-
-    /** size type to calculate @see calculateChildSizes */
-    enum sizeType
-        {
-        ESizePreferred,
-        ESizeMin,
-        ESizeMax
-        };
-        
-	/**
-	 * calculate the min-, preferred-, or max- sizes from the children. 
-	 * 
-	 * @param aSize on return, contains the calculated size.
-	 * @param aFlowDirection direction of flow.
-	 * @param aSizeType specifies, whether the min-, preferred- or max-size of the
-	 *        IAlfLayoutPreferences is used for calculation.
-	 */
-    bool calculateChildSizes(TAlfXYMetric& aSize,  
-        enum IAlfFlowLayoutPolicy::flowDirection aFlowDirection, 
-        enum sizeType aSizeType) const;
-        
-	/**
-	 * fetches the size from the IAlfLayoutPreferences-interface of the aControl.
-	 * 
-	 * @param aControl control, which preferences-interface to query.
-	 * @param aSize on return, contains the size.
-	 * @param aSizeType specifies, whether the min-, preferred- or max-size of the
-	 *        IAlfLayoutPreferences is returned.
-	 */
-    bool getSize(CAlfWidgetControl* aControl, 
-        TAlfXYMetric& aSize,
-        enum sizeType aSizeType) const;
-        
-    /**
-     * @return the flow layout policy-instance of the layoutmanager.
-     *
-     */
-    const IAlfFlowLayoutPolicy& flowLayoutPolicy() const;
-
-	/**
-	 * converts size in metrics to size in pixels. Implementation missing.
-	 * 
-	 * @param aSize size to convert
-	 * @return size in pixels.
-	 */
-    static TAlfRealSize sizeInPixels(const TAlfXYMetric& aSize);
-    
-private:
-    AlfFlowLayoutManager &mFlowLayoutManager;
-    TAlfXYMetric mPreferredSize;
-    };
-
-    } // namespace Alf
-
-#endif // ALFFLOWLAYOUTPREFERENCESIMPL_H
--- a/widgetmodel/alfwidgetmodel/inc/alfgridlayoutmanagerimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* 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:  grid layoutmanager private implementation header.
-*
-*/
-
-
-#ifndef ALFGRIDLAYOUTMANAGERIMPL_H
-#define ALFGRIDLAYOUTMANAGERIMPL_H
-
-#include <osn/osndefines.h>
-#include <alf/alfgridlayoutmanager.h>
-#include <alf/ialflayoutpreferences.h>
-
-using std::auto_ptr;
-using Alf::AlfGridLayoutManager;
-
-class CAlfControl;
-class CAlfGridLayout;
-
-namespace Alf
-    {
-    
-class CAlfWidgetControl;
-class AlfWidget;
-class IAlfLayoutPreferences;
-    
-/**
- * layoutmanager implementation class
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-class AlfGridLayoutManagerImpl : public IAlfLayoutPreferences
-    {
-public:
-    /**
-     * layout manager constructor
-     *
-     * @param aLayoutType type of layout used by the manager.
-     */
-    AlfGridLayoutManagerImpl(AlfGridLayoutManager& aGridLayoutManager);
-    
-    /**
-     * destructor
-     */
-    ~AlfGridLayoutManagerImpl();
-    
-public:
-// from base class IAlfLayoutPreferences
-
-	/**
-	 * Returns the minimum size of the layout by combining the minimum sizes of the
-	 * layed out visuals.
-	 * 
-	 * @param aMinSize The minimum size that the object would like to be laid out to
-	 * @return false iff none of the layed out UI elements do not care about minimum size
-	 */
-	virtual bool getMinimumSize( TAlfXYMetric& aMinSize ) const;
-	
-	/**
-	 * Returns the maximum size of the layout by combining the maximum sizes of the
-	 * layed out visuals.
-	 *  
-	 * @param aMaxSize The maximum size that the object would like to be laid out to
-	 * @return false iff none of the layed out UI elements do not care about maximum size
-	 */
-	virtual bool getMaximumSize( TAlfXYMetric& aMaxSize ) const;
-	
-    /**
-     * Returns the size combined by all preferred sizes of child UI elements in this layout 
-     * when they are being layed out according to the layout manager rules.
-     * 
-     * @param aPreferredSize Filled with the referred area occupied by child elements when
-     * 						 layed out by layouting rules in this layout manager.
-     * @return False if none of the child components report their preferred size. True
-     * 		   otherwise.
-     */
-    virtual bool getPreferredSize(TAlfXYMetric& aPreferredSize) const;
-	 
-	/**
-	 * Set the preferred size into a presentation object.
-	 * 
-	 * This is not supported on the layout manager. Users should set preferred sizes of the
-	 * contained UI elements.
-	 */
-	virtual void setPreferredSize( const TAlfXYMetric& aPreferredSize );    
-
-public:
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType );	
-	
-private:
-    /**
-     * returns the gridlayout used by the layoutmanager.
-     */    
-    CAlfGridLayout& layout() const;
-private:
-
-    AlfGridLayoutManager &mGridLayoutManager;
-
-    };
-
-    } // namespace Alf
-
-#endif // ALFGRIDLAYOUTMANAGERIMPL_H
--- a/widgetmodel/alfwidgetmodel/inc/alfgridlayoutpolicyimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +0,0 @@
-/*
-* Copyright (c) 2008 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:  grid layoutpolicy private implementation header.
-*
-*/
-
-
-#ifndef ALFGRIDLAYOUTPOLICYIMPL_H
-#define ALFGRIDLAYOUTPOLICYIMPL_H
-
-#include <osn/osndefines.h>
-#include <alf/alfgridlayoutmanager.h>
-#include <alf/ialfgridlayoutpolicy.h>
-
-using std::auto_ptr;
-using Alf::AlfGridLayoutManager;
-
-class CAlfControl;
-class CAlfGridLayout;
-
-namespace Alf
-    {
-    
-class CAlfWidgetControl;
-class AlfWidget;
-class IAlfGridLayoutPolicy;
-    
-/**
- * layoutmanager implementation class
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-class AlfGridLayoutPolicyImpl : public IAlfGridLayoutPolicy
-    {
-public:
-    /**
-     * layout manager constructor
-     *
-     * @param aLayoutType type of layout used by the manager.
-     */
-    AlfGridLayoutPolicyImpl(AlfGridLayoutManager& aGridLayoutManager);
-    
-    /**
-     * destructor
-     */
-    ~AlfGridLayoutPolicyImpl();
-
-
-
-public:
-    // from IAlfGridLayoutPolicy
-
-    /**
-     * Sets the number and weights of blocks in this grid layout in the direction of the specified
-     * dimension. Each block's weight will be set to equal the supplied value, the result
-     * of which is that all blocks will be equally spaced, whatever the units. 
-     *
-     * @see appendWeight; for more information on how weights are used to calculate layout positions.
-     *
-     * @note This API could be useful if then subsequent calls to @c replaceWeight are made to 
-     * change specific values, depending on how many of the values are different. 
-     * @note Calling this with aCount set to 0 will clear all of the existing weights in the direction
-     * of the specified dimension.
-     * @note this is the same as using metrics with unit type EAlfUnitWeight.
-     *
-     * @param aDim the dimension along which to fill
-     * @param aCount The number of lines of blocks to fill
-     * @param aWeight the weights to be used for all blocks
-     * @throw AlfVisualException(EInvalidArgument), if aPos is out of bounds
-     */    
-    virtual void fillWeights(IAlfGridLayoutPolicy::gridLayoutDimension aDim, int aCount, const TAlfMetric& aWeight);
-
-    /**
-     * Add a new line of blocks to this grid layout at the last position in the direction of the 
-     * specified dimension. It will have the supplied weight. Weights can be any metric value, 
-     * hence different units can be used for each block. In particular, EAlfUnitWeight can be used 
-     * to represent weight values in aribtrary proportional units.
-     *
-     * In the case of proportional weights, the effect of this will be to cause the other blocks to 
-     * resize according to the new total weight.
-     *
-     * @note If non-relative coordinates are specified (e.g., real pixels), the combined blocks might not 
-     *      fill the entire layout area. However, weights will always stretch to fill all available space 
-     *      after the fixed units have been determined. Therefore, depending on circumstances it may
-     *      be better to use EAlfUnitWeight
-     * @note For example [2 weights, 1 weight, 2 weights] in a layout of 100 pixels would result 
-     *      in [40 pixels, 20 pixels, 40 pixels]. 
-     * @note For example [10 pixels, 1 weight, 15 pixels] in a layout of 100 pixels would result 
-     *      in [10 pixels, 75 pixels, 15 pixels]. 
-     *
-     * @param aDim the dimension to which the weight corresponds
-     * @param aWeight the weight to be used for the block in the specified dimension, 
-     *          replacing any previously existing weight for that block
-     * @throw AlfVisualException(ECommonError), if memory allocation error
-     */
-    virtual void appendWeight(IAlfGridLayoutPolicy::gridLayoutDimension aDim, const TAlfMetric& aWeight);
-
-    /**
-     * Add a new line of blocks to this grid layout at the specified position in the direciton of 
-     * the specified dimension. It will have the supplied weight. In the case of proportional 
-     * weights, the effect of this will be to cause the other blocks to resize according to the new 
-     * total weight. It will also mean that many child visuals will now occupy different blocks within
-     * the grid according to how the blocks wrap.
-     *
-     * @note will leave if the specified position is greater than the number of objects currently in the array, 
-     * so check first by calling @c preferredDimensionCount
-     * @see appendWeight for more information on how weights are used to calculate layout positions.
-     *
-     * @param aDim the dimension to which the weight corresponds
-     * @param aWeight the weight to be used for the block in the specified dimension, 
-     *          replacing any previously existing weight for that block
-     * @param aPos the index of the block
-     * @throw AlfVisualException(EInvalidArrayIndex), if aPos is out of bounds
-     */
-    virtual void insertWeight(IAlfGridLayoutPolicy::gridLayoutDimension aDim, const TAlfMetric& aWeight, int aPos);
-    
-    /**
-     * Sets the weight of a specific line of blocks in this grid layout, in the direction of the supplied dimension.
-     * In the case of proportional weights, the effect of this will be to cause the 
-     * other blocks to resize according to the new total weight. 
-     *
-     * @see appendWeight for more information on how weights are used to calculate layout positions.
-     *
-     * @param aDim the dimension to which the weight corresponds
-     * @param aWeight the weight to be used for the block in the specified dimension, 
-     *          replacing any previously existing weight for that cell
-     * @param aPos the index of the cell
-     * @throw AlfVisualException(EInvalidArrayIndex), if aPos is out of bounds
-     */
-    virtual void replaceWeight(IAlfGridLayoutPolicy::gridLayoutDimension aDim, const TAlfMetric& aWeight, int aPos);
-
-    /**
-     * Remove a line of blocks from this grid layout at the specified position in the 
-     * specified dimension. In the case of proportional weights, the effect of this will 
-     * be to cause the other blocks to resize according to the new total weight. It will also mean 
-     * that many child visuals will now occupy different blocks within the grid according to how 
-     * the blocks wrap.
-     *
-     * @see appendWeight for more information on how weights are used to calculate layout positions.
-     *
-     * @param aDim the dimension to which the weight corresponds
-     * @param aPos the index of the cell
-     * @throw AlfVisualException(EInvalidArrayIndex), if aPos is out of bounds
-     */
-    virtual void removeWeight(IAlfGridLayoutPolicy::gridLayoutDimension aDim, int aPos);
-
-    /**
-     * Returns the weight of a specific line of blocks in this grid layout, in the
-     * specified dimension. 
-     *
-     * @see appendWeight for more information on how weights are used to calculate layout positions.
-     *
-     * @param aDim the dimension to which the weight corresponds
-     * @param aPos the index of the cell
-     * @return the weight being used for the cell in the specified dimension, will be 0 magnitude if not set
-     * @throw AlfVisualException(EInvalidArrayIndex), if aPos is out of bounds
-     */
-    virtual TAlfMetric weight(IAlfGridLayoutPolicy::gridLayoutDimension aDim, int aPos) const;
-        
-    /**
-     * Return the number of lines of blocks in this grid, along the specified dimension
-     *
-     * @param aDim the dimension along which to count
-     * @return The number of lines of blocks in this grid.
-     */        
-    virtual int count(IAlfGridLayoutPolicy::gridLayoutDimension aDim) const;
-
-public:
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType );	
-	
-private:
-    /**
-     * returns the gridlayout used by the layoutmanager.
-     */    
-    CAlfGridLayout& layout() const;
-private:
-
-    AlfGridLayoutManager &mGridLayoutManager;
-
-    };
-
-    } // namespace Alf
-
-#endif // ALFGRIDLAYOUTPOLICYIMPL_H
--- a/widgetmodel/alfwidgetmodel/inc/alfhostapiimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-/*
-* 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:  The private implementation of AlfHostAPI.
-*
-*/
-
-
-#ifndef ALFHOSTAPIIMPL_H
-#define ALFHOSTAPIIMPL_H
-
-#include <osn/ustring.h>
-#include <osn/alfptrvector.h>
-#include <memory>
-
-#include "ialfhostapi.h"
-
-namespace Alf
-    {
-
-class CAlfWidgetControl;
-class AlfWidget;
-/**
- *  The private implementation of CAlfHostAPIImpl.
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- */
-class AlfHostAPIImpl:public IAlfHostAPI
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @since S60 ?S60_version
-     */
-    AlfHostAPIImpl();
-
-    /**
-     * Destructor.
-     *
-     * @since S60 ?S60_version
-     */
-    virtual ~AlfHostAPIImpl();
-    
-    /**
-     * Set the host control.Should be set before any IAlfHostAPI call is made
-     */
-    void setHostControl(CAlfWidgetControl& aControl);
-    /**
-     * setConnection.
-     *
-     * @since S60 ?S60_version
-     */
-    void setConnection(CAlfWidgetControl& aControl, AlfRole aRole);
-    /**
-     * getConnection.
-     *
-     * @since S60 ?S60_version
-     */
-    CAlfWidgetControl* getConnection(int aIndex) const;
-    
-    /**
-     * gets the number of connections
-     *
-     * @since S60 ?S60_version
-     */
-    int getConnectionCount() const;
-    
-    /**
-     * gets the connection index of aControl
-     *
-     * @since S60 ?S60_version
-     * @param aControl control, which index to return.
-     */
-    int getConnectionIndex(CAlfWidgetControl& aControl) const;
-        
-    /**
-     * removeConnection.
-     *
-     * @since S60 ?S60_version
-     */
-    void removeConnection(CAlfWidgetControl& aControl);
-    /**
-     * setBaseLayout.
-     *
-     * @since S60 ?S60_version
-     */
-    void setBaseLayout(IAlfLayoutManager& aLayout);
-    /**
-     * getBaseLayout.
-     *
-     * @since S60 ?S60_version
-     */
-    IAlfLayoutManager* getBaseLayout() const;
-    /**
-     * Template getter for interfaces provided by the control classes.
-     * The type of the queried interface is specified by the
-     * template parameter.
-     *
-     * @since S60 ?S60_version
-     * @param aControl The control to get the interface for.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    template <class T>
-    static T* makeInterface( AlfHostAPIImpl* aControl );
-    /**
-     * From MAlfInterfaceBase.
-     * Getter for interfaces provided by the control classes.
-     * Derived classes should always call the base class method
-     * from the overridden makeInterface.
-     *
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType );
-private:
-    /**
-     * Base layout of container widget.
-     */
-    auto_ptr<IAlfLayoutManager> mBaseLayout;
-    /**
-     * Host control for IAlfHostAPIs. Not Owned.
-     */
-    CAlfWidgetControl *mHostControl;
-    }; //class AlfHostAPIImpl
-    } // namespace Alf
-
-#endif // C_ALFHOSTAPIIMPL_H
--- a/widgetmodel/alfwidgetmodel/inc/alflayoutmanagerimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,251 +0,0 @@
-/*
-* 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:  layoutmanager implementation header.
-*
-*/
-
-
-#ifndef ALFLAYOUTMANAGERIMPL
-#define ALFLAYOUTMANAGERIMPL
-
-#include <osn/osndefines.h>
-#include <alf/alflayoutmanager.h>
-#include <alf/ialflayoutpreferences.h>
-
-using std::auto_ptr;
-
-namespace Alf
-    {
-    
-class CAlfWidgetControl;
-class IAlfWidget;
-class IAlfLayoutPreferences;
-    
-/**
- * layoutmanager implementation class
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-class AlfLayoutManagerImpl : public IAlfLayoutPreferences
-    {
-public:
-    /**
-     * layout manager constructor
-     *
-     * @param aLayoutType type of layout used by the manager.
-     */
-    AlfLayoutManagerImpl(TAlfLayoutType aLayoutType);
-    
-    /**
-     * destructor
-     */
-    ~AlfLayoutManagerImpl();
-    
-    /**
-     * creates the layout used by the layoutmanager.
-     *
-     * @param aOwner, owner-control of the the created layout.
-     * @param aParentLayout parent for the created layout
-     * @param aLayoutIndex index, where created visual should be placed in the parent layout.
-     */
-    void createLayout(CAlfWidgetControl& aOwner, CAlfLayout* aParentLayout,
-        int aLayoutIndex);
-        
-    /**
-     * returns the layout used by layoutmanager.
-     *
-     * @return layout used by this layoutmanager.
-     */        
-    CAlfLayout& getLayout() const;
-    
-    /**
-     * updates the main layout
-     */    
-    void updateMainLayout();
-    
-    /**
-     * notifies the layout manager, that the control's has been
-     * removed from the layout.
-     * 
-     * @param aControl control, which size has changed.
-     */    
-    void childRemoved(CAlfWidgetControl* aControl);
-    
-    /**
-     * notifies the layout manager, that the child control's layout
-     * must be updated.
-     * 
-     * @param aControl control, which size or position has changed.
-     */
-    void doUpdateChildLayout(CAlfWidgetControl* aControl);
-    
-    /**
-     * returns the rect of the control.
-     *
-     * @param aControl, control, which size is queried.
-     * @param aRect, will receive the rect of aControl.
-     */    
-    bool controlRect(CAlfWidgetControl& aControl, TAlfRealRect& aRect);
-    
-    /**
-     * sets the size and position to the widget.
-     *
-     * @param aWidget, widget, which size and position is being set.
-     * @param aRect, rect for aWidget
-     */
-    void setWidgetRect(IAlfWidget& aWidget, const TAlfRealRect &aRect);
-    
-    /**
-     * sets the position to the widget.
-     *
-     * @param aWidget, widget, which position is being set.
-     * @param aPos, position for aWidget
-     */
-    void setWidgetPosition(IAlfWidget& aWidget, const TAlfRealPoint &aPos);
-    
-    /**
-     * sets the size to widget.
-     *
-     * @param aWidget, widget, which size is being set.
-     * @param aSize, new size for aWidget.
-     */
-    void setWidgetSize(IAlfWidget& aWidget, const TAlfRealPoint &aSize);
-    
-    /**
-     * updates widget size and position properties for all the children
-     * to correct sizes and positions of the root visuals.
-     */
-    void updateAllWidgetRects();
-    
-    /**
-     * @return the child visual count
-     */
-    int count() const;    
-    
-    /**
-     * returns the control at aIndex.
-     *
-     * @param aIndex index for the control.
-     * @return control at aIndex
-     */    
-    CAlfWidgetControl* getControl(int aIndex) const;
-    
-    /**
-     * @return the owner control of the layoutmanager.
-     */
-    CAlfWidgetControl& owner() const ;
-    
-public:
-// from base class IAlfLayoutPreferences
-
-	/**
-	 * Returns the minimum size of the layout by combining the minimum sizes of the
-	 * layed out visuals.
-	 * 
-	 * @param aMinSize The minimum size that the object would like to be laid out to
-	 * @return false iff none of the layed out UI elements do not care about minimum size
-	 */
-	virtual bool getMinimumSize( TAlfXYMetric& aMinSize ) const;
-	
-	/**
-	 * Returns the maximum size of the layout by combining the maximum sizes of the
-	 * layed out visuals.
-	 *  
-	 * @param aMaxSize The maximum size that the object would like to be laid out to
-	 * @return false iff none of the layed out UI elements do not care about maximum size
-	 */
-	virtual bool getMaximumSize( TAlfXYMetric& aMaxSize ) const;
-	
-    /**
-     * Returns the size combined by all preferred sizes of child UI elements in this layout 
-     * when they are being layed out according to the layout manager rules.
-     * 
-     * @param aPreferredSize Filled with the referred area occupied by child elements when
-     * 						 layed out by layouting rules in this layout manager.
-     * @return False if none of the child components report their preferred size. True
-     * 		   otherwise.
-     */
-    virtual bool getPreferredSize(TAlfXYMetric& aPreferredSize) const;
-	 
-	/**
-	 * Set the preferred size into a presentation object.
-	 * 
-	 * This is not supported on the layout manager. Users should set preferred sizes of the
-	 * contained UI elements.
-	 */
-	virtual void setPreferredSize( const TAlfXYMetric& aPreferredSize );
-	
-    /**
-     * returns the layout preferences for a control
-     *
-     * @param aControl control instance
-     * @return layout preferences for a control.
-     */    
-    const IAlfLayoutPreferences* getLayoutPreferences(CAlfWidgetControl* aControl) const;
-
-public:
-// from base class IAlfInterfaceBase
-    
-    /**
-     * Interface getter. 
-     * @see IAlfInterfaceBase::MakeInterface
-     *
-     * @since S60 ?S60_version
-     * @param aType The type id of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */    
-    virtual IAlfInterfaceBase* makeInterface( const IfId& aType );	
-	
-private:
-    
-    /**
-     * returns the control, which owns the visual
-     *
-     * @param aVisual visual, which the control owns.
-     * @return control, which owns the visual at aIndex.
-     */
-    CAlfWidgetControl* getControl(CAlfVisual& aVisual) const;
-        
-    /**
-     * finds the root visual for a control
-     *
-     * @param aControl control, which rootvisual is searched
-     * @return root visual
-     */
-    CAlfVisual* findRootVisual(CAlfWidgetControl* aControl) const;
-    
-    /**
-     * checks, that layout is created. If not, throws an exception.
-     */
-    void checkLayout() const;
-
-private:
-
-    /**
-     * the layout created and used by the layout manager. 
-     * Destroyed along with instance of this class.
-     */
-    auto_ptr<CAlfLayout> mLayout;
-    
-    /**
-     * the layout type of mLayout
-     */
-    TAlfLayoutType mLayoutType;
-    };
-
-    } // namespace Alf
-
-#endif // ALFLAYOUTMANAGERIMPL
--- a/widgetmodel/alfwidgetmodel/inc/alflctattributesetterutils.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* 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:  TThe attribute setter utility for lct attributesetters
-*
-*/
-
-
-#ifndef ALFCTATTRIBUTESETTERUTILS_H
-#define ALFCTATTRIBUTESETTERUTILS_H
-
-#ifdef RD_ALF_IN_PLATFORM
-#include <aknlayout2hierarchy.h>
-#endif
-
-namespace Alf
-    {
-
-class AlfAttributeContainer;
-class IAlfMap;
-
-/**
- *  The implementation of the attribute setter utility for lct attributesetters.
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- */
-class AlfLctAttributeSetterUtils
-    {
-
-public:
-
-    /**
-     * Gets common lct attributes.
-     *
-     * @param aContainer The container holding the new value of the attribute.
-     *        Ownership of the object is not transferred.
-     * @ret Component handle
-     */
-    static TAknLayoutHierarchyComponentHandle getCommonLctAttributes(
-        AlfAttributeContainer* aContainer);
-
-    /**
-     * Gets lct size.
-     *
-    * @param aComponentHandle Component handle
-    * @param aWidth returned width.
-    * @param aHeight returned height.
-    * @return true if size is found.
-     */
-    static bool itemSize(const TAknLayoutHierarchyComponentHandle& aComponentHandle,
-                         int& aWidth, int& aHeight);
-
-private: // data
-    };
-
-    } // namespace Alf
-
-#endif // ALFCTATTRIBUTESETTERUTILS_H
-
--- a/widgetmodel/alfwidgetmodel/inc/alfrealvalue.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* 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:   Defines RealValue for attributeTypes..
-*
-*/
-
-
-#ifndef ALFREALVALUE_H
-#define ALFREALVALUE_H
-
-//INCLUDES
-#include <osn/osndefines.h>
-#include <memory>
-#include "alf/alfattributevaluetype.h"
-
-// FORWARD DECLARATIONS
-
-using std::auto_ptr;
-
-namespace Alf
-    {
-
-/**
- * A class for a real value type.
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-class AlfRealValue : public AlfAttributeValueType
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @since S60 ?S60_version
-     * @param aValue The value of the attribute. Makes a copy of the attribute.
-     * @return New object.
-     */
-    AlfRealValue( float aValue, TAlfUnit aUnit = EAlfUnitNormalized );
-
-    /**
-     * Destructor.
-     */
-    virtual ~AlfRealValue();
-
-    /**
-        * Gets the real value.
-        *
-        * @since S60 ?S60_version
-        * @return The real value.
-        */
-    float virtual realValue() const;
-
-    /**
-     * Gets the type of the attribute value.
-     *
-     * @since S60 ?S60_version
-     * @return The type of the value.
-     */
-    virtual Type type() const;
-
-    /**
-     * Gets the unit.
-     *
-     * @since S60 ?S60_version
-     * @return The unit.
-     */
-    virtual TAlfUnit unit() const;
-
-private:    // data
-
-    float mReal;
-    TAlfUnit mUnit;
-
-    };
-
-    } // namespace Alf
-
-#endif // ALFREALVALUE_H
--- a/widgetmodel/alfwidgetmodel/inc/alfrecyclinggridelementimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,240 +0,0 @@
-/*
-* 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:   Class for private implementation for AlfRecyclingGridElement.
-*
-*/
-
-
-#ifndef ALFRECYCLINGGRIDELEMENTIMPL_H
-#define ALFRECYCLINGGRIDELEMENTIMPL_H
-
-#include "alf/alfrecyclinggridelement.h"
-#include <osn/osndefines.h>
-
-class CAlfVisual;
-class CAlfLayout;
-class TAlfEvent;
-
-namespace Alf
-    {
-class CAlfWidgetControl;
-class IAlfVariantType;
-class IAlfBranch;
-class IAlfElement;
-
-/**
- *  Implementation class used with the implPtr paradigm.
- */
-OSN_NONSHARABLE_CLASS( AlfRecyclingGridElementImpl )
-    {
-public:
-    /**
-        * Gets the unit.
-        *
-        * @since S60 ?S60_version
-        * @return The unit.
-        */
-    AlfRecyclingGridElementImpl(
-        AlfRecyclingGridElement& aOwner,
-        int aNumColumns,
-        int aNumRows);
-    /**
-        * Gets the unit.
-        *
-        * @since S60 ?S60_version
-        * @return The unit.
-        */
-    ~AlfRecyclingGridElementImpl();
-    /**
-        * setFillStyle.
-        *
-        * @since S60 ?S60_version
-        * @return The unit.
-        */
-    void setFillStyle(AlfRecyclingGridElement::FillStyle aFillStyle, int aFillStyleParam);
-
-    /**
-     * setAnimationTimes.
-     *
-     * @since S60 ?S60_version
-     * @return The unit.
-     */
-    void setAnimationTimes( int aScrollingTime,
-                            int aFadeInTime, int aFadeInDelay,
-                            int aFadeOutTime, int aFadeOutDelay );
-    /**
-     * createVisualTree.
-     *
-     * @since S60 ?S60_version
-     * @return The unit.
-     */
-    CAlfVisual* createVisualTree(
-        IAlfVariantType& aData, uint aDataID,
-        CAlfLayout* aParentLayout, int aLayoutIndex );
-    /**
-     * accept.
-     *
-     * @since S60 ?S60_version
-     * @return The unit.
-     */
-    bool accept( CAlfWidgetControl& aControl, const TAlfEvent& aEvent ) const;
-    /**
-     * offerEvent.
-     *
-     * @since S60 ?S60_version
-     * @return The unit.
-     */
-    bool offerEvent( CAlfWidgetControl& aControl, const TAlfEvent& aEvent );
-    /**
-     * setActiveStates.
-     *
-     * @since S60 ?S60_version
-     * @return The unit.
-     */
-    void setActiveStates( unsigned int aStates );
-    /**
-     * Sets AlfWidgetEventHandlerInitData to event handler.
-     *
-     * @param aData A data structure which contains for example id of the event
-     * handler.
-     */
-    void setEventHandlerData( const AlfWidgetEventHandlerInitData& /*aData*/ ) { }
-    
-    /**
-     * Returns AlfWidgetEventHandlerInitData.
-     *
-     * @return  A pointer to AlfWidgetEventHandlerInitData structure which contains
-     * for example id of the event handler.
-     */
-    AlfWidgetEventHandlerInitData* eventHandlerData() { return NULL; }
-    /**
-     * createChildVisualTree.
-     *
-     * @since S60 ?S60_version
-     * @return The unit.
-     */
-    void createChildVisualTree( IAlfElement* aElement,
-                                IAlfVariantType& aChildData,
-                                IAlfBranch& aData,
-                                int aIndex, uint aDataID );
-    /**
-     * removeChildVisualTree.
-     *
-     * @since S60 ?S60_version
-     * @return The unit.
-     */
-    void removeChildVisualTree( IAlfElement* aElement, IAlfBranch& aData, int aIndex, uint aDataID );
-    /**
-     * removeAndDestroyVisuals.
-     *
-     * @since S60 ?S60_version
-     * @return The unit.
-     */
-    void removeAndDestroyVisuals( int aTimeMilliseconds );
-
-private:
-
-    /**
-     * Api to naviagte by a single row or column.
-     * @since S60 ?S60_version
-     * @param aControl - Widget Control
-     * @param aPageUp  - indicates the direction either a page up or page down
-     */
-    bool moveSingleRowOrColumn( CAlfWidgetControl& aControl, bool aPageUp);
-
-    /**
-     * APi to find the point in the grid for a given index in the visual array on the recycle grid  .
-     * @since S60 ?S60_version
-     * @param aInd - index of the element
-     * @return  TPoint - Point or cordinates
-     */
-    TPoint calculateChildPos(int aInd) const;
-
-    /**
-     * APi to find the index for a given point
-     * @since S60 ?S60_version
-     * @param aPos- position for whom the index needs to be found out
-     * @return  int  - Index of the cordinate
-     */
-    int calculateChildInd(TPoint aPos) const;
-
-    /**
-     * Internal APi to do the index calcuation for navigation and recycling
-    */
-    void doPositioningAndScrolling( CAlfWidgetControl& aControl,uint aEventID);
-
-private:
-
-    AlfRecyclingGridElement& mOwner;
-
-    //class Data
-    /**
-     * The number of visible rows and columns.
-     */
-    int mNumVisibleColumns, mNumVisibleRows;
-
-    /**
-     * The number of rows and columns in the grid layout.
-     */
-    int mNumColumns, mNumRows;
-
-    /**
-     * The strategy for adding new items to the grid
-     */
-    AlfRecyclingGridElement::FillStyle mFillStyle;
-
-    /**
-     * The maximum number of items used with EColumnsFirst and ERowsFirst fill styles
-     */
-    int mFillStyleParam;
-
-
-    /**
-     * Duration of the scrolling animation
-     */
-    int mScrollingTime;
-
-    /**
-     * Duration of the fade in animation
-     */
-    int mFadeInTime;
-
-    /**
-     * Delay before the fade in animation
-     */
-    int mFadeInDelay;
-
-    /**
-     * Duration of the fade out animation
-     */
-    int mFadeOutTime;
-
-    /**
-     * Delay before the fade out animation
-     */
-    int mFadeOutDelay;
-
-    /**
-     * The logical scrolling offset.
-     */
-    TPoint  mScrollOffset;
-
-    bool    mHorizontalOffset;
-    bool    mVerticalOffset;
-    unsigned int mActiveStates;
-    };
-
-    } // namespace Alf
-
-#endif // C_ALFWIDGETEVENTHANDLERIMPL_H
--- a/widgetmodel/alfwidgetmodel/inc/alfsort.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2004 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:  contains sorting routine
-*
-*/
-
-
-
-#ifndef ALFSORT_H
-#define ALFSORT_H
-
-//  INCLUDES
-#include <osn/osntypes.h>
-
-namespace Alf
-    {
-
-class IAlfVariantType;
-class IAlfSortFunction;
-    }
-
-namespace Alf
-    {
-/**
-*  class containig sort routine.
-*  @since S60 ?S60_version
-*/
-class AlfSort
-    {
-public:
-    /**
-     * sorts the array
-     *
-     * @since S60 ?S60_version
-     * @param aArr array to sort
-     * @param aCount count of items in aArr.
-     * @param aSortFunction. Callback interface, specifies how the items are sorted.
-     */
-    static void sort(IAlfVariantType** aArr, uint aCount, const IAlfSortFunction& aSortFunction );
-    };
-
-    }
-
-
-#endif
--- a/widgetmodel/alfwidgetmodel/inc/alfstringvalue.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* 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:   Declares StringType attribute Value.
-*
-*/
-
-
-#ifndef ALFSTRINGVALUE_H
-#define ALFSTRINGVALUE_H
-
-//INCLUDES
-#include <osn/osndefines.h>
-#include <memory>
-#include <osn/ustring.h>
-#include "alf/alfattributevaluetype.h"
-
-// FORWARD DECLARATIONS
-
-namespace osncore
-    {
-class UString;
-    }
-using namespace osncore;
-using std::auto_ptr;
-
-namespace Alf
-    {
-
-/**
- * A class for a string value type.
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- */
-class AlfStringValue : public AlfAttributeValueType
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @since S60 ?S60_version
-     * @return New object.
-     */
-    AlfStringValue( const UString& aValue );
-
-    /**
-     * Destructor.
-     */
-    virtual ~AlfStringValue();
-
-    /**
-        * Gets the string value.
-        *
-        * @since S60 ?S60_version
-        * @return The string value.
-        */
-    const virtual UString& stringValue() const;
-
-    /**
-     * Gets the type of the atrribute value.
-     *
-     * @since S60 ?S60_version
-     * @return The type of the value.
-     */
-    virtual Type type() const;
-
-    /**
-     * Gets the unit.
-     *
-     * @since S60 ?S60_version
-     * @return The unit.
-     */
-    virtual TAlfUnit unit() const;
-
-private:    // data
-
-    UString mString;
-    };
-
-    } // namespace Alf
-
-#endif // ALFSTRINGVALUE_H
--- a/widgetmodel/alfwidgetmodel/inc/alfwidgetattributeownerimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/*
-* 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:  Implementation of the IAlfAttributeOwner interface 
-*                for AlfWidget.
-*
-*/
-
-
-#ifndef __ALFELEMENTATTRIBUTEOWNERIMPL_H__
-#define __ALFELEMENTATTRIBUTEOWNERIMPL_H__
-
-#include "alf/ialfattributeowner.h"
-#include <osn/alfptrvector.h>
-
-namespace Alf
-    {
-    
-class CAlfWidgetControl;   
-
-/**
- * Implementation of the IAlfAttributeOwner interface for AlfWidget.
- */    
-class AlfWidgetAttributeOwnerImpl : public IAlfAttributeOwner
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @param aWidget Reference to owner widget.
-     */
-    AlfWidgetAttributeOwnerImpl(CAlfWidgetControl* aControl);
-
-    /**
-     * Destructor.
-     */
-    virtual ~AlfWidgetAttributeOwnerImpl();
-    
-// from base class IAlfInterfaceBase
-
-    /**
-     * Getter for interfaces provided by the widget classes.
-     * Derived classes should always call the base class method
-     * from the overridden MakeInterface.
-     *
-     * @since S60 ?S60_version
-     * @param aType A descriptor to identify the type of the queried interface.
-     * @return The queried interface, or NULL if the interface is not
-     *         supported or available.
-     */
-    virtual IAlfInterfaceBase* makeInterface(const IfId& aType);       
-            
-// from base class IAlfAttributeOwner
-
-	/**
-     * Get the number of available attributes.
-     *
-     * @return The number of attributes.
-     */
-    virtual int attributeCount() const;
-
-    /**
-     * Gets the attribute with the given name.
-     * The returned attribute instance is owned by the widget and
-     * should not be deleted.
-     * Also the returned attribute instance should not be modified.
-     * Use SetAttribute for that.
-     *
-     * @param aAttribName The name of the attribute.
-     * @return The attribute, or 0 if the attribute was not found.
-     */
-    virtual const AlfAttribute* getAttribute(const UString& aAttribName) const;
-
-    /**
-     * Set a value of an attribute.
-     *
-     * @param aAttribute Reference attribute, the data is copied from it.
-     * The ownership is not transferred.
-     * @return True if the attribute was supported, false if not.
-     */
-    virtual bool setAttribute(const AlfAttribute& aAttribute); 
-
-    /**
-     * Set a value of an attribute.
-     * This SetAttribute variant is for simple non animated attributes 
-     * that only have name and value.
-     *
-     * @param aAttribName Name of the attribute.
-     * @param aValue Value of the attribute. Ownership is transferred
-     * @return True if the attribute was supported, false if not.
-     */    
-    virtual bool setAttribute(const UString& aAttribName, 
-        AlfAttributeValueType* aValue);         
-        
-    /**
-     * Sets a value of an attribute to a specific target. 
-     * The target is identified by using aTargetId parameter.
-     *
-     * @param aTargetId  Name of the target widget part, e.g element class tag.
-     * @param aAttribute Reference attribute, the data is copied from it.
-     *                   The ownership is not transferred.
-     * @return True if the attribute was supported, false if not.
-     */    
-    virtual bool setAttribute( const UString& aTargetId , 
-                               AlfAttribute& aAttribute ); 
-
-
-   /**
-     * Sets values of each attribute in given container to a specific target. 
-     * The target is identified by using aTargetId parameter.
-     *
-     * @param aTargetId  Name of the target widget part, e.g element class tag.
-     * @param aAttributeContainer Reference attributeContainer, All attributes
-     *        in the container are handled. The ownership is not transferred.
-     * @return True if some attributes were supported, false if not.
-     */    
-    virtual bool setAttributeContainer( const UString& aTargetId , 
-                               AlfAttributeContainer& aAttributeContainer ); 
-
-  /**
-     * Sets a value of an static attribute.
-     * This SetAttribute variant is for simple non animated attributes 
-     * that only have name and value.
-     *
-     * @param aTargetId   The name of the target widget part, e.g. element class
-     * @param aAttribName Name of the attribute.
-     * @param aValue      Value of the attribute. Ownership is transferred
-     * @return True if the attribute was supported, false if not.
-     */
-    virtual bool setAttribute( const UString& aTargetId, 
-                               const UString& aAttribName, 
-                               AlfAttributeValueType* aValue );
-    
-       /**
-     * Sets values of each attribute in given container
-     *
-     * @param aAttributeContainer Reference attributeContainer, All attributes
-     *        in the container are handled. The ownership is not transferred.
-     *                            
-     * @return True if some attributes were supported, false if not.
-     */    
-    virtual bool setAttributeContainer( AlfAttributeContainer& aAttributeContainer ); 
-    
- 		/**
-     * Gets the attribute with the given name from specific target.
-     * The returned attribute instance is owned by the widget and
-     * should not be deleted.
-     * Also the returned attribute instance should not be modified.
-     * Use SetAttribute for that.
-     *
-     * @param aTargetId   The name of the target widget part, e.g. element class
-     * @param aAttribName The name of the attribute.
-     * @return A pointer to the attribute, or 0 if the attribute was not found.
-     */
-    virtual const AlfAttribute* getAttribute( const UString& aTargetId ,
-                                              const UString& aAttribName ) const;
-private:
-
-    /**
-     * Lets elements to try handle attribute.
-     *
-     * @param aAttribute Reference attribute, the data is copied from it.
-     * The ownership is not transferred.
-     * @return True if the attribute was supported, false if not.
-     */
-    bool handleElementAttribute(const AlfAttribute& aAttribute);
-
-    /**
-     * Handles the attribute, sets proper values.
-     *
-     * @param aAttribute Reference attribute, the data is copied from it.
-     * The ownership is not transferred.
-     */
-    void handleAttribute(const AlfAttribute& aAttribute);      
-    
-    /**
-     * Can attribute be handled with this widget.
-     *
-     * @param aAttributeName Name of the attribute.
-     * @return True if attribute is supported, false elsewhere.
-     */
-    bool canHandleAttribute(const char* aAttributeName);
-
-private:
-
-    /**
-     * The control. Not own.
-     */
-    CAlfWidgetControl* mControl;
-
-    /*
-     * Array of attributes set through IAlfAttributeOwner interface. Own.
-     */
-    AlfPtrVector<AlfAttribute> mAttributeList;        
-    };
-    
-    }   // namespace Alf
-    
-#endif // __ALFELEMENTATTRIBUTEOWNERIMPL_H__
--- a/widgetmodel/alfwidgetmodel/inc/alfwidgetcontroleventfilter.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-/*
-* 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:  Event Filter Header.
-*
-*/
-
-#ifndef __ALFWIDGETCONTROLEVENTFILTER_H__
-#define __ALFWIDGETCONTROLEVENTFILTER_H__
-#include <libc/string.h>
-
-
-#include <alf/alfevent.h>
-#include <alf/alfwidgetevents.h>
-#include <osn/ustring.h>
-#include <osn/osndefines.h>
-#include <alf/alfeventhandler.h>
-
-#include <alf/alfscrollevents.h>
-#include <alf/ialfwidgeteventhandler.h>
-
-using namespace osncore;
-using namespace Alf;
-namespace Alf
-{
-/**
-* AlfWidgetControlEventFilter delivers the Missed PointerUp event as a custom  
-* event .If AfWidgetControl gets a stray pointerUp event, the 
-* AlfWidgetControlEventFilter will consume the Stray pointerup event and send a 
-* EEventMissedPointerUp custom event.
-*
-*/
-class AlfWidgetControlEventFilter: public IAlfWidgetEventHandler
-    {
-	public:
-	
-	/**
-	 * Constructor
-	 *
-	 */
-	AlfWidgetControlEventFilter();
-	
-	/**
-	 * Destructor
-	 *
-	 */
-	~AlfWidgetControlEventFilter();
-	
-	/**
-	 * Used to identify event handlers that are capable of handling
-	 * a specified key or custom event. Pointer event handlers cannot be
-	 * identified directly, since they are dependent on the presentation.
-	 * Therefore, pointer event handlers should be associated with
-	 * a custom event ID that can be used to simulate the actual pointer event.
-	 *
-	 * @since S60 ?S60_version
-	 * @param aEvent The event.
-	 * @return <code>ETrue</code> if the event can be processed. Otherwise <code>EFalse</code>.
-	 */
-	bool accept ( CAlfWidgetControl& aControl, const TAlfEvent& aEvent ) const;
-
-	/**
-     * @see IAlfWidgetEventHandler
-	 */
-	virtual AlfEventStatus offerEvent ( CAlfWidgetControl& aControl, const TAlfEvent& aEvent );
-
-    /**
-     * Returns the type of EventHandler. 
-     * @see IAlfWidgetEventHandler::AlfEventHandlerType
-     *
-     * @return The type of event handler.
-     */
-    AlfEventHandlerType eventHandlerType();
-
-    /**
-     * Returns information about the phase in the event handling cycle in
-     * which the event hadler will be executed.
-     * @see IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase
-     *
-     * @return Event handler execution phase.
-     */
-
-    AlfEventHandlerExecutionPhase eventExecutionPhase();
-	/**
-	 * Defines the widget states, where the event handler is active.
-	 * By default, if this method is not called, the event handler is expected
-	 * to be active in all states.
-	 *
-	 * @param aStates A bitmask defining the widget states, where the event
-	 * handler is active. The low 16 bits are reserved for the states
-	 * defined by the framework in <: add reference>. The high 16 bits are
-	 * available for states defined by the client code.
-	 */
-   /**
-     * Sets AlfWidgetEventHandlerInitData to event handler.
-     *
-     * @param aData A data structure which contains for example id of the event
-     * handler.
-     */
-    virtual void setEventHandlerData( const AlfWidgetEventHandlerInitData& /*aData*/ )
-    {
-    	
-    }
-    
-    /**
-     * Returns AlfWidgetEventHandlerInitData.
-     *
-     * @return  A pointer to AlfWidgetEventHandlerInitData structure which contains
-     * for example id of the event handler.
-     */
-    virtual AlfWidgetEventHandlerInitData* eventHandlerData()
-    {
-    	return NULL;
-    }
-    
-
-	void setActiveStates ( unsigned int aStates );
-	
-	IAlfInterfaceBase* makeInterface ( const IfId& aType );
-	// Stores Button Down State
-    bool mButtonDown ;
-
-	};	
-}
-
-    
-#endif // __ALFWIDGETCONTROLEVENTFILTER_H__ 
-
--- a/widgetmodel/alfwidgetmodel/inc/alfwidgeteventhandlerimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* 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:   Class for private implementation for AlfWidgetEventHandler.
-*
-*/
-
-
-#ifndef ALFWIDGETEVENTHANDLERIMPL_H
-#define ALFWIDGETEVENTHANDLERIMPL_H
-
-#include <osn/alfptrvector.h>
-#include <osn/osndefines.h>
-#include <alf/ialfwidgeteventhandler.h>
-#include "alfeventinput.h"
-#include "alfeventoutput.h"
-#include "alfanimationoutput.h"
-
-using namespace osncore;
-
-namespace Alf
-    {
-
-/**
- *  Widget event handler internal implementation.
- */
-OSN_NONSHARABLE_CLASS( AlfWidgetEventHandlerImpl )
-    {
-public:
-
-    /**
-     * constructor.
-     * 
-     * @param aEventHandlerType            Event handler type. 
-     *                                     It can be presentaion related or logical.
-     * @param aEventHandlerExecutionPhase  Event handler exceution phase. 
-     *                                     It can be tunneling phase/bubbling phase/both.
-     */
-    AlfWidgetEventHandlerImpl(IAlfWidgetEventHandler::AlfEventHandlerType aEventHandlerType,
-         IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase aEventHandlerExecutionPhase);
-
-    /**
-    * Destructor.
-    */
-    virtual ~AlfWidgetEventHandlerImpl();
-
-private:
-    /**
-       * Destructor.
-       */
-    void construct();
-
-public: // data
-
-    AlfPtrVector<AlfEventInput>mInputs;
-    AlfPtrVector<AlfPointerEventInput> mPointerInputs;
-    AlfPtrVector<AlfEventOutput> mOutputs;
-    AlfPtrVector<AlfAnimationOutput> mAnimationOutputs;
-    AlfPtrVector<AlfWidgetAttributeOutput> mWidgetAttributeOutputs;
-    AlfPtrVector<AlfWidgetAttributeInput> mWidgetAttributeInputs;
-    AlfPtrVector<AlfEventCancelOutput> mCancelOutputs;
-    AlfPtrVector<AlfAnimationCancelOutput> mAnimationCancelOutputs;
-    AlfPtrVector<AlfStateChangeOutput> mStateChangeOutputs;
-    AlfPtrVector<AlfEventPasserInput> mEventPasserInputs;
-    AlfPtrVector<AlfEventPasserOutput> mEventPasserOutputs;
-
-#ifdef RD_TACTILE_FEEDBACK
-    AlfPtrVector<AlfTactileOutput> mTactileOutputs;
-#endif // RD_TACTILE_FEEDBACK
-    AlfPtrVector<AlfEventOutputSignal> mWidgetEventOutputSignals;
-    AlfPtrVector<AlfAppEventOutput> mAppEventOutputs;
-
-    unsigned int mActiveStates;
-    bool mCapturing;
-    /**
-     * Event handler init data
-     */
-    AlfWidgetEventHandlerInitData mEhData;
-    
-    /*
-     * Type of event handler. It can be presentaion related or logical.
-     */
-    IAlfWidgetEventHandler::AlfEventHandlerType mEventHandlerType;
-
-    /*
-     * Event handler exceution phase. It can be tunneling phase/bubbling phase/both.
-     */
-    IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase mEventHandlerExecutionPhase;
-    };
-
-    } // namespace Alf
-
-#endif // C_ALFWIDGETEVENTHANDLERIMPL_H
--- a/widgetmodel/alfwidgetmodel/inc/alfwidgetimpl.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* 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:  The private implementation of CAlfWidget.
-*
-*/
-
-
-#ifndef ALFWIDGETIMPL_H
-#define ALFWIDGETIMPL_H
-
-#include <osn/ustring.h>
-#include <osn/alfptrvector.h>
-using osncore::UString;
-using osncore::AlfPtrVector;
-
-namespace Alf
-    {
-
-class CAlfWidgetControl;
-class IAlfModel;
-class AlfWidget;
-class AlfAttribute;
-class AlfAttributeValueType;
-class AlfWidgetAttributeOwnerImpl;
-
-/**
- *  The private implementation of AlfWidget.
- *  The methods are documented in the class AlfWidget.
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- */
-class AlfWidgetImpl
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @since S60 ?S60_version
-     */
-    AlfWidgetImpl();
-
-    /**
-     * Destructor.
-     *
-     * @since S60 ?S60_version
-     */
-    ~AlfWidgetImpl();
-    /**
-     * control.
-     *
-     * @since S60 ?S60_version
-     */
-    CAlfWidgetControl* control();
-    /**
-     * setControl.
-     *
-     * @since S60 ?S60_version
-     */
-    void setControl( CAlfWidgetControl* aControl,bool aDeletePreviousControl);
-    /**
-     * model.
-     *
-     * @since S60 ?S60_version
-     */
-    IAlfModel* model();
-    /**
-     * setModel.
-     *
-     * @since S60 ?S60_version
-     */
-    void setModel( IAlfModel* aModel ,bool aTakeOwnership);
-
-    /**
-     * Set the id of the widget.
-     *
-     * @since S60 ?S60_version
-     * @param aWidgetName The name of the widget instance.
-     */
-    void setWidgetName( const UString& aWidgetName );
-    /**
-     * widgetName.
-     *
-     * @since S60 ?S60_version
-     */
-    const UString& widgetName() const;
-    
-    /**
-     * Add a widget to the widgets array.
-     *
-     * @param aWidget The widget to be appended to the array of widgets.
-     */
-    void addWidget(AlfWidget *aWidget);
-    
-    /**
-     * Return total number of widgets in the list.
-     */
-    int  widgetCount();
-    
-    /**
-     * Return widget at the index
-     */
-    AlfWidget* getWidget(int aIndex);
-    
-    /**
-     * Returns the index of the widget in this array.
-     * If the given widget is not found from the array -1
-     * is returned.
-     *
-     * @param aWidget Widget to be searched from the array.
-     * @return Index of the widget in the internal array or -1 if the widget
-     * is not found.
-     */
-    int findWidget(AlfWidget* aWidget);
-        
-    /*
-     *Removes a widget at given index
-     */
-    void removeWidget(int aIndex); 
-    
-    /*
-     * Returns attribute owner interface.Ownership is not transferred.
-     *
-     * @return attribute owner interface.
-     */
-    AlfWidgetAttributeOwnerImpl* getAttributeOwner();
-
-private: // data
-
-    /**
-     * The control. Not own.
-     */
-    CAlfWidgetControl* mControl;
-
-    /**
-     * The model. Own.
-     */
-    IAlfModel* mModel;
-
-    /**
-     * The widget id. Own.
-     */
-    UString mWidgetName;
-
-    AlfPtrVector<AlfAttribute> mAttributeList;
-
-    AlfPtrVector<AlfWidget> mWidgets;
-    bool mTakesModelOwnership;
-    
-    /*
-     * IAlfAttributeOwner implementation. Own.
-     */
-    auto_ptr<AlfWidgetAttributeOwnerImpl> mAttributeOwnerImpl;
-
-private:
-
-    friend class AlfWidget;
-    };
-
-    } // namespace Alf
-
-#endif // C_ALFWIDGETIMPL_H
--- a/widgetmodel/alfwidgetmodel/inc/autoarrayptr.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +0,0 @@
-/*
-* Copyright (c) 2009 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:   AutoPtr class for array.
-*
-*/
-
-
-/**
- *  Holds reference to an auto_arrayptr. Prevents unsafe copying
- *
- *  ?more_complete_description
- *
- *  @lib ?library
- *  @since S60 ?S60_version *** for example, S60 v3.0
- */  
-      
-    template<typename Y>
-    struct auto_arrayptr_ref
-        {
-       Y* iPtr;
-       
-       explicit
-       auto_arrayptr_ref(Y* aPtr): iPtr(aPtr) { }
-        };
-
-/**
- *  Auto pointer template implementation for C++ arrays
- *
- *  ?more_complete_description
- *
- *  @lib ?library
- *  @since S60 ?S60_version *** for example, S60 v3.0
- */  
-   template<typename X>
-     class auto_arrayptr
-     {
-     private:
-        X* iPtr;
-       
-     public:
-       
-       typedef X element_type;
-       
-   /**
-     * Constructor.
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */       
-       explicit
-       auto_arrayptr(X* p = 0) throw() : iPtr(p) { }
-    /**
-     * Copy argument a to this object. Owned pointer ownership is transferred to this.
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */   
-       
-       auto_arrayptr(auto_arrayptr& a) throw() : iPtr(a.release()) { }
-    /**
-     * Copy argument a to this object. Owned pointer ownership is transferred to this.
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */   
-       
-       template<typename Y>
-         auto_arrayptr(auto_arrayptr<Y>& a) throw() : iPtr(a.release()) { }
-    
-    /**
-     * Assign argument a to this object. If this already owned pointer that pointer is deleted.
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */   
-       auto_arrayptr& operator=(auto_arrayptr& a) throw()
-            {
-            reset(a.release());
-            return *this;
-            }
-    /**
-     * Assign argument a to this object. If this already owned pointer that pointer is deleted.
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */   
-
-       template<typename Y>
-       auto_arrayptr& operator=(auto_arrayptr<Y>& a) throw()
-            {
-            reset(a.release());
-            return *this;
-        }
-    /**
-     * Deletes the underlying pointer.
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */   
-     ~auto_arrayptr() { delete [] iPtr; }
-
-    /**
-     * Return owned pointer
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */
-        
-    X* get() const throw() { return iPtr; }
-    /**
-     * Releases ownership of the managed pointer and returns that pointer. 
-     * The *this object is left holding a null pointer.
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */
-    
-    X* release() throw()
-            {
-             X* tmp = iPtr;
-             iPtr = 0;
-             return tmp;
-            }
-            
-    /**
-     * Reset managed pointer. Deletes previously owned pointer. 
-     * The *this object is holding given pointer.
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */       
-       void reset(X* aPtr = 0) throw()
-            {
-            if (aPtr != iPtr)
-               {
-                 delete [] iPtr;
-                 iPtr = aPtr;
-               }
-            }
-        
-       
-    /**
-     * Constructor for value object.Uses type conversion function.
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */     
-       auto_arrayptr(auto_arrayptr_ref<X> aRef) throw()
-        : iPtr(aRef.iPtr) { }
-     
-    /**
-     * Assign argument a (value object) to this object. If this already owned pointer that pointer is deleted.
-     * Uses type conversion function.
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */      
-       auto_arrayptr& operator=(auto_arrayptr_ref<X> aRef) throw()
-            {
-            if (aRef.iPtr != this->get())
-                {
-                delete [] iPtr;
-                iPtr = aRef.iPtr;
-                }
-            return *this;
-            }
-       
-    /**
-     * Type conversion. Constructs an auto_arrayptr_ref from *this and returns it.
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */   
-       template<typename Y>
-       operator auto_arrayptr_ref<Y>() throw()
-         { return auto_arrayptr_ref<Y>(this->release()); }
- 
-    /**
-     * Type conversion. Constructs a new auto_arrayptr using the underlying pointer held by *this. 
-     * Calls release() on *this, so *this no longer possesses the pointer.
-     * Returns the new auto_arrayptr.
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */   
-       template<typename Y>
-       operator auto_arrayptr<Y>() throw()
-         { return auto_arrayptr<Y>(this->release()); }
-     };
\ No newline at end of file
--- a/widgetmodel/alfwidgetmodel/inc/ialfhostapi.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
-* 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 implements by CAlfWidgetControl to provide containment
-*
-*/
-
-
-#ifndef I_ALFHOSTAPI_H
-#define I_ALFHOSTAPI_H
-
-#include <alf/ialfinterfacebase.h>
-#include <alf/alflayout.h>
-#include <alf/ialfwidgetcontrol.h>
-
-namespace Alf
-    {
-
-class IAlfLayoutManager;
-class CAlfWidgetControl;
-
-enum AlfRole
-    {
-    EChild,
-    EParent
-    };
-
-namespace alfhostapi
-    {
-static const IfId ident =
-    {
-    0, "alfhostapi"
-    };
-    }
-/**
- * The interface for host appis used by widget controls.
- *
- * @lib alfwidgetmodel.lib
- * @since S60 ?S60_version
- * @status Draft
- */
-class IAlfHostAPI : public IAlfInterfaceBase
-    {
-public:
-
-    static inline const IfId& type()
-        {
-        return alfhostapi::ident;
-        }
-
-    virtual inline ~IAlfHostAPI() {}
-
-    /**
-     * Sets a connection from this host to a given control.
-     * 
-     * A control can never have more than one host control. If the connected
-     * control has a host control the connection from old host control
-     * to connected control will be removed.
-     *
-     * @param aControl  Control to be connected.
-     * @param aRole     Relationship with connected control.
-     */
-    virtual void setConnection(CAlfWidgetControl& aControl, AlfRole aRole) = 0;
-
-    /**
-     * Get the connected control at given index.
-     *
-     * @param  aIndex Index of connected control.
-     * @return Connected control at given index. If index is not found returns null.
-     */
-    virtual CAlfWidgetControl* getConnection(int aIndex) const = 0;
-    
-    /**
-     * gets the number of connections
-     *
-     * @since S60 ?S60_version
-     */
-    virtual int getConnectionCount() const = 0;
-    
-    /**
-     * gets the connection index of aControl
-     *
-     * @since S60 ?S60_version
-     * @param aControl control, which index to return.
-     */
-    virtual int getConnectionIndex(CAlfWidgetControl& aControl) const = 0;
-
-    /**
-     * Removes connection with the given control.
-     *
-     * If the connected control is in the same control group with host control,
-     * it will be removed from the host control's control group.
-     * 
-     * If the connected control is in a separate control group or if the
-     * host control is not in a control group, the connected control's control
-     * group relation will not be affected.
-     *
-     * @see setConnection()
-     *
-     * @param aControl Control with which connection is to be removed.
-     */
-    virtual void removeConnection(CAlfWidgetControl& aControl) = 0;
-
-    /**
-     * Sets the base layout of control.
-     *
-     * @param aLayout Base layout.
-     */
-    virtual void setBaseLayout(IAlfLayoutManager& aLayout) = 0;
-
-    /**
-     * Returns the base layout of control.
-     *
-     * @return Base layout of control.Returns null id there is no base layout.
-     */
-    virtual IAlfLayoutManager* getBaseLayout() const = 0;
-
-
-    };
-
-    } // namespace Alf
-
-#endif // I_ALFHOSTAPI_H
--- a/widgetmodel/alfwidgetmodel/src/alfanchorlayoutattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,457 +0,0 @@
-/*
-* 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:   Implements attributesetters for anchorlayout.
-*
-*/
-
-
-
-//includes
-
-//widget model includes
-#include "alf/alfattributecontainer.h"
-#include "alf/alfattributevaluetype.h"
-#include "alf/alfattribute.h"
-#include "alf/alfanchorlayoutattributesetter.h"
-#include <alf/alfvisualexception.h>
-#include <alf/alfdataexception.h>
-#include <alf/alfattributeexception.h>
-
-
-//osn includes
-#include <osn/ustring.h>
-
-//alf includes
-#include <alf/alfenv.h>
-#include <alf/alfanchorlayout.h>
-#include <alf/alftexture.h>
-#include <alf/alfeventhandler.h>
-#include <alf/alfevent.h>
-
-//dui includes
-#include "alf/attrproperty.h"
-
-//other includes
-#include <libc/string.h>
-#include <utf.h>
-
-
-
-//namespaces
-
-using namespace osncore;
-
-using namespace duiuimodel::anchorlayoutinput;
-
-using namespace duiuimodel::layoutattributes;
-
-using namespace duiuimodel::anchor;
-
-using namespace duiuimodel::metric;
-
-namespace Alf
-	{
-
-bool isMultivalueDataAchment ( TAlfAnchorAttachmentOrigin val )
-	{
-	return ( val == EAlfAnchorAttachmentOriginNone||
-			 val == EAlfAnchorAttachmentOriginTopLeft ||
-	         val == EAlfAnchorAttachmentOriginTopCenter ||
-	         val == EAlfAnchorAttachmentOriginTopRight ||
-	         val == EAlfAnchorAttachmentOriginCenterLeft ||
-	         val == EAlfAnchorAttachmentOriginCenter ||
-	         val == EAlfAnchorAttachmentOriginCenterRight ||
-	         val == EAlfAnchorAttachmentOriginBottomLeft ||
-	         val == EAlfAnchorAttachmentOriginBottomCenter ||
-	         val == EAlfAnchorAttachmentOriginBottomRight );
-	}
-
-typedef void ( *pFunc ) ( AlfContainer* aCont, AlfAttribute* aAttrib, IAlfMap* aData );
-
-void addToAnchortypecont ( AlfContainer* aCont, AlfAttribute* aAttrib, IAlfMap* aData )
-	{
-
-	if ( aData )
-		{
-		IAlfVariantType* dataX = aData->item ( UString(aAttrib->getDataField() ));
-
-		if ( dataX && dataX->type() == IAlfVariantType::EInt )
-			{
-			aCont->addItem ( new ( EMM ) AlfVariantType ( dataX->integer() ) );
-			}
-		}
-	else
-		{
-		aCont->addItem ( new ( EMM ) AlfVariantType ( aAttrib->intValue() ) );
-		}
-
-	}
-
-void addToAttachmentcont ( AlfContainer* aCont, AlfAttribute* aAttrib, IAlfMap* aData )
-	{
-
-	if ( aData )
-		{
-		IAlfVariantType* dataX = aData->item ( UString(aAttrib->getDataField()));
-
-		if ( dataX && dataX->type() == IAlfVariantType::EInt )
-			{
-			aCont->addItem ( new ( EMM ) AlfVariantType ( dataX->integer() ) );
-			}
-		}
-	else
-		{
-		aCont->addItem ( new ( EMM ) AlfVariantType ( aAttrib->intValue() ) );
-		}
-	}
-
-void addToMagnitudecont ( AlfContainer* aCont, AlfAttribute* aAttrib, IAlfMap* aData )
-	{
-
-	if ( aData )
-		{
-		IAlfVariantType* dataX = aData->item ( UString(aAttrib->getDataField()) );
-
-		if ( dataX != NULL && dataX->type() == IAlfVariantType::EMap )
-			{
-			IAlfVariantType* valueX = dataX->map()->item ( UString("value"));
-			IAlfVariantType* unitX = dataX->map()->item ( UString("unit"));
-			auto_ptr<AlfContainer> value ( new ( EMM ) AlfContainer() );
-			auto_ptr<AlfVariantType> vtype1(new ( EMM ) AlfVariantType ( valueX->real() ));
-			value->addItem ( vtype1.get() );
-			vtype1.release();
-			auto_ptr<AlfVariantType> vtype2(new ( EMM ) AlfVariantType ( unitX->integer() ));
-			value->addItem ( vtype2.get() );
-			vtype2.release();
-			aCont->addItem ( value.release() );
-
-			}
-		else if ( dataX != NULL && dataX->type() == IAlfVariantType::EReal )
-			{
-			auto_ptr<AlfContainer> value ( new ( EMM ) AlfContainer() );
-			auto_ptr<AlfVariantType> vtype1(new ( EMM ) AlfVariantType ( dataX->real() ));
-			value->addItem ( vtype1.get() );
-			vtype1.release();
-			auto_ptr<AlfVariantType> vtype2( new ( EMM ) AlfVariantType ( aAttrib->unit() ) );
-			
-			value->addItem (vtype2.get());
-			vtype2.release();
-			aCont->addItem ( value.release() );
-			}
-		}
-	else
-		{
-		auto_ptr<AlfContainer> value ( new ( EMM ) AlfContainer() );
-		auto_ptr<AlfVariantType> vtype1( new ( EMM ) AlfVariantType ( aAttrib->realValue() ) );
-		value->addItem (vtype1.get());
-		vtype1.release();
-		auto_ptr<AlfVariantType> vtype2( new ( EMM ) AlfVariantType ( aAttrib->unit() ) );
-		
-		value->addItem (vtype2.get());
-		vtype2.release();
-		aCont->addItem ( value.release() );
-
-		}
-
-	}
-
-void addToTextstylecont ( AlfContainer* /*aCont*/, AlfAttribute* /*aAttrib*/, IAlfMap* /*aData*/ )
-	{
-	}
-
-struct anchormap
-	{
-	const char* name;
-	pFunc addToContainer;
-	AlfContainer* pData;
-	};
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAnchorLayoutAttributeSetter::AlfAnchorLayoutAttributeSetter()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAnchorLayoutAttributeSetter::~AlfAnchorLayoutAttributeSetter()
-	{
-	}
-	
-// ---------------------------------------------------------------------------
-// Sets Attribute Value. Delegates based on attribute Category.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAnchorLayoutAttributeSetter::setAttributeValue (
-    CAlfVisual &aVisual,
-    AlfAttributeContainer* aContainer,
-    IAlfMap* aData )
-	{
-	
-	CAlfAnchorLayout* layout = dynamic_cast<CAlfAnchorLayout*> ( &aVisual );
-
-	if ( !layout )
-		{
-		ALF_THROW ( AlfVisualException, EInvalidVisual, 
-		    "AlfAnchorLayoutAttributeSetter" )
-		}
-		
-    AlfCommonLayoutAttributeSetter::setAttributeValue(aVisual, 
-        aContainer, aData);
-	}
-	
-
-// ---------------------------------------------------------------------------
-// Deprecated
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfCommand* AlfAnchorLayoutAttributeSetter::createCommand ( CAlfVisual& /*aVisual*/,
-        AlfAttributeContainer* /*aContainer*/, IAlfMap* /*aData*/,
-        int /*aTransitionTime*/, CAlfVisual* /*aRefVisual*/ )
-	{
-	//deprecated
-	TAlfCommand* cmd = NULL;
-	return cmd;
-	}
-
-// ---------------------------------------------------------------------------
-// Sends a command to Env
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAnchorLayoutAttributeSetter::createAndSendCommands (
-    CAlfVisual& aVisual,
-    AlfAttributeContainer* aContainer,
-    CAlfVisual* aRefVisual )
-	{
-	//no animatable attributes in grid layout.
-	AlfCommonLayoutAttributeSetter::createAndSendCommands ( aVisual, aContainer, aRefVisual );
-	}
-
-// ---------------------------------------------------------------------------
-// Sets dynamic attributes to visual
-// ---------------------------------------------------------------------------
-//
-void AlfAnchorLayoutAttributeSetter::handleDynamicAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer )
-	{
-	//no dynamic attributes in anchor layout.
-	AlfCommonLayoutAttributeSetter::handleDynamicAttribute(aVisual, aAttr, aContainer);
-	}
-	
-// ---------------------------------------------------------------------------
-// Sets static attributes to visual
-// ---------------------------------------------------------------------------
-//		
-void AlfAnchorLayoutAttributeSetter::handleStaticAttribute ( 
-    CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer )
-    {
-    if (!doHandleStaticAttribute(aVisual, aAttr, aContainer, NULL))
-        {
-        AlfCommonLayoutAttributeSetter::handleStaticAttribute(aVisual, aAttr, aContainer);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Sets static attributes to visual
-// ---------------------------------------------------------------------------
-//
-bool AlfAnchorLayoutAttributeSetter::doHandleStaticAttribute( CAlfVisual &aVisual, 
-    AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData )
-	{
-    bool handled = true;
-	const char* attrName = aAttr.name();
-	CAlfAnchorLayout* layout = dynamic_cast<CAlfAnchorLayout*> ( &aVisual );
-	if(!layout)
-	    {
-	    return false;
-	    }
-
-	if ( !strcmp ( attrName, KChildOrdinal )||!strcmp ( attrName, KAttachmentOrdinal ) 
-			|| !strcmp ( attrName, KAnchorType )||!strcmp ( attrName, KAttachmentOrigin )
-			||!strcmp ( attrName, KMagnitude )||!strcmp ( attrName, KTextStyleId ) )
-		{
-		AlfAttribute& attachmentordinal = aContainer.getAttributeByName ( KAttachmentOrdinal );
-		AlfAttribute& aAttrChildOrdinal = aContainer.getAttributeByName ( KChildOrdinal );
-		float ordianal=0;
-		float attachordinalval=-1;
-		if(aData)
-			{
-			IAlfVariantType* data = aData->item ( UString(aAttrChildOrdinal.getDataField()) );
-
-			if ( data && data->type() == IAlfVariantType::EReal )
-				{
-					ordianal=data->real();	
-				}
-			data = aData->item ( UString(attachmentordinal.getDataField()) );
-			if ( data && data->type() == IAlfVariantType::EReal )
-				{
-					attachordinalval=data->real();	
-				}
-			}
-		else
-			{
-			ordianal=aAttrChildOrdinal.realValue();
-			attachordinalval=attachmentordinal.realValue();
-			}
-		auto_ptr<AlfContainer> anchortypecont ( new ( EMM ) AlfContainer() );
-		auto_ptr<AlfContainer> attachmentorigincont ( new ( EMM ) AlfContainer() );
-		auto_ptr<AlfContainer> magnitudecont ( new ( EMM ) AlfContainer() );
-		auto_ptr<AlfContainer> textstyleidcont ( new ( EMM ) AlfContainer() );
-
-		anchormap maptable[] =
-			{
-			{KAnchorType, addToAnchortypecont, NULL},
-			{KAttachmentOrigin, addToAttachmentcont, NULL},
-			{KMagnitude, addToMagnitudecont, NULL},
-			{KTextStyleId, addToTextstylecont, NULL}
-			};
-		unsigned int tableCount = sizeof ( maptable ) / sizeof ( anchormap );
-		maptable[0].pData = anchortypecont.get();
-		maptable[1].pData = attachmentorigincont.get();
-		maptable[2].pData = magnitudecont.get();
-		maptable[3].pData = textstyleidcont.get();
-
-		unsigned int attrCount = aContainer.attributeCount();
-
-		for ( int i = 0;i < attrCount;i++ )
-			{
-			for ( int j = 0;j < tableCount;j++ )
-				{
-				if ( !strcmp ( maptable[j].name, aContainer.getAttribute ( i ).name() ) )
-					{
-					maptable[j].addToContainer ( maptable[j].pData, &aContainer.getAttribute ( i ), aData );
-					aContainer.getAttribute ( i ).setDirty(false);
-					}
-				}
-			}
-
-		unsigned int totalApitocall = attachmentorigincont->count();
-
-		unsigned int magnitudeindex = 0;
-
-		for ( int counter = 0;counter < totalApitocall;counter++ )
-			{
-			IAlfVariantType* Origin = attachmentorigincont->item ( counter );
-			TAlfAnchorAttachmentOrigin value = static_cast<TAlfAnchorAttachmentOrigin> ( Origin->integer() );
-
-			if ( isMultivalueDataAchment ( value ) )
-				{
-				IAlfVariantType* aType = anchortypecont->item ( counter );
-				TAlfAnchorType type = static_cast<TAlfAnchorType> ( aType->integer() );
-
-				if ( type == EAlfAnchorTypeNone )
-					{
-					IAlfContainer* magCont1 = static_cast<IAlfContainer*> ( magnitudecont->item ( magnitudeindex ) );
-					IAlfContainer* magCont2 = static_cast<IAlfContainer*> ( magnitudecont->item ( magnitudeindex + 1 ) );
-					IAlfContainer* magCont3 = static_cast<IAlfContainer*> ( magnitudecont->item ( magnitudeindex + 2 ) );
-					IAlfContainer* magCont4 = static_cast<IAlfContainer*> ( magnitudecont->item ( magnitudeindex + 3 ) );
-
-					TAlfMetric metric1 ( magCont1->item ( 0 )->real(), magCont1->item ( 1 )->integer() );
-					TAlfMetric metric2 ( magCont2->item ( 0 )->real(), magCont2->item ( 1 )->integer() );
-					TAlfMetric metric3 ( magCont3->item ( 0 )->real(), magCont3->item ( 1 )->integer() );
-					TAlfMetric metric4 ( magCont4->item ( 0 )->real(), magCont4->item ( 1 )->integer() );
-					TAlfBoxMetric boxmetric ( metric1, metric2, metric3, metric4 );
-					int err=layout->Attach ( ordianal, boxmetric, value, attachordinalval );
-					if(err!=KErrNone)
-						{
-						ALF_THROW ( AlfVisualException, err, "Anchor Attach Failed" )
-						}
-					magnitudeindex += 4;
-					}
-				else
-					{
-					IAlfContainer* magCont1 = static_cast<IAlfContainer*> ( magnitudecont->item ( magnitudeindex ) );
-					IAlfContainer* magCont2 = static_cast<IAlfContainer*> ( magnitudecont->item ( magnitudeindex + 1 ) );
-
-					TAlfMetric metric1 ( magCont1->item ( 0 )->real(), magCont1->item ( 1 )->integer() );
-					TAlfMetric metric2 ( magCont2->item ( 0 )->real(), magCont2->item ( 1 )->integer() );
-
-
-
-					TAlfXYMetric xymetric ( metric1, metric2 );
-				
-					int err=layout->Attach ( ordianal, type, xymetric, value, attachordinalval );
-					if(err!=KErrNone)
-						{
-						ALF_THROW ( AlfVisualException, err, "Anchor Attach Failed" )
-						}
-
-					magnitudeindex += 2;
-					}
-				}
-			else
-				{
-				IAlfVariantType* typeVar = anchortypecont->item ( counter );
-				TAlfAnchorType type = static_cast<TAlfAnchorType> ( typeVar->integer() );
-				IAlfContainer* magCont1 = static_cast<IAlfContainer*> ( magnitudecont->item ( magnitudeindex ) );
-
-				TAlfMetric metric ( magCont1->item ( 0 )->real(), magCont1->item ( 1 )->integer() );
-
-
-				int err=layout->Attach ( ordianal, type, metric, value, attachordinalval );
-				if(err!=KErrNone)
-					{
-					ALF_THROW ( AlfVisualException, err, "Anchor Attach Failed" )
-					}
-
-				magnitudeindex++;
-				}
-			}
-			
-		attachmentordinal.setDirty(false);
-		aAttrChildOrdinal.setDirty(false);
-		}
-	else 
-		{
-		handled = false;
-		}
-		
-    return handled;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Sets dynamic attributes to visual from data
-// ---------------------------------------------------------------------------
-//
-void AlfAnchorLayoutAttributeSetter::handleDynamicDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData )
-	{
-	AlfCommonLayoutAttributeSetter::handleDynamicDataAttribute ( aVisual, aAttr, aContainer, aData );
-	}
-
-// ---------------------------------------------------------------------------
-// Sets static attributes to visual  from data
-// ---------------------------------------------------------------------------
-//
-void AlfAnchorLayoutAttributeSetter::handleStaticDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData )
-	{
-	if (!doHandleStaticAttribute(aVisual, aAttr, aContainer, aData))
-	    {
-	    AlfCommonLayoutAttributeSetter::handleStaticDataAttribute(aVisual, aAttr, aContainer, aData);
-	    }
-	}
-
-	} // namespace Alf
-
-// End of file
-
-
-
-
-
--- a/widgetmodel/alfwidgetmodel/src/alfanchorlayoutmanager.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* 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:  anchorlayoutmanager with focus handling in 1D (next/previous)
-*
-*/
-
-
-#include <alf/alfanchorlayoutmanager.h>
-#include <alf/alfexceptions.h>
-#include <alf/alfwidgetcontrol.h>
-#include <osn/ustring.h>
-#include <osn/osnnew.h>
-
-#include "alfanchorlayoutmanagerimpl.h"
-
-using osncore::UString;
-
-using namespace Alf;
-
-namespace Alf
-    {
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// layout manager constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAnchorLayoutManager::AlfAnchorLayoutManager() 
-    : AlfLayoutManager(EAlfLayoutTypeAnchor)
-    {
-    mData.reset(new (EMM) AlfAnchorLayoutManagerImpl(*this));
-    }
-        
-// ---------------------------------------------------------------------------
-// virtual destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAnchorLayoutManager::~AlfAnchorLayoutManager()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// from AlfLayoutManager
-// notifies the layout manager, that the child control's layout
-// must be updated.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAnchorLayoutManager::updateChildLayout(
-    CAlfWidgetControl* aControl)
-    {
-    CAlfLayout& layout = getLayout();
-    doUpdateChildLayout(aControl);
-    layout.UpdateChildrenLayout();
-
-    //doUpdateChildLayout changes the visual size and position.
-    //need to notify the widget that size and position has changed.
-    
-    //set the size and postion for aControl
-    TAlfRealRect rect;
-    if (controlRect(*aControl, rect)) //returns the real rect (of the root visual)
-        {
-        setControlRect(*aControl, rect);
-        }
-
-    // Inform parent layout manager about the changed presentation size
-    owner().updateParentLayout();
-    }
-        
-// ---------------------------------------------------------------------------
-// from IAlfLayoutManager
-// notifies the layout manager, that the control's has been
-// removed from the layout.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAnchorLayoutManager::childRemoved(CAlfWidgetControl* aControl)
-    {
-    //when control is removed from layout, no change to other widget rects,
-    // just call the base class
-    AlfLayoutManager::childRemoved(aControl);
-    }
-    
-// ---------------------------------------------------------------------------
-// from AlfLayoutManager
-// notifies the layout manager, that the child control's layout
-// must be updated.
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT void AlfAnchorLayoutManager::doUpdateChildLayout(
-    CAlfWidgetControl* /*aControl*/)
-    {
-    //anchorlayout changes the position and size, nothing to do here.
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the element.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfInterfaceBase* AlfAnchorLayoutManager::makeInterface( 
-    const IfId& aType )
-    {
-    UString param(aType.mImplementationId);
-    if (param == IAlfLayoutManager::type().mImplementationId)
-        {
-        return this;
-        }      
-
-    // Let the implementation class try the interface creation
-    IAlfInterfaceBase* pInterface = mData->makeInterface(aType);
-    return pInterface;
-    }
- } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfanchorlayoutmanagerimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* 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:  layoutmanager implementation class with focus handling in 1D (next/previous)
-*
-*/
-
-
-#include <alf/ialfwidgetcontrol.h>
-#include <alf/alfvisual.h>
-#include <alf/alfanchorlayout.h>
-#include "alf/alfwidget.h"
-#include <alf/alfvisualfactory.h>
-#include <alf/alfexceptions.h>
-#include <alf/ialflayoutpreferences.h>
-#include <osn/osnnew.h>
-
-//stl
-#include <algorithm> //for min & max
-
-#include "alfanchorlayoutmanagerimpl.h"
-
-using namespace Alf;
-
-namespace Alf
-    {
-// ======== MEMBER FUNCTIONS ========
-    
-// ---------------------------------------------------------------------------
-// layoutmanagerimpl constructor
-// ---------------------------------------------------------------------------
-//    
-AlfAnchorLayoutManagerImpl::AlfAnchorLayoutManagerImpl(
-    AlfAnchorLayoutManager& aAnchorLayoutManager) : 
-    mAnchorLayoutManager(aAnchorLayoutManager)
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// creates the layout used by the layoutmanager.
-// ---------------------------------------------------------------------------
-//    
-AlfAnchorLayoutManagerImpl::~AlfAnchorLayoutManagerImpl()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// from IAlfLayoutPreferences
-// Returns the minimum area that this layout manager can occupy by observing
-// the minimum sizes of the child UI elements in the layout
-// ---------------------------------------------------------------------------
-//
-bool AlfAnchorLayoutManagerImpl::getMinimumSize( TAlfXYMetric& /*aMinSize*/ ) const
-	{
-	return false;
-	}
-
-// ---------------------------------------------------------------------------
-// from IAlfLayoutPreferences
-// Returns the maximum area that this layout manager can occupy by observing
-// the maximum sizes of the child UI elements in the layout
-// ---------------------------------------------------------------------------
-//
-bool AlfAnchorLayoutManagerImpl::getMaximumSize( TAlfXYMetric& /*aMaxSize*/ ) const
-	{
-	return false;
-	}
-
-// ---------------------------------------------------------------------------
-// Combines and returns the preferred sizes of all child UI elements according
-// to the layouting rules.
-// ---------------------------------------------------------------------------
-//
-bool AlfAnchorLayoutManagerImpl::getPreferredSize(TAlfXYMetric& /*aPreferredSize*/) const
-	{
-	return false;
-	}
- 
-// ---------------------------------------------------------------------------
-// from IAlfLayoutPreferences
-// At the moment doesn't do anything since preferred size is being queried
-// from the child UI elements added to this layout manager.
-// ---------------------------------------------------------------------------
-//
-void AlfAnchorLayoutManagerImpl::setPreferredSize( const TAlfXYMetric& aPreferredSize)
-	{
-	TAlfTimedPoint size((float)aPreferredSize.iX.iMagnitude,(float)aPreferredSize.iY.iMagnitude);
-	layout().SetSize(size);
-	mAnchorLayoutManager.owner().updateParentLayout();
-	}
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the element.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* AlfAnchorLayoutManagerImpl::makeInterface(const IfId& aType)
-    {
-    UString param(aType.mImplementationId);
-    if (param == IAlfLayoutPreferences::type().mImplementationId)
-        {
-        return this;
-        }      
-    
-    return NULL;
-    }
-    
-// ---------------------------------------------------------------------------
-// returns the anchorlayout used by the layoutmanager
-// ---------------------------------------------------------------------------
-//
-CAlfAnchorLayout& AlfAnchorLayoutManagerImpl::layout() const
-    {
-    return dynamic_cast<CAlfAnchorLayout&>(mAnchorLayoutManager.getLayout());
-    }
-
- } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfanimationoutput.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* 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:  Animation class for alfred widget model.
-				  This class creates the animation and commands.
-*
-*
-*/
-
-
-
-
-//INCLUDES
-#include "alf/alfreferencetovisual.h"
-#include "alf/ialfattributesetter.h"
-#include "alf/alfattributecontainer.h"
-#include <alf/alfvisual.h>
-#include <alf/alfcontrol.h>
-#include <alf/alfenv.h>
-#include <alf/alfexceptions.h>
-//#include "alf/alfperf.h"
-#include "alfanimationoutput.h"
-
-namespace Alf
-    {
-
-////////////////////// AlfAnimationOutput //////////////////////
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Description : Constructor
-// -----------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAnimationOutput::AlfAnimationOutput(
-    AlfReferenceToVisual* aTargetVisual,
-    AlfReferenceToVisual* aReferenceVisual,
-    IAlfAttributeSetter* aAttributeSetter,
-    AlfAttributeContainer* aAttributeContainer,
-    unsigned int aAnimationTime,
-    unsigned int aDelay)
-    {
-    if (!aTargetVisual || !aAttributeSetter || !aAttributeContainer )
-        {
-        ALF_THROW( AlfException, EInvalidArgument, "AlfAnimationOutput" )
-        }
-        
-    mTargetVisual = aTargetVisual;
-    mReferenceVisual = aReferenceVisual;
-    mAttributeSetter = aAttributeSetter;
-    mAttributeContainer = aAttributeContainer;
-    mAnimationTime = aAnimationTime;
-    mDelay = aDelay;
-    }
-
-// -----------------------------------------------------------------------------
-// Description : Destructor
-// -----------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAnimationOutput::~AlfAnimationOutput()
-    {
-    delete mTargetVisual;
-    delete mReferenceVisual;
-    delete mAttributeSetter;
-    delete mAttributeContainer;
-    }
-
-// -----------------------------------------------------------------------------
-// Description : Create and send the animation command
-// -----------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAnimationOutput::sendCommand(
-    CAlfWidgetControl& aControl, unsigned int aDataID )
-    {
-    CAlfVisual* ref = 0;
-
-    if ( mReferenceVisual )
-        {
-        // Find the reference visual
-        ref = mReferenceVisual->resolve( aControl, aDataID );
-        }
-    // Find the animated visual
-    CAlfVisual* visual = NULL;
-    visual = mTargetVisual->resolve( aControl, aDataID );
-    if ( visual )
-        {
-        // Create the animation command(s) and send them through the env.
-        //ALF_PERF_START( perfdata, "AlfAnimationOutput-sendCommand-createAndSendCommands" )
-        // reference visual is optional, it may be 0.
-        mAttributeSetter->createAndSendCommands( *visual, mAttributeContainer, ref );
-        //ALF_PERF_STOP( perfdata, "AlfAnimationOutput-sendCommand-createAndSendCommands" )
-        }
-    }
-
-    } // namespace Alf
-
-// end of file
--- a/widgetmodel/alfwidgetmodel/src/alfattribute.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,564 +0,0 @@
-/*
-* 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:   Implementation for creating different types of attributes.
-*
-*/
-
-
-#include <osn/osnnew.h>
-#include <osn/ustring.h>
-#include <osn/alfptrvector.h>
-#include "alf/alfattribute.h"
-#include <alf/alfdataexception.h>
-#include <stdexcept>
-#include <alf/alftimedvalue.h>
-#include <alf/alfattributeexception.h>
-
-using namespace osncore;
-
-namespace Alf
-    {
-
-
-class AlfAttributeImpl
-    {
-public:
-    AlfAttributeImpl():mCategory(AlfAttribute::EStatic),
-            mInterpolationStyle(EAlfTimedValueStyleUseSystemDefault),
-            mTime(0),
-            mDelay(0),
-            mMappingFunctionId(0),
-            mDirtyFlag(true)
-        {
-        }
-
-    ~AlfAttributeImpl()
-        {
-        }
-
-    UString mName;
-    AlfAttribute::attributecategory mCategory;
-    TAlfInterpolationStyle mInterpolationStyle;
-    int mTime;
-    int mDelay;
-    int mMappingFunctionId;
-    UString mDataField;
-    AlfPtrVector<AlfAttributeValueType> mTargetValueContainer;
-    AlfPtrVector<AlfAttributeValueType> mSourceValueContainer;
-    bool mDirtyFlag;
-    };
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttribute::AlfAttribute()
-    {
-    reset("", 0, attributecategory(0));
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttribute::AlfAttribute(const char* aName,
-                                      attributecategory aCategory)
-    {
-    reset(aName, 0, aCategory);
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttribute::AlfAttribute(const char* aName, int aValue,
-                                      TAlfUnit aUnit, attributecategory aCategory)
-    {
-    auto_ptr<AlfAttributeValueType> value(new (EMM)
-                                          AlfAttributeValueType(aValue, aUnit));
-    reset(aName, value.get(), aCategory);
-    value.release();
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttribute::AlfAttribute(const char* aName, float aValue,
-                                      TAlfUnit aUnit, attributecategory aCategory)
-    {
-    auto_ptr<AlfAttributeValueType> value(
-        new( EMM ) AlfAttributeValueType( aValue, aUnit ) );
-    reset(aName, value.get(), aCategory);
-    value.release();
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttribute::AlfAttribute(const char* aName,
-                                      const UString& aValue, attributecategory aCategory)
-    {
-    if (aCategory == EStaticData)
-        {
-        reset(aName, 0, aCategory);
-        setDataField(aValue.getUtf8());
-        }
-    else
-        {
-        auto_ptr<AlfAttributeValueType> value(
-            new( EMM ) AlfAttributeValueType( aValue ) );
-        reset(aName, value.get(), aCategory);
-        value.release();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttribute::~AlfAttribute()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Assigment operation.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttribute& AlfAttribute::operator=(const AlfAttribute& aAttribute)
-    {
-    if ( this == &aAttribute )
-        {
-        return *this;
-        }
-
-    mData.reset( new( EMM ) AlfAttributeImpl() );
-
-    mData->mCategory = aAttribute.mData->mCategory;
-    mData->mName = UString(aAttribute.name());
-    mData->mInterpolationStyle = aAttribute.mData->mInterpolationStyle;
-
-    mData->mTime = aAttribute.mData->mTime;
-    mData->mDelay = aAttribute.mData->mDelay;
-    mData->mMappingFunctionId = aAttribute.mData->mMappingFunctionId;
-    mData->mDataField = UString(aAttribute.getDataField());
-
-    int count = aAttribute.mData->mTargetValueContainer.count();
-    mData->mTargetValueContainer.resize( count );
-    for ( int i = 0 ; i < count ; i++ )
-        {
-        mData->mTargetValueContainer.insert(
-            i, cloneValueType( aAttribute.mData->mTargetValueContainer[i] ) );
-        }
-
-    count = aAttribute.mData->mSourceValueContainer.count();
-    mData->mSourceValueContainer.resize( count );
-    for ( int i = 0 ; i < count ; i++ )
-        {
-        mData->mSourceValueContainer.insert(
-            i, cloneValueType( aAttribute.mData->mSourceValueContainer[i] ) );
-        }
-
-    return *this;
-    }
-
-// ---------------------------------------------------------------------------
-// Clones the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttribute* AlfAttribute::clone()
-    {
-    auto_ptr<AlfAttribute> clone( new( EMM ) AlfAttribute() );
-    *clone.get() = *this;
-    return clone.release();
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the name of the Attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const char* AlfAttribute::name() const
-    {
-    return mData->mName.getUtf8();
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the category of the atrribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttribute::attributecategory AlfAttribute::category() const
-    {
-    return mData->mCategory;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the type of the target atrribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttributeValueType::Type AlfAttribute::type(
-    unsigned int aIndex) const
-    {
-    if (aIndex >= mData->mTargetValueContainer.count())
-        {
-        ALF_THROW(AlfAttributeException,EInvalidAttribute,"AlfAttribute")
-        }
-    return mData->mTargetValueContainer[aIndex]->type();
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the int value.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfAttribute::intValue(unsigned int aIndex) const
-    {
-    if (aIndex >= mData->mTargetValueContainer.count())
-        {
-        ALF_THROW(AlfAttributeException,EInvalidAttribute,"AlfAttribute")
-        }
-    return mData->mTargetValueContainer[aIndex]->intValue();
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the real value.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT float AlfAttribute::realValue(unsigned int aIndex) const
-    {
-    if (aIndex >= mData->mTargetValueContainer.count())
-        {
-        ALF_THROW(AlfAttributeException,EInvalidAttribute,"AlfAttribute")
-        }
-    return mData->mTargetValueContainer[aIndex]->realValue();
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the string value.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const UString& AlfAttribute::stringValue(unsigned int aIndex) const
-    {
-    if (aIndex >= mData->mTargetValueContainer.count())
-        {
-        ALF_THROW(AlfAttributeException,EInvalidAttribute,"AlfAttribute")
-        }
-    return mData->mTargetValueContainer[aIndex]->stringValue();
-    }
-
-// ---------------------------------------------------------------------------
-// Returns true if attribute is set.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT bool AlfAttribute::isValueSet() const
-    {
-    return mData->mTargetValueContainer.count() > 0;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the unit of the value.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfUnit AlfAttribute::unit(unsigned int aIndex) const
-    {
-    if (aIndex >= mData->mTargetValueContainer.count())
-        {
-        ALF_THROW(AlfAttributeException,EInvalidAttribute,"AlfAttribute")
-        }
-    return mData->mTargetValueContainer[aIndex]->unit();
-    }
-
-// ---------------------------------------------------------------------------
-// Adds a new target value to the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT  void AlfAttribute::addTargetValue(AlfAttributeValueType* aValue)
-    {
-    mData->mTargetValueContainer.resize(mData->mTargetValueContainer.count() +1 );
-    mData->mTargetValueContainer.insert(mData->mTargetValueContainer.count(), aValue);
-    }
-
-// ---------------------------------------------------------------------------
-// Gets target value count.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT  unsigned int AlfAttribute::getTargetValueCount() const
-    {
-    return mData->mTargetValueContainer.count();
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the target value of the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAttribute::setTargetValue(AlfAttributeValueType* aValue,
-        unsigned int aIndex)
-    {
-    if (aIndex < mData->mTargetValueContainer.count())
-        {
-        mData->mTargetValueContainer.remove(aIndex);
-        }
-    mData->mTargetValueContainer.insert(aIndex, aValue);
-    mData->mDirtyFlag=true;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the target value of the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttributeValueType* AlfAttribute::getTargetValue(
-    unsigned int aIndex) const
-    {
-    if (aIndex >= mData->mTargetValueContainer.count())
-        {
-        ALF_THROW(AlfAttributeException,EInvalidAttribute,"AlfAttribute")
-        }
-    return mData->mTargetValueContainer[aIndex];
-    }
-
-// ---------------------------------------------------------------------------
-// Removes the target value of the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAttribute::removeTargetValue(unsigned int aIndex)
-    {
-    if (aIndex >= mData->mTargetValueContainer.count())
-        {
-        ALF_THROW(AlfAttributeException,EInvalidAttribute,"AlfAttribute")
-        }
-    mData->mTargetValueContainer.remove(aIndex);
-    }
-
-// ---------------------------------------------------------------------------
-// Adds a new source value to the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAttribute::addSourceValue(AlfAttributeValueType* aValue)
-    {
-    mData->mSourceValueContainer.resize(mData->mSourceValueContainer.count() +1 );
-    mData->mSourceValueContainer.insert(mData->mSourceValueContainer.count(), aValue);
-    }
-
-// ---------------------------------------------------------------------------
-// Gets source value count.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT unsigned int AlfAttribute::getSourceValueCount() const
-    {
-    return mData->mSourceValueContainer.count();
-    }
-
-// ---------------------------------------------------------------------------
-// Adds a new source value to the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAttribute::setSourceValue(AlfAttributeValueType* aValue,
-        unsigned int aIndex)
-    {
-    if (aIndex < mData->mSourceValueContainer.count())
-        {
-        mData->mSourceValueContainer.remove(aIndex);
-        }
-    mData->mSourceValueContainer.insert(aIndex, aValue);
-    mData->mDirtyFlag=true;
-    }
-
-// ---------------------------------------------------------------------------
-//  Gets the source value of the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttributeValueType* AlfAttribute::getSourceValue(
-    unsigned int aIndex) const
-    {
-    if (aIndex >= mData->mSourceValueContainer.count())
-        {
-        ALF_THROW(AlfAttributeException,EInvalidAttribute,"AlfAttribute")
-        }
-    return mData->mSourceValueContainer[aIndex];
-    }
-
-// ---------------------------------------------------------------------------
-// Removes the source value of the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAttribute::removeSourceValue(unsigned int aIndex)
-    {
-    if (aIndex >= mData->mSourceValueContainer.count())
-        {
-        ALF_THROW(AlfAttributeException,EInvalidAttribute,"AlfAttribute")
-        }
-    mData->mSourceValueContainer.remove(aIndex);
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the interpolation style of the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAttribute::setInterpolationStyle(
-    TAlfInterpolationStyle aInterpolationStyle)
-    {
-    mData->mInterpolationStyle = aInterpolationStyle;
-    mData->mDirtyFlag=true;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the interpolation style of the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfInterpolationStyle AlfAttribute::getInterpolationStyle()const
-    {
-    return mData->mInterpolationStyle;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the transition time for the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAttribute::setTime(int aTime)
-    {
-    mData->mTime = aTime;
-    mData->mDirtyFlag=true;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the transition time for the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfAttribute::getTime()const
-    {
-    return mData->mTime;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the mapping function id for the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAttribute::setMappingFunctionId(int aId)
-    {
-    mData->mMappingFunctionId = aId;
-    mData->mDirtyFlag=true;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the mapping function id for the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfAttribute::getMappingFunctionId()const
-    {
-    return mData->mMappingFunctionId;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the datafield for the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAttribute::setDataField(const char* aDataField)
-    {
-    mData->mDataField = UString(aDataField);
-    mData->mDirtyFlag = true;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the datafield for the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const char* AlfAttribute::getDataField() const
-    {
-    return mData->mDataField.getUtf8();
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the delay before the transition.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAttribute::setDelay(int aDelay)
-    {
-    mData->mDelay = aDelay;
-    mData->mDirtyFlag = true;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the delay before the transition.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfAttribute::getDelay() const
-    {
-    return mData->mDelay;
-    }
-
-// ---------------------------------------------------------------------------
-// Resets the data.
-// ---------------------------------------------------------------------------
-//
-void AlfAttribute::reset( const char* aName, AlfAttributeValueType* aValue,
-                          attributecategory aCategory)
-    {
-    mData.reset(new (EMM) AlfAttributeImpl());
-
-    mData->mCategory = aCategory;
-    mData->mName = UString(aName);
-    mData->mTargetValueContainer.remove(0);
-    mData->mTargetValueContainer.insert(0, aValue);
-    }
-
-// ---------------------------------------------------------------------------
-// Helper function for cloning value type.
-// ---------------------------------------------------------------------------
-//
-AlfAttributeValueType* AlfAttribute::cloneValueType(
-    AlfAttributeValueType* aValue) const
-    {
-    AlfAttributeValueType* ret = 0;
-
-    if (aValue)
-        {
-        switch (aValue->type())
-            {
-            case AlfAttributeValueType::EInt:
-                {
-                ret = new (EMM) AlfAttributeValueType(
-                    aValue->intValue(), aValue->unit());
-                break;
-                }
-            case AlfAttributeValueType::EFloat:
-                {
-                ret = new (EMM) AlfAttributeValueType(
-                    aValue->realValue(), aValue->unit());
-                break;
-                }
-            case AlfAttributeValueType::EString:
-                {
-                ret = new (EMM) AlfAttributeValueType(
-                    aValue->stringValue());
-                break;
-                }
-            default:
-                break;
-            }
-        }
-
-    return ret;
-    }
-OSN_EXPORT bool AlfAttribute::isDirty( ) const
-    {
-    return mData->mDirtyFlag;
-    }
-
-OSN_EXPORT void AlfAttribute::setDirty(bool aFlag )
-    {
-    mData->mDirtyFlag = aFlag;
-    }
-
-    } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfattributecontainer.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* 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:   Implements the Container class for atrributes.
-*
-*/
-
-
-#include <osn/osnnew.h>
-#include <osn/alfptrvector.h>
-#include <alf/alfdataexception.h>
-#include "alf/alfattribute.h"
-#include "alf/alfattributecontainer.h"
-#include <libc/string.h>
-#include <stdexcept>
-#include <assert.h> // from libc
-
-namespace Alf
-    {
-
-
-/**
- * Attribute container implementation.
- */
-class AlfAttributeContainerImpl
-    {
-public:
-    osncore::AlfPtrVector<AlfAttribute> mAttributes;
-    AlfAttributeContainer::Type mType;
-    uint mTime;
-    };
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-
-OSN_EXPORT AlfAttributeContainer::AlfAttributeContainer(Type aType) :
-        mData(new (EMM) AlfAttributeContainerImpl())
-    {
-    mData->mType = aType;
-    mData->mTime = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttributeContainer::~AlfAttributeContainer()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the type of the container.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttributeContainer::Type AlfAttributeContainer::type() const
-    {
-    return mData->mType;
-    }
-
-// ---------------------------------------------------------------------------
-// Adds a new attribute to the container.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAttributeContainer::addAttribute(AlfAttribute* aAttribute)
-    {
-    mData->mAttributes.resize(mData->mAttributes.count() +1 );
-    mData->mAttributes.insert(mData->mAttributes.count(), aAttribute);
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the attribute count.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT unsigned int AlfAttributeContainer::attributeCount()const
-    {
-    return mData->mAttributes.count();
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttribute& AlfAttributeContainer::getAttribute(
-    unsigned int aIndex) const
-    {
-    // invariant
-    assert(aIndex < mData->mAttributes.count());
-    if (aIndex >= mData->mAttributes.count())
-        {
-        ALF_THROW(AlfDataException,EInvalidAttribute,"AlfAttributeContainer")
-        }
-
-    return *(mData->mAttributes[aIndex]);
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttribute& AlfAttributeContainer::getAttributeByName(
-    const char * aName) const
-    {
-    for (TInt i=0; i < mData->mAttributes.count(); i++)
-        {
-        if (!strcmp(mData->mAttributes[i]->name(), aName))
-            {
-            return *(mData->mAttributes[i]);
-            }
-        }
-    ALF_THROW(AlfDataException,EInvalidAttribute,"AlfAttributeContainer")
-    }
-
-// ---------------------------------------------------------------------------
-// Removes the attribute.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAttributeContainer::removeAttribute(unsigned int aIndex)
-    {
-    assert(aIndex < mData->mAttributes.count());
-    if (aIndex >= mData->mAttributes.count())
-        {
-        ALF_THROW(AlfDataException,EInvalidAttribute,"AlfAttributeContainer")
-        }
-
-    mData->mAttributes.remove(aIndex);
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the animation time of the attribute container.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfAttributeContainer::setTime(unsigned int aTime)
-    {
-    mData->mTime = aTime;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the animation time of the attribute container.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT unsigned int AlfAttributeContainer::getTime()const
-    {
-    return mData->mTime;
-    }
-
-    } // Alf
-
--- a/widgetmodel/alfwidgetmodel/src/alfattributevaluetype.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-/*
-* 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:   Implementation to know the type of attribute.
-*
-*/
-
-
-#include <e32def.h>
-#include <osn/osnnew.h>
-#include <alf/alfdataexception.h>
-#include <alf/alfattributeexception.h>
-#include "alf/alfattributevaluetype.h"
-
-#include "alfenumvalue.h"
-#include "alfrealvalue.h"
-#include "alfstringvalue.h"
-
-namespace Alf
-    {
-
-class AlfAttributeValueTypeImpl
-    {
-public:
-    AlfAttributeValueTypeImpl()
-        {
-        mValueType = NULL;
-        }
-
-    ~AlfAttributeValueTypeImpl()
-        {
-        delete mValueType;
-        }
-
-    AlfAttributeValueType* mValueType;
-    };
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-AlfAttributeValueType::AlfAttributeValueType()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttributeValueType::AlfAttributeValueType(int aValue,
-        TAlfUnit aUnit)
-    {
-    auto_ptr<AlfEnumValue> value(new (EMM) AlfEnumValue(aValue, aUnit));
-    auto_ptr<AlfAttributeValueTypeImpl> valueType(
-        new (EMM) AlfAttributeValueTypeImpl());
-
-    mData.reset(valueType.release());       // ownership transferred
-    mData->mValueType = value.release();    // ownership transferred
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttributeValueType::AlfAttributeValueType(float aValue,
-        TAlfUnit aUnit)
-    {
-    auto_ptr<AlfRealValue> value(new (EMM) AlfRealValue(aValue, aUnit));
-    auto_ptr<AlfAttributeValueTypeImpl> valueType(
-        new (EMM) AlfAttributeValueTypeImpl());
-
-    mData.reset(valueType.release());       // ownership transferred
-    mData->mValueType = value.release();    // ownership transferred
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttributeValueType::AlfAttributeValueType(const UString& aValue)
-    {
-    auto_ptr<AlfStringValue> value(new (EMM) AlfStringValue(aValue));
-    auto_ptr<AlfAttributeValueTypeImpl> valueType(
-        new (EMM) AlfAttributeValueTypeImpl());
-
-    mData.reset(valueType.release());       // ownership transferred
-    mData->mValueType = value.release();    // ownership transferred
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttributeValueType::~AlfAttributeValueType()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the enum value.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfAttributeValueType::enumValue() const
-    {
-    return intValue();
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the string value.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const UString& AlfAttributeValueType::stringValue() const
-    {
-    if (type() != EString)
-        {
-        ALF_THROW(AlfDataException,EInvalidAttributeValue,"AlfAttributeValueType")
-        }
-    return mData->mValueType->stringValue();
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the int value.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfAttributeValueType::intValue() const
-    {
-    if (type() != EInt)
-        {
-        ALF_THROW(AlfDataException,EInvalidAttributeValue,"AlfAttributeValueType")
-        }
-    return mData->mValueType->enumValue();
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the real value.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT float AlfAttributeValueType::realValue() const
-    {
-    if (type() != EFloat)
-        {
-        ALF_THROW(AlfDataException,EInvalidAttributeValue,"AlfAttributeValueType")
-        }
-    return mData->mValueType->realValue();
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the RGB value.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT float AlfAttributeValueType::rgbValue() const
-    {
-    return realValue();
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the type of the atrribute value.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfAttributeValueType::Type AlfAttributeValueType::type() const
-    {
-    return mData->mValueType->type();
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the unit.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfUnit AlfAttributeValueType::unit() const
-    {
-    return mData->mValueType->unit();
-    }
-
-    } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfcommonattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/*
-* 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:   This class implements common attribute setters.
-*
-*/
-
-
-#include <libc/string.h>
-#include <utf.h>
-
-#include <osn/ustring.h>
-#include <stdexcept>
-#include "alf/attrproperty.h"
-
-#include "alf/alfattribute.h"
-#include "alf/alfcommonattributesetter.h"
-#include <alf/alfvisual.h>
-#include <alf/alfattributeexception.h>
-#include "alf/alfattributecontainer.h"
-
-using namespace duiuimodel::commonattributes;
-
-namespace Alf
-    {
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfCommonAttributeSetter::AlfCommonAttributeSetter()
-    {
-    mDoDirtycheck=false;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfCommonAttributeSetter::~AlfCommonAttributeSetter()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the type of the attribute setter.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT SetterType AlfCommonAttributeSetter::setterType()
-    {
-    return ECustomAttributeSetter;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets an attribute value in the target visual immediately
-// without a transition.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfCommonAttributeSetter::setAttributeValue(
-    CAlfVisual &aVisual,
-    AlfAttributeContainer* aContainer,
-    IAlfMap* aData)
-    {
-    if (!aContainer)
-        {
-        ALF_THROW ( AlfAttributeException, EInvalidAttribute,
-                    "AlfCommonAttributeSetter" )
-        }
-
-    unsigned int attrCount = aContainer->attributeCount();
-    for (int i=0; i<attrCount; ++i)
-        {
-        AlfAttribute& attr = aContainer->getAttribute(i);
-        const char* attrName = attr.name();
-
-        if (attr.category() == AlfAttribute::EStaticData)
-            {
-            handleStaticDataAttribute(aVisual, attr, *aContainer, aData);
-            }
-        else if (attr.category() == AlfAttribute::EDynamicData)
-            {
-            handleDynamicDataAttribute(aVisual, attr, *aContainer, aData);
-            }
-        else if (attr.category() == AlfAttribute::EStatic)
-            {
-            if ((mDoDirtycheck&&attr.isDirty())||!mDoDirtycheck)
-                {
-                handleStaticAttribute(aVisual, attr, *aContainer);
-                }
-            attr.setDirty(false);
-
-            }
-        else if (attr.category() == AlfAttribute::EDynamic)
-            {
-            if ((mDoDirtycheck&&attr.isDirty())||!mDoDirtycheck)
-                {
-                handleDynamicAttribute(aVisual, attr, *aContainer);
-                }
-            attr.setDirty(false);
-
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Creates a command to change the value of an attribute in the target visual.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfCommand* AlfCommonAttributeSetter::createCommand(
-    CAlfVisual& /*aVisual*/, AlfAttributeContainer* /*aContainer*/,
-    IAlfMap* /*aData*/, int /*aTransitionTime*/, CAlfVisual* /*aRefVisual*/)
-    {
-    // No need to implement.
-    TAlfCommand* cmd = 0;
-    return cmd;
-    }
-
-// ---------------------------------------------------------------------------
-// Creates commands to change the given attribute values in the target visual.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfCommonAttributeSetter::createAndSendCommands(
-    CAlfVisual& /*aVisual*/, AlfAttributeContainer* /*aContainer*/,
-    CAlfVisual* /*aRefVisual*/)
-    {
-    // No need to implement.
-    }
-
-// ---------------------------------------------------------------------------
-// Getter for interfaces provided by the element classes.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfInterfaceBase* AlfCommonAttributeSetter::makeInterface(
-    const IfId& aType)
-    {
-    UString param(aType.mImplementationId);
-    if (param == IAlfAttributeSetter::type().mImplementationId)
-        {
-        return this;
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// Converts text between Unicode (UCS-2) and the Unicode transformation
-// format UTF-8.
-// ---------------------------------------------------------------------------
-//
-HBufC* AlfCommonAttributeSetter::convertToUnicodeFromUtf8(
-    const TPtrC8& aSrc) const
-    {
-    HBufC* desValue = 0;
-    TRAPD( err, desValue = CnvUtfConverter::ConvertToUnicodeFromUtf8L(aSrc))
-    if (err != KErrNone)
-        {
-        ALF_THROW(AlfAttributeException, err,"AlfCommonAttributeSetter")
-        }
-    return desValue;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets a value of a static attribute to target visual immediately
-// without a transition.
-// ---------------------------------------------------------------------------
-//
-void AlfCommonAttributeSetter::handleStaticAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& /*aContainer*/)
-    {
-    const char* attrName = aAttr.name();
-    if (!strcmp(attrName, KId))
-        {
-        const char* val = aAttr.stringValue().getUtf8();
-        TPtrC8 src((TUint8*)val);
-        TRAPD(err, aVisual.SetTagL( src ));
-        if (err)
-            {
-            ALF_THROW(AlfAttributeException, err,
-                      "AlfCommonAttributeSetter")
-            }
-        }
-    }
-// ---------------------------------------------------------------------------
-// Sets a dynamic attribute value in the target visual using transitions
-// defined in attributes.
-// ---------------------------------------------------------------------------
-//
-void AlfCommonAttributeSetter::handleDynamicAttribute(
-    CAlfVisual& /*aVisual*/, AlfAttribute& /*aAttr*/,
-    AlfAttributeContainer& /*aContainer*/)
-    {
-    //nothing to do
-    }
-
-// ---------------------------------------------------------------------------
-// Sets a value for static data attribute in the target visual
-// immediately without a transition using data in map.
-// ---------------------------------------------------------------------------
-//
-void AlfCommonAttributeSetter::handleStaticDataAttribute(
-    CAlfVisual& /*aVisual*/, AlfAttribute& /*aAttr*/,
-    AlfAttributeContainer& /*aContainer*/, IAlfMap* /*aData*/)
-    {
-    //nothing to do
-    }
-
-// ---------------------------------------------------------------------------
-// Sets a value for dynamic data attribute value in the target visual
-// using transitions and data in map.
-// ---------------------------------------------------------------------------
-//
-void AlfCommonAttributeSetter::handleDynamicDataAttribute(
-    CAlfVisual& /*aVisual*/, AlfAttribute& /*aAttr*/,
-    AlfAttributeContainer& /*aContainer*/, IAlfMap* /*aData*/)
-    {
-    //nothing to do
-    }
-
-OSN_EXPORT void AlfCommonAttributeSetter::enableDirtyCheck(bool aCheck)
-    {
-    mDoDirtycheck=aCheck;
-    }
-    } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfcommonlayoutattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,412 +0,0 @@
-/*
-* 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:   Implements common attributesetters for layout.
-*
-*/
-
-
-
-#include "alf/alfattribute.h"
-#include "alf/alfcommonlayoutattributesetter.h"
-#include "alf/alfattributevaluetype.h"
-#include <alf/alfvisual.h>
-#include <alf/alflayout.h>
-#include <alf/alfattributeexception.h>
-#include "alf/alfattributecontainer.h"
-#include <libc/string.h>
-#include <osn/ustring.h>
-#include "alf/attrproperty.h"
-#include <alf/alfexception.h>
-#include <alf/alfdataexception.h>
-#include <alf/alfvisualexception.h>
-#include <e32cmn.h>
-#include <utf.h>
-
-using namespace osncore;
-
-using namespace duiuimodel::layoutattributes;
-
-namespace Alf
-    {
-
-static void throwIfNot ( bool aBoolean )
-    {
-    if ( !aBoolean )
-        {
-        ALF_THROW ( AlfAttributeException, EInvalidAttribute,"CAlfCommonlayoutAttributeSetter")
-        }
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfCommonLayoutAttributeSetter::AlfCommonLayoutAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfCommonLayoutAttributeSetter::~AlfCommonLayoutAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Sets Attribute Value. Delegates based on attribute Category.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfCommonLayoutAttributeSetter::setAttributeValue (
-    CAlfVisual &aVisual,
-    AlfAttributeContainer* aContainer,
-    IAlfMap* aData )
-    {
-    CAlfLayout* layout = dynamic_cast<CAlfLayout*> ( &aVisual );
-
-    if ( !layout )
-        {
-        ALF_THROW ( AlfVisualException, EInvalidVisual,
-                    "AlfCommonLayoutAttributeSetter" )
-        }
-
-    AlfCommonVisualAttributeSetter::setAttributeValue(aVisual,
-            aContainer, aData);
-    }
-
-void AlfCommonLayoutAttributeSetter::handleStaticDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr,
-        AlfAttributeContainer& aContainer, IAlfMap* aData )
-    {
-
-    if ( aData )
-        {
-        CAlfLayout* layout = dynamic_cast<CAlfLayout*> ( &aVisual );
-        if(!layout)
-            {
-            return;
-            }
-
-        const char* attrName = aAttr.name();
-
-        if ( !strcmp ( attrName, KBaseUnitX ) )
-            {
-            IAlfVariantType* dataX = aData->item ( UString(aAttr.getDataField()) );
-            AlfAttribute& attrY = aContainer.getAttributeByName ( KBaseUnitY );
-
-            IAlfVariantType* dataY = aData->item ( UString(attrY.getDataField()));
-
-            if (dataX!=NULL&&dataX->type() == IAlfVariantType::EMap&&
-                    dataY!=NULL&&dataY->type() == IAlfVariantType::EMap)
-                {
-                IAlfVariantType* valueX=((IAlfMap*)dataX)->item(UString("value"));
-                IAlfVariantType* unitX=((IAlfMap*)dataX)->item(UString("unit"));
-                IAlfVariantType* valueY=((IAlfMap*)dataY)->item(UString("value"));
-                IAlfVariantType* unitY=((IAlfMap*)dataY)->item(UString("unit"));
-
-                TAlfMetric xMetric ( valueX->real(), (TAlfUnit)unitX->integer() );
-                TAlfMetric yMetric ( valueX->real(), (TAlfUnit)unitX->integer());
-                TAlfXYMetric xyMetric ( xMetric, yMetric );
-                layout->SetBaseUnit( xyMetric );
-                }
-            else if (dataX!=NULL&&dataX->type() == IAlfVariantType::EReal&&
-                     dataY!=NULL&&dataY->type() == IAlfVariantType::EReal)
-                {
-                TAlfMetric xMetric ( (float)dataX->real() );
-                TAlfMetric yMetric ( (float)dataY->real());
-                TAlfXYMetric xyMetric ( xMetric, yMetric );
-                layout->SetBaseUnit( xyMetric );
-                }
-            }
-        else if ( !strcmp ( attrName, KBaseUnitY ) )
-            {
-            //we have handled it
-            }
-
-        else if ( !strcmp ( attrName, KUpdateLayoutTime ) )
-            {
-            IAlfVariantType* data = aData->item (UString(aAttr.getDataField()) );
-
-            if ( data && data->type() == IAlfVariantType::EInt )
-                {
-                layout->SetTransitionTime ( data->integer() );
-                }
-            else if ( data && data->type() == IAlfVariantType::EReal )
-                {
-                layout->SetTransitionTime ( ( int ) data->real() );
-                }
-            }
-        else if ( !strcmp ( attrName, KTransitionTime ) )
-            {
-            IAlfVariantType* data = aData->item (UString(aAttr.getDataField()) );
-
-            if ( data && data->type() == IAlfVariantType::EInt )
-                {
-                layout->SetTransitionTime ( data->integer() );
-                }
-            else if ( data && data->type() == IAlfVariantType::EReal )
-                {
-                layout->SetTransitionTime ( ( int ) data->real() );
-                }
-            }
-        else if ( !strcmp ( attrName, KAutomaticLocaleMirroring ) )
-            {
-            IAlfVariantType* data = aData->item (UString(aAttr.getDataField()) );
-            throwIfNot ( data != NULL && data->type() == IAlfVariantType::EString );
-
-            if ( !strcmp ( data->string().getUtf8(), "true" ) )
-                layout->SetFlag ( EAlfVisualFlagAutomaticLocaleMirroringEnabled );
-            else if ( !strcmp ( data->string().getUtf8(), "false" ) )
-                layout->ClearFlag ( EAlfVisualFlagAutomaticLocaleMirroringEnabled );
-            }
-        else if ( !strcmp ( attrName, KInnerPaddingHoriz ) )
-            {
-            IAlfVariantType* dataX = aData->item (UString(aAttr.getDataField()) );
-            AlfAttribute& attrY = aContainer.getAttributeByName ( KInnerPaddingVertical );
-
-            IAlfVariantType* dataY = aData->item ( UString(attrY.getDataField() ));
-
-            if (dataX&&dataX->type() == IAlfVariantType::EMap&&dataY
-                    &&dataY->type()== IAlfVariantType::EMap)
-                {
-                IAlfVariantType* valueX=((IAlfMap*)dataX)->item(UString("value"));
-                IAlfVariantType* unitX=((IAlfMap*)dataX)->item(UString("unit"));
-                IAlfVariantType* valueY=((IAlfMap*)dataY)->item(UString("value"));
-                IAlfVariantType* unitY=((IAlfMap*)dataY)->item(UString("unit"));
-
-                TAlfMetric xMetric ( valueX->real(), (TAlfUnit)unitX->integer() );
-                TAlfMetric yMetric ( valueX->real(), (TAlfUnit)unitX->integer());
-                TAlfXYMetric xyMetric ( xMetric, yMetric );
-                layout->SetInnerPadding( xyMetric );
-                }
-            if ( dataX&&dataX->type() == IAlfVariantType::EReal&&dataY
-                    &&dataY->type()== IAlfVariantType::EReal)
-                {
-                TAlfMetric xMetric ( dataX->real(),EAlfUnitPixel );
-                TAlfMetric yMetric ( dataY->real() ,EAlfUnitPixel);
-                TAlfXYMetric xyMetric ( xMetric, yMetric );
-                layout->SetInnerPadding( xyMetric );
-                }
-            }
-        else if ( !strcmp ( attrName, KInnerPaddingVertical ) )
-            {
-			// we have handled it
-            }
-        else if ( !strcmp ( attrName, KScrolling ) )
-            {
-            IAlfVariantType* data = aData->item ( UString(aAttr.getDataField() ));
-
-            throwIfNot ( data != NULL && data->type() == IAlfVariantType::EString );
-
-            if ( !strcmp ( data->string().getUtf8(), "true" ) )
-                {
-                TRAPD(err,layout->EnableScrollingL())
-                throwIfNot(err!=KErrNone);
-                }
-
-            else
-                {
-                TRAPD(err,layout->EnableScrollingL(false))
-                throwIfNot(err!=KErrNone);
-                }
-            }
-        else if ( !strcmp ( attrName, KLayoutScrollOffsetX ) )
-            {
-            IAlfVariantType* dataX = aData->item ( UString(aAttr.getDataField() ));
-            throwIfNot ( dataX != NULL && dataX->type() == IAlfVariantType::EReal );
-
-            AlfAttribute& attrY = aContainer.getAttributeByName ( KLayoutScrollOffsetY );
-            IAlfVariantType* dataY = aData->item (UString( attrY.getDataField() ));
-            throwIfNot ( dataY != NULL && dataY->type() == IAlfVariantType::EReal );
-
-            TAlfTimedPoint point ( dataX->real(), dataY->real() );
-            layout->SetScrollOffset ( point );
-            }
-        else if ( !strcmp ( attrName, KLayoutScrollOffsetY ) )
-            {
-			// we have handled it
-            }
-        else
-            {
-            AlfCommonVisualAttributeSetter::handleStaticDataAttribute( aVisual, aAttr, aContainer, aData);
-            }
-        }
-    }
-
-void AlfCommonLayoutAttributeSetter::handleDynamicDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr,
-        AlfAttributeContainer& aContainer, IAlfMap* aData )
-    {
-    AlfCommonVisualAttributeSetter::handleDynamicDataAttribute( aVisual, aAttr, aContainer, aData);
-    }
-
-void AlfCommonLayoutAttributeSetter::handleStaticAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr,
-        AlfAttributeContainer& aContainer)
-    {
-    CAlfLayout* layout = dynamic_cast<CAlfLayout*> ( &aVisual );
-    if(!layout)
-        {
-        return;
-        }
-    const char* attrName = aAttr.name();
-
-    if ( !strcmp ( attrName, KBaseUnitX )||!strcmp ( attrName, KBaseUnitY ) )
-        {
-        AlfAttribute& attrX = aContainer.getAttributeByName ( KBaseUnitX );
-        AlfAttribute& attrY = aContainer.getAttributeByName ( KBaseUnitY );
-        TAlfMetric xMetric ( attrX.realValue(), attrX.unit() );
-        TAlfMetric yMetric ( attrY.realValue(), attrY.unit() );
-        TAlfXYMetric xyMetric ( xMetric, yMetric );
-        layout->SetBaseUnit ( xyMetric );
-        attrX.setDirty(false);
-        attrY.setDirty(false);
-        }
-    else if ( !strcmp ( attrName, KUpdateLayoutTime ) )
-        {
-        if ( aAttr.type() == AlfAttributeValueType::EInt )
-            {
-            layout->SetTransitionTime ( aAttr.intValue() );
-            }
-        else if ( aAttr.type() == AlfAttributeValueType::EFloat )
-            {
-            layout->SetTransitionTime ( ( int ) aAttr.realValue() );
-            }
-        }
-    else if ( !strcmp ( attrName, KTransitionTime ) )
-        {
-        if ( aAttr.type() == AlfAttributeValueType::EInt )
-            {
-            layout->SetTransitionTime ( aAttr.intValue() );
-            }
-        else if ( aAttr.type() == AlfAttributeValueType::EFloat )
-            {
-            layout->SetTransitionTime ( ( int ) aAttr.realValue() );
-            }
-        }
-    else if ( !strcmp ( attrName, KAutomaticLocaleMirroring ) )
-        {
-        throwIfNot ( aAttr.type() == AlfAttributeValueType::EString );
-
-        if ( !strcmp ( aAttr.stringValue().getUtf8(), "true" ) )
-            {
-            layout->SetFlag ( EAlfVisualFlagAutomaticLocaleMirroringEnabled );
-            }
-        else if ( !strcmp ( aAttr.stringValue().getUtf8(), "false" ) )
-            {
-            layout->ClearFlag ( EAlfVisualFlagAutomaticLocaleMirroringEnabled );
-            }
-        }
-    else if ( !strcmp ( attrName, KInnerPaddingHoriz )||!strcmp ( attrName, KInnerPaddingVertical ) )
-        {
-        AlfAttribute& attrY = aContainer.getAttributeByName ( KInnerPaddingVertical );
-        AlfAttribute& attrX= aContainer.getAttributeByName ( KInnerPaddingHoriz );
-        throwIfNot ( attrX.type() == AlfAttributeValueType::EFloat );
-        throwIfNot ( attrY.type() == AlfAttributeValueType::EFloat );
-        TAlfMetric xMetric ( attrX.realValue(), attrX.unit() );
-        TAlfMetric yMetric ( attrY.realValue(), attrY.unit() );
-        TAlfXYMetric xyMetric ( xMetric, yMetric );
-        layout->SetInnerPadding ( xyMetric );
-        attrX.setDirty(false);
-        attrY.setDirty(false);
-        }
-    else if ( !strcmp ( attrName, KScrolling ) )
-        {
-        throwIfNot ( aAttr.type() == AlfAttributeValueType::EString );
-
-        if ( !strcmp ( aAttr.stringValue().getUtf8(), "true" ) )
-            {
-            TRAPD(err, layout->EnableScrollingL () );
-            throwIfNot (err==KErrNone);
-            }
-        else
-            {
-            TRAPD(err, layout->EnableScrollingL ( false ) );
-            throwIfNot (err==KErrNone);
-            }
-        }
-    else if ( !strcmp ( attrName, KLayoutScrollOffsetX )||!strcmp ( attrName, KLayoutScrollOffsetY ) )
-        {
-        AlfAttribute& attrY = aContainer.getAttributeByName ( KLayoutScrollOffsetY );
-        AlfAttribute& attrX = aContainer.getAttributeByName ( KLayoutScrollOffsetX );
-
-        TAlfTimedPoint point ( attrX.realValue(), attrY.realValue() );
-
-        layout->SetScrollOffset ( point );
-        attrX.setDirty(false);
-        attrY.setDirty(false);
-        }
-    else
-        {
-        AlfCommonVisualAttributeSetter::handleStaticAttribute(aVisual, aAttr, aContainer);
-        }
-    }
-
-void AlfCommonLayoutAttributeSetter::handleDynamicAttribute( CAlfVisual &aVisual, AlfAttribute& aAttr,
-        AlfAttributeContainer& aContainer)
-    {
-    AlfCommonVisualAttributeSetter::handleDynamicAttribute(
-        aVisual, aAttr, aContainer);
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfCommand* AlfCommonLayoutAttributeSetter::createCommand (
-    CAlfVisual& aVisual, AlfAttributeContainer* aContainer,
-    IAlfMap* aData, int aTransitionTime, CAlfVisual* aRefVisual )
-    {
-    TAlfCommand* cmd = 0;
-    cmd = AlfCommonVisualAttributeSetter::createCommand (
-              aVisual,
-              aContainer,
-              aData,
-              aTransitionTime,
-              aRefVisual );
-    return cmd;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfCommonLayoutAttributeSetter::createAndSendCommands (
-    CAlfVisual& aVisual,
-    AlfAttributeContainer* aContainer,
-    CAlfVisual* aRefVisual )
-    {
-
-    unsigned int attrCount = aContainer->attributeCount();
-
-    for ( int i = 0; i < attrCount; ++i )
-        {
-        AlfAttribute* attrib = & ( aContainer->getAttribute ( i ) );
-        const char* attrName = attrib->name();
-
-        if (strcmp ( attrName, KBaseUnitX )&&strcmp ( attrName, KBaseUnitY )
-                &&strcmp ( attrName, KUpdateLayoutTime )&&strcmp ( attrName, KTransitionTime )
-                &&strcmp ( attrName, KAutomaticLocaleMirroring )&&strcmp ( attrName, KInnerPaddingHoriz )
-                &&strcmp ( attrName, KInnerPaddingVertical ))
-            {
-            // Call the base class implementation also.
-            // It goes through the same loop again and checks if there are attributes
-            // that it handles.
-            AlfCommonVisualAttributeSetter::createAndSendCommands (
-                aVisual,
-                aContainer,
-                aRefVisual );
-            }
-        }
-    }
-
-
-    } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfcommonvisualattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,843 +0,0 @@
-/*
-* 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:  attributesetter for common visual attributes
-*
-*/
-
-
-#include "alf/alfattribute.h"
-#include "alf/alfcommonvisualattributesetter.h"
-#include "alf/alfattributevaluetype.h"
-#include <alf/alfvisual.h>
-#include <alf/alfattributeexception.h>
-#include <alf/alfdataexception.h>
-#include <alf/alfvisualexception.h>
-#include "alf/alfattributecontainer.h"
-#include <libc/string.h>
-#include <osn/ustring.h>
-#include "alf/attrproperty.h"
-#include <alf/alfenv.h>
-
-using namespace osncore;
-
-using namespace duiuimodel::commonattributes;
-using namespace duiuimodel::commonattributevalues;
-using namespace duiuimodel::commonvisualattributes;
-using namespace duiuimodel::layoutattributes;
-using namespace duiuimodel::rect;
-using namespace duiuimodel::padding;
-using namespace duiuimodel::tactileattributes;
-
-namespace Alf
-    {
-
-// ---------------------------------------------------------------------------
-// gets the data from map pointed by attribute's field name.
-// ---------------------------------------------------------------------------
-//
-IAlfVariantType* getData(const AlfAttribute& aAttr, IAlfMap* aData)
-    {
-    IAlfVariantType* data = 0;
-    const char* dataField = aAttr.getDataField();
-    if (dataField)
-        {
-        data = aData->item(UString(dataField));
-        }
-    return data;
-    }
-
-// ---------------------------------------------------------------------------
-// gets the time from attribute safely.
-// ---------------------------------------------------------------------------
-//
-int getTime(const AlfAttribute& aAttr, bool aImmediate = false)
-    {
-    int time = 0;
-    if (!aImmediate)
-        {
-        time = aAttr.getTime();
-        }
-
-    return time;
-    }
-
-// ---------------------------------------------------------------------------
-// sets source values from aAttr to aPoint.
-// ---------------------------------------------------------------------------
-//
-void setSourceValue(TAlfTimedValue& aValue, const AlfAttribute& aAttr)
-    {
-    if (aAttr.getSourceValueCount() > 0)
-        {
-        aValue.SetValueNow(aAttr.getSourceValue()->realValue());
-        }
-    }
-// ---------------------------------------------------------------------------
-// sets source values to aPoint.
-// ---------------------------------------------------------------------------
-//
-void SetSourceValues(TAlfTimedPoint& aPoint, const AlfAttribute& aAttrX,
-                     const AlfAttribute& aAttrY)
-    {
-    if (aAttrX.getSourceValueCount() > 0)
-        {
-        aPoint.iX.SetValueNow(aAttrX.getSourceValue()->realValue());
-        }
-    if (aAttrY.getSourceValueCount() > 0)
-        {
-        aPoint.iY.SetValueNow(aAttrY.getSourceValue()->realValue());
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// sets source values to aRect.
-// ---------------------------------------------------------------------------
-//
-void SetSourceRect(TAlfRealRect& aRect, const AlfAttribute& aAttrTopX,
-                   const AlfAttribute& aAttrTopY,
-                   const AlfAttribute& aAttrBottomRightX,
-                   const AlfAttribute& aAttrBottomRightY)
-    {
-    if (aAttrTopX.getSourceValueCount() > 0)
-        {
-        aRect.iTl.iX = aAttrTopX.getSourceValue()->realValue();
-        }
-    if (aAttrTopY.getSourceValueCount() > 0)
-        {
-        aRect.iTl.iY = aAttrTopY.getSourceValue()->realValue();
-        }
-    if (aAttrBottomRightX.getSourceValueCount() > 0)
-        {
-        aRect.iBr.iX = aAttrBottomRightX.getSourceValue()->realValue();
-        }
-    if (aAttrBottomRightY.getSourceValueCount() > 0)
-        {
-        aRect.iBr.iY = aAttrBottomRightY.getSourceValue()->realValue();
-        }
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfCommonVisualAttributeSetter::AlfCommonVisualAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfCommonVisualAttributeSetter::~AlfCommonVisualAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// creates one command.
-// deprecated
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfCommand* AlfCommonVisualAttributeSetter::createCommand(
-    CAlfVisual& /*aVisual*/, AlfAttributeContainer* /*aContainer*/,
-    IAlfMap* /*aData*/, int /*aTransitionTime*/, CAlfVisual* /*aRefVisual*/ )
-    {
-    return 0;
-    }
-
-// ---------------------------------------------------------------------------
-// creates and sends one or more commands.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfCommonVisualAttributeSetter::createAndSendCommands(
-    CAlfVisual& aVisual,
-    AlfAttributeContainer* aContainer,
-    CAlfVisual* aRefVisual )
-    {
-    unsigned int attrCount = aContainer->attributeCount();
-
-    for ( int i = 0; i < attrCount; ++i )
-        {
-        AlfAttribute& attr = aContainer->getAttribute(i);
-        sendCommandsForAttribute(aVisual, *aContainer, attr, aRefVisual);
-        }
-
-    // Call the base class implementation also.
-    // It goes through the same loop again and checks if there are attributes
-    // that it handles.
-    AlfCommonAttributeSetter::createAndSendCommands(
-        aVisual,
-        aContainer,
-        aRefVisual );
-    }
-
-// ---------------------------------------------------------------------------
-// Sets an value of a static attribute to target visual immediately
-// without a transition.
-// ---------------------------------------------------------------------------
-//
-void AlfCommonVisualAttributeSetter::handleStaticAttribute(
-    CAlfVisual &aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer)
-    {
-    const char* attrName = aAttr.name();
-    if ( !strcmp(attrName, KParentVisual))
-        {
-        }
-    else if (!strcmp(attrName, KMaxHeight)||!strcmp(attrName, KMaxWidth))
-        {
-        setMaxSize(aVisual,aContainer,NULL);
-        }
-    else if (!strcmp(attrName, KMinHeight)||!strcmp(attrName, KMinWidth))
-        {
-        setMinSize(aVisual,aContainer,NULL);
-        }
-    else if (!strcmp(attrName, KPaddingTop)||!strcmp(attrName, KPaddingBottom)
-             ||!strcmp(attrName, KPaddingLeft)||!strcmp(attrName, KPaddingRight))
-        {
-        setPadding(aVisual,aContainer,NULL);
-
-        }
-    else if (!strcmp(attrName, KSetFlags))
-        {
-        int val = aAttr.intValue();
-        aVisual.SetFlags(val);
-        }
-    else if (!strcmp(attrName, KClearFlags))
-        {
-        int val = aAttr.intValue();
-        aVisual.ClearFlags(val);
-        }
-    else if (!strcmp(attrName, KEventInput) || !strcmp(attrName, KFeedbackType))
-        {
-        setTactileFeedback(aVisual,aContainer,NULL);
-        }
-    // turnangle and secondaryalpha are implemented by derived attributesetters
-    else
-        {
-        //check, if dynamic attribute, if so, set attributes immediately.
-        if (!doHandleDynamicAttribute(aVisual, aAttr, aContainer, true))
-            {
-            //not handled here, try base class.
-            AlfCommonAttributeSetter::handleStaticAttribute(aVisual,
-                    aAttr, aContainer);
-            }
-        }
-    }
-
-void AlfCommonVisualAttributeSetter::setTactileFeedback(CAlfVisual &aVisual,AlfAttributeContainer& aContainer,IAlfMap* /*aData*/)
-    {
-    TRAPD( error, aVisual.SetTactileFeedbackL(
-        aContainer.getAttributeByName( KEventInput ).intValue(),
-        aContainer.getAttributeByName( KFeedbackType ).intValue() ) );
-
-	if(error != KErrNone)
-	    {
-		ALF_THROW(AlfVisualException,EInvalidAttribute,"AlfCommonVisualAttributeSetter")
-	    }
-	try
-    	{
-        aContainer.getAttributeByName( duiuimodel::tactileattributes::KEventInput ).setDirty( false );
-        aContainer.getAttributeByName( duiuimodel::tactileattributes::KFeedbackType ).setDirty( false );
-    	}
-    	
-    catch( AlfDataException& exception )
-	    {
-		//exception needed here?
-	    }
-    }
-
-// ---------------------------------------------------------------------------
-// Sets an dynamic attribute value in the target visual
-// using transitions defined in attributes
-// ---------------------------------------------------------------------------
-//
-void AlfCommonVisualAttributeSetter::handleDynamicAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer)
-    {
-    if (!doHandleDynamicAttribute(aVisual, aAttr, aContainer))
-        {
-        //not handled here, try base class.
-        AlfCommonAttributeSetter::handleDynamicAttribute(aVisual, aAttr,
-                aContainer);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Sets an value for static attribute in the target visual immediately
-// without a transition using data in map.
-// ---------------------------------------------------------------------------
-//
-void AlfCommonVisualAttributeSetter::handleStaticDataAttribute(
-    CAlfVisual &aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, IAlfMap* aData)
-    {
-
-    if (aData)
-        {
-        const char* attrName = aAttr.name();
-
-        if (!strcmp(attrName, KMaxHeight))
-            {
-            // If maxheight exists, maxwidth must exists also.
-            const IAlfVariantType* maxHeight = getData(aAttr, aData);
-            const IAlfVariantType* maxWidth = getData(
-                                                  aContainer.getAttributeByName(KMaxWidth), aData);
-
-            if (maxHeight && maxHeight->type() == IAlfVariantType::EReal &&
-                    maxWidth && maxWidth->type() == IAlfVariantType::EReal)
-                {
-                TAlfRealSize size( maxWidth->real(), maxHeight->real() );
-                aVisual.SetMaxSize(size);
-                }
-            }
-        else if (!strcmp(attrName, KMinHeight))
-            {
-            //If minheight exists, minwidth must exists also.
-            const IAlfVariantType* minHeight = getData(aAttr, aData);
-            const IAlfVariantType* minWidth = getData(
-                                                  aContainer.getAttributeByName(KMinWidth), aData);
-
-            if (minHeight && minHeight->type() == IAlfVariantType::EReal &&
-                    minWidth && minWidth->type() == IAlfVariantType::EReal)
-                {
-                TAlfRealSize size( minWidth->real(), minHeight->real() );
-                aVisual.SetMinSize(size);
-                }
-            }
-        else if (!strcmp(attrName, KPaddingTop))
-            {
-            const IAlfVariantType* top = getData(aAttr, aData);
-            const IAlfVariantType* right = getData(
-                                               aContainer.getAttributeByName(KPaddingRight), aData);
-            const IAlfVariantType* bottom = getData(
-                                                aContainer.getAttributeByName(KPaddingBottom), aData);
-            const IAlfVariantType* left = getData(
-                                              aContainer.getAttributeByName(KPaddingLeft), aData);
-
-            if (top && top->type() == IAlfVariantType::EReal &&
-                    right && right->type() == IAlfVariantType::EReal &&
-                    bottom && bottom->type() == IAlfVariantType::EReal &&
-                    left && left->type() == IAlfVariantType::EReal)
-                {
-                float l = left->real();
-                float r = right->real();
-                float t = top->real();
-                float b = bottom->real();
-                TAlfBoxMetric metric(l, r, t, b);
-                aVisual.SetPadding(metric);
-                }
-            }
-        else if (!strcmp(attrName, KSetFlags))
-            {
-            const IAlfVariantType* flag = getData(aAttr, aData);
-            if (flag && flag->type() == IAlfVariantType::EInt)
-                {
-                int flagValue  = flag->integer();
-                aVisual.SetFlags(flagValue);
-                }
-            }
-        else if (!strcmp(attrName, KClearFlags))
-            {
-            const IAlfVariantType* flag = getData(aAttr, aData);
-            if (flag && flag->type() == IAlfVariantType::EInt)
-                {
-                int flagValue  = flag->integer();
-                aVisual.ClearFlags(flagValue);
-                }
-            }
-        // turnangle and secondaryalpha are implemented by derived attributesetters
-        else if (strcmp(attrName, KMaxWidth) &&         //these are already
-                 strcmp(attrName, KMinWidth) &&         //handled above
-                 strcmp(attrName, KPaddingRight) &&
-                 strcmp(attrName, KPaddingBottom) &&
-                 strcmp(attrName, KPaddingLeft))
-            {
-            //check, if dynamic attribute, if so, set attributes immediately.
-            //If not, the function will call baseclass SetAttributeValue.
-            if (!doHandleDynamicDataAttribute(aVisual, aAttr,
-                                              aContainer, aData, true))
-                {
-                //not handled here, try base class.
-                AlfCommonAttributeSetter::handleStaticDataAttribute(
-                    aVisual, aAttr, aContainer, aData);
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From AlfCommonAttributeSetter
-//
-// Sets a value for dynamic data attribute value in the target visual
-// using transitions and data in map.
-// ---------------------------------------------------------------------------
-//
-void AlfCommonVisualAttributeSetter::handleDynamicDataAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, IAlfMap* aData)
-    {
-    if (!doHandleDynamicDataAttribute(aVisual, aAttr, aContainer, aData))
-        {
-        //not handled here, try base class.
-        AlfCommonAttributeSetter::handleDynamicDataAttribute(aVisual, aAttr,
-                aContainer, aData);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Sets an dynamic attribute value in the target visual
-// using transitions defined in attributes
-// Handles only attributes, belonging to this attributesetter, not bases.
-// ---------------------------------------------------------------------------
-//
-bool AlfCommonVisualAttributeSetter::doHandleDynamicAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, bool aImmediate)
-    {
-    const char* attrName = aAttr.name();
-    bool handled = true;
-
-    if ( !strcmp( attrName, KOpacity ) )
-        {
-        TAlfTimedValue v;
-        setSourceValue(v, aAttr);
-
-        float targetValue(aAttr.realValue());
-        int time = getTime(aAttr, aImmediate);
-        v.SetTarget(targetValue, time);
-        v.SetStyle(aAttr.getInterpolationStyle());
-        aVisual.SetOpacity(v);
-        }
-
-    else if (!strcmp( attrName, KPositionX)||!strcmp( attrName, KPositionY)) ////also handles: KPositionY
-        {
-        setPos(aVisual,aContainer,NULL,aImmediate);
-        }
-
-    else if (!strcmp( attrName, KWidth)||!strcmp( attrName, KHeight)) //also handles: KHeight
-        {
-        setSize(aVisual,aContainer,NULL,aImmediate);
-        }
-    else if (!strcmp(attrName, KTopLeftX)||!strcmp(attrName, KTopLeftY)
-             ||!strcmp(attrName, KBottomRightX)||!strcmp(attrName, KBottomRightY))
-        {
-        setRect(aVisual,aContainer,NULL,aImmediate);
-        }
-    else
-        {
-        handled = false;
-        }
-
-    return handled;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets an value for dynamic attribute value in the target visual
-// using transitions and data in map.
-// ---------------------------------------------------------------------------
-//
-bool AlfCommonVisualAttributeSetter::doHandleDynamicDataAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, IAlfMap* aData, bool aImmediate )
-    {
-    bool handled = true;
-    if (aData)
-        {
-        const char* attrName = aAttr.name();
-
-        if ( !strcmp( attrName, KOpacity ) )
-            {
-            const IAlfVariantType* data = getData(aAttr, aData);
-            if (data && data->type() == IAlfVariantType::EReal)
-                {
-                TAlfTimedValue v;
-                setSourceValue(v, aAttr);
-
-                float targetValue(data->real());
-                int time = getTime(aAttr, aImmediate);
-                v.SetTarget(targetValue, time);
-                v.SetStyle(aAttr.getInterpolationStyle());
-                aVisual.SetOpacity(v);
-                }
-            }
-        else if (!strcmp( attrName, KPositionX)) //also handles: KPositionY
-            {
-            //If positionx exists, positiony must exists also
-            const AlfAttribute& attrX = aAttr;
-            const AlfAttribute& attrY = aContainer.getAttributeByName(KPositionY);
-
-            const IAlfVariantType* posX = getData(attrX, aData);
-            const IAlfVariantType* posY = getData(attrY, aData);
-
-            if (posX && posX->type() == IAlfVariantType::EReal &&
-                    posY && posY->type() == IAlfVariantType::EReal)
-                {
-                TAlfTimedPoint pos;
-                SetSourceValues(pos, attrX, attrY);
-
-                pos.iX.SetStyle(attrX.getInterpolationStyle());
-                pos.iX.SetTarget(posX->real(), getTime(attrX, aImmediate));
-                pos.iY.SetStyle(attrY.getInterpolationStyle());
-                pos.iY.SetTarget(posY->real(), getTime(attrY, aImmediate));
-                aVisual.SetPos(pos);
-                }
-            }
-        else if (!strcmp( attrName, KWidth)) //also handles: KHeight
-            {
-            const AlfAttribute& attrWidth = aAttr;
-            const AlfAttribute& attrHeight =
-                aContainer.getAttributeByName(KHeight);
-
-            const IAlfVariantType* width = getData(attrWidth, aData);
-            const IAlfVariantType* height = getData(attrHeight, aData);
-
-            if (width && width->type() == IAlfVariantType::EReal &&
-                    height && height->type() == IAlfVariantType::EReal)
-                {
-                TAlfTimedPoint size;
-                SetSourceValues(size, attrWidth, attrHeight);
-
-                size.iX.SetStyle(attrWidth.getInterpolationStyle());
-                size.iX.SetTarget(width->real(),
-                                  getTime(attrWidth, aImmediate));
-                size.iY.SetStyle(attrHeight.getInterpolationStyle());
-                size.iY.SetTarget(height->real(),
-                                  getTime(attrHeight, aImmediate));
-
-                aVisual.SetSize(size);
-                }
-            }
-        else if (!strcmp(attrName, KTopLeftX))
-            {
-            //If topleftx exists, topy, bottomx and bottomy must exists also
-            const AlfAttribute& attrTopX = aAttr;
-            const AlfAttribute& attrTopY =
-                aContainer.getAttributeByName(KTopLeftY);
-            const AlfAttribute& attrBottomRightX =
-                aContainer.getAttributeByName(KBottomRightX);
-            const AlfAttribute& attrBottomRightY =
-                aContainer.getAttributeByName(KBottomRightY);
-
-            const IAlfVariantType* topX = getData(attrTopX, aData);
-            const IAlfVariantType* topY = getData(attrTopY, aData);
-            const IAlfVariantType* bottomX = getData(attrBottomRightX, aData);
-            const IAlfVariantType* bottomY = getData(attrBottomRightY, aData);
-
-            if (topX && topX->type() == IAlfVariantType::EReal &&
-                    topY && topY->type() == IAlfVariantType::EReal &&
-                    bottomX && bottomX->type() == IAlfVariantType::EReal &&
-                    bottomY && bottomY->type() == IAlfVariantType::EReal)
-                {
-                const TAlfRealPoint sTopLeft(aVisual.Pos().ValueNow());
-                TAlfRealPoint size(aVisual.Size().ValueNow());
-                TAlfRealRect sRect(sTopLeft, TAlfRealPoint(
-                                       sTopLeft.iX + size.iX, sTopLeft.iY + size.iY));
-
-                SetSourceRect(sRect, attrTopX, attrTopY, attrBottomRightX,
-                              attrBottomRightY);
-
-                aVisual.SetRect(sRect, 0);
-
-                TAlfRealPoint topLeft(topX->real(), topY->real());
-                TAlfRealPoint bottomRight(bottomX->real(), bottomY->real());
-                TAlfRealRect realRect(topLeft, bottomRight);
-                aVisual.SetRect(realRect, getTime(aAttr, aImmediate));
-                }
-            }
-        else if (strcmp(attrName, KPositionY) &&      //these are already
-                 strcmp(attrName, KHeight) &&         //handled above
-                 strcmp(attrName, KTopLeftY) &&
-                 strcmp(attrName, KBottomRightX) &&
-                 strcmp(attrName, KBottomRightY))
-            {
-            handled = false;
-            }
-        }
-
-    return handled;
-    }
-
-// ---------------------------------------------------------------------------
-// Creates and returns one command
-// ---------------------------------------------------------------------------
-//
-void AlfCommonVisualAttributeSetter::sendCommandsForAttribute(
-    CAlfVisual& aVisual, AlfAttributeContainer& aContainer,
-    AlfAttribute& aAttr, CAlfVisual* aRefVisual)
-    {
-    const char* attrName = aAttr.name();
-
-    if ( !strcmp( attrName, KOpacity ) )
-        {
-        float value(aAttr.realValue());
-
-        if (aRefVisual)
-            {
-            // Add the opacity of the reference visual to the value
-            // of the opacity provided in the attribute 
-            value += aRefVisual->Opacity().ValueNow(); 
-            }
-
-        int time = getTime(aAttr);
-
-        //setting interpolation style
-        TAlfInterpolationStyle style = aAttr.getInterpolationStyle();
-        TAlfTimedValue v;
-        v.SetStyle(style);
-        aVisual.SetOpacity(v);
-
-        //create command
-        TAlfValueCommand cmd(&aVisual, EAlfValueCommandVisualSetOpacity,
-                             EAlfOpSet, value, time);
-
-        //send with delay.
-        CAlfEnv::Static()->Send(cmd, aAttr.getDelay());
-        }
-
-    else if (!strcmp( attrName, KPositionX)) ////also handles: KPositionY
-        {
-        // Must contain both KPositionX and KPositionY
-        const AlfAttribute& posXattrib = aAttr;
-        const AlfAttribute& posYattrib =
-            aContainer.getAttributeByName(KPositionY);
-
-        TAlfRealPoint value(posXattrib.realValue(),
-                            posYattrib.realValue());
-
-        if ( aRefVisual )
-            {
-            value += aRefVisual->Pos().ValueNow(); // Add the reference point
-            }
-
-        int time = getTime(aAttr);
-
-        //create command
-        TAlfPointCommand cmd(&aVisual, EAlfPointCommandVisualSetPos,
-                             value, time);
-
-        //send with delay.
-        CAlfEnv::Static()->Send(cmd, aAttr.getDelay());
-        }
-
-    else if (!strcmp( attrName, KWidth)) //also handles: KHeight
-        {
-        // Must contain both KWidth and KHeight
-        const AlfAttribute& widthAttrib = aAttr;
-        const AlfAttribute& heightAttrib =
-            aContainer.getAttributeByName(KHeight);
-
-        TAlfRealPoint value(widthAttrib.realValue(),
-                            heightAttrib.realValue());
-
-        if (aRefVisual)
-            {
-            value += aRefVisual->Size().ValueNow(); // Add the reference point
-            }
-        int time = getTime(aAttr);
-
-        //create command
-        TAlfPointCommand cmd(&aVisual,
-                             EAlfPointCommandVisualSetSize, value, time);
-
-        //send with delay.
-        CAlfEnv::Static()->Send(cmd, aAttr.getDelay());
-        }
-    else if (!strcmp(attrName, KTopLeftX))
-        {
-        //If topleftx exists, topy, bottomx and bottomy must exists also
-        float topX = aAttr.realValue();
-        const AlfAttribute& attrTopY =
-            aContainer.getAttributeByName(KTopLeftY);
-        const AlfAttribute& attrBottomX =
-            aContainer.getAttributeByName(KBottomRightX);
-        const AlfAttribute& attrBottomY =
-            aContainer.getAttributeByName(KBottomRightY);
-        TAlfRealPoint topLeft(topX, attrTopY.realValue());
-        TAlfRealPoint size(attrBottomX.realValue() - topLeft.iX,
-                           attrBottomY.realValue() - topLeft.iY);
-        if (aRefVisual)
-            {
-            // Add the reference point
-            topLeft += aRefVisual->Pos().ValueNow();
-            size += aRefVisual->Size().ValueNow();
-            }
-
-        int posTime = getTime(aAttr);
-        int sizeTime = getTime(attrBottomX);
-
-        //create position command
-        TAlfPointCommand posCmd(&aVisual, EAlfPointCommandVisualSetPos,
-                                topLeft, posTime);
-        TAlfPointCommand sizeCmd(&aVisual, EAlfPointCommandVisualSetPos,
-                                 size, sizeTime);
-
-        //send with delay.
-        CAlfEnv::Static()->Send(posCmd, aAttr.getDelay());
-        CAlfEnv::Static()->Send(sizeCmd, attrBottomX.getDelay());
-        }
-    }
-
-    
-void AlfCommonVisualAttributeSetter::setPadding(CAlfVisual &aVisual,AlfAttributeContainer& aContainer,IAlfMap* /*aData*/)
-    {
-    //If padding-top exists, right, bottom and left must exists also
-
-    AlfAttribute& attrTop =
-        aContainer.getAttributeByName(KPaddingTop);
-    AlfAttribute& attrRight =
-        aContainer.getAttributeByName(KPaddingRight);
-    AlfAttribute& attrBottom =
-        aContainer.getAttributeByName(KPaddingBottom);
-    AlfAttribute& attrLeft =
-        aContainer.getAttributeByName(KPaddingLeft);
-
-    TAlfBoxMetric metric(
-        TAlfMetric(attrLeft.realValue(), attrLeft.unit()),
-        TAlfMetric(attrRight.realValue(), attrRight.unit()),
-        TAlfMetric(attrTop.realValue(), attrTop.unit()),
-        TAlfMetric(attrBottom.realValue(), attrBottom.unit()));
-
-    aVisual.SetPadding(metric);
-
-    attrTop.setDirty(false);
-    attrRight.setDirty(false);
-    attrBottom.setDirty(false);
-    attrLeft.setDirty(false);
-
-    }
-
-void AlfCommonVisualAttributeSetter::setMinSize(CAlfVisual &aVisual,AlfAttributeContainer& aContainer,IAlfMap* /*aData*/)
-    {
-    //If minheight exists, minwidth must exists also.
-    AlfAttribute& attrHt =
-        aContainer.getAttributeByName(KMinHeight);
-    AlfAttribute& attrWidth =
-        aContainer.getAttributeByName(KMinWidth);
-    float height = attrHt.realValue();
-    float width = attrWidth.realValue();
-    TAlfRealSize size( width, height );
-
-    aVisual.SetMinSize(size);
-
-    attrHt.setDirty(false);
-    attrWidth.setDirty(false);
-    }
-
-void AlfCommonVisualAttributeSetter::setMaxSize(CAlfVisual &aVisual,AlfAttributeContainer& aContainer,IAlfMap* /*aData*/)
-    {
-    AlfAttribute& attrHt =
-        aContainer.getAttributeByName(KMaxHeight);
-    AlfAttribute& attrWidth =
-        aContainer.getAttributeByName(KMaxWidth);
-    float height = attrHt.realValue();
-    float width = attrWidth.realValue();
-    TAlfRealSize size( width, height );
-
-    aVisual.SetMaxSize(size);
-
-
-    attrHt.setDirty(false);
-    attrWidth.setDirty(false);
-
-
-    }
-
-void AlfCommonVisualAttributeSetter::setSize(CAlfVisual &aVisual,AlfAttributeContainer& aContainer,IAlfMap* /*aData*/,bool aImmediate)
-    {
-    // Must contain both KWidth and KHeight
-    AlfAttribute& attrWidth =
-        aContainer.getAttributeByName(KWidth);;
-    AlfAttribute& attrHeight =
-        aContainer.getAttributeByName(KHeight);
-
-    TAlfTimedPoint size(aVisual.Size());
-    SetSourceValues(size, attrWidth, attrHeight);
-
-    size.iX.SetStyle(attrWidth.getInterpolationStyle());
-    size.iX.SetTarget(attrWidth.realValue(),
-                      getTime(attrWidth, aImmediate));
-    size.iY.SetStyle(attrHeight.getInterpolationStyle());
-    size.iY.SetTarget(attrHeight.realValue(),
-                      getTime(attrHeight, aImmediate));
-
-
-    aVisual.SetSize(size);
-
-
-    attrWidth.setDirty(false);
-    attrHeight.setDirty(false);
-    }
-
-void AlfCommonVisualAttributeSetter::setPos(CAlfVisual &aVisual,AlfAttributeContainer& aContainer,IAlfMap* /*aData*/,bool aImmediate)
-    {
-    // Must contain both KPositionX and KPositionY
-    AlfAttribute& attrX = aContainer.getAttributeByName(KPositionX);
-    AlfAttribute& attrY = aContainer.getAttributeByName(KPositionY);
-
-    TAlfTimedPoint pos(aVisual.Pos());
-    SetSourceValues(pos, attrX, attrY);
-
-    pos.iX.SetStyle(attrX.getInterpolationStyle());
-    pos.iX.SetTarget(attrX.realValue(), getTime(attrX, aImmediate));
-    pos.iY.SetStyle(attrY.getInterpolationStyle());
-    pos.iY.SetTarget(attrY.realValue(), getTime(attrY, aImmediate));
-
-    aVisual.SetPos(pos);
-
-
-    attrX.setDirty(false);
-    attrY.setDirty(false);
-    }
-
-void AlfCommonVisualAttributeSetter::setRect(CAlfVisual &aVisual,AlfAttributeContainer& aContainer,IAlfMap* /*aData*/,bool aImmediate)
-    {
-    //If topleftx exists, topy, bottomx and bottomy must exists also
-    AlfAttribute& attrTopX =
-        aContainer.getAttributeByName(KTopLeftX);
-    AlfAttribute& attrTopY =
-        aContainer.getAttributeByName(KTopLeftY);
-    AlfAttribute& attrBottomRightX =
-        aContainer.getAttributeByName(KBottomRightX);
-    AlfAttribute& attrBottomRightY =
-        aContainer.getAttributeByName(KBottomRightY);
-
-    const TAlfRealPoint sTopLeft(aVisual.Pos().ValueNow());
-    TAlfRealPoint size(aVisual.Size().ValueNow());
-    TAlfRealRect sRect(sTopLeft, TAlfRealPoint(sTopLeft.iX + size.iX,
-                       sTopLeft.iY + size.iY));
-
-    SetSourceRect(sRect, attrTopX, attrTopY, attrBottomRightX,
-                  attrBottomRightY);
-
-    aVisual.SetRect(sRect, 0);
-
-    TAlfRealPoint tTopLeft(attrTopX.realValue(), attrTopY.realValue());
-    TAlfRealPoint tBottomRight(attrBottomRightX.realValue(),
-                               attrBottomRightY.realValue());
-    TAlfRealRect tRealRect(tTopLeft, tBottomRight);
-
-    int time = getTime(attrTopX, aImmediate);
-    aVisual.SetRect(tRealRect, time);
-
-
-    attrTopX.setDirty(false);
-    attrTopY.setDirty(false);
-    attrBottomRightX.setDirty(false);
-    attrBottomRightY.setDirty(false);
-
-    }
-} // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfcurvepathlayoutattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,629 +0,0 @@
-/*
-* 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:   Implements attributesetters for curvePathLayout.
-*
-*/
-
-
-
-//includes
-
-//widget model includes
-#include "alf/alfattributecontainer.h"
-#include "alf/alfattributevaluetype.h"
-#include "alf/alfattribute.h"
-#include "alf/alfcurvepathlayoutattributesetter.h"
-#include <alf/alfvisualexception.h>
-#include <alf/alfdataexception.h>
-#include <alf/alfattributeexception.h>
-
-
-//osn includes
-#include <osn/ustring.h>
-
-//alf includes
-#include <alf/alfenv.h>
-#include <alf/alfcurvepathlayout.h>
-#include <alf/alfcurvepath.h>
-
-//dui includes
-#include "alf/attrproperty.h"
-
-//other includes
-#include <libc/string.h>
-#include <utf.h>
-
-//namespaces
-
-using namespace osncore;
-
-using namespace duiuimodel::commonvisualattributes;
-
-using namespace duiuimodel::layoutattributes;
-
-using namespace duiuimodel::curvepathattributes;
-
-
-namespace Alf
-    {
-
-static void throwIfErr ( int aErr )
-    {
-    if (aErr!=KErrNone)
-        {
-        ALF_THROW ( AlfAttributeException, aErr,
-                    "AlfCurvePathLayoutAttributeSetter")
-        }
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfCurvePathLayoutAttributeSetter::
-AlfCurvePathLayoutAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfCurvePathLayoutAttributeSetter::
-~AlfCurvePathLayoutAttributeSetter()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// Sets Attribute Value. Delegates based on attribute Category.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfCurvePathLayoutAttributeSetter::setAttributeValue (
-    CAlfVisual &aVisual,
-    AlfAttributeContainer* aContainer,
-    IAlfMap* aData )
-    {
-
-    CAlfCurvePathLayout* curvepathlayout =
-        dynamic_cast<CAlfCurvePathLayout*>(&aVisual);
-
-    if ( !curvepathlayout )
-        {
-        ALF_THROW ( AlfVisualException, EInvalidVisual,
-                    "AlfCurvePathLayoutAttributeSetter" )
-        }
-
-    curvepathlayout->CurvePath().Reset();
-
-    AlfCommonLayoutAttributeSetter::setAttributeValue(aVisual, aContainer,
-            aData);
-
-    }
-
-// ---------------------------------------------------------------------------
-// Deprecated
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfCommand* AlfCurvePathLayoutAttributeSetter::createCommand (
-    CAlfVisual& /*aVisual*/,
-    AlfAttributeContainer* /*aContainer*/,
-    IAlfMap* /*aData*/,
-    int /*aTransitionTime*/,
-    CAlfVisual* /*aRefVisual*/ )
-    {
-    //deprecated
-    TAlfCommand* cmd = NULL;
-    return cmd;
-    }
-
-// ---------------------------------------------------------------------------
-// Sends a command to Env
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfCurvePathLayoutAttributeSetter::createAndSendCommands (
-    CAlfVisual& aVisual,
-    AlfAttributeContainer* aContainer,
-    CAlfVisual* aRefVisual )
-    {
-    //SetOffset in CAlfCurvePath can be sent as a TAlfCustomEventCommand
-
-    AlfCommonLayoutAttributeSetter::createAndSendCommands (
-        aVisual, aContainer, aRefVisual );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Sets dynamic attributes to visual
-// ---------------------------------------------------------------------------
-//
-void AlfCurvePathLayoutAttributeSetter::handleDynamicAttribute (
-    CAlfVisual &aVisual,
-    AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer)
-    {
-    CAlfCurvePathLayout* curvepathlayout =
-        dynamic_cast<CAlfCurvePathLayout*>(&aVisual);
-    if(!curvepathlayout)
-        {
-        return;
-        }
-
-    const char* attrName = aAttr.name();
-
-    if ( !strcmp ( attrName, KOffsetX ) ||!strcmp ( attrName, KOffsetY ) )
-        {
-        // throws if attribute is not found
-        AlfAttribute& offsety = aContainer.getAttributeByName ( KOffsetY );
-        AlfAttribute& offsetx = aContainer.getAttributeByName ( KOffsetX );
-
-        TAlfTimedPoint offset((TReal32)offsetx.getSourceValue()->realValue(),
-                              (TReal32)offsety.getSourceValue()->realValue());
-
-        offset.iX.SetTarget((TReal32)offsetx.getTargetValue()->realValue(),
-                            offsetx.getTime());
-
-        offset.iY.SetTarget((TReal32)offsety.getTargetValue()->realValue(),
-                            offsety.getTime());
-
-        offset.iX.SetStyle ( offsetx.getInterpolationStyle() );
-        offset.iY.SetStyle ( offsety.getInterpolationStyle() );
-
-        offset.iX.SetMappingFunctionIdentifier(
-            offsetx.getMappingFunctionId());
-        offset.iY.SetMappingFunctionIdentifier(
-            offsety.getMappingFunctionId());
-
-        curvepathlayout->CurvePath().SetOffset( offset );
-        offsetx.setDirty(false);
-        offsety.setDirty(false);
-        }
-    else
-        {
-        AlfCommonLayoutAttributeSetter::handleDynamicAttribute(
-            aVisual, aAttr, aContainer);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Sets static attributes to visual
-// ---------------------------------------------------------------------------
-//
-void AlfCurvePathLayoutAttributeSetter::handleStaticAttribute (
-    CAlfVisual &aVisual,
-    AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer)
-    {
-
-    CAlfCurvePathLayout* curvepathlayout =
-        dynamic_cast<CAlfCurvePathLayout*>(&aVisual);
-    if(!curvepathlayout)
-        {
-        return;
-        }
-
-    const char* attrName = aAttr.name();
-
-    if ( !strcmp ( attrName, KEnableLoop ) )
-        {
-        // if value is not int, then use default parameter of EnableLoop
-        if ( AlfAttributeValueType::EInt != aAttr.type() )
-            {
-            curvepathlayout->CurvePath().EnableLoop();
-            }
-
-        else
-            {
-            int enableLoop = aAttr.intValue();
-            TBool flag = ETrue;      //Assume true for any non-zero value.
-            if ( 0 == enableLoop )
-                {
-                flag = EFalse;
-                }
-            curvepathlayout->CurvePath().EnableLoop( flag );
-            }
-        }
-
-    else if ( !strcmp ( attrName, KOrigin ) )
-        {
-        curvepathlayout->CurvePath().SetOrigin( aAttr.realValue() );
-        }
-
-    else if ( !strcmp ( attrName, KOffsetX ) || !strcmp ( attrName, KOffsetY ) )
-        {
-        // throws if attribute is not found
-        AlfAttribute& offsety = aContainer.getAttributeByName ( KOffsetY );
-        AlfAttribute& offsetx = aContainer.getAttributeByName ( KOffsetX );
-
-        TAlfTimedPoint offset( offsetx.realValue(), offsety.realValue());
-        curvepathlayout->CurvePath().SetOffset ( offset );
-        offsety.setDirty(false);
-        offsetx.setDirty(false);
-        }
-    else if ( !strcmp ( attrName, KLine ) )
-        {
-        // This multi-value attribute has to be filled in this order:
-        // startx,starty,endx,endy,linelength
-
-        if ( 5 != aAttr.getTargetValueCount())
-            {
-            ALF_THROW ( AlfAttributeException, EInvalidAttribute,
-                        "AlfCurvePathLayoutAttributeSetter" );
-            }
-
-        float startx = this->floatOrInt( aAttr, 0 );
-        float starty = this->floatOrInt( aAttr, 1 );
-        float endx   = this->floatOrInt( aAttr, 2 );
-        float endy   = this->floatOrInt( aAttr, 3 );
-        float len    = aAttr.realValue(4);
-
-        TRAPD(err1,curvepathlayout->CurvePath().AppendLineL(
-                  TAlfRealPoint(startx,starty),
-                  TAlfRealPoint(endx,endy),len )
-             );
-        throwIfErr(err1);
-        }
-
-    else if ( !strcmp ( attrName, KArc ) )
-        {
-        // This multi-value attribute has to be filled in this order:
-        // arcoriginx,arcoriginy,archorzradius,arcvertradius,arcstartangle,
-        // arcendangle,arclength
-
-        if ( 7 != aAttr.getTargetValueCount())
-            {
-            ALF_THROW ( AlfAttributeException, EInvalidAttribute,
-                        "AlfCurvePathLayoutAttributeSetter" );
-            }
-
-        float originx    = this->floatOrInt( aAttr, 0 );
-        float originy    = this->floatOrInt( aAttr, 1 );
-        float horzradius = this->floatOrInt( aAttr, 2 );
-        float vertradius = this->floatOrInt( aAttr, 3 );
-        float startangle = aAttr.realValue(4);
-        float endangle   = aAttr.realValue(5);
-        float len        = aAttr.realValue(6);
-        TRAPD(err1,curvepathlayout->CurvePath().AppendArcL(
-                  TAlfRealPoint(originx,originy),
-                  TAlfRealSize(horzradius,vertradius),
-                  startangle,endangle,len));
-        throwIfErr(err1);
-        }
-
-    else
-        {
-        AlfCommonLayoutAttributeSetter::handleStaticAttribute (
-            aVisual, aAttr, aContainer);
-        }
-    }
-// ---------------------------------------------------------------------------
-// Sets dynamic attributes to visual from data
-// ---------------------------------------------------------------------------
-//
-void AlfCurvePathLayoutAttributeSetter::handleDynamicDataAttribute (
-    CAlfVisual &aVisual,
-    AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer,
-    IAlfMap* aData )
-    {
-    CAlfCurvePathLayout* curvepathlayout =
-        dynamic_cast<CAlfCurvePathLayout*> ( &aVisual );
-    if ( !curvepathlayout )
-        {
-        ALF_THROW ( AlfDataException, ECommonError, "AlfCurvePathLayoutAttributeSetter" )
-        }        
-
-    const char* attrName = aAttr.name();
-    const char* dataField = aAttr.getDataField();
-
-    if ( !dataField )
-        {
-        ALF_THROW ( AlfDataException, ECommonError, "AlfCurvePathLayoutAttributeSetter" )
-        }
-
-    if (!aData)
-        {
-        ALF_THROW ( AlfDataException, ECommonError,
-                    "AlfCurvePathLayoutAttributeSetter" )
-        }
-
-    IAlfVariantType* data = aData->item ( UString(dataField) );
-
-    if (data)
-        {
-        const char* attrName = aAttr.name();
-
-        if ( !strcmp ( attrName, KOffsetX ) )
-            {
-            // throws if attribute not found
-            AlfAttribute& offsety = aContainer.getAttributeByName( KOffsetY );
-
-            const char* offsetyDataField = offsety.getDataField();
-            if ( !offsetyDataField )
-                {
-                ALF_THROW ( AlfDataException,
-                            ECommonError, "AlfCurvePathLayoutAttributeSetter")
-                }
-
-            IAlfVariantType* offsetyData = aData->item ( UString(offsetyDataField) );
-
-            if ( data->type() == IAlfVariantType::EReal &&
-                    offsetyData && offsetyData->type() == IAlfVariantType::EReal)
-                {
-                // The time value is in the attribute? Is it not
-                // part of data as well?
-                TAlfTimedPoint offset;
-                offset.iX.SetTarget(data->real(), aAttr.getTime());
-                offset.iX.SetStyle ( aAttr.getInterpolationStyle() );
-                offset.iX.SetMappingFunctionIdentifier (aAttr.getMappingFunctionId());
-
-                offset.iY.SetTarget(offsetyData->real(), offsety.getTime());
-                offset.iY.SetStyle ( offsety.getInterpolationStyle() );
-                offset.iY.SetMappingFunctionIdentifier (
-                    offsety.getMappingFunctionId());
-
-                curvepathlayout->CurvePath().SetOffset( offset );
-                }
-            }
-
-        else if ( !strcmp ( attrName, KOffsetY ) )
-            {
-            //Make sure X Attribute also exists, but do nothing.
-            //Actual values will be set in the iteration that checks
-            //for KOffsetX
-            aContainer.getAttributeByName ( KOffsetX );
-            //will throw if attribute is not found
-            }
-
-        else
-            {
-            AlfCommonLayoutAttributeSetter::handleDynamicDataAttribute(
-                aVisual, aAttr, aContainer, aData);
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Sets static attributes to visual  from data
-// ---------------------------------------------------------------------------
-//
-void AlfCurvePathLayoutAttributeSetter::handleStaticDataAttribute (
-    CAlfVisual &aVisual,
-    AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer,
-    IAlfMap* aData )
-    {
-    CAlfCurvePathLayout* curvepathlayout =
-        dynamic_cast<CAlfCurvePathLayout*> ( &aVisual );
-    if(!curvepathlayout)
-        {
-        ALF_THROW ( AlfDataException, ECommonError,
-                            "AlfCurvePathLayoutAttributeSetter" )
-        }
-    const char* attrName = aAttr.name();
-
-    const char* dataField = aAttr.getDataField();
-
-    if ( !dataField )
-        {
-        ALF_THROW ( AlfDataException, ECommonError,
-                    "AlfCurvePathLayoutAttributeSetter" )
-        }
-
-    if (!aData)
-        {
-        ALF_THROW ( AlfDataException, ECommonError,
-                    "AlfCurvePathLayoutAttributeSetter" )
-        }
-
-    IAlfVariantType* data = aData->item ( UString(dataField) );
-
-    if ( data )
-        {
-
-        if ( !strcmp ( attrName, KEnableLoop ) )
-            {
-            // if value is not bool, then use default parameter of EnableLoop
-            if ( data->type() != IAlfVariantType::EBool )
-                {
-                curvepathlayout->CurvePath().EnableLoop();
-                }
-            else
-                {
-                curvepathlayout->CurvePath().EnableLoop( data->boolean() );
-                }
-            }
-
-        else if ( !strcmp ( attrName, KOrigin ) )
-            {
-            if ( data->type() == IAlfVariantType::EReal )
-                {
-                float origin =  data->real() ;
-                curvepathlayout->CurvePath().SetOrigin ( origin );
-                }
-            }
-
-        else if ( !strcmp ( attrName, KOffsetX ) )
-            {
-            AlfAttribute& offsety
-            = aContainer.getAttributeByName ( KOffsetY );
-            //will throw if attribute is not found
-
-            const char* offsetyDataField = offsety.getDataField();
-            if ( !offsetyDataField )
-                {
-                ALF_THROW ( AlfDataException,
-                            ECommonError, "AlfCurvePathLayoutAttributeSetter")
-                }
-
-            IAlfVariantType* offsetyData = aData->item ( UString(offsetyDataField) );
-
-            if ( data->type() == IAlfVariantType::EReal &&
-                    offsetyData && offsetyData->type() == IAlfVariantType::EReal)
-                {
-                TAlfTimedPoint offset( data->real(), offsetyData->real());
-                curvepathlayout->CurvePath().SetOffset( offset );
-                }
-            }
-
-        else if ( !strcmp ( attrName, KOffsetY ) )
-            {
-            //Make sure X Attribute also exists, but do nothing.
-            //Actual values will be set in the iteration that checks for
-            //KOffsetX
-            aContainer.getAttributeByName( KOffsetX );
-            //will throw if attribute is not found
-            }
-
-        else if ( !strcmp ( attrName, KLine ) )
-            {
-
-            //if not a container, dont proceed
-            if (!(data->type() == IAlfVariantType::EContainer))
-                {
-                return;
-                }
-
-            IAlfContainer* container = data->container();
-            //if all item are not present, throw
-            if (container->count() != 5)
-                {
-                ALF_THROW ( AlfAttributeException, EInvalidAttribute,
-                            "AlfCurvePathLayoutAttributeSetter" );
-                }
-
-            IAlfVariantType* lineStartXvalue = container->item(0);
-            IAlfVariantType* lineStartYvalue = container->item(1);
-            IAlfVariantType* lineEndXvalue = container->item(2);
-            IAlfVariantType* lineEndYvalue = container->item(3);
-            IAlfVariantType* lineLengthvalue = container->item(4);
-
-            float startx = this->floatOrIntFromData( lineStartXvalue);
-            float starty = this->floatOrIntFromData( lineStartYvalue);
-            float endx   = this->floatOrIntFromData( lineEndXvalue  );
-            float endy   = this->floatOrIntFromData( lineEndYvalue  );
-            float len    = float(lineLengthvalue->real());
-            TRAPD(err1,
-                  curvepathlayout->CurvePath().AppendLineL(
-                      TAlfRealPoint(startx,starty),
-                      TAlfRealPoint(endx,endy),len)
-                 );
-            throwIfErr(err1);
-            }
-
-        else if ( !strcmp ( attrName, KArc ) )
-            {
-
-            //if not a container, dont proceed
-            if (!(data->type() == IAlfVariantType::EContainer))
-                {
-                return;
-                }
-
-            IAlfContainer* container = data->container();
-
-            //if all item are not present, throw
-            if (container->count() != 7)
-                {
-                ALF_THROW ( AlfAttributeException, EInvalidAttribute,
-                            "AlfCurvePathLayoutAttributeSetter" );
-                }
-
-            IAlfVariantType* arcOriginXValue = container->item(0);
-            IAlfVariantType* arcOriginYValue = container->item(1);
-            IAlfVariantType* archorzradiusValue = container->item(2);
-            IAlfVariantType* arcvertradiusValue = container->item(3);
-            IAlfVariantType* arcstartangleValue = container->item(4);
-            IAlfVariantType* arcendangleValue = container->item(5);
-            IAlfVariantType* arclengthValue = container->item(6);
-
-            float originx    = this->floatOrIntFromData( arcOriginXValue);
-            float originy    = this->floatOrIntFromData( arcOriginYValue);
-            float horzradius = this->floatOrIntFromData( archorzradiusValue);
-            float vertradius = this->floatOrIntFromData( arcvertradiusValue);
-            float startangle = float(arcstartangleValue->real());
-            float endangle   = float(arcendangleValue->real());
-            float len        = float(arclengthValue->real());
-            TRAPD(err1,
-                  curvepathlayout->CurvePath().AppendArcL(
-                      TAlfRealPoint(originx,originy),
-                      TAlfRealSize(horzradius,vertradius),
-                      startangle,endangle,len));
-            throwIfErr(err1);
-            }
-        else
-            {
-            AlfCommonLayoutAttributeSetter::handleStaticDataAttribute (
-                aVisual, aAttr, aContainer, aData );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Check if data in the attribute is int or float.
-// Return the value as a float value
-// ---------------------------------------------------------------------------
-//
-float AlfCurvePathLayoutAttributeSetter::floatOrInt(
-    const AlfAttribute& aAttr,
-    int aIndex)
-    {
-    if (aAttr.type(aIndex) == AlfAttributeValueType::EInt)
-        {
-        return float(aAttr.intValue(aIndex));
-        }
-    else if (aAttr.type(aIndex) == AlfAttributeValueType::EFloat)
-        {
-        return aAttr.realValue(aIndex); //will throw an exception i
-        }
-    else
-        {
-        ALF_THROW ( AlfAttributeException,
-                    ECommonError, "AlfCurvePathLayoutAttributeSetter" );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// Check if data in the variant type is int or float.
-// Return the value as a float value
-// ---------------------------------------------------------------------------
-//
-float AlfCurvePathLayoutAttributeSetter::floatOrIntFromData(
-    IAlfVariantType* aData)
-    {
-    if (IAlfVariantType::EInt == aData->type())
-        {
-        return float(aData->integer());
-        }
-    else if (IAlfVariantType::EReal == aData->type())
-        {
-        return aData->real();; //will throw an exception i
-        }
-    else
-        {
-        ALF_THROW ( AlfAttributeException,
-                    ECommonError, "AlfCurvePathLayoutAttributeSetter" );
-        }
-    }
-
-    } // namespace Alf
-// End of file
-
-
-
-
-
--- a/widgetmodel/alfwidgetmodel/src/alfdecklayoutattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* 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:   Implements attributesetters for DeckLayout.
-*
-*/
-
-
-
-//includes
-
-//widget model includes
-#include "alf/alfattributecontainer.h"
-#include "alf/alfattributevaluetype.h"
-#include "alf/alfattribute.h"
-#include "alf/alfdecklayoutattributesetter.h"
-#include <alf/alfattributeexception.h>
-#include <alf/alfvisualexception.h>
-#include <alf/alfdataexception.h>
-
-//osn includes
-#include <osn/ustring.h>
-
-//alf includes
-#include <alf/alfenv.h>
-#include <alf/alfvisual.h>
-#include <alf/alfdecklayout.h>
-
-//dui includes
-#include "alf/attrproperty.h"
-
-//other includes
-#include <libc/string.h>
-
-//namespaces
-using namespace osncore;
-using namespace duiuimodel::layoutattributes;
-
-namespace Alf
-    {
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfDeckLayoutAttributeSetter::AlfDeckLayoutAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfDeckLayoutAttributeSetter::~AlfDeckLayoutAttributeSetter()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfDeckLayoutAttributeSetter::setAttributeValue(
-    CAlfVisual &aVisual,
-    AlfAttributeContainer* aContainer,
-    IAlfMap* aData)
-    {
-    CAlfDeckLayout* deckLayout = dynamic_cast<CAlfDeckLayout*>(&aVisual);
-    if (!deckLayout)
-        {
-        ALF_THROW ( AlfVisualException, EInvalidVisual, "AlfDeckLayoutAttributeSetter")
-        }
-
-    // Deck layout does not have any attribute of its own
-    // So, call the base class implementation.
-    AlfCommonLayoutAttributeSetter::setAttributeValue(aVisual, aContainer, aData);
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfCommand* AlfDeckLayoutAttributeSetter::createCommand(
-    CAlfVisual& /*aVisual*/, AlfAttributeContainer* /*aContainer*/,
-    IAlfMap* /*aData*/, int /*aTransitionTime*/, CAlfVisual* /*aRefVisual*/)
-    {
-    TAlfCommand* cmd = 0;
-    return cmd;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfDeckLayoutAttributeSetter::createAndSendCommands(
-    CAlfVisual& aVisual,
-    AlfAttributeContainer* aContainer,
-    CAlfVisual* aRefVisual )
-    {
-    // Deck layout has no api specific to it which takes a timedvalue
-    // So, call the base class implementation.
-    // It goes through its loop and checks if there are attributes that it handles.
-    AlfCommonLayoutAttributeSetter::createAndSendCommands(aVisual,aContainer,aRefVisual);
-    }
-
-// ---------------------------------------------------------------------------
-// Sets a value of a static attribute to target visual immediately
-// without a transition.
-// ---------------------------------------------------------------------------
-//
-void AlfDeckLayoutAttributeSetter::handleStaticAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer)
-    {
-    AlfCommonLayoutAttributeSetter::handleStaticAttribute(aVisual,
-            aAttr, aContainer);
-    }
-
-// ---------------------------------------------------------------------------
-// Sets a dynamic attribute value in the target visual
-// using transitions defined in attributes
-// ---------------------------------------------------------------------------
-//
-void AlfDeckLayoutAttributeSetter::handleDynamicAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer)
-    {
-    AlfCommonLayoutAttributeSetter::handleDynamicAttribute(aVisual,
-            aAttr, aContainer);
-    }
-
-// ---------------------------------------------------------------------------
-// Sets a value for static data attribute in the target visual
-// immediately without a transition using data in map.
-// ---------------------------------------------------------------------------
-//
-void AlfDeckLayoutAttributeSetter::handleStaticDataAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, IAlfMap* aData)
-    {
-    AlfCommonLayoutAttributeSetter::handleStaticDataAttribute(
-        aVisual, aAttr, aContainer, aData);
-    }
-
-// ---------------------------------------------------------------------------
-// Sets a value for dynamic data attribute value in the target visual
-// using transitions and data in map.
-// ---------------------------------------------------------------------------
-//
-void AlfDeckLayoutAttributeSetter::handleDynamicDataAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, IAlfMap* aData)
-    {
-    AlfCommonLayoutAttributeSetter::handleDynamicDataAttribute(aVisual,
-            aAttr, aContainer, aData);
-    }
-
-    }// Alf
--- a/widgetmodel/alfwidgetmodel/src/alfelement.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,636 +0,0 @@
-/*
-* 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:  The basic implementation for presentation elements.
-*
-*/
-
-
-#include "alf/alfelement.h"
-#include <alf/alfwidgetcontrol.h>
-#include <alf/alfvarianttype.h>
-#include "alf/ialfvisualtemplate.h"
-#include "alf/alfreferencetovisual.h"
-//#include "alf/alfperf.h"
-#include <alf/alfexceptions.h>
-
-#include "alfelementattributeownerimpl.h"
-
-namespace Alf
-    {
-
-class  AlfVisualData
-    {
-public:
-    AlfVisualData( CAlfVisual* aVisualTree, uint aDataID ) :
-            mVisualTree( aVisualTree ), mDataID( aDataID )
-        {
-        }
-    CAlfVisual *mVisualTree;
-    uint mDataID;
-    ~AlfVisualData()
-        {
-
-        }
-
-    };
-
-class AlfElementImpl
-    {
-public:
-    AlfElementImpl()
-        {
-        mControl = 0;
-        mVisualTemplate = 0;
-        mParentElement = 0;
- 	    mParentLayout = 0;
-        }
-    ~AlfElementImpl()
-        {
-        if (mVisualTemplate)
-            {
-            delete mVisualTemplate;
-            mVisualTemplate = 0;
-            }
-        if (mParentLayout)
-            {
-            delete mParentLayout;
-            mParentLayout = 0;
-            }
-
-        mVisualTreeArray.clear();
-        }
-    /**
-     * The control. Not own.
-     */
-    CAlfWidgetControl* mControl;
-
-    /**
-     * The element name.
-     */
-    UString mName;
-
-    /**
-     * The visual template for creating visual trees. Own.
-     */
-    IAlfVisualTemplate* mVisualTemplate;
-
-    /*
-     * Parent element. NULL for root elements. Not own.
-     */
-    IAlfElement *mParentElement;
-
-    /*
-     * Array of created visual trees with the associated data IDs.
-     */
-    AlfPtrVector<AlfVisualData>mVisualTreeArray; //RArray<TAlfVisualData> mVisualTreeArray;
-
-    /*
-     * Reference to the default parent layout. Own.
-     */
-    AlfReferenceToVisual *mParentLayout;
-    
-    /*
-     * IAlfAttributeOwner implementation. Own.
-     */
-    auto_ptr<AlfElementAttributeOwnerImpl> mAttributeOwnerImpl;
-    };
-
-// ======== MEMBER FUNCTIONS ========
-
-OSN_EXPORT AlfElement::AlfElement()
-    {
-    }
-
-OSN_EXPORT void AlfElement::construct( CAlfWidgetControl& aControl, const char* aName )
-    {
-    mData.reset(new (EMM) AlfElementImpl());
-
-    mData->mControl = &aControl;
-    mData->mName = UString(aName);
-    mData->mParentLayout=NULL;
-    mData->mParentElement=NULL;
-    mData->mVisualTemplate=NULL;
-    mData->mVisualTreeArray.setAutoDelete(true);
-    mData->mAttributeOwnerImpl.reset(new (EMM) AlfElementAttributeOwnerImpl(*this, 
-        *mData->mControl));
-    aControl.addElement(this);
-    }
-
-
-OSN_EXPORT AlfElement::AlfElement(CAlfWidgetControl& aControl, const char* aName)
-    {
-    construct( aControl, aName );
-
-    }
-
-OSN_EXPORT AlfElement::~AlfElement()
-    {
-    }
-
-OSN_EXPORT const char* AlfElement::name() const
-    {
-    return mData->mName.getUtf8();
-    }
-
-OSN_EXPORT void AlfElement::createChildVisualTree(
-    IAlfElement* aElement, IAlfVariantType& aChildData,
-    IAlfBranch& aData, int aIndex, uint aDataID )
-    {
-    // Pass directly to the child element CreateVisualTree, no need
-    // to do anything else. Derived classes may need additional steps here.
-//    ALF_PERF_START( perfdata, "AlfElement-createVisualTree-createChildVisualTree")
-    aElement->createVisualTree( aChildData, aData, aIndex, aDataID,
-                                aElement->defaultParentLayout( aDataID ),
-                                aIndex );
-//    ALF_PERF_STOP( perfdata, "AlfElement-createVisualTree-createChildVisualTree")
-    }
-
-OSN_EXPORT CAlfVisual* AlfElement::createVisualTree(
-    IAlfVariantType& aData, IAlfBranch& aParentData, int aIndex,
-    uint aParentDataID, CAlfLayout* aParentLayout, int aLayoutIndex )
-    {
-    if ( aIndex >= 0 && aIndex <= aParentData.childrenCount() )
-        {
-        // Update data IDs of all visual trees after the new visual tree
-        // Start from the aIndex, and increase all indices by one
-        updateDataIDs( aParentData, aIndex, 1, aParentDataID, aParentDataID );
-
-        // Create the new visual tree
-        uint dataID = control().elementDataId( *this, aIndex, aParentDataID );
-        return createVisualTree( aData, dataID, aParentLayout, aLayoutIndex );
-        }
-    ALF_THROW(AlfElementException,EInvalidElement,"AlfElement")
-    }
-
-OSN_EXPORT CAlfVisual* AlfElement::createVisualTree(
-    IAlfVariantType& aData, uint aDataID, CAlfLayout* aParentLayout, int aLayoutIndex )
-    {
-    CAlfVisual *retVisual = NULL;
-    IAlfMap* currentData = NULL;
-    IAlfBranch* branch = NULL;
-    if ( aData.type()== IAlfVariantType::EMap )
-        {
-        currentData = aData.map();
-        }
-    else if (aData.type()== IAlfVariantType::EBranch)
-        {
-        branch = aData.branch();
-        currentData = aData.branch()->data();
-        }
-
-    if ( currentData && mData->mVisualTemplate )
-        {
-        //Find the visual tree with data id
-        int index = findFromArray( aDataID );
-        if ( index < 0 )
-            {
-            // Create a new visual tree
-            try
-                {
-                retVisual = mData->mVisualTemplate->createVisualTree(*mData->mControl,
-                            currentData, aParentLayout, aLayoutIndex);
-                }
-            catch (...)
-                {
-                ALF_THROW(AlfVisualException,ECanNotCreateVisual,"AlfElement")
-                }
-            // Append the visual into the array
-            mData->mVisualTreeArray.resize(mData->mVisualTreeArray.count()+1);
-            mData->mVisualTreeArray.insert(mData->mVisualTreeArray.count(),(new (EMM) AlfVisualData(retVisual, aDataID)));
-            }
-        else
-            {
-            ALF_THROW(AlfVisualException,EInvalidElement,"AlfElement")
-            }
-        }
-
-    if ( branch )
-        {
-        // Pass to children
-        int count = branch->childrenCount();
-        for ( int i = 0; i < count; ++i )
-            {
-            IAlfElement* element = mData->mControl->findElement(
-                                       branch->childName( i ).getUtf8() );
-            if ( element )
-                {
-                createChildVisualTree(
-                    element, *branch->childData( i ), *branch, i, aDataID );
-                }
-            }
-        }
-
-    return retVisual;
-    }
-
-OSN_EXPORT void AlfElement::removeChildVisualTree(
-    IAlfElement* aElement, IAlfBranch& aData, int aIndex, uint aDataID )
-    {
-    // Pass directly to the child element RemoveVisualTree, no need
-    // to do anything else. Derived classes may need additional steps here.
-    aElement->removeVisualTree( aData, aIndex, aDataID );
-    }
-
-OSN_EXPORT void AlfElement::removeVisualTree( IAlfBranch& aParentData,
-        int aIndex, uint aParentDataID )
-    {
-    if ( aIndex < aParentData.childrenCount() )
-        {
-        IAlfVariantType* data = aParentData.childData( aIndex );
-        uint dataID = control().elementDataId( *this, aIndex, aParentDataID );
-
-        removeVisualTree( *data, dataID );
-
-        // Update data IDs of all visual trees after the removed visual tree
-        // Start from the aIndex + 1, and decrease all indices by one
-        updateDataIDs( aParentData, aIndex + 1, -1, aParentDataID, aParentDataID );
-        }
-    else
-        ALF_THROW(AlfVisualException,EInvalidElement,"AlfElement")
-        }
-
-OSN_EXPORT void AlfElement::removeVisualTree( IAlfVariantType& aData, uint aDataID )
-    {
-    if ( aData.type() == IAlfVariantType::EBranch )
-        {
-        // Pass to children
-        IAlfBranch* branch = aData.branch();
-        int count = branch->childrenCount();
-        for ( int i = 0; i < count; ++i )
-            {
-            IAlfElement* element = mData->mControl->findElement( branch->childName( i ).getUtf8() );
-            if ( element )
-                {
-                removeChildVisualTree( element, *branch, i, aDataID );
-                }
-            }
-        }
-
-    // Remove visual tree from this element
-    int index = findFromArray( aDataID );
-    if (index >= 0)
-        {
-        CAlfVisual* visual = mData->mVisualTreeArray[index]->mVisualTree;
-        visual->RemoveAndDestroyAllD();
-        mData->mVisualTreeArray.remove( index );
-        }
-    else
-        {
-        ALF_THROW(AlfVisualException,EInvalidElement,"AlfElement")
-        }
-    }
-
-OSN_EXPORT void AlfElement::updateVisualTree(
-    IAlfVariantType& aNewData, IAlfVariantType& aOldData, uint aDataID )
-    {
-    IAlfMap* currentNewData = NULL;
-    IAlfMap* currentOldData = NULL;
-    IAlfBranch* branch = NULL;
-    IAlfBranch* oldBranch = NULL;
-
-    if ( aNewData.type()== IAlfVariantType::EMap )
-        {
-        currentNewData = aNewData.map();
-        }
-    else if (aNewData.type()== IAlfVariantType::EBranch)
-        {
-        branch = aNewData.branch();
-        currentNewData = branch->data();
-        }
-
-    if (&aOldData)
-        {
-        if (aOldData.type()== IAlfVariantType::EMap)
-            {
-            currentOldData = aOldData.map();
-            }
-        else if (aOldData.type()== IAlfVariantType::EBranch)
-            {
-            oldBranch = aOldData.branch();
-            currentOldData = aOldData.branch()->data();
-            }
-        }
-
-    if ( currentNewData && mData->mVisualTemplate )
-        {
-        //Find the visual tree with data id
-        int index = findFromArray( aDataID );
-        if (index >= 0)
-            {
-            // Update the contents of the visual tree
-            CAlfVisual* visual = mData->mVisualTreeArray[index]->mVisualTree;
-            //ALF_PERF_START( perfdata, "AlfElement-updateVisualTree-VTUpdateVisualTree")
-            mData->mVisualTreeArray[index]->mVisualTree =
-                mData->mVisualTemplate->updateVisualTree(
-                    currentNewData, currentOldData, *visual );
-            //ALF_PERF_STOP( perfdata, "AlfElement-UpdateVisualTree-VTUpdateVisualTree")
-            }
-        }
-
-    if ( branch )
-        {
-        // Pass to children
-        int count = branch->childrenCount();
-        for ( int i = 0; i < count; ++i )
-            {
-            IAlfElement* element = mData->mControl->findElement( branch->childName( i ).getUtf8() );
-            if ( element )
-                {
-                IAlfVariantType* oldData = NULL;
-                if (oldBranch)
-                    {
-                    oldData = oldBranch->childData( i );
-                    }
-
-                element->updateVisualTree( *branch->childData( i ), *oldData,
-                                           mData->mControl->elementDataId( *element, i, aDataID ) );
-                }
-            }
-        }
-    }
-
-OSN_EXPORT void AlfElement::addVisualTree(CAlfVisual* aVisualTree, uint aDataID)
-    {
-    int index = findFromArray( aDataID );
-    if ( index >= 0 || aVisualTree == NULL )
-        {
-        ALF_THROW(AlfVisualException,EInvalidElement,"AlfElement")
-        }
-    // Append the visual with the assiciated data id into the array
-
-    mData->mVisualTreeArray.resize(mData->mVisualTreeArray.count()+1);
-    mData->mVisualTreeArray.insert(mData->mVisualTreeArray.count(),(new (EMM) AlfVisualData(aVisualTree, aDataID)));
-    }
-
-OSN_EXPORT void AlfElement::replaceVisualTree( IAlfVariantType& aData, uint aDataID, uint aOldDataID )
-    {
-    IAlfVariantType* oldData = control().elementData(*this, aOldDataID );
-
-    int index = findFromArray( aOldDataID );
-    if ( index < 0 )
-        {
-        ALF_THROW(AlfVisualException,EInvalidElement,"AlfElement")
-        }
-    mData->mVisualTreeArray[index]->mDataID = aDataID;
-
-    // Update the contents of the visual tree with the new data
-    updateVisualTree( aData, *oldData, aDataID );
-    }
-
-OSN_EXPORT void AlfElement::updateDataIDs(
-    IAlfBranch& aParentBranch, int aStartIndex,
-    int aOffset, uint /*aOldParentDataId*/, uint aParentDataID )
-    {
-
-    for ( int i = 0; i < mData->mVisualTreeArray.count(); ++i )
-        {
-        uint oldDataID = mData->mVisualTreeArray[i]->mDataID;
-        uint index = control().dataIdToIndex( *this, oldDataID );
-        uint newDataID = control().elementDataId(
-                             *this, index + aOffset, aParentDataID );
-        if ( index >= aStartIndex && oldDataID != newDataID )
-            {
-            // Update the data ID
-            mData->mVisualTreeArray[i]->mDataID = newDataID;
-            // The old data ID was used to calculate the child element data IDs
-            // We need to update the visual trees in child elements
-            IAlfVariantType* data = aParentBranch.childData( index );
-            if ( data != NULL )
-                {
-                if ( data->type() == IAlfVariantType::EBranch )
-                    {
-                    IAlfBranch* branch = data->branch();
-                    for ( int j = 0; j < branch->childrenCount(); ++j )
-                        {
-                        IAlfElement* childElement =
-                            mData->mControl->findElement( branch->childName( j ).getUtf8() );
-                        if ( childElement )
-                            {
-                            childElement->updateDataIDs(
-                                *branch, 0, 0, oldDataID, newDataID );
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-OSN_EXPORT CAlfLayout* AlfElement::defaultParentLayout(uint aParentDataID)
-    {
-    if (mData->mParentLayout)
-        {
-        CAlfVisual* visual=NULL;
-        try
-            {
-            visual = mData->mParentLayout->resolve(*mData->mControl, aParentDataID);
-            }
-        catch (...)
-            {
-            ALF_THROW(AlfVisualException,EInvalidVisual,"AlfElement")
-            }
-        return (CAlfLayout *)visual;
-        }
-    return NULL;
-    }
-
-OSN_EXPORT void AlfElement::setDefaultParentLayout(AlfReferenceToVisual* aReference)
-    {
-    if (mData->mParentLayout)
-        {
-        delete mData->mParentLayout;
-        mData->mParentLayout = 0;
-        }
-    mData->mParentLayout = aReference;
-    }
-
-OSN_EXPORT void AlfElement::setVisualTemplate(IAlfVisualTemplate& aTemplate) throw()
-    {
-    // Remove the visual template from its previous owner
-    if(aTemplate.owner())
-        {
-        aTemplate.owner()->removeVisualTemplate();
-        }
-    
-    // Set the visual template to this element
-    mData->mVisualTemplate = &aTemplate;
-    mData->mVisualTemplate->setOwner(this);
-    }
-
-OSN_EXPORT IAlfVisualTemplate* AlfElement::getVisualTemplate() const throw()
-    {
-    return mData->mVisualTemplate;
-    }
-
-OSN_EXPORT void AlfElement::destroyVisualTemplate() throw()
-    {
-    if (mData->mVisualTemplate)
-        {
-        delete mData->mVisualTemplate;
-        mData->mVisualTemplate = 0;
-        }    
-    }
-
-OSN_EXPORT IAlfVisualTemplate* AlfElement::removeVisualTemplate() throw()
-    {
-    IAlfVisualTemplate* ret = mData->mVisualTemplate;
-    
-    // Set owner to NULL in removed visual template
-    if(mData->mVisualTemplate)
-        {
-        mData->mVisualTemplate->setOwner(0);
-        }    
-    mData->mVisualTemplate = 0;
-
-    return ret;
-    }
-
-OSN_EXPORT CAlfVisual* AlfElement::findVisual(const char* aName, uint aDataID)
-    {
-    int index = findFromArray( aDataID );
-    if ( index < 0 )
-        {
-        return NULL;
-        }
-    return mData->mVisualTreeArray[index]->mVisualTree->FindTag(TPtrC8((unsigned char*)aName));//Alf dependency
-    }
-
-OSN_EXPORT CAlfVisual* AlfElement::findVisual(uint aDataID)
-    {
-    int index = findFromArray( aDataID );
-    if ( index < 0 )
-        {
-        return NULL;
-        }
-    return mData->mVisualTreeArray[index]->mVisualTree;
-    }
-
-OSN_EXPORT uint AlfElement::dataID( const CAlfVisual& aVisual ) const
-    {
-    for ( int i = 0; i < mData->mVisualTreeArray.count(); ++i )
-        {
-        if ( mData->mVisualTreeArray[i]->mVisualTree == &aVisual )
-            {
-            return mData->mVisualTreeArray[i]->mDataID;
-            }
-        }
-    return 0;
-    }
-
-int AlfElement::findFromArray( uint aDataID ) const
-    {
-    for ( int i = 0; i < mData->mVisualTreeArray.count(); ++i )
-        {
-        if ( mData->mVisualTreeArray[i]->mDataID == aDataID )
-            {
-            return i;
-            }
-        }
-    return -1;
-    }
-
-OSN_EXPORT const IAlfElement* AlfElement::parentElement() const
-    {
-    return mData->mParentElement;
-    }
-
-OSN_EXPORT void AlfElement::setParentElement(IAlfElement& aParent)
-    {
-    mData->mParentElement = &aParent;
-    }
-
-OSN_EXPORT  CAlfWidgetControl& AlfElement::control()
-    {
-    return *mData->mControl;
-    }
-
-OSN_EXPORT  void AlfElement::removeAndDestroyVisuals( int aTimeMilliseconds )
-    {
-    //remove child elements
-    for (int i = 0; i<control().numElements(); i++)
-        {
-        IAlfElement& element = control().element(i);
-        if (element.parentElement() == this)
-            {
-            element.removeAndDestroyVisuals(aTimeMilliseconds);
-            }
-        }
-    
-    //remove visual trees and elements, that are linked 
-    //to this element with parentlayout.
-    for (int i = 0 ; i < mData->mVisualTreeArray.count(); i++)
-        {
-        AlfVisualData* vData = mData->mVisualTreeArray[i];
-        CAlfVisual* visual = vData->mVisualTree;
-        if(visual)
-            {
-            CAlfLayout* layout = dynamic_cast<CAlfLayout*>(visual);
-            if (layout)
-                {
-                for (int j = 0; j<control().numElements(); j++)
-                    {
-                    IAlfElement& element = control().element(j);
-                    CAlfLayout* parent = element.defaultParentLayout(vData->mDataID);
-                    if (parent && contains(*parent))
-                        {
-                        element.removeAndDestroyVisuals(aTimeMilliseconds);
-                        }
-                    }
-                }
-            visual->RemoveAndDestroyAllD();
-            vData->mVisualTree = NULL;
-            }
-        }
-        
-    mData->mVisualTreeArray.clear();
-    }
-
-
-//From IAlfElement
-OSN_EXPORT bool AlfElement::contains(CAlfVisual& aVisual) const
-    {
-    CAlfVisual* visual = &aVisual;
-    //traverse back to the root parent
-    while (visual)
-        {
-        for (int i = 0 ; i < mData->mVisualTreeArray.count(); i++)
-            {
-            if (visual == mData->mVisualTreeArray[i]->mVisualTree)//is this visual parent of passed visual?
-                return true;
-            }
-        visual = visual->Layout();
-        }
-    return false; //referred visual is not part of this element.
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the element.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfInterfaceBase* AlfElement::makeInterface( const IfId& aType )
-    {
-    UString param(aType.mImplementationId);
-    if (param == IAlfElement::type().mImplementationId)
-        {
-        return static_cast<IAlfElement*>(this);
-        }
-    else if (param == IAlfAttributeOwner::type().mImplementationId)
-        {
-    	return static_cast<IAlfAttributeOwner*>(mData->mAttributeOwnerImpl.get());
-        }
-    return NULL;
-    }
-    
-    } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfelementattributeownerimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,739 +0,0 @@
-/*
-* 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:  Implementation of the IAlfAttributeOwner interface 
-*                for AlfElement.
-*
-*/
-
-
-#include <alf/alfexceptions.h>
-#include "alf/alfattribute.h"
-#include "alf/alfattributecontainer.h"
-#include "alf/ialfvisualtemplate.h"
-#include <alf/alfwidgetcontrol.h>
-#include "alf/ialfattributesetter.h"
-#include "alf/alfcommonvisualattributesetter.h"
-#include "alf/alfelement.h"
-#include <osn/ustring.h>
-#include "alf/attrproperty.h"
-#include <alf/alfwidgetcommand.h>
-
-
-#include "alfelementattributeownerimpl.h"
-
-using namespace duiuimodel;
-
-namespace Alf
-    {
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-AlfElementAttributeOwnerImpl::AlfElementAttributeOwnerImpl(
-    AlfElement& aElement, CAlfWidgetControl& aControl) :
-    mElement(aElement), mControl(aControl)
-    {
-    mAttributeList.setAutoDelete(true);    
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-AlfElementAttributeOwnerImpl::~AlfElementAttributeOwnerImpl()
-    {
-    mAttributeList.clear();
-    }
-    
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the element.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* AlfElementAttributeOwnerImpl::makeInterface(
-    const IfId& aType)
-    {
-    UString param(aType.mImplementationId);
-    if (param == IAlfAttributeOwner::type().mImplementationId)
-        {
-    	return static_cast<IAlfAttributeOwner*>(this);
-        }
-    return 0;
-    }    
-        
-// ---------------------------------------------------------------------------
-// Get the number of available attributes.
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-int AlfElementAttributeOwnerImpl::attributeCount() const
-    {
-    return mAttributeList.count();
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the attribute with the given name.
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-const AlfAttribute* AlfElementAttributeOwnerImpl::getAttribute(
-    const UString& aAttribName) const
-    {
-    AlfAttribute* attribute = 0;
- 	for (int i = 0; i < mAttributeList.count(); i++)
- 	    {
- 		if (!strcmp(aAttribName.getUtf8(), mAttributeList[i]->name()))
- 		    {
- 			attribute = mAttributeList[i];
- 			break;
- 		    }
- 	    }
-    return attribute;
-    }
-
-// ---------------------------------------------------------------------------
-// Set a value of an attribute.
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-bool AlfElementAttributeOwnerImpl::setAttribute(const AlfAttribute& aAttribute)
-    {
-    // The attribute must have at least one value set.
-    if (!aAttribute.getTargetValueCount())
-        {
-        ALF_THROW(
-            AlfAttributeException, EInvalidAttribute, "AlfElementAttributeOwnerImpl")
-        }
-    
-    if (!canHandleAttribute(aAttribute.name()))
-        {
-        return false;
-        }
-    
-    // Check whether the attribute exists already.
-    int i = 0;
-    for (i = 0; i < mAttributeList.count() ; i++)
- 	    {
- 		if (!strcmp(aAttribute.name(), mAttributeList[i]->name()))
- 		    {
- 		    // Attribute exists already, modify the contents.
- 			*mAttributeList[i] = aAttribute;
- 			handleAttribute(*mAttributeList[i]);
- 			return true;
- 		    }
-        }
-
-    // Attribute with the given name does not exist,
-    // clone the given attribute and insert it in the list.
-    mAttributeList.resize(mAttributeList.count() + 1);
-    // Insert cannot fail because already resized.
-    mAttributeList.insert(mAttributeList.count(),
-        const_cast<AlfAttribute&>(aAttribute).clone());
-    
-    handleAttribute(*mAttributeList[i]);
-    return true;
-    }
-
-// ---------------------------------------------------------------------------
-// Set a value of an attribute.
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-bool AlfElementAttributeOwnerImpl::setAttribute(
-    const UString& aAttribName, AlfAttributeValueType* aValue)
-    {
-    if (!aValue)
-        {
-        ALF_THROW(
-            AlfAttributeException, EInvalidAttribute, "AlfElementAttributeOwnerImpl")
-        }
-    
-    // Create a new attribute.
-    auto_ptr<AlfAttribute> attribute(
-        new (EMM) AlfAttribute(aAttribName.getUtf8(), AlfAttribute::EStatic));
-    attribute->addTargetValue(aValue);
- 
-    return setAttribute(*attribute.get());
-    }      
-// ---------------------------------------------------------------------------
-// Set a value of an attribute.
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-bool AlfElementAttributeOwnerImpl::setAttribute( const UString& aTargetId , 
-												 AlfAttribute& aAttribute ) 
-	{
-  	bool ret(false);
-  
-	// The attribute must have at least one value set.
-	if (!aAttribute.getTargetValueCount())
-		{
-		ALF_THROW(
-		    AlfAttributeException, EInvalidAttribute, "AlfElementAttributeOwnerImpl")
-		}
-
-	//check targetId
-	if (!aTargetId.isEmpty() 
-	 && !aTargetId.compare(mElement.name()) )
-		{
-		ret = setAttribute(aAttribute);
-		}
-
-  	return ret;
-  	}
-
-
-// ---------------------------------------------------------------------------
-// Set a value of an attribute.
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-bool AlfElementAttributeOwnerImpl::setAttribute( const UString& aTargetId, 
-												 const UString& aAttribName,
- 												 AlfAttributeValueType* aValue )
-	{
-	bool ret(false);
-	
-	if (!aValue)
-		{
-		ALF_THROW(
-		    AlfAttributeException, EInvalidAttribute, "AlfElementAttributeOwnerImpl")
-		}
-	
-	if (!aTargetId.isEmpty())
-		{
-		 // Create a new static attribute.
-	    auto_ptr<AlfAttribute> attribute(
-	        new (EMM) AlfAttribute(aAttribName.getUtf8(), AlfAttribute::EStatic));
-	    attribute->addTargetValue(aValue);
-	 
-	    ret = setAttribute(*attribute.get());
-	
-		}
-			
-	return ret;
-		
-	} 
-
-// ---------------------------------------------------------------------------
-// Gets the attribute with the given name.
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-const AlfAttribute* AlfElementAttributeOwnerImpl::getAttribute( const UString& aTargetId ,
-															    const UString& aAttribName ) const
-	{
-	const AlfAttribute* attr(0);
-
-	//check targetId
-	if (!aTargetId.isEmpty() 
-	     && !aTargetId.compare(mElement.name()))
-		{
-		attr = getAttribute(aAttribName); 
-		}
-		
-	return attr;
-	}
-	
-// ---------------------------------------------------------------------------
-// Sets the attributes from container
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-bool AlfElementAttributeOwnerImpl::setAttributeContainer( AlfAttributeContainer& aAttributeContainer )
-	{
-
-    const int attributeCount = aAttributeContainer.attributeCount();
-	int numAttributesHandled = 0;
-	
-    for (int i = 0; i < attributeCount ; i++)
-        {
-        AlfAttribute& attribute = aAttributeContainer.getAttribute(i);
-        if (!strcmp(attribute.name(), duiuimodel::tactileattributes::KEventInput))
-            {
-            
-            // Look for feedback type attribute.
-            try
-              {
-              AlfAttribute& feedBackType = 
-              aAttributeContainer.getAttributeByName(duiuimodel::tactileattributes::KFeedbackType);
-              handleTactileAttribute(attribute,feedBackType);
-              numAttributesHandled += 2;
-              }
-            catch(AlfDataException& exception)
-              {
-              // attribute not found,so return false
-              return false;
-              }
-            }
-         
-        else if(setAttribute(attribute))
-            {
-            numAttributesHandled++;
-            }
-	    }
-
-
-	return (numAttributesHandled == attributeCount);
-	}
-
-// ---------------------------------------------------------------------------
-// Handles the Tactile Attribute.
-// ---------------------------------------------------------------------------
-//
-void AlfElementAttributeOwnerImpl::handleTactileAttribute(
-    AlfAttribute& aAttributeEvent,AlfAttribute& aAttributeFeedback)
-    {
-	    IAlfVisualTemplate* visualTemplate = mElement.getVisualTemplate();
-		
-	    // Find the root layout 
-	    CAlfVisual* main = mElement.findVisual(0);//needs to be changed because in some cases id may be
-	    										  // set by the user	
-	    
-	    if(visualTemplate )
-	        {
-			AlfAttribute* attrEvent = NULL;
-			AlfAttribute* attrFeedback = NULL;
-
-	        int setterCount = visualTemplate->numAttributeSetters();
-	        bool found(false);
-	        for (int j = 0; j < setterCount ; j++)
-	            {
-	            AlfAttributeContainer& container = visualTemplate->attributeContainer(j);
-	            try
-	                {
-	                //find the attribute in each container until it is found
-	                attrEvent = &(container.getAttributeByName(duiuimodel::tactileattributes::KEventInput));
-	                attrFeedback = &(container.getAttributeByName(duiuimodel::tactileattributes::KFeedbackType));
-	                }
-	            catch(AlfDataException& exception)
-	                {
-	                // attribute not found,so continue
-	                continue;
-	                }
-	            //attribute found in one of the existing containers of the visual template, update it
-	            *attrEvent = aAttributeEvent;
-	            *attrFeedback = aAttributeFeedback;
-	            found = true;
-	            IAlfAttributeSetter& setter  = visualTemplate->attributeSetter(j);
-	            if(main)
-	            	setter.setAttributeValue(*main,&container,0);
-	            break;                                            
-	            }
-	        // attribute not found in any of the containers, so create one attribute container and one 
-	        // attribute setter and add both to the visual template        
-	        if (!found)
-	            {
-	            auto_ptr<AlfAttributeContainer> container( 
-	                new (EMM) AlfAttributeContainer());
-	            
-	            auto_ptr<AlfCommonVisualAttributeSetter> setter(
-	                new (EMM) AlfCommonVisualAttributeSetter());
-	                
-	            AlfAttribute* attribe =aAttributeEvent.clone();
-	            AlfAttribute* attribf =aAttributeFeedback.clone();
-
-	            container.get()->addAttribute(attribe);
-	            container.get()->addAttribute(attribf);
-	            if(main)
-	            setter.get()->setAttributeValue(*main, container.get(), 0);
-	            
-	            visualTemplate->addAttributeSetter(setter.release(), 
-	                container.release());
-	            }
-	        }
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the attributes from container using targetId
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-bool AlfElementAttributeOwnerImpl::setAttributeContainer( const UString& aTargetId , 
-                               AlfAttributeContainer& aAttributeContainer )
-	{
-
-
-    const int attributeCount = aAttributeContainer.attributeCount();
-	int numAttributesHandled = 0;
-	
-    for (int i = 0; i < attributeCount ; i++)
-        {
-        AlfAttribute& attribute = aAttributeContainer.getAttribute(i);
-        if (!strcmp(attribute.name(), duiuimodel::tactileattributes::KEventInput))
-        {
-                // Look for feedback type attribute.
-        
-        // Look for feedback type attribute.
-        try
-          {
-          AlfAttribute& feedBackType = 
-          aAttributeContainer.getAttributeByName(duiuimodel::tactileattributes::KFeedbackType);
-          handleTactileAttribute(attribute,feedBackType);
-          numAttributesHandled += 2;
-          }
-        catch(AlfDataException& exception)
-          {
-          // attribute not found,so return false
-          return false;
-          }
-        }
-       else if(setAttribute(aTargetId,attribute))
-        {
-        	numAttributesHandled++;
-        }
-	    }
-
-	return (numAttributesHandled == attributeCount);
-		
-	}
-    
-// ---------------------------------------------------------------------------
-// Handles the attribute, sets proper values.
-// ---------------------------------------------------------------------------
-//
-void AlfElementAttributeOwnerImpl::handleAttribute(AlfAttribute& aAttribute)
-    {
-    const char* attrName = aAttribute.name();
-    
-    if (!strcmp(attrName, commonvisualattributes::KOpacity)) 
-        {
-        handleOpacityAttribute(aAttribute);
-        }
-    else if(!strcmp(attrName, layoutattributes::KPositionX) || 
-            !strcmp(attrName, layoutattributes::KPositionY))
-        {
-        handlePositionAttribute(aAttribute);
-        }
-    else if(!strcmp(attrName, layoutattributes::KWidth) || 
-            !strcmp(attrName, layoutattributes::KHeight))
-        {
-        handleSizeAttribute(aAttribute);
-        }
-    else if(!strcmp(attrName, layoutattributes::KMaxWidth) || 
-            !strcmp(attrName, layoutattributes::KMaxHeight))
-        {
-        handleMaxSizeAttribute(aAttribute);
-        }
-    else if(!strcmp(attrName, layoutattributes::KMinWidth) || 
-            !strcmp(attrName, layoutattributes::KMinHeight))
-        {
-        handleMinSizeAttribute(aAttribute);
-        }        
-    }
-    
-// ---------------------------------------------------------------------------
-// Can attribute be handled with this widget.
-// ---------------------------------------------------------------------------
-//
-bool AlfElementAttributeOwnerImpl::canHandleAttribute(
-    const char* aAttributeName)
-    {
-    bool canHandle(false);
-    if (!strcmp(aAttributeName, commonvisualattributes::KOpacity) ||
-        !strcmp(aAttributeName, layoutattributes::KPositionX) ||
-        !strcmp(aAttributeName, layoutattributes::KPositionY) ||
-        !strcmp(aAttributeName, layoutattributes::KWidth) ||
-        !strcmp(aAttributeName, layoutattributes::KHeight) ||  
-        !strcmp(aAttributeName, layoutattributes::KMaxWidth) ||
-        !strcmp(aAttributeName, layoutattributes::KMaxHeight) ||  
-        !strcmp(aAttributeName, layoutattributes::KMinWidth) ||
-        !strcmp(aAttributeName, layoutattributes::KMinHeight))  
-        {
-        canHandle = true;
-        }
-    return canHandle;        
-    }
-
-// ---------------------------------------------------------------------------
-// Handles the Opacity Attribute.
-// ---------------------------------------------------------------------------
-//
-void AlfElementAttributeOwnerImpl::handleOpacityAttribute(
-    AlfAttribute& aAttribute)
-    {
-    const char* attrName = aAttribute.name();
-    
-    IAlfVisualTemplate* visualTemplate = mElement.getVisualTemplate();
-    
-    // Find the root layout 
-    CAlfVisual* main = mElement.findVisual(0);
-    
-    if(visualTemplate && main)
-        {
-        int setterCount = visualTemplate->numAttributeSetters();
-        bool found(false);
-        for (int j = 0; j < setterCount && main; j++)
-            {
-            AlfAttributeContainer& container = visualTemplate->attributeContainer(j);
-            AlfAttribute* attr = NULL;
-            try
-                {
-                //find the attribute in each container until it is found
-                attr = &(container.getAttributeByName(attrName));
-                }
-            catch(AlfDataException& exception)
-                {
-                // attribute not found,so continue
-                continue;
-                }
-            //attribute found in one of the existing containers of the visual template, update it
-            *attr = aAttribute;
-            found = true;
-            IAlfAttributeSetter& setter  = visualTemplate->attributeSetter(j);
-            setter.setAttributeValue(*main,&container,0);
-            break;                                            
-            }
-        // attribute not found in any of the containers, so create one attribute container and one 
-        // attribute setter and add both to the visual template        
-        if (!found)
-            {
-            auto_ptr<AlfAttributeContainer> container( 
-                new (EMM) AlfAttributeContainer());
-            auto_ptr<AlfCommonVisualAttributeSetter> setter(
-                new (EMM) AlfCommonVisualAttributeSetter());
-            AlfAttribute* attribute =aAttribute.clone();
-            container.get()->addAttribute(attribute);
-           
-            setter.get()->setAttributeValue(*main, container.get(), 0);
-            visualTemplate->addAttributeSetter(setter.release(), 
-                container.release());
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Handles the Position Attribute
-// ---------------------------------------------------------------------------
-//    
-void AlfElementAttributeOwnerImpl::handlePositionAttribute(AlfAttribute& aAttribute)
-    {
-    const char* attrName = aAttribute.name();
-    const char* attrPair = layoutattributes::KPositionX;
-    bool isPositionXAttr = false;
-    if(!strcmp(attrName, layoutattributes::KPositionX))
-        {
-        attrPair = layoutattributes::KPositionY;
-        isPositionXAttr = true;
-        }
-    if (handleAttributePairs(aAttribute, attrPair))
-        {
-        CAlfVisual* main = mElement.findVisual(0);
-        if (main)
-            {
-            bool needsRelayouting = false;
-            TAlfRealPoint pos(main->Pos().Target());
-            
-            //for optimizing relayouting, which is expensive. Check, whether we need to do it.
-            if (isPositionXAttr)
-                {
-                //check against visual x position
-                needsRelayouting = (pos.iX != aAttribute.realValue());
-                }
-            else
-                {
-                needsRelayouting = (pos.iY != aAttribute.realValue());
-                }
-                
-            if (needsRelayouting)
-                {
-                main->UpdateChildrenLayout();
-                mControl.updateParentLayout();
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Handles the Size Attribute.
-// ---------------------------------------------------------------------------
-//
-void AlfElementAttributeOwnerImpl::handleSizeAttribute(AlfAttribute& aAttribute)
-    {
-    const char* attrName = aAttribute.name();
-    const char* attrPair = layoutattributes::KWidth;
-    bool isWidthAttr = false;
-    
-    if(!strcmp(attrName, layoutattributes::KWidth))
-        {
-        attrPair = layoutattributes::KHeight;
-        isWidthAttr = true;
-        }
-    if (handleAttributePairs(aAttribute, attrPair))
-        {
-        CAlfVisual* main = mElement.findVisual(0);
-        if (main)
-            {
-            bool needsRelayouting = false;
-            TAlfRealPoint size(main->Size().Target());
-            
-            //for optimizing relayouting, which is expensive. Check, whether we need to do it.
-            if (isWidthAttr)
-                {
-                needsRelayouting = (size.iX != aAttribute.realValue());
-                }
-            else
-                {
-                needsRelayouting = (size.iY != aAttribute.realValue());
-                }
-                
-            if (needsRelayouting)
-                {
-                main->UpdateChildrenLayout();
-                mControl.updateParentLayout();
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Handles the Max Size Attribute.
-// ---------------------------------------------------------------------------
-//
-void AlfElementAttributeOwnerImpl::handleMaxSizeAttribute(AlfAttribute& aAttribute)
-    {
-    const char* attrName = aAttribute.name();
-    const char* attrPair = layoutattributes::KMaxWidth;
-    if(!strcmp(attrName, layoutattributes::KMaxWidth))
-        {
-        attrPair = layoutattributes::KMaxHeight;
-        }
-    handleAttributePairs(aAttribute, attrPair);
-    } 
-
-// ---------------------------------------------------------------------------
-// Handles the Min Size Attribute.
-// ---------------------------------------------------------------------------
-//    
-void AlfElementAttributeOwnerImpl::handleMinSizeAttribute(AlfAttribute& aAttribute)
-    {
-    const char* attrName = aAttribute.name();
-    const char* attrPair = layoutattributes::KMinWidth;
-    if(!strcmp(attrName, layoutattributes::KMinWidth))
-        {
-        attrPair = layoutattributes::KMinHeight;
-        }
-    handleAttributePairs(aAttribute, attrPair);
-    }
-    
-// ---------------------------------------------------------------------------
-// Handles setting of paired attributes: widget & height, xpos & ypos etc.
-// ---------------------------------------------------------------------------
-//    
-bool AlfElementAttributeOwnerImpl::handleAttributePairs(AlfAttribute& aAttribute, 
-    const char* aAttributeNamePair)
-    {
-    const char* attrName = aAttribute.name();
-    bool changed(false);
-    IAlfVisualTemplate* visualTemplate = mElement.getVisualTemplate();
-       
-    // Find the root layout
-    CAlfVisual* main = mElement.findVisual(0);
-    if(visualTemplate && main)
-        {
-        int setterCount = visualTemplate->numAttributeSetters();
-        bool found(false);
-        
-        //find the attribute in all the existing containers
-        for (int j = 0; j < setterCount; j++)
-            {
-            AlfAttributeContainer& container = visualTemplate->attributeContainer(j);
-            AlfAttribute* attri = NULL;
-            try
-                {
-                attri = &(container.getAttributeByName(attrName));
-                }
-            catch(AlfDataException& exception)
-                {
-                // attribute not found in the container
-                // continue to find in other containers
-                continue;
-                }
-            // attribute found, update it
-            *attri = aAttribute;
-            found = true;
-            
-            //check, that attribute pair exists.
-            try
-                {
-                AlfAttribute& attr = 
-                    container.getAttributeByName(aAttributeNamePair);
-                }
-            catch(AlfDataException& exception)
-                {
-                //attribute pair not found in the same container, so break
-                break;
-                }
-                
-            // attribute pair found, so call setAttributeValue()
-            IAlfAttributeSetter& setter = visualTemplate->attributeSetter(j);                                
-            setter.setAttributeValue(*main, &container, 0);
-            changed = true;
-            break;
-            }
-            
-        // the attribute not found in any of the existing containers    
-        if(!found)
-            {
-            bool foundAttrPair(false);
-            
-            // again try to find the attribute pair
-            // this is for the situation where the attribute already exists
-            for (int j = 0; j < setterCount; j++)
-                {
-                AlfAttributeContainer& container = visualTemplate->attributeContainer(j);
-                  
-                try
-                    {
-                    AlfAttribute& attr = 
-                        container.getAttributeByName(aAttributeNamePair);
-                    }
-                catch(AlfDataException& exception)
-                    {
-                    // attribute not found,so continue
-                    continue;
-                    }
-                // attribute pair found, so add the attribute to the same container
-                // and call setAttributeValue()   
-                AlfAttribute* attribute = aAttribute.clone();
-                container.addAttribute(attribute);
-                IAlfAttributeSetter& setter = visualTemplate->attributeSetter(j);                                
-                setter.setAttributeValue(*main, &container, 0);
-                changed = true;
-                foundAttrPair = true;
-                break;
-                }
-                
-            // counter-part also does not exist, so create a new container and a attribute setter, add 
-            // the attribute to the container, and the container and attribute setter to the visual template
-            if(!foundAttrPair)
-                {
-                auto_ptr<AlfAttributeContainer> container(
-                    new (EMM) AlfAttributeContainer());
-                auto_ptr<AlfCommonVisualAttributeSetter> setter(
-                    new (EMM) AlfCommonVisualAttributeSetter());
-                AlfAttribute* attribute = aAttribute.clone();
-                container.get()->addAttribute(attribute);
-                visualTemplate->addAttributeSetter(setter.get(), 
-                    container.get());
-                container.release();
-                setter.release();                
-                }
-            }
-        }
-        return changed;
-    }     
-    
-    } // namespace Alf
--- a/widgetmodel/alfwidgetmodel/src/alfenumvalue.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* 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:   Implemenation file for enumValue for variants.
-*
-*/
-
-
-#include <osn/osnnew.h>
-#include "alfenumvalue.h"
-
-namespace Alf
-    {
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-AlfEnumValue::AlfEnumValue(int aValue, TAlfUnit aUnit)
-    {
-    mEnum = aValue;
-    mUnit = aUnit;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-AlfEnumValue::~AlfEnumValue()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the enum value.
-// ---------------------------------------------------------------------------
-//
-int AlfEnumValue::enumValue() const
-    {
-    return mEnum;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the type of the atrribute value.
-// ---------------------------------------------------------------------------
-//
-AlfAttributeValueType::Type AlfEnumValue::type() const
-    {
-    return EInt;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the unit.
-// ---------------------------------------------------------------------------
-//
-TAlfUnit AlfEnumValue::unit() const
-    {
-    return mUnit;
-    }
-
-    } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfeventinput.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,304 +0,0 @@
-/*
-* Copyright (c) 2009 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:   File Implements the various input events, including custom events.
-*
-*/
-
-
-#include <alf/alfenv.h>
-#include <alf/alfevent.h>
-#include <alf/alfvisual.h>
-#include <osn/osncommon.h>
-#include "alf/alfreferencetovisual.h"
-#include <alf/alfexceptions.h>
-#include "alf/alfattribute.h"
-#include "alf/alfwidget.h"
-#include "alf/ialfattributeowner.h"
-#include <alf/alfwidgetevents.h>
-#include <alf/alfwidgetcommand.h>
-#include "alfeventinput.h"
-
-namespace Alf
-    {
-
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-AlfEventInput::AlfEventInput(int aEvtTypeFlags,int aEventID,int aEventData, int aKeyEventModifiers)
-    {
-    mEventTypeFlags = aEvtTypeFlags;
-    mEventID = aEventID;
-    mEventData = aEventData;
-    mKeyEventModifiers = aKeyEventModifiers;
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-bool AlfEventInput::accept( const TAlfEvent& aEvent ) const
-    {
-    bool ret = false;
-
-	// Custom event
-    if ( aEvent.Type() == TAlfEvent::ETypeCustom &&
-            ( mEventTypeFlags & custom ) &&
-            aEvent.CustomParameter() == mEventID )
-        {
-        // If event data is defined to be used, it must match also
-        if ( ( mEventTypeFlags & useEventData ) == 0 ||
-                aEvent.CustomEventData() == mEventData )
-            {
-            ret = true;
-            }
-        }
-    // Key event
-    else if( aEvent.Type() == TAlfEvent::ETypeKey &&
-              ( mEventTypeFlags & custom ) == 0 &&
-    		   aEvent.KeyEvent().iScanCode == mEventID )
-        {
-        // Test that key event up/down matches
-        
-        // keyDown triggers from EEventKey event.
-        // keyUp triggers from EEventKeyUp event.
-        
-        if ( ( mEventTypeFlags & keyDown &&
-               aEvent.Code() == EEventKey ) ||
-             ( mEventTypeFlags & keyUp &&
-               aEvent.Code() == EEventKeyUp ) )
-        	{
-        	// Set trigger status true first, match checks will change it to false if no match.
-        	ret = true;
-
-            // If no modifiers requested, no need to check anything
-            if ( mKeyEventModifiers )
-                {                
-            	uint receivedModifiers = aEvent.KeyEvent().iModifiers;
-            	
-            	while ( true )
-            	    {
-                	if ( mKeyEventModifiers & alt )
-                	    {
-            	        if ( !(receivedModifiers & (eventBitLeftAlt|eventBitRightAlt|eventBitAlt)) )
-            	            {
-            	            ret = false;
-            	            break;
-            	            }
-               	        }
-                	if ( mKeyEventModifiers & ctrl )
-            	        {
-            	        if ( !(receivedModifiers & (eventBitLeftCtrl|eventBitRightCtrl|eventBitCtrl)) )
-            	            {
-            	            ret = false;
-            	            break;
-            	            }        	        
-            	        }
-                	if ( mKeyEventModifiers & shift )
-                	    {
-            	        if ( !(receivedModifiers & (eventBitLeftShift|eventBitRightShift|eventBitShift)) )
-            	            {
-                	        ret = false;
-                	        break;
-                	        }        	        
-                	    }
-                	if ( mKeyEventModifiers & func )
-                	    {
-            	        if ( !(receivedModifiers & (eventBitLeftFunc|eventBitRightFunc|eventBitFunc)) )
-            	            {
-                	        ret = false;
-                	        break;
-                	        }        	    
-                	    }
-                	    
-                	break;
-            	    }
-                	    
-               	if ( mKeyEventModifiers & capsLock && !(receivedModifiers & eventBitCapsLock) )
-               	    {
-               	    ret = false;
-               	    }
-               	    
-               	if ( mKeyEventModifiers & numLock && !(receivedModifiers & eventBitNumLock) )
-               	    {
-               	    ret = false;
-               	    }
-               	    
-               	if ( mKeyEventModifiers & scrollLock && !(receivedModifiers & eventBitScrollLock) )
-               	    {
-               	    ret = false;
-               	    }
-                }
-        	}
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-AlfPointerEventInput::AlfPointerEventInput()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-AlfPointerEventInput::AlfPointerEventInput( const char* aElementName, 
-                                            const char* aVisualName,
-                                            WidgetPointerEvent aEvent )
-    {
-    mVisualRef.reset(AlfReferenceToVisual::create(aElementName, aVisualName, true ));
-    mEvent = aEvent;
-    }
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-AlfPointerEventInput::~AlfPointerEventInput()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-bool AlfPointerEventInput::accept(
-    CAlfWidgetControl& aControl, const TAlfEvent& aEvent ) const
-    {
-    // Check whether the tapped visual matches with element and visual names
-    // of this pointer event input.
-    bool ret = false;
-
-    // map OSN pointer event to TPointerEvent::TType
-    TPointerEvent::TType eventType = TPointerEvent::EButton1Down;
-    switch (mEvent)
-        {
-        case pointerEventDown:
-            eventType = TPointerEvent::EButton1Down;
-            break;
-        case pointerEventUp:
-            eventType = TPointerEvent::EButton1Up;
-            break;
-        case pointerEventDrag:
-            eventType = TPointerEvent::EDrag;
-            break;
-        default:
-            break;
-        }
-    
-    ret = aEvent.IsPointerEvent() && 
-          (eventType == aEvent.PointerEvent().iType) && 
-          mVisualRef->resolve( aControl, aEvent.Visual());
-
-    return ret;
-    }
-// ---------------------------------------------------------------------------
-// Class AlfWidgetAttributeInput
-// ---------------------------------------------------------------------------
-//
-AlfWidgetAttributeInput::AlfWidgetAttributeInput( AlfAttribute& aAttribute,
-	    const char* aElementId )
-	    {
-	    mAttr = &aAttribute;
-	    mElementId = "";
-	    if (aElementId)   
-	        {
-	        mElementId = aElementId;
-	        }
-	    }
-
-AlfWidgetAttributeInput::AlfWidgetAttributeInput()
-    {
-    }
-
-AlfWidgetAttributeInput::~AlfWidgetAttributeInput()
-    {
-    delete mAttr;
-    }
-    
-bool AlfWidgetAttributeInput::accept(const TAlfEvent& aEvent) const
-    {
-    bool accept(false);
-    
-    if (aEvent.IsCustomEvent())
-        {
-        unsigned int eventID = aEvent.CustomParameter(); 
-        if (eventID == EEventWidgetAttributeChanged)
-            {
-            TAlfWidgetAttributeCommand* command = 
-                (TAlfWidgetAttributeCommand*)aEvent.CustomEventData();
-            AlfAttribute* attribute = command->mOwnedAttribute;
-            const char* name = attribute->name();
-            const char* targetelement = command->mTarget.getUtf8();
-                        
-            accept = true;
-            if (!mElementId.isEmpty() && targetelement)
-            	{
-	            if ( strcmp(mElementId.getUtf8(), targetelement) )
-	                {
-	                accept = false;
-	                }
-            	}
-            
-            if (accept)
-            	{
-            	accept= false;
-	            if (!strcmp(mAttr->name(), name))
-	                {
-	                accept = true;
-	                }
-            	}
-            }
-        }
-    
-    return accept;
-    }    
-// ---------------------------------------------------------------------------
-// Class AlfEventPasserInput
-// ---------------------------------------------------------------------------
-//
-// AlfEventInput could be used instead of this class, it contains all the same
-// functionality! 
-//
-AlfEventPasserInput::AlfEventPasserInput( int aEventId, int aEventData  )
-    {
-    mEventId = aEventId;
-    mEventData = aEventData;//not used yet...
-    }
-
-AlfEventPasserInput::AlfEventPasserInput()
-    {
-    }
-
-AlfEventPasserInput::~AlfEventPasserInput()
-    {
-    }
-    
-bool AlfEventPasserInput::accept( const TAlfEvent& aEvent ) const
-    {
-    // check whether the event matches to the one we need to pass to another widget
-
-    return aEvent.IsCustomEvent() &&
-        aEvent.CustomParameter() == mEventId;    
-    }    
-        
-    }//Alf
-
-// End of File.
--- a/widgetmodel/alfwidgetmodel/src/alfeventoutput.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,473 +0,0 @@
-/*
-* Copyright (c) 2009 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:   File Implements the various output events, including custom events.
-*
-*/
-
-
-#include <alf/alfevent.h>
-#include <alf/alfcommand.h>
-#include <alf/alfenv.h>
-#include <osn/ustring.h>
-
-#include <alf/alfwidgetcontrol.h>
-#include "alf/alfreferencetovisual.h"
-#include <alf/alfvarianttype.h>
-#include "alf/alfwidget.h"
-#include <alf/alfexceptions.h>
-#include "alf/alfattribute.h"
-#include "alf/alfattributevaluetype.h"
-#include "alf/ialfattributeowner.h"
-#include <alf/alfeventoutputsignalsubscriber.h>
-#include <alf/ialfappeventlistener.h>
-#include <alf/alfwidgetcommand.h>
-#include <alf/alfwidgetenvextension.h>
-#include <alf/ialfwidgetfactory.h>
-
-#include "alfeventoutput.h"
-
-namespace Alf
-    {
-
-// ======== LOCAL FUNCTIONS ========
-
-void DeleteIAlfVariantType( TAny* aParam )
-    {
-    IAlfVariantType* ptr = static_cast<IAlfVariantType*>( aParam );
-    delete ptr;
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Class AlfEventOutput
-// ---------------------------------------------------------------------------
-//
-AlfEventOutput::AlfEventOutput(
-    int aEventType, int aEventID, const char* aTargetWidget, unsigned int aDelay )
-    {
-    if ( aEventType != TAlfEvent::ETypeCustom &&
-            aEventType != TAlfEvent::ETypeKey )
-        {
-        ALF_THROW(AlfVisualException,EInvalidAttribute,"AlfEventOutput")
-        }
-
-    // Key event outputs must have a target widget.
-    if ( aEventType == TAlfEvent::ETypeKey &&
-            !UString(aTargetWidget).compare(UString("")) )
-        {
-        ALF_THROW(AlfVisualException,EInvalidAttribute,"AlfEventOutput")
-        }
-
-    mEventType = aEventType;
-    mEventID = aEventID;
-    mTargetWidget = UString(aTargetWidget);
-
-    mDelay = aDelay;
-    }
-AlfEventOutput::AlfEventOutput()
-    {
-    }
-
-AlfEventOutput::~AlfEventOutput()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-void AlfEventOutput::execute( const CAlfWidgetControl& aControl, const TAlfEvent& aEvent )
-    {
-    CAlfEnv& env = aControl.Env();
-    CAlfWidgetControl* controller = NULL;
-
-    if ( mTargetWidget.compare( UString("") ) )
-        {
-        IAlfWidget* widget = AlfWidgetEnvExtension::widgetFactory(env).findWidget( mTargetWidget.getUtf8() );
-
-        if ( !widget )
-            {
-            ALF_THROW(AlfWidgetException,EInvalidWidget,"AlfEventOutput")
-            }
-        controller = widget->control();
-        }
-
-    if ( mEventType == TAlfEvent::ETypeCustom )
-        {
-        // control is NULL if the event is to be broadcast
-
-        TAlfCustomEventCommand command( mEventID, controller, aEvent.CustomEventData() );
-        env.Send( command, mDelay );
-        }
-    else if ( mEventType == TAlfEvent::ETypeKey && controller )
-        {
-        // Simulate a key event with a given event ID as scan code.
-        
-        TKeyEvent key =
-            {
-            0,          // iCode
-            mEventID,   // iScanCode
-            0,          // iModifiers
-            0           // iRepeats
-            };
-
-        TAlfEvent event( *controller->Display(), key, EEventKey );
-        controller->processEvent( event );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Class AlfEventCancelOutput
-// ---------------------------------------------------------------------------
-//
-AlfEventCancelOutput::AlfEventCancelOutput(
-    const char* aTargetWidget, int aEventID, bool aCancelAll )
-    {
-    mTargetWidget = UString(aTargetWidget);
-    mEventID = aEventID;
-    mCancelAll = aCancelAll;
-    }
-
-AlfEventCancelOutput::AlfEventCancelOutput()
-    {
-    }
-
-AlfEventCancelOutput::~AlfEventCancelOutput()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-void AlfEventCancelOutput::execute( const CAlfWidgetControl& aControl )
-    {
-    // This cancels either all or specified command in the given
-    // target control.
-    
-    CAlfEnv& env = aControl.Env();
-
-    IAlfWidget* widget = AlfWidgetEnvExtension::widgetFactory(env).findWidget( mTargetWidget.getUtf8() );
-
-    if ( !widget )
-        {
-        ALF_THROW(AlfWidgetException,EInvalidWidget,"AlfEventCancelOutput")
-        }
-
-    CAlfControl* controller = widget->control();
-
-    if ( mCancelAll )
-        {
-        env.CancelCustomCommands( controller );
-        }
-    else
-        {
-        env.CancelCustomCommands( controller, mEventID );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Class AlfAnimationCancelOutput
-// ---------------------------------------------------------------------------
-//
-AlfAnimationCancelOutput::AlfAnimationCancelOutput(
-    const char* aElementName,
-    const char* aVisualName,
-    TAlfOp aOperation,
-    bool aCancelAll )
-    {
-    mVisualRef.reset(AlfReferenceToVisual::create( aElementName, aVisualName, true ));
-
-    mOperation = aOperation;
-    mCancelAll = aCancelAll;
-    }
-
-AlfAnimationCancelOutput::AlfAnimationCancelOutput()
-    {
-    }
-
-AlfAnimationCancelOutput::~AlfAnimationCancelOutput()
-    {
-    }
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-void AlfAnimationCancelOutput::execute(
-    CAlfWidgetControl& aControl, int aDataID )
-    {
-    CAlfEnv& env = aControl.Env();
-    CAlfVisual* visual=NULL;
-
-    visual = mVisualRef->resolve( aControl, aDataID );
-
-    if ( visual )
-        {
-        if ( mCancelAll )
-            {
-            env.CancelCommands( visual );
-            }
-        else
-            {
-            env.CancelCommands( visual, mOperation );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Class AlfWidgetAttributeOuptut
-// ---------------------------------------------------------------------------
-//
-AlfWidgetAttributeOutput::AlfWidgetAttributeOutput( AlfAttribute& aAttribute,
-    const char* aWidgetId )
-    {
-    mAttr = &aAttribute;
-    mWidgetId = "";
-    if (aWidgetId)   
-        {
-        mWidgetId = aWidgetId;
-        }
-    }
-
-AlfWidgetAttributeOutput::AlfWidgetAttributeOutput()
-    {
-    }
-
-AlfWidgetAttributeOutput::~AlfWidgetAttributeOutput()
-    {
-    delete mAttr;
-    }
-
-void AlfWidgetAttributeOutput::execute( CAlfWidgetControl& aControl )
-    {
-    AlfWidget* widget = aControl.widget();
-    
-    IAlfAttributeOwner* owner = 0;
-    if (mWidgetId.isEmpty())
-        {
-        owner = IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(widget);
-        }
-    else
-        {
-        IAlfWidget* widget1 = AlfWidgetEnvExtension::widgetFactory(aControl.Env()).findWidget(mWidgetId.getUtf8());
-        owner = IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(widget1);
-        }
-
-    if ( owner )
-        {        
-        owner->setAttribute( *mAttr );
-        UString target;
-        TAlfWidgetAttributeCommand command( mAttr, target, widget );
-        CAlfEnv& env = aControl.Env();
-        env.Send( command, 0);
-        command.mOwnedAttribute = NULL;
-        }
-    }
-
-
-#ifdef RD_TACTILE_FEEDBACK
-// ---------------------------------------------------------------------------
-// Class AlfWidgetTactileOutput
-// ---------------------------------------------------------------------------
-//
-AlfTactileOutput::AlfTactileOutput( TTouchLogicalFeedback aFeedbackType )
-    {
-    mFeedbackType = aFeedbackType;
-    }
-
-AlfTactileOutput::AlfTactileOutput()
-    {
-    }
-
-AlfTactileOutput::~AlfTactileOutput()
-    {
-    }
-
-void AlfTactileOutput::execute()
-    {
-    MTouchFeedback* feedback = MTouchFeedback::Instance();
-    if ( feedback )
-        {
-        feedback->InstantFeedback( mFeedbackType );
-        }
-    }
-
-#endif // RD_TACTILE_FEEDBACK
-
-
-// ---------------------------------------------------------------------------
-// Class AlfEventOutputSignal
-// ---------------------------------------------------------------------------
-//
-AlfEventOutputSignal::AlfEventOutputSignal( 
-	IAlfEventOutputSignalSubscriber& aSubscriber )
-	: mSubscriber(&aSubscriber)
-    {}
-
-AlfEventOutputSignal::~AlfEventOutputSignal()
-    {
-    delete mSubscriber;
-    }
-
-void AlfEventOutputSignal::execute()
-    {
-    mSubscriber->receiveSignal();
-    }
-
-// ---------------------------------------------------------------------------
-// Class AlfStateChangeOutput
-// ---------------------------------------------------------------------------
-//
-AlfStateChangeOutput::AlfStateChangeOutput(
-    const char* aTargetWidget, uint aEnableStates, uint aDisableStates ):
-    mTargetWidget(aTargetWidget),
-    mEnableStates(aEnableStates),
-    mDisableStates(aDisableStates)
-    {
-
-    // State change events output must have a target widget.
-    if ( !aTargetWidget || aTargetWidget[0] == 0 )
-        {
-        ALF_THROW(AlfWidgetException,EInvalidWidget,"AlfStateChangeOutput")
-        }
-
-    // State change events must not have ambiguous overlapping bits
-    if ( mEnableStates & mDisableStates  )
-        {
-        ALF_THROW(AlfWidgetException,EInvalidArgument,"AlfStateChangeOutput")
-        }
-
-    }
-
-AlfStateChangeOutput::~AlfStateChangeOutput()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-void AlfStateChangeOutput::execute( const CAlfWidgetControl& aControl)
-    {
-    CAlfEnv& env = aControl.Env();
-
-    if ( mTargetWidget.compare( UString("") ) )
-        {
-        IAlfWidget* widget = AlfWidgetEnvExtension::widgetFactory(env).findWidget( mTargetWidget.getUtf8() );
-
-        if ( !widget )
-            {
-            ALF_THROW(AlfWidgetException,EInvalidWidget,"AlfStateChangeOutput")
-            }
-        CAlfWidgetControl* target = widget->control();
-        target->enableState( mEnableStates);
-        target->disableState(mDisableStates);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Class AlfEventPasserOutput
-// ---------------------------------------------------------------------------
-//
-AlfEventPasserOutput::AlfEventPasserOutput( const char* aSourceWidget, const char* aTargetWidget ):
-    mSourceWidget(aSourceWidget),
-    mTargetWidget(aTargetWidget)                     
-    {
-    
-    mEventMappingData = false;
-    
-    // Event passer events output must have a target widget.
-    if ( !mTargetWidget )
-        {
-        ALF_THROW(AlfWidgetException,EInvalidWidget,"AlfEventPasserOutput")
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Class AlfEventPasserOutput
-// ---------------------------------------------------------------------------
-//
-AlfEventPasserOutput::AlfEventPasserOutput( const char* aSourceWidget , const char* aTargetWidget, 
-                                            int aNewEventId , int aNewEventCustomData ):
-    mSourceWidget(aSourceWidget),
-    mTargetWidget(aTargetWidget),
-    mNewEventId(aNewEventId),
-    mNewEventCustomData(aNewEventCustomData)                     
-    {
-    
-    mEventMappingData = true;
-    // Event passer events output must have a target widget.
-    if ( !mTargetWidget )
-        {
-        ALF_THROW(AlfWidgetException,EInvalidWidget,"AlfEventPasserOutput")
-        }
-    }
-
-AlfEventPasserOutput::AlfEventPasserOutput()
-    {
-    }
-
-AlfEventPasserOutput::~AlfEventPasserOutput()
-    {
-    }
-
-void AlfEventPasserOutput::execute( const CAlfWidgetControl* aControl , const TAlfEvent& aEvent )
-    {
-    if(mTargetWidget)
-        {
-        IAlfWidget* wdgt = AlfWidgetEnvExtension::widgetFactory(aControl->Env()).findWidget(mTargetWidget);
-        //const char* wname = wdgt->widgetName(); //for debugging purposes
-        // if widget is not found, ignore...
-        if( wdgt  )
-            {
-            if(!mEventMappingData)
-                {
-                //pass to widgets control. The event handler that handles the event
-                //is found from the target widgets controls event handler list.
-                wdgt->control()->processEvent(aEvent);     
-                }
-            else
-                {
-                //map event to other type of event. Use user set event ids and custom data.
-                wdgt->control()->processEvent(TAlfEvent(mNewEventId , mNewEventCustomData));      
-                }
-            }
-
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Class AlfAppEventOutput
-// ---------------------------------------------------------------------------
-//
-AlfAppEventOutput::AlfAppEventOutput( const UString& aCmd, IAlfAppEventListener& aAppEvent ):
-    mAppEvent(&aAppEvent),
-    mCmd(aCmd)
-    {
-    }
-
-AlfAppEventOutput::~AlfAppEventOutput()
-    {
-    }
-
-void AlfAppEventOutput::execute(const TAlfEvent& aEvent)
-    {
-    mAppEvent->handleApplicationEvent(mCmd, aEvent);
-    }
-
-    
-    } // namespace Alf
-        
-// End of File.
--- a/widgetmodel/alfwidgetmodel/src/alfflowlayoutattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,267 +0,0 @@
-/*
-* 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:   File implements the atrributesetters for the flowlayout.
-*
-*/
-
-
-
-//includes
-
-//widget model includes
-#include "alf/alfattributecontainer.h"
-#include "alf/alfattribute.h"
-#include "alf/alfflowlayoutattributesetter.h"
-#include <alf/alfvisualexception.h>
-#include <alf/alfdataexception.h>
-#include <alf/alfattributeexception.h>
-
-//osn includes
-#include <osn/ustring.h>
-
-//alf includes
-#include <alf/alfvisual.h>
-#include <alf/alfflowlayout.h>
-
-//dui includes
-#include "alf/attrproperty.h"
-
-//other includes
-#include <libc/string.h>
-
-
-
-//namespaces
-using namespace osncore;
-using namespace duiuimodel::layoutattributes;
-
-namespace Alf
-    {
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfFlowLayoutAttributeSetter::AlfFlowLayoutAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfFlowLayoutAttributeSetter::~AlfFlowLayoutAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Sets Attribute Value. Delegates based on attribute Category.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfFlowLayoutAttributeSetter::setAttributeValue (
-    CAlfVisual &aVisual,
-    AlfAttributeContainer* aContainer,
-    IAlfMap* aData )
-    {
-    // Ensure that the visual is a flow layout
-    CAlfFlowLayout* flowLayout = dynamic_cast<CAlfFlowLayout*>(&aVisual);
-    if (!flowLayout)
-        {
-        ALF_THROW ( AlfVisualException, EInvalidVisual, "AlfFlowLayoutAttributeSetter");
-        }
-    AlfCommonLayoutAttributeSetter::setAttributeValue(aVisual,
-            aContainer, aData);
-    }
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfCommand* AlfFlowLayoutAttributeSetter::createCommand(
-    CAlfVisual& /*aVisual*/, AlfAttributeContainer* /*aContainer*/,
-    IAlfMap* /*aData*/, int /*aTransitionTime*/, CAlfVisual* /*aRefVisual*/)
-    {
-    TAlfCommand* cmd = 0;
-    return cmd;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfFlowLayoutAttributeSetter::createAndSendCommands(
-    CAlfVisual& aVisual,
-    AlfAttributeContainer* aContainer,
-    CAlfVisual* aRefVisual )
-    {
-    // Flow layout does not have any specific API which takes timed value.
-    // So, call the base class implementation. It goes through its loop and
-    // checks if there are attributes that it handles.
-    AlfCommonLayoutAttributeSetter::createAndSendCommands(aVisual,aContainer,
-                                        aRefVisual);
-    }
-
-void AlfFlowLayoutAttributeSetter::handleDynamicDataAttribute (
-    CAlfVisual& aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, IAlfMap* aData)
-    {
-    // Flow Layout does not have any specific dynamic attribute, so call the
-    // base class implementation. It goes through its loop and checks if there
-    // are attributes that it handles.
-    AlfCommonLayoutAttributeSetter::handleDynamicDataAttribute(aVisual, aAttr,
-                                        aContainer, aData);
-    }
-
-void AlfFlowLayoutAttributeSetter::handleStaticDataAttribute(
-    CAlfVisual &aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, IAlfMap* aData)
-    {
-    if (!aData)  ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfFlowLayoutAttributeSetter" )
-
-    const char* dataField = aAttr.getDataField();
-    if ( !dataField )  ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfFlowLayoutAttributeSetter" )
-
-    IAlfVariantType* data = aData->item ( UString(dataField));
-    if (data)
-        {
-        const char* attrName = aAttr.name();
-        CAlfFlowLayout* flowLayout = dynamic_cast<CAlfFlowLayout*>(&aVisual);
-        if (!flowLayout)
-            {
-            ALF_THROW ( AlfVisualException, EInvalidVisual, "AlfFlowLayoutAttributeSetter");
-            }
-
-        if (!strcmp(attrName,flow::KFlowDirection))
-            {
-            if (data->type() == IAlfVariantType::EInt)
-                {
-                int direction = data->integer();
-                flowLayout->SetFlowDirection(
-                                (CAlfFlowLayout::TFlowDirection)direction);
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfFlowLayoutAttributeSetter");
-                }    
-            }
-        else if (!strcmp(attrName,flow::KLayoutMode))
-            {
-            if (data->type() == IAlfVariantType::EInt)
-                {
-                int layoutMode = data->integer();
-                flowLayout->SetMode(layoutMode);
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfFlowLayoutAttributeSetter");
-                }    
-            }
-        else if (!strcmp(attrName,flow::KLayoutCentering))
-            {
-            if (data->type() == IAlfVariantType::EBool)
-                {
-                TBool layoutCentering = data->boolean();
-                flowLayout->SetCentering(layoutCentering);
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfFlowLayoutAttributeSetter");
-                }    
-            }
-        else
-            {
-            // Call the base class implementation .
-            // It goes through its loop and checks if there are attributes 
-            // that it handles.
-            AlfCommonLayoutAttributeSetter::handleStaticDataAttribute(aVisual,
-                                                aAttr, aContainer, aData);
-            }
-        }
-    return;    
-    }
-
-void AlfFlowLayoutAttributeSetter::handleDynamicAttribute(
-    CAlfVisual &aVisual, AlfAttribute& aAttr, 
-    AlfAttributeContainer& aContainer)
-    {
-    // Flow Layout does not have any specific dynamic attribute, so call the 
-    // base class implementation also. It goes through its loop and checks if
-    // there are attributes that it handles.
-    AlfCommonLayoutAttributeSetter::handleDynamicAttribute(aVisual, aAttr,
-                                        aContainer);
-    }
-
-void AlfFlowLayoutAttributeSetter::handleStaticAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer)
-    {
-    CAlfFlowLayout* flowLayout = dynamic_cast<CAlfFlowLayout*>(&aVisual);
-    if (!flowLayout)
-        {
-        ALF_THROW ( AlfVisualException, EInvalidVisual, "AlfFlowLayoutAttributeSetter");
-        }   
-
-    const char* attrName = aAttr.name();
-
-    if (!strcmp(attrName, flow::KFlowDirection))
-        {
-        if(aAttr.type() == AlfAttributeValueType::EInt)
-            {
-            int direction = aAttr.intValue();
-            flowLayout->SetFlowDirection(
-                        (CAlfFlowLayout::TFlowDirection)direction);
-            }
-        else
-            {
-            ALF_THROW ( AlfAttributeException, EInvalidAttributeValue, "AlfFlowLayoutAttributeSetter");
-            }    
-        }
-    else if (!strcmp(attrName, flow::KLayoutMode))
-        {
-        if (aAttr.type() == AlfAttributeValueType::EInt)
-            {
-            int layoutMode = aAttr.intValue();
-            flowLayout->SetMode(layoutMode);
-            }
-        else
-            {
-            ALF_THROW ( AlfAttributeException, EInvalidAttributeValue, "AlfFlowLayoutAttributeSetter");
-            }        
-        }
-    else if (!strcmp(attrName, flow::KLayoutCentering))
-        {
-        if (aAttr.type() == AlfAttributeValueType::EInt)
-            {
-            int layoutCentering = aAttr.intValue();
-            TBool flag=ETrue;           //Assume true for any non-zero value.
-            if (0==layoutCentering) flag=EFalse;
-            flowLayout->SetCentering(flag);
-            }
-        else
-            {
-            ALF_THROW ( AlfAttributeException, EInvalidAttributeValue, "AlfFlowLayoutAttributeSetter");
-            }        
-        }
-    else // Call the base class implementation also.
-         // It goes through the same loop again and checks if there are
-         // attributes that it handles.
-        {
-        AlfCommonLayoutAttributeSetter::handleStaticAttribute(aVisual, aAttr,
-                                            aContainer);
-        }
-    return;
-    }
-
-    } // Alf
-
-
--- a/widgetmodel/alfwidgetmodel/src/alfflowlayoutmanager.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
-* 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:  flowlayoutmanager implementation
-*
-*/
-
-
-#include <alf/alfexceptions.h>
-#include <alf/alfwidgetcontrol.h>
-#include <alf/alfflowlayoutmanager.h>
-#include <osn/ustring.h>
-#include <osn/osnnew.h>
-
-#include "alfflowlayoutpolicyimpl.h"
-#include "alfflowlayoutpreferencesimpl.h"
-
-using osncore::UString;
-
-using namespace Alf;
-
-namespace Alf
-    {
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// layout manager constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfFlowLayoutManager::AlfFlowLayoutManager() 
-    : AlfLayoutManager(EAlfLayoutTypeFlow)
-    {
-    mData.reset(new (EMM) AlfFlowLayoutPolicyImpl(*this));
-    mPrefImpl.reset(new (EMM) AlfFlowLayoutPreferencesImpl(*this));
-    }
-        
-// ---------------------------------------------------------------------------
-// virtual destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfFlowLayoutManager::~AlfFlowLayoutManager()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// from AlfLayoutManager
-// notifies the layout manager, that the child control's layout
-// must be updated.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfFlowLayoutManager::updateChildLayout(
-    CAlfWidgetControl* aControl)
-    {
-    CAlfLayout& layout = getLayout();
-    doUpdateChildLayout(aControl);
-    layout.UpdateChildrenLayout();
-
-    //doUpdateChildLayout changes the visual size and position.
-    //need to notify the widget that size and position has changed. 
-    //for aControl both the size and position might have changes.
-    //Only the position changes for all the controls after aControl. 
-    
-    //set the size and postion for aControl
-    TAlfRealRect rect;
-    if (controlRect(*aControl, rect)) //returns the real rect (of the root visual)
-        {
-        setControlRect(*aControl, rect);
-        }
-    
-    //update the position for controls after aControl in layout.
-    const int childrenCount = count();
-    bool childControlFound = false;
-    
-    for (int i = 0; i < childrenCount; i++)
-        {
-        CAlfWidgetControl* child = getControl(i);
-        
-        if (childControlFound && controlRect(*child, rect))
-            {
-            setControlPosition(*child, rect.iTl);
-            }
-        else if (child == aControl)
-            {
-            childControlFound = true;
-            }
-        }
-    
-    // Inform parent layout manager about the changed presentation size
-    owner().updateParentLayout();
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the element.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfInterfaceBase* AlfFlowLayoutManager::makeInterface( 
-    const IfId& aType )
-    {
-    UString param(aType.mImplementationId);
-    IAlfInterfaceBase* ret = 0;
-    
-    ret = mData->makeInterface(aType);
-    if (!ret)
-        {
-        ret = mPrefImpl->makeInterface(aType);
-        }
-    if (!ret)
-        {
-        ret = AlfLayoutManager::makeInterface(aType);
-        }
-        
-    return ret;
-    }
-    
-    } // Alf
-
--- a/widgetmodel/alfwidgetmodel/src/alfflowlayoutpolicyimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* 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:  implementation for flowlayoutpolicy
-*
-*/
-
-
-#include <assert.h>
-#include <alf/alfflowlayout.h>
-#include <alf/alfflowlayoutmanager.h>
-#include <osn/ustring.h>
-#include <osn/osnnew.h>
-
-#include "alfflowlayoutpolicyimpl.h"
-
-using osncore::UString;
-
-using namespace Alf;
-
-namespace Alf
-    {
-    
-typedef enum IAlfFlowLayoutPolicy::flowDirection flowDirection;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// flowlayoutpolicyimpl constructor
-// ---------------------------------------------------------------------------
-//    
-AlfFlowLayoutPolicyImpl::AlfFlowLayoutPolicyImpl(
-    AlfFlowLayoutManager& aFlowLayoutManager) : 
-    mFlowLayoutManager(aFlowLayoutManager), mDirection(EFlowVertical)
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// creates the layout used by the layoutmanager.
-// ---------------------------------------------------------------------------
-//    
-AlfFlowLayoutPolicyImpl::~AlfFlowLayoutPolicyImpl()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// Sets the direction of the flow.
-// ---------------------------------------------------------------------------
-//
-void AlfFlowLayoutPolicyImpl::setFlowDirection(enum flowDirection aDirection)
-    {
-    mDirection = aDirection;
-    
-    CAlfFlowLayout::TFlowDirection flowdir(CAlfFlowLayout::EFlowHorizontal);
-    if (aDirection == EFlowVertical)
-        {
-        flowdir = CAlfFlowLayout::EFlowVertical;
-        }
-    
-    layout().SetFlowDirection(flowdir);
-    }
-  
-// ---------------------------------------------------------------------------
-// returns the flow direction
-// ---------------------------------------------------------------------------
-//         
-flowDirection AlfFlowLayoutPolicyImpl::flowDirection() const
-    {
-    return mDirection;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the mode of the flow. The mode flags determine how the flow layout
-// behaves.
-// ---------------------------------------------------------------------------
-//         
-void AlfFlowLayoutPolicyImpl::setMode(int aMode)
-    {
-    layout().SetMode(aMode);
-    }
-    
-// ---------------------------------------------------------------------------
-// Returns the mode flags of the flow.
-// ---------------------------------------------------------------------------
-//         
-int AlfFlowLayoutPolicyImpl::mode() const
-    {
-    return layout().Mode();
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the element.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* AlfFlowLayoutPolicyImpl::makeInterface(const IfId& aType)
-    {
-    UString param(aType.mImplementationId);
-    IAlfInterfaceBase* ret = 0;
-    if (param == IAlfFlowLayoutPolicy::type().mImplementationId)
-        {
-        ret = static_cast<IAlfFlowLayoutPolicy*>(this);
-        }
-    
-    return ret;
-    }
-    
-// ---------------------------------------------------------------------------
-// returns the flow layout used by the layoutmanager
-// ---------------------------------------------------------------------------
-//
-CAlfFlowLayout& AlfFlowLayoutPolicyImpl::layout() const
-    {
-    return dynamic_cast<CAlfFlowLayout&>(mFlowLayoutManager.getLayout());
-    }
-
- } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfflowlayoutpreferencesimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +0,0 @@
-/*
-* 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:  layoutpreferences implementation for flowlayoutmanager.
-*
-*/
-
-
-#include <assert.h>
-#include <alf/ialfwidgetcontrol.h>
-#include "alf/alfwidget.h"
-#include <alf/alfexceptions.h>
-#include <alf/ialflayoutpreferences.h>
-#include <alf/alfflowlayoutmanager.h>
-#include <alf/ialfflowlayoutpolicy.h>
-#include <osn/osnnew.h>
-
-//stl
-#include <algorithm> //for min & max
-#include "alfflowlayoutpreferencesimpl.h"
-
-using namespace Alf;
-
-namespace Alf
-    {
-// ======== MEMBER FUNCTIONS ========
-
-AlfFlowLayoutPreferencesImpl::AlfFlowLayoutPreferencesImpl(
-    AlfFlowLayoutManager& aFlowLayoutManager) : 
-    mFlowLayoutManager(aFlowLayoutManager), mPreferredSize(TAlfMetric(0))
-    {
-    }
-// ---------------------------------------------------------------------------
-// from IAlfLayoutPreferences
-// Returns the minimum area that this layout manager can occupy by observing
-// the minimum sizes of the child UI elements in the layout
-// ---------------------------------------------------------------------------
-//
-bool AlfFlowLayoutPreferencesImpl::getMinimumSize(TAlfXYMetric& aMinSize) const
-	{
-    return calculateChildSizes(aMinSize, 
-        flowLayoutPolicy().flowDirection(), ESizeMin);
-	}
-
-// ---------------------------------------------------------------------------
-// from IAlfLayoutPreferences
-// Returns the maximum area that this layout manager can occupy by observing
-// the maximum sizes of the child UI elements in the layout
-// ---------------------------------------------------------------------------
-//
-bool AlfFlowLayoutPreferencesImpl::getMaximumSize(TAlfXYMetric& aMaxSize) const
-	{
-    return calculateChildSizes(aMaxSize, 
-        flowLayoutPolicy().flowDirection(), ESizeMax);
-	}
-
-// ---------------------------------------------------------------------------
-// Combines and returns the preferred sizes of all child UI elements according
-// to the layouting rules.
-// ---------------------------------------------------------------------------
-//
-bool AlfFlowLayoutPreferencesImpl::getPreferredSize(TAlfXYMetric& aPreferredSize) const
-    {
-    bool b = false;
-    bool manualSet = (mPreferredSize.iX.iMagnitude > 0 && 
-                      mPreferredSize.iY.iMagnitude > 0);
-    
-    if (manualSet)
-        {
-        aPreferredSize = mPreferredSize;
-        b = true;
-        }
-    else
-        {
-        b = calculateChildSizes(aPreferredSize, 
-            flowLayoutPolicy().flowDirection(), ESizePreferred);
-        }
-    return b;
-	}
- 
-// ---------------------------------------------------------------------------
-// from IAlfLayoutPreferences
-// At the moment doesn't do anything since preferred size is being queried
-// from the child UI elements added to this layout manager.
-// ---------------------------------------------------------------------------
-//
-void AlfFlowLayoutPreferencesImpl::setPreferredSize( 
-    const TAlfXYMetric& aPreferredSize )
-	{
-	mPreferredSize = aPreferredSize;
-    mFlowLayoutManager.owner().updateParentLayout();
-	}
-    
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the element.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* AlfFlowLayoutPreferencesImpl::makeInterface(
-    const IfId& aType)
-    {
-    UString param(aType.mImplementationId);
-    IAlfInterfaceBase* ret = 0;
-    if (param == IAlfLayoutPreferences::type().mImplementationId)
-        {
-        ret = static_cast<IAlfLayoutPreferences*>(this);
-        }
-    
-    return ret;    
-    }
-    
-// ---------------------------------------------------------------------------
-// calculate the min-, preferred-, or max- sizes from the children. 
-// ---------------------------------------------------------------------------
-//    
-bool AlfFlowLayoutPreferencesImpl::calculateChildSizes(
-    TAlfXYMetric& aSize,  
-    enum IAlfFlowLayoutPolicy::flowDirection aFlowDirection, 
-    enum AlfFlowLayoutPreferencesImpl::sizeType aSizeType) const
-    {
-	bool ret = false; 
-	TAlfXYMetric resultSize(TAlfMetric(0), TAlfMetric(0));
-	
-    // Iterate through all the child controls, and get their
-    // preferred sizes.
-    int childCount = mFlowLayoutManager.count();
-    for (int i = 0; i < childCount; i++)
-        {
-        CAlfWidgetControl* childWidgetControl = mFlowLayoutManager.getControl(i);
-        
-        TAlfXYMetric size;
-        if (getSize(childWidgetControl, size, aSizeType))
-            {
-            TAlfRealSize pixelSize = sizeInPixels(size);
-            
-            if (aFlowDirection == IAlfFlowLayoutPolicy::EFlowVertical)
-                {
-                //total width = max preferred width of child widgets.
-                //total height = sum of the preferred heights of child widgets.
-            	if(pixelSize.iWidth > resultSize.iX.iMagnitude)
-            		{
-            		resultSize.iX.iMagnitude = pixelSize.iWidth;
-            		}
-        		resultSize.iY.iMagnitude += pixelSize.iHeight;
-        		ret = true;
-                }
-            else
-                {
-                //horizontal flow direction
-                //total height = max preferred height of child widgets.
-                //total width = sum of the preferred widths of child widgets.
-            	if(pixelSize.iHeight > resultSize.iY.iMagnitude)
-            		{
-            		resultSize.iY.iMagnitude = pixelSize.iHeight;
-            		}
-        		resultSize.iX.iMagnitude += pixelSize.iWidth;
-        		ret = true;
-                }
-            }
-        }
-	
-    aSize = resultSize;
-	return ret;
-    }
-    
-// ---------------------------------------------------------------------------
-// fetches the size from the IAlfLayoutPreferences-interface of the aControl.
-// ---------------------------------------------------------------------------
-//    
-bool AlfFlowLayoutPreferencesImpl::getSize(
-    CAlfWidgetControl* aControl,
-    TAlfXYMetric& aSize,
-    enum AlfFlowLayoutPreferencesImpl::sizeType aSizeType) const
-    {
-    bool ret = false;
-    
-    if (aControl)
-        {
-        const IAlfLayoutPreferences* layoutPrefs = 
-            mFlowLayoutManager.getLayoutPreferences(aControl);
-        
-        if (layoutPrefs)
-            {
-            switch(aSizeType)
-                {
-                case AlfFlowLayoutPreferencesImpl::ESizePreferred:
-                    ret = layoutPrefs->getPreferredSize(aSize);
-                    break;
-                case AlfFlowLayoutPreferencesImpl::ESizeMin:
-                    ret = layoutPrefs->getMinimumSize(aSize);
-                    break;
-                case AlfFlowLayoutPreferencesImpl::ESizeMax:
-                    ret = layoutPrefs->getMaximumSize(aSize);
-                    break;
-                }
-            }
-        }
-        
-    return ret;
-    }
-    
-// ---------------------------------------------------------------------------
-// get the flowlayoutpolicy-interface.
-// ---------------------------------------------------------------------------
-//    
-const IAlfFlowLayoutPolicy& AlfFlowLayoutPreferencesImpl::flowLayoutPolicy() const
-    {
-	AlfFlowLayoutManager* man = 
-	    const_cast<AlfFlowLayoutManager*>(&mFlowLayoutManager);
-	IAlfFlowLayoutPolicy* policy = 
-	    IAlfInterfaceBase::makeInterface<IAlfFlowLayoutPolicy>(man);
-    assert(policy);
-    return *policy;
-    }
-// ---------------------------------------------------------------------------
-// converts size in metrics to size in pixels.
-// implementation missing!
-// ---------------------------------------------------------------------------
-//    
-TAlfRealSize AlfFlowLayoutPreferencesImpl::sizeInPixels(
-    const TAlfXYMetric& aSize)
-    {
-    TAlfRealSize s;
-
-    if(aSize.iX.iUnit == EAlfUnitPixel)
-    	{
-    	s.iWidth = aSize.iX.iMagnitude;
-    	}
-    if(aSize.iY.iUnit == EAlfUnitPixel)
-        {
-        s.iHeight = aSize.iY.iMagnitude;
-        }
-
-    return s;
-    }
-} // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfgridlayoutattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,428 +0,0 @@
-/*
-* 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:   Implements attributesetters for grid layout..
-*
-*/
-
-
-//widget model includes
-#include "alf/alfattributecontainer.h"
-#include "alf/alfattributevaluetype.h"
-#include "alf/alfattribute.h"
-#include "alf/alfgridlayoutattributesetter.h"
-#include <alf/alfvisualexception.h>
-#include <alf/alfdataexception.h>
-#include <alf/alfattributeexception.h>
-
-//osn includes
-#include <osn/ustring.h>
-
-//alf includes
-#include <alf/alfenv.h>
-#include <alf/alfgridlayout.h>
-
-//dui includes
-#include "alf/attrproperty.h"
-
-//other includes
-#include <libc/string.h>
-
-using osncore::UString;
-
-using namespace duiuimodel::commonvisualattributes;
-
-using namespace duiuimodel::layoutattributes;
-
-//variable inside ifdef to prevent compiler warning.
-#ifdef ALF_DEBUG_EXCEPTIONS
-static const char* const ClassName = "AlfGridLayoutAttributeSetter";
-#endif
-
-namespace Alf
-    {
-
-// ---------------------------------------------------------------------------
-// returns int or realvalue as float.
-// ---------------------------------------------------------------------------
-//
-float realOrInt(const AlfAttribute& aAttr, int aIndex)
-    {
-    switch(aAttr.type(aIndex))
-        {
-        case AlfAttributeValueType::EInt:
-            return aAttr.intValue(aIndex);
-        case AlfAttributeValueType::EFloat:            
-            return aAttr.realValue(aIndex);
-        default:
-            ALF_THROW ( AlfDataException, ECommonError, ClassName);
-        }
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfGridLayoutAttributeSetter::AlfGridLayoutAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfGridLayoutAttributeSetter::~AlfGridLayoutAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Sets Attribute Value. Delegates based on attribute Category.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfGridLayoutAttributeSetter::setAttributeValue(
-    CAlfVisual &aVisual,
-    AlfAttributeContainer* aContainer,
-    IAlfMap* aData )
-    {
-    CAlfGridLayout* gridlayout = dynamic_cast<CAlfGridLayout*>(&aVisual);
-
-    if (!gridlayout)
-        {
-        ALF_THROW(AlfVisualException, EInvalidVisual, ClassName)
-        }
-
-    AlfCommonLayoutAttributeSetter::setAttributeValue(aVisual,
-            aContainer, aData);
-    }
-
-// ---------------------------------------------------------------------------
-// Deprecated
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfCommand* AlfGridLayoutAttributeSetter::createCommand(
-        CAlfVisual& /*aVisual*/,
-        AlfAttributeContainer* /*aContainer*/, 
-        IAlfMap* /*aData*/,
-        int /*aTransitionTime*/, 
-        CAlfVisual* /*aRefVisual*/ )
-    {
-    //deprecated
-    TAlfCommand* cmd = 0;
-    return cmd;
-    }
-
-// ---------------------------------------------------------------------------
-// Sends a command to Env
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfGridLayoutAttributeSetter::createAndSendCommands(
-    CAlfVisual& aVisual,
-    AlfAttributeContainer* aContainer,
-    CAlfVisual* aRefVisual )
-    {
-    //no animatable attributes in grid layout.
-    AlfCommonLayoutAttributeSetter::createAndSendCommands( 
-        aVisual, aContainer, aRefVisual);
-    }
-
-
-// ---------------------------------------------------------------------------
-// Sets dynamic attributes to visual
-// ---------------------------------------------------------------------------
-//
-void AlfGridLayoutAttributeSetter::handleDynamicAttribute(
-    CAlfVisual &aVisual,
-    AlfAttribute& aAttr, 
-    AlfAttributeContainer& aContainer)
-    {
-    //no dynamic attributes in grid layout.
-    AlfCommonLayoutAttributeSetter::handleDynamicAttribute(
-        aVisual, aAttr, aContainer);
-    }
-
-// ---------------------------------------------------------------------------
-// Sets static attributes to visual
-// ---------------------------------------------------------------------------
-//
-void AlfGridLayoutAttributeSetter::handleStaticAttribute ( 
-    CAlfVisual &aVisual,
-    AlfAttribute& aAttr, 
-    AlfAttributeContainer& aContainer)
-    {
-    const char* attrName = aAttr.name();
-    CAlfGridLayout* gridlayout = dynamic_cast<CAlfGridLayout*>(&aVisual);
-    if (!gridlayout)
-        {
-        return;
-        }     
-
-    if (!strcmp(attrName, grid::KRows))
-        {
-        int rows = realOrInt(aAttr, 0);     //this can throw
-        TRAPD(err1, gridlayout->SetRowsL(rows));
-        if (err1 != KErrNone) 
-            {
-            ALF_THROW(AlfException, err1, ClassName)
-            }
-        }
-    else if (!strcmp(attrName, grid::KColumns))
-        {
-        int columns = realOrInt(aAttr, 0);    //this can throw
-        TRAPD(err1, gridlayout->SetColumnsL(columns));
-        if (err1 != KErrNone) 
-            {
-            ALF_THROW(AlfException, err1, ClassName)
-            }
-        }
-    else if (!strcmp( attrName, grid::KColumnWeight))
-        {
-        unsigned int valueCount = aAttr.getTargetValueCount();
-
-        for (int i = 0; i < valueCount; ++i)
-            {
-            TAlfUnit unitType = aAttr.unit(i);
-
-            float val = realOrInt(aAttr, i);
-            TAlfMetric metric( val, unitType );
-
-            TRAPD(err, gridlayout->ReplaceWeightL(EAlfGridColumn, metric, i));
-
-            int err2 = KErrNone;
-            if (err == KErrArgument)
-                {
-                TRAP(err2, gridlayout->AppendWeightL(EAlfGridColumn, metric));
-                if (err2 != KErrNone)
-                    {
-                    ALF_THROW(AlfException, err2, ClassName)
-                    }
-                }
-            else if (err != KErrNone)
-                {
-                ALF_THROW(AlfException, ECommonError, ClassName)
-                }
-            }
-        }
-    else if ( !strcmp ( attrName, grid::KRowWeight ) )
-        {
-        unsigned int valueCount = aAttr.getTargetValueCount();
-
-        for ( int i = 0; i < valueCount; ++i )
-            {
-
-            TAlfUnit unitType = aAttr.unit(i);
-            float val = realOrInt(aAttr, i);
-            TAlfMetric metric ( val, unitType );
-
-            TRAPD ( err, gridlayout->ReplaceWeightL ( EAlfGridRow, metric, i ) );
-
-            int err2 = KErrNone;
-            if ( err == KErrArgument )
-                {
-                TRAP ( err2, gridlayout->AppendWeightL ( EAlfGridRow, metric ) );
-                if (err2 != KErrNone)
-                    {
-                    ALF_THROW(AlfException, err2, ClassName)
-                    }
-                }
-            else if (err != KErrNone)
-                {
-                ALF_THROW(AlfException, ECommonError, ClassName)
-                }
-            }
-        }
-    else if (!strcmp( attrName, KExpansionFlag ))
-        {
-        gridlayout->SetExpanding ( aAttr.intValue() );
-        }
-    else if (!strcmp( attrName, grid::KSetLayoutModeFlag ))
-        {
-        if (aAttr.getTargetValueCount() == 2 && 
-            aAttr.type(0) == AlfAttributeValueType::EInt && 
-            aAttr.type(1) == AlfAttributeValueType::EInt)
-            {
-            gridlayout->SetLayoutModeFlags(TAlfGridDimension( 
-                aAttr.intValue(0)), uint(aAttr.intValue(1)));
-            }
-        else
-            {
-            ALF_THROW(AlfAttributeException, EInvalidAttribute, ClassName)
-            }
-        }
-    else if (!strcmp( attrName, grid::KClearLayoutModeFlag ))
-        {
-        if ( aAttr.getTargetValueCount() == 2 && 
-             aAttr.type(0) == AlfAttributeValueType::EInt && 
-             aAttr.type(1) == AlfAttributeValueType::EInt)
-            {
-            gridlayout->ClearLayoutModeFlags(TAlfGridDimension( 
-                aAttr.intValue(0)), uint(aAttr.intValue(1)));
-            }
-        else
-            {
-            ALF_THROW( AlfAttributeException, EInvalidAttribute, ClassName)
-            }
-        }
-    else
-        {
-        AlfCommonLayoutAttributeSetter::handleStaticAttribute(
-            aVisual, aAttr, aContainer);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Sets dynamic attributes to visual from data
-// ---------------------------------------------------------------------------
-//
-void AlfGridLayoutAttributeSetter::handleDynamicDataAttribute(
-    CAlfVisual &aVisual,
-    AlfAttribute& aAttr, 
-    AlfAttributeContainer& aContainer, 
-    IAlfMap* aData )
-    {
-    //no dynamic attributes in grid layout.
-    AlfCommonLayoutAttributeSetter::handleDynamicDataAttribute(aVisual,
-            aAttr, aContainer, aData);
-    }
-
-// ---------------------------------------------------------------------------
-// Sets static attributes to visual  from data
-// ---------------------------------------------------------------------------
-//
-void AlfGridLayoutAttributeSetter::handleStaticDataAttribute(
-    CAlfVisual &aVisual,
-    AlfAttribute& aAttr, 
-    AlfAttributeContainer& aContainer, 
-    IAlfMap* aData)
-    {
-    CAlfGridLayout* gridlayout = dynamic_cast<CAlfGridLayout*> ( &aVisual );
-    if (!gridlayout)
-        {
-        ALF_THROW(AlfDataException, ECommonError, ClassName)
-        }    
-
-    const char* attrName = aAttr.name();
-    const char* dataField = aAttr.getDataField();
-
-    if (!dataField)
-        {
-        ALF_THROW(AlfDataException, ECommonError, ClassName)
-        }
-
-    if (!aData) 
-        {
-        ALF_THROW(AlfDataException, ECommonError, ClassName)
-        }
-
-    IAlfVariantType* data = aData->item(UString(dataField));
-
-    if (data)
-        {
-        if (!strcmp(attrName, grid::KRows))
-            {
-            if (data->type() == IAlfVariantType::EInt)
-                {
-                int rows = data->integer() ;
-                TRAPD(err1, gridlayout->SetRowsL ( rows ));
-                if (err1 != KErrNone) 
-                    {
-                    ALF_THROW(AlfException, err1, ClassName)
-                    }
-                }
-            }
-        else if (!strcmp( attrName, grid::KColumns))
-            {
-            if (data->type() == IAlfVariantType::EInt)
-                {
-                int columns = data->integer();
-                TRAPD(err1, gridlayout->SetColumnsL (columns));
-                if (err1 != KErrNone)
-                    {
-                    ALF_THROW ( AlfException, ECommonError, ClassName )
-                    }
-                }
-            }
-        else if (!strcmp(attrName, KExpansionFlag))
-            {
-            if (data->type() == IAlfVariantType::EInt)
-                {
-                gridlayout->SetExpanding(data->integer());
-                }
-            }
-        else if (!strcmp(attrName, grid::KSetLayoutModeFlag))
-            {
-            if (data->type() == IAlfVariantType::EContainer)
-                {
-                IAlfContainer* dataContainer = data->container();
-
-                if ( dataContainer->count() != 2)
-                    {
-                    ALF_THROW(AlfDataException, EInvalidContainerOperation, 
-                        ClassName)
-                    }
-
-                IAlfVariantType* dimensionData = dataContainer->item(0);
-                IAlfVariantType* flags = dataContainer->item(1);
-
-                if (dimensionData && flags &&
-                    dimensionData->type() == IAlfVariantType::EInt && 
-                    flags->type() == IAlfVariantType::EInt)
-                    {
-                    gridlayout->SetLayoutModeFlags(TAlfGridDimension( 
-                        dimensionData->integer()) , uint(flags->integer()));
-                    }
-                }
-            }
-        else if (!strcmp(attrName, grid::KClearLayoutModeFlag))
-            {
-            if (data->type() == IAlfVariantType::EContainer)
-                {
-                IAlfContainer* dataContainer = data->container();
-
-                if (dataContainer->count() != 2)
-                    {
-                    ALF_THROW(AlfDataException, EInvalidContainerOperation, 
-                        ClassName)
-                    }
-
-                IAlfVariantType* dimensionData = dataContainer->item(0);
-                IAlfVariantType* flags = dataContainer->item(1);
-
-                if (dimensionData && flags && 
-                    dimensionData->type() == IAlfVariantType::EInt && 
-                    flags->type() == IAlfVariantType::EInt)
-                    {
-                    gridlayout->ClearLayoutModeFlags(TAlfGridDimension(
-                        dimensionData->integer()), uint(flags->integer()));
-                    }
-                }
-            }
-        else if ( !strcmp ( attrName, grid::KColumnWeight ) )
-            {
-            }
-        else if ( !strcmp ( attrName, grid::KRowWeight ) )
-            {
-            }
-        else
-            {
-            AlfCommonAttributeSetter::handleStaticDataAttribute(aVisual, 
-                aAttr, aContainer, aData);
-            }
-        }
-    }
-
-    } // namespace Alf
-// End of file
-
-
--- a/widgetmodel/alfwidgetmodel/src/alfgridlayoutmanager.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
-* 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:  gridlayoutmanager with focus handling in 1D (next/previous)
-*
-*/
-
-
-#include <alf/alfgridlayoutmanager.h>
-#include <alf/alfexceptions.h>
-#include <alf/alfwidgetcontrol.h>
-#include <osn/ustring.h>
-#include <osn/osnnew.h>
-
-#include "alfgridlayoutmanagerimpl.h"
-#include "alfgridlayoutpolicyimpl.h"
-
-using osncore::UString;
-
-using namespace Alf;
-
-namespace Alf
-    {
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// layout manager constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfGridLayoutManager::AlfGridLayoutManager() 
-    : AlfLayoutManager(EAlfLayoutTypeGrid)
-    {
-    mData.reset(new (EMM) AlfGridLayoutManagerImpl(*this));
-    mDataPolicy.reset(new (EMM) AlfGridLayoutPolicyImpl(*this));
-    }
-        
-// ---------------------------------------------------------------------------
-// virtual destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfGridLayoutManager::~AlfGridLayoutManager()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// from AlfLayoutManager
-// notifies the layout manager, that the child control's layout
-// must be updated.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfGridLayoutManager::updateChildLayout(
-    CAlfWidgetControl* aControl)
-    {
-    CAlfLayout& layout = getLayout();
-    doUpdateChildLayout(aControl);
-    layout.UpdateChildrenLayout();
-
-    //doUpdateChildLayout changes the visual size and position.
-    //need to notify the widget that size and position has changed.
-    
-    //set the size and postion for aControl
-    TAlfRealRect rect;
-    if (controlRect(*aControl, rect)) //returns the real rect (of the root visual)
-        {
-        setControlRect(*aControl, rect);
-        }
-
-    // Inform parent layout manager about the changed presentation size
-    owner().updateParentLayout();
-    }
-        
-// ---------------------------------------------------------------------------
-// from IAlfLayoutManager
-// notifies the layout manager, that the control's has been
-// removed from the layout.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfGridLayoutManager::childRemoved(CAlfWidgetControl* aControl)
-    {
-    //when control is removed from layout, no change to other widget rects,
-    // just call the base class
-    AlfLayoutManager::childRemoved(aControl);
-    }
-    
-// ---------------------------------------------------------------------------
-// from AlfLayoutManager
-// notifies the layout manager, that the child control's layout
-// must be updated.
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT void AlfGridLayoutManager::doUpdateChildLayout(
-    CAlfWidgetControl* /*aControl*/)
-    {
-    //gridlayout changes the position and size, nothing to do here.
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the element.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfInterfaceBase* AlfGridLayoutManager::makeInterface( 
-    const IfId& aType )
-    {
-    UString param(aType.mImplementationId);
-    if (param == IAlfLayoutManager::type().mImplementationId)
-        {
-        return this;
-        }      
-
-    // Let the implementation class try the interface creation
-    IAlfInterfaceBase* pInterface = mData->makeInterface(aType);
-    if(!pInterface)
-        pInterface = mDataPolicy->makeInterface(aType);
-    return pInterface;
-    }
- } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfgridlayoutmanagerimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +0,0 @@
-/*
-* 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:  layoutmanager implementation class with focus handling in 1D (next/previous)
-*
-*/
-
-
-#include <alf/ialfwidgetcontrol.h>
-#include <alf/alfvisual.h>
-#include <alf/alfgridlayout.h>
-#include "alf/alfwidget.h"
-#include <alf/alfvisualfactory.h>
-#include <alf/alfexceptions.h>
-#include <alf/ialflayoutpreferences.h>
-#include <osn/osnnew.h>
-
-//stl
-#include <algorithm> //for min & max
-
-#include "alfgridlayoutmanagerimpl.h"
-
-using namespace Alf;
-
-namespace Alf
-    {
-// ======== MEMBER FUNCTIONS ========
-    
-// ---------------------------------------------------------------------------
-// layoutmanagerimpl constructor
-// ---------------------------------------------------------------------------
-//    
-AlfGridLayoutManagerImpl::AlfGridLayoutManagerImpl(
-    AlfGridLayoutManager& aGridLayoutManager) : 
-    mGridLayoutManager(aGridLayoutManager)
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// creates the layout used by the layoutmanager.
-// ---------------------------------------------------------------------------
-//    
-AlfGridLayoutManagerImpl::~AlfGridLayoutManagerImpl()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// from IAlfLayoutPreferences
-// Returns the minimum area that this layout manager can occupy by observing
-// the minimum sizes of the child UI elements in the layout
-// ---------------------------------------------------------------------------
-//
-bool AlfGridLayoutManagerImpl::getMinimumSize( TAlfXYMetric& /*aMinSize*/ ) const
-	{
-	return false;
-	}
-
-// ---------------------------------------------------------------------------
-// from IAlfLayoutPreferences
-// Returns the maximum area that this layout manager can occupy by observing
-// the maximum sizes of the child UI elements in the layout
-// ---------------------------------------------------------------------------
-//
-bool AlfGridLayoutManagerImpl::getMaximumSize( TAlfXYMetric& /*aMaxSize*/ ) const
-	{
-	return false;
-	}
-
-// ---------------------------------------------------------------------------
-// Combines and returns the preferred sizes of all child UI elements according
-// to the layouting rules.
-// ---------------------------------------------------------------------------
-//
-bool AlfGridLayoutManagerImpl::getPreferredSize(TAlfXYMetric& aPreferredSize) const
-	{	
-	bool hasPreferredSize = false;
-	TAlfXYMetric resultSize = TAlfXYMetric(TAlfMetric(0), TAlfMetric(0));
-		
-    const CAlfGridLayout& gridlayout = layout();
-    const int childCount = mGridLayoutManager.count();
-    const int gridColCount = gridlayout.ColumnCount();
-    
-    //iterate the columns to calculate the preferred width.
-    const int colCount = std::min<int>(gridColCount, childCount);
-    for (int i = 0; i < colCount; i++)
-        {
-        CAlfWidgetControl* childWidgetControl = mGridLayoutManager.getControl(i);
-        //getControl may return null, but getLayoutPreferences checks that.
-        const IAlfLayoutPreferences* layoutPrefs = 
-            mGridLayoutManager.getLayoutPreferences(childWidgetControl);        
-        
-        if (layoutPrefs)
-            {
-            TAlfXYMetric prefSize;
-            if (layoutPrefs->getPreferredSize(prefSize))
-                {
-                if(prefSize.iX.iUnit == EAlfUnitPixel)
-                    {
-                    resultSize.iX.iMagnitude += prefSize.iX.iMagnitude;
-                    hasPreferredSize = true;
-                    }
-                }
-            }
-        }
-    
-    //iterate the rows to calculate the preferred height  
-    if (hasPreferredSize)
-        {
-        //count rows, that have at least one visual.
-        int usedRows = childCount / gridColCount;
-        if (childCount % gridColCount)
-            {
-            //last wor not filled completely, but still valid to get preferred height
-            //for this row also.
-            usedRows++;
-            }
-            
-        const int rowCount = std::min<int>(gridlayout.RowCount(), usedRows);
-        for (int i = 0; i < rowCount; i+= gridColCount)
-            {
-            CAlfWidgetControl* childWidgetControl = mGridLayoutManager.getControl(i);
-            //getControl may return null, but getLayoutPreferences checks that.
-            const IAlfLayoutPreferences* layoutPrefs = 
-                mGridLayoutManager.getLayoutPreferences(childWidgetControl);        
-            
-            if (layoutPrefs)
-                {
-                TAlfXYMetric prefSize;
-                if (layoutPrefs->getPreferredSize(prefSize))
-                    {
-                    if(prefSize.iY.iUnit == EAlfUnitPixel)
-                        {
-                        resultSize.iY.iMagnitude += prefSize.iY.iMagnitude;
-                        hasPreferredSize = true;
-                        }
-                    }
-                }
-            }
-        }
-        
-    aPreferredSize = resultSize;
-    return hasPreferredSize;
-	}
- 
-// ---------------------------------------------------------------------------
-// from IAlfLayoutPreferences
-// At the moment doesn't do anything since preferred size is being queried
-// from the child UI elements added to this layout manager.
-// ---------------------------------------------------------------------------
-//
-void AlfGridLayoutManagerImpl::setPreferredSize( const TAlfXYMetric& aPreferredSize)
-	{
-	TAlfTimedPoint size((float)aPreferredSize.iX.iMagnitude,(float)aPreferredSize.iY.iMagnitude);
-	layout().SetSize(size);
-	mGridLayoutManager.owner().updateParentLayout();
-	}
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the element.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* AlfGridLayoutManagerImpl::makeInterface(const IfId& aType)
-    {
-    UString param(aType.mImplementationId);
-    if (param == IAlfLayoutPreferences::type().mImplementationId)
-        {
-        return this;
-        }      
-    
-    return NULL;
-    }
-    
-// ---------------------------------------------------------------------------
-// returns the gridlayout used by the layoutmanager
-// ---------------------------------------------------------------------------
-//
-CAlfGridLayout& AlfGridLayoutManagerImpl::layout() const
-    {
-    return dynamic_cast<CAlfGridLayout&>(mGridLayoutManager.getLayout());
-    }
-
- } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfgridlayoutpolicyimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,206 +0,0 @@
-/*
-* Copyright (c) 2008 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:  layoutmanager implementation class with focus handling in 1D (next/previous)
-*
-*/
-
-
-#include <alf/ialfwidgetcontrol.h>
-#include <alf/alfvisual.h>
-#include <alf/alfgridlayout.h>
-#include "alf/alfwidget.h"
-#include <alf/alfvisualfactory.h>
-#include <alf/alfexceptions.h>
-#include <alf/ialflayoutpreferences.h>
-#include <osn/osnnew.h>
-
-//stl
-#include <algorithm> //for min & max
-
-#include "alfgridlayoutpolicyimpl.h"
-
-using namespace Alf;
-
-namespace Alf
-    {
-//ifdef to prevent compiler warning: className not used.
-#ifdef ALF_DEBUG_EXCEPTIONS
-static const char* const className = "AlfGridLayoutPolicyImpl";
-#endif
-    
-    
-// ======== MEMBER FUNCTIONS ========
-    
-// ---------------------------------------------------------------------------
-// layoutmanagerimpl constructor
-// ---------------------------------------------------------------------------
-//    
-AlfGridLayoutPolicyImpl::AlfGridLayoutPolicyImpl(
-    AlfGridLayoutManager& aGridLayoutManager) : 
-    mGridLayoutManager(aGridLayoutManager)
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// creates the layout used by the layoutmanager.
-// ---------------------------------------------------------------------------
-//    
-AlfGridLayoutPolicyImpl::~AlfGridLayoutPolicyImpl()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// from IAlfGridLayoutPolicy
-// Sets the number and weights of blocks in this grid layout in the direction of the specified
-// dimension. 
-// ---------------------------------------------------------------------------
-void AlfGridLayoutPolicyImpl::fillWeights(gridLayoutDimension aDim, int aCount, const TAlfMetric& aWeight)
-    {
-    CAlfGridLayout& gridLayout = layout();
-    TAlfGridDimension dim = (TAlfGridDimension)aDim;
-    TRAPD(err, gridLayout.FillWeightsL(dim, aCount, aWeight));
-    if(err != KErrNone)
-        {
-        ALF_THROW(AlfVisualException, err, className);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// from IAlfGridLayoutPolicy
-// Add a new line of blocks to this grid layout at the last position in the direction of the 
-// specified dimension. 
-// ---------------------------------------------------------------------------
-void AlfGridLayoutPolicyImpl::appendWeight(gridLayoutDimension aDim, const TAlfMetric& aWeight)
-    {
-    CAlfGridLayout& gridLayout = layout();
-    TAlfGridDimension dim = (TAlfGridDimension)aDim;
-    TRAPD(err, gridLayout.AppendWeightL(dim, aWeight));
-    if(err != KErrNone)
-        {
-        ALF_THROW(AlfVisualException, err, className);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// from IAlfGridLayoutPolicy
-// Add a new line of blocks to this grid layout at the specified position in the direciton of 
-// the specified dimension. 
-// ---------------------------------------------------------------------------
-void AlfGridLayoutPolicyImpl::insertWeight(gridLayoutDimension aDim, const TAlfMetric& aWeight, int aPos)
-    {
-    CAlfGridLayout& gridLayout = layout();
-    TAlfGridDimension dim = (TAlfGridDimension)aDim;
-    TRAPD(err, gridLayout.InsertWeightL(dim, aWeight, aPos));
-    if(err != KErrNone)
-        {
-        ALF_THROW(AlfVisualException, err, className);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// from IAlfGridLayoutPolicy
-// Sets the weight of a specific line of blocks in this grid layout, in the direction of the supplied dimension.
-// ---------------------------------------------------------------------------
-void AlfGridLayoutPolicyImpl::replaceWeight(gridLayoutDimension aDim, const TAlfMetric& aWeight, int aPos)
-    {
-    CAlfGridLayout& gridLayout = layout();
-    TAlfGridDimension dim = (TAlfGridDimension)aDim;
-    TRAPD(err, gridLayout.ReplaceWeightL(dim, aWeight, aPos));
-    if(err != KErrNone)
-        {
-        ALF_THROW(AlfVisualException, err, className);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// from IAlfGridLayoutPolicy
-// Remove a line of blocks from this grid layout at the specified position in the 
-// specified dimension. 
-// ---------------------------------------------------------------------------
-void AlfGridLayoutPolicyImpl::removeWeight(gridLayoutDimension aDim, int aPos)
-    {
-    CAlfGridLayout& gridLayout = layout();
-    TAlfGridDimension dim = (TAlfGridDimension)aDim;
-    TRAPD(err, gridLayout.RemoveWeightL(dim, aPos));
-    if(err != KErrNone)
-        {
-        ALF_THROW(AlfVisualException, err, className);
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// from IAlfGridLayoutPolicy
-// Returns the weight of a specific line of blocks in this grid layout, in the
-// specified dimension. 
-// ---------------------------------------------------------------------------
-TAlfMetric AlfGridLayoutPolicyImpl::weight(gridLayoutDimension aDim, int aPos) const
-    {
-    CAlfGridLayout& gridLayout = layout();
-    TAlfGridDimension dim = (TAlfGridDimension)aDim;
-    TAlfMetric result;
-    TRAPD(err, result = gridLayout.Weight(dim, aPos));
-    if(err != KErrNone)
-        {
-        ALF_THROW(AlfVisualException, err, className);
-        }
-    return result;
-    }
-
-    
-// ---------------------------------------------------------------------------
-// from IAlfGridLayoutPolicy
-// Return the number of lines of blocks in this grid, along the specified dimension
-// ---------------------------------------------------------------------------
-int AlfGridLayoutPolicyImpl::count(gridLayoutDimension aDim) const
-    {
-    CAlfGridLayout& gridLayout = layout();
-    TAlfGridDimension dim = (TAlfGridDimension)aDim;
-    int result(0);
-    TRAPD(err, result = gridLayout.DimensionCount(dim));
-    if(err != KErrNone)
-        {
-        ALF_THROW(AlfVisualException, err, className);
-        }
-    return result;
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the element.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* AlfGridLayoutPolicyImpl::makeInterface(const IfId& aType)
-    {
-    UString param(aType.mImplementationId);
-    if (param == IAlfGridLayoutPolicy::type().mImplementationId)
-        {
-        return this;
-        }      
-    
-    return NULL;
-    }
-    
-// ---------------------------------------------------------------------------
-// returns the gridlayout used by the layoutmanager
-// ---------------------------------------------------------------------------
-//
-CAlfGridLayout& AlfGridLayoutPolicyImpl::layout() const
-    {
-    return dynamic_cast<CAlfGridLayout&>(mGridLayoutManager.getLayout());
-    }
-
- } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfhostapiimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-/*
-* 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:  The private implementation of AlfHostAPI.
-*
-*/
-
-
-#include "alfhostapiimpl.h"
-#include <alf/alfwidgetcontrol.h>
-#include <alf/ialflayoutmanager.h>
-#include <alf/alfexceptions.h>
-
-namespace Alf
-    {
-    
-AlfHostAPIImpl::AlfHostAPIImpl(): mBaseLayout(NULL), mHostControl(NULL)
-    {
-    }
-    
-    
-AlfHostAPIImpl::~AlfHostAPIImpl()
-    {
-    }
-
-OSN_EXPORT IAlfInterfaceBase* AlfHostAPIImpl::makeInterface(
-    const IfId& aType )
-    {
-    UString param(aType.mImplementationId);
-    if ( param == IAlfHostAPI::type().mImplementationId )
-        {
-        return static_cast<IAlfHostAPI*>( this );
-        }
-    return 0;
-    }
-
-void AlfHostAPIImpl::setHostControl(CAlfWidgetControl& aControl)
-    {
-    mHostControl = &aControl;
-    }
-
-void AlfHostAPIImpl::setConnection(CAlfWidgetControl& aControl, AlfRole aRole)
-    {
-    if (mHostControl)
-        {
-        // Remove previous host connection from connected control
-        if(aControl.Host())
-            {
-            CAlfWidgetControl* parentControl = dynamic_cast<CAlfWidgetControl*>(aControl.Host());
-            if(parentControl)
-                {
-                parentControl->hostAPI().removeConnection(aControl);
-                }
-            }
-        
-        // Add connection from host control to connected control
-        TRAPD(err, mHostControl->AddConnectionL(&aControl,aRole));
-        if(err != KErrNone)
-            {
-            ALF_THROW(AlfException, err, "AlfHostAPIImpl::setConnection() - AddConnectionL() failed.");
-            }        
-        
-        // Update layout of host control if a child control was connected
-        if (aRole == EChild && mBaseLayout.get())
-            {
-            mBaseLayout->updateChildLayout(&aControl);
-            }
-        }
-    }
-
-CAlfWidgetControl* AlfHostAPIImpl::getConnection(int aIndex) const
-    {
-    if (mHostControl)
-    	{
-    	//AlfControl doesn't perform bound checks.
-    	if (aIndex >=0 && aIndex < mHostControl->ConnectionCount()) 
-    		{
-    		return (static_cast<CAlfWidgetControl*>(&(mHostControl->Connection(aIndex)))); 
-    		}
-    	}
-    return 0; //NULL is not defined in osncore
-    }
-    
-int AlfHostAPIImpl::getConnectionCount() const
-    {
-    int connectionCount = 0;
-    if (mHostControl)
-        {
-        connectionCount = mHostControl->ConnectionCount();
-        }
-    return connectionCount;
-    }
-    
-int AlfHostAPIImpl::getConnectionIndex(CAlfWidgetControl& aControl) const
-    {
-    return mHostControl->FindConnection(&aControl);
-    }
-
-void AlfHostAPIImpl::removeConnection(CAlfWidgetControl& aControl)
-    {
-    if (mHostControl)
-        {
-        mHostControl->RemoveConnection(&aControl);  
-        if (getBaseLayout())
-            {
-            getBaseLayout()->childRemoved(&aControl);
-            }
-        }
-    }
-
-void AlfHostAPIImpl::setBaseLayout(IAlfLayoutManager& aLayout)
-    {
-    if(mHostControl)
-    	{
-        mBaseLayout.reset(&aLayout);
-        mBaseLayout->createLayout(*mHostControl, 0, 0);
-        }
-    }
-
-IAlfLayoutManager* AlfHostAPIImpl::getBaseLayout() const
-    {
-    return mBaseLayout.get();
-    }
-
-    } //namespace alf
-
-
-
--- a/widgetmodel/alfwidgetmodel/src/alfimagevisualattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,821 +0,0 @@
-/*
-* 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:   Implements attributesetters for image.
-*
-*/
-
-
-#include "alf/alfattribute.h"
-#include "alf/alfimagevisualattributesetter.h"
-#include "alf/alfattributevaluetype.h"
-#include <alf/alfvisual.h>
-#include <alf/alfattributeexception.h>
-#include <alf/alfvisualexception.h>
-#include "alf/alfattributecontainer.h"
-#include <libc/string.h>
-
-#include <uiacceltk/HuiRealPoint.h>
-
-#include <alf/alfimagevisual.h>
-#include <alf/alftexture.h>
-#include <utf.h>
-#include <alf/alfenv.h>
-#include <alf/alfdataexception.h>
-#include <alf/alfdisplay.h>
-#include <alf/alfutil.h>
-
-#include <alf/alfbrusharray.h>
-#include <alf/alfframebrush.h>
-
-
-#include <alf/alfeventhandler.h>
-#include <alf/alfevent.h>
-#include <osn/alfptrvector.h>
-#include <alf/alfresourcepool.h>
-#include <alf/alfmetric.h>
-#include <alf/alfwidgetenvextension.h>
-
-#include <osn/osnnew.h>
-#include <osn/ustring.h>
-#include <alf/attrproperty.h>
-
-using namespace osncore;
-
-using namespace duiuimodel::imagevisualattributes;
-using namespace duiuimodel::commonvisualattributes;
-using namespace duiuimodel::layoutattributes;
-
-namespace Alf
-{
-
-class AlfImageVisualAttributeSetterImpl
-    {
-public:
-    AlfImageVisualAttributeSetterImpl();
-    ~AlfImageVisualAttributeSetterImpl();
-public:
-    //Keep track of loaded texture for imagevisuals.
-    //Texture manager doesn't unload the texture from memory untill Env is deleted.
-    //Hence need to unload them once attribute setter is deleted.
-    AlfPtrVector<CAlfTexture> mLoadedTextures;
-    //Env needed to access TextureManager while unloading textures.
-    CAlfEnv* mEnv;
-
-    // Utility functions. Keep them static so whole class can become static in future
-    TAlfImage createImageFromImagePath( const CAlfImageVisual& aImageVisual, const TPtrC8& aPath );
-    TAlfImage createNonPoolImageFromSkinLogicalID(CAlfEnv& aEnv, const Utf8* aResourceRef, AlfAttributeContainer& aContainer);    
-    };
-
-AlfImageVisualAttributeSetterImpl::AlfImageVisualAttributeSetterImpl()
-    {
-    //Do not delete textures here as they may be in use by the visuals that have not been deleted.
-    mEnv = CAlfEnv::Static();
-    mLoadedTextures.setAutoDelete(false);
-    }
-
-AlfImageVisualAttributeSetterImpl::~AlfImageVisualAttributeSetterImpl()
-    {
-    //Unload all loaded textures created by this attributesetter to free up the memory.
-    for (int i =0;i<mLoadedTextures.count();i++)
-        {
-        CAlfTexture* texture = mLoadedTextures[i];
-        mEnv->TextureManager().UnloadTexture(texture->Id());
-        }
-    mLoadedTextures.clear();
-
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfImageVisualAttributeSetter::AlfImageVisualAttributeSetter()
-    {
-    mImpl.reset(new (EMM) AlfImageVisualAttributeSetterImpl());
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfImageVisualAttributeSetter::~AlfImageVisualAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Sets Attribute Value. Delegates based on attribute Category.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfImageVisualAttributeSetter::setAttributeValue (
-    CAlfVisual &aVisual,
-    AlfAttributeContainer* aContainer,
-    IAlfMap* aData )
-    {
-    CAlfImageVisual* imageVisual = dynamic_cast<CAlfImageVisual*>(&aVisual);
-    if (!imageVisual)
-        {
-        ALF_THROW ( AlfVisualException, EInvalidVisual, "AlfImageVisualAttributeSetter")
-        }
-
-    AlfCommonVisualAttributeSetter::setAttributeValue(aVisual,
-            aContainer, aData);
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AlfImageVisualAttributeSetter::handleDynamicDataAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, IAlfMap* aData)
-    {
-    AlfCommonVisualAttributeSetter::handleDynamicDataAttribute( aVisual, aAttr,
-            aContainer, aData);
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AlfImageVisualAttributeSetter::handleStaticDataAttribute(
-    CAlfVisual &aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, IAlfMap* aData)
-    {
-    if (!aData) ALF_THROW ( AlfDataException, EInvalidVariantDataType, "CAlfTextVisualAttributeSetter" )
-
-        const char* dataField = aAttr.getDataField();
-    if (!dataField) ALF_THROW ( AlfDataException, EInvalidAttribute, "CAlfTextVisualAttributeSetter" )
-
-        IAlfVariantType* data = aData->item ( UString(dataField));
-
-    const char* attrName = aAttr.name();
-
-    if (data)
-        {
-        CAlfImageVisual* imageVisual = dynamic_cast<CAlfImageVisual*>(&aVisual);
-        if(!imageVisual)
-            {
-            ALF_THROW ( AlfDataException, EInvalidVariantDataType, "CAlfTextVisualAttributeSetter" )
-            }
-
-        if (!strcmp(attrName,KImageScaleMode))
-            {
-            if (data->type() == IAlfVariantType::EInt)
-                {
-                int val = data->integer();
-                imageVisual->SetScaleMode(CAlfImageVisual::TScaleMode(val));
-                }
-            }
-        else if (!strcmp(attrName,KImageColorMode))
-            {
-            if (data->type() == IAlfVariantType::EInt)
-                {
-                int val = data->integer();
-                imageVisual->SetColorMode(CAlfImageVisual::TColorMode(val));
-                }
-            }
-        else if (!strcmp(attrName,KDropShadow))
-            {
-
-            // needs to have discussion about how to store unit in the data
-
-            }
-            
-        else if (!strcmp(attrName, KImagePath))
-            {
-            if (data->type() == IAlfVariantType::EString)
-                {
-                TPtrC8 src;
-                src.Set((TUint8*)data->string().getUtf8());
-                HandleImagePathAttribute( src, imageVisual, true );
-                }
-            }
-
-        else if (!strcmp(attrName,KImageResourceRef))
-            {
-            if (data->type() == IAlfVariantType::EString)
-                {
-                TAlfImage image;
-                try
-                    {
-                	image = AlfWidgetEnvExtension::resourcePool(aVisual.Env()).getImageResource(data->string().getUtf8());	
-                    }
-                catch(invalid_argument &)
-                    {
-                  	ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfImageVisualAttributeSetter:: Image does not exist");
-                    }
-                
-                if(image.HasTexture())
-                    {
-                    imageVisual->SetImage(image);
-                    }
-                else
-                    {
-                    ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfImageVisualAttributeSetter:: Image does not exist");
-                    }
-                }
-            }
-
-        else if (!strcmp(attrName,KSecondaryImagePath))
-            {
-            if (data->type() == IAlfVariantType::EString)
-                {
-                TPtrC8 src;
-                src.Set((TUint8*)data->string().getUtf8());
-            
-                HandleImagePathAttribute( src, imageVisual, false );
-                }
-            }
-
-        else if (!strcmp(attrName,KSecondaryImageResourceRef))
-            {
-            if (data->type() == IAlfVariantType::EString)
-                {
-                TAlfImage image;
-                try
-                    {
-                	image = AlfWidgetEnvExtension::resourcePool(aVisual.Env()).getImageResource(data->string().getUtf8());	
-                    }
-                catch(invalid_argument &)
-                    {
-                  	ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfImageVisualAttributeSetter:: Image does not exist");
-                    }
-                if(image.HasTexture())
-                    {
-                    imageVisual->SetSecondaryImage(image);
-                    }
-                else
-                    {
-                    ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfImageVisualAttributeSetter:: Image does not exist");
-                    }
-                }
-            }
-
-        else if (!strcmp(attrName,KSkinImagePath))
-            {
-            if (data->type() == IAlfVariantType::EString)
-                {
-                TAlfImage image;
-                try
-                    {
-                	image = AlfWidgetEnvExtension::resourcePool(aVisual.Env()).getImageResource(data->string().getUtf8());	
-                    }
-                catch(invalid_argument &)
-                    {
-                    // This image is not present in currently active Theme, 
-                    // hence Resource Pool throws an exception
-                    // which can be ignored and we will try to load it for first time.
-                  	}
-                if(!image.HasTexture())
-                    {
-                    image = mImpl->createNonPoolImageFromSkinLogicalID( imageVisual->Env(), data->string().getUtf8(), aContainer);
-                    }                	
-                imageVisual->SetImage(image);
-                }
-
-            }
-        else if (!strcmp(attrName,KAnimatedSkinImage))
-            {  
-            
-            // Retrieve animation skin id
-            
-    		auto_ptr< HBufC> skinAnimId;
-    		if (data->type() == IAlfVariantType::EString)
-    			{    		
-    			TPtrC8 src( (TUint8*) data->string().getUtf8() );    		
-    			TRAPD(err,skinAnimId.reset(CnvUtfConverter::ConvertToUnicodeFromUtf8L(src)));
-    		    	
-    			if(err != KErrNone)
-    				{
-    				ALF_THROW ( AlfDataException, err, "AlfImageVisualAttributeSetter") 
-    				}  			 
-    	   
-    	    	// loading the texture from animation id.            
-       	    	TAlfImage skinAnimImage(imageVisual->Env().TextureManager().
-       	   			           LoadAnimatedTextureL(*(skinAnimId.get()),
-       	   						                    imageVisual->Env().PrimaryDisplay().VisibleArea().Size(),
-       	   					 	                    EAlfTextureFlagDefault,
-       	   					 	                    KAlfAutoGeneratedTextureId));
-       	   
-       	    	// setting the texture to imagevisual only if it exists.
-       	    	if(skinAnimImage.HasTexture())
-       	   			{
-       	   			imageVisual->SetImage(skinAnimImage);
-       	   			}
-    			}
-       	   			
-            }
-        else if (!strcmp(attrName,KSecondarySkinImagePath))
-            {
-            if (data->type() == IAlfVariantType::EString)
-                {
-                TAlfImage image;
-                try
-                    {
-                	image = AlfWidgetEnvExtension::resourcePool(aVisual.Env()).getImageResource(data->string().getUtf8());	
-                    }
-                catch(invalid_argument &)
-                    {
-                    // This image is not present in currently active Theme, 
-                    // hence Resource Pool throws an exception
-                    // which can be ignored and we will try to load it for first time.
-                    }
-                if(!image.HasTexture())
-                    {
-                    image = mImpl->createNonPoolImageFromSkinLogicalID( imageVisual->Env(), data->string().getUtf8(), aContainer);
-                    }                	
-                imageVisual->SetSecondaryImage(image);
-                }
-            }
-        else if(!strcmp(attrName,KSkinFrameImage))
-            {
- 		
-    		if (data->type() == IAlfVariantType::EString)
-                {   		
-    				
-    			setFrameImage(aVisual,data->string().getUtf8(), aContainer,aData);    				
-                }    			
-            }
-        else if (!strcmp(attrName,KStretchMode))
-            {
-            if (data->type() == IAlfVariantType::EInt)
-                {
-                int val = data->integer();
-                imageVisual->SetStretchMode(CAlfGc::TStretchMode(val));
-                }
-            }
-        else if (!strcmp(attrName,KColor))
-            {
-            if (data->type() == IAlfVariantType::EContainer )
-                {
-                IAlfContainer* dataContainer = data->container();
-
-                if ( 4 != dataContainer -> count() ) ALF_THROW ( AlfDataException, EIncompleteAttributeValues, "AlfImageVisualAttributeSetter")
-
-                    IAlfVariantType* red = dataContainer->item ( 0 ); //red
-
-                IAlfVariantType* green = dataContainer->item ( 1 ); //green
-
-                IAlfVariantType* blue = dataContainer->item ( 2 ); //blue
-
-                IAlfVariantType* alpha = dataContainer->item ( 3 ); //alpha
-
-                if ( red && IAlfVariantType::EInt == red->type() && green && IAlfVariantType::EInt == green->type() && blue && IAlfVariantType::EInt == blue->type() && alpha && IAlfVariantType::EInt == alpha->type() )
-                    {
-                    TRgb color ( red->integer(), green->integer(), blue->integer(), alpha->integer() );
-                    imageVisual->SetColor ( color );
-                    }
-                else
-                    {
-                    ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfImageVisualAttributeSetter" )
-                    }
-                }
-
-            }
-        else
-            {
-            AlfCommonVisualAttributeSetter::handleStaticDataAttribute(aVisual, aAttr, aContainer, aData);
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AlfImageVisualAttributeSetter::handleDynamicAttribute(CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer)
-    {
-    CAlfImageVisual* imageVisual = dynamic_cast<CAlfImageVisual*>(&aVisual);
-    if(!imageVisual)
-        {
-        return;
-        }
-
-    const char* attrName = aAttr.name();
-
-    //KScale
-    if (!strcmp(attrName,KScale))
-        {
-        TAlfTimedValue tVal((TReal32)aAttr.getSourceValue()->realValue());
-        tVal.SetTarget((TReal32)aAttr.getTargetValue()->realValue(), (TInt)aAttr.getTime());
-        tVal.SetStyle( aAttr.getInterpolationStyle() );
-        tVal.SetMappingFunctionIdentifier( aAttr.getMappingFunctionId());
-        imageVisual->SetScale( tVal );
-        }
-    // KSecondaryAlpha
-    else if (!strcmp(attrName, KSecondaryAlpha))
-        {
-        TAlfTimedValue tVal((TReal32)aAttr.getSourceValue()->realValue());
-        tVal.SetTarget((TReal32)aAttr.getTargetValue()->realValue(), (TInt)aAttr.getTime());
-        tVal.SetStyle( aAttr.getInterpolationStyle() );
-        tVal.SetMappingFunctionIdentifier( aAttr.getMappingFunctionId() );
-        imageVisual->SetSecondaryAlpha( tVal );
-        }
-    //KTurnAngle
-    else if (!strcmp(attrName, KTurnAngle))
-        {
-        TAlfTimedValue tVal((TReal32)aAttr.getSourceValue()->realValue());
-        tVal.SetTarget((TReal32)aAttr.getTargetValue()->realValue(), (TInt)aAttr.getTime());
-        tVal.SetStyle( aAttr.getInterpolationStyle() );
-        tVal.SetMappingFunctionIdentifier( aAttr.getMappingFunctionId() );
-        imageVisual->SetTurnAngle( tVal );
-        }
-    else if (!strcmp(attrName,KOffsetX)||!strcmp(attrName,KOffsetY))
-        {
-        AlfAttribute& attrX = aContainer.getAttributeByName( KOffsetX );
-        AlfAttribute& attrY = aContainer.getAttributeByName( KOffsetY );
-
-        TAlfTimedPoint timedpoint((TReal32)attrX.getSourceValue()->realValue(),
-                                  (TReal32)attrY.getSourceValue()->realValue());
-
-        timedpoint.iX.SetTarget((TReal32)attrX.getTargetValue()->realValue(), (TInt)attrX.getTime());
-        timedpoint.iY.SetTarget((TReal32)attrY.getTargetValue()->realValue(), (TInt)attrY.getTime());
-
-        timedpoint.iX.SetStyle(attrX.getInterpolationStyle());
-        timedpoint.iY.SetStyle(attrY.getInterpolationStyle() );
-
-        timedpoint.iX.SetMappingFunctionIdentifier(attrX.getMappingFunctionId());
-        timedpoint.iY.SetMappingFunctionIdentifier(attrY.getMappingFunctionId());
-
-        imageVisual->SetOffset(timedpoint);
-        attrX.setDirty(false);
-        attrY.setDirty(false);
-
-        }
-    else
-        {
-        AlfCommonVisualAttributeSetter::handleDynamicAttribute(
-            aVisual, aAttr, aContainer);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AlfImageVisualAttributeSetter::handleStaticAttribute(CAlfVisual& aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer)
-    {
-    CAlfImageVisual* imageVisual = dynamic_cast<CAlfImageVisual*>(&aVisual);
-    if(!imageVisual)
-        {
-        return;
-        }
-
-    const char* attrName = aAttr.name();
-
-    // imagevisual attributes
-    if (!strcmp(attrName,KImageScaleMode))
-        {
-        int val = aAttr.intValue();
-        imageVisual->SetScaleMode(CAlfImageVisual::TScaleMode(val));
-        }
-    else if (!strcmp(attrName,KImageColorMode))
-        {
-        int val = aAttr.intValue();
-        imageVisual->SetColorMode( CAlfImageVisual::TColorMode(val));
-        }
-    else if (!strcmp(attrName,KDropShadow))
-        {
-        int count = aAttr.getTargetValueCount();
-
-        //user has added one value to the attribute,so this value will be used for both x and y directions.
-        if (1==count)
-            {
-            AlfAttributeValueType* attrType = aAttr.getTargetValue(0);
-            imageVisual->SetDropShadow( TAlfMetric(attrType->unit(),attrType->realValue()) );
-            }
-        //user has not added two values to the attribute,so the first and second values
-        // will be used for x and y directions respectively.
-        else if (2==count)
-            {
-            const AlfAttributeValueType* attrType1 = aAttr.getTargetValue(0);
-            const AlfAttributeValueType* attrType2 = aAttr.getTargetValue(1);
-            imageVisual->SetDropShadow(TAlfXYMetric(TAlfMetric(attrType1->unit(),attrType1->realValue()),TAlfMetric(attrType2->unit(),attrType2->realValue())));
-            }
-        else
-            {
-            ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfImageVisualAttributeSetter")
-            }
-
-        }
-    else if (!strcmp(attrName,KImagePath))
-        {
-        TPtrC8 src((TUint8*)aAttr.stringValue().getUtf8());
-        HandleImagePathAttribute( src, imageVisual, true );
-        }
-    else if (!strcmp(attrName,KImageResourceRef))
-        {
-
-    	TAlfImage image;
-	    try
-	        {
-    		image = AlfWidgetEnvExtension::resourcePool(aVisual.Env()).getImageResource(aAttr.stringValue().getUtf8());
-	        }
-	    catch(invalid_argument &)
-	        {
-	        ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfImageVisualAttributeSetter:: Image does not exist");
-	        }
-       	if(image.HasTexture())
-       		imageVisual->SetImage(image);
-    	else
-    		{
-        	ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfImageVisualAttributeSetter:: Image does not exist");
-        	}
-    
-        }
-    else if (!strcmp(attrName,KSecondaryImagePath))
-        {
-        TPtrC8 src((TUint8*)aAttr.stringValue().getUtf8());
-        HandleImagePathAttribute( src, imageVisual, false );        
-        }
-    else if (!strcmp(attrName,KSecondaryImageResourceRef))
-        {
-
-    	TAlfImage image;
-        try
-            {
-    		image = AlfWidgetEnvExtension::resourcePool(aVisual.Env()).getImageResource(aAttr.stringValue().getUtf8());
-            }
-        catch(invalid_argument &)
-            {
-             ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfImageVisualAttributeSetter:: Image does not exist");
-            }
-       	if(image.HasTexture())
-       		imageVisual->SetSecondaryImage(image);
-    	else
-    		{
-        	ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfImageVisualAttributeSetter:: Image does not exist");
-        	}
-    
-        }
-    else if (!strcmp(attrName,KSkinImagePath))
-        {
-        TAlfImage image;
-        try
-            {
-        	image = AlfWidgetEnvExtension::resourcePool(aVisual.Env()).getImageResource(aAttr.stringValue().getUtf8());
-            }
-        catch(invalid_argument &)
-            {
-            // This image is not present in currently active Theme, 
-            // hence Resource Pool throws an exception
-            // which can be ignored and we will try to load it for first time.
-	        }
-        if(!image.HasTexture())
-            {
-            image = mImpl->createNonPoolImageFromSkinLogicalID( 
-                imageVisual->Env() ,aAttr.stringValue().getUtf8(), aContainer);
-            }
-        imageVisual->SetImage(image);
-        }
-    else if (!strcmp(attrName,KAnimatedSkinImage))
-        {
-        
-        // Retrieve animation skin id        
-    	auto_ptr< HBufC> skinAnimId;
-    	TPtrC8 src( (TUint8*) aAttr.stringValue().getUtf8() );    		
-    	TRAPD(err,skinAnimId.reset(CnvUtfConverter::ConvertToUnicodeFromUtf8L(src)));
-    		    	
-    	if(err != KErrNone)
-    		{
-    		ALF_THROW ( AlfDataException, err, "AlfImageVisualAttributeSetter") 
-    		}  			 
-    	   
-    	// loading the texture from animation id.        
-       	TAlfImage skinAnimImage(imageVisual->Env().TextureManager().
-       	   			           LoadAnimatedTextureL(*(skinAnimId.get()),
-       	   						                    imageVisual->Env().PrimaryDisplay().VisibleArea().Size(),
-       	   					 	                    EAlfTextureFlagDefault,
-       	   					 	                    KAlfAutoGeneratedTextureId));
-       	   
-       	// setting the texture to imagevisual only if it exists.
-       	if(skinAnimImage.HasTexture())
-       		{
-       		imageVisual->SetImage(skinAnimImage);
-       		}
-       		
-        }
-    else if (!strcmp(attrName,KSecondarySkinImagePath))
-        {
-        TAlfImage	image; 
-        try
-            {
-        	image = AlfWidgetEnvExtension::resourcePool(aVisual.Env()).getImageResource(aAttr.stringValue().getUtf8());
-            }
-        catch(invalid_argument &)
-            {
-            // This image is not present in currently active Theme, 
-            // hence Resource Pool throws an exception
-            // which can be ignored and we will try to load it for first time.
-	        }
-        if(!image.HasTexture())
-            {
-            image = mImpl->createNonPoolImageFromSkinLogicalID( imageVisual->Env(), aAttr.stringValue().getUtf8(), aContainer);
-            }
-        imageVisual->SetSecondaryImage(image);
-        }
-    else if(!strcmp(attrName,KSkinFrameImage))
-        {	
-		setFrameImage(aVisual, aAttr.stringValue().getUtf8(), aContainer);		
-        }
-    else if (!strcmp(attrName,KStretchMode))
-        {
-        int val = aAttr.intValue();
-        imageVisual->SetStretchMode(CAlfGc::TStretchMode(val));
-        }
-    else if (!strcmp(attrName, KSecondaryAlpha))
-        {
-        TAlfTimedValue tVal((TReal32)aAttr.getSourceValue()->realValue());
-        tVal.SetTarget((TReal32)aAttr.getTargetValue()->realValue(), (TInt)aAttr.getTime());
-        tVal.SetStyle( aAttr.getInterpolationStyle() );
-        tVal.SetMappingFunctionIdentifier( aAttr.getMappingFunctionId());
-        imageVisual->SetSecondaryAlpha( tVal );
-        }
-    else if (!strcmp(attrName, KTurnAngle))
-        {
-        TAlfTimedValue tVal((TReal32)aAttr.getSourceValue()->realValue());
-        tVal.SetTarget((TReal32)aAttr.getTargetValue()->realValue(), (TInt)aAttr.getTime());
-        tVal.SetStyle( aAttr.getInterpolationStyle() );
-        tVal.SetMappingFunctionIdentifier( aAttr.getMappingFunctionId() );
-        imageVisual->SetTurnAngle( tVal );
-        }
-    else if (!strcmp(attrName, KColor))
-        {
-        if ( 4 == aAttr.getTargetValueCount() && AlfAttributeValueType::EInt == aAttr.type(0) && AlfAttributeValueType::EInt == aAttr.type(1) && AlfAttributeValueType::EInt == aAttr.type(2) && AlfAttributeValueType::EInt == aAttr.type(3))
-            {
-            TRgb color ( aAttr.intValue(0), aAttr.intValue(1), aAttr.intValue(2), aAttr.intValue(3) );
-            imageVisual->SetColor ( color );
-            }
-        else
-            {
-            ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfImageVisualAttributeSetter")
-            }
-        }
-    else
-        {
-        AlfCommonVisualAttributeSetter::handleStaticAttribute(aVisual, aAttr, aContainer);
-        }
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// Helper method to set the frame image to the image visual.
-// ---------------------------------------------------------------------------
-//
-void AlfImageVisualAttributeSetter::setFrameImage(CAlfVisual& /*aVisual*/, const Utf8* /*aSkinFrameID*/,
-							const AlfAttributeContainer& /*aContainer*/,IAlfMap* /*aData*/)
-	{	
-        	
-  }
-
-// ---------------------------------------------------------------------------
-// This method gets the value of the attribute based on whether the attribute is static
-// or staticData. 
-// Currently handled only for static or staticdata.
-// ---------------------------------------------------------------------------
-   
-int AlfImageVisualAttributeSetter::getValueFromAttribute(const AlfAttribute& aAttr,IAlfMap* aData) const
-	{	
-	int attrValue=0;
-	
-	// Check whether attribute is from Static type.
-	
-	if(AlfAttribute::EStatic==aAttr.category())
-		{
-		attrValue=aAttr.intValue();
-		}
-	else
-		{		
-		
-		// static data case.		
-	    try
-	    	{
-	    	 if(aData)
-	    	 	{	    	 	
-	    	 
-	    	 	const char* dataValue = aAttr.getDataField();
-             	IAlfVariantType* dataVariant = aData->item ( UString(dataValue) );
-
-             	if (dataVariant && dataVariant->type() == IAlfVariantType::EInt )
-                	{                
-                	
-                	attrValue=dataVariant->integer();
-                		    		  
-	    			}
-	    	 	}
-	    	}
-	    catch(AlfDataException& e)
-	    	{	    		    	
-	   	    // Error in getting the value.
-	   	    // default is already set to 0,dont do anything here.			
-	    	}
-		}
-		
-	return attrValue;
-	
-	}
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfCommand* AlfImageVisualAttributeSetter::createCommand(
-    CAlfVisual& /*aVisual*/, AlfAttributeContainer* /*aContainer*/,
-    IAlfMap* /*aData*/, int /*aTransitionTime*/, CAlfVisual* /*aRefVisual*/)
-    {
-    TAlfCommand* cmd = 0;
-    return cmd;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfImageVisualAttributeSetter::createAndSendCommands(
-    CAlfVisual& aVisual,
-    AlfAttributeContainer* aContainer,
-    CAlfVisual* aRefVisual )
-    {
-
-    // Call the base class implementation.It goes through its loop and checks if there are attributes
-    // that it handles.
-    AlfCommonVisualAttributeSetter::createAndSendCommands(
-        aVisual,
-        aContainer,
-        aRefVisual );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AlfImageVisualAttributeSetter::HandleImagePathAttribute(
-    const TPtrC8& aStringValue,
-    CAlfImageVisual* aImageVisual,
-    bool aPrimary )
-    {
-    TAlfImage image = mImpl->createImageFromImagePath( *aImageVisual, aStringValue); 
-    if ( aPrimary )
-        {                
-        aImageVisual->SetImage(image);
-        }
-    else
-        {
-        aImageVisual->SetSecondaryImage(image);                
-        }      
-    }
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------    
-TAlfImage AlfImageVisualAttributeSetterImpl::createNonPoolImageFromSkinLogicalID(CAlfEnv& /*aEnv*/,  const Utf8* /*aLogicalId*/, AlfAttributeContainer& /*aContainer*/)
-    {
-    
-    // Depricated
-    return TAlfImage();   
-   
-    }
-
-TAlfImage AlfImageVisualAttributeSetterImpl::createImageFromImagePath( const CAlfImageVisual& aImageVisual, const TPtrC8& aPath )
-    {
-    TAlfImage image; // return value
-
-    auto_ptr<HBufC> textureId;
-    TRAPD(err,textureId.reset(CnvUtfConverter::ConvertToUnicodeFromUtf8L(aPath)));
-    if ( err != KErrNone )
-        {
-        ALF_THROW ( AlfDataException, err, "AlfImageVisualAttributeSetter")
-        }
-
-    // check if the texture is already loaded
-    CAlfTextureManager& textureMgr = aImageVisual.Env().TextureManager();
-    const TInt existingTextureId = textureMgr.TextureId(*(textureId.get()));
-    if (existingTextureId != KErrNotFound)
-    	{
-            const CAlfTexture* texture = textureMgr.Texture( existingTextureId );
-            image = TAlfImage(*texture);            
-       	}
-    else
-        {
-        CAlfTexture* mutableTexture = 0;
-        TRAP(err, mutableTexture = &(textureMgr.LoadTextureL(*(textureId.get()), EAlfTextureFlagDefault, KAlfAutoGeneratedTextureId)));
-        if ( err != KErrNone )
-            {
-            ALF_THROW ( AlfDataException, err, "AlfImageVisualAttributeSetter")
-            }    
-        mutableTexture->EnableRefCounting(ETrue);
-        image = TAlfImage(*mutableTexture);
-        mLoadedTextures.resize(mLoadedTextures.count()+1);
-        mLoadedTextures.insert(mLoadedTextures.count(),mutableTexture);       
-        }	
-    
-    return image;
-    }
-	
-}// Alf
--- a/widgetmodel/alfwidgetmodel/src/alflayoutmanager.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,266 +0,0 @@
-/*
-* 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:  layoutmanager with focus handling in 1D (next/previous)
-*
-*/
-
-
-#include <alf/alfenv.h>
-#include <alf/alflayout.h>
-#include <alf/alflayoutmanager.h>
-#include <alf/alfexceptions.h>
-#include <alf/alfwidgetcontrol.h>
-#include <alf/ialfwidgetfactory.h>
-#include <alf/alfwidgetenvextension.h>
-#include <osn/ustring.h>
-#include <osn/osnnew.h>
-#include "alf/alfwidget.h"
-#include "alflayoutmanagerimpl.h"
-
-using osncore::UString;
-
-using namespace Alf;
-
-namespace Alf
-    {
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// layout manager constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfLayoutManager::AlfLayoutManager(TAlfLayoutType aLayoutType)
-    {
-    mData.reset(new (EMM) AlfLayoutManagerImpl(aLayoutType));
-    }
-        
-// ---------------------------------------------------------------------------
-// virtual destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfLayoutManager::~AlfLayoutManager()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// returns the owner of the layoutmanager
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT CAlfWidgetControl& AlfLayoutManager::owner() const
-    {
-    return mData->owner();
-    }
-    
-// ---------------------------------------------------------------------------
-// returns the widget at index aIndex.
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT CAlfWidgetControl* AlfLayoutManager::getControl(int aIndex) const
-    {
-    return mData->getControl(aIndex);
-    }
-    
-// ---------------------------------------------------------------------------
-// returns the count of controls in the layoutmanager.
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT int AlfLayoutManager::count() const
-    {
-    return mData->count();
-    }    
-    
-// ---------------------------------------------------------------------------
-// from IAlfLayoutManager
-// creates the layout used by this layoutmanager.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfLayoutManager::createLayout(CAlfWidgetControl& aOwner, 
-    CAlfLayout* aParentLayout, int aLayoutIndex)
-    {
-	mData->createLayout(aOwner, aParentLayout, aLayoutIndex);
-    updateChildrenLayout();
-    }
-    
-// ---------------------------------------------------------------------------
-// from IAlfLayoutManager
-// returns the layout used by this layoutmanager.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT CAlfLayout& AlfLayoutManager::getLayout() const
-    {
-    return mData->getLayout();
-    }
-    
-// ---------------------------------------------------------------------------
-// from IAlfLayoutManager
-// notifies the layout manager, that the child control's layout
-// must be updated.
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT void AlfLayoutManager::updateChildLayout(
-    CAlfWidgetControl* aControl)
-    {
-    mData->getLayout(); //checks, that the layout exists, throws exception if not. 
-    doUpdateChildLayout( aControl );
-    }
-    
-// ---------------------------------------------------------------------------
-// from IAlfLayoutManager
-// notifies the layout manager, that all the child controls' layouts
-// must be updated.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfLayoutManager::updateChildrenLayout()
-    {
-    CAlfLayout& layout = mData->getLayout();
-    mData->updateMainLayout();
-    
-  //  CAlfWidgetControl& container = mData->owner();
-    const int childrenCount = count();
-    
-    // go through all the child controls, and update the layout
-    for (int i = 0; i < childrenCount; i++)
-        {
-        doUpdateChildLayout(getControl(i));
-        }
-    
-    layout.UpdateChildrenLayout();
-    
-    //doUpdateChildLayout changes the visual size and position.
-    //need to notify all the widgets that size and position might have changed. 
-    mData->updateAllWidgetRects();
-    
-    // Inform parent layout manager about the changed presentation size
-    owner().updateParentLayout();
-    }
-    
-// ---------------------------------------------------------------------------
-// from IAlfLayoutManager
-// notifies the layout manager, that the control's has been
-// removed from the layout.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfLayoutManager::childRemoved(CAlfWidgetControl* aControl)
-    {
-    mData->childRemoved(aControl);
-    }
-   
-// ---------------------------------------------------------------------------
-// notifies the layout manager, that the child control's layout
-// must be updated.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfLayoutManager::doUpdateChildLayout(
-    CAlfWidgetControl* aControl)
-    {
-    mData->doUpdateChildLayout(aControl);
-    }
-
-// ---------------------------------------------------------------------------
-// returns the size of the widget.
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT bool AlfLayoutManager::controlRect(
-    CAlfWidgetControl& aControl, TAlfRealRect& aRect)
-    {
-    return mData->controlRect(aControl, aRect);
-    }
-
-// ---------------------------------------------------------------------------
-// sets the size and position of the widget.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfLayoutManager::setControlRect(
-    CAlfWidgetControl& aControl, const TAlfRealRect &aRect)
-    {
-    AlfWidget* widget = aControl.widget();
-    if (widget)
-        {
-        const char* name = widget->widgetName(); 
-        IAlfWidget* ownerwidget = AlfWidgetEnvExtension::widgetFactory(aControl.Env()).findWidget(name); 
-        if (ownerwidget)
-            {
-            mData->setWidgetRect(*ownerwidget, aRect);
-            }
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// sets the position of the widget.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfLayoutManager::setControlPosition(
-    CAlfWidgetControl& aControl, const TAlfRealPoint& aPos)
-    {
-    AlfWidget* widget = aControl.widget();
-    if (widget)
-        {
-        const char* name = widget->widgetName(); 
-        IAlfWidget* ownerwidget = AlfWidgetEnvExtension::widgetFactory(aControl.Env()).findWidget(name); 
-        if (ownerwidget)
-            {
-            mData->setWidgetPosition(*ownerwidget, aPos);
-            }
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// sets the size of the widget.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfLayoutManager::setControlSize(
-    CAlfWidgetControl& aControl, const TAlfRealPoint &aSize)
-    {
-    AlfWidget* widget = aControl.widget();
-    if (widget)
-        {
-        const char* name = widget->widgetName(); 
-        IAlfWidget* ownerwidget = AlfWidgetEnvExtension::widgetFactory(aControl.Env()).findWidget(name); 
-        if (ownerwidget)
-            {
-            mData->setWidgetSize(*ownerwidget, aSize);
-            }
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// returns layout preferences for aControl
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT const IAlfLayoutPreferences* AlfLayoutManager::getLayoutPreferences(
-    CAlfWidgetControl* aControl) const
-    {
-    return mData->getLayoutPreferences(aControl);
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the element.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfInterfaceBase* AlfLayoutManager::makeInterface( 
-    const IfId& aType )
-    {
-    UString param(aType.mImplementationId);
-    if (param == IAlfLayoutManager::type().mImplementationId)
-        {
-        return static_cast<IAlfLayoutManager*>(this);
-        }
-        
-
-    // Let the implementation class try the interface creation
-    return mData->makeInterface(aType);
-    }
- } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alflayoutmanagerimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,460 +0,0 @@
-/*
-* 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:  layoutmanager implementation class with focus handling in 1D (next/previous)
-*
-*/
-
-
-#include <alf/ialfwidgetcontrol.h>
-#include "alf/ialfattributeowner.h"
-#include "alf/alfattribute.h"
-#include <alf/alfvisual.h>
-#include <alf/alfenv.h>
-#include "alf/alfwidget.h"
-#include <alf/alfvisualfactory.h>
-#include <alf/alfexceptions.h>
-#include <alf/ialflayoutpreferences.h>
-#include <alf/alfwidgetenvextension.h>
-#include <alf/ialfwidgetfactory.h>
-#include <osn/osnnew.h>
-#include <libc/assert.h>
-#include <alf/attrproperty.h>
-#include "alflayoutmanagerimpl.h"
-
-
-
-namespace Alf
-    {
-
-//ifdef to prevent compiler warning: className not used.
-#ifdef ALF_DEBUG_EXCEPTIONS
-static const char* const className = "AlfLayoutManagerImpl";
-#endif
-
-// ======== MEMBER FUNCTIONS ========
-    
-// ---------------------------------------------------------------------------
-// layoutmanagerimpl constructor
-// ---------------------------------------------------------------------------
-//    
-AlfLayoutManagerImpl::AlfLayoutManagerImpl(
-    TAlfLayoutType aLayoutType)
-    {
-    mLayoutType = aLayoutType;
-    }
-    
-// ---------------------------------------------------------------------------
-// creates the layout used by the layoutmanager.
-// ---------------------------------------------------------------------------
-//    
-AlfLayoutManagerImpl::~AlfLayoutManagerImpl()
-    {
-    if (mLayout.get())
-        {
-        CAlfLayout* layout = mLayout.release();
-        layout->RemoveAndDestroyAllD();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// creates the layout used by the layoutmanager.
-// ---------------------------------------------------------------------------
-//    
-void AlfLayoutManagerImpl::createLayout(CAlfWidgetControl& aOwner, 
-    CAlfLayout* aParentLayout, int aLayoutIndex)
-    {
-            
-    //check parameter validity.
-    if (aParentLayout && 
-        (aLayoutIndex < 0 ||aLayoutIndex > aParentLayout->Count()))
-        {
-        ALF_THROW(AlfException, EInvalidArrayIndex, className);
-        }
-        
-    //create layout
-    CAlfLayout* layout = 0;
-    TRAPD(err, layout = aOwner.AppendLayoutL(mLayoutType, aParentLayout));
-        
-	if(!layout || err != KErrNone)
-	    {
-	    ALF_THROW(AlfVisualException, ECanNotCreateVisual, className);
-	    }
-
-    //reorder, if needed.
-    if (aParentLayout && aLayoutIndex != aParentLayout->Count() - 1)
-        {
-        aParentLayout->Reorder(*layout, aLayoutIndex);
-        }
-        
-    mLayout.reset(layout);
-    }
-    
-// ---------------------------------------------------------------------------
-// returns the layout used by the layoutmanager.
-// ---------------------------------------------------------------------------
-//    
-CAlfLayout& AlfLayoutManagerImpl::getLayout() const
-    {
-    checkLayout();
-    return *mLayout.get();
-    }
-    
-// ---------------------------------------------------------------------------
-// updates the main layout
-// ---------------------------------------------------------------------------
-//
-void AlfLayoutManagerImpl::updateMainLayout()
-    {
-    checkLayout();
-    
-    const IAlfLayoutPreferences* layoutPrefs = 
-        getLayoutPreferences(getControl(*mLayout.get()));
-    if (layoutPrefs)
-        {
-        TAlfXYMetric prefSize;
-        if (layoutPrefs->getPreferredSize(prefSize))
-            {
-            TAlfRealPoint p(prefSize.iX.iMagnitude, 
-                            prefSize.iY.iMagnitude);
-            mLayout->SetSize(p);
-            }
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// notifies the layout manager, that the control's has been
-// removed from the layout.
-// ---------------------------------------------------------------------------
-//
-void AlfLayoutManagerImpl::childRemoved(CAlfWidgetControl* /*aControl*/)
-    {
-    checkLayout();
-    mLayout->UpdateChildrenLayout();
-    }
-    
-// ---------------------------------------------------------------------------
-// returns the owner control of the layoutmanager.
-// ---------------------------------------------------------------------------
-//
-CAlfWidgetControl& AlfLayoutManagerImpl::owner() const
-    {
-    checkLayout();
-    CAlfWidgetControl* widgetControl = 0;
-    
-    /* The owner is always a AlfWidgetControl.
-       So a static_cast is safe. see AlfLayoutManagerImpl::createLayout() */ 
-    widgetControl = static_cast<CAlfWidgetControl*>(
-                                     &mLayout->Owner());
-   
-    return *widgetControl;
-    }
-
-// ---------------------------------------------------------------------------
-// from IAlfLayoutPreferences
-// Returns the minimum area that this layout manager can occupy by observing
-// the minimum sizes of the child UI elements in the layout
-// ---------------------------------------------------------------------------
-//
-bool AlfLayoutManagerImpl::getMinimumSize( TAlfXYMetric& /*aMinSize*/ ) const
-	{
-	return false;
-	}
-
-// ---------------------------------------------------------------------------
-// from IAlfLayoutPreferences
-// Returns the maximum area that this layout manager can occupy by observing
-// the maximum sizes of the child UI elements in the layout
-// ---------------------------------------------------------------------------
-//
-bool AlfLayoutManagerImpl::getMaximumSize( TAlfXYMetric& /*aMaxSize*/ ) const
-	{
-	return false;
-	}
-
-// ---------------------------------------------------------------------------
-// Combines and returns the preferred sizes of all child UI elements according
-// to the layouting rules.
-// ---------------------------------------------------------------------------
-//
-bool AlfLayoutManagerImpl::getPreferredSize(TAlfXYMetric& /*aPreferredSize*/) const
-	{
-	return false;
-	}
- 
-// ---------------------------------------------------------------------------
-// from IAlfLayoutPreferences
-// At the moment doesn't do anything since preferred size is being queried
-// from the child UI elements added to this layout manager.
-// ---------------------------------------------------------------------------
-//
-void AlfLayoutManagerImpl::setPreferredSize( const TAlfXYMetric& /*aPreferredSize*/ )
-	{
-	
-	}
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the element.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* AlfLayoutManagerImpl::makeInterface(const IfId& aType)
-    {
-    UString param(aType.mImplementationId);
-    if (param == IAlfLayoutPreferences::type().mImplementationId)
-        {
-        return static_cast<IAlfLayoutPreferences*>(this);
-        }      
-    
-    return 0;
-    }
-
-// ---------------------------------------------------------------------------
-// gets control at aIndex position in the layout.
-// ---------------------------------------------------------------------------
-//    
-CAlfWidgetControl* AlfLayoutManagerImpl::getControl(int aIndex) const
-    {
-    CAlfWidgetControl* control = 0;
-    CAlfLayout* layout = mLayout.get();
-    if (layout)
-        {
-        CAlfVisual& visual = layout->Visual(aIndex);
-        control = getControl(visual);
-        }
-    return control;
-    }
-    
-// ---------------------------------------------------------------------------
-// returns the control, which owns the visual
-// ---------------------------------------------------------------------------
-//     
-void AlfLayoutManagerImpl::doUpdateChildLayout(CAlfWidgetControl* aControl)
-    {
-    const IAlfLayoutPreferences* layoutPrefs = 
-        getLayoutPreferences(aControl);
-        
-    if (layoutPrefs)
-        {
-        TAlfXYMetric prefSize;
-        if (layoutPrefs->getPreferredSize(prefSize))
-            {
-            CAlfVisual* v = findRootVisual(aControl);
-            if (v)
-                {
-                v->SetSize(TAlfRealPoint(prefSize.iX.iMagnitude,
-                prefSize.iY.iMagnitude));
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// returns the size of the widget.
-// ---------------------------------------------------------------------------
-//
-bool AlfLayoutManagerImpl::controlRect(CAlfWidgetControl& aControl, 
-    TAlfRealRect& aRect)
-    {
-    CAlfVisual* v = findRootVisual(&aControl);
-    if (v != 0)
-        {
-        TAlfRealPoint size(v->Size().Target());
-        TAlfRealPoint pos(v->Pos().Target());
-        aRect.iTl = pos;
-        aRect.iBr.iX = pos.iX + size.iX;
-        aRect.iBr.iY = pos.iY + size.iY;
-        return true;
-        }
-        
-    return false;
-    }
-    
-// ---------------------------------------------------------------------------
-// set the size and position to the widget.
-// ---------------------------------------------------------------------------
-//
-void AlfLayoutManagerImpl::setWidgetRect(IAlfWidget& aWidget, const TAlfRealRect &aRect)
-    {
-    const UString widthName(layoutattributes::KWidth);
-    const UString heightName(layoutattributes::KHeight);
-    const UString posX(layoutattributes::KPositionX);
-    const UString posY(layoutattributes::KPositionY);
-    
-    IAlfAttributeOwner* attrOwner = 
-        IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(&aWidget);
-    if (attrOwner)
-        {
-    	auto_ptr<AlfAttributeValueType> w(
-    	    new (EMM) AlfAttributeValueType(aRect.Width()));
-    	auto_ptr<AlfAttributeValueType> h(
-    	    new (EMM) AlfAttributeValueType(aRect.Height()));
-    	auto_ptr<AlfAttributeValueType> x(
-    	    new (EMM) AlfAttributeValueType(aRect.iTl.iX));
-    	auto_ptr<AlfAttributeValueType> y(
-    	    new (EMM) AlfAttributeValueType(aRect.iTl.iY));
-    	attrOwner->setAttribute(heightName, h.get());
-    	attrOwner->setAttribute(widthName, w.get());
-    	attrOwner->setAttribute(posX, x.get());
-    	attrOwner->setAttribute(posY, y.get());
-    	
-    	h.release();
-    	w.release();
-    	x.release();
-    	y.release();
-        }
-    }  
-    
-// ---------------------------------------------------------------------------
-// set the position for the widget.
-// ---------------------------------------------------------------------------
-//
-void AlfLayoutManagerImpl::setWidgetPosition(IAlfWidget& aWidget, 
-    const TAlfRealPoint &aPos)
-    {
-    const UString posX(layoutattributes::KPositionX);
-    const UString posY(layoutattributes::KPositionY);
-    
-    IAlfAttributeOwner* attrOwner = 
-        IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(&aWidget);
-    if (attrOwner)
-        {
-    	auto_ptr<AlfAttributeValueType> x(
-    	    new (EMM) AlfAttributeValueType(aPos.iX));
-    	auto_ptr<AlfAttributeValueType> y(
-    	    new (EMM) AlfAttributeValueType(aPos.iY));
-    	attrOwner->setAttribute(posX, x.get());
-    	attrOwner->setAttribute(posY, y.get());
-    	x.release();
-    	y.release();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// set the size for the widget.
-// ---------------------------------------------------------------------------
-//
-void AlfLayoutManagerImpl::setWidgetSize(IAlfWidget& aWidget, const TAlfRealPoint &aSize)
-    {
-    const UString widthName(layoutattributes::KWidth);
-    const UString heightName(layoutattributes::KHeight);
-    IAlfAttributeOwner* attrOwner = 
-        IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(&aWidget);
-    if (attrOwner)
-        {
-    	auto_ptr<AlfAttributeValueType> w(
-    	    new (EMM) AlfAttributeValueType(aSize.iX));
-    	auto_ptr<AlfAttributeValueType> h(
-    	    new (EMM) AlfAttributeValueType(aSize.iY));
-    	attrOwner->setAttribute(heightName, h.get());
-    	attrOwner->setAttribute(widthName, w.get());
-    	h.release();
-    	w.release();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// updates widget size and position properties for all the children
-// to correct sizes and positions of the root visuals.
-// ---------------------------------------------------------------------------
-//    
-void AlfLayoutManagerImpl::updateAllWidgetRects()
-    {
-    const int childCount = mLayout->Count();
-    TAlfRealRect rect;
-    for (int i = 0; i < childCount; i++)
-        {
-        CAlfWidgetControl* control = getControl(i);
-        controlRect(*control, rect); //returns the real rect(of the root visual)
-        AlfWidget* widget = control->widget();
-        if(widget)
-            {
-            const char* name = widget->widgetName(); 
-            IAlfWidget* ownerwidget = AlfWidgetEnvExtension::widgetFactory(control->Env()).findWidget(name); 
-            if (ownerwidget)
-                {
-                setWidgetRect(*ownerwidget, rect); //sets the rect using widget properties.
-                }
-            }
-        }
-    
-    }
-    
-// ---------------------------------------------------------------------------
-// returns the child visual count
-// ---------------------------------------------------------------------------
-//
-int AlfLayoutManagerImpl::count() const
-    {
-    return getLayout().Count();
-    }    
-
-// ---------------------------------------------------------------------------
-// returns the control, which owns the visual
-// ---------------------------------------------------------------------------
-//      
-CAlfWidgetControl* AlfLayoutManagerImpl::getControl(CAlfVisual& aVisual) const
-    {
-    CAlfWidgetControl* temp = 0;
-    temp = dynamic_cast<CAlfWidgetControl*>(&aVisual.Owner());
-    return temp;
-    }
-    
-// ---------------------------------------------------------------------------
-// returns the control, which owns the visual
-// ---------------------------------------------------------------------------
-//      
-const IAlfLayoutPreferences* AlfLayoutManagerImpl::getLayoutPreferences(
-    CAlfWidgetControl* aControl) const
-    {
-    IAlfLayoutPreferences* layoutPrefs = 0;
-    if (aControl)
-        {
-        layoutPrefs = 
-            CAlfWidgetControl::makeInterface<IAlfLayoutPreferences>(aControl);
-        }
-        
-    return layoutPrefs;
-    }
-   
-// ---------------------------------------------------------------------------
-// finds the root visual for a control.
-// ---------------------------------------------------------------------------
-//    
-CAlfVisual* AlfLayoutManagerImpl::findRootVisual(CAlfWidgetControl* aControl) const
-    {
-    CAlfVisual* root = 0;
-    if (aControl->VisualCount() > 0)
-        {
-        //take first visual, 
-        //go up in layout hierarchy until the control is not owner anymore.
-        for (root = &aControl->Visual(0); 
-             root && root->Layout() && &root->Layout()->Owner() == aControl;
-             root = root->Layout()){}
-        }
-    return root;
-    }
-
-// ---------------------------------------------------------------------------
-// throws an exception, if layout is not created.
-// ---------------------------------------------------------------------------
-//    
-void AlfLayoutManagerImpl::checkLayout() const
-    {
-    if (!mLayout.get())
-        {
-        ALF_THROW(AlfVisualException, EInvalidVisual, className);
-        }
-    }
-
- } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alflctanchorlayoutattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +0,0 @@
-/*
-* 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:  attributesetter for lct anchor layout.
-*
-*/
-
-
-//includes
-
-//widget model includes
-#include "alf/alfattributecontainer.h"
-#include "alf/alfattributevaluetype.h"
-#include "alf/alfattribute.h"
-#include "alf/alflctanchorlayoutattributesetter.h"
-#include <alf/alfvisualexception.h>
-#include <alf/alfdataexception.h>
-
-//osn includes
-#include <osn/ustring.h>
-
-//alf includes
-#include <alf/alfenv.h>
-#include <alf/alfdisplay.h>
-#include <alf/alflctanchorlayout.h>
-
-//dui includes
-#include "alf/attrproperty.h"
-#include <alf/alftimedvalue.h>
-//other includes
-#include <libc/string.h>
-#ifdef RD_ALF_IN_PLATFORM
-#include <aknlayout2hierarchy.h>
-#endif
-
-#include "AlfLctAttributeSetterUtils.h"
-
-using osncore::UString;
-
-using namespace duiuimodel::layoutattributes::grid;
-
-using namespace duiuimodel::lctvisualattributes;
-
-using namespace duiuimodel::anchorlayoutinput;
-
-namespace Alf
-    {
-
-//variable inside ifdef to prevent compiler warning.
-#ifdef ALF_DEBUG_EXCEPTIONS
-static const char* const ClassName = "AlfLCTAnchorLayoutAttributeSetter";
-#endif
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfLCTAnchorLayoutAttributeSetter::AlfLCTAnchorLayoutAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfLCTAnchorLayoutAttributeSetter::~AlfLCTAnchorLayoutAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Sets Attribute Value. Delegates based on attribute Category.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfLCTAnchorLayoutAttributeSetter::setAttributeValue(
-    CAlfVisual &aVisual,
-    AlfAttributeContainer* aContainer,
-    IAlfMap* aData )
-    {
-    CAlfLCTAnchorLayout* anchorlayout =
-        dynamic_cast<CAlfLCTAnchorLayout*>(&aVisual);
-
-    if ( !anchorlayout )
-        {
-        ALF_THROW(AlfVisualException, EInvalidVisual, ClassName)
-        }
-
-    AlfAnchorLayoutAttributeSetter::setAttributeValue(
-        aVisual, aContainer, aData);
-    }
-
-// ---------------------------------------------------------------------------
-// Deprecated
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfCommand* AlfLCTAnchorLayoutAttributeSetter::createCommand(
-    CAlfVisual& /*aVisual*/,
-    AlfAttributeContainer* /*aContainer*/, IAlfMap* /*aData*/,
-     int /*aTransitionTime*/, CAlfVisual* /*aRefVisual*/ )
-    {
-    //deprecated
-    TAlfCommand* cmd = 0;
-    return cmd;
-    }
-
-// ---------------------------------------------------------------------------
-// Sends a command to Env
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfLCTAnchorLayoutAttributeSetter::createAndSendCommands(
-    CAlfVisual& aVisual,
-    AlfAttributeContainer* aContainer,
-    CAlfVisual* aRefVisual )
-    {
-    AlfAnchorLayoutAttributeSetter::createAndSendCommands(
-        aVisual, aContainer, aRefVisual);
-    }
-
-// ---------------------------------------------------------------------------
-// Sets dynamic attributes to visual
-// ---------------------------------------------------------------------------
-//
-void AlfLCTAnchorLayoutAttributeSetter::handleDynamicAttribute(
-    CAlfVisual& aVisual,
-    AlfAttribute& aAttr, 
-    AlfAttributeContainer& aContainer)
-    {
-    const char* attrName = aAttr.name();
-
-#ifdef RD_ALF_IN_PLATFORM
-    if ( !strcmp ( attrName, KLCT ) )
-        {
-        TAknLayoutHierarchyComponentHandle componentHandle =
-            AlfLctAttributeSetterUtils::getCommonLctAttributes(&aContainer);
-
-        int width(0);
-        int height(0);
-        if (AlfLctAttributeSetterUtils::itemSize(componentHandle, 
-            width, height))
-            {
-            TInt displayWidth = 
-                aVisual.Env().PrimaryDisplay().VisibleArea().Width();
-            if (width > displayWidth)
-                {
-                width = displayWidth;
-                }
-                
-            TAlfTimedPoint size(width, height);
-            aVisual.SetSize(size);
-            }
-        }
-    else
-#endif
-    if (strcmp(attrName,KRows) && 
-        strcmp(attrName,KColumns) && 
-        strcmp(attrName,KChildOrdinal))
-        {
-        AlfAnchorLayoutAttributeSetter::handleDynamicAttribute(
-            aVisual, aAttr, aContainer);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Sets static attributes to visual
-// ---------------------------------------------------------------------------
-//
-void AlfLCTAnchorLayoutAttributeSetter::handleStaticAttribute(
-    CAlfVisual &aVisual,
-    AlfAttribute& aAttr, 
-    AlfAttributeContainer& aContainer)
-    {
-    CAlfLCTAnchorLayout* anchorlayout = 
-        dynamic_cast<CAlfLCTAnchorLayout*>(&aVisual);
-        
-    const char* attrName = aAttr.name();
-    
-#ifdef RD_ALF_IN_PLATFORM
-    if ( !strcmp ( attrName, KLCT ) )
-        {
-        TAknLayoutHierarchyComponentHandle componentHandle =
-            AlfLctAttributeSetterUtils::getCommonLctAttributes(&aContainer);
-
-        int width(0);
-        int height(0);
-        if (AlfLctAttributeSetterUtils::itemSize(componentHandle, 
-            width, height))
-            {
-            // Some cases returns wrong width, so check that width is reasonable
-            TInt displayWidth = 
-                aVisual.Env().PrimaryDisplay().VisibleArea().Width();
-            if (width > displayWidth)
-                {
-                width = displayWidth;
-                }
-            TAlfTimedPoint size(width, height);
-            aVisual.SetSize(size);
-            }
-        }
-    else if ( !strcmp(attrName, KRows)||
-            !strcmp (attrName,KColumns) || !strcmp(attrName,KChildOrdinal) )
-        {
-        TAknLayoutHierarchyComponentHandle componentHandle =
-            AlfLctAttributeSetterUtils::getCommonLctAttributes(&aContainer);
-        AlfAttribute& attrRows = aContainer.getAttributeByName(KRows);
-        AlfAttribute& attrCols = aContainer.getAttributeByName(KColumns);
-        AlfAttribute& attrOrdinal = 
-            aContainer.getAttributeByName(KChildOrdinal);
-        componentHandle.SetColumn(attrCols.realValue());
-        componentHandle.SetRow(attrRows.realValue());
-        TAlfTimedPoint timedpoint(attrCols.getSourceValue()->realValue(),
-                                  attrRows.getSourceValue()->realValue());
-
-        //since static, effect will be immediate
-        timedpoint.iX.SetTarget(attrCols.getTargetValue()->realValue(), 0);
-        timedpoint.iY.SetTarget(attrRows.getTargetValue()->realValue(), 0);
-
-        timedpoint.iX.SetStyle(attrCols.getInterpolationStyle());
-        timedpoint.iY.SetStyle(attrRows.getInterpolationStyle());
-
-        //TO ADD: Mapping Function Identifiers
-        anchorlayout->SetAnchors(attrOrdinal.intValue(), 
-            componentHandle, timedpoint);
-        attrRows.setDirty(false);
-        attrCols.setDirty(false);
-        attrOrdinal.setDirty(false);
-        }
-    else
-#endif
-        {
-        AlfAnchorLayoutAttributeSetter::handleStaticAttribute(aVisual, aAttr,
-                aContainer);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Sets dynamic attributes to visual from data
-// ---------------------------------------------------------------------------
-//
-void AlfLCTAnchorLayoutAttributeSetter::handleDynamicDataAttribute(
-    CAlfVisual &aVisual,
-    AlfAttribute& aAttr, 
-    AlfAttributeContainer& aContainer, 
-    IAlfMap* aData )
-    {
-    AlfAnchorLayoutAttributeSetter::handleDynamicDataAttribute(aVisual, aAttr,
-            aContainer, aData);
-    }
-
-// ---------------------------------------------------------------------------
-// Sets static attributes to visual  from data
-// ---------------------------------------------------------------------------
-//
-void AlfLCTAnchorLayoutAttributeSetter::handleStaticDataAttribute(
-    CAlfVisual &aVisual,
-    AlfAttribute& aAttr, 
-    AlfAttributeContainer& aContainer, 
-    IAlfMap* aData )
-    {
-    AlfAnchorLayoutAttributeSetter::handleStaticDataAttribute(aVisual, aAttr,
-            aContainer, aData);
-    }
-
-    } // namespace Alf
-
-// End of file
-
-
-
-
-
--- a/widgetmodel/alfwidgetmodel/src/alflinevisualattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1409 +0,0 @@
-/*
-* 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:   Implements attributesetters for linevisual.
-*
-*/
-
-
-//includes
-
-//widget model includes
-#include "alf/alfattributecontainer.h"
-#include "alf/alfattributevaluetype.h"
-#include "alf/alfattribute.h"
-#include "alf/alflinevisualattributesetter.h"
-#include <alf/alfvisualexception.h>
-#include <alf/alfdataexception.h>
-#include <alf/alfattributeexception.h>
-
-//osn includes
-#include <osn/ustring.h>
-#include <osn/alfptrvector.h>
-
-//alf includes
-#include <alf/alfenv.h>
-#include <alf/alflinevisual.h>
-#include <alf/alftexture.h>
-#include <alf/alfcurvepath.h>
-
-//dui includes
-#include "alf/attrproperty.h"
-
-//other includes
-#include <libc/string.h>
-#include <utf.h>
-
-
-
-//namespaces
-
-using namespace osncore;
-
-using namespace duiuimodel::commonvisualattributes;
-using namespace duiuimodel::linevisualattributes;
-using namespace duiuimodel::curvepathattributes;
-
-namespace Alf
-    {
-
-static void throwIfErr ( int aErr )
-    {
-    if (aErr!=KErrNone)
-        {
-        ALF_THROW ( AlfAttributeException, aErr,
-                    "AlfLineVisualAttributeSetter")
-        }
-    }
-
-
-class AlfLineVisualAttributeSetterImpl
-    {
-public:
-    AlfLineVisualAttributeSetterImpl();
-    ~AlfLineVisualAttributeSetterImpl();
-public:
-
-    // Texture manager doesn't unload the texture from memory untill Env
-    // is deleted. Hence need to unload them once attribute setter is deleted.
-    AlfPtrVector<CAlfTexture> mLoadedTextures;
-    // Env needed to access TextureManager while unloading textures.
-    CAlfEnv* mEnv;
-    };
-
-AlfLineVisualAttributeSetterImpl::AlfLineVisualAttributeSetterImpl()
-    {
-    // Do not delete textures here as they may be in use by the visuals
-    // that have not been deleted.
-    mLoadedTextures.setAutoDelete(false);
-    }
-
-AlfLineVisualAttributeSetterImpl::~AlfLineVisualAttributeSetterImpl()
-    {
-    // Unload all loaded textures created by this attributesetter to free
-    // up the memory.
-    for (int i =0;i<mLoadedTextures.count();i++)
-        {
-        CAlfTexture* Texture = mLoadedTextures[i];
-        mEnv->TextureManager().UnloadTexture(Texture->Id());
-        }
-    mLoadedTextures.clear();
-    }
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfLineVisualAttributeSetter::AlfLineVisualAttributeSetter()
-    {
-    mImpl.reset(new (EMM) AlfLineVisualAttributeSetterImpl());
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfLineVisualAttributeSetter::~AlfLineVisualAttributeSetter()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// Sets Attribute Value. Delegates based on attribute Category.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfLineVisualAttributeSetter::setAttributeValue (
-    CAlfVisual &aVisual,
-    AlfAttributeContainer* aContainer,
-    IAlfMap* aData )
-    {
-    CAlfLineVisual* lineVisual = dynamic_cast<CAlfLineVisual*>( &aVisual);
-
-    if ( !lineVisual )
-        {
-        ALF_THROW ( AlfVisualException, EInvalidVisual, "AlfLineVisualAttributeSetter" )
-        }
-
-    CAlfCurvePath* curve = lineVisual->Path();
-    if (curve)
-        {
-        curve->Reset();
-        }
-
-    AlfCommonVisualAttributeSetter::setAttributeValue(aVisual,
-            aContainer, aData);
-    }
-
-// ---------------------------------------------------------------------------
-// Deprecated
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfCommand* AlfLineVisualAttributeSetter::createCommand (
-    CAlfVisual& /*aVisual*/,
-    AlfAttributeContainer* /*aContainer*/,
-    IAlfMap* /*aData*/,
-    int /*aTransitionTime*/,
-    CAlfVisual* /*aRefVisual*/ )
-    {
-    //deprecated
-    TAlfCommand* cmd = 0;
-    return cmd;
-    }
-
-// ---------------------------------------------------------------------------
-// Sends a command to Env
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfLineVisualAttributeSetter::createAndSendCommands (
-    CAlfVisual& aVisual,
-    AlfAttributeContainer* aContainer,
-    CAlfVisual* aRefVisual )
-    {
-    // SetOffset in CAlfCurvePath,
-    // SetThickness,SetShadowThickness SetStartPos & SetEndPos
-    // in Line Visual can be sent as a TAlfCustomEventCommand
-    AlfCommonVisualAttributeSetter::createAndSendCommands (
-        aVisual, aContainer, aRefVisual );
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// Sets dynamic attributes to visual
-// ---------------------------------------------------------------------------
-//
-void AlfLineVisualAttributeSetter::handleDynamicAttribute (
-    CAlfVisual &aVisual,
-    AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer)
-    {
-
-    CAlfLineVisual* lineVisual = dynamic_cast<CAlfLineVisual*>( &aVisual);
-    if ( !lineVisual )
-        {
-        return;
-        }  
-    const char* attrName = aAttr.name();
-
-    if ( !strcmp ( attrName, KThickness ) )
-        {
-        TAlfTimedValue tVal((TReal32)aAttr.getSourceValue()->realValue());
-        tVal.SetTarget ((TReal32)aAttr.getTargetValue()->realValue(),
-                        (TInt) aAttr.getTime());
-        tVal.SetStyle ( aAttr.getInterpolationStyle() );
-        tVal.SetMappingFunctionIdentifier (aAttr.getMappingFunctionId());
-
-        lineVisual->SetThickness(tVal);
-        }
-        
-    else if ( !strcmp ( attrName, KShadowThickness ) )
-        {
-        TAlfTimedValue tVal((TReal32)aAttr.getSourceValue()->realValue());
-        tVal.SetTarget ((TReal32)aAttr.getTargetValue()->realValue(),
-                        (TInt) aAttr.getTime());
-        tVal.SetStyle ( aAttr.getInterpolationStyle() );
-        tVal.SetMappingFunctionIdentifier (aAttr.getMappingFunctionId());
-
-        lineVisual->SetShadowThickness(tVal);
-        }
-
-    else if ( !strcmp ( attrName, KStartPos ) )
-        {
-        TAlfTimedValue tVal((TReal32)aAttr.getSourceValue()->realValue());
-        tVal.SetTarget ((TReal32)aAttr.getTargetValue()->realValue(),
-                        (TInt) aAttr.getTime());
-        tVal.SetStyle ( aAttr.getInterpolationStyle() );
-        tVal.SetMappingFunctionIdentifier (aAttr.getMappingFunctionId());
-
-        lineVisual->SetStartPos(tVal);
-        }
-
-    else if ( !strcmp ( attrName, KEndPos ) )
-        {
-        TAlfTimedValue tVal((TReal32)aAttr.getSourceValue()->realValue());
-        tVal.SetTarget ((TReal32)aAttr.getTargetValue()->realValue(),
-                        (TInt) aAttr.getTime());
-        tVal.SetStyle ( aAttr.getInterpolationStyle() );
-        tVal.SetMappingFunctionIdentifier (aAttr.getMappingFunctionId());
-
-        lineVisual->SetEndPos(tVal);
-        }
-
-    else if ( !strcmp ( attrName, KOffsetX )||!strcmp ( attrName, KOffsetY ) )
-        {
-        AlfAttribute& offsety = aContainer.getAttributeByName (
-                                    KOffsetY );
-        AlfAttribute& offsetx = aContainer.getAttributeByName (
-                                    KOffsetX );
-        //will throw if attribute is not found
-
-        TAlfTimedPoint offset((TReal32)offsetx.getSourceValue()->realValue(),
-                              (TReal32)offsety.getSourceValue()->realValue());
-
-        offset.iX.SetTarget((TReal32)offsetx.getTargetValue()->realValue(),
-                            offsetx.getTime());
-
-        offset.iY.SetTarget((TReal32)offsety.getTargetValue()->realValue(),
-                            offsety.getTime());
-
-        offset.iX.SetStyle ( offsetx.getInterpolationStyle() );
-        offset.iY.SetStyle ( offsety.getInterpolationStyle() );
-
-        offset.iX.SetMappingFunctionIdentifier (
-            offsetx.getMappingFunctionId());
-        offset.iY.SetMappingFunctionIdentifier (
-            offsety.getMappingFunctionId());
-
-        CAlfCurvePath* curve = this->getCurvePath(lineVisual);
-        curve->SetOffset ( offset );
-        offsetx.setDirty(false);
-        offsety.setDirty(false);
-        }
-        
-    else
-        {
-        AlfCommonVisualAttributeSetter::handleDynamicAttribute(
-            aVisual, aAttr, aContainer);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Sets static attributes to visual
-// ---------------------------------------------------------------------------
-//
-void AlfLineVisualAttributeSetter::handleStaticAttribute (
-    CAlfVisual& aVisual,
-    AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer)
-    {
-
-    CAlfLineVisual* lineVisual = dynamic_cast<CAlfLineVisual*>( &aVisual);
-    if ( !lineVisual )
-        {
-        return;
-        }  
-    
-    const char* attrName = aAttr.name();
-
-    if ( !strcmp ( attrName, KImagePath ) )
-        {
-        TPtrC8 src;
-        src.Set((TUint8*)aAttr.stringValue().getUtf8());
-        auto_ptr<HBufC> DesC;
-        TRAPD(err1,
-            DesC.reset(CnvUtfConverter::ConvertToUnicodeFromUtf8L(src)));
-        throwIfErr(err1);
-
-        if (DesC.get())
-            {
-            CAlfTexture* texture = NULL;
-            TRAPD(err2,texture = &(aVisual.Env().TextureManager().
-                                   LoadTextureL( *(DesC.get()),
-                                       EAlfTextureFlagDefault,
-                                       KAlfAutoGeneratedTextureId)));
-            throwIfErr(err2);
-            lineVisual->SetImage(TAlfImage(*texture));
-            mImpl->mEnv = &aVisual.Env();
-            mImpl->mLoadedTextures.resize(mImpl->mLoadedTextures.count()+1);
-            mImpl->mLoadedTextures.insert(mImpl->mLoadedTextures.count(),
-                                       texture);
-            }
-        }
-
-    else if ( !strcmp ( attrName, KThickness ) )
-        {
-        TAlfTimedValue val(aAttr.realValue(),0);
-        //static attribute,apply with immidiate effect
-
-        lineVisual->SetThickness(val);
-        }
-
-    else if ( !strcmp ( attrName, KShadowThickness ) )
-        {
-        TAlfTimedValue val(aAttr.realValue(),0);
-        //static attribute,apply with immidiate effect
-
-        lineVisual->SetShadowThickness(val);
-        }
-
-    else if ( !strcmp ( attrName, KStartPos ) )
-        {
-        TAlfTimedValue val(aAttr.realValue(),0);
-        //static attribute,apply with immidiate effect
-
-        lineVisual->SetStartPos(val);
-        }
-
-    else if ( !strcmp ( attrName, KEndPos ) )
-        {
-        TAlfTimedValue val(aAttr.realValue(),0);
-        //static attribute,apply with immidiate effect
-
-        lineVisual->SetEndPos(val);
-        }
-
-    else if ( !strcmp ( attrName, KAlphaMappingFunction ) )
-        {
-        // assumption:
-        // The int value-mapping function mapping is the following:
-        // 0 - KConstMappingFunction
-        // 1 - duiuimodel::nodetypes::KLinearMappingFunction
-        // 2 - KSineMappingFunction
-        // 3 - KCosineMappingFunction
-
-        MAlfMappingFunction* func =  this->getMappingFunction(aAttr,
-                                               lineVisual->Env());
-        if (!func)
-            {
-            ALF_THROW ( AlfAttributeException,
-                        EInvalidAttribute, "AlfLineVisualAttributeSetter")
-            }
-
-        lineVisual->SetAlphaFunction(func);
-        }
-
-    else if ( !strcmp ( attrName, KWidthMappingFunction ) )
-        {
-        //assumption:
-        //The int value-mapping function mapping is the following:
-        //0 - KConstMappingFunction
-        //1 - duiuimodel::nodetypes::KLinearMappingFunction
-        //2 - KSineMappingFunction
-        //3 - KCosineMappingFunction
-
-        MAlfMappingFunction* func =  this->getMappingFunction(aAttr,
-                                     lineVisual->Env());
-        if (!func)
-            {
-            ALF_THROW ( AlfAttributeException,
-                        EInvalidAttribute, "AlfLineVisualAttributeSetter")
-            }
-        lineVisual->SetWidthFunction(func);
-        }
-
-    else if ( !strcmp ( attrName, KColor ) )
-        {
-        if ( 4 == aAttr.getTargetValueCount() &&
-                AlfAttributeValueType::EFloat == aAttr.type(0) &&
-                AlfAttributeValueType::EFloat == aAttr.type(1) &&
-                AlfAttributeValueType::EFloat == aAttr.type(2) &&
-                AlfAttributeValueType::EFloat == aAttr.type(3))
-            {
-            TRgb color ( aAttr.realValue(0),
-                         aAttr.realValue(1),
-                         aAttr.realValue(2),
-                         aAttr.realValue(3) );
-            lineVisual->SetColor ( color );
-            }
-        else
-            {
-            ALF_THROW ( AlfAttributeException, EInvalidAttribute,
-                        "AlfLineVisualAttributeSetter")
-            }
-        }
-
-    else if ( !strcmp ( attrName, KEnableLoop ) )
-        {
-
-        CAlfCurvePath* curve = this->getCurvePath(lineVisual);
-
-        // if value is not int, then use default parameter of EnableLoop
-        if ( AlfAttributeValueType::EInt != aAttr.type() )
-            {
-            curve->EnableLoop ();
-            }
-        else
-            {
-            int enableLoop = aAttr.intValue();
-
-            TBool flag = ETrue;
-            //Assume true for any non-zero value.
-
-            if ( 0 == enableLoop )
-                {
-                flag = EFalse;
-                }
-            curve->EnableLoop ( flag );
-            }
-        }
-
-    else if ( !strcmp ( attrName, KOrigin ) )
-        {
-        CAlfCurvePath* curve = this->getCurvePath(lineVisual);
-        curve->SetOrigin ( aAttr.realValue() );
-        }
-
-    else if ( !strcmp ( attrName, KOffsetX )||!strcmp ( attrName, KOffsetY ) )
-        {
-        CAlfCurvePath* curve = this->getCurvePath(lineVisual);
-        AlfAttribute& offsety = aContainer.getAttributeByName (
-                                               KOffsetY );
-        AlfAttribute& offsetx = aContainer.getAttributeByName (
-                                               KOffsetX );
-        //will throw if attribute is not found
-
-        TAlfTimedPoint offset( offsetx.realValue(), offsety.realValue());
-        curve->SetOffset ( offset );
-        offsetx.setDirty(false);
-        offsety.setDirty(false);
-        }
-        
-    else if ( !strcmp ( attrName, KLine ) )
-        {
-        CAlfCurvePath* curve = this->getCurvePath(lineVisual);
-
-        // This multi-value attribute has to be filled in this order:
-        // startx,starty,endx,endy,linelength
-
-        if ( 5 != aAttr.getTargetValueCount())
-            {
-            ALF_THROW ( AlfAttributeException, EInvalidAttribute,
-                        "CAlfLineVisualLayoutAttributeSetter" );
-            }
-        float startx = this->floatOrInt( aAttr, 0 );
-        float starty = this->floatOrInt( aAttr, 1 );
-        float endx = this->floatOrInt( aAttr, 2 );
-        float endy = this->floatOrInt( aAttr, 3 );
-        float len = aAttr.realValue(4);
-
-        TRAPD(err1,
-              curve->AppendLineL ( TAlfRealPoint(startx,starty),
-                                   TAlfRealPoint(endx,endy),len ))
-        throwIfErr(err1);
-        }
-        
-    else if ( !strcmp ( attrName, KArc ) )
-        {
-        CAlfCurvePath* curve = this->getCurvePath(lineVisual);
-
-        // This multi-value attribute has to be filled in this order:
-        // arcoriginx,arcoriginy,archorzradius,arcvertradius,
-        // arcstartangle,arcendangle,arclength
-
-        if ( 7 != aAttr.getTargetValueCount())
-            {
-            ALF_THROW ( AlfAttributeException, EInvalidAttribute,
-                        "CAlfLineVisualLayoutAttributeSetter" );
-            }
-
-        float originx = this->floatOrInt( aAttr, 0 );
-        float originy = this->floatOrInt( aAttr, 1 );
-        float horzradius = this->floatOrInt( aAttr, 2 );
-        float vertradius = this->floatOrInt( aAttr, 3 );
-        float startangle = aAttr.realValue(4);
-        float endangle = aAttr.realValue(5);
-        float len = aAttr.realValue(6);
-        TRAPD(err1,
-              curve->AppendArcL(TAlfRealPoint(originx,originy),
-                                TAlfRealSize(horzradius,vertradius),
-                                startangle, endangle, len))
-        throwIfErr(err1);
-        }
-        
-    else
-        {
-        AlfCommonVisualAttributeSetter::handleStaticAttribute (
-            aVisual, aAttr, aContainer);
-        }
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// Sets dynamic attributes to visual from data
-// ---------------------------------------------------------------------------
-//
-void AlfLineVisualAttributeSetter::handleDynamicDataAttribute (
-    CAlfVisual& aVisual,
-    AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer,
-    IAlfMap* aData )
-    {
-    CAlfLineVisual* lineVisual = dynamic_cast<CAlfLineVisual*>( &aVisual);
-    if ( !lineVisual )
-        {
-        ALF_THROW ( AlfDataException, ECommonError,
-                    "AlfLineVisualAttributeSetter" )
-        }    
-
-    const char* attrName = aAttr.name();
-
-    const char* dataField = aAttr.getDataField();
-
-    if ( !dataField )
-        {
-        ALF_THROW ( AlfDataException, ECommonError,
-                    "AlfLineVisualAttributeSetter")
-        }
-
-    if (!aData)
-        {
-        ALF_THROW ( AlfDataException, ECommonError,
-                    "AlfLineVisualAttributeSetter" )
-        }
-        
-    IAlfVariantType* data = aData->item ( UString(dataField) );
-    
-    if (data)
-        {
-        const char* attrName = aAttr.name();
-
-        if ( !strcmp ( attrName, KOffsetX ) )
-            {
-            AlfAttribute& offsety = aContainer.getAttributeByName (
-                                        KOffsetY );
-            //will throw if attribute is not found
-
-            const char* offsetyDataField = offsety.getDataField();
-            if ( !offsetyDataField )
-                {
-                ALF_THROW ( AlfDataException, ECommonError,
-                            "AlfLineVisualAttributeSetter" )
-                }
-            IAlfVariantType* offsetyData = 
-                                 aData->item ( UString(offsetyDataField) );
-
-            if ( data->type() == IAlfVariantType::EReal &&
-                    offsetyData && 
-                    offsetyData->type() == IAlfVariantType::EReal)
-                {
-                // The time value is in the attribute?
-                //Is it not part of data as well?
-                TAlfTimedPoint offset;
-                offset.iX.SetTarget(data->real(), aAttr.getTime());
-                offset.iX.SetStyle ( aAttr.getInterpolationStyle() );
-                offset.iX.SetMappingFunctionIdentifier (
-                    aAttr.getMappingFunctionId());
-                offset.iY.SetTarget(offsetyData->real(), offsety.getTime());
-                offset.iY.SetStyle ( offsety.getInterpolationStyle() );
-                offset.iY.SetMappingFunctionIdentifier (
-                    offsety.getMappingFunctionId());
-                CAlfCurvePath* curve = this->getCurvePath(lineVisual);
-                curve->SetOffset ( offset );
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfLineVisualtAttributeSetter");
-                }
-            }
-            
-        else if ( !strcmp ( attrName, KOffsetY ) )
-            {
-            //Make sure X Attribute also exists, but do nothing. Actual values
-            //will be set in the iteration that checks for KOffsetX
-            aContainer.getAttributeByName ( KOffsetX );
-            //will throw if attribute is not found
-            }
-            
-        else if ( !strcmp ( attrName, KThickness ) )
-            {
-            if ( data->type() == IAlfVariantType::EReal)
-                {
-                // The time value is in the attribute?
-                // Is it not part of data as well?
-                // how is the source value stored in data? policy not clear
-                TAlfTimedValue tVal;
-                tVal.SetTarget(data->real(),(TInt) aAttr.getTime());
-                tVal.SetStyle ( aAttr.getInterpolationStyle() );
-                tVal.SetMappingFunctionIdentifier (
-                    aAttr.getMappingFunctionId());
-                lineVisual->SetThickness(tVal);
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfLineVisualtAttributeSetter");
-                }    
-            }
-            
-        else if ( !strcmp ( attrName, KShadowThickness ) )
-            {
-            if ( data->type() == IAlfVariantType::EReal)
-                {
-                // The time value is in the attribute?
-                // Is it not part of data as well?
-                // how is the source value stored in data? policy not clear
-                TAlfTimedValue tVal;
-                tVal.SetTarget(data->real(),(TInt) aAttr.getTime());
-                tVal.SetStyle ( aAttr.getInterpolationStyle() );
-                tVal.SetMappingFunctionIdentifier (
-                    aAttr.getMappingFunctionId());
-                lineVisual->SetShadowThickness(tVal);
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfLineVisualtAttributeSetter");
-                }    
-            }
-            
-        else if ( !strcmp ( attrName, KStartPos ) )
-            {
-            if ( data->type() == IAlfVariantType::EReal)
-                {
-                // The time value is in the attribute?
-                // Is it not part of data as well?
-                // how is the source value stored in data? policy not clear
-                TAlfTimedValue tVal;
-                tVal.SetTarget(data->real(),(TInt) aAttr.getTime());
-                tVal.SetStyle ( aAttr.getInterpolationStyle() );
-                tVal.SetMappingFunctionIdentifier (
-                    aAttr.getMappingFunctionId());
-                lineVisual->SetStartPos(tVal);
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfLineVisualtAttributeSetter");
-                }    
-            }
-            
-        else if ( !strcmp ( attrName, KEndPos ) )
-            {
-            if ( data->type() == IAlfVariantType::EReal)
-                {
-                // The time value is in the attribute?
-                // Is it not part of data as well?
-                // how is the source value stored in data? policy not clear
-                TAlfTimedValue tVal;
-                tVal.SetTarget(data->real(),(TInt) aAttr.getTime());
-                tVal.SetStyle ( aAttr.getInterpolationStyle() );
-                tVal.SetMappingFunctionIdentifier (
-                    aAttr.getMappingFunctionId());
-                lineVisual->SetEndPos(tVal);
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfLineVisualtAttributeSetter");
-                }    
-            }
-
-        else
-            {
-            AlfCommonVisualAttributeSetter::handleDynamicDataAttribute(
-                aVisual, aAttr, aContainer, aData);
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Sets static attributes to visual  from data
-// ---------------------------------------------------------------------------
-//
-void AlfLineVisualAttributeSetter::handleStaticDataAttribute (
-    CAlfVisual &aVisual,
-    AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer,
-    IAlfMap* aData )
-    {
-
-    CAlfLineVisual* lineVisual = dynamic_cast<CAlfLineVisual*>( &aVisual);
-    if ( !lineVisual )
-        {
-        ALF_THROW ( AlfDataException, ECommonError,
-                    "AlfLineVisualAttributeSetter" )
-        }  
-
-    const char* dataField = aAttr.getDataField();
-
-    if ( !dataField )
-        {
-        ALF_THROW ( AlfDataException, ECommonError,
-                    "AlfLineVisualAttributeSetter" );
-        }
-
-    if (!aData)
-        {
-        ALF_THROW ( AlfDataException, ECommonError,
-                    "AlfLineVisualAttributeSetter" );
-        }
-
-    IAlfVariantType* data = aData->item (UString( dataField) );
-
-    const char* attrName = aAttr.name();
-
-    if ( data )
-        {
-        if ( !strcmp ( attrName, KImagePath ) )
-            {
-            if (data->type() == IAlfVariantType::EString)
-                {
-
-                TPtrC8 src;
-                src.Set((TUint8*)data->string().getUtf8());
-                auto_ptr<HBufC> DesC;
-                TRAPD(err1,
-                  DesC.reset(CnvUtfConverter::ConvertToUnicodeFromUtf8L(src)));
-                throwIfErr(err1);
-
-                if (DesC.get())
-                    {
-                    CAlfTexture* texture = NULL;
-                    TRAPD(err2,texture = &(aVisual.Env().TextureManager().
-                                           LoadTextureL(*(DesC.get()), 
-                                               EAlfTextureFlagDefault,
-                                               KAlfAutoGeneratedTextureId)));
-                    throwIfErr(err2);
-                    lineVisual->SetImage(TAlfImage(*texture));
-                    mImpl->mEnv = &aVisual.Env();
-                    mImpl->mLoadedTextures.resize(
-                        mImpl->mLoadedTextures.count()+1);
-                    mImpl->mLoadedTextures.insert(
-                        mImpl->mLoadedTextures.count(), texture);
-                    }
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfLineVisualtAttributeSetter");
-                }    
-            }
-
-        else if ( !strcmp ( attrName, KThickness ) )
-            {
-            if (data->type() == IAlfVariantType::EReal)
-                {
-                TAlfTimedValue val(data->real(),0);
-                //static attribute,apply with immidiate effect
-
-                lineVisual->SetThickness(val);
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfLineVisualtAttributeSetter");
-                }    
-            }
-
-        else if ( !strcmp ( attrName, KShadowThickness ) )
-            {
-            if (data->type() == IAlfVariantType::EReal)
-                {
-                TAlfTimedValue val(data->real(),0);
-                //static attribute,apply with immidiate effect
-
-                lineVisual->SetShadowThickness(val);
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfLineVisualtAttributeSetter");
-                }    
-            }
-
-        else if ( !strcmp ( attrName, KStartPos ) )
-            {
-            if (data->type() == IAlfVariantType::EReal)
-                {
-                TAlfTimedValue val(data->real(),0);
-                //static attribute,apply with immidiate effect
-
-                lineVisual->SetStartPos(val);
-                }
-            }
-
-        else if ( !strcmp ( attrName, KEndPos ) )
-            {
-            if (data->type() == IAlfVariantType::EReal)
-                {
-                TAlfTimedValue val(data->real(),0);
-                //static attribute,apply with immidiate effect
-
-                lineVisual->SetEndPos(val);
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfLineVisualtAttributeSetter");
-                }    
-            }
-
-        else if ( !strcmp ( attrName, KAlphaMappingFunction ) )
-            {
-            //assumption:
-            //The int value-mapping function mapping is the following:
-            //0 - KConstMappingFunction
-            //1 - duiuimodel::nodetypes::KLinearMappingFunction
-            //2 - KSineMappingFunction
-            //3 - KCosineMappingFunction
-            if (data->type() == IAlfVariantType::EContainer )
-                {
-                IAlfContainer* dataContainer = data->container();
-                MAlfMappingFunction* func =
-                    this->getMappingFunctionFromContainer(dataContainer,
-                                                          lineVisual->Env());
-
-                if (!func)
-                    {
-                    ALF_THROW ( AlfAttributeException,
-                                EInvalidAttribute, "AlfLineVisualAttributeSetter")
-                    }
-
-                lineVisual->SetAlphaFunction(func);
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfLineVisualtAttributeSetter");
-                }
-            }
-            
-        else if ( !strcmp ( attrName, KWidthMappingFunction ) )
-            {
-            //assumption:
-            //The int value-mapping function mapping is the following:
-            //0 - KConstMappingFunction
-            //1 - duiuimodel::nodetypes::KLinearMappingFunction
-            //2 - KSineMappingFunction
-            //3 - KCosineMappingFunction
-
-            if (data->type() == IAlfVariantType::EContainer )
-                {
-                IAlfContainer* dataContainer = data->container();
-                MAlfMappingFunction* func =
-                    this->getMappingFunctionFromContainer(dataContainer,
-                                                          lineVisual->Env());
-
-                if (!func)
-                    {
-                    ALF_THROW ( AlfAttributeException,
-                                EInvalidAttribute, "AlfLineVisualAttributeSetter")
-                    }
-
-                lineVisual->SetWidthFunction(func);
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfLineVisualtAttributeSetter");
-                }
-            }
-            
-        else if ( !strcmp ( attrName, KColor ) )
-            {
-            if (data->type() == IAlfVariantType::EContainer )
-                {
-                IAlfContainer* dataContainer = data->container();
-
-                if ( 4 != dataContainer -> count() )
-                    {
-                    ALF_THROW ( AlfAttributeException,EIncompleteAttributeValues, "AlfLineVisualAttributeSetter")
-                    }
-
-                IAlfVariantType* red = dataContainer->item ( 0 );//red
-
-                IAlfVariantType* green = dataContainer->item ( 1 );//green
-
-                IAlfVariantType* blue = dataContainer->item ( 2 );//blue
-
-                IAlfVariantType* alpha = dataContainer->item ( 3 );//alpha
-
-                if ( red && IAlfVariantType::EReal == red->type()     &&
-                        green && IAlfVariantType::EReal == green->type() &&
-                        blue && IAlfVariantType::EReal == blue->type()   &&
-                        alpha && IAlfVariantType::EReal == alpha->type() )
-                    {
-                    TRgb color ( red->real(),
-                                 green->real(),
-                                 blue->real(),
-                                 alpha->real() );
-
-                    lineVisual->SetColor ( color );
-                    }
-                else
-                    {
-                    ALF_THROW ( AlfAttributeException, EInvalidAttribute,
-                                "AlfLineVisualAttributeSetter" )
-                    }
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfLineVisualtAttributeSetter");
-                }    
-            }
-            
-        else if ( !strcmp ( attrName, KEnableLoop ) )
-            {
-            CAlfCurvePath* curve = this->getCurvePath(lineVisual);
-
-            // if value is not bool, then use default parameter of EnableLoop
-            if ( data->type() != IAlfVariantType::EBool )
-                {
-                curve->EnableLoop ();
-                }
-
-            else
-                {
-                curve->EnableLoop ( data->boolean() );
-                }
-            }
-
-        else if ( !strcmp ( attrName, KOrigin ) )
-            {
-            CAlfCurvePath* curve = this->getCurvePath(lineVisual);
-
-            if ( data->type() == IAlfVariantType::EReal )
-                {
-                float origin =  data->real() ;
-                curve->SetOrigin ( origin );
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfLineVisualtAttributeSetter");
-                }    
-            }
-
-        else if ( !strcmp ( attrName, KOffsetX ) )
-            {
-            CAlfCurvePath* curve = this->getCurvePath(lineVisual);
-
-            AlfAttribute& offsety = aContainer.getAttributeByName (
-                                        KOffsetY );
-
-            //will throw if attribute is not found
-            const char* offsetyDataField = offsety.getDataField();
-            if ( !offsetyDataField )
-                {
-                ALF_THROW ( AlfDataException,
-                            ECommonError,  "AlfLineVisualAttributeSetter" )
-                }
-
-            IAlfVariantType* offsetyData = 
-                                 aData->item (UString( offsetyDataField ) );
-
-            if ( data->type() == IAlfVariantType::EReal &&
-                    offsetyData && 
-                    offsetyData->type() == IAlfVariantType::EReal)
-                {
-                TAlfTimedPoint offset( data->real(), offsetyData->real());
-                curve->SetOffset ( offset );
-                }
-            else
-                {
-                ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfLineVisualtAttributeSetter");
-                }    
-            }
-
-        else if ( !strcmp ( attrName, KOffsetY ) )
-            {
-            //Make sure X Attribute also exists, but do nothing.
-            //Actual values will be set in the iteration that checks for
-            //KOffsetX
-
-            aContainer.getAttributeByName ( KOffsetX );
-            //will throw if attribute is not found
-            }
-
-        else if ( !strcmp ( attrName, KLine ) )
-            {
-            CAlfCurvePath* curve = this->getCurvePath(lineVisual);
-
-            //if not a container, dont proceed
-            if (!(data->type() == IAlfVariantType::EContainer))
-                {
-                return;
-                }
-
-            IAlfContainer* container = data->container();
-            //if all item are not present, throw
-            if (container->count() != 5)
-                {
-                ALF_THROW ( AlfAttributeException, EInvalidAttribute,
-                            "AlfLineVisualAttributeSetter" );
-                }
-
-            IAlfVariantType* lineStartXvalue = container->item(0);
-            IAlfVariantType* lineStartYvalue = container->item(1);
-            IAlfVariantType* lineEndXvalue = container->item(2);
-            IAlfVariantType* lineEndYvalue = container->item(3);
-            IAlfVariantType* lineLengthvalue = container->item(4);
-
-            float startx = this->floatOrIntFromData( lineStartXvalue);
-            float starty = this->floatOrIntFromData( lineStartYvalue);
-            float endx   = this->floatOrIntFromData( lineEndXvalue  );
-            float endy   = this->floatOrIntFromData( lineEndYvalue  );
-            float len    = float(lineLengthvalue->real());
-            TRAPD(err1,
-                  curve->AppendLineL ( TAlfRealPoint(startx,starty),
-                                       TAlfRealPoint(endx,endy),len ))
-            throwIfErr(err1);
-            }
-
-        else if ( !strcmp ( attrName, KArc ) )
-            {
-            CAlfCurvePath* curve = this->getCurvePath(lineVisual);
-
-            //if not a container, dont proceed
-            if (!(data->type() == IAlfVariantType::EContainer))
-                {
-                return;
-                }
-
-            IAlfContainer* container = data->container();
-
-            //if all item are not present, throw
-            if (container->count() != 7)
-                {
-                ALF_THROW ( AlfAttributeException, EInvalidAttribute,
-                            "AlfLineVisualAttributeSetter" );
-                }
-                
-            IAlfVariantType* arcOriginXValue = container->item(0);
-            IAlfVariantType* arcOriginYValue = container->item(1);
-            IAlfVariantType* archorzradiusValue = container->item(2);
-            IAlfVariantType* arcvertradiusValue = container->item(3);
-            IAlfVariantType* arcstartangleValue = container->item(4);
-            IAlfVariantType* arcendangleValue = container->item(5);
-            IAlfVariantType* arclengthValue = container->item(6);
-
-            float originx    = this->floatOrIntFromData( arcOriginXValue);
-            float originy    = this->floatOrIntFromData( arcOriginYValue);
-            float horzradius = this->floatOrIntFromData( archorzradiusValue);
-            float vertradius = this->floatOrIntFromData( arcvertradiusValue);
-            float startangle = float(arcstartangleValue->real());
-            float endangle   = float(arcendangleValue->real());
-            float len        = float(arclengthValue->real());
-            TRAPD(err1,
-                  curve->AppendArcL(TAlfRealPoint(originx,originy),
-                                    TAlfRealSize(horzradius,vertradius),
-                                    startangle,endangle,len))
-
-            throwIfErr(err1);
-            }
-            
-        else
-            {
-            AlfCommonVisualAttributeSetter::handleStaticDataAttribute(
-                aVisual, aAttr, aContainer, aData );
-            }
-        }
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// Creates and returns a toolkit defined mappping function based on the
-// attribute contents
-// assumption:
-// The int value-mapping function mapping is the following:
-// 0 - KConstMappingFunction
-// 1 - duiuimodel::nodetypes::KLinearMappingFunction
-// 2 - KSineMappingFunction
-// 3 - KCosineMappingFunction
-// ---------------------------------------------------------------------------
-//
-MAlfMappingFunction* AlfLineVisualAttributeSetter::getMappingFunction(
-    AlfAttribute& aAttribute,
-    CAlfEnv& aEnv)
-    {
-    MAlfMappingFunction* func=0;
-    int intValue = aAttribute.realValue(0);
-    
-    switch (intValue)
-        {
-        case 0:
-            {
-            if (aAttribute.getTargetValueCount() == 2)
-                {
-                TRAPD(err1,func = CAlfConstantMappingFunction::NewL(aEnv,
-                                      aAttribute.realValue(1)))
-                throwIfErr(err1);
-                }
-
-            else
-                {
-                TRAPD(err1,func = CAlfConstantMappingFunction::NewL(aEnv))
-                throwIfErr(err1);
-                }
-            }
-        break;
-
-        case 1:
-            {
-            if (aAttribute.getTargetValueCount() == 3)
-                {
-                TRAPD(err1,func = CAlfLinearMappingFunction::NewL(aEnv,
-                                      aAttribute.realValue(1),
-                                      aAttribute.realValue(2)))
-                throwIfErr(err1);
-                }
-
-            else if (aAttribute.getTargetValueCount() == 2)
-                {
-                TRAPD(err1,func = CAlfLinearMappingFunction::NewL(aEnv,
-                                      aAttribute.realValue(1)))
-                throwIfErr(err1);
-                }
-
-            else
-                {
-                TRAPD(err1,func = CAlfLinearMappingFunction::NewL(aEnv))
-                throwIfErr(err1);
-                }
-            }
-        break;
-
-        case 2:
-            {
-            if (aAttribute.getTargetValueCount() == 3)
-                {
-                TRAPD(err1,func = CAlfSineMappingFunction::NewL(aEnv,
-                                      aAttribute.realValue(1),
-                                      aAttribute.realValue(2)))
-                throwIfErr(err1);
-                }
-
-            else if (aAttribute.getTargetValueCount() == 2)
-                {
-                TRAPD(err1,func = CAlfSineMappingFunction::NewL(aEnv,
-                                  aAttribute.realValue(1)))
-                throwIfErr(err1);
-                }
-
-            else
-                {
-                TRAPD(err1,func = CAlfSineMappingFunction::NewL(aEnv))
-                throwIfErr(err1);
-                }
-            }
-        break;
-
-        case 3:
-            {
-            if (aAttribute.getTargetValueCount() == 3)
-                {
-                TRAPD(err1,func = CAlfCosineMappingFunction::NewL(aEnv,
-                                      aAttribute.realValue(1),
-                                      aAttribute.realValue(2)))
-                throwIfErr(err1);
-                }
-
-            else if (aAttribute.getTargetValueCount() == 2)
-                {
-                TRAPD(err1,func = CAlfCosineMappingFunction::NewL(aEnv,
-                                  aAttribute.realValue(1)))
-                throwIfErr(err1);
-                }
-
-            else
-                {
-                TRAPD(err1,func = CAlfCosineMappingFunction::NewL(aEnv))
-                throwIfErr(err1);
-                }
-            }
-        break;
-
-        default:
-            break;
-
-        }
-
-    return func;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Creates and returns a toolkit defined mappping function based on the
-// container contents
-// assumption:
-// The int value-mapping function mapping is the following:
-// 0 - KConstMappingFunction
-// 1 - duiuimodel::nodetypes::KLinearMappingFunction
-// 2 - KSineMappingFunction
-// 3 - KCosineMappingFunction
-// ---------------------------------------------------------------------------
-//
-MAlfMappingFunction* AlfLineVisualAttributeSetter::
-    getMappingFunctionFromContainer(IAlfContainer* aContainer, CAlfEnv& aEnv)
-    {
-    MAlfMappingFunction* func=0;
-
-    if (IAlfVariantType::EInt != aContainer->item(0)->type())
-        {
-        return func;
-        }
-
-    switch (aContainer->item(0)->integer())
-        {
-        case 0:
-            {
-            if (aContainer -> count() == 2)
-                {
-                TRAPD(err1,func = CAlfConstantMappingFunction::NewL(aEnv,
-                                  aContainer->item(1)->real()))
-                throwIfErr(err1);
-                }
-
-            else
-                {
-                TRAPD(err1,func = CAlfConstantMappingFunction::NewL(aEnv))
-                throwIfErr(err1);
-                }
-            }
-        break;
-
-        case 1:
-            {
-            if (aContainer -> count() == 3)
-                {
-                TRAPD(err1,func = CAlfLinearMappingFunction::NewL(aEnv,
-                                      aContainer->item(1)->real(),
-                                      aContainer->item(2)->real()))
-                throwIfErr(err1);
-                }
-
-            else if (aContainer -> count() == 2)
-                {
-                TRAPD(err1,func = CAlfLinearMappingFunction::NewL(aEnv,
-                                  aContainer->item(1)->real()))
-                throwIfErr(err1);
-                }
-
-            else
-                {
-                TRAPD(err1,func = CAlfLinearMappingFunction::NewL(aEnv))
-                throwIfErr(err1);
-                }
-            }
-        break;
-
-        case 2:
-            {
-            if (aContainer -> count() == 3)
-                {
-                TRAPD(err1,func = CAlfSineMappingFunction::NewL(aEnv,
-                                      aContainer->item(1)->real(),
-                                      aContainer->item(2)->real()))
-                throwIfErr(err1);
-                }
-
-            else if (aContainer -> count() == 2)
-                {
-                TRAPD(err1,func = CAlfSineMappingFunction::NewL(aEnv,
-                                  aContainer->item(1)->real()))
-                throwIfErr(err1);
-                }
-
-            else
-                {
-                TRAPD(err1,func = CAlfSineMappingFunction::NewL(aEnv))
-                throwIfErr(err1);
-                }
-            }
-        break;
-
-        case 3:
-            {
-            if (aContainer -> count() == 3)
-                {
-                TRAPD(err1,func = CAlfCosineMappingFunction::NewL(aEnv,
-                                      aContainer->item(1)->real(),
-                                      aContainer->item(2)->real()))
-                throwIfErr(err1);
-                }
-
-            else if (aContainer -> count() == 2)
-                {
-                TRAPD(err1,func = CAlfCosineMappingFunction::NewL(aEnv,
-                                  aContainer->item(1)->real()))
-                throwIfErr(err1);
-                }
-
-            else
-                {
-                TRAPD(err1,func = CAlfCosineMappingFunction::NewL(aEnv))
-                throwIfErr(err1);
-                }
-            }
-        break;
-
-        default:
-            break;
-
-        }
-
-    return func;
-    }
-
-
-// ---------------------------------------------------------------------------
-// If the line visual already has a path set to it, it is retrived.
-// Else a new instance is created
-// ---------------------------------------------------------------------------
-//
-CAlfCurvePath* AlfLineVisualAttributeSetter::getCurvePath(
-    CAlfLineVisual* aLineVisual)
-    {
-    CAlfCurvePath* curve = 0;
-    if(aLineVisual)
-        {
-        curve = aLineVisual->Path();
-
-        if (!curve)
-            {
-            TRAPD(err1,curve = CAlfCurvePath::NewL(aLineVisual->Env()))
-            throwIfErr(err1);
-
-            aLineVisual->SetPath( curve, EAlfHasOwnership);
-            }
-        }
-    return curve;
-    }
-
-// ---------------------------------------------------------------------------
-// Check if data in the attribute is int or float.
-// Return the value as a float value
-// ---------------------------------------------------------------------------
-//
-float AlfLineVisualAttributeSetter::floatOrInt(
-    const AlfAttribute& aAttr,
-    int aIndex)
-    {
-    if (aAttr.type(aIndex) == AlfAttributeValueType::EInt)
-        {
-        return float(aAttr.intValue(aIndex));
-        }
-    else if (aAttr.type(aIndex) == AlfAttributeValueType::EFloat)
-        {
-        return aAttr.realValue(aIndex); //will throw an exception i
-        }
-    else
-        {
-        ALF_THROW ( AlfAttributeException, ECommonError,
-                    "AlfLineVisualAttributeSetter" );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Check if data in the variant type is int or float.
-// Return the value as a float value
-// ---------------------------------------------------------------------------
-//
-float AlfLineVisualAttributeSetter::floatOrIntFromData(IAlfVariantType* aData)
-    {
-    if (IAlfVariantType::EInt == aData->type())
-        {
-        return float(aData->integer());
-        }
-    else if (IAlfVariantType::EReal == aData->type())
-        {
-        return aData->real();; //will throw an exception i
-        }
-    else
-        {
-        ALF_THROW ( AlfAttributeException, ECommonError,
-                    "AlfLineVisualAttributeSetter" );
-        }
-    }
-
-    }// namespace Alf
-// End of file
-
-
-
-
-
--- a/widgetmodel/alfwidgetmodel/src/alfmeshvisualattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,537 +0,0 @@
-/*
-* 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:   Implements attributesetters for MeshVisual.
-*
-*/
-
-
-
-#include "alf/alfattribute.h"
-#include "alf/alfmeshvisualattributesetter.h"
-#include "alf/alfattributevaluetype.h"
-#include <alf/alfvisual.h>
-#include <alf/alfattributeexception.h>
-#include <alf/alfvisualexception.h>
-#include "alf/alfattributecontainer.h"
-#include <libc/string.h>
-#include <osn/ustring.h>
-#include "alf/attrproperty.h"
-#include <uiacceltk/HuiRealPoint.h>
-
-#include <alf/alfmeshvisual.h>
-#include <alf/alftexture.h>
-#include <utf.h>
-#include <alf/alfenv.h>
-#include <alf/alfdataexception.h>
-#include <alf/alfdisplay.h>
-
-#include <alf/alfbrusharray.h>
-#include <alf/alfframebrush.h>
-
-
-#include <alf/alfeventhandler.h>
-#include <alf/alfevent.h>
-#include <osn/alfptrvector.h>
-
-
-using namespace osncore;
-
-using namespace duiuimodel::meshvisualattributes;
-using namespace duiuimodel::commonvisualattributes;
-
-namespace Alf
-    {
-
-class AlfMeshVisualAttributeSetterImpl
-    {
-public:
-    AlfMeshVisualAttributeSetterImpl();
-    ~AlfMeshVisualAttributeSetterImpl();
-public:
-    //Keep track of loaded texture for imagevisuals.
-    //Texture manager doesn't unload the texture from memory untill Env is deleted.
-    //Hence need to unload them once attribute setter is deleted.
-    AlfPtrVector<CAlfTexture> mLoadedTextures;
-    //Env needed to access TextureManager while unloading textures.
-    CAlfEnv* mEnv;
-    };
-
-AlfMeshVisualAttributeSetterImpl::AlfMeshVisualAttributeSetterImpl()
-    {
-    //Do not delete textures here as they may be in use by the visuals that have not been deleted.
-    mEnv = CAlfEnv::Static();
-    mLoadedTextures.setAutoDelete(false);
-    }
-
-AlfMeshVisualAttributeSetterImpl::~AlfMeshVisualAttributeSetterImpl()
-    {
-    //Unload all loaded textures created by this attributesetter to free up the memory.
-    for (int i =0;i<mLoadedTextures.count();i++)
-        {
-        CAlfTexture* Texture = mLoadedTextures[i];
-        mEnv->TextureManager().UnloadTexture(Texture->Id());
-        }
-    mLoadedTextures.clear();
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfMeshVisualAttributeSetter::AlfMeshVisualAttributeSetter()
-    {
-    mImpl.reset(new (EMM) AlfMeshVisualAttributeSetterImpl());
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfMeshVisualAttributeSetter::~AlfMeshVisualAttributeSetter()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-IAlfVariantType* AlfMeshVisualAttributeSetter::getData(AlfAttribute& aAttr, IAlfMap* aData)
-    {
-    IAlfVariantType* data = 0;
-    const char* dataField = aAttr.getDataField();
-    if (dataField)
-        {
-        data = aData->item(UString(dataField));
-        }
-    return data;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-int AlfMeshVisualAttributeSetter::getTime(const AlfAttribute& aAttr, bool aImmediate)
-    {
-    int time = 0;
-    if (!aImmediate)
-        {
-        time = aAttr.getTime();
-        }
-
-    return time;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-
-void AlfMeshVisualAttributeSetter::handleDynamicDataAttribute(CAlfVisual & aVisual,
-        AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData)
-    {
-    if (!doHandleDynamicDataAttribute(aVisual, aAttr, aContainer, aData))
-        {
-        AlfCommonVisualAttributeSetter::handleDynamicDataAttribute(
-            aVisual, aAttr, aContainer, aData);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AlfMeshVisualAttributeSetter::handleStaticDataAttribute(
-    CAlfVisual &aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, IAlfMap* aData)
-    {
-    CAlfMeshVisual* meshVisual = dynamic_cast<CAlfMeshVisual*>(&aVisual);
-    if (!meshVisual)
-        {
-        ALF_THROW ( AlfDataException, ECommonError, "AlfMeshVisualAttributeSetter" )
-        }
-    if (!aData)  ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfMeshVisualAttributeSetter" )
-
-        const char* dataField = aAttr.getDataField();
-    if ( !dataField )  ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfMeshVisualAttributeSetter" )
-
-        IAlfVariantType* data = aData->item ( UString(dataField));
-
-    const char* attrName = aAttr.name();
-
-    if (data)
-        {
-        if (!strcmp(attrName,KMeshType))
-            {
-            if (data->type() == IAlfVariantType::EInt)
-                {
-                int val = data->integer();
-                TRAPD(err,meshVisual->CreateMeshL(val));
-                if (err!=KErrNone)
-                    {
-                    ALF_THROW ( AlfDataException, err, "AlfMeshVisualAttributeSetter")
-                    }
-                }
-            }
-        else if (!strcmp(attrName, KImagePath))
-            {
-            if (data->type() == IAlfVariantType::EString)
-                {
-                TPtrC8 src;
-                src.Set((TUint8*)data->string().getUtf8());
-
-                HandleImagePathAttribute( src, meshVisual, primary );
-                }
-            }
-        else if (!strcmp(attrName,KSecondaryImagePath))
-            {
-            if (data->type() == IAlfVariantType::EString)
-                {
-                TPtrC8 src;
-                src.Set((TUint8*)data->string().getUtf8());
-
-                HandleImagePathAttribute( src, meshVisual, secondary );
-                }
-            }
-        else if (!strcmp(attrName,KSpecularImagePath))
-            {
-            if (data->type() == IAlfVariantType::EString)
-                {
-                TPtrC8 src;
-                src.Set((TUint8*)data->string().getUtf8());
-
-                HandleImagePathAttribute( src, meshVisual, specular );
-                }
-            }
-        else
-            {
-            //check, if dynamic attribute(but set by user as static), if so, set attributes immediately.
-            //If not, the function will call baseclass SetAttributeValue.
-            if (!doHandleDynamicDataAttribute(aVisual, aAttr, aContainer, aData, true))
-                {
-                AlfCommonVisualAttributeSetter::handleStaticDataAttribute(
-                    aVisual, aAttr, aContainer, aData);
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AlfMeshVisualAttributeSetter::handleDynamicAttribute(CAlfVisual &aVisual,
-        AlfAttribute& aAttr, AlfAttributeContainer& aContainer)
-    {
-    if (!doHandleDynamicAttribute(aVisual, aAttr, aContainer))
-        {
-        AlfCommonVisualAttributeSetter::handleDynamicAttribute(
-            aVisual, aAttr, aContainer);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AlfMeshVisualAttributeSetter::handleStaticAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer)
-    {
-    CAlfMeshVisual* meshVisual = dynamic_cast<CAlfMeshVisual*>(&aVisual);
-    if(!meshVisual)
-        {
-        return;
-        }
-    const char* attrName = aAttr.name();
-
-    // meshVisual attributes
-    if (!strcmp(attrName,KMeshType))
-        {
-        int val = aAttr.intValue();
-        TRAPD(err,meshVisual->CreateMeshL(val));
-        if (err!=KErrNone)
-            {
-            ALF_THROW(AlfDataException, err, "AlfMeshVisualAttributeSetter");
-            }
-        }
-    else if (!strcmp(attrName,KImagePath))
-        {
-        TPtrC8 src((TUint8*)aAttr.stringValue().getUtf8());        
-        HandleImagePathAttribute( src, meshVisual, primary );
-        }
-    else if (!strcmp(attrName,KSecondaryImagePath))
-        {
-        TPtrC8 src((TUint8*)aAttr.stringValue().getUtf8());        
-        HandleImagePathAttribute( src, meshVisual, secondary );
-        }
-    else if (!strcmp(attrName,KSpecularImagePath))
-        {
-        TPtrC8 src((TUint8*)aAttr.stringValue().getUtf8());        
-        HandleImagePathAttribute( src, meshVisual, specular );
-        }
-    else
-        {
-        if (!doHandleDynamicAttribute(aVisual, aAttr, aContainer, true))
-            {
-            AlfCommonVisualAttributeSetter::handleStaticAttribute(aVisual, aAttr, aContainer);
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfMeshVisualAttributeSetter::setAttributeValue(
-    CAlfVisual &aVisual,
-    AlfAttributeContainer* aContainer,
-    IAlfMap* aData)
-    {
-    CAlfMeshVisual* meshVisual = dynamic_cast<CAlfMeshVisual*>(&aVisual);
-    if (!meshVisual)
-        {
-        ALF_THROW ( AlfVisualException, EInvalidVisual, "AlfMeshVisualAttributeSetter")
-        }
-
-    AlfCommonVisualAttributeSetter::setAttributeValue(
-        aVisual, aContainer, aData);
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfCommand* AlfMeshVisualAttributeSetter::createCommand(
-    CAlfVisual& /*aVisual*/, AlfAttributeContainer* /*aContainer*/,
-    IAlfMap* /*aData*/, int /*aTransitionTime*/, CAlfVisual* /*aRefVisual*/)
-    {
-    TAlfCommand* cmd = 0;
-    return cmd;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfMeshVisualAttributeSetter::createAndSendCommands(
-    CAlfVisual& aVisual,
-    AlfAttributeContainer* aContainer,
-    CAlfVisual* aRefVisual )
-    {
-
-    // Call the base class implementation.It goes through its loop and checks if there are attributes
-    // that it handles.
-    AlfCommonVisualAttributeSetter::createAndSendCommands(
-        aVisual,
-        aContainer,
-        aRefVisual );
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-
-bool AlfMeshVisualAttributeSetter::doHandleDynamicDataAttribute(CAlfVisual & aVisual,
-        AlfAttribute& aAttr, AlfAttributeContainer& /*aContainer*/, IAlfMap* aData, bool aImmediate)
-    {
-    bool handled = true;
-
-    if (!aData)
-        {
-        ALF_THROW ( AlfDataException, EInvalidVariantDataType, "AlfMeshVisualAttributeSetter" )
-        }
-    else
-        {
-        CAlfMeshVisual* meshVisual = dynamic_cast<CAlfMeshVisual*>(&aVisual);
-        if(!meshVisual)
-            {
-            return false;
-            }
-        const char* attrName = aAttr.name();
-
-        if ( !strcmp( attrName, KSecondaryAlpha ) )
-            {
-            const IAlfVariantType* data = getData(aAttr, aData);
-            if (data && data->type() == IAlfVariantType::EReal)
-                {
-                TAlfTimedValue tVal(data->real(), getTime(aAttr, aImmediate));
-                tVal.SetStyle(aAttr.getInterpolationStyle());
-                tVal.SetMappingFunctionIdentifier( aAttr.getMappingFunctionId() );
-                meshVisual->SetSecondaryAlpha( tVal );
-                }
-            }
-        else if ( !strcmp( attrName, KYawAngle ) )
-            {
-            const IAlfVariantType* data = getData(aAttr, aData);
-            if (data && data->type() == IAlfVariantType::EReal)
-                {
-                TAlfTimedValue tVal(data->real(), getTime(aAttr, aImmediate));
-                tVal.SetStyle(aAttr.getInterpolationStyle());
-                tVal.SetMappingFunctionIdentifier( aAttr.getMappingFunctionId() );
-                meshVisual->SetYawAngle( tVal );
-                }
-            }
-        else if ( !strcmp( attrName, KPitchAngle ) )
-            {
-            const IAlfVariantType* data = getData(aAttr, aData);
-            if (data && data->type() == IAlfVariantType::EReal)
-                {
-                TAlfTimedValue tVal(data->real(), getTime(aAttr, aImmediate));
-                tVal.SetStyle(aAttr.getInterpolationStyle());
-                tVal.SetMappingFunctionIdentifier( aAttr.getMappingFunctionId() );
-                meshVisual->SetPitchAngle( tVal );
-                }
-            }
-        else if ( !strcmp( attrName, KScale ) )
-            {
-            const IAlfVariantType* data = getData(aAttr, aData);
-            if (data && data->type() == IAlfVariantType::EReal)
-                {
-                TAlfTimedValue tVal(data->real(), getTime(aAttr, aImmediate));
-                tVal.SetStyle(aAttr.getInterpolationStyle());
-                tVal.SetMappingFunctionIdentifier( aAttr.getMappingFunctionId() );
-                meshVisual->SetScale( tVal );
-                }
-            }
-        else
-            {
-            handled = false;
-            }
-        }
-
-    return handled;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-bool AlfMeshVisualAttributeSetter::doHandleDynamicAttribute(
-    CAlfVisual &aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& /*aContainer*/, bool aImmediate)
-    {
-    CAlfMeshVisual* meshVisual = dynamic_cast<CAlfMeshVisual*>(&aVisual);
-    if(!meshVisual)
-        {
-        return false;
-        }
-
-    const char* attrName = aAttr.name();
-    bool handled = true;
-
-    // KSecondaryAlpha
-    if (!strcmp(attrName, KSecondaryAlpha))
-        {
-        TAlfTimedValue tVal(aAttr.getSourceValue()->realValue());
-        tVal.SetTarget(aAttr.getTargetValue()->realValue(),getTime(aAttr, aImmediate));
-        tVal.SetStyle( aAttr.getInterpolationStyle() );
-        tVal.SetMappingFunctionIdentifier( aAttr.getMappingFunctionId() );
-        meshVisual->SetSecondaryAlpha( tVal );
-        }
-    //KYawAngle
-    else if (!strcmp(attrName, KYawAngle))
-        {
-        TAlfTimedValue tVal((TReal32)aAttr.getSourceValue()->realValue());
-        tVal.SetTarget((TReal32)aAttr.getTargetValue()->realValue(),getTime(aAttr, aImmediate));
-        tVal.SetStyle( aAttr.getInterpolationStyle() );
-        tVal.SetMappingFunctionIdentifier( aAttr.getMappingFunctionId() );
-        meshVisual->SetYawAngle( tVal );
-        }
-    //KPitchAngle
-    else if (!strcmp(attrName, KPitchAngle))
-        {
-        TAlfTimedValue tVal((TReal32)aAttr.getSourceValue()->realValue());
-        tVal.SetTarget((TReal32)aAttr.getTargetValue()->realValue(),getTime(aAttr, aImmediate));
-        tVal.SetStyle( aAttr.getInterpolationStyle() );
-        tVal.SetMappingFunctionIdentifier( aAttr.getMappingFunctionId() );
-        meshVisual->SetPitchAngle( tVal );
-        }
-    //KScale
-    else if (!strcmp(attrName,KScale))
-        {
-        TAlfTimedValue tVal((TReal32)aAttr.getSourceValue()->realValue());
-        tVal.SetTarget((TReal32)aAttr.getTargetValue()->realValue(),getTime(aAttr, aImmediate));
-        tVal.SetStyle( aAttr.getInterpolationStyle() );
-        tVal.SetMappingFunctionIdentifier( aAttr.getMappingFunctionId());
-        meshVisual->SetScale( tVal );
-        }
-    else // Call the base class implementation also.
-        //It goes through the same loop again and checks if there are attributes that it handles.
-        {
-        handled = false;
-        }
-
-    return handled;
-    }
-
-// -----------------------------------------------------------------------------
-// -----------------------------------------------------------------------------
-//
-void AlfMeshVisualAttributeSetter::HandleImagePathAttribute(
-    const TPtrC8& aStringValue,
-    CAlfMeshVisual* aVisual,
-    imageCategory aImageCategory )
-    {
-    auto_ptr<HBufC> DesC;
-    TRAPD( err, DesC.reset(CnvUtfConverter::ConvertToUnicodeFromUtf8L(aStringValue)));
-    if ( err != KErrNone )
-        {
-        ALF_THROW( AlfDataException, err, "AlfMeshVisualAttributeSetter" );
-        }
-
-    // check if the texture is already loaded
-    const TInt existingTextureId = aVisual->Env().TextureManager().TextureId(*(DesC.get()));
-    if ( existingTextureId != KErrNotFound )
-        {
-        const CAlfTexture* texture = aVisual->Env().TextureManager().Texture( existingTextureId );
-
-        if ( aImageCategory == primary )
-            {
-            aVisual->SetImage(TAlfImage(*texture));
-            }
-        else if ( aImageCategory == secondary )
-            {
-            aVisual->SetSecondaryImage(TAlfImage(*texture));
-            }
-        else // specular image
-            {
-            aVisual->SetSpecularImage(TAlfImage(*texture));
-            }
-        }
-    else
-        {
-        mImpl->mLoadedTextures.resize(mImpl->mLoadedTextures.count()+1);
-
-        CAlfTexture* texture = NULL;
-        TRAP( err, texture = &(aVisual->Env().TextureManager().LoadTextureL(
-            *(DesC.get()), EAlfTextureFlagDefault, KAlfAutoGeneratedTextureId)));
-
-        if ( err != KErrNone )
-            {
-            ALF_THROW( AlfDataException, err, "AlfMeshVisualAttributeSetter" );
-            }
-
-        // This cannot fail because the array has already been resized
-        mImpl->mLoadedTextures.insert(mImpl->mLoadedTextures.count(),texture);
-
-        if ( aImageCategory == primary )
-            {
-            aVisual->SetImage(TAlfImage(*texture));
-            }
-        else if ( aImageCategory == secondary )
-            {
-            aVisual->SetSecondaryImage(TAlfImage(*texture));
-            }
-        else // specular image
-            {
-            aVisual->SetSpecularImage(TAlfImage(*texture));
-            }
-        }
-    }
-
-
-    }// Alf
--- a/widgetmodel/alfwidgetmodel/src/alfmodel.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,487 +0,0 @@
-/*
-* Copyright (c) 2006 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:   Model Class used by widgets.
-*
-*/
-
-
-
-
-//INCLUDES 
-#include <alf/ialfmodelchangeobserver.h> 
-#include <osn/alfptrvector.h>
-#include <memory>
-
-#include <alf/alfmodel.h>
-#include "alf/alfmodeloperation.h"
-#include <alf/alfvarianttype.h>
-#include <alf/alfexceptions.h>
-//#include "alf/alfperf.h"
-#include <osn/osnnew.h>
-
-using osncore::AlfPtrVector;
-using std::auto_ptr;
-
-// Forward declared inside the Alf namespace
-namespace Alf
-    {
-    
-    
-class AlfModelImpl
-    {
-public :
-	AlfModelImpl():mDataSource(0)
-	    {
-	    }
-
-	~AlfModelImpl()
-	    {
-        delete mDataSource;
-	    mObserverArray.clear();
-		}
-		
-    /**
-     * Array of Observers for the Model individual observers not owned
-     */
-    AlfPtrVector<IAlfModelChangeObserver> mObserverArray;
-    
-    /**
-     * Data Source for the Model owned
-     */ 
-    IAlfVariantType* mDataSource;
-    };
-
-
-////////////////////// AlfModel //////////////////////
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-
-// ---------------------------------------------------------------------------
-// Description : Constructor - 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfModel::AlfModel()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Constructor - 
-// Data Source for the model is passed
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfModel::AlfModel( IAlfVariantType* aDataSource )
-    {
-    mData.reset( new(EMM) AlfModelImpl() );
-    mData->mDataSource  = aDataSource;  
-    mData->mObserverArray.setAutoDelete(false);
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Class Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfModel::~AlfModel()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Adds model change observers
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfModel::addModelChangeObserver(
-    IAlfModelChangeObserver& aObserver)
-    {
-    if(mData->mObserverArray.findRef(&aObserver)<0)
-    	{
-	    mData->mObserverArray.resize(mData->mObserverArray.count()+1);
-	    mData->mObserverArray.insert(mData->mObserverArray.count(),
-	                                 &aObserver);
-    	aObserver.modelChanged( *this );
-    	}
-    }
-    
-    
-    
-// ---------------------------------------------------------------------------
-// Description : Removes model change observers
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfModel::removeModelChangeObserver(
-    IAlfModelChangeObserver& aObserver)
-    {
-    for ( int i = 0; i < mData->mObserverArray.count(); ++i )
-    	{
-    	if(mData->mObserverArray[i]==&aObserver)
-    	 {
-    	  mData->mObserverArray.remove( i );
-		  return;
-    	 }
-    	}
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description : Sets the data for the model
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfModel::setData(IAlfVariantType* aData)
-    {
-    if( mData->mDataSource != 0 )
-        {
-        delete mData->mDataSource;
-        mData->mDataSource=0;
-        }
-    mData->mDataSource = aData;
-
-    for ( int i = 0; i < mData->mObserverArray.count(); ++i )
-        {
-        mData->mObserverArray[i]->modelChanged( *this );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Data Source
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfVariantType* AlfModel::data() const
-    {
-    return  mData->mDataSource;
-    }
-
-// ---------------------------------------------------------------------------
-// Description : notifies, that the model is changed.
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT void AlfModel::notifyModelChanged()
-    {
-    //Notify all the observers
-    for ( int i = 0; i < mData->mObserverArray.count(); ++i )
-        {
-        mData->mObserverArray[i]->modelChanged(*this);
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Clears the Data Source
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfModel::clearModel()
-    {
-    //Delete the Model
-    if( mData->mDataSource != 0 )
-        {
-        delete mData->mDataSource;
-        mData->mDataSource=0;        
-        }
-    //Notify all the observers
-    for ( int i = 0; i < mData->mObserverArray.count(); ++i )
-        {
-        mData->mObserverArray[i]->modelChanged(*this);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Static getter for interfaces provided by the widget,
-// the control, or the model.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfInterfaceBase* AlfModel::makeInterface( const IfId& aType)
-    {
-    UString param(aType.mImplementationId);
-    if ( param == IAlfModel::type().mImplementationId )
-        {
-        return this;
-        }
-    return 0;
-    }
-
-//----------------------------------------------------------------------------
-//Add a  number of data fields in the model data. All model change
-//observers are notified about the change.  Internal API not exported
-//-----------------------------------------------------------------------------
-void AlfModel::addData(AlfModelOperation* aAddOperation)
-    {
-    IAlfVariantType* newData = 0;
-    IAlfVariantType* parentData = 0;
-    try
-        {
-        //ALF_PERF_START( perfdata, "AlfModel-AddData-Adding")
-        newData = aAddOperation->getNewData();     
-        parentData  = aAddOperation->parentData(*data());
-        int index = aAddOperation->index();
-        
-        if(parentData->type()== IAlfVariantType::EBranch &&
-               newData->type() == IAlfVariantType::EMap )
-            {
-            // This is actually the same as updating the data,
-            // since we can not have multiple branch or child data maps
-            if ( index == 0 )
-                {
-                // Set data for the branch
-                parentData->branch()->setData( newData->map() );
-                }
-            else if ( index == 1 )
-                {
-                // Set data for the branch children
-                parentData->branch()->setChildData( newData->map() );
-                }
-            }
-        else if(parentData->type()== IAlfVariantType::EMap)
-            {
-            parentData->map()->addItem( newData,
-                                   aAddOperation->newDataName() );
-            }
-        else if(parentData->type()== IAlfVariantType::EContainer )
-            {
-            parentData->container()->addItem(index, newData);
-            }
-        //ALF_PERF_STOP( perfdata, "AlfModel-AddData-Adding")
-        }
-	catch(AlfDataException& e)	        
-        {
-        newData = 0;
-        parentData = 0;
-        ALF_THROW(AlfDataException,EInvalidModelOperation,"AlfModel")
-        // Note the aAddOperation is not deleted. In case of exception the user
-        // should delete this object 
-        }
-    }
-    
-//-----------------------------------------------------------------------------
-//Remove a  number of data fields in the model data. All model change
-//observers are notified about the change.
-//----------------------------------------------------------------------------- 
-void AlfModel::removeData(AlfModelOperation* aRemoveOperation)
-    {
-    IAlfVariantType* parentData = 0;
-
-    try
-        {
-        //ALF_PERF_START( perfdata, "AlfModel-RemoveData-Removing")
-        parentData  = aRemoveOperation->parentData(*data());         
-        int index = aRemoveOperation->index();
-
-        if(parentData->type()== IAlfVariantType::EBranch )
-            {
-            if ( index == 0 )
-                {
-                // Remove the branch data
-                parentData->branch()->setData( 0 );
-                }
-            else if ( index == 1 )
-                {
-                // Remove the branch children data
-                parentData->branch()->setChildData( 0 );
-                }
-            }
-        else if(parentData->type()== IAlfVariantType::EMap)
-            {
-            parentData->map()->removeItem(index);
-            }
-        else if(parentData->type()== IAlfVariantType::EContainer )
-            {
-            parentData->container()->removeItem(index);
-            }    
-        //ALF_PERF_STOP( perfdata, "AlfModel-RemoveData-Removing")
-        }
-    catch(AlfDataException& e)
-        {
-        parentData = 0;
-        ALF_THROW(AlfDataException,EInvalidModelOperation,"AlfModel")
-        // Note the aRemoveOperation is not deleted. In case of exception the
-        // user should delete this object	
-        }
-    }
-
-
-void AlfModel::updateData(AlfModelOperation* aUpdateOperation)
-    {
-    IAlfVariantType* newData = 0;
-    IAlfVariantType* parentData = 0;
-
-    try
-        {
-        //ALF_PERF_START( perfdata, "AlfModel-UpdateData-Updating")
-        newData= aUpdateOperation->getNewData();
-
-        parentData  = aUpdateOperation->parentData(*data());
-        int index = aUpdateOperation->index();
-
-        if(parentData->type()== IAlfVariantType::EBranch &&
-                newData->type() == IAlfVariantType::EMap )
-            {
-            if ( index == 0 )
-                {
-                // Update the branch data
-                parentData->branch()->setData( newData->map() );
-                }
-            else if ( index == 1 )
-                {
-                // Update the data for the branch children
-                parentData->branch()->setChildData( newData->map() );
-                }
-            }
-        else if(parentData->type()== IAlfVariantType::EMap)
-            {
-            parentData->map()->replaceItem(index, newData);
-            }
-        else if(parentData->type()== IAlfVariantType::EContainer )
-            {
-            parentData->container()->replaceItem(index,newData);
-            }
-        //ALF_PERF_STOP( perfdata, "AlfModel-UpdateData-Updating")
-        }
-    catch(AlfDataException& e)
-        {
-        parentData=0;
-        newData=0;
-        ALF_THROW(AlfDataException,EInvalidModelOperation,"AlfModel")
-        //Note the aUpdateOperation is not deleted. In case of exception the user should delete this object
-        }
-    }
-
-//----------------------------------------------------------------------------
-//Add a  number of data fields in the model data. All model change
-//observers are notified about the change. 
-//----------------------------------------------------------------------------- 
-OSN_EXPORT void AlfModel::addData(
-    int aNumContainerIndices, int* aContainerIndices, IAlfVariantType* aData)
-    {
-    auto_ptr<AlfModelOperation> op( AlfModelOperation::create(
-    AlfModelOperation::EOperationAdd,
-    aNumContainerIndices,
-    aContainerIndices,
-    aData ) );
-
-    executeOperation( op.get() );
-    }
-
-//-----------------------------------------------------------------------------
-//Remove a  number of data fields in the model data. All model change
-//observers are notified about the change.
-//----------------------------------------------------------------------------- 
-OSN_EXPORT void AlfModel::removeData(
-    int aNumContainerIndices, int* aContainerIndices)
-    {
-    auto_ptr<AlfModelOperation> op( AlfModelOperation::create(
-    AlfModelOperation::EOperationRemove,
-    aNumContainerIndices,
-    aContainerIndices ) );
-
-    executeOperation( op.get() );
-    }
-
-//-----------------------------------------------------------------------------
-//Remove a  number of data fields in the model data. All model change
-//observers are notified about the change.
-//----------------------------------------------------------------------------- 
-OSN_EXPORT void AlfModel::updateData(
-    int aNumContainerIndices, int* aContainerIndices, IAlfVariantType* aData)
-    {
-    auto_ptr<AlfModelOperation> op( AlfModelOperation::create(
-    AlfModelOperation::EOperationUpdate,
-    aNumContainerIndices,
-    aContainerIndices,
-    aData ) );
-
-    executeOperation( op.get() );
-    }
-
-//-----------------------------------------------------------------------------
-    /**
-    *  Api for executing batch operations
-    * 
-    *  @param aOperationsArray  - An RPOinterArray containing the list of 
-    *                             operations to be executed in batch.
-    *  @since S60 ?S60_version 
-    */  
-//----------------------------------------------------------------------------- 
-OSN_EXPORT void AlfModel::executeOperations(
-    AlfPtrVector<AlfModelOperation>&  aOperationsArray)
-    {
-    int index = 0;
-    int count = aOperationsArray.count();  
-    int obsvrCount = mData->mObserverArray.count();
-    AlfModelOperation* tempOperation=0;
-
-    for ( index = 0; index < obsvrCount; index++ )
-        {
-        mData->mObserverArray[index]->dataChanging( aOperationsArray );
-        }
-
-    for ( index = 0; index < count; index++ )
-        {
-        tempOperation = aOperationsArray[index];
-        switch( tempOperation->operation() )
-            {
-            case AlfModelOperation::EOperationAdd:                 
-                 this->addData( tempOperation );
-                break;
-            case AlfModelOperation::EOperationRemove:                   
-                 this->removeData( tempOperation );
-                break;
-            case AlfModelOperation::EOperationUpdate:
-                 this->updateData( tempOperation );
-            default:
-                break;
-         
-            }
-        }
-
-    for ( index = 0; index < obsvrCount; index++ )
-        {
-        mData->mObserverArray[index]->dataChanged();
-        }
-    }
-
-//-----------------------------------------------------------------------------
-    /**
-    *  Api for executing one operation at a Time
-    * 
-    *  @param aOperation    - An Operation to be executed on the model.
-    *  @since S60 ?S60_version 
-    */  
-//----------------------------------------------------------------------------- 
-OSN_EXPORT void AlfModel::executeOperation(AlfModelOperation* aOperation)
-    {
-    int index = 0;
-    int obsvrCount = mData->mObserverArray.count();
-
-    for ( index = 0; index < obsvrCount; index++ )
-        {
-        mData->mObserverArray[index]->dataChanging( *aOperation );
-        }
-
-    switch(aOperation->operation())
-        {
-        case AlfModelOperation::EOperationAdd:                 
-             this->addData(aOperation);
-            break;
-        case AlfModelOperation::EOperationRemove:                   
-             this->removeData(aOperation);
-            break;
-        case AlfModelOperation::EOperationUpdate:
-             this->updateData(aOperation);
-        default:
-            break;
-        }
-
-    for ( index = 0; index < obsvrCount; index++ )
-        {
-        mData->mObserverArray[index]->dataChanged();
-        }
-    }
-} // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfmodeloperation.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/*
-* Copyright (c) 2006 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:   This file implements the various types of operations to be performed on model.
-*
-*/
-
-
-
-
-//INCLUDES 
-#include "alf/alfmodeloperation.h"
-#include <alf/alfvarianttype.h>
-#include <alf/alfexceptions.h>
-#include <osn/osnnew.h>
-
-using namespace Alf;
-
-
-OSN_EXPORT AlfModelOperation* AlfModelOperation::create(
-    OperationType aOperation, int aNumContainerIndices,
-    int* aContainerIndices, IAlfVariantType* aData )
-    {
-    return new( EMM ) AlfModelOperation(
-        aOperation, aNumContainerIndices, aContainerIndices, aData );
-    }
-
-
-OSN_EXPORT AlfModelOperation* AlfModelOperation::create( OperationType aOperation, int aNumContainerIndices,
-    int* aContainerIndices, IAlfVariantType* aData,
-    const UString& aDataName )
-    {
-    return new( EMM ) AlfModelOperation(
-        aOperation, aNumContainerIndices, aContainerIndices, aData, aDataName );
-    }
-
-AlfModelOperation::AlfModelOperation(
-    OperationType aOperation, int aNumContainerIndices,
-    int* aContainerIndices, IAlfVariantType* aData )
-    {
-    mOperation 				= aOperation ;
-    mNumContainerIndices 	= aNumContainerIndices;
-	mContainerIndices		= aContainerIndices ;
-	mData 					= aData;
-    }
-
-
-AlfModelOperation::AlfModelOperation( OperationType aOperation, int aNumContainerIndices,
-    int* aContainerIndices, IAlfVariantType* aData,
-    const UString& aDataName )
-    {
-	mOperation 				= aOperation ;
-    mNumContainerIndices 	= aNumContainerIndices;
-	mContainerIndices		= aContainerIndices ;
-	mDataName 				= aDataName;    	
-	mData 					= aData;
-    }
-
-
-OSN_EXPORT AlfModelOperation::~AlfModelOperation()
-    {
-    delete mData;
-    delete [] mContainerIndices;
-    }
-
-OSN_EXPORT IAlfVariantType& AlfModelOperation::newData() const
-    {
-	    if(mOperation == EOperationRemove)
-	    {
-	    	ALF_THROW(AlfDataException,EInvalidModelOperation,"AlfModelOperation")
-	    }
-        return *mData;
-    }
-
-OSN_EXPORT const UString& AlfModelOperation::newDataName() const
-    {
-	    if(mOperation == EOperationRemove)
-	    {
-	    	ALF_THROW(AlfDataException,EInvalidModelOperation,"AlfModelOperation")
-	    }
-        return mDataName;
-    }
-
-OSN_EXPORT IAlfVariantType* AlfModelOperation::getNewData()
-    {
-	    if(mOperation == EOperationRemove)
-	    {
-	    	ALF_THROW(AlfDataException,EInvalidModelOperation,"AlfModelOperation")
-	    }
-        IAlfVariantType* data = mData;
-        mData = NULL;
-        return data;
-    }
-
-OSN_EXPORT AlfModelOperation::OperationType AlfModelOperation::operation() const
-    {
-    return mOperation;
-    }
-
-
-OSN_EXPORT IAlfVariantType* AlfModelOperation::parentData( IAlfVariantType& aRoot ) const
-    {
-    try
-    {
-    if ( mNumContainerIndices == 0 )
-        {
-        return NULL;
-        }
-    IAlfVariantType* current = &aRoot;
-    for ( int i = 0; current && i < mNumContainerIndices - 1; ++i )
-        {
-        if ( current->type() == IAlfVariantType::EContainer &&
-             mContainerIndices[i] < current->container()->count() )
-            {
-            current = current->container()->item( mContainerIndices[i] );
-            }
-        else if ( current->type() == IAlfVariantType::EMap &&
-                  mContainerIndices[i] < current->map()->count() )
-            {
-            current = current->map()->item( mContainerIndices[i] );
-            }
-        else if ( current->type() == IAlfVariantType::EBranch )
-            {
-            if ( mContainerIndices[i] == 0 )
-                {
-                // Index 0 is for the parent data
-                current = current->branch()->data();
-                }
-            else if ( mContainerIndices[i] == 1 )
-                {
-                // Index 1 is for the child data
-                current = current->branch()->childData();
-                }
-            }
-        else
-            {
-            // Not found
-            return NULL;
-            }
-        }
-    return current;
-	 }
-	 catch(AlfDataException& aException)
-	 {
-	 	ALF_THROW(AlfDataException,EInvalidContainerOperation,"AlfModelOperation")
-	 }
-    }
-
-OSN_EXPORT int AlfModelOperation::index() const
-    {
-    return mContainerIndices[mNumContainerIndices - 1];
-    }
-
-OSN_EXPORT int AlfModelOperation::numContainerIndices() const
-    {
-    return mNumContainerIndices;
-    }
-
-OSN_EXPORT int AlfModelOperation::containerIndex( int aIndex ) const
-    {
-    return mContainerIndices[aIndex];
-    }
-
--- a/widgetmodel/alfwidgetmodel/src/alfrealvalue.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* 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:   Real Value for attribute Value type.
-*
-*/
-
-
-#include <osn/osnnew.h>
-#include "alfrealvalue.h"
-
-namespace Alf
-    {
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-AlfRealValue::AlfRealValue(float aValue, TAlfUnit aUnit)
-    {
-    mReal = aValue;
-    mUnit = aUnit;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-AlfRealValue::~AlfRealValue()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the real value.
-// ---------------------------------------------------------------------------
-//
-float AlfRealValue::realValue() const
-    {
-    return mReal;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the type of the atrribute value.
-// ---------------------------------------------------------------------------
-//
-AlfAttributeValueType::Type AlfRealValue::type() const
-    {
-    return EFloat;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the unit.
-// ---------------------------------------------------------------------------
-//
-TAlfUnit AlfRealValue::unit() const
-    {
-    return mUnit;
-    }
-
-    } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfrecyclinggridelement.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,203 +0,0 @@
-/*
-* 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:   The implementation for grid element with recycling of visuals supported.
-*
-*/
-
-#include "alf/alfrecyclinggridelement.h"
-#include "alfrecyclinggridelementimpl.h"
-
-#include <alf/alfenv.h>
-#include <alf/alfconstants.h>
-#include <alf/alfcommand.h>
-
-#include <alf/alfgridlayout.h>
-#include <alf/alflayout.h>
-#include <alf/alfcontrol.h>
-#include <alf/alfevent.h>
-
-#include "alf/ialfvisualtemplate.h"
-#include <alf/alfvarianttype.h>
-#include <alf/alfwidgetcontrol.h>
-#include <alf/alfwidgetevents.h>
-#include <osn/ustring.h>
-#include <memory>
-#include <osn/osnnew.h>
-
-using namespace osncore;
-
-namespace Alf
-    {
-
-//----------------------------------------------------------------
-// 1st phase Constructor. Leaves the newly created object
-// on the cleanup stack
-//----------------------------------------------------------------
-OSN_EXPORT AlfRecyclingGridElement::AlfRecyclingGridElement(
-    CAlfWidgetControl& aControl,
-    const char* aName,
-    int aNumColumns,
-    int aNumRows)
-    {
-    construct(aControl,aName);
-
-    mImpl.reset( new( EMM ) AlfRecyclingGridElementImpl(
-                     *this, aNumColumns, aNumRows ) );
-
-    control().addEventHandler(this);
-    }
-
-//----------------------------------------------------------------
-// Class Destructor
-//----------------------------------------------------------------
-OSN_EXPORT  AlfRecyclingGridElement::~AlfRecyclingGridElement()
-    {
-    control().removeEventHandler(*this);
-    }
-
-//----------------------------------------------------------------
-// Sets the fill style for the Recycle grid element
-//----------------------------------------------------------------
-OSN_EXPORT void AlfRecyclingGridElement::setFillStyle(FillStyle aFillStyle, int aFillStyleParam)
-    {
-    mImpl->setFillStyle( aFillStyle, aFillStyleParam );
-    }
-
-
-OSN_EXPORT void AlfRecyclingGridElement::setAnimationTimes(
-    int aScrollingTime, int aFadeInTime, int aFadeInDelay,
-    int aFadeOutTime, int aFadeOutDelay )
-    {
-    mImpl->setAnimationTimes(
-        aScrollingTime, aFadeInTime, aFadeInDelay,
-        aFadeOutTime, aFadeOutDelay );
-    }
-
-
-OSN_EXPORT CAlfVisual* AlfRecyclingGridElement::createVisualTree(
-    IAlfVariantType& aData, uint aDataID, CAlfLayout* aParentLayout, int aLayoutIndex )
-    {
-    return mImpl->createVisualTree(
-               aData, aDataID, aParentLayout, aLayoutIndex );
-    }
-
-// ---------------------------------------------------------------------------
-// OfferEventL - Handle the Event.
-// ?implementation_description
-// ---------------------------------------------------------------------------
-OSN_EXPORT AlfEventStatus AlfRecyclingGridElement::offerEvent( CAlfWidgetControl& aControl, const TAlfEvent& aEvent )
-    {
-    return mImpl->offerEvent( aControl, aEvent )
-                                ?EEventHandled:EEventNotHandled;
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfRecyclingGridElement::setActiveStates( unsigned int aStates )
-    {
-    mImpl->setActiveStates( aStates );
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfWidgetEventHandler.
-// sets event handler data.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfRecyclingGridElement::setEventHandlerData( const AlfWidgetEventHandlerInitData& aData )
-    {
-    mImpl->setEventHandlerData(aData);
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfWidgetEventHandler.
-// returns the eventhandlertype .
-// ---------------------------------------------------------------------------
-//
-IAlfWidgetEventHandler::AlfEventHandlerType AlfRecyclingGridElement::eventHandlerType()
-    {
-    return IAlfWidgetEventHandler::EPresentationEventHandler;
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfWidgetEventHandler.
-// returns eventhandler excecutionphase.
-// ---------------------------------------------------------------------------
-//
-IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase AlfRecyclingGridElement::eventExecutionPhase()
-    {
-    return IAlfWidgetEventHandler::ETunnellingPhaseEventHandler;
-    }
-// returns event handler data.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfWidgetEventHandlerInitData* AlfRecyclingGridElement::eventHandlerData()
-    {
-    return mImpl->eventHandlerData();
-    }
-    
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfInterfaceBase* AlfRecyclingGridElement::makeInterface( const IfId& aType )
-    {
-    IAlfInterfaceBase* ret(0);
-    UString param(aType.mImplementationId);
-
-    if (param == AlfRecyclingGridElement::type().mImplementationId )
-        {
-        ret = static_cast<IAlfElement*>(this);
-        }
-    else if (param == IAlfWidgetEventHandler::type().mImplementationId )
-        {
-        ret = static_cast<IAlfWidgetEventHandler*>(this);
-        }
-    else
-        {
-        ret = AlfElement::makeInterface(aType);
-        }
-    return ret;
-    }
-
-
-OSN_EXPORT bool AlfRecyclingGridElement::accept( CAlfWidgetControl& aControl, const TAlfEvent& aEvent ) const
-    {
-    return mImpl->accept( aControl, aEvent );
-    }
-
-OSN_EXPORT void AlfRecyclingGridElement::createChildVisualTree(
-    IAlfElement* aElement, IAlfVariantType& aChildData,
-    IAlfBranch& aData, int aIndex, uint aDataID )
-    {
-    mImpl->createChildVisualTree( aElement, aChildData, aData, aIndex, aDataID );
-    }
-
-OSN_EXPORT void AlfRecyclingGridElement::removeChildVisualTree(
-    IAlfElement* aElement, IAlfBranch& aData, int aIndex, uint aDataID )
-    {
-    mImpl->removeChildVisualTree( aElement, aData, aIndex, aDataID );
-    }
-
-// ---------------------------------------------------------------------------
-// Description: Do not destroy visuals, because it's done elsewhere.
-// ---------------------------------------------------------------------------
-void AlfRecyclingGridElement::removeAndDestroyVisuals( int aTimeMilliseconds )
-    {
-    mImpl->removeAndDestroyVisuals( aTimeMilliseconds );
-    }
-
-    } //Alf
--- a/widgetmodel/alfwidgetmodel/src/alfrecyclinggridelementimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,755 +0,0 @@
-/*
-* Copyright (c) 2009 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:   Private Implementation file for AlfRecyclingGridElement.
-*
-*/
-
-
-#include "alfrecyclinggridelementimpl.h"
-#include "autoarrayptr.h"
-#include <uiacceltk/HuiLayout.h> // Just for CHuiLayout::EExpandVertically
-#include <alf/alfenv.h>
-#include <alf/alfconstants.h>
-#include <alf/alfcommand.h>
-
-#include <alf/alfgridlayout.h>
-#include <alf/alflayout.h>
-#include <alf/alfcontrol.h>
-#include <alf/alfevent.h>
-
-#include "alf/ialfvisualtemplate.h"
-#include <alf/alfvarianttype.h>
-#include <alf/alfwidgetcontrol.h>
-#include <alf/alfvisualexception.h>
-#include <alf/alfwidgetevents.h>
-#include <osn/ustring.h>
-#include <memory>
-#include <osn/osnnew.h>
-
-using namespace osncore;
-
-_LIT8(KMainLayoutName, "MainLayout");
-_LIT8(KScrollLayoutName, "ScrollLayout");
-
-const int KDefaultScrollingTime = 400;
-
-using namespace Alf;
-
-AlfRecyclingGridElementImpl::AlfRecyclingGridElementImpl(
-    AlfRecyclingGridElement& aOwner,
-    int aNumColumns,
-    int aNumRows) : mOwner( aOwner )
-    {
-    mNumVisibleColumns     = aNumColumns;
-    mNumVisibleRows     = aNumRows;
-    mNumColumns      = 0;
-    mNumRows      = 0;
-    mFillStyle      = AlfRecyclingGridElement::AlfRecyclingGridElement::EColumnsFirst;
-    mFillStyleParam     = 0;
-    mScrollingTime     = KDefaultScrollingTime;
-    mFadeInTime      = KDefaultScrollingTime / 2.f;
-    mFadeInDelay     = KDefaultScrollingTime / 2.f;
-    mFadeOutTime     = KDefaultScrollingTime / 2.f;
-    mFadeOutDelay     = 0;
-    mScrollOffset.iX    = 0;
-    mScrollOffset.iY    = 0;
-    mHorizontalOffset    = false;
-    mVerticalOffset     = false;
-
-    setFillStyle(AlfRecyclingGridElement::AlfRecyclingGridElement::EColumnsFirst, aNumColumns);
-    }
-
-//----------------------------------------------------------------
-// Class Destructor
-//----------------------------------------------------------------
-AlfRecyclingGridElementImpl::~AlfRecyclingGridElementImpl()
-    {
-    }
-
-//----------------------------------------------------------------
-// Sets the fill style for the Recycle grid element
-//----------------------------------------------------------------
-void AlfRecyclingGridElementImpl::setFillStyle(AlfRecyclingGridElement::FillStyle aFillStyle, int aFillStyleParam)
-    {
-    mFillStyle = aFillStyle;
-    mFillStyleParam = aFillStyleParam;
-    mNumRows = mNumVisibleRows;
-    mNumColumns = mNumVisibleColumns;
-    if (mFillStyle == AlfRecyclingGridElement::EColumnsFirst ||
-            (mFillStyle == AlfRecyclingGridElement::ERowsFirst && mFillStyleParam > mNumRows))
-        {
-        mNumRows++; // 1 extra row for scrolling
-        }
-    if (mFillStyle == AlfRecyclingGridElement::ERowsFirst ||
-            (mFillStyle == AlfRecyclingGridElement::EColumnsFirst && mFillStyleParam > mNumColumns))
-        {
-        mNumColumns++; // 1 extra column for scrolling
-        }
-    }
-
-
-void AlfRecyclingGridElementImpl::setAnimationTimes(
-    int aScrollingTime, int aFadeInTime, int aFadeInDelay,
-    int aFadeOutTime, int aFadeOutDelay )
-    {
-    mScrollingTime = aScrollingTime;
-    mFadeInTime = aFadeInTime;
-    mFadeInDelay = aFadeInDelay;
-    mFadeOutTime = aFadeOutTime;
-    mFadeOutDelay = aFadeOutDelay;
-    }
-
-
-CAlfVisual* AlfRecyclingGridElementImpl::createVisualTree(
-    IAlfVariantType& aData, uint aDataID, CAlfLayout* aParentLayout, int aLayoutIndex )
-    {
-    CAlfLayout *main = NULL;
-    CAlfGridLayout *grid = NULL;
-    CAlfVisual* visualTree = mOwner.findVisual(aDataID);
-
-    if ( visualTree )
-        {
-        main = (CAlfLayout *)visualTree;
-        grid = (CAlfGridLayout *)&main->Visual( 0 );
-        }
-    else
-        {
-        main = CAlfLayout::AddNewL((CAlfControl &)mOwner.control());
-        main->SetTagL(KMainLayoutName);
-
-        // Create grid layout
-        grid = CAlfGridLayout::AddNewL((CAlfControl&)mOwner.control(),mNumColumns, mNumRows, main);
-
-        // Scroll layout for additional content,
-        // created by the visual template or other elements.
-        CAlfLayout *scroll = CAlfLayout::AddNewL((CAlfControl&)mOwner.control(), main);
-        scroll->SetTagL(KScrollLayoutName);
-
-        if (mOwner.getVisualTemplate())
-            {
-            mOwner.getVisualTemplate()->createVisualTree(
-                mOwner.control(), aData.branch()->data(), scroll, scroll->Count());
-            }
-        if (aParentLayout)
-            {
-            aParentLayout->Insert(main, aLayoutIndex );
-            }
-        }
-
-    TAlfRealPoint size = main->Size().ValueNow();
-    TAlfRealPoint itemSize(size.iX / (TReal)mNumVisibleColumns,size.iY / (TReal)mNumVisibleRows);
-    TAlfRealPoint gridSize(itemSize.iX * mNumColumns, itemSize.iY * mNumRows);
-    grid->SetSize(gridSize);
-
-    mOwner.addVisualTree(main, aDataID);
-
-    CAlfLayout *parent = NULL;
-    if (mFillStyle == AlfRecyclingGridElement::EColumnsFirst)
-        {
-        // No reordering needed, add directly to the grid layout
-        parent = grid;
-        }
-    CAlfVisual** array = new( EMM ) CAlfVisual*[mNumColumns * mNumRows];
-
-    // Ownership transferred to the autoptr.
-    auto_arrayptr<CAlfVisual*> arrayCleanup( array );
-
-    int childIndex = 0;
-    // Create the children visual trees
-    if ( aData.type() == IAlfVariantType::EBranch &&
-            aData.branch()->childrenCount())
-        {
-        IAlfBranch* branch = aData.branch();
-        TPoint childPos = calculateChildPos(0);
-        int maxColumn = mScrollOffset.iX + mNumColumns;
-        int maxRow = mScrollOffset.iY + mNumRows;
-        for (int i = 0; i < branch->childrenCount() &&
-                ( childPos.iX < maxColumn || childPos.iY < maxRow); ++i)
-            {
-            childPos = calculateChildPos(i);
-            if (childPos.iX >= mScrollOffset.iX && childPos.iX < maxColumn &&
-                    childPos.iY >= mScrollOffset.iY && childPos.iY < maxRow)
-                {
-                IAlfElement* child = mOwner.control().findElement( aData.branch()->childName(i).getUtf8());
-                uint childID = mOwner.control().elementDataId(*child, i, aDataID);
-                array[childIndex] = child->createVisualTree(
-                                        *branch->childData( i ), *branch, i, aDataID, parent, childIndex );
-                childIndex++;
-                }
-
-            }
-        }
-
-    // Reorder and insert to the grid layout
-    if (mFillStyle == AlfRecyclingGridElement::ERowsFirst)
-        {
-        for (int i = 0; i < mNumRows && childIndex >= 0; ++i)
-            {
-            for (int j = 0; j < mNumColumns && childIndex >= 0; ++j)
-                {
-                int err=grid->Append(array[j * mNumRows + i]);
-				if(err!=KErrNone)
-					{
-					ALF_THROW ( AlfVisualException, err, "Grid Append Failed" )
-					}                
-                childIndex--;
-                }
-            }
-        }
-
-    return main;
-    }
-
-
-//----------------------------------------------------------------
-// Gets the Point of  a child at a given index
-//----------------------------------------------------------------
-TPoint AlfRecyclingGridElementImpl::calculateChildPos(int aInd) const
-    {
-    if (mFillStyle == AlfRecyclingGridElement::EColumnsFirst)
-        {
-        return TPoint(aInd % mFillStyleParam, aInd / mFillStyleParam);
-        }
-    else if (mFillStyle == AlfRecyclingGridElement::ERowsFirst)
-        {
-        return TPoint(aInd / mFillStyleParam, aInd % mFillStyleParam);
-        }
-    return TPoint(0, 0);
-    }
-
-//----------------------------------------------------------------
-// Gets the Index of  a child at a given point
-//----------------------------------------------------------------
-int AlfRecyclingGridElementImpl::calculateChildInd(TPoint aPos) const
-    {
-    if (aPos.iX < 0 || aPos.iY < 0)
-        {
-        return -1; // Does not exist
-        }
-    if (mFillStyle == AlfRecyclingGridElement::EColumnsFirst)
-        {
-        if (aPos.iX >= mFillStyleParam)
-            {
-            return -1; // Does not exist
-            }
-        return aPos.iY * mFillStyleParam + aPos.iX;
-        }
-    else if (mFillStyle == AlfRecyclingGridElement::ERowsFirst)
-        {
-        if (aPos.iY >= mFillStyleParam)
-            {
-            return -1; // Does not exist
-            }
-        return aPos.iX * mFillStyleParam + aPos.iY;
-        }
-    return 0;
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// OfferEventL - Handle the Event.
-// ?implementation_description
-// ---------------------------------------------------------------------------
-bool AlfRecyclingGridElementImpl::offerEvent( CAlfWidgetControl& aControl, const TAlfEvent& aEvent )
-    {
-
-    if ( !accept( aControl, aEvent ) )
-        {
-        return false;
-        }
-    uint aEventID = aEvent.CustomParameter();
-
-    if ( aEventID == EEventScrollPrimaryNext )
-        {
-        aEventID = ( mFillStyle == AlfRecyclingGridElement::EColumnsFirst ? EEventScrollDown : EEventScrollRight );
-        }
-    else if ( aEventID == EEventScrollPrimaryPrev )
-        {
-        aEventID = ( mFillStyle == AlfRecyclingGridElement::EColumnsFirst ? EEventScrollUp : EEventScrollLeft );
-        }
-    else if ( aEventID == EEventScrollSecondaryNext )
-        {
-        aEventID = ( mFillStyle == AlfRecyclingGridElement::EColumnsFirst ? EEventScrollRight : EEventScrollDown );
-        }
-    else if ( aEventID == EEventScrollSecondaryPrev )
-        {
-        aEventID = ( mFillStyle == AlfRecyclingGridElement::EColumnsFirst ? EEventScrollLeft : EEventScrollUp );
-        }
-
-    if ((int)aEventID == (int)EEventScrollPageDown )
-        {
-        int iter=0;
-        if ((int)mFillStyle == (int)AlfRecyclingGridElement::EColumnsFirst )
-            {
-            iter = mNumRows-1 ;
-            }
-        else
-            {
-            iter = mNumColumns-1 ;
-            }
-
-        for (int i=0;i<iter;i++)
-            {
-            moveSingleRowOrColumn(aControl , false);
-            }
-        return true;
-        }
-    else if ((int)aEventID == (int)EEventScrollPageUp )
-        {
-        int iter=0;
-        if ((int)mFillStyle == (int)AlfRecyclingGridElement::EColumnsFirst )
-            {
-            iter = mNumRows-1 ;
-            }
-        else
-            {
-            iter = mNumColumns-1 ;
-            }
-
-        for (int i=0;i<iter;i++)
-            {
-            moveSingleRowOrColumn(aControl , true);
-            }
-        return true;
-
-        }
-    else
-        {
-        doPositioningAndScrolling(aControl,aEventID);
-        }
-    return true;
-
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-void AlfRecyclingGridElementImpl::setActiveStates( unsigned int aStates )
-    {
-    mActiveStates = aStates;
-    }
-
-
-void AlfRecyclingGridElementImpl::doPositioningAndScrolling( CAlfWidgetControl& aControl,uint aEventID)
-    {
-    //unsigned int16 id = aEvent.CustomEventData();//Index of the focus element
-
-    CAlfLayout *main = (CAlfLayout *)mOwner.findVisual(0);   //(CAlfLayout *)VisualTreeArray()[0];//root element
-    CAlfGridLayout *grid = (CAlfGridLayout *)&main->Visual(0);
-    CAlfLayout *scroll = (CAlfGridLayout *)&main->Visual(1);
-
-
-    TSize size;
-
-    // Grid/scroll layout movement
-    TPoint layoutMovement(0, 0);
-
-    // New number of the new items to reveal (and old items to hide)
-    int numNewItems = 0;
-
-    // Starting indices and increment step for recycling visuals
-    int recycleSrcInd = 0, recycleDstInd = 0;
-    int recycleIndStep = 0;
-
-    // Starting indices and increment step for fading in/out visuals
-    int fadeInInd = 0, fadeOutInd = 0;
-    int fadeIndStep = 0;
-
-    // Is recycling required?
-    bool recycle = false;
-
-    // Index of the first new child visual
-    TPoint firstNewChildPos(0, 0);
-
-    // Increment step for the new child indices
-    TPoint childPosStep(0, 0);
-
-    if (aEventID == EEventScrollUp) // Up
-        {
-        firstNewChildPos = mScrollOffset + TPoint(mHorizontalOffset ? -1 : 0, -1);
-        childPosStep = TPoint(1, 0);
-        mScrollOffset.iY--;
-        numNewItems = mNumColumns;
-        fadeInInd = mNumColumns - 1;
-        fadeOutInd = grid->Count() - 1;
-        recycleSrcInd = grid->Count() - mNumColumns;
-        recycleIndStep = 1;
-        fadeIndStep = -1;
-        grid->ChildSize(recycleDstInd, size);
-        layoutMovement.iY = -size.iHeight;
-        recycle = !mVerticalOffset;
-        mVerticalOffset = false;
-
-        }
-    else if (aEventID == EEventScrollDown) // Down
-        {
-        firstNewChildPos = mScrollOffset + TPoint(mHorizontalOffset ? -1 : 0, mNumRows - 1);
-        childPosStep = TPoint(1, 0);
-        mScrollOffset.iY++;
-        numNewItems = mNumColumns;
-        recycleDstInd = grid->Count()- 1;
-        fadeInInd = grid->Count() - mNumColumns;
-        fadeIndStep = 1;
-        grid->ChildSize(recycleDstInd, size);
-        layoutMovement.iY = size.iHeight;
-
-        recycle = mVerticalOffset;
-        mVerticalOffset = true;
-
-
-        }
-    else if (aEventID == EEventScrollLeft) // Left
-        {
-        firstNewChildPos = mScrollOffset + TPoint(-1, mVerticalOffset ? -1 : 0);
-        childPosStep = TPoint(0, 1);
-        mScrollOffset.iX--;
-        numNewItems = mNumRows;
-        fadeOutInd = recycleSrcInd = mNumColumns - 1;
-        fadeIndStep = recycleIndStep = mNumColumns;
-        grid->ChildSize(recycleDstInd, size);
-        layoutMovement.iX = -size.iWidth;
-        recycle = !mHorizontalOffset;
-        mHorizontalOffset = false;
-
-        }
-
-    else if (aEventID == EEventScrollRight) // Right
-        {
-        firstNewChildPos = mScrollOffset + TPoint(mNumColumns - 1, mVerticalOffset ? -1 : 0);
-        childPosStep = TPoint(0, 1);
-        mScrollOffset.iX++;
-        numNewItems = mNumRows;
-        fadeInInd = recycleDstInd = mNumColumns - 1;
-        fadeIndStep = recycleIndStep = mNumColumns;
-        grid->ChildSize(recycleDstInd, size);
-        layoutMovement.iX = size.iWidth;
-        recycle = mHorizontalOffset;
-        mHorizontalOffset = true;
-        }
-
-    IAlfVariantType *recyclingGridData = aControl.elementData(mOwner, 0);
-    if ( recyclingGridData->type()!=  IAlfVariantType::EBranch)
-        {
-        return ;
-        }
-
-    aControl.Env().PauseRefresh();
-
-    // Perform scrolling
-    if (aEventID == EEventScrollPageDown || aEventID == EEventScrollPageUp || aEventID == EEventScrollUp || aEventID == EEventScrollDown ||aEventID == EEventScrollLeft || aEventID == EEventScrollRight)
-        {
-        if (recycle)
-            {
-            // Move the layout
-            grid->SetPos(grid->Pos().Target() + layoutMovement);
-            // Recycle visual trees
-            for (int i = 0; i < numNewItems; ++i)
-                {
-                CAlfVisual &visual = grid->Visual(recycleSrcInd + i * recycleIndStep);
-                grid->Reorder(visual, recycleDstInd + i * recycleIndStep);
-                TPoint childPos = firstNewChildPos + TPoint(i * childPosStep.iX, i * childPosStep.iY);
-                int childInd = calculateChildInd(childPos);
-                if (childInd >= 0 && childInd < recyclingGridData->branch()->childrenCount())
-                    {
-                    IAlfVariantType *recyclingGridChildData = recyclingGridData->branch()->childData(childInd);
-
-                    const UString& childName  = recyclingGridData->branch()->childName(childInd);
-                    IAlfElement *childElement = mOwner.control().findElement(childName.getUtf8());
-                    if (childElement!=NULL)
-                        {
-                        int newDataID= mOwner.control().elementDataId(*childElement,childInd, 0);
-                        childElement->replaceVisualTree(
-                            *recyclingGridChildData,newDataID ,childElement->dataID(visual));
-                        }
-                    }
-                }
-            }
-        else
-            {
-            scroll->SetPos(scroll->Pos().Target() - layoutMovement, mScrollingTime);
-            }
-        // Fade in / out
-        for (int i = 0; i < numNewItems; ++i)
-            {
-            // Fade out the old items
-            CAlfVisual &oldItem = grid->Visual(fadeOutInd + i * fadeIndStep);
-            if ( mFadeOutDelay == 0 )
-                {
-                TAlfTimedValue zero;
-                zero.SetValueNow(1.f);
-                zero.SetTarget(0.f, mFadeOutTime);
-                oldItem.SetOpacity(zero);
-                }
-            else
-                {
-                TAlfValueCommand cmd((void*)&oldItem, EAlfValueCommandVisualSetOpacity, 0.f, mFadeOutTime);
-                aControl.Env().Send(cmd, mFadeOutDelay);
-                }
-            // Fade in the new items
-            CAlfVisual &newItem = grid->Visual(fadeInInd + i * fadeIndStep);
-            TAlfTimedValue zero2;
-            zero2.SetValueNow(0.f);
-            zero2.SetTarget(0.f, 0);
-            newItem.SetOpacity(zero2);
-            TPoint childPos = firstNewChildPos + TPoint(i * childPosStep.iX, i * childPosStep.iY);
-            int childInd = calculateChildInd(childPos);
-            IAlfVariantType *recyclingGridChildData = recyclingGridData->branch()->childData(childInd);
-            if (childInd >= 0 && recyclingGridChildData!=NULL)
-                {
-                if ( mFadeInDelay == 0 )
-                    {
-                    TAlfTimedValue one;
-                    one.SetValueNow(0.f);
-                    one.SetTarget(1.f, mFadeInTime);
-                    newItem.SetOpacity(one);
-                    }
-                else
-                    {
-                    TAlfValueCommand cmd((void*)&newItem, EAlfValueCommandVisualSetOpacity, 1.f, mFadeInTime);
-                    aControl.Env().Send(cmd, mFadeInDelay);
-                    }
-                }
-            else
-                {
-                newItem.SetOpacity( TAlfTimedValue(0) );
-                }
-            }
-        // Animate layout scrolling
-        grid->SetPos(grid->Pos().Target() - layoutMovement, mScrollingTime);
-        }
-
-    aControl.Env().ContinueRefresh();
-    }
-
-// ---------------------------------------------------------------------------
-// OfferEventL - Handle the Event.
-// ?implementation_description
-// ---------------------------------------------------------------------------
-bool AlfRecyclingGridElementImpl::moveSingleRowOrColumn( CAlfWidgetControl& aControl, bool aPageUp)
-    {
-    uint aEventID;
-
-    if (!aPageUp)
-        {
-        aEventID = (mFillStyle == AlfRecyclingGridElement::EColumnsFirst ? EEventScrollDown : EEventScrollRight);
-        }
-    else
-        {
-        aEventID = (mFillStyle == AlfRecyclingGridElement::EColumnsFirst ? EEventScrollUp : EEventScrollLeft);
-        }
-
-    doPositioningAndScrolling(aControl,aEventID);
-    return true;
-    }
-
-
-bool AlfRecyclingGridElementImpl::accept( CAlfWidgetControl& /*aControl*/, const TAlfEvent& aEvent ) const
-    {
-
-    uint aEventID;
-    if (!aEvent.IsCustomEvent())
-        {
-        return false;
-        }
-    aEventID = aEvent.CustomParameter();
-    if ( aEventID == EEventScrollPrimaryNext || aEventID == EEventScrollPrimaryPrev ||
-            aEventID == EEventScrollSecondaryNext || aEventID == EEventScrollSecondaryPrev ||
-            aEventID == EEventScrollToFirst || aEventID == EEventScrollToLast ||
-            aEventID == EEventScrollUp || aEventID == EEventScrollDown ||
-            aEventID == EEventScrollLeft || aEventID == EEventScrollRight ||
-            aEventID == EEventScrollPageDown || aEventID == EEventScrollPageUp)
-        {
-        return true;
-        }
-
-    return false;
-    }
-
-
-void AlfRecyclingGridElementImpl::createChildVisualTree(
-    IAlfElement* aElement, IAlfVariantType& aChildData,
-    IAlfBranch& aData, int aIndex, uint aDataID )
-    {
-    int firstVisibleInd=0, lastVisibleInd=0;
-    int firstVisibleDataId=0, lastVisibleDataId=0;
-    CAlfLayout *main = (CAlfLayout *)mOwner.findVisual(0);
-    CAlfGridLayout *grid = (CAlfGridLayout *)&main->Visual(0);
-
-    if (grid->Count() > 0)
-        {
-        CAlfVisual &first  = grid->Visual( 0 );
-        CAlfVisual &last   = grid->Visual( grid->Count() - 1 );
-
-        firstVisibleDataId= aElement->dataID(first);
-        lastVisibleDataId= aElement->dataID(last);
-
-        firstVisibleInd= mOwner.control().dataIdToIndex(*aElement, firstVisibleDataId);
-        lastVisibleInd= mOwner.control().dataIdToIndex(*aElement, lastVisibleDataId);
-
-        // Replace the visual tree
-        IAlfElement* child = mOwner.control().findElement( aData.branch()->childName(0).getUtf8());
-
-
-        if (aData.childrenCount()>= mNumColumns*mNumRows)
-            {
-            // Check that the child index is in the visible area
-            if ( aIndex >= firstVisibleInd && aIndex <= lastVisibleInd )
-                {
-                CAlfVisual &last   = grid->Visual( grid->Count()-1 );
-
-                // Move the last visual to the right position
-                grid->Reorder( last, aIndex - firstVisibleInd);
-
-
-                // Update data IDs
-                child->updateDataIDs( aData, aIndex, 1, aDataID, aDataID );
-
-                int oldElementDataID = aElement->dataID( last );
-                int newElementDataID = mOwner.control().elementDataId( *aElement, aIndex - firstVisibleInd, aDataID );
-
-                child->replaceVisualTree( aChildData, newElementDataID ,oldElementDataID );
-                }
-            }
-        else
-            {
-            int newElementDataID = mOwner.control().elementDataId( *aElement, aIndex - firstVisibleInd, aDataID );
-
-            //Update data IDs
-            child->updateDataIDs( aData, aIndex, 1, aDataID, aDataID );
-
-            //CAlfVisual* newItem = child->createVisualTree(aChildData, aData,aData.childrenCount(), aDataID, static_cast<CAlfLayout*>(grid ));
-            CAlfVisual* newItem = child->createVisualTree(aChildData, newElementDataID,static_cast<CAlfLayout*>(grid ),grid->Count()-1);
-
-            // Move the last visual to the right position
-            grid->Reorder( *newItem, aIndex - firstVisibleInd);
-            }
-        }
-    else
-        {
-        aElement->createVisualTree( aChildData, aData, aIndex, aDataID, grid, aIndex );
-        }
-    }
-
-void AlfRecyclingGridElementImpl::removeChildVisualTree(
-    IAlfElement* aElement, IAlfBranch& aData, int aIndex, uint aDataID )
-    {
-    int firstVisibleInd=0, lastVisibleInd=0;
-    int firstVisibleDataId=0, lastVisibleDataId=0;
-    CAlfLayout *main = (CAlfLayout *)mOwner.findVisual(0);
-    CAlfGridLayout *grid = (CAlfGridLayout *)&main->Visual(0);
-
-    CAlfVisual &first  = grid->Visual( 0 );
-
-    if (aData.childrenCount()-1 > (grid->Count() - 1) )
-        {
-        CAlfVisual &last   = grid->Visual( grid->Count() - 1 );
-        firstVisibleDataId= aElement->dataID(first);
-        lastVisibleDataId= aElement->dataID(last);
-
-        firstVisibleInd= mOwner.control().dataIdToIndex(*aElement, firstVisibleDataId);
-        lastVisibleInd= mOwner.control().dataIdToIndex(*aElement, lastVisibleDataId);
-
-        /*Check that the child index is in the visible area*/
-        if ( aIndex >= firstVisibleInd && aIndex <= lastVisibleInd )
-            {
-            // Find the visual to be removed - it's used to show the next visual tree below the visible area
-            CAlfVisual &removed = grid->Visual( aIndex  - firstVisibleInd );
-
-            // Move it to the end of the grid
-            grid->Reorder( removed, grid->Count() - 1 );
-
-
-            // Replace the visual tree
-            IAlfElement* child = mOwner.control().findElement( aData.branch()->childName(0).getUtf8());
-
-            IAlfVariantType* data =NULL;
-            data = aData.childData( lastVisibleInd + 1 );
-
-            int oldElementDataID = aElement->dataID( removed );
-
-            int newElementDataID ;
-            newElementDataID = mOwner.control().elementDataId( *aElement, lastVisibleInd + 1, aDataID );
-
-            if (data!=NULL)
-                {
-                child->replaceVisualTree(*data, newElementDataID, oldElementDataID);
-                }
-
-            if (aData.childrenCount()-1 <= (grid->Count() - 1 ))
-                {
-                child->removeVisualTree(aData, aData.childrenCount()-1,aDataID);
-                }
-
-            // Update data IDs
-            child->updateDataIDs( aData, aIndex, -1, aDataID, aDataID );
-            }
-        }
-    else
-        {
-        CAlfVisual &last   = grid->Visual(aData.childrenCount()-1);
-        firstVisibleDataId= aElement->dataID(first);
-        lastVisibleDataId= aElement->dataID(last);
-
-        firstVisibleInd= mOwner.control().dataIdToIndex(*aElement, firstVisibleDataId);
-        lastVisibleInd= mOwner.control().dataIdToIndex(*aElement, lastVisibleDataId);
-
-
-        /*Check that the child index is in the visible area*/
-        if ( aIndex >= firstVisibleInd && aIndex <= lastVisibleInd )
-            {
-            // Find the visual to be removed - it's used to show the next visual tree below the visible area
-            CAlfVisual &removed = grid->Visual( aIndex  - firstVisibleInd );
-
-            grid->Reorder( removed, aData.childrenCount()-1);
-
-            // Replace the visual tree
-            IAlfElement* child = mOwner.control().findElement( aData.branch()->childName(0).getUtf8());
-
-            IAlfVariantType* data =NULL;
-            data = aData.childData( aData.childrenCount() -1 );
-
-            // Replace the visual tree
-
-            CAlfVisual &last   = grid->Visual( aData.childrenCount()-1 );
-
-            int oldElementDataID = aElement->dataID( removed );
-
-            int newElementDataID ;
-            newElementDataID = mOwner.control().elementDataId( *aElement, aData.childrenCount()-1, aDataID );
-
-            if (data!=NULL)
-                {
-                child->replaceVisualTree(*data, newElementDataID, oldElementDataID);
-                }
-
-            if (aData.childrenCount()-1 <= (grid->Count() - 1 ))
-                {
-                child->removeVisualTree(aData, aData.childrenCount()-1,aDataID);
-                }
-
-            // Update data IDs
-            child->updateDataIDs( aData, aIndex, -1, aDataID, aDataID );
-            }
-        }
-    }
-// ---------------------------------------------------------------------------
-// Description: Do not destroy visuals, because it's done elsewhere.
-// ---------------------------------------------------------------------------
-void AlfRecyclingGridElementImpl::removeAndDestroyVisuals( int /*aTimeMilliseconds*/ )
-    {
-    }
-
-// End of File.
--- a/widgetmodel/alfwidgetmodel/src/alfreferencetovisual.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* 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:  Visual class for alfred widget model.
-      This class queries the visual by name and ID.
-*
-*/
-
-
-
-
-//INCLUDES
-
-#include "alf/alfreferencetovisual.h"
-#include <alf/alfwidgetcontrol.h>
-#include <alf/alfvisual.h>
-#include "alf/alfelement.h"
-#include <osn/ustring.h>
-#include <osn/osnnew.h>
-#include <alf/alfexceptions.h>
-
-//using namespace osncore;
-
-namespace Alf
-    {
-////////////////////// CAlfReferenceToVisual //////////////////////
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-OSN_EXPORT AlfReferenceToVisual* AlfReferenceToVisual::create(
-    const char *aElementName,
-    const char *aVisualName,
-    bool aUseDataID)
-    {
-    return new( EMM ) AlfReferenceToVisual( aElementName, aVisualName, aUseDataID );
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Constructor
-// ---------------------------------------------------------------------------
-//
-AlfReferenceToVisual::AlfReferenceToVisual(const char *aElementName,
-        const char *aVisualName, bool aUseDataID)
-    {
-    mUseDataID = aUseDataID;
-    mElementName = UString(aElementName);
-    mVisualName = UString(aVisualName);
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Class Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfReferenceToVisual::~AlfReferenceToVisual()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// Description :Find the referenced visual according to the given data ID.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT CAlfVisual *AlfReferenceToVisual::resolve(CAlfWidgetControl &aControl, unsigned int aDataID)
-    {
-    // Find the element.
-    CAlfVisual* visual = NULL;
-    IAlfElement *element = aControl.findElement(mElementName.getUtf8());
-    if (element)
-        {
-        unsigned int dataID = aDataID;
-
-        // Find the visual.
-        visual = element->findVisual(mVisualName.getUtf8(), dataID);
-        if (!visual)
-            {
-            // maybe global visual.
-            visual = element->findVisual(mVisualName.getUtf8(), 0);
-            }
-        }
-    return visual;
-    }
-
-// ---------------------------------------------------------------------------
-// Description :Finds the referenced visual according to the given pointer.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT CAlfVisual *AlfReferenceToVisual::resolve(CAlfWidgetControl &aControl, CAlfVisual* aSourceVisual)
-    {
-    // Find the element.
-    CAlfVisual* visual = NULL;
-    //Get the element with the name stored herein
-    IAlfElement *element = aControl.findElement(mElementName.getUtf8());
-    if (element)
-        {
-        //is passed visual part of the element
-        if (element->contains(*aSourceVisual))
-            {
-            HBufC8 *buf8 = NULL;
-            TRAPD(error,buf8 = aSourceVisual->Tag().AllocL());
-            if (error != KErrNone)
-            	{
-            	ALF_THROW(AlfVisualException,ECommonError,"AlfReferenceToVisual")
-            	}
-
-            UString sourceTag((const char*)buf8->Des().PtrZ());
-            if (mVisualName.compare(sourceTag)==0) //Is this visual same as what was stored herein?
-           		{
-           		visual = aSourceVisual;
-           		}
-            delete buf8;
-            }
-        }
-    return visual;
-    }
-
-    } // namespace Alf
--- a/widgetmodel/alfwidgetmodel/src/alfsort.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-/*
-* Copyright (c) 2006 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:  sorting routine. uses Symbian services: User::QuickSort
-*
-*/
-
-
-//INCLUDES
-#include <e32std.h>
-#include <alf/ialfmap.h>
-#include <alf/alfvarianttype.h>
-#include <alf/ialfsortfunction.h>
-//#include "alf/alfperf.h"
-#include "alfsort.h"
-
-using namespace Alf;
-
-/**
-*  Defines the characteristics of a key used
-*  to access the elements of an array. Used for sort.
-*  @since S60 ?S60_version
-*/
-NONSHARABLE_CLASS(AlfSortKey) : public TKey
-    {
-public:
-
-    /**
-     * constructor
-     *
-     * @since S60 ?S60_version
-     * @param aSortFunction callback interface for sort.
-     * @param aArr array to sort.
-     * @param aCount. count of items in the array.
-     */
-    AlfSortKey( const IAlfSortFunction& aSortFunction,
-    IAlfVariantType** aArr, uint aCount );
-
-    /**
-     * returns data from array
-     *
-     * @since S60 ?S60_version
-     * @param anIndex index to element to return
-     * @return element at index anIndex.
-     */
-    TAny *At(TInt anIndex) const;
-
-    /**
-     * compares two items.
-     *
-     * @since S60 ?S60_version
-     * @param aLeft index to the array for left parameter.
-     * @return the value returned from sort function:
-     *  < 0, if aFirst is less than aSecond,
-     *  > 0 if aFirst is more than aSecond,
-     *  0, if aFirst equals aSecond.
-     */
-    TInt Compare(TInt aLeft, TInt aRight) const;
-private:
-
-    //sort function not owned.
-    const IAlfSortFunction& iSortFunction;
-
-    //array to sort. not owned
-    IAlfVariantType** iArr;
-
-    //count of items in array.
-    uint iCount;
-    };
-
-/**
-*  Defines the basic behaviour for swapping two elements of an array.
-*  Used for sort
-*  @since S60 ?S60_version
-*/
-NONSHARABLE_CLASS(AlfSortSwap) : public TSwap
-    {
-public:
-
-    /**
-     * constructor
-     *
-     * @since S60 ?S60_version
-     * @param aArr array, which elements are to be swapped.
-     * @param aCount. count of items in the array.
-     */
-    AlfSortSwap( IAlfVariantType** aArr, uint aCount );
-
-    /**
-     * swaps two items in the array.
-     *
-     * @since S60 ?S60_version
-     * @param aLeft  left index
-     * @param aRight right index.
-     */
-    void Swap(TInt aLeft, TInt aRight) const;
-private:
-
-    //array, which elements are to be swapped. Not owned.
-    IAlfVariantType** iArr;
-
-    //count of items in the array.
-    uint iCount;
-    };
-
-// ---------------------------------------------------------------------------
-// Description : constructor
-// ---------------------------------------------------------------------------
-//
-AlfSortKey::AlfSortKey( const IAlfSortFunction& aSortFunction,
-                        IAlfVariantType** aArr, uint aCount ) :
-        iSortFunction(aSortFunction), iArr(aArr), iCount(aCount)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Description : return element from index anIndex.
-// ---------------------------------------------------------------------------
-//
-TAny *AlfSortKey::At(TInt anIndex) const
-    {
-    return iArr[anIndex];
-    }
-
-// ---------------------------------------------------------------------------
-// Description : compares two items.
-// ---------------------------------------------------------------------------
-//
-TInt AlfSortKey::Compare(TInt aLeft, TInt aRight) const
-    {
-    const IAlfMap* leftMap = iArr[aLeft]->map();
-    const IAlfMap* rightMap = iArr[aRight]->map();
-    return iSortFunction.compareLeafs( leftMap, rightMap );
-    }
-
-// ---------------------------------------------------------------------------
-// Description : constructor
-// ---------------------------------------------------------------------------
-//
-AlfSortSwap::AlfSortSwap( IAlfVariantType** aArr, uint aCount ) :
-        iArr(aArr), iCount(aCount)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Description : swaps two items
-// ---------------------------------------------------------------------------
-//
-void AlfSortSwap::Swap(TInt aLeft, TInt aRight) const
-    {
-    IAlfVariantType* tmp = iArr[aLeft];
-    iArr[aLeft] = iArr[aRight];
-    iArr[aRight] = tmp;
-    }
-
-// ---------------------------------------------------------------------------
-// Description : The sorting routine.
-// ---------------------------------------------------------------------------
-//
-void AlfSort::sort(IAlfVariantType** aArr, uint aCount,
-                   const IAlfSortFunction& aSortFunction )
-    {
-    //ALF_PERF_START( perfdata, "AlfSort-Sort-Sorting")
-    AlfSortKey key(aSortFunction, aArr, aCount);
-    AlfSortSwap swap(aArr, aCount);
-    User::QuickSort( aCount, key, swap );
-    //ALF_PERF_STOP( perfdata, "AlfSort-Sort-Sorting")
-    }
-
--- a/widgetmodel/alfwidgetmodel/src/alfstringvalue.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* 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:   StringType attribute Value.
-*
-*/
-
-
-#include <osn/osnnew.h>
-#include <alf/alfdataexception.h>
-
-#include "alfstringvalue.h"
-
-namespace Alf
-    {
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-AlfStringValue::AlfStringValue(const UString& aValue)
-    {
-    mString = aValue;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-AlfStringValue::~AlfStringValue()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the string value.
-// ---------------------------------------------------------------------------
-//
-const UString& AlfStringValue::stringValue() const
-    {
-    return mString;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the type of the atrribute value.
-// ---------------------------------------------------------------------------
-//
-AlfAttributeValueType::Type AlfStringValue::type() const
-    {
-    return EString;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the unit.
-// ---------------------------------------------------------------------------
-//
-TAlfUnit AlfStringValue::unit() const
-    {
-    ALF_THROW(AlfDataException,EInvalidAttributeValue,"AlfStringValue")
-    }
-
-    } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alftextvisualattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,661 +0,0 @@
-/*
-* 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:   Implements attributesetters for text.
-*
-*/
-
-
-//widget model includes
-#include "alf/alfattributecontainer.h"
-#include "alf/alfattributevaluetype.h"
-#include "alf/alfattribute.h"
-#include "alf/alftextvisualattributesetter.h"
-#include <alf/alfvisualexception.h>
-#include <alf/alfdataexception.h>
-#include <alf/alfattributeexception.h>
-#include <alf/alfwidgetenvextension.h>
-
-
-//osn includes
-#include <osn/ustring.h>
-
-//alf includes
-#include <alf/alfenv.h>
-#include <alf/alftextvisual.h>
-#include <alf/alftexture.h>
-#include <alf/alfeventhandler.h>
-#include <alf/alfevent.h>
-
-//dui includes
-#include "alf/attrproperty.h"
-
-//other includes
-#include <libc/string.h>
-#include <utf.h>
-
-
-//namespaces
-using namespace osncore;
-using namespace duiuimodel::textvisualattributes;
-using namespace duiuimodel::commonvisualattributes;
-using namespace duiuimodel::layoutattributes;
-
-namespace Alf
-    {
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfTextVisualAttributeSetter::AlfTextVisualAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfTextVisualAttributeSetter::~AlfTextVisualAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Sets Attribute Value. Delegates based on attribute Category.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfTextVisualAttributeSetter::setAttributeValue (
-    CAlfVisual &aVisual,
-    AlfAttributeContainer* aContainer,
-    IAlfMap* aData )
-    {
-    CAlfTextVisual* textVisual = dynamic_cast<CAlfTextVisual*> ( &aVisual );
-
-    if ( !textVisual )
-        {
-        ALF_THROW ( AlfVisualException, EInvalidVisual, "AlfTextVisualAttributeSetter" )
-        }
-
-    AlfCommonVisualAttributeSetter::setAttributeValue(aVisual,
-            aContainer, aData);
-    }
-
-// ---------------------------------------------------------------------------
-// Deprecated
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfCommand* AlfTextVisualAttributeSetter::createCommand (
-    CAlfVisual& /*aVisual*/, AlfAttributeContainer* /*aContainer*/,
-    IAlfMap* /*aData*/, int /*aTransitionTime*/, CAlfVisual* /*aRefVisual*/ )
-    {
-    //deprecated
-    TAlfCommand* cmd = NULL;
-    return cmd;
-    }
-
-// ---------------------------------------------------------------------------
-// Sends a command to Env
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfTextVisualAttributeSetter::createAndSendCommands (
-    CAlfVisual& aVisual,
-    AlfAttributeContainer* aContainer,
-    CAlfVisual* aRefVisual )
-    {
-    //ShadowOpacity command can be sent as a TAlfCustomEventCommand
-
-    AlfCommonVisualAttributeSetter::createAndSendCommands (
-        aVisual, aContainer, aRefVisual );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Sets dynamic attributes to visual
-// ---------------------------------------------------------------------------
-//
-void AlfTextVisualAttributeSetter::handleDynamicAttribute ( CAlfVisual &aVisual, 
-	                                                        AlfAttribute& aAttr, 
-	                                                        AlfAttributeContainer& aContainer)
-    {
-    const char* attrName = aAttr.name();
-    CAlfTextVisual* textVisual = dynamic_cast<CAlfTextVisual*> ( &aVisual );
-    if(textVisual == 0)
-        {
-        return;
-        }
-
-    if ( !strcmp ( attrName, KShadowOpacity ) )
-        {
-        TAlfTimedValue tVal ( ( TReal32 ) aAttr.getSourceValue()->realValue() );
-        tVal.SetTarget ( ( TReal32 ) aAttr.getTargetValue()->realValue(), ( TInt ) aAttr.getTime() );
-        tVal.SetStyle ( aAttr.getInterpolationStyle() );
-        tVal.SetMappingFunctionIdentifier ( aAttr.getMappingFunctionId());
-        textVisual->SetShadowOpacity ( tVal );
-        }
-    else
-        {
-        AlfCommonVisualAttributeSetter::handleDynamicAttribute( aVisual, aAttr, aContainer);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Sets static attributes to visual
-// ---------------------------------------------------------------------------
-//
-void AlfTextVisualAttributeSetter::handleStaticAttribute( CAlfVisual& aVisual, 
-                                                          AlfAttribute& aAttr, 
-                                                          AlfAttributeContainer& aContainer)
-    {
-    const char* attrName = aAttr.name();
-    CAlfTextVisual* textVisual = dynamic_cast<CAlfTextVisual*> ( &aVisual );
-    if (!textVisual)
-        {
-        ALF_THROW ( AlfDataException, ECommonError, "AlfTextVisualAttributeSetter" )
-        }
-
-    if ( !strcmp ( attrName, KLineWrap ) )
-        {
-        textVisual->SetWrapping ( (CAlfTextVisual::TLineWrap)aAttr.intValue() );
-        }
-
-    else if ( !strcmp ( attrName, KLineSpacing ) )
-    	{
-        try
-            {
-            AlfAttribute* linespacingunitsAttr = &aContainer.getAttributeByName ( KLineSpacingUnits );
-
-            //a line spacing units attribute was found
-            textVisual->SetLineSpacing ( aAttr.intValue(), 
-            	(CAlfTextVisual::TLineSpacingUnits)linespacingunitsAttr->intValue() );
-            }
-
-        catch ( AlfDataException& e )
-            {
-            //a line spacing units attribute was not found or it was of invalid data type... Use default...
-            textVisual->SetLineSpacing ( aAttr.intValue() );
-            }
-        }
-
-    else if ( !strcmp ( attrName, KPreconfiguredStyle ) )
-        {
-        try
-            {
-            AlfAttribute* backgroundtypeAttr = &aContainer.getAttributeByName ( KBackgroundType );
-
-            //a background type attribute was found
-            textVisual->SetStyle ( ( TAlfPreconfiguredTextStyle ) aAttr.intValue(), 
-            	(TAlfBackgroundType)backgroundtypeAttr->intValue() );
-            }
-        catch ( AlfDataException& e )
-            {
-            //no background type attribute found or it was of invalid data type... Use default...
-            textVisual->SetStyle ( ( TAlfPreconfiguredTextStyle ) aAttr.intValue() );
-            }
-        }
-    else if ( !strcmp ( attrName, KText ) )
-        {
-        TPtrC8 src;
-        src.Set ( ( TUint8* ) aAttr.stringValue().getUtf8() );
-        HBufC* desC = NULL;
-        
-        TRAPD(err1, desC = CnvUtfConverter::ConvertToUnicodeFromUtf8L ( src ));
-        if (err1 != KErrNone)
-            {
-            ALF_THROW ( AlfDataException, ECommonError, "AlfTextVisualAttributeSetter" )
-            }
-
-        if ( desC )
-            {
-            TRAPD(err2, textVisual->SetTextL ( *desC ));
-            delete desC;
-            if (err2 != KErrNone)
-                {
-                ALF_THROW ( AlfDataException, ECommonError, "AlfTextVisualAttributeSetter" )
-                }
-            }
-        }
-    else if ( !strcmp ( attrName, KTextSkinColorId ) )
-        {
-	     
-	        
-	    // Retrieve Skin Color Table index
-	    try
-	    	{
-	    	// colorIndex will not be null. Throws if attribute not found.
-	    	AlfAttribute* colorIndex = &aContainer.getAttributeByName ( KTextColorSkinIndex );
-	    	setTextSkinColor(*textVisual, aAttr.stringValue().getUtf8(), colorIndex->stringValue().getUtf8()); 
-	    	}
-	    catch(AlfDataException& e)
-	    	{
-	    	// Error in getting the color index. use default value.	  
-	    	setTextSkinColor(*textVisual, aAttr.stringValue().getUtf8());	
-	    	}
-	    	
-        }
-    else if (!strcmp (attrName, KLocalisationText) ) // Support for Localised text
-        {
-        
-        AlfAttribute* langAttr=NULL;
-        AlfAttribute* varArgsAttr=NULL;
-	   
-        // Get the language attribute
-	    try
-	    	{
-	    	// Retrieve the language attribute.	
-	    	langAttr = &aContainer.getAttributeByName ( KLang );
-	    	}
-	    catch(AlfDataException& e)
-	    	{
-	    	// Nothing to do here. just continue.
-	    	}
-	    
-	    // Get the varargs attribute.
-	    try
-	    	{
-	    	varArgsAttr = &aContainer.getAttributeByName ( KVarArgs );
-	    	}
-	    catch(AlfDataException& e)
-	    	{
-	    	// Nothing to do here. just continue.
-	    	}
-	    setLocalisedText(*textVisual,aAttr.stringValue().getUtf8(),langAttr,varArgsAttr);	
-	    
-        }
-    else if ( !strcmp ( attrName, KTextColor ) )
-        {
-        if ( 4 == aAttr.getTargetValueCount() && AlfAttributeValueType::EInt == aAttr.type(0) && 
-             AlfAttributeValueType::EInt == aAttr.type(1) && AlfAttributeValueType::EInt == aAttr.type(2) && 
-             AlfAttributeValueType::EInt == aAttr.type(3))
-            {
-            TRgb color ( aAttr.intValue(0), aAttr.intValue(1), aAttr.intValue(2), aAttr.intValue(3) );
-            textVisual->SetColor( color );
-            }
-        else
-            {
-            ALF_THROW ( AlfAttributeException, EInvalidAttribute, "AlfTextVisualAttributeSetter" );
-            }
-        }
-    else if ( !strcmp ( attrName, KTextColorSkinIndex ) )
-        {
-        // Do nothing.
-        // This attribute will be used in some other iteration in the
-        // else-if block that uses KTextSkinColorId
-        }
-    else if ( !strcmp ( attrName, KBackgroundType ) )
-        {
-        // Can not do anything with background type alone.
-        // Do nothing.
-        // This attribute will be used in some other iteration in the
-        // else-if block that uses KPreconfiguredStyle
-        }
-    else if ( !strcmp ( attrName, KLineSpacingUnits ) )
-        {
-        // Can not do anything with line spacing units alone.
-        // Do nothing.
-        // This attribute will be used in some other iteration in the
-        // else-if block that uses KLineSpacing
-        }
-    else if ( !strcmp ( attrName, KStyle ) )
-        {
-        textVisual->SetTextStyle ( aAttr.intValue() );
-        }
-    else if ( !strcmp ( attrName, KFont ) )
-        {
-        //not supported, no API in textvisual
-        }
-    else if ( !strcmp ( attrName, KVerticalAlign ) )
-        {
-        AlfAttribute* horzalignAttr = &aContainer.getAttributeByName ( KHorizontalAlign );
-        //will throw if attribute is not found
-
-        textVisual->SetAlign ( ( TAlfAlignHorizontal ) horzalignAttr->intValue(),
-                               ( TAlfAlignVertical ) aAttr.intValue() );
-        }
-    else if ( !strcmp ( attrName, KHorizontalAlign ) )
-        {
-        // Do nothing.
-        // This attribute will be used in some other iteration in the
-        // else-if block that uses KVerticalAlign
-        }
-    else if ( !strcmp ( attrName, KMaxLineCount ) )
-        {
-        if (aAttr.type(0) == AlfAttributeValueType::EInt)
-            {
-            textVisual->SetMaxLineCount ( aAttr.intValue() );
-            }
-        else if (aAttr.type(0) == AlfAttributeValueType::EFloat)
-            {
-            textVisual->SetMaxLineCount ( aAttr.realValue() );
-            }
-        else
-            {
-            ALF_THROW ( AlfAttributeException, EInvalidAttribute, "AlfTextVisualAttributeSetter" );            
-            }
-        
-        }
-    else if ( !strcmp ( attrName, KEnableShadow ) )
-        {
-        int enableShadow = aAttr.intValue();
-        TBool flag = ETrue;                      //Assume true for any non-zero value.
-        if ( 0 == enableShadow )
-        	{
-        	flag = EFalse;
-        	}
-        textVisual->EnableShadow ( flag );
-        }
-    else
-        {
-        AlfCommonVisualAttributeSetter::handleStaticAttribute(
-            aVisual, aAttr, aContainer);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Sets dynamic attributes to visual from data
-// ---------------------------------------------------------------------------
-//
-void AlfTextVisualAttributeSetter::handleDynamicDataAttribute (
-    CAlfVisual &aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, IAlfMap* aData )
-    {
-    //Shadow opacity can be supported
-    AlfCommonVisualAttributeSetter::handleDynamicDataAttribute(aVisual, aAttr,
-            aContainer, aData);
-    }
-
-// ---------------------------------------------------------------------------
-// Sets static attributes to visual  from data
-// ---------------------------------------------------------------------------
-//
-void AlfTextVisualAttributeSetter::handleStaticDataAttribute ( CAlfVisual &aVisual, AlfAttribute& aAttr, AlfAttributeContainer& aContainer, IAlfMap* aData )
-    {
-    const char* dataField = aAttr.getDataField();
-
-	// throw if datafield name or data is not set
-    if ( !dataField )
-    	{
-    	ALF_THROW ( AlfDataException, ECommonError, "AlfTextVisualAttributeSetter" )
-    	}
-
-    if (!aData)
-    	{
-    	ALF_THROW ( AlfDataException, ECommonError, "AlfTextVisualAttributeSetter" )
-    	}
-
-    IAlfVariantType* data = aData->item ( UString(dataField));
-    const char* attrName = aAttr.name();
-
-    CAlfTextVisual* textVisual = dynamic_cast<CAlfTextVisual*> ( &aVisual );
-    if(textVisual == 0)
-        {
-        ALF_THROW ( AlfDataException, ECommonError, "AlfTextVisualAttributeSetter" )
-        }
-
-    if ( !strcmp ( attrName, KLineWrap ) )
-        {
-        if ( data && data->type() == IAlfVariantType::EInt )
-            {
-            textVisual->SetWrapping ( ( CAlfTextVisual::TLineWrap ) data->integer() );
-            }
-        }
-    else if ( !strcmp ( attrName, KText ) )
-        {
-        if ( data && data->type() == IAlfVariantType::EString )
-            {
-            TPtrC8 src;
-            src.Set ( ( TUint8* ) data->string().getUtf8() );
-            HBufC* desC = NULL;
-            TRAPD(err1, desC = CnvUtfConverter::ConvertToUnicodeFromUtf8L ( src ));
-            if (err1 != KErrNone)
-            	{
-            	ALF_THROW ( AlfDataException, ECommonError, "AlfTextVisualAttributeSetter" )
-            	}
-
-            if ( desC )
-                {
-                TRAPD(err2, textVisual->SetTextL ( *desC ));
-                delete desC;
-                if (err2 != KErrNone) 
-                	{
-                	ALF_THROW ( AlfDataException, ECommonError, "AlfTextVisualAttributeSetter" )
-                	}
-                }
-            }
-        }
-    else if (!strcmp (attrName, KLocalisationText) ) // Support for Localised text
-        {           
-            
-        AlfAttribute* langAttr=NULL;
-        AlfAttribute* varArgsAttr=NULL;            
-	        
-	    	// Retrieve the language attribute.
-	    	if ( data && data->type() == IAlfVariantType::EString )
-	    		{   		
-	    	
-	    		try
-	    			{
-	    			langAttr = &aContainer.getAttributeByName ( KLang );
-	    			}
-	    		catch(AlfDataException& e)
-	    			{
-	    			// Nothing to do here .Just continue.
-	    			}
-	    		try
-	    			{
-	    			varArgsAttr = &aContainer.getAttributeByName ( KVarArgs );	    			
-	    			}
-	    		catch(AlfDataException& e)
-	    			{
-	    			// Nothing to do here .Just continue.
-	    			}
-	    		setLocalisedText(*textVisual, data->string().getUtf8(),langAttr,varArgsAttr); 
-	    		}	    		
-	    		
-        }
-
-    else if ( !strcmp ( attrName, KTextColor ) )
-        {
-        if ( data && data->type() == IAlfVariantType::EContainer )
-            {
-            IAlfContainer* dataContainer = data->container();
-
-            if ( 4 != dataContainer -> count() )
-            	{
-            	ALF_THROW ( AlfDataException, EInvalidAttribute, "AlfTextVisualAttributeSetter" )
-            	}
-
-            IAlfVariantType* red = dataContainer->item ( 0 ); //red
-            IAlfVariantType* green = dataContainer->item ( 1 ); //green
-            IAlfVariantType* blue = dataContainer->item ( 2 ); //blue
-            IAlfVariantType* alpha = dataContainer->item ( 3 ); //alpha
-
-            if ( red && IAlfVariantType::EInt == red->type() && 
-                 green && IAlfVariantType::EInt == green->type() && 
-                 blue && IAlfVariantType::EInt == blue->type() && 
-                 alpha && IAlfVariantType::EInt == alpha->type() )
-                {
-                TRgb color ( red->integer(), green->integer(), blue->integer(), alpha->integer() );
-                textVisual->SetColor ( color );
-                }
-            }
-        }
-    else if ( !strcmp ( attrName, KTextSkinColorId ) )
-        {
-        if ( data && data->type() == IAlfVariantType::EString )
-            {
-            
-            try
-    			{
-		 		// Retrieve skin color table index			
-    			AlfAttribute* colorIndex = &aContainer.getAttributeByName(
-					KTextColorSkinIndex); // colorIndex will not be null. Throws if not found.
-					
-				const char* colorIndexDataField = colorIndex->getDataField();
-				IAlfVariantType* colorIndexData =
-					aData->item(UString(colorIndexDataField));
-				if(colorIndexData && colorIndexData->type() == IAlfVariantType::EString)
-					{
-    				setTextSkinColor(*textVisual, data->string().getUtf8(),
-    								 colorIndexData->string().getUtf8());
-    				}
-    			}
-    		catch(AlfDataException& e)
-    			{
-    			// No color index found. Use default value. 	
-    			setTextSkinColor(*textVisual, data->string().getUtf8());	    				
-    			}
-    			
-            }
-        }
-    else if ( !strcmp ( attrName, KTextColorSkinIndex ) )
-        {
-        // Handled in KTextSkinColorId case above.
-        }
-    else if ( !strcmp ( attrName, KPreconfiguredStyle ) )
-        {
-        try
-            {
-            AlfAttribute* backgroundtypeAttribute = &aContainer.getAttributeByName ( KBackgroundType );
-            const char* backgroundDataField = backgroundtypeAttribute->getDataField();
-            IAlfVariantType* backgroundData = aData->item ( UString(backgroundDataField) );
-
-            if ( data && data->type() == IAlfVariantType::EInt && backgroundData && backgroundData->type() == IAlfVariantType::EInt )
-                {
-                //a valid background type attribute was found
-                textVisual->SetStyle ( ( TAlfPreconfiguredTextStyle ) data->integer(), ( TAlfBackgroundType ) data->integer() );
-                }
-            }
-        catch ( AlfDataException& e )
-            {
-            if ( data && data->type() == IAlfVariantType::EInt )
-                {
-                //no valid background type attribute found... Use default...
-                textVisual->SetStyle ( ( TAlfPreconfiguredTextStyle ) data->integer() );
-                }
-            }
-        }
-    else if ( !strcmp ( attrName, KBackgroundType ) )
-        {
-        // Can not do anything with background type alone.
-        // Do nothing.
-        // This attribute will be used in some other iteration in the
-        // else-if block that uses KPreconfiguredStyle
-        }
-    else if ( !strcmp ( attrName, KLineSpacing ) )
-        {
-        try
-            {
-            AlfAttribute* linespacingunitsAttribute = &aContainer.getAttributeByName ( KBackgroundType );
-            const char* linespacingunitsDataField = linespacingunitsAttribute->getDataField();
-            IAlfVariantType* linespacingunitsData = aData->item ( UString(linespacingunitsDataField) );
-
-            if ( data && data->type() == IAlfVariantType::EInt && linespacingunitsData && linespacingunitsData->type() == IAlfVariantType::EInt )
-                {
-                //a valid line spacing units attribute was found
-                textVisual->SetLineSpacing ( data->integer(), ( CAlfTextVisual::TLineSpacingUnits ) linespacingunitsData->integer() );
-                }
-            }
-        catch ( AlfDataException& e )
-            {
-            if ( data && data->type() == IAlfVariantType::EInt )
-                {
-                //a valid line spacing units attribute was not found... Use default...
-                textVisual->SetLineSpacing ( data->integer() );
-                }
-            }
-        }
-    else if ( !strcmp ( attrName, KLineSpacingUnits ) )
-        {
-        // Can not do anything with line spacing units alone.
-        // Do nothing.
-        // This attribute will be used in some other iteration in the
-        // else-if block that uses KLineSpacing
-        }
-    else if ( !strcmp ( attrName, KStyle ) )
-        {
-        if ( data && data->type() == IAlfVariantType::EInt )
-            {
-            textVisual->SetTextStyle ( data->integer() );
-            }
-        }
-    else if ( !strcmp ( attrName, KFont ) )
-        {
-        //not supported, no API in textvisual
-        }
-    else if ( !strcmp ( attrName, KVerticalAlign ) )
-        {
-        //will throw if horizontal align is not found
-        AlfAttribute* horzAlignAttribute = &aContainer.getAttributeByName ( KHorizontalAlign );
-        const char* horzAlignDataField = horzAlignAttribute->getDataField();
-        IAlfVariantType* horzAlignData = aData->item ( UString(horzAlignDataField) );
-
-        if ( data && data->type() == IAlfVariantType::EInt && horzAlignData && horzAlignData->type() == IAlfVariantType::EInt )
-            {
-            textVisual->SetAlign ( ( TAlfAlignHorizontal ) horzAlignData->integer(),
-                                   ( TAlfAlignVertical ) data->integer() );
-            }
-        }
-    else if ( !strcmp ( attrName, KHorizontalAlign ) )
-        {
-        // Do nothing.
-        // This attribute will be used in some other iteration in the
-        // else-if block that uses KVerticalAlign
-        }
-    else if ( !strcmp ( attrName, KMaxLineCount ) )
-        {
-        if ( data && data->type() == IAlfVariantType::EInt )
-            {
-            textVisual->SetMaxLineCount ( data->integer() );
-            }
-
-        }
-    else if ( !strcmp ( attrName, KEnableShadow ) )
-        {
-        if ( data && data->type() == IAlfVariantType::EBool )
-            {
-            textVisual->EnableShadow ( data->boolean() );
-            }
-        }
-    else
-        {
-        AlfCommonVisualAttributeSetter::handleStaticDataAttribute (
-            aVisual, aAttr, aContainer, aData );
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Localisation attribute setter helper method. Helper Method.
-// ---------------------------------------------------------------------------
-//    
-void AlfTextVisualAttributeSetter::setLocalisedText(CAlfVisual& /*aVisual*/,const char* /*aLocId*/,AlfAttribute* /*aLangAttr*/,AlfAttribute* /*aVarArgsAttr*/)
-	{
- 	}
-
-
-
-// ---------------------------------------------------------------------------
-// Helper Method for setting skin color.
-// ---------------------------------------------------------------------------
-//
-void AlfTextVisualAttributeSetter::setTextSkinColor(CAlfTextVisual& /*aTextVisual*/, const Utf8* /*aColorTable*/, 
-																const char* /*aColorIndex*/)
-	{
-	}
-
-    } // namespace Alf
-    
-// End of file
--- a/widgetmodel/alfwidgetmodel/src/alfthememanagerutil.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2006-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:  Implementation of AlfThemeManagerUtil class, the class
-*                which is an interface to the ThemeManager component
-*
-*/
-
-#include "alf/alfthememanagerutil.h"
-
-
-#include "tm/themeitemmapper.h"
-#include "tm/thememanager.h"
-#include "tm/themeexception.h"
-using namespace Alf;
-
-#include <UTF.h>
-
-namespace Alf
-    {
-   
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfThemeManagerUtil::AlfThemeManagerUtil()
-    {
-    mThemeManager=NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfThemeManagerUtil::~AlfThemeManagerUtil()
-    {
-	if(mThemeManager)
-		{
-    	ThemeManager::deleteThemeManager();
-    	mThemeManager = NULL;
-		}
-    }
-
-// ---------------------------------------------------------------------------
-// Get Skin Image parameters.  Given the logical name this method returns the skinid.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAknsItemID AlfThemeManagerUtil::getSkinId(const Utf8* aSkinLogicalName)
-	{
-
-	TAknsItemID skinid;
-	skinid.Set(0,0);
-	
-	// Create ThemeManager instance
-	if(!mThemeManager)	
-		{			
-		mThemeManager = ThemeManager::createThemeManager();
-		}
-		
-	// Query ThemeManager for an ItemMapper interface
-	IThemeItemMapper* itemMapper=NULL;	
-	// Get Image data	
-	ThemeItemDef item;
-	 
-	try
-		{		
-		mThemeManager->getItemMapperInterface(&itemMapper);
-		UString alfSkinLogicalname(aSkinLogicalName);
-		if(itemMapper)
-			{		
-			item= itemMapper->findItem(alfSkinLogicalname);
-			}				
-		}              
-	catch(ThemeException& ex)
-		{	
-		if(itemMapper)
-			mThemeManager->releaseItemMapperInterface();
-		throw ex;
-		}
-		
-	skinid.iMajor= item.getMajorId(); 
-	skinid.iMinor= item.getMinorId();
-	
-	// Done with ItemMapper interface, release it
-	if(itemMapper)
-		mThemeManager->releaseItemMapperInterface();
-	return skinid;
-	}
-
-    }
--- a/widgetmodel/alfwidgetmodel/src/alfvarianttype.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1646 +0,0 @@
-/*
-* Copyright (c) 2006 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:   Impelements Variants for widgetmodel data.
-*
-*/
-
-
-
-//INCLUDES
-
-
-#include <alf/ialfmodelbase.h>
-#include <osn/ustring.h>
-#include <osn/alfptrvector.h>
-#include <alf/alfvarianttype.h>
-#include <osn/osncommon.h>
-#include <osn/ustring.h>
-#include <alf/alfexceptions.h>
-//#include "alf/alfperf.h"
-#include <osn/osnnew.h>
-#include "alfsort.h"
-
-using osncore::UString;
-using osncore::AlfPtrVector;
-
-using std::auto_ptr;
-
-
-// Forward declared inside the Alf namespace
-namespace Alf
-    {
-
-    union UData
-        {
-        bool    mBool;                                // Boolean
-        int     mInt;                                // 32-bit integer
-        uint    mUint;                                // 32-bit unsigned integer
-        double  mReal;                                // 64-bit real
-        UString*  mString;        
-        Alf::IAlfModelBase* mBasePtr;               
-        };
-
-
-
-//Internal class used to store the VariantData type
-//These classes are not exposed.
-class AlfVariantDataImpl
-{
-public:
-    //Default Constructor
-    AlfVariantDataImpl()
-    {
-        mData.mString = NULL;
-    }
-    //Destructor
-    ~AlfVariantDataImpl()
-    {
-        if(mType == IAlfVariantType::EString)
-        {
-            if(mData.mString)
-            {
-                delete mData.mString;
-                mData.mString = NULL;
-            }
-        }
-        if(mType == IAlfVariantType::ECustomData)
-        {
-            if(mData.mBasePtr)
-            {
-                delete mData.mBasePtr;
-                mData.mBasePtr = NULL;
-            }
-        }        
-
-    }
-    //Union that actually stores the variant Data
-    uint8 mType;
-    UData mData;    
-};    
-
-
-//Internal class used to store the Conatiner Data type
-//These classes are not exposed.
-class AlfContainerDataImpl 
-{
-public:    
-    //Default Constructor
-    AlfContainerDataImpl()
-    {
-        mArray.setAutoDelete();
-    }
-    //Destructor
-    ~AlfContainerDataImpl()
-    {
-        mArray.clear();
-    }
-    AlfPtrVector<IAlfVariantType> mArray;
-    
-};
-
-
-
-//Internal class used to store the Conatiner Data type
-//These classes are not exposed.
-class MapItem
-{
-public:
-    //Default  Constructor
-    MapItem():mData(0),mName(0)
-    {
-        
-    }
-    //Destructor
-    ~MapItem()
-    {
-        if(mData)
-        {
-            delete mData;
-            mData = NULL;
-        }
-        if(mName)
-        {
-            delete mName;
-            mName = NULL;
-        }
-    }
-    IAlfVariantType*    mData;
-    UString*         mName;
-};
-    
-//Internal class used to store the Branch Data type
-//These classes are not exposed.
-class AlfMapDataImpl
-{
-public:
-    AlfMapDataImpl()
-    {
-        
-    }
-    ~AlfMapDataImpl()
-    {
-        
-        mArray.clear();
-    }
-    //Array to hold the Map Item
-    AlfPtrVector<MapItem> mArray;
-};    
-
-//owned
-class AlfBranchDataImpl 
-{
-public:
-    AlfBranchDataImpl():mCurrentData(0),mChildData(0)
-    {
-        
-    }
-    ~AlfBranchDataImpl()
-    {
-        if(mCurrentData)
-        {    
-            delete mCurrentData;
-            mCurrentData=NULL;    
-        }
-        
-        if(mChildData)
-        {
-            delete mChildData;
-            mChildData=NULL;    
-        }    
-    }    
-    IAlfMap* mCurrentData;
-    IAlfMap* mChildData;    
-};
-
-
-////////////////////// AlfVariantType //////////////////////
-
-// ---------------------------------------------------------------------------
-// Description :Initialize the VarianType with an Unsigned 8 bit Integer Value 
-// ---------------------------------------------------------------------------
-//
-
-void AlfVariantType::construct(Type aType)
-    {   
-    mVarData.reset( new (EMM) AlfVariantDataImpl() );
-    mVarData->mType = aType;    
-    }
-
-OSN_EXPORT AlfVariantType::AlfVariantType() 
-    {    
-    mVarData.reset( new (EMM) AlfVariantDataImpl() );
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Parameterized Constructor for an Integer
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT AlfVariantType::AlfVariantType(IAlfModelBase* aValue)
-    {
-    construct(ECustomData);
-    mVarData->mData.mBasePtr = aValue;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description : Parameterized Constructor for an Integer
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT AlfVariantType::AlfVariantType(const UString& aValue)
-    {
-    construct(EString);
-    mVarData->mData.mString = new(EMM) UString(aValue);
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// Description : Parameterized Constructor for an Integer value
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT AlfVariantType::AlfVariantType(const int& aValue)
-    {
-    construct(EInt);
-    mVarData->mData.mInt  = aValue;    
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description : Parameterized Constructor for an Unsigned Int  value
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT AlfVariantType::AlfVariantType(const uint& aValue)
-    {
-    construct(EUint);
-    mVarData->mData.mUint = aValue;      
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Parameterized Constructor for an Double value
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT AlfVariantType::AlfVariantType(const double& aValue)
-    {
-    construct(EReal);
-    mVarData->mData.mReal  = aValue;
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Parameterized Constructor for an Bool  value
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT AlfVariantType::AlfVariantType(const bool& aValue)
-    {
-    construct(EBool);
-    mVarData->mData.mBool  = aValue;        
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description : Class Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfVariantType::~AlfVariantType()
-    {
-    }
-  
-// ---------------------------------------------------------------------------
-// Description : Sets  Data to be stored in the Variant Data Type
-// ---------------------------------------------------------------------------
-// 
-OSN_EXPORT void AlfVariantType::set(IAlfVariantType& aValue)
-    {
-	if( mVarData->mType == EString)
-		{
-		delete mVarData->mData.mString;
-        mVarData->mData.mString = 0;
-		}
-		
-    // Set the type
-    mVarData->mType = aValue.type();
-
-    // Copy/create the new data
-    if (aValue.type() == EBool)
-        {
-        mVarData->mData.mBool = aValue.boolean();
-        }
-    else if (aValue.type() <= EInt)
-        {
-        mVarData->mData.mInt = aValue.integer();
-        }
-    else if (aValue.type() <= EUint)
-        {
-        mVarData->mData.mUint = aValue.uinteger();
-        }
-    else if (aValue.type() <= EReal)
-        {
-        mVarData->mData.mReal = aValue.real();
-        }
-    else if (aValue.type() == EString)
-        {
-        mVarData->mData.mString = new (EMM) UString(aValue.string());
-        }
-    else if (aValue.type() == ECustomData)
-        {
-        mVarData->mData.mBasePtr = aValue.customData();
-        }        
-    else
-        {
-        ALF_THROW(AlfDataException,EInvalidVariantDataType,"AlfVariantType")
-        }         
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Gets the Type of the Variant Data Type
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfVariantType::Type AlfVariantType::type() const
-    {
-    return (Type)mVarData->mType;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Boolean value if the data type in the variant 
-//                 structure  is a bool 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT bool AlfVariantType::boolean() const
-    {
-    if (type() != EBool)
-        {
-        ALF_THROW(AlfDataException,EInvalidVariantDataType,"AlfVariantType")
-        }
-    return mVarData->mData.mBool;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// Description : Returns the int value if the data type in the variant 
-//                 structure  is a int 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfVariantType::integer() const
-    {
-    if (type() != EInt && type() != EUint) // Signed-unsigned conversion allowed
-        {
-        ALF_THROW(AlfDataException,EInvalidVariantDataType,"AlfVariantType")
-        }
-    return mVarData->mData.mInt;
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : Returns the Unsigned value if the data type in the variant 
-//                 structure  is a unsigned int 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT uint AlfVariantType::uinteger() const
-    {
-    if (type() != EInt && type() != EUint) // Signed-unsigned conversion allowed
-        {
-        ALF_THROW(AlfDataException,EInvalidVariantDataType,"AlfVariantType")
-        }
-    return mVarData->mData.mUint;
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Real value if the data type in the variant 
-//                 structure  is a Real data
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT double AlfVariantType::real() const
-    {
-    if (type() != EReal)
-        {
-        ALF_THROW(AlfDataException,EInvalidVariantDataType,"AlfVariantType")
-        }
-    return mVarData->mData.mReal;
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Descriptor value if the data type in the variant 
-//                 structure  is a string data
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const UString& AlfVariantType::string() const
-    {
-    if (type() != EString)
-        {
-        ALF_THROW(AlfDataException,EInvalidVariantDataType,"AlfVariantType")
-        }
-    return *mVarData->mData.mString;
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Container if the data type in the variant 
-//                 structure  is a collection
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfContainer*    AlfVariantType::container() 
-    {
-    ALF_THROW(AlfDataException,EInvalidVariantDataType,"AlfVariantType")
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Map if the data type in the variant 
-//                 structure  is a map
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfMap*    AlfVariantType::map() 
-    {
-    ALF_THROW(AlfDataException,EInvalidVariantDataType,"AlfVariantType")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Branch if the data type in the variant 
-//                 structure  is a map
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfBranch*    AlfVariantType::branch() 
-    {
-    ALF_THROW(AlfDataException,EInvalidVariantDataType,"AlfVariantType")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the User Defined Data Pointer if the data type in the variant 
-//                 structure  is IAlfModelBase
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfModelBase*    AlfVariantType::customData() 
-    {
-    if (type() != ECustomData)
-        {
-        ALF_THROW(AlfDataException,EInvalidVariantDataType,"AlfVariantType")
-        }
-    return mVarData->mData.mBasePtr;
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : Returns true, if objects are equal, false otherwise.
-// ---------------------------------------------------------------------------
-//    
-
-OSN_EXPORT bool AlfVariantType::operator==(const IAlfVariantType &aOther) const
-    {
-    // Set the type
-    bool equals = false;
-    if (type() == aOther.type() )
-        {
-        switch( type() )
-            {
-            case EBool:
-                equals = ( bool() == aOther.boolean() );
-                break;
-            case EInt:
-                equals = ( int() == aOther.integer() );
-                break;
-            case EUint:
-                equals = ( uint() == aOther.uinteger() );
-                break;
-            case EReal:
-                equals = ( real() == aOther.real() );
-                break;
-            case EString:
-                equals = ( string() == aOther.string() );
-                break;
-            case ECustomData: //not known how to compare.
-                break;
-            default:
-                ALF_THROW(AlfDataException,EInvalidVariantDataType,"AlfVariantType")
-                 
-            }
-        }
-        
-    return equals;
-    }
-
-////////////////////// AlfContainer //////////////////////
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// ---------------------------------------------------------------------------
-// Description : Default Constructor for the Container Data Type
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT AlfContainer::AlfContainer()
-    {
-    construct();
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description : Default Construtor
-// ---------------------------------------------------------------------------
-//
-void AlfContainer::construct() 
-    {
-    mContainerData.reset( new( EMM ) AlfContainerDataImpl() );
-    }
-        
-// ---------------------------------------------------------------------------
-// Description : Class Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfContainer::~AlfContainer()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : Adds an AlfVariantType into the container
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfContainer::addItem(IAlfVariantType* aData)
-    {
-    mContainerData->mArray.resize(mContainerData->mArray.count()+1);
-    mContainerData->mArray.insert(mContainerData->mArray.count(),aData);    
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : Adds an AlfVariantType into the container
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfContainer::addItem(uint aIndex, IAlfVariantType* aData)
-    {
-    if( aIndex > mContainerData->mArray.count() )
-        {
-        ALF_THROW(AlfDataException,EInvalidArrayIndex,"AlfContainer")
-        }
-    else
-        {
-        mContainerData->mArray.resize(mContainerData->mArray.count()+1);
-        mContainerData->mArray.insert(aIndex, aData);
-        }
-    }    
-
-// ---------------------------------------------------------------------------
-// Description : Gets the Size of the container
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfContainer::count()
-    {
-    return mContainerData->mArray.count();
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Gets the Item at a given index in the container
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfVariantType*    AlfContainer::item(uint aIndex)
-    {
-    uint cmpIndex =0; //To remove RVCT compiler warning
-    if(aIndex < mContainerData->mArray.count() && aIndex >= cmpIndex )
-        {
-        return mContainerData->mArray[aIndex];    
-        }
-    else
-        {
-        return NULL;    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Description :  Clones the existing conatiner and returns a new COntainer
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfContainer* AlfContainer::clone()
-    {
-    try
-    {
-        //ALF_PERF_START( perfdata, "AlfContainer-Clone-Cloning Container")
-        auto_ptr<AlfContainer> clone( new( EMM ) AlfContainer() );
-        auto_ptr<IAlfVariantType> childData;
-        
-        for ( int i = 0; i < mContainerData->mArray.count(); ++i )
-            {                
-            if( mContainerData->mArray[i]->type()== IAlfVariantType::EInt )
-                {
-                childData.reset( new(EMM) AlfVariantType(mContainerData->mArray[i]->integer()) );
-                }
-            else if( mContainerData->mArray[i]->type()== IAlfVariantType::EUint )
-                {
-                childData.reset( new(EMM) AlfVariantType(mContainerData->mArray[i]->uinteger()) );
-                }
-            else if(mContainerData->mArray[i]->type()== IAlfVariantType::EBool)
-                {
-                childData.reset( new (EMM) AlfVariantType(mContainerData->mArray[i]->boolean()) );
-                }
-            else if( mContainerData->mArray[i]->type()== IAlfVariantType::EReal )
-                {
-                childData.reset( new(EMM) AlfVariantType(mContainerData->mArray[i]->real()) );
-                }
-            else if( mContainerData->mArray[i]->type()== IAlfVariantType::EString )
-                {
-                childData.reset( new(EMM) AlfVariantType(mContainerData->mArray[i]->string()) );
-                }
-            else if( mContainerData->mArray[i]->type()== IAlfVariantType::EMap )
-                {
-                childData.reset( (IAlfMap*)(mContainerData->mArray[i]->map())->clone() );
-                }
-            else if( mContainerData->mArray[i]->type()== IAlfVariantType::EContainer )
-                {
-                childData.reset( (IAlfContainer*)(mContainerData->mArray[i]->container())->clone() );
-                }
-               else if ( mContainerData->mArray[i]->type()== IAlfVariantType::EBranch )
-                {
-                childData.reset( mContainerData->mArray[i]->branch()->clone() );
-                }
-                    else
-                    {
-                        ALF_THROW(AlfDataException,EInvalidVariantDataType,"AlfContainer")
-                    }
-            clone->mContainerData->mArray.resize( clone->mContainerData->mArray.count() + 1 );
-            clone->mContainerData->mArray.insert( clone->mContainerData->mArray.count(), childData.get() );
-            childData.release(); // ownership was transferred.
-            }
-        //ALF_PERF_STOP( perfdata, "AlfContainer-Clone-Cloning Container")
-        return clone.release();
-      }
-      catch(...)
-      {
-          ALF_THROW(AlfDataException,EInvalidContainerOperation,"AlfContainer")
-      }
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Sorts the container using user defined callback method
-// ---------------------------------------------------------------------------
-// 
-OSN_EXPORT void AlfContainer::sort( const IAlfSortFunction& aSortFunction )
-    {
-    IAlfVariantType** d = mContainerData->mArray.data();
-    AlfSort::sort( d, mContainerData->mArray.count(), aSortFunction );
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Sets  Data to be stored in the Variant Data Type
-// ---------------------------------------------------------------------------
-// 
-OSN_EXPORT void AlfContainer::set(IAlfVariantType& /*aValue*/)
-    {
-    ALF_THROW(AlfDataException,EInvalidContainerOperation,"AlfContainer")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Gets the Type of the Variant Data Type
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfVariantType::Type AlfContainer::type() const
-    {
-    return IAlfVariantType::EContainer;
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Boolean value if the data type in the variant 
-//                 structure  is a bool 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT bool AlfContainer::boolean() const
-    {
-    ALF_THROW(AlfDataException,EInvalidContainerOperation,"AlfContainer")
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : Returns the int value if the data type in the variant 
-//                 structure  is a int 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfContainer::integer() const
-    {
-    ALF_THROW(AlfDataException,EInvalidContainerOperation,"AlfContainer")
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : Returns the Unsigned value if the data type in the variant 
-//                 structure  is a unsigned int 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT uint AlfContainer::uinteger() const
-    {
-    ALF_THROW(AlfDataException,EInvalidContainerOperation,"AlfContainer")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Real value if the data type in the variant 
-//                 structure  is a Real data
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT double AlfContainer::real() const
-    {
-    ALF_THROW(AlfDataException,EInvalidContainerOperation,"AlfContainer")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Descriptor value if the data type in the variant 
-//                 structure  is a string data
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const UString& AlfContainer::string() const
-    {
-    ALF_THROW(AlfDataException,EInvalidContainerOperation,"AlfContainer");
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Container if the data type in the variant 
-//                 structure  is a collection
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfContainer*  AlfContainer::container() 
-    {
-    return this;
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Map if the data type in the variant 
-//                 structure  is a map
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfMap*    AlfContainer::map() 
-    {
-    ALF_THROW(AlfDataException,EInvalidContainerOperation,"AlfContainer")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Branch if the data type in the variant 
-//                 structure  is a map
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfBranch*    AlfContainer::branch() 
-    {
-    ALF_THROW(AlfDataException,EInvalidContainerOperation,"AlfContainer")
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// Description : Returns the User Defined Data Pointer if the data type in the variant 
-//                 structure  is IAlfModelBase
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfModelBase*    AlfContainer::customData() 
-    {
-    ALF_THROW(AlfDataException,EInvalidContainerOperation,"AlfContainer")
-    }
-////////////////////// AlfContainer //////////////////////
-
-
-
-
-// ---------------------------------------------------------------------------
-// Description :  Remove  a  item from the Container
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT     void AlfContainer::removeItem(uint aIndex)
-    {
-    uint cmpIndex=0;
-    if(aIndex >= mContainerData->mArray.count() || (aIndex < cmpIndex))
-        {
-            ALF_THROW(AlfDataException,EInvalidArrayIndex,"AlfContainer")
-        }
-
-    mContainerData->mArray.remove(aIndex);    
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Description :  Clears the contents of the Container
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfContainer::clear()
-{
-    mContainerData->mArray.clear();     
-}
-    
-
-// ---------------------------------------------------------------------------
-// Description :  Replaces the items of the container at a given index with the new data
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfContainer::replaceItem(uint aIndex, IAlfVariantType* aNewData )
-    {
-    if((aIndex < mContainerData->mArray.count()) && aNewData)
-       {
-       try
-           {
-           mContainerData->mArray.remove(aIndex);
-           mContainerData->mArray.insert(aIndex,aNewData);
-           }
-       catch(...)
-           {
-           ALF_THROW(AlfDataException,EInvalidContainerOperation,"AlfContainer")
-           }
-       }
-    else
-        ALF_THROW(AlfDataException,EInvalidArrayIndex,"AlfContainer")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns true, if objects are equal, false otherwise.
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT bool AlfContainer::operator==(const IAlfVariantType &/*aOther*/) const
-    {
-    ALF_THROW(AlfDataException,EInvalidContainerOperation,"AlfContainer")
-    }
-
-
-////////////////////// AlfMap //////////////////////
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-
-// ---------------------------------------------------------------------------
-// Description : 1st Phase Constructor. Leaves the object onto the cleanup stack
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT AlfMap::AlfMap()
-    {
-    construct();
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Map Constructor
-// ---------------------------------------------------------------------------
-//
-void AlfMap::construct()
-    {
-    mMapDataImpl.reset( new (EMM) AlfMapDataImpl() );
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Sets  Data to be stored in the Variant Data Type
-// ---------------------------------------------------------------------------
-// 
-OSN_EXPORT void AlfMap::set(IAlfVariantType& aValue)
-    {
-    (void)aValue;
-    ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Gets the Type of the Variant Data Type
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfVariantType::Type AlfMap::type() const
-    {
-    return IAlfVariantType::EMap;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Boolean value if the data type in the variant 
-//                 structure  is a bool 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT bool AlfMap::boolean() const
-    {
-    ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// Description : Returns the int value if the data type in the variant 
-//                 structure  is a int 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfMap::integer() const
-    {
-    ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")    
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : Returns the Unsigned value if the data type in the variant 
-//                 structure  is a unsigned int 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT uint AlfMap::uinteger() const
-    {
-    ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")    
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Real value if the data type in the variant 
-//                 structure  is a Real data
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT double AlfMap::real() const
-    {
-    ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Descriptor value if the data type in the variant 
-//                 structure  is a string data
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const UString& AlfMap::string() const
-    {
-    ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Container if the data type in the variant 
-//                 structure  is a collection
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfContainer*  AlfMap::container() 
-    {
-    ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Map if the data type in the variant 
-//                 structure  is a map
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfMap*    AlfMap::map() 
-    {
-    return this;
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Branch if the data type in the variant 
-//                 structure  is a map
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfBranch*    AlfMap::branch() 
-    {
-    ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : Returns the User Defined Data Pointer if the data type in the variant 
-//                 structure  is IAlfModelBase
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfModelBase*    AlfMap::customData() 
-    {
-    ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")
-    }    
-
-////////////////////// AlfContainer //////////////////////
-
-
-
-
-
-// ---------------------------------------------------------------------------
-// Description : Map Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfMap::~AlfMap()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description : APi to get the name of the data item in the map
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const UString& AlfMap::name(uint aIndex) const
-    {
-    uint cmpIndex=0;
-    if( aIndex >= mMapDataImpl->mArray.count() || (aIndex < cmpIndex)) 
-        {
-        ALF_THROW(AlfDataException,EInvalidArrayIndex,"AlfMap")
-        }
-    return *mMapDataImpl->mArray[aIndex]->mName;       
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Description : APi to add an VariantData into the map
-// ---------------------------------------------------------------------------
-//    
-void AlfMap::addItem(IAlfVariantType* aData, const UString &aName)
-    {
-    auto_ptr<MapItem> item( new( EMM ) MapItem() );
-    
-    item->mName =  new( EMM ) UString( aName );
-    
-    mMapDataImpl->mArray.resize( mMapDataImpl->mArray.count() + 1 );
-    mMapDataImpl->mArray.insert( mMapDataImpl->mArray.count(), item.get() );
-
-    // Take the ownership only if there was no exception.
-    // Otherwise the client is resp. of cleaning up the object.
-    item->mData = aData;
-    item.release();
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : APi to add an VariantData into the map
-// ---------------------------------------------------------------------------
-//        
-void AlfMap::addItem(uint aIndex, IAlfVariantType* aData, const UString& aName)
-    {
-    if( aIndex > mMapDataImpl->mArray.count() )
-        {
-        ALF_THROW(AlfDataException,EInvalidArrayIndex,"AlfMap")
-        }
-    else
-        {
-        auto_ptr<MapItem> item( new( EMM ) MapItem() );
-
-        item->mName =  new( EMM ) UString( aName );
-
-        mMapDataImpl->mArray.resize( mMapDataImpl->mArray.count() + 1 );
-        mMapDataImpl->mArray.insert( aIndex, item.get() );
-
-        // Take the ownership only if there was no exception.
-        // Otherwise the client is resp. of cleaning up the object.
-        item->mData = aData;
-        item.release();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description : Gets the size of the map
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfMap::count() const
-    {
-    return mMapDataImpl->mArray.count();
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description : Gets the Element at a given index
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfVariantType*  AlfMap::item(uint aIndex)
-    {
-    uint cmpIndex=0;
-    if( aIndex >= mMapDataImpl->mArray.count() || aIndex <cmpIndex ) 
-        {
-        return NULL;
-        }
-    else
-        {
-        return mMapDataImpl->mArray[aIndex]->mData;    
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description : Clones the map
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfMap* AlfMap::clone()
-    {
-    try
-        {
-        //ALF_PERF_START( perfdata, "AlfContainer-Clone-Cloning Map")
-        auto_ptr<AlfMap> clone( new(EMM) AlfMap() );
-        auto_ptr<MapItem> cloneItem;
-
-        for (int i = 0; i < mMapDataImpl->mArray.count(); ++i)
-            {
-            cloneItem.reset( new(EMM) MapItem() );
-            if( !(mMapDataImpl->mArray[i]->mName->getUtf8() == ""))
-                {
-                cloneItem->mName = new(EMM) UString(*(mMapDataImpl->mArray[i]->mName));
-                }        
-            if(mMapDataImpl->mArray[i]->mData->type()== IAlfVariantType::EInt)
-                {
-                cloneItem->mData = new(EMM) AlfVariantType(mMapDataImpl->mArray[i]->mData->integer());
-                }
-            else if(mMapDataImpl->mArray[i]->mData->type()== IAlfVariantType::EUint)
-                {
-                cloneItem->mData = new(EMM) AlfVariantType(mMapDataImpl->mArray[i]->mData->uinteger());
-                }
-            else if(mMapDataImpl->mArray[i]->mData->type()== IAlfVariantType::EBool)
-                {
-                cloneItem->mData = new (EMM)AlfVariantType(mMapDataImpl->mArray[i]->mData->boolean());
-                }
-            else if(mMapDataImpl->mArray[i]->mData->type()== IAlfVariantType::EReal)
-                {
-                cloneItem->mData  = new(EMM) AlfVariantType(mMapDataImpl->mArray[i]->mData->real());
-                }
-            else if(mMapDataImpl->mArray[i]->mData->type()== IAlfVariantType::EString)
-                {
-                cloneItem->mData  = new(EMM) AlfVariantType(mMapDataImpl->mArray[i]->mData->string());
-                }
-            else if(mMapDataImpl->mArray[i]->mData->type()== IAlfVariantType::EMap)
-                {
-                cloneItem->mData   = (IAlfMap*)(mMapDataImpl->mArray[i]->mData->map())->clone();
-                }
-            else if(mMapDataImpl->mArray[i]->mData->type()== IAlfVariantType::EContainer)
-                {
-                cloneItem->mData   = (IAlfContainer*)(mMapDataImpl->mArray[i]->mData->container())->clone();
-                }
-            else if (mMapDataImpl->mArray[i]->mData->type()== IAlfVariantType::EBranch)
-                {
-                cloneItem->mData   = mMapDataImpl->mArray[i]->mData->branch()->clone();
-                }
-            else
-                {
-                ALF_THROW(AlfDataException,EInvalidVariantDataType,"AlfMap")
-                }
-
-            clone->mMapDataImpl->mArray.resize(clone->mMapDataImpl->mArray.count()+1);
-            clone->mMapDataImpl->mArray.insert(clone->mMapDataImpl->mArray.count(),cloneItem.get() );
-            cloneItem.release();
-            }
-        //ALF_PERF_STOP( perfdata, "AlfContainer-Clone-Cloning Map")
-
-        return clone.release();
-        }
-    catch(...)
-        {
-        ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description : Gets the map item with the given name
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfVariantType*    AlfMap::item(const UString &aName)
-    {
-    for (int i = 0; i < mMapDataImpl->mArray.count(); ++i)
-        {
-        if ( *mMapDataImpl->mArray[i]->mName == aName)
-            {
-            return mMapDataImpl->mArray[i]->mData;
-            }
-        }
-    return NULL;    
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Gets the index of the map item with the given name
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int    AlfMap::itemIndex(const UString &aName)
-    {
-    for (int i = 0; i < mMapDataImpl->mArray.count(); ++i)
-        {
-        if ( *mMapDataImpl->mArray[i]->mName == aName)
-            {
-            return i;
-            }
-        }
-    return -1;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description :  Remove  a  item from the Map at a given index
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT     void AlfMap::removeItem(uint aIndex)
-    {
-    try
-        {
-        uint cmpIndex =0;
-        if(aIndex < mMapDataImpl->mArray.count() && aIndex>= cmpIndex )
-            {
-            mMapDataImpl->mArray.remove(aIndex);                
-            }
-        }
-    catch(...)
-        {
-        ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")
-        }    
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Description :  Clears the contents of the Map 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfMap::clear()
-    {
-    mMapDataImpl->mArray.clear();    
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Description :  Replaces the items of the container at a given index with the new data
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfMap::replaceItem(uint aIndex, IAlfVariantType* aNewData )
-    {
-    try
-        {
-        uint cmpIndex =0;
-        if ( aIndex < mMapDataImpl->mArray.count()&& aIndex >= cmpIndex  )
-            {
-            auto_ptr<MapItem> newData( new( EMM ) MapItem() );
-            newData.get()->mData = aNewData;
-            newData.get()->mName = new( EMM ) UString(
-                *( mMapDataImpl->mArray[aIndex]->mName ) );
-
-            mMapDataImpl->mArray.remove(aIndex);
-            mMapDataImpl->mArray.insert(aIndex,newData.get());
-
-            newData.release(); // ownership transferred away
-            }
-        }
-    catch(...)
-        {
-        ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description :  Replaces the items of the container at a given index with the Given name 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT   void AlfMap::replaceItem(const UString &aName,IAlfVariantType* aNewData)
-    {
-
-    try
-        {
-        for (int i = 0; i < mMapDataImpl->mArray.count(); ++i)
-            {
-            if ( *mMapDataImpl->mArray[i]->mName == aName)
-                {
-                auto_ptr<MapItem> newData( new( EMM ) MapItem() );
-
-                newData.get()->mData = aNewData;
-                newData.get()->mName = new( EMM ) UString(*(mMapDataImpl->mArray[i]->mName));
-
-                mMapDataImpl->mArray.remove(i);
-                mMapDataImpl->mArray.insert(i,newData.get());
-
-                newData.release(); // ownership transferred away
-                break;        
-                }
-            }
-        }
-    catch(...)
-        {
-        ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")
-        //aNewData might not have been deleted. In case of this exception the user should delete the variant data passed
-        }
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description :  Remove  a  item from the Map with a given name
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT     void AlfMap::removeItem(const UString &aName)
-    {
-    try
-        {
-        for(int i=0; i< mMapDataImpl->mArray.count();i++)
-            {
-            if ( *mMapDataImpl->mArray[i]->mName == aName)
-                {
-                mMapDataImpl->mArray.remove(i);                
-                break;
-                }        
-            }
-        }
-    catch(...)
-        {
-        ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")
-        } 
-
-    }
-
-////////////////////// AlfBranch //////////////////////
-
-// ---------------------------------------------------------------------------
-// Description : 2nd Phase Constructor
-// ---------------------------------------------------------------------------
-//
-void AlfBranch::construct( IAlfMap* aData, IAlfMap* aChildData) 
-    {
-    mBranchData.reset( new( EMM ) AlfBranchDataImpl() );
-
-    // Take the ownership of the parameter objects
-    mBranchData->mCurrentData = aData;
-    mBranchData->mChildData = aChildData;
-    // No throwing code after the ownership has been transferred,
-    // it would result to double deletion crash.
-
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : 1st Phase Constructor. Leaves the object onto the cleanup stack
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT AlfBranch::AlfBranch(IAlfMap* aData, IAlfMap* aChildData)
-    {
-    construct( aData, aChildData );
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : Default Construtor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfBranch::AlfBranch() 
-    {
-    mBranchData.reset( new(EMM) AlfBranchDataImpl() );
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : Map Destructor
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfBranch::~AlfBranch()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Sorts the branch using user defined callback method
-// ---------------------------------------------------------------------------
-// 
-OSN_EXPORT void AlfBranch::sort( const IAlfSortFunction& aSortFunction )
-    {
-        try
-        {
-            for (int i = 0; i < mBranchData->mChildData->count(); ++i)
-                {
-                if (mBranchData->mChildData->item(i)->type() == EContainer)
-                    {
-                    IAlfContainer* container = 
-                        mBranchData->mChildData->item(i)->container();
-                    container->sort(aSortFunction);
-                    }
-                }
-         }
-         catch(...)
-         {
-             ALF_THROW(AlfDataException,EInvalidMapOperation,"AlfMap")
-         }
-    }
-// ---------------------------------------------------------------------------
-// Description : returns the data for this branch as a IAlfMap interface
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT   IAlfMap* AlfBranch::data()
-    {
-    return mBranchData->mCurrentData;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Description : Set the data for this branch
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT   void AlfBranch::setData( IAlfMap* aData )
-    {
-    delete mBranchData->mCurrentData;
-    mBranchData->mCurrentData = aData;
-    }
-
-// ---------------------------------------------------------------------------
-// Description : returns the child data at the given index
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT   IAlfVariantType* AlfBranch::childData(int aIndex)
-    {
-    if(aIndex <0 || mBranchData->mChildData->count() <=0) 
-        return NULL;
-
-    int count = 0;
-
-    // Start counting from the first child (item number 1)
-    for (int i = 0; i < mBranchData->mChildData->count(); ++i)
-        {
-
-        if ( mBranchData->mChildData->item(i)->type() == IAlfVariantType::EMap || mBranchData->mChildData->item(i)->type() == IAlfVariantType::EBranch )
-            {
-            // Map contains the data for a single child
-
-            if(count == aIndex)
-                {
-                return mBranchData->mChildData->item(aIndex);
-                }
-            count++;
-            }
-
-        if (mBranchData->mChildData->item(i)->type() == IAlfVariantType::EContainer)
-            {
-            IAlfContainer* container = mBranchData->mChildData->item(i)->container();
-            for ( int j = 0; j < container->count(); ++j )        
-                {
-                // Container contains data for multiple children
-
-                if(count == aIndex)
-                    {                    
-                    return mBranchData->mChildData->item(i)->container()->item(aIndex); 
-                    }   
-                count ++;
-                }
-            }
-        }
-
-    return NULL;
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// Description : returns the child name at the given index
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT  const UString& AlfBranch::childName(int aIndex)
-    {
-
-    int count = 0;
-
-    // Start counting from the first child (item number 1)
-    for (int i = 0; i < mBranchData->mChildData->count(); ++i)
-        {
-
-        if ( mBranchData->mChildData->item(i)->type() == IAlfVariantType::EMap || mBranchData->mChildData->item(i)->type() == IAlfVariantType::EBranch )
-            {
-            // Map contains the data for a single child
-
-            if(count == aIndex)
-                {
-                return mBranchData->mChildData->name(i);
-                }
-            count++;
-            }
-        if (mBranchData->mChildData->item(i)->type() == IAlfVariantType::EContainer)
-            {
-            IAlfContainer* container = mBranchData->mChildData->item(i)->container();
-
-            if(aIndex >= count && aIndex < (count + container->count()) )
-                {
-                return mBranchData->mChildData->name(i);
-                }
-            count+= container->count();
-
-            }
-        }
-    UString* ret(0);
-    return *ret; 
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// Description : returns the Data for all childs 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT   IAlfMap* AlfBranch::childData()
-    {
-    return mBranchData->mChildData;
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Set the data for children of this branch
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT   void AlfBranch::setChildData( IAlfMap* aChildData )
-    {
-    delete mBranchData->mChildData;
-    mBranchData->mChildData = aChildData;
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Api to get the Number of children of a branch
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT   uint AlfBranch::childrenCount()
-    {
-
-    uint count = 0;
-
-    // Start counting from the first child (item number 1)
-    for (int i = 0; i < mBranchData->mChildData->count(); ++i)
-        {
-        if ( mBranchData->mChildData->item(i)->type() == IAlfVariantType::EMap ||
-            mBranchData->mChildData->item(i)->type() == IAlfVariantType::EBranch )
-            {
-            // Map contains the data for a single child
-            count++;
-            }
-        if (mBranchData->mChildData->item(i)->type() == IAlfVariantType::EContainer)
-            {
-            // Container contains data for multiple children
-            count += mBranchData->mChildData->item(i)->container()->count();
-            }
-        }
-
-    return count;
-    }        
-
-// ---------------------------------------------------------------------------
-// Description : Sets  Data to be stored in the Variant Data Type
-// ---------------------------------------------------------------------------
-// 
-OSN_EXPORT void AlfBranch::set(IAlfVariantType& aValue)
-    {
-    (void)aValue;
-    ALF_THROW(AlfDataException,EInvalidBranchOperation,"AlfBranch")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Gets the Type of the Variant Data Type
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfVariantType::Type AlfBranch::type() const
-    {
-    return IAlfVariantType::EBranch;
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Boolean value if the data type in the variant 
-//                 structure  is a bool 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT bool AlfBranch::boolean() const
-    {
-    ALF_THROW(AlfDataException,EInvalidBranchOperation,"AlfBranch")
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : Returns the int value if the data type in the variant 
-//                 structure  is a int 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfBranch::integer() const
-    {
-    ALF_THROW(AlfDataException,EInvalidBranchOperation,"AlfBranch")
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : Returns the Unsigned value if the data type in the variant 
-//                 structure  is a unsigned int 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT uint AlfBranch::uinteger() const
-    {
-    ALF_THROW(AlfDataException,EInvalidBranchOperation,"AlfBranch")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Real value if the data type in the variant 
-//                 structure  is a Real data
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT double AlfBranch::real() const
-    {
-    ALF_THROW(AlfDataException,EInvalidBranchOperation,"AlfBranch")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Descriptor value if the data type in the variant 
-//                 structure  is a string data
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT const UString& AlfBranch::string() const
-    {
-    ALF_THROW(AlfDataException,EInvalidBranchOperation,"AlfBranch")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Container if the data type in the variant 
-//                 structure  is a collection
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfContainer*  AlfBranch::container() 
-    {
-    ALF_THROW(AlfDataException,EInvalidBranchOperation,"AlfBranch")
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Map if the data type in the variant 
-//                 structure  is a map
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfMap*    AlfBranch::map() 
-    {
-    ALF_THROW(AlfDataException,EInvalidBranchOperation,"AlfBranch")
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns the Branch if the data type in the variant 
-//                 structure  is a map
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfBranch*    AlfBranch::branch() 
-    {
-    return this;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Description : Returns the User Defined Data Pointer if the data type in the variant 
-//                 structure  is IAlfModelBase
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfModelBase*    AlfBranch::customData() 
-    {
-    ALF_THROW(AlfDataException,EInvalidBranchOperation,"AlfBranch")
-    }
-// ---------------------------------------------------------------------------
-// Description : Clones the branch
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfBranch*    AlfBranch::clone()
-    {
-    try
-        {
-        auto_ptr<IAlfMap> currentData( mBranchData->mCurrentData->clone() );
-        auto_ptr<IAlfMap> childData( mBranchData->mChildData->clone() );
-        IAlfBranch* clone = new(EMM) AlfBranch( currentData.get(), childData.get() );
-        currentData.release(); // ownership transferred away
-        childData.release(); // ownership transferred away
-
-        return clone;
-        }
-    catch(...)
-        {
-        ALF_THROW(AlfDataException,EInvalidBranchOperation,"AlfBranch")
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Returns true, if objects are equal, false otherwise.
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT bool AlfBranch::operator==(const IAlfVariantType &/*aOther*/) const
-    {
-    ALF_THROW(AlfDataException,EInvalidBranchOperation,"AlfBranch")
-    }
-
-} // namespace Alf
--- a/widgetmodel/alfwidgetmodel/src/alfviewportlayoutattributesetter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,432 +0,0 @@
-/*
-* 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:   Implements attributesetters for ViewPortLayout.
-*
-*/
-
-
-
-//includes
-
-//widget model includes
-#include "alf/alfattributecontainer.h"
-#include "alf/alfattribute.h"
-#include "alf/alfviewportlayoutattributesetter.h"
-#include <alf/alfvisualexception.h>
-#include <alf/alfdataexception.h>
-#include <alf/alfattributeexception.h>
-
-//osn includes
-#include <osn/ustring.h>
-
-//alf includes
-#include <alf/alfvisual.h>
-#include <alf/alfviewportlayout.h>
-
-//dui includes
-#include "alf/attrproperty.h"
-
-//other includes
-#include <libc/string.h>
-
-
-
-//namespaces
-using namespace osncore;
-using namespace duiuimodel::layoutattributes::viewport;
-
-namespace Alf
-    {
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfViewportLayoutAttributeSetter::AlfViewportLayoutAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfViewportLayoutAttributeSetter::
-    ~AlfViewportLayoutAttributeSetter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-IAlfVariantType* AlfViewportLayoutAttributeSetter::getData(
-    AlfAttribute& aAttr, IAlfMap* aData)
-    {
-    IAlfVariantType* data = 0;
-    const char* dataField = aAttr.getDataField();
-    if (dataField)
-        {
-        data = aData->item(UString(dataField));
-        }
-    return data;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-int AlfViewportLayoutAttributeSetter::getTime(
-    const AlfAttribute& aAttr, bool aImmediate)
-    {
-    int time = 0;
-    if (!aImmediate)
-        {
-        time = aAttr.getTime();
-        }
-    return time;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfViewportLayoutAttributeSetter::setAttributeValue(
-    CAlfVisual &aVisual, AlfAttributeContainer* aContainer, IAlfMap* aData)
-    {
-    CAlfViewportLayout* viewportLayout = 
-        dynamic_cast<CAlfViewportLayout*>(&aVisual);
-    if (!viewportLayout)
-        {
-        ALF_THROW (AlfVisualException, EInvalidVisual, "AlfViewportLayoutAttributeSetter")
-        }     
-    AlfCommonLayoutAttributeSetter::setAttributeValue(aVisual,
-                                        aContainer, aData);
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT TAlfCommand* AlfViewportLayoutAttributeSetter::createCommand(
-    CAlfVisual& /*aVisual*/, AlfAttributeContainer* /*aContainer*/,
-    IAlfMap* /*aData*/, int /*aTransitionTime*/, CAlfVisual* /*aRefVisual*/)
-    {
-    TAlfCommand* cmd = 0;
-    return cmd;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfViewportLayoutAttributeSetter::createAndSendCommands(
-    CAlfVisual& aVisual,
-    AlfAttributeContainer* aContainer,
-    CAlfVisual* aRefVisual )
-    {
-    // Call the base class implementation.
-    // It goes through its loop and checks if there are attributes that it
-    // handles.
-    AlfCommonLayoutAttributeSetter::createAndSendCommands(aVisual,
-                                        aContainer,aRefVisual);
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AlfViewportLayoutAttributeSetter::handleDynamicDataAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, IAlfMap* aData)
-    {
-    if (!doHandleDynamicDataAttribute(aVisual, aAttr, aContainer, aData))
-        {
-        AlfCommonLayoutAttributeSetter::handleDynamicDataAttribute(aVisual,
-                                            aAttr, aContainer, aData);
-        }
-    }
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-bool AlfViewportLayoutAttributeSetter::doHandleDynamicDataAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, IAlfMap* aData, bool aImmediate)
-    {
-    CAlfViewportLayout* viewportLayout = 
-        dynamic_cast<CAlfViewportLayout*>(&aVisual);
-    if (!viewportLayout)
-        {
-        ALF_THROW (AlfVisualException, EInvalidVisual, "AlfViewportLayoutAttributeSetter")
-        }
-    bool handled = true;
-    if (!aData)
-        {
-        ALF_THROW (AlfDataException, EInvalidVariantDataType, "AlfViewportLayoutAttributeSetter" )
-        }
-    else
-        {
-        const char* attrName = aAttr.name();
-        if (!strcmp( attrName, KVirtualHeight)) //also handles: KVirtualWidth
-            {
-            // item for both virtual height and virtual width should be there.
-            const IAlfVariantType* virtualHeight = getData(aAttr, aData);
-            const IAlfVariantType* virtualWidth = 
-                getData(aContainer.getAttributeByName(KVirtualWidth), aData);
-
-            if (virtualHeight && 
-                virtualHeight->type() == IAlfVariantType::EReal &&
-                virtualWidth && virtualWidth->type() == IAlfVariantType::EReal)
-                {
-                viewportLayout->SetVirtualSize(
-                    TAlfRealSize(virtualWidth->real(),virtualHeight->real()),
-                    getTime(aAttr, aImmediate));
-                }
-            else
-                {
-                ALF_THROW(AlfDataException, EInvalidVariantDataType, "AlfViewportLayoutAttributeSetter")
-                }
-
-            }
-        else if (!strcmp( attrName, KVirtualWidth))
-            {
-            // both virtual height and virtual width should be there
-            // if attribute for virtual height exists,don't do anything as this
-            // will be taken care while looking for attribute for virtual 
-            // height, else throw exception
-            try
-                {
-                AlfAttribute& attrWidth = 
-                    aContainer.getAttributeByName (KVirtualHeight );
-                }
-
-            catch (...)
-                {
-                ALF_THROW(AlfDataException, EIncompleteAttributeValues, "AlfViewportLayoutAttributeSetter")
-                }
-            }
-        //also handles: KViewportWidth    
-        else if (!strcmp( attrName, KViewportHeight)) 
-            {
-            // item for both viewport window height and viewport window width
-            // should be there.
-            const IAlfVariantType* viewportHeight = getData(aAttr, aData);
-            const IAlfVariantType* viewportWidth = 
-                getData(aContainer.getAttributeByName(KViewportWidth), aData);
-
-            if (viewportHeight &&
-                viewportHeight->type() == IAlfVariantType::EReal &&
-                viewportWidth && 
-                viewportWidth->type() == IAlfVariantType::EReal)
-                {
-                viewportLayout->SetViewportSize(
-                    TAlfRealSize(viewportWidth->real(),viewportHeight->real()),
-                    getTime(aAttr, aImmediate));
-                }
-            else
-                {
-                ALF_THROW(AlfDataException, EInvalidVariantDataType, "AlfViewportLayoutAttributeSetter")
-                }    
-            }
-        else if (!strcmp( attrName, KViewportWidth))
-            {
-            // both viewport height and viewport width should be there
-            // if attribute for viewport height exists,don't do anything as
-            // this will be taken care while looking for attribute for 
-            // virtual height, else throw exception
-            try
-                {
-                AlfAttribute& attrWidth = 
-                    aContainer.getAttributeByName (KViewportHeight );
-                }
-
-            catch (...)
-                {
-                ALF_THROW(AlfDataException, EIncompleteAttributeValues, "AlfViewportLayoutAttributeSetter")
-                }
-            }
-        //also handles: KViewportPositionY    
-        else if (!strcmp( attrName, KViewportPositionX)) 
-            {
-            // item for both viewport window X-position and Y-position 
-            // should be there.
-            const IAlfVariantType* viewportPosX = getData(aAttr, aData);
-            const IAlfVariantType* viewportPosY = 
-                   getData(aContainer.getAttributeByName(KViewportPositionY),
-                           aData);
-
-            if (viewportPosX &&
-                viewportPosX->type() == IAlfVariantType::EReal &&
-                viewportPosY && viewportPosY->type() == IAlfVariantType::EReal)
-                {
-                viewportLayout->SetViewportPos(
-                    TAlfRealPoint(viewportPosX->real(),viewportPosY->real()),
-                    getTime(aAttr, aImmediate));
-                }
-            else
-                {
-                ALF_THROW(AlfDataException, EInvalidVariantDataType, "AlfViewportLayoutAttributeSetter")
-                }    
-            }
-        else if (!strcmp( attrName, KViewportPositionY))
-            {
-            // both viewport window X-position and Y-position should be there
-            // if attribute for viewport window X-position exists,don't do 
-            // anything as this will be taken care while looking for attribute
-            // for viewport window X-position, else throw exception
-            try
-                {
-                AlfAttribute& attrWidth = 
-                    aContainer.getAttributeByName (KViewportPositionX );
-                }
-
-            catch (...)
-                {
-                ALF_THROW(AlfDataException, EIncompleteAttributeValues, "AlfViewportLayoutAttributeSetter")
-                }
-            }
-        else
-            {
-            handled = false;
-            }
-        }
-    return handled;
-    }
-
-void AlfViewportLayoutAttributeSetter::handleStaticDataAttribute(
-    CAlfVisual &aVisual, AlfAttribute& aAttr, 
-    AlfAttributeContainer& aContainer, IAlfMap* aData)
-    {
-    // viewport layout does not have any static attribute of its own
-    // check, if dynamic attribute(but set by user as static), if so,
-    // set attributes immediately.
-    if (!doHandleDynamicDataAttribute(aVisual, aAttr,aContainer, aData, true))
-        {
-        AlfCommonLayoutAttributeSetter::handleStaticDataAttribute(
-            aVisual, aAttr, aContainer, aData);
-        }
-    }
-
-void AlfViewportLayoutAttributeSetter::handleDynamicAttribute(
-    CAlfVisual &aVisual, AlfAttribute& aAttr, 
-    AlfAttributeContainer& aContainer)
-    {
-    if (!doHandleDynamicAttribute(aVisual, aAttr, aContainer))
-        {
-        AlfCommonLayoutAttributeSetter::handleDynamicAttribute(
-            aVisual, aAttr, aContainer);
-        }
-    }
-
-bool AlfViewportLayoutAttributeSetter::doHandleDynamicAttribute(
-    CAlfVisual &aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer, bool aImmediate)
-    {
-    CAlfViewportLayout* viewportLayout = 
-        dynamic_cast<CAlfViewportLayout*>(&aVisual);
-    if (!viewportLayout)
-        {
-        ALF_THROW (AlfVisualException, EInvalidVisual, "AlfViewportLayoutAttributeSetter")
-        }
-
-    bool handled = true;
-    const char* attrName = aAttr.name();
-    if (!strcmp(attrName, KVirtualHeight)||!strcmp(attrName, KVirtualWidth))
-        {
-        // both virtual height and virtual width should be there.
-        AlfAttribute& attrWidth = 
-            aContainer.getAttributeByName (KVirtualWidth );
-        AlfAttribute& attrHt = aContainer.getAttributeByName (KVirtualHeight );
-        if(attrWidth.type() == AlfAttributeValueType::EFloat &&
-               attrHt.type() == AlfAttributeValueType::EFloat )
-            {
-            float height = attrHt.realValue();
-            float width = attrWidth.realValue();
-            viewportLayout->SetVirtualSize(
-                TAlfRealSize(width,height),getTime(attrHt, aImmediate));
-            attrHt.setDirty(false);
-            attrWidth.setDirty(false);
-            }
-        else
-            {
-            ALF_THROW ( AlfAttributeException, EInvalidAttributeValue, "AlfViewportLayoutAttributeSetter");
-            }
-        }
-    else if (!strcmp(attrName, KViewportHeight)||
-             !strcmp(attrName, KViewportWidth))
-        {
-        // both viewport window height and width should be there.
-        AlfAttribute& attrWidth = 
-            aContainer.getAttributeByName (KViewportWidth );
-        AlfAttribute& attrHt = 
-            aContainer.getAttributeByName (KViewportHeight );
-        if(attrWidth.type() == AlfAttributeValueType::EFloat &&
-               attrHt.type() == AlfAttributeValueType::EFloat )
-            {
-            float height = attrHt.realValue();
-            float width = attrWidth.realValue();
-            viewportLayout->SetViewportSize(
-                TAlfRealSize(width,height),getTime(attrHt, aImmediate));
-            attrHt.setDirty(false);
-            attrWidth.setDirty(false);
-            }
-        else
-            {
-            ALF_THROW ( AlfAttributeException, EInvalidAttributeValue, "AlfViewportLayoutAttributeSetter");
-            }
-        }
-    else if (!strcmp(attrName, KViewportPositionX)||
-             !strcmp(attrName, KViewportPositionY))
-        {
-        // both viewport window X-position and Y-position should be there.
-        AlfAttribute& attrWidth = 
-            aContainer.getAttributeByName (KViewportPositionY );
-        AlfAttribute& attrHt = 
-            aContainer.getAttributeByName (KViewportPositionX );
-        if(attrWidth.type() == AlfAttributeValueType::EFloat &&
-               attrHt.type() == AlfAttributeValueType::EFloat )
-            {
-            float xPosition = attrHt.realValue();
-            float yPosition = attrWidth.realValue();
-            viewportLayout->SetViewportPos(
-               TAlfRealPoint(xPosition,yPosition),getTime(attrHt, aImmediate));
-            attrHt.setDirty(false);
-            attrWidth.setDirty(false);
-            }
-        else
-            {
-            ALF_THROW ( AlfAttributeException, EInvalidAttributeValue, "AlfViewportLayoutAttributeSetter");
-            }
-        }
-    else
-        {
-        handled = false;
-        }
-
-    return handled;
-    }
-
-void AlfViewportLayoutAttributeSetter::handleStaticAttribute(
-    CAlfVisual& aVisual, AlfAttribute& aAttr,
-    AlfAttributeContainer& aContainer)
-    {
-    // viewport layout does not have any static attribute of its own
-    // check, if dynamic attribute(but set as static by the user),
-    // if so, set attributes immediately.
-    if (!doHandleDynamicAttribute(aVisual, aAttr, aContainer, true))
-        {
-        AlfCommonLayoutAttributeSetter::handleStaticAttribute(aVisual, aAttr, 
-                                            aContainer);
-        }
-    }
-    
-    } // Alf
-
--- a/widgetmodel/alfwidgetmodel/src/alfvisualtemplate.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,671 +0,0 @@
-/*
-* 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:  Visual template class for alfred widget model.
-*      This class creates and updates visual tree.
-*
-*/
-
-
-
-
-//INCLUDES
-#include <algorithm>
-#include <assert.h>
-#include <alf/alfcontrol.h>
-#include <alf/alfbrush.h>
-#include <alf/alfvisualfactory.h>
-#include <alf/alfbrusharray.h>
-#include <utf.h>
-#include <alf/alfimagevisual.h>
-#include <alf/alftexture.h>
-#include <alf/alfenv.h>
-#include <alf/alfexceptions.h>
-//#include "alf/alfperf.h"
-#include <osn/osnnew.h>
-#include <alf/ialfelement.h>
-#include "alf/alfvisualtemplate.h"
-#include "alf/alfvarianttype.h"
-#include "alf/ialfattributesetter.h"
-#include "alf/alfattributecontainer.h"
-#include "alf/alfattribute.h"
-
-// The number of attribute setters is usually between 1 and 5
-static const int KAttributeArrayGranularity = 4;
-static const int KContainerArrayGranularity = 4;
-
-namespace Alf
-    {
-
-struct DeleteTemplate
-{
-    void operator()(const IAlfVisualTemplate* aTemplate) const
-        {
-        delete aTemplate;
-        }
-};
-
-// -----------------------------------------------------------------------------
-// Helper function to iterate through a visual template hierarchy and
-// investigate whether a given visual template exists in it.
-// -----------------------------------------------------------------------------
-bool existsInHierarchy(IAlfVisualTemplate& aRoot, const IAlfVisualTemplate& aTemplate)
-    {
-    // Check the template against the root node.
-    if(&aTemplate == &aRoot)
-        {
-        return true;
-        }
-    
-    // Iterate through all the root's children
-    for(int i = 0; i < aRoot.numChildTemplates(); ++i)
-        {
-        if(existsInHierarchy(aRoot.childTemplate(i), aTemplate))
-            {
-            return true;
-            }
-        }
-        
-    return false;        
-    }    
-    
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// Description : Constructor
-// ---------------------------------------------------------------------------
-OSN_EXPORT AlfVisualTemplate* AlfVisualTemplate::create()
-    {
-    return new( EMM ) AlfVisualTemplate;
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Constructor
-// ---------------------------------------------------------------------------
-OSN_EXPORT AlfVisualTemplate* AlfVisualTemplate::create(TAlfVisualType aType)
-    {
-    return new( EMM ) AlfVisualTemplate( aType );
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Constructor
-// ---------------------------------------------------------------------------
-OSN_EXPORT AlfVisualTemplate* AlfVisualTemplate::create(TAlfLayoutType aType)
-    {
-    return new( EMM ) AlfVisualTemplate( aType );
-    }
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// Description : Constructor
-// ---------------------------------------------------------------------------
-OSN_EXPORT AlfVisualTemplate::AlfVisualTemplate():
-    mVisualType(EAlfVisualTypeVisual),
-    mAttributeArray(KAttributeArrayGranularity),
-    mContainerArray(KContainerArrayGranularity),
-    mSelectOneChild(false),
-    mOwner(0),
-    mParent(0)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Constructor
-// ---------------------------------------------------------------------------
-OSN_EXPORT AlfVisualTemplate::AlfVisualTemplate(TAlfVisualType aType):
-    mVisualType(aType),
-    mAttributeArray(KAttributeArrayGranularity),
-    mContainerArray(KContainerArrayGranularity),
-    mSelectOneChild(false),
-    mOwner(0),
-    mParent(0)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Constructor
-// ---------------------------------------------------------------------------
-OSN_EXPORT AlfVisualTemplate::AlfVisualTemplate(TAlfLayoutType aType):
-    mVisualType(-1 - aType),
-    mAttributeArray(KAttributeArrayGranularity),
-    mContainerArray(KContainerArrayGranularity),
-    mSelectOneChild(false),
-    mOwner(0),
-    mParent(0)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Destructor
-// ---------------------------------------------------------------------------
-OSN_EXPORT AlfVisualTemplate::~AlfVisualTemplate()
-    {
-    mBrushArray.clear();
-    mAttributeArray.clear();
-    mContainerArray.clear();
-    
-    // Remove this visual template from it's parent or owner
-    if(parent())
-        {
-        parent()->removeChildTemplate(*this);
-        }
-    if(owner())
-        {
-        owner()->removeVisualTemplate();
-        }
-    
-    // Destroy child visual templates in two passes, since destructor of a child
-    // visual template could affect the content of the this visual template's child vector.
-    vector<IAlfVisualTemplate*> children(mChildren);
-    mChildren.clear();
-    for_each(children.begin(), children.end(), DeleteTemplate());
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Set the owner element.
-// ---------------------------------------------------------------------------
-OSN_EXPORT void AlfVisualTemplate::setOwner(IAlfElement* aOwner) throw()
-    {
-	if(aOwner != mOwner)
-	    {
-	    // Remove this visual template from it's parent. Parent and owner are
-	    // mutually exclusive properties on a visual template.
-	    if(aOwner && (parent() != 0))
-	        {
-	        parent()->removeChildTemplate(*this);
-	        }
-	    
-	    // Set the owner of this visual template.
-		mOwner = aOwner;
-	    }
-    }
-
-OSN_EXPORT IAlfElement* AlfVisualTemplate::owner() const throw()
-    {
-	return mOwner;
-    }
-    
-// ---------------------------------------------------------------------------
-// Description : Set the name of the visual, i.e., the tag.
-// ---------------------------------------------------------------------------
-OSN_EXPORT void AlfVisualTemplate::setName(const char* aName)
-    {
-    mVisualName = UString(aName);
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Get the name of the visual, i.e., the tag.
-// ---------------------------------------------------------------------------
-OSN_EXPORT const char* AlfVisualTemplate::name() const throw()
-    {
-    return mVisualName.getUtf8();
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Add a child visual template.
-// ---------------------------------------------------------------------------
-OSN_EXPORT void AlfVisualTemplate::addChildTemplate(IAlfVisualTemplate& aChild)
-    {    
-    insertChildTemplate(aChild, mChildren.size());
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Inserts a child visual template at given index
-// ---------------------------------------------------------------------------
-OSN_EXPORT void AlfVisualTemplate::insertChildTemplate(IAlfVisualTemplate& aChild, int aIndex)
-	{
-	if(!(aIndex >=0 && aIndex <= mChildren.size()))
-	    ALF_THROW(AlfException, EInvalidArrayIndex, "AlfVisualTemplate::insertChildTemplate() - Index out of bounds.");
-	     	
-    // Verify that the given argument is valid
-    if(existsInHierarchy(*this, aChild))
-        {
-        ALF_THROW(AlfException, EInvalidHierarchy, "AlfVisualTemplate::insertChildTemplate() - Adding a child visual template that is already in the hierarchy.");
-        }
-    if(existsInHierarchy(aChild, *this))
-        {
-        ALF_THROW(AlfException, EInvalidHierarchy, "AlfVisualTemplate::insertChildTemplate() - Attempt to create a recursive visual template tree.");
-        }
-    if(layoutType() < 0)
-        {
-        ALF_THROW(AlfException, EInvalidHierarchy, "AlfVisualTemplate::insertChildTemplate() - Attempt to add a child visual into a non-layout visual template.");
-        }     	
-     	
-    // Insert child visual template to the array
-	mChildren.insert(mChildren.begin() + aIndex, &aChild);
-	
-    // Remove child from previous hierarchy and add it under this visual template.
-    if(aChild.parent())
-        {
-        // Visual template cannot have a parent and owner at the same time.
-        assert(aChild.owner() == 0);
-        aChild.parent()->removeChildTemplate(aChild);        
-        }
-    if(aChild.owner())
-        {
-        // Visual template cannot have a parent and owner at the same time.
-        assert(aChild.parent() == 0);
-        aChild.owner()->removeVisualTemplate();
-        }
-    
-    // Set a new parent for this visual template.
-    aChild.setParent(this);	
-	}
-
-// ---------------------------------------------------------------------------
-// Description : Destroyes a child visual template at given index
-// ---------------------------------------------------------------------------
-OSN_EXPORT void AlfVisualTemplate::destroyChildTemplate(int aIndex) throw()
-	{
-	// Remove and destroy a child template by the given index
-	if(aIndex >=0 && aIndex < mChildren.size())
-		{
-		IAlfVisualTemplate* child = mChildren[aIndex];				
-		removeChildTemplate(*child);
-		delete child;
-		}				
-	}
-	
-// ---------------------------------------------------------------------------
-// Description : Destroyes a child visual template.with the given name
-// ---------------------------------------------------------------------------
-OSN_EXPORT void AlfVisualTemplate::destroyChildTemplate(const char* aName) throw()
-	{
-	// Search through the children for the given name.
-	for(int i = 0; i < mChildren.size() ;i++)
-    	{
-		if(!strcmp(mChildren[i]->name(), aName))
-    		{
-    		// Remove and destroy the found child visual template
-    		IAlfVisualTemplate* child = mChildren[i];
-    		removeChildTemplate(*child);
-    		delete child;
-    		}
-    	}
-	}
-	
-// ---------------------------------------------------------------------------
-// Description : Get the number of child visual templates.
-// ---------------------------------------------------------------------------
-OSN_EXPORT int AlfVisualTemplate::numChildTemplates() const throw()
-    {
-    return mChildren.size();
-    }
-
-// ---------------------------------------------------------------------------
-// Description : Get a child visual template.
-// ---------------------------------------------------------------------------
-OSN_EXPORT IAlfVisualTemplate& AlfVisualTemplate::childTemplate(int aIndex) const
-    {
-    if((aIndex < 0) || (aIndex >= numChildTemplates()))
-        {
-        ALF_THROW(AlfException, EInvalidArrayIndex, "AlfVisualTemplate::childTemplate() - Index out of bounds.");
-        }
-    return *mChildren[aIndex];
-    }
-
-// -----------------------------------------------------------------------------
-// Description : Add a new visual attribute setter. The ownership is not passed.
-// -----------------------------------------------------------------------------
-OSN_EXPORT void AlfVisualTemplate::addAttributeSetter(
-    IAlfAttributeSetter* aSetter, AlfAttributeContainer* aContainer )
-    {
-    mAttributeArray.resize(mAttributeArray.count()+1);
-    mContainerArray.resize(mContainerArray.count()+1);
-
-    mAttributeArray.insert(mAttributeArray.count(),aSetter);
-    mContainerArray.insert(mContainerArray.count(),aContainer);
-    }
-
-// -----------------------------------------------------------------------------
-// Description : Get the number of visual attribute setters.
-// -----------------------------------------------------------------------------
-OSN_EXPORT int AlfVisualTemplate::numAttributeSetters() const throw()
-    {
-    return mAttributeArray.count();
-    }
-
-// -----------------------------------------------------------------------------
-// Description : Get a visual attribute setter.
-// -----------------------------------------------------------------------------
-OSN_EXPORT IAlfAttributeSetter& AlfVisualTemplate::attributeSetter(int aIndex) const
-    {
-    if((aIndex < 0) || (aIndex >= mAttributeArray.count()))
-        {
-        ALF_THROW(AlfException, EInvalidArrayIndex, "AlfVisualTemplate::attributeSetter() - Index out of bounds.");
-        }    
-    return *mAttributeArray[aIndex];
-    }
-
-// -----------------------------------------------------------------------------
-// Description :
-// -----------------------------------------------------------------------------
-OSN_EXPORT AlfAttributeContainer& AlfVisualTemplate::attributeContainer(int aIndex) const
-    {
-    if((aIndex < 0) || (aIndex >= mContainerArray.count()))
-        {
-        ALF_THROW(AlfException, EInvalidArrayIndex, "AlfVisualTemplate::attributeContainer() - Index out of bounds.");
-        }        
-    return *mContainerArray[aIndex];
-    }
-
-// -----------------------------------------------------------------------------
-// Description : Update an existing visual tree with new values
-// -----------------------------------------------------------------------------
-OSN_EXPORT CAlfVisual* AlfVisualTemplate::updateVisualTree(IAlfMap* aData, IAlfMap* aOldData, CAlfVisual& aVisual)
-    {
-
-    CAlfVisual* retVisual = &aVisual;
-    // Update the attributes.
-    for (int i = 0; i < mAttributeArray.count(); ++i)
-        {
-        try
-            {
-            //ALF_PERF_START( perfdata, "AlfVisualTemplate-updateVisualTree-SetAttributeValue")
-            mAttributeArray[i]->setAttributeValue(aVisual, mContainerArray[i], aData);
-            //ALF_PERF_STOP( perfdata, "AlfVisualTemplate-updateVisualTree-setAttributeValue")
-            }
-        catch (...)
-            {
-            ALF_THROW(AlfAttributeException,EInvalidAttributeValue,"AlfVisualTemplate")
-            }
-        }
-    // Pass to children
-    if (mChildren.size())
-        {
-        int ind = selectedChildInd( aData );
-        if (ind >= 0 && ind < mChildren.size())
-            {
-            CAlfLayout *layout = (CAlfLayout *)&aVisual;
-            int indOld = selectedChildInd( aOldData );
-            if ( ind == indOld )
-                {
-                mChildren[ind]->updateVisualTree( aData, aOldData, *layout );
-                }
-            else
-                {
-                CAlfControl& c(aVisual.Owner());
-
-                //new visual tree is created. Replaces the current (now old) layout,
-                //which is removed from its parent and destroyed.
-                //new layout is returned from the function.
-                CAlfLayout* parentLayout = layout->Layout();
-                TInt ind = parentLayout->FindVisual(layout);
-                parentLayout->Remove(layout);
-                layout->RemoveAndDestroyAllD();
-                CAlfLayout* newLayout = (CAlfLayout *) createVisualTree(c, aData, parentLayout, ind);
-                retVisual = newLayout;
-                }
-            }
-        else
-            {
-            CAlfLayout *layout = (CAlfLayout *)&aVisual;
-            for (int i = 0; i < mChildren.size(); ++i)
-                {
-                mChildren[i]->updateVisualTree(aData, aOldData, layout->Visual(i));
-                }
-            }
-        }
-    return retVisual;
-    }
-    
-// -----------------------------------------------------------------------------
-// Description : create a new visual tree and initialize the visuals
-// -----------------------------------------------------------------------------
-OSN_EXPORT CAlfVisual* AlfVisualTemplate::createVisualTree(CAlfControl& aControl,
-        IAlfMap* aData, CAlfLayout* aParentLayout, int aLayoutIndex)
-    {
-    // create the visual
-    CAlfVisual *result = NULL;
-    CAlfLayout *layout = NULL;
-    if (!mSelectOneChild)
-        {
-        if (mVisualType < 0)
-            {
-            //ALF_PERF_START( perfdata, "AlfVisualTemplate-createVisualTree-NewLayout")
-            // create layout
-            result = layout = AlfVisualFactory::NewLayoutL(
-                                  (TAlfLayoutType)(-1 - mVisualType), aParentLayout, aControl, aControl.Env());
-            //ALF_PERF_STOP( perfdata, "AlfVisualTemplate-createVisualTree-NewLayout")
-            if (!result)
-                {
-                ALF_THROW(AlfVisualException,ECanNotCreateVisual,"AlfVisualTemplate")
-                }
-            }
-        else
-            {
-            // create visual
-            //ALF_PERF_START( perfdata, "AlfVisualTemplate-createVisualTree-NewVisual")
-            result = AlfVisualFactory::NewVisualL(
-                         (TAlfVisualType)mVisualType, aParentLayout, aControl, aControl.Env());
-            //ALF_PERF_STOP( perfdata, "AlfVisualTemplate-createVisualTree-NewVisual")
-            if (!result)
-                {
-                ALF_THROW(AlfVisualException,ECanNotCreateVisual,"AlfVisualTemplate")
-                }
-
-            //Add the brushes to the visual
-            result->EnableBrushesL(true);
-            for (int i=0; i < mBrushArray.count(); i++)
-                {
-                result->Brushes()->AppendL(mBrushArray[i], EAlfDoesNotHaveOwnership);
-                }
-            }
-        if (aParentLayout &&
-                aLayoutIndex >= 0 && aLayoutIndex <= aParentLayout->Count())
-            {
-            //when aConstructedWithParentInformation- parameter is ETrue,
-            //no message sent to server
-            aParentLayout->Append(result, ETrue);
-
-            //reorder, if needed.
-            if (aLayoutIndex != aParentLayout->Count() - 1)
-                {
-                aParentLayout->Reorder(*result, aLayoutIndex);
-                }
-            }
-        aControl.Append(result);
-
-        if (mVisualName.isNull())
-            mVisualName = UString("");
-        result->SetTagL(TPtrC8((unsigned char*)mVisualName.getUtf8()));
-        
-        // Set the attributes
-        for (int i = 0; i < mAttributeArray.count(); ++i)
-            {
-            try
-                {
-                //ALF_PERF_START( perfdata, "AlfVisualTemplate-createVisualTree-setAttributeValue")
-                // set dirtines of all attribute in createvisualtree
-                for(int j = 0; j < mContainerArray[i]->attributeCount() ;j++ )
-                    {
-                    mContainerArray[i]->getAttribute(j).setDirty(true);
-                    }
-                mAttributeArray[i]->setAttributeValue(*result, mContainerArray[i], aData);
-                //ALF_PERF_STOP( perfdata, "AlfVisualTemplate-createVisualTree-setAttributeValue")
-                }
-            catch (...)
-                {
-                ALF_THROW(AlfAttributeException,EInvalidAttributeValue,"AlfVisualTemplate")
-                }
-            }        
-        }
-    
-    // Pass to children
-    int ind = selectedChildInd( aData );
-    if (ind >= 0 && ind < mChildren.size())
-        {
-        result = mChildren[ind]->createVisualTree(aControl, aData, aParentLayout, aLayoutIndex);
-        }
-    else if (!mSelectOneChild)
-        {
-        for (int i = 0; i < mChildren.size(); ++i)
-            {
-            mChildren[i]->createVisualTree(aControl, aData, layout, i);
-            }
-        }
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// reads and returns selected ind from data, if set. If not set returns -1.
-// -----------------------------------------------------------------------------
-int AlfVisualTemplate::selectedChildInd( IAlfMap* aData )
-    {
-    int ind = -1;
-    if (aData && mSelectOneChild)
-        {
-        IAlfVariantType* data = aData->item(mChildIndFieldName);
-
-        //field value contains index to child array.
-        //if field contains no data and template has only one
-        // child, assume it's the child wanted.
-        bool valueIsEmpty = false;
-        if (!data)
-            {
-            valueIsEmpty = true;
-            }
-        else
-            {
-            switch ( data->type() )
-                {
-                case IAlfVariantType::EInt:
-                    ind = data->integer();
-                    break;
-                default:
-                    break;
-                }
-            }
-        if ( valueIsEmpty && mChildren.size() == 1 )
-            {
-            ind = 0;
-            }
-        }
-    return ind;
-    }
-
-// -----------------------------------------------------------------------------
-// Description : Removes a visual template from the child array without
-// destroying the child template object.
-// -----------------------------------------------------------------------------
-void AlfVisualTemplate::removeChildTemplate(IAlfVisualTemplate& aChild) throw()
-    {
-    std::vector<IAlfVisualTemplate*>::iterator it = find(mChildren.begin(), mChildren.end(), &aChild);
-    if(it != mChildren.end())
-        {
-        mChildren.erase(it);
-        aChild.setParent(0);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Description : Returns the parent visual template object
-// -----------------------------------------------------------------------------
-OSN_EXPORT IAlfVisualTemplate* AlfVisualTemplate::parent() const throw()
-    {
-    return mParent;
-    }
-    
-// -----------------------------------------------------------------------------
-// Description : Set the visual type
-// -----------------------------------------------------------------------------
-OSN_EXPORT void AlfVisualTemplate::setParent(IAlfVisualTemplate* aParent) throw()
-    {
-    mParent = aParent;
-    }
-
-// -----------------------------------------------------------------------------
-// Description : Set the visual type
-// -----------------------------------------------------------------------------
-OSN_EXPORT void AlfVisualTemplate::setVisualType(TAlfVisualType aType)
-    {
-    mVisualType = aType;
-    }
-
-// -----------------------------------------------------------------------------
-// Description : Get the visual type
-// -----------------------------------------------------------------------------
-OSN_EXPORT int AlfVisualTemplate::visualType() const throw()
-    {
-    return mVisualType;
-    }
-// -----------------------------------------------------------------------------
-// Description : Set the layout type
-// -----------------------------------------------------------------------------
-OSN_EXPORT void AlfVisualTemplate::setLayoutType(TAlfLayoutType aType)
-    {
-    mVisualType = -1 - aType;
-    }
-
-// -----------------------------------------------------------------------------
-// Description : Get the layout type
-// -----------------------------------------------------------------------------
-OSN_EXPORT int AlfVisualTemplate::layoutType() const throw()
-    {
-    return -1 - mVisualType;
-    }
-
-// -----------------------------------------------------------------------------
-// Description : Adds brush to the brush array.
-// -----------------------------------------------------------------------------
-OSN_EXPORT void AlfVisualTemplate::addBrush(CAlfBrush& aBrush)
-    {
-    mBrushArray.resize(mBrushArray.count()+1);
-    mBrushArray.insert(mBrushArray.count(),&aBrush);
-    }
-
-// -----------------------------------------------------------------------------
-// Description : Get the munber of brushes
-// -----------------------------------------------------------------------------
-OSN_EXPORT int AlfVisualTemplate::numBrushes() const
-    {
-    return mBrushArray.count();
-    }
-
-// -----------------------------------------------------------------------------
-// Description : Get a Brush
-// -----------------------------------------------------------------------------
-OSN_EXPORT CAlfBrush& AlfVisualTemplate::brush(int aIndex) const
-    {
-    return *mBrushArray[aIndex];
-    }
-
-
-// -----------------------------------------------------------------------------
-// Description : puts the class in to selected child mode.
-// -----------------------------------------------------------------------------
-OSN_EXPORT void AlfVisualTemplate::setSelectChildMode(bool aSelectChild,
-        const UString& aChildIndFieldName )
-    {
-    mSelectOneChild = aSelectChild;
-    mChildIndFieldName = aChildIndFieldName;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the visual template.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfInterfaceBase* AlfVisualTemplate::makeInterface( const IfId& aType )
-    {
-    UString param(aType.mImplementationId);
-    if (param == IAlfVisualTemplate::type().mImplementationId)
-        {
-        return static_cast<IAlfVisualTemplate*>(this);
-        }
-    return NULL;
-    }
-
-    } //Alf
--- a/widgetmodel/alfwidgetmodel/src/alfwidget.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,498 +0,0 @@
-/*
-* 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:  The base class for all widgets.
-*
-*/
-
-
-#include <alf/alfenv.h>
-#include "alf/alfwidget.h"
-#include <alf/alfwidgetcontrol.h>
-#include <alf/ialfmodel.h>
-#include <alf/ialfviewwidget.h>
-#include <alf/alfcontrolgroup.h>
-#include <osn/ustring.h>
-#include <alf/alfvarianttype.h>
-#include <alf/alfexceptions.h>
-#include <alf/alflayout.h>
-#include "alf/alfattribute.h"
-#include "alf/alfattributevaluetype.h"
-#include "alf/ialfattributeowner.h"
-#include <alf/ialfwidgetfactory.h>
-#include <alf/alfevent.h>
-#include <alf/alfwidgetevents.h>
-#include <alf/alfwidgetenvextension.h>
-#include <osn/osnnew.h>
-#include <assert.h>
-
-#include "alfwidgetimpl.h"
-#include "alfwidgetattributeownerimpl.h"
-#include "ialfhostapi.h"
-
-namespace Alf
-    {
-
-// ======== MEMBER FUNCTIONS ========
-
-OSN_EXPORT AlfWidget::AlfWidget()
-    {
-    }
-
-OSN_EXPORT AlfWidget::AlfWidget(const char* aWidgetName)
-	{
-    mImpl.reset(new (EMM) AlfWidgetImpl());
-    mImpl->setWidgetName(UString(aWidgetName));
-    addCommonWidgetProperties();	
-	}
-
-OSN_EXPORT AlfWidget::AlfWidget(const char* aWidgetName, IAlfContainerWidget& aContainer, CAlfEnv& aEnv)    
-    {    
-    mImpl.reset(new (EMM) AlfWidgetImpl());
-    mImpl->setWidgetName(UString(aWidgetName));
-    addCommonWidgetProperties();    
-    
-    // Create default control for the widget so that widget containment hierarchy can be
-    // created.
-    if(!control())
-        {
-        auto_ptr<CAlfWidgetControl> control(new (EMM) CAlfWidgetControl(aEnv));
-        setControl(control.get(), false);
-        control.release();
-        }
-    
-    // Add this widget to the container widget
-    aContainer.addWidget(*this);
-    }
-
-void AlfWidget::addCommonWidgetProperties()
-    {
-    }
-
-void AlfWidget::removeReferenceFromControl()
-    {
-    // Make sure that the widget's control is not pointing to this widget anymore
-    if(control() && (control()->widget() == this))
-    	{
-    	control()->setOwnerWidget(0);
-    	}	
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfWidget::~AlfWidget()
-    {
-
-    if( control() && control()->Host() )
-        {
-        CAlfWidgetControl* parentControl =
-            dynamic_cast<CAlfWidgetControl*>( control()->Host() );
-        
-        if (control()->Focus())
-            {
-            control()->CAlfWidgetControl::RelinquishFocus();
-            }
-         
-         // This widget is now deleted and it needs to be removed from the
-        // container to avoid double deletion.
-        if (parentControl)
-            {
-            AlfWidget* widget = parentControl->widget();
-            if (widget)
-                {
-                widget->removeWidget( *this );
-                }
-            }
-        }
-            
-    // Delete and remove all the connected child widgets.
-    // AlfWidgetFactory::destroyWidget causes ~AlfWidget to be called for
-    // the child widget so this works recursively. Note that it also
-    // then removes the connection to the container widget in the beginning
-    // of ~AlfWidget destructor call.
-    
-    IAlfWidgetFactory& factory = AlfWidgetEnvExtension::widgetFactory(*(CAlfEnv::Static()));
-    
-    while ( widgetCount() )
-        {
-        // Destroy the child widget and also remove it from the child widget
-        // array to make sure that this loop terminates.
-        // Normally also ~AlfWidget of the child widget removes the destroyed widget
-        // from this widget's child array, but that might not be the case
-        // if the child widget has not been added in the CAlfEnv
-        // (all widgets should always be added there).
-        // If not added in the env, destroyWidget does not delete the widget!
-        
-        IAlfWidget* child = mImpl->getWidget( 0 );
-
-        removeWidget( *child );        
-        IAlfWidget* actual = factory.findWidget( child->widgetName() );
-        if( actual )
-        	{
-        	factory.destroyWidget(actual);
-        	}              
-        }
- 
-    // Ensure that the control is not pointing back to this widget
-    removeReferenceFromControl();
-    }
-
-
-OSN_EXPORT CAlfWidgetControl* AlfWidget::control() const
-    {
-    return mImpl->control();
-    }
-    
-// ---------------------------------------------------------------------------
-// return the parent container
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfContainerWidget* AlfWidget::parent() const
-    {
-    CAlfWidgetControl* ctrl = control();
-    assert(ctrl); //should always be set.
-    
-    IAlfContainerWidget* containerWidget = 0;
-    CAlfWidgetControl* parentControl =
-        dynamic_cast<CAlfWidgetControl*>(ctrl->Host());
-    IAlfWidgetFactory& factory = AlfWidgetEnvExtension::widgetFactory(*(CAlfEnv::Static()));
-    if (parentControl)
-        {
-        IAlfWidget* widget = parentControl->widget();
-        if (widget)
-            {
-            //control->widget may return wrong instance, temporary fix,
-            // find widget from the CAlfEnv.
-            const char* name = widget->widgetName();
-            IAlfWidget* w = factory.findWidget(name);
-            containerWidget = 
-                IAlfWidget::makeInterface<IAlfContainerWidget>(w);
-            assert(containerWidget);
-            }
-        }
-        
-    return containerWidget;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the new control for this widget. The control will be automatically
-// added as an observer for the model, and notified about any
-// model changes (e.g., modelChangedL()).
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidget::setControl(CAlfWidgetControl* aControl, bool aDeletePreviousControl)
-    { 
-    CAlfWidgetControl* myControl = control();
-    if(aControl && (aControl != myControl))
-        {
-        // Throw exception if the set control is still a control of another widget
-        if(aControl->widget())
-            {
-            ALF_THROW(AlfException, EInvalidArgument, "AlfWidget::setControl() - Control is already set to another widget.");
-            }
-        
-        // Append control to widget's control group
-        if(myControl)
-            {
-            assert(myControl->ControlGroup() != 0);
-            aControl->resetControlGroup(*myControl->ControlGroup());
-        
-            // Move connections from old control to new control
-            IAlfHostAPI& oldHostApi = myControl->hostAPI();
-            IAlfHostAPI& newHostApi = aControl->hostAPI();
-            
-            // Move old controls children under new control
-            int childCount = oldHostApi.getConnectionCount();
-            while(childCount > 0)
-                {
-                newHostApi.setConnection(*oldHostApi.getConnection(0), EChild);
-                childCount--;
-                }
-                
-	        //relinquishfocus or else pointer is left in roster, even though memory for it
-	        //might be released. Must be called before connection removed.
-            if (myControl->Focus())
-                {
-                myControl->RelinquishFocus();
-                }
-                
-            // Move new control under the old control's parent and remove old control from the parent.
-            if(myControl->Host())
-                {
-                CAlfWidgetControl* parent = dynamic_cast<CAlfWidgetControl*>(myControl->Host());
-                if(parent)
-                    {
-                    IAlfHostAPI& parentHostApi = parent->hostAPI();
-                    parentHostApi.setConnection(*aControl, EChild);
-                    parentHostApi.removeConnection(*myControl);
-                    }
-                }                
-            }
-                
-        // Set the owner widget of the control to point to this widget
-        aControl->setOwnerWidget(this);
-        
-        // Remove reference to this widget from the previous control
-        removeReferenceFromControl();               
-        }
-    mImpl->setControl(aControl, aDeletePreviousControl);
-    }
-
-OSN_EXPORT IAlfModel* AlfWidget::model()
-    {
-    return  mImpl->model();
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the new model for this widget. If a control exists, it is automatically
-// added as an observer for the model and notified for the model change.
-// The old model is released.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidget::setModel( IAlfModel* aModel,bool aTakeOwnerShip)
-    {
-    mImpl->setModel( aModel ,aTakeOwnerShip);
-    }
-
-
-OSN_EXPORT const char* AlfWidget::widgetName() const
-    {
-    return mImpl->widgetName().getUtf8();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MAlfInterfaceBase.
-// Static getter for interfaces provided by the widget, the control, or the model.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfInterfaceBase* AlfWidget::makeInterface( AlfWidget* aWidget, const IfId& aType )
-    {
-    if ( !aWidget )
-        {
-        return NULL;
-        }
-    else
-        {
-        return aWidget->makeInterface( aType );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the widget.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfInterfaceBase* AlfWidget::makeInterface( const IfId& aType )
-    {
-    UString param(aType.mImplementationId);
-    if ( param == IAlfWidget::type().mImplementationId )
-        {
-        return static_cast<IAlfWidget*>(this);
-        }
-    else if (param == IAlfAttributeOwner::type().mImplementationId )
-        {
-        return static_cast<IAlfAttributeOwner*>(mImpl->getAttributeOwner());
-        }
-    else if (param == IAlfContainerWidget::type().mImplementationId )
-        {
-        return static_cast<IAlfContainerWidget*>(this);
-        }
-    IAlfInterfaceBase* result = NULL;
-    if (control())
-        {
-        result = control()->makeInterface(aType);
-        }
-    if (!result && model())
-        {
-        result = model()->makeInterface(aType);
-        }
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT int AlfWidget::widgetCount() const
-    {
-    return mImpl->widgetCount();
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfContainerWidget
-// ---------------------------------------------------------------------------
-OSN_EXPORT void AlfWidget::addWidget(IAlfWidget& aWidget)
-    {
-    // There should never be a situation where add widget is called on a
-    // widget without a control.
-    assert(aWidget.control() != 0);
-    assert(control() != 0);
-    assert(control()->ControlGroup() != 0);
-
-    // Throw an exception if widget is added to itself.
-    IAlfWidget* self = static_cast<IAlfWidget*>(this);
-    if(self == &aWidget)
-        {
-        ALF_THROW(AlfException, EInvalidArgument, "Tried to add a widget to itself.");
-        }
-
-    // Throw an exception if added widget is a view widget.
-    IAlfViewWidget* view = aWidget.makeInterface<IAlfViewWidget>(&aWidget);
-    if(view != 0)
-        {
-        ALF_THROW(AlfException, EInvalidArgument, "Attempted to add a view widget into a container widget.");
-        }        
-
-    // Bail out if the given widget is already added in this widget.
-    if(mImpl->findWidget(static_cast<AlfWidget*>(&aWidget)) != -1)
-        {
-        return;
-        }
-
-    // Append the added widget and its children to widget's control group.
-    aWidget.control()->resetHierarchyControlGroup(*control()->ControlGroup());
-
-    // Append widget to widget array and remove widget from previous container's widget array.
-    mImpl->addWidget(static_cast<AlfWidget*>(&aWidget));
-    CAlfWidgetControl* parentControl = dynamic_cast<CAlfWidgetControl*>(aWidget.control()->Host());
-    if( parentControl )
-        {
-        parentControl->widget()->removeWidget(aWidget);
-        }
-
-    // Set connection to added widget's control
-    CAlfWidgetControl* cntrl = control();
-    if (cntrl)
-        {
-        IAlfHostAPI& hostApi = cntrl->hostAPI();
-        try
-            {
-            hostApi.setConnection(*aWidget.control(), EChild);
-            }
-        catch (AlfException &e)
-            {
-            removeWidget(aWidget);
-            // Attempt to add it back to the old.
-            if(parentControl)
-                {
-                parentControl->widget()->mImpl->addWidget(static_cast<AlfWidget*>(&aWidget));
-                hostApi.setConnection(*parentControl, EChild);
-                }
-            throw(e);
-            }
-        }
-    }
-	
-OSN_EXPORT IAlfWidget* AlfWidget::getWidget(int aIndex) const
-    {
-    return mImpl->getWidget(aIndex);
-    }
-    
-OSN_EXPORT int AlfWidget::getWidgetIndex(IAlfWidget& aWidget) const
-    {
-    return mImpl->findWidget(static_cast<AlfWidget*>(&aWidget));
-    }
-
-OSN_EXPORT void AlfWidget::removeWidget(int aIndex)
-    {
-    IAlfWidget* widget = getWidget(aIndex); //get the widget
-    CAlfWidgetControl* cntrl = control();
-    if (widget && cntrl)
-        {
-        CAlfWidgetControl* childcontrol = widget->control();
-        if(childcontrol)
-            {
-            if (childcontrol->Focus())
-                {
-                try
-                    {
-                    childcontrol->RelinquishFocus();
-                    }
-                 catch(...)
-                    {
-                    // ignore any problems with getting rid of focus
-                    }
-                }
-            else if(childcontrol->isContainer())
-                {
-                CAlfWidgetControl* focused = 
-                        dynamic_cast<CAlfWidgetControl*>(childcontrol->FocusedConnection());                    
-                if(focused)
-                    {
-                    try
-                        {
-                        control()->processEvent(TAlfEvent(EEventFocusNextWidget));
-                        }
-                    catch(...)
-                        {
-                        // cannot fail because of event processing to get rid of focus
-                        }
-                    }
-                }
-            IAlfHostAPI& hostApi = cntrl->hostAPI();
-            hostApi.removeConnection(*childcontrol); //remove from hierarchy
-            }
-        }
-    mImpl->removeWidget(aIndex); //remove it from array
-    }
-
-OSN_EXPORT void AlfWidget::applyLayout(IAlfLayoutManager& aLayout)
-    {
-    CAlfWidgetControl* cntrl = control();
-    if (cntrl)
-        {
-        IAlfHostAPI& hostApi = cntrl->hostAPI();
-      
-        //remove connections first
-        for (int i=0 ; i< widgetCount() ; i++)
-            {
-            IAlfWidget* widget = getWidget(i);
-            hostApi.removeConnection(*widget->control());
-            }
-
-        hostApi.setBaseLayout(aLayout);    
-        
-        //add connections again, when new layout has been set.
-        for (int i=0 ; i< widgetCount() ; i++)
-            {
-            IAlfWidget* widget = getWidget(i);
-            hostApi.setConnection(*(widget->control()),EChild);
-            }
-        }
-    }
-
-OSN_EXPORT void AlfWidget::setChildFocus(bool /*aFocus*/)
-    {
-
-    }
-    
-OSN_EXPORT void AlfWidget::setPresentation(const char* /*aFilePath*/)
-    {
-    }
-    
-    
-OSN_EXPORT void AlfWidget::removeWidget(IAlfWidget& aWidget)
-    {
-    for(int i = 0; i < mImpl->widgetCount(); ++i)
-        {
-        if(mImpl->getWidget(i) == &aWidget)
-            {
-            mImpl->removeWidget(i);
-            break;
-            }
-        }
-    }
-    
-    }//namespace Alf
-
-
--- a/widgetmodel/alfwidgetmodel/src/alfwidgetattributeownerimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,515 +0,0 @@
-/*
-* 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:  Implementation of the IAlfAttributeOwner interface 
-*                for AlfWidget.
-*
-*/
-
-
-#include <alf/alfexceptions.h>
-#include "alf/alfattribute.h"
-#include <alf/alfwidgetcontrol.h>
-#include <alf/ialfelement.h>
-#include <osn/ustring.h>
-#include "alf/attrproperty.h"
-#include "alf/alfattributecontainer.h" 
-#include <alf/alfwidgetcommand.h> 
-
-
-#include "alfwidgetattributeownerimpl.h"
-
-using namespace duiuimodel;
-
-namespace Alf
-    {
-
-// ---------------------------------------------------------------------------
-// Constructor.
-// ---------------------------------------------------------------------------
-//
-AlfWidgetAttributeOwnerImpl::AlfWidgetAttributeOwnerImpl(
-    CAlfWidgetControl* aControl) :
-    mControl(aControl)
-    {
-    mAttributeList.setAutoDelete(true);    
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-AlfWidgetAttributeOwnerImpl::~AlfWidgetAttributeOwnerImpl()
-    {
-    mAttributeList.clear();
-    }
-    
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the widget.
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* AlfWidgetAttributeOwnerImpl::makeInterface(
-    const IfId& aType)
-    {
-    UString param(aType.mImplementationId);
-    if (param == IAlfAttributeOwner::type().mImplementationId)
-        {
-    	return static_cast<IAlfAttributeOwner*>(this);
-        }
-    return 0;
-    }    
-        
-// ---------------------------------------------------------------------------
-// Get the number of available attributes.
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-int AlfWidgetAttributeOwnerImpl::attributeCount() const
-    {
-    int count = mAttributeList.count();
-    // Add control attribute count.
-    IAlfAttributeOwner* control =
-        IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(mControl);
-    if (control)
-        {
-        count += control->attributeCount();
-        // Add root element attribute count
-        for (int i = 0; i < mControl->numElements(); i++)
-            {
-             IAlfElement& element = mControl->element(i);
-             if (element.parentElement() == 0)
-                {
-                // Get the attribute interface
-                IAlfAttributeOwner* attributeOwner = 
-                    IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(&element);
-                    
-                if (attributeOwner)
-                    {
-                    count += attributeOwner->attributeCount();
-                    }
-                }
-            }
-        }
-    
-    return count;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets the attribute with the given name.
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-const AlfAttribute* AlfWidgetAttributeOwnerImpl::getAttribute(
-    const UString& aAttribName) const
-    {
-    const AlfAttribute* attribute = 0;
-    
-    // Try to find from widget
- 	for (int i = 0; i < mAttributeList.count(); i++)
- 	    {
- 		if (!strcmp(aAttribName.getUtf8(), mAttributeList[i]->name()))
- 		    {
- 			attribute = mAttributeList[i];
- 			break;
- 		    }
- 	    }
- 	    
-    if (!attribute)
-        {
-        // Try to find from control
-        IAlfAttributeOwner* control =
-            IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(mControl);
-            
-        if (control)
-            {
-            attribute = control->getAttribute(aAttribName);
-            }
-            
-        if (!attribute)
-            {
-            // Try to find from root elements
-            for (int i = 0; i < mControl->numElements(); i++)
-                {
-                 IAlfElement& element = mControl->element(i);
-                 if (element.parentElement() == 0)
-                    {
-                    // Get the attribute interface
-                    IAlfAttributeOwner* attributeOwner = 
-                        IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(&element);
-                        
-                    if (attributeOwner)
-                        {
-                        attribute = attributeOwner->getAttribute(aAttribName);
-                        if (attribute)
-                            {
-                            break;
-                            }
-                        }
-                    }
-                }
-            }
-
-        }
-         	    
-    return attribute;
-    }
-
-// ---------------------------------------------------------------------------
-// Set a value of an attribute.
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-bool AlfWidgetAttributeOwnerImpl::setAttribute(const AlfAttribute& aAttribute)
-    {
-    // The attribute must have at least one value set.
-    if (!aAttribute.getTargetValueCount())
-        {
-        ALF_THROW(
-            AlfAttributeException, EInvalidAttribute, "AlfWidgetAttributeOwnerImpl")
-        }   
-       
-    if (canHandleAttribute(aAttribute.name()))
-        {
-         // Check whether the attribute exists already.
-        int i = 0;
-        for (i = 0; i < mAttributeList.count() ; i++)
-     	    {
-     		if (!strcmp(aAttribute.name(), mAttributeList[i]->name()))
-     		    {
-     		    // Attribute exists already, modify the contents.
-     			*mAttributeList[i] = aAttribute;
-     		    handleAttribute(*mAttributeList[i]);
-     		    return true;
-     		    }
-            }
-
-        // Attribute with the given name does not exist,
-        // clone the given attribute and insert it in the list.
-        mAttributeList.resize(mAttributeList.count() + 1);
-        // Insert cannot fail because already resized.
-        mAttributeList.insert(mAttributeList.count(),
-            const_cast<AlfAttribute&>(aAttribute).clone());
-        handleAttribute(*mAttributeList[i]);
-        return true;
-        }
-    
-    bool supported(false);
-    bool sendevent(true);
-    
-    // Let the control try to handle attribute.
-    IAlfAttributeOwner* control =
-        IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(mControl);
-    if (control)
-        {
-        supported = control->setAttribute(aAttribute);
-        }
-        
-    // Let the root elements try to handle attribute
-    if (!supported)
-        {
-        supported = handleElementAttribute(aAttribute);
-        sendevent = false; //event already sent
-        }
-
-    //inform env of attribute setting
-    if (supported && sendevent)
-        {
-        UString target;
-        auto_ptr<AlfAttribute> attribute(new (EMM) AlfAttribute());
-        *attribute.get() = aAttribute;
-        TAlfWidgetAttributeCommand command(attribute.get(), target, mControl->widget());
-        attribute.release();
-        command.ExecuteL(mControl->Env());
-        }
-
-    return (supported);
-    }
-
-// ---------------------------------------------------------------------------
-// Set a value of an attribute.
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-bool AlfWidgetAttributeOwnerImpl::setAttribute(
-    const UString& aAttribName, AlfAttributeValueType* aValue)
-    {
-    if (!aValue)
-        {
-        ALF_THROW(
-            AlfAttributeException, EInvalidAttribute, "AlfWidgetAttributeOwnerImpl")
-        }
-        
-    // Create a new attribute.
-    auto_ptr<AlfAttribute> attribute(
-        new (EMM) AlfAttribute(aAttribName.getUtf8(), AlfAttribute::EStatic));  
-    attribute->addTargetValue(aValue);
-	 
-    return setAttribute(*attribute.get());
-    }   
-// ---------------------------------------------------------------------------
-// Set a value of an attribute.
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-bool AlfWidgetAttributeOwnerImpl::setAttribute( const UString& aTargetId , 
-												AlfAttribute& aAttribute ) 
-	{
-	
- 	bool supported(false);
- 
-	 // The attribute must have at least one value set.
-	if (!aAttribute.getTargetValueCount())
-	    {
-	    ALF_THROW(
-	        AlfAttributeException, EInvalidAttribute, "AlfWidgetAttributeOwnerImpl")
-	    }
-
-    if (!aTargetId.isEmpty()
-         && mControl)
-        {
-
-        // Try to find from control
-        IAlfAttributeOwner* control =
-            IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(mControl);
-        if (control)
-            {
-            supported = control->setAttribute(aTargetId, aAttribute);
-            }
-        
-        if (!supported)
-            {
-		    // Try finding element class using targetId
- 		    IAlfElement* elem = mControl->findElement(aTargetId.getUtf8());
- 		  	if (elem)	
-		  		{
-			    IAlfAttributeOwner* elementOwner =  IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(elem);
-				if (elementOwner)
-					{
-					supported = elementOwner->setAttribute(aTargetId, aAttribute);	
-					}
-		  		}
-	        }
-	    }
-
-	//inform env of attribute change
-    if (supported)
-        {
-        UString target(aTargetId);
-        auto_ptr<AlfAttribute> attribute(new (EMM) AlfAttribute());
-        *attribute.get() = aAttribute;
-        TAlfWidgetAttributeCommand command(attribute.get(), target, mControl->widget());
-        attribute.release();
-        command.ExecuteL(mControl->Env());
-        }
- 		        
-    return supported;
-   
-	}
-
-// ---------------------------------------------------------------------------
-// Set a value of an attribute.
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-bool AlfWidgetAttributeOwnerImpl::setAttribute( const UString& aTargetId, 
-											    const UString& aAttribName, 
-											    AlfAttributeValueType* aValue )
-	{
-	bool ret(false);
-	
-    if (!aValue)
-	    {
-	    ALF_THROW(
-	        AlfAttributeException, EInvalidAttribute, "AlfWidgetAttributeOwnerImpl")
-	    }
-
-    if (!aTargetId.isEmpty())
-	    {
-	    // Create a new static attribute.
-	    auto_ptr<AlfAttribute> attribute(
-	        new (EMM) AlfAttribute(aAttribName.getUtf8(), AlfAttribute::EStatic));  
-	    attribute->addTargetValue(aValue);
-	    ret = setAttribute(aTargetId, *attribute.get());
-			
-		}
-	    
-	return ret;    
-    
-	}
-
-// ---------------------------------------------------------------------------
-// Gets the attribute with the given name.
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-const AlfAttribute* AlfWidgetAttributeOwnerImpl::getAttribute( const UString& aTargetId,
-															    const UString& aAttribName ) const
-	{
-	const AlfAttribute* attr(0);
-	
-	if (!aTargetId.isEmpty()
-	    && mControl)
-        {
-        
-        // Try to find from control
-        IAlfAttributeOwner* control =
-            IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(mControl);
-        if (control)
-            {
-            attr = control->getAttribute(aTargetId, aAttribName);
-            }
-        
-        if (!attr)
-            {
-	        // Try finding element class from control
-	        IAlfElement* element = mControl->findElement(aTargetId.getUtf8());
-	        
-	        if (element)
-		        {
-		        // Get the attribute interface
-		        IAlfAttributeOwner* attributeOwner = 
-		            IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(element);
-		            
-		        if (attributeOwner)
-		            {
-		            attr = attributeOwner->getAttribute(aTargetId, aAttribName); 
-		            }
-		        }
-            }
-	    }
-	      	    
-	return attr;
-
-	}
-	
-// ---------------------------------------------------------------------------
-// Sets the attributes from container
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-bool AlfWidgetAttributeOwnerImpl::setAttributeContainer( AlfAttributeContainer& aAttributeContainer )
-  	{
-  	
-  	bool ret(true);
-	
-    for (int i=0;i<aAttributeContainer.attributeCount();i++)
-        {
-        AlfAttribute& attr = aAttributeContainer.getAttribute(i);
-        bool supported = setAttribute(attr);
-        if (!supported)
-	        {
-	        ret = false;	
-	        }
-	    }
-
-	return ret;
-	
- 	}
-
-// ---------------------------------------------------------------------------
-// Sets the attributes from container using targetId
-// From class IAlfAttributeOwner.
-// ---------------------------------------------------------------------------
-//
-	
-bool AlfWidgetAttributeOwnerImpl::setAttributeContainer( const UString& aTargetId , 
-                               AlfAttributeContainer& aAttributeContainer )
-	{
-	bool ret(true);
-	
-	if (!aTargetId.isEmpty() )
-		{
-        for (int i=0;i<aAttributeContainer.attributeCount();i++)
-	        {
-	        AlfAttribute& attr = aAttributeContainer.getAttribute(i);
-	        bool supported = setAttribute(aTargetId, attr);
-	        if (!supported)
-		        {
-		        ret = false;	
-		        }
-	        }
-	    }
-
-	return ret;
-
-	}
-    
-// ---------------------------------------------------------------------------
-// Handles the attribute, sets proper values.
-// ---------------------------------------------------------------------------
-//
-bool AlfWidgetAttributeOwnerImpl::handleElementAttribute(
-    const AlfAttribute& aAttribute)
-    {
-    bool supported(false);
-    
-    // Let the root elements try to handle attribute
-    const char* attrName = aAttribute.name();   // for debuging
-    int elementCount = mControl->numElements();
-    for (int i = 0; i < elementCount; i++)
-        {
-         IAlfElement& element = mControl->element(i);
-         if (element.parentElement() == 0)
-            {
-            // Get the attribute interface
-            IAlfAttributeOwner* attributeOwner = 
-                IAlfInterfaceBase::makeInterface<IAlfAttributeOwner>(&element);
-                
-            if (attributeOwner)
-                {
-                // let all IAlfAttributeOwners set the attribute
-                if (attributeOwner->setAttribute(aAttribute))
-                    {
-                    UString target(element.name());
-                    auto_ptr<AlfAttribute> attribute(new (EMM) AlfAttribute());
-                    *attribute.get() = aAttribute;
-                    TAlfWidgetAttributeCommand command(attribute.get(), target, mControl->widget());
-                    attribute.release();
-                    command.ExecuteL(mControl->Env());
-                    supported = true;
-                    }
-                }
-            }
-        }
-        
-    return supported;               
-    }       
-    
-// ---------------------------------------------------------------------------
-// Handles the attribute, sets proper values.
-// ---------------------------------------------------------------------------
-//
-void AlfWidgetAttributeOwnerImpl::handleAttribute(
-    const AlfAttribute& /*aAttribute*/)
-    {
-    // Add common widget specific attribute handling here
-    }
-    
-// ---------------------------------------------------------------------------
-// Can attribute be handled with this widget.
-// ---------------------------------------------------------------------------
-//
-bool AlfWidgetAttributeOwnerImpl::canHandleAttribute(
-    const char* /*aAttributeName*/)
-    {
-    bool canHandle(false);
-    // Add common wigdet specific attribute checking here like:
-/*    if (!strcmp(aAttributeName, commonvisualattributes::KOpacity))  
-        {
-        canHandle = true;
-        }*/
-    return canHandle;        
-    }
-    
-    } // namespace Alf
--- a/widgetmodel/alfwidgetmodel/src/alfwidgetcommand.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2006 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 command implementation
-*
-*/
-
-
-
-//INCLUDES
-#include <alf/alfwidgetcommand.h>
-#include <alf/alfwidgetevents.h>
-#include <alf/alfevent.h>
-#include "alf/alfwidget.h"
-#include "alf/alfattribute.h"
-
-namespace Alf
-{
-TAlfWidgetAttributeCommand::TAlfWidgetAttributeCommand(  
-    AlfAttribute* aAttribute, 
-    UString& aTarget,
-    AlfWidget* aRecipient
-    ) : TAlfObjectCommand(EAlfCommandTypeNone, aRecipient, EAlfOpNone),
-        mOwnedAttribute( aAttribute ),
-        mTarget( aTarget )
-    {
-    }
-
-void TAlfWidgetAttributeCommand::ExecuteL(CAlfEnv& /*aEnv*/) const
-    {
-    TAlfEvent newEvent( EEventWidgetAttributeChanged, (TInt)this );
-    AlfWidget* widget = ((AlfWidget*) Object());
-    if (widget)
-        {
-        CAlfControl* control = widget->control(); // Widgets are guaranteed to have controls
-        control->OfferEventL(newEvent);
-        }
-    }
-
-TAlfWidgetAttributeCommand::~TAlfWidgetAttributeCommand()
-    {
-    delete mOwnedAttribute;
-    mOwnedAttribute = NULL;
-    }
-
-TInt TAlfWidgetAttributeCommand::Size() const
-    {
-    return sizeof(*this);
-    }
-
-}//namespace Alf;
-
--- a/widgetmodel/alfwidgetmodel/src/alfwidgetcontrol.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1954 +0,0 @@
-/*
-* 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:  The base class for all widget controls.
-*
-*/
-
-
-#include <alf/alfevent.h>
-
-#include "alf/alfwidget.h"
-#include <alf/alfwidgetcontrol.h>
-#include <alf/alfmodel.h>
-#include <alf/alfwidgeteventhandler.h>
-#include "alf/alfelement.h"
-#include <alf/alfvarianttype.h>
-#include "alf/alfmodeloperation.h"
-#include <osn/ustring.h>
-#include <osn/alfptrvector.h>
-#include <alf/alfexceptions.h>
-#include <alf/alfenv.h>
-#include <alf/alfcontrolgroup.h>
-#include <alf/ialflayoutmanager.h>
-#include <alf/alfwidgetevents.h>
-#include "alf/ialfattributeowner.h"
-#include <osn/osnnew.h>
-#include <assert.h>
-
-#include "alfhostapiimpl.h"
-#include "alfwidgetcontroleventfilter.h"
-
-using namespace osncore;
-
-namespace Alf
-    {
-// ======== INTERNAL DATA TYPES ========
-
-// Forward declared inside the Alf namespace
-
-
-//Internal Class to Store the Element Data
-class ElementData
-    {
-public:
-    //Default constructor
-    ElementData():mElement(0)
-        {
-        }
-    //Destructor
-    ~ElementData()
-        {
-        delete mElement;
-        }
-    /**
-     * The element. Own.
-     */
-    IAlfElement* mElement;
-
-    /**
-     * The data id range for the element.
-     */
-    uint mDataIdRange;
-    };
-
-class AlfWidgetControlImpl
-    {
-
-public:
-    AlfWidgetControlImpl():mWidget(0),mEventFilter(0),mAlfHostAPIImpl(0)
-        {
-
-        }
-    ~AlfWidgetControlImpl()
-        {
-
-        }
-public:
-    /**
-     * The element data. Elements are owned by the control.
-     */
-    AlfPtrVector<ElementData> mElementArray;
-
-    /**
-     * The event handlers. Event handlers are owned by the control.
-     */
-    AlfPtrVector<IAlfWidgetEventHandler> mEventHandlerArray;
-
-    /**
-     * The owner widget.
-     */
-    AlfWidget* mWidget;
-    
-    /**
-     * PointerUp Event Filter.
-     */
-    AlfWidgetControlEventFilter *mEventFilter;
-    
-    /**
-     * The state of the control.
-     * The state is a combination of binary state flags.
-     */
-    uint mState;
-    /**
-     * AlfAPIImpl auto pointer.
-     * This will be used to provide container control's functionality by 
-     * widget control.Owned.
-     */
-    auto_ptr<AlfHostAPIImpl> mAlfHostAPIImpl;
-    };
-
-// ======== MEMBER FUNCTIONS ========
-
-OSN_EXPORT CAlfWidgetControl::CAlfWidgetControl(CAlfEnv& aEnv)
-    {
-    construct(aEnv);
-    }
-
-OSN_EXPORT CAlfWidgetControl::CAlfWidgetControl()
-    {
-    }
-
-OSN_EXPORT void* CAlfWidgetControl::operator new(
-                 size_t aSize, newarg /*aEnumVal*/)  throw (std::bad_alloc)
-    { 
-    void* ret = 0;
-    TRAPD(err, ret = CBase::operator new((TUint)aSize, ELeave));
-    if(err != KErrNone)
-        {
-        throw std::bad_alloc();
-        }
-    return ret;         
-    } 
-
-OSN_EXPORT void CAlfWidgetControl::construct(
-    CAlfEnv& aEnv)
-    {
-    mWdgtControlData.reset( new (EMM) AlfWidgetControlImpl() );
-    mWdgtControlData->mWidget = 0;
-    //by default control is focusable and enabled
-    mWdgtControlData->mState = IAlfWidgetControl::Focusable |
-        IAlfWidgetControl::Enabled;
-
-    // Call CAlfControl second phase constructor
-    TRAPD(err, CAlfControl::ConstructL( aEnv ));
-    if(err != KErrNone)
-        {
-        ALF_THROW(AlfException, err, "CAlfWidgetControl::construction failed.");
-        }
-    mWdgtControlData->mElementArray.setAutoDelete(true);
-    mWdgtControlData->mEventHandlerArray.setAutoDelete(true);
-    mWdgtControlData->mAlfHostAPIImpl.reset(0);
-
-    // Instatiate Event filter
-    mWdgtControlData->mEventFilter = 
-        new (EMM) AlfWidgetControlEventFilter();
-    addEventHandler(mWdgtControlData->mEventFilter);
-    }
-
-OSN_EXPORT CAlfWidgetControl::~CAlfWidgetControl()
-    {
-    //release all connections
-    while (this->ConnectionCount())
-        {
-        this->RemoveConnection(&(this->Connection(0)));
-        }
-    mWdgtControlData->mElementArray.setAutoDelete(true);
-    
-    for(int i = 0; i < mWdgtControlData->mElementArray.count(); ++i)
-        {
-        // Fetch the element
-        IAlfElement *element = mWdgtControlData->mElementArray[i]->mElement;
-
-        // If the element is also an event handler
-        IAlfWidgetEventHandler* eventHandler =
-        IAlfInterfaceBase::makeInterface<IAlfWidgetEventHandler>( element );
-        int eventHandlerIndex = 
-            mWdgtControlData->mEventHandlerArray.findRef( eventHandler );
-        if ( eventHandler && eventHandlerIndex != KErrNotFound )
-            {
-             //cache auto delete state.
-            bool autoDeleteState = 
-                mWdgtControlData->mEventHandlerArray.autoDelete();
-            mWdgtControlData->mEventHandlerArray.setAutoDelete(false);
-            mWdgtControlData->mEventHandlerArray.remove( eventHandlerIndex );
-             //restore auto delete state.
-            mWdgtControlData->mEventHandlerArray.setAutoDelete(
-                                                     autoDeleteState);
-            }
-        }
-    
-    mWdgtControlData->mElementArray.clear();
-        
-    mWdgtControlData->mEventHandlerArray.setAutoDelete(true);
-    mWdgtControlData->mEventHandlerArray.clear(); 
-    	 
-    if(mWdgtControlData->mWidget)
-        {
-        // false: don't delete twice
-        mWdgtControlData->mWidget->setControl(0, false);
-        mWdgtControlData->mWidget = 0;
-        }
-    }
-
-OSN_EXPORT uint CAlfWidgetControl::state() const
-    {
-    // Verify that the internal state stored in the member variable
-    // is in sync with the CAlfWidget state. This might not be the case
-    // if someone has called CAlfWidget APIs, e.g. AcquireFocus(), directly.
-    
-    if ( Focus() )
-        {
-        mWdgtControlData->mState |= IAlfWidgetControl::Focused;
-        }
-    else
-        {
-        mWdgtControlData->mState &= ~IAlfWidgetControl::Focused;
-        }
-
-    return mWdgtControlData->mState;
-    }
-
-OSN_EXPORT void CAlfWidgetControl::setState( uint aState )
-    {
-     // Checks the state invariants. Throws exceptions if not OK
-    checkStateInvariants(aState);
-    
-    // Visible
-    if ( aState & IAlfWidgetControl::Visible )
-        {
-        enableStateVisible();
-        }
-    else
-        {
-        disableStateVisible();
-        }
-
-    // Enabled
-    if ( aState & IAlfWidgetControl::Enabled )
-        {
-        enableStateEnabled();
-        }
-    else
-        {
-        disableStateEnabled();
-        }
-
-    // Focused
-    if ( aState & IAlfWidgetControl::Focused )
-        {
-        enableStateFocused();
-        }
-    else
-        {
-        disableStateFocused();
-        }        
-
-    // Focusable
-    if ( aState & IAlfWidgetControl::Focusable )
-        {
-        enableStateFocusable();
-        }
-    else
-        {
-        disableStateFocusable();
-        }        
-    }
-
-OSN_EXPORT void CAlfWidgetControl::enableState( uint aState )
-    {
-    // Predicts the state and checks the state invariants.
-    // Throws exceptions if not OK
-    predictAndCheckStateInvariants(aState, true);
-
-    // Visible
-    if ( aState & IAlfWidgetControl::Visible )
-        {
-        enableStateVisible();
-        }
-
-    // Enabled
-    if ( aState & IAlfWidgetControl::Enabled )
-        {
-        enableStateEnabled();
-        }
-
-    // Set Focusable. This is done first, before putting on fucus
-    if ( aState & IAlfWidgetControl::Focusable )
-        {
-        enableStateFocusable();
-        }
-        
-    // Focused
-    if ( aState & IAlfWidgetControl::Focused )
-        {
-        enableStateFocused();
-        }
-
-    }
-
-OSN_EXPORT void CAlfWidgetControl::disableState( uint aState )
-    {
-    // Predicts the state and checks the state invariants.
-    // Throws exceptions if not OK
-    predictAndCheckStateInvariants(aState, false);
-
-    // Visible
-    if ( aState & IAlfWidgetControl::Visible )
-        {
-        disableStateVisible();
-        }
-
-    // Enabled
-    if ( aState & IAlfWidgetControl::Enabled )
-        {
-        disableStateEnabled();
-        }
-
-    // Focused
-    if ( aState & IAlfWidgetControl::Focused )
-        {
-        disableStateFocused();
-        }
-
-    // Focusable
-    if ( aState & IAlfWidgetControl::Focusable )
-        {
-        disableStateFocusable();
-        }
-    }
-
-OSN_EXPORT bool CAlfWidgetControl::checkState( uint aState ) const
-    {
-    return ( state() & aState );
-    }
-
-OSN_EXPORT int CAlfWidgetControl::numEventHandlers() const
-    {
-    return mWdgtControlData->mEventHandlerArray.count();
-    }
-
-OSN_EXPORT IAlfWidgetEventHandler& CAlfWidgetControl::eventHandler(
-    int aIndex )
-    {
-    return *mWdgtControlData->mEventHandlerArray[aIndex];
-    }
-
-OSN_EXPORT int CAlfWidgetControl::eventHandlerIndex(
-    IAlfWidgetEventHandler& aEventHandler ) const
-    {
-    for ( int i = 0; i < mWdgtControlData->mEventHandlerArray.count(); ++i )
-        {
-        if ( mWdgtControlData->mEventHandlerArray[i] == &aEventHandler )
-            {
-            return i;
-            }
-        }
-    return -1;
-    }
-
-OSN_EXPORT IAlfWidgetEventHandler* CAlfWidgetControl::findEventHandler(
-    const TAlfEvent& aEvent )
-    {
-    for ( int i = 0; i < mWdgtControlData->mEventHandlerArray.count(); ++i )
-        {
-        if ( mWdgtControlData->mEventHandlerArray[i]->accept( *this, aEvent ) )
-            {
-            return mWdgtControlData->mEventHandlerArray[i];
-            }
-        }
-    return 0;
-    }
-
-OSN_EXPORT void CAlfWidgetControl::addEventHandler(
-    IAlfWidgetEventHandler* aEventHandler, int aIndex )
-    {
-    try
-        {
-        if ( mWdgtControlData->mEventHandlerArray.findRef( aEventHandler ) == 
-             KErrNotFound )
-            {
-            if ( aIndex == -1 )
-                {
-                mWdgtControlData->mEventHandlerArray.resize(
-                    mWdgtControlData->mEventHandlerArray.count()+1);
-                mWdgtControlData->mEventHandlerArray.insert(
-                    mWdgtControlData->mEventHandlerArray.count(),
-                    aEventHandler );
-                }
-            else
-                {
-                mWdgtControlData->mEventHandlerArray.resize(
-                    mWdgtControlData->mEventHandlerArray.count()+1);
-                mWdgtControlData->mEventHandlerArray.insert( aIndex,
-                                                         aEventHandler);
-                }
-            }
-        }
-    catch (...)
-        {
-        ALF_THROW(AlfWidgetException,ECommonError,"CAlfWidgetControl: Adding event handler failed.")
-        }
-    }
-
-OSN_EXPORT void CAlfWidgetControl::removeAndDestroyEventHandler(
-    IAlfWidgetEventHandler& aEventHandler )
-    {
-
-    for (int i =0; i<mWdgtControlData->mEventHandlerArray.count();i++)
-        {
-        if (mWdgtControlData->mEventHandlerArray[i] == &aEventHandler)
-            {
-            IAlfWidgetEventHandler *handler = 
-                mWdgtControlData->mEventHandlerArray[i];
-            //check if it is an eventhandler associated with presentation 
-            if(handler->eventHandlerType() == 
-               IAlfWidgetEventHandler::EPresentationEventHandler)
-                {
-                ElementData* elementData = 0;
-                // if the event handller is also an element, remove the 
-                // corresponding element data from mEventHandlerArray
-                elementData = removePesentationElementData(*handler);
-                // if the element data does not exist, remove the event handler
-                // from mEventHandlerArray and destroy it 
-                if(!elementData)
-                    {
-                    mWdgtControlData->mEventHandlerArray.remove( i );
-                    }
-                // remove the event hanlder from the array but dont destroy it,
-                // and then delete element data which in turn will destroy the
-                // element and thus the event handler
-                else
-                    {
-                    // cache auto delete state.
-                    bool autoDeleteState = 
-                        mWdgtControlData->mEventHandlerArray.autoDelete(); 
-                    mWdgtControlData->mEventHandlerArray.setAutoDelete(false);
-                    mWdgtControlData->mEventHandlerArray.remove( i );
-                    // restore auto delete state.
-                    mWdgtControlData->mEventHandlerArray.setAutoDelete(
-                                                             autoDeleteState);
-                    delete elementData;
-                    }
-                }
-            else
-                {
-                mWdgtControlData->mEventHandlerArray.remove( i );
-                }
-            return;
-            }
-
-        }
-
-    }
-
-OSN_EXPORT void CAlfWidgetControl::removeEventHandler(
-    IAlfWidgetEventHandler& aEventHandler )
-    {
-    for (int i =0; i<mWdgtControlData->mEventHandlerArray.count();i++)
-        {
-        if (mWdgtControlData->mEventHandlerArray[i] == &aEventHandler)
-            {
-            // cache auto delete state.
-            bool autoDeleteState = 
-                mWdgtControlData->mEventHandlerArray.autoDelete();
-            mWdgtControlData->mEventHandlerArray.setAutoDelete(false);
-            mWdgtControlData->mEventHandlerArray.remove( i );
-            // restore auto delete state.
-            mWdgtControlData->mEventHandlerArray.setAutoDelete(
-                                                     autoDeleteState);
-            return;
-            }
-        }
-    }
-
-OSN_EXPORT void CAlfWidgetControl::removeAndDestroyEventHandler(
-    const UString& aHandlerId )
-    {
-    for (int i =0; i<mWdgtControlData->mEventHandlerArray.count();i++)
-        {
-        IAlfWidgetEventHandler* handler = 
-            mWdgtControlData->mEventHandlerArray[i];
-        AlfWidgetEventHandlerInitData* eventData = handler->eventHandlerData();
-        if(eventData != 0)
-            {
-            //check for the event id/name
-            if (!aHandlerId.compare(eventData->mWidgetEventHandlerId))
-                {
-                //check if it is an eventhandler associated with presentation 
-                if(handler->eventHandlerType() == 
-                   IAlfWidgetEventHandler::EPresentationEventHandler)
-                    {
-                    ElementData* elementData = 0;
-                    // if the event handller is also an element, remove the 
-                    // corresponding element data from mEventHandlerArray
-                    elementData = removePesentationElementData(*handler);
-                    // if the element data does not exist, remove the event 
-                    // handler from mEventHandlerArray and destroy it 
-                    if(!elementData)
-                        {
-                        // removes and destoys the event handler
-                        mWdgtControlData->mEventHandlerArray.remove( i );
-                        }
-                    // remove the event hanlder from the array but dont destroy
-                    // it, and then delete element data which in turn will 
-                    // destroy the element and thus the event handler      
-                    else
-                        {
-                        // cache auto delete state.
-                        bool autoDeleteState = 
-                            mWdgtControlData->mEventHandlerArray.autoDelete();
-                        mWdgtControlData->mEventHandlerArray.setAutoDelete(
-                                                                 false);
-                        mWdgtControlData->mEventHandlerArray.remove( i );
-                        // restore auto delete state.
-                        mWdgtControlData->mEventHandlerArray.setAutoDelete(
-                                                             autoDeleteState);
-                        //delete element data
-                        delete elementData;
-                        }
-                    }
-                else
-                    {
-                    mWdgtControlData->mEventHandlerArray.remove( i );
-                    }
-                return;
-                }
-            }
-        
-        }
-    }
-    
-OSN_EXPORT void CAlfWidgetControl::removeAndDestroyPresentationEventHandlers()
-    {
-    int i=0;
-    while(i<mWdgtControlData->mEventHandlerArray.count())
-        {
-        IAlfWidgetEventHandler* handler = 
-                                    mWdgtControlData->mEventHandlerArray[i];
-        
-        //check if it is an eventhandler associated with presentation 
-        if(handler->eventHandlerType() == 
-               IAlfWidgetEventHandler::EPresentationEventHandler)
-            {
-            ElementData* elementData = 0;
-            // if the event handller is also an element, remove the 
-            // corresponding element data from mEventHandlerArray
-            elementData = removePesentationElementData(*handler);
-            // if the element data does not exist, remove the event handler
-            // from mEventHandlerArray and destroy it 
-            if(!elementData)
-                {
-                mWdgtControlData->mEventHandlerArray.remove( i );
-                }
-            // remove the event hanlder from the array but dont destroy it,
-            // and then delete element data which in turn will destroy the
-            // element and thus the event handler    
-            else
-                {
-                // cache auto delete state.
-                bool autoDeleteState = 
-                    mWdgtControlData->mEventHandlerArray.autoDelete();
-                mWdgtControlData->mEventHandlerArray.setAutoDelete(false);
-                mWdgtControlData->mEventHandlerArray.remove( i );
-                // restore auto delete state.
-                mWdgtControlData->mEventHandlerArray.setAutoDelete(
-                                                         autoDeleteState);
-                //delete element data
-                delete elementData;
-                }
-            }
-        else
-            {
-            i++;
-            }
-        }
-    
-    }
-    
-OSN_EXPORT void CAlfWidgetControl::removePresentationEventHandlers()
-    {
-    int i=0;
-    // cache auto delete state.
-    bool autoDeleteState = mWdgtControlData->mEventHandlerArray.autoDelete();
-    mWdgtControlData->mEventHandlerArray.setAutoDelete(false);
-    while(i<mWdgtControlData->mEventHandlerArray.count())
-        {
-        IAlfWidgetEventHandler* handler = 
-                                    mWdgtControlData->mEventHandlerArray[i];
-        //check if it is an eventhandler associated with presentation 
-        if(handler->eventHandlerType() == 
-           IAlfWidgetEventHandler::EPresentationEventHandler)
-            {
-            mWdgtControlData->mEventHandlerArray.remove( i );
-            }
-        else
-            {
-            i++;
-            }
-        }
-    // restore auto delete state.    
-    mWdgtControlData->mEventHandlerArray.setAutoDelete(autoDeleteState);
-    }
-
-ElementData* CAlfWidgetControl::removePesentationElementData( 
-    IAlfWidgetEventHandler& aEventHandler )
-    {
-    IAlfElement* element =
-        IAlfInterfaceBase::makeInterface<IAlfElement>( &aEventHandler );
-        
-    for ( int i = 0; i < mWdgtControlData->mElementArray.count(); ++i )
-        {
-        if ( mWdgtControlData->mElementArray[i]->mElement == element )
-            {
-            // cache auto delete state.
-            bool autoDeleteState = 
-                mWdgtControlData->mElementArray.autoDelete();
-            mWdgtControlData->mElementArray.setAutoDelete(false);
-            // Store the Element Data which is to be removed.
-            // This pointer will be returned to the caller
-            ElementData* elementData = mWdgtControlData->mElementArray[i];
-            mWdgtControlData->mElementArray.remove( i );
-            // restore auto delete state.
-            mWdgtControlData->mElementArray.setAutoDelete(autoDeleteState);
-            return elementData;;
-            }
-        }
-    return 0;
-    }
-
-OSN_EXPORT int CAlfWidgetControl::numElements() const
-    {
-    return mWdgtControlData->mElementArray.count();
-    }
-
-OSN_EXPORT IAlfElement& CAlfWidgetControl::element( int aIndex )
-    {
-    return *(mWdgtControlData->mElementArray[aIndex]->mElement);
-    }
-
-OSN_EXPORT IAlfElement* CAlfWidgetControl::findElement( const char* aName )
-    {
-    UString name(aName);
-    for ( int i = 0; i < mWdgtControlData->mElementArray.count(); ++i )
-        {
-        IAlfElement* element = mWdgtControlData->mElementArray[i]->mElement;
-        if (name == UString(element->name()))
-            {
-            return element;
-            }
-        }
-    return 0;
-    }
-
-OSN_EXPORT void CAlfWidgetControl::addElement( IAlfElement* aElement )
-    {
-    for ( int i = 0; i < mWdgtControlData->mElementArray.count(); ++i )
-        {
-        if ( mWdgtControlData->mElementArray[i]->mElement == aElement )
-            {
-            return; // Already exists
-            }
-        }
-    auto_ptr<ElementData> elemData( new (EMM) ElementData() );
-    elemData->mElement = aElement;
-    elemData->mDataIdRange = 0xFFFFFFFF;
-    try
-        {
-        mWdgtControlData->mElementArray.resize(
-                              mWdgtControlData->mElementArray.count()+1);
-        mWdgtControlData->mElementArray.insert(
-                              mWdgtControlData->mElementArray.count(),
-                              elemData.get() );
-        elemData.release(); // ownership transferred
-        }
-    catch (...)
-        {
-        // change the element of element data to 0.
-        // this will ensure that the element does not get deleted when the 
-        // elemData gets out of scope, since elemData was not successfully 
-        // added to the array
-        elemData->mElement = 0;
-        ALF_THROW(AlfException,ECommonError,"AlfWidgetControl: Adding the element failed.")
-        }    
-    }
-
-OSN_EXPORT void CAlfWidgetControl::removeAndDestroyElement(
-    const IAlfElement& aElement )
-    {
-    for ( int i = 0; i < mWdgtControlData->mElementArray.count(); ++i ) 
-        {
-        if (mWdgtControlData->mElementArray[i])
-            {
-            if ( mWdgtControlData->mElementArray[i]->mElement == &aElement )
-                {
-                // Remove the element
-                IAlfElement *element = 
-                                mWdgtControlData->mElementArray[i]->mElement;
-
-                // If the element is also an event handler
-                IAlfWidgetEventHandler* eventHandler =
-                    IAlfInterfaceBase::makeInterface<IAlfWidgetEventHandler>(
-                                           element );
-                int eventHandlerIndex = 
-                    mWdgtControlData->mEventHandlerArray.findRef(
-                                          eventHandler );
-                if ( eventHandler && eventHandlerIndex != KErrNotFound )
-                    {
-                    // cache auto delete state.
-                    bool autoDeleteState = 
-                        mWdgtControlData->mEventHandlerArray.autoDelete();
-                    mWdgtControlData->mEventHandlerArray.setAutoDelete(false);
-                    mWdgtControlData->mEventHandlerArray.remove(
-                                                         eventHandlerIndex );
-                    // restore auto delete state.
-                    mWdgtControlData->mEventHandlerArray.setAutoDelete(
-                                                             autoDeleteState);
-                    }
-                // remove and destroy the element
-                mWdgtControlData->mElementArray.remove( i );
-                return;
-                }
-
-            }
-        }
-    }
-    
-OSN_EXPORT void CAlfWidgetControl::removeElement(const IAlfElement& aElement )
-    {
-    for ( int i = 0; i < mWdgtControlData->mElementArray.count(); ++i ) 
-        {
-        if (mWdgtControlData->mElementArray[i])
-            {
-            if ( mWdgtControlData->mElementArray[i]->mElement == &aElement )
-                {
-                // make the element pointer of elementData null, and then 
-                // destroy elementData. This will ensure that the memory
-                // allocated for the elementData is freed but the element
-                // is not destroyed
-                mWdgtControlData->mElementArray[i]->mElement = 0;
-                mWdgtControlData->mElementArray.remove(i);
-                return;
-                }
-            }
-        }
-    }    
-
-OSN_EXPORT uint CAlfWidgetControl::elementDataId(
-    const IAlfElement& aElement,
-    uint aIndex,
-    uint aParentDataId )
-    {
-    uint range = dataIdRange( aElement );
-
-    if ( aIndex >= range )
-        {
-        }
-    // In hierarchical element structures this may overflow
-    return aParentDataId * range + aIndex;
-    }
-
-OSN_EXPORT uint CAlfWidgetControl::parentElementDataId(
-    const IAlfElement& aElement,
-    uint aDataId )
-    {
-    uint dataIdRng = dataIdRange( aElement );
-    if (0 == dataIdRng) return(0xFFFFFFFF);
-    else
-        return (uint)( aDataId / dataIdRange( aElement ) );
-    }
-
-OSN_EXPORT uint CAlfWidgetControl::dataIdToIndex( 
-    const IAlfElement& aElement,
-    uint aDataId )
-    {
-    uint dataIdRng = dataIdRange( aElement );
-    if (0 == dataIdRng) return(0xFFFFFFFF);
-    else
-        return aDataId % dataIdRange( aElement );
-    }
-
-OSN_EXPORT IAlfVariantType* CAlfWidgetControl::elementData(
-    const IAlfElement& aElement, uint aDataId )
-    {
-    if (!mWdgtControlData->mWidget)
-        {
-        return 0;	
-        }
-    IAlfModel* widgetModel = mWdgtControlData->mWidget->model();
-    if ( !widgetModel )
-        {
-    	return 0;
-        }
-    IAlfVariantType* modelData = widgetModel->data();
-    if ( !modelData || modelData->type() != IAlfVariantType::EMap )
-        {
-    	return 0;
-        }
-        
-    IAlfMap* map = modelData->map();
-
-    // Use "current" to traverse elements from the root to the leaf
-    const IAlfElement* last = 0;
-    while ( last != &aElement )
-        {
-        int currentDataId = aDataId;
-        const IAlfElement* current;
-        for ( current = &aElement ;
-                current->parentElement() != last ;
-                current = current->parentElement() )
-            {
-            currentDataId = parentElementDataId( *current, currentDataId );
-            }
-        int index = dataIdToIndex( *current, currentDataId );
-        last = current;
-
-        IAlfVariantType* data = map->item( UString(current->name()) );
-        if ( data->type() == IAlfVariantType::EContainer )
-            {
-            data = data->container()->item( index );
-            }
-        if ( current == &aElement )
-            {
-            return data;
-            }
-        if ( data->type() == IAlfVariantType::EBranch )
-            {
-            // Continue with the child data
-            map = data->branch()->childData();
-            continue;
-            }
-        if ( data->type() == IAlfVariantType::EMap )
-            {
-            map = data->map();
-            }
-        else
-            {
-            return 0;
-            }
-        }
-
-    return 0;
-    }
-
-OSN_EXPORT void CAlfWidgetControl::setDataIdRange(
-    const IAlfElement& aElement, uint aRange )
-    {
-    for ( int i = 0; i < mWdgtControlData->mElementArray.count(); ++i )
-        {
-        if ( mWdgtControlData->mElementArray[i]->mElement == &aElement )
-            {
-            mWdgtControlData->mElementArray[i]->mDataIdRange = aRange;
-            return;
-            }
-        }
-    }
-
-OSN_EXPORT uint CAlfWidgetControl::dataIdRange( const IAlfElement& aElement )
-    {
-    for ( int i = 0; i < mWdgtControlData->mElementArray.count(); ++i )
-        {
-        if ( mWdgtControlData->mElementArray[i]->mElement == &aElement )
-            {
-            return mWdgtControlData->mElementArray[i]->mDataIdRange;
-            }
-        }
-    return 0;
-    }
-
-OSN_EXPORT void CAlfWidgetControl::updatePresentation()
-    {
-    if ( !mWdgtControlData->mWidget || !mWdgtControlData->mWidget->model() ||
-            !mWdgtControlData->mWidget->model()->data() ||
-            mWdgtControlData->mWidget->model()->data()->type() != 
-            IAlfVariantType::EMap )
-        {
-        return;
-        }
-    IAlfMap* map = mWdgtControlData->mWidget->model()->data()->map();
-    for ( int i = 0; i < map->count(); ++i )
-        {
-        IAlfElement* element = findElement( map->name( i ).getUtf8() );
-        if ( element )
-            {
-
-            int childInd = childIndex( *map, i, 0, true );
-            IAlfVariantType* data = map->item( i );
-            try
-                {
-                if ( data->type() == IAlfVariantType::EMap ||
-                        data->type() == IAlfVariantType::EBranch)
-                    {
-                    // Data for a single presentation instance (visual tree)
-                    element->createVisualTree( *data,
-                        elementDataId( *element, childInd, 0 ),
-                        element->defaultParentLayout( 0 ), childInd );
-                    }
-                else if ( data->type() == IAlfVariantType::EContainer )
-                    {
-
-                    // Data for multiple presentation instances (visual trees)
-                    IAlfContainer* container = data->container();
-                    for ( int j = 0; j < container->count(); ++j )
-                        {
-                        element->createVisualTree( *container->item( j ),
-                            elementDataId( *element, childInd + j, 0 ),
-                            element->defaultParentLayout( 0 ), childInd + j );
-                        }
-                    }
-                }
-            catch (...)
-                {
-                ALF_THROW(AlfVisualException,ECanNotCreateVisual,"CAlfWidgetControl::updatePresentation failed")
-                }
-
-            }
-
-        }
-    }
-
-OSN_EXPORT void CAlfWidgetControl::destroyPresentation( int aTimeMilliseconds )
-    {
-    (void)aTimeMilliseconds;
-
-    for ( int i = 0; i < mWdgtControlData->mElementArray.count(); ++i )
-        {
-        mWdgtControlData->mElementArray[i]->mElement->removeAndDestroyVisuals(
-                                                          aTimeMilliseconds );
-        }
-    processEvent(TAlfEvent(EEventWidgetPresentationDestroyed));
-    }
-    
-OSN_EXPORT void CAlfWidgetControl::destroyVisualsAndElements(
-    int aTimeMilliseconds )
-    {
-    (void)aTimeMilliseconds;
-
-    // destroy visual trees from elements
-    for( int i = 0; i < mWdgtControlData->mElementArray.count(); ++i )
-        {
-        mWdgtControlData->mElementArray[i]->mElement->removeAndDestroyVisuals(
-                                                          aTimeMilliseconds );
-        }
-    // destroy elements
-    while( numElements() )
-        {
-        removeAndDestroyElement( element(numElements()-1) );
-        }	
-	
-    // destroy presentation related event handlers
-    removeAndDestroyPresentationEventHandlers();
-	
-    // send notification
-    processEvent(TAlfEvent(EEventWidgetPresentationDestroyed));		
-    }
-    
-OSN_EXPORT void CAlfWidgetControl::updateParentLayout()
-    {
-    //get the parent control
-    CAlfWidgetControl* parent = dynamic_cast<CAlfWidgetControl*>(Host());
-    if (parent)
-        {
-        IAlfLayoutManager* layoutManager = 
-            CAlfWidgetControl::makeInterface<IAlfLayoutManager>(parent);
-        if (layoutManager)
-            {
-            layoutManager->updateChildLayout(this);
-            }
-        }
-    }
-    
-OSN_EXPORT bool CAlfWidgetControl::isContainer() const
-    {
-    IAlfHostAPI* api = mWdgtControlData->mAlfHostAPIImpl.get();
-    return (api && api->getConnectionCount() > 0);
-    }
-    
-OSN_EXPORT bool CAlfWidgetControl::isFocusable() const
-    {
-    return checkState(IAlfWidgetControl::Enabled) && 
-           checkState(IAlfWidgetControl::Focusable);
-    }
-
-void CAlfWidgetControl::setOwnerWidget( AlfWidget* aWidget )
-    {
-    mWdgtControlData->mWidget = aWidget;
-    }
-
-OSN_EXPORT AlfWidget* CAlfWidgetControl::widget()
-    {
-    return mWdgtControlData->mWidget;
-    }
-
-OSN_EXPORT AlfEventStatus CAlfWidgetControl::handleEvent(
-    const TAlfEvent& aEvent )
-    {
-    AlfEventStatus ret = EEventNotHandled;
-    if(isContainer())
-        {
-        CAlfWidgetControl* focused = 
-                    dynamic_cast<CAlfWidgetControl*>(FocusedConnection());
-        if(focused && aEvent.IsKeyEvent())
-            {
-            ret = focused->processEvent(aEvent);
-            }
-        else if ( aEvent.IsCustomEvent() )
-            {
-            int eventId = aEvent.CustomParameter();
-            switch(eventId)
-                {
-                case EEventFocusNextWidget:
-                    {
-                      if( handleFocusNext() )
-                          {
-                          ret = EEventConsumed;
-                          }
-                    }
-                    break;
-                case EEventFocusPreviousWidget:
-                    {
-                      if( handleFocusPrevious() )
-                          {
-                          ret = EEventConsumed;
-                          }
-                    }
-                    break;
-                }
-            }
-        }
-    return ret;
-
-    }
-
-
-OSN_EXPORT TBool CAlfWidgetControl::OfferEventL( const TAlfEvent& aEvent )
-    {
-    TBool ret(EFalse);
-    try
-        {
-        ret = processEvent(aEvent);  
-        }
-    catch(AlfException& ae)
-        {
-        int reason = ae.errorCode();
-        User::Leave( reason );
-        }
-    
-    return ret;
-    }
-    
-    
-    
-    
- OSN_EXPORT AlfEventStatus CAlfWidgetControl::processEvent(
-    const TAlfEvent& aEvent )
-    {
-    AlfEventStatus ret(EEventNotHandled);
-    
-    /* If the event is not a custom event, stop execution if the widget is
-       not in enabled state. For custom event continue execution anyway. */
-    if(!(mWdgtControlData->mState & IAlfWidgetControl::Enabled) &&
-          !(aEvent.IsCustomEvent()))
-        {
-        return EEventNotHandled;    
-        }
-    
-    // Go through tunneling phase event handlers.
-    AlfEventStatus ret2 = ProcessEventHandlingPhase( tunneling, aEvent );
-    
-    if( ret2 == EEventConsumed )  
-        {
-        return EEventConsumed;  
-        }
-    else if ( ret2 == EEventHandled )     
-        {
-        ret = EEventHandled;
-        }
-
-    // Execute business logic.
-    if(aEvent.IsPointerEvent())
-        {
-        if (aEvent.PointerDown() && isFocusable() && !Focus())
-             {
-             AcquireFocus();  
-             }
-        }
-    
-    ret2 = handleEvent( aEvent );
-    
-    if( ret2 == EEventConsumed )  
-        {
-        return EEventConsumed;  
-        }
-    else if ( ret2 == EEventHandled )     
-        {
-        ret = EEventHandled;
-        }
-    
-    // Go through bubbling phase event handlers.
-    ret2 = ProcessEventHandlingPhase( bubbling, aEvent );
-    
-    if( ret2 == EEventConsumed )  
-        {
-        return EEventConsumed;  
-        }
-    else if ( ret2 == EEventHandled )     
-        {
-        ret = EEventHandled;
-        }
-        
-    return ret;
-    }
-
-AlfEventStatus CAlfWidgetControl::ProcessEventHandlingPhase(
-    int aPhase, const TAlfEvent& aEvent )
-    {
-    // *** Implementation note ***
-    //
-    // offerEvent implementations may remove event handlers from the array that is
-    // being gone through. So that needs to be taken in consideration in the
-    // loop implementation.
-
-    AlfEventStatus ret = EEventNotHandled;
-
-    AlfPtrVector<IAlfWidgetEventHandler>& eventHandlerArray =
-        mWdgtControlData->mEventHandlerArray;    
-    
-    for (int i=0; i < eventHandlerArray.count() ; ++i)
-        {
-        IAlfWidgetEventHandler* eventHandler = 
-            mWdgtControlData->mEventHandlerArray[i];
-        
-        int phase = eventHandler->eventExecutionPhase();
-        
-        bool matchingPhase = false;
-        if ( aPhase == bubbling )
-            {
-            if ( phase == IAlfWidgetEventHandler::
-                              EBubblingPhaseEventHandler || 
-                 phase == IAlfWidgetEventHandler::
-                              ETunnellingAndBubblingPhaseEventHandler )
-                {
-                matchingPhase = true;
-                }
-            }
-        else if ( aPhase == tunneling )
-            {
-            if ( phase == IAlfWidgetEventHandler::
-                              ETunnellingPhaseEventHandler || 
-                 phase == IAlfWidgetEventHandler::
-                              ETunnellingAndBubblingPhaseEventHandler )
-                {
-                matchingPhase = true;
-                }            
-            }
-        
-        if ( matchingPhase )
-            {
-            // This is preparation for the situation where event handlers are
-            // removed or added during offerEvent call.
-            // Store pointer to the event handler at next index.
-            IAlfWidgetEventHandler* nextHandler = 0;
-            
-            if ( i+1 < eventHandlerArray.count() )
-                {
-                nextHandler = eventHandlerArray[i+1];
-                }
-            
-            // Call offerEvent            
-            AlfEventStatus ret2 = eventHandler->offerEvent(*this, aEvent);
-            
-            // Update status in the function return value.
-            if( ret2 == EEventConsumed )  
-                {
-                ret = EEventConsumed;
-                break;  
-                }
-            else if ( ret2 == EEventHandled )
-	            {
-	            ret = EEventHandled;
-	            }            
-            
-            // Now check whether next handler in the event handler array still
-            // matches with the stored pointer.
-            if ( nextHandler )
-                {
-                // Check whether the event handler at index i+1 is still the 
-                // same as before calling offerEvent. If not, the array has 
-                // been modified and the variable i needs to be set again. 
-                if ( i+1 >= eventHandlerArray.count() ||
-                     (i+1 < eventHandlerArray.count() && 
-                     eventHandlerArray[i+1] != nextHandler) )
-                    {
-                    // Array has changed in offerEvent, the handler at index 
-                    // 'i+1' is not the same any more. Find the index of the 
-                    // current event handler again in the array and fix the
-                    // loop variable 'i' point to that and continue.
-                    int newCount = eventHandlerArray.count();
-                    for ( int j = 0 ; j < newCount ; j++ )
-                        {
-                        if ( eventHandlerArray[j] == eventHandler )
-                            {
-                            i = j;
-                            break;
-                            }
-                        }
-                    
-                    }
-                }                        
-            }
-        }
-        
-    return ret;
-    }
-
-// from base class IAlfModelChangeObserver
-
-OSN_EXPORT void CAlfWidgetControl::modelChanged( IAlfModel& aModel )
-    {
-    (void)aModel;
-    // This way the model change animation is customizable using event handlers
-    // The default event handler could implement this:
-    destroyPresentation( 0 );
-    updatePresentation();
-    updateParentLayout();
-    }
-
-OSN_EXPORT void CAlfWidgetControl::dataChanging(
-    const AlfPtrVector<AlfModelOperation>& aOperations )
-    {
-    for ( int i = 0; i < aOperations.count(); ++i )
-        {
-        dataChanging( *aOperations[i] );
-        }
-    }
-
-OSN_EXPORT void CAlfWidgetControl::dataChanging(
-    const AlfModelOperation& aOperation )
-    {
-    int numIndices = aOperation.numContainerIndices();
-    if ( !mWdgtControlData->mWidget->model() || numIndices <= 0 )
-        {
-        return;
-        }
-    uint dataId = 0, parentDataId = 0;
-    IAlfElement* element = 0;
-    IAlfElement* parentElement = 0;
-    IAlfVariantType* data = mWdgtControlData->mWidget->model()->data();
-    if(data == 0)
-        {
-        return;
-        }
-    IAlfBranch* parentBranch = 0;
-    // Traverse the data hierarchy to find the data, dataId and the element
-    for ( int i = 0; i < numIndices; ++i )
-        {
-        int index = aOperation.containerIndex( i );
-        if ( data->type() == IAlfVariantType::EMap  &&
-                index >= 0 && index < data->map()->count() )
-            {
-            parentElement = element;
-            element = findElement( data->map()->name( index ).getUtf8() );
-            if ( element == 0 )
-                {
-                return; // Not found
-                }
-            IAlfMap* map = data->map();
-            data = data->map()->item( index );
-
-            if ( data->type() == IAlfVariantType::EContainer )
-                {
-                ++i;
-                int containerIndex = aOperation.containerIndex( i );
-                if ( containerIndex < 0 || 
-                       containerIndex >= data->container()->count() )
-                    {
-                    break; // Not found
-                    }
-                int childInd = 
-                    childIndex( *map, index, containerIndex, i == 1 );
-                parentDataId = dataId;
-                dataId = elementDataId( *element, childInd, parentDataId );
-                data = data->container()->item( containerIndex );
-                }
-            else
-                {
-                int childInd = childIndex( *map, index, 0, i == 0 );
-                parentDataId = dataId;
-                dataId = elementDataId( *element, childInd, parentDataId );
-                }
-            }
-        else if ( data->type() == IAlfVariantType::EBranch &&
-                  index == 0 && i == numIndices - 1 )
-            {
-            // Changing the parent data
-            data = data->branch()->data();
-            }
-        else if ( data->type() == IAlfVariantType::EBranch && index == 1 )
-            {
-            parentBranch = data->branch();
-            data = data->branch()->childData();
-            }
-        else
-            {
-            return; // Not found
-            }
-        }
-
-    // Perform the operation
-    if ( aOperation.operation() == AlfModelOperation::EOperationAdd )
-        {
-        if ( parentBranch )
-            {
-            // The parent is responsible for it's children
-            parentElement->createChildVisualTree( 
-                               element, aOperation.newData(),
-                               *parentBranch,aOperation.index(),
-                               parentDataId );
-            }
-        else
-            {
-            if(element)
-                {
-                // Data added to a root element
-                try
-                    {
-                    element->createVisualTree(
-                                 aOperation.newData(), dataId,
-                                 element->defaultParentLayout( parentDataId ),
-                                 aOperation.index() );
-                    }
-                catch (...)
-                    {
-                    ALF_THROW(AlfVisualException,ECanNotCreateVisual,"CAlfWidgetControl::dataChanging failed")
-                    }               
-                }
-            else
-                {
-                ALF_THROW(AlfVisualException,ECanNotCreateVisual,"CAlfWidgetControl::dataChanging failed")
-                }
-
-            }
-        }
-    else if ( aOperation.operation() == AlfModelOperation::EOperationRemove )
-        {
-        if ( parentBranch )
-            {
-            // The parent is responsible for it's children
-            parentElement->removeChildVisualTree(
-                element, *parentBranch, aOperation.index(), parentDataId );
-            }
-        else
-            {
-            if(element)
-                {
-                // Data removed from a root element
-                element->removeVisualTree( *data, dataId );
-                }
-            }
-        }
-    else if ( aOperation.operation() == AlfModelOperation::EOperationUpdate )
-        {
-        if(element)
-            {
-            element->updateVisualTree( aOperation.newData(), *data, dataId );            
-            }
-        }
-    }
-
-OSN_EXPORT void CAlfWidgetControl::dataChanged()
-    {
-    // The default implementation is empty.
-    }
-
-uint CAlfWidgetControl::childIndex(
-    IAlfMap& aMap, uint aMapIndex,
-    uint aContainerIndex, bool aRoot )
-    {
-    // This method is only used internally
-    const UString& elementName = aMap.name( aMapIndex );
-    int index = 0;
-    for ( int i = 0; i < aMapIndex && i < aMap.count(); ++i )
-        {
-        if ( !aRoot || elementName == aMap.name( i ) )
-            {
-            IAlfVariantType* data = aMap.item( i );
-            if ( data->type() == IAlfVariantType::EMap ||
-                    data->type() == IAlfVariantType::EBranch)
-                {
-                index++;
-                }
-            else if ( data->type() == IAlfVariantType::EContainer )
-                {
-                index += data->container()->count();
-                }
-            }
-        }
-    return index + aContainerIndex;
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfInterfaceBase.
-// Getter for interfaces provided by the control.
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT IAlfInterfaceBase* CAlfWidgetControl::makeInterface(
-    const IfId& aType )
-    {
-    IAlfInterfaceBase* interface = 0;
-    UString param(aType.mImplementationId);
-    if ( param == IAlfWidgetControl::type().mImplementationId )
-        {
-        return static_cast<IAlfWidgetControl*>( this );
-        }
-    else if (param == IAlfAttributeOwner::type().mImplementationId)
-        {
-        return 0; // control does not have AttributeOwner instance
-        		  // and do not try get IF from elements in control
-        }
-    // Let the layout manager create the interface that is queried.
-    else if(mWdgtControlData->mAlfHostAPIImpl.get())
-    	{
-    	IAlfLayoutManager* layoutManager = 
-    	    mWdgtControlData->mAlfHostAPIImpl->getBaseLayout();
-    	if(layoutManager)
-    		{
-    		interface = layoutManager->makeInterface(aType);
-    		}
-    	}
-
-    if(interface == 0)
-    	{
-        //go through all the elements    
-        for (int i = 0; i < numElements() && !interface; i++)
-            {
-            IAlfElement& ele = element(i);
-            interface = ele.makeInterface(aType);
-            }
-    	}
-
-    return interface;
-    }
-
-
-OSN_EXPORT CAlfLayout* CAlfWidgetControl::ContainerLayout(
-    const CAlfControl* /*aConnected*/) const
-    {
-    if(mWdgtControlData->mAlfHostAPIImpl.get() != 0)
-        {
-        IAlfLayoutManager* layoutManager = 
-            mWdgtControlData->mAlfHostAPIImpl->getBaseLayout();
-        if(layoutManager != 0)
-        	{
-        	return &layoutManager->getLayout();
-        	}
-        }
-    return 0;
-    }
-
-    
-OSN_EXPORT void CAlfWidgetControl::AcquireFocus()
-    {
-    if (!FocusedConnection() && isFocusable())
-        {
-        if (isContainer())
-            {
-            IAlfHostAPI& hostApi = hostAPI();
-            //select the first connection.
-            
-            CAlfWidgetControl* firstChild = nextFocusableControl(0);
-            if (firstChild)
-                {
-                firstChild->AcquireFocus();
-                }
-            }
-        else
-            {
-            CAlfControl::AcquireFocus();
-            }
-        }
-    }
-    
-OSN_EXPORT void CAlfWidgetControl::RelinquishFocus()
-    {
-    if (Focus())
-        {
-        if (isContainer())
-            {
-            handleFocusNext();
-            }
-        else
-            {
-            //get parent control, check if it can focus next control.
-            CAlfWidgetControl* parent = 
-                dynamic_cast<CAlfWidgetControl*>(Host());
-            if (parent)
-                {
-                parent->handleFocusNext();
-                }
-                
-            CAlfControl::RelinquishFocus();
-            }
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// return hostapi. create instance if needed.
-// ---------------------------------------------------------------------------
-//
-IAlfHostAPI& CAlfWidgetControl::hostAPI()
-    {
-    if (!mWdgtControlData->mAlfHostAPIImpl.get()) // was it already created?
-        {
-        //late creation
-        mWdgtControlData->mAlfHostAPIImpl.reset( new (EMM) AlfHostAPIImpl() ); 
-        mWdgtControlData->mAlfHostAPIImpl->setHostControl(*this);
-        }
-        
-    return *mWdgtControlData->mAlfHostAPIImpl.get();
-    }
-    
-OSN_EXPORT bool CAlfWidgetControl::handleFocusNext()
-    {
-    bool focusChanged = false;
-    if (isContainer())
-        {
-        CAlfWidgetControl* focused = 
-            dynamic_cast<CAlfWidgetControl*>(FocusedConnection());
-        if (focused)
-            {
-            CAlfWidgetControl* nextChild = nextFocusableControl(focused);
-                
-            if (!nextChild)
-                {
-                //no next child, change focus to upper level, if that fails,
-                //loop to first connection. 
-                CAlfWidgetControl* parent = 
-                    dynamic_cast<CAlfWidgetControl*>(Host());
-                if (parent)
-                    {
-                    focusChanged = parent->handleFocusNext();
-                    }
-                if (!focusChanged)
-                    {
-                    //loop to first connection. 
-                    nextChild = nextFocusableControl(0);
-                    }
-                }
-                
-            //go deeper down the widget hierarchy, until a no-container widget
-            // is found
-            while(nextChild && nextChild->isContainer())
-                {
-                nextChild = nextChild->nextFocusableControl(0);
-                }
-                
-            if (nextChild)
-                {
-                nextChild->AcquireFocus();
-                focusChanged = true;
-                }
-            }
-        }
-    return focusChanged;
-    }
-    
-OSN_EXPORT bool CAlfWidgetControl::handleFocusPrevious()
-    {
-    bool focusChanged = false;
-    if (isContainer())
-        {
-
-        CAlfWidgetControl* focused = 
-            dynamic_cast<CAlfWidgetControl*>(FocusedConnection());
-        if (focused)
-            {
-            CAlfWidgetControl* prevChild = previousFocusableControl(
-                focused);
-
-            if (!prevChild)
-                {
-                // no previous child, change focus to upper level, if that 
-                // fails, loop to last connection.
-                CAlfWidgetControl* parent = 
-                    dynamic_cast<CAlfWidgetControl*>(Host());
-                if (parent)
-                    {
-                    focusChanged = parent->handleFocusPrevious();
-                    }
-                if (!focusChanged)
-                    {                    
-                    //loop to last connection.
-                    prevChild = previousFocusableControl(0);
-                    }
-                }
-            //go deeper down the widget hierarchy, until a no-container widget
-            //is found. 
-            while(prevChild && prevChild->isContainer())
-                {
-                //in each level, select the last focused widget.
-                prevChild = prevChild->previousFocusableControl(0);
-                }
-                
-            if (prevChild)
-                {
-                prevChild->AcquireFocus();
-                focusChanged = true;
-                }
-            }
-        }
-        
-    return focusChanged;
-    }
-        
-OSN_EXPORT CAlfWidgetControl* CAlfWidgetControl::getFirstFocusable(
-    IAlfContainerWidget& aContainer)
-    {
-    CAlfWidgetControl* control = 0;
-    if (aContainer.widgetCount() > 0)
-        {
-        control = aContainer.getWidget(0)->control();
-        }
-    return control;
-    }
-
-OSN_EXPORT CAlfWidgetControl* CAlfWidgetControl::getLastFocusable(
-    IAlfContainerWidget& aContainer)
-    {
-    CAlfWidgetControl* control = 0;
-    if (aContainer.widgetCount() > 0)
-        {
-        IAlfWidget* w = aContainer.getWidget(aContainer.widgetCount()-1);
-        control = w->control();
-        }
-    return control;
-    }
-    
-OSN_EXPORT CAlfWidgetControl* CAlfWidgetControl::getFocusableAfter(
-    IAlfContainerWidget& aContainer,
-    CAlfWidgetControl& aControl)
-    {
-    CAlfWidgetControl* control = 0;
-    int ind = aContainer.getWidgetIndex(*aControl.widget());
-    if (ind >= 0)
-        {
-        ind++;
-        if (ind < aContainer.widgetCount())
-            {
-            IAlfWidget* w = aContainer.getWidget(ind);
-            control = w->control();
-            }
-        }
-        
-    return control;
-    }
-
-OSN_EXPORT CAlfWidgetControl* CAlfWidgetControl::getFocusableBefore(
-    IAlfContainerWidget& aContainer, CAlfWidgetControl& aControl)
-    {
-    CAlfWidgetControl* control = 0;
-    int ind = aContainer.getWidgetIndex(*aControl.widget());
-    ind--;
-    if (ind >= 0)
-        {
-        IAlfWidget* w = aContainer.getWidget(ind);
-        control = w->control();
-        }
-        
-    return control;
-    }
-    
-void CAlfWidgetControl::resetControlGroup(CAlfControlGroup& aControlGroup)
-    {
-    // If control group is already set and its same than the control group
-    // given as a parameter there's nothing we need to do.
-    if(!ControlGroup() || (ControlGroup() != &aControlGroup))
-        {
-        // Remove control from previous control group
-        if(ControlGroup())
-            {
-            ControlGroup()->Remove(this);
-            }
-        // Append control to the new control group
-        TRAPD(err, aControlGroup.AppendL(this));
-        if(err != KErrNone)
-            {
-            ALF_THROW(AlfException, err, "CAlfWidgetControl::resetControlGroup - Appending control to a new control group failed.");
-            }                    
-        }
-    }
-
-void CAlfWidgetControl::resetHierarchyControlGroup(
-    CAlfControlGroup& aControlGroup)
-    {
-    // Append this control to the new control group
-    resetControlGroup(aControlGroup);
-        
-    // Call this recursively to all connected controls
-    AlfHostAPIImpl* hostApi = mWdgtControlData->mAlfHostAPIImpl.get();
-    if(hostApi != 0)
-        {
-        for(int i = 0; i < hostApi->getConnectionCount(); ++i)
-            {
-            CAlfWidgetControl* connectedControl = hostApi->getConnection(i);
-            if(connectedControl)
-                {
-                connectedControl->resetHierarchyControlGroup(aControlGroup);
-                }
-            }
-        }    
-    }
-    
-    
-OSN_EXPORT void CAlfWidgetControl::FocusChanged(
-    CAlfDisplay& /*aDisplay*/,
-    TBool aFocused)
-    {
-    // Ensure that the state bit remains synched to the toolkit's version
-    if (aFocused)
-        {
-        mWdgtControlData->mState |= IAlfWidgetControl::Focused;
-        }
-    else
-        {
-        mWdgtControlData->mState &=~ IAlfWidgetControl::Focused;
-        }
-
-    if (aFocused)
-        {
-        processEvent(TAlfEvent(EEventWidgetGainedFocus));
-        }
-    else
-        {
-        processEvent(TAlfEvent(EEventWidgetLostFocus));
-        }
-    }
-    
-OSN_EXPORT CAlfWidgetControl* CAlfWidgetControl::nextFocusableControl(
-    CAlfWidgetControl* aControl)
-    {
-    CAlfWidgetControl* control = 0;
-    
-    if (isContainer())
-        {
-        IAlfContainerWidget* container = 
-            IAlfInterfaceBase::makeInterface<IAlfContainerWidget>(widget());
-        
-        assert(container);
-        
-        if (!aControl)
-            {
-            control = getFirstFocusable(*container);
-            }
-        else
-            {
-            control = getFocusableAfter(*container, *aControl);
-            }
-            
-        while(control && !control->isFocusable())
-            {
-            control = control->getFocusableAfter(*container, *control);
-            }
-        }
-        
-    return control;
-    }
-    
-OSN_EXPORT CAlfWidgetControl* CAlfWidgetControl::previousFocusableControl(
-    CAlfWidgetControl* aControl)
-    {
-    CAlfWidgetControl* control = 0;
-    
-    if (isContainer())
-        {
-        IAlfContainerWidget* container = 
-            IAlfInterfaceBase::makeInterface<IAlfContainerWidget>(widget());
-        
-        assert(container);
-        
-        if (!aControl)
-            {
-            control = getLastFocusable(*container);
-            }
-        else
-            {
-            control = getFocusableBefore(*container, *aControl);
-            }
-            
-        while(control && !control->isFocusable())
-            {
-            control = control->getFocusableBefore(*container, *control);
-            }
-        }
-        
-    return control;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CAlfWidgetControl::enableStateVisible()
-    {
-    // Only take action if the current state is different
-    if ( !(mWdgtControlData->mState & IAlfWidgetControl::Visible) )
-        {
-        // Update the new state in member variable
-        mWdgtControlData->mState |= IAlfWidgetControl::Visible;
-
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CAlfWidgetControl::disableStateVisible()
-    {
-    // Only take action if the current state is different
-    if ( mWdgtControlData->mState & IAlfWidgetControl::Visible )
-        {
-        // Update the new state in member variable
-        mWdgtControlData->mState &= ~IAlfWidgetControl::Visible;
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CAlfWidgetControl::enableStateEnabled()
-    {
-    // Only take action if the current state is different
-    if ( !(mWdgtControlData->mState & IAlfWidgetControl::Enabled) )
-        {
-        // Update the new state in member variable
-        mWdgtControlData->mState |= IAlfWidgetControl::Enabled;
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CAlfWidgetControl::disableStateEnabled()
-    {
-    // Only take action if the current state is different
-    if ( mWdgtControlData->mState & IAlfWidgetControl::Enabled )
-        {
-        // Update the new state in member variable
-        mWdgtControlData->mState &= ~IAlfWidgetControl::Enabled;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CAlfWidgetControl::enableStateFocused()
-    {
-    // Only take action if the current state is different
-    if ( !(mWdgtControlData->mState & IAlfWidgetControl::Focused) )
-        {
-        // Set the new state
-        AcquireFocus();
-        
-        // Update the new state in member variable
-        mWdgtControlData->mState |= IAlfWidgetControl::Focused;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CAlfWidgetControl::disableStateFocused()
-    {
-    // Only take action if the current state is different
-    if ( mWdgtControlData->mState & IAlfWidgetControl::Focused )
-        {
-        // Set the new state
-        RelinquishFocus();
-        
-        // Update the new state in member variable
-        mWdgtControlData->mState &= ~IAlfWidgetControl::Focused;
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CAlfWidgetControl::enableStateFocusable()
-    {
-    // Only take action if the current state is different
-    if ( !(mWdgtControlData->mState & IAlfWidgetControl::Focusable) )
-        {
-        // Update the new state in member variable
-        mWdgtControlData->mState |= IAlfWidgetControl::Focusable;
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CAlfWidgetControl::disableStateFocusable()
-    {
-    // Only take action if the current state is different
-    if ( mWdgtControlData->mState & IAlfWidgetControl::Focusable )
-        {
-        // Update the new state in member variable
-        mWdgtControlData->mState &= ~IAlfWidgetControl::Focusable;
-        }    
-    }
-
-void CAlfWidgetControl::checkStateInvariants(uint aState)
-    {
-    // To be focused, it needs to be focusable (Focus -> Focusable)
-    if(aState & IAlfWidgetControl::Focused 
-    &&  !(aState & IAlfWidgetControl::Focusable)  )
-        {
-        ALF_THROW(AlfException, EInvalidArgument, "AlfWidgetControl() - state changing operation. Illegal state would result.");
-        }
-
-    // To be focusable, it needs to be enabled (Focusable -> Enabled)
-    if(aState & IAlfWidgetControl::Focusable 
-    &&  !(aState & IAlfWidgetControl::Enabled)  )
-        {
-        ALF_THROW(AlfException, EInvalidArgument, "AlfWidgetControl() - state changing operation. Illegal state would result.");
-        }
-    }
-
-void CAlfWidgetControl::predictAndCheckStateInvariants(
-    uint aChangePattern,
-    bool aEnabling) const
-    {
-    uint predictedState(mWdgtControlData->mState);
-    if(aEnabling)
-        {
-        predictedState |= aChangePattern;
-        }
-    else
-        {
-        predictedState &= ~aChangePattern;
-        }
-    checkStateInvariants(predictedState);
-    }
-
-
-} // namespace Alf
-
--- a/widgetmodel/alfwidgetmodel/src/alfwidgetcontroleventfilter.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* 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:  Stray PointerUp Event Filter.
-*
-*/
-
-#include <osn/osnnew.h>
-#include <alf/alfevent.h>
-#include <alf/alfenv.h>
-#include <alf/alfwidgetevents.h>
-#include <alf/ialfscrollbarmodel.h>
-#include <alf/alfwidgetcontrol.h>
-
-#include "alfwidgetcontroleventfilter.h"
-
-enum EventfilterEvent
-    {
-    EEventStrayPointerUp=57423
-    };
-//namespace Alf
-namespace Alf
-{
-AlfWidgetControlEventFilter::AlfWidgetControlEventFilter()
-	{
-	mButtonDown = false;
-	}
-	
-AlfWidgetControlEventFilter::~AlfWidgetControlEventFilter()
-	{
-	}
-
-IAlfWidgetEventHandler::AlfEventHandlerType AlfWidgetControlEventFilter
-    ::eventHandlerType()
-    {
-    return IAlfWidgetEventHandler::ELogicalEventHandler;
-    }
-
-IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase AlfWidgetControlEventFilter
-    ::eventExecutionPhase()
-    {
-    return IAlfWidgetEventHandler::ETunnellingPhaseEventHandler;
-    }
-
-bool AlfWidgetControlEventFilter::accept( 
-                            CAlfWidgetControl& /*aControl*/, 
-                            const TAlfEvent& /*aEvent */) const
-	{	
-    return false;
-	}
-		
-AlfEventStatus AlfWidgetControlEventFilter::offerEvent(
-                     CAlfWidgetControl& aControl, 
-                     const TAlfEvent& aEvent )
-	{
-	if(aEvent.IsPointerEvent())
-        {
-        if (aEvent.PointerEvent().iType == TPointerEvent::EButton1Down)
-            {
-            // Recieved PointerDown
-            mButtonDown = true;
-            }
-        else if (aEvent.PointerUp())
-            {
-            if(!mButtonDown)
-                {
-                // Recieved a stray pointerUp 
-                aControl.Env().Send(TAlfCustomEventCommand(EEventStrayPointerUp));
-                }
-            mButtonDown = false;
-            }
-        }
-    else if(aEvent.IsCustomEvent())
-        {
-        if(aEvent.CustomParameter() == EEventStrayPointerUp)
-            {
-            if(mButtonDown)
-                {
-                mButtonDown = false;
-                TAlfEvent customevent(EEventMissedPointerUp);
-                aControl.handleEvent(customevent);
-                }
-            }
-        }
-	return EEventNotHandled;
-	}
-	
-void AlfWidgetControlEventFilter::setActiveStates( unsigned int /*aStates*/ )
-	{
-	}
-IAlfInterfaceBase* AlfWidgetControlEventFilter::makeInterface ( const IfId& /*aType*/ )
-	{
-	return NULL;
-	}
-
-}// namespace Alf
-
--- a/widgetmodel/alfwidgetmodel/src/alfwidgetenvextension.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-/*
-* 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:  Extensions can be added to AlfEnv through this class.
-               Currently resourcepool,widgetfactory can be added as extensions to AlfEnv.
-*
-*/
-
-
-#include <alf/alfenv.h>
-#include <alf/alfenvobject.h>
-#include <alf/alfresourcepool.h>
-
-#include <osn/osnnew.h>
-#include <alf/alfwidgetexception.h>
-#include <alf/alfwidgetenvextension.h>
-
-#include <alf/alfwidgetfactoryloader.h>
-#include <alf/ialfwidgetfactory.h>
-namespace Alf
-    {
-    const int KAlfExtensionResourcePoolUid( 89 ); // Bogus id for resource 
-                                                  // pool extension
-    
-    const int KAlfExtensionWidgetFactoryUid( 106 ); // Bogus id for widget
-                                                    // factory extension
-    
-    // Env extension for the resource pool
-    class AlfExtensionResourcePoolContainer : public MAlfEnvObject
-        {
-    public:        
-
-        AlfExtensionResourcePoolContainer( ResourcePool* aResourcePool) :
-        mResourcePool(aResourcePool )
-            {
-            }
-
-        virtual void Release()
-            {
-            delete this;
-            }
-
-        ~AlfExtensionResourcePoolContainer()
-            {
-            delete mResourcePool;
-            }
-        // Owned
-        ResourcePool* mResourcePool;
-        };
-        
-
-    // Env extension for the widget factory
-    class AlfExtensionWidgetFactory : public MAlfEnvObject
-        {
-    public:        
-
-        AlfExtensionWidgetFactory( 
-            AlfWidgetFactoryLoader* amWidgetFactoryLoader,
-            IAlfWidgetFactory* aWidgetFactory) :
-        mWidgetFactoryLoader( amWidgetFactoryLoader ),
-        mWidgetFactory( aWidgetFactory )
-            {
-            }
-
-        virtual void Release()
-            {
-            delete this;
-            }
-
-        ~AlfExtensionWidgetFactory()
-            {
-            delete mWidgetFactoryLoader;
-            }
-        // Owned
-        AlfWidgetFactoryLoader* mWidgetFactoryLoader;
-        // Not owned
-        IAlfWidgetFactory* mWidgetFactory;
-        };    
-    
-// ---------------------------------------------------------------------------
-// Initializes environment with resource pool and factory extensions
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT void AlfWidgetEnvExtension::initializeEnvironment(CAlfEnv& aEnv)
-    {
-	AlfExtensionResourcePoolContainer* poolContainer = 
-        static_cast<AlfExtensionResourcePoolContainer*>(
-            aEnv.Extension( KAlfExtensionResourcePoolUid));
-    if ( poolContainer == NULL)
-        {
-        // Initialize the env with resource pool extension
-        initializeEnvironmentForResourcePool(aEnv);
-        }
-	AlfExtensionWidgetFactory* widgetFactoryExtension = 
-        static_cast<AlfExtensionWidgetFactory*>(
-            aEnv.Extension( KAlfExtensionWidgetFactoryUid));
-    if ( widgetFactoryExtension == NULL)
-        {
-        // Initialize the env with widget factory extension
-        initializeEnvironmentForFactory(aEnv);
-        }
-    }
-// ---------------------------------------------------------------------------
-// Initializes environment with Theme Manager extension
-// ---------------------------------------------------------------------------
-//   
-void AlfWidgetEnvExtension::initializeEnvironmentForTheme(CAlfEnv& /*aEnv*/ )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Initializes environment with resource pool extension
-// ---------------------------------------------------------------------------
-//        
-void AlfWidgetEnvExtension::initializeEnvironmentForResourcePool(CAlfEnv& aEnv)
-    {
-    auto_ptr<ResourcePool> pool(new(EMM) ResourcePool(
-                                             aEnv.TextureManager(), NULL));
-    auto_ptr<AlfExtensionResourcePoolContainer> poolContainer(
-        new(EMM) AlfExtensionResourcePoolContainer( pool.release()));
-    int err = aEnv.AddExtension( KAlfExtensionResourcePoolUid,
-                       (MAlfEnvObject*)(poolContainer.get()));
-    if ( err != KErrNone)
-        {
-        ALF_THROW(AlfWidgetException, ECommonError, "Failed to add AlfEnv extension");
-        }
-    else
-        {
-        poolContainer.release();
-        }   
-    }
-// ---------------------------------------------------------------------------
-// Returns the reference for Resource Pool extension object. 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT ResourcePool& AlfWidgetEnvExtension::resourcePool( CAlfEnv& aEnv)
-    {
-    Alf::AlfExtensionResourcePoolContainer* poolContainer = 
-        static_cast<Alf::AlfExtensionResourcePoolContainer*>(aEnv.Extension( KAlfExtensionResourcePoolUid));
-    if ( poolContainer == NULL)
-        {
-        initializeEnvironment(aEnv);
-        }
-    //re-fetch the pool
-    poolContainer = 
-        static_cast<Alf::AlfExtensionResourcePoolContainer*>(aEnv.Extension( KAlfExtensionResourcePoolUid));
-    return *(poolContainer->mResourcePool);
-}
-
-// ---------------------------------------------------------------------------
-// Initializes environment with factory extension
-// ---------------------------------------------------------------------------
-//    
-void AlfWidgetEnvExtension::initializeEnvironmentForFactory(CAlfEnv& aEnv)
-    {
-    auto_ptr<AlfWidgetFactoryLoader> widgetFactoryLoader( 
-                                         new (EMM) AlfWidgetFactoryLoader() );
-    
-    IAlfWidgetFactory* widgetFactory = NULL;
-    widgetFactory = widgetFactoryLoader->loadWidgetFactory(aEnv);
-    if(!widgetFactory)
-        {
-        ALF_THROW(AlfWidgetException, ECommonError, "Failed to create widget factory");
-        }
-    auto_ptr<AlfExtensionWidgetFactory> widgetFactoryExtension(
-        new(EMM) AlfExtensionWidgetFactory( widgetFactoryLoader.release(),
-                     widgetFactory));
-    int err = aEnv.AddExtension( KAlfExtensionWidgetFactoryUid,
-                       (MAlfEnvObject*)(widgetFactoryExtension.get()));
-    if ( err != 0)
-        {
-        ALF_THROW(AlfWidgetException, ECommonError, "Failed to add AlfEnv extension");
-        }
-    else
-        {
-    	widgetFactoryExtension.release();
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the reference for Theme Manager extension object. 
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT AlfThemeManagerUtil& AlfWidgetEnvExtension::themeManagerUtil( CAlfEnv& /*aEnv*/)
-    {
-    // Depricated
-    ALF_THROW(AlfWidgetException, EInvalidArgument, "Depricated Module");
-    }
-
-    
-// ---------------------------------------------------------------------------
-//Access to the widget factory
-// ---------------------------------------------------------------------------
-//        
-OSN_EXPORT IAlfWidgetFactory& AlfWidgetEnvExtension::widgetFactory( 
-    CAlfEnv& aEnv)
-    {
-    AlfExtensionWidgetFactory* widgetFactoryExtension = 
-        static_cast<AlfExtensionWidgetFactory*>(
-            aEnv.Extension( KAlfExtensionWidgetFactoryUid));
-    if ( widgetFactoryExtension == NULL)
-        {
-        initializeEnvironmentForFactory(aEnv);
-        }
-    //re-fetch the widget factory extension
-    widgetFactoryExtension = 
-        static_cast<AlfExtensionWidgetFactory*>(
-            aEnv.Extension( KAlfExtensionWidgetFactoryUid));
-    return *(widgetFactoryExtension->mWidgetFactory);
-    }    
-
-    } // Alf
--- a/widgetmodel/alfwidgetmodel/src/alfwidgeteventhandler.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,632 +0,0 @@
-/*
-* Copyright (c) 2009 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:   File implements eventhandler in widgetmodel.
-*
-*/
-
-#include <alf/alftypes.h>
-#include <osn/ustring.h>
-
-#include "alf/alfwidgeteventhandler.h"
-#include <alf/alfwidgetcontrol.h>
-#include <alf/alfvarianttype.h>
-#include <alf/alfexceptions.h>
-#include "alf/alfattribute.h"
-#include <alf/alfeventoutputsignalsubscriber.h>
-#include <alf/ialfappeventlistener.h>
-#include <stdexcept>
-#include <osn/osnnew.h>
-
-#ifdef RD_TACTILE_FEEDBACK
-#include <touchfeedback.h>
-#endif // RD_TACTILE_FEEDBACK
-
-#include "alfwidgeteventhandlerimpl.h"
-#include "alfanimationoutput.h"
-#include "alfeventinput.h"
-#include "alfeventoutput.h"
-
-
-namespace Alf
-    {
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT AlfWidgetEventHandler::AlfWidgetEventHandler(
-    IAlfWidgetEventHandler::AlfEventHandlerType aEventHandlerType,
-    IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase aEventHandlerExecutionPhase )
-    {
-    mImpl.reset( new (EMM) AlfWidgetEventHandlerImpl(
-        aEventHandlerType, aEventHandlerExecutionPhase ) );
-    }
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-AlfWidgetEventHandler::~AlfWidgetEventHandler()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addKeyInput(
-    int aEventID,
-    EventTypeFlags aEventTypeFlags,
-    uint aModifiers )
-    {
-    if ( aEventTypeFlags != keyDown && aEventTypeFlags != keyUp )
-        {
-        ALF_THROW(
-            AlfException,
-            EInvalidArgument,
-            "AlfWidgetEventHandler - invalid event type given in addKeyInput()" );
-        }
-    
-    mImpl->mInputs.resize(mImpl->mInputs.count()+1);
-    AlfEventInput* input = new( EMM ) AlfEventInput( aEventTypeFlags, aEventID, 0, aModifiers );
-    mImpl->mInputs.insert(mImpl->mInputs.count(),input);
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addCustomInput(
-    int aEventID, bool aUseEventData, int aEventData )
-    {
-    mImpl->mInputs.resize(mImpl->mInputs.count()+1);
-    AlfEventInput* input = new( EMM ) AlfEventInput(custom, aEventID, aEventData, 0 );
-    if ( aUseEventData )
-        {
-        input->mEventTypeFlags |= useEventData;
-        }
-
-    mImpl->mInputs.insert(mImpl->mInputs.count(), input);
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addPointerInput(
-    const char* aElementName, const char* aVisualName, 
-    WidgetPointerEvent aEvent )
-    {
-    mImpl->mPointerInputs.resize(mImpl->mPointerInputs.count()+1);
-    AlfPointerEventInput* input = new( EMM ) AlfPointerEventInput( aElementName, aVisualName, aEvent );
-    mImpl->mPointerInputs.insert(mImpl->mPointerInputs.count(), input);
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-
-OSN_EXPORT void AlfWidgetEventHandler::addOutput(
-    int aEventType,
-    int aEventID,
-    const char* aTargetControl,
-    unsigned int aDelay )
-    {
-    mImpl->mOutputs.resize(mImpl->mOutputs.count()+1);
-    AlfEventOutput* output = new( EMM ) AlfEventOutput( aEventType, aEventID, aTargetControl, aDelay );
-    mImpl->mOutputs.insert(mImpl->mOutputs.count(), output);
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addAnimationOutput(
-    AlfReferenceToVisual* aTargetVisual,
-    AlfReferenceToVisual* aReferenceVisual,
-    IAlfAttributeSetter* aAttributeSetter,
-    AlfAttributeContainer* aAttributeContainer,
-    unsigned int aAnimationTime,
-    unsigned int aDelay )
-    {
-    mImpl->mAnimationOutputs.resize(mImpl->mAnimationOutputs.count()+1);
-
-    AlfAnimationOutput* output = new( EMM ) AlfAnimationOutput(
-        aTargetVisual,
-        aReferenceVisual,
-        aAttributeSetter,
-        aAttributeContainer,
-        aAnimationTime,
-        aDelay );
-
-    // This should always succeed, because the array has already been resized.
-    mImpl->mAnimationOutputs.insert(mImpl->mAnimationOutputs.count(), output );
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addCancelOutput(
-    const char* aTargetWidget, int aEventID, bool aCancelAll )
-    {
-    mImpl->mCancelOutputs.resize(mImpl->mCancelOutputs.count()+1);
-    AlfEventCancelOutput* output = new( EMM ) AlfEventCancelOutput( aTargetWidget, aEventID, aCancelAll );
-    mImpl->mCancelOutputs.insert(mImpl->mCancelOutputs.count(), output);
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addAnimationCancelOutput(
-    const char* aElementName,
-    const char* aVisualName,
-    TAlfOp aOperation,
-    bool aCancelAll )
-    {
-    mImpl->mAnimationCancelOutputs.resize(mImpl->mAnimationCancelOutputs.count()+1);
-    AlfAnimationCancelOutput* output = new( EMM ) AlfAnimationCancelOutput(aElementName, aVisualName, aOperation, aCancelAll );
-    mImpl->mAnimationCancelOutputs.insert(mImpl->mAnimationCancelOutputs.count(), output);
-    }
-
-// ---------------------------------------------------------------------------
-// AddWidgetAttributeOutput
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addWidgetAttributeOutput(
-    AlfAttribute& aAttribute, const char* aWidgetId )
-    {
-    mImpl->mWidgetAttributeOutputs.resize( mImpl->mWidgetAttributeOutputs.count() + 1 );
-    AlfWidgetAttributeOutput* output = new (EMM) AlfWidgetAttributeOutput( aAttribute, aWidgetId );
-    mImpl->mWidgetAttributeOutputs.insert( mImpl->mWidgetAttributeOutputs.count(), output );
-    }
-
-// ---------------------------------------------------------------------------
-// addWidgetAttributeOutput
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addWidgetAttributeOutput(
-    UString& aName, AlfAttributeValueType* aValue, const char* aWidgetId )
-    {
-    auto_ptr<AlfAttribute> attr(
-        new( EMM ) AlfAttribute(aName.getUtf8(), AlfAttribute::EStatic ) );
-    attr->addTargetValue( aValue );
-
-    mImpl->mWidgetAttributeOutputs.resize( mImpl->mWidgetAttributeOutputs.count() + 1 );
-    // Add attribute to attribute output. Onwership is transferred.
-    AlfWidgetAttributeOutput* output = new (EMM) AlfWidgetAttributeOutput( *attr.get(), aWidgetId );
-    attr.release();
-    mImpl->mWidgetAttributeOutputs.insert( mImpl->mWidgetAttributeOutputs.count(), output );
-    }
-    
-// ---------------------------------------------------------------------------
-// addWidgetAttributeInput
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addWidgetAttributeInput(
-	UString& aName, AlfAttributeValueType* aValue, const char* aElementId )
-    {
-    auto_ptr<AlfAttribute> attr(
-        new( EMM ) AlfAttribute(aName.getUtf8(), AlfAttribute::EStatic ) );
-    attr->addTargetValue( aValue );
-
-    mImpl->mWidgetAttributeInputs.resize( mImpl->mWidgetAttributeInputs.count() + 1 );
-    // Add attribute to attribute input. Onwership is transferred.
-    AlfWidgetAttributeInput* input = new (EMM) AlfWidgetAttributeInput( *attr.get(), aElementId );
-    attr.release();
-    mImpl->mWidgetAttributeInputs.insert( mImpl->mWidgetAttributeInputs.count(), input );
-    }
-
-// ---------------------------------------------------------------------------
-// addTactileOutput
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addTactileOutput( 
-    WidgetTactileFeedbackType aFeedbackType )
-    {
-#ifdef RD_TACTILE_FEEDBACK
-	// map the feedback type to official tactile feedback type
-    TTouchLogicalFeedback feedback = ETouchFeedbackNone;
-
-    switch ( aFeedbackType )
-        {
-        case tactileFeedbackBasic:
-            feedback = ETouchFeedbackBasic;
-            break;
-        case tactileFeedbackSensitive:
-            feedback = ETouchFeedbackSensitive;
-            break;
-        case tactileFeedbackNone:
-        default:
-            break;
-        }
-
-    // create tactile output
-    mImpl->mTactileOutputs.resize( mImpl->mTactileOutputs.count() + 1 );
-    AlfTactileOutput* output = new (EMM) AlfTactileOutput( feedback );
-    mImpl->mTactileOutputs.insert( mImpl->mTactileOutputs.count(), output );
-#endif // RD_TACTILE_FEEDBACK
-    }
-
-// ---------------------------------------------------------------------------
-// addEventPasserInput
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addEventPasserInput (
-    int aEventId, int aCustomData )
-    {
-    mImpl->mEventPasserInputs.resize( mImpl->mEventPasserInputs.count() + 1 );                                                                      
-    
-    AlfEventPasserInput* input = new( EMM ) AlfEventPasserInput(
-        aEventId, aCustomData );
-    mImpl->mEventPasserInputs.insert( mImpl->mEventPasserInputs.count(), input ); 
-    }
-
-// ---------------------------------------------------------------------------
-// addEventPasserOutput
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addEventPasserOutput( 
-    const char* aSourceWidget , const char* aTargetWidget )
-    {
-    mImpl->mEventPasserOutputs.resize( mImpl->mEventPasserOutputs.count() + 1 );
-
-    //create new output here
-    AlfEventPasserOutput* output = new( EMM ) AlfEventPasserOutput(
-        aSourceWidget, aTargetWidget );
-        
-    mImpl->mEventPasserOutputs.insert( mImpl->mEventPasserOutputs.count(), output );
-    }
-
-// ---------------------------------------------------------------------------
-// addEventPasserOutput
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addEventPasserOutput( 
-    const char* aSourceWidget , const char* aTargetWidget, int aNewEventId, int aNewEventCustomData )
-    {
-    //create new output here
-    auto_ptr<AlfEventPasserOutput> output(new (EMM) AlfEventPasserOutput( aSourceWidget,
-                                                                          aTargetWidget,
-                                                                          aNewEventId,
-                                                                          aNewEventCustomData ));
-    mImpl->mEventPasserOutputs.resize( mImpl->mEventPasserOutputs.count() + 1 );                                                                      
-    mImpl->mEventPasserOutputs.insert( mImpl->mEventPasserOutputs.count(), output.get() ); 
-    output.release();        
-    }
-    
-// ---------------------------------------------------------------------------
-// addWidgetEventOutputSignalSubscriber
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addWidgetEventOutputSignalSubscriber(
-	IAlfEventOutputSignalSubscriber& aSubscriber )
-	{
-	auto_ptr<AlfEventOutputSignal> signal(new (EMM) AlfEventOutputSignal( aSubscriber ));
-	mImpl->mWidgetEventOutputSignals.resize( mImpl->mWidgetEventOutputSignals.count() + 1 );
-	mImpl->mWidgetEventOutputSignals.insert( mImpl->mWidgetEventOutputSignals.count(), signal.get() );
-	signal.release();
-	}
-
-// ---------------------------------------------------------------------------
-// addWidgetStateOutput
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addWidgetStateOutput( 
-    const UString& aName, uint aEnableStates, uint aDisableStates )
-    {
-    auto_ptr<AlfStateChangeOutput> output(new (EMM) AlfStateChangeOutput( aName.getUtf8(), aEnableStates, aDisableStates ));
-    mImpl->mStateChangeOutputs.resize( mImpl->mStateChangeOutputs.count() + 1 );
-    mImpl->mStateChangeOutputs.insert( mImpl->mStateChangeOutputs.count(), output.get() ); 
-    output.release();
-    }
-
-// ---------------------------------------------------------------------------
-// addAppEventOutput
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT void AlfWidgetEventHandler::addAppEventOutput(const UString& aCmd , IAlfAppEventListener& aAppEvent )
-    {
-    auto_ptr<AlfAppEventOutput> appOutput(new (EMM) AlfAppEventOutput( aCmd, aAppEvent ));
-    mImpl->mAppEventOutputs.resize( mImpl->mAppEventOutputs.count() + 1 );
-    mImpl->mAppEventOutputs.insert( mImpl->mAppEventOutputs.count(), appOutput.get() );
-    appOutput.release();
-    }
-    
-// ---------------------------------------------------------------------------
-// From class IAlfWidgetEventHandler.
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-bool AlfWidgetEventHandler::accept(
-    CAlfWidgetControl& aControl, const TAlfEvent& aEvent ) const
-    {
-    bool ret = false;
-
-    // Custom and key events
-    if ( !aEvent.IsPointerEvent() )
-        {
-        int count = mImpl->mInputs.count();
-
-        for ( int i = 0 ; i < count ; i++ )
-            {
-            if ( mImpl->mInputs[i]->accept( aEvent ) )
-                {
-                ret = true;
-                break;
-                }
-            }
-        }
-
-    // Pointer events
-    else
-        {
-        int count = mImpl->mPointerInputs.count();
-
-        for ( int i = 0 ; i < count ; i++ )
-            {
-            if ( mImpl->mPointerInputs[i]->accept( aControl, aEvent ) )
-                {
-                ret = true;
-                break;
-                }
-            }
-        }
-
-    // All the inputs below handle only custom events.
-    
-    if (!ret) 
-        {
-        int count = mImpl->mWidgetAttributeInputs.count();
-
-        for ( int i = 0 ; i < count ; i++ )
-            {
-            if ( mImpl->mWidgetAttributeInputs[i]->accept( aEvent ) )
-                {
-                ret = true;
-                break;
-                }
-            }
-        }
-    
-    if (!ret) 
-        {
-        int count = mImpl->mEventPasserInputs.count();
-
-        for ( int i = 0 ; i < count ; i++ )
-            {
-            if ( mImpl->mEventPasserInputs[i]->accept( aEvent ) )
-                {
-                ret = true;
-                break;
-                }
-            }
-        }        
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfWidgetEventHandler.
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-AlfEventStatus AlfWidgetEventHandler::offerEvent( 
-    CAlfWidgetControl& aControl,
-    const TAlfEvent& aEvent )
-    {
-    AlfEventStatus ret(EEventNotHandled);
-        
-    // If the event handler is active in the control's current state and
-    // any of the inputs accept the event, execute all outputs.
-
-    if ( ( (mImpl->mActiveStates == ~0) ||
-            (aControl.state() & mImpl->mActiveStates) ) &&
-            accept( aControl, aEvent ) )
-        {
-        ret = EEventHandled;
-
-        // Normal event outputs, property outputs and cancel outputs
-        // are executed with all types of events (custom, key, pointer).
-
-        int i;
-        int count = mImpl->mCancelOutputs.count();
-
-        for ( i = 0 ; i < count ; i++ )
-            {
-            mImpl->mCancelOutputs[i]->execute( aControl );
-            }
-
-        count = mImpl->mOutputs.count();
-
-        for ( i = 0 ; i < count ; i++ )
-            {
-            mImpl->mOutputs[i]->execute( aControl, aEvent );
-            }
-
-        // Tactile outputs
-#ifdef RD_TACTILE_FEEDBACK
-        count = mImpl->mTactileOutputs.count();
-
-        for ( i = 0 ; i < count ; i++ )
-            {
-            mImpl->mTactileOutputs[i]->execute();
-            }
-#endif // RD_TACTILE_FEEDBACK
-
-        // widget attribute outputs
-        count = mImpl->mWidgetAttributeOutputs.count();
-
-        for ( i = 0 ; i < count ; i++ )
-            {
-            mImpl->mWidgetAttributeOutputs[i]->execute(
-                aControl );
-            }
-
-        // Event output signal subscribers
-        count = mImpl->mWidgetEventOutputSignals.count();
-        for ( i = 0 ; i < count ; i++ )
-            {
-            mImpl->mWidgetEventOutputSignals[i]->execute();
-            }
-        
-        // Animation event outputs, animation cancel outputs and property outputs
-        // are executed only with custom events.
-
-        if ( aEvent.IsCustomEvent() )
-            {
-            // Custom events have the associated data ID for finding the target
-            // visual in the event data parameter.
-
-            int dataID = aEvent.CustomEventData();
-
-            count = mImpl->mAnimationCancelOutputs.count();
-
-            for ( i = 0 ; i < count ; i++ )
-                {
-                mImpl->mAnimationCancelOutputs[i]->execute( aControl, dataID );
-                }
-
-            count = mImpl->mAnimationOutputs.count();
-
-            for ( i = 0 ; i < count ; i++ )
-                {
-                mImpl->mAnimationOutputs[i]->sendCommand( aControl, dataID );
-                }
-            }
-
-        // State change outputs
-        count = mImpl->mStateChangeOutputs.count();
-        for( i = 0; i < count; i++)
-            {
-            mImpl->mStateChangeOutputs[i]->execute( aControl );
-            }
-            
-        // Event passer outputs
-        count = mImpl->mEventPasserOutputs.count();
-        for( i = 0; i < count; i++)
-            {
-            mImpl->mEventPasserOutputs[i]->execute( &aControl , aEvent );
-            }      
-        
-        // AlfAppEvent outputs
-        count = mImpl->mAppEventOutputs.count();
-        for( i = 0; i < count; i++)
-            {
-            mImpl->mAppEventOutputs[i]->execute( aEvent );
-            } 
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfWidgetEventHandler.
-// ---------------------------------------------------------------------------
-//
-void AlfWidgetEventHandler::setActiveStates( unsigned int aStates )
-    {
-    mImpl->mActiveStates = aStates;
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfWidgetEventHandler.
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-void AlfWidgetEventHandler::setCapturing( bool aCapturing )
-    {
-    mImpl->mCapturing = aCapturing;
-    }
-
-// ---------------------------------------------------------------------------
-// From class IAlfWidgetEventHandler.
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-bool AlfWidgetEventHandler::capturing() const
-    {
-    return mImpl->mCapturing;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MAlfInterfaceBase.
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-IAlfInterfaceBase* AlfWidgetEventHandler::makeInterface( const IfId& aType )
-    {
-    UString param( aType.mImplementationId );
-    if ( param == IAlfWidgetEventHandler::type().mImplementationId )
-        {
-        return static_cast<IAlfWidgetEventHandler*>( this );
-        }
-
-    return NULL;
-    }
-    
-// ---------------------------------------------------------------------------
-// setEventHandlerData
-// ---------------------------------------------------------------------------
-//    
-void AlfWidgetEventHandler::setEventHandlerData(const AlfWidgetEventHandlerInitData& aData)
-	{
-	// Set event handler id
-	if (aData.mWidgetEventHandlerId)
-	    {
-	    int len = strlen(aData.mWidgetEventHandlerId);
-	    char* tmp = new( EMM ) char[len + 1];
-	    
-        delete[] mImpl->mEhData.mWidgetEventHandlerId;
-	        
-        strcpy(tmp, aData.mWidgetEventHandlerId);
-	    tmp[len] = 0;
-	    mImpl->mEhData.mWidgetEventHandlerId = tmp;
-	    }
-	// we don't need to set node at the moment
-	mImpl->mEhData.mNode = 0;
-	}
-
-// ---------------------------------------------------------------------------
-// eventHandlerData
-// ---------------------------------------------------------------------------
-//
-AlfWidgetEventHandlerInitData* AlfWidgetEventHandler::eventHandlerData()
-	{
-	return &mImpl->mEhData;
-	}
-
-// ---------------------------------------------------------------------------
-// eventHandlerType
-// ---------------------------------------------------------------------------
-//
-IAlfWidgetEventHandler::AlfEventHandlerType AlfWidgetEventHandler::eventHandlerType()
-    {
-    return mImpl->mEventHandlerType;
-    }
-
-// ---------------------------------------------------------------------------
-// eventExecutionPhase
-// ---------------------------------------------------------------------------
-//
-IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase AlfWidgetEventHandler::eventExecutionPhase()
-    {
-    return mImpl->mEventHandlerExecutionPhase;
-    }
-}
-// End of File.
--- a/widgetmodel/alfwidgetmodel/src/alfwidgeteventhandlerimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2009 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:   The private implementation file for WidgetEventHandler.
-*
-*/
-
-
-#include "alfwidgeteventhandlerimpl.h"
-
-using namespace Alf;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-AlfWidgetEventHandlerImpl::AlfWidgetEventHandlerImpl(
-    IAlfWidgetEventHandler::AlfEventHandlerType aEventHandlerType,
-    IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase aEventHandlerExecutionPhase):
-    mActiveStates( ~0 ), // By default active in all states
-    mCapturing( false ),
-    mEventHandlerType(aEventHandlerType),
-    mEventHandlerExecutionPhase(aEventHandlerExecutionPhase)
-    {
-    construct();
-    }
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-void AlfWidgetEventHandlerImpl::construct()
-    {
-    mInputs.setAutoDelete( true );
-    mEhData.mWidgetEventHandlerId = 0;
-  	mEhData.mNode = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-AlfWidgetEventHandlerImpl::~AlfWidgetEventHandlerImpl()
-    {
-    mInputs.clear();
-    mPointerInputs.clear();
-    mOutputs.clear();
-    mCancelOutputs.clear();
-    mAnimationOutputs.clear();
-    mAnimationCancelOutputs.clear();
-    mWidgetAttributeOutputs.clear();
-    mWidgetAttributeInputs.clear();
-#ifdef RD_TACTILE_FEEDBACK
-    mTactileOutputs.clear();
-#endif // RD_TACTILE_FEEDBACK
-    mWidgetEventOutputSignals.clear();
-    mStateChangeOutputs.clear();
-    mEventPasserInputs.clear();
-    mEventPasserOutputs.clear();
-    mAppEventOutputs.clear();
-    if (mEhData.mWidgetEventHandlerId)
-		 {
-		 delete[] mEhData.mWidgetEventHandlerId;
-		 }
-    }
-
-// End of File.
--- a/widgetmodel/alfwidgetmodel/src/alfwidgetimpl.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +0,0 @@
-/*
-* 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:  The private implementation of CAlfWidget.
-*
-*/
-
-
-#include "alfwidgetimpl.h"
-#include <alf/alfwidgetcontrol.h>
-#include <alf/alfmodel.h>
-#include <alf/alfcontrolgroup.h>
-#include "alf/alfwidget.h"
-#include "alf/alfattribute.h"
-#include "alf/alfattributevaluetype.h"
-#include <alf/alfexceptions.h>
-#include <libc/string.h>
-#include <alf/ialfelement.h>
-
-#include "alfwidgetattributeownerimpl.h"
-
-
-namespace Alf
-    {
-
-AlfWidgetImpl::AlfWidgetImpl()
-    {
-    mControl = NULL;
-    mModel = NULL;
-    mAttributeList.setAutoDelete(true);
-    mWidgets.setAutoDelete(false);
-    mTakesModelOwnership=false;
-    }
-
-AlfWidgetImpl::~AlfWidgetImpl()
-    {
-    setControl( NULL, true );
-    
-    if (mTakesModelOwnership)
-        {
-        delete mModel;
-        mModel = NULL;
-        }        
-    mAttributeList.clear();
-    mWidgets.clear();
-    }
-
-void AlfWidgetImpl::setWidgetName( const UString& aWidgetName )
-    {
-    mWidgetName = aWidgetName;
-    }
-
-const UString& AlfWidgetImpl::widgetName() const
-    {
-    return mWidgetName;
-    }
-
-
-CAlfWidgetControl* AlfWidgetImpl::control()
-    {
-    return mControl;
-    }	
-
-void AlfWidgetImpl::setControl( CAlfWidgetControl* aControl,bool aDeletePreviousControl)
-    {    
-    if ( mControl != aControl )
-        {
-        if( mControl )
-            {
-            if( mModel )
-                {
-                // Remove model change observer from control
-                mModel->removeModelChangeObserver( *mControl );
-                }
-            if( aDeletePreviousControl )
-                {
-                // Delete control from possible control group to avoid double deletion
-                if(mControl->ControlGroup())
-                    {
-                    mControl->ControlGroup()->Remove(mControl);
-                    }
-                // Delete the control
-                delete mControl;
-                mControl = NULL;
-                }
-            }
-
-        // Set the new control.
-        mControl = aControl;
-
-        // Add the new control as an observer for model changes.
-        if( mControl )
-            {
-            if( mModel )
-                {
-                mModel->addModelChangeObserver( *mControl );
-                }
-            mAttributeOwnerImpl.reset(new (EMM) AlfWidgetAttributeOwnerImpl(mControl));
-            }
-        }
-    }
-
-IAlfModel* AlfWidgetImpl::model()
-    {
-    return mModel;
-    }
-
-void AlfWidgetImpl::setModel( IAlfModel* aModel,bool aTakeOwnerShip )
-    {
-    if ( mModel != aModel )
-        {
-        // Release the old model.
-        if (mTakesModelOwnership)
-            {
-            delete mModel;
-            }
-
-        else if (mModel&&mControl)
-            {
-            mModel->removeModelChangeObserver(*mControl);
-            }
-
-        // Set the new model.
-        mModel = aModel;
-        mTakesModelOwnership=aTakeOwnerShip;
-        // Add the control as an observer for model changes.
-        if ( mModel && mControl )
-            {
-            mModel->addModelChangeObserver( *mControl );
-            }
-        }
-    else // just copy the ownership flag 
-        { 
-        if (mModel != NULL)
-            {
-            mTakesModelOwnership=aTakeOwnerShip;
-            }
-        }
-
-    }
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void AlfWidgetImpl::addWidget(AlfWidget *aWidget)
-    {
-    for (int i=0 ; i< mWidgets.count(); i++ )
-        {
-        if (mWidgets.findRef(aWidget) >=0)
-            {
-            //widget already there.
-            return;
-            }
-        }
-    mWidgets.resize(mWidgets.count()+1);
-    mWidgets.insert(mWidgets.count(),aWidget);
-    }
-
-int  AlfWidgetImpl::widgetCount()
-    {
-    return mWidgets.count();
-    }
-
-AlfWidget* AlfWidgetImpl::getWidget(int aIndex)
-    {
-    if (aIndex>=0 && aIndex < mWidgets.count())
-        return mWidgets[aIndex];
-    return 0;
-    }
-
-int AlfWidgetImpl::findWidget(AlfWidget* aWidget)
-    {
-    return mWidgets.findRef(aWidget);
-    }
-
-void AlfWidgetImpl::removeWidget(int aIndex)
-    {
-    if (aIndex >=0 and aIndex < mWidgets.count())
-        mWidgets.remove(aIndex);
-    }
-    
-// ---------------------------------------------------------------------------
-//  Returns attribute owner interface.
-// ---------------------------------------------------------------------------
-//
-AlfWidgetAttributeOwnerImpl* AlfWidgetImpl::getAttributeOwner()
-    {
-    return mAttributeOwnerImpl.get();
-    }
-
-    } //namespace alf
-
-
-
--- a/widgetmodel/group/bld.inf	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Build information file for UI Accelerator Toolkit 
-*
-*/
-
-
-PRJ_MMPFILES
-
-../alfwidgetmodel/group/alfwidgetmodel.mmp
-../alfwidgetfactory/group/alfwidgetfactory.mmp
-
-
-PRJ_EXPORTS
-../../rom/widgetmodel.iby   CORE_MW_LAYER_IBY_EXPORT_PATH(widgetmodel.iby)
--- a/widgetmodel/sis/createsisx.bat	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description:   Batch file to create the widgetmodel sisx.
-rem
-
-
-@echo off
-echo DoTo: update the location for certificate and private key files
-
-set certificate_file=..\internal\certificates\rd.cer
-set private_key_file=..\internal\certificates\rd-key.pem
-
-makesis widgetmodel.pkg
-signsis widgetmodel.sis widgetmodel.sisx %certificate_file% %private_key_file%
--- a/widgetmodel/sis/widgetmodel.pkg	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-;
-; Copyright (c) 2009 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:   Pkg file to export widgetmodel binaries.
-;
-
-; ============================================================================
-;  Name        : widgetmodel.pkg
-;  Part of     : Widget model
-;  Description : Package file
-;  Version     : %version: 2 % << Don't touch! Updated by Synergy at check-out.
-;
-;  Copyright © 2007 Nokia.  All rights reserved.
-;  This material, including documentation and any related computer
-;  programs, is protected by copyright controlled by Nokia.  All
-;  rights are reserved.  Copying, including reproducing, storing,
-;  adapting or translating, any or all of this material requires the
-;  prior written consent of Nokia.  This material also contains
-;  confidential information which may not be disclosed to others
-;  without the prior written consent of Nokia.
-; ============================================================================
-;  Template version: 4.1
-
-; standard SIS file header
-; : aquire proper UID
-#{"Os neutral library"},(0x10207260),1,0,0
-
-;Localized Vendor Name
-%{"Nokia-EN"}
-
-;Unique Vendor name
-:"Nokia"
-
-;Files to copy
-"\epoc32\release\armv5\urel\alfwidgetutils.dll"-"!:\sys\bin\alfwidgetutils.dll"
-"\epoc32\release\armv5\urel\alfwidgetmodel.dll"-"!:\sys\bin\alfwidgetmodel.dll"
-"\epoc32\release\armv5\urel\alfwidgetfactory.dll"-"!:\sys\bin\alfwidgetfactory.dll"
-"\epoc32\data\z\resource\plugins\alfwidgetfactory.rsc"-"!:\resource\plugins\alfwidgetfactory.rsc"
\ No newline at end of file