diff -r 000000000000 -r eb1f2e154e89 textinput/peninputcommonlayout/inc/peninputlayoutconfig.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/textinput/peninputcommonlayout/inc/peninputlayoutconfig.h Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,282 @@ +/* +* Copyright (c) 2002-2005 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 layout config +* +*/ + + +#ifndef C_CPENINPUTLAYOUTCONFIG_H +#define C_CPENINPUTLAYOUTCONFIG_H + + +// System includes +#include +#include + +// Forward decalaration +class CPeninputClientLayoutInfo; +class CPeninputVkbLayoutInfo; +class CPeninputRangeBarInfo; +class CPeninputShiftCapsInfo; +class CPeninputCtrlPool; +/** + * Peninput commonlayout layout config + * + * @lib peninputcommonlayout.lib + * @since S60 v3.2 + */ +class CPeninputLayoutConfig : public CBase + { + +public: + + /** + * Symbian constructor + * + * @since S60 v3.2 + * @param aResUtils Resource Utils + * @param aReader Resource reader + * @return Pointer to created CPeninputLayoutConfig object + */ + IMPORT_C static CPeninputLayoutConfig* NewL( CAknFepCtrlVkbLayout& aVkblayout, + TResourceReader& aReader ); + + /** + * Destructor + * + * @since S60 v3.2 + * @return None + */ + IMPORT_C virtual ~CPeninputLayoutConfig(); + + /** + * Get language id + * + * @since S60 v3.2 + * @return Language id + */ + inline TInt Language(); + + /** + * Get language name + * + * @since S60 v3.2 + * @return Language name + */ + inline HBufC* LanguageString(); + + /** + * Get case sensitive flag + * + * @since S60 v3.2 + * @return Case sensitive flag + */ + inline TBool CaseSensitive(); + + /** + * Get guide line + * + * @since S60 v3.2 + * @return The guide line style + */ + inline TInt GuideLine(); + + /** + * The position percent of top guide line + * + * @since S60 v3.2 + * @return The position percent of top guide line + */ + inline TInt PositionTopLine(); + + /** + * The position percent of bottom guide line + * + * @since S60 v3.2 + * @return The position percent of bottom guide line + */ + inline TInt PositionBottomLine(); + + /** + * Get client layout info list + * + * @since S60 v3.2 + * @return The reference of pointer array containing client layout list + */ + inline RPointerArray& ClientLayoutInfoList(); + + /** + * Get vkb layout info list + * + * @since S60 v3.2 + * @return The reference of pointer array containing vkb layout list + */ + inline RPointerArray& VkbLayoutInfoList(); + + /** + * Get shift&caps info + * + * @since S60 v3.2 + * @return The reference of pointer array containing shift&caps info + */ + inline RPointerArray& ShiftCapsInfoList(); + + /** + * Get client layout info + * + * @since S60 v3.2 + * @param aLayoutId Client layout id + * @return The pointer to CPeninputClientLayoutInfo object + */ + IMPORT_C CPeninputClientLayoutInfo* FindClientLayoutInfo( + TInt aLayoutId ); + + /** + * Get vkb layout info + * + * @since S60 v3.2 + * @param aLayoutId Vkb layout id + * @return The pointer to CPeninputVkbLayoutInfo object + */ + IMPORT_C CPeninputVkbLayoutInfo* FindVkbLayoutInfo( TInt aLayoutId ); + + /** + * Get shift&caps info + * + * @since S60 v3.2 + * @param aRangeId Range id + * @return The pointer to CPeninputShiftCapsInfo object + */ + IMPORT_C CPeninputShiftCapsInfo* FindShiftCapsInfo( TInt aRangeId ); + + /** + * Get vkb layout id + * + * @since S60 v3.2 + * @param aRangeId Range id + * @param aShiftCapsSingleId Shift&caps single id + * @return The vkb layout id + */ + IMPORT_C TInt ShiftCapsSingleVkbLayoutId( TInt aRangeId, + TInt aShiftCapsSingleId ); + + /** + * Get vkb layout id + * + * @since S60 v3.2 + * @param aRangeId Range id + * @param aCase The case + * @return The vkb layout id + */ + IMPORT_C TInt ShiftCapsSingleVkbLayoutByCase( TInt aRangeId, + TInt aCase ); + /** + * Get range bar info + * + * @since S60 v3.2 + * @return The pointer to CPeninputRangeBarInfo object + */ + inline CPeninputRangeBarInfo* RangeBarInfo(); + + /** + * Get range bar resource id + * + * @since S60 v3.2 + * @return The resource id + */ + inline TInt RangebarResId(); + +protected: + + /** + * Constructor + * + * @since S60 v3.2 + * @return None + */ + CPeninputLayoutConfig(); + + /** + * Second phase constructor + * + * @since S60 v3.2 + * @param aResUtils Resource Utils + * @param aReader Resource reader + * @return None + */ + void ConstructL( CAknFepCtrlVkbLayout& aVkblayout, TResourceReader& aReader ); + +private: // Data + + /** + * Language id + */ + TInt iLanguage; + + /** + * Language string + * Own + */ + HBufC* iLanguageString; + + /** + * Case sensitive flag + */ + TBool iCaseSensitive; + + /** + * Guide line style + */ + TInt iGuideLine; + + /** + * The position percent of top guide line + */ + TInt iPositionTopLine; + + /** + * The position percent of bottom guide line + */ + TInt iPositionBottomLine; + + /** + * Client layout info list + */ + RPointerArray iClientLayoutInfoList; + + /** + * Vkb layout info list + */ + RPointerArray iVkbLayoutInfoList; + + /** + * Range bar info + * Own + */ + CPeninputRangeBarInfo* iRangeBarInfo; + + /** + * Shift&caps info list + */ + RPointerArray iShiftCapsInfoList; + + /** + * Resource Id for range bar + */ + TInt iRangeBarResId; + }; + +#include "peninputlayoutconfig.inl" + +#endif // C_CPENINPUTLAYOUTCONFIG_H