launcher/src/launcherviewoutput.cpp
branchRCL_3
changeset 22 fad26422216a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/launcher/src/launcherviewoutput.cpp	Wed Sep 01 12:30:35 2010 +0100
@@ -0,0 +1,144 @@
+/*
+* 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 FILES
+#include  <aknViewAppUi.h>
+#include  <avkon.hrh>
+#include  <Launcher.rsg>
+#include  "launcherviewoutput.h"
+#include  "launchercontaineroutput.h" 
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CLauncherViewOutput::ConstructL(const TRect& aRect)
+// EPOC two-phased constructor
+// ---------------------------------------------------------
+//
+void CLauncherViewOutput::ConstructL(CLauncherEngine* aEngine)
+    {
+    BaseConstructL( R_LAUNCHER_VIEW2 );
+
+    iContainer = new (ELeave) CLauncherContainerOutput;
+    iContainer->SetMopParent(this);
+    iContainer->ConstructL( ClientRect(), aEngine );
+
+    AppUi()->AddToStackL( *this, iContainer );
+
+    aEngine->SetContainerOutput(iContainer);
+    }
+
+// ---------------------------------------------------------
+// CLauncherViewOutput::~CLauncherViewOutput()
+// ---------------------------------------------------------
+//
+CLauncherViewOutput::~CLauncherViewOutput()
+    {
+    AppUi()->RemoveFromViewStack( *this, iContainer );
+    delete iContainer;
+    }
+
+// ---------------------------------------------------------
+// TUid CLauncherViewOutput::Id()
+// ---------------------------------------------------------
+//
+TUid CLauncherViewOutput::Id() const
+    {
+    return KView2Id;
+    }
+
+// ------------------------------------------------------------------------------
+// CLauncherViewApps::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane)
+//  This function is called by the EIKON framework just before it displays
+//  a menu pane. Its default implementation is empty, and by overriding it,
+//  the application can set the state of menu items dynamically according
+//  to the state of application data.
+// ------------------------------------------------------------------------------
+//
+
+void CLauncherViewOutput::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
+    {
+    if (aResourceId == R_LAUNCHER_VIEW2_MENU)
+        {
+        // ...
+        }
+    else
+        {
+        AppUi()->DynInitMenuPaneL(aResourceId, aMenuPane);
+        }
+    }
+
+// ---------------------------------------------------------
+// CLauncherViewOutput::HandleCommandL(TInt aCommand)
+// ---------------------------------------------------------
+//
+void CLauncherViewOutput::HandleCommandL(TInt aCommand)
+    {   
+
+    switch ( aCommand )
+        {
+        case ECmdClearWindow:
+            {
+            iContainer->ClearOutputWindowL();
+            break;
+            }
+        default:
+            {
+            AppUi()->HandleCommandL( aCommand );
+            break;
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CLauncherViewOutput::HandleClientRectChange()
+// ---------------------------------------------------------
+//
+void CLauncherViewOutput::HandleClientRectChange()
+    {
+    if ( iContainer )
+        {
+        iContainer->SetRect( ClientRect() );
+        }
+    }
+
+// ---------------------------------------------------------
+// CLauncherViewOutput::DoActivateL(...)
+// ---------------------------------------------------------
+//
+void CLauncherViewOutput::DoActivateL(
+   const TVwsViewId& /*aPrevViewId*/,TUid /*aCustomMessageId*/,
+   const TDesC8& /*aCustomMessage*/)
+    {
+    //AppUi()->AddToStackL( *this, iContainer );
+    iContainer->ActivateL();
+    iContainer->MakeVisible(ETrue);
+    }
+
+// ---------------------------------------------------------
+// CLauncherViewOutput::DoDeactivate()
+// ---------------------------------------------------------
+//
+void CLauncherViewOutput::DoDeactivate()
+    {
+    iContainer->MakeVisible(EFalse);
+    //AppUi()->RemoveFromViewStack( *this, iContainer );
+    }
+
+// End of File
+