multimediacommsengine/tsrc/MCETestUI/src/CMCEPoCSessionSettingsItemList.cpp
changeset 0 1bce908db942
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/multimediacommsengine/tsrc/MCETestUI/src/CMCEPoCSessionSettingsItemList.cpp	Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,129 @@
+/*
+* Copyright (c) 2004 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:  
+*
+*/
+
+
+
+
+// INCLUDE FILES
+
+// Class include
+#include "CMCEPoCSessionSettingsItemList.h"
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+/**
+* Constructor.	Takes a copy of the reference to aDifficultyLevel
+* @param aDifficultyLevel the level of difficulty which will be set
+*/	
+CMCEPoCSessionSettingsItemList::CMCEPoCSessionSettingsItemList (TMCEPoCSessionParams& aSettings)
+: iSettings (aSettings)
+	{
+	}
+
+/**
+*	
+* Called by framework when the view size is changed.  Resizes the
+* setting list accordingly.
+*
+*/
+void CMCEPoCSessionSettingsItemList::SizeChanged()
+	{
+	if (ListBox()) 
+		{
+		ListBox()->SetRect(Rect());
+		}
+
+	}
+
+
+/**
+*	
+* Creates the actual setting items for the list, passing
+* ownership of them to the calling class.  Each setting
+* item has a piece of member data which it sets values in.
+*/
+CAknSettingItem* CMCEPoCSessionSettingsItemList::CreateSettingItemL(TInt aIdentifier)
+	{
+	CAknSettingItem* settingItem = NULL;
+	
+	switch (aIdentifier)
+		{
+		case EPoCRecipentAddress:
+		  	settingItem = new (ELeave) CAknEnumeratedTextPopupSettingItem( aIdentifier,static_cast<TInt>( iSettings.iPocRecipentAddress );
+			break;
+	/*	case EDownLinkMaximumBurstSize:
+			settingItem = new (ELeave) CAknIntegerEdwinSettingItem( aIdentifier, iSettings.iDownLinkMaximumBurstSize );
+			break;
+		case EUpLinkMaximumBurstSize:
+			settingItem = new (ELeave) CAknIntegerEdwinSettingItem( aIdentifier, iSettings.iUpLinkMaximumBurstSize );
+			break;
+	    case EDownLinkAveragePacketSize:
+        	settingItem = new (ELeave) CAknIntegerEdwinSettingItem( aIdentifier, iSettings.iDownLinkAveragePacketSize );
+			break;
+	    case EUpLinkAveragePacketSize:
+        	settingItem = new (ELeave) CAknIntegerEdwinSettingItem( aIdentifier, iSettings.iUpLinkAveragePacketSize );
+			break;
+	    case EDownLinkMaximumPacketSize:
+        	settingItem = new (ELeave) CAknIntegerEdwinSettingItem( aIdentifier, iSettings.iDownLinkMaximumPacketSize );
+			break;
+	    case EUpLinkMaximumPacketSize:
+        	settingItem = new (ELeave) CAknIntegerEdwinSettingItem( aIdentifier, iSettings.iUpLinkMaximumPacketSize );
+			break;
+		case EDownLinkDelay:
+        	settingItem = new (ELeave) CAknIntegerEdwinSettingItem( aIdentifier, iSettings.iDownLinkDelay );
+			break;
+	   	case EUpLinkDelay:
+        	settingItem = new (ELeave) CAknIntegerEdwinSettingItem( aIdentifier, iSettings.iUpLinkDelay );
+			break;
+	    case EDownLinkDelayVariation:
+	       	settingItem = new (ELeave) CAknIntegerEdwinSettingItem( aIdentifier, iSettings.iDownLinkDelayVariation );
+			break;
+	    case EUpLinkDelayVariation:
+	       	settingItem = new (ELeave) CAknIntegerEdwinSettingItem( aIdentifier, iSettings.iUpLinkDelayVariation );
+			break;
+		case EDownLinkPriority:
+		    settingItem = new (ELeave) CAknIntegerEdwinSettingItem( aIdentifier, iSettings.iDownLinkPriority );
+			break;
+		case EUpLinkPriority:
+	        settingItem = new (ELeave) CAknIntegerEdwinSettingItem( aIdentifier, iSettings.iUpLinkPriority );
+			break;
+	*/	}
+	
+	return settingItem; // passing ownership
+	}
+
+/**
+* Causes the edit page for the currently selected setting
+* item to be displayed
+*/
+void CMCEPoCSessionSettingsItemList::ChangeSelectedItemL()
+	{
+	EditItemL(ListBox()->CurrentItemIndex(), ETrue);
+	}
+
+/**
+* Called by the framework whenever an item is selected. 
+* Causes the edit page for the currently selected setting item to be displayed and stores
+* any changes made.
+*/
+void CMCEPoCSessionSettingsItemList::EditItemL (TInt aIndex, TBool aCalledFromMenu)
+	{
+	CAknSettingItemList::EditItemL(aIndex, aCalledFromMenu);
+	(*SettingItemArray())[aIndex]->StoreL();
+
+	}