diff -r 000000000000 -r f72a12da539e idlehomescreen/nativeuicontroller/src/ainativeuimodel.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/nativeuicontroller/src/ainativeuimodel.cpp Thu Dec 17 08:40:49 2009 +0200 @@ -0,0 +1,116 @@ +/* +* Copyright (c) 2005-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: Common NativeUi definitions and utilities +* +*/ + + +#include "ainativeuimodel.h" +#include "aidevicestatuscontentmodel.h" + +namespace AiNativeUiController + { + +namespace AiNativeUiModel + { + +struct TRenderingPriorityItem + { + TInt iContentId; + TInt iRenderingPriority; + }; + +const TInt KHighestRenderingPriority = 20; + +const TInt KPriorityOffset1 = 1; +const TInt KPriorityOffset2 = 2; +const TInt KPriorityOffset3 = 3; +const TInt KPriorityOffset4 = 4; +const TInt KPriorityOffset5 = 5; +const TInt KPriorityOffset6 = 6; + + +const TRenderingPriorityItem KNaviPaneRenderingPriorities[] = + { + { EAiDeviceStatusContentProfileName, KHighestRenderingPriority }, + { EAiDeviceStatusContentSilentIndicator, KHighestRenderingPriority }, + { EAiDeviceStatusContentTimedProfileIndicator, KHighestRenderingPriority }, + { EAiDeviceStatusContentDate, KHighestRenderingPriority - KPriorityOffset1 }, + { EAiDeviceStatusContentGeneralProfileName, KHighestRenderingPriority - KPriorityOffset2 }, + { EAiDeviceStatusContentVHZIndicator, KHighestRenderingPriority - KPriorityOffset3 }, + { EAiDeviceStatusContentCUGIndicator, KHighestRenderingPriority - KPriorityOffset4 }, + { EAiDeviceStatusContentMCNIndicator, KHighestRenderingPriority - KPriorityOffset5 }, + { EAiDeviceStatusContentGeneralIndicator, KHighestRenderingPriority - KPriorityOffset6 } + }; + + +TRenderingPriorities RenderingPriorities( const TDesC8& aUiElementId ) + { + if( aUiElementId == KNaviPaneId ) + { + return TRenderingPriorities( KNaviPaneRenderingPriorities, + sizeof(KNaviPaneRenderingPriorities) / sizeof(KNaviPaneRenderingPriorities[0]) ); + } + else + { + return TRenderingPriorities( NULL, 0 ); + } + } + + +TRenderingPriorities::TRenderingPriorities + (const TRenderingPriorityItem* aRenderingPriorities, TInt aCount) + : iRenderingPriorities(aRenderingPriorities), iCount(aCount) + { + } + + +TInt TRenderingPriorities::RenderingPriority( TInt aContentId ) + { + if( !iRenderingPriorities ) + { + return KErrNotFound; + } + for( TInt i = 0; i < iCount; ++i ) + { + if( iRenderingPriorities[i].iContentId == aContentId ) + { + return iRenderingPriorities[i].iRenderingPriority; + } + } + return KErrNotFound; + } + + +TBool TRenderingPriorities::GetNextContentId( TInt& aContentId, TInt& aNextPriority ) + { + if( !iRenderingPriorities ) + { + return EFalse; + } + for( TInt i = 0; i < iCount; ++i ) + { + if( iRenderingPriorities[i].iRenderingPriority < aNextPriority ) + { + aContentId = iRenderingPriorities[i].iContentId; + aNextPriority = iRenderingPriorities[i].iRenderingPriority; + return ETrue; + } + } + return EFalse; + } + + } // namespace AiNativeUi + + }