diff -r 514d98f21c43 -r 4ea6f81c838a mulwidgets/alfscrollbarwidget/src/alfscrollbarwidgetfactoryplugin.cpp --- a/mulwidgets/alfscrollbarwidget/src/alfscrollbarwidgetfactoryplugin.cpp Mon Jun 21 16:15:51 2010 +0300 +++ /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 - -// Symbian Includes -#include - -// OpenC Includes -#include - -// Widget Includes -#include -#include - -//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 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 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 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; - } - -