--- /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 <barsread.h>
+#include <peninputvkbctrllayout.h>
+
+// 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<CPeninputClientLayoutInfo>& ClientLayoutInfoList();
+
+ /**
+ * Get vkb layout info list
+ *
+ * @since S60 v3.2
+ * @return The reference of pointer array containing vkb layout list
+ */
+ inline RPointerArray<CPeninputVkbLayoutInfo>& VkbLayoutInfoList();
+
+ /**
+ * Get shift&caps info
+ *
+ * @since S60 v3.2
+ * @return The reference of pointer array containing shift&caps info
+ */
+ inline RPointerArray<CPeninputShiftCapsInfo>& 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<CPeninputClientLayoutInfo> iClientLayoutInfoList;
+
+ /**
+ * Vkb layout info list
+ */
+ RPointerArray<CPeninputVkbLayoutInfo> iVkbLayoutInfoList;
+
+ /**
+ * Range bar info
+ * Own
+ */
+ CPeninputRangeBarInfo* iRangeBarInfo;
+
+ /**
+ * Shift&caps info list
+ */
+ RPointerArray<CPeninputShiftCapsInfo> iShiftCapsInfoList;
+
+ /**
+ * Resource Id for range bar
+ */
+ TInt iRangeBarResId;
+ };
+
+#include "peninputlayoutconfig.inl"
+
+#endif // C_CPENINPUTLAYOUTCONFIG_H