--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/GSLangPlugin/inc/PredictiveSettingList.h Wed Sep 01 12:23:33 2010 +0100
@@ -0,0 +1,168 @@
+/*
+* 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 : CGSPredictiveSettingList from SettingExampleSettingList.h
+ * ============================================================================
+ */
+
+#ifndef __GSPREDICTIVESETTING_LIST_H
+#define __GSPREDICTIVESETTING_LIST_H
+
+
+#include <coecntrl.h>
+#include <aknsettingitemlist.h>
+#include <akncheckboxsettingpage.h>
+
+
+//class CGSPredictiveSettingData;
+#include "PredictiveSettingData.h"
+
+class CGSPredictiveSettingDialog;
+
+/**
+ * Class: CGSMultiSelectionSettingItem
+ *
+ * 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 CGSMultiSelectionSettingItem : public CAknBigSettingItemBase
+ {
+public:
+ CGSMultiSelectionSettingItem( TInt aResourceId, CGSPredictiveSettingData &aData,
+ CCoeEnv* aCoeEnv );
+ ~CGSMultiSelectionSettingItem();
+ virtual void EditItemL( TBool aCalledFromMenu );
+ virtual void StoreL();
+ virtual void LoadL();
+
+private:
+ CSelectionItemList* CreateSelectionItemListL();
+
+ CGSPredictiveSettingData &iData; // not owned
+ CSelectionItemList* iSelection;
+ CCoeEnv* iCoeEnv;
+ TInt iItutIndex;
+ TInt iHalfQwertyIndex;
+ TInt iQwertyIndex;
+ };
+
+/**
+ * Class: CGSPredictiveSettingList
+ *
+ * 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 CGSPredictiveSettingList : public CAknSettingItemList
+ {
+public:
+ /**
+ * Function: NewL
+ *
+ * Discussion: Factory function used to create a new instance of
+ * CGSPredictiveSettingList
+ *
+ * Params: aData - reference to the data to be displayed and edited.
+ *
+ * Returns: A newly created instance of CGSPredictiveSettingList
+ */
+ static CGSPredictiveSettingList* NewL(CGSPredictiveSettingData &aData, CGSPredictiveSettingDialog &aDialog);
+
+ /**
+ * Function: NewLC
+ *
+ * Discussion: Factory function used to create a new instance of
+ * CGSPredictiveSettingList 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 CGSPredictiveSettingList
+ */
+ static CGSPredictiveSettingList* NewLC(CGSPredictiveSettingData &aData, CGSPredictiveSettingDialog &aDialog);
+
+ /**
+ * Function: ~CGSPredictiveSettingList
+ *
+ * Discussion: Virtual destructor for CGSPredictiveSettingList. Ensures that
+ * all allocated memory is returned to the heap before
+ * deletion of object.
+ *
+ */
+ virtual ~CGSPredictiveSettingList();
+
+
+ /**
+ * 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();
+ TBool DeviceHasQwertyKeyboard();
+ TBool DeviceHasNonHalfQwertyKeyboard();
+
+private:
+ /**
+ * Function: CGSPredictiveSettingList
+ *
+ * Discussion: Hidden, first-stage non-leaving constructor.
+ *
+ * Params: aData - reference to the data to be displayed and edited.
+ *
+ */
+ CGSPredictiveSettingList(CGSPredictiveSettingData &aData, CGSPredictiveSettingDialog &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:
+ CGSPredictiveSettingData &iSettingsData; /* Reference to data owned by Dialog */
+ CGSPredictiveSettingDialog &iSettingsDialog;
+ };
+
+#endif // __GSPREDICTIVESETTING_LIST_H
+