void CAccessPointSettingsItem::CompleteConstructionL()
{
CAknEnumeratedTextPopupSettingItem::CompleteConstructionL();
CArrayPtr<CAknEnumeratedText>* pEnumeratedTextArray = EnumeratedTextArray();
pEnumeratedTextArray->ResetAndDestroy();
// get iap array
RIapInfoArrary iapArray;
CleanupResetAndDestroyPushL(iapArray);
CTTPodUtil::GetIapArrayL(iapArray);
// 增加“无”选项
CIapInfoItem *pItem = new (ELeave)CIapInfoItem;
CEikonEnv::Static()->ReadResource(pItem->iIapName, R_TEXT_NONE);
pItem->iIapId = 0;
iapArray.Insert(pItem, 0);
TInt i;
TInt selected = 0;
TInt count = iapArray.Count();
for (i = 0; i < count; i++)
{
HBufC* text = iapArray[i]->iIapName.AllocLC();
CAknEnumeratedText *enumText = new (ELeave) CAknEnumeratedText(iapArray[i]->iIapId, text);
CleanupStack::Pop(text);
CleanupStack::PushL(enumText);
pEnumeratedTextArray->AppendL(enumText);
CleanupStack::Pop(enumText);
if (iIapId == iapArray[i]->iIapId)
selected = i;
}
SetSelectedIndex(selected);
if (IndexFromValue(iIapId) < 0)
{
iIapId = iapArray[0]->iIapId;
}
HandleTextArrayUpdateL();
UpdateListBoxTextL();
CleanupStack::PopAndDestroy(&iapArray);
}
void CSleepModeSettingItem::CompleteConstructionL()
{
TBuf<40> buf_stop;
TBuf<40> buf_exit;
TBuf<40> buf_poweroff;
CEikonEnv::Static()->ReadResource(buf_stop, R_TEXT_SLEEP_STOP);
CEikonEnv::Static()->ReadResource(buf_exit, R_TEXT_SLEEP_EXIT);
CEikonEnv::Static()->ReadResource(buf_poweroff, R_TEXT_SLEEP_POWEROFF);
//CAknEnumeratedTextPopupSettingItem::CompleteConstructionL();
CArrayPtr< CAknEnumeratedText > * aEnumeratedTextArray;
CArrayPtr< HBufC > * aPoppedUpTextArray;
aEnumeratedTextArray = new (ELeave) CArrayPtrFlat<CAknEnumeratedText> (3);
aPoppedUpTextArray = new (ELeave) CArrayPtrFlat<HBufC> (3);
CAknEnumeratedText* aEnumeratedText = NULL;
HBufC* aText = HBufC::NewL(40);
*aText = buf_stop;
aEnumeratedText = new CAknEnumeratedText(0, aText);
aEnumeratedTextArray->AppendL(aEnumeratedText);
aText = HBufC::NewL(40);
*aText = buf_exit;
aEnumeratedText = new (ELeave) CAknEnumeratedText(1, aText);
aEnumeratedTextArray->AppendL(aEnumeratedText);
aText = HBufC::NewL(40);
*aText = buf_poweroff;
aEnumeratedText = new (ELeave) CAknEnumeratedText(2, aText);
aEnumeratedTextArray->AppendL(aEnumeratedText);
aText = HBufC::NewL(40);
*aText = buf_stop;
aPoppedUpTextArray->AppendL(aText);
aText = HBufC::NewL(40);
*aText = buf_exit;
aPoppedUpTextArray->AppendL(aText);
aText = HBufC::NewL(40);
*aText = buf_poweroff;
aPoppedUpTextArray->AppendL(aText);
SetEnumeratedTextArrays(aEnumeratedTextArray, aPoppedUpTextArray);
}