[63932] | 1 | /* $Id: precomp_gcc.h 104397 2024-04-22 14:01:44Z vboxsync $*/
|
---|
| 2 | /** @file
|
---|
| 3 | * VBox Qt GUI - Precompiled header for Visual C++.
|
---|
| 4 | */
|
---|
| 5 |
|
---|
| 6 | /*
|
---|
[98103] | 7 | * Copyright (C) 2016-2023 Oracle and/or its affiliates.
|
---|
[63932] | 8 | *
|
---|
[96407] | 9 | * This file is part of VirtualBox base platform packages, as
|
---|
| 10 | * available from https://www.virtualbox.org.
|
---|
| 11 | *
|
---|
| 12 | * This program is free software; you can redistribute it and/or
|
---|
| 13 | * modify it under the terms of the GNU General Public License
|
---|
| 14 | * as published by the Free Software Foundation, in version 3 of the
|
---|
| 15 | * License.
|
---|
| 16 | *
|
---|
| 17 | * This program is distributed in the hope that it will be useful, but
|
---|
| 18 | * WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
| 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
| 20 | * General Public License for more details.
|
---|
| 21 | *
|
---|
| 22 | * You should have received a copy of the GNU General Public License
|
---|
| 23 | * along with this program; if not, see <https://www.gnu.org/licenses>.
|
---|
| 24 | *
|
---|
| 25 | * SPDX-License-Identifier: GPL-3.0-only
|
---|
[63932] | 26 | */
|
---|
| 27 |
|
---|
| 28 |
|
---|
| 29 | /*
|
---|
| 30 | * General pickings
|
---|
| 31 | *
|
---|
| 32 | * Note! We do not include iprt/log.h or similar because we need to
|
---|
| 33 | * support selecting different log groups. So, for now we restrict
|
---|
[76600] | 34 | * ourselves to frequently used QT, compiler, and system headers.
|
---|
[63932] | 35 | */
|
---|
[76602] | 36 |
|
---|
| 37 | /* Some CRT stuff that's frequently used. */
|
---|
[76600] | 38 | #include <new>
|
---|
| 39 | #include <stdlib.h>
|
---|
| 40 |
|
---|
| 41 | /* The most frequently used qt headers on a linux hosts based on dependency files. */
|
---|
| 42 | #include <QtCore/qobject.h> /* 1003 */
|
---|
| 43 | #include <QtCore/qmetatype.h> /* 958 */
|
---|
| 44 | #include <QtCore/qstring.h> /* 923 */
|
---|
| 45 | #include <QtCore/qstringlist.h> /* 905 */
|
---|
| 46 | #include <QtCore/qrect.h> /* 858 */
|
---|
| 47 | #include <QtCore/qvector.h> /* 853 */
|
---|
| 48 | #include <QtCore/qmap.h> /* 849 */
|
---|
| 49 | #include <QtCore/qcoreevent.h> /* 838 */
|
---|
| 50 | #include <QtWidgets/qwidget.h> /* 826 */
|
---|
| 51 | #include <QtCore/qpair.h> /* 698 */
|
---|
| 52 | #include <QtCore/qlist.h> /* 682 */
|
---|
| 53 | #include <QtGui/qpixmap.h> /* 670 */
|
---|
| 54 | #include <QtCore/qhash.h> /* 637 */
|
---|
| 55 | #include <QtCore/qsize.h> /* 627 */
|
---|
| 56 | #include <QtCore/qglobal.h> /* 591 */
|
---|
| 57 | #include <QtCore/qvariant.h> /* 588 */
|
---|
| 58 | #include <QtCore/qversiontagging.h> /* 585 */
|
---|
| 59 | #include <QtCore/qtypeinfo.h> /* 585 */
|
---|
| 60 | #include <QtCore/qtcore-config.h> /* 585 */
|
---|
| 61 | #include <QtCore/qsystemdetection.h> /* 585 */
|
---|
| 62 | #include <QtCore/qsysinfo.h> /* 585 */
|
---|
| 63 | #include <QtCore/qstringview.h> /* 585 */
|
---|
| 64 | #include <QtCore/qstringliteral.h> /* 585 */
|
---|
| 65 | #include <QtCore/qstringalgorithms.h> /* 585 */
|
---|
| 66 | #include <QtCore/qrefcount.h> /* 585 */
|
---|
| 67 | #include <QtCore/qprocessordetection.h> /* 585 */
|
---|
| 68 | #include <QtCore/qnumeric.h> /* 585 */
|
---|
| 69 | #include <QtCore/qnamespace.h> /* 585 */
|
---|
| 70 | #include <QtCore/qlogging.h> /* 585 */
|
---|
| 71 | #include <QtCore/qglobalstatic.h> /* 585 */
|
---|
| 72 | #include <QtCore/qgenericatomic.h> /* 585 */
|
---|
| 73 | #include <QtCore/qflags.h> /* 585 */
|
---|
| 74 | #include <QtCore/qconfig.h> /* 585 */
|
---|
| 75 | #include <QtCore/qcompilerdetection.h> /* 585 */
|
---|
| 76 | #include <QtCore/qchar.h> /* 585 */
|
---|
| 77 | #include <QtCore/qbytearray.h> /* 585 */
|
---|
| 78 | #include <QtCore/qbasicatomic.h> /* 585 */
|
---|
| 79 | #include <QtCore/qatomic_cxx11.h> /* 585 */
|
---|
| 80 | #include <QtCore/qatomic.h> /* 585 */
|
---|
| 81 | #include <QtCore/qarraydata.h> /* 585 */
|
---|
| 82 | #include <QtCore/qstringmatcher.h> /* 584 */
|
---|
| 83 | #include <QtCore/qiterator.h> /* 584 */
|
---|
| 84 | #include <QtCore/qhashfunctions.h> /* 584 */
|
---|
| 85 | #include <QtCore/qbytearraylist.h> /* 584 */
|
---|
| 86 | #include <QtCore/qalgorithms.h> /* 584 */
|
---|
| 87 | #include <QtCore/qvarlengtharray.h> /* 580 */
|
---|
| 88 | #include <QtCore/qobjectdefs.h> /* 580 */
|
---|
| 89 | #include <QtCore/qcontainerfwd.h> /* 580 */
|
---|
| 90 | #include <QtCore/qscopedpointer.h> /* 577 */
|
---|
| 91 | #include <QtGui/qcolor.h> /* 574 */
|
---|
| 92 | #include <QtCore/qpoint.h> /* 549 */
|
---|
| 93 | #include <QtGui/qtransform.h> /* 546 */
|
---|
| 94 | #include <QtCore/qmargins.h> /* 544 */
|
---|
| 95 | #include <QtCore/qshareddata.h> /* 536 */
|
---|
| 96 | #include <QtGui/qimage.h> /* 532 */
|
---|
| 97 | #include <QtCore/qsharedpointer.h> /* 532 */
|
---|
| 98 | #include <QtGui/qkeysequence.h> /* 531 */
|
---|
| 99 | #include <QtGui/qcursor.h> /* 530 */
|
---|
| 100 | #include <QtCore/qiodevice.h> /* 530 */
|
---|
| 101 | #include <QtGui/qtguiglobal.h> /* 528 */
|
---|
| 102 | #include <QtGui/qtgui-config.h> /* 528 */
|
---|
| 103 | #include <QtGui/qwindowdefs.h> /* 527 */
|
---|
| 104 | #include <QtGui/qregion.h> /* 527 */
|
---|
| 105 | #include <QtGui/qrgba64.h> /* 526 */
|
---|
| 106 | #include <QtGui/qrgb.h> /* 526 */
|
---|
| 107 | #include <QtGui/qpolygon.h> /* 526 */
|
---|
| 108 | #include <QtGui/qpixelformat.h> /* 526 */
|
---|
| 109 | #include <QtGui/qpainterpath.h> /* 526 */
|
---|
| 110 | #include <QtGui/qpaintdevice.h> /* 526 */
|
---|
| 111 | #include <QtGui/qmatrix.h> /* 526 */
|
---|
| 112 | #include <QtCore/qline.h> /* 526 */
|
---|
| 113 | #include <QtCore/qdatastream.h> /* 526 */
|
---|
| 114 | #include <QtWidgets/qtwidgetsglobal.h> /* 520 */
|
---|
| 115 | #include <QtWidgets/qtwidgets-config.h> /* 520 */
|
---|
| 116 | #include <QtGui/qfont.h> /* 507 */
|
---|
| 117 | #include <QtGui/qbrush.h> /* 507 */
|
---|
| 118 | #include <QtGui/qpalette.h> /* 506 */
|
---|
| 119 | #include <QtWidgets/qsizepolicy.h> /* 505 */
|
---|
| 120 | #include <QtGui/qfontmetrics.h> /* 497 */
|
---|
| 121 | #include <QtGui/qfontinfo.h> /* 496 */
|
---|
| 122 |
|
---|
[76602] | 123 | /* Toplevel headers for which we already include the sub-headers.
|
---|
| 124 | Note! Must exist in precomptricks so we can apply #pragma once to them (good for GCC). */
|
---|
| 125 | #include <QVariant>
|
---|
| 126 | #include <QVarLengthArray>
|
---|
| 127 | #include <QMutex>
|
---|
| 128 | #include <QSysInfo>
|
---|
| 129 | #include <QString>
|
---|
| 130 | #include <QStringList>
|
---|
| 131 | #include <QChar>
|
---|
| 132 | #include <QApplication>
|
---|
| 133 | #include <QGroupBox>
|
---|
| 134 | #include <QPushButton>
|
---|
| 135 | #include <QRadioButton>
|
---|
[76601] | 136 | #include <QObject>
|
---|
| 137 | #include <QVector>
|
---|
| 138 | #include <QMap>
|
---|
| 139 | #include <QMetaType>
|
---|
| 140 | #include <QRect>
|
---|
| 141 | #include <QWidget>
|
---|
| 142 | #include <QPixmap>
|
---|
| 143 |
|
---|
[76602] | 144 | /* misc others that we include a bit. */
|
---|
| 145 | #include <QVBoxLayout>
|
---|
| 146 | #include <QHBoxLayout>
|
---|
| 147 | #include <QPainter>
|
---|
| 148 | #include <QTimer>
|
---|
| 149 | #include <QStyle>
|
---|
| 150 | #include <QMenu>
|
---|
| 151 | #include <QDir>
|
---|
| 152 | #include <QUuid>
|
---|
| 153 | #include <QLineEdit>
|
---|
| 154 |
|
---|
[76600] | 155 | /* cdefs.h is a little bit of a question since it defines RT_STRICT, which someone
|
---|
| 156 | may want to redefine locally, but it's required by all other IPRT VBox includes. */
|
---|
[63932] | 157 | #include <iprt/cdefs.h>
|
---|
| 158 | #include <iprt/types.h>
|
---|
[76600] | 159 | #include <iprt/stdarg.h>
|
---|
| 160 | #include <iprt/stdint.h>
|
---|
| 161 | #include <iprt/assert.h>
|
---|
| 162 | #include <iprt/assertcompile.h>
|
---|
| 163 | #include <iprt/errcore.h>
|
---|
[63932] | 164 | #include <iprt/cpp/list.h>
|
---|
| 165 | #include <iprt/cpp/meta.h>
|
---|
[76600] | 166 | #include <VBox/com/array.h>
|
---|
| 167 | #include <VBox/com/assert.h>
|
---|
| 168 | #include <VBox/com/ptr.h>
|
---|
[63932] | 169 | #include <VBox/com/com.h>
|
---|
[76600] | 170 | #include <VBox/com/defs.h>
|
---|
[63932] | 171 |
|
---|
[76602] | 172 | /* These two are freuqently used internal headers. */
|
---|
[76600] | 173 | #include "UILibraryDefs.h"
|
---|
[98216] | 174 | /*#include "QIWithRestorableGeometry.h" - broken as it includes iprt/log.h thru UIDefs.h via UICommon.h. */
|
---|
[76600] | 175 |
|
---|
[63932] | 176 | #if defined(Log) || defined(LogIsEnabled)
|
---|
| 177 | # error "Log() from iprt/log.h cannot be defined in the precompiled header!"
|
---|
| 178 | #endif
|
---|