File: versioninfo.h

package info (click to toggle)
wxpython4.0 4.2.3%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 221,752 kB
  • sloc: cpp: 962,555; python: 230,573; ansic: 170,731; makefile: 51,756; sh: 9,342; perl: 1,564; javascript: 584; php: 326; xml: 200
file content (103 lines) | stat: -rw-r--r-- 3,074 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
///////////////////////////////////////////////////////////////////////////////
// Name:        wx/versioninfo.h
// Purpose:     declaration of wxVersionInfo class
// Author:      Troels K
// Created:     2010-11-22
// Copyright:   (c) 2010 wxWidgets team
// Licence:     wxWindows licence
///////////////////////////////////////////////////////////////////////////////

#ifndef _WX_VERSIONINFO_H_
#define _WX_VERSIONINFO_H_

#include "wx/string.h"

// ----------------------------------------------------------------------------
// wxVersionInfo: represents version information
// ----------------------------------------------------------------------------

class wxVersionInfo
{
public:
    wxVersionInfo(const wxString& name = wxString(),
                  int major = 0,
                  int minor = 0,
                  int micro = 0,
                  int revision = 0,
                  const wxString& description = wxString(),
                  const wxString& copyright = wxString())
    {
        Init(name, major, minor, micro, revision, description, copyright);
    }

    // This constructor exists for backward compatibility (before the revision
    // part was added).
    wxVersionInfo(const wxString& name,
                  int major, int minor, int micro,
                  const wxString& description,
                  const wxString& copyright = wxString())
    {
        Init(name, major, minor, micro, 0, description, copyright);
    }

    // Default copy ctor, assignment operator and dtor are ok.


    const wxString& GetName() const { return m_name; }

    int GetMajor() const { return m_major; }
    int GetMinor() const { return m_minor; }
    int GetMicro() const { return m_micro; }
    int GetRevision() const { return m_revision; }

    wxString ToString() const
    {
        return HasDescription() ? GetDescription() : GetVersionString();
    }

    wxString GetVersionString() const
    {
        wxString str;
        str << m_name << ' ' << GetMajor() << '.' << GetMinor();
        if ( GetMicro() || GetRevision() )
        {
            str << '.' << GetMicro();
            if ( GetRevision() )
                str << '.' << GetRevision();
        }

        return str;
    }

    bool HasDescription() const { return !m_description.empty(); }
    const wxString& GetDescription() const { return m_description; }

    bool HasCopyright() const { return !m_copyright.empty(); }
    const wxString& GetCopyright() const { return m_copyright; }

private:
    void Init(const wxString& name,
              int major, int minor, int micro, int revision,
              const wxString& description,
              const wxString& copyright)
    {
        m_name = name;
        m_description = description;
        m_copyright = copyright;
        m_major = major;
        m_minor = minor;
        m_micro = micro;
        m_revision = revision;
    }

    wxString m_name,
             m_description,
             m_copyright;

    int m_major,
        m_minor,
        m_micro,
        m_revision;
};

#endif // _WX_VERSIONINFO_H_