fb2doc.h 777 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef FB2DOC_H
  2. #define FB2DOC_H
  3. #include <QTextDocument>
  4. #include <QVariant>
  5. class Fb2ChildDocument : public QTextDocument
  6. {
  7. Q_OBJECT
  8. public:
  9. explicit Fb2ChildDocument(QTextDocument &parent)
  10. : QTextDocument(&parent), m_parent(parent) {}
  11. protected:
  12. virtual QVariant loadResource(int type, const QUrl &name)
  13. { return m_parent.resource(type, name); }
  14. private:
  15. QTextDocument &m_parent;
  16. };
  17. class Fb2MainDocument : public QTextDocument
  18. {
  19. Q_OBJECT
  20. public:
  21. static Fb2MainDocument * load(QIODevice &io);
  22. explicit Fb2MainDocument(QObject *parent = 0) : QTextDocument(parent), m_child(*this) {}
  23. Fb2ChildDocument & child() { return m_child; }
  24. private:
  25. Fb2ChildDocument m_child;
  26. };
  27. #endif // FB2DOC_H