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.

  1. Why Qt?

  2. 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.

  3. What does this program do?

  4. 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.

  5. Manual

  6. 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.

  7. Future of application

  8. 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).

  9. Links associated with the project

  10. 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)

  11. Sreenshots:

Start view View after successfully loaded XML file (menu created dynamically) Application view after setting roles for nodes and colors for graphs created by Qwt Graphs created by Qwt library (upper graphs are datetime graphs, one below is line graph) Bar chart created with OpenGL




Made by Krzysztof Ruszczyński (on the basis of own CMS system)
Graphics provided by jcd.pl