diff -r 76883296a0d5 -r 11a052f4b02e coreapplicationuis/Rfs/Plugins/cprfsplugin/src/cprfssettingsdataformcustomitem.cpp --- a/coreapplicationuis/Rfs/Plugins/cprfsplugin/src/cprfssettingsdataformcustomitem.cpp Tue Jul 06 14:26:20 2010 +0300 +++ b/coreapplicationuis/Rfs/Plugins/cprfsplugin/src/cprfssettingsdataformcustomitem.cpp Wed Aug 18 09:58:19 2010 +0300 @@ -18,6 +18,7 @@ #include #include #include +#include CpRfsSettingsDataFormCustomItem::CpRfsSettingsDataFormCustomItem(QGraphicsItem *parent) : HbDataFormViewItem(parent) @@ -27,3 +28,50 @@ CpRfsSettingsDataFormCustomItem::~CpRfsSettingsDataFormCustomItem() { } + +//overridden method which is required in case of customwidget +bool CpRfsSettingsDataFormCustomItem::canSetModelIndex(const QModelIndex &index) const + { + HbDataFormModelItem::DataItemType itemType = + static_cast( + index.data(HbDataFormModelItem::ItemTypeRole).toInt()); + //each custom item can be represented by customitembase+number and 10 is just in future if u have to add extra custom items + if(itemType >= HbDataFormModelItem::CustomItemBase && + itemType <= HbDataFormModelItem::CustomItemBase + 10 ) { + return true; + } + return false; + + } +//overridden method which is required in case of customwidget +HbAbstractViewItem* CpRfsSettingsDataFormCustomItem::createItem() + { + return new CpRfsSettingsDataFormCustomItem(*this); + } +//overridden method which is required in case of customwidget +HbWidget* CpRfsSettingsDataFormCustomItem::createCustomWidget() + { + HbDataFormModelItem::DataItemType itemType = static_cast( + modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt()); + HbTranslator trans("control_panel"); + switch(itemType) + { + case HbDataFormModelItem::CustomItemBase + 1: + { + //Create 1st button + mButton = new HbPushButton(); + mButton->setText(hbTrId("txt_cp_setlabel_settings_reset_val_reset_settings")); + return mButton; + } + case HbDataFormModelItem::CustomItemBase + 2: + { + //Create 2nd button + mButton = new HbPushButton(); + mButton->setText(hbTrId("txt_cp_setlabel_device_reset_val_reset_device")); + return mButton; + } + //Some other cases can also be added if there are more than 2 custom data item + default: + return 0; + } + }