Added zpos attribute to all elements. Changed architecture to allow detailscreen...
[jspeed] / src / widgetscreen.h
index adef502..5862928 100644 (file)
 #ifndef WIDGETSCREEN_H
 #define WIDGETSCREEN_H
 
+#include <QtCore/QMap>
+#include <QtCore/QSet>
 #include <QtGui/QStackedWidget>
 #include "abstractscreen.h"
 
+class QDomNode;
+class QString;
+class Reader;
+class ThemeScreen;
+
 class WidgetScreen : public QStackedWidget, public AbstractScreen
 {
     Q_OBJECT
 
 public:
+    enum Orientation {LANDSCAPE, PORTRAIT};
     WidgetScreen(QWidget* parent = 0);
+    ~WidgetScreen();
+    void addScreen(ThemeScreen* screen, Orientation orientation);
+    bool load(Orientation orientation, QDomNode const& data, Reader* reader);
+    bool orientationEnabled(Orientation orientation) const;
+    bool orientationLoaded(Orientation orientation) const;
+    virtual void setColor(QString const& color);
+
+public slots:
+    virtual void reArrange();
+    virtual void flip();
+    virtual void clear();
+    void removeUnloaded();
 
 signals:
     void minimizePressed();
@@ -35,6 +55,11 @@ signals:
     void closePressed();
     void clicked();
 
+private:
+    QMap<Orientation, ThemeScreen*> screens_;
+    QSet<Orientation> loadedScreens_;
+    Orientation currentOrientation_;
+
 };
 
 #endif