diff -r 000000000000 -r eb1f2e154e89 fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredictiveSettingList.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepPredictiveSettingList.h Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,177 @@ +/* +* 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 SettingExampleSettingList.h + * ============================================================================ + */ + +#ifndef __AKN_FEP_PREDICTIVESETTING_LIST_H +#define __AKN_FEP_PREDICTIVESETTING_LIST_H + + +#include +#include +#include + +//class CAknFepPredictiveSettingData; +#include "AknFepPredictiveSettingData.h" + +class CAknFepPredictiveSettingDialog; +/** + * Class: CAknFepMultiSelectionSettingItem + * + * Discussion: An implementation of CAknBigSettingItemBase, providing a + * big setting item that opens a multiselection (checkbox) + * setting page. Specialized implementation to show + * word autocompletion settings. + * + */ +class CAknFepMultiSelectionSettingItem : public CAknBigSettingItemBase + { +public: + CAknFepMultiSelectionSettingItem( TInt aResourceId, CAknFepPredictiveSettingData &aData, + CCoeEnv* aCoeEnv ); + virtual ~CAknFepMultiSelectionSettingItem(); + virtual void EditItemL( TBool aCalledFromMenu ); + virtual void StoreL(); + virtual void LoadL(); + +private: + CSelectionItemList* CreateSelectionItemListL(); + + CAknFepPredictiveSettingData &iData; // not owned + CSelectionItemList* iSelection; + CCoeEnv* iCoeEnv; + TInt iItutIndex; + TInt iHalfQwertyIndex; + TInt iQwertyIndex; + }; + +/** + * Class: CAknFepPredictiveSettingList + * + * Discussion: A specialised subclass of CAknSettingItemList. This class is + * the control used to both display the current values of the + * settings and to launch the relevant editor for those items. + * + */ +class CAknFepPredictiveSettingList : public CAknSettingItemList + { +public: + /** + * Function: NewL + * + * Discussion: Factory function used to create a new instance of + * CAknFepPredictiveSettingList + * + * Params: aData - reference to the data to be displayed and edited. + * + * Returns: A newly created instance of CAknFepPredictiveSettingList + */ + static CAknFepPredictiveSettingList* NewL(CAknFepPredictiveSettingData &aData, CAknFepPredictiveSettingDialog &aDialog); + + /** + * Function: NewLC + * + * Discussion: Factory function used to create a new instance of + * CAknFepPredictiveSettingList and leave a pointer to it on the + * cleanup stack. + * + * Params: aData - reference to the data to be displayed and edited. + * + * Returns: A newly created instance of CAknFepPredictiveSettingList + */ + static CAknFepPredictiveSettingList* NewLC(CAknFepPredictiveSettingData &aData, CAknFepPredictiveSettingDialog &aDialog); + + /** + * Function: ~CAknFepPredictiveSettingList + * + * Discussion: Virtual destructor for CAknFepPredictiveSettingList. Ensures that + * all allocated memory is returned to the heap before + * deletion of object. + * + */ + virtual ~CAknFepPredictiveSettingList(); + + + /** + * Function: SizeChanged + * + * Discussion: Inherited from CCoeControl. Calculates size based on + * contained control required sizes. + * + */ + void SizeChanged(); + + /** + * Function: EditCurrentItemL + * Params: aCalledFromMenu - ETrue if called from menu, EFalse otherwise. + * + * + * Discussion: Starts the setting page for the currently selected item + * in the list. + */ + void EditCurrentItemL(TBool aCalledFromMenu); + + TBool DeviceHasMultipleKeyboards(); + + +private: + /** + * Function: CAknFepPredictiveSettingList + * + * Discussion: Hidden, first-stage non-leaving constructor. + * + * Params: aData - reference to the data to be displayed and edited. + * + */ + CAknFepPredictiveSettingList(CAknFepPredictiveSettingData &aData, CAknFepPredictiveSettingDialog &aDialog); + + /** + * Function: CreateSettingItemL + * + * Discussion: Factory function for creating CAknSettingItem derived + * SettingItem classes used t display current values + * + * Params: aSettingId - the id of the control which should be created + * + */ + CAknSettingItem* CreateSettingItemL (TInt aSettingId); + + + void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType); + + void HandleResourceChange(TInt aType); + +private: + CAknFepPredictiveSettingData &iSettingsData; /* Reference to data owned by Dialog */ + CAknFepPredictiveSettingDialog &iSettingsDialog; + }; + +#endif // __AKN_FEP_PREDICTIVESETTING_LIST_H +