--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputhwrboxjp/inc/peninputhwrboxdatamgr.h Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,447 @@
+/*
+* Copyright (c) 2002-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: peninput HWR data manager
+*
+*/
+
+
+#ifndef C_PENINPUTHWRBOXDATAMGR_H
+#define C_PENINPUTHWRBOXDATAMGR_H
+
+// System includes
+#include <peninputdatamgr.h>
+
+const TInt KCharacterRangePopupMaxRow = 4;
+
+// Forward decalaration
+class MPeninputLayoutContext;
+class CPeninputHwrBoxRecognizer;
+class CPtiEngine;
+/**
+ * Peninput HWR data management class
+ * This class manager the data of HWR
+ *
+ * @lib peninputhwrboxjp.lib
+ * @since S60 v3.2
+ */
+class CPeninputHwrBoxDataMgr : public CPeninputDataMgr
+ {
+public:
+ /**
+ * Two-phased constructor
+ *
+ * @since S60 v3.2
+ * @param aContext The layout context
+ * @return The pointer to CPeninputHwrBoxDataMgr object
+ */
+ static CPeninputHwrBoxDataMgr* NewL(MPeninputLayoutContext* aContext);
+
+ /**
+ * Two-phased constructor
+ *
+ * @since S60 v3.2
+ * @param aContext The layout context
+ * @return The pointer to CPeninputHwrBoxDataMgr object
+ */
+ static CPeninputHwrBoxDataMgr* NewLC(MPeninputLayoutContext* aContext);
+
+ /**
+ * Destructor
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ virtual ~CPeninputHwrBoxDataMgr();
+
+ /**
+ * Do recoginize by engine
+ *
+ * @since S60 v3.2
+ * @param aTraceData The trace data.
+ * @return None
+ */
+ void DoRecognize(const RArray<TPoint>& aTraceData);
+
+ /**
+ * Get the candidate count
+ *
+ * @since S60 v3.2
+ * @return The count of candidate
+ */
+ TInt CandidateCount() const;
+
+ /**
+ * Set permitted ranges
+ *
+ * @since S60 v3.2
+ * @param aPermittedRanges The permitted ranges.
+ * @return None
+ */
+ void SetPermittedRanges(TInt aPermittedRanges);
+
+ /**
+ * Get the permitted ranges count
+ *
+ * @since S60 v3.2
+ * @return The count of permitted ranges
+ */
+ TInt PermittedRangesCount() const;
+
+ /**
+ * Set premary range
+ *
+ * @since S60 v3.2
+ * @param aPremaryRange The premary range
+ * @return None
+ */
+ void SetPremaryRange(TInt aPremaryRange);
+
+ /**
+ * Set the candidate list.
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void SetCandidates();
+
+ /**
+ * Get WritingSpeed
+ *
+ * @since S60 v3.2
+ * @return WritingSpeed.
+ */
+ TInt WritingSpeed() const;
+
+ /**
+ * Get PenSize
+ *
+ * @since S60 v3.2
+ * @return PenSize.
+ */
+ TSize PenSize() const;
+
+ /**
+ * Get PenColor
+ *
+ * @since S60 v3.2
+ * @return PenColor.
+ */
+ TRgb PenColor() const;
+
+ /**
+ * Get the candidate.
+ *
+ * @since S60 v3.2
+ * @param aIndex The index of candidate
+ * @param aCharCode The result candidate
+ * @return Candidate char code
+ */
+ void GetCandidate(TInt aIndex, TDes& aCharCode) const;
+ /**
+ * Clear the candidate list.
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void ClearCandidates();
+
+// From base class CPeninputDataMgr
+
+ /**
+ * From CPeninputDataMgr
+ * Initialize the pen data
+ * instesd of "void InitMore();"
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void InitMoreJpL();
+
+ /**
+ * From CPeninputDataMgr
+ * Call back function, which is called when some key changed
+ *
+ * @since S60 v3.2
+ * @param aChangedKey The key whose value is changed
+ * @return None
+ */
+ void HandleGSRepositoryChange( TInt aChangedKey );
+
+ /**
+ * Get PtiEngine
+ *
+ * @since S60 v3.2
+ * @return ptiengine.
+ */
+ CPtiEngine* PtiEngine();
+
+ /**
+ * Get Predictive flag
+ *
+ * @since S60 v3.2
+ * @return The predictive flag.
+ */
+ TBool Predictive() const;
+
+ /**
+ * Get full or half flag
+ *
+ * @since S60 v3.2
+ * @return The full or half flag.
+ */
+ TInt FullHalf() const;
+
+ /**
+ * Get Conversion flag
+ *
+ * @since S60 v3.2
+ * @return The Conversion flag.
+ */
+ TBool Conversion() const;
+
+ /**
+ * Get The Character range popup text array
+ *
+ * @since S60 v3.2
+ * @return ptiengine.
+ */
+ CDesCArrayFlat* CharacterRangeArray();
+
+ /**
+ * Get The Character range Id from popup index
+ *
+ * @since S60 v3.2
+ * @return Character range Id.
+ */
+ TInt CharacterRangeId() const;
+
+ /**
+ * Get CharacterRange Popup index
+ *
+ * @since S60 v3.2
+ * @param aIndex
+ * @return Character Popup index.
+ */
+ TInt CurrentCharacterRangeIndex() const;
+
+ /**
+ * Set ptiEngine InputMode by new range
+ *
+ * @since S60 v3.2
+ * @param aRange The new Range
+ * @return None.
+ */
+ void SetEngineInputMode(TInt aRange);
+
+ /**
+ * Set predictive
+ *
+ * @since S60 v3.2
+ * @param aPredictive ETrue:show prediction pane EFalse:not show
+ * @return None.
+ */
+ void SetPredictive(TBool aPredictive);
+
+ /**
+ * Set full or half
+ *
+ * @since S60 v3.2
+ * @param aFullHalf 0:half 1:full
+ * @return None.
+ */
+ void SetFullHalf(TInt aFullHalf);
+
+ /**
+ * Set backspace or delete
+ *
+ * @since S60 v3.2
+ * @param aClear 0:backspace 1:delete
+ * @return None.
+ */
+ void SetClear(TInt aClear);
+
+ /**
+ * Set Conversion Flag
+ *
+ * @since S60 v3.2
+ * @param aConversion ETrue:Convert EFalse:not Convert
+ * @return None.
+ */
+ void SetConversion(TBool aConversion);
+
+ /**
+ * Set CharacterRange Popup index
+ *
+ * @since S60 v3.2
+ * @param aIndex
+ * @return None.
+ */
+ void SetCurrentCharacterRangeIndex(TInt aIndex);
+
+ /**
+ * From CPeninputDataMgr
+ * Reset data contained in data manager
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void Reset();
+
+ /**
+ * Set writing area size
+ *
+ * @since S60 v3.2
+ * @param aSize Size of input area
+ * @return None
+ */
+ void SetInputAreaSize( const TSize& aSize );
+
+
+ /**
+ * Clear direction
+ *
+ * @since S60 v3.2
+ * @return TInt 1:delete 0:backspace
+ */
+ TInt ClearDirection() const;
+
+protected:
+
+ /**
+ * Constructor
+ *
+ * @since S60 v3.2
+ * @param aContext The layout context
+ * @return None
+ */
+ CPeninputHwrBoxDataMgr( MPeninputLayoutContext* aContext );
+
+ /**
+ * 2nd constructor function
+ *
+ * @since S60 v3.2
+ * @return None.
+ */
+ void ConstructL();
+
+ /**
+ * Transfer the pen's writing speed
+ *
+ * @since S60 v3.2
+ * @param aWritingSpeed The value of pen's writing speed
+ * @return TInt value to indicating writing speed
+ */
+ TInt TransferWritingSpeed( TInt aWritingSpeed ) const;
+
+ /**
+ * Notify HWR's engine to change the setting
+ *
+ * @since S60 v3.2
+ * @param aType The key whose value will be set
+ * @param aData The value will be set
+ * @return None
+ */
+ void NotifyEngine( TPeninputDataType aType, TAny* aData );
+
+ /**
+ * Set Character range popup
+ *
+ * @since S60 v3.2
+ * @param aPermittedRanges The permitted ranges.
+ * @return None
+ */
+ void SetCharacterRangePopupL(TInt aPermittedRanges);
+
+private:
+
+ /**
+ * candidate list
+ */
+ RPointerArray<HBufC> iCandidates;
+
+ /**
+ * The candidate range start index
+ */
+ RArray<TInt> iRangeStartPos;
+
+ /**
+ * Permitted ranges
+ */
+ RArray<TInt> iPermittedRanges;
+
+ /**
+ * The pti engine
+ * Own
+ */
+ CPtiEngine* iPtiEngine;
+
+ /**
+ * The Recognizer (Own);
+ */
+ CPeninputHwrBoxRecognizer* iHwrBoxRecognizer;
+
+ /**
+ * Writing speed
+ */
+ TInt iWritingSpeed;
+
+ /**
+ * Pen size
+ */
+ TSize iPenSize;
+
+ /**
+ * Pen color
+ */
+ TRgb iPenColor;
+
+ /**
+ * prediction pane on/off
+ */
+ TBool iPredictive;
+
+ /**
+ * 0:half 1:full
+ */
+ TInt iFullHalf;
+
+ /**
+ * backspace or delete
+ * 1:delete 0:Backspace
+ */
+ TInt iClear;
+
+ /**
+ * Conversion on/off
+ */
+ TBool iConversion;
+
+ /**
+ * The Character range popup text array
+ * Own
+ */
+ CDesCArrayFlat* iCharacterRangeArray;
+
+ /**
+ * The Character range popup rangeId array
+ */
+ TFixedArray<TInt, KCharacterRangePopupMaxRow> iCharacterRangeIdArray;
+
+ /**
+ * CharacterRange Popup index(default:0)
+ */
+ TInt iCurrentCharacterRangeIndex;
+ };
+
+#endif // C_PENINPUTHWRBOXDATAMGR_H