File indexing completed on 2025-02-16 04:57:43
0001 /* 0002 SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <TextCustomEditor/PlainTextEditor> 0010 0011 #include <KSyntaxHighlighting/Repository> 0012 0013 class QKeyEvent; 0014 namespace TextCustomEditor 0015 { 0016 class TextEditorCompleter; 0017 } 0018 namespace TemplateParser 0019 { 0020 class TemplatesTextEditor : public TextCustomEditor::PlainTextEditor 0021 { 0022 Q_OBJECT 0023 public: 0024 explicit TemplatesTextEditor(QWidget *parent = nullptr); 0025 ~TemplatesTextEditor() override; 0026 0027 protected: 0028 void initCompleter(); 0029 void keyPressEvent(QKeyEvent *e) override; 0030 0031 void updateHighLighter() override; 0032 0033 void clearDecorator() override; 0034 void createHighlighter() override; 0035 0036 private: 0037 TextCustomEditor::TextEditorCompleter *mTextEditorCompleter = nullptr; 0038 KSyntaxHighlighting::Repository mSyntaxRepo; 0039 }; 0040 }