chxavmessagedialog.h
上传用户:dangjiwu
上传日期:2013-07-19
资源大小:42019k
文件大小:3k
源码类别:

Symbian

开发平台:

Visual C++

  1. /*****************************************************************************
  2.  * chxavmessagedialog.h
  3.  * --------------------
  4.  *
  5.  * Synopsis:
  6.  * Contains the declaration of the CHXAvMessageDialog.  It's used to encapsulate
  7.  * nicely the diffent dialogs and warning boxes, requiring input or yes/no/cancel.
  8.  *
  9.  * Target:
  10.  * Symbian OS
  11.  *
  12.  *
  13.  * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
  14.  *
  15.  *****************************************************************************/
  16. #ifndef _chxavmessagedialog_h_
  17. #define _chxavmessagedialog_h_
  18. // Symbian includes...
  19. #include <aknglobalnote.h>
  20. #include <aknnotedialog.h>
  21. #include <aknquerydialog.h>
  22. #include <aknprogressdialog.h>
  23. class MProgressDialogCallback;
  24. class CAknWaitDialog;
  25. class CAknResourceNoteDialog;
  26. namespace CHXAvMessageDialog
  27. {
  28.     // query type (affects softkey text only)
  29.     enum QueryPromptType
  30.     {
  31.         QueryYesNo,
  32.         QueryOkCancel,
  33.         QueryOkBack
  34.     };
  35.     // info type (affects softkey text only)
  36.     enum InfoPromptType
  37.     {
  38.         PromptOk,
  39.         PromptCancel,
  40.         PromptBack,
  41.         PromptClose
  42.     };
  43.     // show info, prompt to continue
  44.     void DoLongTextInfoPromptL(const TDesC& caption, const TDesC& text, InfoPromptType type = PromptOk);
  45.     // show query; wait for affirm or reject
  46.     bool DoQueryL(TInt textResID, QueryPromptType type = QueryYesNo, CAknQueryDialog::TTone tone = CAknQueryDialog::ENoTone);
  47.     bool DoQueryL(const TDesC& promptText, QueryPromptType type = QueryYesNo, CAknQueryDialog::TTone tone = CAknQueryDialog::ENoTone);
  48.     HBufC* DoQueryTextL(const TDesC& prompt, const TDesC& defaultText, TUint cchMax);
  49.     
  50.     // show alert with empty softkey, auto-hide or permanent
  51.     void DoAlertInfoL(const TDesC& text, bool bModal = true,
  52. CAknNoteDialog::TTimeout timeout = CAknNoteDialog::EShortTimeout,
  53. CAknNoteDialog::TTone tone = CAknNoteDialog::ENoTone);
  54.     void DoAlertConfirmL(const TDesC& text, 
  55.                      bool bModal  = true,
  56.                      CAknNoteDialog::TTimeout timeout = CAknNoteDialog::EShortTimeout,
  57.      CAknNoteDialog::TTone tone = CAknNoteDialog::ENoTone);
  58.     void DoAlertWarnL(const TDesC& text, 
  59.                      bool bModal  = true,
  60.                      CAknNoteDialog::TTimeout timeout = CAknNoteDialog::EShortTimeout,
  61.      CAknNoteDialog::TTone tone = CAknNoteDialog::ENoTone);
  62.     void DoAlertErrorL(const TDesC& text, 
  63.                      bool bModal  = true,
  64.                      CAknNoteDialog::TTimeout timeout = CAknNoteDialog::ENoTimeout,
  65.      CAknNoteDialog::TTone tone = CAknNoteDialog::ENoTone);
  66.     void DoSystemErrorNoteL(TInt err);
  67.     // ask for unique filename
  68.     TFileName* GetFileNameFromUserL(const TDesC& prompt, const TDesC& oldName = KNullDesC, TUint32 cchMaxName = KMaxFileName);
  69.     TInt DoGlobalNoteL(TAknGlobalNoteType type, TInt textResID);
  70.     TInt DoGlobalNoteL(TAknGlobalNoteType type, const TDesC& text);
  71.     void CancelGlobalNoteL(TInt idNote);
  72.     
  73. }
  74. // this enables us to reset the softkeys for the note
  75. template< typename BaseClass>
  76. class CHXAvNoteWrapper
  77.     : public BaseClass
  78. {
  79. public:
  80.     CHXAvNoteWrapper(bool bIsModal, bool bAddCloseButton) 
  81.         : BaseClass(bIsModal), m_bAddCloseButton(bAddCloseButton) {}
  82.     void PostLayoutDynInitL();
  83. private:
  84.     bool m_bAddCloseButton;
  85. };
  86. #endif // _chxavmessagedialog_h_