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 TABORDEREDITOR_H
++ #define TABORDEREDITOR_H
++
++ #include "tabordereditor_global.h"
++
++ #include <QtCore/qpointer.h>
++ #include <QtWidgets/qwidget.h>
++ #include <QtGui/qregion.h>
++ #include <QtGui/qfont.h>
++ #include <QtGui/qfontmetrics.h>
++
++ QT_BEGIN_NAMESPACE
++
++ class QUndoStack;
++ class QDesignerFormWindowInterface;
++
++ namespace qdesigner_internal {
++
++ class QT_TABORDEREDITOR_EXPORT TabOrderEditor : public QWidget
++ {
++ Q_OBJECT
++
++ public:
++ TabOrderEditor(QDesignerFormWindowInterface *form, QWidget *parent);
++
++ QDesignerFormWindowInterface *formWindow() const;
++
++ public slots:
++ void setBackground(QWidget *background);
++ void updateBackground();
++ void widgetRemoved(QWidget*);
++ void initTabOrder();
++
++ private slots:
++ void showTabOrderDialog();
++
++ protected:
++ void paintEvent(QPaintEvent *e) override;
++ void mouseMoveEvent(QMouseEvent *e) override;
++ void mousePressEvent(QMouseEvent *e) override;
++ void mouseDoubleClickEvent(QMouseEvent *e) override;
++ void contextMenuEvent(QContextMenuEvent *e) override;
++ void resizeEvent(QResizeEvent *e) override;
++ void showEvent(QShowEvent *e) override;
++
++ private:
++ QRect indicatorRect(int index) const;
++ int widgetIndexAt(QPoint pos) const;
++ bool skipWidget(QWidget *w) const;
++
++ QPointer<QDesignerFormWindowInterface> m_form_window;
++
++ QWidgetList m_tab_order_list;
++
++ QWidget *m_bg_widget;
++ QUndoStack *m_undo_stack;
++ QRegion m_indicator_region;
++
++ QFontMetrics m_font_metrics;
++ int m_current_index;
++ bool m_beginning;
++ };
++
++ } // namespace qdesigner_internal
++
++ QT_END_NAMESPACE
++
++ #endif