gsprofilesrv_plat/controlpanel_api/inc/cpsettingformentryitemdata.h
author hgs
Wed, 29 Sep 2010 10:45:02 +0800
changeset 61 33e86ecbfdb4
parent 39 controlpanel/controlpanel_plat/inc/cpsettingformentryitemdata.h@c044bc2ea8f7
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     1
/*
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     3
* All rights reserved.
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0""
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     8
*
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     9
* Initial Contributors:
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    11
*
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    12
* Contributors:
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    13
*
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    14
* Description:  
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    15
*
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    16
*/
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    17
36
hgs
parents: 32
diff changeset
    18
#ifndef CPSETTINGFORMENTRYITEMDATA_H
hgs
parents: 32
diff changeset
    19
#define CPSETTINGFORMENTRYITEMDATA_H
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    20
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    21
#include <cpglobal.h>
32
hgs
parents: 31
diff changeset
    22
#include <QObject>
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    23
#include <cpsettingformitemdata.h>
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    24
#include <hbicon.h>
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    25
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    26
class CpItemDataHelper;
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    27
class CpBaseSettingView;
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    28
class HbDataForm;
36
hgs
parents: 32
diff changeset
    29
class QModelIndex;
hgs
parents: 32
diff changeset
    30
class CpSettingFormEntryItemDataPrivate;
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    32
class CP_EXPORT CpSettingFormEntryItemData : public CpSettingFormItemData 
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    33
{
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    34
	Q_OBJECT
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    35
public:
36
hgs
parents: 32
diff changeset
    36
	enum EntryItemType {
hgs
parents: 32
diff changeset
    37
	    ListEntryItem   = HbDataFormModelItem::CustomItemBase + 1,
hgs
parents: 32
diff changeset
    38
	    ButtonEntryItem = HbDataFormModelItem::CustomItemBase + 2
hgs
parents: 32
diff changeset
    39
	};
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    40
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    41
	explicit CpSettingFormEntryItemData(const HbDataFormModelItem *parent = 0);
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    42
36
hgs
parents: 32
diff changeset
    43
	explicit CpSettingFormEntryItemData(
hgs
parents: 32
diff changeset
    44
	        CpItemDataHelper &itemDataHelper,
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    45
			const QString &text = QString(),
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    46
	        const QString &description = QString(),
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    47
			const HbIcon &icon = HbIcon(),
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    48
			const HbDataFormModelItem *parent = 0);	 
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    49
36
hgs
parents: 32
diff changeset
    50
	explicit CpSettingFormEntryItemData(
hgs
parents: 32
diff changeset
    51
	        HbDataForm *dataForm,
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    52
			const QString &text = QString(),
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    53
	        const QString &description = QString(),
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    54
			const HbIcon &icon = HbIcon(),
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    55
			const HbDataFormModelItem *parent = 0);	
36
hgs
parents: 32
diff changeset
    56
	
hgs
parents: 32
diff changeset
    57
    explicit CpSettingFormEntryItemData(
hgs
parents: 32
diff changeset
    58
            EntryItemType type,
hgs
parents: 32
diff changeset
    59
            CpItemDataHelper &itemDataHelper,
hgs
parents: 32
diff changeset
    60
            const QString &text = QString(),
hgs
parents: 32
diff changeset
    61
            const QString &description = QString(),
hgs
parents: 32
diff changeset
    62
            const QString &iconName = QString(),
hgs
parents: 32
diff changeset
    63
            const HbDataFormModelItem *parent = 0);  
hgs
parents: 32
diff changeset
    64
    
hgs
parents: 32
diff changeset
    65
    explicit CpSettingFormEntryItemData(
hgs
parents: 32
diff changeset
    66
            EntryItemType type,
hgs
parents: 32
diff changeset
    67
            HbDataForm *dataForm,
hgs
parents: 32
diff changeset
    68
            const QString &text = QString(),
hgs
parents: 32
diff changeset
    69
            const QString &description = QString(),
hgs
parents: 32
diff changeset
    70
            const QString &iconName = QString(),
hgs
parents: 32
diff changeset
    71
            const HbDataFormModelItem *parent = 0); 
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    72
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    73
	virtual ~CpSettingFormEntryItemData();	
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    74
	
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    75
	QString text() const;
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    76
	void setText(const QString &text);
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    77
	
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    78
	QString description() const;
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    79
	void setDescription(const QString &description);
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    80
36
hgs
parents: 32
diff changeset
    81
	QString iconName() const;
hgs
parents: 32
diff changeset
    82
	void setIconName(const QString &icon);
hgs
parents: 32
diff changeset
    83
	
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    84
	HbIcon entryItemIcon() const;
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    85
	void setEntryItemIcon(const HbIcon &icon);
36
hgs
parents: 32
diff changeset
    86
		
hgs
parents: 32
diff changeset
    87
public slots:
hgs
parents: 32
diff changeset
    88
	virtual void onLaunchView();
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    89
private:
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    90
	virtual CpBaseSettingView *createSettingView() const = 0;
36
hgs
parents: 32
diff changeset
    91
private:
hgs
parents: 32
diff changeset
    92
    Q_DISABLE_COPY(CpSettingFormEntryItemData)
hgs
parents: 32
diff changeset
    93
    Q_DECLARE_PRIVATE_D(d_ptr, CpSettingFormEntryItemData)
hgs
parents: 32
diff changeset
    94
    Q_PRIVATE_SLOT(d_func(), void _q_itemPressed(const QModelIndex &index))
39
hgs
parents: 36
diff changeset
    95
    Q_PRIVATE_SLOT(d_func(), void _q_itemActivated(const QModelIndex &index))
36
hgs
parents: 32
diff changeset
    96
private:
hgs
parents: 32
diff changeset
    97
	CpSettingFormEntryItemDataPrivate *d_ptr;
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    98
};
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    99
36
hgs
parents: 32
diff changeset
   100
#endif  //CPSETTINGFORMENTRYITEMDATA_H