动态设置Setting Item

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);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值