ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
ecvApplication.cpp
Go to the documentation of this file.
1
// ----------------------------------------------------------------------------
2
// - CloudViewer: www.cloudViewer.org -
3
// ----------------------------------------------------------------------------
4
// Copyright (c) 2018-2024 www.cloudViewer.org
5
// SPDX-License-Identifier: MIT
6
// ----------------------------------------------------------------------------
7
8
#include <QtGlobal>
9
10
#ifdef Q_OS_MAC
11
#include <QFileOpenEvent>
12
#endif
13
14
// Qt
15
#include <QMap>
16
17
// qCC_io
18
#include "
FileIO.h
"
19
#include "
MainWindow.h
"
20
#include "
ecvApplication.h
"
21
24
struct
FileVersionToVersion
: QMap<short, QString> {
25
FileVersionToVersion
() {
26
insert(10,
"1.0 (before 2012)"
);
27
insert(20,
"2.0 (05/04/2012)"
);
28
insert(21,
"2.4 (07/02/2012)"
);
29
insert(22,
"2.4 (11/26/2012)"
);
30
insert(23,
"2.4 (02/07/2013)"
);
31
insert(24,
"2.4 (02/22/2013)"
);
32
insert(25,
"2.4 (03/16/2013)"
);
33
insert(26,
"2.4 (04/03/2013)"
);
34
insert(27,
"2.4 (04/12/2013)"
);
35
insert(28,
"2.5.0 (07/12/2013)"
);
36
insert(29,
"2.5.0 (08/14/2013)"
);
37
insert(30,
"2.5.0 (08/30/2013)"
);
38
insert(31,
"2.5.0 (09/25/2013)"
);
39
insert(32,
"2.5.1 (10/11/2013)"
);
40
insert(33,
"2.5.2 (12/19/2013)"
);
41
insert(34,
"2.5.3 (01/09/2014)"
);
42
insert(35,
"2.5.4 (02/13/2014)"
);
43
insert(36,
"2.5.5 (05/30/2014)"
);
44
insert(37,
"2.5.5 (08/24/2014)"
);
45
insert(38,
"2.6.0 (09/14/2014)"
);
46
insert(39,
"2.6.1 (01/30/2015)"
);
47
insert(40,
"2.6.2 (08/06/2015)"
);
48
insert(41,
"2.6.2 (09/01/2015)"
);
49
insert(42,
"2.6.2 (10/07/2015)"
);
50
insert(43,
"2.6.3 (01/07/2016)"
);
51
insert(44,
"2.8.0 (07/07/2016)"
);
52
insert(45,
"2.8.0 (10/06/2016)"
);
53
insert(46,
"2.8.0 (11/03/2016)"
);
54
insert(47,
"2.9.0 (12/22/2016)"
);
55
insert(48,
"2.10.0 (10/19/2018)"
);
56
insert(49,
"2.11.0 (03/31/2019)"
);
57
insert(50,
"2.11.0 (10/06/2019)"
);
58
insert(51,
"2.12.0 (03/29/2019)"
);
59
insert(52,
"2.12.0 (11/30/2020)"
);
60
insert(53,
"2.13.alpha (10/02/2022)"
);
61
insert(54,
"2.13.alpha (01/29/2023)"
);
62
insert(55,
"2.9.2 (02/19/2024)"
);
63
insert(56,
"3.9.3 (01/05/2025)"
);
64
insert(57,
"3.9.4 (01/05/2026)"
);
65
}
66
67
QString
getMinVersion
(
short
fileVersion)
const
{
68
if
(contains(fileVersion)) {
69
return
value(fileVersion);
70
}
else
{
71
return
"Unknown version"
;
72
}
73
}
74
};
75
static
FileVersionToVersion
s_fileVersionToVersion
;
76
77
QString
ecvApplication::GetMinVersionForFileVersion
(
short
fileVersion) {
78
return
s_fileVersionToVersion
.
getMinVersion
(fileVersion);
79
}
80
81
ecvApplication::ecvApplication
(
int
&argc,
char
**argv,
bool
isCommandLine)
82
:
ecvApplicationBase
(
83
argc, argv, isCommandLine, QStringLiteral(
"3.9.0 (Asher)"
)) {
84
setApplicationName(
"ACloudViewer"
);
85
86
FileIO::setWriterInfo
(applicationName(),
versionStr
());
87
}
88
89
bool
ecvApplication::event
(QEvent *inEvent) {
90
#ifdef Q_OS_MAC
91
switch
(inEvent->type()) {
92
case
QEvent::FileOpen: {
93
MainWindow
*mainWindow =
MainWindow::TheInstance
();
94
95
if
(mainWindow ==
nullptr
) {
96
return
false
;
97
}
98
99
mainWindow->
addToDB
(QStringList(
100
static_cast<
QFileOpenEvent *
>
(inEvent)->file()));
101
return
true
;
102
}
103
104
default
:
105
break
;
106
}
107
#endif
108
109
return
ecvApplicationBase::event
(inEvent);
110
}
event
MouseEvent event
Definition:
BitmapWindowSystem.cpp:61
FileIO.h
MainWindow.h
FileIO::setWriterInfo
static void setWriterInfo(const QString &applicationName, const QString &version)
MainWindow
Definition:
MainWindow.h:119
MainWindow::TheInstance
static MainWindow * TheInstance()
Returns the unique instance of this object.
Definition:
MainWindow.cpp:2037
MainWindow::addToDB
void addToDB(const QStringList &filenames, QString fileFilter=QString(), bool displayDialog=true)
Definition:
MainWindow.cpp:2152
ecvApplicationBase
Definition:
ecvApplicationBase.h:35
ecvApplicationBase::versionStr
QString versionStr() const
ecvApplication::ecvApplication
ecvApplication(int &argc, char **argv, bool isCommandLine)
Definition:
ecvApplication.cpp:81
ecvApplication::event
bool event(QEvent *inEvent) override
Definition:
ecvApplication.cpp:89
ecvApplication::GetMinVersionForFileVersion
static QString GetMinVersionForFileVersion(short fileVersion)
Definition:
ecvApplication.cpp:77
s_fileVersionToVersion
static FileVersionToVersion s_fileVersionToVersion
Definition:
ecvApplication.cpp:75
ecvApplication.h
FileVersionToVersion
Definition:
ecvApplication.cpp:24
FileVersionToVersion::getMinVersion
QString getMinVersion(short fileVersion) const
Definition:
ecvApplication.cpp:67
FileVersionToVersion::FileVersionToVersion
FileVersionToVersion()
Definition:
ecvApplication.cpp:25
app
ecvApplication.cpp
Generated on Wed Jan 28 2026 09:00:52 for ACloudViewer by
1.9.1