diff -r 000000000000 -r 2f259fa3e83a lafagnosticuifoundation/cone/tef/TCone7SubContainer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lafagnosticuifoundation/cone/tef/TCone7SubContainer.cpp Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,115 @@ +// Copyright (c) 2005-2009 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: +// + +/** + @file + @internalComponent - Internal Symbian test code +*/ + + +#include "TCone7Step.h" + + +CCtlSubContainer641::CCtlSubContainer641() + { + } + +CCtlSubContainer641::~CCtlSubContainer641() + { + // kids should be destroyed automatically + delete iName; + } + +void CCtlSubContainer641::ConstructL( const TDesC& aName ) + { + CCtlBase641::ConstructL(); + + // construct the kids, add them to the array. + iName = aName.AllocL(); + // Not window-owning + + iContainee = new (ELeave) CCtlContainee641; + InitComponentArrayL(); + Components().AppendLC( iContainee, KChildOneID ) ; + iContainee->ConstructL( _L("child1") ); + CleanupStack::Pop( iContainee ); + + iContainee->SetParent( this ); + } + +void CCtlSubContainer641::SizeChanged() + { + // set the size of the children + TRect rect = Rect(); + TSize size = rect.Size(); + TPoint tl = rect.iTl; + + + TInt childCount = CountComponentControls(); + if ( childCount > 0 ) + { + size.iWidth = (size.iWidth * 5 )/10; + size.iHeight = ( size.iHeight * 4 )/10; + + CCoeControl* child; + for ( TInt ii = 0; ii < childCount; ++ii ) + { + child = ComponentControl( ii ); + tl.iX += size.iWidth/10; + tl.iY += size.iHeight/10; + child->SetRect( TRect( tl, size ) ); + } + } + } + +void CCtlSubContainer641::Draw( const TRect& /*aRect*/ ) const + { + // get a graphics context - outline the control + CWindowGc& gc=SystemGc(); + TRect rect=Rect(); + gc.SetBrushColor( KRgbCyan ); + DoDraw( gc, rect ); + + ApplyText(); + } + + +/** Draw text using a text-drawer derived from the environment, + and a text-drawer instantiated locally. +*/ +void CCtlSubContainer641::ApplyText() const + { + TInt key = 0; + // The Inherited text drawer + XCoeTextDrawer xTextDrawer(TextDrawer( key )); + + TRect rect = Rect(); + CCoeEnv* env = ControlEnv(); + + xTextDrawer.SetClipRect( rect ); + xTextDrawer.SetAlignment( EHRightVBottom ); + xTextDrawer.DrawDisplayOrderedText( SystemGc(), KInheritedTextDrawerText, rect, *env->NormalFont() ); + } + + + +/** Child controls wanting parents' text-drawer will get one + derived by recursing parent controls. +*/ +void CCtlSubContainer641::GetTextDrawer( CCoeTextDrawerBase*& /*aTextDrawer*/, const CCoeControl* /*aDrawingControl*/, TInt /*aInt*/ ) const + { + } + +