mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-18 00:03:05 -04:00
[FEATURE]: Start implementation of native dxf export
This commit is contained in:
parent
040e9d54cb
commit
6dad30c266
@ -27,6 +27,7 @@
|
|||||||
%Include qgsdatasourceuri.sip
|
%Include qgsdatasourceuri.sip
|
||||||
%Include qgsdbfilterproxymodel.sip
|
%Include qgsdbfilterproxymodel.sip
|
||||||
%Include qgsdistancearea.sip
|
%Include qgsdistancearea.sip
|
||||||
|
%Include qgsdxfexport.sip
|
||||||
%Include qgserror.sip
|
%Include qgserror.sip
|
||||||
%Include qgsexpression.sip
|
%Include qgsexpression.sip
|
||||||
%Include qgsfeature.sip
|
%Include qgsfeature.sip
|
||||||
|
29
python/core/qgsdxfexport.sip
Normal file
29
python/core/qgsdxfexport.sip
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
qgsdxfexport.sip
|
||||||
|
----------------
|
||||||
|
begin : September 2013
|
||||||
|
copyright : (C) 2013 by Marco Hugentobler
|
||||||
|
email : marco at sourcepole dot ch
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
class QgsDxfExport
|
||||||
|
{
|
||||||
|
%TypeHeaderCode
|
||||||
|
#include <qgsdxfexport.h>
|
||||||
|
%End
|
||||||
|
public:
|
||||||
|
QgsDxfExport();
|
||||||
|
~QgsDxfExport();
|
||||||
|
|
||||||
|
void addLayers( QList< QgsMapLayer* >& layers );
|
||||||
|
int writeToFile( QIODevice* d );
|
||||||
|
};
|
@ -62,6 +62,7 @@ SET(QGIS_CORE_SRCS
|
|||||||
qgsdbfilterproxymodel.cpp
|
qgsdbfilterproxymodel.cpp
|
||||||
qgsdiagramrendererv2.cpp
|
qgsdiagramrendererv2.cpp
|
||||||
qgsdistancearea.cpp
|
qgsdistancearea.cpp
|
||||||
|
qgsdxfexport.cpp
|
||||||
qgserror.cpp
|
qgserror.cpp
|
||||||
qgsexpression.cpp
|
qgsexpression.cpp
|
||||||
qgsexpression_texts.cpp
|
qgsexpression_texts.cpp
|
||||||
|
52
src/core/qgsdxfexport.cpp
Normal file
52
src/core/qgsdxfexport.cpp
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
qgsdxfexport.cpp
|
||||||
|
----------------
|
||||||
|
begin : September 2013
|
||||||
|
copyright : (C) 2013 by Marco Hugentobler
|
||||||
|
email : marco at sourcepole dot ch
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include "qgsdxfexport.h"
|
||||||
|
#include <QIODevice>
|
||||||
|
#include <QTextStream>
|
||||||
|
|
||||||
|
QgsDxfExport::QgsDxfExport()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
QgsDxfExport::~QgsDxfExport()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int QgsDxfExport::writeToFile( QIODevice* d )
|
||||||
|
{
|
||||||
|
if ( !d )
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !d->open( QIODevice::WriteOnly ) )
|
||||||
|
{
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
QTextStream outStream( d );
|
||||||
|
writeHeader( outStream );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int QgsDxfExport::writeHeader( QTextStream& stream )
|
||||||
|
{
|
||||||
|
stream << "Hello, dxf!";
|
||||||
|
return 0; //soon...
|
||||||
|
}
|
47
src/core/qgsdxfexport.h
Normal file
47
src/core/qgsdxfexport.h
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
qgsdxfexport.h
|
||||||
|
--------------
|
||||||
|
begin : September 2013
|
||||||
|
copyright : (C) 2013 by Marco Hugentobler
|
||||||
|
email : marco at sourcepole dot ch
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#ifndef QGSDXFEXPORT_H
|
||||||
|
#define QGSDXFEXPORT_H
|
||||||
|
|
||||||
|
#include <QList>
|
||||||
|
|
||||||
|
class QgsMapLayer;
|
||||||
|
class QIODevice;
|
||||||
|
class QTextStream;
|
||||||
|
|
||||||
|
class QgsDxfExport
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QgsDxfExport();
|
||||||
|
~QgsDxfExport();
|
||||||
|
|
||||||
|
void addLayers( QList< QgsMapLayer* >& layers ) { mLayers = layers; }
|
||||||
|
int writeToFile( QIODevice* d ); //maybe add progress dialog? //other parameters (e.g. scale, dpi)?
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
QList< QgsMapLayer* > mLayers;
|
||||||
|
|
||||||
|
int writeHeader( QTextStream& stream );
|
||||||
|
//collect styles
|
||||||
|
//writeEntities
|
||||||
|
|
||||||
|
//Option: export feature once / multiple export (considering symbol layers / symbol levels)
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // QGSDXFEXPORT_H
|
Loading…
x
Reference in New Issue
Block a user