Diffstat (limited to 'qmake/include/private/qrichtext_p.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | qmake/include/private/qrichtext_p.h | 59 |
1 files changed, 41 insertions, 18 deletions
diff --git a/qmake/include/private/qrichtext_p.h b/qmake/include/private/qrichtext_p.h index 8e29804..9ed87cf 100644 --- a/qmake/include/private/qrichtext_p.h +++ b/qmake/include/private/qrichtext_p.h @@ -155,8 +155,10 @@ private: QTextStringChar &operator=( const QTextStringChar & ) { //abort(); return *this; } + QTextStringChar( const QTextStringChar & ) { + } friend class QComplexText; friend class QTextParagraph; }; @@ -173,10 +175,10 @@ public: QTextString(); QTextString( const QTextString &s ); virtual ~QTextString(); - static QString toString( const QMemArray<QTextStringChar> &data ); - QString toString() const; + static QString toString( const QMemArray<QTextStringChar> &data, bool fixspaces = TRUE ); + QString toString( bool fixspaces = TRUE ) const; QTextStringChar &at( int i ) const; #if defined(Q_STRICT_INLINING_RULES) // This is for the IRIX MIPSpro o32 ABI - it fails, claiming the @@ -285,10 +287,10 @@ public: void gotoHome(); void gotoEnd(); void gotoPageUp( int visibleHeight ); void gotoPageDown( int visibleHeight ); - void gotoNextWord(); - void gotoPreviousWord(); + void gotoNextWord( bool onlySpace = FALSE ); + void gotoPreviousWord( bool onlySpace = FALSE ); void gotoWordLeft(); void gotoWordRight(); void insert( const QString &s, bool checkNewLine, QMemArray<QTextStringChar> *formatting = 0 ); @@ -325,9 +327,9 @@ private: enum Operation { EnterBegin, EnterEnd, Next, Prev, Up, Down }; void push(); void pop(); - void processNesting( Operation op ); + bool processNesting( Operation op ); void invalidateNested(); void gotoIntoNested( const QPoint &globalPos ); QTextParagraph *para; @@ -702,8 +704,9 @@ class QTextParagraph; struct Q_EXPORT QTextDocumentSelection { QTextCursor startCursor, endCursor; bool swapped; + Q_DUMMY_COMPARISON_OPERATOR(QTextDocumentSelection) }; #if defined(Q_TEMPLATEDLL) // MOC_SKIP_BEGIN @@ -838,8 +841,11 @@ public: QBrush *paper() const { return backBrush; } void doLayout( QPainter *p, int w ); void draw( QPainter *p, const QRect& rect, const QColorGroup &cg, const QBrush *paper = 0 ); + void eraseParagraphEmptyArea( QTextParagraph *parag, QPainter *p, const QColorGroup &cg ); + bool useDoubleBuffer( QTextParagraph *parag, QPainter *p ); + 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 ); QTextParagraph *draw( QPainter *p, int cx, int cy, int cw, int ch, const QColorGroup &cg, @@ -1066,8 +1072,9 @@ private: struct Q_EXPORT QTextParagraphSelection { int start, end; + Q_DUMMY_COMPARISON_OPERATOR(QTextParagraphSelection) }; struct Q_EXPORT QTextLineStart { @@ -1135,25 +1142,17 @@ public: virtual ~QTextParagraphData(); virtual void join( QTextParagraphData * ); }; -class Q_EXPORT QTextParagraphPseudoDocument -{ -public: - QTextParagraphPseudoDocument(); - ~QTextParagraphPseudoDocument(); - QRect docRect; - QTextFormatter *pFormatter; - QTextCommandHistory *commandHistory; - int minw; - int wused; -}; +class QTextParagraphPseudoDocument; + +class QSyntaxHighlighter; -//nase class Q_EXPORT QTextParagraph { friend class QTextDocument; friend class QTextCursor; + friend class QSyntaxHighlighter; public: QTextParagraph( QTextDocument *d, QTextParagraph *pr = 0, QTextParagraph *nx = 0, bool updateIds = TRUE ); virtual ~QTextParagraph(); @@ -1175,9 +1174,15 @@ public: // void setFormat( QTextFormat *fm ); // QTextFormat *paragFormat() const; +#if defined(Q_STRICT_INLINING_RULES) + // This is for the IRIX MIPSpro o32 ABI - it fails, claiming the + // implementation to be a redefinition. + inline QTextDocument *document() const; +#else QTextDocument *document() const; +#endif QTextParagraphPseudoDocument *pseudoDocument() const; QRect rect() const; void setHeight( int h ) { r.setHeight( h ); } @@ -1595,9 +1600,8 @@ public: virtual QTextFormat *createFormat( const QTextFormat &f ) { return new QTextFormat( f ); } virtual QTextFormat *createFormat( const QFont &f, const QColor &c ) { return new QTextFormat( f, c, this ); } void updateDefaultFormat( const QFont &font, const QColor &c, QStyleSheet *sheet ); - QDict<QTextFormat> dict() const { return cKey; } QPaintDevice *paintDevice() const { return paintdevice; } void setPaintDevice( QPaintDevice * ); @@ -1615,8 +1619,21 @@ private: QPaintDevice *paintdevice; }; +class Q_EXPORT QTextParagraphPseudoDocument +{ +public: + QTextParagraphPseudoDocument(); + ~QTextParagraphPseudoDocument(); + QRect docRect; + QTextFormatter *pFormatter; + QTextCommandHistory *commandHistory; + int minw; + int wused; + QTextFormatCollection collection; +}; + // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ inline int QTextString::length() const { @@ -1827,8 +1844,14 @@ inline void QTextDocument::takeFlow() { flow_ = 0; } +inline bool QTextDocument::useDoubleBuffer( QTextParagraph *parag, QPainter *p ) +{ + return ( !parag->document()->parent() || parag->document()->nextDoubleBuffered ) && + ( !p || !p->device() || p->device()->devType() != QInternal::Printer ); +} + // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ inline QColor QTextFormat::color() const { |