vtuis/videotelui/src/sliders/cvtuipopupbase.cpp
changeset 18 d9b6a8729acd
parent 4 6dc066157ed4
child 23 c378a0498b84
child 27 dcbddbbaf8fd
--- 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 " ) 
-    }