textinput/peninputcommonctrls/inc/peninputvkbctrl/peninputvkbctrllayout.h
changeset 40 2cb9bae34d17
parent 31 f1bdd6b078d1
child 49 37f5d84451bd
--- a/textinput/peninputcommonctrls/inc/peninputvkbctrl/peninputvkbctrllayout.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,786 +0,0 @@
-/*
-* 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:  vkb layout inline function 
-*
-*/
-
-
-#ifndef C_CAKNFEPCTRLVKBLAYOUT_H
-#define C_CAKNFEPCTRLVKBLAYOUT_H
-
-// system includes
-#include <barsread.h>
-#include <peninputvkbctrlext.h>
-
-// forward declarations
-class CPeninputVkbLayoutInfo;
-class CPeninputVkbCtrlExt;
-
-// class declarations
-/**
- *  Basic functionality for graphic buttons
- *  It provides creation from resource and can react according to SizeChanged Msg
- *
- *  @lib fepcommonctrls.lib
- *  @since S60 v3.2
- */
-class CAknFepCtrlVkbLayout : public CBase
-    {
-public: 
-        
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     * @return The pointer point to CAknFepCtrlButton type object
-     */
-    IMPORT_C static CAknFepCtrlVkbLayout* NewL();
-        
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     * @return The pointer point to CAknFepCtrlButton type object
-     */
-    IMPORT_C static CAknFepCtrlVkbLayout* NewLC();
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.2
-     */
-    IMPORT_C virtual ~CAknFepCtrlVkbLayout();
-
-    /**
-     * This function creates the input range button from resource,
-     * before calling this function, caller should set resource id of 
-     * range button first
-     * 
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void ConstructFromResourceL();
-    
-    /**
-     * This function get the vkb layout info list
-     *
-     * @since S60 v3.2
-     * @return The vkb layout info list
-     */
-    IMPORT_C RPointerArray<CPeninputVkbLayoutInfo> VkbLayoutInfoList();
-      
-    /**
-     * Get virtual keyboard
-     *
-     * @since S60 v3.2
-     * @return The pointer to CPeninputVkbCtrlExt object
-     */     
-    IMPORT_C void SetVkbKeyboard( CPeninputVkbCtrlExt* aVkbCtrl );
-
-    /**
-     * This function get the vkb layout ID
-     *
-     * @since S60 v3.2
-     * @return The vkb layout ID
-     */
-    IMPORT_C void ChangeVkbLayout( TInt aVkbLayoutId );
-     
-    /**
-     * Set resource Id
-     *
-     * @since S60 V4.0
-     * @param aResId The resource id;
-     */                
-    IMPORT_C void SetResourceId(TInt32 aResId);    
-    
-    /**
-     * Set resource Id
-     *
-     * @since S60 V4.0
-     * @param aResId The resource id;
-     */                
-    IMPORT_C void SetIrregularResourceId(TInt32 aResId);
-    
-    /**
-     * Set resource Id
-     *
-     * @since S60 V4.0
-     * @param aResId The resource id;
-     */                
-    IMPORT_C void SetNonIrregularResourceId(TInt32 aResId);
-
-    /**
-     * This function creates the input range button from resource,
-     * before calling this function, caller should set resource id of 
-     * range button first
-     * 
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void ConstructFromIrregularResourceL();            
-    
-    /**
-     * This function creates the input range button from resource,
-     * before calling this function, caller should set resource id of 
-     * range button first
-     * 
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C void ConstructFromNonIrregularResourceL();   
-          
-    /**
-     * Reset
-     *
-     * @since S60 V4.0
-     */                
-    IMPORT_C void Reset();  
-    
-protected:
-
-    /**
-     * C++ default constructor.
-     *
-     * @since S60 v3.2
-     * @param aUiLayout An instance of CFepUiLayout
-     * @param aControlId The control id of input range button
-     */
-    CAknFepCtrlVkbLayout();
-    
-    void ConstructL();
-    
-private:
-
-    void CreateIrregularKeyBitmapsL(TResourceReader& reader, 
-                                   TPtrC& bmpFileName, 
-                                   TVirtualKeyIrregularKeyType aKeyType);
-                                   
-    void CreateIrregularKeyBitmapL(TResourceReader& reader, TPtrC& bmpFileName, 
-                                  TVirtualKeyIrregularKeyType aKeyType ,
-                                  TVirtualKeyIrregularKeyState aKeyState, 
-                                  TVirtualKeyIrregularKeyState aKeyStateMask);        
-
-protected:
-
-    RPointerArray<CPeninputVkbLayoutInfo> iVkbLayoutInfoList;
-    
-    /**
-     * The first time construct flag of button
-     */
-    TBool iFirstTimeConstruct;
-    
-    /**
-     * The resource Id associatied with this control
-     */
-    TInt32 iResourceId;
-    
-    /**
-     * The resource Id associatied with this control
-     */
-    TInt32 iIrregularResId;    
-	
-	/**
-     * The resource Id associatied with this control
-     */
-    TInt32 iNonIrregularResId;
-private:
-        
-    /**
-     * The vkb extenting control for vkb area
-     * Not own
-     */
-    CPeninputVkbCtrlExt* iVkbCtrl;
-    
-    /**
-     * The vkb layout ID
-     */
-    TInt iVkbLayoutId;
-    };    
-
-
-
-class CVirtualKey;
-
-/**
- *  Vkb key info definition
- *
- *  This class is to define key info. Application can create it from  
- *  resource file. Key info includes Unicode, begin row, end row,  
- *  begin column and end column. 
- *
- *  @lib peninputvkb.lib
- *  @since S60 v3.2
- */
-class CPeninputVkbKeyInfo : public CBase
-    {
-
-public:
-
-    /**
-     * Two-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return The pointer to CPeninputVkbKeyInfo object
-     */
-    IMPORT_C static CPeninputVkbKeyInfo* NewL( TResourceReader& aReader );
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */     
-    IMPORT_C virtual ~CPeninputVkbKeyInfo();
-
-    /**
-     * Get unicode logical string
-     *
-     * @since S60 v3.2
-     * @return unicode logical string
-     */ 
-    inline HBufC* Unicode() const;  
-
-    /**
-     * Get key's scan code
-     *
-     * @since S60 v3.2
-     * @return Key's scan code
-     */ 
-    inline TInt ScanCode() const;  
-    
-    /**
-     * Get key's begin row
-     *
-     * @since S60 v3.2
-     * @return Key's begin row
-     */       
-    inline TInt BeginRow() const;
-    
-    /**
-     * Get key's begin column
-     *
-     * @since S60 v3.2
-     * @return Key's begin column
-     */       
-    inline TInt BeginColumn() const;
- 
-    /**
-     * Get key's end row
-     *
-     * @since S60 v3.2
-     * @return Key's end row
-     */       
-    inline TInt EndRow() const;
-
-    /**
-     * Get key's end column
-     *
-     * @since S60 v3.2
-     * @return Key's end column
-     */       
-    inline TInt EndColumn() const;
-
-    /**
-     * Get high light bitmap index
-     *
-     * @since S60 v3.2
-     * @return High light bitmap index
-     */     
-    inline TInt HighlightBmpIndex()const;
-
-    /**
-     * Get high light mask bitmap index
-     *
-     * @since S60 v3.2
-     * @return High light mask bitmap index
-     */     
-    inline TInt HighlightMaskBmpIndex() const;    
-    
-    /**
-     * Get virtual key
-     *
-     * @since S60 v3.2
-     * @return The pointer to CVirtualKey object
-     */     
-    inline CVirtualKey* Key() const;
-    
-    void SetIrregularKeyType(TInt aColumns);
-
-protected:
-
-    /**
-     * Second phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader
-     * @return None
-     */
-    void ConstructL( TResourceReader& aReader );
-
-    /**
-     * Contruct from resource
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return None
-     */    
-    void ConstructFromResourceL( TResourceReader& aReader );
-
-private: 
-
-    /**
-     * Create key
-     *
-     * @since S60 v3.2
-     * @return None
-     */     
-    void CreateKeyL();
-    
-    TVirtualKeyIrregularKeyType KeyTypeFromColumn(TInt aColumns);
-    
-private: // data
-
-    /**
-     * Key unicode string
-     */ 
-    HBufC* iUnicode;
-    
-    /**
-     * Scan code 
-     */     
-    TInt iScanCode;
-    
-    /**
-     * Begin row
-     */     
-    TInt iBeginRow;
-
-    /**
-     * Begin column
-     */     
-    TInt iBeginColumn;
-    
-    /**
-     * End row
-     */     
-    TInt iEndRow;
-    
-    /**
-     * End column
-     */     
-    TInt iEndColumn;
-    
-    /**
-     * High light bitmap index
-     */     
-    TInt iHighlightBmpIndex;
-    
-    /**
-     * High light mask bitmap index
-     */     
-    TInt iHighlightMaskBmpIndex;
-
-    /**
-     * Virtual key 
-     * Own
-     */    
-    CVirtualKey* iKey;
-    
-    };
-
-/**
- *  vkb layout definition
- *
- *  This class is to implement vkb layout. Application can create it from resource 
- *  file. This class is to control vkb interface layout. 
- *
- *  @lib peninputvkb.lib
- *  @since S60 v3.2
- */   
-class CPeninputVkbLayoutInfo : public CBase
-    {
-
-public:
-
-    /**
-     * Two-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return The pointer to CPeninputVkbLayoutInfo object
-     */
-    IMPORT_C static CPeninputVkbLayoutInfo* NewL( 
-                                        TResourceReader& aReader );
-
-    /**
-     * Two-phase constructor
-     * 
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return The pointer to CPeninputVkbLayoutInfo object
-     */
-    IMPORT_C static CPeninputVkbLayoutInfo* NewLC( 
-                                      TResourceReader& aReader );
-
-    /**
-     * Get real size from vkb layout
-     *
-     * @since S60 v3.2
-     * @param aUnitWidth Unit width    
-     * @param aUnitHeight Unit height
-     * @return The unit size
-     */
-    IMPORT_C const TSize GetRealSize( const TInt aUnitWidth, 
-                                      const TInt aUnitHeight ) const;
- 
-    /**
-     * Reset unit size 
-     *
-     * @since S60 v3.2
-     * @param aUnitWidth Unit width
-     * @param aUnitHeight Unit height
-     * @param aUnitCharWidth Unit char width
-     * @param aUnitCharHeight Unit char height
-     * @param aCharLeftTopPoint Left top point of unit char
-     * @return None
-     */   
-    IMPORT_C void ResetSize( const TInt aUnitWidth,
-                             const TInt aUnitHeight,
-                             const TInt aUnitCharWidth,
-                             const TInt aUnitCharHeight,
-                             const TPoint& aCharLeftTopPoint,
-                             const CFont* aFont );
-                             
-                             
-    /**
-     * Reset unit size 
-     *
-     * @since S60 v3.2
-     * @param aSize Keyboard size
-     * @return None
-     */   
-    IMPORT_C void ResetLayoutInfo( const TSize& aSize);                             
-
-
-
-    /**
-     * Reset unit size 
-     *
-     * @since S60 v3.2
-     * @param aUnitWidth Unit width
-     * @param aUnitHeight Unit height
-     * @param aUnitCharWidth Unit char width
-     * @param aUnitCharHeight Unit char height
-     * @param aCharLeftTopPoint Left top point of unit char
-     * @return None
-     */   
-    IMPORT_C void SetKeyInfo(const TInt aRow,
-                             const TInt aColumn,
-                             const TRect& aKeyRect,
-                             const TRect& aCharRect, 
-                             const CFont* aFont );                             
-
-
-
-
-    /**
-     * Destructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */
-    IMPORT_C virtual ~CPeninputVkbLayoutInfo();
-            
-    /**
-     * Find the key from the vkb accroding to the unicode
-     *
-     * @since S60 v3.2
-     * @param aUnicode Unicode  
-     * @return The pointer to CPeninputVkbKeyInfo object
-     */    
-    IMPORT_C CPeninputVkbKeyInfo* FindKey( const TInt aUnicode ) const;
-
-    /**
-     * Get layout id
-     *
-     * @since S60 v3.2
-     * @return Layout id
-     */
-    inline TInt LayoutID() const;
-
-    /**
-     * Get column count 
-     *
-     * @since S60 v3.2
-     * @return Column count
-     */
-    inline TInt Columns() const;
-
-    /**
-     * Get row count
-     *
-     * @since S60 v3.2
-     * @return Row count 
-     */
-    inline TInt Rows() const;
-
-    /**
-     * Get the unit's width
-     *
-     * @since S60 v3.2
-     * @return The unit's width 
-     */
-    inline TInt UnitWidth() const;
-
-    /**
-     * Get the unit's height
-     *
-     * @since S60 v3.2
-     * @return The unit's height 
-     */
-    inline TInt UnitHeight() const;
-
-    /**
-     * Get the char's width
-     *
-     * @since S60 v3.2
-     * @return The char's width 
-     */
-    inline TInt UnitCharWidth() const;
-
-    /**
-     * Get the char's height
-     *
-     * @since S60 v3.2
-     * @return The char's height 
-     */
-    inline TInt UnitCharHeight() const;
-
-    /**
-     * Get the char's left top point
-     *
-     * @since S60 v3.2
-     * @return The char's left top point 
-     */
-    inline TPoint CharLeftTopPoint() const;
-
-    /**
-     * Get the char's font
-     *
-     * @since S60 v3.2
-     * @return The char's font 
-     */
-    inline const CFont* CharFont() const;
-                    
-    /**
-     * Get background bitmap
-     *
-     * @since S60 v3.2
-     * @return The pointer to background bitmap
-     */
-    inline CFbsBitmap* BgBmp() const;
-
-    /**
-     * Get mask bitmap
-     *
-     * @since S60 v3.2
-     * @return The pointer to background mask bitmap
-     */
-    inline CFbsBitmap* BgMaskBmp() const;
-
-    /**
-     * Get dim bitmap
-     *
-     * @since S60 v3.2
-     * @return The pointer to dim bitmap
-     */
-    inline CFbsBitmap* DimBmp() const;
-
-    /**
-     * Get dim mask bitmap
-     *
-     * @since S60 v3.2
-     * @return The pointer to dim mask bitmap
-     */
-    inline CFbsBitmap* DimMaskBmp() const;
-
-    /**
-     * Get key info array 
-     *
-     * @since S60 v3.2
-     * @return Key info array
-     */
-    inline RPointerArray<CPeninputVkbKeyInfo> KeyInfoList() const;
-    
-    /**
-     * Get high light bitmap array
-     *
-     * @since S60 v3.2
-     * @return High light bitmap array
-     */
-    inline RPointerArray<CFbsBitmap> HighlightBmps() const;
-
-    /**
-     * Get high light mask bitmap array
-     *
-     * @since S60 v3.2
-     * @return High light mask bitmap array
-     */
-    inline RPointerArray<CFbsBitmap> HighlightMaskBmps() const;
-
-    /**
-     * Move key to certain point
-     *
-     * @since S60 v3.2
-     * @param aTopLeft Point to move  
-     * @return None
-     */
-    IMPORT_C void MoveKeys( const TPoint& aTopLeft );
-    
-    /**
-     * Construct from resourcr file
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return None
-     */ 
-    void ConstructFromResourceL( TResourceReader& aReader, 
-                                 CPeninputVkbCtrlExt* aVkbCtrl = NULL, 
-                                 TInt aVkbLayoutId = 0 );
-    
-protected:
-
-    /**
-     * C++ default constructor
-     *
-     * @since S60 v3.2
-     * @return None
-     */  
-    CPeninputVkbLayoutInfo();
-
-    /**
-     * Symbian second-phase constructor
-     *
-     * @since S60 v3.2
-     * @param aReader Resource reader    
-     * @return None
-     */ 
-    void ConstructL( TResourceReader& aReader );      
-   
-public:
-    TBool iIrregular;     
-                
-private: // data
-
-    /**
-     * Layout id
-     */  
-    TInt iLayoutID;
-
-    /**
-     * Column count
-     */  
-    TInt iColumns;
-
-    /**
-     * Row count 
-     */  
-    TInt iRows;
-    
-    /**
-     * Unit width 
-     */  
-    TInt iUnitWidth;
-    
-    /**
-     * Unit height 
-     */  
-    TInt iUnitHeight;
- 
-    /**
-     * Unit char width
-     */  
-    TInt iUnitCharWidth;
- 
-    /**
-     * Unit char height  
-     */  
-    TInt iUnitCharHeight;
-    
-    /**
-     * Char left top point  
-     */  
-    TPoint iCharLeftTopPoint;
-    
-    /**
-     * Key font  
-     */  
-    const CFont* iFont;
-
-    /**
-     * Last point
-     */  
-    TPoint iLastTopLeft;
-
-    /**
-     * Background bitmap
-     * Own
-     */  
-    CFbsBitmap* iBgBmp;
-
-    /**
-     * Background mask bitmap
-     * Own
-     */  
-    CFbsBitmap* iBgMaskBmp;
-
-    /**
-     * Dim bitmap
-     * Own
-     */  
-    CFbsBitmap* iDimBmp;
-
-    /**
-     * Dim mask bitmap
-     * Own
-     */  
-    CFbsBitmap* iDimMaskBmp;
-
-    /**
-     * Key info array
-     */  
-    RPointerArray<CPeninputVkbKeyInfo> iKeyInfoList;
-    
-    /**
-     * High light bitmap array
-     */  
-    RPointerArray<CFbsBitmap> iHighlightBmps;
-
-    /**
-     * High light mask bitmap array
-     */  
-    RPointerArray<CFbsBitmap> iHighlightMaskBmps;
-    
-    };
- 
-#include "peninputvkbctrllayout.inl"
-
-#endif // C_CAKNFEPCTRLVKBLAYOUT_H
-            
-// End Of File