main.cpp
83 lines
| 2.8 KiB
| text/x-c
|
CppLexer
Michal Klocek
|
r1746 | /**************************************************************************** | ||
** | ||||
Titta Heikkala
|
r2776 | ** Copyright (C) 2015 The Qt Company Ltd | ||
Michal Klocek
|
r1746 | ** All rights reserved. | ||
Titta Heikkala
|
r2776 | ** For any questions to The Qt Company, please use contact form at http://qt.io | ||
Michal Klocek
|
r1746 | ** | ||
Titta Heikkala
|
r2740 | ** This file is part of the Qt Charts module. | ||
Michal Klocek
|
r1746 | ** | ||
Titta Heikkala
|
r2740 | ** Licensees holding valid commercial license for Qt may use this file in | ||
** accordance with the Qt License Agreement provided with the Software | ||||
** or, alternatively, in accordance with the terms contained in a written | ||||
Titta Heikkala
|
r2776 | ** agreement between you and The Qt Company. | ||
Michal Klocek
|
r1746 | ** | ||
** If you have questions regarding the use of this file, please use | ||||
Titta Heikkala
|
r2740 | ** contact form at http://qt.io | ||
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(); | ||||
} | ||||