homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsbaseviewstate.h
changeset 77 4b195f3bea29
parent 61 2b1b11a301d2
child 85 35368b604b28
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsbaseviewstate.h	Tue Jul 06 14:06:53 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsbaseviewstate.h	Wed Aug 18 09:40:07 2010 +0300
@@ -18,14 +18,23 @@
 #ifndef HSBASEVIEWSTATE_H
 #define HSBASEVIEWSTATE_H
 
-#include <qstate.h>
+#include <QState>
+#include <QPointer>
+#include <QModelIndex>
 
 #include "hsmenustates_global.h"
 #include "hsmenuservice.h"
 #include "hsmenuview.h"
 
+
+class HbMenu;
+class HbAction;
 class HbMessageBox;
+class HbAbstractViewItem;
 class CaNotifier;
+class HsMenuModeWrapper;
+class HsMainWindow;
+class HsAddModeProxyModel;
 
 HS_STATES_TEST_CLASS(MenuStatesTest)
 
@@ -37,35 +46,56 @@
     
 public:
     
-    HsBaseViewState(QState *parent);    
+    HsBaseViewState(HsMainWindow &mainWindow, QState *parent);
+    HsBaseViewState(HsMainWindow &mainWindow, 
+        HsMenuModeWrapper& menuMode, QState *parent);
     ~HsBaseViewState();
-    
+    void scrollToBeginning();
+
 private slots:
 
-    void applicationLaunchFailMessageFinished(HbAction*);
-    
+    virtual void openAppLibrary();
+
 protected slots:
     
-    void stateExited();
+    virtual void stateEntered();
+    virtual void stateExited();
+    virtual void addModeEntered();
+    virtual void addModeExited();
+    virtual void normalModeEntered();
+    virtual void normalModeExited();
+    virtual void launchItem(const QModelIndex &index);
+    virtual void openCollection(const QModelIndex &index);
+    virtual void showContextMenu(HbAbstractViewItem *item, const QPointF &coords);
+    virtual int checkSoftwareUpdates();
+    virtual bool openTaskSwitcher();
+    virtual void closeContextMenu();
     
 protected:
     
+    void initialize(HsMenuViewBuilder &menuViewBuilder, HsStateContext stateContext);
     void createApplicationLaunchFailMessage(int errorCode,int itemId);
-    void subscribeForMemoryCardRemove();
-    
+    void defineTransitions();
+
+private:
+
+    virtual void setContextMenuOptions(HbAbstractViewItem *item, EntryFlags flags) = 0;
+    virtual void setMenuOptions() = 0;
+
 private:
     
-    void construct();
-    void cleanUpApplicationLaunchFailMessage();
-    
-private:
+    QPointer<HbMessageBox> mApplicationLaunchFailMessage;
+
+protected:
     
-    CaNotifier *mNotifier;
-    
-    int mMessageRelatedItemId;
-    
-    HbMessageBox *mApplicationLaunchFailMessage;
-
+    HsMenuItemModel *mModel;
+    QPointer<HbMenu> mContextMenu;
+    QModelIndex mContextModelIndex;
+    HbAction *mBackKeyAction;
+    QScopedPointer<HsMenuView> mMenuView;
+    HsMenuModeWrapper *mMenuMode;
+    HsMainWindow &mMainWindow;
+    HbMenu *mViewOptions;
 };