aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/textdocumentlayout.h
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2023-03-13 15:11:50 +0100
committerDavid Schulz <david.schulz@qt.io>2023-03-15 05:06:28 +0000
commit7cb585af87fec81b2cd23e7c47aea48440a63972 (patch)
tree46a81ea789e0ecbf962a5a6f73399bf0851505dc /src/plugins/texteditor/textdocumentlayout.h
parent15a39259e97c48b2e9cfa433fdfcdb97700d9495 (diff)
TextEditor: support inline suggestions
Change-Id: I70924a37f9078c5b33c1703e099fc9ddc0b1ae9a Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Diffstat (limited to 'src/plugins/texteditor/textdocumentlayout.h')
-rw-r--r--src/plugins/texteditor/textdocumentlayout.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/plugins/texteditor/textdocumentlayout.h b/src/plugins/texteditor/textdocumentlayout.h
index 7a2e7e948e..97fa5992ab 100644
--- a/src/plugins/texteditor/textdocumentlayout.h
+++ b/src/plugins/texteditor/textdocumentlayout.h
@@ -127,8 +127,10 @@ public:
void setExpectedRawStringSuffix(const QByteArray &suffix) { m_expectedRawStringSuffix = suffix; }
void setReplacement(const QString &replacement);
- void clearReplacement() { m_replacement.reset(); }
+ void setReplacementPosition(int replacementPosition);
+ void clearReplacement();
QTextDocument *replacement() const { return m_replacement.get(); }
+ int replacementPosition() const { return m_replacementPosition; }
private:
TextMarks m_marks;
@@ -144,6 +146,7 @@ private:
KSyntaxHighlighting::State m_syntaxState;
QByteArray m_expectedRawStringSuffix; // A bit C++-specific, but let's be pragmatic.
std::unique_ptr<QTextDocument> m_replacement;
+ int m_replacementPosition = -1;
};
@@ -177,9 +180,14 @@ public:
static void setFolded(const QTextBlock &block, bool folded);
static void setExpectedRawStringSuffix(const QTextBlock &block, const QByteArray &suffix);
static QByteArray expectedRawStringSuffix(const QTextBlock &block);
- static void updateReplacmentFormats(const QTextBlock &block, const FontSettings &fontSettings);
+ static void updateReplacementFormats(const QTextBlock &block,
+ const FontSettings &fontSettings);
static QString replacement(const QTextBlock &block);
static QTextDocument *replacementDocument(const QTextBlock &block);
+ static int replacementPosition(const QTextBlock &block);
+ static bool updateReplacement(const QTextBlock &block,
+ int position,
+ const FontSettings &fontSettings);
class TEXTEDITOR_EXPORT FoldValidator
{