Branch data Line data Source code
1 : : /*************************************************************************** 2 : : qgsprojectfile.h - description 3 : : ------------------- 4 : : begin : Sun 15 dec 2007 5 : : copyright : (C) 2007 by Magnus Homann 6 : : email : magnus at homann.se 7 : : ***************************************************************************/ 8 : : 9 : : /*************************************************************************** 10 : : * * 11 : : * This program is free software; you can redistribute it and/or modify * 12 : : * it under the terms of the GNU General Public License as published by * 13 : : * the Free Software Foundation; either version 2 of the License, or * 14 : : * (at your option) any later version. * 15 : : * * 16 : : ***************************************************************************/ 17 : : 18 : : #ifndef QGSPROJECTVERSION_H 19 : : #define QGSPROJECTVERSION_H 20 : : 21 : : #include <QString> 22 : : #include <QStringList> 23 : : #include "qgis_core.h" 24 : : 25 : : /** 26 : : * \ingroup core 27 : : * \brief A class to describe the version of a project. 28 : : * 29 : : * Used in places where you need to check if the current version 30 : : * of QGIS is greater than the one used to create a project file. 31 : : */ 32 : 19 : class CORE_EXPORT QgsProjectVersion 33 : : { 34 : : 35 : : public: 36 : : 37 : : /** 38 : : * Creates a new NULL version 39 : : */ 40 : 13 : QgsProjectVersion() = default; 41 : : 42 : : /** 43 : : * Constructor for QgsProjectVersion, with the specified \a major, \a minor and \a sub version numbers. 44 : : */ 45 : : QgsProjectVersion( int major, int minor, int sub, const QString &name = QString() ); 46 : : 47 : : /** 48 : : * Constructor for QgsProjectVersion, which parses the version number from a \a string. 49 : : */ 50 : : QgsProjectVersion( const QString &string ); 51 : : 52 : : /** 53 : : * Returns the major version number. 54 : : */ 55 : : int majorVersion() const { return mMajor;} 56 : : 57 : : /** 58 : : * Returns the minor version number. 59 : : */ 60 : : int minorVersion() const { return mMinor;} 61 : : 62 : : /** 63 : : * Returns the sub version number. 64 : : */ 65 : : int subVersion() const { return mSub;} 66 : : 67 : : /** 68 : : * Returns a string representation of the version. 69 : : */ 70 : : QString text() const; 71 : : 72 : : /** 73 : : * Returns TRUE if this is a NULL project version. 74 : : */ 75 : : bool isNull() const; 76 : : 77 : : /** 78 : : * Boolean equal operator 79 : : */ 80 : : bool operator==( const QgsProjectVersion &other ) const; 81 : : 82 : : /** 83 : : * Boolean not equal operator 84 : : */ 85 : : bool operator!=( const QgsProjectVersion &other ) const; 86 : : 87 : : /** 88 : : * Boolean >= operator 89 : : */ 90 : : bool operator>=( const QgsProjectVersion &other ) const; 91 : : 92 : : /** 93 : : * Boolean > operator 94 : : */ 95 : : bool operator>( const QgsProjectVersion &other ) const; 96 : : 97 : : private: 98 : 13 : int mMajor = 0; 99 : 13 : int mMinor = 0; 100 : 13 : int mSub = 0; 101 : : QString mName; 102 : : }; 103 : : 104 : : #endif // QGSPROJECTVERSION_H