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 <cprfssettingsdataformcustomitem.h>
#include <hbdataformmodelitem.h>
#include <hbpushbutton.h>
+#include <hbtranslator.h>
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<HbDataFormModelItem::DataItemType>(
+ 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<HbDataFormModelItem::DataItemType>(
+ 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;
+ }
+ }