messagingapp/msgui/msgapp/inc/msgmainwindow.h
author hgs
Tue, 19 Oct 2010 11:30:16 +0530
changeset 76 60a8a215b0ec
parent 73 ecf6a73a9186
permissions -rw-r--r--
201041

/*
 * 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:
 * Main window of the messaging application. Activates the default view.
 *
 */

#ifndef MSG_MAIN_WINDOW_H
#define MSG_MAIN_WINDOW_H

// INCLUDES
#include <qobject.h>
#include <hbmainwindow.h>

// FORWARD DECLARATIONS
class MsgViewManager;
class MsgServiceInterface;
class MsgSendServiceInterface;
class MsgActivityHandler;

/**
 * Main window of the messaging application. Activates the
 * default view which is the messaging list view.
 */
class MsgMainWindow : public HbMainWindow
{
Q_OBJECT

public:
    /**
     * Constructor
     */
    MsgMainWindow(bool serviceRequest, 
                  MsgActivityHandler *handler,
                   QWidget *parent = 0);

    /**
     * Destructor
     */
    virtual ~MsgMainWindow();
    
    /**
     * Returns view manager.
     */
    MsgViewManager* viewManager();
    

protected:

    /**
     * Key press event handler
     * @see QGraphicsItem
     */
    void keyPressEvent(QKeyEvent *event);

    /**
     * Event filter on application
     */
    bool eventFilter(QObject *obj, QEvent *event);
	    
private:
    /**
     * This initializes the member objects
     */
    void initialize(bool serviceRequest);
    
private:
    MsgServiceInterface* mMsgSI;
    MsgSendServiceInterface* mMsgSendSI;
    MsgViewManager* mViewManager;
	/**
	 * Not owned
	 */
    MsgActivityHandler* mActivityHandler;
    
    /**
     * Unit Testing
     */
    #ifdef MSGUI_MSGAPP_UNIT_TEST
      friend class TestMsgMainWindow;
    #endif
    
};

#endif // MSG_MAIN_WINDOW_H

// EOF