00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
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:
00121
00140 IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
00141 TEventCode);
00142
00150 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00151
00152 protected:
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);
00208
00209 void ParseMessageTxtL();
00210 TBool GetNextTagL(TMsgQueryTag& aTag);
00211 void SetMsgFormattingL(TMsgQueryTag aTag);
00212 TBool TaggedMessageL();
00213 TInt LinksInArray();
00214 TInt LastLinkInArray();
00215
00216 private:
00220 IMPORT_C void* ExtensionInterface( TUid aInterface );
00221 private:
00222 IMPORT_C virtual void CEikDialog_Reserved_1();
00223 IMPORT_C virtual void CEikDialog_Reserved_2();
00224 private:
00225 IMPORT_C virtual void CAknDialog_Reserved();
00226 private:
00227 IMPORT_C virtual void CAknQueryDialog_Reserved();
00228 private:
00229 TDesC* iMessage;
00230 TDesC* iHeader;
00231 CEikImage* iHeaderImage;
00232
00233
00234 CAknMessageQueryDialogExtension * iMsgQueryExtension;
00235
00236
00237 public:
00238
00249 IMPORT_C virtual void ProcessCommandL( TInt aCommandId );
00250
00258 void CheckLinkTappedL( TAny* aParams );
00259
00260
00261 public:
00262
00270 IMPORT_C CAknMessageQueryDialog(TDesC* aMessage, TDesC* aHeader);
00271
00280 IMPORT_C CAknMessageQueryDialog(TDesC* aMessage,
00281 TDesC* aHeader,
00282 CEikImage *aHeaderImage);
00283
00292 IMPORT_C CAknMessageQueryDialog(TDesC* aMessage,
00293 TDesC* aHeader,
00294 const TTone aTone);
00295
00305 IMPORT_C CAknMessageQueryDialog(TDesC* aMessage,
00306 TDesC* aHeader,
00307 CEikImage *aHeaderImage,
00308 const TTone aTone);
00309
00316 IMPORT_C void SetMessageText(TDesC* aMessage);
00317
00324 IMPORT_C void SetMessageText(const TDesC& aMessage);
00325
00332 IMPORT_C void SetHeaderText(TDesC* aHeader);
00333
00340 IMPORT_C void SetHeaderText(const TDesC& aHeader);
00341
00347 IMPORT_C CAknMessageQueryDialog();
00348
00349 };
00350
00351
00352
00353 #endif
00354
00355