// EIKDLGUT.CPP
//
// Copyright (c) 1997-1999 Symbian Ltd.  All rights reserved.
//

#include <eikdialg.h>
#include <eikchred.h>
#include <eikchmap.h>
#include <eikfsel.h>
#include <eikfpne.h>
#include <eiktxlbx.h>
#include <eikgysel.h>
#include <eikctrls.hrh>
#include <badesca.h>
#include <eiksndsl.h>

EXPORT_C void CEikDialog::SetSoundSelectorSound(TInt aControlId, const TDesC& aSound)
	{
	CEikSoundSelector* sndSel=(CEikSoundSelector*)Control(aControlId);
	sndSel->SetSound(aSound);
	sndSel->DrawNow();
	}

EXPORT_C void CEikDialog::GetSoundSelectorSound(TDes& aSound, TInt aControlId) const
	{
	CEikSoundSelector* sndSel=(CEikSoundSelector*)Control(aControlId);
	sndSel->GetSound(aSound);
	}

EXPORT_C void CEikDialog::SetListBoxCurrentItem(TInt aControlId, TInt aItem)
	{
	CEikTextListBox* listBox=(CEikTextListBox*)Control(aControlId);
	listBox->SetCurrentItemIndex(aItem);
	listBox->DrawNow();
	}

EXPORT_C TInt CEikDialog::ListBoxCurrentItem(TInt aControlId) const
	{
	return ((CEikTextListBox*)Control(aControlId))->CurrentItemIndex();
	}

EXPORT_C void CEikDialog::SetCharEditor(TInt aControlId, TChar aChar)
	{
	CEikCharEditor* charEd = (CEikCharEditor*) (Control(aControlId));
	charEd->SetChar(aChar);
	charEd->DrawNow();
	}

EXPORT_C TChar CEikDialog::CharEditor(TInt aControlId) const
	{
	return ((CEikCharEditor*)Control(aControlId))->GetChar();
	}

EXPORT_C void CEikDialog::SetFileNameL(TInt aControlId, const TDesC* aFileName)
	{
	CEikFileNameSelector* fileSel=STATIC_CAST(CEikFileNameSelector*,Control(aControlId));
	fileSel->SetFullNameL(*aFileName);
	fileSel->DrawNow();
	}

EXPORT_C void CEikDialog::GetFileName(TFileName* aFileName,TInt aControlId) const
	{
	*aFileName = ((CEikFileNameSelector*)Control(aControlId))->FullName();
	}

EXPORT_C void CEikDialog::SetCharMap(TInt aControlId, TInt aChar)
	{
	CEikCharMap* charMap=STATIC_CAST(CEikCharMap*,Control(aControlId));
	charMap->SetChar(aChar);
	charMap->DrawNow();
	}

EXPORT_C TInt CEikDialog::CharMap(TInt aControlId) const
	{
	return ((CEikCharMap*)Control(aControlId))->GetChar();
	}

EXPORT_C void CEikDialog::SetGraySelectorColor(TInt aControlId, TRgb aColor)
	{
	CEikGraySelector* graySelector=(CEikGraySelector*)Control(aControlId);
	graySelector->SetSelectedColor(aColor);
	graySelector->DrawNow();
	}

EXPORT_C TRgb CEikDialog::GraySelectorColor(TInt aControlId) const
	{
	return ((CEikGraySelector*)Control(aControlId))->SelectedColor();
	}

///////////////////////

EXPORT_C void CEikDialog::DeclareAutoTextEditorL(TInt aId,TDes* aText)
	{
	DeclareItemAuto(aId,EEikCtEdwin,aText);
	SetEdwinTextL(aId,aText);
	}

EXPORT_C void CEikDialog::DeclareAutoChoiceList(TInt aId,TInt* aCurrentItem)
	{
	DeclareItemAuto(aId,EEikCtChoiceList,aCurrentItem);
	SetChoiceListCurrentItem(aId,*aCurrentItem);
	}

