36 Q_DECLARE_PUBLIC(QCommonStyle)
38 inline QCommonStylePrivate() =
default;
40 ~QCommonStylePrivate()
42#if QT_CONFIG(animation)
43 for (
auto it = animations.cbegin(); it != animations.cend(); ++it)
47#if QT_CONFIG(itemviews)
52 QString calculateElidedText(
const QString &text,
const QTextOption &textOption,
53 const QFont &font,
const QRect &textRect,
const Qt::Alignment valign,
54 Qt::TextElideMode textElideMode,
int flags,
55 bool lastVisibleLineShouldBeElided, QPointF *paintStartPosition)
const;
56#if QT_CONFIG(itemviews)
57 void viewItemDrawText(QPainter *p,
const QStyleOptionViewItem *option,
const QRect &rect)
const;
58 void viewItemLayout(
const QStyleOptionViewItem *opt, QRect *checkRect,
59 QRect *pixmapRect, QRect *textRect,
bool sizehint)
const;
60 QSize viewItemSize(
const QStyleOptionViewItem *option,
int role)
const;
62 mutable QRect decorationRect, displayRect, checkRect;
63 mutable QStyleOptionViewItem *cachedOption =
nullptr;
64 bool isViewItemCached(
const QStyleOptionViewItem &option)
const {
65 return cachedOption && (option.widget == cachedOption->widget
66 && option.index == cachedOption->index
67 && option.state == cachedOption->state
68 && option.rect == cachedOption->rect
69 && option.text == cachedOption->text
70 && option.direction == cachedOption->direction
71 && option.displayAlignment == cachedOption->displayAlignment
72 && option.decorationAlignment == cachedOption->decorationAlignment
73 && option.decorationPosition == cachedOption->decorationPosition
74 && option.decorationSize == cachedOption->decorationSize
75 && option.features == cachedOption->features
76 && option.icon.isNull() == cachedOption->icon.isNull()
77 && option.font == cachedOption->font
78 && option.viewItemPosition == cachedOption->viewItemPosition
79 && option.showDecorationSelected == cachedOption->showDecorationSelected);
82#if QT_CONFIG(toolbutton)
83 QString toolButtonElideText(
const QStyleOptionToolButton *toolbutton,
84 const QRect &textRect,
int flags)
const;
87 mutable QIcon tabBarcloseButtonIcon;
89 virtual void tabLayout(
const QStyleOptionTab *opt,
const QWidget *widget, QRect *textRect, QRect *pixmapRect)
const;
92#if QT_CONFIG(animation)
93 int animationFps = 30;
94 QStyleAnimation* animation(
const QObject *target)
const;
95 void startAnimation(QStyleAnimation *animation)
const;
96 void stopAnimation(
const QObject *target)
const;
97 void removeAnimation(
const QObject *target)
const;
100 QIcon iconFromWindowsTheme(QCommonStyle::StandardPixmap standardIcon,
101 const QStyleOption *option,
102 const QWidget *widget)
const;
103 QIcon iconFromMacTheme(QCommonStyle::StandardPixmap standardIcon,
104 const QStyleOption *option,
105 const QWidget *widget)
const;
106 QIcon iconFromApplicationTheme(QCommonStyle::StandardPixmap standardIcon,
107 const QStyleOption *option,
108 const QWidget *widget)
const;
109 QIcon iconFromResourceTheme(QCommonStyle::StandardPixmap standardIcon,
110 const QStyleOption *option,
111 const QWidget *widget)
const;
112 static bool inline rtl(
const QStyleOption *option) {
113 return (option && option->direction == Qt::RightToLeft) ||
114 (!option && QGuiApplication::isRightToLeft());
117 static QStyle::PrimitiveElement arrowToPrimitiveElement(Qt::ArrowType arrowType);
118#if QT_CONFIG(animation)
120 mutable QVarLengthFlatMap<
const QObject *, QStyleAnimation *, 8> animations;