summaryrefslogtreecommitdiff
path: root/libsowatch/declarativewatchlet.h
diff options
context:
space:
mode:
Diffstat (limited to 'libsowatch/declarativewatchlet.h')
-rw-r--r--libsowatch/declarativewatchlet.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/libsowatch/declarativewatchlet.h b/libsowatch/declarativewatchlet.h
new file mode 100644
index 0000000..1e94007
--- /dev/null
+++ b/libsowatch/declarativewatchlet.h
@@ -0,0 +1,39 @@
+#ifndef DECLARATIVEWATCHLET_H
+#define DECLARATIVEWATCHLET_H
+
+#include <QtDeclarative/QDeclarativeEngine>
+#include <QtDeclarative/QDeclarativeComponent>
+#include <QtDeclarative/QDeclarativeItem>
+#include "graphicswatchlet.h"
+
+namespace sowatch
+{
+
+class DeclarativeWatchWrapper;
+
+class DeclarativeWatchlet : public GraphicsWatchlet
+{
+ Q_OBJECT
+public:
+ explicit DeclarativeWatchlet(WatchServer* server, const QString& id);
+
+ void setSource(const QUrl& url);
+
+protected slots:
+ void handleComponentStatus(QDeclarativeComponent::Status status);
+
+protected:
+ void activate();
+ void deactivate();
+
+ static bool _registered;
+ QDeclarativeEngine* _engine;
+ QDeclarativeComponent* _component;
+ QDeclarativeItem* _item;
+ DeclarativeWatchWrapper* _wrapper;
+
+};
+
+}
+
+#endif // DECLARATIVEWATCHLET_H