/src/wxwidgets/include/wx/versioninfo.h
Line | Count | Source (jump to first uncovered line) |
1 | | /////////////////////////////////////////////////////////////////////////////// |
2 | | // Name: wx/versioninfo.h |
3 | | // Purpose: declaration of wxVersionInfo class |
4 | | // Author: Troels K |
5 | | // Created: 2010-11-22 |
6 | | // Copyright: (c) 2010 wxWidgets team |
7 | | // Licence: wxWindows licence |
8 | | /////////////////////////////////////////////////////////////////////////////// |
9 | | |
10 | | #ifndef _WX_VERSIONINFO_H_ |
11 | | #define _WX_VERSIONINFO_H_ |
12 | | |
13 | | #include "wx/string.h" |
14 | | |
15 | | // ---------------------------------------------------------------------------- |
16 | | // wxVersionInfo: represents version information |
17 | | // ---------------------------------------------------------------------------- |
18 | | |
19 | | class wxVersionInfo |
20 | | { |
21 | | public: |
22 | | wxVersionInfo(const wxString& name = wxString(), |
23 | | int major = 0, |
24 | | int minor = 0, |
25 | | int micro = 0, |
26 | | int revision = 0, |
27 | | const wxString& description = wxString(), |
28 | | const wxString& copyright = wxString()) |
29 | 0 | { |
30 | 0 | Init(name, major, minor, micro, revision, description, copyright); |
31 | 0 | } |
32 | | |
33 | | // This constructor exists for backward compatibility (before the revision |
34 | | // part was added). |
35 | | wxVersionInfo(const wxString& name, |
36 | | int major, int minor, int micro, |
37 | | const wxString& description, |
38 | | const wxString& copyright = wxString()) |
39 | 0 | { |
40 | 0 | Init(name, major, minor, micro, 0, description, copyright); |
41 | 0 | } |
42 | | |
43 | | // Default copy ctor, assignment operator and dtor are ok. |
44 | | |
45 | | |
46 | | // Check if this version is at least equal to the given one. |
47 | | bool AtLeast(int major, int minor = 0, int micro = 0) const |
48 | 0 | { |
49 | 0 | if ( m_major > major ) |
50 | 0 | return true; |
51 | 0 |
|
52 | 0 | if ( m_major < major ) |
53 | 0 | return false; |
54 | 0 |
|
55 | 0 | if ( m_minor > minor ) |
56 | 0 | return true; |
57 | 0 |
|
58 | 0 | if ( m_minor < minor ) |
59 | 0 | return false; |
60 | 0 |
|
61 | 0 | return m_micro >= micro; |
62 | 0 | } |
63 | | |
64 | 0 | const wxString& GetName() const { return m_name; } |
65 | | |
66 | 0 | int GetMajor() const { return m_major; } |
67 | 0 | int GetMinor() const { return m_minor; } |
68 | 0 | int GetMicro() const { return m_micro; } |
69 | 0 | int GetRevision() const { return m_revision; } |
70 | | |
71 | | wxString ToString() const |
72 | 0 | { |
73 | 0 | return HasDescription() ? GetDescription() : GetVersionString(); |
74 | 0 | } |
75 | | |
76 | | wxString GetVersionString() const |
77 | 0 | { |
78 | 0 | wxString str; |
79 | 0 | str << m_name << ' ' << GetMajor() << '.' << GetMinor(); |
80 | 0 | if ( GetMicro() || GetRevision() ) |
81 | 0 | { |
82 | 0 | str << '.' << GetMicro(); |
83 | 0 | if ( GetRevision() ) |
84 | 0 | str << '.' << GetRevision(); |
85 | 0 | } |
86 | 0 |
|
87 | 0 | return str; |
88 | 0 | } |
89 | | |
90 | 0 | bool HasDescription() const { return !m_description.empty(); } |
91 | 0 | const wxString& GetDescription() const { return m_description; } |
92 | | |
93 | 0 | bool HasCopyright() const { return !m_copyright.empty(); } |
94 | 0 | const wxString& GetCopyright() const { return m_copyright; } |
95 | | |
96 | | private: |
97 | | void Init(const wxString& name, |
98 | | int major, int minor, int micro, int revision, |
99 | | const wxString& description, |
100 | | const wxString& copyright) |
101 | 0 | { |
102 | 0 | m_name = name; |
103 | 0 | m_description = description; |
104 | 0 | m_copyright = copyright; |
105 | 0 | m_major = major; |
106 | 0 | m_minor = minor; |
107 | 0 | m_micro = micro; |
108 | 0 | m_revision = revision; |
109 | 0 | } |
110 | | |
111 | | wxString m_name, |
112 | | m_description, |
113 | | m_copyright; |
114 | | |
115 | | int m_major, |
116 | | m_minor, |
117 | | m_micro, |
118 | | m_revision; |
119 | | }; |
120 | | |
121 | | #endif // _WX_VERSIONINFO_H_ |