nodebufferprovider.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #ifndef NODEBUFFERPROVIDER_H
  2. #define NODEBUFFERPROVIDER_H
  3. #include <QSharedPointer>
  4. #include "bufferprovider.h"
  5. namespace vnotex
  6. {
  7. class File;
  8. class IFileWithImage;
  9. // Buffer provider based on an internal node.
  10. class NodeBufferProvider : public BufferProvider
  11. {
  12. Q_OBJECT
  13. public:
  14. NodeBufferProvider(const QSharedPointer<Node> &p_node, QObject *p_parent = nullptr);
  15. Buffer::ProviderType getType() const Q_DECL_OVERRIDE;
  16. bool match(const Node *p_node) const Q_DECL_OVERRIDE;
  17. bool match(const QString &p_filePath) const Q_DECL_OVERRIDE;
  18. QString getName() const Q_DECL_OVERRIDE;
  19. QString getPath() const Q_DECL_OVERRIDE;
  20. QString getContentPath() const Q_DECL_OVERRIDE;
  21. QString getResourcePath() const Q_DECL_OVERRIDE;
  22. void write(const QString &p_content) Q_DECL_OVERRIDE;
  23. QString read() const Q_DECL_OVERRIDE;
  24. QString fetchImageFolderPath() Q_DECL_OVERRIDE;
  25. bool isChildOf(const Node *p_node) const Q_DECL_OVERRIDE;
  26. Node *getNode() const Q_DECL_OVERRIDE;
  27. QString getAttachmentFolder() const Q_DECL_OVERRIDE;
  28. QString fetchAttachmentFolderPath() Q_DECL_OVERRIDE;
  29. QStringList addAttachment(const QString &p_destFolderPath, const QStringList &p_files) Q_DECL_OVERRIDE;
  30. QString newAttachmentFile(const QString &p_destFolderPath, const QString &p_name) Q_DECL_OVERRIDE;
  31. QString newAttachmentFolder(const QString &p_destFolderPath, const QString &p_name) Q_DECL_OVERRIDE;
  32. QString renameAttachment(const QString &p_path, const QString &p_name) Q_DECL_OVERRIDE;
  33. void removeAttachment(const QStringList &p_paths) Q_DECL_OVERRIDE;
  34. QString insertImage(const QString &p_srcImagePath, const QString &p_imageFileName) Q_DECL_OVERRIDE;
  35. QString insertImage(const QImage &p_image, const QString &p_imageFileName) Q_DECL_OVERRIDE;
  36. void removeImage(const QString &p_imagePath) Q_DECL_OVERRIDE;
  37. bool isAttachmentSupported() const Q_DECL_OVERRIDE;
  38. bool isReadOnly() const Q_DECL_OVERRIDE;
  39. private:
  40. QSharedPointer<Node> m_node;
  41. QSharedPointer<File> m_nodeFile;
  42. };
  43. }
  44. #endif // NODEBUFFERPROVIDER_H