uiresources_plat/layout_system_private_api/inc/AknLayout2ScalableDecode.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 06 Jul 2010 15:23:53 +0300
changeset 80 3bd7be4c9278
parent 0 05e9090e2422
permissions -rw-r--r--
Revision: 201025 Kit: 2010127

/*
* 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:
*
*/


#ifndef AKNLAYOUT2SCALABLEDECODE_H
#define AKNLAYOUT2SCALABLEDECODE_H

#include <AknLayout2ScalableDataDef.h>

class AknLayoutScalableDecode
	{
public:
	/**
	 * 
	* Data decode functions
	* There are 5 main types of decode functions: WindowLine, TextLine, WindowTable, TextTable and TableLimits.
	* For each of the line and table access functions, there are 1 + 3 + 6 + 6 variants, all permutations of option, row, and column
	*/

	static TAknWindowComponentLayout WindowLine(const SCompDataImplData* aImplData);
	static TAknWindowComponentLayout WindowLineV(const SCompDataImplData* aImplData, TInt aVariety);
	static TAknWindowComponentLayout WindowLineC(const SCompDataImplData* aImplData, TInt aColumn);
	static TAknWindowComponentLayout WindowLineR(const SCompDataImplData* aImplData, TInt aRow);
	static TAknWindowComponentLayout WindowLineCR(const SCompDataImplData* aImplData, TInt aColumn, TInt aRow);
	static TAknWindowComponentLayout WindowLineRC(const SCompDataImplData* aImplData, TInt aRow, TInt aColumn);
	static TAknWindowComponentLayout WindowLineVR(const SCompDataImplData* aImplData, TInt aVariety, TInt aRow);
	static TAknWindowComponentLayout WindowLineRV(const SCompDataImplData* aImplData, TInt aRow, TInt aVariety);
	static TAknWindowComponentLayout WindowLineCV(const SCompDataImplData* aImplData, TInt aColumn, TInt aVariety);
	static TAknWindowComponentLayout WindowLineVC(const SCompDataImplData* aImplData, TInt aVariety, TInt aColumn);
	static TAknWindowComponentLayout WindowLineVCR(const SCompDataImplData* aImplData, TInt aVariety, TInt aColumn, TInt aRow);
	static TAknWindowComponentLayout WindowLineVRC(const SCompDataImplData* aImplData, TInt aVariety, TInt aRow, TInt aColumn);
	static TAknWindowComponentLayout WindowLineCVR(const SCompDataImplData* aImplData, TInt aColumn, TInt aVariety, TInt aRow);
	static TAknWindowComponentLayout WindowLineCRV(const SCompDataImplData* aImplData, TInt aColumn, TInt aRow, TInt aVariety);
	static TAknWindowComponentLayout WindowLineRCV(const SCompDataImplData* aImplData, TInt aRow, TInt aColumn, TInt aVariety);
	static TAknWindowComponentLayout WindowLineRVC(const SCompDataImplData* aImplData, TInt aRow, TInt aVariety, TInt aColumn);

	static TAknTextComponentLayout TextLine(const SCompDataImplData* aImplData);
	static TAknTextComponentLayout TextLineV(const SCompDataImplData* aImplData, TInt aVariety);
	static TAknTextComponentLayout TextLineC(const SCompDataImplData* aImplData, TInt aColumn);
	static TAknTextComponentLayout TextLineR(const SCompDataImplData* aImplData, TInt aRow);
	static TAknTextComponentLayout TextLineCR(const SCompDataImplData* aImplData, TInt aColumn, TInt aRow);
	static TAknTextComponentLayout TextLineRC(const SCompDataImplData* aImplData, TInt aRow, TInt aColumn);
	static TAknTextComponentLayout TextLineVR(const SCompDataImplData* aImplData, TInt aVariety, TInt aRow);
	static TAknTextComponentLayout TextLineRV(const SCompDataImplData* aImplData, TInt aRow, TInt aVariety);
	static TAknTextComponentLayout TextLineCV(const SCompDataImplData* aImplData, TInt aColumn, TInt aVariety);
	static TAknTextComponentLayout TextLineVC(const SCompDataImplData* aImplData, TInt aVariety, TInt aColumn);
	static TAknTextComponentLayout TextLineVCR(const SCompDataImplData* aImplData, TInt aVariety, TInt aColumn, TInt aRow);
	static TAknTextComponentLayout TextLineVRC(const SCompDataImplData* aImplData, TInt aVariety, TInt aRow, TInt aColumn);
	static TAknTextComponentLayout TextLineCVR(const SCompDataImplData* aImplData, TInt aColumn, TInt aVariety, TInt aRow);
	static TAknTextComponentLayout TextLineCRV(const SCompDataImplData* aImplData, TInt aColumn, TInt aRow, TInt aVariety);
	static TAknTextComponentLayout TextLineRCV(const SCompDataImplData* aImplData, TInt aRow, TInt aColumn, TInt aVariety);
	static TAknTextComponentLayout TextLineRVC(const SCompDataImplData* aImplData, TInt aRow, TInt aVariety, TInt aColumn);

	static TAknWindowComponentLayout WindowTableL(const SCompDataImplData* aImplData, TInt aLineIndex);
	static TAknWindowComponentLayout WindowTableLV(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aVariety);
	static TAknWindowComponentLayout WindowTableLC(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aColumn);
	static TAknWindowComponentLayout WindowTableLR(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aRow);
	static TAknWindowComponentLayout WindowTableLCR(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aColumn, TInt aRow);
	static TAknWindowComponentLayout WindowTableLRC(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aRow, TInt aColumn);
	static TAknWindowComponentLayout WindowTableLVR(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aVariety, TInt aRow);
	static TAknWindowComponentLayout WindowTableLRV(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aRow, TInt aVariety);
	static TAknWindowComponentLayout WindowTableLCV(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aColumn, TInt aVariety);
	static TAknWindowComponentLayout WindowTableLVC(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aVariety, TInt aColumn);
	static TAknWindowComponentLayout WindowTableLVCR(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aVariety, TInt aColumn, TInt aRow);
	static TAknWindowComponentLayout WindowTableLVRC(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aVariety, TInt aRow, TInt aColumn);
	static TAknWindowComponentLayout WindowTableLCVR(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aColumn, TInt aVariety, TInt aRow);
	static TAknWindowComponentLayout WindowTableLCRV(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aColumn, TInt aRow, TInt aVariety);
	static TAknWindowComponentLayout WindowTableLRCV(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aRow, TInt aColumn, TInt aVariety);
	static TAknWindowComponentLayout WindowTableLRVC(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aRow, TInt aVariety, TInt aColumn);

	static TAknTextComponentLayout TextTableL(const SCompDataImplData* aImplData, TInt aLineIndex);
	static TAknTextComponentLayout TextTableLV(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aVariety);
	static TAknTextComponentLayout TextTableLC(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aColumn);
	static TAknTextComponentLayout TextTableLR(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aRow);
	static TAknTextComponentLayout TextTableLCR(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aColumn, TInt aRow);
	static TAknTextComponentLayout TextTableLRC(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aRow, TInt aColumn);
	static TAknTextComponentLayout TextTableLVR(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aVariety, TInt aRow);
	static TAknTextComponentLayout TextTableLRV(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aRow, TInt aVariety);
	static TAknTextComponentLayout TextTableLCV(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aColumn, TInt aVariety);
	static TAknTextComponentLayout TextTableLVC(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aVariety, TInt aColumn);
	static TAknTextComponentLayout TextTableLVCR(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aVariety, TInt aColumn, TInt aRow);
	static TAknTextComponentLayout TextTableLVRC(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aVariety, TInt aRow, TInt aColumn);
	static TAknTextComponentLayout TextTableLCVR(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aColumn, TInt aVariety, TInt aRow);
	static TAknTextComponentLayout TextTableLCRV(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aColumn, TInt aRow, TInt aVariety);
	static TAknTextComponentLayout TextTableLRCV(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aRow, TInt aColumn, TInt aVariety);
	static TAknTextComponentLayout TextTableLRVC(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aRow, TInt aVariety, TInt aColumn);
		
	static TAknLayoutScalableTableLimits TableLimits(const TUint16* aDataLookup);
	static TAknLayoutScalableParameterLimits ParameterLimits(const SCompDataImplData* aImplData);
	static TAknLayoutScalableParameterLimits ParameterLimitsV(const SCompDataImplData* aImplData, TInt aVariety);
	static TAknLayoutScalableParameterLimits ParameterLimitsTableL(const SCompDataImplData* aImplData, TInt aLineIndex);
	static TAknLayoutScalableParameterLimits ParameterLimitsTableLV(const SCompDataImplData* aImplData, TInt aLineIndex, TInt aVariety);

	static TAknLayoutScalableComponentType GetComponentTypeById(const SCompDataImplData* aImplData, TInt aComponentId);
	static TAknLayoutScalableParameterLimits GetParamLimitsById(const SCompDataImplData* aImplData, TInt aComponentId, TInt aVariety);	
	static TAknWindowComponentLayout GetWindowComponentById(const SCompDataImplData* aImplData, TInt aComponentId, TInt aVariety, TInt aCol, TInt aRow);
	static TAknTextComponentLayout GetTextComponentById(const SCompDataImplData* aImplData, TInt aComponentId, TInt aVariety, TInt aCol, TInt aRow);
	};

#endif