diff -r 4526337fb576 -r 3eca7e70b1b8 widgetmodel/alfwidgetmodel/src/alflctanchorlayoutattributesetter.cpp --- 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 -#include - -//osn includes -#include - -//alf includes -#include -#include -#include - -//dui includes -#include "alf/attrproperty.h" -#include -//other includes -#include -#ifdef RD_ALF_IN_PLATFORM -#include -#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(&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(&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 - - - - -