phonebookui/pbkcommonui/inc/cntbaseselectionview.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 19 Mar 2010 09:27:18 +0200
changeset 24 0ba2181d7c28
child 27 de1630741fbe
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 CNTBASESELECTIONVIEW_H
#define CNTBASESELECTIONVIEW_H

#include "cntbaseview.h"
#include "qtpbkglobal.h"
#include <hbabstractviewitem.h>
#include <hbabstractitemview.h>

class HbListView;
class QGraphicsLinearLayout;
class QItemSelectionModel;

class QTPBK_EXPORT CntBaseSelectionView : public CntBaseView
{
    Q_OBJECT

public:
    CntBaseSelectionView(CntViewManager *viewManager, QGraphicsItem *parent = 0, HbAbstractItemView::SelectionMode newMode = HbAbstractItemView::MultiSelection);
    ~CntBaseSelectionView();

public:

    virtual void setupView();
    virtual void activateView(const CntViewParameters &viewParameters);
    void addItemsToLayout();
    
public slots:
    virtual void onListViewActivated(const QModelIndex &index) { Q_UNUSED(index); }

public:

    HbListView             *listView();
    QGraphicsLinearLayout  *listLayout();
    QItemSelectionModel    *selectionModel();

private:
    HbListView              *mListView;
    QGraphicsLinearLayout   *mListLayout;

    // needed in subclasses
#ifdef PBK_UNIT_TEST
public:
#else
protected:
#endif
    HbAbstractItemView::SelectionMode   mSelectionMode;

};

#endif /* CNTBASESELECTIONVIEW_H */