Introduce *_MARK_NONFINAL_CLASS and *_MARK_NONFINAL_METHOD macroses to suppress GCC warning Wsuggest-final-types.

This commit is contained in:
Roman Telezhynskyi 2021-09-25 11:43:05 +03:00
parent d996f7335a
commit 2ffda9a073
74 changed files with 237 additions and 63 deletions

View file

@ -28,7 +28,7 @@
#include <QUrl> #include <QUrl>
#include <QtGlobal> #include <QtGlobal>
class FvAvailableUpdate : public QObject class FvAvailableUpdate final : public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -35,7 +35,7 @@
#include "fvavailableupdate.h" #include "fvavailableupdate.h"
#include "fvupdatewindow.h" #include "fvupdatewindow.h"
class FvUpdater : public QObject class FvUpdater final : public QObject
{ {
Q_OBJECT Q_OBJECT

View file

@ -39,7 +39,7 @@
/** /**
* @brief The VExceptionBadId class for exception bad id * @brief The VExceptionBadId class for exception bad id
*/ */
class VExceptionBadId : public VException class VExceptionBadId final : public VException
{ {
public: public:
VExceptionBadId(const QString &error, const quint32 &id) V_NOEXCEPT_EXPR (true); VExceptionBadId(const QString &error, const quint32 &id) V_NOEXCEPT_EXPR (true);

View file

@ -38,7 +38,7 @@
/** /**
* @brief The VExceptionConversionError class for exception of conversion error * @brief The VExceptionConversionError class for exception of conversion error
*/ */
class VExceptionConversionError : public VException class VExceptionConversionError final : public VException
{ {
public: public:
VExceptionConversionError(const QString &error, const QString &str) V_NOEXCEPT_EXPR (true); VExceptionConversionError(const QString &error, const QString &str) V_NOEXCEPT_EXPR (true);

View file

@ -41,7 +41,7 @@ class QDomElement;
/** /**
* @brief The VExceptionEmptyParameter class for exception empty parameter * @brief The VExceptionEmptyParameter class for exception empty parameter
*/ */
class VExceptionEmptyParameter : public VException class VExceptionEmptyParameter final : public VException
{ {
public: public:
VExceptionEmptyParameter(const QString &what, const QString &name, VExceptionEmptyParameter(const QString &what, const QString &name,

View file

@ -43,7 +43,7 @@
class QDomElement; class QDomElement;
class VPatternConverter : public VAbstractConverter class VPatternConverter final : public VAbstractConverter
{ {
Q_DECLARE_TR_FUNCTIONS(VPatternConverter) Q_DECLARE_TR_FUNCTIONS(VPatternConverter)
public: public:

View file

@ -39,7 +39,7 @@
class QDomElement; class QDomElement;
class VVITConverter : public VAbstractMConverter class VVITConverter final : public VAbstractMConverter
{ {
Q_DECLARE_TR_FUNCTIONS(VVITConverter) Q_DECLARE_TR_FUNCTIONS(VVITConverter)
public: public:

View file

@ -39,7 +39,7 @@
class QDomElement; class QDomElement;
class VVSTConverter : public VAbstractMConverter class VVSTConverter final : public VAbstractMConverter
{ {
Q_DECLARE_TR_FUNCTIONS(VVSTConverter) Q_DECLARE_TR_FUNCTIONS(VVSTConverter)
public: public:

View file

@ -30,7 +30,7 @@
#include "vabstractconverter.h" #include "vabstractconverter.h"
class VWatermarkConverter : public VAbstractConverter class VWatermarkConverter final : public VAbstractConverter
{ {
public: public:
explicit VWatermarkConverter(const QString &fileName); explicit VWatermarkConverter(const QString &fileName);

View file

@ -113,6 +113,56 @@ QMUPARSERSHARED_EXPORT QString NameRegExp();
QT_WARNING_POP QT_WARNING_POP
#ifndef QMU_ATTRIBUTE_UNUSED
# if defined(Q_CC_GNU) || defined(Q_CC_CLANG)
# define QMU_ATTRIBUTE_UNUSED [[gnu::unused]]
#elif defined(Q_CC_MSVC)
# define QMU_ATTRIBUTE_UNUSED __declspec(unused)
# else
# define QMU_ATTRIBUTE_UNUSED
# endif
#endif
// Example of use
//class Base
//{
// virtual ~Base()
// {
// }
// virtual int a(float f)
// {
// }
// virtual void b(double)
// {
// }
//};
//QMU_MARK_NONFINAL_CLASS(Base)
//QMU_ATTRIBUTE_UNUSED(Base, int, a(float))
//QMU_ATTRIBUTE_UNUSED(Base, void, b(double)
#ifndef QMU_MARK_NONFINAL_CLASS
#define QMU_MARK_NONFINAL_CLASS(base) \
namespace qmu_void_namespace_for_class_##base \
{ \
struct QMU_ATTRIBUTE_UNUSED temp_marker final : base \
{ \
}; \
}
#endif
#ifndef QMU_MARK_NONFINAL_METHOD
#define QMU_MARK_NONFINAL_METHOD(base, return_type, method) \
namespace qmu_void_namespace_for_class_##base##_methos_##method \
{ \
struct QMU_ATTRIBUTE_UNUSED temp_marker final : base \
{ \
inline return_type QMU_ATTRIBUTE_UNUSED method override {} \
}; \
}
#endif
Q_REQUIRED_RESULT static inline bool QmuFuzzyComparePossibleNulls(double p1, double p2); Q_REQUIRED_RESULT static inline bool QmuFuzzyComparePossibleNulls(double p1, double p2);
static inline bool QmuFuzzyComparePossibleNulls(double p1, double p2) static inline bool QmuFuzzyComparePossibleNulls(double p1, double p2)
{ {

View file

@ -99,6 +99,8 @@ namespace qmu
static qreal Max(const qreal*, int); // maximum static qreal Max(const qreal*, int); // maximum
}; };
QMU_MARK_NONFINAL_CLASS(QmuParser)
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
/** /**
* @brief Callback for the unary minus operator. * @brief Callback for the unary minus operator.

View file

@ -37,7 +37,7 @@ QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
namespace qmu namespace qmu
{ {
class QmuParserCallbackData : public QSharedData class QmuParserCallbackData final : public QSharedData
{ {
public: public:
QmuParserCallbackData(); QmuParserCallbackData();

View file

@ -50,6 +50,8 @@ private:
QmuTokenParser(); QmuTokenParser();
}; };
QMU_MARK_NONFINAL_CLASS(QmuTokenParser)
} // namespace qmu } // namespace qmu
#endif // QMUTOKENPARSER_H #endif // QMUTOKENPARSER_H

View file

@ -93,7 +93,7 @@ private:
}; };
class dx_iface : public DRW_Interface class dx_iface final : public DRW_Interface
{ {
public: public:
dx_iface(const std::string& file, DRW::Version v, VarMeasurement varMeasurement, VarInsunits varInsunits); dx_iface(const std::string& file, DRW::Version v, VarMeasurement varMeasurement, VarInsunits varInsunits);

View file

@ -761,7 +761,7 @@ private:
* Class to handle vertex for polyline entity * Class to handle vertex for polyline entity
* @author Rallaz * @author Rallaz
*/ */
class DRW_Vertex : public DRW_Point { class DRW_Vertex final : public DRW_Point {
SETENTFRIENDS SETENTFRIENDS
public: public:
DRW_Vertex() DRW_Vertex()

View file

@ -93,7 +93,7 @@ public:
virtual bool readBool() override; virtual bool readBool() override;
}; };
class dxfReaderAscii : public dxfReader { class dxfReaderAscii final : public dxfReader {
public: public:
explicit dxfReaderAscii(std::istream *stream) explicit dxfReaderAscii(std::istream *stream)
: dxfReader(stream) : dxfReader(stream)

View file

@ -56,7 +56,7 @@ public:
virtual bool writeBool(int code, bool data) override; virtual bool writeBool(int code, bool data) override;
}; };
class dxfWriterAscii : public dxfWriter { class dxfWriterAscii final : public dxfWriter {
public: public:
explicit dxfWriterAscii(std::ofstream *stream); explicit dxfWriterAscii(std::ofstream *stream);
virtual ~dxfWriterAscii() = default; virtual ~dxfWriterAscii() = default;

View file

@ -50,7 +50,7 @@ class VLayoutPiece;
class DRW_Entity; class DRW_Entity;
class dx_ifaceBlock; class dx_ifaceBlock;
class VDxfEngine : public QPaintEngine class VDxfEngine final : public QPaintEngine
{ {
friend class VDxfPaintDevice; friend class VDxfPaintDevice;
public: public:

View file

@ -38,7 +38,7 @@ QT_WARNING_PUSH
QT_WARNING_DISABLE_GCC("-Weffc++") QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
class VAbstractCurveData : public QSharedData class VAbstractCurveData final : public QSharedData
{ {
public: public:

View file

@ -38,7 +38,7 @@ QT_WARNING_PUSH
QT_WARNING_DISABLE_GCC("-Weffc++") QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
class VArcData : public QSharedData class VArcData final : public QSharedData
{ {
public: public:
VArcData(); VArcData();

View file

@ -44,7 +44,7 @@
class VEllipticalArcData; class VEllipticalArcData;
class VEllipticalArc : public VAbstractArc class VEllipticalArc final : public VAbstractArc
{ {
Q_DECLARE_TR_FUNCTIONS(VEllipticalArc) Q_DECLARE_TR_FUNCTIONS(VEllipticalArc)
public: public:

View file

@ -10,7 +10,7 @@ QT_WARNING_PUSH
QT_WARNING_DISABLE_GCC("-Weffc++") QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
class VEllipticalArcData : public QSharedData class VEllipticalArcData final : public QSharedData
{ {
public: public:
VEllipticalArcData (); VEllipticalArcData ();

View file

@ -38,7 +38,7 @@ QT_WARNING_PUSH
QT_WARNING_DISABLE_GCC("-Weffc++") QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
class VGObjectData : public QSharedData class VGObjectData final : public QSharedData
{ {
public: public:
VGObjectData() VGObjectData()

View file

@ -97,6 +97,7 @@ private:
Q_DECLARE_METATYPE(VPointF) Q_DECLARE_METATYPE(VPointF)
Q_DECLARE_TYPEINFO(VPointF, Q_MOVABLE_TYPE); Q_DECLARE_TYPEINFO(VPointF, Q_MOVABLE_TYPE);
V_MARK_NONFINAL_CLASS(VPointF)
QT_WARNING_POP QT_WARNING_POP

View file

@ -38,7 +38,7 @@ QT_WARNING_PUSH
QT_WARNING_DISABLE_GCC("-Weffc++") QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
class VPointFData : public QSharedData class VPointFData final : public QSharedData
{ {
public: public:

View file

@ -40,7 +40,7 @@ QT_WARNING_PUSH
QT_WARNING_DISABLE_GCC("-Weffc++") QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
class VSplineData : public QSharedData class VSplineData final : public QSharedData
{ {
public: public:
VSplineData(); VSplineData();

View file

@ -36,7 +36,7 @@ QT_WARNING_PUSH
QT_WARNING_DISABLE_GCC("-Weffc++") QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
class VSplinePathData : public QSharedData class VSplinePathData final : public QSharedData
{ {
public: public:

View file

@ -41,7 +41,7 @@ QT_WARNING_PUSH
QT_WARNING_DISABLE_GCC("-Weffc++") QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
class VFSplinePointData : public QSharedData class VFSplinePointData final : public QSharedData
{ {
public: public:
@ -101,7 +101,7 @@ VFSplinePointData::~VFSplinePointData()
//--------------------------------------VSplinePointData--------------------------------------------------------------- //--------------------------------------VSplinePointData---------------------------------------------------------------
class VSplinePointData : public QSharedData class VSplinePointData final : public QSharedData
{ {
public: public:
VSplinePointData() VSplinePointData()

View file

@ -35,7 +35,7 @@ namespace Ui
class DialogLayoutScale; class DialogLayoutScale;
} }
class DialogLayoutScale : public QDialog class DialogLayoutScale final : public QDialog
{ {
Q_OBJECT Q_OBJECT

View file

@ -354,6 +354,56 @@ if (!(cond)) \
#endif // defined(__cplusplus) #endif // defined(__cplusplus)
#endif // QT_VERSION < QT_VERSION_CHECK(5, 8, 0) #endif // QT_VERSION < QT_VERSION_CHECK(5, 8, 0)
#ifndef V_ATTRIBUTE_UNUSED
# if defined(Q_CC_GNU) || defined(Q_CC_CLANG)
# define V_ATTRIBUTE_UNUSED [[gnu::unused]]
#elif defined(Q_CC_MSVC)
# define V_ATTRIBUTE_UNUSED __declspec(unused)
# else
# define V_ATTRIBUTE_UNUSED
# endif
#endif
// Example of use
//class Base
//{
// virtual ~Base()
// {
// }
// virtual int a(float f)
// {
// }
// virtual void b(double)
// {
// }
//};
//V_MARK_NONFINAL_CLASS(Base)
//V_ATTRIBUTE_UNUSED(Base, int, a(float))
//V_ATTRIBUTE_UNUSED(Base, void, b(double)
#ifndef V_MARK_NONFINAL_CLASS
#define V_MARK_NONFINAL_CLASS(base) \
namespace v_void_namespace_for_class_##base \
{ \
struct V_ATTRIBUTE_UNUSED temp_marker final : base \
{ \
}; \
}
#endif
#ifndef V_MARK_NONFINAL_METHOD
#define V_MARK_NONFINAL_METHOD(base, return_type, method) \
namespace v_void_namespace_for_class_##base##_methos_##method \
{ \
struct V_ATTRIBUTE_UNUSED temp_marker final : base \
{ \
inline return_type V_ATTRIBUTE_UNUSED method override {} \
}; \
}
#endif
bool IsOptionSet(int argc, char *argv[], const char *option); bool IsOptionSet(int argc, char *argv[], const char *option);
void InitHighDpiScaling(int argc, char *argv[]); void InitHighDpiScaling(int argc, char *argv[]);

View file

@ -50,7 +50,7 @@
class QxtCsvModelPrivate; class QxtCsvModelPrivate;
class QxtCsvModel : public QAbstractTableModel class QxtCsvModel final : public QAbstractTableModel
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -45,7 +45,7 @@ public:
} }
}; };
class TestVApplication : public VAbstractValApplication class TestVApplication final : public VAbstractValApplication
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -49,6 +49,9 @@ class QUndoStack;
class VAbstractApplication;// use in define class VAbstractApplication;// use in define
class VCommonSettings; class VCommonSettings;
QT_WARNING_PUSH
QT_WARNING_DISABLE_GCC("-Wsuggest-final-types")
class VAbstractApplication : public QApplication class VAbstractApplication : public QApplication
{ {
Q_OBJECT Q_OBJECT
@ -111,6 +114,8 @@ private:
void ClearTranslation(); void ClearTranslation();
}; };
QT_WARNING_POP
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
template <typename T> template <typename T>
inline QString VAbstractApplication::LocaleToString(const T &value) inline QString VAbstractApplication::LocaleToString(const T &value)

View file

@ -44,7 +44,7 @@ class QTextStream;
#define MAX_POINTS 512 #define MAX_POINTS 512
class VObjEngine : public QPaintEngine class VObjEngine final : public QPaintEngine
{ {
public: public:
VObjEngine(); VObjEngine();

View file

@ -52,7 +52,7 @@ protected:
VCurveAngle(const quint32 &id, const quint32 &parentId); VCurveAngle(const quint32 &id, const quint32 &parentId);
}; };
class VEllipticalArcRotation : public VCurveAngle class VEllipticalArcRotation final : public VCurveAngle
{ {
public: public:
VEllipticalArcRotation(); VEllipticalArcRotation();

View file

@ -40,7 +40,7 @@ enum class CurveCLength : qint8 { C1, C2 };
class VAbstractBezier; class VAbstractBezier;
class VSpline; class VSpline;
class VCurveCLength : public VCurveVariable class VCurveCLength final : public VCurveVariable
{ {
public: public:
VCurveCLength(); VCurveCLength();

View file

@ -40,7 +40,7 @@
class VAbstractCurve; class VAbstractCurve;
class VSpline; class VSpline;
class VCurveLength : public VCurveVariable class VCurveLength final : public VCurveVariable
{ {
public: public:
VCurveLength(); VCurveLength();

View file

@ -40,7 +40,7 @@ QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
// cppcheck-suppress copyCtorAndEqOperator // cppcheck-suppress copyCtorAndEqOperator
class VCurveVariableData : public QSharedData class VCurveVariableData final : public QSharedData
{ {
public: public:

View file

@ -39,7 +39,7 @@ QT_WARNING_PUSH
QT_WARNING_DISABLE_GCC("-Weffc++") QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
class VIncrementData : public QSharedData class VIncrementData final : public QSharedData
{ {
public: public:

View file

@ -39,7 +39,7 @@ QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
// cppcheck-suppress copyCtorAndEqOperator // cppcheck-suppress copyCtorAndEqOperator
class VInternalVariableData : public QSharedData class VInternalVariableData final : public QSharedData
{ {
public: public:
VInternalVariableData() VInternalVariableData()

View file

@ -40,7 +40,7 @@ QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
// cppcheck-suppress copyCtorAndEqOperator // cppcheck-suppress copyCtorAndEqOperator
class VLineAngleData : public QSharedData class VLineAngleData final : public QSharedData
{ {
public: public:

View file

@ -40,7 +40,7 @@ QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
// cppcheck-suppress copyCtorAndEqOperator // cppcheck-suppress copyCtorAndEqOperator
class VLengthLineData : public QSharedData class VLengthLineData final : public QSharedData
{ {
public: public:

View file

@ -38,7 +38,7 @@ QT_WARNING_PUSH
QT_WARNING_DISABLE_GCC("-Weffc++") QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
class VMeasurementData : public QSharedData class VMeasurementData final : public QSharedData
{ {
public: public:

View file

@ -39,7 +39,7 @@ QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
// cppcheck-suppress copyCtorAndEqOperator // cppcheck-suppress copyCtorAndEqOperator
class VVariableData : public QSharedData class VVariableData final : public QSharedData
{ {
public: public:

View file

@ -64,7 +64,7 @@ QT_WARNING_DISABLE_GCC("-Weffc++")
QT_WARNING_DISABLE_INTEL(2021) QT_WARNING_DISABLE_INTEL(2021)
QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor") QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
class VContainerData : public QSharedData //-V690 class VContainerData final : public QSharedData //-V690
{ {
public: public:

View file

@ -86,6 +86,8 @@ private:
Q_DISABLE_COPY(VTextProperty) Q_DISABLE_COPY(VTextProperty)
}; };
VPE_MARK_NONFINAL_CLASS(VTextProperty)
} }
#endif // VTEXTPROPERTY_H #endif // VTEXTPROPERTY_H

View file

@ -40,7 +40,7 @@ namespace VPE
//! This property holds a QWidget and displays it, if the view supports that. If not, it will behave like an empty //! This property holds a QWidget and displays it, if the view supports that. If not, it will behave like an empty
//! property //! property
class VPROPERTYEXPLORERSHARED_EXPORT VWidgetProperty : public VEmptyProperty class VPROPERTYEXPLORERSHARED_EXPORT VWidgetProperty: public VEmptyProperty
{ {
public: public:
//! Constructor //! Constructor
@ -67,6 +67,8 @@ public:
VProperty* container = nullptr) const override; VProperty* container = nullptr) const override;
}; };
VPE_MARK_NONFINAL_CLASS(VWidgetProperty)
} }
#endif // VWIDGETROPERTY_H #endif // VWIDGETROPERTY_H

View file

@ -226,6 +226,8 @@ private:
Q_DISABLE_COPY(VProperty) Q_DISABLE_COPY(VProperty)
}; };
VPE_MARK_NONFINAL_CLASS(VProperty)
} }
#endif // VPROPERTY_H #endif // VPROPERTY_H

View file

@ -29,4 +29,54 @@
# define VPROPERTYEXPLORERSHARED_EXPORT Q_DECL_IMPORT # define VPROPERTYEXPLORERSHARED_EXPORT Q_DECL_IMPORT
#endif #endif
#ifndef VPE_ATTRIBUTE_UNUSED
# if defined(Q_CC_GNU) || defined(Q_CC_CLANG)
# define VPE_ATTRIBUTE_UNUSED [[gnu::unused]]
#elif defined(Q_CC_MSVC)
# define VPE_ATTRIBUTE_UNUSED __declspec(unused)
# else
# define VPE_ATTRIBUTE_UNUSED
# endif
#endif
// Example of use
//class Base
//{
// virtual ~Base()
// {
// }
// virtual int a(float f)
// {
// }
// virtual void b(double)
// {
// }
//};
//VPE_MARK_NONFINAL_CLASS(Base)
//VPE_ATTRIBUTE_UNUSED(Base, int, a(float))
//VPE_ATTRIBUTE_UNUSED(Base, void, b(double)
#ifndef VPE_MARK_NONFINAL_CLASS
#define VPE_MARK_NONFINAL_CLASS(base) \
namespace vpe_void_namespace_for_class_##base \
{ \
struct VPE_ATTRIBUTE_UNUSED temp_marker final : base \
{ \
}; \
}
#endif
#ifndef VPE_MARK_NONFINAL_METHOD
#define VPE_MARK_NONFINAL_METHOD(base, return_type, method) \
namespace vpe_void_namespace_for_class_##base##_methos_##method \
{ \
struct VPE_ATTRIBUTE_UNUSED temp_marker final : base \
{ \
inline return_type VPE_ATTRIBUTE_UNUSED method override {} \
}; \
}
#endif
#endif // VPROPERTYEXPLORER_GLOBAL_H #endif // VPROPERTYEXPLORER_GLOBAL_H

View file

@ -103,6 +103,8 @@ private:
Q_DISABLE_COPY(VPropertyFormView) Q_DISABLE_COPY(VPropertyFormView)
}; };
VPE_MARK_NONFINAL_CLASS(VPropertyFormView)
} // Namespace VPE } // Namespace VPE
#endif // VPROPERTYFORMVIEW_H #endif // VPROPERTYFORMVIEW_H

View file

@ -169,6 +169,8 @@ private:
Q_DISABLE_COPY(VPropertyModel) Q_DISABLE_COPY(VPropertyModel)
}; };
VPE_MARK_NONFINAL_CLASS(VPropertyModel)
} }
#endif // VPROPERTYMODEL_H #endif // VPROPERTYMODEL_H

View file

@ -138,6 +138,8 @@ private:
Q_DISABLE_COPY(VPropertySet) Q_DISABLE_COPY(VPropertySet)
}; };
VPE_MARK_NONFINAL_CLASS(VPropertySet)
} }
#endif // VPROPERTYMODEL_H #endif // VPROPERTYMODEL_H

View file

@ -55,7 +55,7 @@ class DialogEditWrongFormula;
* *
* Don't implemant button "Apply" for this dialog!! * Don't implemant button "Apply" for this dialog!!
*/ */
class DialogEditWrongFormula : public QDialog class DialogEditWrongFormula final : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -46,7 +46,7 @@ namespace Ui
/** /**
* @brief The DialogAlongLine class dialog for ToolAlongLine. Help create point and edit option. * @brief The DialogAlongLine class dialog for ToolAlongLine. Help create point and edit option.
*/ */
class DialogAlongLine : public DialogTool class DialogAlongLine final : public DialogTool
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -46,7 +46,7 @@ namespace Ui
/** /**
* @brief The DialogBisector class dialog for ToolBisector. Help create point and edit option. * @brief The DialogBisector class dialog for ToolBisector. Help create point and edit option.
*/ */
class DialogBisector : public DialogTool class DialogBisector final : public DialogTool
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -43,7 +43,7 @@ namespace Ui
class DialogCurveIntersectAxis; class DialogCurveIntersectAxis;
} }
class DialogCurveIntersectAxis : public DialogTool class DialogCurveIntersectAxis final : public DialogTool
{ {
Q_OBJECT Q_OBJECT

View file

@ -46,7 +46,7 @@ namespace Ui
/** /**
* @brief The DialogCutArc class dialog for ToolCutArc. * @brief The DialogCutArc class dialog for ToolCutArc.
*/ */
class DialogCutArc : public DialogTool class DialogCutArc final : public DialogTool
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -46,7 +46,7 @@ namespace Ui
/** /**
* @brief The DialogCutSpline class dialog for ToolCutSpline. * @brief The DialogCutSpline class dialog for ToolCutSpline.
*/ */
class DialogCutSpline : public DialogTool class DialogCutSpline final : public DialogTool
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -46,7 +46,7 @@ namespace Ui
/** /**
* @brief The DialogCutSplinePath class dialog for ToolCutSplinePath. * @brief The DialogCutSplinePath class dialog for ToolCutSplinePath.
*/ */
class DialogCutSplinePath : public DialogTool class DialogCutSplinePath final : public DialogTool
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -46,7 +46,7 @@ namespace Ui
/** /**
* @brief The DialogHeight class dialog for ToolHeight. Help create point and edit option. * @brief The DialogHeight class dialog for ToolHeight. Help create point and edit option.
*/ */
class DialogHeight : public DialogTool class DialogHeight final : public DialogTool
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -39,7 +39,7 @@
#include "../vmisc/def.h" #include "../vmisc/def.h"
#include "visline.h" #include "visline.h"
class VisToolAlongLine :public VisLine class VisToolAlongLine final :public VisLine
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -39,7 +39,7 @@
#include "../vmisc/def.h" #include "../vmisc/def.h"
#include "visline.h" #include "visline.h"
class VisToolCurveIntersectAxis : public VisLine class VisToolCurveIntersectAxis final : public VisLine
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -39,7 +39,7 @@
#include "../vmisc/def.h" #include "../vmisc/def.h"
#include "visline.h" #include "visline.h"
class VisToolEndLine : public VisLine class VisToolEndLine final : public VisLine
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -40,7 +40,7 @@
#include "../vmisc/def.h" #include "../vmisc/def.h"
#include "visline.h" #include "visline.h"
class VisToolHeight : public VisLine class VisToolHeight final : public VisLine
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -39,7 +39,7 @@
#include "../vmisc/def.h" #include "../vmisc/def.h"
#include "vispath.h" #include "vispath.h"
class VisToolArc : public VisPath class VisToolArc final : public VisPath
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -39,7 +39,7 @@
#include "../vmisc/def.h" #include "../vmisc/def.h"
#include "vispath.h" #include "vispath.h"
class VisToolArcWithLength : public VisPath class VisToolArcWithLength final : public VisPath
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -39,7 +39,7 @@
#include "../vmisc/def.h" #include "../vmisc/def.h"
#include "vispath.h" #include "vispath.h"
class VisToolCutArc : public VisPath class VisToolCutArc final : public VisPath
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -39,7 +39,7 @@
#include "../vmisc/def.h" #include "../vmisc/def.h"
#include "vispath.h" #include "vispath.h"
class VisToolCutSpline : public VisPath class VisToolCutSpline final : public VisPath
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -39,7 +39,7 @@
#include "../vmisc/def.h" #include "../vmisc/def.h"
#include "vispath.h" #include "vispath.h"
class VisToolCutSplinePath : public VisPath class VisToolCutSplinePath final : public VisPath
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -33,7 +33,7 @@
#include <QIcon> #include <QIcon>
#include <QPropertyAnimation> #include <QPropertyAnimation>
class FancyTab : public QObject class FancyTab final : public QObject
{ {
friend class FancyTabBar; friend class FancyTabBar;
Q_OBJECT Q_OBJECT

View file

@ -39,7 +39,9 @@ VCurvePathItem::VCurvePathItem(QGraphicsItem *parent)
m_directionArrows(), m_directionArrows(),
m_points(), m_points(),
m_defaultWidth(VAbstractApplication::VApp()->Settings()->WidthMainLine()) m_defaultWidth(VAbstractApplication::VApp()->Settings()->WidthMainLine())
{} {
SCASSERT(parent != nullptr);
}
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
QPainterPath VCurvePathItem::shape() const QPainterPath VCurvePathItem::shape() const

View file

@ -33,7 +33,7 @@
#include "../vpatterndb/floatItemData/vgrainlinedata.h" #include "../vpatterndb/floatItemData/vgrainlinedata.h"
#include "../vmisc/def.h" #include "../vmisc/def.h"
class VGrainlineItem : public VPieceItem class VGrainlineItem final : public VPieceItem
{ {
Q_OBJECT Q_OBJECT
public: public:

View file

@ -40,7 +40,7 @@ struct ParenthesisInfo
int position; int position;
}; };
class VTextBlockData : public QTextBlockUserData class VTextBlockData final : public QTextBlockUserData
{ {
public: public:
VTextBlockData(); VTextBlockData();

View file

@ -48,7 +48,7 @@
* which can be dragged around, resized and rotated within the parent item. The text font * which can be dragged around, resized and rotated within the parent item. The text font
* size will be automatically updated, so that the entire text will fit into the item. * size will be automatically updated, so that the entire text will fit into the item.
*/ */
class VTextGraphicsItem : public VPieceItem class VTextGraphicsItem final : public VPieceItem
{ {
Q_OBJECT Q_OBJECT
public: public: