psln/Src/PslnMainView.cpp
changeset 37 89c890c70182
parent 34 6b5204869ed5
child 45 667edd0b8678
--- a/psln/Src/PslnMainView.cpp	Fri Jun 25 18:53:58 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,361 +0,0 @@
-/*
-* Copyright (c) 2005-2006 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:  Main state view for Psln application.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <psln.rsg>
-
-#include <eikbtgpc.h>
-#include <avkon.rsg>
-
-#include "PslnMainView.h"
-#include "PslnMainViewContainer.h"
-#include "PslnUi.h"
-
-// Framework
-#include <pslnfwplugininterface.h>
-#include "PslnPluginHandler.h"
-
-// CONSTANTS
-// Main view indexes of default plugins.
-const TInt KPslnASPluginLoc = 1;
-const TInt KPslnAIPluginLoc = 2;
-
-// ============================ MEMBER FUNCTIONS ===============================
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CPslnMainView* CPslnMainView::NewLC()
-    {
-    CPslnMainView* self = new (ELeave) CPslnMainView();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// ---------------------------------------------------------------------------
-//
-void CPslnMainView::ConstructL()
-    {
-    BaseConstructL( R_PSLN_MAIN_VIEW );
-
-    ConstructViewArrayL();
-    // Start background operation and create tabgroup.
-    iPslnUi->LoadViewsWhenIdleL();
-    iPslnUi->ConstructTabGroupL();
-    }
-
-// ---------------------------------------------------------------------------
-// C++ default constructor can NOT contain any code, that might leave.
-// ---------------------------------------------------------------------------
-//
-CPslnMainView::CPslnMainView()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CPslnMainView::~CPslnMainView()
-    {
-    iViewIds.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// TUid CPslnMainView::Id()
-// ---------------------------------------------------------------------------
-//
-TUid CPslnMainView::Id() const
-    {
-    return KPslnMainView2;
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnMainView::HandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CPslnMainView::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EPslnCmdAppOpen:
-            DoActivateLocalViewL();
-            break;
-        // If view was launched externally, handle back as exit.
-        case EAknSoftkeyBack:
-        case EAknSoftkeyExit:
-            aCommand = EAknCmdExit;
-            //lint -fallthrough
-        default:
-            iPslnUi->HandleCommandL( aCommand );
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnMainView::ActiveView
-// ---------------------------------------------------------------------------
-//
-TInt CPslnMainView::ActiveView() const
-    {
-    return iCurrentItem;
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnMainView::SetActiveFolder
-// ---------------------------------------------------------------------------
-//
-void CPslnMainView::SetActiveFolder( TInt aIndex )
-    {
-    iCurrentItem = aIndex;
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnMainView::ActiveFolderUid
-// ---------------------------------------------------------------------------
-//
-TInt CPslnMainView::ActiveFolderUid()
-    {
-    if ( ( iCurrentItem > iViewIds.Count() )||
-         ( iCurrentItem < 0 ) )
-        {
-        // If index is out-of-bounds, set first item active.
-        iCurrentItem = 0;
-        return 0;
-        }
-    return iViewIds[ iCurrentItem ].iUid;
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnMainView::SetActiveFolder
-// ---------------------------------------------------------------------------
-//
-void CPslnMainView::SetActiveFolder( TUid aUid )
-    {
-    for ( TInt idx = 0; idx < iViewIds.Count(); idx++ )
-        {
-        if ( iViewIds[ idx ].iUid == aUid.iUid )
-            {
-            iCurrentItem = idx;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnMainView::DoActivateL
-// ---------------------------------------------------------------------------
-void CPslnMainView::DoActivateL(
-    const TVwsViewId& aPrevViewId,
-    TUid aCustomMessageId,
-    const TDesC8& aCustomMessage )
-    {
-    // If application is launched through NULL thread, it means that it is
-    // launched as embedded application
-    if ( aPrevViewId.iAppUid.iUid == KUidPsln.iUid &&
-         aPrevViewId.iViewUid.iUid == KPslnGeneralView.iUid )
-        {        
-        MAknsSkinInstance* si = AknsUtils::SkinInstance();
-        si->SetChangeEventsEnabled( EFalse );
-        si->RemoveLocalItemDefs();
-        si->SetChangeEventsEnabled( ETrue );
-        }
-
-    CPslnBaseView::DoActivateL(
-        aPrevViewId,
-        aCustomMessageId,
-        aCustomMessage );
-
-    // Set middle softkey label.
-    CPslnBaseView::SetMiddleSoftKeyLabelL(
-        R_PSLN_MSK_OPEN,
-        EPslnCmdAppOpen );
-
-    //set highlight ,if returning from other view
-    if(iContainer && aPrevViewId.iAppUid.iUid == KUidPsln.iUid)
-        {
-        //search which item should be highlighted
-        TInt activateItem = GetListboxItemIndexByViewId(aPrevViewId);
-        if(activateItem != KErrNotFound)
-            {
-            iContainer->SetCurrentItemIndex( activateItem );
-            }
-        else
-            {
-            iContainer->SetCurrentItemIndex( iCurrentItem );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnMainView::DynInitMenuPaneL
-// ---------------------------------------------------------------------------
-//
-void CPslnMainView::DynInitMenuPaneL(
-    TInt aResourceId, CEikMenuPane* aMenuPane )
-    {
-    CPslnBaseView::DynInitMenuPaneL( aResourceId, aMenuPane );
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnMainView::HandleListBoxSelectionL
-// ---------------------------------------------------------------------------
-//
-void CPslnMainView::HandleListBoxSelectionL()
-    {
-    HandleCommandL( EPslnCmdAppOpen );
-    }
-
-// -----------------------------------------------------------------------------
-// CPslnMainView::HandleListBoxItemHighlightL
-// -----------------------------------------------------------------------------
-//
-void CPslnMainView::HandleListBoxItemHighlightL()
-    {    
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnMainView::NewContainerL
-// ---------------------------------------------------------------------------
-//
-void CPslnMainView::NewContainerL()
-    {
-    iContainer = new(ELeave) CPslnMainViewContainer( iPslnUi );
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnMainView::ConstructViewArrayL
-// ---------------------------------------------------------------------------
-//
-void CPslnMainView::ConstructViewArrayL()
-    {
-    // First add static views.
-    iViewIds.AppendL( KPslnGeneralView );
-
-    TBitFlags views = iPslnUi->ViewSupport();
-    if ( views.IsSet( CPslnUi::EPslnWallpaperView ) )
-        {
-        iViewIds.AppendL( KPslnWallpaperView );
-        }
-
-    if ( views.IsSet ( CPslnUi::EPslnScreensaverView ) )
-        {
-        iViewIds.AppendL( KPslnScreenSaverView );
-        }
-
-    // Then start looking for plugins.
-    CArrayPtrFlat<CPslnFWPluginInterface>* array =
-        iPslnUi->PluginHandler()->GetPluginArray();
-    CleanupStack::PushL ( array );
-    if ( array )
-        {
-        TBool appShellPluginInserted = EFalse;
-        for ( TInt i = 0; i < array->Count(); i++ )
-            {
-            CAknView* view = array->At( i );
-
-            // If plugin is either AS or AI, insert between static views.
-            if ( view->Id().iUid == KPslnASPluginUid.iUid )
-                {
-                iViewIds.InsertL( view->Id(), KPslnASPluginLoc );
-                appShellPluginInserted = ETrue;
-                }
-            else if ( view->Id().iUid == KPslnAIPluginUid.iUid )
-                {
-                if ( appShellPluginInserted )
-                    {
-                    iViewIds.InsertL( view->Id(), KPslnAIPluginLoc );
-                    }
-                else
-                    {
-                    // If there is ASplugin - claim it's place.
-                    // note that ASplugin maybe later inserted to this place.
-                    iViewIds.InsertL( view->Id(), KPslnASPluginLoc );
-                    }
-                }
-            // Other plugins are just appended in order from plugin array.
-            // Plugins are already ordered in PluginHandler.
-            else
-                {
-                iViewIds.AppendL( view->Id() );
-                }
-            }
-        }
-    CleanupStack::Pop( array );
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnMainView::CbaExitEnabled
-// ---------------------------------------------------------------------------
-//
-TInt CPslnMainView::CbaResourceId( const TVwsViewId& /*aPrevViewId*/,TUid /*aCustomMessageId*/ )
-    {
-    TBool value =  iEikonEnv->StartedAsServerApp();
-    return   value ? R_AVKON_SOFTKEYS_OPTIONS_BACK
-        : R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    }
-
-// ---------------------------------------------------------------------------
-// Tries to activate local view from UI class. If class is not yet
-// created, instructs UI class to create the view first.
-// ---------------------------------------------------------------------------
-//
-void CPslnMainView::DoActivateLocalViewL()
-    {
-    if ( iContainer )
-        {
-        iCurrentItem = iContainer->CurrentItemIndex();
-        }
-    if ( iCurrentItem > iViewIds.Count() )
-        {
-        User::Leave( KErrOverflow );
-        }
-    // These views are possibly done dynamically. It is possible that due to
-    // idle time, they have already been created.
-    if ( iCurrentItem == KPslnGeneralView.iUid ||
-         iCurrentItem == KPslnWallpaperView.iUid ||
-         iCurrentItem == KPslnScreenSaverView.iUid )
-        {
-        iPslnUi->CreateViewL( iViewIds[ iCurrentItem ] );
-        }
-    iPslnUi->ActivateLocalViewL( iViewIds[ iCurrentItem ] );
-    }
-    
-// ---------------------------------------------------------------------------
-// Return given view's index by searching the view id
-// ---------------------------------------------------------------------------
-//
-TInt CPslnMainView::GetListboxItemIndexByViewId(const TVwsViewId& aViewId) const
-    {
-    TInt listBoxItemIndex = KErrNotFound;
-    
-    for( int i=0; i<iViewIds.Count(); i++ )
-        {
-        if( iViewIds[i] == aViewId.iViewUid )
-            {
-            listBoxItemIndex = i;
-            }
-        }
-        
-    return listBoxItemIndex;
-    };
-    
-//  End of File