locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingscontainer.cpp
branchRCL_3
changeset 44 2b4ea9893b66
parent 42 02ba3f1733c6
child 45 6b6920c56e2f
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingscontainer.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,433 +0,0 @@
-/*
-* Copyright (c) 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:  SUPL Settings UI View's container
-*
-*/
-
-
-// System Includes
-#include <eikspane.h> 		// Status pane
-#include <akntitle.h>   	// CAknTitlePane
-#include <aknlists.h>
-#include <StringLoader.h>
-#include <locsuplsettingsui.rsg>
-#include <csxhelp/locsupl.hlp.hrh>          // Help File
-
-// User Includes
-#include "locsuplsettings.hrh"
-#include "locsuplsettingsuid.hrh"
-#include "locsuplsettingscontainer.h"
-#include "locsuplsettingslbmodel.h"
-#include "locsuplsettingsuiengine.h"
-#include "locsuplsettingsview.h"
-#include "locsupldebug.h"
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsContainer::CLocSUPLSettingsContainer
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//	
-CLocSUPLSettingsContainer::CLocSUPLSettingsContainer( 
-                                        CLocSUPLSettingsView&         aSettingsView )
-    : iSettingsView( aSettingsView )
-	{
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsContainer::~CLocSUPLSettingsContainer
-// Destructor
-//
-// ---------------------------------------------------------------------------	
-//
-CLocSUPLSettingsContainer::~CLocSUPLSettingsContainer()
-	{
-	DEBUG( + CLocSUPLSettingsContainer::~CLocSUPLSettingsContainer );	
-	// Delete the List box model only after deleting the list box
-	delete iListBox;
-	iListBox = NULL;
-	
-	delete iListBoxModel;
-	iListBoxModel = NULL;
-	DEBUG( - CLocSUPLSettingsContainer::~CLocSUPLSettingsContainer );	
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsContainer* CLocSUPLSettingsContainer::NewL
-// Static Two phase constructor that instantiates the CLocSUPLSettingsContainer
-//
-// @param aRect							Client rectangle
-// @param aEngine                       Reference to the SUPL Settings
-//                                      engine 
-// @param aSettingsView                 Reference to the container's view
-// @return CLocSUPLSettingsContainer*	Reference to the object created
-// ---------------------------------------------------------------------------    
-//
-CLocSUPLSettingsContainer* CLocSUPLSettingsContainer::NewL( 
-                    const TRect& 	                    aRect,
-                          CLocSUPLSettingsUiEngine&     aEngine,
-                          CLocSUPLSettingsView&         aSettingsView )
-	{	
- 	DEBUG( + CLocSUPLSettingsContainer::NewL );	
-   	CLocSUPLSettingsContainer* self = NewLC( aRect, 
-                                             aEngine,
-                                             aSettingsView );
-	CleanupStack::Pop( self );
-	DEBUG( - CLocSUPLSettingsContainer::NewL );	
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsContainer* CLocSUPLSettingsContainer::NewLC
-// Static Two phase contructor that instantiates the CLocSUPLSettingsContainer
-//
-// @param aRect							Client rectangle
-// @param aEngine                       Reference to the SUPL Settings
-//                                      engine 
-// @param @param aSettingsView                 Reference to the container's view
-// @return CLocSUPLSettingsContainer*	Reference to the object created
-// ---------------------------------------------------------------------------  
-//  
-CLocSUPLSettingsContainer* CLocSUPLSettingsContainer::NewLC( 
-                    const TRect& 	                    aRect,
-                          CLocSUPLSettingsUiEngine&     aEngine,
-                          CLocSUPLSettingsView&         aSettingsView  )
-	{	
-    CLocSUPLSettingsContainer* self = new ( ELeave ) CLocSUPLSettingsContainer(
-                                                        aSettingsView );
-	CleanupStack::PushL( self );
-	self->ConstructL( aRect, aEngine );
-	return self;
-	}
-
-// --------------------------------------------------------------------------- 
-// void CLocSUPLSettingsContainer::ConstructL
-// Second phase of the two phase Construction process
-//
-// @param aRect				 Client rectangle
-// @param aEngine            Reference to the SUPL Settings engine
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::ConstructL( 
-                                    const TRect& 	aRect ,
-                                          CLocSUPLSettingsUiEngine&     aEngine )
-	{
-	DEBUG( + CLocSUPLSettingsContainer::ConstructL );	
-	//Make this control a window-owning control
-	CreateWindowL(); 
-	
-	// Create a New Title for the View
-	MakeTitleL( R_SUPLVIEW_TITLE );
-	
-	CreateListboxL( aEngine );
-	
-	// Get the Help context
-	iContextName = KLOC_HLP_SUPL();
-	
-    SetRect( aRect );
-    ActivateL();
-	DEBUG( - CLocSUPLSettingsContainer::ConstructL );	
-	}	
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::UpdateScreen
-// Refreshes the screen so that the list box reflects the latest contents
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::UpdateScreen()
-    {
-	DEBUG( + CLocSUPLSettingsContainer::UpdateScreen );	
-    if ( iListBox )
-        {
-    	// Update Listbox items
-    	TRAP_IGNORE( iListBox->HandleItemAdditionL() );
-    	TRAP_IGNORE( iListBox->HandleItemRemovalL() );
-        }
-    DrawNow();
-	DEBUG( - CLocSUPLSettingsContainer::UpdateScreen );	
-    }
-
-// -----------------------------------------------------------------------------
-// TInt CLocSUPLSettingsContainer::SelectedItemIndex
-// Returns the Selected element. The list box model defines the enumeration that
-// would determine the current element that has been selected
-//
-// @return TInt Index of the item selected
-// -----------------------------------------------------------------------------
-//
-TInt CLocSUPLSettingsContainer::SelectedItemIndex()
-    {
-    return iListBoxModel->ResolveSettingsItem( iListBox->CurrentItemIndex() );
-    }
-			       
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::HandleResourceChange
-//
-// ---------------------------------------------------------------------------	
-void CLocSUPLSettingsContainer::HandleResourceChange(TInt aType)
-	{
-	DEBUG( + CLocSUPLSettingsContainer::HandleResourceChange );	
-	// Pass the event to the base class
-	CCoeControl::HandleResourceChange(aType);
-    switch( aType )
-    	{
-    	// Dynamic Layout switch
-    	case KEikDynamicLayoutVariantSwitch:
-    		{
-    		iSettingsView.HandleScreenSizeChange();
-			break;
-    		}
-    	default:
-    		{
-    		break;
-    		}
-    	}
-	DEBUG( - CLocSUPLSettingsContainer::HandleResourceChange );	
-	}
-   
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsContainer::GetHelpContext
-//
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-	DEBUG( + CLocSUPLSettingsContainer::GetHelpContext );	
-    aContext.iContext = iContextName;
-    aContext.iMajor = TUid::Uid( KLOCSUPLSETTINGSUIUID3 );
-	DEBUG( - CLocSUPLSettingsContainer::GetHelpContext );	
-    }
-    
-// ---------------------------------------------------------------------------
-// TInt CLocSUPLSettingsContainer::CountComponentControls
-//
-// ---------------------------------------------------------------------------
-TInt CLocSUPLSettingsContainer::CountComponentControls() const
-	{
-	return 1;
-	}
-
-// ---------------------------------------------------------------------------
-// CCoeControl* CLocSUPLSettingsContainer::ComponentControl
-//
-// ---------------------------------------------------------------------------
-CCoeControl* CLocSUPLSettingsContainer::ComponentControl( TInt /*aIndex*/ ) const
-	{
-	return iListBox;	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::OfferKeyEventL
-//
-// ---------------------------------------------------------------------------	
-//
-TKeyResponse CLocSUPLSettingsContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-										   					  TEventCode aType )
-	{
-	DEBUG( + CLocSUPLSettingsContainer::OfferKeyEventL );	
-	if( aType == EEventKey )
-		{
-		switch ( aKeyEvent.iScanCode )
-	        {
-	        case EStdKeyUpArrow:
-	        case EStdKeyDownArrow:
-	        	{        	
-	        	TKeyResponse keyresponse = iListBox->OfferKeyEventL( aKeyEvent, aType );        	
-	            iSettingsView.HandleCommandL( ELocSuplOpenChange );
-	            return keyresponse;	
-	        	}
-	        default:
-	        	{
-	        	break;	
-	        	}
-	        }		
-		}
-	DEBUG( - CLocSUPLSettingsContainer::OfferKeyEventL );	
-    // now it's iListBox's job to process the key event
-    return iListBox->OfferKeyEventL( aKeyEvent, aType ); 
-	}
-	    
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::HandleListBoxEventL
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::HandleListBoxEventL( CEikListBox*  /* aListBox */, 
-		 						   					 TListBoxEvent aEventType )
-	{
-	DEBUG( + CLocSUPLSettingsContainer::HandleListBoxEventL );	
-	switch (aEventType)
-        {
-        case EEventItemClicked:
-            {
-            // The item is just selected here. Change the MSK to reflect
-            // the Correct MSK value
-            iSettingsView.HandleCommandL( ELocSuplOpenChange );
-            break;    
-            }
-        // List box Item Selection
-        case EEventEnterKeyPressed:
-        case EEventItemSingleClicked: //case EEventItemDoubleClicked:
-            {
-            // Settings element has been selected. Command has to be issued to
-            // change the settings configuration
-            if ( SelectedItemIndex() == 0 )
-                {
-                iSettingsView.HandleCommandL( ELocSuplMSKChange );
-                }
-            else if ( SelectedItemIndex() == 1 || SelectedItemIndex() == 2 )
-                {
-                iSettingsView.HandleCommandL( ELocSuplMSKOpen );
-                }
-            break;	
-            }
-        default:
-           break;
-        }
-	DEBUG( - CLocSUPLSettingsContainer::HandleListBoxEventL );	
-	}
-	         		 	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::FocusChanged
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::FocusChanged( TDrawNow aDrawNow )
-	{
-	DEBUG( + CLocSUPLSettingsContainer::FocusChanged );	
-	CCoeControl::FocusChanged( aDrawNow );
-	// The focus event has to be explicitly handed over to all the compound
-	// controls since CCoeControl does not do that implicitly
-	if ( iListBox )
-		{
-		iListBox->SetFocus( IsFocused(), aDrawNow );				
-		}
-	DEBUG( - CLocSUPLSettingsContainer::FocusChanged );	
-	}
-		
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsContainer::SizeChanged
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::SizeChanged()
-	{
-	DEBUG( + CLocSUPLSettingsContainer::SizeChanged );	
-	if ( iListBox )
-		{
-		iListBox->SetRect( Rect());
-		}
-	DEBUG( - CLocSUPLSettingsContainer::SizeChanged );	
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::MakeTitleL
-// Sets the Title text
-//
-// @param aResourceText Resource to create title
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::MakeTitleL( TInt aResourceText )
-	{
-	DEBUG( + CLocSUPLSettingsContainer::MakeTitleL );	
-	// Obtain the title from the Status Pane
-	CAknTitlePane* title = static_cast<CAknTitlePane*>( StatusPane()->
-        ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-       
-    // Set the Title's buffer    
-    HBufC* buf = StringLoader::LoadL( aResourceText );
-    title->SetText( buf ); // Takes ownership of buf
-	DEBUG( - CLocSUPLSettingsContainer::MakeTitleL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::StatusPane
-// Returns the Appui's status pane
-//
-// @return CEikStatusPane* Statuspane pointer
-// ---------------------------------------------------------------------------
-//
-CEikStatusPane* CLocSUPLSettingsContainer::StatusPane()
-	{
-	return iEikonEnv->AppUiFactory()->StatusPane();	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::CreateListboxL
-// Creates the List box and the Listbox model. Associates the list box model 
-// with the list box
-//
-// @param aEngine                       Reference to the SUPL Settings
-//                                      engine 
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLSettingsContainer::CreateListboxL( 
-                                    CLocSUPLSettingsUiEngine&     aEngine )
-	{
-	DEBUG( + CLocSUPLSettingsContainer::CreateListboxL );	
-	// Create the Listbox model
-    iListBoxModel = CLocSUPLSettingsLBModel::NewL( aEngine );
-	
-	// Create the List box
-	iListBox = new ( ELeave ) CAknSettingStyleListBox;
-    iListBox->ConstructL( this, EAknListBoxSelectionList );
-    iListBox->SetContainerWindowL( *this ); 
-    iListBox->SetListBoxObserver( this );
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
-    													 CEikScrollBarFrame::EAuto ); 
-    													 
-    // The ownership of the list box model is retained with the Container.
-    // This is because the model contains the additional functionality of
-    // changing the settings values in addition to retreiving it.    													 
-    iListBox->Model()->SetItemTextArray( iListBoxModel );	
-    iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );									
-    iListBox->ActivateL();
-	DEBUG( - CLocSUPLSettingsContainer::CreateListboxL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsContainer::FocusToItemL
-// Focus move to server detail setting item
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsContainer::FocusToItemL( TInt aIndex )
-	{
-		iListBox->SetCurrentItemIndex( aIndex );
-	}
-    
-// ---------------------------------------------------------------------------
-// TInt CLocSUPLSettingsLBModel::ActiveSessionCount()
-// Returns the number of Active sessions.
-//
-// @return  TInt Returns the number of Active sessions count.
-// ---------------------------------------------------------------------------
-//	
-TInt CLocSUPLSettingsContainer::ActiveSessionCount( ) const
-    {
-	if( iListBoxModel )
-		{
-		return iListBoxModel->ActiveSessionCount();
-		}
-	else
-		{
-		return 0;
-		}
-	}
-
-// End of file