Skip to content

Commit

Permalink
Fix missing Q_OBJECT macros
Browse files Browse the repository at this point in the history
Thanks to Clazy
  • Loading branch information
nyalldawson committed Aug 29, 2017
1 parent 972a1fe commit 78b834c
Show file tree
Hide file tree
Showing 36 changed files with 465 additions and 359 deletions.
2 changes: 2 additions & 0 deletions python/core/layertree/qgslayertreemodel.sip
Expand Up @@ -385,6 +385,8 @@ Filter nodes from QgsMapLayerLegend according to the current filtering rules
QFlags<QgsLayerTreeModel::Flag> operator|(QgsLayerTreeModel::Flag f1, QFlags<QgsLayerTreeModel::Flag> f2);




/************************************************************************
* This file has been generated automatically from *
* *
Expand Down
1 change: 1 addition & 0 deletions python/gui/qgscodeeditorsql.sip
Expand Up @@ -28,6 +28,7 @@ class QgsCodeEditorSQL : QgsCodeEditor

};


/************************************************************************
* This file has been generated automatically from *
* *
Expand Down
1 change: 1 addition & 0 deletions python/gui/symbology/qgsdatadefinedsizelegendwidget.sip
Expand Up @@ -40,6 +40,7 @@ Returns configuration as set up in the dialog (may be null). Ownership is passed

};


/************************************************************************
* This file has been generated automatically from *
* *
Expand Down
2 changes: 2 additions & 0 deletions src/app/qgsdiagramproperties.h
Expand Up @@ -94,6 +94,8 @@ class APP_EXPORT QgsDiagramProperties : public QWidget, private Ui::QgsDiagramPr

class EditBlockerDelegate: public QStyledItemDelegate
{
Q_OBJECT

public:
EditBlockerDelegate( QObject *parent = nullptr )
: QStyledItemDelegate( parent )
Expand Down
5 changes: 3 additions & 2 deletions src/core/CMakeLists.txt
Expand Up @@ -659,6 +659,7 @@ SET(QGIS_CORE_MOC_HDRS
composer/qgslayoutmanager.h
composer/qgspaperitem.h

processing/qgsnativealgorithms.h
processing/qgsprocessingalgrunnertask.h
processing/qgsprocessingfeedback.h
processing/qgsprocessingprovider.h
Expand All @@ -669,6 +670,8 @@ SET(QGIS_CORE_MOC_HDRS
raster/qgsrasterfilewritertask.h
raster/qgsrasterlayer.h
raster/qgsrasterdataprovider.h
raster/qgsrasterinterface.h
raster/qgsrasterlayerrenderer.h

geometry/qgspoint.h

Expand Down Expand Up @@ -943,7 +946,6 @@ SET(QGIS_CORE_HDRS
metadata/qgslayermetadata.h
metadata/qgslayermetadatavalidator.h

processing/qgsnativealgorithms.h
processing/qgsprocessing.h
processing/qgsprocessingalgorithm.h
processing/qgsprocessingcontext.h
Expand Down Expand Up @@ -980,7 +982,6 @@ SET(QGIS_CORE_HDRS
raster/qgsrasterfilewriter.h
raster/qgsrasterhistogram.h
raster/qgsrasteridentifyresult.h
raster/qgsrasterinterface.h
raster/qgsrasteriterator.h
raster/qgsrasterminmaxorigin.h
raster/qgsrasternuller.h
Expand Down
30 changes: 0 additions & 30 deletions src/core/layertree/qgslayertreemodel.cpp
Expand Up @@ -33,36 +33,6 @@
#include "qgssymbollayerutils.h"
#include "qgsvectorlayer.h"

///@cond PRIVATE

/** In order to support embedded widgets in layer tree view, the model
* generates one placeholder legend node for each embedded widget.
* The placeholder will be replaced by an embedded widget in QgsLayerTreeView
*/
class EmbeddedWidgetLegendNode : public QgsLayerTreeModelLegendNode
{
public:
EmbeddedWidgetLegendNode( QgsLayerTreeLayer *nodeL )
: QgsLayerTreeModelLegendNode( nodeL )
{
// we need a valid rule key to allow the model to build a tree out of legend nodes
// if that's possible (if there is a node without a rule key, building of tree is canceled)
mRuleKey = QStringLiteral( "embedded-widget-" ) + QUuid::createUuid().toString();
}

QVariant data( int role ) const override
{
if ( role == RuleKeyRole )
return mRuleKey;
return QVariant();
}

private:
QString mRuleKey;
};

///@endcond

QgsLayerTreeModel::QgsLayerTreeModel( QgsLayerTree *rootNode, QObject *parent )
: QAbstractItemModel( parent )
, mRootNode( rootNode )
Expand Down
36 changes: 35 additions & 1 deletion src/core/layertree/qgslayertreemodel.h
Expand Up @@ -25,11 +25,11 @@

#include "qgsgeometry.h"
#include "qgsmaplayer.h"
#include "qgslayertreemodellegendnode.h"

