File indexing completed on 2024-04-21 05:51:40
0001 /* 0002 * SPDX-FileCopyrightText: 2002-2003 Jesper K. Pedersen <blackie@kde.org> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-only 0005 **/ 0006 0007 #ifndef __textwidget 0008 #define __textwidget 0009 0010 #include "regexpwidget.h" 0011 0012 class SelectableLineEdit; 0013 class TextRegExp; 0014 0015 /** 0016 RegExp widget representing text. 0017 0018 @internal 0019 */ 0020 class TextWidget : public RegExpWidget 0021 { 0022 Q_OBJECT 0023 0024 public: 0025 TextWidget(RegExpEditorWindow *editorWindow, QWidget *parent); 0026 TextWidget(TextRegExp *regexp, RegExpEditorWindow *editorWindow, QWidget *parent); 0027 RegExp *regExp() const override; 0028 RegExpType type() const override 0029 { 0030 return TEXT; 0031 } 0032 0033 void updateAll() override; 0034 void selectWidget(bool) override; 0035 0036 protected: 0037 void init(const QString &text); 0038 void paintEvent(QPaintEvent *e) override; 0039 bool updateSelection(bool parentSelected) override; 0040 void clearSelection() override; 0041 bool eventFilter(QObject *, QEvent *) override; 0042 0043 protected Q_SLOTS: 0044 void slotUpdate(); 0045 0046 private: 0047 QString text; 0048 SelectableLineEdit *_edit = nullptr; 0049 QSize textSize, boxSize, editSize; 0050 }; 0051 0052 #endif // __textwidget