QGIS API Documentation 3.99.0-Master (2fe06baccd8)
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
27
29{
30 switch ( type )
31 {
33 return QStringLiteral( "-w" );
35 return QStringLiteral( "-r" );
37 return QStringLiteral( "-t" );
38 }
39 return QString();
40}
41
43{
44 return mName;
45}
46
47QStringList QgsAbstractBabelFormat::importCommand( const QString &, Qgis::GpsFeatureType, const QString &, const QString &, Qgis::BabelCommandFlags ) const
48{
49 return QStringList();
50}
51
52QStringList QgsAbstractBabelFormat::exportCommand( const QString &, Qgis::GpsFeatureType, const QString &, const QString &, Qgis::BabelCommandFlags ) const
53{
54 return QStringList();
55}
56
61
62
63//
64// QgsSimpleBabelFormat
65//
66
69 : QgsAbstractBabelFormat( format )
70 , mDescription( description )
71 , mExtensions( extensions )
72{
75 mCapabilities &= ~( static_cast< int >( Qgis::BabelFormatCapability::Export ) );
76}
77
78QStringList QgsBabelSimpleImportFormat::importCommand( const QString &babel,
79 Qgis::GpsFeatureType featureType,
80 const QString &input,
81 const QString &output,
82 Qgis::BabelCommandFlags flags ) const
83{
84 return { ( flags & Qgis::BabelCommandFlag::QuoteFilePaths ) ? QStringLiteral( "\"%1\"" ).arg( babel ) : babel,
85 featureTypeToArgument( featureType ),
86 QStringLiteral( "-i" ),
87 name(),
88 QStringLiteral( "-o" ),
89 QStringLiteral( "gpx" ),
90 ( flags & Qgis::BabelCommandFlag::QuoteFilePaths ) ? QStringLiteral( "\"%1\"" ).arg( input ) : input,
91 ( flags & Qgis::BabelCommandFlag::QuoteFilePaths ) ? QStringLiteral( "\"%1\"" ).arg( output ) : output
92 };
93}
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:2017
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:2002
@ QuoteFilePaths
File paths should be enclosed in quotations and escaped.
Definition qgis.h:2014
GpsFeatureType
GPS feature types.
Definition qgis.h:2027
@ Waypoint
Waypoint.
Definition qgis.h:2028
@ Export
Format supports exporting.
Definition qgis.h:1996
@ Import
Format supports importing.
Definition qgis.h:1995
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.