phonebookui/pbkcommonui/inc/cnteditordatamodelitem.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 19 Mar 2010 09:27:18 +0200
changeset 24 0ba2181d7c28
permissions -rw-r--r--
Revision: 201007 Kit: 201011

/*
* 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:  
*
*/
#ifndef CNTEDITORDATAMODELITEM_H
#define CNTEDITORDATAMODELITEM_H

#include <hbdataformmodelitem.h>
#include <QStandardItemModel>
#include <qmobilityglobal.h>

class HbDataFormViewItem;
class HbInputFilter;

QTM_BEGIN_NAMESPACE
class QContactDetail;
QTM_END_NAMESPACE

QTM_USE_NAMESPACE

class CntEditorDataModelItem : public HbDataFormModelItem
{

public:
    // ctor for fields that use HbComboBox
    CntEditorDataModelItem(QContactDetail &detail, const QString &key, QStandardItemModel *fieldModel,
            HbDataFormModelItem::DataItemType type, const QString &label = QString(), const HbDataFormModelItem *parent = 0);
    // ctor for fields that use HbLabel
    CntEditorDataModelItem(QContactDetail &detail, const QString &key, int maxLength, HbDataFormModelItem::DataItemType type,
            const QString &label = QString(), const HbDataFormModelItem *parent = 0);
    // ctor for special pushbutton items
    CntEditorDataModelItem(QContactDetail &detail, const QString &buttonLabel, HbDataFormModelItem::DataItemType type,
            const QString &label = QString(), const HbDataFormModelItem *parent = 0);
    ~CntEditorDataModelItem();

public:
    QContactDetail &contactDetail();
    QString key();
    QString buttonLabel();
    QStandardItemModel *fieldModel();
    int maxLength();
    HbInputFilter *inputFilter();
    void setTextFilter(HbInputFilter* inputFilter);
    
private:
    QContactDetail      &mContactDetail;
    QString              mKey;
    QString              mButtonLabel;
    QStandardItemModel  *mFieldModel;
    int                  mMaxLength;
    HbInputFilter       *mInputFilter;

};
#endif //CNTEDITORDATAMODELITEM_H