profilesapplication/Profiles/ProfileApp/UIsrc/CProfileMainContainer.cpp
branchRCL_3
changeset 18 b7fa36b488f8
parent 17 861562a14a53
child 19 cd54903d48da
--- a/profilesapplication/Profiles/ProfileApp/UIsrc/CProfileMainContainer.cpp	Thu Aug 19 09:55:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,293 +0,0 @@
-/*
-* 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: Container class of main view.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "CProfileMainContainer.h"
-
-#include <AknDef.h>
-#include <aknlists.h>
-#include <AknUtils.h> // AknTextUtils
-#include <featmgr.h>
-#include <CProfileEngineHandler.h>
-#include <CProfileIndexHandler.h>
-#include <MProfileEngineExtended.h>
-#include <MProfilesNamesArray.h>
-#include <csxhelp/mode.hlp.hrh>
-#include <ProfileEng.hrh>
-
-#include "CProfileMainView.h"
-#include "CProfileDocument.h"
-#include "CProfileApplication.h"
-#include "ProfileApp.hrh"
-#include "ProfileEngineConstants.h"
-
-// CONSTANTS
-_LIT( KTabChar, "\t" );
-const TInt KProfileNameArrayGranularity( 5 );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::CProfileMainContainer
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CProfileMainContainer::CProfileMainContainer(
-    CProfileEngineHandler& aEngineHandler,
-    CProfileIndexHandler& aIndexHandler,
-    CAknView& aView )
-    :   iEngineHandler( aEngineHandler ),
-        iIndexHandler( aIndexHandler ),
-        iView( aView )
-    {
-    SetMopParent( &aView );
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CProfileMainContainer::ConstructL( const TRect& aRect )
-    {
-    CreateWindowL();
-
-    iListBox = new( ELeave ) CAknSingleStyleListBox();
-    iListBox->ConstructL( this );
-    iListBox->SetListBoxObserver( this );
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
-        CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
-
-    SetRect( aRect );
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CProfileMainContainer* CProfileMainContainer::NewL(
-    CProfileEngineHandler& aEngineHandler,
-    CProfileIndexHandler& aIndexHandler,
-    CAknView& aView )
-    {
-    CProfileMainContainer* self = new( ELeave ) CProfileMainContainer(
-        aEngineHandler, aIndexHandler, aView );
-    CleanupStack::PushL( self );
-    self->ConstructL( aView.ClientRect() );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// Destructor
-CProfileMainContainer::~CProfileMainContainer()
-    {
-    delete iListBox;
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::PopulateListBoxL
-// -----------------------------------------------------------------------------
-//
-void CProfileMainContainer::PopulateListBoxL( TInt aTopItemIndex )
-    {
-    // Transfer decorated array ownership for listbox model
-    CDesCArrayFlat* decoratedArray =
-        new( ELeave ) CDesCArrayFlat( KProfileNameArrayGranularity );
-    CTextListBoxModel* model = iListBox->Model();
-    model->SetOwnershipType( ELbmOwnsItemArray );
-    model->SetItemTextArray( decoratedArray );
-
-    MProfilesNamesArray* array = iEngineHandler.IdArray();
-
-    // Populate the decorated array for listbox
-    TInt count( array->MdcaCount() );
-    TBuf<PROFILES_MAX_NAME_LENGTH + 1> name; // + 1 for tab character
-    for( TInt index( 0 ); index < count; index++ )
-        {
-        name.Copy( KTabChar );
-        TBuf< KProfileMaxNameLength > tmpName( array->MdcaPoint( index ) );
-        AknTextUtils::DisplayTextLanguageSpecificNumberConversion( tmpName );
-        AknTextUtils::ReplaceCharacters( tmpName, KAknReplaceListControlChars,
-                                         TChar( ' ' ) );
-        name.Append( tmpName );
-        decoratedArray->AppendL( name );
-        }
-
-    // Update listbox
-    iListBox->HandleItemAdditionL();
-
-    // Update view
-    if( aTopItemIndex >= 0 )
-        {
-        iListBox->SetTopItemIndex( aTopItemIndex );
-        }
-    iListBox->SetCurrentItemIndex( iIndexHandler.CurrentProfileIndex() );
-    iListBox->DrawNow();
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::TopItemIndex
-// -----------------------------------------------------------------------------
-//
-TInt CProfileMainContainer::TopItemIndex() const
-    {
-    return iListBox->TopItemIndex();
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::CountComponentControls
-// -----------------------------------------------------------------------------
-//
-TInt CProfileMainContainer::CountComponentControls() const
-    {
-    return KMainContainerSubControlCount;
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::ComponentControl
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CProfileMainContainer::ComponentControl( TInt aIndex ) const
-    {
-    switch( aIndex )
-        {
-        case 0:
-            {
-            return iListBox;
-            }
-        default:
-            {
-            return NULL;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CProfileMainContainer::SizeChanged()
-    {
-    if( iListBox )
-        {
-        iListBox->SetRect( Rect() );    // Set container's rect to listbox
-        // Force refreshing of iListBox:
-        TRAP_IGNORE( iListBox->HandleItemAdditionL() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CProfileMainContainer::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent, TEventCode aType )
-    {
-    if( aType != EEventKey )
-        {
-        return EKeyWasNotConsumed;
-        }
-
-    switch( aKeyEvent.iCode )
-        {
-        case EKeyUpArrow: // flow through, both change focus
-        case EKeyDownArrow:
-            {
-            TKeyResponse response( iListBox->OfferKeyEventL( aKeyEvent, aType ) );
-            iIndexHandler.SetCurrentProfileIndex( iListBox->CurrentItemIndex() );
-            return response;
-            }
-        case EKeyBackspace: // Clear key
-            {
-            if( ( FeatureManager::FeatureSupported( KFeatureIdDynamicProfiles ) ) &&
-                ( !iEngineHandler.Engine()->IsDefaultProfile(
-                    iEngineHandler.IdForIndex( iIndexHandler.CurrentProfileIndex() ) ) ) )
-                {
-                // If dynamic profiles feature is supported and none of
-                // the default profiles is focused, try to delete a profile.
-                iView.HandleCommandL( EProfileCmdDelete );
-                return EKeyWasConsumed;
-                }
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }
-    return iListBox->OfferKeyEventL( aKeyEvent, aType );
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::HandleListBoxEventL
-// -----------------------------------------------------------------------------
-//
-void CProfileMainContainer::HandleListBoxEventL(
-    CEikListBox* /* aListBox */, TListBoxEvent aEventType )
-    {
-    if( ( aEventType == EEventEnterKeyPressed ) ||
-        
-        ( aEventType == EEventItemSingleClicked ) )
-    	{
-    	iIndexHandler.SetCurrentProfileIndex( iListBox->CurrentItemIndex() );
-        iView.HandleCommandL( EProfileCmdContextSpecificOptionsMenu );
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::GetHelpContext
-// -----------------------------------------------------------------------------
-//
-void CProfileMainContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    aContext.iMajor = KUidProfileApp;
-    aContext.iContext = KMODE_HLP_PROFILES_LIST;
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::HandleResourceChange
-// -----------------------------------------------------------------------------
-//
-void CProfileMainContainer::HandleResourceChange( TInt aType )
-    {
-    if ( aType == KEikDynamicLayoutVariantSwitch ||
-         aType == KAknsMessageSkinChange )
-        {
-        (static_cast <CProfileMainView *> (&iView))->UpdateClientRect();
-        }
-        
-    CCoeControl::HandleResourceChange( aType );   
-    }
-
-// -----------------------------------------------------------------------------
-// CProfileMainContainer::FocusChanged
-// -----------------------------------------------------------------------------
-//
-void CProfileMainContainer::FocusChanged( TDrawNow aDrawNow )
-    {
-    if( iListBox )
-        {
-        iListBox->SetFocus( IsFocused(), aDrawNow );
-        }
-    }
-
-// End of File