class QgsLayerTreeNode;
class QgsLayerTreeGroup;
class QgsLayerTreeLayer;
class QgsLayerTreeModelLegendNode;
class QgsMapHitTest;
class QgsMapLayer;
class QgsMapSettings;
Expand Down Expand Up @@ -385,4 +385,38 @@ class CORE_EXPORT QgsLayerTreeModel : public QAbstractItemModel

Q_DECLARE_OPERATORS_FOR_FLAGS( QgsLayerTreeModel::Flags )

///@cond PRIVATE
#ifndef SIP_RUN

/** In order to support embedded widgets in layer tree view, the model
* generates one placeholder legend node for each embedded widget.
* The placeholder will be replaced by an embedded widget in QgsLayerTreeView
*/
class EmbeddedWidgetLegendNode : public QgsLayerTreeModelLegendNode
{
Q_OBJECT

public:
EmbeddedWidgetLegendNode( QgsLayerTreeLayer *nodeL )
: QgsLayerTreeModelLegendNode( nodeL )
{
// we need a valid rule key to allow the model to build a tree out of legend nodes
// if that's possible (if there is a node without a rule key, building of tree is canceled)
mRuleKey = QStringLiteral( "embedded-widget-" ) + QUuid::createUuid().toString();
}

QVariant data( int role ) const override
{
if ( role == RuleKeyRole )
return mRuleKey;
return QVariant();
}

private:
QString mRuleKey;
};
#endif

///@endcond

#endif // QGSLAYERTREEMODEL_H
6 changes: 4 additions & 2 deletions src/core/layertree/qgslayertreemodellegendnode.h
Expand Up @@ -26,7 +26,7 @@
#include "qgis_core.h"
#include "qgis.h"

#include "qgsrasterdataprovider.h" // for QgsImageFetcher dtor visibility
#include "raster/qgsrasterdataprovider.h" // for QgsImageFetcher dtor visibility

class QgsLayerTreeLayer;
class QgsLayerTreeModel;
Expand Down Expand Up @@ -140,7 +140,7 @@ class CORE_EXPORT QgsLayerTreeModelLegendNode : public QObject
QString mUserLabel;
};

#include "qgslegendsymbolitem.h"
#include "symbology/qgslegendsymbolitem.h"

