36 Q_DECLARE_PUBLIC(QCommonStyle)
38 inline QCommonStylePrivate() :
39#if QT_CONFIG(itemviews)
40 cachedOption(
nullptr),
45 ~QCommonStylePrivate()
47#if QT_CONFIG(animation)
48 qDeleteAll(animations);
50#if QT_CONFIG(itemviews)
55 QString calculateElidedText(
const QString &text,
const QTextOption &textOption,
56 const QFont &font,
const QRect &textRect,
const Qt::Alignment valign,
57 Qt::TextElideMode textElideMode,
int flags,
58 bool lastVisibleLineShouldBeElided, QPointF *paintStartPosition)
const;
59#if QT_CONFIG(itemviews)
60 void viewItemDrawText(QPainter *p,
const QStyleOptionViewItem *option,
const QRect &rect)
const;
61 void viewItemLayout(
const QStyleOptionViewItem *opt, QRect *checkRect,
62 QRect *pixmapRect, QRect *textRect,
bool sizehint)
const;
63 QSize viewItemSize(
const QStyleOptionViewItem *option,
int role)
const;
65 mutable QRect decorationRect, displayRect, checkRect;
66 mutable QStyleOptionViewItem *cachedOption;
67 bool isViewItemCached(
const QStyleOptionViewItem &option)
const {
68 return cachedOption && (option.widget == cachedOption->widget
69 && option.index == cachedOption->index
70 && option.state == cachedOption->state
71 && option.rect == cachedOption->rect
72 && option.text == cachedOption->text
73 && option.direction == cachedOption->direction
74 && option.displayAlignment == cachedOption->displayAlignment
75 && option.decorationAlignment == cachedOption->decorationAlignment
76 && option.decorationPosition == cachedOption->decorationPosition
77 && option.decorationSize == cachedOption->decorationSize
78 && option.features == cachedOption->features
79 && option.icon.isNull() == cachedOption->icon.isNull()
80 && option.font == cachedOption->font
81 && option.viewItemPosition == cachedOption->viewItemPosition
82 && option.showDecorationSelected == cachedOption->showDecorationSelected);
85#if QT_CONFIG(toolbutton)
86 QString toolButtonElideText(
const QStyleOptionToolButton *toolbutton,
87 const QRect &textRect,
int flags)
const;
90 mutable QIcon tabBarcloseButtonIcon;
92 virtual void tabLayout(
const QStyleOptionTab *opt,
const QWidget *widget, QRect *textRect, QRect *pixmapRect)
const;
96#if QT_CONFIG(animation)
97 QStyleAnimation* animation(
const QObject *target)
const;
98 void startAnimation(QStyleAnimation *animation)
const;
99 void stopAnimation(
const QObject *target)
const;
100 void removeAnimation(
const QObject *target)
const;
103 QIcon iconFromWindowsTheme(QCommonStyle::StandardPixmap standardIcon,
104 const QStyleOption *option,
105 const QWidget *widget)
const;
106 QIcon iconFromMacTheme(QCommonStyle::StandardPixmap standardIcon,
107 const QStyleOption *option,
108 const QWidget *widget)
const;
109 QIcon iconFromApplicationTheme(QCommonStyle::StandardPixmap standardIcon,
110 const QStyleOption *option,
111 const QWidget *widget)
const;
112 QIcon iconFromResourceTheme(QCommonStyle::StandardPixmap standardIcon,
113 const QStyleOption *option,
114 const QWidget *widget)
const;
115 static bool inline rtl(
const QStyleOption *option) {
116 return (option && option->direction == Qt::RightToLeft) ||
117 (!option && QGuiApplication::isRightToLeft());
119#if QT_CONFIG(animation)
121 mutable QHash<
const QObject*, QStyleAnimation*> animations;