locationsystemui/locationsysui/locsysuiview/src/locsysuicontainer.cpp
branchRCL_3
changeset 44 2b4ea9893b66
parent 42 02ba3f1733c6
child 45 6b6920c56e2f
--- a/locationsystemui/locationsysui/locsysuiview/src/locsysuicontainer.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,381 +0,0 @@
-/*
-* Copyright (c) 2005 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:  Source file for Location System UI container.
-*
-*
-*/
-
-
-// System Includes
-#include <eikspane.h> 						// Status pane
-#include <akntitle.h>   					// CAknTitlePane
-#include <barsread.h>    					// For TResourceReader
-#include <aknlists.h>						// List box
-#include <locsysuiviewrsc.rsg>		
-#include <csxhelp/locset.hlp.hrh>
-
-// User Includes
-#include "locsysuicontainer.h"
-#include "locsysuiview.h"
-#include "locationsettings.h"
-#include "locsysuilbmodel.h"
-#include "locsysuiviewuid.hrh"
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSysUiContainer::CLocSysUiContainer
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//	
-CLocSysUiContainer::CLocSysUiContainer( 
-								MLocSysUiContainerEventHandler&	aEventHandler )
-	:iEventHandler( aEventHandler )
-	{
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSysUiContainer::~CLocSysUiContainer
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//	
-CLocSysUiContainer::~CLocSysUiContainer()
-	{
-	// Delete the list box
-	delete iListBox;
-	
-	// Delete the List box model
-	delete iListBoxModel;
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSysUiContainer* CLocSysUiContainer::NewL
-// Static Two phase contructor that instantiates the CLocationSystemUiUIContainer
-//
-// @param aEventHandler		 Reference to the Container's event handler
-// @param aSettingsArray	 Reference to the Settings UI array.
-// @param aRect				 Client rectangle.
-// @return CLocSysUiContainer*	Reference to the object created.
-// --------------------------------------------------------------------------- 
-//   
-CLocSysUiContainer* CLocSysUiContainer::NewL( 
-        		MLocSysUiContainerEventHandler&	    aEventHandler,
-        		RPointerArray<CLocationSettings>&   aSettingsArray,
-        		const TRect& 					    aRect )
-	{	
-    CLocSysUiContainer* self = CLocSysUiContainer::NewLC( aEventHandler,
-                                                          aSettingsArray,
-                                                          aRect );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSysUiContainer* CLocSysUiContainer::NewL
-// Static Two phase contructor that instantiates the CLocationSystemUiUIContainer
-//
-// @param aEventHandler		 Reference to the Container's event handler
-// @param aSettingsArray	 Reference to the Settings UI array.
-// @param aRect				 Client rectangle.
-// @return CLocSysUiContainer*	Reference to the object created.
-// --------------------------------------------------------------------------- 
-//
-CLocSysUiContainer* CLocSysUiContainer::NewLC( 
-        		MLocSysUiContainerEventHandler&	    aEventHandler,
-        		RPointerArray<CLocationSettings>&   aSettingsArray,
-        		const TRect& 					    aRect )
-	{	
-    CLocSysUiContainer* self = new(ELeave) CLocSysUiContainer( aEventHandler );
-	CleanupStack::PushL( self );
-	self->ConstructL( aSettingsArray, aRect );
-	return self;
-	}
-
-// --------------------------------------------------------------------------- 
-// void CLocSysUiContainer::ConstructL
-// Second phase of the two phase Construction process
-//
-// @param aSettingsArray    Reference to the Settings UI array.
-// @param aRect				Client rectangle
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiContainer::ConstructL( 
-                         RPointerArray<CLocationSettings>&  aSettingsArray,
-        			     const TRect& 						aRect )
-	{
-	//Make this control a window-owning control
-	CreateWindowL(); 
-	
-	// Create a New Title for the View
-	MakeTitleL(R_LOCSYSUIVIEW_TITLE);
-	 
-	CreateListboxL( aSettingsArray );
-	
-	iContextName = KLOC_HLP_SETTINGS();
-    SetRect( aRect );
-    ActivateL();
-	}	
-
-// ---------------------------------------------------------------------------
-// CLocationSettings&	CLocSysUiContainer::GetFocussedSettingsUiDescL
-// Returns the Description for the Settings Ui item that is currently focussed
-//
-// @return CLocSettingsUiDesc*	Reference to the description object of
-//							the item that is currently focussed
-// 		   NULL				If there is no list box
-// ---------------------------------------------------------------------------
-//
-CLocationSettings&	CLocSysUiContainer::GetFocussedSettingsUiL()
-	{		
-	TInt selectedItem = iListBox->CurrentItemIndex();
-	return iListBoxModel->SettingsUiL( selectedItem );
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::UpdateListBoxL
-// Calls upon the container to update the list bix contents.
-//
-// @param aSettingsArray	Reference to the Settings UI array.
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiContainer::UpdateListBoxL(
-						RPointerArray<CLocationSettings>& aSettingsArray )
-	{
-	iListBoxModel->UpdateListBoxContentsL( aSettingsArray );
-    iListBox->HandleItemAdditionL();
-    iListBox->HandleItemRemovalL();
-	DrawDeferred();
-	}
-
-// ---------------------------------------------------------------------------
-// TUint CLocSysUiContainer::CurrentFocussedElement
-// Returns the currently focussed element index
-//
-// @return TUint    Currently focussed element index    
-// ---------------------------------------------------------------------------
-//
-TUint CLocSysUiContainer::CurrentFocussedElement()
-    {
-    TInt ret = iListBox->CurrentItemIndex();
-    if( ret < 0 )
-        {
-        ret = 0;
-        }
-    return ret;
-    }
-   
-// ---------------------------------------------------------------------------
-// Sets the current highlighted element
-//
-// @param aCurrentElement    Currently focussed element index    
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiContainer::SetFocussedElement( TUint      aCurrentElement )
-    {
-    iListBox->SetCurrentItemIndex( aCurrentElement );
-    }
-                	
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::OfferKeyEventL
-//
-// ---------------------------------------------------------------------------	
-//
-TKeyResponse CLocSysUiContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-										   					   TEventCode aType )
-	{
-	switch ( aKeyEvent.iCode )
-        {
-        case EKeyLeftArrow:
-        case EKeyRightArrow:
-        	{
-        	// Listbox takes all event even if it doesn't use them
-            return EKeyWasNotConsumed;	
-        	}
-        default:
-        	{
-        	break;	
-        	}
-        }
-    // now it's iListBox's job to process the key event
-    return iListBox->OfferKeyEventL(aKeyEvent, aType); 
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::HandleResourceChange
-//
-// ---------------------------------------------------------------------------	
-//
-void CLocSysUiContainer::HandleResourceChange(TInt aType)
-	{
-	// Pass the event to the base class
-	CCoeControl::HandleResourceChange(aType);
-    switch ( aType )
-    	{
-    	// Dynamic Layout switch
-    	case KEikDynamicLayoutVariantSwitch:
-    		{
-			iEventHandler.HandleScreenSizeChange();
-			break;
-    		}
-    	default:
-    		{
-    		break;
-    		}
-    	}
-	}
-
-// ---------------------------------------------------------------------------
-// TInt CLocSysUiContainer::CountComponentControls
-//
-// ---------------------------------------------------------------------------
-//
-TInt CLocSysUiContainer::CountComponentControls() const
-	{
-	return 1;
-	}
-
-// ---------------------------------------------------------------------------
-// CCoeControl* CLocSysUiContainer::ComponentControl
-//
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CLocSysUiContainer::ComponentControl(TInt /*aIndex*/) const
-	{
-	return iListBox;	
-	}
-	
-// -----------------------------------------------------------------------------
-// CLocSysUiContainer::GetHelpContext
-// Overridden from CCoeControl. Retruns the help context
-//
-// @param aContext The requested Help context
-// -----------------------------------------------------------------------------
-//
-void CLocSysUiContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    aContext.iContext = iContextName;
-    aContext.iMajor = TUid::Uid( LOCSYSUIVIEW_UID3 );
-    }
-    
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::HandleListBoxEventL
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiContainer::HandleListBoxEventL( CEikListBox*  /* aListBox */, 
-		 						   					  TListBoxEvent aEventType )
-	{
-	switch (aEventType)
-        {
-        // List box Item Selection
-        case EEventEnterKeyPressed:
-        case EEventItemSingleClicked:
-            {
-            iEventHandler.ListBoxItemSelectedL();
-            break;	
-            }
-        default:
-           break;
-        }
-	}
-    		 	
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::FocusChanged
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiContainer::FocusChanged(TDrawNow aDrawNow)
-	{
-	CCoeControl::FocusChanged( aDrawNow );
-	if ( iListBox )
-		{
-		iListBox->SetFocus( IsFocused(), aDrawNow );				
-		}
-	}
-		
-// ---------------------------------------------------------------------------
-// CLocSysUiContainer::SizeChanged
-// 
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiContainer::SizeChanged()
-	{
-	if ( iListBox )
-		{
-		iListBox->SetRect( Rect());
-		}
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::CreateListboxL
-// Creates the List box and the Listbox model. Associates the list box model 
-// with the list box
-// 
-// @param aSettingsArray	 Reference to the Settings UI array.
-// ---------------------------------------------------------------------------	
-//
-void CLocSysUiContainer::CreateListboxL( 
-						 RPointerArray<CLocationSettings>&  aSettingsArray )
-	{
-	// Create the Listbox model
-	iListBoxModel = CLocSysUiLBModel::NewL( aSettingsArray );
-	
-	// 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 );
-    													 
-    iListBox->Model()->SetItemTextArray( iListBoxModel );	
-    iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );									
-    iListBox->ActivateL();
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::StatusPane
-// Returns the Appui's status pane
-//
-// @return CEikStatusPane* Statuspane pointer
-// ---------------------------------------------------------------------------
-//
-CEikStatusPane* CLocSysUiContainer::StatusPane()
-	{
-	return iEikonEnv->AppUiFactory()->StatusPane();	
-	}
-        
-// ---------------------------------------------------------------------------
-// void CLocSysUiContainer::MakeTitleL
-// Sets the Title text
-//
-// @param aResourceText Resource to create title
-// ---------------------------------------------------------------------------
-//
-void CLocSysUiContainer::MakeTitleL( TInt aResourceText )
-	{
-	// Obtain the title from the Status Pane
-	CAknTitlePane* title = static_cast<CAknTitlePane*>( StatusPane()->
-        ControlL( TUid::Uid( EEikStatusPaneUidTitle )));
-       
-    // Set the Title's buffer    
-    TResourceReader rReader;
-    iCoeEnv->CreateResourceReaderLC( rReader, aResourceText );
-    title->SetFromResourceL( rReader );
-    CleanupStack::PopAndDestroy(); //rReader
-	}
-