--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanel/src/cpframework/src/cpsettingformentryitemdata.cpp Tue Aug 31 15:29:50 2010 +0300
@@ -0,0 +1,224 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include "cpsettingformentryitemdata.h"
+#include "cpsettingformentryitemdata_p.h"
+#include "cpviewlauncher.h"
+#include <cpbasesettingview.h>
+
+
+/*!
+ \class CpSettingFormEntryItemData
+ \brief The CpSettingFormEntryItemData can be used to control panel plugin which appears as a setting item. And after clicking
+ it, a new setting view will open.
+ */
+
+/*
+ \fn CpSettingFormEntryItemData::createSettingView
+
+ Create a new setting view.
+
+ createSettingView will be called automatically when user click a setting item represented by a CpSettingFormEntryItemData.
+
+ In most cases, you do not need to write a derived class from CpSettingFormEntryItemData, instead, you can simply use template class CpSettingFormEntryItemDataImpl.
+*/
+
+
+/*!
+ Construct a new CpSettingFormEntryItemData with the given parent.
+*/
+CpSettingFormEntryItemData::CpSettingFormEntryItemData(const HbDataFormModelItem *parent /* = 0*/)
+: CpSettingFormItemData(parent), d_ptr(new CpSettingFormEntryItemDataPrivate())
+{
+ d_ptr->init(this);
+}
+
+
+/*!
+ Construct a new CpSettingFormEntryItemData with the given text,description and parent.
+*/
+
+CpSettingFormEntryItemData::CpSettingFormEntryItemData(CpItemDataHelper &itemDataHelper,
+ const QString &text /* = QString()*/,
+ const QString &description /* = QString()*/,
+ const HbIcon &icon,
+ const HbDataFormModelItem *parent /*= 0*/) :
+ CpSettingFormItemData(HbDataFormModelItem::CustomItemBase,QString(),parent),
+ d_ptr(new CpSettingFormEntryItemDataPrivate(&itemDataHelper))
+{
+ setType ( static_cast<HbDataFormModelItem::DataItemType> (CpSettingFormEntryItemData::ListEntryItem) );
+
+ d_ptr->init(this);
+
+ setText(text);
+ setDescription(description);
+ setIcon(icon.iconName());
+}
+
+/*!
+ Construct a new CpSettingFormEntryItemData with the given text,description and parent.
+*/
+
+CpSettingFormEntryItemData::CpSettingFormEntryItemData(HbDataForm *dataForm,
+ const QString &text /*= QString()*/,
+ const QString &description /*= QString()*/,
+ const HbIcon &icon /*= HbIcon()*/,
+ const HbDataFormModelItem *parent/* = 0*/) :
+ CpSettingFormItemData(HbDataFormModelItem::CustomItemBase,QString(),parent),
+ d_ptr(new CpSettingFormEntryItemDataPrivate(dataForm))
+{
+ setType ( static_cast<HbDataFormModelItem::DataItemType> (CpSettingFormEntryItemData::ListEntryItem) );
+
+ d_ptr->init(this);
+
+ setText(text);
+ setDescription(description);
+ setIcon(icon.iconName());
+}
+
+/*!
+ Construct a new CpSettingFormEntryItemData with the given type, text, description, icon name, and parent.
+*/
+CpSettingFormEntryItemData::CpSettingFormEntryItemData(
+ EntryItemType type,
+ CpItemDataHelper &itemDataHelper,
+ const QString &text /*= QString()*/,
+ const QString &description /*= QString()*/,
+ const QString &iconName /*= QString()*/,
+ const HbDataFormModelItem *parent /*= 0*/) :
+ CpSettingFormItemData(HbDataFormModelItem::CustomItemBase,QString(),parent),
+ d_ptr(new CpSettingFormEntryItemDataPrivate(&itemDataHelper))
+{
+ setType ( static_cast<HbDataFormModelItem::DataItemType> (type) );
+
+ d_ptr->init(this);
+
+ setText(text);
+ setDescription(description);
+ setIcon(iconName);
+}
+
+/*!
+ Construct a new CpSettingFormEntryItemData with the given type, text, description, icon name, and parent.
+*/
+CpSettingFormEntryItemData::CpSettingFormEntryItemData(
+ EntryItemType type,
+ HbDataForm *dataForm,
+ const QString &text /*= QString()*/,
+ const QString &description /*= QString()*/,
+ const QString &iconName /*= QString()*/,
+ const HbDataFormModelItem *parent /*= 0*/) :
+ CpSettingFormItemData(HbDataFormModelItem::CustomItemBase,QString(),parent),
+ d_ptr(new CpSettingFormEntryItemDataPrivate(dataForm))
+{
+ setType ( static_cast<HbDataFormModelItem::DataItemType> (type) );
+
+ d_ptr->init(this);
+
+ setText(text);
+ setDescription(description);
+ setIcon(iconName);
+}
+
+
+/*!
+ Destructor.
+*/
+CpSettingFormEntryItemData::~CpSettingFormEntryItemData()
+{
+ delete d_ptr;
+}
+
+
+/*!
+ Get the text string of the entry item.
+*/
+QString CpSettingFormEntryItemData::text() const
+{
+ return d_ptr->text();
+}
+
+/*!
+ Set the text string of the entry item.
+*/
+void CpSettingFormEntryItemData::setText(const QString &text)
+{
+ d_ptr->setText(text);
+}
+
+/*!
+ Get the description string of the entry item.
+*/
+QString CpSettingFormEntryItemData::description() const
+{
+ return d_ptr->description();
+}
+
+/*!
+ Set the description string of the entry item.
+*/
+void CpSettingFormEntryItemData::setDescription(const QString &description)
+{
+ d_ptr->setDescription(description);
+}
+
+/*!
+ Get the icon name of the entry item.
+*/
+QString CpSettingFormEntryItemData::iconName() const
+{
+ return d_ptr->iconName();
+}
+
+/*!
+ Set the icon name of the entry item.
+*/
+void CpSettingFormEntryItemData::setIconName(const QString &icon)
+{
+ d_ptr->setIconName(icon);
+}
+
+/*!
+ Return the icon of the entry item
+*/
+HbIcon CpSettingFormEntryItemData::entryItemIcon()const
+{
+ return d_ptr->entryItemIcon();
+}
+
+/*!
+ Set the icon for the entry item
+*/
+void CpSettingFormEntryItemData::setEntryItemIcon(const HbIcon& icon)
+{
+ d_ptr->setEntryItemIcon(icon);
+}
+
+/*!
+ Launch the setting view when user clicks the entry item.
+*/
+void CpSettingFormEntryItemData::onLaunchView()
+{
+ //avoid being launched more than one times
+ if (d_ptr->mSettingViewPtr.isNull()) {
+ d_ptr->mSettingViewPtr = createSettingView();
+ if (!d_ptr->mSettingViewPtr.isNull()) {
+ CpViewLauncher::launchView(d_ptr->mSettingViewPtr.data());
+ }
+ }
+}
+
+//End of File