aknnotedialog.h

Go to the documentation of this file.
00001 /*
00002 * ============================================================================
00003 *  Name     : AknNoteDialog.h
00004 *  Part of  : Avkon
00005 *
00006 *  Description:
00007 *     Provides the CAknDialog-derived interface to Avkon Notes.
00008 *  Version:
00009 *
00010 *  Copyright © 2002 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 #ifndef __AKNNOTEDIALOG__
00023 #define __AKNNOTEDIALOG__
00024 
00025 #include <eikdialg.h>
00026 #include "avkon.hrh"
00027 class CEikImage;
00028 class CAknKeySoundSystem;
00029 class CAknNoteControl;
00030 class CAknNoteAttributes;
00031 class CAknNoteDialogExtension;
00032 
00033 
00042 class CAknNoteDialog : public CEikDialog
00043 {
00044 
00045 public:
00046 
00050     enum TTimeout {
00051 
00057     EUndefinedTimeout = 0,   
00059     ENoTimeout = 0,         
00061     EShortTimeout = 1500000,
00063     ELongTimeout = 3000000,
00065     EShortestTimeout = 500000   
00066     };
00067 
00074     enum TTone {
00075 
00077         ENoTone = 0,            
00078 
00080         EConfirmationTone = EAvkonSIDConfirmationTone, 
00081 
00083         EWarningTone = EAvkonSIDWarningTone,      
00084 
00086         EErrorTone = EAvkonSIDErrorTone         
00087     };
00088 
00089 public:
00090 
00098     IMPORT_C CAknNoteDialog();
00099 
00109     IMPORT_C CAknNoteDialog(const TTone& aTone, 
00110                             const TTimeout& aTimeout = ENoTimeout);
00111 
00126     IMPORT_C CAknNoteDialog(CEikDialog** aSelfPtr, 
00127                             const TTone& aTone = ENoTone, 
00128                             const TTimeout& aTimeout = ENoTimeout);
00129 
00136     IMPORT_C virtual ~CAknNoteDialog();
00137 
00144     IMPORT_C void SetTimeout(const TTimeout& aTimeout);
00145 
00152     IMPORT_C void SetTone(const TTone& aTone);
00153 
00170     IMPORT_C void SetTextWrapping(TBool aEnabled);
00171 
00188     IMPORT_C void SetTextProcessing(TBool aEnabled);
00189 
00199     IMPORT_C void SetImageL(CEikImage* aImage);
00200 
00212     IMPORT_C void SetIconL(CEikImage* aIcon);
00213 
00223     IMPORT_C void SetTextNumberL(TInt aNumber);
00224 
00235     IMPORT_C void SetTextPluralityL(const TBool isPlural);
00236 
00250     IMPORT_C void SetTextL(const TDesC& aLabel);
00251 
00269     IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
00270                                          TEventCode aType);
00271 
00280     IMPORT_C void HandleResourceChange(TInt aType);
00281 
00295     IMPORT_C void LayoutAndDraw();
00296 
00307     IMPORT_C virtual TInt RunLD();
00308 
00309 
00315     IMPORT_C void ExitSleepingDialog();
00316 
00317 protected:
00318 
00333     IMPORT_C void SetSizeAndPosition(const TSize& aSize);
00334 
00351     IMPORT_C void PreLayoutDynInitL(void);
00352 
00366     IMPORT_C void PostLayoutDynInitL();
00367 
00379     IMPORT_C void PlayTone();
00380 
00394     IMPORT_C void ReportUserActivity() const;
00395 
00409     IMPORT_C static TInt StaticDeleteL(TAny* aThis);
00410 
00424     IMPORT_C CAknNoteAttributes* ControlAttributes();
00425 
00433     IMPORT_C void TransferControlAttributes();
00434 
00446     IMPORT_C CAknKeySoundSystem* SoundSystem() const;
00447 
00460     IMPORT_C CAknNoteControl* NoteControl();
00461 
00462 private:
00463     
00464     void DbgCheckSelfPtr(CEikDialog** aSelfPtr);
00465 
00466 protected:
00467 
00471     CPeriodic*          iTimer;         
00472 
00476     TInt                iTimeoutInMicroseconds; 
00477 
00483     CEikDialog**        iSelfPtr; 
00484 
00488     TTone               iTone;  
00489 
00493     CAknNoteAttributes* iControlAttributes;  
00494 
00495 private:
00496 
00497     //TInt iSpare; 
00498     CAknNoteDialogExtension* iNoteExtension;
00499 
00500 public:
00501 
00516     IMPORT_C TInt ExecuteDlgLD(const TTimeout aTimeout,
00517                                const TTone aTone,
00518                                TInt aResourceID);
00519 
00533     IMPORT_C TInt ExecuteDlgLD(const TTone aTone,TInt aResourceID);
00534 
00548     IMPORT_C TInt ExecuteDlgLD(TInt aResourceId, TInt aNoteControlId=0);
00549 
00560     IMPORT_C TInt RunDlgLD(const TTimeout aTimeout,const TTone aTone);
00561 
00571     IMPORT_C TInt RunDlgLD(const TTone aTone);
00572     IMPORT_C TInt RunDlgLD();
00581 
00591     IMPORT_C TInt RunDlgLD(TInt aNoteControlId);
00592 
00602     IMPORT_C void SetCurrentLabelL(TInt aControlId,const TDesC& aLabel);
00603 
00604 private: 
00605 
00606     IMPORT_C virtual void CEikDialog_Reserved_1();
00607 
00608     IMPORT_C virtual void CEikDialog_Reserved_2();      
00609 
00610 private: // new virtual function.
00611 
00612     IMPORT_C virtual void CAknNoteDialog_Reserved();
00613 
00614 protected:
00615 
00616     // This method id reserved for CEikAlert usage
00622     IMPORT_C void SetNoMemoryAllocation();
00623 
00624 
00625 private: // from eikdialog
00626 
00627     IMPORT_C void SizeChanged();
00628 
00629     void SetSkinBackGroundRect(); 
00630 
00631 private:
00632 
00633     void CreateExtensionL();
00634 
00635     static TInt CallbackStartAnimationL(TAny* aThis);
00636 
00637 public:
00638 
00646     IMPORT_C virtual void HandlePointerEventL(
00647                                         const TPointerEvent& aPointerEvent);
00648 
00649 private:
00650 
00654     IMPORT_C void* ExtensionInterface( TUid aInterface );
00655     };
00656 
00657 
00658 // __AKNNOTEDIALOG__
00659 #endif
00660 
00661 // End of file

Copyright © Nokia Corporation 2001-2008
Back to top