memana/analyzetoolclient/configurationappgui/src/atconfigurationappguisettingitemlistview.cpp
changeset 0 f0f2b8682603
--- /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 <aknviewappui.h>
+#include <eikmenub.h>
+#include <avkon.hrh>
+#include <akncontext.h>
+#include <akntitle.h>
+#include <stringloader.h>
+#include <barsread.h>
+#include <eikbtgpc.h>
+#include <atconfigurationappgui.rsg>
+
+#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