ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvApplicationBase.h
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 #pragma once
9 
10 // ##########################################################################
11 // # #
12 // # CLOUDVIEWER #
13 // # #
14 // # This program is free software; you can redistribute it and/or modify #
15 // # it under the terms of the GNU General Public License as published by #
16 // # the Free Software Foundation; version 2 or later of the License. #
17 // # #
18 // # This program is distributed in the hope that it will be useful, #
19 // # but WITHOUT ANY WARRANTY; without even the implied warranty of #
20 // # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
21 // # GNU General Public License for more details. #
22 // # #
23 // # COPYRIGHT: ACloudViewer project #
24 // # #
25 // ##########################################################################
26 
27 #include "CVAppCommon.h"
28 
29 // Qt
30 #include <QApplication>
31 
33 #define ecvApp (static_cast<ecvApplicationBase *>(QCoreApplication::instance()))
34 
35 class CVAPPCOMMON_LIB_API ecvApplicationBase : public QApplication {
36 public:
39  static void InitOpenGL();
40 
41  ecvApplicationBase(int &argc,
42  char **argv,
43  bool isCommandLine,
44  const QString &version);
45 
46  bool isCommandLine() const { return c_CommandLine; }
47 
48  QString versionStr() const;
49  QString versionLongStr(bool includeOS) const;
50 
51  const QString &translationPath() const;
52 
67  bool setAppStyle(const QString &styleKey);
68 
69 private:
70  void setupPaths();
71 
72  const QString c_VersionStr;
73 
74  QString m_ShaderPath;
75  QString m_TranslationPath;
76  QStringList m_PluginPaths;
77 
78  const bool c_CommandLine;
79 };
#define CVAPPCOMMON_LIB_API
Definition: CVAppCommon.h:15
std::string version
static void InitOpenGL()
QString versionStr() const
const QString & translationPath() const
QString versionLongStr(bool includeOS) const
bool isCommandLine() const
ecvApplicationBase(int &argc, char **argv, bool isCommandLine, const QString &version)
bool setAppStyle(const QString &styleKey)
Set the application style.