#ifndef DOCUMENTBUFFER_H #define DOCUMENTBUFFER_H #include #include #include #include #include class DocumentBuffer { public: void insertCharacterAt(QChar character, int row, int col); QPair setText(const QString &string, int width); QChar topCharacterAt(int row, int col) const; QString topLineAt(int row) const; QString topDocument() const; const QLinkedList& charactersAt(int row, int col) const; const QList >& lineAt(int row) const; const QList > >& document() const; int lineSize(int row) const; int linesCount() const; QVariant toVariant() const; static DocumentBuffer* fromVariant(const QVariant &variant); private: QList > > m_document; }; #endif // DOCUMENTBUFFER_H