diff -r 000000000000 -r 1bce908db942 multimediacommsengine/tsrc/MCETestUI/src/CMCEPoCSessionSettingsItemList.cpp --- /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( 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(); + + }