diff -r 9674c1a575e9 -r b8fae6b8a148 idlehomescreen/xmluirendering/uiengine/src/xnbgcontrol.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnbgcontrol.cpp Mon Mar 15 12:39:47 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,315 +0,0 @@ -/* -* Copyright (c) 2008 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: Background appearance drawer -* -*/ - -// System includes -#include - -// User includes -#include "xnappuiadapter.h" -#include "xnuiengine.h" -#include "xneditmode.h" - -#include "xnbgcontrol.h" - -// Constants - -// ============================ LOCAL FUNCTIONS ================================ - -// ============================ MEMBER FUNCTIONS =============================== -// ----------------------------------------------------------------------------- -// CXnBgControl::NewL() -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CXnBgControl* CXnBgControl::NewL() - { - CXnBgControl* self = CXnBgControl::NewLC(); - CleanupStack::Pop( self ); - return self; - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::NewLC() -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CXnBgControl* CXnBgControl::NewLC() - { - CXnBgControl* self = new ( ELeave ) CXnBgControl(); - CleanupStack::PushL( self ); - self->ConstructL(); - return self; - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::~CXnBgControl() -// C++ default destructor. -// ----------------------------------------------------------------------------- -// -CXnBgControl::~CXnBgControl() - { - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::CXnBgControl() -// C++ default constructor. -// ----------------------------------------------------------------------------- -// -CXnBgControl::CXnBgControl() - : iHitpoint( TPoint( -1,-1 ) ) - { - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::ConstructL() -// 2nd phase constructor -// ----------------------------------------------------------------------------- -// -void CXnBgControl::ConstructL() - { - CreateWindowL(); - - TRgb backgroundColour = KRgbWhite; - if( KErrNone == Window().SetTransparencyAlphaChannel() ) - { - backgroundColour.SetAlpha( 0 ); - } - Window().SetBackgroundColor( backgroundColour ); - - EnableDragEvents(); - - Window().SetPointerGrab( ETrue ); - - - ActivateL(); - - MakeVisible( ETrue ); - - SetComponentsToInheritVisibility( ETrue ); - - static_cast< CXnAppUiAdapter* >( iAvkonAppUi ) - ->UiStateListener().AddObserver( *this ); - - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::CountComponentControls() -// -// ----------------------------------------------------------------------------- -// -TInt CXnBgControl::CountComponentControls() const - { - if ( iControl ) - { - return 1; - } - - return 0; - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::ComponentControl() -// -// ----------------------------------------------------------------------------- -// -CCoeControl* CXnBgControl::ComponentControl( TInt aIndex ) const - { - if ( aIndex == 0 ) - { - return iControl; - } - - return NULL; - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::SizeChanged() -// -// ----------------------------------------------------------------------------- -// -void CXnBgControl::SizeChanged() - { - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::Draw() -// -// ----------------------------------------------------------------------------- -// -void CXnBgControl::Draw( const TRect& aRect ) const - { - CXnAppUiAdapter* appui( - static_cast< CXnAppUiAdapter* >( iAvkonAppUi ) ); - - TInt state( appui->UiEngine().EditMode()->EditState() ); - - CWindowGc& gc( SystemGc() ); - - if ( state == CXnEditMode::EShootContent ) - { - // No background needed for dragging widget screenshot - } - else - { - gc.Clear( aRect ); - } - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::SetCompoundControl() -// -// ----------------------------------------------------------------------------- -// -void CXnBgControl::HandlePointerEventL( const TPointerEvent& aPointerEvent ) - { - switch( aPointerEvent.iType ) - { - case TPointerEvent::EButton1Down: - iHitpoint = aPointerEvent.iPosition; - break; - - case TPointerEvent::EButton1Up: - break; - - default: - break; - } - - CXnAppUiAdapter* appui( static_cast< CXnAppUiAdapter* >( iAvkonAppUi ) ); - - appui->UiEngine().DisableRenderUiLC(); - - CCoeControl::HandlePointerEventL( aPointerEvent ); - - appui->UiEngine().RenderUIL(); - - CleanupStack::PopAndDestroy(); - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::SetCompoundControl() -// -// ----------------------------------------------------------------------------- -// -void CXnBgControl::SetCompoundControl( CCoeControl* aControl ) - { - if ( iControl == aControl ) - { - return; - } - - if ( iControl ) - { - // Remove parents - iControl->SetParent( NULL ); - iControl->SetMopParent( NULL ); - - iControl->MakeVisible( EFalse ); - } - - if ( aControl ) - { - // Set self as parent - aControl->SetParent( this ); - aControl->SetMopParent( this ); - - aControl->MakeVisible( ETrue ); - } - - iControl = aControl; - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::ResetGrabbingL() -// Service for removing grabbing controls -// ----------------------------------------------------------------------------- -// -void CXnBgControl::ResetGrabbingL() - { - TPointerEvent event; - event.iType = TPointerEvent::EButton1Up; - - RemoveGrabbingControL( this, event ); - - iHitpoint.SetXY( -1, -1 ); - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::RemoveGrabbingControL() -// Removes recursively grabbing controls -// ----------------------------------------------------------------------------- -// -void CXnBgControl::RemoveGrabbingControL( const CCoeControl* aControl, - const TPointerEvent& aEvent ) const - { - TInt count = aControl->CountComponentControls(); - - for( TInt i = 0; i < count; i++ ) - { - CCoeControl* child = aControl->ComponentControl( i ); - - if( child && child->Rect().Contains( iHitpoint ) ) - { - child->CCoeControl::HandlePointerEventL( aEvent ); - RemoveGrabbingControL( child, aEvent ); - } - } - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::NotifyForegroundChanged() -// Notifies foreground changes. -// ----------------------------------------------------------------------------- -// -void CXnBgControl::NotifyForegroundChanged( TForegroundStatus aStatus ) - { - switch( aStatus ) - { - case EForeground: - break; - - case EUnknown: - case EBackground: - case EPartialForeground: - default: - TRAP_IGNORE( ResetGrabbingL(); ) - break; - } - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::NotifyLightStatusChanged() -// Notifies primary display light status is changed. -// ----------------------------------------------------------------------------- -// -void CXnBgControl::NotifyLightStatusChanged( TBool /*aLightsOn*/ ) - { - - } - -// ----------------------------------------------------------------------------- -// CXnBgControl::NotifyInCallStateChaged() -// Notifies in-call state is changed. -// ----------------------------------------------------------------------------- -// -void CXnBgControl::NotifyInCallStateChaged( TBool /*aInCall*/ ) - { - - } - -// End of file -