menufw/hierarchynavigator/hnpresentationmodel/src/hnitemfocushandler.cpp
branchv5backport
changeset 14 1abc632eb502
parent 13 6205fd287e8a
child 20 636d517f67e6
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnitemfocushandler.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Application UI class
-*  Version     : %version: 3 % << Don't touch! Updated by Synergy at check-out.
-*/
-
-
-#include "hnitemfocushandler.h"
-#include "hnglobals.h"
-#include "hnsuitemodel.h"
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::TFocusQueueItem( TInt aItemId, TInt aEventId )
-// ---------------------------------------------------------------------------
-//
-TFocusQueueItem::TFocusQueueItem( TInt aItemId, TInt aEventId ): 
-	iItemId( aItemId ),  iEventId( aEventId )
-	{
-	iTriggerTime.HomeTime();
-	}
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::TriggerTime()
-// ---------------------------------------------------------------------------
-//
-TTime TFocusQueueItem::TriggerTime()
-	{
-	return iTriggerTime;
-	}
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::ItemId()
-// ---------------------------------------------------------------------------
-//
-TInt TFocusQueueItem::ItemId()
-	{
-	return iItemId;
-	}
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::EventId()
-// ---------------------------------------------------------------------------
-//
-TInt TFocusQueueItem::EventId()
-	{
-	return iEventId;
-	}
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::CompareByTriggerTime( const TFocusQueueItem& aItem1,
-// const TFocusQueueItem& aItem2 )
-// ---------------------------------------------------------------------------
-//
-TInt TFocusQueueItem::CompareByTriggerTime( const TFocusQueueItem& aItem1,
-		const TFocusQueueItem& aItem2 )
-	{
-	if ( aItem1.iTriggerTime < aItem2.iTriggerTime )
-		{
-		return -1;
-		}
-	else
-		{
-		return 1;
-		}
-	}
-   
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::CompareByItemId( const TFocusQueueItem& aItem1,
-// const TFocusQueueItem& aItem2 )
-// ---------------------------------------------------------------------------
-//
-TBool TFocusQueueItem::CompareByItemId( const TFocusQueueItem& aItem1,
-		const TFocusQueueItem& aItem2 )
-	{
-	return aItem1.iItemId == aItem2.iItemId;
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::CHnItemFocusHandler() 
-// ---------------------------------------------------------------------------
-//
-CHnItemFocusHandler::CHnItemFocusHandler() :
-	CActive(EPriorityLow) // Standard priority
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler* CHnItemFocusHandler::NewLC()
-// ---------------------------------------------------------------------------
-//
-CHnItemFocusHandler* CHnItemFocusHandler::NewLC( CHnSuiteModel* aSuiteModel )
-	{
-	CHnItemFocusHandler* self = new (ELeave) CHnItemFocusHandler();
-	CleanupStack::PushL(self);
-	self->ConstructL( aSuiteModel );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler* CHnItemFocusHandler::NewL()
-// ---------------------------------------------------------------------------
-//
-CHnItemFocusHandler* CHnItemFocusHandler::NewL( CHnSuiteModel* aSuiteModel )
-	{
-	CHnItemFocusHandler* self = CHnItemFocusHandler::NewLC( aSuiteModel );
-	CleanupStack::Pop(); // self;
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::ConstructL( CHnSuiteModel* aSuiteModel )
-	{
-	CActiveScheduler::Add( this); // Add to scheduler
-	iSuiteModel = aSuiteModel;
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::~CHnItemFocusHandler(
-// ---------------------------------------------------------------------------
-//
-CHnItemFocusHandler::~CHnItemFocusHandler()
-	{
-	Cancel(); // Cancel any request, if outstanding
-	
-//	handle all pending unfocus events synchronously.
-	for(TInt i = 0; i < iFocusQueue.Count(); i++ )
-		{
-		if ( KIdFocusLost == iFocusQueue[i].EventId() )
-			{
-			if( iSuiteModel )
-			    {
-	            TRAP_IGNORE( iSuiteModel->OfferHnEventL( 
-	                    KIdFocusLost, iFocusQueue[i].ItemId(), NULL ) );
-			    }
-			}
-		}
-	iFocusQueue.Reset();
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::DoCancel()
-	{
-//	TRequestStatus* status = &iStatus;
-//	User::RequestComplete( status, KErrCancel);
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::StartL(TTimeIntervalMicroSeconds32 aDelay)
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::SetFocusL( TInt aEventId, TBool aItemId )
-	{
-	TLinearOrder<TFocusQueueItem> byTriggerTime( 
-			TFocusQueueItem::CompareByTriggerTime );
-	TFocusQueueItem focusItem(aItemId, aEventId);
-	RemoveDuplicatedItem( focusItem );
-	iFocusQueue.InsertInOrderL( focusItem, byTriggerTime );
-	if ( !IsActive() )
-		{
-		SetActive();
-    	TRequestStatus* status = &iStatus;
-    	User::RequestComplete( status, KErrNone );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::RunL()
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::RunL()
-	{
-	TRAP_IGNORE( iSuiteModel->OfferHnEventL( 
-			iFocusQueue[0].EventId(), iFocusQueue[0].ItemId() , NULL ) );
-	iFocusQueue.Remove(0);
-	
-	if ( iFocusQueue.Count() > 0)
-		{
-		SetActive(); // Tell scheduler a request is active		
-    	TRequestStatus* status = &iStatus;
-    	User::RequestComplete( status, KErrNone );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::RunError(TInt aError)
-// ---------------------------------------------------------------------------
-//
-TInt CHnItemFocusHandler::RunError(TInt aError)
-	{
-	return aError;
-	}
-
-// ---------------------------------------------------------------------------
-// RemoveDuplicatedItem( const TFocusQueueItem& aFocusItem )
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::RemoveDuplicatedItem( const TFocusQueueItem& aFocusItem )
-	{
-	if ( iFocusQueue.Count() != 0 )
-		{
-		TIdentityRelation< TFocusQueueItem > byItemId( 
-				TFocusQueueItem::CompareByItemId );
-		TInt itemPosition;
-		itemPosition = iFocusQueue.Find( aFocusItem, byItemId );
-		if ( KErrNotFound != itemPosition )
-			{
-			iFocusQueue.Remove( itemPosition );
-			}
-		}
-	}
-
-// End of file
-