From da9a57a1e6b3b227ce3c4030d8e6f4e6c43f0643 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Thu, 27 Aug 2020 12:46:53 +0200 Subject: Doc: Compile text snippets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix minor issues (e.g. whitespace, missing semi-colon) in passing. Change-Id: Ib39bb66a724542dcac4ca70072628b9bfcaf200d Done-with: Nico Vertriest Task-number: QTBUG-81486 Reviewed-by: Topi Reiniƶ --- src/gui/doc/snippets/code/code.pro | 9 +++- src/gui/doc/snippets/code/src_gui_text_qfont.cpp | 15 ++++++ .../snippets/code/src_gui_text_qfontmetrics.cpp | 16 ++++++ .../code/src_gui_text_qsyntaxhighlighter.cpp | 58 +++++++++++++++------- .../doc/snippets/code/src_gui_text_qtextcursor.cpp | 22 +++++++- .../snippets/code/src_gui_text_qtextdocument.cpp | 6 +++ .../code/src_gui_text_qtextdocumentwriter.cpp | 6 +++ .../doc/snippets/code/src_gui_text_qtextlayout.cpp | 26 ++++++++++ 8 files changed, 136 insertions(+), 22 deletions(-) (limited to 'src/gui/doc/snippets/code') diff --git a/src/gui/doc/snippets/code/code.pro b/src/gui/doc/snippets/code/code.pro index 8ceea7d59c..caaa4110a7 100644 --- a/src/gui/doc/snippets/code/code.pro +++ b/src/gui/doc/snippets/code/code.pro @@ -33,4 +33,11 @@ SOURCES = \ src_gui_painting_qregion.cpp \ src_gui_painting_qregion_unix.cpp \ src_gui_painting_qtransform.cpp \ - src_gui_qopenglshaderprogram.cpp + src_gui_qopenglshaderprogram.cpp \ + src_gui_text_qfont.cpp \ + src_gui_text_qfontmetrics.cpp \ + src_gui_text_qsyntaxhighlighter.cpp \ + src_gui_text_qtextcursor.cpp \ + src_gui_text_qtextdocument.cpp \ + src_gui_text_qtextdocumentwriter.cpp \ + src_gui_text_qtextlayout.cpp diff --git a/src/gui/doc/snippets/code/src_gui_text_qfont.cpp b/src/gui/doc/snippets/code/src_gui_text_qfont.cpp index 1901ca9b10..5bd5e69009 100644 --- a/src/gui/doc/snippets/code/src_gui_text_qfont.cpp +++ b/src/gui/doc/snippets/code/src_gui_text_qfont.cpp @@ -47,7 +47,13 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +#include +#include +#include +namespace src_gui_text_qfont { + +void wrapper0() { //! [0] QFont serifFont("Times", 10, QFont::Bold); QFont sansFont("Helvetica [Cronyx]", 12); @@ -58,7 +64,11 @@ QFont sansFont("Helvetica [Cronyx]", 12); QFont f("Helvetica"); //! [1] +} // wrapper0 + +void wrapper1() { +QFont f1; //! [2] QFont f("Helvetica [Cronyx]"); //! [2] @@ -75,3 +85,8 @@ QFontMetrics fm(f1); int textWidthInPixels = fm.horizontalAdvance("How many pixels wide is this text?"); int textHeightInPixels = fm.height(); //! [4] + +Q_UNUSED(textWidthInPixels); +Q_UNUSED(textHeightInPixels); +} // wrapper +} // src_gui_text_qfont diff --git a/src/gui/doc/snippets/code/src_gui_text_qfontmetrics.cpp b/src/gui/doc/snippets/code/src_gui_text_qfontmetrics.cpp index 6b478d3297..3c0da7691f 100644 --- a/src/gui/doc/snippets/code/src_gui_text_qfontmetrics.cpp +++ b/src/gui/doc/snippets/code/src_gui_text_qfontmetrics.cpp @@ -47,7 +47,12 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +#include +#include +namespace src_gui_text_qfontmetrics { + +void wrapper0() { //! [0] QFont font("times", 24); QFontMetrics fm(font); @@ -55,10 +60,21 @@ int pixelsWide = fm.horizontalAdvance("What's the width of this text?"); int pixelsHigh = fm.height(); //! [0] +Q_UNUSED(pixelsWide); +Q_UNUSED(pixelsHigh); +} // wrapper0 + +void wrapper1() { //! [1] QFont font("times", 24); QFontMetricsF fm(font); qreal pixelsWide = fm.horizontalAdvance("What's the width of this text?"); qreal pixelsHigh = fm.height(); //! [1] + +Q_UNUSED(pixelsWide); +Q_UNUSED(pixelsHigh); +} // wrapper1 + +} //src_gui_text_qfontmetrics diff --git a/src/gui/doc/snippets/code/src_gui_text_qsyntaxhighlighter.cpp b/src/gui/doc/snippets/code/src_gui_text_qsyntaxhighlighter.cpp index ebfed7d803..063d189e78 100644 --- a/src/gui/doc/snippets/code/src_gui_text_qsyntaxhighlighter.cpp +++ b/src/gui/doc/snippets/code/src_gui_text_qsyntaxhighlighter.cpp @@ -47,6 +47,24 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +#include +#include +#include +#include +#include +#include +#include + +namespace src_gui_text_qsyntaxhighlighter { +struct MyHighlighter : public QSyntaxHighlighter +{ + explicit MyHighlighter(QTextDocument *document) : QSyntaxHighlighter(document) { Q_UNUSED(document); } + + void highlightBlock(const QString &text); + void wrapper(); + + QString text; +}; //! [0] QTextEdit *editor = new QTextEdit; @@ -63,15 +81,14 @@ void MyHighlighter::highlightBlock(const QString &text) QRegularExpression expression("\\bMy[A-Za-z]+\\b"); QRegularExpressionMatchIterator i = expression.globalMatch(text); - while (i.hasNext()) - { - QRegularExpressionMatch match = i.next(); - setFormat(match.capturedStart(), match.capturedLength(), myClassFormat); + while (i.hasNext()) { + QRegularExpressionMatch match = i.next(); + setFormat(match.capturedStart(), match.capturedLength(), myClassFormat); } } //! [1] - +void MyHighlighter::wrapper() { //! [2] QTextCharFormat multiLineCommentFormat; multiLineCommentFormat.setForeground(Qt::red); @@ -86,27 +103,28 @@ if (previousBlockState() != 1) startIndex = text.indexOf(startExpression); while (startIndex >= 0) { - QRegularExpressionMatch endMatch; - int endIndex = text.indexOf(endExpression, startIndex, &endMatch); - int commentLength; - if (endIndex == -1) { - setCurrentBlockState(1); - commentLength = text.length() - startIndex; - } else { - commentLength = endIndex - startIndex - + endMatch.capturedLength(); - } - setFormat(startIndex, commentLength, multiLineCommentFormat); - startIndex = text.indexOf(startExpression, - startIndex + commentLength); + QRegularExpressionMatch endMatch; + int endIndex = text.indexOf(endExpression, startIndex, &endMatch); + int commentLength; + if (endIndex == -1) { + setCurrentBlockState(1); + commentLength = text.length() - startIndex; + } else { + commentLength = endIndex - startIndex + + endMatch.capturedLength(); + } + setFormat(startIndex, commentLength, multiLineCommentFormat); + startIndex = text.indexOf(startExpression, + startIndex + commentLength); } //! [2] +} // MyHighlighter::wrapper //! [3] struct ParenthesisInfo { - QChar char; + QChar character; int position; }; @@ -115,3 +133,5 @@ struct BlockData : public QTextBlockUserData QList parentheses; }; //! [3] + +} // src_gui_text_qsyntaxhighlighter diff --git a/src/gui/doc/snippets/code/src_gui_text_qtextcursor.cpp b/src/gui/doc/snippets/code/src_gui_text_qtextcursor.cpp index d66cc1407f..8e3825cb14 100644 --- a/src/gui/doc/snippets/code/src_gui_text_qtextcursor.cpp +++ b/src/gui/doc/snippets/code/src_gui_text_qtextcursor.cpp @@ -47,6 +47,16 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +#include +#include +#include + +namespace src_gui_text_qtextcursor { +QTextDocument *textDocument = nullptr; + +void wrapper0() { +QTextCursor cursor; + //! [0] cursor.clearSelection(); @@ -56,12 +66,15 @@ cursor.insertText("Hello World"); //! [1] -QImage img = ... +QImage img; textDocument->addResource(QTextDocument::ImageResource, QUrl("myimage"), img); cursor.insertImage("myimage"); //! [1] +} // wrapper0 + +void wrapper1() { //! [2] QTextCursor cursor(textDocument); cursor.beginEditBlock(); @@ -71,8 +84,10 @@ cursor.endEditBlock(); textDocument->undo(); //! [2] +} // wrapper1 +void wrapper2() { //! [3] QTextCursor cursor(textDocument); cursor.beginEditBlock(); @@ -80,7 +95,7 @@ cursor.insertText("Hello"); cursor.insertText("World"); cursor.endEditBlock(); -... +// ... cursor.joinPreviousEditBlock(); cursor.insertText("Hey"); @@ -88,3 +103,6 @@ cursor.endEditBlock(); textDocument->undo(); //! [3] +} // wrapper2 + +} // src_gui_text_qtextcursor diff --git a/src/gui/doc/snippets/code/src_gui_text_qtextdocument.cpp b/src/gui/doc/snippets/code/src_gui_text_qtextdocument.cpp index 66a8bc7b5e..21e1f85ce7 100644 --- a/src/gui/doc/snippets/code/src_gui_text_qtextdocument.cpp +++ b/src/gui/doc/snippets/code/src_gui_text_qtextdocument.cpp @@ -47,7 +47,13 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +namespace src_gui_text_qtextdocument { + +/* wrap non-code snippet //! [0] ... //! [0] + +*/ // wrap non-code snippet +} // src_gui_text_qtextdocument diff --git a/src/gui/doc/snippets/code/src_gui_text_qtextdocumentwriter.cpp b/src/gui/doc/snippets/code/src_gui_text_qtextdocumentwriter.cpp index 06aab74e10..d05dffcbc4 100644 --- a/src/gui/doc/snippets/code/src_gui_text_qtextdocumentwriter.cpp +++ b/src/gui/doc/snippets/code/src_gui_text_qtextdocumentwriter.cpp @@ -47,9 +47,15 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +#include +namespace src_gui_text_qtextdocumentwriter { + +void wrapper() { //! [0] QTextDocumentWriter writer; writer.setFormat("odf"); // same as writer.setFormat("ODF"); //! [0] +} // wrapper +} // src_gui_text_qtextdocumentwriter diff --git a/src/gui/doc/snippets/code/src_gui_text_qtextlayout.cpp b/src/gui/doc/snippets/code/src_gui_text_qtextlayout.cpp index 4244f0ce6d..4a156edac9 100644 --- a/src/gui/doc/snippets/code/src_gui_text_qtextlayout.cpp +++ b/src/gui/doc/snippets/code/src_gui_text_qtextlayout.cpp @@ -47,6 +47,24 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +#include +#include +#include +#include +#include + +namespace src_gui_text_qtextlayout { +struct Wrapper : public QPaintDevice +{ + void wrapper1(); +}; +QTextLayout textLayout; + + +void wrapper0() { +qreal lineWidth = 0; +QFont aFont; +QFontMetrics fontMetrics(aFont); //! [0] int leading = fontMetrics.leading(); @@ -66,8 +84,16 @@ while (1) { textLayout.endLayout(); //! [0] +} // wrapper0 + + +void Wrapper::wrapper1() { //! [1] QPainter painter(this); textLayout.draw(&painter, QPoint(0, 0)); //! [1] + +} // Wrapper::wrapper1 + +} // src_gui_text_qtextlayout -- cgit v1.2.3