diff -r 000000000000 -r 1bce908db942 multimediacommsengine/tsrc/MCETestUI/src/CMCEPoCSessionSettingsListContainer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/multimediacommsengine/tsrc/MCETestUI/src/CMCEPoCSessionSettingsListContainer.cpp Tue Feb 02 01:04:58 2010 +0200 @@ -0,0 +1,139 @@ +/* +* 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 "CMCEPoCSessionSettingsListContainer.h" + +// ================= MEMBER FUNCTIONS ======================= + +/** +* Symbian OS 2nd phase constructor. Creates a Window for the controls, which it contains. +* Constructs a label and adds it to the window, which it then activates. +* @param aRect The rectangle for this window +*/ +void CMCEPoCSessionSettingsListContainer::ConstructL(const TRect& aRect) + { + CreateWindowL(); + iSettingItemList = new CMCEPoCSessionSettingsItemList (iSettings); + iSettingItemList->ConstructFromResourceL( R_POC_SESSION_SETTING_ITEM_LIST ); + SetRect(aRect); + ActivateL(); + } +/** +* Symbian OS 2 phase constructor. +* Constructs the CSettingsListContainer using the NewLC method, popping +* the constructed object from the CleanupStack before returning it. +* +* @param aRect The rectangle for this window +* @return The newly constructed CSettingsListContainer +*/ +CMCEPoCSessionSettingsListContainer* CMCEPoCSessionSettingsListContainer::NewL(const TRect& aRect, TMCEPoCSessionParams& aSettings ) + { + CMCEPoCSessionSettingsListContainer* self = CMCEPoCSessionSettingsListContainer::NewLC( aRect, aSettings ); + CleanupStack::Pop(self); + return self; + } + +/** +* Symbian OS 2 phase constructor. +* Constructs the CSettingsListContainer using the constructor and ConstructL +* method, leaving the constructed object on the CleanupStack before returning it. +* +* @param aRect The rectangle for this window +* @return The newly constructed CSettingsListContainer +*/ +CMCEPoCSessionSettingsListContainer* CMCEPoCSessionSettingsListContainer::NewLC(const TRect& aRect, TMCEPoCSessionParams& aSettings ) + { + CMCEPoCSessionSettingsListContainer* self = new (ELeave) CMCEPoCSessionSettingsListContainer( aSettings ); + CleanupStack::PushL(self); + self->ConstructL(aRect); + return self; + } + +CMCEPoCSessionSettingsListContainer::CMCEPoCSessionSettingsListContainer(TMCEPoCSessionParams& aSettings): + iSettings( aSettings ) + + { + + } +/** +* Destructor. Frees up memory for the settings list. +*/ +CMCEPoCSessionSettingsListContainer::~CMCEPoCSessionSettingsListContainer() + { + delete iSettingItemList; + } + +/** +* Called by the framework in compound controls +* @return The number of controls in this CSettingsListContainer +*/ +TInt CMCEPoCSessionSettingsListContainer::CountComponentControls() const + { + return 1; // return number of controls inside this container + } + +/** +* Called by the framework in compound controls +* @param The index of the control to return +* @return The control for aIndex +*/ +CCoeControl* CMCEPoCSessionSettingsListContainer::ComponentControl(TInt aIndex) const + { + switch (aIndex) + { + case 0: + return iSettingItemList; + default: + return NULL; + } + } + + +/** +* Called by the framework whenever a key event occurs. +* @param aKeyEvent the Key event which occured, e.g. select key pressed +* @param aType the type of Key event which occurred, e.g. key up, key down +* @return TKeyResponse EKeyWasNotConsumed if the key was not processed, EKeyWasConsumed if it was +*/ +TKeyResponse CMCEPoCSessionSettingsListContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType) + { + if (iSettingItemList && IsVisible()) + { + iSettingItemList->OfferKeyEventL (aKeyEvent, aType); + } + + //In case the tabs has to be changed + return EKeyWasNotConsumed; + } + +/** +* Asks the setting list to change the currently selected item +*/ +void CMCEPoCSessionSettingsListContainer::ChangeSelectedItemL() + { + if (iSettingItemList) + iSettingItemList->ChangeSelectedItemL(); + } + + +// End of File