fep/aknfep/inc/aknfepuiinputstateentryhalfqwertyphrase.h
changeset 36 a7632c26d895
parent 35 0f326f2e628e
child 42 b3eaa440ab06
equal deleted inserted replaced
35:0f326f2e628e 36:a7632c26d895
     1 /*
       
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0""
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:           
       
    15  *       Provides the  TAknFepInputStateEntryHalfQwerty definition.
       
    16  *
       
    17 */
       
    18 
       
    19 
       
    20 
       
    21 
       
    22 
       
    23 
       
    24 
       
    25 
       
    26 
       
    27 
       
    28 
       
    29 
       
    30 #ifndef T_AKNFEPINPUTSTATEENTRYHALFQWERTYPINYINPHRASE_H
       
    31 #define T_AKNFEPINPUTSTATEENTRYHALFQWERTYPINYINPHRASE_H
       
    32 
       
    33 #include "AknFepUiInputStateEntryQwertyBaseChinesePhrase.h"
       
    34 #include "aknfepuiinputstateminiqwertystrokephrase.h"
       
    35 #include "AknFepUiInputStateEntryZhuyinPhrase.h"
       
    36 #include "AknFepUiInputStateChineseBase.h"
       
    37 
       
    38 // the entry of the pinyin inputmethod 
       
    39 class TAknFepInputStateEntryHalfQwertyPinyinPhrase :
       
    40 public TAknFepInputStateEntryQwertyBaseChinesePhrase
       
    41     {
       
    42 public:
       
    43     /**
       
    44      * C++ default constructor
       
    45      *
       
    46      * @since S60 v3.2.3
       
    47      * @param aOwner Pointer to UI manager state interface
       
    48      * @param aUIContainer Pointer to Chinese UI container
       
    49      */
       
    50     TAknFepInputStateEntryHalfQwertyPinyinPhrase(
       
    51         MAknFepUIManagerStateInterface* aOwner,
       
    52         MAknFepUICtrlContainerChinese* aUIContainer );
       
    53     /**
       
    54      * Handle system key press event
       
    55      *
       
    56      * @since S60 v3.2.3
       
    57      * @param aKey System key
       
    58      * @param aLength Key press length
       
    59      * @return ETrue if handle, otherwise this class do not handle this key
       
    60      */
       
    61     TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
       
    62 private:
       
    63     /**
       
    64      * update the selection 
       
    65      *
       
    66      * @since S60 v3.2.3
       
    67      */
       
    68     void DeliberatelyUpdateSelection( );
       
    69     /**
       
    70      * update the selection  
       
    71      *
       
    72      * @since S60 v3.2.3
       
    73      */
       
    74     void ImplicitlyUpdateSelection( );
       
    75     /**
       
    76      * clear the deliberate selection
       
    77      *
       
    78      * @since S60 v3.2.3
       
    79      */
       
    80     void ClearDeliberateSelection( );
       
    81     /**
       
    82      * refresh the ui 
       
    83      *
       
    84      * @since S60 v3.2.3
       
    85      */
       
    86     void RefreshUI( TInt aSelection );
       
    87     /**
       
    88      * change the cba 
       
    89      *
       
    90      * @since S60 v3.2.3
       
    91      */
       
    92     void InitializeStateL( );
       
    93     /**
       
    94      * update the indicator  
       
    95      *
       
    96      * @since S60 v3.2.3
       
    97      */
       
    98     void UpdateIndicator( );
       
    99     /**
       
   100      * to check whether the key stroke is a character key or not 
       
   101      *
       
   102      * @since S60 v3.2.3
       
   103      * @param aKey System key
       
   104      * @return ETrue if it is a character key , otherwise not
       
   105      */
       
   106     TBool IsCharacterKey( const TInt aKey );
       
   107     };
       
   108 
       
   109 // the entry state of the stroke inputmethod  
       
   110 class TAknFepInputStateEntryHalfQwertyStrokePhrase :
       
   111 public TAknFepInputStateEntryQwertyBaseChinesePhrase
       
   112     {
       
   113 public:
       
   114     /**
       
   115      * C++ default constructor
       
   116      *
       
   117      * @since S60 v3.2.3
       
   118      * @param aOwner Pointer to UI manager state interface
       
   119      * @param aUIContainer Pointer to Chinese UI container
       
   120      */
       
   121     TAknFepInputStateEntryHalfQwertyStrokePhrase(
       
   122         MAknFepUIManagerStateInterface* aOwner,
       
   123         MAknFepUICtrlContainerChinese* aUIContainer );
       
   124     /**
       
   125      * Handle system key press event
       
   126      *
       
   127      * @since S60 v3.2.3
       
   128      * @param aKey System key
       
   129      * @param aLength Key press length
       
   130      * @return ETrue if handle, otherwise this class do not handle this key
       
   131      */
       
   132     TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
       
   133 private:
       
   134     /**
       
   135      * change the cba 
       
   136      *
       
   137      * @since S60 v3.2.3
       
   138      */
       
   139     void InitializeStateL( );
       
   140     /**
       
   141      * to check whether the key stroke is a character key or not 
       
   142      *
       
   143      * @since S60 v3.2.3
       
   144      * @param aKey System key
       
   145      * @return ETrue if it is a character key , otherwise not
       
   146      */
       
   147     TBool IsCharacterKey( const TInt aKey );
       
   148     
       
   149     /**
       
   150      * update the indicator  
       
   151      *
       
   152      * @since S60 v3.2.3
       
   153      */
       
   154     void UpdateIndicator( );
       
   155 
       
   156     };
       
   157 // the zhuyin inputmethod entry state 
       
   158 class TAknFepInputStateEntryHalfQwertyZhuyinPhrase :
       
   159 public TAknFepInputStateEntryQwertyBaseChinesePhrase
       
   160     {
       
   161 public:
       
   162     /**
       
   163      * C++ default constructor
       
   164      *
       
   165      * @since S60 v3.2.3
       
   166      * @param aOwner Pointer to UI manager state interface
       
   167      * @param aUIContainer Pointer to Chinese UI container
       
   168      */
       
   169     TAknFepInputStateEntryHalfQwertyZhuyinPhrase(
       
   170         MAknFepUIManagerStateInterface* aOwner,
       
   171         MAknFepUICtrlContainerChinese* aUIContainer );
       
   172     /**
       
   173      * Handle system key press event
       
   174      *
       
   175      * @since S60 v3.2.3
       
   176      * @param aKey System key
       
   177      * @param aLength Key press length
       
   178      * @return ETrue if handle, otherwise this class do not handle this key
       
   179      */
       
   180     TBool HandleKeyL( TInt aKey, TKeyPressLength aLength );
       
   181 
       
   182 public:
       
   183     // Functions from MPtiObserver interface
       
   184     void KeyTimerExpired( );
       
   185     
       
   186 private:
       
   187     /**
       
   188      * update the indicator  
       
   189      *
       
   190      * @since S60 v3.2.3
       
   191      */
       
   192     void UpdateIndicator( );
       
   193     };
       
   194 #endif T_AKNFEPINPUTSTATEENTRYHALFQWERTYPINYINPHRASE_H
       
   195 
       
   196 //end of the file