author | leseb <leseb> | 2002-07-15 23:22:50 (UTC) |
---|---|---|
committer | leseb <leseb> | 2002-07-15 23:22:50 (UTC) |
commit | 72eb74051ed8f1b7696041e241ab99df3af5b08d (patch) (side-by-side diff) | |
tree | bf9beee9469bc4384cb8178fbd6565cf161b4708 /noncore/apps/opie-write/qrichtext_p.h | |
parent | dcea0e50a00ed9efb988ded5abf5d39de1bea393 (diff) | |
download | opie-72eb74051ed8f1b7696041e241ab99df3af5b08d.zip opie-72eb74051ed8f1b7696041e241ab99df3af5b08d.tar.gz opie-72eb74051ed8f1b7696041e241ab99df3af5b08d.tar.bz2 |
Sync with Qt 3.0.5
Diffstat (limited to 'noncore/apps/opie-write/qrichtext_p.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-write/qrichtext_p.h | 576 |
1 files changed, 223 insertions, 353 deletions
diff --git a/noncore/apps/opie-write/qrichtext_p.h b/noncore/apps/opie-write/qrichtext_p.h index 94ce913..e368edb 100644 --- a/noncore/apps/opie-write/qrichtext_p.h +++ b/noncore/apps/opie-write/qrichtext_p.h @@ -53,3 +53,2 @@ #ifndef QT_H -#include "qt3namespace.h" #include "qstring.h" @@ -80,4 +79,2 @@ -//#define DEBUG_COLLECTION - namespace Qt3 { @@ -89,3 +86,3 @@ class QTextFormat; class QTextCursor; -class QTextParag; +class QTextParagraph; class QTextFormatter; @@ -127,3 +124,2 @@ public: void setCustomItem( QTextCustomItem *i ); - QTextStringChar *clone() const; struct CustomData @@ -154,3 +150,3 @@ private: friend class QComplexText; - friend class QTextParag; + friend class QTextParagraph; }; @@ -159,3 +155,3 @@ private: // MOC_SKIP_BEGIN -template class Q_EXPORT QMemArray<QTextStringChar>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray<QTextStringChar>; // MOC_SKIP_END @@ -180,3 +176,4 @@ public: void insert( int index, const QString &s, QTextFormat *f ); - void insert( int index, QTextStringChar *c ); + void insert( int index, const QChar *unicode, int len, QTextFormat *f ); + void insert( int index, QTextStringChar *c, bool doAddRefFormat = FALSE ); void truncate( int index ); @@ -197,3 +194,3 @@ public: void operator=( const QString &s ) { clear(); insert( 0, s, 0 ); } - void operator+=( const QString &s ); + void operator+=( const QString &s ) {insert( length(), s, 0 ); } void prepend( const QString &s ) { insert( 0, s, 0 ); } @@ -233,5 +230,5 @@ inline QChar::Direction QTextString::direction() const // MOC_SKIP_BEGIN -template class Q_EXPORT QValueStack<int>; -template class Q_EXPORT QValueStack<QTextParag*>; -template class Q_EXPORT QValueStack<bool>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QValueStack<int>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QValueStack<QTextParagraph*>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QValueStack<bool>; // MOC_SKIP_END @@ -242,4 +239,3 @@ class Q_EXPORT QTextCursor public: - QTextCursor( QTextDocument *d ); - QTextCursor(); + QTextCursor( QTextDocument *d = 0 ); QTextCursor( const QTextCursor &c ); @@ -251,9 +247,9 @@ public: - QTextDocument *document() const { return doc; } - void setDocument( QTextDocument *d ); - - QTextParag *parag() const; + QTextParagraph *paragraph() const; + void setParagraph( QTextParagraph*p ) { gotoPosition(p, 0 ); } + QTextDocument *document() const; int index() const; - void setParag( QTextParag *s, bool restore = TRUE ); + void setIndex( int index ) { gotoPosition(paragraph(), index ); } + void gotoPosition( QTextParagraph* p, int index = 0); void gotoLeft(); @@ -276,5 +272,4 @@ public: void insert( const QString &s, bool checkNewLine, QMemArray<QTextStringChar> *formatting = 0 ); - void splitAndInsertEmptyParag( bool ind = TRUE, bool updateIds = TRUE ); + void splitAndInsertEmptyParagraph( bool ind = TRUE, bool updateIds = TRUE ); bool remove(); - void killLine(); void indent(); @@ -284,19 +279,18 @@ public: - void setIndex( int i, bool restore = TRUE ); - - void checkIndex(); + int x() const; // x in current paragraph + int y() const; // y in current paragraph - int offsetX() const { return ox; } - int offsetY() const { return oy; } + int globalX() const; + int globalY() const; - QTextParag *topParag() const { return parags.isEmpty() ? string : parags.first(); } - int totalOffsetX() const; - int totalOffsetY() const; + QTextParagraph *topParagraph() const { return paras.isEmpty() ? para : paras.first(); } + int offsetX() const { return ox; } // inner document offset + int offsetY() const { return oy; } // inner document offset + int totalOffsetX() const; // total document offset + int totalOffsetY() const; // total document offset - bool place( const QPoint &pos, QTextParag *s ) { return place( pos, s, FALSE ); } - bool place( const QPoint &pos, QTextParag *s, bool link ); + bool place( const QPoint &pos, QTextParagraph *s ) { return place( pos, s, FALSE ); } + bool place( const QPoint &pos, QTextParagraph *s, bool link ); void restoreState(); - int x() const; - int y() const; @@ -316,4 +310,3 @@ private: - QTextParag *string; - QTextDocument *doc; + QTextParagraph *para; int idx, tmpIndex; @@ -321,7 +314,5 @@ private: QValueStack<int> indices; - QValueStack<QTextParag*> parags; + QValueStack<QTextParagraph*> paras; QValueStack<int> xOffsets; QValueStack<int> yOffsets; - QValueStack<bool> nestedStack; - uint nested : 1; uint valid : 1; @@ -335,3 +326,3 @@ class Q_EXPORT QTextCommand public: - enum Commands { Invalid, Insert, Delete, Format, Alignment, ParagType }; + enum Commands { Invalid, Insert, Delete, Format, Style }; @@ -353,3 +344,3 @@ protected: // MOC_SKIP_BEGIN -template class Q_EXPORT QPtrList<QTextCommand>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList<QTextCommand>; // MOC_SKIP_END @@ -423,14 +414,14 @@ public: - virtual bool enter( QTextCursor *, QTextDocument *&doc, QTextParag *¶g, int &idx, int &ox, int &oy, bool atEnd = FALSE ); - virtual bool enterAt( QTextCursor *, QTextDocument *&doc, QTextParag *¶g, int &idx, int &ox, int &oy, const QPoint & ); - virtual bool next( QTextCursor *, QTextDocument *&doc, QTextParag *¶g, int &idx, int &ox, int &oy ); - virtual bool prev( QTextCursor *, QTextDocument *&doc, QTextParag *¶g, int &idx, int &ox, int &oy ); - virtual bool down( QTextCursor *, QTextDocument *&doc, QTextParag *¶g, int &idx, int &ox, int &oy ); - virtual bool up( QTextCursor *, QTextDocument *&doc, QTextParag *¶g, int &idx, int &ox, int &oy ); + virtual bool enter( QTextCursor *, QTextDocument *&doc, QTextParagraph *¶g, int &idx, int &ox, int &oy, bool atEnd = FALSE ); + virtual bool enterAt( QTextCursor *, QTextDocument *&doc, QTextParagraph *¶g, int &idx, int &ox, int &oy, const QPoint & ); + virtual bool next( QTextCursor *, QTextDocument *&doc, QTextParagraph *¶g, int &idx, int &ox, int &oy ); + virtual bool prev( QTextCursor *, QTextDocument *&doc, QTextParagraph *¶g, int &idx, int &ox, int &oy ); + virtual bool down( QTextCursor *, QTextDocument *&doc, QTextParagraph *¶g, int &idx, int &ox, int &oy ); + virtual bool up( QTextCursor *, QTextDocument *&doc, QTextParagraph *¶g, int &idx, int &ox, int &oy ); - void setParagraph( QTextParag *p ) { parag = p; } - QTextParag *paragrapth() const { return parag; } + void setParagraph( QTextParagraph *p ) { parag = p; } + QTextParagraph *paragraph() const { return parag; } QTextDocument *parent; - QTextParag *parag; + QTextParagraph *parag; @@ -441,3 +432,3 @@ public: // MOC_SKIP_BEGIN -template class Q_EXPORT QMap<QString, QString>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<QString, QString>; // MOC_SKIP_END @@ -491,3 +482,3 @@ private: // MOC_SKIP_BEGIN -template class Q_EXPORT QPtrList<QTextCustomItem>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList<QTextCustomItem>; // MOC_SKIP_END @@ -548,3 +539,2 @@ public: QMimeSourceFactory &factory, QStyleSheet *sheet, const QString& doc ); - QTextTableCell( QTextTable* table, int row, int column ); virtual ~QTextTableCell(); @@ -602,4 +592,4 @@ private: // MOC_SKIP_BEGIN -template class Q_EXPORT QPtrList<QTextTableCell>; -template class Q_EXPORT QMap<QTextCursor*, int>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList<QTextTableCell>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<QTextCursor*, int>; // MOC_SKIP_END @@ -627,8 +617,8 @@ public: - virtual bool enter( QTextCursor *c, QTextDocument *&doc, QTextParag *¶g, int &idx, int &ox, int &oy, bool atEnd = FALSE ); - virtual bool enterAt( QTextCursor *c, QTextDocument *&doc, QTextParag *¶g, int &idx, int &ox, int &oy, const QPoint &pos ); - virtual bool next( QTextCursor *c, QTextDocument *&doc, QTextParag *¶g, int &idx, int &ox, int &oy ); - virtual bool prev( QTextCursor *c, QTextDocument *&doc, QTextParag *¶g, int &idx, int &ox, int &oy ); - virtual bool down( QTextCursor *c, QTextDocument *&doc, QTextParag *¶g, int &idx, int &ox, int &oy ); - virtual bool up( QTextCursor *c, QTextDocument *&doc, QTextParag *¶g, int &idx, int &ox, int &oy ); + virtual bool enter( QTextCursor *c, QTextDocument *&doc, QTextParagraph *¶g, int &idx, int &ox, int &oy, bool atEnd = FALSE ); + virtual bool enterAt( QTextCursor *c, QTextDocument *&doc, QTextParagraph *¶g, int &idx, int &ox, int &oy, const QPoint &pos ); + virtual bool next( QTextCursor *c, QTextDocument *&doc, QTextParagraph *¶g, int &idx, int &ox, int &oy ); + virtual bool prev( QTextCursor *c, QTextDocument *&doc, QTextParagraph *¶g, int &idx, int &ox, int &oy ); + virtual bool down( QTextCursor *c, QTextDocument *&doc, QTextParagraph *¶g, int &idx, int &ox, int &oy ); + virtual bool up( QTextCursor *c, QTextDocument *&doc, QTextParagraph *¶g, int &idx, int &ox, int &oy ); @@ -668,3 +658,3 @@ private: class QTextTableCell; -class QTextParag; +class QTextParagraph; @@ -678,6 +668,6 @@ struct Q_EXPORT QTextDocumentSelection // MOC_SKIP_BEGIN -template class Q_EXPORT QMap<int, QColor>; -template class Q_EXPORT QMap<int, bool>; -template class Q_EXPORT QMap<int, QTextDocumentSelection>; -template class Q_EXPORT QPtrList<QTextDocument>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QColor>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, bool>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QTextDocumentSelection>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList<QTextDocument>; // MOC_SKIP_END @@ -692,3 +682,3 @@ class Q_EXPORT QTextDocument : public QObject friend class QTextEdit; - friend class QTextParag; + friend class QTextParagraph; @@ -706,3 +696,3 @@ public: QTextDocument *parent() const { return par; } - QTextParag *parentParag() const { return parParag; } + QTextParagraph *parentParagraph() const { return parentPar; } @@ -724,3 +714,3 @@ public: int minimumWidth() const; - bool setMinimumWidth( int needed, int used = -1, QTextParag *parag = 0 ); + bool setMinimumWidth( int needed, int used = -1, QTextParagraph *parag = 0 ); @@ -732,6 +722,6 @@ public: - QTextParag *firstParag() const; - QTextParag *lastParag() const; - void setFirstParag( QTextParag *p ); - void setLastParag( QTextParag *p ); + QTextParagraph *firstParagraph() const; + QTextParagraph *lastParagraph() const; + void setFirstParagraph( QTextParagraph *p ); + void setLastParagraph( QTextParagraph *p ); @@ -753,4 +743,4 @@ public: bool hasSelection( int id, bool visible = FALSE ) const; - void setSelectionStart( int id, QTextCursor *cursor ); - bool setSelectionEnd( int id, QTextCursor *cursor ); + void setSelectionStart( int id, const QTextCursor &cursor ); + bool setSelectionEnd( int id, const QTextCursor &cursor ); void selectAll( int id ); @@ -762,4 +752,2 @@ public: void setFormat( int id, QTextFormat *f, int flags ); - QTextParag *selectionStart( int id ); - QTextParag *selectionEnd( int id ); int numSelections() const { return nSelections; } @@ -767,4 +755,3 @@ public: - QString selectedText( int id, bool withCustom = TRUE ) const; - void copySelectedText( int id ); + QString selectedText( int id, bool asRichText = FALSE ) const; void removeSelectedText( int id, QTextCursor *cursor ); @@ -772,3 +759,3 @@ public: - QTextParag *paragAt( int i ) const; + QTextParagraph *paragAt( int i ) const; @@ -781,3 +768,3 @@ public: - bool find( const QString &expr, bool cs, bool wo, bool forward, int *parag, int *index, QTextCursor *cursor ); + bool find( QTextCursor &cursor, const QString &expr, bool cs, bool wo, bool forward); @@ -793,5 +780,3 @@ public: void setStyleSheet( QStyleSheet *s ); - void updateStyles(); - void updateFontSizes( int base, bool usePixels ); - void updateFontAttributes( const QFont &f, const QFont &old ); + void setDefaultFormat( const QFont &font, const QColor &color ); void setMimeSourceFactory( QMimeSourceFactory *f ) { if ( f ) factory_ = f; } @@ -799,3 +784,3 @@ public: - void setUnderlineLinks( bool b ) { underlLinks = b; } + void setUnderlineLinks( bool b ); bool underlineLinks() const { return underlLinks; } @@ -807,6 +792,6 @@ public: void draw( QPainter *p, const QRect& rect, const QColorGroup &cg, const QBrush *paper = 0 ); - void drawParag( QPainter *p, QTextParag *parag, int cx, int cy, int cw, int ch, + void drawParagraph( QPainter *p, QTextParagraph *parag, int cx, int cy, int cw, int ch, QPixmap *&doubleBuffer, const QColorGroup &cg, bool drawCursor, QTextCursor *cursor, bool resetChanged = TRUE ); - QTextParag *draw( QPainter *p, int cx, int cy, int cw, int ch, const QColorGroup &cg, + QTextParagraph *draw( QPainter *p, int cx, int cy, int cw, int ch, const QColorGroup &cg, bool onlyChanged = FALSE, bool drawCursor = FALSE, QTextCursor *cursor = 0, @@ -814,6 +799,4 @@ public: - void setDefaultFont( const QFont &f ); - - void registerCustomItem( QTextCustomItem *i, QTextParag *p ); - void unregisterCustomItem( QTextCustomItem *i, QTextParag *p ); + void registerCustomItem( QTextCustomItem *i, QTextParagraph *p ); + void unregisterCustomItem( QTextCustomItem *i, QTextParagraph *p ); @@ -833,4 +816,4 @@ public: void setRichText( const QString &text, const QString &context ); - QString richText( QTextParag *p = 0 ) const; - QString plainText( QTextParag *p = 0 ) const; + QString richText() const; + QString plainText() const; @@ -852,3 +835,3 @@ public: - virtual QTextParag *createParag( QTextDocument *d, QTextParag *pr = 0, QTextParag *nx = 0, bool updateIds = TRUE ); + virtual QTextParagraph *createParagraph( QTextDocument *d, QTextParagraph *pr = 0, QTextParagraph *nx = 0, bool updateIds = TRUE ); void insertChild( QObject *o ) { QObject::insertChild( o ); } @@ -859,5 +842,2 @@ public: - void setAddMargins( bool b ) { addMargs = b; } - int addMargins() const { return addMargs; } - bool hasFocusParagraph() const; @@ -867,2 +847,5 @@ public: + static QString section( QString str, const QString &sep, int start, int end = 0xffffffff ); + static bool endsWith( QString str, const QString &s); + signals: @@ -877,3 +860,3 @@ private: QTextCustomItem* parseTable( const QMap<QString, QString> &attr, const QTextFormat &fmt, - const QChar* doc, int length, int& pos, QTextParag *curpar ); + const QChar* doc, int length, int& pos, QTextParagraph *curpar ); bool eatSpace(const QChar* doc, int length, int& pos, bool includeNbsp = FALSE ); @@ -885,3 +868,4 @@ private: QChar parseChar(const QChar* doc, int length, int& pos, QStyleSheetItem::WhiteSpaceMode wsm ); - void setRichTextInternal( const QString &text ); + void setRichTextInternal( const QString &text, QTextCursor* cursor = 0 ); + void setRichTextMarginsInternal( QPtrList< QPtrVector<QStyleSheetItem> >& styles, QTextParagraph* stylesPar ); @@ -889,3 +873,3 @@ private: struct Q_EXPORT Focus { - QTextParag *parag; + QTextParagraph *parag; int start, len; @@ -895,3 +879,3 @@ private: int cx, cy, cw, vw; - QTextParag *fParag, *lParag; + QTextParagraph *fParag, *lParag; QTextPreProcessor *pProcessor; @@ -911,3 +895,2 @@ private: uint nextDoubleBuffered : 1; - uint addMargs : 1; uint oTextValid : 1; @@ -918,5 +901,4 @@ private: QTextDocument *par; - QTextParag *parParag; + QTextParagraph *parentPar; QTextTableCell *tc; - QTextCursor *tmpCursor; QBrush *backBrush; @@ -928,3 +910,3 @@ private: int rightmargin; - QTextParag *minwParag, *curParag; + QTextParagraph *minwParag, *curParag; QStyleSheet* sheet_; @@ -939,3 +921,5 @@ private: QColor linkColor; + double scaleFontsFactor; + short list_tm,list_bm, list_lm, li_tm, li_bm, par_tm, par_bm; }; @@ -949,6 +933,4 @@ public: QTextDeleteCommand( QTextDocument *d, int i, int idx, const QMemArray<QTextStringChar> &str, - const QValueList< QPtrVector<QStyleSheetItem> > &os, - const QValueList<QStyleSheetItem::ListStyle> &ols, - const QMemArray<int> &oas ); - QTextDeleteCommand( QTextParag *p, int idx, const QMemArray<QTextStringChar> &str ); + const QByteArray& oldStyle ); + QTextDeleteCommand( QTextParagraph *p, int idx, const QMemArray<QTextStringChar> &str ); virtual ~QTextDeleteCommand(); @@ -961,7 +943,5 @@ protected: int id, index; - QTextParag *parag; + QTextParagraph *parag; QMemArray<QTextStringChar> text; - QValueList< QPtrVector<QStyleSheetItem> > oldStyles; - QValueList<QStyleSheetItem::ListStyle> oldListStyles; - QMemArray<int> oldAligns; + QByteArray styleInformation; @@ -973,7 +953,5 @@ public: QTextInsertCommand( QTextDocument *d, int i, int idx, const QMemArray<QTextStringChar> &str, - const QValueList< QPtrVector<QStyleSheetItem> > &os, - const QValueList<QStyleSheetItem::ListStyle> &ols, - const QMemArray<int> &oas ) - : QTextDeleteCommand( d, i, idx, str, os, ols, oas ) {} - QTextInsertCommand( QTextParag *p, int idx, const QMemArray<QTextStringChar> &str ) + const QByteArray& oldStyleInfo ) + : QTextDeleteCommand( d, i, idx, str, oldStyleInfo ) {} + QTextInsertCommand( QTextParagraph *p, int idx, const QMemArray<QTextStringChar> &str ) : QTextDeleteCommand( p, idx, str ) {} @@ -1005,9 +983,9 @@ protected: -class Q_EXPORT QTextAlignmentCommand : public QTextCommand +class Q_EXPORT QTextStyleCommand : public QTextCommand { public: - QTextAlignmentCommand( QTextDocument *d, int fParag, int lParag, int na, const QMemArray<int> &oa ); - virtual ~QTextAlignmentCommand() {} + QTextStyleCommand( QTextDocument *d, int fParag, int lParag, const QByteArray& beforeChange ); + virtual ~QTextStyleCommand() {} - Commands type() const { return Alignment; } + Commands type() const { return Style; } QTextCursor *execute( QTextCursor *c ); @@ -1015,20 +993,4 @@ public: -private: - int firstParag, lastParag; - int newAlign; - QMemArray<int> oldAligns; - -}; - -class Q_EXPORT QTextParagTypeCommand : public QTextCommand -{ -public: - QTextParagTypeCommand( QTextDocument *d, int fParag, int lParag, bool l, - QStyleSheetItem::ListStyle s, const QValueList< QPtrVector<QStyleSheetItem> > &os, - const QValueList<QStyleSheetItem::ListStyle> &ols ); - virtual ~QTextParagTypeCommand() {} - - Commands type() const { return ParagType; } - QTextCursor *execute( QTextCursor *c ); - QTextCursor *unexecute( QTextCursor *c ); + static QByteArray readStyleInformation( QTextDocument* d, int fParag, int lParag ); + static void writeStyleInformation( QTextDocument* d, int fParag, const QByteArray& style ); @@ -1036,7 +998,4 @@ private: int firstParag, lastParag; - bool list; - QStyleSheetItem::ListStyle listStyle; - QValueList< QPtrVector<QStyleSheetItem> > oldStyles; - QValueList<QStyleSheetItem::ListStyle> oldListStyles; - + QByteArray before; + QByteArray after; }; @@ -1045,3 +1004,3 @@ private: -struct Q_EXPORT QTextParagSelection +struct Q_EXPORT QTextParagraphSelection { @@ -1050,5 +1009,5 @@ struct Q_EXPORT QTextParagSelection -struct Q_EXPORT QTextParagLineStart +struct Q_EXPORT QTextLineStart { - QTextParagLineStart() : y( 0 ), baseLine( 0 ), h( 0 ) + QTextLineStart() : y( 0 ), baseLine( 0 ), h( 0 ) #ifndef QT_NO_COMPLEXTEXT @@ -1057,3 +1016,3 @@ struct Q_EXPORT QTextParagLineStart { } - QTextParagLineStart( ushort y_, ushort bl, ushort h_ ) : y( y_ ), baseLine( bl ), h( h_ ), + QTextLineStart( ushort y_, ushort bl, ushort h_ ) : y( y_ ), baseLine( bl ), h( h_ ), w( 0 ) @@ -1064,3 +1023,3 @@ struct Q_EXPORT QTextParagLineStart #ifndef QT_NO_COMPLEXTEXT - QTextParagLineStart( QBidiContext *c, QBidiStatus s ) : y(0), baseLine(0), h(0), + QTextLineStart( QBidiContext *c, QBidiStatus s ) : y(0), baseLine(0), h(0), status( s ), bidicontext( c ) { if ( bidicontext ) bidicontext->ref(); } @@ -1068,3 +1027,3 @@ struct Q_EXPORT QTextParagLineStart - virtual ~QTextParagLineStart() + virtual ~QTextLineStart() { @@ -1104,4 +1063,4 @@ private: // MOC_SKIP_BEGIN -template class Q_EXPORT QMap<int, QTextParagSelection>; -template class Q_EXPORT QMap<int, QTextParagLineStart*>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QTextParagraphSelection>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QTextLineStart*>; // MOC_SKIP_END @@ -1109,15 +1068,15 @@ template class Q_EXPORT QMap<int, QTextParagLineStart*>; -class Q_EXPORT QTextParagData +class Q_EXPORT QTextParagraphData { public: - QTextParagData() {} - virtual ~QTextParagData(); - virtual void join( QTextParagData * ); + QTextParagraphData() {} + virtual ~QTextParagraphData(); + virtual void join( QTextParagraphData * ); }; -class Q_EXPORT QTextParagPseudoDocument +class Q_EXPORT QTextParagraphPseudoDocument { public: - QTextParagPseudoDocument(); - ~QTextParagPseudoDocument(); + QTextParagraphPseudoDocument(); + ~QTextParagraphPseudoDocument(); QRect docRect; @@ -1130,3 +1089,3 @@ public: //nase -class Q_EXPORT QTextParag +class Q_EXPORT QTextParagraph { @@ -1136,4 +1095,4 @@ class Q_EXPORT QTextParag public: - QTextParag( QTextDocument *d, QTextParag *pr = 0, QTextParag *nx = 0, bool updateIds = TRUE ); - virtual ~QTextParag(); + QTextParagraph( QTextDocument *d, QTextParagraph *pr = 0, QTextParagraph *nx = 0, bool updateIds = TRUE ); + virtual ~QTextParagraph(); @@ -1144,17 +1103,17 @@ public: - void setListStyle( QStyleSheetItem::ListStyle ls ); - QStyleSheetItem::ListStyle listStyle() const; + void setListStyle( QStyleSheetItem::ListStyle ls ) { lstyle = ls; changed = TRUE; } + QStyleSheetItem::ListStyle listStyle() const { return lstyle; } + void setListItem( bool li ) { litem = li; changed = TRUE; } + bool isListItem() const { return litem; } void setListValue( int v ) { list_val = v; } - int listValue() const { return list_val; } + int listValue() const { return list_val > 0 ? list_val : -1; } - void setList( bool b, int listStyle ); - void incDepth(); - void decDepth(); - int listDepth() const; + void setListDepth( int depth ); + int listDepth() const { return ldepth; } - void setFormat( QTextFormat *fm ); - QTextFormat *paragFormat() const; +// void setFormat( QTextFormat *fm ); +// QTextFormat *paragFormat() const; QTextDocument *document() const; - QTextParagPseudoDocument *pseudoDocument() const; + QTextParagraphPseudoDocument *pseudoDocument() const; @@ -1166,8 +1125,9 @@ public: - QTextParag *prev() const; - QTextParag *next() const; - void setPrev( QTextParag *s ); - void setNext( QTextParag *s ); + QTextParagraph *prev() const; + QTextParagraph *next() const; + void setPrev( QTextParagraph *s ); + void setNext( QTextParagraph *s ); void insert( int index, const QString &s ); + void insert( int index, const QChar *unicode, int len ); void append( const QString &s, bool reallyAtEnd = FALSE ); @@ -1175,3 +1135,3 @@ public: void remove( int index, int len ); - void join( QTextParag *s ); + void join( QTextParagraph *s ); @@ -1214,6 +1174,6 @@ public: - void setExtraData( QTextParagData *data ); - QTextParagData *extraData() const; + void setExtraData( QTextParagraphData *data ); + QTextParagraphData *extraData() const; - QMap<int, QTextParagLineStart*> &lineStartList(); + QMap<int, QTextLineStart*> &lineStartList(); @@ -1227,6 +1187,2 @@ public: - void setStyleSheetItems( const QPtrVector<QStyleSheetItem> &vec ); - QPtrVector<QStyleSheetItem> styleSheetItems() const; - QStyleSheetItem *style() const; - virtual int topMargin() const; @@ -1238,3 +1194,2 @@ public: - int numberOfSubParagraph() const; void registerFloatingItem( QTextCustomItem *i ); @@ -1272,3 +1227,3 @@ public: QTextCommandHistory *commands() const; - virtual void copyParagData( QTextParag *parag ); + virtual void copyParagData( QTextParagraph *parag ); @@ -1281,4 +1236,2 @@ public: - bool isLineBreak() const { return isBr; } - void setMovedDown( bool b ) { movedDown = b; } @@ -1289,18 +1242,22 @@ public: + void readStyleInformation( QDataStream& stream ); + void writeStyleInformation( QDataStream& stream ) const; + protected: virtual void drawLabel( QPainter* p, int x, int y, int w, int h, int base, const QColorGroup& cg ); - virtual void drawParagString( QPainter &painter, const QString &str, int start, int len, int startX, - int lastY, int baseLine, int bw, int h, bool drawSelections, - QTextStringChar *formatChar, int i, const QMemArray<int> &selectionStarts, - const QMemArray<int> &selectionEnds, const QColorGroup &cg, bool rightToLeft ); + virtual void drawString( QPainter &painter, const QString &str, int start, int len, int xstart, + int y, int baseLine, int w, int h, int selection, + QTextStringChar *formatChar, const QColorGroup& cg, + bool rightToLeft ); private: - QMap<int, QTextParagSelection> &selections() const; - QPtrVector<QStyleSheetItem> &styleSheetItemsVec() const; + QMap<int, QTextParagraphSelection> &selections() const; QPtrList<QTextCustomItem> &floatingItems() const; + QBrush backgroundBrush( const QColorGroup&cg ) { if ( bgcol ) return *bgcol; return cg.brush( QColorGroup::Base ); } + void invalidateStyleCache(); - QMap<int, QTextParagLineStart*> lineStarts; + QMap<int, QTextLineStart*> lineStarts; int invalid; QRect r; - QTextParag *p, *n; + QTextParagraph *p, *n; void *docOrPseudo; @@ -1311,3 +1268,2 @@ private: uint fullWidth : 1; - uint newLinesAllowed : 1; uint lastInFrame : 1; @@ -1315,3 +1271,2 @@ private: uint breakable : 1; - uint isBr : 1; uint movedDown : 1; @@ -1319,2 +1274,4 @@ private: uint hasdoc : 1; + uint litem : 1; // whether the paragraph is a list item + uint rtext : 1; // whether the paragraph needs rich text margin int align : 4; @@ -1322,14 +1279,12 @@ private: QTextString *str; - QMap<int, QTextParagSelection> *mSelections; - QPtrVector<QStyleSheetItem> *mStyleSheetItemsVec; + QMap<int, QTextParagraphSelection> *mSelections; QPtrList<QTextCustomItem> *mFloatingItems; - QStyleSheetItem::ListStyle listS; - int numSubParag; - int tm, bm, lm, rm, flm; - QTextFormat *defFormat; + QStyleSheetItem::ListStyle lstyle; + short utm, ubm, ulm, urm, uflm, ulinespacing; int *tArray; - int tabStopWidth; - QTextParagData *eData; - int list_val; + short tabStopWidth; + QTextParagraphData *eData; + short list_val; QColor *bgcol; + ushort ldepth; @@ -1345,6 +1300,6 @@ public: - virtual int format( QTextDocument *doc, QTextParag *parag, int start, const QMap<int, QTextParagLineStart*> &oldLineStarts ) = 0; - virtual int formatVertically( QTextDocument* doc, QTextParag* parag ); + virtual int format( QTextDocument *doc, QTextParagraph *parag, int start, const QMap<int, QTextLineStart*> &oldLineStarts ) = 0; + virtual int formatVertically( QTextDocument* doc, QTextParagraph* parag ); - bool isWrapEnabled( QTextParag *p ) const { if ( !wrapEnabled ) return FALSE; if ( p && !p->isBreakable() ) return FALSE; return TRUE;} + bool isWrapEnabled( QTextParagraph *p ) const { if ( !wrapEnabled ) return FALSE; if ( p && !p->isBreakable() ) return FALSE; return TRUE;} int wrapAtColumn() const { return wrapColumn;} @@ -1358,11 +1313,12 @@ public: + static bool isBreakable( QTextString *string, int pos ); + protected: - virtual QTextParagLineStart *formatLine( QTextParag *parag, QTextString *string, QTextParagLineStart *line, QTextStringChar *start, + virtual QTextLineStart *formatLine( QTextParagraph *parag, QTextString *string, QTextLineStart *line, QTextStringChar *start, QTextStringChar *last, int align = Qt3::AlignAuto, int space = 0 ); #ifndef QT_NO_COMPLEXTEXT - virtual QTextParagLineStart *bidiReorderLine( QTextParag *parag, QTextString *string, QTextParagLineStart *line, QTextStringChar *start, + virtual QTextLineStart *bidiReorderLine( QTextParagraph *parag, QTextString *string, QTextLineStart *line, QTextStringChar *start, QTextStringChar *last, int align, int space ); #endif - virtual bool isBreakable( QTextString *string, int pos ) const; - void insertLineStart( QTextParag *parag, int index, QTextParagLineStart *ls ); + void insertLineStart( QTextParagraph *parag, int index, QTextLineStart *ls ); @@ -1391,3 +1347,3 @@ public: - int format( QTextDocument *doc, QTextParag *parag, int start, const QMap<int, QTextParagLineStart*> &oldLineStarts ); + int format( QTextDocument *doc, QTextParagraph *parag, int start, const QMap<int, QTextLineStart*> &oldLineStarts ); @@ -1403,3 +1359,3 @@ public: - int format( QTextDocument *doc, QTextParag *parag, int start, const QMap<int, QTextParagLineStart*> &oldLineStarts ); + int format( QTextDocument *doc, QTextParagraph *parag, int start, const QMap<int, QTextLineStart*> &oldLineStarts ); @@ -1415,3 +1371,3 @@ public: - virtual void indent( QTextDocument *doc, QTextParag *parag, int *oldIndent = 0, int *newIndent = 0 ) = 0; + virtual void indent( QTextDocument *doc, QTextParagraph *parag, int *oldIndent = 0, int *newIndent = 0 ) = 0; @@ -1431,3 +1387,3 @@ public: - virtual void process( QTextDocument *doc, QTextParag *, int, bool = TRUE ) = 0; + virtual void process( QTextDocument *doc, QTextParagraph *, int, bool = TRUE ) = 0; virtual QTextFormat *format( int id ) = 0; @@ -1454,3 +1410,4 @@ public: VAlign = 128, - Font = Bold | Italic | Underline | Family | Size, + StrikeOut= 256, + Font = Bold | Italic | Underline | Family | Size | StrikeOut, Format = Font | Color | Misspelled | VAlign @@ -1466,3 +1423,3 @@ public: QTextFormat( const QTextFormat &fm ); - QTextFormat makeTextFormat( const QStyleSheetItem *style, const QMap<QString,QString>& attr ) const; + QTextFormat makeTextFormat( const QStyleSheetItem *style, const QMap<QString,QString>& attr, double scaleFontsFactor ) const; QTextFormat& operator=( const QTextFormat &fm ); @@ -1485,2 +1442,3 @@ public: void setUnderline( bool b ); + void setStrikeOut( bool b ); void setFamily( const QString &f ); @@ -1501,4 +1459,4 @@ public: - QString makeFormatChangeTags( QTextFormat *f, const QString& oldAnchorHref, const QString& anchorHref ) const; - QString makeFormatEndTags( const QString& anchorHref ) const; + QString makeFormatChangeTags( QTextFormat* defaultFormat, QTextFormat *f, const QString& oldAnchorHref, const QString& anchorHref ) const; + QString makeFormatEndTags( QTextFormat* defaultFormat, const QString& anchorHref ) const; @@ -1506,8 +1464,3 @@ public: static QPainter* painter(); - void updateStyle(); - void updateStyleFlags(); - void setStyle( const QString &s ); - QString styleName() const { return style; } - int changed() const { return different; } bool fontSizesInPixels() { return usePixelSizes; } @@ -1537,4 +1490,2 @@ private: static QPainter *pntr; - QString style; - int different; @@ -1546,3 +1497,3 @@ private: // MOC_SKIP_BEGIN -template class Q_EXPORT QDict<QTextFormat>; +Q_TEMPLATE_EXTERN template class Q_EXPORT QDict<QTextFormat>; // MOC_SKIP_END @@ -1567,9 +1518,4 @@ public: virtual QTextFormat *createFormat( const QFont &f, const QColor &c ) { return new QTextFormat( f, c, this ); } - void debug(); - QStyleSheet *styleSheet() const { return sheet; } - void setStyleSheet( QStyleSheet *s ) { sheet = s; } - void updateStyles(); - void updateFontSizes( int base, bool usePixels ); - void updateFontAttributes( const QFont &f, const QFont &old ); + void updateDefaultFormat( const QFont &font, const QColor &c, QStyleSheet *sheet ); QDict<QTextFormat> dict() const { return cKey; } @@ -1587,4 +1533,2 @@ private: int cflags; - QStyleSheet *sheet; - }; @@ -1598,8 +1542,3 @@ inline int QTextString::length() const -inline void QTextString::operator+=( const QString &s ) -{ - insert( length(), s, 0 ); -} - -inline int QTextParag::length() const +inline int QTextParagraph::length() const { @@ -1608,3 +1547,3 @@ inline int QTextParag::length() const -inline QRect QTextParag::rect() const +inline QRect QTextParagraph::rect() const { @@ -1613,5 +1552,5 @@ inline QRect QTextParag::rect() const -inline QTextParag *QTextCursor::parag() const +inline QTextParagraph *QTextCursor::paragraph() const { - return string; + return para; } @@ -1623,31 +1562,2 @@ inline int QTextCursor::index() const -inline void QTextCursor::setIndex( int i, bool restore ) -{ - if ( restore ) - restoreState(); - if ( i < 0 || i >= string->length() ) { -#if defined(QT_CHECK_RANGE) - qWarning( "QTextCursor::setIndex: %d out of range", i ); -#endif - i = i < 0 ? 0 : string->length() - 1; - } - - tmpIndex = -1; - idx = i; -} - -inline void QTextCursor::setParag( QTextParag *s, bool restore ) -{ - if ( restore ) - restoreState(); - idx = 0; - string = s; - tmpIndex = -1; -} - -inline void QTextCursor::checkIndex() -{ - if ( idx >= string->length() ) - idx = string->length() - 1; -} @@ -1675,3 +1585,3 @@ inline int QTextDocument::visibleWidth() const -inline QTextParag *QTextDocument::firstParag() const +inline QTextParagraph *QTextDocument::firstParagraph() const { @@ -1680,3 +1590,3 @@ inline QTextParag *QTextDocument::firstParag() const -inline QTextParag *QTextDocument::lastParag() const +inline QTextParagraph *QTextDocument::lastParagraph() const { @@ -1685,3 +1595,3 @@ inline QTextParag *QTextDocument::lastParag() const -inline void QTextDocument::setFirstParag( QTextParag *p ) +inline void QTextDocument::setFirstParagraph( QTextParagraph *p ) { @@ -1690,3 +1600,3 @@ inline void QTextDocument::setFirstParag( QTextParag *p ) -inline void QTextDocument::setLastParag( QTextParag *p ) +inline void QTextDocument::setLastParagraph( QTextParagraph *p ) { @@ -1872,5 +1782,2 @@ inline void QTextFormat::addRef() ref++; -#ifdef DEBUG_COLLECTION - qDebug( "add ref of '%s' to %d (%p)", k.latin1(), ref, this ); -#endif } @@ -1884,5 +1791,2 @@ inline void QTextFormat::removeRef() return; -#ifdef DEBUG_COLLECTION - qDebug( "remove ref of '%s' to %d (%p)", k.latin1(), ref, this ); -#endif if ( ref == 0 ) @@ -1901,7 +1805,2 @@ inline bool QTextFormat::useLinkColor() const -inline void QTextFormat::setStyle( const QString &s ) -{ - style = s; - updateStyleFlags(); -} @@ -1916,3 +1815,3 @@ inline QTextStringChar &QTextString::at( int i ) const -inline QTextStringChar *QTextParag::at( int i ) const +inline QTextStringChar *QTextParagraph::at( int i ) const { @@ -1921,3 +1820,3 @@ inline QTextStringChar *QTextParag::at( int i ) const -inline bool QTextParag::isValid() const +inline bool QTextParagraph::isValid() const { @@ -1926,3 +1825,3 @@ inline bool QTextParag::isValid() const -inline bool QTextParag::hasChanged() const +inline bool QTextParagraph::hasChanged() const { @@ -1931,3 +1830,3 @@ inline bool QTextParag::hasChanged() const -inline void QTextParag::setBackgroundColor( const QColor & c ) +inline void QTextParagraph::setBackgroundColor( const QColor & c ) { @@ -1938,3 +1837,3 @@ inline void QTextParag::setBackgroundColor( const QColor & c ) -inline void QTextParag::clearBackgroundColor() +inline void QTextParagraph::clearBackgroundColor() { @@ -1943,3 +1842,3 @@ inline void QTextParag::clearBackgroundColor() -inline void QTextParag::append( const QString &s, bool reallyAtEnd ) +inline void QTextParagraph::append( const QString &s, bool reallyAtEnd ) { @@ -1951,3 +1850,3 @@ inline void QTextParag::append( const QString &s, bool reallyAtEnd ) -inline QTextParag *QTextParag::prev() const +inline QTextParagraph *QTextParagraph::prev() const { @@ -1956,3 +1855,3 @@ inline QTextParag *QTextParag::prev() const -inline QTextParag *QTextParag::next() const +inline QTextParagraph *QTextParagraph::next() const { @@ -1961,3 +1860,3 @@ inline QTextParag *QTextParag::next() const -inline bool QTextParag::hasAnySelection() const +inline bool QTextParagraph::hasAnySelection() const { @@ -1966,3 +1865,3 @@ inline bool QTextParag::hasAnySelection() const -inline void QTextParag::setEndState( int s ) +inline void QTextParagraph::setEndState( int s ) { @@ -1973,3 +1872,3 @@ inline void QTextParag::setEndState( int s ) -inline int QTextParag::endState() const +inline int QTextParagraph::endState() const { @@ -1978,3 +1877,3 @@ inline int QTextParag::endState() const -inline void QTextParag::setParagId( int i ) +inline void QTextParagraph::setParagId( int i ) { @@ -1983,3 +1882,3 @@ inline void QTextParag::setParagId( int i ) -inline int QTextParag::paragId() const +inline int QTextParagraph::paragId() const { @@ -1990,3 +1889,3 @@ inline int QTextParag::paragId() const -inline bool QTextParag::firstPreProcess() const +inline bool QTextParagraph::firstPreProcess() const { @@ -1995,3 +1894,3 @@ inline bool QTextParag::firstPreProcess() const -inline void QTextParag::setFirstPreProcess( bool b ) +inline void QTextParagraph::setFirstPreProcess( bool b ) { @@ -2000,3 +1899,3 @@ inline void QTextParag::setFirstPreProcess( bool b ) -inline QMap<int, QTextParagLineStart*> &QTextParag::lineStartList() +inline QMap<int, QTextLineStart*> &QTextParagraph::lineStartList() { @@ -2005,3 +1904,3 @@ inline QMap<int, QTextParagLineStart*> &QTextParag::lineStartList() -inline QTextString *QTextParag::string() const +inline QTextString *QTextParagraph::string() const { @@ -2010,3 +1909,3 @@ inline QTextString *QTextParag::string() const -inline QTextDocument *QTextParag::document() const +inline QTextDocument *QTextParagraph::document() const { @@ -2017,3 +1916,3 @@ inline QTextDocument *QTextParag::document() const -inline QTextParagPseudoDocument *QTextParag::pseudoDocument() const +inline QTextParagraphPseudoDocument *QTextParagraph::pseudoDocument() const { @@ -2021,3 +1920,3 @@ inline QTextParagPseudoDocument *QTextParag::pseudoDocument() const return 0; - return (QTextParagPseudoDocument*) docOrPseudo; + return (QTextParagraphPseudoDocument*) docOrPseudo; } @@ -2025,3 +1924,3 @@ inline QTextParagPseudoDocument *QTextParag::pseudoDocument() const -inline QTextTableCell *QTextParag::tableCell() const +inline QTextTableCell *QTextParagraph::tableCell() const { @@ -2030,3 +1929,3 @@ inline QTextTableCell *QTextParag::tableCell() const -inline QTextCommandHistory *QTextParag::commands() const +inline QTextCommandHistory *QTextParagraph::commands() const { @@ -2036,27 +1935,8 @@ inline QTextCommandHistory *QTextParag::commands() const -inline void QTextParag::setAlignment( int a ) -{ - if ( a == (int)align ) - return; - align = a; - invalidate( 0 ); -} - -inline void QTextParag::setListStyle( QStyleSheetItem::ListStyle ls ) -{ - listS = ls; - invalidate( 0 ); -} - -inline QStyleSheetItem::ListStyle QTextParag::listStyle() const -{ - return listS; -} - -inline QTextFormat *QTextParag::paragFormat() const +inline int QTextParagraph::alignment() const { - return defFormat; + return align; } -inline void QTextParag::registerFloatingItem( QTextCustomItem *i ) +inline void QTextParagraph::registerFloatingItem( QTextCustomItem *i ) { @@ -2065,3 +1945,3 @@ inline void QTextParag::registerFloatingItem( QTextCustomItem *i ) -inline void QTextParag::unregisterFloatingItem( QTextCustomItem *i ) +inline void QTextParagraph::unregisterFloatingItem( QTextCustomItem *i ) { @@ -2070,3 +1950,3 @@ inline void QTextParag::unregisterFloatingItem( QTextCustomItem *i ) -inline QBrush *QTextParag::background() const +inline QBrush *QTextParagraph::background() const { @@ -2075,3 +1955,3 @@ inline QBrush *QTextParag::background() const -inline int QTextParag::documentWidth() const +inline int QTextParagraph::documentWidth() const { @@ -2080,3 +1960,3 @@ inline int QTextParag::documentWidth() const -inline int QTextParag::documentVisibleWidth() const +inline int QTextParagraph::documentVisibleWidth() const { @@ -2085,3 +1965,3 @@ inline int QTextParag::documentVisibleWidth() const -inline int QTextParag::documentX() const +inline int QTextParagraph::documentX() const { @@ -2090,3 +1970,3 @@ inline int QTextParag::documentX() const -inline int QTextParag::documentY() const +inline int QTextParagraph::documentY() const { @@ -2095,3 +1975,3 @@ inline int QTextParag::documentY() const -inline void QTextParag::setExtraData( QTextParagData *data ) +inline void QTextParagraph::setExtraData( QTextParagraphData *data ) { @@ -2100,3 +1980,3 @@ inline void QTextParag::setExtraData( QTextParagData *data ) -inline QTextParagData *QTextParag::extraData() const +inline QTextParagraphData *QTextParagraph::extraData() const { @@ -2105,12 +1985,2 @@ inline QTextParagData *QTextParag::extraData() const -inline void QTextParag::setNewLinesAllowed( bool b ) -{ - newLinesAllowed = b; -} - -inline bool QTextParag::isNewLinesAllowed() const -{ - return newLinesAllowed; -} - // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |