ui/views/gridview/inc/glxgridview.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 19 Mar 2010 09:28:59 +0200
changeset 23 74c9f037fd5d
child 24 99ad1390cd33
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:   ?Description
*
*/




#ifndef GLXGRIDVIEW_H
#define GLXGRIDVIEW_H

#include "glxview.h"

//Qt/Orbit forward declarations
class HbGridView;
class HbMainWindow;
class HbDocumentLoader;
class QAbstractItemModel;
class HbAbstractViewItem;

#define NBR_ROW 5
#define NBR_COL 3
#define NBR_PAGE NBR_ROW * NBR_COL

class GlxGridView : public GlxView
{
    Q_OBJECT

public :
    GlxGridView(HbMainWindow *window);
    ~GlxGridView();
    void activate() ;
    void deActivate();
    void setModel(QAbstractItemModel *model);
    void addToolBar( HbToolBar *toolBar );
    void enableMarking() ;
    void disableMarking() ;
    void handleUserAction(qint32 commandId); 
    QItemSelectionModel * getSelectionModel() ;
    QGraphicsItem * getAnimationItem(GlxEffect transitionEffect);

public slots:
    void itemSelected(const QModelIndex &  index);
    void setVisvalWindowIndex();
    void scrollPositionChange (QPointF newPosition, Qt::Orientations importantDimensions);
    /*
     * This loads the docml and retrives the widgets from the 
     * docml corresponding to the present orentation 
     */
     void loadGridView(Qt::Orientation orient);
    void itemDestroyed();
        
protected :
    QVariant  itemChange (GraphicsItemChange change, const QVariant &value) ;

private slots:
    void indicateLongPress( HbAbstractViewItem *item, QPointF coords );
	
private:
    void addViewConnection();
    void removeViewConnection();
  
private:
	HbGridView          *mGridView; 
	HbView              *mView;
	HbMainWindow        *mWindow;  //no ownership
	QAbstractItemModel  *mModel ;
	int mVisualIndex;             //first item index of the page //To:Do remove later
	HbAbstractViewItem   *mItem;
    HbDocumentLoader     *mDocLoader; //Docml loader to load the widgets from docml    
};

#endif /* GLXGRIDVIEW_H_ */