/** \ingroup core
* Implementation of legend node interface for displaying preview of vector symbols and their labels
Expand Down Expand Up @@ -388,6 +388,8 @@ class CORE_EXPORT QgsWmsLegendNode : public QgsLayerTreeModelLegendNode
*/
class CORE_EXPORT QgsDataDefinedSizeLegendNode : public QgsLayerTreeModelLegendNode
{
Q_OBJECT

public:
//! Construct the node using QgsDataDefinedSizeLegend as definition of the node's appearance
QgsDataDefinedSizeLegendNode( QgsLayerTreeLayer *nodeLayer, const QgsDataDefinedSizeLegend &settings, QObject *parent SIP_TRANSFERTHIS = nullptr );
Expand Down
2 changes: 2 additions & 0 deletions src/core/layout/qgslayoutitemregistry.h
Expand Up @@ -265,6 +265,8 @@ class CORE_EXPORT QgsLayoutItemRegistry : public QObject
//simple item for testing
class TestLayoutItem : public QgsLayoutItem
{
Q_OBJECT

public:

TestLayoutItem( QgsLayout *layout );
Expand Down
2 changes: 2 additions & 0 deletions src/core/processing/qgsnativealgorithms.h
Expand Up @@ -29,6 +29,8 @@

class QgsNativeAlgorithms: public QgsProcessingProvider
{
Q_OBJECT

public:

QgsNativeAlgorithms( QObject *parent = nullptr );
Expand Down
4 changes: 3 additions & 1 deletion src/core/qgsnetworkdiskcache.cpp
Expand Up @@ -18,7 +18,9 @@

#include "qgsnetworkdiskcache.h"

QgsNetworkDiskCache::ExpirableNetworkDiskCache QgsNetworkDiskCache::sDiskCache;
///@cond PRIVATE
ExpirableNetworkDiskCache QgsNetworkDiskCache::sDiskCache;
///@endcond
QMutex QgsNetworkDiskCache::sDiskCacheMutex;

QgsNetworkDiskCache::QgsNetworkDiskCache( QObject *parent )
Expand Down
21 changes: 13 additions & 8 deletions src/core/qgsnetworkdiskcache.h
Expand Up @@ -25,6 +25,19 @@

class QNetworkDiskCache;

///@cond PRIVATE

class ExpirableNetworkDiskCache : public QNetworkDiskCache
{
Q_OBJECT

public:
explicit ExpirableNetworkDiskCache( QObject *parent = 0 ) : QNetworkDiskCache( parent ) {}
qint64 runExpire() { return QNetworkDiskCache::expire(); }
};

///@endcond

/** \ingroup core
* Wrapper implementation of QNetworkDiskCache with all methods guarded by a
* mutex soly for internal use of QgsNetworkAccessManagers
Expand Down Expand Up @@ -83,14 +96,6 @@ class QgsNetworkDiskCache : public QNetworkDiskCache

private:
explicit QgsNetworkDiskCache( QObject *parent );
Q_DISABLE_COPY( QgsNetworkDiskCache )

class ExpirableNetworkDiskCache : public QNetworkDiskCache
{
public:
explicit ExpirableNetworkDiskCache( QObject *parent = 0 ) : QNetworkDiskCache( parent ) {}
qint64 runExpire() { return QNetworkDiskCache::expire(); }
};

static ExpirableNetworkDiskCache sDiskCache;
static QMutex sDiskCacheMutex;
Expand Down
2 changes: 2 additions & 0 deletions src/core/raster/qgsrasterinterface.h
Expand Up @@ -39,6 +39,8 @@
*/
class CORE_EXPORT QgsRasterBlockFeedback : public QgsFeedback
{
Q_OBJECT

public:
//! Construct a new raster block feedback object
QgsRasterBlockFeedback( QObject *parent = nullptr ) : QgsFeedback( parent ), mPreviewOnly( false ), mRenderPartialOutput( false ) {}
Expand Down
71 changes: 39 additions & 32 deletions src/core/raster/qgsrasterlayerrenderer.cpp
Expand Up @@ -25,12 +25,50 @@
#include "qgsproject.h"
#include "qgsexception.h"


///@cond PRIVATE

QgsRasterLayerRendererFeedback::QgsRasterLayerRendererFeedback( QgsRasterLayerRenderer *r )
: QgsRasterBlockFeedback()
, mR( r )
, mMinimalPreviewInterval( 250 )
{
setRenderPartialOutput( r->mContext.testFlag( QgsRenderContext::RenderPartialOutput ) );
}

void QgsRasterLayerRendererFeedback::onNewData()
{
if ( !renderPartialOutput() )
return; // we were not asked for partial renders and we may not have a temporary image for overwriting...

// update only once upon a time
// (preview itself takes some time)
if ( mLastPreview.isValid() && mLastPreview.msecsTo( QTime::currentTime() ) < mMinimalPreviewInterval )
return;

// TODO: update only the area that got new data

QgsDebugMsg( QString( "new raster preview! %1" ).arg( mLastPreview.msecsTo( QTime::currentTime() ) ) );
QTime t;
t.start();
QgsRasterBlockFeedback feedback;
feedback.setPreviewOnly( true );
feedback.setRenderPartialOutput( true );
QgsRasterIterator iterator( mR->mPipe->last() );
QgsRasterDrawer drawer( &iterator );
drawer.draw( mR->mPainter, mR->mRasterViewPort, mR->mMapToPixel, &feedback );
QgsDebugMsg( QString( "total raster preview time: %1 ms" ).arg( t.elapsed() ) );
mLastPreview = QTime::currentTime();
}

///@endcond
///
QgsRasterLayerRenderer::QgsRasterLayerRenderer( QgsRasterLayer *layer, QgsRenderContext &rendererContext )
: QgsMapLayerRenderer( layer->id() )
, mRasterViewPort( nullptr )
, mPipe( nullptr )
, mContext( rendererContext )
, mFeedback( new Feedback( this ) )
, mFeedback( new QgsRasterLayerRendererFeedback( this ) )
{
mPainter = rendererContext.painter();
const QgsMapToPixel &qgsMapToPixel = rendererContext.mapToPixel();
Expand Down Expand Up @@ -231,34 +269,3 @@ QgsFeedback *QgsRasterLayerRenderer::feedback() const
return mFeedback;
}

QgsRasterLayerRenderer::Feedback::Feedback( QgsRasterLayerRenderer *r )
: mR( r )
, mMinimalPreviewInterval( 250 )
{
setRenderPartialOutput( r->mContext.testFlag( QgsRenderContext::RenderPartialOutput ) );
}

void QgsRasterLayerRenderer::Feedback::onNewData()
{
if ( !renderPartialOutput() )
return; // we were not asked for partial renders and we may not have a temporary image for overwriting...

// update only once upon a time
// (preview itself takes some time)
if ( mLastPreview.isValid() && mLastPreview.msecsTo( QTime::currentTime() ) < mMinimalPreviewInterval )
return;

// TODO: update only the area that got new data

QgsDebugMsg( QString( "new raster preview! %1" ).arg( mLastPreview.msecsTo( QTime::currentTime() ) ) );
QTime t;
t.start();
QgsRasterBlockFeedback feedback;
feedback.setPreviewOnly( true );
feedback.setRenderPartialOutput( true );
QgsRasterIterator iterator( mR->mPipe->last() );
QgsRasterDrawer drawer( &iterator );
drawer.draw( mR->mPainter, mR->mRasterViewPort, mR->mMapToPixel, &feedback );
QgsDebugMsg( QString( "total raster preview time: %1 ms" ).arg( t.elapsed() ) );
mLastPreview = QTime::currentTime();
}

0 comments on commit 78b834c

Please sign in to comment.