--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/viewmanagement/viewmanager/inc/glxviewmanager.h Fri Mar 19 09:28:59 2010 +0200
@@ -0,0 +1,204 @@
+/*
+* 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 GLXVIEWMANAGER_H
+#define GLXVIEWMANAGER_H
+
+#include <QObject>
+#include <QList>
+#include <hbeffect.h>
+#include "glxuistd.h"
+
+class GlxView;
+class HbMainWindow;
+class QAbstractItemModel;
+class HbAction;
+class GlxMenuManager;
+class HbToolBar;
+class HbAction;
+class QItemSelectionModel;
+class HbMenu;
+class GlxSlideShowEffectEngine;
+
+#ifdef BUILD_VIEWMANAGER
+#define GLX_VIEWMANAGER_EXPORT Q_DECL_EXPORT
+#else
+#define GLX_VIEWMANAGER_EXPORT Q_DECL_IMPORT
+#endif
+
+typedef enum
+{
+ NO_ACTION_ID = 0x00,
+ GLX_ALL_ACTION_ID = 0x01,
+ GLX_ALBUM_ACTION_ID = 0x02,
+ GLX_CAMERA_ACTION_ID = 0x04,
+ GLX_OVI_ACTION_ID = 0x08,
+ GLX_ALL_ID = 0xFF
+} glxToolBarActionIds;
+
+class GLX_VIEWMANAGER_EXPORT GlxViewManager : public QObject
+{
+Q_OBJECT
+
+public :
+ GlxViewManager();
+ ~GlxViewManager();
+ void setupItems(int subState = -1);
+ void launchApplication(qint32 id, QAbstractItemModel *model);
+ void addBackSoftKeyAction();
+/*
+ * This will return the orientation of main window
+ */
+ Qt::Orientation orientation() const;
+/*
+ * This will deactivate the current function
+ * to be used only in cases where External launch was done
+ */
+ void deactivateCurrentView();
+/*
+ * To update the tool bar enable and disable icon
+ * id = This should be selected toolbar tab id
+ */
+ void updateToolBarIcon(int id);
+/*
+ * Enable the marking mode of the view to select multiple item
+ */
+ void enterMarkingMode(qint32 viewId);
+/*
+ * Enable the normal mode of the view
+ */
+ void exitMarkingMode(qint32 viewId);
+/*
+ * Pass the user action to the view
+ */
+ void handleUserAction(qint32 viewId, qint32 commandId);
+/*
+ * Return the selection model to the user
+ */
+ QItemSelectionModel * getSelectionModel(qint32 viewId);
+
+signals :
+/*
+ * emit the user action
+ */
+ void actionTriggered(qint32 id);
+ void externalCommand(int cmdId);
+
+public slots:
+/*
+ * This public slot is used to launch the view
+ */
+ void launchView (qint32 id, QAbstractItemModel *model);
+/*
+ * It is over load slot and used to run the animation for view transition and launch the view
+ */
+ void launchView (qint32 id, QAbstractItemModel *model, GlxEffect effect, GlxViewEffect viewEffect);
+/*
+ * It will removed and deleted the view.
+ * Currently It is not used so may be in future, It will be removed.
+ */
+ void destroyView (qint32 id);
+/*
+ * It will pass the user action to the state manager
+ */
+ void actionProcess(qint32 id);
+/*
+ * It will pass the user selected menu action to state manager
+ * check for depricated with actionProcess api
+ */
+ void handleMenuAction(qint32 commandId);
+/*
+ * It will pass the user action ( tool bar + back ) to state manager
+ */
+ void handleAction();
+ void cancelTimer();
+/*
+ * This is slot used for the animation finished call back
+ */
+ void effectFinished( );
+/*
+ * This will open the item specifc Menu
+ */
+ void itemSpecificMenuTriggered(qint32,QPointF );
+
+protected:
+
+private slots:
+
+private:
+/*
+ * It will create and return the view
+ */
+ GlxView * resolveView (qint32 id);
+/*
+ * It will find a view from the view list and return it
+ */
+ GlxView * findView (qint32 id);
+/*
+ * It will deativate the current view
+ */
+ void deActivateView();
+/*
+ * It will activate and show the view
+ */
+ void activateView();
+/*
+ * It will create the grid and list view tool bar action
+ */
+ void createActions();
+/*
+ * It will create the marking mode toll bar action
+ */
+ void createMarkingModeActions();
+/*
+ * It will create the grid and list view tool bar
+ */
+ void createToolBar();
+/*
+ * It will create the marking mode tool bar
+ */
+ void createMarkingModeToolBar();
+/*
+ * It will add all the view manager related connection
+ */
+ void addConnection();
+/*
+ * It will remove all the view manager releted connection
+ */
+ void removeConnection();
+
+private:
+ QList<GlxView *> mViewList; //It contains all the view created by it self.
+ HbMainWindow *mMainWindow; //main window pointer, It have ownership only if
+ HbAction *mBackAction; // For back soft key
+ GlxMenuManager *mMenuManager; //Pointer of menu manger to add the menu in the view
+ GlxSlideShowEffectEngine *mEffectEngine; //To run the animation in between view transition
+ QList<HbAction *> mActionList; //Tool bar action list
+ QList<HbAction *> mMarkingActionList; //marking mode tool bar action list
+ HbToolBar *mViewToolBar; //view tool bar
+ HbToolBar *mMarkingToolBar; //marking mode tool bar
+ QList<QString > mSelIconPathList; //enable tool bar button icon path list
+ QList<QString > mDefaultIconPathList; //disalbe tool bar button icon path list
+ HbMenu *mMenu;
+ GlxView *mView;
+ QAbstractItemModel *mModel; //no ownership
+};
+
+
+#endif /* GLXVIEWMANAGER_H_ */