EXPORT_C void CEikDialog::DeclareAutoNumberEditor(TInt aId,TInt* aNumber)
	{
	DeclareItemAuto(aId,EEikCtNumberEditor,aNumber);
	SetNumberEditorValue(aId,*aNumber);
	}

EXPORT_C void CEikDialog::DeclareAutoRangeEditor(TInt aId,SEikRange* aRange)
	{
	DeclareItemAuto(aId,EEikCtRangeEditor,aRange);
	SetRangeEditorValue(aId,*aRange);
	}

EXPORT_C void CEikDialog::DeclareAutoTimeEditor(TInt aId,TTime* aTime)
	{
	DeclareItemAuto(aId,EEikCtTimeEditor,aTime);
	SetTTimeEditorValue(aId,*aTime);
	}

EXPORT_C void CEikDialog::DeclareAutoDateEditor(TInt aId,TTime* aDate)
	{
	DeclareItemAuto(aId,EEikCtDateEditor,aDate);
	SetTTimeEditorValue(aId,*aDate);
	}

EXPORT_C void CEikDialog::DeclareAutoTimeAndDateEditor(TInt aId,TTime* aTimeAndDate)
	{
	DeclareItemAuto(aId,EEikCtTimeAndDateEditor,aTimeAndDate);
	SetTTimeEditorValue(aId,*aTimeAndDate);
	}

EXPORT_C void CEikDialog::DeclareAutoDurationEditor(TInt aId,TTimeIntervalSeconds* aDuration)
	{
	DeclareItemAuto(aId,EEikCtDurationEditor,aDuration);
	SetDurationEditorValue(aId,*aDuration);
	}

EXPORT_C void CEikDialog::DeclareAutoTimeOffsetEditor(TInt aId,TTimeIntervalSeconds* aTimeOffset)
	{
	DeclareItemAuto(aId,EEikCtTimeOffsetEditor,aTimeOffset);
	SetTimeOffsetEditorValue(aId,*aTimeOffset);
	}

EXPORT_C void CEikDialog::DeclareAutoLatitudeEditor(TInt aId,SEikDegreesMinutesDirection* aLatitude)
	{
	DeclareItemAuto(aId,EEikCtLatitudeEditor,aLatitude);
	SetLatitudeEditorValue(aId,*aLatitude);
	}

EXPORT_C void CEikDialog::DeclareAutoLongitudeEditor(TInt aId,SEikDegreesMinutesDirection* aLongitude)
	{
	DeclareItemAuto(aId,EEikCtLongitudeEditor,aLongitude);
	SetLongitudeEditorValue(aId,*aLongitude);
	}

EXPORT_C void CEikDialog::DeclareAutoTwipsEditorL(TInt aId,TInt* aValue)
	{
	DeclareItemAuto(aId,EEikCtTwipsEd,aValue);
	SetTwipsEditorValueL(aId,aValue);
	}

EXPORT_C void CEikDialog::DeclareAutoFixedPointEditor(TInt aId,TInt* aValue)
	{
	DeclareItemAuto(aId,EEikCtFxPtEd,aValue);
	SetFixedPointEditorValueL(aId,*aValue);
	}

EXPORT_C void CEikDialog::DeclareAutoCheckBox(TInt aId,CEikButtonBase::TState* aState)
	{
	DeclareItemAuto(aId,EEikCtCheckBox,aState);
	SetCheckBoxState(aId,*aState);
	}

EXPORT_C void CEikDialog::DeclareAutoSecretEditor(TInt aId,TDes* aText)
	{
	DeclareItemAuto(aId,EEikCtSecretEd,aText);
	}

EXPORT_C void CEikDialog::DeclareAutoHorOptionButList(TInt aId,TInt* aSet)
	{
	DeclareItemAuto(aId,EEikCtHorOptionButList,aSet);
	SetHorOptionButListCurrentSet(aId,*aSet);
	}
