mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	- update methods of existing classes - add comment to methods missing in the sip bindings - split up collective sip files into single files and use same directory structure in python/ as in src/ - add a lot of missing classes (some might not make sense because of missing python methods in those classes) - remove some non-existing methods from the header files - add scripts/sipdiff - replace some usages of std::vector and std::set with QVector/QSet
		
			
				
	
	
		
			73 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
 | 
						|
/**
 | 
						|
 There are two possibilities how to use this class:
 | 
						|
 1. static call to QgsVectorLayerImport::importLayer(...) which saves the whole vector layer
 | 
						|
 2. create an instance of the class and issue calls to addFeature(...)
 | 
						|
 */
 | 
						|
class QgsVectorLayerImport
 | 
						|
{
 | 
						|
%TypeHeaderCode
 | 
						|
#include <qgsvectorlayerimport.h>
 | 
						|
#include <qgsfield.h>
 | 
						|
%End
 | 
						|
 | 
						|
  public:
 | 
						|
 | 
						|
    enum ImportError
 | 
						|
    {
 | 
						|
      NoError = 0,
 | 
						|
      ErrDriverNotFound,
 | 
						|
      ErrCreateDataSource,
 | 
						|
      ErrCreateLayer,
 | 
						|
      ErrAttributeTypeUnsupported,
 | 
						|
      ErrAttributeCreationFailed,
 | 
						|
      ErrProjection,
 | 
						|
      ErrFeatureWriteFailed,
 | 
						|
      ErrInvalidLayer,
 | 
						|
      ErrInvalidProvider,
 | 
						|
      ErrProviderUnsupportedFeature,
 | 
						|
      ErrConnectionFailed
 | 
						|
    };
 | 
						|
 | 
						|
    /** Write contents of vector layer to a different datasource */
 | 
						|
    static ImportError importLayer( QgsVectorLayer* layer,
 | 
						|
                                    const QString& uri,
 | 
						|
                                    const QString& providerKey,
 | 
						|
                                    const QgsCoordinateReferenceSystem *destCRS,
 | 
						|
                                    bool onlySelected = false,
 | 
						|
                                    QString *errorMessage /Out/ = 0,
 | 
						|
                                    bool skipAttributeCreation = false,
 | 
						|
                                    QMap<QString, QVariant> *options = 0
 | 
						|
                                  );
 | 
						|
 | 
						|
    /** create a empty layer and add fields to it */
 | 
						|
    QgsVectorLayerImport( const QString &uri,
 | 
						|
                          const QString &provider,
 | 
						|
                          const QMap<int, QgsField> &fields,
 | 
						|
                          QGis::WkbType geometryType,
 | 
						|
                          const QgsCoordinateReferenceSystem* crs,
 | 
						|
                          bool overwrite = false,
 | 
						|
                          const QMap<QString, QVariant> *options = 0
 | 
						|
                        );
 | 
						|
 | 
						|
    /** checks whether there were any errors */
 | 
						|
    ImportError hasError();
 | 
						|
 | 
						|
    /** retrieves error message */
 | 
						|
    QString errorMessage();
 | 
						|
 | 
						|
    int errorCount() const;
 | 
						|
 | 
						|
    /** add feature to the new created layer */
 | 
						|
    bool addFeature( QgsFeature& feature );
 | 
						|
 | 
						|
    /** close the new created layer */
 | 
						|
    ~QgsVectorLayerImport();
 | 
						|
 | 
						|
  protected:
 | 
						|
    /** flush the buffer writing the features to the new layer */
 | 
						|
    bool flushBuffer();
 | 
						|
 | 
						|
};
 | 
						|
 |