QGIS API Documentation 3.99.0-Master (d270888f95f)
Loading...
Searching...
No Matches
qgsbabelformat.cpp
Go to the documentation of this file.
1/***************************************************************************
2 qgsbabelformat.cpp - import/export formats for GPSBabel
3 -------------------
4 begin : Oct 20, 2004
5 copyright : (C) 2004 by Lars Luthman
7
8***************************************************************************/
9
10/***************************************************************************
11 * *
12 * This program is free software; you can redistribute it and/or modify *
13 * it under the terms of the GNU General Public License as published by *
14 * the Free Software Foundation; either version 2 of the License, or *
15 * (at your option) any later version. *
16 * *
17 ***************************************************************************/
18
19#include "qgsbabelformat.h"
20
21#include <QString>
22
23using namespace Qt::StringLiterals;
24
29
31{
32 switch ( type )
33 {
35 return u"-w"_s;
37 return u"-r"_s;
39 return u"-t"_s;
40 }
41 return QString();
42}
43
45{
46 return mName;
47}
48
49QStringList QgsAbstractBabelFormat::importCommand( const QString &, Qgis::GpsFeatureType, const QString &, const QString &, Qgis::BabelCommandFlags ) const
50{
51 return QStringList();
52}
53
54QStringList QgsAbstractBabelFormat::exportCommand( const QString &, Qgis::GpsFeatureType, const QString &, const QString &, Qgis::BabelCommandFlags ) const
55{
56 return QStringList();
57}
58
63
64
65//
66// QgsSimpleBabelFormat
67//
68
71 : QgsAbstractBabelFormat( format )
72 , mDescription( description )
73 , mExtensions( extensions )
74{
77 mCapabilities &= ~( static_cast< int >( Qgis::BabelFormatCapability::Export ) );
78}
79
80QStringList QgsBabelSimpleImportFormat::importCommand( const QString &babel,
81 Qgis::GpsFeatureType featureType,
82 const QString &input,
83 const QString &output,
84 Qgis::BabelCommandFlags flags ) const
85{
86 return { ( flags & Qgis::BabelCommandFlag::QuoteFilePaths ) ? u"\"%1\""_s.arg( babel ) : babel,
87 featureTypeToArgument( featureType ),
88 u"-i"_s,
89 name(),
90 u"-o"_s,
91 u"gpx"_s,
92 ( flags & Qgis::BabelCommandFlag::QuoteFilePaths ) ? u"\"%1\""_s.arg( input ) : input,
93 ( flags & Qgis::BabelCommandFlag::QuoteFilePaths ) ? u"\"%1\""_s.arg( output ) : output
94 };
95}
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:2075
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:2060
@ QuoteFilePaths
File paths should be enclosed in quotations and escaped.
Definition qgis.h:2072
GpsFeatureType
GPS feature types.
Definition qgis.h:2085
@ Waypoint
Waypoint.
Definition qgis.h:2086
@ Export
Format supports exporting.
Definition qgis.h:2054
@ Import
Format supports importing.
Definition qgis.h:2053
QString mName
Name of format.
QString name() const
Returns the format's name.
virtual QStringList exportCommand(const QString &babel, Qgis::GpsFeatureType featureType, const QString &input, const QString &output, Qgis::BabelCommandFlags flags=Qgis::BabelCommandFlags()) const
Generates a command for exporting GPS data into a different format using babel.
virtual QStringList importCommand(const QString &babel, Qgis::GpsFeatureType featureType, const QString &input, const QString &output, Qgis::BabelCommandFlags flags=Qgis::BabelCommandFlags()) const
Generates a command for importing data into a GPS format using babel.
Qgis::BabelFormatCapabilities mCapabilities
QgsAbstractBabelFormat(const QString &name=QString())
Constructor for QgsAbstractBabelFormat, with the specified name.
Qgis::BabelFormatCapabilities capabilities() const
Returns the format's capabilities.
static QString featureTypeToArgument(Qgis::GpsFeatureType type)
Converts a GPS feature type to the equivalent babel argument.
QString description() const
Returns the friendly description for the format.
QStringList extensions() const
Returns the list of known extensions for the format, e.g.
QgsBabelSimpleImportFormat(const QString &format, const QString &description, Qgis::BabelFormatCapabilities capabilities, const QStringList extensions=QStringList())
Constructor for QgsBabelSimpleImportFormat.
QStringList importCommand(const QString &babel, Qgis::GpsFeatureType featureType, const QString &input, const QString &output, Qgis::BabelCommandFlags flags=Qgis::BabelCommandFlags()) const override
Generates a command for importing data into a GPS format using babel.