16 #ifndef _QDOCUMENT_P_H_ 17 #define _QDOCUMENT_P_H_ 36 #include <QStringList> 37 #include <QFontMetrics> 38 #include <QUndoCommand> 83 void adjustWidth(
int l);
90 static void setFont(
const QFont& f);
92 void beginChangeBlock();
93 void endChangeBlock();
95 inline int maxMarksPerLine()
const 96 {
return m_maxMarksPerLine; }
98 inline bool hasMarks()
const 99 {
return m_marks.count(); }
107 int findNextMark(
int id,
int from = 0,
int until = -1);
108 int findPreviousMark(
int id,
int from = -1,
int until = 0);
110 int getNextGroupId();
111 void releaseGroupId(
int groupId);
112 void clearMatches(
int gid);
113 void flushMatches(
int gid);
114 void addMatch(
int gid,
int line,
int pos,
int len,
int format);
116 void emitFormatsChange (
int line,
int lines);
117 void emitContentsChange(
int line,
int lines);
119 int visualLine(
int textLine)
const;
120 int textLine(
int visualLine,
int *wrap = 0)
const;
121 void hideEvent(
int line,
int count);
122 void showEvent(
int line,
int count);
124 void setWidth(
int width);
126 void emitFormatsChanged();
127 void emitContentsChanged();
132 inline QDocumentIterator begin() {
return m_lines.begin(); }
133 inline QDocumentIterator end() {
return m_lines.end(); }
135 inline QDocumentConstIterator constBegin()
const {
return m_lines.constBegin(); }
136 inline QDocumentConstIterator constEnd()
const {
return m_lines.constEnd(); }
139 void updateHidden(
int line,
int count);
140 void updateWrapped(
int line,
int count);
143 void removeLines(
int after,
int n);
145 void emitWidthChanged();
146 void emitHeightChanged();
148 void updateFormatCache();
150 void tunePainter(QPainter *p,
int fid);
154 QUndoStack m_commands;
157 bool m_suspend, m_deleting;
158 QQueue<QPair<int, int> > m_notifications;
160 QMap<int, int> m_hidden;
161 QMap<int, int> m_wrapped;
171 struct MatchList :
QList<Match>
173 MatchList() : index(0) {}
180 QHash<int, MatchList> m_matches;
183 int m_width, m_height;
186 static int m_defaultTabStop;
188 static QFont *m_font;
189 static bool m_fixedPitch;
190 static QFontMetrics *m_fontMetrics;
191 static int m_leftMargin;
192 static QDocument::WhiteSpaceMode m_showSpaces;
193 static QDocument::LineEnding m_defaultLineEnding;
194 static int m_lineHeight;
195 static int m_lineSpacing;
196 static int m_spaceWidth;
198 static int m_descent;
199 static int m_leading;
200 static int m_wrapMargin;
210 int m_maxMarksPerLine;
211 QHash<QDocumentLineHandle*, QList<int> > m_marks;
212 QHash<QDocumentLineHandle*, QPair<int, int> > m_status;
214 int _nix, _dos, _mac;
215 QString m_lineEndingString;
216 QDocument::LineEnding m_lineEnding;
218 QDateTime m_lastModified;
Definition of QDocumentCursorHandle.
#define QCE_EXPORT
Macro needed for cross-platform shared libraries creation.
Definition: qce-config.h:40
Utility file for shared library creation.
A minimalistic, easy to embed, settings widget.
Definition: qeditconfig.h:32
Definition of QDocumentLineHandle.
Definition of the QDocumentLine class.
Definition: qdocumentcursor_p.h:45
A class storing a document.
Definition: qdocument.h:62
Definition: qdocument.h:43
The base class for document editing command.
Definition: qdocumentcommand.h:34
Definition of the QDocumentCursor class.
Definition: qdocument_p.h:54
A meta command used for command grouping.
Definition: qdocumentcommand.h:147
Definition: qdocument.h:71
Private implementation of a document line.
Definition: qdocumentline_p.h:55
Interface for language definition.
Definition: qlanguagedefinition.h:40
A cursor to navigate within documents and edit them.
Definition: qdocumentcursor.h:36
Definition: qdocumentbuffer.h:27
Definition of the QDocument class.