// EIKDPAGE.CPP
//
// Copyright (c) 1997-1999 Symbian Ltd.  All rights reserved.
//

#include <eikdpage.h>
#include <eikcapca.h>
#include <eikcapc.h>
#include <eikbordr.h>
#include <eikenv.h>

const TInt KPageBorderMargin = 1;
const TInt KExcessPageWidth = 3;
const TInt KExcessPageSize = 6;

#include <eikcolor.h>

CEikDialogPage::~CEikDialogPage()
	{
	}

CEikDialogPage::CEikDialogPage()
	{
	__DECLARE_NAME(_S("CEikDialogPage"));
	}

void CEikDialogPage::SizeChangedL()
	{
	TRect rect = Rect();
	rect.Shrink(KExcessPageSize/2,KExcessPageSize/2);
	iLines->SetRectL(rect);
	}

TSize CEikDialogPage::MinimumSize()
	{
	return(iLines->MinimumSize()+TSize(KExcessPageSize,KExcessPageSize));
	}

TInt CEikDialogPage::CountComponentControls() const
	{
	return(iLines->Count());
	}

CCoeControl* CEikDialogPage::ComponentControl(TInt aIndex) const
	{
	return((*iLines)[aIndex]);
	}

void CEikDialogPage::ConstructL(CCoeControl* aContainer,CEikCapCArray* aLines)
	{
	CreateWindowL(aContainer);
	EnableDragEvents();
	Window().SetPointerGrab(ETrue);
	Window().SetShadowDisabled(ETrue);
	CopyControlContextFrom(aContainer);
	iLines=aLines;
	}

void CEikDialogPage::Draw(const TRect& /*aRect*/) const
    {
	TRect rect=Rect();
	CGraphicsContext& gc=SystemGc();
	gc.SetPenColor(iEikonEnv->ControlColor(EEikColorDialogText,*this));
	gc.SetBrushColor(iEikonEnv->ControlColor(EEikColorDialogBackground,*this));
	gc.SetPenStyle(CGraphicsContext::ENullPen);
    gc.DrawRect(rect);
	rect = Rect();
	rect.iTl.iX += KPageBorderMargin;
	rect.iBr.iY -= 2*KPageBorderMargin;
	TEikBorder border(TEikBorder::EShallowRaised);
	gc.SetPenStyle(CGraphicsContext::ESolidPen);
	gc.SetBrushStyle(CGraphicsContext::ENullBrush);
	gc.SetPenColor(iEikonEnv->ControlColor(EEikColorDialogText,*this)); // !!! ??
	gc.SetBrushColor(iEikonEnv->ControlColor(EEikColorDialogBackground,*this)); // !!! ??
	border.Draw(gc,rect);
    }

