MT Showcase SDK
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
FileRepresentation.hpp
1 #ifndef FILEREPRESENTATION_HPP
2 #define FILEREPRESENTATION_HPP
3 
4 #include "Export.hpp"
5 
6 #include <MultiWidgets/Widget.hpp>
7 
8 #include <folly/futures/Future.h>
9 
10 #include <QString>
11 #include <QStringList>
12 
13 namespace Showcase
14 {
16  class SHOWCASE_API FileRepresentation
17  {
18  public:
19  struct FileData
20  {
21  QString source;
22  QStringList codiceURLs;
23  QStringList generatedFiles;
24  QString visibleName;
25  QString textContent;
26  };
27 
29  virtual ~FileRepresentation() {}
30 
34  virtual folly::Future<FileData> files() = 0;
35 
38  virtual folly::Future<QString> previewFileName() = 0;
39 
42  static FileData widgetData(const MultiWidgets::Widget & widget);
43 
46  static QString widgetVisibleName(const MultiWidgets::Widget & widget);
47 
49  static folly::Future<QString> takeWidgetSnapshot(MultiWidgets::Widget & widget,
50  const QString & name = QString(),
51  int snapshotSize = 500.f);
52  };
53 
54 }
55 
56 #endif // FILEREPRESENTATION_HPP