homescreenapp/hsdomainmodel/inc/hsscene.h
changeset 62 341166945d65
parent 55 03646e8da489
child 69 87476091b3f5
--- a/homescreenapp/hsdomainmodel/inc/hsscene.h	Thu Jun 24 13:11:40 2010 +0100
+++ b/homescreenapp/hsdomainmodel/inc/hsscene.h	Fri Jun 25 19:19:22 2010 +0300
@@ -21,14 +21,18 @@
 #include <QObject>
 #include <QScopedPointer>
 #include <QSizeF>
+#include <QPointF>
 
 #include "hsdomainmodel_global.h"
 #include "hstest_global.h"
 
-HOMESCREEN_TEST_CLASS(TestRuntimeServices)
+HOMESCREEN_TEST_CLASS(TestHsDomainModel)
 HOMESCREEN_TEST_CLASS(HomeScreenStatePluginTest)
 
+class QGestureEvent;
+
 class HbMainWindow;
+
 class HsWallpaper;
 class HsPage;
 class HsWidgetHost;
@@ -39,6 +43,7 @@
     Q_OBJECT
 
 public:
+    HsScene(QObject *parent = 0);
     ~HsScene();
 
     int databaseId() const;
@@ -56,11 +61,7 @@
     bool setActivePageIndex(int index);
     HsPage *activePage() const;
     int activePageIndex() const;
-    int maximumPageCount() const;
-    QSizeF maximumWidgetSizeInPixels() const;
-    QSizeF minimumWidgetSizeInPixels() const;
-    QSizeF maximumWidgetSizeInUnits() const;
-    QSizeF minimumWidgetSizeInUnits() const;
+
     void setActiveWidget(HsWidgetHost *widget);
     HsWidgetHost *activeWidget() const;
 
@@ -68,33 +69,47 @@
     bool isOnline() const;
 
     static HsScene *instance();
+    static HsScene *takeInstance();
+    static void setInstance(HsScene *instance);
     static HbMainWindow *mainWindow();
     static Qt::Orientation orientation();
 
+signals:
+    void pageTapAndHoldFinished(QGestureEvent *event);
+    void pagePanStarted(QGestureEvent *event);
+    void pagePanUpdated(QGestureEvent *event);
+    void pagePanFinished(QGestureEvent *event);    
+    void widgetTapStarted(HsWidgetHost *widget);
+    void widgetTapAndHoldFinished(QGestureEvent *event, HsWidgetHost *widget);
+    void widgetMoveUpdated(const QPointF &scenePos, HsWidgetHost *widget);
+    void widgetMoveFinished(const QPointF &scenePos, HsWidgetHost *widget);
+    void activePageChanged();
+
 protected:
     bool eventFilter(QObject *watched, QEvent *event);
 
 private:
-    HsScene(QObject *parent = 0);
-    void calculateWidgetSizeLimitations();
     Q_DISABLE_COPY(HsScene)
 
 private:
-    int mDatabaseId;    
+    int mDatabaseId;
     HsWallpaper *mWallpaper;
     QList<HsPage *> mPages;
     HsPage *mActivePage;
     HsWidgetHost *mActiveWidget;
     bool mIsOnline;
-    int mMaximumPageCount;
-    QSizeF mMaximumWidgetSizeInPixels;
-    QSizeF mMinimumWidgetSizeInPixels;
-    QSizeF mMaximumWidgetSizeInUnits;
-    QSizeF mMinimumWidgetSizeInUnits;
-    
+    bool mIsBackground;
+    bool mIsSleeping;
+
     static HsScene *mInstance;
 
-    HOMESCREEN_TEST_FRIEND_CLASS(TestRuntimeServices)
+    friend class HsPage;
+    friend class HsPageTouchArea;
+    friend class HsWidgetHost;
+    friend class HsWidgetTouchArea;
+    friend class HsWidgetMoveTouchArea;
+
+    HOMESCREEN_TEST_FRIEND_CLASS(TestHsDomainModel)
     HOMESCREEN_TEST_FRIEND_CLASS(HomeScreenStatePluginTest)
 };