2016-10-23 11:09:20 +02:00
|
|
|
#ifndef DATA_H
|
|
|
|
#define DATA_H
|
2015-10-05 01:43:48 +02:00
|
|
|
|
|
|
|
#include <QVector>
|
2016-02-08 17:53:09 +01:00
|
|
|
#include <QList>
|
2016-10-26 20:17:05 +02:00
|
|
|
#include <QHash>
|
2015-10-05 01:43:48 +02:00
|
|
|
#include <QPointF>
|
|
|
|
#include <QString>
|
2017-07-27 19:47:46 +02:00
|
|
|
#include <QStringList>
|
2016-02-11 20:58:52 +01:00
|
|
|
#include "waypoint.h"
|
|
|
|
#include "track.h"
|
2016-08-09 01:16:19 +02:00
|
|
|
#include "route.h"
|
2016-10-28 14:33:36 +02:00
|
|
|
#include "parser.h"
|
2015-10-05 01:43:48 +02:00
|
|
|
|
2016-10-23 11:09:20 +02:00
|
|
|
|
2017-07-27 19:47:46 +02:00
|
|
|
class Data : public QObject
|
2015-10-05 01:43:48 +02:00
|
|
|
{
|
2017-07-27 19:47:46 +02:00
|
|
|
Q_OBJECT
|
|
|
|
|
2015-10-05 01:43:48 +02:00
|
|
|
public:
|
2017-07-27 19:47:46 +02:00
|
|
|
Data(QObject *parent = 0) : QObject(parent), _errorLine(0) {}
|
2016-10-23 11:09:20 +02:00
|
|
|
~Data();
|
2016-08-09 23:08:49 +02:00
|
|
|
|
2015-10-05 01:43:48 +02:00
|
|
|
bool loadFile(const QString &fileName);
|
2016-10-23 11:09:20 +02:00
|
|
|
const QString &errorString() const {return _errorString;}
|
2015-11-26 19:13:59 +01:00
|
|
|
int errorLine() const {return _errorLine;}
|
2015-10-12 01:12:12 +02:00
|
|
|
|
2016-08-09 23:08:49 +02:00
|
|
|
const QList<Track*> &tracks() const {return _tracks;}
|
|
|
|
const QList<Route*> &routes() const {return _routes;}
|
2017-07-27 19:47:46 +02:00
|
|
|
const QList<Waypoint> &waypoints() const {return _waypoints;}
|
|
|
|
|
|
|
|
static QString formats();
|
|
|
|
static QStringList filter();
|
2015-10-05 01:43:48 +02:00
|
|
|
|
|
|
|
private:
|
2017-07-27 19:47:46 +02:00
|
|
|
void processData();
|
2016-10-26 20:17:05 +02:00
|
|
|
|
2016-10-23 11:09:20 +02:00
|
|
|
QString _errorString;
|
2015-11-26 19:13:59 +01:00
|
|
|
int _errorLine;
|
2016-02-11 20:58:52 +01:00
|
|
|
|
2016-08-09 23:08:49 +02:00
|
|
|
QList<Track*> _tracks;
|
|
|
|
QList<Route*> _routes;
|
2017-07-27 19:47:46 +02:00
|
|
|
QList<Waypoint> _waypoints;
|
2016-08-09 23:08:49 +02:00
|
|
|
|
2016-10-28 14:33:36 +02:00
|
|
|
QList<TrackData> _trackData;
|
|
|
|
QList<RouteData> _routeData;
|
2017-07-27 19:47:46 +02:00
|
|
|
|
|
|
|
static QHash<QString, Parser*> _parsers;
|
2015-10-05 01:43:48 +02:00
|
|
|
};
|
|
|
|
|
2016-10-23 11:09:20 +02:00
|
|
|
#endif // DATA_H
|