diff -r 000000000000 -r 15bf7259bb7c uiacceltk/hitchcock/Client/src/alfflowlayout.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiacceltk/hitchcock/Client/src/alfflowlayout.cpp Tue Feb 02 07:56:43 2010 +0200 @@ -0,0 +1,200 @@ +/* +* 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: Flow layout +* +*/ + + + +#include "alf/alfflowlayout.h" +#include "alf/alfcontrol.h" +#include "alf/alfenv.h" +#include "alfclient.h" +#include "alf/alfconstants.h" +#include "alf/alfgencomponent.h" +#include "alflogger.h" + +#include + +// Private structure +struct CAlfFlowLayout::TFlowLayoutPrivateData + { + TInt iMode; // flow mode flags + }; + + +// ======== LOCAL FUNCTIONS ======== + + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// 1st phase constructor +// --------------------------------------------------------------------------- +// +EXPORT_C CAlfFlowLayout::CAlfFlowLayout() + : CAlfLayout() + { + } + + +// --------------------------------------------------------------------------- +// 2nd phase constructor +// --------------------------------------------------------------------------- +// +EXPORT_C void CAlfFlowLayout::ConstructL(CAlfControl& aOwner) + { + CAlfLayout::ConstructL(aOwner); + + iFlowLayoutData = new (ELeave) TFlowLayoutPrivateData; + iFlowLayoutData->iMode = 0; + } + +// --------------------------------------------------------------------------- +// Destructor +// --------------------------------------------------------------------------- +// +EXPORT_C CAlfFlowLayout::~CAlfFlowLayout() + { + delete iFlowLayoutData; + iFlowLayoutData = NULL; + } + + +// --------------------------------------------------------------------------- +// Creates new anchor layout for the control. +// --------------------------------------------------------------------------- +// +EXPORT_C CAlfFlowLayout* CAlfFlowLayout::AddNewL( + CAlfControl& aOwnerControl, + CAlfLayout* aParentLayout ) + { + CAlfFlowLayout* layout = STATIC_CAST(CAlfFlowLayout*, + aOwnerControl.AppendLayoutL(EAlfLayoutTypeFlow, aParentLayout)); + return layout; + } + +EXPORT_C void CAlfFlowLayout::SetFlowDirection(TFlowDirection aDirection) + { + TPckgC inBuf(aDirection); + + TInt err = Comms()->DoCmdNoReply( EAlfFlowLayoutSetFlowDirection, inBuf ); + + if ( err ) + { + __ALFLOGSTRING1( "CAlfFlowLayout::SetFlowDirection panic error %d", err ) + USER_INVARIANT(); + } + } + +EXPORT_C void CAlfFlowLayout::SetCentering(TBool aCentering) + { + TPckgC inBuf(aCentering); + + TInt err = Comms()->DoCmdNoReply( EAlfFlowLayoutSetCentering, inBuf ); + + if ( err ) + { + __ALFLOGSTRING1( "CAlfFlowLayout::SetCentering panic error %d", err ) + USER_INVARIANT(); + } + + // Update client side data + if(aCentering) + { + iFlowLayoutData->iMode |= EModeCenterPerpendicular; + } + else + { + iFlowLayoutData->iMode &= ~EModeCenterPerpendicular; + } + + } + +EXPORT_C void CAlfFlowLayout::SetMode(TInt aMode) + { + TPckgC inBuf(aMode); + + TInt err = Comms()->DoCmdNoReply( EAlfFlowLayoutSetMode, inBuf ); + + if ( err ) + { + __ALFLOGSTRING1( "CAlfFlowLayout::SetMode panic error %d", err ) + USER_INVARIANT(); + } + + // Update local copy of data. + iFlowLayoutData->iMode = aMode; + } + +EXPORT_C TInt CAlfFlowLayout::Mode() const + { + return iFlowLayoutData->iMode; + } + +// --------------------------------------------------------------------------- +// Place holder from CAlfVisual +// --------------------------------------------------------------------------- +// +EXPORT_C void CAlfFlowLayout::RemoveAndDestroyAllD() + { + CAlfLayout::RemoveAndDestroyAllD(); + } + +// --------------------------------------------------------------------------- +// Place holder from CAlfVisual +// --------------------------------------------------------------------------- +// +EXPORT_C void CAlfFlowLayout::UpdateChildrenLayout(TInt aTransitionTime ) + { + CAlfLayout::UpdateChildrenLayout( aTransitionTime ); + } + +// --------------------------------------------------------------------------- +// Place holder from CAlfVisual +// --------------------------------------------------------------------------- +// +EXPORT_C CAlfVisual* CAlfFlowLayout::FindTag(const TDesC8& aTag) + { + return CAlfLayout::FindTag( aTag ); + } +// --------------------------------------------------------------------------- +// Place holder from CAlfLayout +// --------------------------------------------------------------------------- +// +EXPORT_C TAlfXYMetric CAlfFlowLayout::BaseUnit() const + { + return CAlfLayout::BaseUnit(); + } + +// --------------------------------------------------------------------------- +// Place holder from CAlfVisual +// --------------------------------------------------------------------------- +// +EXPORT_C void CAlfFlowLayout::DoRemoveAndDestroyAllD() + { + CAlfLayout::DoRemoveAndDestroyAllD(); + } + +// --------------------------------------------------------------------------- +// future proofing +// --------------------------------------------------------------------------- +// +EXPORT_C void CAlfFlowLayout::PropertyOwnerExtension(const TUid& aExtensionUid, TAny** aExtensionParams) + { + CAlfLayout::PropertyOwnerExtension(aExtensionUid,aExtensionParams); + } + + +