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: * williamr@2: */ williamr@2: williamr@2: williamr@2: #ifndef __AKNSTATICNOTEDIALOG__ williamr@2: #define __AKNSTATICNOTEDIALOG__ williamr@2: williamr@2: #include williamr@2: #include williamr@2: williamr@2: class CEikImage; williamr@2: class CAknStackIndicatorAttributes; williamr@2: williamr@2: /** williamr@2: * Static note stack indicator williamr@2: */ williamr@2: class CAknStaticNoteStackIndicator : public CAknControl williamr@2: { williamr@2: public: williamr@2: /** williamr@2: * 2nd stage construction. williamr@2: * williamr@2: */ williamr@2: void ConstructL(CCoeControl* aParentNote, TInt aStackDepth); williamr@2: williamr@2: /** williamr@2: * Updates stack depth williamr@2: * williamr@2: */ williamr@2: void UpdateDepth(TInt aDepth); williamr@2: williamr@2: ~CAknStaticNoteStackIndicator(); williamr@2: williamr@2: /** williamr@2: * From @c CCoeControl. williamr@2: * williamr@2: * Handles a change to the control's resources. The types of resources williamr@2: * handled are those which are shared across the environment, e.g. williamr@2: * colours or fonts. williamr@2: * williamr@2: */ williamr@2: IMPORT_C void HandleResourceChange(TInt aType); williamr@2: williamr@2: /** williamr@2: * From @c CCoeControl. williamr@2: * Handles pointer events williamr@2: */ williamr@2: IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); williamr@2: williamr@2: private: williamr@2: void Draw(const TRect& aRect) const; williamr@2: void DoSetExtent(); williamr@2: williamr@2: private: williamr@2: /** williamr@2: * From CAknControl williamr@2: */ williamr@2: IMPORT_C void* ExtensionInterface( TUid aInterface ); williamr@2: williamr@2: private: williamr@2: CAknStackIndicatorAttributes* iAttributes; williamr@2: CCoeControl* iParentNote; williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: * Static note dialog williamr@2: */ williamr@2: class CAknStaticNoteDialog : public CAknNoteDialog williamr@2: { williamr@2: williamr@2: public: williamr@2: /** williamr@2: * Default constructor williamr@2: * Just call CAknNoteDialog constructor williamr@2: */ williamr@2: IMPORT_C CAknStaticNoteDialog(); williamr@2: 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 CAknStaticNoteDialog(CEikDialog** aSelfPtr); williamr@2: williamr@2: IMPORT_C virtual ~CAknStaticNoteDialog(); williamr@2: williamr@2: /** williamr@2: * Set the number of borders williamr@2: * williamr@2: * Update the stack indicator depth to the specified number of borders. williamr@2: * williamr@2: * @param aNumber The number of borders williamr@2: */ williamr@2: IMPORT_C void SetNumberOfBorders(TInt aNumber); williamr@2: williamr@2: /** 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: * Part of dialog framework, called after layout has been performed williamr@2: * williamr@2: * Call PostLayoutDynInitL as implemented in the base, CAknNoteDialog williamr@2: * and create a stack indicator williamr@2: * williamr@2: */ williamr@2: IMPORT_C void PostLayoutDynInitL(); williamr@2: williamr@2: /** williamr@2: * Part of the dialog framework, process a key event. williamr@2: * williamr@2: * Call the implementation of OfferKeyEventL provided by williamr@2: * CEikDialog, bypassing the direct base, CAknNoteDialog. williamr@2: */ williamr@2: IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); williamr@2: williamr@2: protected: williamr@2: /** williamr@2: * Stack indicator williamr@2: * williamr@2: */ williamr@2: CAknStaticNoteStackIndicator* iStackIndicator; williamr@2: williamr@2: /** williamr@2: * Indicates stack depth williamr@2: * williamr@2: */ williamr@2: TInt iStackDepth; williamr@2: williamr@2: private: williamr@2: TInt iSpare; williamr@2: williamr@2: private: williamr@2: /** williamr@2: * From CAknControl williamr@2: */ williamr@2: IMPORT_C void* ExtensionInterface( TUid aInterface ); williamr@2: williamr@2: private: williamr@2: IMPORT_C virtual void CEikDialog_Reserved_1(); williamr@2: IMPORT_C virtual void CEikDialog_Reserved_2(); williamr@2: williamr@2: private: williamr@2: IMPORT_C virtual void CAknNoteDialog_Reserved(); williamr@2: williamr@2: private: // new virtual function. williamr@2: IMPORT_C virtual void CAknStaticNoteDialog_Reserved(); williamr@2: }; williamr@2: williamr@2: #endif