diff -r 514d98f21c43 -r 4ea6f81c838a widgetmodel/alfwidgetmodel/src/alfcommonattributesetter.cpp --- a/widgetmodel/alfwidgetmodel/src/alfcommonattributesetter.cpp Mon Jun 21 16:15:51 2010 +0300 +++ /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 -#include - -#include -#include -#include "alf/attrproperty.h" - -#include "alf/alfattribute.h" -#include "alf/alfcommonattributesetter.h" -#include -#include -#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; igetAttribute(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