![]() |
Qt 6.x
The Qt SDK
|
The QWindowsVistaStyle class provides a look and feel suitable for applications on Microsoft Windows Vista. More...
#include <qwindowsvistastyle_p.h>
Public Member Functions | |
QWindowsVistaStyle () | |
Constructs a QWindowsVistaStyle object. | |
~QWindowsVistaStyle () override | |
Destructor. | |
void | drawPrimitive (PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget=nullptr) const override |
void | drawControl (ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override |
void | drawComplexControl (ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget) const override |
QSize | sizeFromContents (ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const override |
QRect | subElementRect (SubElement element, const QStyleOption *option, const QWidget *widget) const override |
QRect | subControlRect (ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc, const QWidget *widget) const override |
SubControl | hitTestComplexControl (ComplexControl control, const QStyleOptionComplex *option, const QPoint &pos, const QWidget *widget=nullptr) const override |
QIcon | standardIcon (StandardPixmap standardIcon, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override |
\reimp | |
QPixmap | standardPixmap (StandardPixmap standardPixmap, const QStyleOption *opt, const QWidget *widget=nullptr) const override |
int | pixelMetric (PixelMetric metric, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override |
int | styleHint (StyleHint hint, const QStyleOption *opt=nullptr, const QWidget *widget=nullptr, QStyleHintReturn *returnData=nullptr) const override |
void | polish (QWidget *widget) override |
void | unpolish (QWidget *widget) override |
void | polish (QPalette &pal) override |
void | polish (QApplication *app) override |
Friends | |
class | QStyleFactory |
The QWindowsVistaStyle class provides a look and feel suitable for applications on Microsoft Windows Vista.
\inmodule QtWidgets
Definition at line 24 of file qwindowsvistastyle_p.h.
QWindowsVistaStyle::QWindowsVistaStyle | ( | ) |
Constructs a QWindowsVistaStyle object.
Definition at line 1326 of file qwindowsvistastyle.cpp.
|
overridedefault |
Destructor.
|
override |
see drawPrimitive for comments on the animation support
Definition at line 3296 of file qwindowsvistastyle.cpp.
References QStyleOptionComplex::activeSubControls, QRect::adjust(), QRect::adjusted(), Qt::AlignCenter, Qt::AlignLeft, Qt::AlignVCenter, QVarLengthArray< T, Prealloc >::append(), QRect::bottom(), button, canAnimate(), QRect::center(), clonedAnimationStyleOption(), QWindowsVistaStylePrivate::ComboboxTheme, QVarLengthArray< T, Prealloc >::constData(), createAnimationBuffer(), d, deleteClonedAnimationStyleOption(), QPainter::drawLine(), QPainter::drawLines(), QPainter::drawText(), QWindowsVistaStylePrivate::EditTheme, QWindowsThemeData::handle(), QStyleOptionToolButton::HasMenu, QRect::height(), Qt::Horizontal, iconSize, isActive, QWidget::isActiveWindow, QVarLengthArray< T, Prealloc >::isEmpty(), QSizeF::isEmpty(), QWidget::isEnabled(), QWindowsThemeData::isValid(), QRect::left(), QStyleOptionToolButton::MenuButtonPopup, QWindowsThemeData::mirrorHorizontally, QWindowsThemeData::noContent, QWindowsVistaAnimation::paint(), painter, QWindowsThemeData::partId, pixelMetric(), QStyle::PM_MenuButtonIndicator, populateTitleBarButtonTheme(), pos, QObject::property(), proxy, Q_UNLIKELY, qMin(), qRgb(), QWindowsThemeData::rect, QStyleOption::rect, QPainter::restore(), QRect::right(), Qt::RightToLeft, QPainter::save(), QStyle::SC_MdiMinButton, QWindowsVistaStylePrivate::ScrollBarTheme, QPainter::setClipRect(), QPainter::setPen(), QObject::setProperty(), QWindowsThemeData::size(), QVLABaseBase::size(), QStyle::sliderPositionFromValue(), QWindowsVistaStylePrivate::SpinTheme, state, QStyleOption::state, QStyle::State_Active, QWindowsThemeData::stateId, QAbstractSpinBox::StepDownEnabled, QAbstractSpinBox::StepUpEnabled, styleObject(), sub, subControlRect(), SubControls, subElementRect(), QWidget::testAttribute(), Qt::TextSingleLine, QSlider::TicksAbove, QSlider::TicksBelow, QSlider::TicksLeft, QSlider::TicksRight, TMT_TEXTSHADOWCOLOR, QVariant::toInt(), QWindowsVistaStylePrivate::ToolBarTheme, QRect::top(), QRect::topLeft(), QVariant::toRect(), QWindowsVistaStylePrivate::TrackBarTheme, QPainter::translate(), TST_NONE, QRect::united(), QWindowsVistaStylePrivate::useVista(), Qt::WA_UnderMouse, widget, QRect::width(), Qt::WindowContextHelpButtonHint, Qt::WindowMaximizeButtonHint, Qt::WindowMaximized, Qt::WindowMinimizeButtonHint, Qt::WindowMinimized, Qt::WindowShadeButtonHint, Qt::WindowSystemMenuHint, QWindowsVistaStylePrivate::WindowTheme, QPoint::x(), QRect::x(), QPoint::y(), and QRect::y().
|
override |
see drawPrimitive for comments on the animation support
Definition at line 2347 of file qwindowsvistastyle.cpp.
References QIcon::Active, QPalette::Active, QRect::adjust(), QRect::adjusted(), Qt::AlignBottom, Qt::AlignCenter, Qt::AlignLeft, alignment, Qt::AlignVCenter, QPalette::All, alphaGradient(), QString::arg(), begin(), QColor::blue(), QMarginsF::bottom(), QRect::bottom(), Qt::BottomLeftCorner, Qt::BottomRightCorner, BP_COMMANDLINK, btn, button, QPalette::Button, buttonStateId(), QPalette::ButtonText, QWindowsVistaStylePrivate::ButtonTheme, QIcon::cacheKey(), canAnimate(), QRect::center(), clonedAnimationStyleOption(), QPalette::color(), QStyleOptionButton::CommandLinkButton, QPainter::CompositionMode_SourceIn, createAnimationBuffer(), QOperatingSystemVersion::current(), d, QPalette::Dark, QColor::darker(), QStyleOptionButton::DefaultButton, QStyleOptionMenuItem::DefaultItem, deleteClonedAnimationStyleOption(), QPainter::device(), QPaintDevice::devicePixelRatio(), QIcon::Disabled, disabled, QStyleHelper::dpiScaled(), dpr(), QCommonStyle::drawControl(), QPainter::drawPixmap(), QPainter::drawRect(), QPainter::drawText(), QFontMetrics::elidedText(), Qt::ElideRight, QPainter::end(), QPainter::eraseRect(), QStyleOptionMenuItem::Exclusive, QStyleOptionButton::features, fill(), QPainter::fillRect(), QPixmapCache::find(), QStyleOptionButton::Flat, QPainter::font(), font, QPainter::fontMetrics(), QImage::Format_ARGB32, QPixmap::fromImage(), QString::fromLatin1(), QColor::green(), QWindowsThemeData::handle(), QStyleOptionButton::HasMenu, header(), QWindowsVistaStylePrivate::HeaderTheme, QRect::height(), QSize::height(), QPalette::Highlight, QPalette::HighlightedText, Qt::Horizontal, QPixmapCache::insert(), isActive, QDockWidget::isFloating(), QPixmap::isNull(), QWindowsThemeData::isValid(), QWidget::isWindow(), QMarginsF::left(), QRect::left(), Qt::LeftToRight, QWindowsThemeData::margins(), QWindowsVistaStylePrivate::MenuTheme, QWindowsThemeData::mirrorHorizontally, QWindowsThemeData::mirrorVertically, QRect::moveCenter(), QRect::moveTop(), QStyleOptionHeader::None, QIcon::Normal, QStyleOptionMenuItem::NotCheckable, QIcon::Off, QIcon::On, p1, p2, QWindowsVistaAnimation::paint(), QWindowsThemeData::painter, painter, palette, QWidget::palette, QWindowsThemeData::partId, QPainter::pen(), pix, QIcon::pixmap(), pixmap, QStyle::PM_DockWidgetTitleMargin, QWindowsVistaStylePrivate::ProgressTheme, QObject::property(), proxy, qMax(), qMin(), qRgb(), qRound(), QWindowsThemeData::rect, rect, QStyleOption::rect, QColor::red(), QPainter::restore(), QSize::rheight(), QMarginsF::right(), QRect::right(), Qt::RightToLeft, QPainter::rotate(), QWindowsThemeData::rotate, QTabBar::RoundedEast, QTabBar::RoundedNorth, QTabBar::RoundedSouth, QTabBar::RoundedWest, QPainter::save(), QStyleOptionMenuItem::Separator, QFont::setBold(), QPainter::setBrush(), QPainter::setClipRect(), QPalette::setColor(), QGradient::setColorAt(), QPainter::setCompositionMode(), QStyleAnimation::setDuration(), QBlendStyleAnimation::setEndImage(), QPainter::setFont(), QRect::setHeight(), QSize::setHeight(), QPainter::setPen(), QObject::setProperty(), QBlendStyleAnimation::setStartImage(), QStyleAnimation::setStartTime(), QRect::setWidth(), QSize::setWidth(), QAbstractItemView::SingleSelection, QWindowsThemeData::size(), QRect::size(), QStyle::SP_TitleBarCloseButton, QStyle::SP_TitleBarMaxButton, state, QStyleOption::state, QStyle::State_Horizontal, QWindowsThemeData::stateId, QWindowsVistaStylePrivate::StatusTheme, styleHint(), styleObject(), subElementRect(), QStyleOptionMenuItem::SubMenu, QWindowsVistaStylePrivate::TabTheme, QPalette::Text, Qt::TextDontClip, Qt::TextHideMnemonic, textRect, Qt::TextShowMnemonic, Qt::TextSingleLine, TMT_TEXTSHADOWCOLOR, QVariant::toBool(), QVariant::toInt(), QWindowsVistaStylePrivate::ToolBarTheme, QMarginsF::top(), QRect::topLeft(), Qt::TopLeftCorner, QRect::topRight(), Qt::TopRightCorner, QVariant::toRect(), QPainter::translate(), Qt::transparent, TST_NONE, QWindowsVistaStylePrivate::useVista(), Qt::Vertical, view, QStyle::visualPos(), visualRect(), QStyle::visualRect(), widget, QPixmap::width(), QRect::width(), QSize::width(), QPalette::Window, QGuiApplication::windowIcon, QWidget::windowIcon, QOperatingSystemVersion::Windows11, windowsArrowHMargin, windowsItemFrame, windowsItemHMargin, windowsItemVMargin, windowsRightBorder, QPalette::WindowText, and QWindowsVistaStylePrivate::WindowTheme.
|
override |
Animations are used for some state transitions on specific widgets.
Only one running animation can exist for a widget at any specific time. Animations can be added through QWindowsVistaStylePrivate::startAnimation(Animation *) and any existing animation on a widget can be retrieved with QWindowsVistaStylePrivate::widgetAnimation(Widget *).
Once an animation has been started, QWindowsVistaStylePrivate::timerEvent(QTimerEvent *) will continuously call update() on the widget until it is stopped, meaning that drawPrimitive will be called many times until the transition has completed. During this time, the result will be retrieved by the Animation::paint(...) function and not by the style itself.
To determine if a transition should occur, the style needs to know the previous state of the widget as well as the current one. This is solved by updating dynamic properties on the widget every time the function is called.
Transitions interrupting existing transitions should always be smooth, so whenever a hover-transition is started on a pulsating button, it uses the current frame of the pulse-animation as the starting image for the hover transition.
Definition at line 1366 of file qwindowsvistastyle.cpp.
References QRect::adjusted(), QString::arg(), QPalette::Base, QPalette::brush(), QPainter::brushOrigin(), btn, button, QPalette::Button, buttonStateId(), QWindowsVistaStylePrivate::ButtonTheme, canAnimate(), clonedAnimationStyleOption(), createAnimationBuffer(), d, QStyleOptionButton::DefaultButton, deleteClonedAnimationStyleOption(), Qt::Dense4Pattern, QPalette::Disabled, QPainter::drawLine(), QPainter::drawPixmap(), QPainter::drawRect(), QWindowsVistaStylePrivate::EditTheme, QStyleOptionButton::features, fill(), QPainter::fillRect(), QPixmapCache::find(), QObject::findChild(), QStyleOptionFrame::Flat, frame, QString::fromLatin1(), QWidget::geometry, QWindowsThemeData::handle(), header(), QWindowsVistaStylePrivate::HeaderTheme, QRect::height(), QSize::height(), if(), QPalette::Inactive, QObject::inherits(), QPixmapCache::insert(), QWindowsVistaStylePrivate::isItemViewDelegateLineEdit(), QWindowsVistaStylePrivate::isLineEditBaseColorSet(), QWindowsThemeData::isValid(), LISS_HOT, LISS_HOTSELECTED, LISS_SELECTED, LISS_SELECTEDNOTFOCUS, QWindowsVistaStylePrivate::MenuTheme, QWindowsThemeData::mirrorHorizontally, QWindowsThemeData::mirrorVertically, Qt::NoBrush, QWindowsThemeData::noContent, QPalette::Normal, QAbstractItemView::NoSelection, p1, p2, QWindowsVistaAnimation::paint(), painter, QWidget::palette, panel, QWidget::parentWidget(), QWindowsThemeData::partId, QPainter::pen(), pixmap, QObject::property(), proxy, qDrawWinButton(), qMax(), qRgb(), qRound(), QWindowsVistaStylePrivate::RebarTheme, QWindowsThemeData::rect, rect, QWidget::rect, QPainter::restore(), Qt::RightToLeft, QTabBar::RoundedEast, QTabBar::RoundedNorth, QTabBar::RoundedSouth, QTabBar::RoundedWest, QPainter::save(), QStyle::SE_ItemViewItemFocusRect, QAbstractItemView::SelectRows, QRect::setBottom(), QPainter::setBrush(), QPainter::setBrushOrigin(), QPainter::setClipRect(), QPainter::setClipRegion(), QStyleAnimation::setDuration(), QBlendStyleAnimation::setEndImage(), QPainter::setPen(), QObject::setProperty(), QBlendStyleAnimation::setStartImage(), QStyleAnimation::setStartTime(), QRect::setTop(), QSize::setWidth(), QWindowsThemeData::size(), QRect::size(), QStyleOptionHeader::SortDown, state, QStyleOption::state, QStyle::State_Active, QStyle::State_Enabled, QStyle::State_MouseOver, QStyle::State_Open, QStyle::State_Selected, QWindowsThemeData::stateId, QWindowsVistaStylePrivate::StatusTheme, styleObject(), QStyleOption::styleObject, subElementRect(), supportsStateTransition(), QWindowsVistaStylePrivate::TabTheme, QWindowsVistaStylePrivate::TaskDialogTheme, QVariant::toInt(), QWindowsVistaStylePrivate::ToolBarTheme, QWindowsVistaStylePrivate::ToolTipTheme, QRect::top(), QRect::topLeft(), QRect::topRight(), QVariant::toRect(), Qt::transparent, QTabBar::TriangularEast, QTabBar::TriangularNorth, QTabBar::TriangularSouth, QTabBar::TriangularWest, QWindowsVistaStylePrivate::useVista(), view, QWindowsVistaStylePrivate::VistaTreeViewTheme, widget, QRect::width(), QSize::width(), QWindowsVistaStylePrivate::WindowTheme, QRect::x(), and QRect::y().
|
override |
Definition at line 4524 of file qwindowsvistastyle.cpp.
|
override |
Definition at line 4533 of file qwindowsvistastyle.cpp.
References QStyleHelper::dpiScaled(), QWindowsVistaStylePrivate::fixedPixelMetric(), QWindowsVistaStylePrivate::pixelMetricFromSystemDp(), qRound(), ret, QTabBar::RoundedEast, QTabBar::RoundedNorth, QTabBar::RoundedSouth, QTabBar::RoundedWest, QTabBar::TriangularEast, QTabBar::TriangularNorth, QTabBar::TriangularSouth, QTabBar::TriangularWest, QWindowsVistaStylePrivate::useVista(), and widget.
Referenced by drawComplexControl(), and sizeFromContents().
|
override |
Definition at line 4840 of file qwindowsvistastyle.cpp.
References app, Qt::Dark, QApplication::palette(), qApp, QPalette::resolveMask(), and QApplication::setPalette().
Definition at line 4803 of file qwindowsvistastyle.cpp.
References QPalette::AlternateBase, QPalette::base(), QWindowsVistaStylePrivate::ButtonTheme, QPixmapCache::clear(), QBrush::color(), QGuiApplicationPrivate::colorScheme(), d, Qt::Dark, QColor::darker(), QWindowsThemeData::handle(), QGuiApplicationPrivate::platformIntegration(), qRgb(), and QPalette::setBrush().
Definition at line 4623 of file qwindowsvistastyle.cpp.
References QPalette::All, QPalette::BrightText, QPalette::ButtonText, QObject::findChild(), QWidget::font, QColor::fromRgb(), QObject::inherits(), list, QWidget::palette, QT_CONFIG, QWidget::setAttribute(), QPalette::setColor(), QWidget::setContentsMargins(), QFont::setFamilies(), QWidget::setFont(), QWidget::setPalette(), QObject::setProperty(), QWidget::setWindowOpacity(), QPalette::ToolTipText, QWindowsVistaStylePrivate::useVista(), Qt::WA_Hover, Qt::WA_StyledBackground, widget, and QWindowsVistaStylePrivate::winId().
|
override |
Definition at line 4044 of file qwindowsvistastyle.cpp.
References QMarginsF::bottom(), QWindowsVistaStylePrivate::ButtonTheme, QStyleHelper::dpiScaled(), QSize::height(), QSize::isEmpty(), QMarginsF::isNull(), QWindowsThemeData::isValid(), QMarginsF::left(), QWindowsThemeData::margins(), QWindowsVistaStylePrivate::MenuTheme, QStyleOptionHeader::None, QWindowsThemeData::partId, pixelMetric(), QStyle::PM_ScrollBarExtent, proxy, qMax(), qRound(), QSize::rheight(), QMarginsF::right(), QSize::rwidth(), QStyleOptionMenuItem::Separator, QSize::setHeight(), QSize::setWidth(), QWindowsThemeData::size(), QWindowsThemeData::stateId, QMarginsF::top(), QWindowsVistaStylePrivate::useVista(), widget, and windowsItemHMargin.
|
override |
\reimp
Definition at line 4906 of file qwindowsvistastyle.cpp.
References QIcon::Active, QIcon::addPixmap(), BP_COMMANDLINKGLYPH, QWindowsVistaStylePrivate::ButtonTheme, CBS_INACTIVE, CMDLGS_DISABLED, CMDLGS_HOT, CMDLGS_NORMAL, CMDLGS_PRESSED, d, QIcon::Disabled, QPixmap::fill(), QWindowsThemeData::isValid(), QWidget::isWindow(), MAXBS_INACTIVE, QIcon::Normal, QIcon::Off, QIcon::On, QWindowsThemeData::painter, QWindowsThemeData::partId, RBS_INACTIVE, QWindowsThemeData::rect, QWindowsThemeData::size(), standardIcon(), QWindowsThemeData::stateId, QSizeF::toSize(), Qt::transparent, QWindowsVistaStylePrivate::useVista(), widget, and QWindowsVistaStylePrivate::WindowTheme.
Referenced by standardIcon().
|
override |
Definition at line 4875 of file qwindowsvistastyle.cpp.
References QWindowsThemeData::isValid(), QWidget::isWindow(), QIcon::pixmap(), QWindowsThemeData::size(), standardPixmap(), QWindowsVistaStylePrivate::useVista(), widget, and QWindowsVistaStylePrivate::WindowTheme.
Referenced by standardPixmap().
|
override |
Definition at line 2242 of file qwindowsvistastyle.cpp.
References Qt::AlignHCenter, Qt::AlignTop, QPalette::Base, d, hint(), QWidget::isEnabled(), proxy, ret, QRect::setHeight(), QWindowsVistaStylePrivate::ToolTipTheme, widget, Qt::WindowMinimized, and QWindowsVistaStylePrivate::WindowTheme.
Referenced by drawControl().
|
override |
Definition at line 4310 of file qwindowsvistastyle.cpp.
References buttonVisible(), cb, QStyleHelper::dpiScaled(), iconSize, leftOffset, proxy, Q_FALLTHROUGH, qRound(), rect, QWindowsVistaStylePrivate::useVista(), visualRect(), widget, Qt::WindowContextHelpButtonHint, Qt::WindowMaximizeButtonHint, Qt::WindowMaximized, Qt::WindowMinimizeButtonHint, Qt::WindowMinimized, Qt::WindowShadeButtonHint, and Qt::WindowSystemMenuHint.
Referenced by drawComplexControl().
|
override |
Definition at line 4157 of file qwindowsvistastyle.cpp.
References btn, QStyleOptionButton::DefaultButton, QStyleOptionButton::features, header(), QWindowsVistaStylePrivate::HeaderTheme, QWindowsThemeData::isValid(), QStyleOptionHeader::None, QStyle::PM_HeaderMargin, proxy, qRound(), rect, Qt::RightToLeft, QTabBar::RoundedEast, QTabBar::RoundedNorth, QTabBar::RoundedSouth, QStyle::SE_ItemViewItemDecoration, QStyle::SE_ItemViewItemText, QRect::setRect(), QWindowsThemeData::size(), subElementRect(), QCommonStyle::subElementRect(), textRect, TMT_CONTENTMARGINS, QRect::united(), QWindowsVistaStylePrivate::useVista(), visualRect(), widget, and QWindowsVistaStylePrivate::winId().
Referenced by drawComplexControl(), drawControl(), drawPrimitive(), and subElementRect().
Definition at line 4714 of file qwindowsvistastyle.cpp.
References d, QFont::families(), QObject::findChild(), font, QApplication::font(), QWidget::font, newState(), QT_CONFIG, QWidget::setAttribute(), QWidget::setContentsMargins(), QFont::setFamilies(), QWidget::setFont(), QWidget::setWindowOpacity(), QWindowsVistaStylePrivate::useVista(), Qt::WA_Hover, Qt::WA_StyledBackground, and widget.
|
friend |
Definition at line 66 of file qwindowsvistastyle_p.h.