textinput/peninputvkbjp/inc/peninputvkbdatamgr.h
branchRCL_3
changeset 21 ecbabf52600f
parent 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputvkbjp/inc/peninputvkbdatamgr.h	Wed Sep 01 12:23:33 2010 +0100
@@ -0,0 +1,260 @@
+/*
+* 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:  Interface of vkb ui state
+*
+*/
+
+
+#ifndef C_PENINPUTVKBDATAMGR_H
+#define C_PENINPUTVKBDATAMGR_H
+
+// System includes
+#include <peninputdatamgr.h>
+
+// User includes
+
+// Forward decalaration
+class MPeninputLayoutContext;
+class CPtiEngine;
+
+// class declarations
+/**
+ *  Data manager class
+ *
+ *  @lib peninputvkbjp.lib
+ *  @since S60 v3.2
+ */
+class CPeninputVkbDataMgr: public CPeninputDataMgr
+    {
+public:
+    /**
+     * Create one CPeninputVkbDataMgr object
+     *
+     * @since S60 v3.2
+     * @param aContext The layout context
+     * @return CPeninputVkbDataMgr object.
+     */
+    static CPeninputVkbDataMgr* NewL(MPeninputLayoutContext* aContext);
+
+    /**
+     * Create one CPeninputVkbDataMgr object
+     *
+     * @since S60 v3.2
+     * @param aContext The layout context
+     * @return The CPeninputVkbDataMgr object.
+     */
+    static CPeninputVkbDataMgr* NewLC(MPeninputLayoutContext* aContext);
+
+    /**
+     * Destructor
+     *
+     * @since S60 v3.2
+     * @return None.
+     */
+    virtual ~CPeninputVkbDataMgr();
+
+    /**
+     * From CPeninputDataMgr
+     * instesd of "void InitMore();"
+     *
+     * @since S60 v3.2
+     * @return None
+     */
+    void InitMoreJpL();
+
+
+    /**
+     * 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 japanese flags
+     *
+     * @since S60 v3.2
+     * @return japanese flags.
+     */
+    TInt JapaneseFlags() const;
+
+    /**
+     * Set permitted range
+     *
+     * @since S60 v3.2
+     * @param aRange The new value
+     * @return None.
+     */
+    void SetPermittedRange(TInt aRange);
+
+    /**
+     * 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 JapaneseFlags
+     *
+     * @since S60 v3.2
+     * @param aJapaneseFlags
+     * @return None.
+     */
+    void SetJapaneseFlags(TInt aJapaneseFlags);
+
+    /**
+     * kana : handle dakuten hanndakuten little
+     *
+     * @since S60 v3.2
+     * @param aEventData The event data
+     * @param aPreChar The previous character
+     * @param aStatus ETrue:handled   EFalse:not handled
+     * @param aSendText 1:Send Text
+     */
+    void HandleFunctionalVkbEventL(const TDesC& aEventData, TUint aPreChar, TBool& aStatus, TInt& aSendText);
+
+    /**
+     * half katakana : handle dakuten hanndakuten
+     *
+     * @since S60 v3.2
+     * @param aEventData The event data(dakuten or hanndakuten)
+     * @param aPreChar The previous character
+     * @param aPrePreChar The previous previous character
+     * @param aStatus ETrue:handled   EFalse:not handled
+     * @param aSendText 1:Send Text
+     */
+    void HandleFunctionalVkbEventWithPrePreCharL(const TDesC& aEventData, TUint aPreChar, TUint aPrePreChar, TBool& aStatus, TInt& aSendText);
+
+    /**
+     * kana : handle touten,kuten
+     *
+     * @since S60 v3.2
+     * @param anewChar initial/converted character
+     * @return ETrue:converted   EFalse:not converted
+     */
+    TBool ConvertCommaFullStop(TUint& aNewChar) const;
+
+    /**
+     * 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.
+     */
+    CPeninputVkbDataMgr(MPeninputLayoutContext* aContext);
+
+    /**
+     * 2nd constructor function
+     *
+     * @since S60 v3.2
+     * @return None.
+     */
+    void ConstructL();
+
+private: // Data
+
+    /**
+     * The pti engine
+     * Own
+     */
+    CPtiEngine* iPtiEngine;
+
+    /**
+     * prediction pane on/off
+     */    
+    TBool iPredictive;
+
+    /**
+     * 0:half 1:full
+     */    
+    TInt iFullHalf;
+
+    /**
+     * backspace or delete
+     * 1:delete  0:Backspace
+     */    
+    TInt iClear;
+
+    /**
+     * Japanese Qwerty Comma ON(Japanese)/OFF(Western)
+     * EPenInputJapaneseSettingQwertyComma        = 0x00000010,
+     * Japanese Qwerty Period ON(Japanese)/OFF(Western)
+     * EPenInputJapaneseSettingQwertyPeriod       = 0x00000020,
+     * Japanese Qwerty Width Of Space ON(Full)/OFF(Half)
+     * EPenInputJapaneseSettingQwertyWidthOfSpace = 0x00000040,
+     */    
+    TInt iJapaneseFlags;
+    };
+
+
+#endif // C_PENINPUTVKBDATAMGR_H
+
+// End Of File