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

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 __multicontainerwidget
0008 #define __multicontainerwidget
0009 
0010 #include "regexpwidget.h"
0011 
0012 #include <QList>
0013 
0014 /**
0015    Abstract RegExp widget class representing widgets having multiple children.
0016    @internal
0017 */
0018 class MultiContainerWidget : public RegExpWidget
0019 {
0020 public:
0021     explicit MultiContainerWidget(RegExpEditorWindow *editorWindow, QWidget *parent = nullptr);
0022     bool hasSelection() const override;
0023     void clearSelection() override;
0024     void deleteSelection() override;
0025     void addNewChild(DragAccepter *accepter, RegExpWidget *child) override;
0026     bool updateSelection(bool parentSelected) override;
0027     QRect selectionRect() const override;
0028     RegExpWidget *widgetUnderPoint(QPointF globalPos, bool justVisibleWidgets) override;
0029     RegExpWidget *findWidgetToEdit(QPointF globalPos) override;
0030     void selectWidget(bool sel) override;
0031     void updateAll() override;
0032     void updateCursorRecursively() override;
0033 
0034 protected:
0035     void append(RegExpWidget *child);
0036     QList<RegExpWidget *> _children;
0037 };
0038 
0039 #endif // __multicontainerwidget