File indexing completed on 2024-04-14 05:44:23

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 __dragaccepter
0008 #define __dragaccepter
0009 
0010 #include "regexpwidget.h"
0011 
0012 class MultiContainerWidget;
0013 
0014 /**
0015    RegExp widget representing a "spot" in which new RegExp widgets can be inserted.
0016    @internal
0017 */
0018 class DragAccepter : public RegExpWidget
0019 {
0020     friend class MultiContainerWidget;
0021 
0022 public:
0023     DragAccepter(RegExpEditorWindow *editorWindow, RegExpWidget *parent);
0024     QSize sizeHint() const override;
0025     RegExp *regExp() const override;
0026     RegExpType type() const override
0027     {
0028         return DRAGACCEPTER;
0029     }
0030 
0031     void setDrawLine(bool drawLine)
0032     {
0033         _drawLine = drawLine;
0034     }
0035 
0036 protected:
0037     void mousePressEvent(QMouseEvent *event) override;
0038     void mouseReleaseEvent(QMouseEvent *event) override;
0039     void dragEnterEvent(QDragEnterEvent *event) override;
0040     void dropEvent(QDropEvent *event) override;
0041     void paintEvent(QPaintEvent *) override;
0042     bool acceptWidgetInsert(RegExpType) const override
0043     {
0044         return true;
0045     }
0046 
0047     bool acceptWidgetPaste() const override
0048     {
0049         return true;
0050     }
0051 
0052 private:
0053     bool _drawLine;
0054 };
0055 
0056 #endif // __dragaccepter