williamr@2: /* williamr@2: * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@2: * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: * which accompanies this distribution, and is available williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: williamr@2: * Wrappers for standard note types williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: williamr@2: #ifndef __AknNoteWrappers_H__ williamr@2: #define __AknNoteWrappers_H__ williamr@2: williamr@2: williamr@2: #include williamr@2: #include williamr@2: williamr@2: williamr@2: class TResourceReader; williamr@2: williamr@2: williamr@2: class TAknNoteResData williamr@2: { williamr@2: public: williamr@2: void ReadFromResource(TResourceReader& aResReader); williamr@2: public: williamr@2: TInt iResId; williamr@2: CAknNoteDialog::TTimeout iTimeout; williamr@2: CAknNoteDialog::TTone iTone; williamr@2: TBuf<256> iText; williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Base class for implementing commonly used notes. williamr@2: */ williamr@2: class CAknNoteWrapper : public CAknNoteDialog williamr@2: { williamr@2: public: williamr@2: /** williamr@2: * Class default constructor. williamr@2: * williamr@2: * Does not do anything williamr@2: */ williamr@2: IMPORT_C CAknNoteWrapper(); williamr@2: /** williamr@2: * Another class constructor williamr@2: * williamr@2: * Accept self pointer to CEikDialog* in order to NULL williamr@2: * client pointer when a non modal note is dismissed. williamr@2: * williamr@2: * @param aSelfPtr Address of the dialog pointer williamr@2: */ williamr@2: IMPORT_C CAknNoteWrapper(CAknNoteWrapper** aSelfPtr); williamr@2: /** williamr@2: * Construct and display the dialog. williamr@2: * williamr@2: * Create a TAknNoteResData object by reading from resource file. williamr@2: * Set the timeout, set the tone (unless they have already been set) williamr@2: * and call RunLD. williamr@2: * williamr@2: * @see SetTimeout, SetTone williamr@2: * williamr@2: * @param aResId Resource file ID williamr@2: */ williamr@2: IMPORT_C TInt ExecuteLD(TInt aResId); williamr@2: /** williamr@2: * Construct and display the dialog williamr@2: * williamr@2: * Construct a TAknNoteResData object by reading from resource file. williamr@2: * Set the prompt calling SetTextL. Set the timeout, set the williamr@2: * tone (unless they have already been set) and call RunLD. williamr@2: * williamr@2: * @see SetTimeout, SetTone williamr@2: * williamr@2: * @param aResId Resource file ID williamr@2: * @param aPrompt Note text williamr@2: */ williamr@2: IMPORT_C TInt ExecuteLD(TInt aResId, const TDesC& aPrompt); williamr@2: williamr@2: /** williamr@2: * From CCoeControl williamr@2: * HandlePointerEventL Processes the pointer event directed at any note dialogs. williamr@2: * @param aPointerEvent the pointer event to be processed. williamr@2: */ williamr@2: IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); williamr@2: private: williamr@2: /** williamr@2: * From CAknControl williamr@2: */ williamr@2: IMPORT_C void* ExtensionInterface( TUid aInterface ); williamr@2: private: williamr@2: IMPORT_C virtual void CEikDialog_Reserved_1(); williamr@2: IMPORT_C virtual void CEikDialog_Reserved_2(); williamr@2: private: williamr@2: IMPORT_C virtual void CAknNoteDialog_Reserved(); williamr@2: private: williamr@2: TAknNoteResData ReadResDataAndPrepareL(TInt aResId); williamr@2: williamr@2: public: williamr@2: williamr@2: /** williamr@2: * HandleDialogPageEventL is the interface method used by CEikDialogPage to williamr@2: * signal the note that the some event happened on dialog page williamr@2: * williamr@2: * @param aEventID event to be handled williamr@2: */ williamr@2: IMPORT_C virtual void HandleDialogPageEventL( TInt aEventID ); williamr@2: private: williamr@2: IMPORT_C virtual void Reserved1(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Helper base class for implementing specialised note classes. williamr@2: * Using this class makes it unneccessary to overload ExecuteLD williamr@2: * in the specialised classes. williamr@2: */ williamr@2: class CAknResourceNoteDialog : public CAknNoteWrapper williamr@2: { williamr@2: public: williamr@2: /** williamr@2: * Construct and display the dialog. williamr@2: * williamr@2: * Using the resource ID stored in the constructor call the williamr@2: * corresponding ExecuteLD method in CAknNoteWrapper. williamr@2: * williamr@2: * @see CAknNoteWrapper::ExecuteLD williamr@2: * williamr@2: */ williamr@2: IMPORT_C TInt ExecuteLD(); williamr@2: /** williamr@2: * Construct, set the prompt and display the dialog. williamr@2: * williamr@2: * Using the resource ID stored in the constructor call the williamr@2: * corresponding ExecuteLD method in CAknNoteWrapper. williamr@2: * williamr@2: * @see CAknNoteWrapper::ExecuteLD williamr@2: * williamr@2: */ williamr@2: IMPORT_C TInt ExecuteLD(const TDesC& aPrompt); williamr@2: /** williamr@2: * From CCoeControl. williamr@2: * Handles pointer events williamr@2: */ williamr@2: IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); williamr@2: williamr@2: protected: williamr@2: /** williamr@2: * Constructor. williamr@2: * williamr@2: * Store resource ID. williamr@2: * williamr@2: * @param aResId The resource ID williamr@2: */ williamr@2: inline CAknResourceNoteDialog(TInt aResId) williamr@2: : iResId(aResId) williamr@2: { williamr@2: } williamr@2: williamr@2: /** williamr@2: * Another class constructor. williamr@2: * williamr@2: * Store resource ID. Accept self pointer to CEikDialog* in order williamr@2: * to NULL the dialog client pointer when a non modal note is williamr@2: * dismissed. williamr@2: * williamr@2: * @param aResId The resource ID williamr@2: * @param aSelfPtr Address to itself. The pointer must be valid when the williamr@2: * dialog is dismissed and must not be on the stack. williamr@2: */ williamr@2: inline CAknResourceNoteDialog(TInt aResId, CAknNoteWrapper** aSelfPtr) williamr@2: : CAknNoteWrapper(aSelfPtr), iResId(aResId) williamr@2: { williamr@2: } williamr@2: private: williamr@2: /** williamr@2: * From CAknControl williamr@2: */ williamr@2: IMPORT_C void* ExtensionInterface( TUid aInterface ); williamr@2: private: williamr@2: IMPORT_C virtual void CEikDialog_Reserved_1(); williamr@2: IMPORT_C virtual void CEikDialog_Reserved_2(); williamr@2: private: williamr@2: IMPORT_C virtual void CAknNoteDialog_Reserved(); williamr@2: private: // new virtual function williamr@2: IMPORT_C virtual void CAknResourceNoteDialog_Reserved(); williamr@2: private: williamr@2: TInt iResId; williamr@2: TInt iSpare; williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Wrapper for CAknNoteDialog implementing a Confirmation Note as williamr@2: * from S60 specifications. williamr@2: */ williamr@2: class CAknConfirmationNote : public CAknResourceNoteDialog williamr@2: { williamr@2: public: williamr@2: /** williamr@2: * Default constructor. williamr@2: * williamr@2: * Create a CAknResourceNoteDialog using williamr@2: * R_AKN_CONFIRMATION_NOTE williamr@2: */ williamr@2: IMPORT_C CAknConfirmationNote(); williamr@2: /** williamr@2: * Another class constructor. williamr@2: * williamr@2: * Create a CAknResourceNoteDialog using williamr@2: * R_AKN_CONFIRMATION_NOTE_WAIT or R_AKN_CONFIRMATION_NOTE williamr@2: * depending on the specified parameter williamr@2: * williamr@2: * @param aWaitingDialog If true use R_AKN_CONFIRMATION_NOTE_WAIT, williamr@2: * else use R_AKN_CONFIRMATION_NOTE williamr@2: */ williamr@2: IMPORT_C CAknConfirmationNote( TBool aWaitingDialog ); williamr@2: /** williamr@2: * Another class constructor. williamr@2: * williamr@2: * Create a CAknResourceNoteDialog using williamr@2: * R_AKN_CONFIRMATION_NOTE. Accept self pointer to CEikDialog* williamr@2: * in order to NULL client pointer when a non modal note is dismissed. williamr@2: * williamr@2: * @param aSelfPtr Address of the dialog pointer williamr@2: */ williamr@2: IMPORT_C CAknConfirmationNote(CAknConfirmationNote** aSelfPtr); williamr@2: /** williamr@2: * From CCoeControl. williamr@2: * Handles pointer events williamr@2: */ williamr@2: IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); williamr@2: private: williamr@2: /** williamr@2: * From CAknControl williamr@2: */ williamr@2: IMPORT_C void* ExtensionInterface( TUid aInterface ); williamr@2: private: williamr@2: IMPORT_C virtual void CEikDialog_Reserved_1(); williamr@2: IMPORT_C virtual void CEikDialog_Reserved_2(); williamr@2: private: williamr@2: IMPORT_C virtual void CAknNoteDialog_Reserved(); williamr@2: private: williamr@2: IMPORT_C virtual void CAknResourceNoteDialog_Reserved(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Wrapper for CAknNoteDialog implementing an Information Note as williamr@2: * from S60 specifications. williamr@2: */ williamr@2: class CAknInformationNote : public CAknResourceNoteDialog williamr@2: { williamr@2: public: williamr@2: /** williamr@2: * Default constructor. williamr@2: * williamr@2: * Create a CAknResourceNoteDialog using williamr@2: * R_AKN_INFORMATION_NOTE williamr@2: */ williamr@2: IMPORT_C CAknInformationNote(); williamr@2: /** williamr@2: * Another class constructor. williamr@2: * williamr@2: * Create a CAknResourceNoteDialog using williamr@2: * R_AKN_INFORMATION_NOTE_WAIT or R_AKN_INFORMATION_NOTE williamr@2: * depending on the specified parameter williamr@2: * williamr@2: * @param aWaitingDialog If true use R_AKN_INFORMATION_NOTE_WAIT, williamr@2: * else use R_AKN_INFORMATION_NOTE williamr@2: */ williamr@2: IMPORT_C CAknInformationNote( TBool aWaitingDialog ); williamr@2: /** williamr@2: * Another class constructor. williamr@2: * williamr@2: * Create a CAknResourceNoteDialog using williamr@2: * R_AKN_INFORMATION_NOTE. Accept self pointer to CEikDialog* williamr@2: * in order to NULL client pointer when a non modal note is dismissed. williamr@2: * williamr@2: * @param aSelfPtr Address of the dialog pointer williamr@2: */ williamr@2: IMPORT_C CAknInformationNote(CAknInformationNote** aSelfPtr); williamr@2: /** williamr@2: * From CCoeControl. williamr@2: * Handles pointer events williamr@2: */ williamr@2: IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); williamr@2: private: williamr@2: /** williamr@2: * From CAknControl williamr@2: */ williamr@2: IMPORT_C void* ExtensionInterface( TUid aInterface ); williamr@2: private: williamr@2: IMPORT_C virtual void CEikDialog_Reserved_1(); williamr@2: IMPORT_C virtual void CEikDialog_Reserved_2(); williamr@2: private: williamr@2: IMPORT_C virtual void CAknNoteDialog_Reserved(); williamr@2: private: williamr@2: IMPORT_C virtual void CAknResourceNoteDialog_Reserved(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Wrapper for CAknNoteDialog implementing an Error Note as williamr@2: * from S60 specifications. williamr@2: */ williamr@2: class CAknErrorNote : public CAknResourceNoteDialog williamr@2: { williamr@2: public: williamr@2: /** williamr@2: * Default constructor. williamr@2: * williamr@2: * Create a CAknResourceNoteDialog using williamr@2: * R_AKN_ERROR_NOTE williamr@2: */ williamr@2: IMPORT_C CAknErrorNote(); williamr@2: /** williamr@2: * Another class constructor. williamr@2: * williamr@2: * Create a CAknResourceNoteDialog using williamr@2: * R_AKN_ERROR_NOTE_WAIT or R_AKN_ERROR_NOTE williamr@2: * depending on the specified parameter williamr@2: * williamr@2: * @param aWaitingDialog If true use R_AKN_ERROR_NOTE_WAIT, williamr@2: * else use R_AKN_ERROR_NOTE williamr@2: */ williamr@2: IMPORT_C CAknErrorNote( TBool aWaitingDialog ); williamr@2: /** williamr@2: * Another class constructor. williamr@2: * williamr@2: * Create a CAknResourceNoteDialog using williamr@2: * R_AKN_ERROR_NOTE. Accept self pointer to CEikDialog* williamr@2: * in order to NULL client pointer when a non modal note is dismissed. williamr@2: * williamr@2: * @param aSelfPtr Address of the dialog pointer williamr@2: */ williamr@2: IMPORT_C CAknErrorNote(CAknErrorNote** aSelfPtr); williamr@2: /** williamr@2: * From CCoeControl. Handles pointer event williamr@2: * @param aPointerEvent Pointer event to be handled williamr@2: */ williamr@2: IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); williamr@2: private: williamr@2: /** williamr@2: * From CAknControl williamr@2: */ williamr@2: IMPORT_C void* ExtensionInterface( TUid aInterface ); williamr@2: private: williamr@2: IMPORT_C virtual void CEikDialog_Reserved_1(); williamr@2: IMPORT_C virtual void CEikDialog_Reserved_2(); williamr@2: private: williamr@2: IMPORT_C virtual void CAknNoteDialog_Reserved(); williamr@2: private: williamr@2: IMPORT_C virtual void CAknResourceNoteDialog_Reserved(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Wrapper for CAknNoteDialog implementing a Warning Note as williamr@2: * from S60 specifications. williamr@2: */ williamr@2: class CAknWarningNote : public CAknResourceNoteDialog williamr@2: { williamr@2: public: williamr@2: /** williamr@2: * Default constructor. williamr@2: * williamr@2: * Create a CAknResourceNoteDialog using williamr@2: * R_AKN_WARNING_NOTE williamr@2: */ williamr@2: IMPORT_C CAknWarningNote(); williamr@2: /** williamr@2: * Another class constructor. williamr@2: * williamr@2: * Create a CAknResourceNoteDialog using williamr@2: * R_AKN_WARNING_NOTE_WAIT or R_AKN_WARNING_NOTE williamr@2: * depending on the specified parameter williamr@2: * williamr@2: * @param aWaitingDialog If true use R_AKN_WARNING_NOTE_WAIT, williamr@2: * else use R_AKN_WARNING_NOTE williamr@2: */ williamr@2: IMPORT_C CAknWarningNote( TBool aWaitingDialog ); williamr@2: /** williamr@2: * Another class constructor. williamr@2: * williamr@2: * Create a CAknResourceNoteDialog using williamr@2: * R_AKN_WARNING_NOTE. Accept self pointer to CEikDialog* williamr@2: * in order to NULL client pointer when a non modal note is dismissed. williamr@2: * williamr@2: * @param aSelfPtr Address of the dialog pointer williamr@2: */ williamr@2: IMPORT_C CAknWarningNote(CAknWarningNote** aSelfPtr); williamr@2: /** williamr@2: * From CCoeControl. williamr@2: * Handles pointer events williamr@2: */ williamr@2: IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); williamr@2: private: williamr@2: /** williamr@2: * From CAknControl williamr@2: */ williamr@2: IMPORT_C void* ExtensionInterface( TUid aInterface ); williamr@2: private: williamr@2: IMPORT_C virtual void CEikDialog_Reserved_1(); williamr@2: IMPORT_C virtual void CEikDialog_Reserved_2(); williamr@2: private: williamr@2: IMPORT_C virtual void CAknNoteDialog_Reserved(); williamr@2: private: williamr@2: IMPORT_C virtual void CAknResourceNoteDialog_Reserved(); williamr@2: }; williamr@2: williamr@2: #endif williamr@2: