omads/omadsappui/AspSyncUtil/inc/AspDialogUtil.h
branchRCL_3
changeset 25 4f0867e42d62
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omads/omadsappui/AspSyncUtil/inc/AspDialogUtil.h	Wed Sep 01 12:30:02 2010 +0100
@@ -0,0 +1,874 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Contains general data definitions for AspSyncUtil.
+*
+*/
+
+
+#ifndef ASPDIALOGUTIL_H
+#define ASPDIALOGUTIL_H
+
+
+//  INCLUDES
+#include <e32base.h>
+#include <aknlistquerycontrol.h>
+#include <aknnavi.h>
+#include <aknnavide.h>
+#include <AknQueryDialog.h>
+
+#include <SyncMLHistory.h>
+
+#include <AknIndicatorContainer.h>      // CAknIndicatorContainer
+#include <aknEditStateIndicator.h>      // MAknEditingStateIndicator
+#include <akncheckboxsettingpage.h>     // CSelectionItemList
+#include <aknradiobuttonsettingpage.h>  // CAknRadioButtonSettingPage
+#include <akntextsettingpage.h>         // CaknTextSettingPage
+#include <aknpasswordsettingpage.h>     // CAknAlphaPasswordSettingPage
+
+#include "AspDefines.h"
+#include "AspProfile.h"
+#include "AspResHandler.h"
+
+
+
+#ifdef RD_DSUI_TIMEDSYNC 
+
+#include <akntabgrp.h>
+#include <AknTabObserver.h>
+
+#endif
+
+/**
+* TDialogUtil
+* 
+* TDialogUtil contains general dialog utilities.
+*/
+NONSHARABLE_CLASS (TDialogUtil)
+	{
+    public:
+		/**
+		* Shows text query.
+		* @param aTitle Title text.
+		* @param aText Message text.
+		* @param aMaxLength Max text length.
+		* @return None.
+		*/
+        static void ShowTextQueryL(const TDesC& aTitle, TDes& aText, TInt aMaxLength);
+		
+		/**
+		* Shows message query (title, text and Ok button).
+		* @param aTitle Title text.
+		* @param aText Message text.
+		* @return None.
+		*/
+		static void ShowMessageQueryL(const TDesC& aTitle, const TDesC& aText);
+
+		/**
+		* Shows message query (title, text and Ok button).
+		* @param aTitle Title text.
+		* @param aResourcet Mssage text resource id.
+		* @return None.
+		*/
+		static void ShowMessageQueryL(const TDesC& aTitle, TInt aResource);
+
+		static void ShowAutoSyncMessageQueryL(const TDesC& aText);
+		/**
+		* Shows yes/no question.
+		* @param aText Question text.
+		* @return ETrue if user selected yes, EFalse otherwise..
+		*/
+		static TBool ShowConfirmationQueryL(const TDesC& aText);
+
+		/**
+		* Shows yes/no question.
+		* @param aText Question text.
+		* @return ETrue if user selected yes, EFalse otherwise..
+		*/
+		static TBool ShowRoamingConfirmationQueryL(const TDesC& aText);
+		        
+		/**
+        * Shows ok/cancel question.
+        * @param aResource Question text.
+        * @return ETrue if user selected ok, EFalse otherwise..
+        */
+        static TBool ShowRoamingConfirmationQueryL(TInt aResource);
+
+		/**
+		* Shows yes/no question.
+		* @param aResource Question text.
+		* @return ETrue if user selected yes, EFalse otherwise..
+		*/
+		static TBool ShowConfirmationQueryL(TInt aResource);
+
+		/**
+		* Shows information text.
+		* @param aText Information text.
+		* @return None.
+		*/
+        static void ShowInformationQueryL(const TDesC& aText);
+        
+		/**
+		* Shows information text.
+		* @param aResource Information text.
+		* @return None.
+		*/
+        static void ShowInformationQueryL(TInt aResource);
+		
+		/**
+		* Shows information text.
+		* @param aResource Information text.
+		* @return None.
+		*/
+		static void ShowInformationNoteL(TInt aResource);
+
+		/**
+		* Shows information text.
+		* @param aText Information text.
+		* @return None.
+		*/
+		static void ShowInformationNoteL(const TDesC& aText);
+
+		/**
+		* Shows error text.
+		* @param aResource Error text.
+		* @return None.
+		*/
+		static void ShowErrorNoteL(TInt aResource);
+
+		/**
+		* Shows error text.
+		* @param aText Error text.
+		* @return None.
+		*/
+		static void ShowErrorNoteL(const TDesC& aText);
+		
+		/**
+		* Shows error text.
+		* @param aResource Error text.
+		* @return None.
+		*/
+		static void ShowErrorQueryL(TInt aResource);
+
+		/**
+		* Shows error text.
+		* @param aText Error text.
+		* @return None.
+		*/
+		static void ShowErrorQueryL(const TDesC& aText);
+
+		/**
+		* Shows dialog with selection list.
+		* @param aTitle Dialog title.
+		* @param aList List of selection items.
+		* @param aSelectedIndex Index of selected item.
+		* @return EFalse if user canceled, ETrue otherwise.
+		*/
+		static TBool ShowListQueryL(const TDesC& aTitle, CDesCArray* aList, TInt* aSelectedIndex);
+		/**
+		* Shows dialog with selection list other than sync application
+		* @param aTitle Dialog title.
+		* @param aList List of selection items.
+		* @param aSelectedIndex Index of selected item.
+		* @return EFalse if user canceled, ETrue otherwise.
+		*/
+		static TBool ShowListQueryIconL(const TDesC& aTitle, CDesCArray* aList, TInt* aSelectedIndex);
+		/**
+		* Shows dialog with selection list.
+		* @param aTitle Dialog title.
+		* @param aList List of selection items.
+		* @param aSelectedIndex Index of selected item.
+		* @return EFalse if user canceled, ETrue otherwise.
+		*/
+		static TBool ShowListQueryL(TInt aTitle, CDesCArray* aList, TInt* aSelectedIndex);
+		/**
+		* Shows dialog with selection list opened from other than sync application
+		* @param aTitle Dialog title.
+		* @param aList List of selection items.
+		* @param aSelectedIndex Index of selected item.
+		* @return EFalse if user canceled, ETrue otherwise.
+		*/
+		static TBool ShowListQueryIconL(TInt aTitle, CDesCArray* aList, TInt* aSelectedIndex);
+
+		/**
+		* Shows dialog with profile list.
+		* @param aList Profile list.
+		* @param aId Id of selected profile.
+		* @param aResource Dialog title resource id.
+		* @return EFalse if user canceled, ETrue otherwise.
+		*/
+		static TBool ShowProfileQueryL(CAspProfileList* aList, TInt& aId, TInt aResource);
+		/**
+		* Shows dialog with profile list displayed other than sync application
+		* @param aList Profile list.
+		* @param aId Id of selected profile.
+		* @param aResource Dialog title resource id.
+		* @param aIndex to know the selected index
+		* @return EFalse if user canceled, ETrue otherwise.
+		*/
+		static TBool ShowProfileQueryAppL(CAspProfileList* aList, TInt& aId, TInt aResource,TInt &aIndex);
+		
+		/**
+		* Deletes menu item.
+		* @param aMenuPane.
+		* @param aCommandId Id of deleted menu.
+		* @return None.
+		*/
+		static void DeleteMenuItem(CEikMenuPane* aMenuPane, TInt aCommandId);
+
+		/**
+		* Constructs an independent CGulIcon object.
+		* @param aID Item ID of the masked bitmap to be created.
+        * @param aFilename Filename to be used to construct the item, 
+        * @param aFileBitmapId Id (for bitmap) in the file. 
+        * @param aFileMaskId Id (for mask) in the file.
+        * @return Pointer to the newly created CGulIcon object.
+        *         Ownership of the object is transferred to the caller.
+		*/
+		static CGulIcon* CreateIconL(TAknsItemID aId, const TDesC& aFileName, TInt aFileBitmapId, TInt aFileMaskId);
+
+		/**
+		* Constructs an image.
+		* @param aID Item ID of the masked bitmap to be created.
+        * @param aFilename Filename to be used to construct the item, 
+        * @param aFileBitmapId Id (for bitmap) in the file. 
+        * @param aFileMaskId Id (for mask) in the file.
+        * @return Pointer to the newly created 	CEikImage object.
+		*/
+		static CEikImage* CreateImageLC(TAknsItemID aId, const TDesC& aFileName, TInt aFileBitmapId, TInt aFileMaskId);
+		
+		/**
+		* Constructs an list box item for CAknDoubleLargeStyleListBox.
+		* @param aFirstLine.
+        * @param aSecondLine 
+        * @param aIndex1. 
+        * @param aIndex2.
+        * @return Pointerto the newly created list box item.
+		*/
+        static HBufC* ConstructListBoxItemLC(const TDesC& aFirstLine, const TDesC& aSecondLine, TInt aIndex);
+        
+		/**
+		* Shows time editor page.
+		* @param aTime.
+        * @return ETrue if not canceled, EFalse otherwise.
+		*/
+		static TBool ShowTimeEditorL(TTime& aTime, const TDesC& aTitle);
+
+		/**
+		* Shows date editor page.
+		* @param aTime.
+        * @return ETrue if not canceled, EFalse otherwise.
+		*/
+		static TBool ShowDateEditorL(TTime& aTime, const TDesC& aTitle);
+		
+		/**
+		* Shows list editor page.
+		* @param aList.
+		* @param aTitle.
+		* @param aCurrent.
+        * @return ETrue if not canceled, EFalse otherwise.
+		*/
+		static TBool ShowListEditorL(CDesCArray* aList, const TDesC& aTitle, TInt& aCurrent);
+		
+		/**
+		* Shows list editor page.
+		* @param aResourceId.
+		* @param aList.
+		* @param aTitle.
+		* @param aCurrent.
+        * @return ETrue if not canceled, EFalse otherwise.
+		*/
+		static TBool ShowListEditorL(TInt aResourceId, CDesCArray* aList, const TDesC& aTitle, TInt& aCurrent);
+		
+		
+		/**
+		* Shows text editor page.
+		* @param aRessourceId.
+		* @param aText.
+		* @param aTitle.
+    	* @param aMandatory.
+		* @param aLatinInput.
+		* @param aMaxLength.
+        * @return ETrue if not canceled, EFalse otherwise.
+		*/
+		static TBool ShowTextEditorL(TInt aResourceId, TDes& aText, const TDesC& aTitle, TBool aMandatory, TBool aLatinInput, TInt aMaxLength);
+		
+		/**
+		* Shows text editor page.
+		* @param aText.
+		* @param aTitle.
+    	* @param aMandatory.
+		* @param aLatinInput.
+		* @param aMaxLength.
+        * @return ETrue if not canceled, EFalse otherwise.
+		*/
+        static TBool ShowTextEditorL(TDes& aText, const TDesC& aTitle, TBool aMandatory, TBool aLatinInput, TInt aMaxLength);		
+
+		/**
+		* Shows integer editor page.
+		* @param aNumber.
+		* @param aTitle.
+    	* @param aMin.
+		* @param aMax.
+		* @param aLatinInput.
+        * @return ETrue if not canceled, EFalse otherwise.
+		*/
+        static TBool ShowIntegerEditorL(TInt& aNumber, const TDesC& aTitle, TInt aMin, TInt aMax, TBool aLatinInput);
+        
+		/**
+		* Shows popup dialog.
+		* @param aText Popup title.
+		* @param aArray Popup lines.
+        * @return None.
+		*/
+        static void ShowPopupDialogL(const TDesC& aText, CDesCArray* aArray);	
+
+		/**
+		* Shows popup dialog.
+		* @param aText Popup title.
+		* @param aArray Popup lines.
+        * @return None.
+		*/
+        static void ShowPopupDialog2L(const TDesC& aText, CDesCArray* aArray);	
+        
+        /**
+		*
+		* Does Descriptor contain string "PC Suite"
+		* Its NOT case sensitive
+		*
+		*/
+		static TBool IsPCSuiteDesC(const TDesC& des);
+		
+		static TInt ShowAutoSyncLogL(TAny* /*aAny*/);
+
+	};
+
+
+
+/**
+* CAspIndicatorHandler
+* 
+* This class is used for changing indicator state.
+*/
+NONSHARABLE_CLASS (CAspIndicatorHandler) : public CBase
+	{
+    public:
+        /**
+        * Destructor.
+        */
+		virtual ~CAspIndicatorHandler();
+
+        /**
+        * C++ default constructor.
+        */
+        CAspIndicatorHandler::CAspIndicatorHandler(MAknEditingStateIndicator* aIndicator);
+
+	public:
+
+		/**
+		* Sets navi pane title.
+		* @param aTitle.
+		* @return None.
+		*/
+		void SetIndicatorStateL(TInt aIndicatorType, const TDesC& aTitle);
+
+	private:
+		// status pane
+		//CEikStatusPane* iStatusPane;
+	
+	    // edit state indicator
+	    MAknEditingStateIndicator* iIndicator;
+        
+        // indicator container
+        CAknIndicatorContainer* iIndicatorContainer;
+        
+        // indicator type
+        TInt iIndicatorType;
+        
+        // has indicator been modified
+        TBool iIndicatorModified;
+        
+        // indicator type
+        TInt iPreviousIndicatorType;
+	};
+
+
+
+/**
+* CAspNaviPaneHandler
+* 
+* This class is used for changing navipane title.
+*/
+NONSHARABLE_CLASS (CAspNaviPaneHandler) : public CBase
+	{
+    public:
+        /**
+        * Destructor.
+        */
+		virtual ~CAspNaviPaneHandler();
+
+        /**
+        * C++ default constructor.
+        */
+		CAspNaviPaneHandler(CEikStatusPane* aStatusPane);
+
+	public:
+
+		/**
+		* Sets navi pane title.
+		* @param aTitle.
+		* @return None.
+		*/
+		void SetNaviPaneTitleL(const TDesC& aTitle);
+		
+		/**
+		* Store navi pane.
+		* @param None.
+		* @return None.
+		*/
+		void StoreNavipaneL();
+
+	private:
+		// status pane
+		CEikStatusPane* iStatusPane;
+	
+	    // navi Pane
+	    CAknNavigationControlContainer* iNaviPane;
+        
+        // navi decorator
+        CAknNavigationDecorator* iNaviDecorator;
+        
+        // has Navidecorator been pushed into navi pane
+        TBool iNavidecoratorPushed;
+        
+        // has navi pane been pushed into navigation pane's object stack
+        TBool iNavipanePushed;
+	};
+
+
+#ifdef RD_DSUI_TIMEDSYNC 
+
+class CAspSettingDialog;
+
+/**
+* CAspTabbedNaviPaneHandler
+* 
+* This class is used for changing tab group.
+*/
+NONSHARABLE_CLASS (CAspTabbedNaviPaneHandler) : public CBase, public MAknTabObserver
+	{
+    public:
+        /**
+        * Destructor.
+        */
+		virtual ~CAspTabbedNaviPaneHandler();
+
+        /**
+        * C++ default constructor.
+        */
+		CAspTabbedNaviPaneHandler(CEikStatusPane* aStatusPane ,CAspSettingDialog *aDialog);
+
+
+		
+	public:
+   		void StoreNavipaneL();
+	    void SetTabTextL(const TDesC& aText, TInt aTabId);
+	    void AddTabL(const TDesC& aText, TInt aTabId);
+	    void DeleteTabsL();
+	    void SetActiveTabL(TInt aTabId);
+		TInt TabIndex(TInt aTabId);
+		void SetTabWidthL();
+	    
+	    
+	private: // from  MAknTabObserver
+	    void TabChangedL(TInt aIndex);
+
+	private:
+		// status pane
+		CEikStatusPane* iStatusPane;
+	
+	    // navi Pane
+	    CAknNavigationControlContainer* iNaviPane;
+        
+        // navi decorator
+        CAknNavigationDecorator* iNaviDecorator;
+        
+       	// Tab group owned by the navigation decorator.
+        CAknTabGroup* iTabGroup;
+
+        
+        // has Navidecorator been pushed into navi pane
+        TBool iNavidecoratorPushed;
+        
+        // has navi pane been pushed into navigation pane's object stack
+        TBool iNavipanePushed;
+        
+        CAspSettingDialog *iDialog;
+	};
+
+#endif 
+
+/**
+* CStatusPaneHandler
+* 
+* This class is used for changing dialog title and image.
+*/
+NONSHARABLE_CLASS (CStatusPaneHandler) : public CBase
+	{
+    public:
+        /**
+        * Two-phased constructor.
+        */
+		static CStatusPaneHandler* NewL(CAknAppUi* aAppUi);
+
+        /**
+        * Destructor.
+        */
+		virtual ~CStatusPaneHandler();
+
+    private:
+        /**
+        * By default Symbian OS constructor is private.
+        */
+		void ConstructL();
+
+        /**
+        * C++ default constructor.
+        */
+		CStatusPaneHandler(CAknAppUi* aAppUi);
+
+	public:
+		/**
+		* Stores original title so it can be restored when dialog closes.
+		* @param  None.
+		* @return None.
+		*/
+        void StoreOriginalTitleL();
+
+		/**
+		* Restores original title.
+		* @param  None.
+		* @return None.
+		*/
+		void RestoreOriginalTitleL();
+
+		/**
+		* Sets dialog title.
+		* @param  aText.
+		* @return None.
+		*/
+		void SetTitleL(const TDesC& aText);
+
+		/**
+		* Sets dialog title.
+		* @param  aResourceId.
+		* @return None.
+		*/
+		void SetTitleL(TInt aResourceId);
+
+	public:
+		/**
+		* Sets dialog title.
+		* @param aAppUi.
+		* @param aText.
+		* @return Return code.
+		*/
+		static TBool SetTitleL(CAknAppUi* aAppUi, const TDesC& aText);
+
+		/**
+		* Gets dialog title.
+		* @param aAppUi.
+		* @param aText.
+		* @return Return code.
+		*/
+		static TBool GetTitleL(CAknAppUi* aAppUi, TDes& aText);
+		
+		/**
+		* Sets dialog image.
+		* @param aFilename.
+		* @param aMainId.
+		* @param aMaskId.
+		* @return None.
+		*/
+		void SetNewImageL(const TDesC& aFilename,TInt aMainId,TInt aMaskId);
+
+		/**
+		* Restores original image.
+		* @param  None.
+		* @return None.
+		*/
+		void RestoreOriginalImageL();
+
+		/**
+		* Sets dialog image.
+		* @param aAppUi.
+		* @param aIcon.
+		* @return Return code.
+		*/
+		static CEikImage* SetImageL(CAknAppUi* aAppUi, CEikImage* aIcon);
+
+		/**
+		* Sets navi pane title.
+		* @param aTitle.
+		* @return None.
+		*/
+		void SetNaviPaneTitleL(const TDesC& aTitle);
+		
+		/**
+		* Sets navi pane title.
+		* @param aTitle.
+		* @return None.
+		*/
+		void SetNaviPaneTitle(const TDesC& aTitle);
+		
+		/**
+		* Sets navi pane title.
+		* @param aTitle.
+		* @return None.
+		*/
+		void SetNaviPaneTitleL(TInt aResource);
+		
+		/**
+		* Store navi pane.
+		* @param None.
+		* @return None.
+		*/
+		void StoreNavipaneL();
+
+	private:
+		// access to app ui
+		CAknAppUi* iAppUi;
+
+		// original status pane title
+		TBuf<KBufSize> iOriginalTitle;
+		
+		// is original status pane title stored
+		TBool iOriginalTitleStored;
+
+		// original context pane image
+		CEikImage* iOriginalImage;
+		
+   	    CAspNaviPaneHandler* iNaviPaneHandler;
+	};
+
+
+
+
+/**
+* CAspSelectionItemList
+*
+* Needed for using cleanupstack with CSelectionItemList.
+*/
+NONSHARABLE_CLASS (CAspSelectionItemList) : public CSelectionItemList
+	{
+    public:
+	    /**
+        * C++ default constructor.
+        */
+	    CAspSelectionItemList(TInt aGranularity);
+
+	    /**
+         * Callback for operator TCleanupItem().
+         */
+	    static void Cleanup(TAny* aObj);
+	};
+
+
+
+
+/**
+*  CAspListItemData
+*  
+*  CAspListItemData represents one setting item in UI setting list
+*/
+NONSHARABLE_CLASS (CAspListItemData) : public CBase
+	{
+	public:
+		enum TAspListItemType
+			{
+			ETypeInternetAccessPoint,
+			ETypeList,
+			ETypeBearerList,
+			ETypeProtocolList,
+			ETypeLocalDatabase,
+			ETypeListYesNo,
+			ETypeSecret,
+			ETypeHostAddress,
+			ETypeFilter,
+			ETypeUseFilters,
+			ETypeSyncContent,
+			ETypeAutoSyncProfile,
+			ETypeAutoSyncContent,
+			ETypeAutoSyncFrequency,
+			ETypeAutoSyncDays,
+			ETypeAutoSyncPeakSchedule,
+			ETypeAutoSyncOffPeakSchedule,
+			ETypeAutoSyncTime,
+			ETypeNumber,
+			ETypeBoolean,
+			ETypeText,
+			ETypeText8,
+			ETypeDate,
+			ETypeTime,
+			ETypeSchedulingSetting,
+			ETypeProfileSetting
+			
+			};
+			
+	public:
+		static CAspListItemData* NewLC();
+    	CAspListItemData();
+		virtual ~CAspListItemData();
+		void ConstructL();
+
+	public:	
+		void SetHeaderL(const TDesC& aText);
+		void SetHeaderL(TInt aResourceId);
+		void SetValueL(const TDesC& aText);
+		void SetValueL(TInt aNumber);
+		void SetDisplayValueL(const TDesC& aText);
+		void SetDisplayValueL(TInt aResource);
+		const TDesC& Header();
+		const TDesC& Value();
+		HBufC* ListItemTextL(TBool aConvert);
+		void Init();
+		TBool IsEmpty();
+
+	public:
+		// number type setting data
+		TInt iNumberData;
+		
+		// date type setting
+		TTime iDate;
+		
+		// time type setting
+		TTime iTime;
+
+		// setting item type
+		TInt iItemType;
+    	
+    	// is setting shown in UI
+		TInt iHidden;
+		
+		// max length for text type setting
+		TInt iMaxLength;
+		
+		// setting editor resource id
+		TInt iResource;
+
+		// list index
+		TInt iIndex;	
+
+		// item id
+		TInt iItemId;
+
+        // is settimg mandatory
+		TBool iMandatory;
+		
+		// is latin input needed ???
+		TBool iLatinInput;
+		
+		// min number type setting value
+		TInt iMinValue;
+
+		// max number type setting value
+		TInt iMaxValue;
+		
+		// filter item - used only in CAspFilterDialog
+		//CAspFilter* iFilter;
+		
+		// did user press "Select" key or "Change" menu option
+		TBool iSelectKeyPressed;
+
+	private:
+		// used in UI when value is empty
+		HBufC*  iDisplayValue;
+		
+		// setting header (title)		
+		HBufC* iHeader;
+
+	    // text type setting value
+	    HBufC* iValue;
+	};
+
+
+
+
+typedef CArrayPtr<CAspListItemData> CAspSettingList; //setting item list for profile page
+
+/**
+* CAspRadioButtonSettingPageEditor
+*
+* Setting page that returns command button id.
+*/
+NONSHARABLE_CLASS (CAspRadioButtonSettingPageEditor) : public CAknRadioButtonSettingPage
+	{
+    public:
+        CAspRadioButtonSettingPageEditor(TInt aResourceID, TInt& aCurrentSelectionIndex, 
+		                           const MDesCArray* aItemArray);
+        ~CAspRadioButtonSettingPageEditor();            
+        
+	    TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
+	};
+
+
+/**
+* CAspTextSettingPagePageEditor
+*
+* Setting page that returns command button id.
+*/
+NONSHARABLE_CLASS (CAspTextSettingPageEditor) : public CAknTextSettingPage
+	{
+    public:
+        CAspTextSettingPageEditor(TInt aResourceID,TDes& aText,TInt aTextSettingPageFlags);                                                    
+                                                     
+        ~CAspTextSettingPageEditor();            
+        
+	    TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
+	};
+
+
+/**
+* CAspAlphaPasswordSettingPageEditor
+*
+* Setting page that returns command button id.
+*/
+NONSHARABLE_CLASS (CAspAlphaPasswordSettingPageEditor) : public CAknAlphaPasswordSettingPage
+	{
+    public:
+        CAspAlphaPasswordSettingPageEditor(TInt aResourceID, TDes& aNewPassword,const TDesC& aOldPassword);                                                    
+                                                     
+        ~CAspAlphaPasswordSettingPageEditor();            
+        
+	    TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
+	};
+
+/**
+* CAspAlphaPasswordSettingPageEditor
+*
+* Setting page that returns command button id.
+*/
+NONSHARABLE_CLASS (CAspIntegerSettingPageEditor) : public CAknIntegerSettingPage
+	{
+    public:
+        CAspIntegerSettingPageEditor(TInt aResourceID, TInt& aValue, TInt aTextSettingPageFlags);                                                    
+                                                     
+        ~CAspIntegerSettingPageEditor();            
+        
+	    TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
+	};
+
+
+#endif      // ASPDIALOGUTIL_H
+            
+// End of File