41 #include <QtWidgets/private/qtwidgetsglobal_p.h>
43 #if QT_CONFIG(spinbox)
53 #if QT_CONFIG(lineedit)
61 #if QT_CONFIG(shortcut)
62 # include "qshortcut.h"
67 #if defined(Q_OS_MACOS)
68 #include <QtCore/QMetaMethod>
69 #include <QtGui/QGuiApplication>
70 #include <qpa/qplatformnativeinterface.h>
71 #elif QT_CONFIG(style_windowsvista)
76 #include "private/qdialog_p.h"
104 const int MaxIterations = 100;
107 for (
int i = 0;
i < MaxIterations; ++
i) {
113 if (candidate != ancestor && ancestor->
isAncestorOf(candidate))
120 static bool objectInheritsXAndXIsCloserThanY(
const QObject *
object,
const QByteArray &classX,
136 const char property[13];
139 {
"QAbstractButton",
"checked" },
140 {
"QAbstractSlider",
"value" },
141 {
"QComboBox",
"currentIndex" },
142 {
"QDateTimeEdit",
"dateTime" },
143 {
"QLineEdit",
"text" },
144 {
"QListWidget",
"currentRow" },
145 {
"QSpinBox",
"value" },
149 static const char *changed_signal(
int which)
157 case 0:
return SIGNAL(toggled(
bool));
158 case 1:
return SIGNAL(valueChanged(
int));
159 case 2:
return SIGNAL(currentIndexChanged(
int));
162 case 5:
return SIGNAL(currentRowChanged(
int));
163 case 6:
return SIGNAL(valueChanged(
int));
205 const char *
property,
const char *changedSignal)
207 changedSignal(changedSignal)
226 for (
int i = 0;
i < propertyCount; ++
i) {
229 property = properties[
i].property;
298 #if QT_CONFIG(style_windowsvista)
300 bool vistaDisabled()
const;
316 titleLabel =
new QLabel(
this);
319 subTitleLabel =
new QLabel(
this);
323 logoLabel =
new QLabel(
this);
340 layout->
addWidget(titleLabel, 2, 1, 1, 2);
342 layout->
addWidget(logoLabel, 1, 5, 5, 1);
345 #if QT_CONFIG(style_windowsvista)
346 bool QWizardHeader::vistaDisabled()
const
348 bool styleDisabled =
false;
354 styleDisabled =
v.
isValid() &&
v.toBool();
356 return styleDisabled;
367 && QVistaHelper::vistaState() == QVistaHelper::Classic) || vistaDisabled())
375 int minColumnWidth0 = modern ?
info.topLevelMarginLeft +
info.topLevelMarginRight : 0;
376 int minColumnWidth1 = modern ?
info.topLevelMarginLeft +
info.topLevelMarginRight + 1
388 subTitleLabel->
setText(subTitle);
391 bannerPixmap = banner;
396 if (bannerPixmap.
isNull()) {
401 int delta = candidateSubTitleWidth >> 1;
404 <= desiredSubTitleHeight)
405 candidateSubTitleWidth -= delta;
409 subTitleLabel->
setMinimumSize(candidateSubTitleWidth, desiredSubTitleHeight);
460 if (m_sideWidget ==
widget)
464 m_sideWidget->
hide();
514 emit q->completeChanged();
526 #if QT_CONFIG(style_windowsvista)
530 , wizardPrivate(wizardPrivate) {}
571 #if QT_CONFIG(style_windowsvista)
572 bool vistaDisabled()
const;
574 bool handleAeroStyleChange();
584 static QPixmap findDefaultBackgroundPixmap();
636 #if QT_CONFIG(style_windowsvista)
637 QVistaHelper *vistaHelper =
nullptr;
638 # if QT_CONFIG(shortcut)
641 bool vistaInitPending =
true;
642 QVistaHelper::VistaState vistaState = QVistaHelper::Dirty;
643 bool vistaStateChanged =
false;
644 bool inHandleAeroStyleChange =
false;
654 #if !QT_CONFIG(style_windowsvista)
694 #if QT_CONFIG(style_windowsvista)
695 vistaHelper =
new QVistaHelper(
q);
730 q->currentPage()->hide();
736 page->d_func()->initialized =
false;
739 emit q->currentIdChanged(-1);
748 const auto idx =
it.key();
749 const auto page =
it.value()->d_func();
752 page->initialized =
false;
765 qWarning(
"QWizardPage::addField: Duplicate field '%ls'", qUtf16Printable(myField.
name));
773 myField.
page,
SLOT(_q_maybeEmitCompleteChanged()));
787 field.
page,
SLOT(_q_maybeEmitCompleteChanged()));
806 q->cleanupPage(oldId);
807 oldPage->d_func()->initialized =
false;
820 if (!newPage->d_func()->initialized) {
821 newPage->d_func()->initialized =
true;
851 candidate = nextOrFinishButton;
852 }
else if (newPage) {
853 candidate = iWantTheFocus(newPage);
856 candidate = nextOrFinishButton;
879 return SLOT(accept());
881 return SLOT(reject());
883 return SIGNAL(helpRequested());
912 info.hspacing = (layoutHorizontalSpacing == -1)
914 : layoutHorizontalSpacing;
916 info.buttonSpacing = (layoutHorizontalSpacing == -1)
918 : layoutHorizontalSpacing;
921 info.buttonSpacing = 12;
926 && (QVistaHelper::vistaState() == QVistaHelper::Classic || vistaDisabled())
937 titleText =
page->title();
938 subTitleText =
page->subTitle();
947 && !watermarkPixmap.
isNull();
964 if (
item->layout()) {
965 item->layout()->setParent(
nullptr);
983 int deltaMarginLeft =
info.topLevelMarginLeft -
info.childMarginLeft;
984 int deltaMarginRight =
info.topLevelMarginRight -
info.childMarginRight;
985 int deltaMarginTop =
info.topLevelMarginTop -
info.childMarginTop;
986 int deltaMarginBottom =
info.topLevelMarginBottom -
info.childMarginBottom;
987 int deltaVSpacing =
info.topLevelMarginBottom -
info.vspacing;
993 }
else if (
info.watermark ||
info.sideWidget) {
998 int pageColumn = qMin(1, numColumns - 1);
1010 deltaMarginRight, deltaMarginBottom);
1012 info.topLevelMarginRight,
info.topLevelMarginBottom);
1015 info.topLevelMarginRight,
info.topLevelMarginBottom);
1033 int watermarkStartRow =
row;
1045 QFont titleFont =
q->font();
1059 const int aeroTitleIndent = 25;
1093 if (
info.subTitle) {
1099 info.childMarginRight , 0);
1108 int hMargin = mac ? 1 : 0;
1109 int vMargin = hMargin;
1117 hMargin =
info.topLevelMarginLeft;
1118 vMargin = deltaMarginBottom;
1119 }
else if (classic) {
1126 int leftMargin = 18;
1127 int topMargin = vMargin;
1128 int rightMargin = hMargin;
1129 int bottomMargin = vMargin;
1144 const bool wasSemiTransparent =
1151 if (wasSemiTransparent)
1154 bool baseBackground = (modern && !
info.header);
1181 int watermarkEndRow =
row;
1190 int buttonStartColumn =
info.extension ? 1 : 0;
1191 int buttonNumColumns =
info.extension ? 1 : numColumns;
1193 if (classic || modern) {
1204 if (
info.watermark ||
info.sideWidget) {
1206 watermarkEndRow =
row;
1208 watermarkEndRow - watermarkStartRow, 1);
1246 bool expandPage = !
page->layout();
1264 if (
info.watermark ||
info.sideWidget) {
1266 if (
info.watermark) {
1280 if (
info.subTitle) {
1318 int extraHeight = 0;
1319 #if QT_CONFIG(style_windowsvista)
1321 extraHeight = vistaHelper->titleBarSize() + vistaHelper->topOffset(
q);
1329 if (
info.watermark && !
info.sideWidget) {
1353 if (
q->currentPage()) {
1435 if (
q->currentPage() && (
q->currentPage()->d_func()->buttonCustomTexts.contains(
i)))
1436 btns[
i]->
setText(
q->currentPage()->d_func()->buttonCustomTexts.value(
i));
1446 #if QT_CONFIG(shortcut) && QT_CONFIG(style_windowsvista)
1448 if (vistaNextShortcut.isNull()) {
1454 delete vistaNextShortcut;
1511 for (
int i = 0;
i <
size; ++
i) {
1544 q->updateGeometry();
1551 #if QT_CONFIG(style_windowsvista)
1552 bool QWizardPrivate::vistaDisabled()
const
1555 const QVariant v =
q->property(
"_q_wizard_vista_off");
1562 && QVistaHelper::vistaState() ==
state
1563 && !vistaDisabled();
1566 bool QWizardPrivate::handleAeroStyleChange()
1570 if (inHandleAeroStyleChange)
1577 if (
isWindow && (!
q->windowHandle() || !
q->windowHandle()->handle()))
1579 inHandleAeroStyleChange =
true;
1581 vistaHelper->disconnectBackButton();
1582 q->removeEventFilter(vistaHelper);
1584 bool vistaMargins =
false;
1587 const int topOffset = vistaHelper->topOffset(
q);
1588 const int topPadding = vistaHelper->topPadding(
q);
1591 vistaHelper->setDWMTitleBar(QVistaHelper::ExtendedTitleBar);
1592 q->installEventFilter(vistaHelper);
1594 q->setMouseTracking(
true);
1596 vistaHelper->backButton()->move(
1598 - qMin(topOffset, topPadding + 1));
1599 vistaMargins =
true;
1600 vistaHelper->backButton()->show();
1603 vistaHelper->setDWMTitleBar(QVistaHelper::NormalTitleBar);
1604 q->setMouseTracking(
true);
1606 vistaHelper->backButton()->move(0, -1);
1609 vistaHelper->setTitleBarIconAndCaptionVisible(
false);
1612 vistaHelper->backButton()->show();
1614 q->setMouseTracking(
true);
1615 #ifndef QT_NO_CURSOR
1619 vistaHelper->hideBackButton();
1621 vistaHelper->setTitleBarIconAndCaptionVisible(
true);
1626 vistaHelper->updateCustomMargins(vistaMargins);
1628 inHandleAeroStyleChange =
false;
1635 #if QT_CONFIG(style_windowsvista)
1647 q->setUpdatesEnabled(
false);
1657 q->setUpdatesEnabled(
true);
1680 bool complete =
page &&
page->isComplete();
1692 bool commitPage =
page &&
page->isCommitPage();
1693 btn.back->setVisible(backButtonVisible);
1706 if (
QPushButton *nextPush = qobject_cast<QPushButton *>(
btn.next))
1707 nextPush->setDefault(
canContinue && useDefault && !commitPage);
1708 if (
QPushButton *commitPush = qobject_cast<QPushButton *>(
btn.commit))
1709 commitPush->setDefault(
canContinue && useDefault && commitPage);
1710 if (
QPushButton *finishPush = qobject_cast<QPushButton *>(
btn.finish))
1711 finishPush->setDefault(!
canContinue && useDefault);
1713 #if QT_CONFIG(style_windowsvista)
1715 vistaHelper->backButton()->setEnabled(
btn.back->isEnabled());
1716 vistaHelper->backButton()->setVisible(backButtonVisible);
1717 btn.back->setVisible(
false);
1726 int destroyed_index = -1;
1730 if (field.
object ==
object) {
1738 if (destroyed_index != -1) {
1742 if (
index > destroyed_index) {
1763 QPixmap QWizardPrivate::findDefaultBackgroundPixmap()
1769 int at = platformNativeInterface->metaObject()->indexOfMethod(
"defaultBackgroundPixmapForQWizard()");
1772 QMetaMethod defaultBackgroundPixmapForQWizard = platformNativeInterface->metaObject()->method(
at);
1781 #if QT_CONFIG(style_windowsvista)
1784 if (wizardPrivate->isVistaThemeEnabled()) {
1785 int leftMargin, topMargin, rightMargin, bottomMargin;
1786 wizardPrivate->buttonLayout->getContentsMargins(
1787 &leftMargin, &topMargin, &rightMargin, &bottomMargin);
1788 const int buttonLayoutTop = wizardPrivate->buttonLayout->contentsRect().top() - topMargin;
1794 if (wizardPrivate->isVistaThemeEnabled(QVistaHelper::VistaBasic)) {
2212 delete d->buttonLayout;
2227 if (!
d->pageMap.isEmpty())
2228 theid =
d->pageMap.lastKey() + 1;
2248 qWarning(
"QWizard::setPage: Cannot insert null page");
2253 qWarning(
"QWizard::setPage: Cannot insert page with ID -1");
2258 qWarning(
"QWizard::setPage: Page with duplicate ID %d ignored", theid);
2265 for (
int i = 0;
i < pendingFields.
count(); ++
i)
2266 d->addField(pendingFields.
at(
i));
2267 pendingFields.
clear();
2271 d->pageMap.insert(theid,
page);
2274 int n =
d->pageVBoxLayout->count();
2277 bool pageVBoxLayoutEnabled =
d->pageVBoxLayout->isEnabled();
2278 d->pageVBoxLayout->setEnabled(
false);
2280 d->pageVBoxLayout->insertWidget(
n - 1,
page);
2284 d->pageVBoxLayout->setEnabled(pageVBoxLayoutEnabled);
2286 if (!
d->startSetByUser &&
d->pageMap.constBegin().key() == theid)
2306 if (
d->pageMap.count() > 0) {
2307 if (
d->start ==
id) {
2308 const int firstId =
d->pageMap.constBegin().key();
2309 if (firstId ==
id) {
2310 if (
d->pageMap.count() > 1)
2311 d->start = (++
d->pageMap.constBegin()).
key();
2317 d->startSetByUser =
false;
2321 if (
d->pageMap.contains(
id))
2324 if (!
d->history.contains(
id)) {
2326 removedPage =
d->pageMap.take(
id);
2327 d->updateCurrentPage();
2328 }
else if (
id !=
d->current) {
2330 removedPage =
d->pageMap.take(
id);
2331 d->history.removeOne(
id);
2332 d->_q_updateButtonStates();
2333 }
else if (
d->history.count() == 1) {
2336 removedPage =
d->pageMap.take(
id);
2337 if (
d->pageMap.isEmpty())
2338 d->updateCurrentPage();
2344 removedPage =
d->pageMap.take(
id);
2345 d->updateCurrentPage();
2349 if (removedPage->d_func()->initialized) {
2351 removedPage->d_func()->initialized =
false;
2354 d->pageVBoxLayout->removeWidget(removedPage);
2356 for (
int i =
d->fields.count() - 1;
i >= 0; --
i) {
2357 if (
d->fields.at(
i).page == removedPage) {
2358 removedPage->d_func()->pendingFields +=
d->fields.at(
i);
2359 d->removeFieldAt(
i);
2376 return d->pageMap.value(theid);
2392 return d->history.contains(theid);
2416 return d->pageMap.keys();
2432 int newStart = theid;
2434 newStart =
d->pageMap.count() ?
d->pageMap.constBegin().key() : -1;
2436 if (
d->start == newStart) {
2437 d->startSetByUser = theid != -1;
2442 qWarning(
"QWizard::setStartId: Invalid page ID %d", newStart);
2445 d->start = newStart;
2446 d->startSetByUser = theid != -1;
2466 return page(
d->current);
2498 int index =
d->fieldIndexMap.value(
name, -1);
2500 qWarning(
"QWizard::setField: No such field '%ls'", qUtf16Printable(
name));
2506 qWarning(
"QWizard::setField: Couldn't write to property '%s'",
2521 int index =
d->fieldIndexMap.value(
name, -1);
2523 qWarning(
"QWizard::field: No such field '%ls'", qUtf16Printable(
name));
2528 return field.object->property(
field.property);
2547 const bool styleChange =
style !=
d->wizStyle;
2549 #if QT_CONFIG(style_windowsvista)
2550 const bool aeroStyleChange =
2552 d->vistaStateChanged =
false;
2553 d->vistaInitPending =
false;
2561 d->disableUpdates();
2563 d->updateButtonTexts();
2564 #if QT_CONFIG(style_windowsvista)
2565 if (aeroStyleChange) {
2575 #if QT_CONFIG(style_windowsvista)
2577 if (aeroStyleChange && !
d->handleAeroStyleChange() &&
d->wizStyle ==
AeroStyle)
2578 d->vistaInitPending =
true;
2598 if (!(
d->opts &
option) != !on)
2611 return (
d->opts &
option) != 0;
2632 WizardOptions changed = (
options ^
d->opts);
2636 d->disableUpdates();
2640 d->cleanupPagesNotInHistory();
2645 d->updateButtonLayout();
2649 d->_q_updateButtonStates();
2683 if (!
d->ensureButton(which))
2686 d->buttonCustomTexts.insert(which,
text);
2689 d->btns[which]->setText(
text);
2708 if (!
d->ensureButton(which))
2711 if (
d->buttonCustomTexts.contains(which))
2712 return d->buttonCustomTexts.value(which);
2714 const QString defText = buttonDefaultText(
d->wizStyle, which,
d);
2718 return d->btns[which]->text();
2748 if (!
d->ensureButton(button1))
2752 for (
int j = 0;
j <
i; ++
j) {
2755 qWarning(
"QWizard::setButtonLayout: Duplicate button in layout");
2761 d->buttonsHaveCustomLayout =
true;
2762 d->buttonsCustomLayout =
layout;
2763 d->updateButtonLayout();
2784 d->buttonLayout->removeWidget(oldButton);
2791 d->buttonCustomTexts.insert(which,
button->
text());
2792 d->connectButton(which);
2794 d->buttonCustomTexts.remove(which);
2795 d->ensureButton(which);
2798 d->updateButtonLayout();
2809 #if QT_CONFIG(style_windowsvista)
2811 return d->vistaHelper->backButton();
2813 if (!
d->ensureButton(which))
2815 return d->btns[which];
2857 return d->subTitleFmt;
2876 d->defaultPixmaps[which] =
pixmap;
2877 d->updatePixmap(which);
2896 return d->defaultPixmaps[which];
2925 const char *changedSignal)
2928 for (
int i =
d->defaultPropertyTable.count() - 1;
i >= 0; --
i) {
2930 d->defaultPropertyTable.remove(
i);
2966 if (
d->watermarkLabel) {
2967 d->watermarkLabel->setSideWidget(
widget);
2983 return d->sideWidget;
2993 if (
d->current == -1)
3006 QSize extra(500, 360);
3007 if (
d->wizStyle ==
MacStyle &&
d->current != -1) {
3023 return result.expandedTo(extra);
3108 int n =
d->history.count() - 2;
3125 if (
d->current == -1)
3153 d->disableUpdates();
3171 #if QT_CONFIG(style_windowsvista)
3173 d->vistaInitPending =
false;
3178 if (QVistaHelper::vistaState() != QVistaHelper::Classic)
3180 d->handleAeroStyleChange();
3182 else if (
d->isVistaThemeEnabled()) {
3186 ?
width() -
d->vistaHelper->backButton()->sizeHint().width()
3189 d->vistaHelper->backButton()->move(buttonLeft,
3190 d->vistaHelper->backButton()->y());
3193 d->vistaHelper->mouseEvent(
event);
3205 int heightOffset = 0;
3206 #if QT_CONFIG(style_windowsvista)
3207 if (
d->isVistaThemeEnabled()) {
3208 heightOffset =
d->vistaHelper->topOffset(
this);
3209 if (
d->isVistaThemeEnabled(QVistaHelper::VistaAero))
3210 heightOffset +=
d->vistaHelper->titleBarSize();
3213 d->antiFlickerWidget->resize(
event->size().width(),
event->size().height() - heightOffset);
3214 #if QT_CONFIG(style_windowsvista)
3215 if (
d->isVistaThemeEnabled())
3216 d->vistaHelper->resizeEvent(
event);
3229 if (backgroundPixmap.
isNull())
3235 #if QT_CONFIG(style_windowsvista)
3236 else if (
d->isVistaThemeEnabled()) {
3237 if (
d->isVistaThemeEnabled(QVistaHelper::VistaBasic)) {
3239 QColor color =
d->vistaHelper->basicWindowFrameColor();
3242 d->vistaHelper->paintEvent(
event);
3249 #if defined(Q_OS_WIN) || defined(Q_CLANG_QDOC)
3255 #if QT_CONFIG(style_windowsvista)
3257 if (
d->isVistaThemeEnabled() && eventType ==
"windows_generic_MSG") {
3259 const bool winEventResult =
d->vistaHelper->handleWinEvent(windowsMessage,
result);
3260 if (QVistaHelper::vistaState() !=
d->vistaState) {
3263 if (windowsMessage->message == WM_GETICON) {
3264 d->vistaStateChanged =
true;
3265 d->vistaState = QVistaHelper::vistaState();
3269 return winEventResult;
3466 connect(
this,
SIGNAL(completeChanged()),
this,
SLOT(_q_updateCachedCompleteState()));
3494 if (
d->wizard &&
d->wizard->currentPage() ==
this)
3495 d->wizard->d_func()->updateLayout();
3527 if (
d->wizard &&
d->wizard->currentPage() ==
this)
3528 d->wizard->d_func()->updateLayout();
3555 if (
d->wizard &&
d->wizard->currentPage() ==
this)
3556 d->wizard->d_func()->updatePixmap(which);
3620 for (
const auto &
field : fields) {
3621 if (
field.page ==
this)
3671 for (
int i = wizardFields.
count() - 1;
i >= 0; --
i) {
3678 #if QT_CONFIG(lineedit)
3684 #if QT_CONFIG(spinbox)
3710 d->explicitlyFinal = finalPage;
3713 wizard->d_func()->updateCurrentPage();
3731 if (
d->explicitlyFinal)
3760 d->commit = commitPage;
3763 wizard->d_func()->updateCurrentPage();
3788 d->buttonCustomTexts.insert(which,
text);
3790 wizard()->d_func()->btns[which]->setText(
text);
3810 if (
d->buttonCustomTexts.contains(which))
3811 return d->buttonCustomTexts.value(which);
3842 bool foundCurrentPage =
false;
3848 for (;
i !=
end; ++
i) {
3849 if (
i.value() ==
this) {
3850 foundCurrentPage =
true;
3851 }
else if (foundCurrentPage) {
3907 return d->wizard->field(
name);
3957 const char *changedSignal)
3962 d->wizard->d_func()->addField(
field);
3964 d->pendingFields +=
field;
3982 #include "moc_qwizard.cpp"
small capitals from c petite p scientific i
[1]
The QAbstractSpinBox class provides a spinbox and a line edit to display values.
bool hasAcceptableInput() const
static QPalette palette()
void invalidate() override
int count() const override
void addWidget(QWidget *, int stretch=0, Qt::Alignment alignment=Qt::Alignment())
QLayoutItem * takeAt(int) override
void addItem(QLayoutItem *) override
void addSpacing(int size)
void addStretch(int stretch=0)
QLayoutItem * itemAt(int) const override
void insertWidget(int index, QWidget *widget, int stretch=0, Qt::Alignment alignment=Qt::Alignment())
void setSpacing(int spacing) override
The QBrush class defines the fill pattern of shapes drawn by QPainter.
const QColor & color() const
The QByteArray class provides an array of bytes.
bool isEmpty() const noexcept
The QColor class provides colors based on RGB, HSV or CMYK values.
int alpha() const noexcept
static QCoreApplication * instance()
static bool sendEvent(QObject *receiver, QEvent *event)
The QDateTime class provides date and time functions.
The QDialog class is the base class of dialog windows.
void resizeEvent(QResizeEvent *) override
void setVisible(bool visible) override
The QEvent class is the base class of all event classes. Event objects contain event parameters.
The QFont class specifies a query for a font used for drawing text.
The QFrame class is the base class of widgets that can have a frame.
void setMidLineWidth(int)
The QGridLayout class lays out widgets in a grid.
void setHorizontalSpacing(int spacing)
void addWidget(QWidget *w)
void addLayout(QLayout *, int row, int column, Qt::Alignment=Qt::Alignment())
void setRowMinimumHeight(int row, int minSize)
int count() const override
void setColumnMinimumWidth(int column, int minSize)
void setSpacing(int spacing) override
void setVerticalSpacing(int spacing)
void setRowStretch(int row, int stretch)
QLayoutItem * takeAt(int index) override
void setColumnStretch(int column, int stretch)
The QGuiApplication class manages the GUI application's control flow and main settings.
static QPlatformNativeInterface * platformNativeInterface()
QScreen * primaryScreen
the primary (or default) screen of the application.
The QHBoxLayout class lines up widgets horizontally.
The QKeySequence class encapsulates a key sequence as used by shortcuts.
The QLabel widget provides a text or image display.
int heightForWidth(int) const override
void setText(const QString &)
void setTextFormat(Qt::TextFormat)
QPixmap pixmap
the label's pixmap.
void setPixmap(const QPixmap &)
void setAlignment(Qt::Alignment)
void setWordWrap(bool on)
QSize sizeHint() const override
The QLatin1String class provides a thin wrapper around an US-ASCII/Latin-1 encoded string literal.
The QLayout class is the base class of geometry managers.
QSize totalSizeHint() const
void removeWidget(QWidget *w)
void setSizeConstraint(SizeConstraint)
QSize totalMaximumSize() const
QSize totalMinimumSize() const
virtual int count() const =0
virtual int indexOf(const QWidget *) const
void setContentsMargins(int left, int top, int right, int bottom)
The QLayoutItem class provides an abstract item that a QLayout manipulates.
virtual Qt::Orientations expandingDirections() const =0
virtual QSpacerItem * spacerItem()
The QLineEdit widget is a one-line text editor.
bool hasAcceptableInput() const
const_pointer constData() const noexcept
iterator erase(const_iterator begin, const_iterator end)
const_reference at(qsizetype i) const noexcept
void remove(qsizetype i, qsizetype n=1)
qsizetype count() const noexcept
void reserve(qsizetype size)
const T & constLast() const noexcept
void removeLast() noexcept
void append(parameter_type t)
iterator insert(const Key &key, const T &value)
T value(const Key &key, const T &defaultValue=T()) const
bool contains(const Key &key) const
size_type remove(const Key &key)
const_iterator constBegin() const
Key key(const T &value, const Key &defaultKey=Key()) const
const_iterator constEnd() const
The QMargins class defines the four margins of a rectangle.
The QObject class is the base class of all Qt objects.
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
static bool disconnect(const QObject *sender, const char *signal, const QObject *receiver, const char *member)
QVariant property(const char *name) const
void setObjectName(const QString &name)
The QPaintEvent class contains event parameters for paint events. \inmodule QtGui.
The QPainter class performs low-level painting on widgets and other paint devices.
void drawPoint(const QPointF &pt)
void setPen(const QColor &color)
void drawLine(const QLineF &line)
void drawPixmap(const QRectF &targetRect, const QPixmap &pixmap, const QRectF &sourceRect)
void fillRect(const QRectF &, const QBrush &)
The QPalette class contains color groups for each widget state.
const QBrush & brush(ColorGroup cg, ColorRole cr) const
const QBrush & mid() const
void setBrush(ColorRole cr, const QBrush &brush)
void setColor(ColorGroup cg, ColorRole cr, const QColor &color)
const QBrush & base() const
The QPen class defines how a QPainter should draw lines and outlines of shapes.
The QPixmap class is an off-screen image representation that can be used as a paint device.
QSizeF deviceIndependentSize() const
The QPointer class is a template class that provides guarded pointers to QObject.
The QResizeEvent class contains event parameters for resize events. \inmodule QtGui.
The QShortcut class is used to create keyboard shortcuts.
constexpr QSize toSize() const noexcept
The QSize class defines the size of a two-dimensional object using integer point precision.
constexpr int height() const noexcept
constexpr int width() const noexcept
constexpr void setWidth(int w) noexcept
constexpr void setHeight(int h) noexcept
The QSpacerItem class provides blank space in a layout.
void changeSize(int w, int h, QSizePolicy::Policy hData=QSizePolicy::Minimum, QSizePolicy::Policy vData=QSizePolicy::Minimum)
The QString class provides a Unicode character string.
static QString number(int, int base=10)
The QStyle class is an abstract base class that encapsulates the look and feel of a GUI.
@ PM_LayoutVerticalSpacing
@ PM_LayoutHorizontalSpacing
The QStyleOption class stores the parameters used by QStyle functions.
The QVBoxLayout class lines up widgets vertically.
The QVariant class acts like a union for the most common Qt data types.
const void * constData() const
QSize minimumSizeHint() const override
void setSideWidget(QWidget *widget)
QWatermarkLabel(QWidget *parent, QWidget *sideWidget)
QWidget * sideWidget() const
QWizardDefaultProperty(const char *className, const char *property, const char *changedSignal)
void resolve(const QList< QWizardDefaultProperty > &defaultPropertyTable)
void findProperty(const QWizardDefaultProperty *properties, int propertyCount)
The QWizard class provides a framework for wizards.
WizardOptions options
the various options that affect the look and feel of the wizard
void resizeEvent(QResizeEvent *event) override
void setWizardStyle(WizardStyle style)
void paintEvent(QPaintEvent *event) override
void setPage(int id, QWizardPage *page)
int currentId
the ID of the current page
QAbstractButton * button(WizardButton which) const
QWidget * sideWidget() const
virtual int nextId() const
void setButtonText(WizardButton which, const QString &text)
void setSubTitleFormat(Qt::TextFormat format)
QList< int > pageIds() const
QVariant field(const QString &name) const
@ NoCancelButtonOnLastPage
@ DisabledBackButtonOnLastPage
@ HaveFinishButtonOnEarlyPages
@ NoBackButtonOnStartPage
@ ExtendedWatermarkPixmap
@ HaveNextButtonOnLastPage
void setButtonLayout(const QList< WizardButton > &layout)
Qt::TextFormat subTitleFormat
the text format used by page subtitles
virtual void initializePage(int id)
QWizardPage * page(int id) const
QSize sizeHint() const override
void setOptions(WizardOptions options)
void setOption(WizardOption option, bool on=true)
WizardStyle wizardStyle
the look and feel of the wizard
virtual bool validateCurrentPage()
QWizardPage * currentPage() const
bool hasVisitedPage(int id) const
void setPixmap(WizardPixmap which, const QPixmap &pixmap)
void setSideWidget(QWidget *widget)
void done(int result) override
void setDefaultProperty(const char *className, const char *property, const char *changedSignal)
virtual void cleanupPage(int id)
QWizard(QWidget *parent=nullptr, Qt::WindowFlags flags=Qt::WindowFlags())
int addPage(QWizardPage *page)
bool testOption(WizardOption option) const
QString buttonText(WizardButton which) const
Qt::TextFormat titleFormat
the text format used by page titles
void setField(const QString &name, const QVariant &value)
QList< int > visitedIds() const
void setVisible(bool visible) override
void setButton(WizardButton which, QAbstractButton *button)
QPixmap pixmap(WizardPixmap which) const
void setTitleFormat(Qt::TextFormat format)
bool event(QEvent *event) override
int startId
the ID of the first page
QWizard::WizardStyle wizStyle
bool operator!=(const QWizardLayoutInfo &other) const
bool operator==(const QWizardLayoutInfo &other) const
The QWizardPage class is the base class for wizard pages.
QString title
the title of the page
void setFinalPage(bool finalPage)
QVariant field(const QString &name) const
void setButtonText(QWizard::WizardButton which, const QString &text)
bool isCommitPage() const
virtual void initializePage()
void registerField(const QString &name, QWidget *widget, const char *property=nullptr, const char *changedSignal=nullptr)
virtual void cleanupPage()
void setTitle(const QString &title)
void setField(const QString &name, const QVariant &value)
virtual bool validatePage()
virtual int nextId() const
void setSubTitle(const QString &subTitle)
virtual bool isComplete() const
QString buttonText(QWizard::WizardButton which) const
QWizardPage(QWidget *parent=nullptr)
QPixmap pixmap(QWizard::WizardPixmap which) const
void setPixmap(QWizard::WizardPixmap which, const QPixmap &pixmap)
QString subTitle
the subtitle of the page
void setCommitPage(bool commitPage)
QPixmap pixmaps[QWizard::NPixmaps]
void _q_maybeEmitCompleteChanged()
QList< QWizardField > pendingFields
QMap< int, QString > buttonCustomTexts
void _q_updateCachedCompleteState()
bool cachedIsComplete() const
QWizardAntiFlickerWidget * antiFlickerWidget
void setStyle(QStyle *style)
bool buttonLayoutContains(QWizard::WizardButton which)
QWizard::WizardOptions opts
QList< QWizardField > fields
void _q_updateButtonStates()
QWizardHeader * headerWidget
QWizardLayoutInfo layoutInfoForCurrentPage()
QMap< QString, int > fieldIndexMap
void connectButton(QWizard::WizardButton which) const
void removeFieldAt(int index)
QWatermarkLabel * watermarkLabel
QHBoxLayout * buttonLayout
void recreateLayout(const QWizardLayoutInfo &info)
QList< QWizard::WizardButton > buttonsCustomLayout
QList< QWizardDefaultProperty > defaultPropertyTable
void updateMinMaxSizes(const QWizardLayoutInfo &info)
void _q_emitCustomButtonClicked()
void setButtonLayout(const QWizard::WizardButton *array, int size)
bool isVistaThemeEnabled() const
QPixmap defaultPixmaps[QWizard::NPixmaps]
QMap< int, QWizardPage * > PageMap
void updatePixmap(QWizard::WizardPixmap which)
void _q_handleFieldObjectDestroyed(QObject *)
void switchToPage(int newId, Direction direction)
Qt::TextFormat subTitleFmt
void updateButtonLayout()
QVBoxLayout * pageVBoxLayout
bool ensureButton(QWizard::WizardButton which) const
QWizard::WizardStyle wizStyle
QWidget * placeholderWidget1
QWizardRuler * bottomRuler
QWidget * placeholderWidget2
bool buttonsHaveCustomLayout
void cleanupPagesNotInHistory()
QAbstractButton * btns[QWizard::NButtons]
struct QWizardPrivate::@813::@815 btn
QMap< int, QString > buttonCustomTexts
void addField(const QWizardField &field)
QWizardLayoutInfo layoutInfo
QWizardRuler(QWidget *parent=nullptr)
void textChanged(const QString &newText)
void newState(QList< State > &states, const char *token, const char *lexem, bool pre)
backing_store_ptr info
[4]
typename C::const_iterator const_iterator
set set set set set set set macro pixldst1 abits if abits op else op endif endm macro pixldst2 abits if abits op else op endif endm macro pixldst4 abits if abits op else op endif endm macro pixldst0 abits op endm macro pixldst3 mem_operand op endm macro pixldst30 mem_operand op endm macro pixldst abits if abits elseif abits elseif abits elseif abits elseif abits pixldst0 abits else pixldst0 abits pixldst0 abits pixldst0 abits pixldst0 abits endif elseif abits else pixldst0 abits pixldst0 abits endif elseif abits else error unsupported bpp *numpix else pixst endif endm macro vuzp8 reg2 vuzp d d ®2 endm macro vzip8 reg2 vzip d d ®2 endm macro pixdeinterleave basereg basereg basereg basereg basereg endif endm macro pixinterleave basereg basereg basereg basereg basereg endif endm macro PF boost_increment endif if endif PF tst PF addne PF subne PF cmp ORIG_W if endif if endif if endif PF subge ORIG_W PF subges if endif if endif if endif endif endm macro cache_preload_simple endif if dst_r_bpp pld[DST_R, #(PREFETCH_DISTANCE_SIMPLE *dst_r_bpp/8)] endif if mask_bpp pld endif[MASK, #(PREFETCH_DISTANCE_SIMPLE *mask_bpp/8)] endif endif endm macro ensure_destination_ptr_alignment process_pixblock_tail_head if beq irp skip1 beq endif SRC MASK if dst_r_bpp DST_R else add endif PF add sub src_basereg pixdeinterleave mask_basereg pixdeinterleave dst_r_basereg process_pixblock_head pixblock_size cache_preload_simple process_pixblock_tail pixinterleave dst_w_basereg irp beq endif process_pixblock_tail_head tst beq irp if pixblock_size chunk_size tst beq pixld SRC pixld MASK if DST_R else pixld DST_R endif if
Q_CORE_EXPORT int qstrcmp(const char *str1, const char *str2)
EGLOutputLayerEXT EGLint EGLAttrib value
#define QT_CONFIG(feature)
#define Q_RETURN_ARG(type, data)
GLenum GLuint GLenum GLsizei const GLchar * message
GLsizei const GLfloat * v
[13]
GLint GLint GLint GLint GLint x
[0]
GLint GLsizei GLsizei height
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLint GLint GLint GLint GLsizei GLsizei GLsizei GLboolean commit
GLint GLsizei GLsizei GLenum format
GLdouble GLdouble GLdouble GLdouble q
GLenum GLenum GLsizei void * row
Q_DECLARE_TYPEINFO(QWizardDefaultProperty, Q_RELOCATABLE_TYPE)
const int ModernHeaderTopMargin
const int MacLayoutLeftMargin
QT_BEGIN_NAMESPACE const int GapBetweenLogoAndRightEdge
const int MacLayoutBottomMargin
const int MacLayoutRightMargin
const size_t NFallbackDefaultProperties
const int MacButtonTopMargin
const char className[16]
[1]
const struct @812 fallbackProperties[]
connect(quitButton, &QPushButton::clicked, &app, &QCoreApplication::quit, Qt::QueuedConnection)
obj metaObject() -> className()
QApplication app(argc, argv)
[0]
The QLatin1Char class provides an 8-bit ASCII/Latin-1 character.
bool contains(const AT &t) const noexcept
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent