homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsbaseviewstate.h
changeset 77 4b195f3bea29
parent 61 2b1b11a301d2
child 85 35368b604b28
equal deleted inserted replaced
61:2b1b11a301d2 77:4b195f3bea29
    16  */
    16  */
    17 
    17 
    18 #ifndef HSBASEVIEWSTATE_H
    18 #ifndef HSBASEVIEWSTATE_H
    19 #define HSBASEVIEWSTATE_H
    19 #define HSBASEVIEWSTATE_H
    20 
    20 
    21 #include <qstate.h>
    21 #include <QState>
       
    22 #include <QPointer>
       
    23 #include <QModelIndex>
    22 
    24 
    23 #include "hsmenustates_global.h"
    25 #include "hsmenustates_global.h"
    24 #include "hsmenuservice.h"
    26 #include "hsmenuservice.h"
    25 #include "hsmenuview.h"
    27 #include "hsmenuview.h"
    26 
    28 
       
    29 
       
    30 class HbMenu;
       
    31 class HbAction;
    27 class HbMessageBox;
    32 class HbMessageBox;
       
    33 class HbAbstractViewItem;
    28 class CaNotifier;
    34 class CaNotifier;
       
    35 class HsMenuModeWrapper;
       
    36 class HsMainWindow;
       
    37 class HsAddModeProxyModel;
    29 
    38 
    30 HS_STATES_TEST_CLASS(MenuStatesTest)
    39 HS_STATES_TEST_CLASS(MenuStatesTest)
    31 
    40 
    32 class HsBaseViewState: public QState
    41 class HsBaseViewState: public QState
    33 {
    42 {
    35     
    44     
    36     HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
    45     HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
    37     
    46     
    38 public:
    47 public:
    39     
    48     
    40     HsBaseViewState(QState *parent);    
    49     HsBaseViewState(HsMainWindow &mainWindow, QState *parent);
       
    50     HsBaseViewState(HsMainWindow &mainWindow, 
       
    51         HsMenuModeWrapper& menuMode, QState *parent);
    41     ~HsBaseViewState();
    52     ~HsBaseViewState();
    42     
    53     void scrollToBeginning();
       
    54 
    43 private slots:
    55 private slots:
    44 
    56 
    45     void applicationLaunchFailMessageFinished(HbAction*);
    57     virtual void openAppLibrary();
    46     
    58 
    47 protected slots:
    59 protected slots:
    48     
    60     
    49     void stateExited();
    61     virtual void stateEntered();
       
    62     virtual void stateExited();
       
    63     virtual void addModeEntered();
       
    64     virtual void addModeExited();
       
    65     virtual void normalModeEntered();
       
    66     virtual void normalModeExited();
       
    67     virtual void launchItem(const QModelIndex &index);
       
    68     virtual void openCollection(const QModelIndex &index);
       
    69     virtual void showContextMenu(HbAbstractViewItem *item, const QPointF &coords);
       
    70     virtual int checkSoftwareUpdates();
       
    71     virtual bool openTaskSwitcher();
       
    72     virtual void closeContextMenu();
    50     
    73     
    51 protected:
    74 protected:
    52     
    75     
       
    76     void initialize(HsMenuViewBuilder &menuViewBuilder, HsStateContext stateContext);
    53     void createApplicationLaunchFailMessage(int errorCode,int itemId);
    77     void createApplicationLaunchFailMessage(int errorCode,int itemId);
    54     void subscribeForMemoryCardRemove();
    78     void defineTransitions();
    55     
    79 
       
    80 private:
       
    81 
       
    82     virtual void setContextMenuOptions(HbAbstractViewItem *item, EntryFlags flags) = 0;
       
    83     virtual void setMenuOptions() = 0;
       
    84 
    56 private:
    85 private:
    57     
    86     
    58     void construct();
    87     QPointer<HbMessageBox> mApplicationLaunchFailMessage;
    59     void cleanUpApplicationLaunchFailMessage();
    88 
       
    89 protected:
    60     
    90     
    61 private:
    91     HsMenuItemModel *mModel;
    62     
    92     QPointer<HbMenu> mContextMenu;
    63     CaNotifier *mNotifier;
    93     QModelIndex mContextModelIndex;
    64     
    94     HbAction *mBackKeyAction;
    65     int mMessageRelatedItemId;
    95     QScopedPointer<HsMenuView> mMenuView;
    66     
    96     HsMenuModeWrapper *mMenuMode;
    67     HbMessageBox *mApplicationLaunchFailMessage;
    97     HsMainWindow &mMainWindow;
    68 
    98     HbMenu *mViewOptions;
    69 };
    99 };
    70 
   100 
    71 
   101 
    72 #endif // HSBASEVIEWSTATE_H
   102 #endif // HSBASEVIEWSTATE_H