main.cpp
94 lines
| 3.4 KiB
| text/x-c
|
CppLexer
Miikka Heikkinen
|
r2854 | /**************************************************************************** | ||
Michal Klocek
|
r1746 | ** | ||
Miikka Heikkinen
|
r2854 | ** Copyright (C) 2016 The Qt Company Ltd. | ||
** Contact: https://www.qt.io/licensing/ | ||||
Michal Klocek
|
r1746 | ** | ||
Miikka Heikkinen
|
r2854 | ** This file is part of the Qt Charts module of the Qt Toolkit. | ||
Michal Klocek
|
r1746 | ** | ||
Miikka Heikkinen
|
r2854 | ** $QT_BEGIN_LICENSE:GPL$ | ||
Titta Heikkala
|
r2845 | ** Commercial License Usage | ||
** Licensees holding valid commercial Qt licenses may use this file in | ||||
** accordance with the commercial license agreement provided with the | ||||
** Software or, alternatively, in accordance with the terms contained in | ||||
** a written agreement between you and The Qt Company. For licensing terms | ||||
Miikka Heikkinen
|
r2854 | ** and conditions see https://www.qt.io/terms-conditions. For further | ||
** information use the contact form at https://www.qt.io/contact-us. | ||||
** | ||||
** GNU General Public License Usage | ||||
** Alternatively, this file may be used under the terms of the GNU | ||||
** General Public License version 3 or (at your option) any later version | ||||
** approved by the KDE Free Qt Foundation. The licenses are as published by | ||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||||
** included in the packaging of this file. Please review the following | ||||
** information to ensure the GNU General Public License requirements will | ||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||||
Michal Klocek
|
r1746 | ** | ||
Titta Heikkala
|
r2845 | ** $QT_END_LICENSE$ | ||
** | ||||
Miikka Heikkinen
|
r2854 | ****************************************************************************/ | ||
Michal Klocek
|
r1746 | |||
Michal Klocek
|
r1748 | #include "window.h" | ||
Titta Heikkala
|
r2714 | #include <QtWidgets/QApplication> | ||
#include <QtWidgets/QMainWindow> | ||||
Michal Klocek
|
r2134 | #include <iostream> | ||
Michal Klocek
|
r1746 | |||
Michal Klocek
|
r2119 | QVariantHash parseArgs(QStringList args) | ||
{ | ||||
QVariantHash parameters; | ||||
while (!args.isEmpty()) { | ||||
QString param = args.takeFirst(); | ||||
if (param.startsWith("--")) { | ||||
param.remove(0, 2); | ||||
if (args.isEmpty() || args.first().startsWith("--")) { | ||||
parameters[param] = true; | ||||
Jani Honkonen
|
r2130 | } else { | ||
Michal Klocek
|
r2119 | QString value = args.takeFirst(); | ||
if (value == "true" || value == "on" || value == "enabled") { | ||||
parameters[param] = true; | ||||
Jani Honkonen
|
r2130 | } else if (value == "false" || value == "off" || value == "disable") { | ||
Michal Klocek
|
r2119 | parameters[param] = false; | ||
Jani Honkonen
|
r2130 | } else { | ||
if (value.endsWith('"')) | ||||
value.chop(1); | ||||
if (value.startsWith('"')) | ||||
value.remove(0, 1); | ||||
Michal Klocek
|
r2119 | parameters[param] = value; | ||
} | ||||
} | ||||
} | ||||
} | ||||
return parameters; | ||||
} | ||||
Michal Klocek
|
r2134 | void printHelp() | ||
{ | ||||
std::cout << "chartviewer <options> "<< std::endl; | ||||
std::cout << " --view <1/2/3/4> - set size of charts' grid" << std::endl; | ||||
std::cout << " --chart <categoryName::subCategory::chartName> - set template to be show " << std::endl; | ||||
std::cout << " --opengl <enabled/disbaled> - set opengl mode" << std::endl; | ||||
std::cout << " --theme <name> - set theme" << std::endl; | ||||
std::cout << " --legend <alignment> - set legend alignment" << std::endl; | ||||
std::cout << " --help - prints this help" << std::endl; | ||||
std::cout << "Examples: " << std::endl; | ||||
std::cout << " chartviewer --view 4 --chart Axis" << std::endl; | ||||
std::cout << " chartviewer --view 1 --chart Axis::BarCategoryAxis::Axis " << std::endl; | ||||
} | ||||
Michal Klocek
|
r1746 | int main(int argc, char *argv[]) | ||
{ | ||||
QApplication a(argc, argv); | ||||
Michal Klocek
|
r2119 | QVariantHash parameters = parseArgs(QApplication::arguments()); | ||
Michal Klocek
|
r2134 | if(parameters.contains("help")) | ||
{ | ||||
printHelp(); | ||||
return 0; | ||||
} | ||||
Michal Klocek
|
r2119 | Window window(parameters); | ||
Michal Klocek
|
r1746 | window.show(); | ||
return a.exec(); | ||||
} | ||||