30 #include <QLinkedList> 46 int startLine, endLine;
59 Q_DECLARE_METATYPE(QDocumentIterator)
60 Q_DECLARE_METATYPE(QDocumentConstIterator)
64 friend class QMatcher;
99 RestoreTrailingIndent = 4
110 Q_DECLARE_FLAGS(WhiteSpaceMode, WhiteSpaceFlag)
115 QString text(
int mode)
const;
116 QString text(
bool removeTrailing =
false,
bool preserveIndent =
true)
const;
117 void setText(
const QString& s);
119 void startChunkLoading();
120 void stopChunkLoading();
121 void addChunk(
const QString& txt);
123 LineEnding lineEnding()
const;
124 LineEnding originalLineEnding()
const;
125 void setLineEnding(LineEnding le);
127 QDateTime lastModified()
const;
128 void setLastModified(
const QDateTime& d);
130 bool canUndo()
const;
131 bool canRedo()
const;
135 int widthConstraint()
const;
138 int lineCount()
const;
139 int visualLines()
const;
140 int visualLineCount()
const;
142 int visualLineNumber(
int textLineNumber)
const;
143 int textLineNumber(
int visualLineNumber)
const;
145 int y(
int line)
const;
146 int lineNumber(
int ypos,
int *wrap = 0)
const;
149 QRect lineRect(
int line)
const;
158 int maxMarksPerLine()
const;
159 int findNextMark(
int id,
int from = 0,
int until = -1)
const;
160 int findPreviousMark(
int id,
int from = -1,
int until = 0)
const;
163 void cursorForDocumentPosition(
const QPoint& p,
int& line,
int& column)
const;
176 virtual void draw(QPainter *p, PaintContext& cxt);
182 QDocumentConstIterator begin()
const;
183 QDocumentConstIterator end()
const;
185 QDocumentConstIterator iterator(
int ln)
const;
186 QDocumentConstIterator iterator(
const QDocumentLine& l)
const;
194 int getNextGroupId();
195 void releaseGroupId(
int groupId);
196 void clearMatches(
int groupId);
197 void flushMatches(
int groupId);
198 void addMatch(
int groupId,
int line,
int pos,
int len,
int format);
201 static void setFont(
const QFont& f);
202 static const QFontMetrics& fontMetrics();
204 static LineEnding defaultLineEnding();
205 static void setDefaultLineEnding(LineEnding le);
207 static int tabStop();
208 static void setTabStop(
int n);
210 static WhiteSpaceMode showSpaces();
211 static void setShowSpaces(WhiteSpaceMode y);
219 static int screenLength(
const QChar *d,
int l,
int tabStop);
220 static QString screenable(
const QChar *d,
int l,
int tabStop);
222 inline void markViewDirty() { formatsChanged(); }
224 bool isClean()
const;
236 void print(QPrinter *p);
238 void clearWidthConstraint();
239 void setWidthConstraint(
int width);
242 void cleanChanged(
bool m);
244 void undoAvailable(
bool y);
245 void redoAvailable(
bool y);
247 void formatsChanged();
248 void contentsChanged();
250 void formatsChange (
int line,
int lines);
251 void contentsChange(
int line,
int lines);
253 void widthChanged(
int width);
254 void heightChanged(
int height);
255 void sizeChanged(
const QSize& s);
257 void lineCountChanged(
int n);
258 void visualLineCountChanged(
int n);
263 void lineEndingChanged(
int lineEnding);
270 Q_DECLARE_OPERATORS_FOR_FLAGS(QDocument::WhiteSpaceMode)
#define QCE_EXPORT
Macro needed for cross-platform shared libraries creation.
Definition: qce-config.h:40
Utility file for shared library creation.
A class storing a document.
Definition: qdocument.h:62
Definition: qdocumentcursor_p.h:45
Definition: qdocument.h:43
The base class for document editing command.
Definition: qdocumentcommand.h:34
Definition: qdocument_p.h:54
Definition: qdocument.h:71
Private implementation of a document line.
Definition: qdocumentline_p.h:55
A reference to line objects.
Definition: qdocumentline.h:63
Interface for language definition.
Definition: qlanguagedefinition.h:40
A cursor to navigate within documents and edit them.
Definition: qdocumentcursor.h:36