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@4: * under the terms of "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.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: * Provides the CAknDialog-derived interface to Avkon Notes. williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: #ifndef __AKNNOTEDIALOG__ williamr@2: #define __AKNNOTEDIALOG__ williamr@2: williamr@2: #include williamr@2: #include "avkon.hrh" williamr@2: class CEikImage; williamr@2: class CAknKeySoundSystem; williamr@2: class CAknNoteControl; williamr@2: class CAknNoteAttributes; williamr@2: class CAknNoteDialogExtension; williamr@2: williamr@2: williamr@2: /** williamr@2: * The note dialog. williamr@2: * williamr@2: * Displays a note to the user for: williamr@2: * williamr@2: * @see CAknNoteControl, CAknNoteAttributes, CAknText williamr@2: */ williamr@2: class CAknNoteDialog : public CEikDialog williamr@2: { williamr@2: williamr@2: public: williamr@2: williamr@2: /** williamr@2: * The timeout in microseconds for automatically deleting the dialog. williamr@2: */ williamr@2: enum TTimeout { williamr@2: williamr@2: /** williamr@2: * Deprecated (not used). williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: EUndefinedTimeout = 0, williamr@2: /// No timeout williamr@2: ENoTimeout = 0, williamr@2: /// 1.5 seconds williamr@2: EShortTimeout = 1500000, williamr@2: /// 3 seconds williamr@2: ELongTimeout = 3000000, williamr@2: /// 0.5 second williamr@2: EShortestTimeout = 500000 williamr@2: }; williamr@2: williamr@2: /** williamr@2: * The tone played before the dialog is shown. williamr@2: * williamr@2: * Application specific tones may be played by casting the application williamr@2: * defined Sound ID (SID), to @c TTone. williamr@2: */ williamr@2: enum TTone { williamr@2: williamr@2: /** No tone is played. */ williamr@2: ENoTone = 0, williamr@2: williamr@2: /** A confirmation tone is played. */ williamr@2: EConfirmationTone = EAvkonSIDConfirmationTone, williamr@2: williamr@2: /** A warning tone is played. */ williamr@2: EWarningTone = EAvkonSIDWarningTone, williamr@2: williamr@2: /** An error tone is played. */ williamr@2: EErrorTone = EAvkonSIDErrorTone williamr@2: }; williamr@2: williamr@2: public: williamr@2: williamr@2: /** williamr@2: * C++ default constructor. williamr@2: * williamr@2: * Initialises the tone to @c ENoTone and the timeout to @c ENoTimeout. williamr@2: * williamr@2: * @see @c TTone, @c TTimeout. williamr@2: */ williamr@2: IMPORT_C CAknNoteDialog(); williamr@2: williamr@2: /** williamr@2: * C++ default constructor. williamr@2: * williamr@2: * Initialises the tone to @c aTone and the timeout to @c aTimeout. williamr@2: * williamr@2: * @param aTone The tone to be played. williamr@2: * @param aTimeout The timeout (microseconds). Default is @c ENoTimeout. williamr@2: * @see @c TTone, @c TTimeout. williamr@2: */ williamr@2: IMPORT_C CAknNoteDialog(const TTone& aTone, williamr@2: const TTimeout& aTimeout = ENoTimeout); williamr@2: williamr@2: /** williamr@2: * C++ default constructor. williamr@2: * williamr@2: * Initialises the tone to @c aTone and the timeout to @c aTimeout. williamr@2: * Accepts a pointer to @c CEikDialog*. This must be the address of williamr@2: * the dialog pointer. When the dialog deletes itself after a timeout, williamr@2: * the address pointed to by this pointer is set to NULL. The dialog must williamr@2: * not be on the stack, it must be on the heap! williamr@2: * williamr@2: * @param aSelfPtr Pointer to the address of the dialog. williamr@2: * @param aTone = @c ENoTone The tone. williamr@2: * @param aTimeout = @c ENoTimeout The timeout (microseconds). williamr@2: * @see @c TTone, @c TTimeout. williamr@2: */ williamr@2: IMPORT_C CAknNoteDialog(CEikDialog** aSelfPtr, williamr@2: const TTone& aTone = ENoTone, williamr@2: const TTimeout& aTimeout = ENoTimeout); williamr@2: williamr@2: /** williamr@2: * Destructor. williamr@2: * williamr@2: * Deletes timer and control attributes. If the self pointer is not null, williamr@2: * sets the pointer to point to NULL. williamr@2: */ williamr@2: IMPORT_C virtual ~CAknNoteDialog(); williamr@2: williamr@2: /** williamr@2: * Sets the dialog timeout. williamr@2: * williamr@2: * @see @c TTimeout. williamr@2: * @param aTimeout The dialog timeout. williamr@2: */ williamr@2: IMPORT_C void SetTimeout(const TTimeout& aTimeout); williamr@2: williamr@2: /** williamr@2: * Sets the dialog tone . williamr@2: * williamr@2: * @see @c TTone. williamr@2: * @param aTone The dialog tone. williamr@2: */ williamr@2: IMPORT_C void SetTone(const TTone& aTone); williamr@2: williamr@2: /** williamr@2: * Enables or disables text wrapping. williamr@2: * williamr@2: * Enables or disables text wrapping depending on the values williamr@2: * of @c aEnabled (true enables text wrapping). When text wrapping is williamr@2: * disabled a new line in the note dialog starts only after a newline williamr@2: * character in the note text. If a line does not fit into the dialog williamr@2: * width it is clipped (the last character is replaced with an williamr@2: * ellipsis sign). williamr@2: * williamr@2: * This method must be called before @c SetTextL as it only influences williamr@2: * the wrapping of text that it is yet to be set via API. williamr@2: * williamr@2: * @param aEnabled @c ETrue for enabling text wrapping, @c EFalse for williamr@2: * disabling it. williamr@2: */ williamr@2: IMPORT_C void SetTextWrapping(TBool aEnabled); williamr@2: williamr@2: /** williamr@2: * Enables or disables all text processing done by the dialog. williamr@2: * This includes text wrapping, text truncation williamr@2: * and reordering of bidirectional text. williamr@2: * williamr@2: * By default, it is enabled. williamr@2: * williamr@2: * If text processing is disabled, lines are broken only at explicit williamr@2: * line end characters and they are not truncated, but drawn as long williamr@2: * as they fit. Also, the dialog does not handle reordering of williamr@2: * the bidirectional text. williamr@2: * williamr@2: * This method must be called before the text is set. williamr@2: * williamr@2: * @param aEnabled Enables or disables all text processing. williamr@2: */ williamr@2: IMPORT_C void SetTextProcessing(TBool aEnabled); williamr@2: williamr@2: /** williamr@2: * Set the dialog image. williamr@2: * williamr@2: * Change the image in the note control. Override the image which was williamr@2: * set in the resource file. The dialog takes ownership of the pointer. williamr@2: * The note image is the big image or icon which is top right. williamr@2: * williamr@2: * @param aImage Pointer to the new image. williamr@2: */ williamr@2: IMPORT_C void SetImageL(CEikImage* aImage); williamr@2: williamr@2: /** williamr@2: * Sets the dialog icon. williamr@2: * williamr@2: * Changes the number type icon in the note control. williamr@2: * williamr@2: * Overrides the icon which was set in the resource file. The dialog takes williamr@2: * ownership of the pointer The numbertype icon is the small icon which williamr@2: * is bottom left in the note (thumbnail icon). williamr@2: * williamr@2: * @param aIcon Pointer to the icon. williamr@2: */ williamr@2: IMPORT_C void SetIconL(CEikImage* aIcon); williamr@2: williamr@2: /** williamr@2: * Sets the number in the dialog text. williamr@2: * williamr@2: * Sets a number in the note text. If the text specified in the resource williamr@2: * file or via @c SetTextL() has a \%d in it, e.g. "You have \%d new williamr@2: * messages", this number is inserted at the location specified by \%d. williamr@2: * williamr@2: * @param aNumber The number to be inserted in the text. williamr@2: */ williamr@2: IMPORT_C void SetTextNumberL(TInt aNumber); williamr@2: williamr@2: /** williamr@2: * Sets the text plurality for the dialog. williamr@2: * williamr@2: * Indicates whether to use plural or singular text. These texts must williamr@2: * have been specified in the resource file. williamr@2: * williamr@2: * @see @c SetTextNumberL(). williamr@2: * @param isPlural @c ETrue if plural text should be used, williamr@2: * @c EFalse otherwise. williamr@2: */ williamr@2: IMPORT_C void SetTextPluralityL(const TBool isPlural); williamr@2: williamr@2: /** williamr@2: * Sets the dialog text. williamr@2: * williamr@2: * This method can set a formatted text, williamr@2: * e.g. "You have 1 new message". It can however set an williamr@2: * unformatted text as well, e.g. "You have \%d messages". The plurality of williamr@2: * the dialog must be previously specified - if not singular williamr@2: * plurality is used unless there was no singular text specified in the williamr@2: * resource file. williamr@2: * williamr@2: * @see @c SetTextNumberL(), @c SetTextPluralityL(). williamr@2: * @param aLabel The note text. williamr@2: */ williamr@2: IMPORT_C void SetTextL(const TDesC& aLabel); williamr@2: williamr@2: /** williamr@2: * From @c CCoeControl. williamr@2: * williamr@2: * Handles key events. williamr@2: * williamr@2: * Any event which is not a key press is forwarded to williamr@2: * @c CEikDialog::OfferKeyEventL. williamr@2: ' williamr@2: * Short key press dismiss the note by calling @c StaticDeleteL. williamr@2: * williamr@2: * @see @c StaticDeleteL(), @c TKeyEvent, @c TEventCode. williamr@2: * @param aKeyEvent Key event details. williamr@2: * @param aType Type of event (key down, key press, key release, etc). williamr@2: * @return Indicates whether or not the key event was used williamr@2: * by this control. @c EKeyWasConsumed if the control takes action williamr@2: * on the key event or @c EKeyWasNotConsumed otherwise. williamr@2: */ williamr@2: IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, williamr@2: TEventCode aType); williamr@2: williamr@2: /** williamr@2: * From @c CCoeControl. williamr@2: * williamr@2: * Handles a change to the control's resources of type @c aType williamr@2: * which are shared across the environment, e.g. colors or fonts. williamr@2: * williamr@2: * @param aType Target resource type. williamr@2: */ williamr@2: IMPORT_C void HandleResourceChange(TInt aType); williamr@2: williamr@2: /** williamr@2: * Do layout and draw the note dialog. williamr@2: * williamr@2: * Needed when changing control components (e.g. the text) dynamically. williamr@2: * This is needed because the size of the dialog might change williamr@2: * (e.g. because of bigger text displayed in more lines, etc.) williamr@2: * Set methods call @c LayoutAndDraw() if there is a change that williamr@2: * might affect the dialog layout (e.g. text becames bigger and hence williamr@2: * requires an extra line). williamr@2: * williamr@2: * Derived classes that implement this kind of methods should call williamr@2: * @c LayoutAndDraw(). williamr@2: */ williamr@2: IMPORT_C void LayoutAndDraw(); williamr@2: williamr@2: /** williamr@2: * From @ CEikDialog. williamr@2: * williamr@2: * Executes a dialog. williamr@2: * williamr@2: * Plays a tone (if one was defined) and simulates user activity. williamr@2: * Forwards call to @c CEikDialog::RunLD(). williamr@2: * williamr@2: * @return The ID of the button used to dismiss the dialog. williamr@2: */ williamr@2: IMPORT_C virtual TInt RunLD(); williamr@2: williamr@2: williamr@2: /** williamr@2: * From @c CEikDialog. williamr@2: * williamr@2: * Exits a sleeping dialog without deleting it. williamr@2: */ williamr@2: IMPORT_C void ExitSleepingDialog(); williamr@2: williamr@2: protected: williamr@2: williamr@2: /** williamr@2: * From @c CEikDialog. williamr@2: * williamr@2: * Sets the size and the position for the layout. williamr@2: * williamr@2: * The dialog height and width are retrieved from the control williamr@2: * (if it exists already).If it does not exist, then default values williamr@2: * are used. The client rect is obtained from the application UI. williamr@2: * @c AknLayoutUtils::LayoutControl is then executed using the client williamr@2: * rect and the note width and height. williamr@2: * williamr@2: * @see @c AknLayoutUtils::LayoutControl(). williamr@2: * @param aSize Not used. williamr@2: */ williamr@2: IMPORT_C void SetSizeAndPosition(const TSize& aSize); williamr@2: williamr@2: /** williamr@2: * From @c CEikDialog. williamr@2: * williamr@2: * Performs dynamic operations before the layout. williamr@2: * williamr@2: * Called by the Uikon framework before the dialog layout is executed, this williamr@2: * method can be overrwritten to perform specific operations. williamr@2: * williamr@2: * The following operations are performed:- williamr@2: * williamr@2: * @see @c CAknNoteAttributes, @c TTimer, @c SetEditableL(). williamr@2: */ williamr@2: IMPORT_C void PreLayoutDynInitL(void); williamr@2: williamr@2: /** williamr@2: * From @c CEikDialog. williamr@2: * williamr@2: * Performs dynamic operations after the layout. williamr@2: * williamr@2: * Called by the Uikon framework after the dialog layout is executed, this williamr@2: * method can be overrwritten to perform specific operations. williamr@2: * williamr@2: * The following operations are performed:- williamr@2: * williamr@2: * @see @c CAknNoteControl::StartAnimationL(). williamr@2: */ williamr@2: IMPORT_C void PostLayoutDynInitL(); williamr@2: williamr@2: /** williamr@2: * Plays a tone. williamr@2: * williamr@2: * The tone must be previously specified. The sound ID is set williamr@2: * depending on the tone type. The tone is played using williamr@2: * @c CAknKeySoundSystem::playSound(). Derived classes must call this williamr@2: * method if they override @c RunLD() and they wish to play a tone. williamr@2: * williamr@2: * @panic EAknPanicNullPointer williamr@2: * @see @c TTone, @c CAknKeySoundSystem, @c CAknNoteDialog::RunLD(). williamr@2: */ williamr@2: IMPORT_C void PlayTone(); williamr@2: williamr@2: /** williamr@2: * Indicates that there is user activity. williamr@2: * williamr@2: * Resets timers which are monitoring user inactivity. This will disable williamr@2: * functionality that checks for user inactivity by listening to williamr@2: * these timers. williamr@2: * williamr@2: * Derived classes must call this method if they override @c RunLD() williamr@2: * and they wish to report user activity in order to dismiss applications williamr@2: * such as the screen saver. williamr@2: * williamr@2: * @see @c User::ResetInactivityTime(). williamr@2: */ williamr@2: IMPORT_C void ReportUserActivity() const; williamr@2: williamr@2: /** williamr@2: * Deletes the note dialog. williamr@2: * williamr@2: * Called when the timer completes, this method deletes the dialog. A williamr@2: * @c reinterpret_cast to @c CAknNoteDialog* is performed on aThis. If the williamr@2: * dialog is not a sleeping note then it is deleted. If it is a sleeping williamr@2: * dialog then the timer is stopped, @c OkToExitL() is called with williamr@2: * @c KErrCancel and @c ExitSleepingDialog is executed. williamr@2: * williamr@2: * @see @c TTimer, @c OkToExitL(), @c ExitSleepingDialog(). williamr@2: * @param aThis Pointer to the dialog. williamr@2: * @return Always returns @c EFalse. williamr@2: */ williamr@2: IMPORT_C static TInt StaticDeleteL(TAny* aThis); williamr@2: williamr@2: /** williamr@2: * Gets the control attributes. williamr@2: * williamr@2: * If the control has already been created this method return the williamr@2: * attributes stored inside the control. If not then the local williamr@2: * attributes are returned. The local attributes are transferred to the williamr@2: * control in @c PreLayoutDynInitL(). williamr@2: * williamr@2: * Derived classes should use this method when trying to access the control williamr@2: * attributes. williamr@2: * williamr@2: * @return Control attributes. williamr@2: */ williamr@2: IMPORT_C CAknNoteAttributes* ControlAttributes(); williamr@2: williamr@2: /** williamr@2: * Transfers the control attributes from the dialog to the control. williamr@2: * williamr@2: * Must be called by derived classes in @c PreLayoutDynInitL() williamr@2: * if this method is not called then the set of API methods that were williamr@2: * invoked before the control is created will not work. williamr@2: */ williamr@2: IMPORT_C void TransferControlAttributes(); williamr@2: williamr@2: /** williamr@2: * Gets the used sound system. williamr@2: * williamr@2: * Calls @c iEikonEnv->AppUi()->KeySounds() and returns the pointer williamr@2: * returned by the called method. If there is no application UI williamr@2: * return @c NULL. williamr@2: * williamr@2: * @see @c CAknKeySoundSystem, @c CAknAppUi. williamr@2: * @return Pointer to the used @c CAknKeySoundSystem or @c NULL. williamr@2: * @panic EAknPanicNullPointer williamr@2: */ williamr@2: IMPORT_C CAknKeySoundSystem* SoundSystem() const; williamr@2: williamr@2: /** williamr@2: * Gets the Note control. williamr@2: * williamr@2: * Returns the first control on the active page, which is of type williamr@2: * @c CAknNoteControl. If no control is found (usually because the williamr@2: * control has not been created yet) then this method returns @c NULL. williamr@2: * williamr@2: * Derived classes must use this method to get access to the note williamr@2: * control. williamr@2: * williamr@2: * @return Pointer to the note control or @c NULL. williamr@2: */ williamr@2: IMPORT_C CAknNoteControl* NoteControl(); williamr@2: williamr@2: private: williamr@2: williamr@2: void DbgCheckSelfPtr(CEikDialog** aSelfPtr); williamr@2: williamr@2: protected: williamr@2: williamr@2: /** williamr@2: * Note timeout timer. williamr@2: */ williamr@2: CPeriodic* iTimer; williamr@2: williamr@2: /** williamr@2: * Note timeout in microseconds. williamr@2: */ williamr@2: TInt iTimeoutInMicroseconds; williamr@2: williamr@2: /** williamr@2: * Used for notes that are not modal. williamr@2: * The calling application has no way of knowing williamr@2: * when the note is deleted. williamr@2: */ williamr@2: CEikDialog** iSelfPtr; williamr@2: williamr@2: /** williamr@2: * The tone to be played. williamr@2: */ williamr@2: TTone iTone; williamr@2: williamr@2: /** williamr@2: * Note control attributes. williamr@2: */ williamr@2: CAknNoteAttributes* iControlAttributes; williamr@2: williamr@2: private: williamr@2: williamr@2: //TInt iSpare; williamr@2: CAknNoteDialogExtension* iNoteExtension; williamr@2: williamr@2: public: williamr@2: williamr@2: /** williamr@2: * Set timeout, tone, resource ID and then initialize and launch williamr@2: * the dialog. williamr@2: * williamr@2: * This method is deprecated and should not be used. williamr@2: * williamr@2: * @deprecated williamr@2: * @param aTimeout Wanted timeout in microseconds. williamr@2: * @param aTone Alarm tone. williamr@2: * @param aResourceID The ID of the wanted resource. williamr@2: * @return Zero, unless it is a waiting dialog. For a waiting dialog, williamr@2: * the return value is the ID of the button that closed the dialog, williamr@2: * or zero if it was the cancel button (@c EEikBidCancel). williamr@2: */ williamr@2: IMPORT_C TInt ExecuteDlgLD(const TTimeout aTimeout, williamr@2: const TTone aTone, williamr@2: TInt aResourceID); williamr@2: williamr@2: /** williamr@2: * Set tone, resource ID and then initialize and launch williamr@2: * the dialog. williamr@2: * williamr@2: * This method is deprecated and should not be used. williamr@2: * williamr@2: * @deprecated williamr@2: * @param aTone Alarm tone. williamr@2: * @param aResourceID The ID of the wanted resource. williamr@2: * @return Zero, unless it is a waiting dialog. For a waiting dialog, williamr@2: * the return value is the ID of the button that closed the dialog, williamr@2: * or zero if it was the cancel button (@c EEikBidCancel). williamr@2: */ williamr@2: IMPORT_C TInt ExecuteDlgLD(const TTone aTone,TInt aResourceID); williamr@2: williamr@2: /** williamr@2: * Set note control ID, resource ID and then initialize and launch williamr@2: * the dialog. williamr@2: * williamr@2: * This method is deprecated and should not be used. williamr@2: * williamr@2: * @deprecated williamr@2: * @param aResourceId The ID of the wanted resource. williamr@2: * @param aNoteControlId Not used. williamr@2: * @return Zero, unless it is a waiting dialog. For a waiting dialog, williamr@2: * the return value is the ID of the button that closed the dialog, williamr@2: * or zero if it was the cancel button (@c EEikBidCancel). williamr@2: */ williamr@2: IMPORT_C TInt ExecuteDlgLD(TInt aResourceId, TInt aNoteControlId=0); williamr@2: williamr@2: /** williamr@2: * Set timeout and tone and run the dialog. williamr@2: * williamr@2: * This method is deprecated and should not be used. williamr@2: * williamr@2: * @deprecated williamr@2: * @param aTimeout Wanted timeout in microseconds. williamr@2: * @param aTone Wanted alarm tone. williamr@2: * @return The ID of the button used to dismiss the dialog. williamr@2: */ williamr@2: IMPORT_C TInt RunDlgLD(const TTimeout aTimeout,const TTone aTone); williamr@2: williamr@2: /** williamr@2: * Set tone and run the dialog. williamr@2: * williamr@2: * This method is deprecated and should not be used. williamr@2: * williamr@2: * @deprecated williamr@2: * @param aTone Wanted alarm tone. williamr@2: * @return The ID of the button used to dismiss the dialog. williamr@2: */ williamr@2: IMPORT_C TInt RunDlgLD(const TTone aTone); williamr@2: williamr@2: /** williamr@2: * Run the dialog. williamr@2: * williamr@2: * This method is deprecated and should not be used. williamr@2: * williamr@2: * @deprecated williamr@2: * @return The ID of the button used to dismiss the dialog. williamr@2: */ IMPORT_C TInt RunDlgLD(); williamr@2: williamr@2: /** williamr@2: * Set NoteControlID and run the dialog. williamr@2: * williamr@2: * This method is deprecated and should not be used. williamr@2: * williamr@2: * @deprecated williamr@2: * @param aNoteControlId Not used. williamr@2: * @return The ID of the button used to dismiss the dialog. williamr@2: */ williamr@2: IMPORT_C TInt RunDlgLD(TInt aNoteControlId); williamr@2: williamr@2: /** williamr@2: * Sets a new label for the specified dialog. williamr@2: * williamr@2: * This method is deprecated. @c SetTextL() method should be used williamr@2: * instead. williamr@2: * williamr@2: * @param aControlId Not used. williamr@2: * @param aLabel The new label. williamr@2: */ williamr@2: IMPORT_C void SetCurrentLabelL(TInt aControlId,const TDesC& aLabel); williamr@2: williamr@2: private: williamr@2: williamr@2: IMPORT_C virtual void CEikDialog_Reserved_1(); williamr@2: williamr@2: IMPORT_C virtual void CEikDialog_Reserved_2(); williamr@2: williamr@2: private: // new virtual function. williamr@2: williamr@2: IMPORT_C virtual void CAknNoteDialog_Reserved(); williamr@2: williamr@2: protected: williamr@2: williamr@2: // This method id reserved for CEikAlert usage williamr@2: /** williamr@2: * Sets an indication that memory should not be allocated. williamr@2: * williamr@2: * This method is reserved for CEikAlert usage. williamr@2: */ williamr@2: IMPORT_C void SetNoMemoryAllocation(); williamr@2: williamr@2: williamr@2: private: // from eikdialog williamr@2: williamr@2: IMPORT_C void SizeChanged(); williamr@2: williamr@2: void SetSkinBackGroundRect(); williamr@2: williamr@2: private: williamr@2: williamr@2: void CreateExtensionL(); williamr@2: williamr@2: static TInt CallbackStartAnimationL(TAny* aThis); williamr@2: williamr@2: public: williamr@2: williamr@2: /** williamr@2: * From @c CCoeControl. williamr@2: * williamr@2: * Processes the pointer event directed to the dialog. williamr@2: * williamr@2: * @param aPointerEvent The pointer event directed to the notedialog. williamr@2: */ williamr@2: IMPORT_C virtual void HandlePointerEventL( williamr@2: const TPointerEvent& aPointerEvent); williamr@2: williamr@2: private: williamr@2: williamr@2: /** williamr@2: * From @c CAknControl. williamr@2: */ williamr@2: IMPORT_C void* ExtensionInterface( TUid aInterface ); williamr@2: }; williamr@2: williamr@2: williamr@2: #endif // __AKNNOTEDIALOG__ williamr@2: williamr@2: // End of file