diff -r 000000000000 -r f0f2b8682603 memana/analyzetoolclient/configurationappgui/src/atconfigurationappguisettingitemlistview.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/memana/analyzetoolclient/configurationappgui/src/atconfigurationappguisettingitemlistview.cpp Thu Feb 11 15:51:35 2010 +0200 @@ -0,0 +1,268 @@ +/* +* 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: +* +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "atconfigurationappgui.hrh" +#include "atconfigurationappguisettingitemlistview.h" +#include "atconfigurationappguisettingitemlist.hrh" +#include "atconfigurationappguisettingitemlist.h" +#include "atlog.h" + +// ----------------------------------------------------------------------------- +// CATConfigurationAppGuiSettingItemListView::CATConfigurationAppGuiSettingItemListView() +// First phase of Symbian two-phase construction. +// ----------------------------------------------------------------------------- +// +CATConfigurationAppGuiSettingItemListView::CATConfigurationAppGuiSettingItemListView() : +iLastViewId( TUid::Uid( EATConfigurationAppGuiListBoxViewId ) ) + { + LOGSTR1( "ATCU CATConfigurationAppGuiSettingItemListView::CATConfigurationAppGuiSettingItemListView()" ); + } + +// ----------------------------------------------------------------------------- +// CATConfigurationAppGuiSettingItemListView::~CATConfigurationAppGuiSettingItemListView() +// Destructor. +// ----------------------------------------------------------------------------- +// +CATConfigurationAppGuiSettingItemListView::~CATConfigurationAppGuiSettingItemListView() + { + LOGSTR1( "ATCU CATConfigurationAppGuiSettingItemListView::~CATConfigurationAppGuiSettingItemListView()" ); + } + +// ----------------------------------------------------------------------------- +// CATConfigurationAppGuiSettingItemListView::NewL() +// Symbian two-phase constructor. +// ----------------------------------------------------------------------------- +// +CATConfigurationAppGuiSettingItemListView* CATConfigurationAppGuiSettingItemListView::NewL() + { + LOGSTR1( "ATCU CATConfigurationAppGuiSettingItemListView::NewL()" ); + + CATConfigurationAppGuiSettingItemListView* self = CATConfigurationAppGuiSettingItemListView::NewLC(); + CleanupStack::Pop( self ); + return self; + } + +// ----------------------------------------------------------------------------- +// CATConfigurationAppGuiSettingItemListView::NewLC() +// Symbian two-phase constructor. +// ----------------------------------------------------------------------------- +// +CATConfigurationAppGuiSettingItemListView* CATConfigurationAppGuiSettingItemListView::NewLC() + { + LOGSTR1( "ATCU CATConfigurationAppGuiSettingItemListView::NewLC()" ); + + CATConfigurationAppGuiSettingItemListView* self = new ( ELeave ) CATConfigurationAppGuiSettingItemListView(); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +// ----------------------------------------------------------------------------- +// CATConfigurationAppGuiSettingItemListView::ConstructL() +// Second-phase constructor for view. +// ----------------------------------------------------------------------------- +// +void CATConfigurationAppGuiSettingItemListView::ConstructL() + { + LOGSTR1( "ATCU CATConfigurationAppGuiSettingItemListView::ConstructL()" ); + + BaseConstructL( R_ATCONFIGURATION_APP_GUI_SETTING_ITEM_LIST_VIEW ); + } + +// ----------------------------------------------------------------------------- +// CATConfigurationAppGuiSettingItemListView::Id() +// Returns the UID for this view. +// ----------------------------------------------------------------------------- +// +TUid CATConfigurationAppGuiSettingItemListView::Id() const + { + LOGSTR1( "ATCU CATConfigurationAppGuiSettingItemListView::Id()" ); + + return TUid::Uid( EATConfigurationAppGuiSettingItemListViewId ); + } + +// ----------------------------------------------------------------------------- +// CATConfigurationAppGuiSettingItemListView::HandleCommandL() +// Handle a command for this view. +// ----------------------------------------------------------------------------- +// +void CATConfigurationAppGuiSettingItemListView::HandleCommandL( TInt aCommand ) + { + LOGSTR1( "ATCU CATConfigurationAppGuiSettingItemListView::HandleCommandL()" ); + + TBool commandHandled = EFalse; + switch ( aCommand ) + { // Code to dispatch to the AknView's menu and CBA commands is generated here + case EATConfigurationAppGuiSettingItemListViewMenuItem1Command: + commandHandled = HandleChangeSelectedSettingItemL( aCommand ); + break; + case EAknSoftkeyBack: + { + AppUi()->ActivateLocalViewL( iLastViewId ); + commandHandled = ETrue; + break; + } + default: + break; + } + + + if ( !commandHandled ) + { + + if ( aCommand == EAknSoftkeyBack ) + { + AppUi()->HandleCommandL( EEikCmdExit ); + } + + } + } + +// ----------------------------------------------------------------------------- +// CATConfigurationAppGuiSettingItemListView::DoActivateL() +// Handles user actions during activation of the view. +// ----------------------------------------------------------------------------- +// +void CATConfigurationAppGuiSettingItemListView::DoActivateL( + const TVwsViewId& /*aPrevViewId*/, + TUid aCustomMessageId, + const TDesC8& /*aCustomMessage*/ ) + { + LOGSTR1( "ATCU CATConfigurationAppGuiSettingItemListView::DoActivateL()" ); + + SetupStatusPaneL(); + iLastViewId = aCustomMessageId; + + if ( iATConfigUISettingItemList == NULL ) + { + iSettings = CATConfigurationAppGuiSettingItemListSettings::NewL(); + iATConfigUISettingItemList = new ( ELeave ) CATConfigurationAppGuiSettingItemList( *iSettings, this ); + iATConfigUISettingItemList->SetMopParent( this ); + iATConfigUISettingItemList->ConstructFromResourceL( R_ATCONFIGURATION_APP_GUI_SETTING_ITEM_LIST ); + iATConfigUISettingItemList->ActivateL(); + iATConfigUISettingItemList->LoadSettingValuesL(); + iATConfigUISettingItemList->LoadSettingsL(); + AppUi()->AddToStackL( *this, iATConfigUISettingItemList ); + } + } + +// ----------------------------------------------------------------------------- +// CATConfigurationAppGuiSettingItemListView::DoDeactivate() +// Handles user actions during deactivation of the view. +// ----------------------------------------------------------------------------- +// +void CATConfigurationAppGuiSettingItemListView::DoDeactivate() + { + LOGSTR1( "ATCU CATConfigurationAppGuiSettingItemListView::DoDeactivate()" ); + + CleanupStatusPane(); + + if ( iATConfigUISettingItemList != NULL ) + { + AppUi()->RemoveFromStack( iATConfigUISettingItemList ); + delete iATConfigUISettingItemList; + iATConfigUISettingItemList = NULL; + delete iSettings; + iSettings = NULL; + } + } + +// ----------------------------------------------------------------------------- +// CATConfigurationAppGuiSettingItemListView::HandleStatusPaneSizeChange() +// Handle status pane size change for this view. +// ----------------------------------------------------------------------------- +// +void CATConfigurationAppGuiSettingItemListView::HandleStatusPaneSizeChange() + { + LOGSTR1( "ATCU CATConfigurationAppGuiSettingItemListView::HandleStatusPaneSizeChange()" ); + + CAknView::HandleStatusPaneSizeChange(); + + // This may fail, but we're not able to propagate exceptions here + TInt result; + TRAP( result, SetupStatusPaneL() ); + } + +// ----------------------------------------------------------------------------- +// CATConfigurationAppGuiSettingItemListView::SetupStatusPaneL() +// ----------------------------------------------------------------------------- +// +void CATConfigurationAppGuiSettingItemListView::SetupStatusPaneL() + { + LOGSTR1( "ATCU CATConfigurationAppGuiSettingItemListView::SetupStatusPaneL()" ); + + // Reset the context pane + TUid contextPaneUid = TUid::Uid( EEikStatusPaneUidContext ); + CEikStatusPaneBase::TPaneCapabilities subPaneContext = + StatusPane()->PaneCapabilities( contextPaneUid ); + if ( subPaneContext.IsPresent() && subPaneContext.IsAppOwned() ) + { + CAknContextPane* context = static_cast< CAknContextPane* > ( + StatusPane()->ControlL( contextPaneUid ) ); + context->SetPictureToDefaultL(); + } + + // Setup the title pane + TUid titlePaneUid = TUid::Uid( EEikStatusPaneUidTitle ); + CEikStatusPaneBase::TPaneCapabilities subPaneTitle = + StatusPane()->PaneCapabilities( titlePaneUid ); + if ( subPaneTitle.IsPresent() && subPaneTitle.IsAppOwned() ) + { + CAknTitlePane* title = static_cast< CAknTitlePane* >( + StatusPane()->ControlL( titlePaneUid ) ); + TResourceReader reader; + iEikonEnv->CreateResourceReaderLC( reader, R_ATCONFIGURATION_APP_GUI_SETTINGS_TITLE_RESOURCE ); + title->SetFromResourceL( reader ); + CleanupStack::PopAndDestroy(); // Reader internal state + } + + } + +// ----------------------------------------------------------------------------- +// CATConfigurationAppGuiSettingItemListView::CleanupStatusPane() +// ----------------------------------------------------------------------------- +// +void CATConfigurationAppGuiSettingItemListView::CleanupStatusPane() + { + LOGSTR1( "ATCU CATConfigurationAppGuiSettingItemListView::CleanupStatusPane()" ); + } + +// ----------------------------------------------------------------------------- +// CATConfigurationAppGuiSettingItemListView::HandleChangeSelectedSettingItemL() +// Handle the selected event. +// ----------------------------------------------------------------------------- +// +TBool CATConfigurationAppGuiSettingItemListView::HandleChangeSelectedSettingItemL( + TInt /*aCommand*/ ) + { + LOGSTR1( "ATCU CATConfigurationAppGuiSettingItemListView::HandleChangeSelectedSettingItemL()" ); + + iATConfigUISettingItemList->ChangeSelectedItemL(); + return ETrue; + } + +// End of File