Program generating statistics on the basis of data from XML files
The aim of this project was to write an application in Qt/C++ to analyze data. Another incentive was a will to extent my C++ knowledge and get to know Qt technology. Project was made under opensource licence.
Qt is a set of libraries. One of the greatest advantages is the fact, that application written in this technology can be compiled on many platforms. Use of C++ means that written applications are fast. Significant difference from Java is lack of virtual machine. Qt technology is widely used while writing programs for Linux systems.
This program generates statistic, line and datetime graphs on the basis of data loaded from XML files. after successful loading of file user decide how many and what types of graphs would be displayed.
First activity, which has to be done after starting an application, is to choose XML file, which we will analyse. If choosed file is proper XML file, program will analyse its content. Then application will dynamically create GUI, displaying all nodes, which has some values and do not have children. User have a choice, what to do with each set. Here are the possibilities:
Do nothing
Draw bar chart (OpenGL) - for numeric and text data
Draw line graph - on XY axis (for numeric values)
Draw datetime graph - on XY axis (for numeric values, one node must be used as date (option: 'Use this field as date', field with data and node (which was selected to "Draw datetime graph") has to have exactly the same number of occurrences
Use this field as date - this field would be the source of date
If choices made by user were incorrect, program would send an error message informing about the problem.
With buttons in the upper part of the GUI, user can choose color of background and lines for graphs with XY axis (which are made by Qwt Library). after successful choosing of color, user will see a border around clicked button (it will be in chosen by user color). When user do not choose colors, program will use default ones.
Program is now in developing phase. Next stage of development would be probably reading attributes of nodes and more support for gpx files (storing logs from GPS devices).
http://code.google.com/p/xmlanalyzer/downloads/list - place, where source code of this application is stored
http://qt.nokia.com/ - main page of Qt
http://qwt.sourceforge.net/index.html - site of Qwt project (in downloads there is a possibility to download libraries, wchich are necessary to compile this program)