From c8844853b5c4a4217c0303e2b47f3d7603980959 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Mon, 17 Jul 2023 16:33:57 +0300 Subject: [PATCH] do not include with C++20 --- src/app/puzzle/vpcommandline.h | 6 +- src/app/puzzle/xml/vplayoutfilereader.cpp | 12 +- src/app/puzzle/xml/vplayoutfilewriter.h | 41 +- .../dialogs/dialogdatetimeformats.cpp | 28 +- .../dialogs/dialogknownmaterials.cpp | 12 +- src/libs/ifc/xml/utils.cpp | 10 +- src/libs/ifc/xml/vbackgroundpatternimage.cpp | 22 +- src/libs/ifc/xml/vpatternimage.cpp | 19 +- src/libs/qmuparser/qmudef.h | 137 ++-- src/libs/qmuparser/qmuparserdef.h | 216 +++--- src/libs/vdxf/dxfdef.h | 25 +- src/libs/vdxf/libdxfrw/drw_base.h | 619 ++++++++++-------- src/libs/vdxf/libdxfrw/libdxfrw.h | 33 +- src/libs/vhpgl/vhpglengine.h | 5 + src/libs/vlayout/vlayoutdef.h | 6 +- src/libs/vmisc/def.h | 5 +- src/libs/vobj/vobjengine.cpp | 7 +- src/libs/vpropertyexplorer/vproperty.h | 47 +- src/libs/vtest/abstracttest.h | 9 +- src/libs/vwidgets/velidedlabel.cpp | 16 +- src/libs/vwidgets/vplaintextedit.cpp | 29 +- .../tst_abstracttranslation.h | 6 +- src/test/ValentinaTest/tst_vcommandline.cpp | 8 +- src/test/ValentinaTest/tst_vlockguard.cpp | 8 +- 24 files changed, 745 insertions(+), 581 deletions(-) diff --git a/src/app/puzzle/vpcommandline.h b/src/app/puzzle/vpcommandline.h index 4d5d030a7..4191f9d90 100644 --- a/src/app/puzzle/vpcommandline.h +++ b/src/app/puzzle/vpcommandline.h @@ -30,9 +30,13 @@ #include #include -#include #include +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif + #if QT_VERSION < QT_VERSION_CHECK(5, 13, 0) #include "../vmisc/defglobal.h" #endif diff --git a/src/app/puzzle/xml/vplayoutfilereader.cpp b/src/app/puzzle/xml/vplayoutfilereader.cpp index 9eb4c296d..96bfc0ce0 100644 --- a/src/app/puzzle/xml/vplayoutfilereader.cpp +++ b/src/app/puzzle/xml/vplayoutfilereader.cpp @@ -36,16 +36,18 @@ #include "../vgeometry/vlayoutplacelabel.h" #include "../vlayout/vlayoutpiecepath.h" #include "../vlayout/vtextmanager.h" +#include "../vmisc/compatibility.h" #include "../vmisc/vcommonsettings.h" #include "../vpatterndb/floatItemData/floatitemdef.h" -#include "compatibility.h" -#include "svgfont/vsvgfont.h" -#include "vpiecegrainline.h" +#include "../vwidgets/vpiecegrainline.h" #include "vplayoutliterals.h" #include #include -#include -#include + +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif QT_WARNING_PUSH QT_WARNING_DISABLE_CLANG("-Wmissing-prototypes") diff --git a/src/app/puzzle/xml/vplayoutfilewriter.h b/src/app/puzzle/xml/vplayoutfilewriter.h index 03732c5f9..772c8b820 100644 --- a/src/app/puzzle/xml/vplayoutfilewriter.h +++ b/src/app/puzzle/xml/vplayoutfilewriter.h @@ -29,15 +29,19 @@ #ifndef VPLAYOUTFILEWRITER_H #define VPLAYOUTFILEWRITER_H +#include #include #include -#include #include -#include -#include "../vmisc/literals.h" +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif + #include "../layout/layoutdef.h" #include "../qmuparser/qmudef.h" +#include "../vmisc/literals.h" class VPLayout; class VPSheet; @@ -53,8 +57,8 @@ class VPLayoutFileWriter : public QXmlStreamWriter Q_DECLARE_TR_FUNCTIONS(VPLayoutFileWriter) // NOLINT public: - VPLayoutFileWriter()= default; - ~VPLayoutFileWriter()= default; + VPLayoutFileWriter() = default; + ~VPLayoutFileWriter() = default; void WriteFile(const VPLayoutPtr &layout, QIODevice *file); @@ -75,20 +79,20 @@ private: void WriteMargins(const QMarginsF &margins, bool ignore); void WriteSize(QSizeF size); - template - void SetAttribute(const QString &name, const T &value); + template void SetAttribute(const QString &name, const T &value); template - void SetAttribute(const QString &name, const char (&value)[N]); //NOLINT(cppcoreguidelines-avoid-c-arrays) NOLINT(hicpp-avoid-c-arrays) NOLINT(modernize-avoid-c-arrays) + void SetAttribute(const QString &name, + const char (&value)[N]); // NOLINT(cppcoreguidelines-avoid-c-arrays) NOLINT(hicpp-avoid-c-arrays) + // NOLINT(modernize-avoid-c-arrays) template void SetAttributeOrRemoveIf(const QString &name, const T &value, - const std::function &removeCondition); + const std::function &removeCondition); }; //--------------------------------------------------------------------------------------------------------------------- -template -void VPLayoutFileWriter::SetAttribute(const QString &name, const T &value) +template void VPLayoutFileWriter::SetAttribute(const QString &name, const T &value) { // See specification for xs:decimal const QLocale locale = QLocale::c(); @@ -96,29 +100,28 @@ void VPLayoutFileWriter::SetAttribute(const QString &name, const T &value) } //--------------------------------------------------------------------------------------------------------------------- -template <> -inline void VPLayoutFileWriter::SetAttribute(const QString &name, const QString &value) +template <> inline void VPLayoutFileWriter::SetAttribute(const QString &name, const QString &value) { writeAttribute(name, value); } //--------------------------------------------------------------------------------------------------------------------- -template <> -inline void VPLayoutFileWriter::SetAttribute(const QString &name, const QChar &value) +template <> inline void VPLayoutFileWriter::SetAttribute(const QString &name, const QChar &value) { writeAttribute(name, value); } //--------------------------------------------------------------------------------------------------------------------- -template <> -inline void VPLayoutFileWriter::SetAttribute(const QString &name, const bool &value) +template <> inline void VPLayoutFileWriter::SetAttribute(const QString &name, const bool &value) { writeAttribute(name, value ? trueStr : falseStr); } //--------------------------------------------------------------------------------------------------------------------- template -inline void VPLayoutFileWriter::SetAttribute(const QString &name, const char (&value)[N]) //NOLINT(cppcoreguidelines-avoid-c-arrays) NOLINT(hicpp-avoid-c-arrays) NOLINT(modernize-avoid-c-arrays) +inline void VPLayoutFileWriter::SetAttribute( + const QString &name, const char (&value)[N]) // NOLINT(cppcoreguidelines-avoid-c-arrays) + // NOLINT(hicpp-avoid-c-arrays) NOLINT(modernize-avoid-c-arrays) { writeAttribute(name, QString(value)); } @@ -126,7 +129,7 @@ inline void VPLayoutFileWriter::SetAttribute(const QString &name, const char (&v //--------------------------------------------------------------------------------------------------------------------- template inline void VPLayoutFileWriter::SetAttributeOrRemoveIf(const QString &name, const T &value, - const std::function &removeCondition) + const std::function &removeCondition) { if (not removeCondition(value)) { diff --git a/src/app/valentina/dialogs/dialogdatetimeformats.cpp b/src/app/valentina/dialogs/dialogdatetimeformats.cpp index 8a6cd1262..607e6ec0b 100644 --- a/src/app/valentina/dialogs/dialogdatetimeformats.cpp +++ b/src/app/valentina/dialogs/dialogdatetimeformats.cpp @@ -28,16 +28,20 @@ #include "dialogdatetimeformats.h" #include "ui_dialogdatetimeformats.h" -#include + +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif //--------------------------------------------------------------------------------------------------------------------- DialogDateTimeFormats::DialogDateTimeFormats(const QDate &date, const QStringList &predefinedFormats, const QStringList &userDefinedFormats, QWidget *parent) - : QDialog(parent), - ui(new Ui::DialogDateTimeFormats), - m_dateMode(true), - m_date(date), - m_predefined(predefinedFormats) + : QDialog(parent), + ui(new Ui::DialogDateTimeFormats), + m_dateMode(true), + m_date(date), + m_predefined(predefinedFormats) { ui->setupUi(this); @@ -47,11 +51,11 @@ DialogDateTimeFormats::DialogDateTimeFormats(const QDate &date, const QStringLis //--------------------------------------------------------------------------------------------------------------------- DialogDateTimeFormats::DialogDateTimeFormats(const QTime &time, const QStringList &predefinedFormats, const QStringList &userDefinedFormats, QWidget *parent) - : QDialog(parent), - ui(new Ui::DialogDateTimeFormats), - m_dateMode(false), - m_time(time), - m_predefined(predefinedFormats) + : QDialog(parent), + ui(new Ui::DialogDateTimeFormats), + m_dateMode(false), + m_time(time), + m_predefined(predefinedFormats) { ui->setupUi(this); @@ -69,7 +73,7 @@ auto DialogDateTimeFormats::GetFormats() const -> QStringList { QStringList formats; - for (int i=0; ilistWidget->count(); ++i) + for (int i = 0; i < ui->listWidget->count(); ++i) { if (const QListWidgetItem *lineItem = ui->listWidget->item(i)) { diff --git a/src/app/valentina/dialogs/dialogknownmaterials.cpp b/src/app/valentina/dialogs/dialogknownmaterials.cpp index a4292c18f..bcc17d5ea 100644 --- a/src/app/valentina/dialogs/dialogknownmaterials.cpp +++ b/src/app/valentina/dialogs/dialogknownmaterials.cpp @@ -28,12 +28,16 @@ #include "dialogknownmaterials.h" #include "ui_dialogknownmaterials.h" -#include + +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif //--------------------------------------------------------------------------------------------------------------------- DialogKnownMaterials::DialogKnownMaterials(QWidget *parent) - : QDialog(parent), - ui(new Ui::DialogKnownMaterials) + : QDialog(parent), + ui(new Ui::DialogKnownMaterials) { ui->setupUi(this); @@ -80,7 +84,7 @@ auto DialogKnownMaterials::GetList() const -> QStringList { QStringList list; - for (int i=0; ilistWidget->count(); ++i) + for (int i = 0; i < ui->listWidget->count(); ++i) { if (const QListWidgetItem *item = ui->listWidget->item(i)) { diff --git a/src/libs/ifc/xml/utils.cpp b/src/libs/ifc/xml/utils.cpp index ea2a0ffd9..47b3669a9 100644 --- a/src/libs/ifc/xml/utils.cpp +++ b/src/libs/ifc/xml/utils.cpp @@ -34,7 +34,11 @@ #include #include #include -#include + +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif #include "../vmisc/compatibility.h" @@ -72,7 +76,7 @@ auto MimeTypeFromByteArray(const QByteArray &data) -> QMimeType QSet aliases = ConvertToSet(mime.aliases()); aliases.insert(mime.name()); - QSet gzipMime {"application/gzip", "application/x-gzip"}; + QSet gzipMime{"application/gzip", "application/x-gzip"}; if (gzipMime.contains(aliases)) { @@ -92,7 +96,7 @@ auto PrepareImageFilters() -> QString const QList supportedFormats = QImageReader::supportedImageFormats(); const QSet filterFormats{"bmp", "jpeg", "jpg", "png", "svg", "svgz", "tif", "tiff", "webp"}; QStringList sufixes; - for (const auto& format : supportedFormats) + for (const auto &format : supportedFormats) { if (filterFormats.contains(format)) { diff --git a/src/libs/ifc/xml/vbackgroundpatternimage.cpp b/src/libs/ifc/xml/vbackgroundpatternimage.cpp index e8e06c0c3..40bded802 100644 --- a/src/libs/ifc/xml/vbackgroundpatternimage.cpp +++ b/src/libs/ifc/xml/vbackgroundpatternimage.cpp @@ -27,20 +27,24 @@ *************************************************************************/ #include "vbackgroundpatternimage.h" -#include "utils.h" #include "../vmisc/compatibility.h" #include "../vmisc/defglobal.h" +#include "utils.h" -#include +#include #include #include -#include -#include -#include #include -#include +#include +#include +#include #include +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif + const QString VBackgroundPatternImage::brokenImage = QStringLiteral("://icon/svg/broken_path.svg"); namespace @@ -57,7 +61,7 @@ auto ScaleRasterImage(const QImage &image) -> QSize const double ratioX = PrintDPI / (image.dotsPerMeterX() / 100. * 2.54); const double ratioY = PrintDPI / (image.dotsPerMeterY() / 100. * 2.54); const QSize imageSize = image.size(); - return {qRound(imageSize.width()*ratioX), qRound(imageSize.height()*ratioY)}; + return {qRound(imageSize.width() * ratioX), qRound(imageSize.height() * ratioY)}; } //--------------------------------------------------------------------------------------------------------------------- @@ -65,9 +69,9 @@ auto ScaleVectorImage(const QSvgRenderer &renderer) -> QSize { const QSize imageSize = renderer.defaultSize(); constexpr double ratio = PrintDPI / 90.; - return {qRound(imageSize.width()*ratio), qRound(imageSize.height()*ratio)}; + return {qRound(imageSize.width() * ratio), qRound(imageSize.height() * ratio)}; } -} // namespace +} // namespace //--------------------------------------------------------------------------------------------------------------------- auto VBackgroundPatternImage::FromFile(const QString &fileName, bool builtIn) -> VBackgroundPatternImage diff --git a/src/libs/ifc/xml/vpatternimage.cpp b/src/libs/ifc/xml/vpatternimage.cpp index 4f99b6cd6..721cffe17 100644 --- a/src/libs/ifc/xml/vpatternimage.cpp +++ b/src/libs/ifc/xml/vpatternimage.cpp @@ -27,22 +27,25 @@ *************************************************************************/ #include "vpatternimage.h" +#include +#include +#include #include #include #include #include #include #include -#include -#include -#include #include -#include -#include +#include + +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif -#include "utils.h" #include "../vmisc/compatibility.h" - +#include "utils.h" //--------------------------------------------------------------------------------------------------------------------- auto VPatternImage::FromFile(const QString &fileName) -> VPatternImage @@ -148,7 +151,7 @@ auto VPatternImage::GetPixmap(int width, int height) const -> QPixmap QImage image = imageReader.read(); if (image.isNull()) { - qCritical()<< tr("Couldn't read the image. Error: %1").arg(imageReader.errorString()); + qCritical() << tr("Couldn't read the image. Error: %1").arg(imageReader.errorString()); return {}; } diff --git a/src/libs/qmuparser/qmudef.h b/src/libs/qmuparser/qmudef.h index 2c86ff994..8e7047e25 100644 --- a/src/libs/qmuparser/qmudef.h +++ b/src/libs/qmuparser/qmudef.h @@ -31,76 +31,79 @@ * Warning/diagnostic handling */ -#define QT_DO_PRAGMA(text) _Pragma(#text) +#define QT_DO_PRAGMA(text) _Pragma(#text) #if defined(Q_CC_INTEL) && defined(Q_CC_MSVC) /* icl.exe: Intel compiler on Windows */ -# undef QT_DO_PRAGMA /* not needed */ -# define QT_WARNING_PUSH __pragma(warning(push)) -# define QT_WARNING_POP __pragma(warning(pop)) -# define QT_WARNING_DISABLE_MSVC(number) -# define QT_WARNING_DISABLE_INTEL(number) __pragma(warning(disable: number)) -# define QT_WARNING_DISABLE_CLANG(text) -# define QT_WARNING_DISABLE_GCC(text) +#undef QT_DO_PRAGMA /* not needed */ +#define QT_WARNING_PUSH __pragma(warning(push)) +#define QT_WARNING_POP __pragma(warning(pop)) +#define QT_WARNING_DISABLE_MSVC(number) +#define QT_WARNING_DISABLE_INTEL(number) __pragma(warning(disable : number)) +#define QT_WARNING_DISABLE_CLANG(text) +#define QT_WARNING_DISABLE_GCC(text) #elif defined(Q_CC_INTEL) /* icc: Intel compiler on Linux or OS X */ -# define QT_WARNING_PUSH QT_DO_PRAGMA(warning(push)) -# define QT_WARNING_POP QT_DO_PRAGMA(warning(pop)) -# define QT_WARNING_DISABLE_INTEL(number) QT_DO_PRAGMA(warning(disable: number)) -# define QT_WARNING_DISABLE_MSVC(number) -# define QT_WARNING_DISABLE_CLANG(text) -# define QT_WARNING_DISABLE_GCC(text) +#define QT_WARNING_PUSH QT_DO_PRAGMA(warning(push)) +#define QT_WARNING_POP QT_DO_PRAGMA(warning(pop)) +#define QT_WARNING_DISABLE_INTEL(number) QT_DO_PRAGMA(warning(disable : number)) +#define QT_WARNING_DISABLE_MSVC(number) +#define QT_WARNING_DISABLE_CLANG(text) +#define QT_WARNING_DISABLE_GCC(text) #elif defined(Q_CC_MSVC) && _MSC_VER >= 1500 -# undef QT_DO_PRAGMA /* not needed */ -# define QT_WARNING_PUSH __pragma(warning(push)) -# define QT_WARNING_POP __pragma(warning(pop)) -# define QT_WARNING_DISABLE_MSVC(number) __pragma(warning(disable: number)) -# define QT_WARNING_DISABLE_INTEL(number) -# define QT_WARNING_DISABLE_CLANG(text) -# define QT_WARNING_DISABLE_GCC(text) +#undef QT_DO_PRAGMA /* not needed */ +#define QT_WARNING_PUSH __pragma(warning(push)) +#define QT_WARNING_POP __pragma(warning(pop)) +#define QT_WARNING_DISABLE_MSVC(number) __pragma(warning(disable : number)) +#define QT_WARNING_DISABLE_INTEL(number) +#define QT_WARNING_DISABLE_CLANG(text) +#define QT_WARNING_DISABLE_GCC(text) #elif defined(Q_CC_CLANG) -# define QT_WARNING_PUSH QT_DO_PRAGMA(clang diagnostic push) -# define QT_WARNING_POP QT_DO_PRAGMA(clang diagnostic pop) -# define QT_WARNING_DISABLE_CLANG(text) QT_DO_PRAGMA(clang diagnostic ignored text) -# define QT_WARNING_DISABLE_GCC(text) QT_DO_PRAGMA(GCC diagnostic ignored text)// GCC directives work in Clang too -# define QT_WARNING_DISABLE_INTEL(number) -# define QT_WARNING_DISABLE_MSVC(number) +#define QT_WARNING_PUSH QT_DO_PRAGMA(clang diagnostic push) +#define QT_WARNING_POP QT_DO_PRAGMA(clang diagnostic pop) +#define QT_WARNING_DISABLE_CLANG(text) QT_DO_PRAGMA(clang diagnostic ignored text) +#define QT_WARNING_DISABLE_GCC(text) QT_DO_PRAGMA(GCC diagnostic ignored text) // GCC directives work in Clang too +#define QT_WARNING_DISABLE_INTEL(number) +#define QT_WARNING_DISABLE_MSVC(number) #elif defined(Q_CC_GNU) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 406) -# define QT_WARNING_PUSH QT_DO_PRAGMA(GCC diagnostic push) -# define QT_WARNING_POP QT_DO_PRAGMA(GCC diagnostic pop) -# define QT_WARNING_DISABLE_GCC(text) QT_DO_PRAGMA(GCC diagnostic ignored text) -# define QT_WARNING_DISABLE_CLANG(text) -# define QT_WARNING_DISABLE_INTEL(number) -# define QT_WARNING_DISABLE_MSVC(number) -#else // All other compilers, GCC < 4.6 and MSVC < 2008 -# define QT_WARNING_DISABLE_GCC(text) -# define QT_WARNING_PUSH -# define QT_WARNING_POP -# define QT_WARNING_DISABLE_INTEL(number) -# define QT_WARNING_DISABLE_MSVC(number) -# define QT_WARNING_DISABLE_CLANG(text) -# define QT_WARNING_DISABLE_GCC(text) +#define QT_WARNING_PUSH QT_DO_PRAGMA(GCC diagnostic push) +#define QT_WARNING_POP QT_DO_PRAGMA(GCC diagnostic pop) +#define QT_WARNING_DISABLE_GCC(text) QT_DO_PRAGMA(GCC diagnostic ignored text) +#define QT_WARNING_DISABLE_CLANG(text) +#define QT_WARNING_DISABLE_INTEL(number) +#define QT_WARNING_DISABLE_MSVC(number) +#else // All other compilers, GCC < 4.6 and MSVC < 2008 +#define QT_WARNING_DISABLE_GCC(text) +#define QT_WARNING_PUSH +#define QT_WARNING_POP +#define QT_WARNING_DISABLE_INTEL(number) +#define QT_WARNING_DISABLE_MSVC(number) +#define QT_WARNING_DISABLE_CLANG(text) +#define QT_WARNING_DISABLE_GCC(text) #endif #endif // QT_VERSION < QT_VERSION_CHECK(5, 5, 0) #if QT_VERSION < QT_VERSION_CHECK(5, 13, 0) -#define Q_DISABLE_COPY_MOVE(Class) \ - Q_DISABLE_COPY(Class) \ - Class(Class &&) = delete; \ +#define Q_DISABLE_COPY_MOVE(Class) \ + Q_DISABLE_COPY(Class) \ + Class(Class &&) = delete; \ Class &operator=(Class &&) = delete; #endif #ifndef Q_DISABLE_ASSIGN_MOVE -#define Q_DISABLE_ASSIGN_MOVE(Class) \ - Q_DISABLE_ASSIGN(Class) \ - Class(Class &&) = delete; \ +#define Q_DISABLE_ASSIGN_MOVE(Class) \ + Q_DISABLE_ASSIGN(Class) \ + Class(Class &&) = delete; \ Class &operator=(Class &&) = delete; #endif QT_WARNING_PUSH QT_WARNING_DISABLE_GCC("-Wattributes") -#include +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif class QLocale; class QChar; @@ -125,23 +128,23 @@ QMUPARSERSHARED_EXPORT auto LocaleExpLower(const QLocale &locale) -> QChar; QMUPARSERSHARED_EXPORT auto LocaleDecimalPoint(const QLocale &locale) -> QChar; QMUPARSERSHARED_EXPORT auto LocaleGroupSeparator(const QLocale &locale) -> QChar; -#define INIT_LOCALE_VARIABLES(locale) \ -const QChar positiveSign = LocalePositiveSign((locale)); \ -const QChar negativeSign = LocaleNegativeSign((locale)); \ -const QChar sign0 = LocaleSign0((locale)); \ -const QChar sign1 = LocaleSign1((locale)); \ -const QChar sign2 = LocaleSign2((locale)); \ -const QChar sign3 = LocaleSign3((locale)); \ -const QChar sign4 = LocaleSign4((locale)); \ -const QChar sign5 = LocaleSign5((locale)); \ -const QChar sign6 = LocaleSign6((locale)); \ -const QChar sign7 = LocaleSign7((locale)); \ -const QChar sign8 = LocaleSign8((locale)); \ -const QChar sign9 = LocaleSign9((locale)); \ -const QChar expUpper = LocaleExpUpper((locale)); \ -const QChar expLower = LocaleExpLower((locale)); \ -const QChar decimalPoint = LocaleDecimalPoint((locale)); \ -const QChar groupSeparator = LocaleGroupSeparator((locale)); +#define INIT_LOCALE_VARIABLES(locale) \ + const QChar positiveSign = LocalePositiveSign((locale)); \ + const QChar negativeSign = LocaleNegativeSign((locale)); \ + const QChar sign0 = LocaleSign0((locale)); \ + const QChar sign1 = LocaleSign1((locale)); \ + const QChar sign2 = LocaleSign2((locale)); \ + const QChar sign3 = LocaleSign3((locale)); \ + const QChar sign4 = LocaleSign4((locale)); \ + const QChar sign5 = LocaleSign5((locale)); \ + const QChar sign6 = LocaleSign6((locale)); \ + const QChar sign7 = LocaleSign7((locale)); \ + const QChar sign8 = LocaleSign8((locale)); \ + const QChar sign9 = LocaleSign9((locale)); \ + const QChar expUpper = LocaleExpUpper((locale)); \ + const QChar expLower = LocaleExpLower((locale)); \ + const QChar decimalPoint = LocaleDecimalPoint((locale)); \ + const QChar groupSeparator = LocaleGroupSeparator((locale)); QMUPARSERSHARED_EXPORT auto NameRegExp() -> QString; @@ -150,12 +153,12 @@ QT_WARNING_POP Q_REQUIRED_RESULT static inline auto QmuFuzzyComparePossibleNulls(double p1, double p2) -> bool; static inline auto QmuFuzzyComparePossibleNulls(double p1, double p2) -> bool { - if(qFuzzyIsNull(p1)) + if (qFuzzyIsNull(p1)) { return qFuzzyIsNull(p2); } - if(qFuzzyIsNull(p2)) + if (qFuzzyIsNull(p2)) { return false; } diff --git a/src/libs/qmuparser/qmuparserdef.h b/src/libs/qmuparser/qmuparserdef.h index 961e70f58..030cd8fbc 100644 --- a/src/libs/qmuparser/qmuparserdef.h +++ b/src/libs/qmuparser/qmuparserdef.h @@ -24,9 +24,13 @@ #include #include -#include -#include #include +#include + +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif #ifdef __INTEL_COMPILER #include "qmuparserfixes.h" @@ -42,60 +46,60 @@ #define QMUP_VERSION_DATE "20191030; GC" // Detect whether the compiler supports C++11 noexcept exception specifications. -# if defined(__clang__) -# if __has_feature(cxx_noexcept) -# define QMUP_NOEXCEPT_EXPR(x) noexcept(x) // Clang 3.0 and above have noexcept -# endif -# elif defined(__GNUC__) -# if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__GXX_EXPERIMENTAL_CXX0X__) -# define QMUP_NOEXCEPT_EXPR(x) noexcept(x) // GCC 4.7 and following have noexcept -# endif -# elif defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 190023026 -# define QMUP_NOEXCEPT_EXPR(x) noexcept(x) // Visual Studio 2015 and following have noexcept -# else -# define QMUP_NOEXCEPT_EXPR(x) -# endif +#if defined(__clang__) +#if __has_feature(cxx_noexcept) +#define QMUP_NOEXCEPT_EXPR(x) noexcept(x) // Clang 3.0 and above have noexcept +#endif +#elif defined(__GNUC__) +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__GXX_EXPERIMENTAL_CXX0X__) +#define QMUP_NOEXCEPT_EXPR(x) noexcept(x) // GCC 4.7 and following have noexcept +#endif +#elif defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 190023026 +#define QMUP_NOEXCEPT_EXPR(x) noexcept(x) // Visual Studio 2015 and following have noexcept +#else +#define QMUP_NOEXCEPT_EXPR(x) +#endif #ifndef __has_cpp_attribute -# define __has_cpp_attribute(x) 0 +#define __has_cpp_attribute(x) 0 #endif #if QT_VERSION < QT_VERSION_CHECK(5, 8, 0) #ifndef QT_HAS_CPP_ATTRIBUTE #ifdef __has_cpp_attribute -# define QT_HAS_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) +#define QT_HAS_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) #else -# define QT_HAS_CPP_ATTRIBUTE(x) 0 +#define QT_HAS_CPP_ATTRIBUTE(x) 0 #endif #endif // QT_HAS_CPP_ATTRIBUTE #if defined(__cplusplus) #if QT_HAS_CPP_ATTRIBUTE(clang::fallthrough) -# define Q_FALLTHROUGH() [[clang::fallthrough]] +#define Q_FALLTHROUGH() [[clang::fallthrough]] #elif QT_HAS_CPP_ATTRIBUTE(gnu::fallthrough) -# define Q_FALLTHROUGH() [[gnu::fallthrough]] +#define Q_FALLTHROUGH() [[gnu::fallthrough]] #elif QT_HAS_CPP_ATTRIBUTE(fallthrough) -# define Q_FALLTHROUGH() [[fallthrough]] +#define Q_FALLTHROUGH() [[fallthrough]] #endif #endif #ifndef Q_FALLTHROUGH -# if (defined(Q_CC_GNU) && Q_CC_GNU >= 700) && !defined(Q_CC_INTEL) -# define Q_FALLTHROUGH() __attribute__((fallthrough)) -# else -# define Q_FALLTHROUGH() (void)0 +#if (defined(Q_CC_GNU) && Q_CC_GNU >= 700) && !defined(Q_CC_INTEL) +#define Q_FALLTHROUGH() __attribute__((fallthrough)) +#else +#define Q_FALLTHROUGH() (void)0 #endif #endif // defined(__cplusplus) #endif // QT_VERSION < QT_VERSION_CHECK(5, 8, 0) /** @brief If this macro is defined mathematical exceptions (div by zero) will be thrown as exceptions. */ -//#define QMUP_MATH_EXCEPTIONS +// #define QMUP_MATH_EXCEPTIONS /** @brief Activate this option in order to compile with OpenMP support. OpenMP is used only in the bulk mode it may increase the performance a bit. */ -//#define QMUP_USE_OPENMP +// #define QMUP_USE_OPENMP /** @brief Definition of the basic parser string type. */ #define QMUP_STRING_TYPE std::wstring @@ -120,28 +124,28 @@ enum ECmdCode // The following are codes for built in binary operators // apart from built in operators the user has the opportunity to // add user defined operators. - cmLE = 0, ///< Operator item: less or equal - cmGE = 1, ///< Operator item: greater or equal - cmNEQ = 2, ///< Operator item: not equal - cmEQ = 3, ///< Operator item: equals - cmLT = 4, ///< Operator item: less than - cmGT = 5, ///< Operator item: greater than - cmADD = 6, ///< Operator item: add - cmSUB = 7, ///< Operator item: subtract - cmMUL = 8, ///< Operator item: multiply - cmDIV = 9, ///< Operator item: division - cmPOW = 10, ///< Operator item: y to the power of ... - cmLAND = 11, - cmLOR = 12, - cmASSIGN = 13, ///< Operator item: Assignment operator - cmBO = 14, ///< Operator item: opening bracket - cmBC = 15, ///< Operator item: closing bracket - cmIF = 16, ///< For use in the ternary if-then-else operator - cmELSE = 17, ///< For use in the ternary if-then-else operator - cmENDIF = 18, ///< For use in the ternary if-then-else operator - cmARG_SEP = 19, ///< function argument separator - cmVAR = 20, ///< variable item - cmVAL = 21, ///< value item + cmLE = 0, ///< Operator item: less or equal + cmGE = 1, ///< Operator item: greater or equal + cmNEQ = 2, ///< Operator item: not equal + cmEQ = 3, ///< Operator item: equals + cmLT = 4, ///< Operator item: less than + cmGT = 5, ///< Operator item: greater than + cmADD = 6, ///< Operator item: add + cmSUB = 7, ///< Operator item: subtract + cmMUL = 8, ///< Operator item: multiply + cmDIV = 9, ///< Operator item: division + cmPOW = 10, ///< Operator item: y to the power of ... + cmLAND = 11, + cmLOR = 12, + cmASSIGN = 13, ///< Operator item: Assignment operator + cmBO = 14, ///< Operator item: opening bracket + cmBC = 15, ///< Operator item: closing bracket + cmIF = 16, ///< For use in the ternary if-then-else operator + cmELSE = 17, ///< For use in the ternary if-then-else operator + cmENDIF = 18, ///< For use in the ternary if-then-else operator + cmARG_SEP = 19, ///< function argument separator + cmVAR = 20, ///< variable item + cmVAL = 21, ///< value item // For optimization purposes cmVARPOW2, @@ -151,25 +155,25 @@ enum ECmdCode cmPOW2, // operators and functions - cmFUNC, ///< Code for a generic function item - cmFUNC_STR, ///< Code for a function with a string parameter - cmFUNC_BULK, ///< Special callbacks for Bulk mode with an additional parameter for the bulk index - cmSTRING, ///< Code for a string token - cmOPRT_BIN, ///< user defined binary operator - cmOPRT_POSTFIX, ///< code for postfix operators - cmOPRT_INFIX, ///< code for infix operators - cmEND, ///< end of formula - cmUNKNOWN ///< uninitialized item + cmFUNC, ///< Code for a generic function item + cmFUNC_STR, ///< Code for a function with a string parameter + cmFUNC_BULK, ///< Special callbacks for Bulk mode with an additional parameter for the bulk index + cmSTRING, ///< Code for a string token + cmOPRT_BIN, ///< user defined binary operator + cmOPRT_POSTFIX, ///< code for postfix operators + cmOPRT_INFIX, ///< code for infix operators + cmEND, ///< end of formula + cmUNKNOWN ///< uninitialized item }; //------------------------------------------------------------------------------ /** @brief Types internally used by the parser. -*/ + */ enum ETypeCode { - tpSTR = 0, ///< String type (Function arguments and constants only, no string variables) - tpDBL = 1, ///< Floating point variables - tpVOID = 2 ///< Undefined type. + tpSTR = 0, ///< String type (Function arguments and constants only, no string variables) + tpDBL = 1, ///< Floating point variables + tpVOID = 2 ///< Undefined type. }; //------------------------------------------------------------------------------ @@ -183,9 +187,9 @@ enum EParserVersionInfo /** @brief Parser operator precedence values. */ enum EOprtAssociativity { - oaLEFT = 0, + oaLEFT = 0, oaRIGHT = 1, - oaNONE = 2 + oaNONE = 2 }; //------------------------------------------------------------------------------ @@ -193,17 +197,17 @@ enum EOprtAssociativity enum EOprtPrecedence { // binary operators - prLOR = 1, - prLAND = 2, - prLOGIC = 3, ///< logic operators - prCMP = 4, ///< comparsion operators - prADD_SUB = 5, ///< addition - prMUL_DIV = 6, ///< multiplication/division - prPOW = 7, ///< power operator priority (highest) + prLOR = 1, + prLAND = 2, + prLOGIC = 3, ///< logic operators + prCMP = 4, ///< comparsion operators + prADD_SUB = 5, ///< addition + prMUL_DIV = 6, ///< multiplication/division + prPOW = 7, ///< power operator priority (highest) // infix operators - prINFIX = 6, ///< Signs have a higher priority than ADD_SUB, but lower than power operator - prPOSTFIX = 6 ///< Postfix operator priority (currently unused) + prINFIX = 6, ///< Signs have a higher priority than ADD_SUB, but lower than power operator + prPOSTFIX = 6 ///< Postfix operator priority (currently unused) }; //------------------------------------------------------------------------------ @@ -222,12 +226,12 @@ typedef QMUP_STRING_TYPE string_type; typedef string_type::value_type char_type; /** @brief Typedef for easily using stringstream that respect the parser stringtype. */ -typedef std::basic_stringstream < char_type, std::char_traits, std::allocator > stringstream_type; +typedef std::basic_stringstream, std::allocator> stringstream_type; // Data container types /** @brief Type used for storing variables. */ -typedef std::map varmap_type; +typedef std::map varmap_type; /** @brief Type used for storing constants. */ typedef std::map valmap_type; @@ -238,92 +242,92 @@ typedef std::map strmap_type; // Parser callbacks /** @brief Callback type used for functions without arguments. */ -typedef qreal ( *generic_fun_type ) (); +typedef qreal (*generic_fun_type)(); /** @brief Callback type used for functions without arguments. */ -typedef qreal ( *fun_type0 ) (); +typedef qreal (*fun_type0)(); /** @brief Callback type used for functions with a single arguments. */ -typedef qreal ( *fun_type1 ) ( qreal ); +typedef qreal (*fun_type1)(qreal); /** @brief Callback type used for functions with two arguments. */ -typedef qreal ( *fun_type2 ) ( qreal, qreal ); +typedef qreal (*fun_type2)(qreal, qreal); /** @brief Callback type used for functions with three arguments. */ -typedef qreal ( *fun_type3 ) ( qreal, qreal, qreal ); +typedef qreal (*fun_type3)(qreal, qreal, qreal); /** @brief Callback type used for functions with four arguments. */ -typedef qreal ( *fun_type4 ) ( qreal, qreal, qreal, qreal ); +typedef qreal (*fun_type4)(qreal, qreal, qreal, qreal); /** @brief Callback type used for functions with five arguments. */ -typedef qreal ( *fun_type5 ) ( qreal, qreal, qreal, qreal, qreal ); +typedef qreal (*fun_type5)(qreal, qreal, qreal, qreal, qreal); /** @brief Callback type used for functions with five arguments. */ -typedef qreal ( *fun_type6 ) ( qreal, qreal, qreal, qreal, qreal, qreal ); +typedef qreal (*fun_type6)(qreal, qreal, qreal, qreal, qreal, qreal); /** @brief Callback type used for functions with five arguments. */ -typedef qreal ( *fun_type7 ) ( qreal, qreal, qreal, qreal, qreal, qreal, qreal ); +typedef qreal (*fun_type7)(qreal, qreal, qreal, qreal, qreal, qreal, qreal); /** @brief Callback type used for functions with five arguments. */ -typedef qreal ( *fun_type8 ) ( qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal ); +typedef qreal (*fun_type8)(qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal); /** @brief Callback type used for functions with five arguments. */ -typedef qreal ( *fun_type9 ) ( qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal ); +typedef qreal (*fun_type9)(qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal); /** @brief Callback type used for functions with five arguments. */ -typedef qreal ( *fun_type10 ) ( qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal ); +typedef qreal (*fun_type10)(qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal); /** @brief Callback type used for functions without arguments. */ -typedef qreal ( *bulkfun_type0 ) ( int, int ); +typedef qreal (*bulkfun_type0)(int, int); /** @brief Callback type used for functions with a single arguments. */ -typedef qreal ( *bulkfun_type1 ) ( int, int, qreal ); +typedef qreal (*bulkfun_type1)(int, int, qreal); /** @brief Callback type used for functions with two arguments. */ -typedef qreal ( *bulkfun_type2 ) ( int, int, qreal, qreal ); +typedef qreal (*bulkfun_type2)(int, int, qreal, qreal); /** @brief Callback type used for functions with three arguments. */ -typedef qreal ( *bulkfun_type3 ) ( int, int, qreal, qreal, qreal ); +typedef qreal (*bulkfun_type3)(int, int, qreal, qreal, qreal); /** @brief Callback type used for functions with four arguments. */ -typedef qreal ( *bulkfun_type4 ) ( int, int, qreal, qreal, qreal, qreal ); +typedef qreal (*bulkfun_type4)(int, int, qreal, qreal, qreal, qreal); /** @brief Callback type used for functions with five arguments. */ -typedef qreal ( *bulkfun_type5 ) ( int, int, qreal, qreal, qreal, qreal, qreal ); +typedef qreal (*bulkfun_type5)(int, int, qreal, qreal, qreal, qreal, qreal); /** @brief Callback type used for functions with five arguments. */ -typedef qreal ( *bulkfun_type6 ) ( int, int, qreal, qreal, qreal, qreal, qreal, qreal ); +typedef qreal (*bulkfun_type6)(int, int, qreal, qreal, qreal, qreal, qreal, qreal); /** @brief Callback type used for functions with five arguments. */ -typedef qreal ( *bulkfun_type7 ) ( int, int, qreal, qreal, qreal, qreal, qreal, qreal, qreal ); +typedef qreal (*bulkfun_type7)(int, int, qreal, qreal, qreal, qreal, qreal, qreal, qreal); /** @brief Callback type used for functions with five arguments. */ -typedef qreal ( *bulkfun_type8 ) ( int, int, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal ); +typedef qreal (*bulkfun_type8)(int, int, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal); /** @brief Callback type used for functions with five arguments. */ -typedef qreal ( *bulkfun_type9 ) ( int, int, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal ); +typedef qreal (*bulkfun_type9)(int, int, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal); /** @brief Callback type used for functions with five arguments. */ -typedef qreal ( *bulkfun_type10 ) ( int, int, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal ); +typedef qreal (*bulkfun_type10)(int, int, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal); /** @brief Callback type used for functions with a variable argument list. */ -typedef qreal ( *multfun_type ) ( const qreal*, qmusizetype ); +typedef qreal (*multfun_type)(const qreal *, qmusizetype); /** @brief Callback type used for functions taking a string as an argument. */ -typedef qreal ( *strfun_type1 ) ( const QString & ); +typedef qreal (*strfun_type1)(const QString &); /** @brief Callback type used for functions taking a string and a value as arguments. */ -typedef qreal ( *strfun_type2 ) ( const QString &, qreal ); +typedef qreal (*strfun_type2)(const QString &, qreal); /** @brief Callback type used for functions taking a string and two values as arguments. */ -typedef qreal ( *strfun_type3 ) ( const QString &, qreal, qreal ); +typedef qreal (*strfun_type3)(const QString &, qreal, qreal); /** @brief Callback used for functions that identify values in a string. */ -typedef int ( *identfun_type ) ( const QString &sExpr, qmusizetype *nPos, qreal *fVal, const QLocale &locale, - bool cNumbers, const QChar &decimal, const QChar &thousand ); +typedef int (*identfun_type)(const QString &sExpr, qmusizetype *nPos, qreal *fVal, const QLocale &locale, bool cNumbers, + const QChar &decimal, const QChar &thousand); /** @brief Callback used for variable creation factory functions. */ -typedef qreal* ( *facfun_type ) ( const QString &, void* ); -} // end of namespace +typedef qreal *(*facfun_type)(const QString &, void *); +} // namespace qmu #endif diff --git a/src/libs/vdxf/dxfdef.h b/src/libs/vdxf/dxfdef.h index 14aac2cd4..b24c092cb 100644 --- a/src/libs/vdxf/dxfdef.h +++ b/src/libs/vdxf/dxfdef.h @@ -29,14 +29,27 @@ #ifndef DXFDEF_H #define DXFDEF_H -#include -#include #include +#include -enum class VarMeasurement : quint8 { English=0, Metric=1 }; +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif -//Default drawing units for AutoCAD DesignCenter blocks: -enum class VarInsunits : quint8 { Inches=1, Millimeters=4, Centimeters=5 }; +enum class VarMeasurement : quint8 +{ + English = 0, + Metric = 1 +}; + +// Default drawing units for AutoCAD DesignCenter blocks: +enum class VarInsunits : quint8 +{ + Inches = 1, + Millimeters = 4, + Centimeters = 5 +}; // Helps mark end of string. See VDxfEngine::drawTextItem for more details extern const QString endStringPlaceholder; @@ -44,7 +57,7 @@ extern const QString endStringPlaceholder; Q_REQUIRED_RESULT static inline auto DL_FuzzyComparePossibleNulls(double p1, double p2) -> bool; static inline auto DL_FuzzyComparePossibleNulls(double p1, double p2) -> bool { - if(qFuzzyIsNull(p1)) + if (qFuzzyIsNull(p1)) { return qFuzzyIsNull(p2); } diff --git a/src/libs/vdxf/libdxfrw/drw_base.h b/src/libs/vdxf/libdxfrw/drw_base.h index 588b265f7..16503a869 100644 --- a/src/libs/vdxf/libdxfrw/drw_base.h +++ b/src/libs/vdxf/libdxfrw/drw_base.h @@ -15,166 +15,161 @@ #define DRW_VERSION "0.6.3" -#include -#include -#include -#include #include -#include +#include +#include +#include +#include + +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif #ifdef DRW_ASSERTS -# define drw_assert(a) assert(a) +#define drw_assert(a) assert(a) #else -# define drw_assert(a) +#define drw_assert(a) #endif #define UTF8STRING std::string #define DRW_UNUSED(x) (void)x #if defined(WIN64) || defined(_WIN64) || defined(__WIN64__) -# define DRW_WIN +#define DRW_WIN #elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) -# define DRW_WIN +#define DRW_WIN #elif defined(__MWERKS__) && defined(__INTEL__) -# define DRW_WIN +#define DRW_WIN #else -# define DRW_POSIX +#define DRW_POSIX #endif #ifndef M_PI - #define M_PI 3.141592653589793238462643 +#define M_PI 3.141592653589793238462643 #endif #ifndef M_PI_2 - #define M_PI_2 1.57079632679489661923 +#define M_PI_2 1.57079632679489661923 #endif -#define M_PIx2 6.283185307179586 // 2*PI +#define M_PIx2 6.283185307179586 // 2*PI #define ARAD 57.29577951308232 #ifndef __has_cpp_attribute -# define __has_cpp_attribute(x) 0 +#define __has_cpp_attribute(x) 0 #endif #if QT_VERSION < QT_VERSION_CHECK(5, 8, 0) #ifndef QT_HAS_CPP_ATTRIBUTE #ifdef __has_cpp_attribute -# define QT_HAS_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) +#define QT_HAS_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) #else -# define QT_HAS_CPP_ATTRIBUTE(x) 0 +#define QT_HAS_CPP_ATTRIBUTE(x) 0 #endif #endif // QT_HAS_CPP_ATTRIBUTE #if defined(__cplusplus) #if QT_HAS_CPP_ATTRIBUTE(clang::fallthrough) -# define Q_FALLTHROUGH() [[clang::fallthrough]] +#define Q_FALLTHROUGH() [[clang::fallthrough]] #elif QT_HAS_CPP_ATTRIBUTE(gnu::fallthrough) -# define Q_FALLTHROUGH() [[gnu::fallthrough]] +#define Q_FALLTHROUGH() [[gnu::fallthrough]] #elif QT_HAS_CPP_ATTRIBUTE(fallthrough) -# define Q_FALLTHROUGH() [[fallthrough]] +#define Q_FALLTHROUGH() [[fallthrough]] #endif #endif #ifndef Q_FALLTHROUGH -# if (defined(Q_CC_GNU) && Q_CC_GNU >= 700) && !defined(Q_CC_INTEL) -# define Q_FALLTHROUGH() __attribute__((fallthrough)) -# else -# define Q_FALLTHROUGH() (void)0 +#if (defined(Q_CC_GNU) && Q_CC_GNU >= 700) && !defined(Q_CC_INTEL) +#define Q_FALLTHROUGH() __attribute__((fallthrough)) +#else +#define Q_FALLTHROUGH() (void)0 #endif #endif // defined(__cplusplus) #endif // QT_VERSION < QT_VERSION_CHECK(5, 8, 0) #if QT_VERSION < QT_VERSION_CHECK(5, 13, 0) -#define Q_DISABLE_COPY_MOVE(Class) \ - Q_DISABLE_COPY(Class) \ - Class(Class &&) = delete; \ +#define Q_DISABLE_COPY_MOVE(Class) \ + Q_DISABLE_COPY(Class) \ + Class(Class &&) = delete; \ Class &operator=(Class &&) = delete; #endif #ifndef Q_DISABLE_ASSIGN_MOVE -#define Q_DISABLE_ASSIGN_MOVE(Class) \ - Q_DISABLE_ASSIGN(Class) \ - Class(Class &&) = delete; \ +#define Q_DISABLE_ASSIGN_MOVE(Class) \ + Q_DISABLE_ASSIGN(Class) \ + Class(Class &&) = delete; \ Class &operator=(Class &&) = delete; #endif -typedef signed char dint8; /* 8 bit signed */ -typedef signed short dint16; /* 16 bit signed */ -typedef signed int dint32; /* 32 bit signed */ -typedef long long int dint64; /* 64 bit signed */ +typedef signed char dint8; /* 8 bit signed */ +typedef signed short dint16; /* 16 bit signed */ +typedef signed int dint32; /* 32 bit signed */ +typedef long long int dint64; /* 64 bit signed */ typedef unsigned char duint8; /* 8 bit unsigned */ typedef unsigned short duint16; /* 16 bit unsigned */ typedef unsigned int duint32; /* 32 bit unsigned */ typedef unsigned long long int duint64; /* 64 bit unsigned */ -typedef float dfloat32; /* 32 bit floating point */ -typedef double ddouble64; /* 64 bit floating point */ -typedef long double ddouble80; /* 80 bit floating point */ +typedef float dfloat32; /* 32 bit floating point */ +typedef double ddouble64; /* 64 bit floating point */ +typedef long double ddouble80; /* 80 bit floating point */ -namespace DRW { +namespace DRW +{ //! Version numbers for the DXF Format. -enum Version { - UNKNOWNV, //!< UNKNOWN VERSION. - MC00, //!< DWG Release 1.1 - AC12, //!< DWG Release 1.2 - AC14, //!< DWG Release 1.4 - AC150, //!< DWG Release 2.0 - AC210, //!< DWG Release 2.10 - AC1002, //!< DWG Release 2.5 - AC1003, //!< DWG Release 2.6 - AC1004, //!< DWG Relase 9 - AC1006, //!< DWG Release 10 (R10) - AC1009, //!< DWG Release 11/12 (LT R1/R2) (R11 & R12) - AC1012, //!< DWG Release 13 (LT95) (R13) - AC1014, //!< DWG Release 14/14.01 (LT97/LT98) (R14) - AC1015, //!< AutoCAD 2000/2000i/2002 (ACAD 2000) - AC1018, //!< AutoCAD 2004/2005/2006 (ACAD 2004) - AC1021, //!< AutoCAD 2007/2008/2009 (ACAD 2007) - AC1024, //!< AutoCAD 2010/2011/2012 (ACAD 2010) - AC1027, //!< AutoCAD 2013/2014/2015/2016/2017 (ACAD 2013) - AC1032, //!< AutoCAD 2018/2019/2020 (ACAD 2018) +enum Version +{ + UNKNOWNV, //!< UNKNOWN VERSION. + MC00, //!< DWG Release 1.1 + AC12, //!< DWG Release 1.2 + AC14, //!< DWG Release 1.4 + AC150, //!< DWG Release 2.0 + AC210, //!< DWG Release 2.10 + AC1002, //!< DWG Release 2.5 + AC1003, //!< DWG Release 2.6 + AC1004, //!< DWG Relase 9 + AC1006, //!< DWG Release 10 (R10) + AC1009, //!< DWG Release 11/12 (LT R1/R2) (R11 & R12) + AC1012, //!< DWG Release 13 (LT95) (R13) + AC1014, //!< DWG Release 14/14.01 (LT97/LT98) (R14) + AC1015, //!< AutoCAD 2000/2000i/2002 (ACAD 2000) + AC1018, //!< AutoCAD 2004/2005/2006 (ACAD 2004) + AC1021, //!< AutoCAD 2007/2008/2009 (ACAD 2007) + AC1024, //!< AutoCAD 2010/2011/2012 (ACAD 2010) + AC1027, //!< AutoCAD 2013/2014/2015/2016/2017 (ACAD 2013) + AC1032, //!< AutoCAD 2018/2019/2020 (ACAD 2018) }; -const std::unordered_map< const char*, DRW::Version > dwgVersionStrings { - { "MC0.0", DRW::MC00 }, - { "AC1.2", DRW::AC12 }, - { "AC1.4", DRW::AC14 }, - { "AC1.50", DRW::AC150 }, - { "AC2.10", DRW::AC210 }, - { "AC1002", DRW::AC1002 }, - { "AC1003", DRW::AC1003 }, - { "AC1004", DRW::AC1004 }, - { "AC1006", DRW::AC1006 }, - { "AC1009", DRW::AC1009 }, - { "AC1012", DRW::AC1012 }, - { "AC1014", DRW::AC1014 }, - { "AC1015", DRW::AC1015 }, - { "AC1018", DRW::AC1018 }, - { "AC1021", DRW::AC1021 }, - { "AC1024", DRW::AC1024 }, - { "AC1027", DRW::AC1027 }, - { "AC1032", DRW::AC1032 }, +const std::unordered_map dwgVersionStrings{ + {"MC0.0", DRW::MC00}, {"AC1.2", DRW::AC12}, {"AC1.4", DRW::AC14}, {"AC1.50", DRW::AC150}, + {"AC2.10", DRW::AC210}, {"AC1002", DRW::AC1002}, {"AC1003", DRW::AC1003}, {"AC1004", DRW::AC1004}, + {"AC1006", DRW::AC1006}, {"AC1009", DRW::AC1009}, {"AC1012", DRW::AC1012}, {"AC1014", DRW::AC1014}, + {"AC1015", DRW::AC1015}, {"AC1018", DRW::AC1018}, {"AC1021", DRW::AC1021}, {"AC1024", DRW::AC1024}, + {"AC1027", DRW::AC1027}, {"AC1032", DRW::AC1032}, }; -enum error { -BAD_NONE, /*!< No error. */ -BAD_UNKNOWN, /*!< UNKNOWN. */ -BAD_OPEN, /*!< error opening file. */ -BAD_VERSION, /*!< unsupported version. */ -BAD_READ_METADATA, /*!< error reading matadata. */ -BAD_READ_FILE_HEADER, /*!< error in file header read process. */ -BAD_READ_HEADER, /*!< error in header vars read process. */ -BAD_READ_HANDLES, /*!< error in object map read process. */ -BAD_READ_CLASSES, /*!< error in classes read process. */ -BAD_READ_TABLES, /*!< error in tables read process. */ -BAD_READ_BLOCKS, /*!< error in block read process. */ -BAD_READ_ENTITIES, /*!< error in entities read process. */ -BAD_READ_OBJECTS, /*!< error in objects read process. */ -BAD_READ_SECTION, /*!< error in sections read process. */ -BAD_CODE_PARSED, /*!< error in any parseCodes() method. */ +enum error +{ + BAD_NONE, /*!< No error. */ + BAD_UNKNOWN, /*!< UNKNOWN. */ + BAD_OPEN, /*!< error opening file. */ + BAD_VERSION, /*!< unsupported version. */ + BAD_READ_METADATA, /*!< error reading matadata. */ + BAD_READ_FILE_HEADER, /*!< error in file header read process. */ + BAD_READ_HEADER, /*!< error in header vars read process. */ + BAD_READ_HANDLES, /*!< error in object map read process. */ + BAD_READ_CLASSES, /*!< error in classes read process. */ + BAD_READ_TABLES, /*!< error in tables read process. */ + BAD_READ_BLOCKS, /*!< error in block read process. */ + BAD_READ_ENTITIES, /*!< error in entities read process. */ + BAD_READ_OBJECTS, /*!< error in objects read process. */ + BAD_READ_SECTION, /*!< error in sections read process. */ + BAD_CODE_PARSED, /*!< error in any parseCodes() method. */ }; -enum class DebugLevel { +enum class DebugLevel +{ None, Debug }; @@ -184,18 +179,29 @@ enum class DebugLevel { * * The base class is silent and ignores all debugging. */ -class DebugPrinter { +class DebugPrinter +{ public: - virtual void printS(const std::string &s){(void)s;} - virtual void printI(long long int i){(void)i;} - virtual void printUI(long long unsigned int i){(void)i;} - virtual void printD(double d){(void)d;} - virtual void printH(long long int i){(void)i;} - virtual void printB(int i){(void)i;} - virtual void printHL(int c, int s, int h){(void)c;(void)s;(void)h;} - virtual void printPT(double x, double y, double z){(void)x;(void)y;(void)z;} - DebugPrinter()=default; - virtual ~DebugPrinter()=default; + virtual void printS(const std::string &s) { (void)s; } + virtual void printI(long long int i) { (void)i; } + virtual void printUI(long long unsigned int i) { (void)i; } + virtual void printD(double d) { (void)d; } + virtual void printH(long long int i) { (void)i; } + virtual void printB(int i) { (void)i; } + virtual void printHL(int c, int s, int h) + { + (void)c; + (void)s; + (void)h; + } + virtual void printPT(double x, double y, double z) + { + (void)x; + (void)y; + (void)z; + } + DebugPrinter() = default; + virtual ~DebugPrinter() = default; }; /** @@ -203,10 +209,11 @@ public: * * Ownership of `printer` is transferred. */ -void setCustomDebugPrinter( DebugPrinter* printer ); +void setCustomDebugPrinter(DebugPrinter *printer); //! Special codes for colors -enum ColorCodes { +enum ColorCodes +{ black = 250, green = 3, red = 1, @@ -228,18 +235,21 @@ enum ColorCodes { }; //! Spaces -enum Space { +enum Space +{ ModelSpace = 0, PaperSpace = 1 }; //! Special kinds of handles -enum HandleCodes { +enum HandleCodes +{ NoHandle = 0 }; //! Shadow mode -enum ShadowMode { +enum ShadowMode +{ CastAndReceieveShadows = 0, CastShadows = 1, ReceiveShadows = 2, @@ -247,17 +257,20 @@ enum ShadowMode { }; //! Special kinds of materials -enum MaterialCodes { +enum MaterialCodes +{ MaterialByLayer = 0 }; //! Special kinds of plot styles -enum PlotStyleCodes { +enum PlotStyleCodes +{ DefaultPlotStyle = 0 }; //! Special kinds of transparencies -enum TransparencyCodes { +enum TransparencyCodes +{ Opaque = 0, Transparent = -1 }; @@ -267,7 +280,7 @@ enum TransparencyCodes { Q_REQUIRED_RESULT static inline auto DRW_FuzzyComparePossibleNulls(double p1, double p2) -> bool; static inline auto DRW_FuzzyComparePossibleNulls(double p1, double p2) -> bool { - if(qFuzzyIsNull(p1)) + if (qFuzzyIsNull(p1)) { return qFuzzyIsNull(p2); } @@ -286,24 +299,27 @@ static inline auto DRW_FuzzyComparePossibleNulls(double p1, double p2) -> bool * Class to handle 3D coordinate point * @author Rallaz */ -class DRW_Coord { +class DRW_Coord +{ public: DRW_Coord() = default; DRW_Coord(double ix, double iy, double iz) - : x(ix), - y(iy), - z(iz) - {} + : x(ix), + y(iy), + z(iz) + { + } DRW_Coord(const DRW_Coord &data) - : x(data.x), - y(data.y), - z(data.z) - {} + : x(data.x), + y(data.y), + z(data.z) + { + } auto operator=(const DRW_Coord &data) -> DRW_Coord & { - if ( &data == this ) + if (&data == this) { return *this; } @@ -313,136 +329,141 @@ public: z = data.z; return *this; } -/*!< convert to unitary vector */ - void unitize(){ + /*!< convert to unitary vector */ + void unitize() + { double dist; dist = hypot(hypot(x, y), z); - if (dist > 0.0) { - x= x/dist; - y= y/dist; - z= z/dist; + if (dist > 0.0) + { + x = x / dist; + y = y / dist; + z = z / dist; } } public: - double x {0}; - double y {0}; - double z {0}; + double x{0}; + double y{0}; + double z{0}; }; - //! Class to handle vertex /*! -* Class to handle vertex for lwpolyline entity -* @author Rallaz -*/ -class DRW_Vertex2D { + * Class to handle vertex for lwpolyline entity + * @author Rallaz + */ +class DRW_Vertex2D +{ public: DRW_Vertex2D() - : x(), - y(), - stawidth(0), - endwidth(0), - bulge(0) + : x(), + y(), + stawidth(0), + endwidth(0), + bulge(0) { -// eType = DRW::LWPOLYLINE; + // eType = DRW::LWPOLYLINE; } DRW_Vertex2D(double sx, double sy, double b = 0.0) - : x(sx), - y(sy), - stawidth(0), - endwidth(0), - bulge(b) - {} + : x(sx), + y(sy), + stawidth(0), + endwidth(0), + bulge(b) + { + } public: - double x; /*!< x coordinate, code 10 */ - double y; /*!< y coordinate, code 20 */ - double stawidth; /*!< Start width, code 40 */ - double endwidth; /*!< End width, code 41 */ - double bulge; /*!< bulge, code 42 */ + double x; /*!< x coordinate, code 10 */ + double y; /*!< y coordinate, code 20 */ + double stawidth; /*!< Start width, code 40 */ + double endwidth; /*!< End width, code 41 */ + double bulge; /*!< bulge, code 42 */ }; - //! Class to handle header vars /*! -* Class to handle header vars -* @author Rallaz -*/ -class DRW_Variant { + * Class to handle header vars + * @author Rallaz + */ +class DRW_Variant +{ public: - enum TYPE { + enum TYPE + { STRING, INTEGER, DOUBLE, COORD, INVALID }; -//TODO: add INT64 support + // TODO: add INT64 support DRW_Variant() - : content(), - type(INVALID), - code(), - sdata(), - vdata() - {} + : content(), + type(INVALID), + code(), + sdata(), + vdata() + { + } DRW_Variant(int c, dint32 i) - : content(), - type(), - code(c), - sdata(), - vdata() + : content(), + type(), + code(c), + sdata(), + vdata() { addInt(i); } DRW_Variant(int c, duint32 i) - : content(), - type(), - code(c), - sdata(), - vdata() + : content(), + type(), + code(c), + sdata(), + vdata() { - addInt(static_cast(i));//RLZ: verify if work with big numbers + addInt(static_cast(i)); // RLZ: verify if work with big numbers } DRW_Variant(int c, double d) - : content(), - type(), - code(c), - sdata(), - vdata() + : content(), + type(), + code(c), + sdata(), + vdata() { addDouble(d); } DRW_Variant(int c, const UTF8STRING &s) - : content(), - type(), - code(c), - sdata(), - vdata() + : content(), + type(), + code(c), + sdata(), + vdata() { addString(s); } DRW_Variant(int c, const DRW_Coord &crd) - : content(), - type(), - code(c), - sdata(), - vdata() + : content(), + type(), + code(c), + sdata(), + vdata() { addCoord(crd); } - DRW_Variant(const DRW_Variant& d) - : content(d.content), - type(d.type), - code(d.code), - sdata(), - vdata() + DRW_Variant(const DRW_Variant &d) + : content(d.content), + type(d.type), + code(d.code), + sdata(), + vdata() { if (d.type == COORD) { @@ -459,18 +480,56 @@ public: ~DRW_Variant() = default; - void addString(const UTF8STRING &s) {setType(STRING); sdata = s; content.s = &sdata;} - void addInt(int i) {setType(INTEGER); content.i = i;} - void addDouble(double d) {setType(DOUBLE); content.d = d;} - void addCoord() {setType(COORD); vdata.x=0.0; vdata.y=0.0; vdata.z=0.0; content.v = &vdata;} - void addCoord(const DRW_Coord &v) {setType(COORD); vdata = v; content.v = &vdata;} - void setType(TYPE t) { type = t;} - void setCoordX(double d) { if (type == COORD) vdata.x = d;} - void setCoordY(double d) { if (type == COORD) vdata.y = d;} - void setCoordZ(double d) { if (type == COORD) vdata.z = d;} + void addString(const UTF8STRING &s) + { + setType(STRING); + sdata = s; + content.s = &sdata; + } + void addInt(int i) + { + setType(INTEGER); + content.i = i; + } + void addDouble(double d) + { + setType(DOUBLE); + content.d = d; + } + void addCoord() + { + setType(COORD); + vdata.x = 0.0; + vdata.y = 0.0; + vdata.z = 0.0; + content.v = &vdata; + } + void addCoord(const DRW_Coord &v) + { + setType(COORD); + vdata = v; + content.v = &vdata; + } + void setType(TYPE t) { type = t; } + void setCoordX(double d) + { + if (type == COORD) + vdata.x = d; + } + void setCoordY(double d) + { + if (type == COORD) + vdata.y = d; + } + void setCoordZ(double d) + { + if (type == COORD) + vdata.z = d; + } private: - typedef union { + typedef union + { UTF8STRING *s; dint32 i; double d; @@ -480,7 +539,7 @@ private: public: DRW_VarContent content; TYPE type; - int code; /*!< dxf code of this value*/ + int code; /*!< dxf code of this value*/ private: auto operator=(const DRW_Variant &) -> DRW_Variant &Q_DECL_EQ_DELETE; @@ -490,14 +549,16 @@ private: //! Class to convert between line width and integer /*! -* Class to convert between line width and integer -* verifing valid values, if value is not valid -* returns widthDefault. -* @author Rallaz -*/ -class DRW_LW_Conv{ + * Class to convert between line width and integer + * verifing valid values, if value is not valid + * returns widthDefault. + * @author Rallaz + */ +class DRW_LW_Conv +{ public: - enum lineWidth { + enum lineWidth + { width00 = 0, /*!< 0.00mm (dxf 0)*/ width01 = 1, /*!< 0.05mm (dxf 5)*/ width02 = 2, /*!< 0.09mm (dxf 9)*/ @@ -529,71 +590,73 @@ public: static auto lineWidth2dxfInt(lineWidth lw) -> int { - switch (lw){ - case widthByLayer: - return -1; - case widthByBlock: - return -2; - case widthDefault: - return -3; - case width00: - return 0; - case width01: - return 5; - case width02: - return 9; - case width03: - return 13; - case width04: - return 15; - case width05: - return 18; - case width06: - return 20; - case width07: - return 25; - case width08: - return 30; - case width09: - return 35; - case width10: - return 40; - case width11: - return 50; - case width12: - return 53; - case width13: - return 60; - case width14: - return 70; - case width15: - return 80; - case width16: - return 90; - case width17: - return 100; - case width18: - return 106; - case width19: - return 120; - case width20: - return 140; - case width21: - return 158; - case width22: - return 200; - case width23: - return 211; - default: - break; + switch (lw) + { + case widthByLayer: + return -1; + case widthByBlock: + return -2; + case widthDefault: + return -3; + case width00: + return 0; + case width01: + return 5; + case width02: + return 9; + case width03: + return 13; + case width04: + return 15; + case width05: + return 18; + case width06: + return 20; + case width07: + return 25; + case width08: + return 30; + case width09: + return 35; + case width10: + return 40; + case width11: + return 50; + case width12: + return 53; + case width13: + return 60; + case width14: + return 70; + case width15: + return 80; + case width16: + return 90; + case width17: + return 100; + case width18: + return 106; + case width19: + return 120; + case width20: + return 140; + case width21: + return 158; + case width22: + return 200; + case width23: + return 211; + default: + break; } return -3; } static auto dxfInt2lineWidth(int i) -> lineWidth { - if (i<0) { - if (i==-1) + if (i < 0) + { + if (i == -1) return widthByLayer; if (i == -2) return widthByBlock; @@ -696,7 +759,7 @@ public: { return width23; } - //default by default + // default by default return widthDefault; } }; diff --git a/src/libs/vdxf/libdxfrw/libdxfrw.h b/src/libs/vdxf/libdxfrw/libdxfrw.h index c5c485666..9f41c8fa4 100644 --- a/src/libs/vdxf/libdxfrw/libdxfrw.h +++ b/src/libs/vdxf/libdxfrw/libdxfrw.h @@ -13,20 +13,25 @@ #ifndef LIBDXFRW_H #define LIBDXFRW_H -#include -#include #include "drw_entities.h" -#include "drw_objects.h" #include "drw_header.h" #include "drw_interface.h" -#include +#include "drw_objects.h" +#include +#include + +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif class dxfReader; class dxfWriter; -class dxfRW { +class dxfRW +{ public: - explicit dxfRW(const char* name); + explicit dxfRW(const char *name); ~dxfRW(); static void setDebug(DRW::DebugLevel lvl); /// reads the file specified in constructor @@ -38,8 +43,8 @@ public: * @return true for success */ auto read(DRW_Interface *interface_, bool ext) -> bool; - void setBinary(bool b) {binFile = b;} - void AddXSpaceBlock(bool add) {m_xSpaceBlock = add;} + void setBinary(bool b) { binFile = b; } + void AddXSpaceBlock(bool add) { m_xSpaceBlock = add; } auto write(DRW_Interface *interface_, DRW::Version ver, bool bin) -> bool; auto writeLineType(DRW_LType *ent) -> bool; @@ -72,7 +77,7 @@ public: auto writeImage(DRW_Image *ent, const std::string &name) -> DRW_ImageDef *; auto writeLeader(DRW_Leader *ent) -> bool; auto writeDimension(DRW_Dimension *ent) -> bool; - void setEllipseParts(int parts){elParts = parts;} /*!< set parts number when convert ellipse to polyline */ + void setEllipseParts(int parts) { elParts = parts; } /*!< set parts number when convert ellipse to polyline */ auto writePlotSettings(DRW_PlotSettings *ent) -> bool; auto ErrorString() const -> std::string; @@ -135,7 +140,7 @@ private: private: DRW::Version version; - DRW::error error {DRW::BAD_NONE}; + DRW::error error{DRW::BAD_NONE}; std::string fileName; std::string codePage; bool binFile; @@ -144,16 +149,16 @@ private: dxfWriter *writer; DRW_Interface *iface; DRW_Header header; -// int section; + // int section; std::string nextentity; int entCount; bool wlayer0; bool dimstyleStd; bool applyExt; bool writingBlock; - int elParts; /*!< parts number when convert ellipse to polyline */ - std::unordered_map blockMap; - std::vector imageDef; /*!< imageDef list */ + int elParts; /*!< parts number when convert ellipse to polyline */ + std::unordered_map blockMap; + std::vector imageDef; /*!< imageDef list */ int currHandle; diff --git a/src/libs/vhpgl/vhpglengine.h b/src/libs/vhpgl/vhpglengine.h index d3cc62142..1a440ec63 100644 --- a/src/libs/vhpgl/vhpglengine.h +++ b/src/libs/vhpgl/vhpglengine.h @@ -33,6 +33,11 @@ #include #include +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif + #if QT_VERSION < QT_VERSION_CHECK(5, 13, 0) #include "../vmisc/defglobal.h" #endif diff --git a/src/libs/vlayout/vlayoutdef.h b/src/libs/vlayout/vlayoutdef.h index 98afcbe9d..1df937635 100644 --- a/src/libs/vlayout/vlayoutdef.h +++ b/src/libs/vlayout/vlayoutdef.h @@ -32,9 +32,13 @@ #include #include #include -#include #include +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif + enum class LayoutExportFormats : qint8 { SVG = 0, diff --git a/src/libs/vmisc/def.h b/src/libs/vmisc/def.h index a3813471f..8b87cde1a 100644 --- a/src/libs/vmisc/def.h +++ b/src/libs/vmisc/def.h @@ -50,7 +50,10 @@ template class QSharedPointer; -#include +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif // Backport of relaxed constexpr #if QT_VERSION < QT_VERSION_CHECK(5, 5, 0) diff --git a/src/libs/vobj/vobjengine.cpp b/src/libs/vobj/vobjengine.cpp index a5ecdb724..8683baf34 100644 --- a/src/libs/vobj/vobjengine.cpp +++ b/src/libs/vobj/vobjengine.cpp @@ -53,6 +53,11 @@ #include "../vmisc/backport/text.h" #endif +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif + class QPaintDevice; class QPixmap; class QPoint; @@ -60,8 +65,6 @@ class QPointF; class QPolygonF; class QRectF; -#include - //--------------------------------------------------------------------------------------------------------------------- static inline auto svgEngineFeatures() -> QPaintEngine::PaintEngineFeatures { diff --git a/src/libs/vpropertyexplorer/vproperty.h b/src/libs/vpropertyexplorer/vproperty.h index 55a6a762d..e4067d73e 100644 --- a/src/libs/vpropertyexplorer/vproperty.h +++ b/src/libs/vpropertyexplorer/vproperty.h @@ -21,7 +21,6 @@ #ifndef VPROPERTY_H #define VPROPERTY_H - #include #include #include @@ -32,30 +31,39 @@ #include #include #include -#include -#include #include +#include #include "vpropertyexplorer_global.h" #if QT_VERSION < QT_VERSION_CHECK(5, 7, 0) #include "../vmisc/backport/qoverload.h" #endif // QT_VERSION < QT_VERSION_CHECK(5, 7, 0) -#include +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif #include "vpropertydef.h" namespace VPE { -enum class Property : qint8 {Simple, Complex}; +enum class Property : qint8 +{ + Simple, + Complex +}; static const int MyCustomEventType = 1099; class VPROPERTYEXPLORERSHARED_EXPORT UserChangeEvent : public QEvent { public: - UserChangeEvent() : QEvent(static_cast(MyCustomEventType)) {} + UserChangeEvent() + : QEvent(static_cast(MyCustomEventType)) + { + } virtual ~UserChangeEvent() override; }; @@ -68,6 +76,7 @@ QT_WARNING_DISABLE_GCC("-Wsuggest-final-methods") class VPROPERTYEXPLORERSHARED_EXPORT VProperty : public QObject { Q_OBJECT // NOLINT + public: enum DPC_DisplayColumn { @@ -76,7 +85,7 @@ public: }; //! Standard constructor, takes a name and a parent property as argument - explicit VProperty(const QString& name, + explicit VProperty(const QString &name, #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) QMetaType::Type type = QMetaType::QString); #else @@ -122,7 +131,7 @@ public: virtual auto flags(int column = DPC_Name) const -> Qt::ItemFlags; //! Sets the value of the property - virtual void setValue(const QVariant& value); + virtual void setValue(const QVariant &value); //! Returns the value of the property as a QVariant virtual auto getValue() const -> QVariant; @@ -131,7 +140,7 @@ public: virtual auto serialize() const -> QString; //! Deserializes the value from a string - virtual void deserialize(const QString& value); + virtual void deserialize(const QString &value); // The following functions are experimental and not yet implemented. /*//! Returns a pointer to the data stored and handled by this property. In most cases this function shouldn't be @@ -146,13 +155,13 @@ public: virtual bool setDataPointer(void* pointer);*/ //! Sets the name of the property - virtual void setName(const QString& name); + virtual void setName(const QString &name); //! Gets the name of the property virtual auto getName() const -> QString; //! Sets the name of the property - virtual void setDescription(const QString& desc); + virtual void setDescription(const QString &desc); //! Gets the name of the property virtual auto getDescription() const -> QString; @@ -176,10 +185,10 @@ public: virtual auto getParent() const -> VProperty *; //! Sets the parent of this property - virtual void setParent(VProperty* parent); + virtual void setParent(VProperty *parent); //! Removes a child from the children list, doesn't delete the child! - virtual void removeChild(VProperty* child); + virtual void removeChild(VProperty *child); //! Returns the row the child has virtual auto getChildRow(VProperty *child) const -> vpesizetype; @@ -195,13 +204,13 @@ public: //! Sets the settings by calling the overloaded setSetting(const QString& key, const QVariant& value) for each item //! in the map. - virtual void setSettings(const QMap& settings); + virtual void setSettings(const QMap &settings); //! Get the settings. virtual auto getSettings() const -> QMap; //! Sets the settings. This function has to be implemented in a subclass in order to have an effect - virtual void setSetting(const QString& key, const QVariant& value); + virtual void setSetting(const QString &key, const QVariant &value); //! Get the settings. This function has to be implemented in a subclass in order to have an effect virtual auto getSetting(const QString &key) const -> QVariant; @@ -218,7 +227,7 @@ public: -> VProperty *; auto propertyType() const -> Property; - void setPropertyType(const Property &type); + void setPropertyType(const Property &type); virtual void UpdateParent(const QVariant &value); public slots: @@ -228,10 +237,10 @@ signals: protected: //! Protected constructor - explicit VProperty(VPropertyPrivate* d); + explicit VProperty(VPropertyPrivate *d); //! The protected structure holding the member variables (to assure binary compatibility) - VPropertyPrivate* d_ptr; + VPropertyPrivate *d_ptr; private: // Provide access functions for the d_ptr @@ -241,6 +250,6 @@ private: QT_WARNING_POP -} +} // namespace VPE #endif // VPROPERTY_H diff --git a/src/libs/vtest/abstracttest.h b/src/libs/vtest/abstracttest.h index 1556d01a1..c95ed1b76 100644 --- a/src/libs/vtest/abstracttest.h +++ b/src/libs/vtest/abstracttest.h @@ -44,7 +44,10 @@ #include "../vlayout/vrawsapoint.h" #include "../vlayout/vsapoint.h" -#include +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif #ifdef __GNUC__ #define V_UNUSED __attribute__((unused)) @@ -81,7 +84,9 @@ class VRawSAPoint; class AbstractTest : public QObject { Q_OBJECT // NOLINT - public : explicit AbstractTest(QObject *parent = nullptr); + +public: + explicit AbstractTest(QObject *parent = nullptr); template static auto VectorFromJson(const QString &json) -> QVector; diff --git a/src/libs/vwidgets/velidedlabel.cpp b/src/libs/vwidgets/velidedlabel.cpp index dbeb3c2b1..51cd5ed66 100644 --- a/src/libs/vwidgets/velidedlabel.cpp +++ b/src/libs/vwidgets/velidedlabel.cpp @@ -29,11 +29,15 @@ #include #include -#include + +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif //--------------------------------------------------------------------------------------------------------------------- VElidedLabel::VElidedLabel(QWidget *parent) - : QFrame(parent) + : QFrame(parent) { // reserve size for one line of text setMinimumHeight(fontMetrics().lineSpacing()); @@ -41,8 +45,8 @@ VElidedLabel::VElidedLabel(QWidget *parent) //--------------------------------------------------------------------------------------------------------------------- VElidedLabel::VElidedLabel(const QString &text, QWidget *parent) - : QFrame(parent), - m_content(text) + : QFrame(parent), + m_content(text) { // reserve size for one line of text setMinimumHeight(fontMetrics().lineSpacing()); @@ -71,7 +75,7 @@ void VElidedLabel::paintEvent(QPaintEvent *event) if (not DrawParagraph(painter, paragraphs.at(i), y, didElide)) { // It text has empty strings a user will not see elided string, but we still want to show a tooltip. - if (i != paragraphs.size()-1 && !didElide) + if (i != paragraphs.size() - 1 && !didElide) { didElide = true; } @@ -90,7 +94,7 @@ void VElidedLabel::paintEvent(QPaintEvent *event) // Show a tooltip in case we cannot show a whole text in the widget // Use dumb html tag to separate paragraphs. QString toolTip; - for(int i = 0; i < paragraphs.size(); ++i) + for (int i = 0; i < paragraphs.size(); ++i) { if (i != 0) { diff --git a/src/libs/vwidgets/vplaintextedit.cpp b/src/libs/vwidgets/vplaintextedit.cpp index 1af26bf40..16942bf81 100644 --- a/src/libs/vwidgets/vplaintextedit.cpp +++ b/src/libs/vwidgets/vplaintextedit.cpp @@ -27,20 +27,23 @@ *************************************************************************/ #include "vplaintextedit.h" -#include +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif //--------------------------------------------------------------------------------------------------------------------- -VPlainTextEdit::VPlainTextEdit(QWidget * parent) - : QPlainTextEdit(parent), - m_highlighter(document()) +VPlainTextEdit::VPlainTextEdit(QWidget *parent) + : QPlainTextEdit(parent), + m_highlighter(document()) { connect(this, &QPlainTextEdit::cursorPositionChanged, this, &VPlainTextEdit::MatchParentheses); } //--------------------------------------------------------------------------------------------------------------------- -VPlainTextEdit::VPlainTextEdit(const QString & text, QWidget * parent) - : QPlainTextEdit(text, parent), - m_highlighter(document()) +VPlainTextEdit::VPlainTextEdit(const QString &text, QWidget *parent) + : QPlainTextEdit(text, parent), + m_highlighter(document()) { connect(this, &QPlainTextEdit::cursorPositionChanged, this, &VPlainTextEdit::MatchParentheses); } @@ -54,13 +57,13 @@ VPlainTextEdit::~VPlainTextEdit() //--------------------------------------------------------------------------------------------------------------------- void VPlainTextEdit::SetFilter(const QString &filter) { - if(m_filter.isEmpty() && not filter.isEmpty()) + if (m_filter.isEmpty() && not filter.isEmpty()) { QTextDocument *doc = document(); m_allLines.clear(); m_allLines.reserve(doc->lineCount()); - for(int i=0; i < doc->blockCount(); ++i) + for (int i = 0; i < doc->blockCount(); ++i) { m_allLines.append(doc->findBlockByNumber(i).text()); } @@ -70,7 +73,7 @@ void VPlainTextEdit::SetFilter(const QString &filter) Filter(); - if(m_filter.isEmpty()) + if (m_filter.isEmpty()) { m_allLines.clear(); } @@ -232,9 +235,9 @@ void VPlainTextEdit::CreateParenthesisSelection(int pos, bool match) void VPlainTextEdit::Filter() { clear(); - if(not m_filter.isEmpty()) + if (not m_filter.isEmpty()) { - for(auto &line : m_allLines) + for (auto &line : m_allLines) { if (line.contains(m_filter)) { @@ -244,7 +247,7 @@ void VPlainTextEdit::Filter() } else { - for(auto &line : m_allLines) + for (auto &line : m_allLines) { QPlainTextEdit::appendPlainText(line); } diff --git a/src/test/TranslationsTest/tst_abstracttranslation.h b/src/test/TranslationsTest/tst_abstracttranslation.h index faf97484c..79bd0128c 100644 --- a/src/test/TranslationsTest/tst_abstracttranslation.h +++ b/src/test/TranslationsTest/tst_abstracttranslation.h @@ -32,7 +32,11 @@ #include #include #include -#include + +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif #if QT_VERSION < QT_VERSION_CHECK(5, 13, 0) #include "../vmisc/defglobal.h" diff --git a/src/test/ValentinaTest/tst_vcommandline.cpp b/src/test/ValentinaTest/tst_vcommandline.cpp index 97549b2ef..1f3e17d72 100644 --- a/src/test/ValentinaTest/tst_vcommandline.cpp +++ b/src/test/ValentinaTest/tst_vcommandline.cpp @@ -30,11 +30,15 @@ #include "../vmisc/commandoptions.h" #include -#include + +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif //--------------------------------------------------------------------------------------------------------------------- TST_VCommandLine::TST_VCommandLine(QObject *parent) - :QObject(parent) + : QObject(parent) { } diff --git a/src/test/ValentinaTest/tst_vlockguard.cpp b/src/test/ValentinaTest/tst_vlockguard.cpp index 7587cc016..7e41c44e0 100644 --- a/src/test/ValentinaTest/tst_vlockguard.cpp +++ b/src/test/ValentinaTest/tst_vlockguard.cpp @@ -30,11 +30,15 @@ #include "../vmisc/vlockguard.h" #include -#include + +// Header is removed in C++20. +#if __cplusplus <= 201703L +#include // and, not, or +#endif //--------------------------------------------------------------------------------------------------------------------- TST_VLockGuard::TST_VLockGuard(QObject *parent) - :QObject(parent) + : QObject(parent) { }