5#ifndef DEFAULT_ACTIONPROVIDER_H
6#define DEFAULT_ACTIONPROVIDER_H
10#include <extensionfactory_p.h>
12#include <QtWidgets/qmenu.h>
13#include <QtWidgets/qmenubar.h>
14#include <QtWidgets/qtoolbar.h>
18namespace qdesigner_internal {
25 explicit ActionProviderBase(QWidget *widget);
28 void adjustIndicator(
const QPoint &pos) override;
29 virtual Qt::Orientation orientation()
const = 0;
32 virtual QRect indicatorGeometry(
const QPoint &pos, Qt::LayoutDirection layoutDirection)
const;
41 Q_INTERFACES(QDesignerActionProviderExtension)
43 explicit QToolBarActionProvider(QToolBar *widget, QObject *parent =
nullptr);
45 QRect actionGeometry(QAction *action)
const override;
46 QAction *actionAt(
const QPoint &pos)
const override;
47 Qt::Orientation orientation()
const override;
50 QRect indicatorGeometry(
const QPoint &pos, Qt::LayoutDirection layoutDirection)
const override;
59 Q_INTERFACES(QDesignerActionProviderExtension)
61 explicit QMenuBarActionProvider(QMenuBar *widget, QObject *parent =
nullptr);
63 QRect actionGeometry(QAction *action)
const override;
64 QAction *actionAt(
const QPoint &pos)
const override;
65 Qt::Orientation orientation()
const override;
74 Q_INTERFACES(QDesignerActionProviderExtension)
76 explicit QMenuActionProvider(QMenu *widget, QObject *parent =
nullptr);
78 QRect actionGeometry(QAction *action)
const override;
79 QAction *actionAt(
const QPoint &pos)
const override;
80 Qt::Orientation orientation()
const override;
86using QToolBarActionProviderFactory = ExtensionFactory<QDesignerActionProviderExtension, QToolBar, QToolBarActionProvider>;
87using QMenuBarActionProviderFactory = ExtensionFactory<QDesignerActionProviderExtension, QMenuBar, QMenuBarActionProvider>;
88using QMenuActionProviderFactory = ExtensionFactory<QDesignerActionProviderExtension, QMenu, QMenuActionProvider>;
Combined button and popup list for selecting options.
Auxiliary methods to store/retrieve settings.
static QRect verticalIndicatorRect(const QRect &rect)
static QRect horizontalIndicatorRect(const QRect &rect, Qt::LayoutDirection layoutDirection)