textinput/peninputsplitqwerty/inc/peninputsplitqwertywindow.h
branchRCL_3
changeset 50 5a1685599b76
parent 44 ecbabf52600f
child 56 8152b1f1763a
equal deleted inserted replaced
46:bd83ceabce89 50:5a1685599b76
    31 class CPeninputCommonChoiceList;
    31 class CPeninputCommonChoiceList;
    32 class CPeninputSplitQwertyLafMgr;
    32 class CPeninputSplitQwertyLafMgr;
    33 class CPeninputSyncBitmapRotator;
    33 class CPeninputSyncBitmapRotator;
    34 class CRepository;
    34 class CRepository;
    35 class CFepLayoutScrollableList;
    35 class CFepLayoutScrollableList;
       
    36 class CPopupBubbleCtrl;
    36 
    37 
    37 // Constants
    38 // Constants
    38 const TInt KMaxFileLength = 80;
    39 const TInt KMaxFileLength = 80;
    39 const TInt KMaxRangeLabelLength = 50;
    40 const TInt KMaxRangeLabelLength = 50;
    40 
    41 
    59  *  @lib peninputsplitqwerty.lib
    60  *  @lib peninputsplitqwerty.lib
    60  *  @since S60 v5.0
    61  *  @since S60 v5.0
    61  */
    62  */
    62 class CPeninputSplitQwertyWindow : public CPeninputLayoutWindowExt
    63 class CPeninputSplitQwertyWindow : public CPeninputLayoutWindowExt
    63     {
    64     {
       
    65 private:
       
    66     enum TIndicatorAlign
       
    67         {
       
    68         EIndiAlignLeft,
       
    69         EIndiAlignCenter,
       
    70         EIndiAlignRight 
       
    71         };    
    64 public:
    72 public:
    65     /**
    73     /**
    66      * Symbian constructor
    74      * Symbian constructor
    67      *
    75      *
    68      * @since S60 v5.0
    76      * @since S60 v5.0
   288      * @param aEventData Event data
   296      * @param aEventData Event data
   289      * @return None
   297      * @return None
   290      */
   298      */
   291     TBool HandleVirtualKeyUpEvent( TInt aEventType, CFepUiBaseCtrl* aCtrl,
   299     TBool HandleVirtualKeyUpEvent( TInt aEventType, CFepUiBaseCtrl* aCtrl,
   292                                    const TDesC& aEventData );
   300                                    const TDesC& aEventData );
       
   301     
       
   302     /**
       
   303      * Handle virtual key down event
       
   304      *
       
   305      * @since S60 v5.0
       
   306      * @param None
       
   307      * @return None
       
   308      */
       
   309     void HandleVirtualKeyDownEvent();
   293 
   310 
   294     /**
   311     /**
   295      * Submit dead key
   312      * Submit dead key
   296      *
   313      *
   297      * @param abuf Dead key buffer 
   314      * @param abuf Dead key buffer 
   365      * @since S60 v5.0
   382      * @since S60 v5.0
   366      * @return None
   383      * @return None
   367      */
   384      */
   368     void UpdateLayoutPosAndSize();
   385     void UpdateLayoutPosAndSize();
   369 
   386 
   370 
   387     /**
       
   388      * Set split indicator bubble size with text
       
   389      * 
       
   390      * @return None
       
   391      */
       
   392     void SetSplitIndiBubbleSizeWithText();
       
   393 
       
   394     /**
       
   395      * Set split indicator bubble size without text
       
   396      * 
       
   397      * @return None
       
   398      */    
       
   399     void SetSplitIndiBubbleSizeWithoutText();
       
   400 
       
   401     /**
       
   402      * Update split indicator bubble
       
   403      * 
       
   404      * @param aData text
       
   405      * @return None
       
   406      */
       
   407     void UpdateSplitIndiBubbleL( TUint8* aData );
       
   408     
       
   409     /** 
       
   410      * Set bubble image
       
   411      *
       
   412      * @param aImgID1 image ID1
       
   413      * @param aMaskID1 mask image id1
       
   414      * @param aImgID2 image ID2
       
   415      * @param aMaskID2 mask image id2
       
   416      * @return None
       
   417      */    
       
   418     void SetSplitIndiBubbleImageL( const TInt aImgID1,
       
   419                             const TInt aMaskID1,
       
   420                             const TInt aImgID2,
       
   421                             const TInt aMaskID2 );
       
   422 
       
   423     /**
       
   424      * Calculate indicator bubble rect
       
   425      *
       
   426      * @param aBoundRect
       
   427      * @param aRealRect1
       
   428      * @param aRealRect2
       
   429      * @param aAlign
       
   430      * @return None
       
   431      */     
       
   432     void CalIndicatorRect(const TRect& aBoundRect,
       
   433                           TRect& aRealRect1,
       
   434                           TRect& aRealRect2,
       
   435                           TIndicatorAlign aAlign);    
       
   436     /**
       
   437      * Get indicator data
       
   438      * 
       
   439      * @return TFepIndicatorInfo indicator info
       
   440      */
       
   441     inline TFepIndicatorInfo SplitIndicatorData();
       
   442 
       
   443     /**
       
   444      * Set indicator data
       
   445      * 
       
   446      * @param aIndicatorData Indicator Data
       
   447      * @return None
       
   448      */
       
   449     inline void SetSplitIndicatorData( const TFepIndicatorInfo& aIndicatorData );  
       
   450     
   371 protected: //from base class CPeninputLayoutWindowExt
   451 protected: //from base class CPeninputLayoutWindowExt
   372     /**
   452     /**
   373      * Set laf layout type
   453      * Set laf layout type
   374      * 
   454      * 
   375      * @since S60 v5.0
   455      * @since S60 v5.0
   629      * Not own
   709      * Not own
   630      */
   710      */
   631     CPeninputCommonChoiceList* iPopupWnd;
   711     CPeninputCommonChoiceList* iPopupWnd;
   632 
   712 
   633     /**
   713     /**
       
   714      * Indicator bubble
       
   715      * Not own
       
   716      */
       
   717     CPopupBubbleCtrl* iSplitIndiBubble;
       
   718     
       
   719     /**
   634      * The resource file name
   720      * The resource file name
   635      */
   721      */
   636     TBuf<KMaxFileLength> iResourceFilename;
   722     TBuf<KMaxFileLength> iResourceFilename;
   637 
   723 
   638     /**
   724     /**
   736      * Accent commonds for range list
   822      * Accent commonds for range list
   737      * Own
   823      * Own
   738      */
   824      */
   739     RArray<CFepLayoutChoiceList::SItem> iAccentCmdList;
   825     RArray<CFepLayoutChoiceList::SItem> iAccentCmdList;
   740 
   826 
       
   827     /**
       
   828      * Indicator bubble size
       
   829      */
       
   830     TSize iSplitIndicatorSize;
       
   831 
       
   832     /**
       
   833      * Indicator text size
       
   834      */
       
   835     TSize iSplitIndicatorTextSize;
       
   836 
       
   837     /**
       
   838      * Indicator data
       
   839      */
       
   840     TFepIndicatorInfo iSplitIndicatorData;
       
   841     
   741     /**
   842     /**
   742      * Range labels for range list
   843      * Range labels for range list
   743      */
   844      */
   744     TAllRangeLabels iRangeLabels;
   845     TAllRangeLabels iRangeLabels;
   745 
   846 
   758 inline TBool CPeninputSplitQwertyWindow::IsValidLanguage( TInt aLanguage )
   859 inline TBool CPeninputSplitQwertyWindow::IsValidLanguage( TInt aLanguage )
   759     {
   860     {
   760     return ( aLanguage != ELangTest && aLanguage != ELangNone );
   861     return ( aLanguage != ELangTest && aLanguage != ELangNone );
   761     }
   862     }
   762 
   863 
       
   864 inline void CPeninputSplitQwertyWindow::SetSplitIndicatorData( 
       
   865         const TFepIndicatorInfo& aIndicatorData )
       
   866     {
       
   867     iSplitIndicatorData.iIndicatorImgID = aIndicatorData.iIndicatorImgID;
       
   868     iSplitIndicatorData.iIndicatorMaskID = aIndicatorData.iIndicatorMaskID;
       
   869     iSplitIndicatorData.iIndicatorTextImgID = aIndicatorData.iIndicatorTextImgID;
       
   870     iSplitIndicatorData.iIndicatorTextMaskID = aIndicatorData.iIndicatorTextMaskID;
       
   871     }
       
   872     
       
   873 inline TFepIndicatorInfo CPeninputSplitQwertyWindow::SplitIndicatorData()
       
   874     {
       
   875     return iSplitIndicatorData;
       
   876     }
       
   877 
   763 inline CAknFepCtrlEventButton* CPeninputSplitQwertyWindow::EventButtonCtrl(
   878 inline CAknFepCtrlEventButton* CPeninputSplitQwertyWindow::EventButtonCtrl(
   764                                                                 TInt aCtrlId )
   879                                                                 TInt aCtrlId )
   765     {
   880     {
   766     return static_cast<CAknFepCtrlEventButton*> ( Control( aCtrlId ) );
   881     return static_cast<CAknFepCtrlEventButton*> ( Control( aCtrlId ) );
   767     }
   882     }