The easiest way to do it is probably to derive your own class from CAknEnumeratedTextPopupSettingItem and override it's EditItemL method. In EditItemL launch set setting page like this:
Code:
//iSelections is an CSelectionItemList*
CAknCheckBoxSettingPage* settingPage =
new( ELeave) CAknCheckBoxSettingPage( R_CHECKBOXLIST_SETPAGE, iSelections);
if( settingPage->ExecuteLD(CAknSettingPage::EUpdateWhenAccepted))
{
//OK, update and save
StoreL();
}
For the setting page resources...
Code:
RESOURCE POPUP_SETTING_LIST r_checkbox_list
{
}
RESOURCE AVKON_SETTING_PAGE r_checkboxlist_setpage
{
label= "";
type = EAknCtPopupSettingList;
editor_resource_id = r_checkbox_list;
}
...should suffice.