diff -r ebd48d2de13c -r ecbabf52600f fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredictiveSettingDialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredictiveSettingDialog.h Wed Sep 01 12:23:33 2010 +0100 @@ -0,0 +1,155 @@ +/* +* Copyright (c) 2009 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: +* +*/ + + + + + + + + + + +/* + * ============================================================================ + * Name : CAknFepPredictiveSettingList from AknFepPredictiveSettingList + * ============================================================================ + */ + +#ifndef __AKN_FEP_PREDICTIVESETTING_DIALOG_H +#define __AKN_FEP_PREDICTIVESETTING_DIALOG_H + +#include +#include "AknFepPredictiveSettingList.h" +#include "AknFepPredictiveSettingData.h" + +class CRepository; +class CAknTitlePane; +class CAknNavigationControlContainer; +class CAknNavigationDecorator; + +enum TInputSettings +{ + EAutoWordCompletion, + ETypingCorrectionLevel, + ENumberCandidate, + EPrimaryCandidate +}; + +class CAknFepPredictiveSettingDialog : public CAknDialog +{ + public: + /** + * Function: NewL + * + * Discussion: Factory function used to create a new instance of + * CAknFepPredictiveSettingDialog + * + * Params: aMenuResId - menu resource id. + * Params: aConfirmationQueryResId - Confirmation Query resource id. + * Params: aTitlePaneResId - Titlepane resource id. + * Returns: A newly created instance of CAknFepPredictiveSettingDialog + */ + static CAknFepPredictiveSettingDialog* NewL(TInt aMenuResId, TInt aConfirmationQueryResId, TInt aTitlePaneResId); + + /** + * Function: NewLC + * + * Discussion: Factory function used to create a new instance of + * CAknFepPredictiveSettingDialog and leave a pointer to it on the + * cleanup stack. + * + * Params: aMenuResId - menu resource id. + * Params: aConfirmationQueryResId - Confirmation Query resource id. + * Params: aTitlePaneResId - Titlepane resource id. + * Returns: A newly created instance of CAknFepPredictiveSettingDialog + */ + static CAknFepPredictiveSettingDialog* NewLC(TInt aMenuResId, TInt aConfirmationQueryResId, TInt aTitlePaneResId); + + /** + * Function: ~CAknFepPredictiveSettingDialog + * + * Discussion: Virtual destructor for CAknFepPredictiveSettingDialog. Ensures that all + * allocated memory is returned to the heap before deletion + * of object. + * + */ + virtual ~CAknFepPredictiveSettingDialog(); + + virtual SEikControlInfo CreateCustomControlL(TInt aControlType); + virtual CAknFepPredictiveSettingDialog::TFormControlTypes ConvertCustomControlTypeToBaseControlType(TInt aControlType) const; + + virtual TBool OkToExitL(TInt aButtonId); + virtual void ProcessCommandL(TInt aCommandId); + virtual void HandleResourceChange(TInt aType); + + void EditItemL(TBool aCalledFromMenu); + + void HandlePointerEventL(const TPointerEvent& aPointerEvent); + + // From MEikMenuObserver + virtual void DynInitMenuPaneL( TInt aResourceId, + CEikMenuPane* aMenuPane ); + + protected: + /** + * From CAknDialog + * Lays out the dialog's components when the size of the dialog + * is changed. + */ + virtual void SizeChanged(); + private: + void ConstructL( TInt aMenuTitleResourceId ); + CAknFepPredictiveSettingDialog(TInt aConfirmationQueryResId, TInt aTitlePaneResId); + void ReadSettingsDataL(); + void SaveSettingsDataL() const; + void SaveCurrentSettingsDataL() const; + void LaunchPredictiveSettingOffQueryIfNecessaryL(TInt prevSettings); + TInt CurrentSettings(); + void PrepareStatusPaneL(); + void SetTitlePaneL(); + void RestoreStatusPaneL(); + TInt iConfirmationQueryResId; + TInt iPredictiveTextFlag; + TBool iPredictiveSettingOffQueryNotShown; + + CAknTitlePane* iTitlePane; + CAknNavigationControlContainer* iNaviPane; + CAknNavigationDecorator* iNaviDecoratedTabGroup; + HBufC* iLastTitle; + HBufC* iStatusTitle; + TInt iTitlePaneResId; + + static TInt EventCheckCallback(TAny* aObj); + void AttemptToExitL(); + +#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__ + TPtiKeyboardType iOriginalKeyboardLayout; +#endif //__ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__ + + // iSettingItemInEditingState is introduced to avoid the crash when we are editing + // the settings item and the flip staus changes. + TBool iSettingItemInEditingState; + CIdle* iItemCloseEventCheck; + TBool iSimuKey; + + protected: + CAknFepPredictiveSettingList* iSettingsList; + CAknFepPredictiveSettingData* iSettingsData; + CRepository* iAknFepRepository; +}; +#endif //__AKN_FEP_PREDICTIVESETTING_DIALOG_H \ No newline at end of file