00001 /* 00002 * ============================================================================ 00003 * Name : aknmessagequerydialog.h 00004 * Part of : AVKON 00005 * 00006 * Description: 00007 * 00008 * Version : %version: e003sa01#16 % 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 00040 class CAknMessageQueryDialog : public CAknQueryDialog 00041 { 00042 00043 public: 00044 00051 IMPORT_C static CAknMessageQueryDialog* NewL(TDesC& aMessage, 00052 const TTone& aTone = ENoTone); 00053 00057 IMPORT_C ~CAknMessageQueryDialog(); 00058 00065 IMPORT_C CAknMessageQueryDialog(const TTone aTone); 00066 00067 public: 00068 00077 IMPORT_C void SetMessageTextL(const TDesC& aMessage); 00078 00085 IMPORT_C void SetHeaderTextL(const TDesC& aHeader); 00086 00103 IMPORT_C void SetLinkTextL(const TDesC& aLinkText); 00104 00113 IMPORT_C void SetLink(TCallBack& aCallBack); 00114 00115 public: // from CCoeControl 00116 00135 IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, 00136 TEventCode); 00137 00145 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); 00146 00147 protected: // from CEikDialog 00148 00159 IMPORT_C virtual void PreLayoutDynInitL(); 00160 00170 IMPORT_C virtual void SetSizeAndPosition(const TSize& aSize); 00171 00177 IMPORT_C virtual void PostLayoutDynInitL(); 00178 00179 private: 00180 00186 void CreateExtensionL(); 00187 00192 TInt CountLinks() const; 00193 TBool SetNextLinkTextLocationL(const TDesC* aLinkText); // for the non-marked links 00194 00195 void ParseMessageTxtL(); 00196 TBool GetNextTagL(TMsgQueryTag& aTag); 00197 void SetMsgFormattingL(TMsgQueryTag aTag); 00198 TBool TaggedMessageL(); 00199 TInt LinksInArray(); 00200 TInt LastLinkInArray(); 00201 00202 private: 00206 IMPORT_C void* ExtensionInterface( TUid aInterface ); 00207 private: 00208 IMPORT_C virtual void CEikDialog_Reserved_1(); 00209 IMPORT_C virtual void CEikDialog_Reserved_2(); 00210 private: 00211 IMPORT_C virtual void CAknDialog_Reserved(); 00212 private: 00213 IMPORT_C virtual void CAknQueryDialog_Reserved(); 00214 private: 00215 TDesC* iMessage; 00216 TDesC* iHeader; 00217 CEikImage* iHeaderImage; 00218 // Moved to iMsgQueryExtension 00219 // TInt iAnimationId; 00220 CAknMessageQueryDialogExtension * iMsgQueryExtension; 00221 00222 00223 public: 00224 00235 IMPORT_C virtual void ProcessCommandL( TInt aCommandId ); 00236 00237 public: 00238 00246 IMPORT_C CAknMessageQueryDialog(TDesC* aMessage, TDesC* aHeader); 00247 00256 IMPORT_C CAknMessageQueryDialog(TDesC* aMessage, 00257 TDesC* aHeader, 00258 CEikImage *aHeaderImage); 00259 00268 IMPORT_C CAknMessageQueryDialog(TDesC* aMessage, 00269 TDesC* aHeader, 00270 const TTone aTone); 00271 00281 IMPORT_C CAknMessageQueryDialog(TDesC* aMessage, 00282 TDesC* aHeader, 00283 CEikImage *aHeaderImage, 00284 const TTone aTone); 00285 00292 IMPORT_C void SetMessageText(TDesC* aMessage); 00293 00300 IMPORT_C void SetMessageText(const TDesC& aMessage); 00301 00308 IMPORT_C void SetHeaderText(TDesC* aHeader); 00309 00316 IMPORT_C void SetHeaderText(const TDesC& aHeader); 00317 00323 IMPORT_C CAknMessageQueryDialog(); 00324 00325 }; 00326 00327 00328 // __AKNMESSAGEQUERYDIALOG_H__ 00329 #endif 00330 00331 // End of File