williamr@4: /* williamr@4: * Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). williamr@4: * All rights reserved. williamr@4: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@4: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: * williamr@4: * Initial Contributors: williamr@4: * Nokia Corporation - initial contribution. williamr@4: * williamr@4: * Contributors: williamr@4: * williamr@4: * Description: williamr@4: * williamr@4: */ williamr@4: williamr@4: #ifndef __AKNGLOBALNOTENOTIFY_H__ williamr@4: #define __AKNGLOBALNOTENOTIFY_H__ williamr@4: williamr@4: // INCLUDES williamr@4: #include williamr@4: #include williamr@4: williamr@4: // CLASS DECLARATION williamr@4: williamr@4: /** williamr@4: * This class handles the global notes. williamr@4: * williamr@4: * @since S60 0.9 williamr@4: */ williamr@4: NONSHARABLE_CLASS(CAknGlobalNote) : public CAknNotifyBase williamr@4: { williamr@4: public: williamr@4: /** williamr@4: * Two-phased constructor. williamr@4: * @return Pointer to new global note object. williamr@4: */ williamr@4: IMPORT_C static CAknGlobalNote* NewL(); williamr@4: williamr@4: /** williamr@4: * Two-phased constructor. williamr@4: * @return Pointer to new global note object. williamr@4: */ williamr@4: IMPORT_C static CAknGlobalNote* NewLC(); williamr@4: williamr@4: /** williamr@4: * Destructor. williamr@4: */ williamr@4: IMPORT_C ~CAknGlobalNote(); williamr@4: williamr@4: /** williamr@4: * Enable or disable all text processing done by the dialog. williamr@4: * This includes text wrapping, text truncation williamr@4: * and reordering of bidirectional text. williamr@4: * williamr@4: * By default, it is enabled. williamr@4: * williamr@4: * If text processing is disabled, lines are broken only at explicit line williamr@4: * end characters and they are not truncated, but drawn as long as they williamr@4: * fit. Also, the dialog does not handle reordering of bidirectional text. williamr@4: * williamr@4: * @since S60 2.0 williamr@4: * @param aEnabled Enable or disable all text processing. williamr@4: */ williamr@4: IMPORT_C void SetTextProcessing(TBool aEnabled); williamr@4: williamr@4: /** williamr@4: * Displays the global note. williamr@4: * @param aType Note type. williamr@4: * @param aNoteText Note text. williamr@4: * @return Note ID. williamr@4: */ williamr@4: IMPORT_C TInt ShowNoteL(TAknGlobalNoteType aType, const TDesC& aNoteText); williamr@4: williamr@4: /** williamr@4: * Displays the global note. williamr@4: * @param aStatus Reference to request status. williamr@4: * @param aType Note type. williamr@4: * @param aNoteText Note text. williamr@4: * @return Note ID. williamr@4: */ williamr@4: IMPORT_C TInt ShowNoteL( williamr@4: TRequestStatus& aStatus, williamr@4: TAknGlobalNoteType aType, williamr@4: const TDesC& aNoteText); williamr@4: williamr@4: /** williamr@4: * Cancels the global note. williamr@4: * @param aNoteId Note ID. williamr@4: */ williamr@4: IMPORT_C void CancelNoteL(TInt aNoteId); williamr@4: williamr@4: /** williamr@4: * Sets the priority. williamr@4: * @param aPriority An integer specifying the new priority. williamr@4: */ williamr@4: IMPORT_C void SetPriority(TInt aPriority); williamr@4: williamr@4: /** williamr@4: * Sets the softkey ID. (Not used) williamr@4: * @param aId softkey ID williamr@4: */ williamr@4: IMPORT_C void SetSoftkeys(TInt aId); williamr@4: williamr@4: /** williamr@4: * Sets the graphic ID and the graphic mask ID. williamr@4: * @param aId Graphic ID williamr@4: * @param aMaskId Graphic mask ID. williamr@4: */ williamr@4: IMPORT_C void SetGraphic(TInt aId, TInt aMaskId=-1); williamr@4: williamr@4: /** williamr@4: * Sets the animation. williamr@4: * @param aResourceId Resource ID of the animation. williamr@4: */ williamr@4: IMPORT_C void SetAnimation(TInt aResourceId); williamr@4: williamr@4: /** williamr@4: * Sets the tone. williamr@4: * @param aTone New tone. williamr@4: */ williamr@4: IMPORT_C void SetTone(TInt aTone); // must be specified in avkon.hrh williamr@4: williamr@4: /** williamr@4: * Internal, please do not use. williamr@4: * @internal williamr@4: */ williamr@4: IMPORT_C static void DoGlobaNoteBufferL( williamr@4: TInt16 aType, williamr@4: TInt16 aPriority, williamr@4: TInt aSoftkeys, williamr@4: TInt16 aGraphic, williamr@4: TInt16 aGraphicMask, williamr@4: TInt aAnimation, williamr@4: TInt16 aTone, williamr@4: TBool aAdapterUsed, williamr@4: TBool aTextProcessingEnabled, williamr@4: const TDesC& aNoteText, williamr@4: CBufFlat* aBuffer williamr@4: ); williamr@4: williamr@4: /** williamr@4: * @internal williamr@4: */ williamr@4: static void DoGlobalNoteBufferL( williamr@4: TInt16 aType, williamr@4: TInt16 aPriority, williamr@4: TInt aSoftkeys, williamr@4: TInt16 aGraphic, williamr@4: TInt16 aGraphicMask, williamr@4: TInt aAnimation, williamr@4: TInt16 aTone, williamr@4: TBool aAdapterUsed, williamr@4: TBool aTextProcessingEnabled, williamr@4: const TDesC& aNoteText, williamr@4: CBufFlat* aBuffer, williamr@4: TInt32 aPreallocatedGlobalNoteId williamr@4: ); williamr@4: williamr@4: private: williamr@4: CAknGlobalNote(); williamr@4: void ConstructL(); williamr@4: williamr@4: void PrepareBufferL( williamr@4: TAknGlobalNoteType aType, williamr@4: const TDesC& aNoteText, williamr@4: TInt aPreallocatedGlobalNoteId = 0); williamr@4: williamr@4: private: williamr@4: IMPORT_C void CAknNotifyBase_Reserved(); williamr@4: williamr@4: private: williamr@4: TInt iPriority; williamr@4: TInt iSoftkeys; williamr@4: TInt iGraphic; williamr@4: TInt iGraphicMask; williamr@4: TInt iAnimation; williamr@4: TInt iTone; williamr@4: TBool iTextProcessing; williamr@4: williamr@4: CBufFlat *iBuffer; williamr@4: TPtrC8 iBufferPtr; williamr@4: williamr@4: CBufFlat *iCancelBuffer; williamr@4: TPtrC8 iCancelBufferPtr; williamr@4: williamr@4: // Not really used, but needed to prevent buffer handling errors. williamr@4: TPckgBuf iRetPckg; williamr@4: }; williamr@4: williamr@4: #endif // __AKNGLOBALNOTENOTIFY_H__