--- a/vtuis/videotelui/src/sliders/cvtuipopupbase.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,509 +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: Base class for video telephone popups
-*
-*/
-
-
-#include <cvtlogger.h>
-#include <AknUtils.h>
-#include <aknvolumepopup.h>
-#include <fbs.h>
-
-#include "cvtuipopupbase.h"
-#include "mvtuicomponentmanager.h"
-#include "mvtuicomponentstateobserver.h"
-#include "VtUiPanic.h"
-#include <layoutmetadata.cdl.h>
-#include <videotelui.rsg>
-#include <aknlayoutscalable_apps.cdl.h>
-
-// default time out time for popup
-const TInt KDefaultTimeOutTime = 2;
-
-// max value for slider is 100 (100%)
-const TInt KMaxSliderValue = 100;
-
-// Implementation of TVtUiBaseComponentState
-
-// ---------------------------------------------------------------------------
-// TVtUiBaseComponentState::TVtUiBaseComponentState
-// ---------------------------------------------------------------------------
-//
-TVtUiBaseComponentState::TVtUiBaseComponentState(
- MVtUiComponent& aComponent, TVtUiBlockListBitField aBitField ) :
- TVtUiComponentState( aComponent, aBitField )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::~CVtUiPopupBase
-// ---------------------------------------------------------------------------
-//
-CVtUiPopupBase::~CVtUiPopupBase()
- {
- __VTPRINTENTER( "CVtUiPopupBase.~CVtUiPopupBase" )
- if ( iPopup )
- {
- iPopup->CloseVolumePopup();
- }
- // unregister component change registration
- iComponentManager.ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::EUnregister );
- delete iPopup;
- __VTPRINTEXIT( "CVtUiPopupBase.~CVtUiPopupBase" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::ComponentId
-// ---------------------------------------------------------------------------
-//
- MVtUiComponent::TComponentId CVtUiPopupBase::ComponentId() const
- {
- __VTPRINTENTER( "CVtUiPopupBase.ComponentId" )
- __VTPRINTEXIT( "CVtUiPopupBase.ComponentId" )
- return iComponentId;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::ComponentAsControl
-// ---------------------------------------------------------------------------
-//
- CCoeControl* CVtUiPopupBase::ComponentAsControl()
- {
- __VTPRINTENTER( "CVtUiPopupBase.ComponentAsControl" )
- __VTPRINTEXIT( "CVtUiPopupBase.ComponentAsControl" )
- return NULL;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::DoActivateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::DoActivateL()
- {
- __VTPRINTENTER( "CVtUiPopupBase.DoActivateL" )
- User::LeaveIfError(
- iComponentManager.ChangeResourceChangeRegistration(
- *this, MVtUiComponentManager::ERegister ) );
-
- User::LeaveIfError( iComponentManager.ChangeKeyEventRegistration(
- *this, MVtUiComponentManager::ERegister ) );
-
- ShowPopupL();
- __VTPRINTEXIT( "CVtUiPopupBase.DoActivateL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::DoDeactivateL()
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::DoDeactivateL()
- {
- __VTPRINTENTER( "CVtUiPopupBase.DoDeactivateL()" )
- iPopup->CloseVolumePopup();
- //notify observer that popup has been closed
- if ( iCompStateObserver )
- {
- iCompStateObserver->ComponenStateChangedL();
- }
- // unregister resource change registration
- iComponentManager.ChangeResourceChangeRegistration(
- *this, MVtUiComponentManager::EUnregister );
-
- iComponentManager.ChangeKeyEventRegistration(
- *this, MVtUiComponentManager::EUnregister );
- __VTPRINTEXIT( "CVtUiPopupBase.DoDeactivateL()" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::HandleResourceChangeL()
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::HandleResourceChangeL( TInt aType )
- {
- __VTPRINTENTER( "CVtUiPopupBase.HandleResourceChangeL()" )
- if ( aType == KEikDynamicLayoutVariantSwitch )
- {
- iPopup->SetPosition( PopupPosition() );
- }
- __VTPRINTEXIT( "CVtUiPopupBase.HandleResourceChangeL()" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::HandleControlEventL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::HandleControlEventL( CCoeControl* /*aControl*/,
- TCoeEvent aEventType )
- {
- __VTPRINTENTER( "CVtUiPopupBase.HandleControlEventL" )
- if ( aEventType == EEventStateChanged )
- {
- // popup closed
- if( !IsPopUpVisible() )
- {
- ClosePopup();
- }
- }
- __VTPRINTEXIT( "CVtUiPopupBase.HandleControlEventL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::OfferKeyEventL()
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CVtUiPopupBase::OfferKeyEventL( const TKeyEvent& aEvent,
- TEventCode aCode )
- {
- __VTPRINTENTER( "CVtUiPopupBase.OfferKeyEventL" )
- TKeyResponse response( EKeyWasNotConsumed );
- // Don't handle other types here
- if ( aCode != EEventKey )
- {
- return response;
- }
-
- if ( aEvent.iScanCode == EStdKeyUpArrow ||
- aEvent.iScanCode == EStdKeyDownArrow )
- {
- __VTPRINT( DEBUG_GEN, "CVtUiPopupBase.OfferKeyEventL" )
- TInt step( 1 );
- if ( aEvent.iScanCode == EStdKeyDownArrow )
- {
- step = -step;
- }
-
- const TInt current( Value() );
- TInt value( current + step );
-
- TInt maxValue;
- TInt minValue;
- iPopup->GetRange( minValue, maxValue );
-
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase.OfferKeyEventL iPopup minValue = %d",
- minValue )
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase.OfferKeyEventL iPopup maxValue = %d",
- maxValue )
-
- minValue = minValue / iScalingConstant;
- value = Max( minValue, Min( value, iStepCount ) );
- if ( value != current )
- {
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase.OfferKeyEventL Volume value = %d",
- value )
- SetValue( value );
- response = EKeyWasConsumed;
- }
- ShowPopupL();
- }
- __VTPRINTEXITR( "CVtUiPopupBase.OfferKeyEventL %d", response )
- return response;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetObserver()
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetObserver( MVtUiComponentStateObserver& aCompStateObserver )
- {
- __VTPRINTENTER( "CVtUiPopupBase.SetObserver()" )
- iCompStateObserver = &aCompStateObserver;
- __VTPRINTEXIT( "CVtUiPopupBase.SetObserver()" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetValueType()
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetValueType( TInt aValueType )
- {
- __VTPRINTENTER( "CVtUiPopupBase.SetValueType" )
- iPopup->SetValueType( aValueType );
- __VTPRINTEXIT( "CVtUiPopupBase.SetValueType" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetPermanenVisibility()
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetPermanenVisibility( TBool aPermanent )
- {
- __VTPRINTENTER( "CVtUiPopupBase.SetPermanenVisibility" )
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase = %d", aPermanent );
- const TInt longPeriod( 86400 ); // 24 h
- if ( aPermanent )
- {
- iPopup->SetTimeOutAsSecond( longPeriod );
- iPopup->ClosePopupWhenTappedOutside( !aPermanent );
- }
- else
- {
- iPopup->ClosePopupWhenTappedOutside( !aPermanent );
- iPopup->SetTimeOutAsSecond( iTimeOutTime );
- }
- __VTPRINTEXIT( "CVtUiPopupBase.SetPermanenVisibility" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::CVtUiPopupBase
-// ---------------------------------------------------------------------------
-//
-CVtUiPopupBase::CVtUiPopupBase( MVtUiComponentManager& aComponentManager,
- TVtUiBlockListBitField aBitField, TComponentId aComponentId ) :
- iComponentManager ( aComponentManager ), iComponentState( *this, aBitField ),
- iComponentId( aComponentId ), iScalingConstant( 1 )
- {
- __VTPRINTENTER( "CVtUiPopupBase.CVtUiPopupBase" )
- __VTPRINTEXIT( "CVtUiPopupBase.CVtUiPopupBase" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::BaseConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::BaseConstructL()
- {
- __VTPRINTENTER( "CVtUiPopupBase.BaseConstructL" )
- iPopup = CAknVolumePopup::NewL( NULL, ETrue );
- iPopup->SetObserver( this );
-
- // Initialized to 2 seconds
- iTimeOutTime = KDefaultTimeOutTime;
-
- // set position
- iPopup->SetPosition( PopupPosition() );
-
- User::LeaveIfError(
- iComponentManager.ChangeComponentRegistration(
- iComponentState, MVtUiComponentManager::ERegister ) );
- __VTPRINTEXIT( "CVtUiPopupBase.BaseConstructL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::ShowPopupL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::ShowPopupL()
- {
- __VTPRINTENTER( "CVtUiPopupBase.ShowPopupL" )
- iPopup->ShowVolumePopupL();
- __VTPRINTEXIT( "CVtUiPopupBase.ShowPopupL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::OpenPopupL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::OpenPopupL()
- {
- __VTPRINTENTER( "CVtUiPopupBase.OpenPopupL" )
- TRAPD( error,
- iComponentManager.RequestActivationL( ComponentId() ) );
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase.OpenPopupL reqAct=%d", error );
- User::LeaveIfError( error );
- __VTPRINTEXIT( "CVtUiPopupBase.OpenPopupL" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::ClosePopup
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::ClosePopup()
- {
- __VTPRINTENTER( "CVtUiPopupBase.ClosePopup" )
- TInt error( KErrNone );
- TRAP( error, iComponentManager.DeActivateComponentL( ComponentId() ) );
- __VTPRINTEXITR( "CVtUiPopupBase.ClosePopup %d", error )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetTimeOut
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetTimeOut( TInt aTime )
- {
- iTimeOutTime = aTime;
- iPopup->SetTimeOutAsSecond( aTime );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::IsPopUpVisible
-// ---------------------------------------------------------------------------
-//
-TBool CVtUiPopupBase::IsPopUpVisible()
- {
- return iPopup->IsVisible();
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::PopupPosition
-// ---------------------------------------------------------------------------
-//
-TPoint CVtUiPopupBase::PopupPosition() const
- {
- __VTPRINTENTER( "CVtUiPopupBase.PopupPosition" )
- TRect mainPaneRect;
- TAknWindowLineLayout popupLineLayout;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
- if ( Layout_Meta_Data::IsLandscapeOrientation() )
- {
- popupLineLayout =
- AknLayoutScalable_Apps::aid_placing_vt_slider_lsc().LayoutLine();
- }
- else
- {
- popupLineLayout =
- AknLayoutScalable_Apps::aid_placing_vt_slider_prt().LayoutLine();
- }
-
- TAknLayoutRect layoutRect;
- layoutRect.LayoutRect( mainPaneRect, popupLineLayout );
- __VTPRINTEXIT( "CVtUiPopupBase.PopupPosition" )
- return layoutRect.Rect().iTl;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetPopupValue
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetPopupValue( TInt aValue )
- {
- iPopup->SetValue( aValue * iScalingConstant );
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetAdjustRange
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetAdjustRange( TInt aMinValue, TInt aMaxValue,
- TInt aStepCount )
- {
- __VTPRINTENTER( "CVtUiPopupBase.SetAdjustRange" )
- __ASSERT_ALWAYS( aMinValue <= aMaxValue &&
- ( aMaxValue - aMinValue ) >= aStepCount &&
- aStepCount > 0, VtUiPanic::Panic( EVtUiPanicOutOfRange ) );
-
- // store stepcount
- iStepCount = aStepCount;
-
- // Aknvolumepopup does not do any scaling i.e max value
- // must be 100 or otherwise the per cent value is not shown right.
- // Scaling constant is used to multiple max value to be 100.
- iScalingConstant = KMaxSliderValue / aMaxValue;
- iPopup->SetRange( aMinValue, KMaxSliderValue );
- TInt stepSize = KMaxSliderValue / aStepCount;
- iPopup->SetStepSize( stepSize );
- __VTPRINTEXIT( "CVtUiPopupBase.SetAdjustRange" )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetValue
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetValue( TInt aValue )
- {
- __VTPRINTENTER( "CVtUiPopupBase.SetValue" )
- SetPopupValue( aValue );
- __VTPRINTEXITR( "CVtUiPopupBase.SetValue %d", Value() )
- }
-
- // ---------------------------------------------------------------------------
-// CVtUiPopupBase::ScaleAndSetValue
-// ---------------------------------------------------------------------------
-//
- void CVtUiPopupBase::ScaleAndSetValue( TInt aValue )
- {
- __VTPRINTENTER( "CVtUiPopupBase.ScaleAndSetValue" )
- SetPopupValue( SliderValueWithScaling( aValue ) );
- __VTPRINTEXITR( "CVtUiPopupBase.ScaleAndSetValue %d", Value() )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::ScaledValue
-// ---------------------------------------------------------------------------
-//
- TInt CVtUiPopupBase::ScaledValue() const
- {
- __VTPRINTENTER( "CVtUiPopupBase.ScaledValue" )
- TInt value = Value() * ( iMax-iMin ) / iStepCount + iMin;
- __VTPRINTEXITR( "CVtUiPopupBase.ScaledValue %d", value )
- return value;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SliderValueWithScaling
-// ---------------------------------------------------------------------------
-//
- TInt CVtUiPopupBase::SliderValueWithScaling( TInt aValue) const
- {
- __VTPRINTENTER( "CVtUiPopupBase.SliderValueWithScaling" )
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase.aValue=%d", aValue )
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase.iStepCount=%d", iStepCount )
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase.iMax=%d", iMax )
-
- if ( iMax == aValue)
- {
- return iStepCount;
- }
- else if ( iMin == aValue )
- {
- return 0;
- }
- TInt modValue = iStepCount * ( aValue - iMin) % ( iMax - iMin );
- TInt value = iStepCount * ( aValue - iMin) / ( iMax - iMin );
-
- if ( modValue > ( iMax - iMin ) / 2 )
- {
- value++;
- }
-
- __VTPRINTEXITR( "CVtUiPopupBase.SliderValueWithScaling %d", value )
- return value;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::SetMinAndMaxValues
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::SetMinAndMaxValues( TInt aMin, TInt aMax )
- {
- __VTPRINTENTER( "CVtUiPopupBase.SetMaxAndMinValues" )
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase..aMax=%d", aMax )
- __VTPRINT2( DEBUG_GEN, "CVtUiPopupBase..aMinV=%d", aMin )
- iMax = aMax;
- iMin = aMin;
- __VTPRINTEXIT( "CVtUiPopupBase.SetMaxAndMinValues " )
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::Value
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiPopupBase::Value() const
- {
- __VTPRINTENTER( "CVtUiPopupBase.Value" )
- __VTPRINTEXITR( "CVtUiPopupBase.Value %d", iPopup->Value() )
- return iPopup->Value() / iScalingConstant;
- }
-
-// ---------------------------------------------------------------------------
-// CVtUiPopupBase::UpdatePopupL
-// ---------------------------------------------------------------------------
-//
-void CVtUiPopupBase::UpdatePopupL()
- {
- __VTPRINTENTER( "CVtUiPopupBase.UpdatePopupL" )
- __VTPRINTEXIT( "CVtUiPopupBase.UpdatePopupL " )
- }