homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsbaseviewstate.h
changeset 63 52b0f64eeb51
parent 62 341166945d65
child 69 87476091b3f5
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsbaseviewstate.h	Fri Jun 25 19:19:22 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsbaseviewstate.h	Fri Jul 09 14:36:01 2010 +0300
@@ -18,14 +18,21 @@
 #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;
 
 HS_STATES_TEST_CLASS(MenuStatesTest)
 
@@ -37,35 +44,59 @@
     
 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 applicationLaunchFailMessageFinished(HbAction*);
+    virtual void openAppLibrary();
+
 protected slots:
     
-    void stateExited();
-    
+    virtual void stateEntered();
+    virtual void stateExited();
+    virtual void addModeEntered();
+    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();
 protected:
     
+    void initialize(HsMenuViewBuilder &menuViewBuilder, HsViewContext viewContext);
     void createApplicationLaunchFailMessage(int errorCode,int itemId);
     void subscribeForMemoryCardRemove();
-    
+
+    void defineTransitions();
+
 private:
     
-    void construct();
     void cleanUpApplicationLaunchFailMessage();
-    
+
+    virtual void setContextMenuOptions(HbAbstractViewItem *item, EntryFlags flags) = 0;
+    virtual void setMenuOptions() = 0;
+
+
 private:
     
     CaNotifier *mNotifier;
-    
     int mMessageRelatedItemId;
-    
     HbMessageBox *mApplicationLaunchFailMessage;
 
+protected:
+    HsMenuItemModel *mModel;
+    QPointer<HbMenu> mContextMenu;
+    QModelIndex mContextModelIndex;
+    HbAction *mBackKeyAction;
+    QScopedPointer<HsMenuView> mMenuView;
+    HsMenuModeWrapper *mMenuMode;
+    HsMainWindow &mMainWindow;
 };