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