10#include <QStylePainter>
14class QxExtensionButtonPrivate
18 Qt::Orientation m_orientation;
21QxExtensionButton::QxExtensionButton(QWidget *parent)
26 d->m_orientation = Qt::Horizontal;
28 setObjectName(QLatin1String(
"qtc_qxextensionbutton"));
31 setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
32 setPopupMode(QToolButton::InstantPopup);
39 int ext = style()->pixelMetric(QStyle::PM_ToolBarExtensionExtent);
40 return QSize(ext, ext);
48 if (o == Qt::Horizontal) {
49 setIcon(style()->standardIcon(QStyle::SP_ToolBarHorizontalExtensionButton, &opt));
51 setIcon(style()->standardIcon(QStyle::SP_ToolBarVerticalExtensionButton, &opt));
58 QStylePainter p(
this);
59 QStyleOptionToolButton opt;
60 initStyleOption(&opt);
62 opt.features &= ~QStyleOptionToolButton::HasMenu;
63 p.drawComplexControl(QStyle::CC_ToolButton, opt);
69 switch (
event->type()) {
70 case QEvent::LayoutDirectionChange:
76 return QToolButton::event(
event);
#define QX_APP_END_NAMESPACE
#define QX_INIT_PRIVATE(Class)
#define QX_DECLARE_PUBLIC(Class)
#define QX_APP_BEGIN_NAMESPACE
#define QX_FINI_PRIVATE()