16 #ifndef _QDOCUMENT_BUFFER_H_
17 #define _QDOCUMENT_BUFFER_H_
39 int lineNumber()
const;
42 void move(
int numLines);
61 void removeLine(
int index);
63 void insertLines(
int after,
const QVector<QDocumentLineHandle*>& l);
64 void removeLines(
int after,
int n);
67 static void cleanHelper(QVector<QDocumentLineHandle*>& l)
75 inline Block() : start(-1), end(-1) {}
76 inline Block(
int line) : start(line), end(line) {}
77 ~Block() { cleanHelper(lines); }
79 inline void move(
int numLines) { start += numLines; end += numLines; }
81 inline int size()
const {
return lines.count(); }
91 int i = index - start;
92 lines.insert(i, n, 0);
106 int i = lines.count();
107 lines.insert(i, n, 0);
122 lines.insert(i, n, 0);
132 inline void remove(
int index) { lines.remove(index - start); }
133 inline void remove(
int index,
int count) { lines.remove(index - start, qMin(count, end - index)); }
136 QVector<QDocumentLineHandle*> lines;
139 int blockForLine(
int index)
const;
146 QVector<Block*> m_blocks;
149 #endif // !_QDOCUMENT_BUFFER_H_