Skip to content

Commit

Permalink
Remove data provider from annotation layer -- this is no longer required
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Aug 5, 2020
1 parent 8300856 commit a90555b
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 84 deletions.
Expand Up @@ -101,12 +101,9 @@ and 1.0 (fully opaque).

virtual bool readSymbology( const QDomNode &node, QString &errorMessage, QgsReadWriteContext &context, StyleCategories categories = AllStyleCategories );

virtual QgsDataProvider *dataProvider();


};


/************************************************************************
* This file has been generated automatically from *
* *
Expand Down
56 changes: 4 additions & 52 deletions src/core/annotations/qgsannotationlayer.cpp
Expand Up @@ -24,18 +24,15 @@

QgsAnnotationLayer::QgsAnnotationLayer( const QString &name, const LayerOptions &options )
: QgsMapLayer( QgsMapLayerType::AnnotationLayer, name )
, mTransformContext( options.transformContext )
{
QgsDataProvider::ProviderOptions providerOptions;
providerOptions.transformContext = options.transformContext;
mDataProvider = qgis::make_unique< QgsAnnotationLayerDataProvider >( providerOptions );

mValid = true;
}

QgsAnnotationLayer::~QgsAnnotationLayer()
{
emit willBeDeleted();
mDataProvider.reset();
qDeleteAll( mItems );
}

void QgsAnnotationLayer::addItem( QgsAnnotationItem *item )
Expand All @@ -52,7 +49,7 @@ QgsAnnotationItem *QgsAnnotationItem::takeItem( const QString &itemId )

QgsAnnotationLayer *QgsAnnotationLayer::clone() const
{
QgsAnnotationLayer::LayerOptions options( mDataProvider->transformContext() );
QgsAnnotationLayer::LayerOptions options( mTransformContext );
std::unique_ptr< QgsAnnotationLayer > layer = qgis::make_unique< QgsAnnotationLayer >( name(), options );
QgsMapLayer::clone( layer.get() );

Expand Down Expand Up @@ -93,7 +90,7 @@ QgsRectangle QgsAnnotationLayer::extent() const

void QgsAnnotationLayer::setTransformContext( const QgsCoordinateTransformContext &context )
{
mDataProvider->setTransformContext( context );
mTransformContext = context;
}

bool QgsAnnotationLayer::readXml( const QDomNode &layerNode, QgsReadWriteContext &context )
Expand Down Expand Up @@ -186,15 +183,6 @@ bool QgsAnnotationLayer::readSymbology( const QDomNode &node, QString &, QgsRead
return true;
}

QgsDataProvider *QgsAnnotationLayer::dataProvider()
{
return mDataProvider.get();
}

const QgsDataProvider *QgsAnnotationLayer::dataProvider() const
{
return mDataProvider.get();
}

#if 0
QString QgsAnnotationLayer::pickItem( const QgsRectangle &pickRect, const QgsMapSettings &mapSettings ) const
Expand Down Expand Up @@ -243,39 +231,3 @@ QRectF QgsAnnotationLayer::margin() const
}
#endif




//
// QgsAnnotationLayerDataProvider
//
///@cond PRIVATE
QgsAnnotationLayerDataProvider::QgsAnnotationLayerDataProvider( const QgsDataProvider::ProviderOptions &options )
: QgsDataProvider( QString(), options )
{}

QgsCoordinateReferenceSystem QgsAnnotationLayerDataProvider::crs() const
{
return QgsCoordinateReferenceSystem();
}

QString QgsAnnotationLayerDataProvider::name() const
{
return QStringLiteral( "annotation" );
}

QString QgsAnnotationLayerDataProvider::description() const
{
return QString();
}

QgsRectangle QgsAnnotationLayerDataProvider::extent() const
{
return mExtent;
}

bool QgsAnnotationLayerDataProvider::isValid() const
{
return true;
}
///@endcond
30 changes: 1 addition & 29 deletions src/core/annotations/qgsannotationlayer.h
Expand Up @@ -119,39 +119,11 @@ class CORE_EXPORT QgsAnnotationLayer : public QgsMapLayer
bool writeXml( QDomNode &layer_node, QDomDocument &doc, const QgsReadWriteContext &context ) const override;
bool writeSymbology( QDomNode &node, QDomDocument &doc, QString &errorMessage, const QgsReadWriteContext &, StyleCategories categories = AllStyleCategories ) const override;
bool readSymbology( const QDomNode &node, QString &errorMessage, QgsReadWriteContext &context, StyleCategories categories = AllStyleCategories ) override;
QgsDataProvider *dataProvider() override;
const QgsDataProvider *dataProvider() const override SIP_SKIP;

private:
std::unique_ptr< QgsDataProvider > mDataProvider;
QMap<QString, QgsAnnotationItem *> mItems;
double mOpacity = 100;
QgsCoordinateTransformContext mTransformContext;
};

#ifndef SIP_RUN
///@cond PRIVATE

/**
* A minimal data provider for annotation layers
*/
class QgsAnnotationLayerDataProvider : public QgsDataProvider
{
Q_OBJECT

public:
QgsAnnotationLayerDataProvider( const QgsDataProvider::ProviderOptions &providerOptions );
void setExtent( const QgsRectangle &extent ) { mExtent = extent; }
QgsCoordinateReferenceSystem crs() const override;
QString name() const override;
QString description() const override;
QgsRectangle extent() const override;
bool isValid() const override;

private:

QgsRectangle mExtent;
};
///@endcond
#endif

#endif // QGSANNOTATIONLAYER_H

0 comments on commit a90555b

Please sign in to comment.