File indexing completed on 2024-04-21 05:51:39

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 __singlecontainer
0008 #define __singlecontainer
0009 
0010 #include "regexpwidget.h"
0011 
0012 /**
0013    Abstract class representing RegExp widgets having a single child.
0014 */
0015 class SingleContainerWidget : public RegExpWidget
0016 {
0017     Q_OBJECT
0018 
0019 public:
0020     explicit SingleContainerWidget(RegExpEditorWindow *editorWindow, QWidget *parent);
0021 
0022     bool updateSelection(bool parentSelected) override;
0023     bool hasSelection() const override;
0024     void clearSelection() override;
0025     void deleteSelection() override;
0026     void applyRegExpToSelection(RegExpType type) override;
0027     RegExp *selection() const override;
0028     bool validateSelection() const override;
0029     QRect selectionRect() const override;
0030     RegExpWidget *widgetUnderPoint(QPointF globalPos, bool justVisibleWidgets) override;
0031     RegExpWidget *findWidgetToEdit(QPointF globalPos) override;
0032     void setConcChild(ConcWidget *child) override;
0033     void selectWidget(bool sel) override;
0034     void updateAll() override;
0035     void updateCursorRecursively() override;
0036 
0037 protected:
0038     ConcWidget *_child = nullptr;
0039 };
0040 
0041 #endif // __singlecontainer