4 #include "GraphTypes.hpp"
6 #include <MultiTouch/MultiTouch.hpp>
8 #include <Valuable/Node.hpp>
11 #include <QJsonObject>
14 namespace DataGathering
20 class SHOWCASE_API
Event :
public QJsonObject
23 Event(
const QString & name);
31 virtual void logEvent(
Event event) = 0;
37 SHOWCASE_API
Event applicationStartedEvent();
39 SHOWCASE_API
Event applicationQuitEvent();
46 SHOWCASE_API
Event widgetCreatedEvent(Valuable::Node::Uuid widgetId,
const Showcase::NodeId & uiNodeId,
47 Valuable::Node::Uuid creatorId = 0);
53 SHOWCASE_API
Event widgetDestroyedEvent(Valuable::Node::Uuid widgetId,
const QString & reason);
59 SHOWCASE_API
Event assetLoadedEvent(Valuable::Node::Uuid widgetId,
const QString & asset);
65 SHOWCASE_API
Event videoStartEvent(Valuable::Node::Uuid widgetId,
float position);
71 SHOWCASE_API
Event videoEndEvent(Valuable::Node::Uuid widgetId,
float position,
const QString & reason);
79 SHOWCASE_API
Event widgetAddedToPersonalSpaceEvent(Valuable::Node::Uuid widgetId, uint64_t code,
80 const QString & name,
const QString & address);
85 SHOWCASE_API
Event widgetRemovedFromPersonalSpaceEvent(Valuable::Node::Uuid widgetId, uint64_t code);
93 SHOWCASE_API
Event widgetInEmailEvent(Valuable::Node::Uuid widgetId,
const QString & name,
94 const QString & address);
101 SHOWCASE_API
Event emailEvent(
const QString & name,
const QString & address,
102 bool success,
const QString & error = QString());
107 SHOWCASE_API
Event pdfPageViewedEvent(Valuable::Node::Uuid widgetId,
int page);
112 SHOWCASE_API
Event urlChangedEvent(Valuable::Node::Uuid widgetId,
const QString & url);
120 SHOWCASE_API
Event objectDownEvent(MultiTouch::TrackedObject::Id objectId,
const Nimble::Vector2f & location,
121 MultiTouch::TrackedObjectType type, Valuable::Node::Uuid widgetId = 0,
126 SHOWCASE_API
Event objectUpEvent(MultiTouch::TrackedObject::Id objectId,
const Nimble::Vector2f & location);
132 SHOWCASE_API
void logEventToService(
const Event & event);