diff -r 2b1b11a301d2 -r 4b195f3bea29 homescreenapp/hsdomainmodel/inc/hspage.h --- a/homescreenapp/hsdomainmodel/inc/hspage.h Tue Jul 06 14:06:53 2010 +0300 +++ b/homescreenapp/hsdomainmodel/inc/hspage.h Wed Aug 18 09:40:07 2010 +0300 @@ -18,6 +18,7 @@ #ifndef HSPAGE_H #define HSPAGE_H +#include #include #include #include "hsdomainmodel_global.h" @@ -27,62 +28,60 @@ class HsPageData; class HsWallpaper; class HsPageTouchArea; +class HsPageVisual; HOMESCREEN_TEST_CLASS(TestHsDomainModel) -class HSDOMAINMODEL_EXPORT HsPage : public HbWidget +class HSDOMAINMODEL_EXPORT HsPage : public QObject { Q_OBJECT Q_PROPERTY(int pageIndex READ pageIndex) public: - HsPage(QGraphicsItem *parent = 0); + HsPage(QObject *parent = 0); ~HsPage(); - int databaseId() const; void setDatabaseId(int id); - - void setGeometry(const QRectF &rect); - + // void setGeometry(const QRectF &rect); bool load(); - HsWallpaper *wallpaper() const; - bool addExistingWidget(HsWidgetHost *widgetHost); bool removeWidget(HsWidgetHost *widgeHost); - QList newWidgets(); bool addNewWidget(HsWidgetHost *widgetHost, const QPointF &position = QPointF()); void layoutNewWidgets(); void resetNewWidgets(); bool deleteFromDatabase(); - QList widgets() const; - bool isRemovable() const; void setRemovable(bool removable); - bool isDefaultPage() const; bool isActivePage() const; - static HsPage *createInstance(const HsPageData &pageData); - - QPointF mTouchPoint; - + QPointF adjustedWidgetPosition(const QRectF &origWidgetRect); + QRectF contentGeometry(); + QRectF contentGeometry(Qt::Orientation orientation); + QRectF contentRect(); + QRectF contentRect(Qt::Orientation orientation); + HsPageVisual *visual() const; +#ifdef HSWIDGETORGANIZER_ALGORITHM + enum sortOrder { height, width}; +#endif //HSWIDGETORGANIZER_ALGORITHM public slots: void showWidgets(); void hideWidgets(); void setOnline(bool online = true); - void updateZValues(); - int pageIndex(); private: Q_DISABLE_COPY(HsPage) - void setupTouchArea(); + // void setupTouchArea(); void connectWidget(HsWidgetHost *widget); void disconnectWidget(HsWidgetHost *widget); +#ifdef HSWIDGETORGANIZER_ALGORITHM + void sortWidgets(sortOrder order, QList &widgets); +#endif //HSWIDGETORGANIZER_ALGORITHM private slots: void onWidgetFinished(); @@ -90,18 +89,20 @@ void onWidgetResized(); void onWidgetAvailable(); void onWidgetUnavailable(); - void onOrientationChanged(Qt::Orientation orientation); + void onPageMarginChanged(const QString &value); private: int mDatabaseId; + HsPageVisual *mPageVisual; HsWallpaper *mWallpaper; bool mRemovable; QList mWidgets; QList mNewWidgets; QList mUnavailableWidgets; - HsPageTouchArea *mTouchArea; - + //HsPageTouchArea *mTouchArea; + QPointF mTouchPoint; + qreal mPageMargin; HOMESCREEN_TEST_FRIEND_CLASS(TestHsDomainModel) };