#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();
void closePressed();
void clicked();
+private:
+ QMap<Orientation, ThemeScreen*> screens_;
+ QSet<Orientation> loadedScreens_;
+ Orientation currentOrientation_;
+
};
#endif