uifw/AvKon/inc/AknSmileyModel.h
branchRCL_3
changeset 15 08e69e956a8c
parent 9 aabf2c525e0f
child 51 fcdfafb36fe7
equal deleted inserted replaced
10:9f56a4e1b8ab 15:08e69e956a8c
    34 ////////////////////////////////////////////////////////////////////
    34 ////////////////////////////////////////////////////////////////////
    35 
    35 
    36 const TInt KSmileyNameLength = 8;
    36 const TInt KSmileyNameLength = 8;
    37 typedef TBuf<KSmileyNameLength> TSmileyText;
    37 typedef TBuf<KSmileyNameLength> TSmileyText;
    38 typedef RArray<TSmileyText> RSmileyTextArray;
    38 typedef RArray<TSmileyText> RSmileyTextArray;
       
    39 typedef RArray<TChar> RSmileyCodeArray;
    39 
    40 
    40 NONSHARABLE_CLASS(TSmileyIconInfo)
    41 NONSHARABLE_CLASS(TSmileyIconInfo)
    41     {
    42     {
    42 public:
    43 public:
    43     TSmileyIconInfo();
    44     TSmileyIconInfo();
    78     TInt Index() const;
    79     TInt Index() const;
    79     void LoadStillImageL(TInt aDelay=0);
    80     void LoadStillImageL(TInt aDelay=0);
    80     TBool StillImageIsReadyToDraw() const;
    81     TBool StillImageIsReadyToDraw() const;
    81     TBool AnimationImageIsReadyToDraw() const;
    82     TBool AnimationImageIsReadyToDraw() const;
    82 
    83 
    83     void AddText(const TDesC& aText);
    84     void AddVariant(const TDesC& aText, TChar aBaseCode);
    84     const TDesC& Text(TInt aVariate=0) const;
    85     TInt VariantCount() const;
    85     TInt TextVariate() const;
    86     const TDesC& Text(TInt aVariant=0) const;
       
    87     TChar Code(TInt aVariant=0) const;
    86 
    88 
    87 private:
    89 private:
    88     MAknSmileyObserver*     iSmileyIconObserver;
    90     MAknSmileyObserver*     iSmileyIconObserver;
    89     TInt                    iIndex;
    91     TInt                    iIndex;
    90     CSmileyImage*           iStillImage;
    92     CSmileyImage*           iStillImage;
    91     CSmileyImage*           iAnimationImage;
    93     CSmileyImage*           iAnimationImage;
    92     RSmileyTextArray        iTextArray;
    94     RSmileyTextArray        iTextArray;
       
    95     RSmileyCodeArray        iCodeArray;
    93     };
    96     };
    94 
    97 
    95 typedef RArray<CSmileyIcon*> RSmileyIconPtrArray;
    98 typedef RArray<CSmileyIcon*> RSmileyIconPtrArray;
       
    99 NONSHARABLE_CLASS(TSmileyCodeIndex)
       
   100     {
       
   101 public:
       
   102     TSmileyCodeIndex(CSmileyIcon* aSmileyIcon, TInt aVariant=0) : iSmileyIcon(aSmileyIcon), iVariant(aVariant) {}
       
   103     CSmileyIcon* Smiley() const                                 { return iSmileyIcon; }
       
   104     const TDesC& Text() const                                   { return iSmileyIcon->Text(iVariant); }
       
   105 private:
       
   106     CSmileyIcon*    iSmileyIcon;
       
   107     TInt            iVariant;
       
   108     };
       
   109 typedef RArray<TSmileyCodeIndex> RSmileyCodeIndexArray;
    96 
   110 
    97 
   111 
    98 ////////////////////////////////////////////////////////////////////
   112 ////////////////////////////////////////////////////////////////////
    99 
   113 
   100 class CSmileyTnumbnailAsynLoader : public CBase
   114 class CSmileyTnumbnailAsynLoader : public CBase
   159     CAknSmileyIcon* SwitchToSmileyIcon() const;
   173     CAknSmileyIcon* SwitchToSmileyIcon() const;
   160     CAknSmileyIcon* SwitchToSctIcon() const;
   174     CAknSmileyIcon* SwitchToSctIcon() const;
   161     TChar SwitchToSmileyCode() const;
   175     TChar SwitchToSmileyCode() const;
   162     TChar SwitchToSctCode() const;
   176     TChar SwitchToSctCode() const;
   163 
   177 
   164     TChar SmileyCode(TInt aIndex, TInt aVariate=0) const;
   178     TChar SmileyCode(TInt aIndex, TInt aVariant=0) const;
   165     TChar SmileyCode(CAknSmileyIcon* aSmileyIcon) const;
   179     TChar SmileyCode(const CAknSmileyIcon* aSmileyIcon) const;
   166     void LoadStillImagesL(const TDesC& aText);
   180     void LoadStillImagesL(const TDesC& aText);
   167     void LoadStillImageL(TChar aChar);
   181     void LoadStillImageL(TChar aChar);
   168 
   182 
   169 private:
   183 private:
   170     const TDesC& Text(TInt aIndex, TInt aVariate=0) const;
   184     const TDesC& Text(TInt aIndex, TInt aVariant=0) const;
   171     TInt ArrayCount() const;
   185     TInt ArrayCount() const;
   172     TChar EncodeSmileyCode(TInt aIndex, TInt aVariate) const;
       
   173     TBool DecodeSmileyCode(TChar aCode, TInt& aIndex, TInt& aVariate) const;
       
   174 
   186 
   175 private:
   187 private:
   176     MAknSmileyObserver*         iSmileyIconObserver;
   188     MAknSmileyObserver*         iSmileyIconObserver;
   177     CSmileyTnumbnailAsynLoader  iSmileyLoader;
   189     CSmileyTnumbnailAsynLoader  iSmileyLoader;
   178     RSmileyIconPtrArray         iSmileyIconArray;
   190     RSmileyIconPtrArray         iSmileyIconArray;
   179     TUint                       iBaseCode;
   191     RSmileyCodeIndexArray       iSmileyCodeIndexArray;
   180     
   192     
   181     CSmileyTextTreeNode*        iTextSearchTree;
   193     CSmileyTextTreeNode*        iTextSearchTree;
   182     TBuf<1024*2>                iConvertBuffer;
   194     TBuf<1024*2>                iConvertBuffer;
   183     
   195     
   184     };
   196     };