ui/views/slideshowview/inc/glxslideshowview.h
author hgs
Fri, 06 Aug 2010 20:44:25 +0530
changeset 54 0f0f3f26f787
parent 42 5e1df1b52eb3
permissions -rw-r--r--
201031

/*
* 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 GLXSLIDESHOWVIEW_H
#define GLXSLIDESHOWVIEW_H

//User Includes
#include "glxview.h"
#include "glxslideshowwidget.h"

//Qt/Orbit forward declarations
class HbMainWindow;
class HbDocumentLoader;

//User Includes forward Declaration
class GlxView;
class GlxSlideShowWidget;
class GlxTvOutWrapper;

/**
 * Class Description
 * This is Slideshow view class used to play the slide show on set of images.
 */
class GlxSlideShowView : public GlxView
{
    Q_OBJECT

public:
    /**
     * Constructor
     * @param - HbMainWindow object
     * @param - fullscreen docloader object
     */
    GlxSlideShowView( HbMainWindow *window, HbDocumentLoader *Docloader );
    
    /**
     * Destructor
     */    
    ~GlxSlideShowView();

    /**
     * activate()
     * ///From GlxView
     */    
    void activate() ;
    
    /**
     * deActivate()
     * ///From GlxView
     */    
    void deActivate();
    
    /**
     * setmodel() 
     * ///from GlxView
     */    
    void setModel( QAbstractItemModel *model );

    /**
     * setModelContext() - to set the context mode of the model.
     */    
    void setModelContext();
    
    /**
     * handleUserAction() - To handle the used action like back to paly the orientation change animation.
     */
    void handleUserAction( qint32 commandId );
        
public slots :
    /**
     * orientationChanged() - Slot to upadte the layout when orientation of device has changed
     * @param new orientation
     */
    void orientationChanged( Qt::Orientation ) ;
    
    /**
     * slideShowEventHandler() - to handle the widget events like ui on / off, empty data etc
     * @param slide show widget event type 
     */
    void slideShowEventHandler( GlxSlideShowEvent e );
    
    /**
     * indexchanged() - call back to handle the selected image change. 
     */
    void indexchanged();
    
    /**
     * modelDestroyed() - call back to monitor the model destroy.
     */
    void modelDestroyed();
    
    /**
     * playLsOrientChangeAnim() - To play the protrait to landscape orientation animation.
     */
    void playLsOrientChangeAnim();

    /**
     * playLsOrientChangeAnim() - To play the landscape to protrait orientation animation.
     */
    void playPtOrientChangeAnim();
    
    /**
     * LsOrientChangeAnimFinished() - Call back fuction when protrait to landscape orientation animation 
     * has been finished.
     * @param - staus of effect
     */
    void LsOrientChangeAnimFinished( const HbEffect::EffectStatus );
    
    /**
     * PtOrientChangeAnimFinished() - Call back fuction when landscape to protrait orientation animation 
     * has been finished.
     * @param - staus of effect
     */    
    void PtOrientChangeAnimFinished( const HbEffect::EffectStatus );
    
protected :
    /**
     * eventFilter - To handle the application foregrond and background event
     * ///From HbView
     */
    bool eventFilter( QObject *obj, QEvent *ev );
    
private:
    /**
     * loadWidgets() - The widgets are retrieved from the docml
     */
    void loadObjects();

private:
    QAbstractItemModel  *mModel;
    HbMainWindow        *mWindow;
    GlxSlideShowWidget  *mSlideShowWidget;    
    HbDocumentLoader    *mDocLoader; //Docml loader to load the widgets from docml
    GlxTvOutWrapper*    mTvOutWrapper;
};

#endif /*GLXSLIDESHOWVIEW_H*/