videocollection/hgmyvideos/src/vcxhgmyvideoslistbase.cpp
changeset 0 96612d01cf9f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/hgmyvideos/src/vcxhgmyvideoslistbase.cpp	Mon Jan 18 20:21:12 2010 +0200
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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:      Base class for Hg based video list implementations.*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <aknViewAppUi.h>
+#include <StringLoader.h>
+#include <utf.h>
+
+#include <ganes/HgScroller.h>
+
+#include <vcxhgmyvideos.rsg>
+#include "vcxhgmyvideoslistbase.h"
+#include "vcxhgmyvideosmainview.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosListBase::CVcxHgMyVideosListBase()
+// -----------------------------------------------------------------------------
+//
+CVcxHgMyVideosListBase::CVcxHgMyVideosListBase( 
+    CVcxHgMyVideosModel& aModel,
+    CVcxHgMyVideosMainView& aView,
+    CHgScroller& aScroller )
+    : iModel( aModel ),
+      iView( aView ),
+      iScroller( &aScroller )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosListBase::ConstructL()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosListBase::ConstructL()
+    {
+    iScroller->MakeVisible( EFalse );
+    iScroller->SetMopParent( &iView );
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosListBase::~CVcxHgMyVideosListBase()
+// -----------------------------------------------------------------------------
+//
+CVcxHgMyVideosListBase::~CVcxHgMyVideosListBase()
+    {
+    iView.AppUi()->RemoveFromStack( iScroller );
+    delete iScroller;
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosListBase::DoListActivateL()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosListBase::DoListActivateL( TInt aIndex )
+    {
+    iView.AppUi()->AddToStackL( iScroller );
+    iScroller->MakeVisible( ETrue );
+    SetEmptyListTextL();
+    SetTitleTextL( aIndex );
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosListBase::DoListDeactivate() 
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosListBase::DoListDeactivate()
+    {
+    iView.AppUi()->RemoveFromStack( iScroller );
+    iScroller->MakeVisible( EFalse );
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosListBase::UpdateLayout()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosListBase::UpdateLayout( TRect& aRect )
+    {
+    if ( aRect != iScroller->Rect() )
+        {
+        TRAP_IGNORE( iScroller->InitScreenL( aRect ) );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosListBase::SetEmptyListTextByResourceL()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosListBase::SetEmptyListTextByResourceL( TInt aResourceId )
+    {
+    HBufC* textFromResourceFile = StringLoader::LoadLC( aResourceId );
+    iScroller->SetEmptyTextL( *textFromResourceFile );
+    CleanupStack::PopAndDestroy( textFromResourceFile );
+    }
+
+// -----------------------------------------------------------------------------
+// CVcxHgMyVideosListBase::SetTitleTextByResourceL()
+// -----------------------------------------------------------------------------
+//
+void CVcxHgMyVideosListBase::SetTitleTextByResourceL( TInt aResourceId )
+    {
+    HBufC* title = StringLoader::LoadLC( aResourceId );
+    iView.TitlePaneL()->SetTextL( *title );
+    CleanupStack::PopAndDestroy( title );
+    }