connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiDetailsView.cpp
branchRCL_3
changeset 58 83ca720e2b9a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiDetailsView.cpp	Wed Sep 01 12:23:51 2010 +0100
@@ -0,0 +1,238 @@
+/*
+* Copyright (c) 2002 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:  view class
+*     
+*
+*/
+
+
+// INCLUDE FILES
+#include  <ConnectionMonitorUi.rsg>
+#include  "ConnectionMonitorUiDetailsView.h"
+#include  "ConnectionMonitorUiDetailsContainer.h" 
+#include  "ConnectionMonitorUi.hrh"
+#include  "ConnectionArray.h"
+
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------
+// ConnectionMonitorUiDetailsView::ConnectionMonitorUiDetailsView( 
+//                                 const CConnectionArray* aConnectionArray )
+// ---------------------------------------------------------
+//
+CConnectionMonitorUiDetailsView::CConnectionMonitorUiDetailsView( 
+                             CConnectionArray* const aConnectionArray )
+    : CAknView(), 
+      iConnectionArray( aConnectionArray ), 
+      iViewRefreshState( EFalse )
+    {}
+
+// ---------------------------------------------------------
+// ConnectionMonitorUiDetailsView::ConstructL()
+// ---------------------------------------------------------
+//
+void CConnectionMonitorUiDetailsView::ConstructL()
+    {
+    BaseConstructL( R_CONNECTIONMONITORUI_DETAILSVIEW );
+    }
+
+// ---------------------------------------------------------
+// CConnectionMonitorUiDetailsView::~CConnectionMonitorUiDetailsView()
+// ---------------------------------------------------------
+//
+CConnectionMonitorUiDetailsView::~CConnectionMonitorUiDetailsView()
+    {
+    delete iContainer;
+    }
+
+// ---------------------------------------------------------
+// TUid CConnectionMonitorUiDetailsView::Id()
+// ?implementation_description
+// ---------------------------------------------------------
+//
+TUid CConnectionMonitorUiDetailsView::Id() const
+    {
+    return KDetailsViewId;
+    }
+
+// ---------------------------------------------------------
+// CConnectionMonitorUiDetailsView::HandleCommandL( TInt aCommand )
+// ---------------------------------------------------------
+//
+void CConnectionMonitorUiDetailsView::HandleCommandL( TInt aCommand )
+    {   
+    switch ( aCommand )
+        {
+        case EAknSoftkeyOk:
+            {
+            CloseViewL();
+            ActivateMainViewL();
+            break;
+            }
+        default:
+            {
+            AppUi()->HandleCommandL( aCommand );
+            break;
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CConnectionMonitorUiDetailsView::CloseViewL()
+// ---------------------------------------------------------
+//
+void CConnectionMonitorUiDetailsView::CloseViewL()
+    {   
+    CMUILOGGER_ENTERFN( "CConnectionMonitorUiDetailsView::CloseViewL" );    
+    
+    if ( GetViewRefreshState() )
+        {
+        // Now delete this view
+        CConnectionMonitorUiAppUi* appUi =
+            (CConnectionMonitorUiAppUi*)AppUi();
+        appUi->StartTimerL();
+        SetViewRefreshState( EFalse );
+        }
+    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiDetailsView::CloseViewL" );
+    }
+
+// ---------------------------------------------------------
+// CConnectionMonitorUiDetailsView::SetSelectedConnectionId
+// ---------------------------------------------------------
+//
+void CConnectionMonitorUiDetailsView::SetSelectedConnection( TUint aIndex )
+    {
+    iConnectionId = aIndex;
+    }
+    
+// ---------------------------------------------------------
+// CConnectionMonitorUiDetailsView::GetSelectedConnection
+// ---------------------------------------------------------
+//
+TUint CConnectionMonitorUiDetailsView::GetSelectedConnection()
+	{
+	TUint result( KErrNone );
+	if ( iContainer )
+		{
+		result = iContainer->GetIndexOfSelectedItem();	
+		}
+	return result;		
+	}
+
+
+// ---------------------------------------------------------
+// CConnectionMonitorUiDetailsView::DoActivateL(...)
+// ---------------------------------------------------------
+//
+void CConnectionMonitorUiDetailsView::DoActivateL(
+   const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/,
+   const TDesC8& /*aCustomMessage*/ )
+    {
+    CMUILOGGER_ENTERFN( "CConnectionMonitorUiDetailsView::DoActivateL" );
+    
+    if ( !iContainer )
+        {
+        iContainer = new ( ELeave ) CConnectionMonitorUiDetailsContainer( 
+                                                            iConnectionArray );
+        iContainer->SetMopParent( this );
+        iContainer->ConstructL( ClientRect(), this );
+        iContainer->SetSelectedConnectionL( iConnectionId );
+        CConnectionMonitorUiAppUi::Static()->StartConnEventNotification( 
+                                                                  iContainer );
+        iContainer->DrawFirstAllListBoxItem();
+
+        iContainer->PushAndRefreshNaviPaneL();
+        iContainer->MakeVisible( ETrue );
+        AppUi()->AddToViewStackL( *this, iContainer );
+        }
+    
+    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiDetailsView::DoActivateL" );
+    
+    }
+
+// ---------------------------------------------------------
+// CConnectionMonitorUiDetailsView::DoDeactivate
+// ---------------------------------------------------------
+//
+void CConnectionMonitorUiDetailsView::DoDeactivate()
+    {
+    CMUILOGGER_ENTERFN( "CConnectionMonitorUiDetailsView::DoDeactivate" );
+    
+    if ( iContainer )
+        {
+        AppUi()->RemoveFromViewStack( *this, iContainer );
+        CConnectionMonitorUiAppUi::Static()->StopConnEventNotification( 
+                                                             iContainer );
+        iContainer->PopNaviPane();
+        iContainer->MakeVisible( EFalse );
+
+        delete iContainer;
+        iContainer = NULL;
+        }                
+    }
+
+// ---------------------------------------------------------
+// CConnectionMonitorUiDetailsView::HandleListBoxEventL
+// ---------------------------------------------------------
+//
+void CConnectionMonitorUiDetailsView::HandleListBoxEventL( 
+                                                    CEikListBox* /*aListBox*/,
+                                                    TListBoxEvent aEventType )
+    {
+    switch ( aEventType )
+        {
+        case EEventEnterKeyPressed:
+        //case EEventItemDoubleClicked:
+        case EEventItemSingleClicked:
+            {
+            AppUi()->ActivateLocalViewL( 
+                            TUid::Uid( EConnectionMonitorUiMainViewTab ) );
+            }
+            break;
+
+        default:
+            break;
+        }
+    }
+
+// ---------------------------------------------------------
+// CConnectionMonitorUiDetailsView::GetViewRefreshState
+// ---------------------------------------------------------
+//
+TBool CConnectionMonitorUiDetailsView::GetViewRefreshState()
+    {
+    return iViewRefreshState;	
+    }
+
+// ---------------------------------------------------------
+// CConnectionMonitorUiDetailsView::SetViewRefreshState
+// ---------------------------------------------------------
+//
+void CConnectionMonitorUiDetailsView::SetViewRefreshState( 
+                                                    TBool aViewRefreshState )
+    {
+    iViewRefreshState = aViewRefreshState;
+    }
+
+// ---------------------------------------------------------
+// CConnectionMonitorUiDetailsView::ActivateMainViewL()
+// ---------------------------------------------------------
+//
+void CConnectionMonitorUiDetailsView::ActivateMainViewL()
+    {   
+    AppUi()->ActivateLocalViewL( TUid::Uid( EConnectionMonitorUiMainViewTab ) );
+    }
+
+
+// End of File
+