aknmessagequerydialog.h

Go to the documentation of this file.
00001 /*
00002 * ============================================================================
00003 *  Name     : aknmessagequerydialog.h
00004 *  Part of  : AVKON
00005 *
00006 *  Description:
00007 * 
00008 *  Version  : %version: e003sa01#20 %
00009 *
00010 *  Copyright © 2002 - 2006 Nokia Corporation.
00011 *  This material, including documentation and any related 
00012 *  computer programs, is protected by copyright controlled by 
00013 *  Nokia Corporation. All rights are reserved. Copying, 
00014 *  including reproducing, storing,  adapting or translating, any 
00015 *  or all of this material requires the prior written consent of 
00016 *  Nokia Corporation. This material also contains confidential 
00017 *  information which may not be disclosed to others without the 
00018 *  prior written consent of Nokia Corporation.
00019 * ============================================================================
00020 */
00021 
00022 #if !defined(__AKNMESSAGEQUERYDIALOG_H__)
00023 #define __AKNMESSAGEQUERYDIALOG_H__
00024 
00025 #include <aknquerydialog.h>
00026 class CEikImage;
00027 class CAknMessageQueryDialogExtension;
00028 
00029 _LIT( KOpeningLinkTag, "<AknMessageQuery Link>" );
00030 _LIT( KClosingLinkTag, "</AknMessageQuery Link>" );
00031 _LIT( KOpeningBoldTag, "<AknMessageQuery Bold>" );
00032 _LIT( KClosingBoldTag, "</AknMessageQuery Bold>" );
00033 
00034 
00045 class CAknMessageQueryDialog : public CAknQueryDialog
00046     {
00047 
00048 public:
00049 
00056     IMPORT_C static CAknMessageQueryDialog* NewL(TDesC& aMessage, 
00057                                         const TTone& aTone = ENoTone);
00058 
00062     IMPORT_C ~CAknMessageQueryDialog();
00063 
00069     IMPORT_C CAknMessageQueryDialog(const TTone aTone);
00070 
00071 public:
00072 
00081     IMPORT_C void SetMessageTextL(const TDesC& aMessage);
00082 
00089     IMPORT_C void SetHeaderTextL(const TDesC& aHeader);  
00090 
00108     IMPORT_C void SetLinkTextL(const TDesC& aLinkText);
00109 
00118     IMPORT_C void SetLink(TCallBack& aCallBack);
00119 
00120 public: // from CCoeControl
00121 
00140     IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, 
00141                                          TEventCode);
00142 
00150     IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); 
00151 
00152 protected: // from CEikDialog
00153 
00164     IMPORT_C virtual void PreLayoutDynInitL();
00165     
00175     IMPORT_C virtual void SetSizeAndPosition(const TSize& aSize);
00176     
00182     IMPORT_C virtual void PostLayoutDynInitL();
00183 
00184 private:
00185 
00191     void CreateExtensionL();
00192 
00200     void RegisterPointerEventObserver( TBool aRegister ); 
00201     
00206     TInt CountLinks() const;         
00207     TBool SetNextLinkTextLocationL(const TDesC* aLinkText);     // for the non-marked links
00208     
00209     void ParseMessageTxtL();
00210     TBool GetNextTagL(TMsgQueryTag& aTag);
00211     void SetMsgFormattingL(TMsgQueryTag aTag);
00212     TBool TaggedMessageL();
00213     TInt LinksInArray();
00214     TInt LastLinkInArray();
00215        
00221     TBool ExecuteLink();
00222       
00223 private:
00227     IMPORT_C void* ExtensionInterface( TUid aInterface );
00228 private: 
00229     IMPORT_C virtual void CEikDialog_Reserved_1();
00230     IMPORT_C virtual void CEikDialog_Reserved_2();  
00231 private: 
00232     IMPORT_C virtual void CAknDialog_Reserved();
00233 private:
00234     IMPORT_C virtual void CAknQueryDialog_Reserved();
00235 private:
00236     TDesC* iMessage;
00237     TDesC* iHeader;
00238     CEikImage* iHeaderImage;
00239     // Moved to iMsgQueryExtension
00240     // TInt iAnimationId;
00241     CAknMessageQueryDialogExtension * iMsgQueryExtension;
00242     
00243 
00244 public:
00245 
00256     IMPORT_C virtual void ProcessCommandL( TInt aCommandId );
00257     
00265     void CheckLinkTappedL( TAny* aParams ); 
00266 
00267 
00268 public:
00269 
00277     IMPORT_C CAknMessageQueryDialog(TDesC* aMessage, TDesC* aHeader); 
00278 
00287     IMPORT_C CAknMessageQueryDialog(TDesC* aMessage, 
00288                                     TDesC* aHeader, 
00289                                     CEikImage *aHeaderImage); 
00290 
00299     IMPORT_C CAknMessageQueryDialog(TDesC* aMessage, 
00300                                     TDesC* aHeader, 
00301                                     const TTone aTone); 
00302 
00312     IMPORT_C CAknMessageQueryDialog(TDesC* aMessage, 
00313                                     TDesC* aHeader, 
00314                                     CEikImage *aHeaderImage, 
00315                                     const TTone aTone); 
00316     
00323     IMPORT_C void SetMessageText(TDesC* aMessage); 
00324     
00331     IMPORT_C void SetMessageText(const TDesC& aMessage);
00332 
00339     IMPORT_C void SetHeaderText(TDesC* aHeader);  
00340 
00347     IMPORT_C void SetHeaderText(const TDesC& aHeader);  
00348     
00353     void UpdateSoftkeyLabels();
00354 
00360     IMPORT_C CAknMessageQueryDialog();
00361         
00362     };
00363 
00364 
00365 #endif // __AKNMESSAGEQUERYDIALOG_H__
00366 
00367 //  End of File  

Copyright © Nokia Corporation 2001-2007
Back to top