Revision control

++ // Copyright (C) 2016 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
++ // Qt-Security score:significant reason:default
++
++ #ifndef TOOL_WIDGETEDITOR_H
++ #define TOOL_WIDGETEDITOR_H
++
++ #include <QtDesigner/abstractformwindowtool.h>
++
++ #include <QtGui/qevent.h>
++ #include <QtCore/qpointer.h>
++
++ QT_BEGIN_NAMESPACE
++
++ class QAction;
++ class QMainWindow;
++
++ namespace qdesigner_internal {
++
++ class FormWindow;
++ class QDesignerMimeData;
++
++ class WidgetEditorTool: public QDesignerFormWindowToolInterface
++ {
++ Q_OBJECT
++ public:
++ explicit WidgetEditorTool(FormWindow *formWindow);
++ ~WidgetEditorTool() override;
++
++ QDesignerFormEditorInterface *core() const override;
++ QDesignerFormWindowInterface *formWindow() const override;
++ QWidget *editor() const override;
++ QAction *action() const override;
++
++ void activated() override;
++ void deactivated() override;
++
++ bool handleEvent(QWidget *widget, QWidget *managedWidget, QEvent *event) override;
++
++ bool handleContextMenu(QWidget *widget, QWidget *managedWidget, QContextMenuEvent *e);
++ bool handleMouseButtonDblClickEvent(QWidget *widget, QWidget *managedWidget, QMouseEvent *e);
++ bool handleMousePressEvent(QWidget *widget, QWidget *managedWidget, QMouseEvent *e);
++ bool handleMouseMoveEvent(QWidget *widget, QWidget *managedWidget, QMouseEvent *e);
++ bool handleMouseReleaseEvent(QWidget *widget, QWidget *managedWidget, QMouseEvent *e);
++ bool handleKeyPressEvent(QWidget *widget, QWidget *managedWidget, QKeyEvent *e);
++ bool handleKeyReleaseEvent(QWidget *widget, QWidget *managedWidget, QKeyEvent *e);
++ bool handlePaintEvent(QWidget *widget, QWidget *managedWidget, QPaintEvent *e);
++
++ bool handleDragEnterMoveEvent(QWidget *widget, QWidget *managedWidget, QDragMoveEvent *e, bool isEnter);
++ bool handleDragLeaveEvent(QWidget *widget, QWidget *managedWidget, QDragLeaveEvent *e);
++ bool handleDropEvent(QWidget *widget, QWidget *managedWidget, QDropEvent *e);
++
++ private:
++ bool restoreDropHighlighting();
++ void detectDockDrag(const QDesignerMimeData *mimeData);
++
++ FormWindow *m_formWindow;
++ QAction *m_action;
++
++ bool mainWindowSeparatorEvent(QWidget *widget, QEvent *event);
++ bool isPassiveInteractor(QWidget *widget, QEvent *event);
++ QPointer<QMainWindow> m_separator_drag_mw;
++ QPointer<QWidget> m_lastDropTarget;
++ bool m_specialDockDrag;
++ };
++
++ } // namespace qdesigner_internal
++
++ QT_END_NAMESPACE
++
++ #endif // TOOL_WIDGETEDITOR_H