5 #include <MultiWidgets/Widget.hpp>
11 #include <Nimble/Size.hpp>
13 #include <boost/expected/expected.hpp>
18 class SHOWCASE_API CodiceServiceAPI
25 Nimble::SizeF eraserSize;
39 QByteArray personalFolder;
43 enum class MarkerType {
56 class SHOWCASE_API MarkerProperties
61 MarkerProperties(MarkerType type);
63 MarkerProperties(MarkerProperties&& o);
65 MarkerProperties & operator=(MarkerProperties && o);
70 const EraserMarkerProperties* eraserProperties()
const;
74 const KeywordMarkerProperties* keywordProperties()
const;
78 const PersonalMarkerProperties* personalProperties()
const;
81 MarkerType type()
const;
88 std::unique_ptr<D> m_d;
90 friend class CodiceService;
96 virtual MarkerProperties markerProperties(uint64_t code) = 0;
102 virtual bool registerPersonalMarker(uint64_t code,
const QString & name,
const QString & email) = 0;
105 virtual boost::expected<MultiWidgets::WidgetPtr, QString> personalFolderWidget(uint64_t code) = 0;