textinput/peninputfingerhwrar/inc/peninputfingerhwrarmultipagevkb.h
branchRCL_3
changeset 3 f5a1e66df979
child 5 a47de9135b21
equal deleted inserted replaced
0:eb1f2e154e89 3:f5a1e66df979
       
     1 /*
       
     2 * Copyright (c) 2005-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:  Implementation of mutli-page virtual keyboard control.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef C_FINGERHWRARMULTIPAGEVIRTUALKEYBOARD_H
       
    20 #define C_FINGERHWRARMULTIPAGEVIRTUALKEYBOARD_H
       
    21 
       
    22 // INCLUDES
       
    23 #include <e32std.h>
       
    24 #include <e32base.h>
       
    25 #include <peninputlayoutvkb.h>
       
    26 
       
    27 // FORWARD DECLARATIONS
       
    28 
       
    29 // CLASS DECLARATION
       
    30 
       
    31 /**
       
    32  *  class CMultiPageVirtualKeyboard.
       
    33  * 
       
    34  *  multi-page virtual keybord.
       
    35  * 
       
    36  *  @lib peninputfingerhwrar.lib
       
    37  *  @since S60 v5.0
       
    38  */
       
    39 
       
    40 class CMultiPageVirtualKeyboard : public CVirtualKeyboard
       
    41     {
       
    42 public:
       
    43 
       
    44     /** 
       
    45      * Symbian constructor.
       
    46      *
       
    47      * @since S60 V5.0     
       
    48      * @param aRect The keyboard position relative to layout
       
    49      * @param aUiLayout The layout contains the keyboard. Owner ship not transferred.
       
    50      * @param aControlId Id for this keyboard control.
       
    51      * @param aFontSpec The font used for key drawing.
       
    52      * @return Pointer of created object.
       
    53      */    
       
    54 
       
    55     static CMultiPageVirtualKeyboard* NewL( const TRect& aRect, 
       
    56             CFepUiLayout* aUiLayout, TInt aControlId, 
       
    57             const TFontSpec& aFontSpec, TBool aIrregular = EFalse );
       
    58     /**
       
    59      * Symbian constructor.
       
    60      *
       
    61      * @since S60 V5.0     
       
    62      * @param aRect The keyboard position relative to layout
       
    63      * @param aUiLayout The layout contains the keyboard. Owner ship not transferred.
       
    64      * @param aControlId Id for this keyboard control
       
    65      * @param aFont The font used for key drawing.
       
    66      * @return Pointer of created object.
       
    67      */    
       
    68     static CMultiPageVirtualKeyboard* NewL( const TRect& aRect, 
       
    69             CFepUiLayout* aUiLayout,TInt aControlId,
       
    70             CFont* aFont, TBool aIrregular = EFalse );
       
    71     
       
    72 
       
    73     /**
       
    74      * standard c++ destructor.
       
    75      *
       
    76      * @since S60 v5.0
       
    77      */    
       
    78     ~CMultiPageVirtualKeyboard();
       
    79     
       
    80     
       
    81     /**
       
    82      * get current page index.
       
    83      * 
       
    84      * @since S60 v5.0
       
    85      * @return page index.
       
    86      */
       
    87     TInt CurPageIndex();
       
    88     
       
    89     /**
       
    90      * get page count.
       
    91      * 
       
    92      * @since S60 v5.0
       
    93      * @return page count.
       
    94      */    
       
    95     TInt PageCount();
       
    96     
       
    97     /**
       
    98      * 
       
    99      * 
       
   100      */
       
   101     TInt PageSize();
       
   102     
       
   103     /**
       
   104      * move to next page.
       
   105      * 
       
   106      * @since S60 v5.0
       
   107      * @return none.
       
   108      */      
       
   109     void NavToNextPage();
       
   110    
       
   111     /**
       
   112      * move to previous page.
       
   113      * 
       
   114      * @since S60 v5.0
       
   115      * @return none.
       
   116      */     
       
   117     void NavToPrevPage();
       
   118     
       
   119     /**
       
   120      * move to first page.
       
   121      * 
       
   122      * @since S60 v5.0
       
   123      * @return none.
       
   124      */     
       
   125     void NavToFirstPage();
       
   126     
       
   127     /**
       
   128      * move to last page.
       
   129      * 
       
   130      * @since S60 v5.0
       
   131      * @return none.
       
   132      */ 
       
   133     void NavToLastPage();
       
   134     
       
   135     /**
       
   136      * move to specified page.
       
   137      * 
       
   138      * @since S60 v5.0
       
   139      * @param aPageIndex page index.
       
   140      * @return none.
       
   141      */ 
       
   142     void NavToPage( TInt aPageIndex );
       
   143 
       
   144     /**
       
   145      * update paging.
       
   146      * 
       
   147      * @since S60 v5.0
       
   148      * @param aRows Specifies row count.
       
   149      * @param aCols Specifies column count.
       
   150      * @return none.
       
   151      */     
       
   152     void UpdatePaging( TInt aRows, TInt aCols );
       
   153     
       
   154 private:
       
   155 
       
   156     /**
       
   157      * Stand C++ Constructor
       
   158      * 
       
   159      * @since S60 V5.0     
       
   160      * @param aRect The keyboard position relative to layout
       
   161      * @param aUiLayout The layout contains the keyboard. Owner ship not transferred.
       
   162      * @param aControlId Id for this keyboard control
       
   163      * @param aFontSpect The font used for key drawing
       
   164      */
       
   165     CMultiPageVirtualKeyboard(const TRect& aRect,CFepUiLayout* aUiLayout,
       
   166             TInt aControlId, const TFontSpec& aFontSpec, 
       
   167             TBool aIrregular = EFalse);
       
   168 
       
   169     /**
       
   170      * Symbian 2nd phase constructor
       
   171      * 
       
   172      * @since S60 V5.0 
       
   173      */
       
   174     void ConstructL();
       
   175     
       
   176 private: //datas
       
   177     TInt iCurPageIndex;
       
   178     TInt iPageSize;
       
   179     TInt iPageCount;
       
   180     
       
   181     };
       
   182 
       
   183 #endif // C_FINGERHWRARMULTIPAGEVIRTUALKEYBOARD_H
       
   184 
       
   185 //  End Of File