]> vaikene.ee Git - evaf/blob - src/main/GUI/main.h
Warning fixes and copyright update.
[evaf] / src / main / GUI / main.h
1 /**
2 * @file main/GUI/main.h
3 * @brief The main eVaf GUI application class
4 * @author Enar Vaikene
5 *
6 * Copyright (c) 2011-2019 Enar Vaikene
7 *
8 * This file is part of the eVaf C++ cross-platform application development framework.
9 *
10 * This file can be used under the terms of the GNU General Public License
11 * version 3.0 as published by the Free Software Foundation and appearing in
12 * the file LICENSE included in the packaging of this file. Please review the
13 * the following information to ensure the GNU General Public License version
14 * 3.0 requirements will be met: http://www.gnu.org/copyleft/gpl.html.
15 *
16 * Alternatively, this file may be used in accordance with the Commercial License
17 * Agreement provided with the Software.
18 */
19
20 #ifndef __GUI_MAIN_H
21 # define __GUI_MAIN_H
22
23 #include <QApplication>
24
25
26 namespace eVaf {
27
28 /**
29 * The main eVaf GUI application.
30 *
31 * eVafGUI is the main GUI executable. It provides an empty GUI application
32 * that is used to load other eVaf modules.
33 */
34 namespace GUI {
35
36 /**
37 * Internal implementation of the main eVaf GUI application.
38 */
39 namespace Internal {
40 } // namespace eVaf::GUI::Internal
41
42 /**
43 * The main eVaf GUI application class.
44 */
45 class Application : public QApplication
46 {
47 Q_OBJECT
48
49 public:
50
51 Application(int & argc, char ** argv);
52
53 virtual ~Application();
54
55
56 public: // Static methods
57
58 /**
59 * Processes command-line arguments
60 * @param argc Number of command-line arguments
61 * @param argv List of command-line arguments
62 * @return True if ok; false if the application should terminate
63 *
64 * This function processes command-line arguments and should be called before running
65 * the application.
66 */
67 static bool processCommandLine(int argc, char ** argv);
68
69 /**
70 * Prints out help for command-line arguments.
71 */
72 static void printHelp();
73
74 /**
75 * Prints out help for Qt command-line arguments.
76 */
77 static void printQtHelp();
78
79 /**
80 * Prints out version information.
81 */
82 static void printVersion();
83
84 };
85
86 } // namespace eVaf::GUI
87 } // namespace eVaf
88
89 #endif // main.h